DE102017124058A1 - Identifizieren von kontakten unter verwendung von spracherkennung - Google Patents

Identifizieren von kontakten unter verwendung von spracherkennung Download PDF

Info

Publication number
DE102017124058A1
DE102017124058A1 DE102017124058.6A DE102017124058A DE102017124058A1 DE 102017124058 A1 DE102017124058 A1 DE 102017124058A1 DE 102017124058 A DE102017124058 A DE 102017124058A DE 102017124058 A1 DE102017124058 A1 DE 102017124058A1
Authority
DE
Germany
Prior art keywords
strings
string
values
character
reduced
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102017124058.6A
Other languages
English (en)
Inventor
Shant Tokatyan
Shounak Athavale
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102017124058A1 publication Critical patent/DE102017124058A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/54Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for retrieval

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Ein System empfängt Kandidatenzeichenketten von einer Spracherkennungs-Engine. Wenn die Spracherkennung einen Treffer angibt, kann die Kandidatenzeichenkette gemeldet oder anderweitig verwendet werden. Ansonsten können die Kandidatenzeichenketten verarbeitet werden, indem reduzierte Formen der Kandidatenzeichenketten mit reduzierten Formen der Kontakte eines Benutzers verglichen werden. Die reduzierte Form kann nebeneinanderliegende Konsonanten durch eine 1 und nebeneinanderliegende Vokale durch eine 0 ersetzen. Falls eine Kandidatenzeichenkette eine reduzierte Form aufweist, die mit der reduzierten Form eines Kontakts übereinstimmt, kann dieser Kontakt verwendet werden. Wenn mehrere Kandidatenzeichenketten mit den reduzierten Formen von mehreren Kontakten übereinstimmen, können die Kontakte nach textlicher Ähnlichkeit mit den Kandidatenzeichenketten, Nähe zu einem typischen Nutzungsstandort für die Kontakte und einer typischen Nutzungszeit für die Kontakte gefiltert werden.

Description

  • HINTERGRUND
  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft das Identifizieren von Kontakten basierend auf Spracheingaben.
  • HINTERGRUND DER ERFINDUNG
  • Mobile Vorrichtungen und bordeigene Unterhaltungs- (IVI) Anlagen versuchen häufig, die Erkennung gesprochener Befehle und anderer Eingaben bereitzustellen. Für die Spracherkennungs-Engines ist es jedoch schwierig, einzigartige Namen und Wörter zu identifizieren. Beispielsweise kann die Bemühung zu bewirken, dass ein Spracherkennungssystem einen ungewöhnlich buchstabierten Namen identifiziert, eine Fehlauslegung von Sprachbefehlen verursachen.
  • Die hier offenbarten Systeme und Verfahren stellen einen verbesserten Ansatz zum Identifizieren von Namen in Sprachbefehlen bereit.
  • Figurenliste
  • Damit die Vorteile der Erfindung ohne Weiteres zu verstehen sind, erfolgt eine ausführlichere Beschreibung der zuvor kurz beschriebenen Erfindung mit Bezug auf spezifische Ausführungsformen, die in den beiliegenden Zeichnungen abgebildet sind. Mit dem Verständnis, dass diese Zeichnungen nur typische Ausführungsformen der Erfindung abbilden und daher nicht als ihren Umfang einschränkend anzusehen sind, wird die Erfindung mit zusätzlicher Spezifizität und Einzelheiten durch die Verwendung der beiliegenden Zeichnungen beschrieben und erklärt. Es zeigen:
    • 1 ein schematisches Blockdiagramm einer Umgebung, in der die Systeme und Verfahren gemäß einer Ausführungsform der vorliegenden Erfindung umzusetzen sind;
    • 2 ein schematisches Blockdiagramm einer beispielhaften Computervorrichtung, die geeignet ist, um Verfahren gemäß den Ausführungsformen der vorliegenden Erfindung umzusetzen;
    • 3 ein schematisches Blockdiagramm, das Bestandteile abbildet, welche die Verfahren gemäß einer Ausführungsform der vorliegenden Erfindung umsetzen; und
    • 4 ein Prozessablaufschema eines Verfahrens zum Identifizieren eines Kontakts in Sprachbefehlen gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 5 ein Prozessablaufschema eines Verfahrens zum Reduzieren einer Zeichenkette gemäß einer Ausführungsform der vorliegenden Erfindung; und
    • 6 ein Prozessablaufschema eines Verfahrens zum Filtern übereinstimmender Kontakte gemäß einer Ausführungsform der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Mit Bezug auf 1 kann eine Umgebung 100, in der die hier beschriebenen Verfahren umgesetzt werden können, ein Fahrzeug 102 umfassen, das eine bordeigene Unterhaltungs- (IVI) Anlage 104 aufweist. Die IVI-Anlage 104 kann einige oder alle Attribute einer universellen Computervorrichtung aufweisen. Die IVI-Anlage 104 kann mit einem Bildschirm 106 gekoppelt sein, der als Berührungsbildschirm ausgebildet sein kann. Ein oder mehrere Lautsprecher 108 kann bzw. können mit der IVI-Anlage 104 gekoppelt sein. Ein oder mehrere Mikrofone 110 kann bzw. können mit der IVI-Anlage 104 gekoppelt sein.
  • Wie es in der Technik bekannt ist, kann die IVI-Anlage 104 programmiert sein, um eine Schnittstelle zum Auswählen des Audioinhalts bereitzustellen, der unter Verwendung der Lautsprecher 108 oder anderer Audioausgaben wiederzugeben ist. Der Audioinhalt kann aus einer oder mehreren Quellen von Audioinhalt ausgewählt werden, die mit der IVI-Anlage 104 gekoppelt ist bzw. sind, wie etwa ein Radio, ein CD-Gerät und dergleichen. Die IVI-Anlage 104 kann ferner Videoinhalt an dem Bildschirm 106 oder an einem oder mehreren anderen Bildschirmen anzeigen, die innerhalb des Fahrzeugs 102 angeordnet sind. Die IVI-Anlage 104 kann Videoinhalt anzeigen, der aus einer oder mehreren Quellen für Videoinhalt, wie etwa einem DVD-Gerät, einer gekoppelten mobilen Vorrichtung, oder einer anderen Quelle von Videodaten ausgewählt wird.
  • Die IVI-Anlage 104 kann ferner mit einem oder mehreren Systemen des Fahrzeugs 102 selber gekoppelt sein und die Anzeige von Statusinformationen für das Fahrzeug 102 und das Empfangen von Eingaben, die den Betrieb eines oder mehrerer Systeme des Fahrzeugs 102 selber ändern, wie etwa einer Klimaregelung, Motorbetriebsparameter und dergleichen ermöglichen.
  • Die IVI-Anlage 104 kann ein Sprachsteuersystem umsetzen, wodurch die Ausgaben des Mikrofons 110 zu Befehlen ausgelegt werden, um den Betrieb der IVI-Anlage 104 oder eines oder mehrerer Systeme des Fahrzeugs 102 über die IVI-Anlage 104 zu steuern. Beispielsweise kann die IVI-Anlage 104 das Sprachsteuersystem FORD SYNC umsetzen. Der Controller 104 kann Steuereingaben von der IVI-Anlage 104 empfangen und Ausgaben zur Anzeige an dem Bildschirm 106 der IVI-Anlage 104 bereitstellen.
  • Ein Fahrzeug 102 befördert typischerweise einen Fahrer und einen oder mehrere Fahrgäste. Ein Fahrer oder Fahrgast kann eine mobile Vorrichtung 112 in das Fahrzeug 102 mitnehmen. Die mobile Vorrichtung 112 des Fahrers oder eines Fahrgasts kann mit der IVI-Anlage 104 gekoppelt werden, wie etwa über BLUETOOTH oder ein anderes drahtloses Protokoll. Bei einigen Ausführungsformen können über die mobile Vorrichtung 112 Steuerungseingaben und Inhalt empfangen werden und an die IVI-Anlage 104 weitergeleitet werden. Bei diesen Ausführungsformen kann die mobile Vorrichtung 112 ein Sprachsteuersystem umsetzen und ein Mikrofon und einen Lautsprecher umfassen, um Eingaben zu empfangen und eine hörbare Rückmeldung bereitzustellen. Obwohl die hier offenbarten Verfahren offenbart werden, wie sie von einer IVI 104 ausgeführt werden, können sie auch unter Verwendung einer mobilen Vorrichtung 112 umgesetzt werden.
  • Bei einigen Ausführungsformen kann die IVI 104 mit einem Serversystem 114 kommunizieren. Beispielsweise kann die IVI 104 mit dem Serversystem 114 unter Verwendung von eingebauten drahtlosen Kommunikationsfähigkeiten, der mobilen Vorrichtung 112 oder einer anderen Vorrichtung kommunizieren.
  • Die Kommunikation mit dem Serversystem 114 kann durch ein Netz von zellularen Kommunikationsmasten 116 ermöglicht werden. Die zellularen Kommunikationsmasten 116 können auch in Datenkommunikation mit dem Serversystem 114 stehen, wie etwa anhand eines Netzwerks 118. Das Netzwerk 118 kann einige oder alle von einem lokalen Netzwerk (LAN), einem Großraumnetzwerk (WAN), dem Internet und einer beliebigen anderen drahtgebundenen oder drahtlosen Netzwerkverbindung umfassen.
  • Bei einigen Ausführungsformen werden einige oder alle hier offenbarten Verfahren durch das Serversystem 114 umgesetzt, wobei die Ergebnisse der IVI 104 oder der mobilen Vorrichtung 112 mitgeteilt werden.
  • 2 ist ein Blockdiagramm, das eine beispielhafte Computervorrichtung 200 abbildet. Die Computervorrichtung 200 kann verwendet werden, um diverse Arbeitsabläufe auszuführen, wie etwa diejenigen, die hier besprochen werden. Die IVI-Anlage 104, die mobile Vorrichtung 112 und das Serversystem 114 können einige oder alle Attribute der Computervorrichtung 200 aufweisen.
  • Die Computervorrichtung 200 umfasst einen oder mehrere Prozessoren 202, eine oder mehrere Speichervorrichtungen 204, eine oder mehrere Schnittstellen 206, eine oder mehrere Massenspeichervorrichtungen 208, eine oder mehrere Ein-/Ausgabe- (E/A) Vorrichtungen 210 und eine Anzeigevorrichtung 230, die alle mit einem Bus 212 gekoppelt sind. Die Prozessoren 202 umfassen einen oder mehrere Prozessoren oder Controller, die Anweisungen abarbeiten, die in den Speichervorrichtungen 204 und/oder den Massenspeichervorrichtungen 208 gespeichert sind. Die Prozessoren 202 können auch diverse Arten von computerlesbaren Medien, wie etwa einen Zwischenspeicher, umfassen.
  • Die Speichervorrichtungen 204 umfassen diverse computerlesbare Medien, wie etwa einen flüchtigen Speicher (z.B. Arbeitsspeicher (RAM) 214) und/oder nicht flüchtigen Speicher (z.B. Festspeicher (ROM) 216). Die Speichervorrichtungen 204 können auch einen wiederbeschreibbaren ROM, wie etwa einen Flash-Speicher, umfassen.
  • Die Massenspeichervorrichtungen 208 umfassen diverse computerlesbare Medien, wie etwa Magnetbänder, Magnetplatten, optische Platten, Festkörperspeicher (z.B. Flash-Speicher) und so weiter. Wie in 2 gezeigt, ist eine bestimmte Massenspeichervorrichtung ein Festplattenlaufwerk 224. Diverse Laufwerke können ebenfalls in den Massenspeichervorrichtungen 208 enthalten sein, um das Lesen von und/oder das Schreiben auf den diversen computerlesbaren Medien zu ermöglichen. Die Massenspeichervorrichtungen 208 umfassen abnehmbare Medien 226 und nicht abnehmbare Medien.
  • Die E/A-Vorrichtungen 210 umfassen diverse Vorrichtungen, die es ermöglichen, Daten und/oder andere Informationen in die Computervorrichtung 200 einzugeben oder von dieser abzurufen. Die beispielhaften E/A-Vorrichtungen 210 umfassen Cursor-Steuerungsvorrichtungen, Tastaturen, Tastfelder, Mikrofone, Monitore oder andere Anzeigevorrichtungen, Lautsprecher, Drucker, Netzwerkschnittstellenkarten, Modems, Linsen, CCDs oder andere Bildaufnahmevorrichtungen und dergleichen.
  • Die Anzeigevorrichtung 230 umfasst eine beliebige Art von Vorrichtung, die in der Lage ist, Informationen für einen oder mehrere Benutzer der Computervorrichtung 200 anzuzeigen. Beispiele der Anzeigevorrichtung 230 umfassen einen Monitor, ein Anzeigeendgerät, eine Videoprojektionsvorrichtung und dergleichen.
  • Die Schnittstellen 206 umfassen diverse Schnittstellen, die es der Computervorrichtung 200 ermöglichen, mit anderen Systemen, Vorrichtungen oder Computerumgebungen zu interagieren. Beispielhafte Schnittstellen 206 umfassen eine beliebige Anzahl von verschiedenen Netzwerkschnittstellen 220, wie etwa Schnittstellen mit lokalen Netzwerken (LAN), Großraumnetzwerken (WAN), drahtlosen Netzwerken und dem Internet. Andere Schnittstellen umfassen eine Benutzerschnittstelle 218 und eine Peripherievorrichtungsschnittstelle 222. Die Schnittstellen 206 können auch eine oder mehrere Peripherieschnittstellen umfassen, wie etwa Schnittstellen für Drucker, Zeigevorrichtungen (Mäuse, Tastfelder usw.), Tastaturen und dergleichen.
  • Der Bus 212 ermöglicht es den Prozessoren 202, den Speichervorrichtungen 204, den Schnittstellen 206, den Massenspeichervorrichtungen 208, den E/A-Vorrichtungen 210 und der Anzeigevorrichtung 230, miteinander sowie mit anderen Vorrichtungen oder Komponenten, die mit dem Bus 212 gekoppelt sind, zu kommunizieren. Der Bus 212 stellt eine oder mehrere Arten von Busstrukturen dar, wie etwa einen Systembus, einen PCI-Bus, einen IEEE1394-Bus, einen USB-Bus und so weiter.
  • Zur Erläuterung werden Programme und andere ausführbare Programmkomponenten hier als diskrete Blöcke gezeigt, obwohl es sich versteht, dass diese Programme und Komponenten zu diversen Zeitpunkten in verschiedenen Speicherkomponenten der Computervorrichtung 200 speicherresident sein können und von den Prozessoren 202 ausgeführt werden. Alternativ können die hier beschriebenen Systeme und Arbeitsabläufe als Hardware oder eine Kombination von Hardware, Software und/oder Firmware umgesetzt werden. Beispielsweise kann bzw. können eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) programmiert werden, um eines oder mehrere der hier beschriebenen Systeme und Arbeitsabläufe auszuführen.
  • Mit Bezug auf 3 können die abgebildeten Komponenten verwendet werden, um Verfahren gemäß einer Ausführungsform der Erfindung umzusetzen. Eine Ausgabe 302 des Mikrofons, z.B. eine digitale Darstellung der Ausgabe des Mikrofons 110, kann in ein Spracherkennungsmodul 304 eingegeben werden. Das Spracherkennungsmodul 304 kann durch die IVI-Anlage 104, die mobile Vorrichtung 112 oder das Serversystem 114 ausgeführt werden. Beispielsweise kann die Ausgabe 302 an das Serversystem 114 zur Sprachanalyse übertragen werden, und die Ergebnisse der Analyse können an die IVI-Anlage 104 oder die mobile Vorrichtung 112 zurückgegeben werden.
  • Das Spracherkennungsmodul 304 kann ein beliebiger Spracherkennungsalgorithmus sein, der in der Technik bekannt ist, und kann ein Algorithmus zum maschinellen Lernen sein, der auf ein Modell zum maschinellen Lernen 306 zurückgreift, das unter Verwendung von Bibliotheken mit Trainingsdaten eingelernt wird.
  • Das Ergebnis der Verarbeitung durch das Spracherkennungsmodul 304 kann ein Satz von Kandidatenzeichenketten 308 sein. Bei den hier offenbarten Beispielen ist die Erkennung von schwer zu identifizierenden Namen eine besonders nützliche Anwendung. Entsprechend können die Kandidatenzeichenketten 308 Namen sein, von denen das Spracherkennungsmodul 304 schätzt, dass sie der Sprache entsprechen, die in der Ausgabe 302 aufgezeichnet ist. Bei einigen Ausführungsformen können die Kandidatenzeichenketten 308 jeweils einen Konfidenzwert aufweisen, der die Wahrscheinlichkeit angibt, dass die Zeichenkette eine richtige Auslegung der Ausgabe 302 ist, z.B. ein Wert zwischen 0 und 1, wobei ein größerer Wert die höchste Konfidenz bedeutet. Bei einigen Ausführungsformen können die Kandidatenzeichenketten 308 diejenigen sein, die Konfidenzwerte aufweisen, die eine Schwelle überschreiten, und/oder können die N besten Ergebnisse (z.B. 3 bis 10) sein.
  • Bei einigen Ausführungsformen können zwei Schwellen verwendet werden. Eine erste Schwelle gibt eine erfolgreiche Auslegung an, und eine zweite Schwelle gibt eine geringe Konfidenz aber ein möglicherweise relevantes Ergebnis an. Entsprechend können die Kandidatenzeichenketten eine einzige erfolgreiche Kandidatenzeichenkette, welche die erste Schwelle einhält, oder mehrere Kandidatenzeichenketten, welche die zweite Schwelle aber nicht die erste Schwelle einhalten, umfassen.
  • Die Kandidatenzeichenketten 308 können in ein Logikmodul 310 eingegeben werden, wie etwa wenn die Kandidatenzeichenketten 308 Konfidenzwerte aufweisen, die unter der ersten Schwelle liegen. Das Logikmodul 310 kann das Verfahren aus 4 ausführen. Die Ausgabe des Logikmoduls 310 kann ein Ergebnis 312 umfassen, das eine Zeichenkette ist, von der bestimmt wird, dass sie eine hohe Wahrscheinlichkeit aufweist, der Ausgabe 302 zu entsprechen.
  • Das Logikmodul 310 kann Kontakte 314 für einen Benutzer und Metadaten für die Kontakte des Benutzers und andere Zeichenketten, die von dem Logikmodul 310 verarbeitet werden, speichern. Wie es nachstehend mit Bezug auf 4 beschrieben wird, können die Metadaten von dem Logikmodul 310 sowohl verwendet als auch aktualisiert werden.
  • Mit Bezug auf 4 kann das abgebildete Verfahren 400 durch das Logikmodul 310 ausgeführt werden. Wie zuvor erwähnt, können die Schritte des Verfahrens 400 durch die IVI-Anlage 104, die mobile Vorrichtung 112 oder das Serversystem 114 ausgeführt werden oder können auf diese Vorrichtungen verteilt sein.
  • Das Verfahren 400 kann das Empfangen 402 einer oder mehrerer Kandidatenzeichenketten 308 und Konfidenzwerte, die jedem von dem einen oder den mehreren Kandidaten entsprechen, und das Bewerten 404, ob einer von dem einen oder den mehreren Kandidaten mit einem Kontakt eines Benutzers übereinstimmt, d.h. des Benutzers, welcher der Gegenstand des Verfahrens 400 ist, umfassen. Der Kandidatensatz kann ein Satz von Kontakten sein, die in den Kontakten und Metadaten 314 enthalten sind. Die Kontakte können in der IVI-Anlage 104, der mobilen Vorrichtung 112 oder in einem Konto des Benutzers, das für das Serversystem 114 oder eine andere Computervorrichtung zugänglich ist, gespeichert sein.
  • Falls ja, kann das Verfahren 400 das Beurteilen 406 umfassen, ob eine bekannte Korrektur in den Metadaten für den übereinstimmenden Kandidaten gespeichert ist. Insbesondere können die Kontakte und Metadaten 314 Zeichenketten und Metadaten für Zeichenketten speichern, wobei die Zeichenketten sowohl Kontakte als auch Kandidaten 308 umfassen können, die gemäß dem Verfahren 400 bewertet wurden. Die Metadaten für eine Zeichenkette können beliebige Korrekturen für diese Zeichenkette umfassen, d.h. einen Eintrag einer Instanz, bei der die Zeichenkette präsentiert wurde doch der Benutzer letztendlich eine andere Zeichenkette als die gewünschte Ausgabe auswählte. Die andere Zeichenkette kann daher in den Metadaten für die Zeichenkette als Korrektur gespeichert werden, und das Verfahren 400 kann daher das Bewerten 406 umfassen, ob die Metadaten für den übereinstimmenden Kontakt ein anderer Kontakt sind.
  • Beispielsweise kann für jeden Kontakt oder jede Kandidatenzeichenkette, der bzw. die gemäß dem Verfahren 400 verarbeitet wird, eine Datenstruktur gespeichert werden, die in der Form von <Kontakt oder Kandidatenzeichenkette>, <Korrekturliste>, <reduzierte_Form>, <Treffer>, <Fehltreffer> vorliegen kann. Diese Werte können gemäß dem Verfahren 400 wie nachstehend beschrieben aktualisiert werden.
  • Falls sich herausstellt, dass die Datenstruktur für den übereinstimmenden Kontakt aus Schritt 404 einen oder mehrere Werte in der <Korrekturliste> enthält, kann das Verfahren 400 das Präsentieren 408 einer oder mehrerer Zeichenketten in dem Feld <Korrekturliste> für den Benutzer umfassen. Bei einigen Ausführungsformen kann Schritt 408 das Präsentieren mehrerer Optionen für den Benutzer zur Auswahl umfassen, wie etwa einige oder alle der übereinstimmenden Kontakte, die in Schritt 404 identifiziert wurden, die Werte in dem Feld <Korrekturliste> für den übereinstimmenden Kontakt und möglicherweise eine oder mehrere andere Zeichenketten, wie etwa eine oder mehrere von anderen Kandidatenzeichenketten, die in Schritt 402 empfangen wurden.
  • Schritt 408 kann ferner das Speichern der Auswahl umfassen. Falls beispielsweise eine Zeichenkette in der <Korrekturliste> ausgewählt wird, kann diese Auswahl verwendet werden, um eine Anzahl von Korrekturen für diese Zeichenkette in den Metadaten zu inkrementieren. Falls eine andere Zeichenkette in Schritt 408 ausgewählt wird oder durch den Benutzer eingegeben wird, dann kann dieser Wert in dem Feld <Korrekturliste> der Datenstruktur für den übereinstimmenden Kontakt gespeichert werden.
  • Falls keine Werte in der <Korrekturliste> in Schritt 406 gefunden werden, dann kann das Verfahren 400 das Bewerten 410 umfassen, ob der Konfidenzwert des Kandidaten, der in Schritt 404 als übereinstimmend gefunden wurde, eine Schwelle, z.B. die erste Schwelle, überschreitet. Falls ja, dann kann der übereinstimmende Kontakt an den Benutzer zurückgegeben 412 werden und/oder bei der Ausführung eines Befehls verwendet werden. Bei einigen Ausführungsformen kann Schritt 410 das Bewerten der Felder <Treffer> und <Fehltreffer> für den übereinstimmenden Kontakt umfassen. Falls <Treffer> eine Trefferschwelle überschreitet, <Fehltreffer> unter einer Fehltrefferschwelle liegt und/oder das Verhältnis von <Treffern> zu <Fehltreffern> eine Verhältnisschwelle überschreitet, kann es sein, dass die Konfidenz für den übereinstimmenden Kontakt als hoch bestimmt 410 wird. Bei einigen Ausführungsformen kann ein Benutzer eine Eingabe bereitstellen, die angibt, dass der übereinstimmende Kontakt die richtige Auslegung war oder nicht. Diese Eingabe kann in den Metadaten für den übereinstimmenden Kontakt aufgezeichnet werden. Falls der Benutzer beispielsweise bestätigt, dass das Ergebnis richtig ist, kann das Feld <Treffer> in der Datenstruktur für den übereinstimmenden Kontakt inkrementiert werden. Falls nicht, dann kann das Feld <Fehltreffer> inkrementiert werden.
  • Falls kein übereinstimmender Kontakt in Schritt 404 gefunden wird, kann das Verfahren 400 das Bewerten 414 umfassen, ob Datenstrukturen für eine der Kandidatenzeichenketten, die in Schritt 402 empfangen wurden, gespeichert sind, und ob eine bekannte Korrektur in der <Korrekturliste> einer dieser Datenstrukturen aufgezeichnet ist. Falls ja, dann wird die bekannte Korrektur an den Benutzer zurückgegeben 416 und/oder verwendet, um einen Befehl auszuführen. Für den Fall, dass mehrere Kandidatenzeichenketten bekannte Korrekturen in den Metadaten aufweisen, kann Schritt 416 das Zurückgeben der mehreren bekannten Korrekturen an den Benutzer und das Empfangen einer Auswahl einer dieser Korrekturen umfassen. Die Anzahl von Korrekturen für die ausgewählte bekannte Korrektur kann als Reaktion auf die Benutzerauswahl derselben inkrementiert werden.
  • Falls keine bekannte Korrektur in Schritt 414 gefunden wird oder es sich herausstellt 410, dass der Konfidenzwert die erste Schwelle nicht einhält, dann kann eine weitere Verarbeitung erfolgen, um zu versuchen einen Kontakt zu identifizieren.
  • Beispielsweise kann das Verfahren 400 das Reduzieren 418 der Kandidatenzeichenketten umfassen. Mit Bezug auf 5 kann das Reduzieren einer Zeichenkette das Ersetzen 502 jedes Konsonanten durch eine 1 und das Ersetzen 504 jedes Vokals durch eine 0 umfassen. Bei einigen Ausführungsformen kann eine Kompression das Ersetzen 506 von nebeneinanderliegenden Einsen durch eine einzige 1 und das Ersetzen 508 von nebeneinanderliegenden Nullen durch eine einzige 0 umfassen. Beispielsweise würde aus dem Vornamen „Peter“ „10101“. Eine alternative Schreibweise, wie etwa „Pieter“, würde nach den Schritten 502 und 504 zu „100101“ werden und würde nach den Schritten 506 und 508 zu „10101“ werden. Bei einem anderen Beispiel wird der französische Vorname „Thibault“ genau wie „Tebow“ ausgesprochen. Die reduzierten Werte sind identisch: „Thibault“ -> 11010011 -> 10101 und „Tebow“ -> 10101.
  • Bei einigen Ausführungsformen können die Schritte 502 bis 508 nicht als diskrete Schritte ausgeführt werden. Beispielsweise kann eine Bitposition in einem Ausgangswort auf 1 oder 0 gesetzt werden, wenn ein Konsonant oder ein Vokal angetroffen wird, und die nächste Bitposition wird nicht gesetzt, bis der entgegengesetzte Zeichentyp angetroffen wird. Somit führen Zeichenketten aus Konsonanten dazu, dass ein einziger Bitwert gesetzt wird, und es gibt keine Zwischenspeicherung von mehreren Bits für mehrere nebeneinanderliegende Konsonanten und Vokale gemäß den Schritten 502 bis 504.
  • Zurück zu 4 können nach dem Reduzieren 418 die reduzierten Formen der Kandidatenzeichenketten mit den reduzierten Formen der Kontakte des Benutzers, d.h. den Feldern <reduzierte_Form> in den Datenstrukturen für die Kontakte des Benutzers, verglichen 420 werden. Falls keine reduzierten Formen der Kandidatenzeichenketten mit einer der reduzierten Formen der Kontakte des Benutzers übereinstimmen 422, dann kann ein Fehltreffer gemeldet 424 werden. Die Werte <reduzierte_Form> können in der Datenstruktur für jeden Kontakt und eine andere Zeichenkette, die in den Metadaten dargestellt ist, gespeichert werden. Somit kann die Berechnung gemäß dem Verfahren 400 reduziert werden. Der Vergleich von reduzierten Werten ist auch rechnerisch einfach, was die Identifizierung von Übereinstimmungen ermöglicht, ohne eine komplizierte Text- und Sprachanalyse zu benötigen. Bei anderen Ausführungsformen wird die reduzierte Form der Kontakte und der zuvor verarbeiteten Zeichenketten je nach Bedarf während der Ausführung des Verfahrens 400 berechnet.
  • Falls eine Übereinstimmung gefunden 422 wird, und es sich herausstellt 426, dass die Anzahl von Übereinstimmungen kleiner als eine Übereinstimmungsschwelle ist, dann können die Kontakte, die reduzierte Formen aufweisen, die mit den reduzierten Formen einer oder mehrerer der Kandidatenzeichenketten übereistimmen, an den Benutzer als mögliche Übereinstimmungen zurückgegeben 430 werden und/oder als Eingaben für einen Befehl verwendet werden. Falls sich herausstellt 432, dass der Benutzer einen der Kontakte auswählt, die in Schritt 430 gemeldet werden, dann kann das Verfahren 400 das Aktualisieren 434 der Metadaten für die eine oder die mehreren Kandidatenzeichenketten umfassen, die eine reduzierte Form aufweisen, die mit dem ausgewählten Kontakt übereinstimmt, um den ausgewählten Kontakt in der <Korrekturliste> aufzuführen, oder die Anzahl von Korrekturen für den Kontakt kann inkrementiert werden, falls der ausgewählte Kontakt bereits in der <Korrekturliste> für diese eine oder mehreren Kandidatenzeichenketten enthalten ist.
  • Falls sich herausstellt 432, dass der Benutzer einen der Kontakte ausgewählt hat, die in Schritt 430 präsentiert wurden, dann können die Fehltreffer-Metadaten aktualisiert 436 werden. Beispielsweise kann für jede Kandidatenzeichenkette, die übereinstimmende reduzierte Formen aufweist, die in Schritt 422 identifiziert wurden, das Feld <Fehltreffer> inkrementiert werden.
  • Falls sich herausstellt 426, dass die Anzahl von Kontakten, die reduzierte Formen aufweisen, die mit den reduzierten Formen der Kandidatenzeichenketten übereinstimmen, die Übereinstimmungsschwelle überschreitet, dann können die übereinstimmenden Kontakte gefiltert 428 werden. Das Filtern 428 kann gemäß dem Verfahren 600 aus 6 oder gewissen anderen Filterkriterien erfolgen. Die übereinstimmenden Kontakte, die nach dem Filtern 428 verbleiben, können dann in Schritt 430 gemeldet werden, und die Verarbeitung kann wie zuvor beschrieben fortfahren.
  • Mit Bezug auf 6 kann das abgebildete Verfahren 600 verwendet werden, um einen Teilmenge von Kontakten auszuwählen, die reduzierte Formen aufweisen, die mit den reduzierten Formen der Kandidatenzeichenketten übereinstimmen.
  • Das Verfahren 600 kann ferner das Filtern 602 der übereinstimmenden Kontakten nach textlicher Ähnlichkeit mit den Kandidatenzeichenketten, die reduzierte Formen aufweisen, die mit den reduzierten Formen der übereinstimmenden Kontakte übereinstimmen, umfassen. Es kann eine beliebige Metrik der textlichen Ähnlichkeit, wie etwa die Editierdistanz der Zeichenkette, oder ein anderer Ansatz verwendet werden. Das Filtern 602 kann das Entfernen von Kontakten umfassen, die keine Ähnlichkeitsmetrik im Verhältnis zu einer beliebigen Kandidatenzeichenkette aufweisen, die einen gewissen Schwellenmetrikwert überschreitet.
  • Das Verfahren 600 kann das Filtern 604 der Kontakte nach Standort umfassen. Beispielsweise können Metadaten für einen Kontakt einen Standort des Benutzers aufzeichnen, wenn es zu einer Kommunikation (Anruf, Textnachricht, E-Mail) mit diesem Kontakt kommt, z.B. eine Region, in der X Prozent, z.B. 90 %, der Kommunikationen stattfanden. Das Filtern 604 kann daher das Entfernen von übereinstimmenden Kontakten umfassen, die keine Regionen aufweisen, die einen aktuellen Standort des Fahrzeugs 102 oder der mobilen Vorrichtung 114 während der Ausführung des Verfahrens 600 umfassen.
  • Das Verfahren 600 kann das Filtern 606 der übereinstimmenden Kontakte nach Zeit umfassen. Beispielsweise können Metadaten für einen Kontakt ein Zeitfenster aufzeichnen, in dem die Kommunikation (Anruf, Textnachricht, E-Mail) mit diesem Kontakt stattfindet, z.B. eine Uhrzeit, zu der X Prozent, z.B. 90 %, der Kommunikationen stattfanden. Die Metadaten können separate Zeitfenster speichern, die wiedergeben, wann die Kommunikationen an verschiedenen Tagen oder Tagestypen (spezifischer Tag der Woche, ein Wochentag, ein Wochenendtag) stattfanden. Das Filtern 606 kann daher das Entfernen von übereinstimmenden Kontakten umfassen, die keine Zeitfenster aufweisen, welche die aktuelle Zeit umfassen, zu der das Verfahren 600 ausgeführt wird. Wenn tagesspezifische Fenster gepflegt werden, kann das Filtern 606 das Entfernen von Übereinstimmungen umfassen, deren aktuelle Zeit nicht innerhalb eines Zeitfensters liegt, das dem aktuellen Tag der Woche oder dem Tagestyp (Wochenendtag oder Wochentag) entspricht.
  • 6 offenbart mehrere Filterschritte 602 bis 606, die unterschiedlich kombiniert werden können. Beispielsweise kann die Eingabe in einen Filterschritt darin bestehen, dass diese Kontakte nach einem vorhergehenden Filterschritt zurückbleiben. Alternativ kann jeder Filterschritt dazu führen, dass jedem Kontakt eine Auswertung zugewiesen wird. Beispielsweise eine 1, falls die Filterkriterien durch den Kontakt erfüllt sind, oder eine 0, falls die Filterkriterien nicht erfüllt sind. Alternativ kann die Auswertung für die Schritte 604, 606 ein Wert sein, der mit der Nähe des aktuellen Standorts zu der Region für einen Kontakt oder der Nähe der aktuellen Zeit zu dem geeigneten Zeitfenster, z.B. einem tagesspezifischen Zeitfenster für den Kontakt, zunimmt. Für Schritt 602 kann die Auswertung die textliche Ähnlichkeitsmetrik sein.
  • Für jeden Kontakt können die Auswertungen gemäß den Filterschritten 602 bis 606 summiert, gewichtet und summiert oder anderweitig kombiniert werden, um eine endgültige Auswertung für jeden Kontakt zu bestimmen. Die Kontakte, welche die besten N (z.B. 2, 3 oder 4) endgültigen Auswertungen aufweisen, oder die Kontakte, die endgültige Auswertungen aufweisen, die eine Schwelle überschreiten, können als die verbleibenden Kontakte nach dem Filterprozess ausgewählt werden.
  • Bei einigen Ausführungsformen wird eine Teilmenge von Kontakten gemäß dem Filtern nach textlicher Ähnlichkeit in Schritt 602 ausgewählt. Diese Teilmenge kann dann gemäß den Schritten 604, 606 verarbeitet werden, wozu das Zuweisen von Auswertungen und das Auswählen gemäß einer endgültigen Auswertung, die eine Kombination der Auswertungen aus den Schritten 604, 606 ist, wie zuvor beschrieben gehören kann.
  • In der obigen Offenbarung wurde Bezug auf die beiliegenden Zeichnungen genommen, die Teil davon sind, und in denen erläuternd spezifische Umsetzungen gezeigt sind, in denen die Offenbarung in die Praxis umgesetzt werden kann. Es versteht sich, dass andere Umsetzungen verwendet werden können und strukturelle Änderungen vorgenommen werden können, ohne den Umfang der vorliegenden Offenbarung zu verlassen. Bezugnahmen in der Beschreibung auf „eine einzige Ausführungsform“, „eine Ausführungsform“, „eine beispielhafte Ausführungsform“ usw. bedeuten, dass die beschriebene Ausführungsform ein bestimmtes Merkmal, eine bestimmte Struktur oder ein bestimmtes Kennzeichen umfassen kann, jedoch nicht jede Ausführungsform das bestimmte Merkmal, die bestimmte Struktur oder das bestimmte Kennzeichen unbedingt umfassen muss. Des Weiteren beziehen sich diese Redewendungen nicht unbedingt auf die gleiche Ausführungsform. Wenn ferner ein bestimmtes Merkmal, eine bestimmte Struktur oder ein bestimmtes Kennzeichen in Verbindung mit einer Ausführungsform beschrieben wird, wird vorausgesetzt, dass der Fachmann weiß, wie dieses Merkmal, diese Struktur oder dieses Kennzeichen in Verbindung mit anderen Ausführungsformen umzusetzen ist, und zwar unabhängig davon, ob dies ausdrücklich beschrieben wird oder nicht.
  • Umsetzungen der hier beschriebenen Systeme, Vorrichtungen und Verfahren können einen speziellen oder universellen Computer umfassen, der Computer-Hardware umfasst, wie beispielsweise einen oder mehrere Prozessoren und einen Systemspeicher, wie hier besprochen. Umsetzungen im Umfang der vorliegenden Offenbarung können auch physische und andere computerlesbare Medien zum Enthalten oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen umfassen. Diese computerlesbaren Medien können beliebige verfügbare Medien sein, auf die ein universelles oder spezielles Computersystem zugreifen kann. Computerlesbare Medien, die computerausführbare Anweisungen speichern, sind Computerspeichermedien (Vorrichtungen). Computerlesbare Medien, die computerausführbare Anweisungen enthalten, sind Übertragungsmedien. Somit können die Umsetzungen der Offenbarung beispielhaft und ohne Einschränkung mindestens zwei deutlich unterschiedliche Arten von computerlesbaren Medien umfassen: Computerspeichermedien (Vorrichtungen) und Übertragungsmedien.
  • Computerspeichermedien (Vorrichtungen) umfassen RAM, ROM, EEPROM, CD-ROM, Festkörperlaufwerke („SSD“) (z.B. basierend auf RAM), Flash-Speicher, Phasenänderungsspeicher („PCM“), andere Speicherarten, andere optische Plattenspeicher, magnetische Plattenspeicher oder andere magnetische Speichervorrichtungen oder ein beliebiges anderes Medium, das verwendet werden kann, um gewünschte Programmcodemittel in der Form von computerausführbaren Anweisungen oder Datenstrukturen zu speichern, und auf die ein universeller oder spezieller Computer zugreifen kann.
  • Eine Umsetzung der hier offenbarten Vorrichtungen, Systeme und Verfahren kann über ein Computernetzwerk kommunizieren. Ein „Netzwerk“ ist als eine oder mehrere Datenverbindungen, die den Transport von elektronischen Daten zwischen Computersystemen und/oder Modulen und/oder anderen elektronischen Vorrichtungen ermöglicht bzw. ermöglichen, definiert. Wenn Informationen über ein Netzwerk oder eine andere Kommunikationsverbindung für einen Computer übertragen oder bereitgestellt werden (entweder drahtgebunden, drahtlos oder eine Kombination von drahtgebunden und drahtlos), sieht der Computer die Verbindung eigentlich als Übertragungsmedium an. Übertragungsmedien können ein Netzwerk und/oder Datenverbindungen umfassen, die man verwenden kann, um gewünschte Programmcodemittel in der Form von computerausführbaren Anweisungen oder Datenstrukturen zu enthalten, und auf die ein universeller oder spezieller Computer zugreifen kann. Kombinationen des Vorstehenden sind ebenfalls in den Umfang der computerlesbaren Medien einzubeziehen.
  • Computerausführbare Anweisungen umfassen beispielsweise Anweisungen und Daten, die, wenn sie an einem Prozessor ausgeführt werden, bewirken, dass ein universeller Computer, ein spezieller Computer oder eine spezielle Verarbeitungsvorrichtung eine gewisse Funktion oder Funktionsgruppe ausführt. Die computerausführbaren Anweisungen können beispielsweise Binärwerte, Zwischenformatanweisungen, wie etwa Assembler-Sprache, oder sogar Source-Code sein. Obwohl der Gegenstand mit einer Wortwahl beschrieben wurde, die für strukturelle Merkmale und/oder verfahrenstechnische Aktionen spezifisch ist, versteht es sich, dass der Gegenstand, der in den beiliegenden Ansprüchen definiert ist, nicht unbedingt auf die beschriebenen Merkmale oder zuvor beschriebenen Aktionen eingeschränkt ist. Vielmehr werden die beschriebenen Merkmale und Aktionen als beispielhafte Formen offenbart, welche die Ansprüche umsetzen.
  • Der Fachmann wird verstehen, dass die Offenbarung in Netzwerk-Computerumgebungen mit vielen Arten von Computersystemkonfigurationen in die Praxis umgesetzt werden kann, zu denen ein Fahrzeugcomputer im Armaturenbrett, PCs, Desktop-Computer, Laptop-Computer, Nachrichtenprozessoren, handgehaltene Vorrichtungen, Systeme mit mehreren Prozessoren, mikroprozessorbasierte oder programmierbare Verbraucherelektronik, Netzwerk-PCs, Minicomputer, Großrechner, Handys, PDAs, Tablets, Pager, Router, Schalter, diverse Speichervorrichtungen und dergleichen gehören. Die Offenbarung kann auch in verteilten Systemumgebungen in die Praxis umgesetzt werden, in denen lokale und entfernte Computersysteme, die (entweder durch drahtgebundene Datenverbindungen, drahtlose Datenverbindungen oder durch eine Kombination von drahtgebundenen und drahtlosen Datenverbindungen) über ein Netzwerk verlinkt sind, beide Aufgaben ausführen. In einer verteilten Systemumgebung können sich Programmmodule sowohl in lokalen als auch in entfernten Speichervorrichtungen befinden.
  • Ferner können die hier beschriebenen Funktionen gegebenenfalls in einer oder mehreren von Hardware-, Software-, Firmware-, digitalen Komponenten oder analogen Komponenten ausgeführt werden. Beispielsweise kann bzw. können eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) programmiert werden, um eines oder mehrere der hier beschriebenen Systeme oder Arbeitsabläufe auszuführen. Gewisse Begriffe werden überall in der Beschreibung und den Ansprüchen verwendet, um sich auf bestimmte Systemkomponenten zu beziehen. Wie es der Fachmann verstehen wird, können die Komponenten mit verschiedenen Namen bezeichnet werden. Die vorliegende Druckschrift ist nicht dazu gedacht, zwischen Komponenten zu unterscheiden, deren Namen sich unterscheidet aber nicht ihre Funktion.
  • Es versteht sich, dass die zuvor besprochenen Sensorausführungsformen Computer-Hardware, Software, Firmware oder eine beliebige Kombination davon umfassen können, um mindestens einen Teil ihrer Funktionen auszuführen. Beispielsweise kann ein Sensor Computercode umfassen, der konfiguriert ist, um in einem oder mehreren Prozessoren ausgeführt zu werden, und kann Hardware-Logik/ elektrische Schaltungen, die durch den Computercode gesteuert werden, umfassen. Diese beispielhaften Vorrichtungen werden hier zur Erläuterung bereitgestellt und sind nicht dazu gedacht einschränkend zu sein. Die Ausführungsformen der vorliegenden Offenbarung können in weiteren Vorrichtungsarten umgesetzt werden, wie es der Fachmann wissen würde. Mindestens einige Ausführungsformen der Offenbarung betrafen Computerprogrammprodukte, die eine derartige Logik umfassen (z.B. als Software), die auf einem beliebigen computerverwendbaren Medium gespeichert ist. Diese Software, wenn sie in einer oder in mehreren Datenverarbeitungsvorrichtungen ausgeführt wird, bewirkt, dass eine Vorrichtung wie hier beschrieben funktioniert.
  • Computerprogrammcode zum Ausführen der Vorgänge der vorliegenden Erfindung können in einer beliebigen Kombination von einer oder mehreren Programmiersprachen verfasst sein, wozu eine objektorientierte Programmiersprache, wie etwa Java, Smalltalk, C++ oder dergleichen, und herkömmliche prozedurale Programmiersprachen, wie etwa die Programmiersprache „C“ oder dergleichen oder ähnliche Programmiersprachen gehören. Der Code kann vollständig auf einem Computersystem als selbstständiges Software-Paket an einer selbstständigen Hardware-Einheit, teilweise auf einem Remote-Computer, der etwas von dem Computer entfernt ist, oder vollständig auf einem Remote-Computer oder Server ausgeführt werden. In letzterem Fall kann der Remote-Computer an den Computer über eine beliebige Art von Netzwerk, wozu ein lokales Netzwerk (LAN) oder ein Großraumnetzwerk (WAN) gehört, angeschlossen sein, oder die Verbindung kann mit einem externen Computer (z.B. über das Internet unter Verwendung eines Internet-Anbieters) hergestellt werden.
  • Vorstehend wurde die vorliegende Erfindung mit Bezug auf Ablaufschemata und/oder Blockdiagramme von Verfahren, Geräten (Systemen) und Computerprogrammprodukten gemäß den Ausführungsformen beschrieben. Es versteht sich, dass jeder Block der Ablaufschemata und/oder der Blockdiagramme und Kombinationen von Blöcken in den Ablaufschemata und/oder Blockdiagrammen durch Anweisungen oder Code eines Computerprogramms umgesetzt werden kann. Diese Computerprogrammanweisungen können einem Prozessor eines universellen Computers, eines spezifischen Computers oder eines anderen programmierbaren Datenverarbeitungsgeräts bereitgestellt werden, um eine Maschine zu ergeben, so dass die Anweisungen, die über den Prozessor des Computers oder des anderen programmierbaren Datenverarbeitungsgeräts ausgeführt werden, Mittel erstellen, um die Funktionen/Aktionen umzusetzen, die in dem Block oder den Blöcken der Ablaufschemata und/oder Blockdiagramme vorgegeben sind.
  • Diese Computerprogrammanweisungen können auch in einer einem nicht vorübergehenden computerlesbaren Medium gespeichert sein, das einen Computer oder ein anderes programmierbares Datenverarbeitungsgerät anleiten kann, um auf eine bestimmte Art und Weise zu funktionieren, so dass die Anweisungen, die in dem computerlesbaren Medium gespeichert sind, ein Produkt ergeben, das Anweisungsmittel umfasst, welche die Funktion/Aktion umsetzen, die in dem Block oder den Blöcken der Ablaufschemata und/oder Blockdiagramme vorgegeben ist.
  • Die Computerprogrammanweisungen können auch auf einen Computer oder ein anderes programmierbares Datenverarbeitungsgerät geladen werden, um zu bewirken, dass eine Reihe von Betriebsschritten auf dem Computer oder dem anderen programmierbaren Gerät ausgeführt wird, um einen computerumgesetzten Prozess zu ergeben, so dass die Anweisungen, die auf dem Computer oder dem anderen programmierbaren Gerät ausgeführt werden, Prozesse bereitstellen, um die Funktionen/Aktionen umzusetzen, die in dem Block oder den Blöcken des Ablaufschemas und/oder des Blockdiagramms vorgegeben sind.
  • Obwohl zuvor diverse Ausführungsformen der vorliegenden Offenbarung beschrieben wurden, versteht es sich, dass sie rein beispielhaft und nicht einschränkend präsentiert wurden. Es wird für den Fachmann auf diesem Gebiet ersichtlich sein, dass diverse Änderungen in Form und Detail daran vorgenommen werden können, ohne Geist und Umfang der Offenbarung zu verlassen. Somit sind Breite und Umfang der vorliegenden Offenbarung nicht durch eine der zuvor beschriebenen beispielhaften Ausführungsformen einzuschränken, sondern nur gemäß den folgenden Ansprüchen und ihren Entsprechungen zu definieren. Die vorstehende Beschreibung wurde zur Erläuterung und Beschreibung präsentiert. Sie ist nicht dazu gedacht, erschöpfend zu sein oder die Offenbarung auf die genaue offenbarte Form einzuschränken. Angesichts der obigen Lehren sind zahlreiche Änderungen und Variationen möglich. Ferner sei zu beachten, dass eine oder alle der zuvor erwähnten alternativen Umsetzungen in einer beliebigen Form verwendet werden kann bzw. können, um zusätzliche hybride Umsetzungen der Offenbarung zu bilden.

Claims (15)

  1. Verfahren, umfassend das Ausführen der folgenden Schritte durch ein Computersystem: (a) Berechnen erster reduzierter Werte für eine Vielzahl von ersten Zeichenketten gemäß einer Reduzierungsfunktion; (b) Empfangen von zwei oder mehreren zweiten Zeichenketten von einem Sprachverarbeitungsalgorithmus; (c) Berechnen von zweiten reduzierten Werten für die zwei oder mehreren zweiten Zeichenketten gemäß der Reduzierungsfunktion; und (d) Auswählen einer ausgewählten Zeichenkette der Vielzahl von ersten Zeichenketten, die einen entsprechenden ersten reduzierten Wert aufweisen, der mit einem der zweiten reduzierten Werte übereinstimmt.
  2. Verfahren nach Anspruch 1, wobei die Reduzierungsfunktion eine Eingabezeichenkette empfängt und eine Ausgabezeichenkette bereitstellt, wobei die Konsonanten der Eingabezeichenkette mit einem ersten Binärwert dargestellt sind und Vokale mit einem zweiten Binärwert dargestellt sind.
  3. Verfahren nach Anspruch 1, wobei die Reduzierungsfunktion eine Eingabezeichenkette empfängt und eine Ausgabezeichenkette bereitstellt, wobei nebeneinanderliegende Konsonanten in der Eingabezeichenkette mit einer einzigen Instanz eines ersten Binärwertes dargestellt werden und nebeneinanderliegende Vokale in den Eingabezeichenketten mit einer einzigen Instanz eines zweiten Binärwertes dargestellt werden.
  4. Verfahren nach Anspruch 1, ferner umfassend folgende Schritte: Bewerten von Metadaten, die mit den zwei oder mehreren zweiten Zeichenketten verknüpft sind; Bestimmen, dass keine korrigierte Zeichenkette in den Metadaten für eine der zwei oder mehreren zweiten Zeichenketten aufgezeichnet ist; und Ausführen von (c) und (d) als Reaktion auf das Bestimmen, dass keine korrigierte Zeichenkette in den Metadaten für eine der zwei oder mehreren zweiten Zeichenketten aufgezeichnet ist.
  5. Verfahren nach Anspruch 1, wobei das Empfangen der zwei oder mehreren zweiten Zeichenketten von dem Sprachverarbeitungsalgorithmus das Empfangen eines Konfidenzwertes für jede zweite Zeichenkette der zwei oder mehreren zweiten Zeichenketten umfasst, wobei das Verfahren ferner folgende Schritte umfasst: Bestimmen, dass die Konfidenzwerte aller der zwei oder mehreren zweiten Zeichenketten unterhalb einer Schwelle liegen; und Ausführen von (c) und (d) als Reaktion auf das Bestimmen, dass die Konfidenzwerte aller der zwei oder mehreren zweiten Zeichenketten unterhalb der Schwelle liegen.
  6. Verfahren nach Anspruch 1, wobei (d) ferner Folgendes umfasst: Bestimmen, dass mehrere erste reduzierte Werte mit einem oder mehreren übereinstimmenden zweiten Werte der zweiten reduzierten Werte übereinstimmen; (e) als Reaktion auf das Bestimmen, dass mehrere erste reduzierte Werte mit dem einen oder den mehreren übereinstimmenden zweiten Werten übereinstimmen, Filtern eines Abschnitts der ersten Zeichenketten, der den mehreren ersten reduzierten Werten entspricht, um einen gefilterten Satz von Zeichenketten zu erzielen; und (f) Auswählen der ausgewählten Zeichenkette aus dem gefilterten Satz von Zeichenketten.
  7. Verfahren nach Anspruch 6, wobei das Filtern des Abschnitts der ersten Zeichenketten das Filtern nach einem aktuellen geografischen Standort und Standorten, an denen Befehle, die den Teil der zweiten Zeichenkette umfassen, empfangen wurden, umfasst.
  8. Verfahren nach Anspruch 6, wobei das Filtern des Abschnitts der ersten Zeichenketten das Filtern des Abschnitts der zweiten Zeichenketten nach einem aktuellen Zeitpunkt und Zeitpunkten, zu denen Befehle, die den Abschnitt der zweiten Zeichenkette umfassen, empfangen wurden, umfasst.
  9. Verfahren nach Anspruch 6, ferner umfassend folgende Schritte: Bestimmen, dass eine Anzahl der mehreren reduzierten Werte einen Schwellenwert überschreitet; Ausführen von (e) und (f) als Reaktion auf das Bestimmen, dass die Anzahl der mehreren reduzierten Werte die Schwelle überschreitet.
  10. Verfahren nach Anspruch 6, wobei das Filtern des Abschnitts der ersten Zeichenketten das Filtern des Abschnitts der ersten Zeichenketten nach textlicher Ähnlichkeit mit einem Abschnitt der zweiten Zeichenketten, der dem einen oder den mehreren übereinstimmenden zweiten Werten entspricht, umfasst.
  11. System, umfassend eine oder mehrere Verarbeitungsvorrichtungen und eine oder mehrere Speichervorrichtungen, die mit der einen oder den mehreren Verarbeitungsvorrichtungen gekoppelt ist bzw. sind, wobei die eine oder die mehreren Speichervorrichtungen ausführbaren Code speichern, um zu bewirken, dass die eine oder die mehreren Verarbeitungsvorrichtungen Folgendes ausführen: (a) Vergleichen von ersten reduzierten Werten für eine Vielzahl von ersten Zeichenketten gemäß einer Reduzierungsfunktion; (b) Empfangen von zwei oder mehreren zweiten Zeichenketten von einem Sprachverarbeitungsalgorithmus; (c) Berechnen von zweiten reduzierten Werten für die zwei oder mehreren zweiten Zeichenketten gemäß der Reduzierungsfunktion; und (d) Auswählen einer ausgewählten Zeichenkette der Vielzahl von ersten Zeichenketten, die einen entsprechenden ersten reduzierten Wert aufweisen, der mit einem der zweiten reduzierten Werte übereinstimmt; wobei die Reduzierungsfunktion programmiert ist, um eine Eingabezeichenkette zu empfangen und eine Ausgabezeichenkette bereitzustellen, in der nebeneinanderliegende Konsonanten in der Eingabezeichenkette durch eine einzige Instanz eines ersten Binärwertes dargestellt sind und nebeneinanderliegende Vokale in den Eingabezeichenketten durch eine einzige Instanz eines zweiten Binärwertes dargestellt sind.
  12. System nach Anspruch 11, wobei der ausführbare Code ferner wirksam ist, um zu bewirken, dass der eine oder die mehreren Prozessoren Folgendes ausführen: Bewerten von Metadaten, die mit den zwei oder mehreren zweiten Zeichenketten verknüpft sind; und Ausführen von (c) und (d), nur falls keine korrigierte Zeichenkette in den Metadaten für eine der zwei oder mehreren zweiten Zeichenketten aufgezeichnet ist; Empfangen der zwei oder mehreren zweiten Zeichenketten von dem Sprachverarbeitungsalgorithmus, was das Empfangen eines Konfidenzwertes für jede zweite Zeichenkette der zwei oder mehreren zweiten Zeichenketten umfasst; Ausführen von (c) und (d), falls die Konfidenzwerte aller der zwei oder mehreren zweiten Zeichenketten unter einer Schwelle liegen.
  13. System nach Anspruch 11, wobei der ausführbare Code ferner wirksam ist, um zu bewirken, dass der eine oder die mehreren Prozessoren (d) ausführen durch: falls mehrere erste reduzierte Werte mit einem oder mehreren übereinstimmenden zweiten Werten der zweiten reduzierten Werte übereinstimmen: (e) Filtern eines Abschnitts der ersten Zeichenketten, der den mehreren ersten reduzierten Werten entspricht, um einen gefilterten Satz von Zeichenketten zu erzielen; und (f) Auswählen der ausgewählten Zeichenkette aus dem gefilterten Satz von Zeichenketten.
  14. System nach Anspruch 13, wobei der ausführbare Code ferner wirksam ist, um zu bewirken, dass der eine oder die mehreren Prozessoren den Abschnitt der ersten Zeichenketten durch Filtern nach einem geografischen Standort und Standorten, an denen Befehle, die den Abschnitt der zweiten Zeichenketten umfassen, empfangen wurden, filtert bzw. filtern.
  15. System nach Anspruch 13, wobei der ausführbare Code ferner wirksam ist, um zu bewirken, dass der eine oder die mehreren Prozessoren den Abschnitt der ersten Zeichenketten durch Filtern des Abschnitts der zweiten Zeichenketten nach einer aktuellen Uhrzeit und Uhrzeiten, zu denen Befehle, die den Abschnitt der zweiten Zeichenketten umfassen, empfangen wurden, filtert bzw. filtern.
DE102017124058.6A 2016-10-18 2017-10-16 Identifizieren von kontakten unter verwendung von spracherkennung Withdrawn DE102017124058A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/296,632 US10056080B2 (en) 2016-10-18 2016-10-18 Identifying contacts using speech recognition
US15/296,632 2016-10-18

Publications (1)

Publication Number Publication Date
DE102017124058A1 true DE102017124058A1 (de) 2018-04-19

Family

ID=60326692

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017124058.6A Withdrawn DE102017124058A1 (de) 2016-10-18 2017-10-16 Identifizieren von kontakten unter verwendung von spracherkennung

Country Status (6)

Country Link
US (1) US10056080B2 (de)
CN (1) CN107958017A (de)
DE (1) DE102017124058A1 (de)
GB (1) GB2557710A (de)
MX (1) MX2017013378A (de)
RU (1) RU2682005C1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109927655A (zh) * 2019-04-16 2019-06-25 东风小康汽车有限公司重庆分公司 驾驶参数的调整方法及装置、汽车
CN110310626A (zh) * 2019-05-23 2019-10-08 平安科技(深圳)有限公司 语音训练数据生成方法、装置、设备及可读存储介质
US11682204B2 (en) 2020-07-27 2023-06-20 International Business Machines Corporation Recognition assistant

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5945583A (ja) * 1982-09-06 1984-03-14 Nec Corp パタンマッチング装置
US5463715A (en) * 1992-12-30 1995-10-31 Innovation Technologies Method and apparatus for speech generation from phonetic codes
US5848130A (en) * 1996-12-31 1998-12-08 At&T Corp System and method for enhanced intelligibility of voice messages
KR20030050151A (ko) 2001-12-18 2003-06-25 현대자동차주식회사 차량용 핸즈프리 시스템
US8793127B2 (en) * 2002-10-31 2014-07-29 Promptu Systems Corporation Method and apparatus for automatically determining speaker characteristics for speech-directed advertising or other enhancement of speech-controlled devices or services
ATE342563T1 (de) * 2003-01-29 2006-11-15 Harman Becker Automotive Sys Verfahren und vorrichtung zur einschränkung des suchumfangs in einem lexikon für spracherkennung
US7319958B2 (en) * 2003-02-13 2008-01-15 Motorola, Inc. Polyphone network method and apparatus
EP1544848B1 (de) * 2003-12-18 2010-01-20 Nokia Corporation Qualitätsverbesserung eines Audiosignals im Kodierbereich
US9880995B2 (en) * 2006-04-06 2018-01-30 Carole E. Chaski Variables and method for authorship attribution
US7702501B2 (en) * 2006-05-10 2010-04-20 Cisco Technology, Inc. Techniques for passing data across the human-machine interface
US8886540B2 (en) * 2007-03-07 2014-11-11 Vlingo Corporation Using speech recognition results based on an unstructured language model in a mobile communication facility application
US8103506B1 (en) * 2007-09-20 2012-01-24 United Services Automobile Association Free text matching system and method
RU2422921C2 (ru) * 2009-08-11 2011-06-27 Государственное образовательное учреждение высшего профессионального образования "Казанский государственный университет им. В.И. Ульянова-Ленина" Способ аутентификации диктора по парольной фразе
US20140163963A2 (en) * 2010-09-24 2014-06-12 National University Of Singapore Methods and Systems for Automated Text Correction
US10453479B2 (en) * 2011-09-23 2019-10-22 Lessac Technologies, Inc. Methods for aligning expressive speech utterances with text and systems therefor
US20130317817A1 (en) * 2012-05-22 2013-11-28 Nuance Communications, Inc. Method and Apparatus for Applying Steganography in a Signed Model
US9208788B2 (en) * 2012-07-27 2015-12-08 Nuance Communications, Inc. Method and apparatus for responding to a query at a dialog system
US9148499B2 (en) 2013-01-22 2015-09-29 Blackberry Limited Method and system for automatically identifying voice tags through user operation
US9747900B2 (en) * 2013-05-24 2017-08-29 Google Technology Holdings LLC Method and apparatus for using image data to aid voice recognition
US10008205B2 (en) 2013-11-20 2018-06-26 General Motors Llc In-vehicle nametag choice using speech recognition
US9880754B2 (en) * 2014-07-09 2018-01-30 Dell Products, Lp System and method for enabling transportability of a non volatile dual inline memory module
US10290300B2 (en) 2014-07-24 2019-05-14 Harman International Industries, Incorporated Text rule multi-accent speech recognition with single acoustic model and automatic accent detection
RU2583150C1 (ru) * 2014-11-28 2016-05-10 Самсунг Электроникс Ко., Лтд. Голосовая связь на естественном языке между человеком и устройством

Also Published As

Publication number Publication date
US20180108350A1 (en) 2018-04-19
MX2017013378A (es) 2018-09-27
GB201716591D0 (en) 2017-11-22
RU2682005C1 (ru) 2019-03-14
CN107958017A (zh) 2018-04-24
US10056080B2 (en) 2018-08-21
GB2557710A (en) 2018-06-27

Similar Documents

Publication Publication Date Title
DE112014002819B4 (de) System und Verfahren zur Erkennung von Sprache
DE102019119171A1 (de) Spracherkennung für fahrzeugsprachbefehle
DE102018113034A1 (de) Stimmenerkennungssystem und stimmenerkennungsverfahren zum analysieren eines befehls, welcher mehrere absichten hat
DE102017124058A1 (de) Identifizieren von kontakten unter verwendung von spracherkennung
DE112020003365T5 (de) Überwachte kreuzmodale wiedergewinnung für zeitreihen und text unter verwendung von multimodalen triplettverlusten
DE102013213397A1 (de) Verfahren und Vorrichtung zum Bereitstellen von Stützstellendaten für ein datenbasiertes Funktionsmodell
EP3620982B1 (de) Probenverarbeitungsverfahren und -vorrichtung
DE112016002275T5 (de) Koordinierte benutzerwortauswahl zum übersetzen und erhalten von kontextinformtionen für das ausgewählte wort
DE112017007361T5 (de) Unterstützen von interaktivem textmining-prozess mit dialog in natürlicher sprache
DE102021202469A1 (de) System und verfahren zur generativen textzusammenfassung
DE102019204139A1 (de) Training für künstliche neuronale Netzwerke mit besserer Ausnutzung der Lern-Datensätze
DE112021006604T5 (de) Dynamisches in-rangordnung-bringen von facetten
DE102021204550A1 (de) Verfahren zum Erzeugen wenigstens eines Datensatzes zum Trainieren eines Algorithmus maschinellen Lernens
DE112021005925T5 (de) Domänenverallgemeinerter spielraum über metalernen zur tiefen gesichtserkennung
DE112019007626T5 (de) Arbeitselement-analyseeinrichtung und arbeitselement-analyseverfahren
DE112015003357B4 (de) Verfahren und System zum Erkennen einer eine Wortabfolge enthaltenden Sprachansage
DE102015122762A1 (de) In frage kommende handschriftliche wörter unter verwendung von optischer zeichenerkennung und rechtschreibprüfung
EP3335405B1 (de) Verfahren zum verarbeiten einer benutzereingabe und kraftfahrzeug mit einer datenverarbeitungseinrichtung
DE102017122298A1 (de) Dynamisches Einstellen eines Spracherkennungssystems
DE102004060193A1 (de) Mehrsprachsystem und Verfahren zum schnellen Auswählen der Font-Datei, die einen Character aus der Font-Datenbank entspricht
DE112021000251T5 (de) Verfahren zum auswählen von datensätzen zum aktualisieren eines moduls mit künstlicher intelligenz
DE102010033873A1 (de) Selektorsystem für Textverarbeitungsstil mit Verwendung einer 2D-Matrix
DE102014200158B4 (de) Merkmalauswahl für eine effektive Epistase-Modellierung zur Phänotyp-Vorhersage
EP4358490A1 (de) Bildgesteuertes initiieren von befehlen auf einem server in einem kommunikationsnetzwerk mithilfe eines mobilen kommunikationsgerätes und eines künstlichen intelligenzmoduls
DE102020129604A1 (de) Verfahren zur sprachsteuerung von technischen geräten

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: BONSMANN - BONSMANN - FRANK PATENTANWAELTE, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016000000

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee