DE102014010315B4 - Computer-implementiertes Verfahren und Vorrichtung zur Verarbeitung von Spracheingaben - Google Patents

Computer-implementiertes Verfahren und Vorrichtung zur Verarbeitung von Spracheingaben Download PDF

Info

Publication number
DE102014010315B4
DE102014010315B4 DE102014010315.3A DE102014010315A DE102014010315B4 DE 102014010315 B4 DE102014010315 B4 DE 102014010315B4 DE 102014010315 A DE102014010315 A DE 102014010315A DE 102014010315 B4 DE102014010315 B4 DE 102014010315B4
Authority
DE
Germany
Prior art keywords
address
components
computer
hypothesis
implemented method
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.)
Active
Application number
DE102014010315.3A
Other languages
English (en)
Other versions
DE102014010315A1 (de
Inventor
Stefan Ruff
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.)
E.SOLUTIONS GMBH, DE
Original Assignee
eSolutions GmbH
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 eSolutions GmbH filed Critical eSolutions GmbH
Priority to DE102014010315.3A priority Critical patent/DE102014010315B4/de
Publication of DE102014010315A1 publication Critical patent/DE102014010315A1/de
Application granted granted Critical
Publication of DE102014010315B4 publication Critical patent/DE102014010315B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/3608Destination input or retrieval using speech input, e.g. using speech recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)
  • Navigation (AREA)

Abstract

Computer-implementiertes Verfahren zum Verarbeiten von Spracheingaben an einer Mensch-Maschine-Schnittstelle, wobei die Spracheingaben auf Zieleingaben hinweisen, wobei das Verfahren die folgenden Schritte umfasst:- Bereitstellen von wenigstens einer durch eine Spracherkennung ermittelten Hypothese für die Spracheingabe;- Extrahieren von Adressbestandteilen aus der wenigstens einen bereitgestellten Hypothese; und- Erzeugen eines Adresssatzes für jede Hypothese auf der Grundlage der extrahierten Adressbestandteile derart, dass der erzeugte Adresssatz wenigstens einer gültigen Adresse zuordenbar ist, wobei der Schritt des Erzeugens des Adresssatzes durch ein Kombinieren von extrahierten Adressbestandteilen auf der Grundlage von den Adressbestandteilen zuordenbaren oder zugeordneten Adress-IDs erfolgt.

Description

  • Technisches Gebiet
  • Die vorliegende Offenbarung betrifft eine Technik zur Verarbeitung von Spracheingaben. Konkret wird ein Computer-implementiertes Verfahren zum Verarbeiten von auf Zieleingaben hinweisenden Spracheingaben an einer Mensch-Maschine-Schnittstelle angegeben.
  • Hintergrund
  • Spracheingaben in Form von gesprochenen Äußerungen ersetzen immer häufiger herkömmliche Eingaben über eine Tastatur, einen berührungsempfindlichen Bildschirm, eine Maus, einen Joystick oder ein sonstiges Eingabemittel. Die letztgenannten Eingabearten erfordern in der Regel ein Betrachten der Eingabe an einem Bildschirm, wodurch die Aufmerksamkeit eines Benutzers auf den Eingabevorgang fokussiert ist. Bei Spracheingaben entfällt eine visuelle Beobachtung. Dadurch stellen Spracheingaben eine besonders komfortable und effiziente Möglichkeit zur Kommunikation zwischen einem Mensch und einer Maschine dar.
  • Spracheingaben halten bereits Einzug in unterschiedlichen technischen Geräten, wie beispielsweise in Smartphones, in Infotainmentsystemen für Kraftfahrzeuge, bei Navigationssystemen sowie anderweitigen Geräten. Spracheingaben werden besonders zur Eingabe von Steuerbefehlen, zur Eingabe von Funktionsaufrufen oder allgemein zur Kommunikation mit Maschinen eingesetzt. Der Vorteil von Spracheingaben zur Bedienung von Navigationssystemen und/oder Infotainmentsystemen, welche in Kraftfahrzeugen verbaut sind (sogenannte „eingebettete Systeme“) liegt auf der Hand. Eingabe von Zielen, Zwischenzielen, POIs usw. können bequem während einer Fahrt durchgeführt werden, ohne den Benutzer vom Fahren abzulenken.
  • Der Vorteil von Spracheingaben gegenüber herkömmlichen Eingaben kann aber nur dann voll ausgeschöpft werden, wenn die Spracheingaben vom System auch richtig erkannt und interpretiert werden. Die Güte der Erkennung von Spracheingaben hängt von mehreren Faktoren ab. Sie hängt beispielsweise vom verwendeten akustischen Modell, vom bereitgestellten Vokabular (Wortschatz) und vom Sprachmodell ab, auf welches eine Spracherkennungseinrichtung zurückgreift. Als Sprachmodell können (trainierbare) statistische Modelle und/oder Grammatik-basierte Sprachmodelle zum Einsatz kommen.
  • Eine solche Spracheingabe unter Verwendung von Grammatik-basierten Sprachmodellen ist in US 6 598 018 B1 beschrieben. Dabei wird mittels eines ersten Parsers eine oder mehrere Hypothesen aus einer Spracheingabe mit Hilfe kleiner und vieler Grammatiken erzeugt. Beispielsweise können durch den ersten Parser Adressen, Kreuzungen, Postleitzahlen, etc. erkannt werden. Ein zweiter Parser bringt die erkannten Elemente in den Kontext des gesamten Satzes, um so Felder („slots“) in einer Vorlage gemäß semantischer Interpretationen zu füllen. Beispielsweise können ein Startpunkt und ein Ziel in einer Vorlage durch die erkannten Elemente des ersten und zweiten Parsers gefüllt werden.
  • Insbesondere verlangt eine Erkennung natürlicher Spracheingabe gut trainierte Sprachmodelle mit einem umfangreichen Vokabular. Mit natürlichen Spracheingaben sind in diesem Zusammenhang gesprochene Äußerungen gemeint, die keiner vorgegeben Syntax und Wortschatz folgen, sondern vom Benutzer frei geäußert werden. Derartige Sprachmodelle sind aber ressourcenintensiv. Sie erfordern aufgrund der hohen Datenmengen viel Speicherplatz. Ebenso verlangt die Verarbeitung derartiger Spracheingaben hohe Prozessorkapazitäten. Beides ist in der Regel in eingebetteten Systemen oder in Endgeräten nicht der Fall.
  • Ein Ansatz, dieses Problem zu beheben, besteht darin, die an einem oder mehreren Geräten empfangenen Äußerungen über eine Online-Verbindung an ein leistungsfähiges Rechnersystem (z.B. einem Server) zu übertragen, dort einem Spracherkennungsverfahren zu unterziehen, und das Ergebnis der Spracherkennung zur weiteren Verarbeitung an das Endgerät zurückzugeben. Ein derartig zentraler Ansatz wird in der Spracherkennungssoftware Siri von Apple und Google now eingesetzt. Solche Verfahren erfordert eine permanente Online-Datenverbindung mit dem Server. Ferner stehen zur Spracherkennung lediglich die übertragenen Äußerungen zu Verfügung. Kontextinformationen, die beispielsweise während der getätigten Äußerungen im Endgerät vorliegen oder gesammelt werden (beispielsweise die geographische Position des Endgeräts), stehen bei dem Verfahren nicht zur Verfügung. Kontextinformationen können gerade dann sehr hilfreich sein, wenn die getätigten Äußerungen unvollständig oder bruchstückhaft sind. Ferner können Datenschutzproblemen auftreten, da persönliche Daten weitergegeben werden.
  • Ein weiterer Ansatz besteht darin, auf eine natürliche Spracheingabe zu verzichten und vorzugeben, wie gesprochene Eingaben erfolgen sollen. Derartige Vorgaben können die Syntax und das zu verwendende Vokabular betreffen. Beispielsweise wird bei (eingebetteten) Navigationssystemen oder Infotainmentsystemen vorgeschrieben, nach welcher Reihenfolge Adressdaten geäußert werden. In der Regel werden vollständige Adresseingaben verlangt, welche der Reihenfolge einer bestimmten Adressstruktur folgen (z.B. „Stadt, Straße, Hausnummer“).
  • Ein derart striktes Eingabeschema verlangt die Anpassung des Benutzers an ein bestimmtes Eingabeschema. Insbesondere kann der Erfolg der Spracherkennung ausbleiben, wenn der Benutzer von diesem Schema leicht abweicht (beispielsweise wenn er die Reihenfolge der Adressworte ändert, die Straßennamen abkürzt oder nicht vollständig ausspricht oder Straßenendungen weglässt). Insbesondere muss der Benutzer die vollständige Adresse einer Zieleingabe oder eines Zwischenziels wissen, was insbesondere bei der Eingabe von POIs (Point of Interests) häufig nicht der Fall ist.
  • Kurzer Abriss
  • Der vorliegenden Offenbarung liegt die Aufgabe zugrunde, eine Ressourcenschonende Spracherkennungstechnik bereitzustellen, welche Zieleingaben in Zusammenhang mit natürlichen Spracheingaben auf flexible und effiziente Weise erkennt.
  • Gemäß einem ersten Aspekt der vorliegenden Offenbarung wird ein computer-implementiertes Verfahren zum Verarbeiten von Spracheingaben an einer Mensch-Maschine-Schnittstelle bereitgestellt, wobei die Spracheingaben auf Zieleingaben hinweisen, wobei das Verfahren die folgenden Schritte umfasst: Bereitstellen von wenigstens einer durch eine Spracherkennung ermittelte Hypothese für die Spracheingabe, Extrahieren von Adressbestandteilen aus der wenigstens einen bereitgestellten Hypothese, und Erzeugen eines Adresssatzes für jede Hypothese auf der Grundlage der extrahierten Adressbestandteile derart, dass der erzeugte Adresssatz wenigstens einer gültigen Adresse zuordenbar ist.
  • Bei den Spracheingaben kann es sich um natürliche Spracheingaben (frei gesprochene Äußerungen) handeln. Sie folgen keiner vorgegebenen Syntax oder vorgegebenem Vokabular. Sie können benutzerabhängig sein. Natürliche Spracheingaben können Adressnamen und Trägerwörter umfassen. Trägerwörter können von Adressnamen verschiedene Wörter sein. Sie können Füllwörter repräsentieren, deren sich ein Benutzer bedient, um eine Zieleingabe auszusprechen (zu formulieren).
  • Eine Hypothese kann eine Wortfolge repräsentieren, die ein Spracherkenner mit Hilfe eines Sprachmodells für die getätigte Spracheingabe erzeugt. Die erzeugte Wortfolge kann die Spracheingabe mit einer berechenbaren Erkennungsgenauigkeit wiedergeben. Für jede auf eine Zieleingabe hinweisende Spracheingabe kann ein Satz von Wortfolgen (also Hypothesen) erzeugt werden, wobei jede Hypothese des Satzes die Spracheingabe mit einer (bestimmbaren statistischen) Erkennungsgenauigkeit wiedergibt.
  • Adressbestandteile können elementare Adresswörter umfassen, aus denen Adressnamen beliebiger Adresselemente einer Adressstruktur zusammengesetzt werden können. Namen von Adresselementen können sein: Namen von Ländern, von Bundesländern, von Bundesstaaten, von Regionen, von Provinzen, von Präfekturen, von Bezirken, Städtenamen, Stadteilnamen, Namen von Plätzen, Straßennamen und/oder POI-Namen. Adressbestandteile repräsentieren somit keine Namen von Adresselementen, sondern elementare Worte, aus denen die Namen von Adresselemente zusammengesetzt werden. Eine Adressstruktur kann angeben, aus welchen Adresselementen eine Adresse zusammengesetzt wird. Bei der Adressstruktur kann es sich um eine postalische Adressstruktur handeln.
  • Der erzeugte Adresssatz kann eine (maximale) Kombination von Adressbestandteilen (also elementaren Adresswörtern) umfassen, die einer gültigen Adresse zuordenbar sind oder eine gültige Adresse repräsentieren. Mit gültiger Adresse kann eine real existierende Adresse gemeint sein.
  • Der Schritt des Erzeugens des Adresssatzes erfolgt durch ein Kombinieren von extrahierten Adressbestandteilen auf der Grundlage von den Adressbestandteilen zuordenbaren oder zugeordneten Adress-IDs. Hierbei können all jene extrahierten Adressbestandteile einer Hypothese zu einem Adresssatz kombiniert werden, welche eine gemeinsame Adress-ID aufweisen. Die Kombination der eine gültige Adresse repräsentierenden extrahierten Adressbestandteile kann einer bestimmten Adressstruktur folgen.
  • Die Adressbestandteile können zusammen mit ihren Adress-IDs in einer Adressdatenbank hinterlegt (abgespeichert) sein. Jedem Adressbestandteil kann wenigstens eine Adress-ID zugeordnet sein. Die jedem Adressbestandteil zugeordneten Adress-IDs können auf Adressen hinweisen, welche den Adressbestandteil umfassen. Adressbestandteile und die den Adressbestandteilen zugeordneten Adress-IDs können in Form von relationalen Tabellen abgespeichert sein. Der Schritt des Erzeugens eines Adresssatzes kann ein Abfragen von den extrahierten Adressenbestandteilen zugeordneten Adress-IDs aus der Adressdatenbank umfassen.
  • Die Adress-ID kann als eine Zahl, Zahlenkombination, Buchstabenkombination und/oder Zahlen-Buchstaben-Kombination repräsentierende Bitfolge bereitgestellt werden. ID-Werte der Adress-IDs können gemäß einem Priorisierungsschemas vergeben werden. Entsprechend können Adressbestandteile mit priorisiertem ID-Wert zuerst ausgewertet werden. Hierdurch kann die Performance des Verfahrens verbessert werden.
  • Beim Erzeugen eines Adresssatzes können anfänglich alle aus einer Hypothese extrahierten Adressbestandteile berücksichtigt werden. Es kann zunächst ermittelt werden, ob alle aus der Hypothese extrahierten Adressbestandteile eine gemeinsame Adress-ID aufweisen. Kann für alle extrahierten Adressbestandteile eine gemeinsame Adress-ID identifiziert werden, so kann ein Adresssatz erzeugt werden, welcher alle extrahierten Adressbestandteile der Hypothese enthält.
  • Kann ein alle extrahierten Adressbestandteile umfassender Satz keiner gültigen Adresse zugeordnet werden, so kann der Schritt des Erzeugens eines Adresssatzes auf der Grundlage eines verminderten (reduzierten) Satzes extrahierter Adressbestandteile wiederholt werden. Ein verminderter Satz umfasst lediglich einen Teil der extrahierten Adressbestandteile einer Hypothese.
  • Der Schritt des Erzeugens kann auf der Grundlage eines verminderten Satzes an Adressbestandteilen so lange wiederholt werden, bis eine gültige Adresskombination ermittelt wurde. Der Schritt des Erzeugens kann hierbei auf der Grundlage eines verminderten Satzes wiederholt werden, welcher zu einem vorangehenden Erzeugungsschritt um wenigstens einen Adressbestandteil reduziert wurde. Gemäß einer Variante kann bei jedem Wiederholungsschritt ein Adressbestandteil gestrichen (oder unterdrückt) werden. Gemäß einer anderen Variante kann bei jedem Wiederholungsschritt auch mehr als nur ein Adressbestandteil gestrichen werden. Es versteht sich, dass vorliegende Erzeugungsverfahren spätestens dann zu einem wenigstens einer gültigen Adresse zuordenbarer Adresssatz führt, wenn durch sukzessives Streichen (oder Unterdrücken) von extrahierten Adressbestandteilen lediglich ein Adressbestandteil übrig ist.
  • Das Streichen wenigstens eines Adressbestandteiles aus dem Satz extrahierter Adressbestandteile kann nach vorgegebenen Kriterien erfolgen. Beispielsweise kann ein einem jeden Adressbestandteil zugeordneter oder zuordenbarer Konfidenzwert herangezogen werden. Hierbei kann jeweils der Adressbestandteil mit dem geringsten zugeordneten Konfidenzwert aus dem Satz der verbleibenden Adressbestandteile gestrichen werden. Der Konfidenzwert kann die Erkennungsgenauigkeit der Adressbestandteile im Rahmen der Spracherkennung quantifizieren.
  • Der Schritt des Erzeugens von Adressbestandteilen kann ferner umfassen: Erfassen, ob die extrahierten Adressbestandteile eine Straßenendung aufweisen, und, sofern die Adressbestandteile eine Straßenendung aufweisen, wahlweises Berücksichtigen oder Unterdrücken der Straßenendung beim Erzeugen des Adresssatzes. Straßenendungen können einen Straßentyp in der Adresse näher beschreiben. Geläufige Straßenendungen können wenigstens eine der folgenden Endungen umfassen: „straße“, „strasse“, „weg“, „ring“, „leite“, „gasse“, „platz“, „allee“, „promenade“, „steg“, „steig“, „damm“, „gäßchen“, „chausse“, usw. Es versteht sich, dass die hier beispielhaft genannten Straßenendungen von der verwendeten Sprache abhängen und von den hier aufgezählten Endungen abweichen können.
  • Das Verfahren kann ferner ein Berechnen von Konfidenzwerten für die extrahierten Adressbestandteile umfassen. Das Berechnen der Konfidenzwerte kann hierbei auf der Grundlage wenigstens eines der folgenden Kriterien erfolgen: Akustische Konfidenz des erfassten Adressbestandteils, Überschneidungen des Adressbestandteils mit Trägerwörtern natürlicher Spracheingaben, Länge des Adressbestandteils, Häufigkeit, mit welcher der erfasste Adressbestandteil in den bereitgestellten Hypothesen (in allen bereitgestellten Hypothesen) auftritt, und Art des Adressbestandteils. Die berechneten Konfidenzwerte können eine Wahrscheinlichkeit angeben, mit der eine Spracherkennung einen Wortbestandteil einer Spracheingabe richtig erkannt hat.
  • Der Schritt des Bereitstellens der wenigstens einen Hypothese kann durch Spracherkennung auf der Grundlage wenigstens eines statistischen Sprachmodells erfolgen. Das wenigstens eine statistische Sprachmodell kann Adressbestandteile und Trägerwörter für natürliche Spracheingaben umfassen. Das wenigstens eine statistische Sprachmodell kann festlegen, mit welcher Wahrscheinlichkeit (Häufigkeit) Wortfolgen aus Adressbestandteilen und/oder Trägerwörtern auftreten.
  • Adressbestandteile und Trägerwörter können in wenigstens zwei (zusammenwirkenden) Sprachmodellen modelliert sein. Gemäß einer Variante wird die wenigstens eine Hypothese auf Basis eines ersten statistischen Sprachmodells bereitgestellt, welches Trägerwörter natürlicher Spracheingaben erkennt. Ferner wird die wenigstens eine Hypothese auf Basis wenigstens eines zweiten statistischen Sprachmodells bereitgestellt, welches Adressbestandteile erkennt.
  • Das Verfahren kann ferner ein Erzeugen einer Ergebnisliste auf der Grundlage des für jede Hypothese erzeugten Adresssatzes umfassen. Der Schritt des Erzeugens kann die Unterschritte des Neu-Bewertens einer jeden Hypothese auf der Grundlage des für jede Hypothese erzeugten Adresssatzes, und des Sortierens der neu-bewerteten Hypothesen auf der Grundlage eines beim Neu-Bewerten einer jeden Hypothese zugeordneten Konfidenzwerts umfassen. Der Schritt des Neu-Bewertens kann das Berechnen eines neuen Konfidenzwertes für jede Hypothese umfassen. Das Berechnen der neuen Konfidenzwerte kann hierbei auf der Grundlage vorgegebener Kriterien erfolgen. Beispielsweise kann das Neu-Berechnen des Konfidenzwertes auf der Grundlage von wenigstens einem (für jede Hypothese bereitgestellten) akustischen Konfidenzwert und einem Anteil berechnet werden, welcher auf die im erzeugten Adresssatz verbleibenden Adressbestandteile hinweist.
  • Gemäß einem weitern Aspekt wird ein computer-implementiertes Verfahren zum Verarbeiten eines Adressdatensatzes bereitgestellt, wobei das Verfahren die folgenden Schritte umfasst: Zerlegen einer jeden Adresse des Adressdatensatzes in einzelne Adressbestandteile, Bereitstellen einer eindeutigen Adress-ID für jede Adresse, und Erzeugen einer Adressdatenbank auf der Grundlage der zerlegten Adressbestandteile.
  • Der Adressdatensatz kann die Adressen eines Landes, einer Vereinigung mehrerer Länder, eines Kontinents oder einer anderweitigen geographischen Region oder Verwaltungseinheit (vollständig) umfassen. Zusätzlich oder alternativ hierzu kann der Adressdatensatz POI-Daten umfassen. Der Adressdatensatz kann hierbei die Adressdaten (und/oder POI-Daten) in Form einer vorgegebenen Adressstruktur (z.B. postalische Adressstruktur) umfassen. Die Adressdatenbank kann von einem Kartendatenanbieter bereitgestellt werden.
  • Der Schritt des Erzeugens einer Adressdatenbank auf der Grundlage der zerlegten Adressbestandteile kann ferner die Unterschritte des Zuordnens der bereitgestellten Adress-IDs an die erzeugten Adressbestandteile, und des Speicherns der zerlegten Adressbestandteile zusammen mit den den Adressbestandteilen zugeordneten Adress-IDs in der Adressdatenbank umfassen. Beim Schritt des Zuordnens werden all jene Adress-IDs einem Adressbestandteil zugeordnet, die jeweils eine Adresse repräsentieren, bei denen der Adressbestandteil Bestandteil der Adresse ist.
  • Das Verfahren zum Verarbeiten eines Adressdatensatzes kann in einer von einem Endgerät oder eingebetteten System verschiedenen Rechnereinheit durchgeführt werden. Das Verfahren kann beispielsweise offline an einem Host-PC durchgeführt werden. Die Daten der erzeugten Adressdatenbank können über eine Kommunikationsverbindung jederzeit auf ein Endgerät oder auf ein eingebettetes System übertragen werden.
  • Gemäß einem weiteren Aspekt wird ein computer-implementiertes Verfahren zum Trainieren wenigstens eines statistischen Sprachmodells auf der Grundlage eines Adressdatensatzes bereitgestellt, wobei das Verfahren die folgenden Schritte umfasst: Zerlegen einer jeden Adresse des Adressdatensatzes in einzelne Adressbestandteile, Extrahieren wenigstens einer ersten Teilmenge an Adressbestandteilen aus den zerlegten Adressbestandteilen, und Trainieren des wenigstens einen statistischen Sprachmodels auf der Grundlage der wenigstens einen ersten Teilmenge.
  • Der Adressdatensatz kann die Adressen (und/oder POI-Daten) eines Landes, einer Vereinigung mehrerer Länder, eines Kontinents oder einer anderweitigen geographischen Region in der oben dargelegten Weise (vollständig) umfassen.
  • Der Schritt des Trainierens kann die folgenden Unterschritte umfassen: Erzeugen eines Vokabulars (Wortschatz) auf Basis der in der ersten Teilmenge bereitgestellten Adressbestandteile; und Berechnen von Wahrscheinlichkeiten, mit der bestimmte Folgen von n aufeinanderfolgenden Adressbestandteilen auftreten. Die Variable n kann hierbei eine natürliche Zahl sein. Gemäß einer Variante kann die Berechnung der Wahrscheinlichkeiten auf einzelne Wortbestandteile und/oder auf Wortfolgen mit zwei aufeinanderfolgenden Adressbestandteilen beschränkt werden. In diesem Fall basiert das wenigstens eines Sprachmodel auf Unigrammen und/oder Bigrammen.
  • Das Verfahren zum Trainieren wenigstens eines statistischen Sprachmodells kann ferner die Schritte des Extrahierens wenigstens einer zweiten Teilmenge aus den zerlegten Adressbestandteilen, und des Trainierens wenigstens eines zweiten statistischen Sprachmodels mit Hilfe der extrahierten zweiten Teilmenge umfassen.
  • Die erste Teilmenge kann aus Adressbestandteilen extrahiert sein, welche zur Erzeugung von Adressstrukturen gröberer Einteilung vorgesehen sind. Bei den Adressbestandteilen der ersten Teilmenge kann es sich hierbei um Adressbestandteile handeln, die zum Erzeugen (Zusammensetzen) von Namen größerer Verwaltungseinheiten herangezogen werden. Bei Namen größerer Verwaltungseinheiten kann es sich um Namen von Ländern, von Bundesländern, von Bundesstaaten, von Regionen, von Provinzen, von Präfekturen, von Bezirken, Städtenamen, Stadteilnamen und/oder Namen von Plätzen handeln. Die zweite Teilmenge kann aus Adressbestandteilen extrahiert werden, welche zur Erzeugung von Adressstrukturen feinerer Einteilung vorgesehen sind. Beispielsweise kann es sich hierbei um Adressbestandteile handeln, die zum Erzeugen (Zusammensetzen) von Straßennamen verwendet werden.
  • Der im Verfahren zum Trainieren eines Sprachmodells und im Verfahren zum Verarbeiten eines Adressdatensatzes bereitgestellte Schritt des Zerlegens einer jeden Adresse des Adressdatensatzes in ihre Adressbestandteile kann wenigstens einen der folgenden Schritte umfassen: Aufteilen von zusammengesetzten Adressworten, und Abtrennen von Straßenendungen. Somit repräsentieren Adressbestandteile elementare Adressworte, aus denen Namen von Adresselementen (wie beispielsweise Namen von Ländern, von Bundesländern, von Bundesstaaten, von Regionen, von Provinzen, von Präfekturen, von Bezirken, Städtenamen, Stadteilnamen, Namen von Plätzen, Straßennamen und/oder POI-Namen) zusammengesetzt werden können.
  • Der Schritt des Zerlegens kann ferner ein Zerlegen bereitgestellter phonetischer Informationen über Adressen in phonetische Bestandteile, und ein Zuordnen der zerlegten phonetischen Bestandteile zu den korrespondierenden Adressbestandteilen umfassen. Beim Zuordnen werden alle zu einem Adressbestandteil gehörigen phonetischen Bestandteile dem Adressbestandteil zugeordnet.
  • Gemäß einem weiteren Aspekt wird eine Vorrichtung zur Verarbeitung von Spracheingaben an einer Mensch-Maschine-Schnittstelle bereitgestellt, wobei die Spracheingaben auf Zieleingaben hinweisen. Die Vorrichtung umfasst: Eine Spracherkennungseinrichtung zur Ermittlung wenigstens einer Hypothese für die Spracheneingabe; eine Einrichtung zur Extrahierung von Adressbestandteilen aus der wenigstens einen bereitgestellten Hypothese; und eine Einrichtung zur Erzeugung eines Adresssatzes für jede Hypothese, wobei die Einrichtung dazu ausgelegt ist, einen Adresssatz einer jeden Hypothese auf der Grundlage der extrahierten Adressbestandteile derart zu erzeugen, dass der erzeugte Adresssatz wenigstens einer gültigen Adresse zuordenbar ist.
  • Die Vorrichtung kann ferner eine Einrichtung zur Erzeugung einer Ergebnisliste auf der Grundlage des für jede erzeugte Hypothese erzeugten Adresssatz umfassen. Die Vorrichtung kann ferner wenigstens eine Adressdatenbank umfassen, in welcher Adressbestandteile zusammen mit Adress-IDs hinterlegt sind, wobei die Adress-IDs eines jeden Adressbestandteils auf jene Adressen hinweisen, welche den Adressbestandteil enthalten.
  • Die Vorrichtung kann ferner wenigstens ein statistisches Sprachmodell zum Erkennen der Spracheingaben umfassen. Das wenigstens eine statistische Sprachmodell kann ein erstes statistisches Sprachmodell zum Erkennen von Trägerwörtern einer natürlichen Spracheingabe umfassen. Das wenigstens eine statistische Sprachmodell kann ein zweites statistisches Sprachmodell zum Erkennen von Adressbestandteilen umfassen. Das zweite statistische Sprachmodell kann ferner in Form mehrerer zusammenwirkender statistischer Sprachmodelle realisiert sein.
  • Gemäß einem weiteren Aspekt wird eine Vorrichtung zur Verarbeitung eines Adressdatensatzes bereitgestellt, wobei die Vorrichtung umfasst: eine Einrichtung zur Zerlegung einer jeden Adresse des Adressdatensatzes in einzelne Adressbestandteile; eine Einrichtung zur Bereitstellung einer eindeutigen Adress-ID für jede Adresse; und eine Einrichtung zur Erzeugung einer Adressdatenbank auf der Grundlage der zerlegten Adressbestandteile.
  • Gemäß einem weiteren Aspekt wird eine Vorrichtung zum Trainieren wenigstens eines statistischen Sprachmodells auf der Grundlage eines Adressdatensatzes bereitgestellt, wobei die Vorrichtung umfasst: eine Einrichtung zur Zerlegung einer jeden Adresse des Adressdatensatzes in einzelne Adressbestandteile; eine Einrichtung zur Extrahierung wenigstens einer ersten Teilmenge an Adressbestandteilen aus den zerlegten Adressbestandteilen; und eine Einrichtung zum Trainieren des wenigstens einen statistischen Sprachmodels auf der Grundlage der wenigstens einen ersten Teilmenge.
  • Gemäß einem weiteren Aspekt wird ein Computerprogrammprodukt mit Programmcode zum Durchführen des Verfahrens bereitgestellt, wenn das Computerprogrammprodukt auf einer Computereinrichtung (z.B. einem Infotainmentsystem) ausgeführt wird. Das Computerprogrammprodukt kann hierfür auf einem computerlesbaren Aufzeichnungsmedium (z.B. einer Speicherkarte oder einem Festspeicher) abgespeichert sein.
  • Gemäß einem weiteren Aspekt wird eine Mensch-Maschine-Schnittstelle bereitgestellt, welche die oben beschriebene Vorrichtung umfasst.
  • Figurenliste
  • Weitere Aspekte, Vorteile und Einzelheiten der vorliegenden Offenbarung ergeben sich aus der nachfolgenden Beschreibung der Ausführungsbeispiele in Zusammenhang mit den Figuren. Es zeigen:
    • 1 ein Blockdiagramm einer Vorrichtung zur Verarbeitung von auf Zieleingaben hinweisenden Spracheingaben an einer Mensch-Maschine-Schnittstelle;
    • 2 ein Ablaufdiagramm eines Verfahrens zum Verarbeiten von auf Zieleingaben hinweisende Spracheingaben;
    • 3 ein weiteres Ablaufdiagramm zum Verarbeiten von auf Zieleingaben hinweisende Spracheingaben gemäß dem Verfahren in 2;
    • 4 ein weiteres Ablaufdiagramm zum Verarbeiten von auf Zieleingaben hinweisende Spracheingaben gemäß dem Verfahren in 2;
    • 5 ein Blockdiagramm einer Vorrichtung zur Verarbeitung eines Adressdatensatzes;
    • 6 ein Ablaufdiagramm eines Verfahrens zum Verarbeiten eines Adressdatensatzes;
    • 7 eine Verarbeitung konkreter Adressdaten mit Hilfe des in 6 dargestellten Verfahrens;
    • 8 ein Blockdiagramm einer Vorrichtung zum Trainieren wenigstens eines statistischen Sprachmodells;
    • 9 ein Ablaufdiagramm eines Verfahrens zum Trainieren wenigstens eines statistischen Sprachmodells;
    • 10 ein Trainieren eines statistischen Sprachmodells, welches Adressdaten umfasst.
    • 11 ein Trainieren eines weiteren statistischen Sprachmodells, welches Adressdaten umfasst.
    • 12 ein Trainieren eines statistischen Sprachmodells, welches Trägerwörter einer natürlichen Spracheingabe umfasst.
    • 13 eine Darstellung zur Erzeugung phonetischer Daten für ein statistisches Sprachmodell.
  • Detaillierte Beschreibung
  • Die vorliegende Offenbarung wird unter Zuhilfenahme schematischer Blockdiagramme erläutert. Die diesen Diagrammen zugrundeliegende technische Lehre kann sowohl in Hardware als auch in Software oder in einer Kombination aus Hardware und Software implementiert werden. Zu solchen Implementierungen zählen auch digitale Signalprozessoren (DSP), anwendungsspezifische integrierte Schaltkreise (ASIC) und andere Schalt- oder Rechenkomponenten.
  • 1 zeigt eine Vorrichtung 1000 zur Verarbeitung von auf Zieleingaben hinweisenden Spracheingaben (also gesprochenen Äußerungen) an einer Mensch-Maschine-Schnittstelle. Die Vorrichtung 1000 umfasst eine Eingabe-/Ausgabeschnittstelle (I/O) 1010, wenigstens ein Sprachmodell 1022, eine Kernfunktionalität 1030, eine Spracherkennungseinrichtung 1020, eine Extrahiereinrichtung 1040, eine erste Erzeugungseinrichtung 1050, eine zweite Erzeugungseinrichtung 1060 sowie eine Adressdatenbank (Adress-DB) 1070. Die Eingabe-/Ausgabeschnittstelle (I/O) 1010, das wenigstens eine Sprachmodell 1022, die Kernfunktionalität 1030, die Einrichtungen 1020, 1040, 1050, 1060 sowie die Adressdatenbank (Adress-DB) 1070 stehen miteinander in kommunikativer Verbindung, um Informationen auszutauschen.
  • Die Kernfunktionalität 1030 ist in Form einer (zentralen) Prozessoreinheit (CPU) oder eines Software-Moduls (SW-Modul) realisiert. Sie ist dazu ausgebildet, einen Austausch von Informationen zwischen den Einrichtungen zu steuern. In der in 1 gezeigten Vorrichtung 1000 umfasst die Kernfunktionalität 1030 die Einrichtungen 1020, 1040, 1050, 1060. Die Einrichtungen 1020, 1040, 1050, 1060 sind als Sub-Module der Kernfunktionalität 1030 realisiert. Dies wird durch die gestrichelte Linie in 1 schematisch angedeutet. Gemäß einer alternativen Ausgestaltung können die Einrichtungen 1020, 1040, 1050, 1060 auch als eigenständige Module ausgebildet sein, die untereinander und/oder mit der Kernfunktionalität 1030 in kommunikativer Verbindung stehen.
  • Die Eingabe-/Ausgabeschnittstelle (I/O) 1010, Spracherkennungseinrichtung 1020, das wenigstens eine Sprachmodell 1022, die Kernfunktionalität 1030 und die Adressdatenbank 1070 stehen miteinander in kommunizierender Verbindung (durch Pfeile in 1 angedeutet), um zu verarbeitende und/oder verarbeitete Daten miteinander auszutauschen.
  • Die Vorrichtung 1000 kann Teil eines in einem Kraftfahrzeug verbauten Infotainmentsystems (welches eine Navigationsfunktion aufweist) oder eines Navigationssystems sein. Die Vorrichtung 1000 kann auch Teil eines portablen Navigationsgeräts (PND), eines Routenplaners, eines Smartphones, eines Personal Digital Assistent (oder PDA), eines Personal Computers (PC), eines Notebooks oder eines anderen portablen oder in einer Maschine eingebetteten elektronischen Gerätes sein.
  • Die Eingabe-/Ausgabeschnittstelle 1010 steht mit der Spracherkennungsreinrichtung 1020 kommunikativ in Verbindung. Sie ist dazu ausgebildet, auf Zieleingaben hinweisende gesprochene Äußerungen zu detektieren. Die detektierten Äußerungen werden dann in entsprechende Sprachsignale umgewandelt. Die Schnittstelle 1010 ist ferner dazu ausgebildet, das erzeugte Sprachsignal der Spracherkennungseinrichtung 1020 bereitzustellen. Die Eingabe-/Ausgabeschnittstelle 1010 kann hierfür wenigstens ein Mikrophon oder ein sonstiges Sprachaufnahmegerät umfassen.
  • Gemäß einer Implementierung kann die Eingabe-/Ausgabeschnittstelle 1010 ferner eine Kamera umfassen, welche dazu ausgebildet ist, Lippenbewegungen von gesprochenen Äußerungen zu detektieren. Detektierte Lippenbewegungen können als zusätzliches Eingabesignal der Spracherkennungseinrichtung 1020 bereitgestellt werden.
  • Die Ein- und Ausgabeschnittstelle 1010 ist ferner dazu ausgebildet, von der Vorrichtung 1010 bereitgestellte Informationen auszugeben. Die Ausgabe an der Schnittstelle 1010 kann akustisch, optisch und/oder haptisch erfolgen. Entsprechend kann die Schnittstelle 1010 wenigstens einen (berührungsempfindlichen) Bildschirm, Lautsprecher und/oder ein haptisches Ausgabegerät umfassen. Die ausgegebenen Informationen können Hypothesen umfassen, welche die Vorrichtung 1000 für jede Spracheingabe erzeugt. Die ausgegebenen Informationen können aber auch Rückfragen oder Anweisungen umfassen, die die Vorrichtung 1000 im Rahmen einer Interaktion mit einem Benutzer erzeugt. Zur Erzeugung von Rückfragen oder Anweisungen kann die Vorrichtung 1000 ein Sprachdialogsystem umfassen (in 1 nicht dargestellt), welches dazu ausgebildet ist, Rückfragen oder Anweisungen auf Basis eines Sprachmodels zu synthetisieren.
  • Das wenigstens eine Sprachmodell 1022 (durch gestrichelte Linie in 1 angedeutet) ist als statistisches Sprachmodell (SLM) ausgebildet. Das wenigstens eine Sprachmodell 1022 umfasst wenigstens ein Wörterbuch. Das Wörterbuch umfasst ein Vokabular (also eine Gesamtheit an Wörtern), welches das Sprachmodell zur Spracherkennung zur Verfügung stellt. Das Vokabular ist im Wörterbuch in seiner Phonetik und Orthographie hinterlegt. Das wenigstens eine Sprachmodell 1022 umfasst ferner Statistiken, welche angeben, mit welcher Wahrscheinlichkeit ein oder mehrere Wörter in einer bestimmten Reihenfolge auftreten. In anderen Worten beschreibt das wenigstens eine Sprachmodell 1022, mit welcher Häufigkeit Wörter des Vokabulars als Kombination von Wörtern in einer bestimmten Reihenfolge auftreten. Das statistische Sprachmodell 1022 kann hierbei N-Gramme umfassen. Ein N-Gramm gibt für jede aus N aufeinanderfolgenden Wörtern bestehende Wortfolge eine Wahrscheinlichkeit an, mit der diese Wortfolge in einer Äußerung erwartet werden kann. Gemäß einer Implementierung umfasst das statistische Sprachmodel 1022 Uni- und/oder Bigramme, welche die Wahrscheinlichkeit für das Auftreten einzelner Worte und/oder von aus zwei Wörtern bestehenden Wortkombinationen wiedergeben. Es versteht sich, dass das wenigstens eine statistische Sprachmodell 1022 nicht auf Uni-und/oder Bigrammen beschränkt sein muss. Vielmehr kann das statistische Sprachmodell 1022 auch eine Trigrammstatistik oder Statistiken für N-Gramme höherer Ordnung (also N > 3) umfassen. Wörterbuch und N-Gramme werden auf Basis von Trainingsdaten gewonnnen. Das Trainieren des wenigstens einen statistischen Sprachmodells 1022 wird mit Hilfe der 8-12 weiter unten im Detail beschrieben.
  • Wie in 1 verdeutlicht, umfasst das wenigstens eine statistische Sprachmodel 1022 drei statistische Sprachmodelle 1022a, 1022b, 1022c. Wie im Folgenden näher beschrieben wird, umfassen die drei statistischen Sprachmodelle 1022a, 1022b, 1022c jeweils ein bestimmtes Vokabular. Ferner umfassen die drei statistische Sprachmodelle 1022a, 1022b, 1022c N-Gramm-Statistiken (Uni- und/oder Bigramme und/oder N-Gramme höherer Ordnung), welche angeben, mit welcher Wahrscheinlichkeit bestimmte Wortkombinationen zu erwarten sind.
  • Das erste statistische Sprachmodell 1022a wird im Folgenden als natürliches Spracheingabe-Sprachmodell bezeichnet. Es wird in 1 mit der Bezeichnung „NLU-SLM“ abgekürzt. Es umfasst ein Vokabular, welches ein Benutzer im Kontext einer natürlichen Spracheingabe zur Einbettung von Zieleingabeinformationen gewöhnlich verwendet. Das statistische Sprachmodell 1022a umfasst jedoch keine konkreten Zieleingabeinformationen (also Adressinformationen). Vielmehr umfasst das Sprachmodell 1022a Platzhalter, sogenannte Slots, für Zieleingabeinformationen (diese sind in 1 durch die Bezeichnungen „<Strasse>“ und „<Stadt>“ angedeutet). Beispielsweise kann das Sprachmodell 1022a Platzhalter für Stadtnamen, Stadteilnamen, Straßennamen, Hausnummern und/oder POIs bereitstellen. Das erste statistische Sprachmodell 1022a umfasst somit lediglich benutzerspezifische Trägerwörter, die ein Benutzer im Rahmen einer natürlichen Spracheingabe benutzt, um eine Adresse mitzuteilen.
  • Das erste statistische Sprachmodell 1022a kann als eigenständiges Sprachmodell ausgebildet sein. Alternativ kann es Teil eines für ein Gerät bereitgestelltes globalen statistischen Sprachmodells sein. Insbesondere ist das erste statistische Sprachmodell 1022a trainierbar. Das Trainieren des Sprachmodells 1022a wird in Zusammenhang mit 12 näher beschrieben.
  • Das zweite statistische Sprachmodell 1022b wird als Stadt-Sprachmodell (in 1 als Stadt-SLM) bezeichnet. Es umfasst Adressbestandteile, die zum Erkennen von Namen größerer Verwaltungseinheiten vorgesehen sind. Bei den Namen derartiger Verwaltungseinheiten kann es sich um Namen von Bundesländern, Bundesstaaten, Regionen, Provinzen, Präfekturen, Städtenamen, Stadteilnamen und/oder Namen von Plätzen handeln. Ferner umfasst es N-Gramme (beispielsweise Unigramme, Bigramme und/oder N-Gramme höherer Ordnung), welche angeben, mit welcher Wahrscheinlichkeit einzelne Adressbestandteile oder Adressbestandteilfolgen auftreten. Mit Adressbestandteile sind in diesem Zusammenhang elementare Adresswörter gemeint, mit deren Hilfe die Namen der oben genannten Verwaltungseinheiten erzeugt oder zusammensetzbar sind. Die konkrete Beschaffenheit der im Sprachmodell 1022b hinterlegten Adressbestandteile wird in Zusammenhang mit einem Trainieren des Sprachmodells 1022b in 10 näher erläutert. Ferner wird der Einfachheit halber im Folgenden der Begriff „Stadtnamen“ synonym für jegliche Namen der oben genannten Verwaltungseinheiten verwendet.
  • Das dritte statische Sprachmodell 1022c wird als Straßen-Sprachmodell (in 1 als Strassen-SLM) bezeichnet. Es umfasst Adressbestandteile, die zum Erkennen von Straßennamen herangezogen werden. Ferner umfasst es N-Gramme (beispielsweise Unigramme, Bigramme und/oder N-Gramme höherer Ordnung), welche Wahrscheinlichkeiten angeben, mit der einzelne Adressbestandteile oder Adressbestandteilfolgen in gesprochenen Äußerungen aufzufinden sind. Adressbestandteile bezeichnen in diesem Zusammenhang wiederum elementare Wörter, aus denen Straßennamen oder Namen von POIs zusammensetzbar sind. Ferner kann das Straßen-Sprachmodell 1022c Informationen zum Erkennen von Hausnummern umfassen. Optional kann das Straßen-Sprachmodell Informationen zum Erkennen von POIs (Points of Interest) umfassen. Die konkrete Beschaffenheit der im Straßen-Sprachmodells 1022c hinterlegten Adressbestandteile wird in Zusammenhang mit einem Trainieren dieses Sprachmodells in 11 näher erläutert.
  • Die Adressdatenbank 1070 umfasst alle für wenigstens eine geographische oder politische Einheit (z.B. eine Region, ein Land, mehrere Länder, Kontinent) bereitgestellten Adressdaten. Mit anderen Worten umfasst die Adressdatenbank eine von einem Kardendatenprovider bereitgestellten Adressdaten. Optional kann die Adressdatenbank auch POI-Daten umfassen.
  • Die Adressdatenbank 1070 kann einen vollständigen Satz von Adressdaten (und/oder POI-Daten) eines Landes, einer Vereinigung mehrerer Länder, eines Kontinents oder einer anderweitigen geographischen Region umfassen. Die Adressdaten und/oder POI-Daten sind in der Adressdatenbank in Form von Adressbestandteilen hinterlegt. Wie bereits oben erwähnt umfassen Adressbestandteile elementare Adresswörter, aus denen jeder beliebige Straßenname, Stadtname, usw. erzeugt werden kann. Adressbestandteile bilden somit einen erzeugenden Satz für Adressen. In der Adressdatenbank 1070 ist jeder Adressbestandteil zusammen mit wenigstens einer Adress-Kennung (Adress-ID) hinterlegt. Die wenigstens eine Adress-ID weißt dabei auf all jene Adressen hin, welche den Adressbestandteil umfassen. Aufbau und Organisation der Adressdatenbank 1070 wird weiter unten im Zusammenhang mit 7 näher beschrieben.
  • Die Spracherkennungseinrichtung 1020 ist dazu ausgebildet, für jede, auf eine Zieleingabe hinweisende, getätigte Spracheingabe wenigstens eine Hypothese zu erzeugen. Gemäß einer Variante erzeugt die Spracherkennungseinrichtung 1020 eine n-Besten-Liste von Hypothesen. Die Spracherkennungseinrichtung bedient sich hierbei des oben beschriebenen Sprachmodells 1022. Die Spracherkennungseinrichtung 1020 kann als eigenständige Einheit oder als Teil einer übergeordneten globalen Spracherkennungseinrichtung eines Gerätes (z.B. Infotainmentsystems) realisiert sein.
  • Im Folgenden wird die Funktionsweise der Spracherkennungseinrichtung 1020 beschrieben. Die Spracherkennungseinrichtung 1020 ist dazu ausgebildet, von der Eingabe-/Ausgabeschnittstelle 1010 empfangene Sprachsignale vorzuprozessieren. Das Vorprozessieren des Sprachsignals kann ein Digitalisieren, Filtern, und/oder Fouriertransformieren umfassen. Die Spracherkennungseinrichtung 1020 ist ferner dazu ausgebildet, mit Hilfe eines akustischen Modells die dem Sprachsignal entsprechenden Phoneme abzuleiten. Als akustisches Sprachmodell können Hidden-Markov-Modelle (HMM) oder neuronale Netze zum Einsatz kommen. Gemäß einer Implementierung kann die Spracherkennungseinrichtung 1020 auch dazu ausgelegt sein, empfangene Lippenbewegung zu verarbeiten, um Phoneme abzuleiten. Die Berücksichtigung von Lippenbewegung ist dann besonders hilfreich, wenn die getätigten Äußerungen durch Hintergrundgeräusche gestört werden.
  • Die Spracherkennungseinrichtung 1020 ist ferner dazu ausgebildet, mit Hilfe des Wörterbuchs (und auf Basis der abgeleiteten Phoneme) Wörter für die Spracheingabe zu finden. Die Spracherkennungseinrichtung 1020 ermittelt dann mit Hilfe des wenigstens einen Sprachmodells 1022, mit welcher Wahrscheinlichkeiten die aufgefundenen Wörter (und/oder Wortkombinationen) auftreten. Basierend darauf erzeugt die Spracherkennungseinrichtung 1020 einen Satz an Wortfolgen (Hypothesen), wobei jede Wortfolge die Spracheingabe mit einer bestimmten Erkennungsgenauigkeit (Treffergenauigkeit) wiedergibt. Als quantitatives Maß für die erreichte Erkennungsgenauigkeit kann die Spracherkennungseinrichtung 1020 für jede Hypothese einen Konfidenzwert (Score) berechnen. Die Spracherkennungseinrichtung 1020 kann den berechneten Konfidenzwert zusammen mit den Hypothesen zur weiteren Verarbeitung bereitstellen.
  • Die Einrichtungen 1040, 1050, 1060 sind dazu ausgebildet, den von der Spracherkennungseinrichtung 1020 bereitgestellten Satz von Hypothesen weiterzuverarbeiten. Konkret ist die Extrahiereinrichtung 1040 dazu ausgebildet, Adressbestandteile aus der wenigstens einen bereitgestellten Hypothese zu extrahieren. Die erste Erzeugungseinrichtung 1050 ist dazu ausgebildet, aus den extrahierten Adressbestandteilen einer jeden Hypothese einen Adresssatz zu erzeugen, welcher wenigstens einer gültigen (d.h. real existierenden) Adresse zuordenbar ist. Der für jede bereitgestellte Hypothese erzeugte Adresssatz repräsentiert eine Kombination von Adressbestandteilen, die eine gültige Adresse vollständig oder zumindest in Teilen repräsentieren. Die zweite Erzeugungseinrichtung 1060 ist dazu ausgebildet, auf Basis der erzeugten Adresssätze eine Ergebnisliste zu erzeugen, welche die Hypothesen und/oder Adressätze mit der höchsten Erkennungsgenauigkeit wiedergeben. Die Funktionsweise der Einrichtungen 1040, 1050, 1060 wird in Zusammenhang mit 2 näher beschrieben.
  • Im Folgenden wird unter Bezugnahme auf das in 2 dargestellte Flussdiagram ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens zum Verarbeiten von auf Zieleingaben hinweisenden natürlichen Spracheingaben beschrieben. Das Verfahren wird anhand der in 1 dargestellten Vorrichtung 1000 erläutert, kann aber auch von anderweitig konfigurierten Geräten durchgeführt werden.
  • In einem ersten Schritt 202 stellt die Spracherkennungseinrichtung 1020 wenigsten eine mit Hilfe des Sprachmodells 1022 ermittelte Hypothese für eine detektierte Spracheingabe bereit. Die Spracherkennungseinrichtung 1020 aktiviert das natürliche Spracheingabe-Sprachmodell 1022a, das Stadt-Sprachmodell 1022b, und das Straßen-Sprachmodell 1022c. Die im natürlichen Spracheingabe-Sprachmodell 1022a vorgesehenen Slots werden mit den Adressbestandteilen der Sprachenmodelle 1022b, 1022c (sukzessive) gefüllt. Die Spracherkennungseinrichtung 1020 aktiviert das bereitgestellte Sprachmodell 1022 nur dann, wenn die Erkennungseinrichtung 1020 auf Zieleingaben hinweisende Spracheingaben detektiert. Ob auf Zieleingaben hinweisende Spracheingaben auch tatsächlich vorliegen, kann die Spracherkennungseinrichtung 1020 beispielsweise mit Hilfe eines Grammatik-basierten Modells erkennen. Andere Modelle, wie beispielsweise statistische Modelle, können hierfür ebenso herangezogen werden.
  • Die Spracherkennungseinrichtung 1020 erkennt auf Basis erfasster Phoneme und dem im Sprachmodell 1022 bereitgestellten Vokabular Worte. Die Einrichtung 1020 erzeugt mit Hilfe der in den Sprachmodellen 1022 hinterlegten Statistiken eine n-Besten-Liste von Hypothesen, welche die natürliche Spracheingabe am besten wiedergeben. Der Erkennungsschritt 202 endet somit mit dem Bereitstellen einer n-Besten-Liste von erzeugten Hypothesen.
  • In einem zweiten Schritt 204 werden mit Hilfe der Extrahiereinrichtung 1040 für jede Hypothese der n-Besten-Liste die in der Hypothese enthaltenen Adressbestandteile extrahiert. Zum Extrahieren der Adressbestandteile kann sich die Extrahiereinrichtung 1040 der Sprachmodelle 1022 bedienen. Die extrahierten Adressbestandteile werden dann den Erzeugungseinrichtungen 1050, 1060 zur weitern Verarbeitung zugeführt.
  • In einem dritten Schritt 206 werden die aus jeder Hypothese extrahierten Adressbestandteile validiert. Mittels der ersten Erzeugungseinrichtung 1050 wird für jede Hypothese auf der Grundlage der aus der Hypothese extrahierten Adressbestandteile ein Adresssatz erzeugt, der einer gültigen Adresse zuordenbar ist. Gemäß einer Implementierung werden all jene extrahierten Adressbestandteile einer Hypothese zu einem Adresssatz kombiniert, welche eine gemeinsame Adress-ID aufweisen. Ob extrahierte Adressbestandteile eine gemeinsame Adress-ID aufweisen, wird über eine Abfrage der Adressdatenbank 1070 ermittelt. Konkret werden die zu jedem Adressbestandteil in der Adressdatenbank 1070 hinterlegten IDs abgefragt. Durch Vergleichen der den extrahierten Adressbestandteilen zugeordneten IDs kann festgestellt werden, inwiefern eine Kombination von Adressbestandteilen eine gültige Adresse repräsentiert. Denn all jene Adressbestandteile, die eine gemeinsame ID aufweisen, repräsentieren eine gültige Adresse. Sie werden zu einem Adresssatz kombiniert. Der erzeugte Adresssatz kann eine Adresse einer Zieleingabe vollständig wiedergeben. Er kann aber auch nur einen Teil einer gültigen Adresse wiedergeben. Im Grenzfall kann der Adresssatz lediglich einen Adressbestandteil umfassen. Wie gut letztendlich der erzeugte Adresssatz eine gültige Adresse repräsentiert, hängt von der Erkennungsgenauigkeit der Spracheingabe ab.
  • Auf Basis der erzeugten Adresssätze wird in einem vierten Schritt 208 mittels der zweiten Erzeugungseinrichtung 1060 eine Ergebnisliste erzeugt.
  • Der Schritt des Erzeugens einer Ergebnisliste umfasst ein Neu-Bewerten der Hypothesen mittels der zweiten Erzeugungseinrichtung 1060. Beim Neu-Bewerten wird auf der Grundlage des extrahierten Adresssatzes ein Konfidenzwert (Score) für jede Hypothese erzeugt und der Hypothese zugeordnet. Repräsentiert der Adresssatz eine vollständige Adresse, so ist die Wahrscheinlichkeit, dass die geäußerte Adresse richtig erkannt wurde höher, als bei einem Adresssatz, der nur einen Teil einer gültigen Adresse wiedergibt. Dementsprechend wird einem Adresssatz, welcher eine gültige Adresse wiedergibt ein höherer Konfidenzwert zugeordnet, als einem Adresssatz, der nur einen Teil einer gültigen Adresse wiedergibt. Ein Verfahren zum Berechnen des Konfidenzwertes wird in Zusammenhang mit 4 beschrieben.
  • Der Schritt 208 des Erzeugens einer Ergebnisliste umfasst ferner ein Sortieren einer jeden neu-bewerteten Hypothese. Beim Sortieren werden die Hypothesen mit den höchsten Konfidenzwerten ausgewählt. Die ausgewählten Hypothesen können dann in einer vorgegebenen Reihenfolge in einer Ergebnisliste angezeigt werden. Hypothesen mit geringen Konfidenzwerten können hierbei verworfen werden. Beim Auswählen der Hypothesen kann ein Schwellenwert verwendet werden. Hypothesen mit einem den Schwellenwert übersteigenden Konfidenzwert werden in der Ergebnisliste hinterlegt. Hypothesen mit einem Konfidenzwert kleiner als der Schwellenwert werden verworfen. Die ausgewählten Hypothesen werden dann in der Ergebnisliste in mit abnehmender Höhe der neu-berechneten Konfidenzwerte gespeichert.
  • Zusätzlich oder alternativ zum Verwenden eines Schwellenwertes kann die zweite Erzeugungseinrichtung 1060 Kontextinformationen zum Sortieren von Hypothesen und/oder zum Vervollständigen der in den Hypothesen bereitgestellten Adressdaten heranziehen. Kontextinformationen können Informationen sein, die ein Navigationssystem, ein Infotainmentsystem oder ein anderweitiges Gerät, in welchem die Vorrichtung 1000 implementiert ist, bereithält. Derartige Informationen können Kontaktdaten, die gegenwärtige geographische Position des Geräts oder Systems, und/oder Informationen über früher angesteuerte Ziele umfassen. Wenigstens eine Kontextinformation kann herangezogen werden, um zusammen mit den bereitgestellten Hypothesen die wahrscheinlichste Adresse zu ermitteln. Zusätzlich oder alternativ hierzu kann die Kontextinformation zum Vervollständigen eines Adresssatzes (Adresse) herangezogen werden.
  • Die erzeugte Ergebnisliste kann dann via I/O Schnittstelle 1020 einem Nutzer für weitere Entscheidungsoperationen (z.B. Auswahloperationen) bereitgestellt werden. Die Ergebnisliste kann aber auch zur weiteren computerbasierten Verarbeitung bereitgestellt werden.
  • Mit Bezug auf 3 wird der Schritt des Validierens der in den Hypothesen wiedergegebenen Adressbestandteile näher beschreiben. Das in 3 gezeigte Flussdiagramm stellt ein Verfahren zum Erzeugen eines gültigen Adresssatzes für jede Hypothese dar. Das Verfahren kann mittels der ersten Erzeugungseinrichtung 1050 durchgeführt werden.
  • Voraussetzung für die Adress-Validierung ist die Bereitstellung von Hypothesen, aus denen Adressbestandteile extrahierbar sind (Schritt 300).
  • In einem darauffolgenden Schritt 305 wird ein Wert für eine Erkennungsgenauigkeit (Score) für jeden Adressbestandteil einer jeden Hypothese berechnet und diesem zugeordnet. Das Berechnen des Scores für jeden Adressbestandteil einer jeder Hypothese kann hierbei nach bestimmten Kriterien erfolgen. Ausgangspunkt beim Berechnen des Scores kann ein akustischer Konfidenzwert für den erkannten Adressbestandteil sein. Dieser kann durch die Erkennungseinrichtung 1020 bereitgestellt werden. Der akustische Konfidenzwert wird dann in Abhängigkeit der Wortlänge, der Wortart und/oder der Häufigkeit des Adressbestandteils in den Hypothesen erhöht oder erniedrigt.
  • Beispielsweise kann der akustische Konfidenzwert pro Buchstabe des Adressbestandteils um einen bestimmten (prozentualen) Wert erhöht werden. Somit werden lange Adressbestandteile gegenüber kürzeren Adressbestandteilen bevorzugt, da sie in der Regel mit höherer Wahrscheinlichkeit richtig erkannt werden. Die Erhöhung oder Erniedrigung des akustischen Konfidenzwerts in Abhängigkeit der Wortart kann davon abhängen, ob es sich beim Adressbestandteil um einen Straßennamen, einen Stadtnamen oder ein Wort handelt, das Überschneidungen mit den im natürlichen Spracheingabe-Sprachmodell 1022a hinterlegten Trägerwörtern aufweist. Bei Überschneidungen mit den im natürlichen Spracheingabe-Sprachmodell 1022a hinterlegten Trägerwörtern kann eine (gegebenenfalls) starke Erniedrigung des anfänglichen Scores erfolgen. Oder repräsentiert der Adressbestandteil eine Straßenendung, wie beispielsweise „straße“, „alle“, „weg“, so kann diesem ein sehr niedriger oder kein score zugeordnet werden. Ferner kann das Erhöhen oder Erniedrigen des Ausgangswertes von der Häufigkeit des Adressbestandteils in den Hypothesen abhängen. Tritt beispielsweise ein Adressbestandteil in den Hypothesen häufig auf, so kann der anfängliche Score um einen die Häufigkeit beschreibenden Prozentsatz erniedrigt werden.
  • Nachdem der Score für die Adressbestandteile berechnet worden ist, wird in einem Schritt 310 zunächst festgestellt, ob unverarbeitete Hypothesen vorhanden sind. Liegen unverarbeitete Hypothesen vor (das heißt, sind noch nicht alle Adressbestandteile der bereitgestellten Hypothesen validiert), beginnt das Validieren mit einer ersten Hypothese der bereitgestellten n-Besten-Liste. Mit welcher der in der n-Besten-Liste bereitgestellten Hypothesen begonnen wird, ist für die vorliegende Erfindung nicht entscheidend. Wie im Folgenden noch beschrieben wird, wird die Validierung der bereitgestellten Hypothesen sequentiell abgearbeitet, bis alle Hypothesen prozessiert sind. Anstelle einer sequentiellen Validierung kann auch eine parallele Validierung der Hypothesen erfolgen. Die Validierung endet, nachdem die letzte Hypothese aus der n-Besten-Liste prozessiert ist (Nein-Zweig in 3).
  • Ist eine unverarbeitete Hypothese ausgewählt worden, wird in einem Schritt 320 bestimmt, ob die aus der Hypothese extrahierten Adressbestandteile eine gültige Adresskombination bilden. Dies erfolgt über eine Adressdatenbankabfrage, welche alle die Adressen eines Landes, einer Vereinigung mehrerer Länder, eines Kontinents oder einer anderweitigen geographischen Region vollständig beschreibenden Adressbestandteile umfasst und mit jenen Adress-IDs verknüpft ist, die auf die Bestandteile umfassende Adressen hinweisen. Bei der Abfrage werden zunächst alle aus der Hypothese extrahierten oder extrahierbaren Adressbestandteile berücksichtigt. Ferner können bei der Abfrage die größten Adress-IDs zuerst ausgewertet werden. Die Adressdatenbank 1070 kann beispielweise derart strukturiert sein, dass den seltensten Adressbestandteilen tendenziell die größten IDs zugeordnet sind. Auf diese Weise kann die Treffermenge stark eingeschränkt werden, wodurch die Performance des Verfahrens verbessert wird. Wird in Schritt 320 festgestellt, dass allen extrahierten Adressbestandteile eine ID gemeinsam ist (Ja-Zweig), so werden die extrahierten Adressbestandteilen zu einem Adresssatz kombiniert. Der erzeugte Adresssatz kann dann zur weitern Verarbeitung in einem Speicher abgespeichert oder zwischengespeichert werden (Schritt 330).
  • Kann bei der Adressdatenbankabfrage für den anfänglichen, alle Adressbestandteile umfassenden Satz keine gemeinsame ID ermittelt werden, so wird festgestellt, dass die Kombination aller extrahierten Adressbestandteile keine gültige Adresse repräsentiert (Nein-Zweig). Das Verfahren zum Erzeugen eines eine gültige Adresse repräsentierenden Adresssatzes wird dann in den Schritten 322, 323, 324 fortgesetzt.
  • In Schritt 322 wird zunächst bestimmt, ob der anfängliche Satz extrahierter Adressbestandteile eine Straßenendung umfasst. Wird festgestellt, dass ein eine Straßenendung repräsentierender Adressbestandteil vorhanden ist (Ja Zweig), so wir dieser Adressbestandteil entfernt (Schritt 223). Die Adressdatenbankabfrage (Schritt 320) wird auf Basis des reduzierten Satzes an Adressbestandteilen wiederholt.
  • Wird in Schritt 322 hingegen festgestellt, dass keine Straßenendung im anfänglichen Satz aller extrahierten Adressbestandteile vorhanden ist, so wird in Schritt 324 jener Adressbestandteil entfernt, welchem der geringste Score zugewiesen wurde. Der so reduzierte Satz an Adressbestandteilen wird erneut durch Adressdatenbankabfrage dahingehend geprüft, ob er einer gültigen Adresse zuordenbar ist. Wird festgestellt, dass der reduzierte Satz einer gültigen Adresse zuordenbar ist, so wird dieser Satz wiederum an die Einrichtungen 1060, 1070 übergeben oder für eine spätere Weiterverarbeitung zwischengespeichert.
  • Wird ferner im Schritt 324 festgestellt, dass im Satz der extrahierten Adressbestandteile bereits eine erfolglose Adressdatenbankabfrage auf Basis eines reduzierten Satzes von Adressbestandteilen durchgeführt wurde, bei dem die Straßenendung bereits entfernt wurde, so wird in Schritt 324 die Straßenendung wieder hinzugefügt und der Adressbestandteil mit dem geringsten Score entfernt. Die Adressdatenbankabfrage wird in dieser Kombination der Wortbestandteile wiederholt. Bleibt die daraufhin getätigte Datenbankabfrage erneut erfolglos (wenn also keine den Adressbestandteilen gemeinsame ID ermittelt werden konnte), so wird die Straßenendung erneut entfernt und die Abfrage auf Basis des reduzierten Satzes und ohne Straßenendung wiederholt.
  • Insgesamt werden somit beim schrittweisen Entfernen von Adressbestandteilen Straßenendungen wahlweise entfernt oder hinzugenommen. Ferner wird beim schrittweisen Entfernen von Adressbestandteilen jeweils jener Adressbestandteil entfernt, der im Satz der verbliebenen Adressbestandteile den niedrigsten Score aufweist. Das schrittweise Entfernen von Adressbestandteilen wird iterativ solange wiederholt, bis ein Adresssatz resultiert, welcher wenigstens einer gültigen Adresse zuordenbar ist. Im Grenzfall kann der resultierende Satz einen Adressbestandteil umfassen, welchem der höchste Score unter den extrahierten Adressbestandteilen zugeordnet wurde. Ein Adresssatz mit lediglich einem Adressbestandteil ist per definitionem wenigstens einer gültigen Adresse zuordenbar, da er ein Adressbestandteil der Adressdatenbank 1070 repräsentiert.
  • Ist für die ausgewählte Hypothese ein Adresssatz erzeugt worden, welcher eine gültige Adresse vollständig oder zumindest in Teilen repräsentiert, so wird der erzeugte Adresssatz abgespeichert. Das Verfahren wird dann für die nächste unverarbeitete Hypothese wiederholt (siehe Schritt 340 und Pfeil, der auf Schritt 310 zurückweist). Das Verfahren wird solange wiederholt, bis alle Hypothesen prozessiert sind und für alle bereitgestellten Hypothesen aus der N-Besten-Liste ein gültiger Adresssatz gefunden wurde. Sind keine weiteren unverarbeiteten Hypothesen vorhanden, endet das Verfahren.
  • Mit Bezug auf 4 wird nun ein Verfahren zum Neu-Bewerten einer jeden bereitgestellten Hypothese auf der Grundlage der bereitgestellten Adresssätze beschrieben.
  • Ausgangspunkt des Verfahrens ist, dass für jede Hypothese ein wenigstens einer gültigen Adresse zuordenbarer Adresssatz bereitsteht oder bereitgestellt wird (Schritt 400). Die Bereitstellung des Adresssatzes erfolgt mittels der ersten Erzeugungseinrichtung 1050 und dem in Zusammenhang mit 3 oben erklärten Verfahren. Ferner wird ein Konfidenzwert (Score) für jede Hypothese bereitgestellt (Schritt 405). Bei dem anfänglich bereitgestellten Konfidenzwert kann es sich um einen akustischen Konfidenzwert handeln.
  • In einem Schritt 410 wird zunächst bestimmt, ob eine unverarbeitete Hypothese vorhanden ist. Liegt eine unverarbeitete Hypothese vor (Ja-Zweig), so wird der anfängliche Score der unverarbeiteten Hypothese wie folgt neu berechnet.
  • In einem Schritt 420 wird der anfänglich bereitgestellte Score einer jeden Hypothese mit einem Anteilsfaktor (Prozentsatz) multipliziert, der ein Maß für die im Adresssatzverbliebenen Adressbestandteile ist. Mit anderen Worten wird für die Hypothese ein Anteilsfaktor ermittelt, welcher den Anteil der im Adresssatz kombinierten Adressbestandteile in Bezug auf die in der Hypothese bereitgestellten Adressbestanteilen angibt. Durch diese Neugewichtung wird sichergestellt, dass eine Hypothese mit einem Adresssatz, welcher keine verworfenen Adressbestandteile aufweist, höher gewichtet wird, als eine Hypothese mit einem reduzierten Adresssatz. Kann beispielsweise bei n in der Hypothese bereitgestellten Adressbestandteilen (mit n = 1, 2, 3, ...) jeder der n Adressbestandteile für die Erzeugung des Adresssatzes genutzt werden, so ist der Anteilsfaktor n/n = 1 (oder 100 %). Führt hingegen lediglich 1 Adressbestandteil der n bereitgestellten Adressbestandteile zu einem gültigen Adresssatz, so ist der Anteilsfaktor 1/n.
  • In einem darauffolgenden Schritt 430 wird der Score der Hypothese um jeweils einen fest vorgegebenen Prozentsatz pro im Adresssatz verbliebenen Adressbestandteil erhöht. Dadurch wird sichergestellt, dass Hypothesen, bei denen möglichst viele Adressbestandteile zu einem eine Adresse repräsentierenden gültigen Adresssatz kombiniert werden können, höher gewichtet werden, als Hypothesen, bei denen beispielsweise lediglich ein Adressbestandteil einer gültigen Adresse zuordenbar ist. Dadurch wird sichergestellt, dass Hypothesen, welche eine Zieleingabe repräsentierende Adresse möglichst vollständig erkannt haben, ein höherer Score zugeordnet wird, als Hypothesen, welche eine Zieleingabe nur in Bruchstücken (also teilweise) erkannt haben.
  • Die Schritte 410, 420 und 430 werden für jede Hypothese wiederholt. Wenn in Schritt 410 festgestellt wird, dass keine weiteren unverarbeiteten Hypothesen vorliegen (Nein-Zweig in 4), werden die neu bewerteten Hypothesen in einem finalen Schritt 412 mit Hilfe der zweiten Erzeugungseinrichtung 1060 sortiert. Die Hypothesen werden in Schritt 412 entsprechend ihrem Score neu sortiert und eine Ergebnisliste mit den sortierten Scores erzeugt. In der Ergebnisliste werden Hypothesen mit den besten neu berechneten Scores abgespeichert, während Hypothesen mit geringem Score verworfen werden.
  • Nachdem ein Verfahren und eine Vorrichtung zum Verarbeiten von Spracheingabedaten beschrieben worden ist, wird nun mit Hilfe der 5-7 eine Vorrichtung und ein Verfahren zum (automatischen) Verarbeiten von Adressdaten näher beschrieben.
  • In 5 ist eine Vorrichtung 1100 zur Verarbeitung eines Adressdatensatzes gezeigt. Sie umfasst eine Eingabe/Ausgabeschnittstelle (I/0) 1110, ein mit der Eingabe/Ausgabeschnittstelle (I/0) 1110 in Kommunikation stehende Kernfunktionalität 1120, eine Bereitstellungseinrichtung 1140, eine Zerlegungseinrichtung 1130, eine Erzeugungseinrichtung 1150 und eine Speichereinrichtung 1160. Die Vorrichtung 1100 kann in einem Host-PC oder einem Server verbaut sein, welcher die Vorrichtung 1100 mit genügend Speicherressourcen und Prozessorressourcen versorgt.
  • Die Vorrichtung 1100 ist dazu ausgebildet, eine große Menge an bereitgestellten Adressdaten zu verarbeiten. Die Adressdaten umfassen in der Regel einen vollständigen Adressdatensatz (und/oder POI-Datensatz). Ein Adressdatensatz kann die Adressen (und/oder POI-Daten) eines Landes, einer Vereinigung mehrerer Länder, eines Kontinents oder einer anderweitigen geographischen Region in der oben dargelegten Weise (vollständig) umfassen. Der Adressdatensatz kann hierbei die Adressdaten (und/oder POI-Daten) in Form einer vorgegebenen Adressstruktur (z.B. postalische Adressstruktur) umfassen.
  • Über die I/O 1110 kommuniziert die Vorrichtung 1110 mit der Außenwelt. Die I/O 1110 ist dazu ausgebildet, bereitgestellte Adressdatensätze zu empfangen und an die Kernfunktionalität 1120 weiterzuleiten. Sie ist ferner dazu ausgebildet, die durch die Vorrichtung 1100 verarbeiteten Adressdaten an Endgeräte oder eingebettete Systeme (Infotainmentsysteme in Kraftfahrzeugen) zu versenden.
  • Die Kernfunktionalität 1120 kann als zentrale Rechnereinheit (CPU) oder als Softwaremodul (SW-Modul) ausgebildet sein. Sie steht mit der I/O 1110, den Einrichtungen 1130, 1140, 1150 sowie mit der Speichereinrichtung 1160 in kommunikativer Verbindung. Sie ist dazu ausgelegt, die Datenflüsse zwischen den einzelnen Einrichtungen 1130, 1140, 1150, der Speichereinrichtung 1160 und der I/O 1110 zu steuern. Gemäß der in 5 gezeigten Implementierung sind die Einrichtungen 1130, 1140, 1150 als Sub-Module der Kernfunktionalität 1120 ausgebildet (dargestellt durch gestrichelte Linie). Alternativ können die Einrichtungen 1130, 114, 1150 auch als eigenständige Einheiten ausgebildet sein, die mit der Kernfunktionalität 1120 kommunikativ in Verbindung stehen.
  • Die Speichereinrichtung 1160 ist dazu vorgesehen, den empfangenen Adressdatensatz und/oder die verarbeitenden Adressdaten zu speichern. Die Speichereinrichtung 1160 kann auch dazu ausgebildet sein, Adressdaten während der Verarbeitung zu puffern.
  • Die Bereitstellungseinrichtung 1140 ist dazu ausgebildet, eine eindeutige Kennung (ID) für jede Adresse des zu verarbeitenden Adressdatensatzes bereitzustellen. Die Zerlegungseinrichtung 1130 ist dazu ausgebildet, eine jede Adresse des zu verarbeitenden Adressdatensatzes in seine Adressbestandteile zu zerlegen. Die Erzeugungseinrichtung 1150 ist dazu ausgebildet, die Adressdatenbank 1070 zu erzeugen. Die Funktion der einzelnen Einrichtungen 1130, 1140, 1150 wird in Zusammenhang mit dem in 6 gezeigten Verfahren näher beschrieben.
  • 6 zeigt an Flussdiagramm, welches einen Verfahrensablauf zum Verarbeiten von Adressdaten zeigt. Das Verfahren wird anhand der in 5 dargestellten Vorrichtung 1100 erläutert. Es kann aber auch von anderweitig konfigurierten Geräten durchgeführt werden.
  • In einem ersten Schritt 600 wird mittels der I/O 1100 zunächst ein vollständiger Adressdatensatz (und/oder POI-Datensatz) empfangen. Wie bereits oben erwähnt, umfasst der Adressdatensatz alle Adressen wenigstens eines Landes in strukturierter Form. Der empfangene Adressdatensatz kann in der Speichereinrichtung 1160 zur weiteren Verarbeitung zwischengespeichert werden.
  • In einem zweiten Schritt 602 werden mittels der Zerlegungseinrichtung 1130 die Adressdaten einer jeden Adresse in seine Adressbestandteile zerlegt. Der Schritt des Zerlegens umfasst wenigstens einen der folgenden Zerlegungsschritte: Abtrennen von Straßenendungen und Aufspalten von Adressnamen in elementare Adresswörter. Ferner kann der Schritt des Zerlegens ein Bereitstellen der Adresswörter in einem einheitlichen Format umfassen (z.B. Kleinschreibung der Adresswörter). Ein Aufspalten kann hierbei immer dort vorgenommen werden, wo Adressdaten durch Sonderzeichen (wie beispielsweise einem Schrägstrich, einem Backslash, einem Verbindungszeichen, einem Komma, einem Semikolon, einer oder mehrerer Klammern, einem Punkt und/oder einem Leerzeichen) logisch miteinander verknüpft sind. Ein Abtrennen von Straßenendungen kann das Abtrennen geläufiger Straßenendungen umfassen. Derartige Straßenendungen können beispielsweise die Endungen „straße“, „strasse“, „weg“, „ring“, „leite“, „gasse“, „platz“, „allee“, „promenade“, „steg“, „steig“, „damm“, „gäßchen“, „chausse“, usw, sein. Es versteht sich, dass die verwendeten Straßenendungen von der verwendeten Sprache abhängen und auch von den hier aufgezählten Endungen abweichen können. Insgesamt erzeugt der Zerlegungsschritt 602 aus jeder bereitgestellten Adresse elementare Adresswörter (Adressbestandteile genannt), aus denen die Adresse vollständig zusammengesetzt werden kann.
  • In einem dritten Schritt 604 wird mittels der Bereitstellungseinrichtung 1140 für jede Adresse eine eindeutige Kennung (ID) bereitgestellt. Die ID kann als eine Zahl, Zahlenkombination oder Zahlen-Buchstaben-Kombination repräsentierende Bitfolge bereitgestellt werden. Die Vergabe der IDs kann hierbei unter statistischen Gesichtspunkten erfolgen. Beispielsweise können besonders häufig auftretende Adressen oder POI-Namen (POI-Adressen) mit einem niedrigen ID Wert versehen werden. Dies schont Speicherkapazitäten beim späteren Abfragen der Adressdatenbank 1070 im Zuge des in Zusammenhang mit den 1-5 beschriebenen Verarbeitungsverfahren für Spracheingaben. Die Schritte 602 und 604 können beliebig vertauscht werden, ohne das Verfahren zu beeinflussen.
  • In einem vierten Schritt 604 wird mittels der Erzeugungseinrichtung 1150 die Adressdatenbank 1070 erzeugt. Der Schritt des Erzeugens umfasst ein Zuordnen der bereitgestellten Adress-IDs an die erzeugten Adressbestandteile. Hierbei werden all jene Adress-IDs einem Adressbestandteil zugeordnet, die jeweils eine Adresse repräsentieren, bei denen der Adressbestandteil Bestandteil der Adresse ist. Ferner umfasst der Schritt des Erzeugens ein Abspeichern der zerlegten Adressbestandteile zusammen mit den den Adressbestandteilen zugeordneten Adress-IDs.
  • Das Verfahren wird anhand des in 7 gezeigten Adressdatensatzes nochmals anschaulich verdeutlicht.
  • Ausgangspunkt des Verfahrens ist ein (von einem Kartendatenanbieter) bereitgestellter Kartendatensatz 701. Dieser beginnt im vorliegenden Beispiel mit den Adresseinträgen „Bayern Ingolstadt Pascalstraße“, „Bayern Erlangen Tennelohe Am Wolfsmantel“ und „Hessen Rotenburg an der Fulda VDK-Siedlung“.
  • Die Adresseinträge werden gemäß dem oben beschriebenen Zerlegungsverfahren in Adressbestandteile zerlegt. Wie in Tabelle 702 veranschaulicht erfolgt die Zerlegung nicht nach logischen Adresseinheiten (Bundesland, Stadt, Stadtteil, Straße, usw.). Es umfasst vielmehr ein Abtrennen gängiger Straßenendungen (z.B. der Straßenname „Pascalstraße“ wird in die Adressbestandteile „pascal“ und „straße“ aufgeteilt) und ein Aufspalten von zusammengesetzten oder zu einer logischen Adresseinheit zusammengehörigen Adresswörtern (z.B. wird das Wort „VDK-Siedlung“ in die Adressbestandteile „vdk“ und „siedlung“ aufgeteilt; „Rotenburg an der Fulda“ wird in die einzelnen unabhängigen Bestandteile „rotenburg“, „an“, „der“, „Fulda“).
  • In der Datenbank 1070 werden lediglich die zerlegten Adressbestandteile zusammen mit den ihnen zugewiesenen IDs abgespeichert. Es werden keine Adressen abgespeichert. Sich in Adressen wiederholende Adressbestandteile werden dabei lediglich einmal abgespeichert. Über die Zuordnung der IDs kann aber mit Hilfe der Adressdatenbank 1070 jede Adresse des verarbeiteten Adresssatzes erzeugt werden. Dadurch, dass jeder auftretende Adressbestandteil nur einmal in der Datenbank 1070 hinterlegt wird, kann eine kompakte Adressdatenbank 1070 selbst bei großen Adressdatensätzen bereitgestellt werden.
  • In Zusammenhang mit den 8-12 wird nun eine Vorrichtung und ein Verfahren zum Trainieren des wenigstens einen Sprachmodells 1022 auf Basis eines Adressdatensatzes erläutert.
  • In 8 wird zunächst eine Vorrichtung 1200 zum Trainieren des wenigstens einen Sprachmodells 1022 auf der Grundlage eines Adressdatensatzes gezeigt.
  • Die Vorrichtung 1200 umfasst eine Eingabe/Ausgabeschnittstelle (I/0) 1210, ein mit der Eingabe/Ausgabeschnittstelle (I/0) 1210 in Kommunikation stehende Kernfunktionalität 1220, eine Extrahiereinrichtung 1230, eine Zerlegungseinrichtung 1240, eine Trainiereinrichtung 1250 und eine Speichereinrichtung 1260. Die Vorrichtung 1200 kann in einem Host-PC oder einem Server oder aber auch in einem eingebetteten System verbaut sein.
  • Über die I/O 1210 kommuniziert die Vorrichtung 1200 mit der Außenwelt. Die Vorrichtung 1200 kann über die I/O 1210 mit einem Kartendatenanbieter kommunizieren, um wenigstens einen strukturierten Adressdatensatz zu empfangen. Die Vorrichtung 1200 kann über die I/O 1210 ferner mit einem Endgerät (z.B. Smartphone, PND) oder einem eingebetteten System (z.B. ein in einem Kraftfahrzeug verbauten Infotainmentsystem) kommunizieren, um die erzeugten Trainingsdaten oder die erzeugten Sprachmodelle bereitzustellen.
  • Die Kernfunktionalität 1220 kann als zentrale Rechnereinheit oder als Softwaremodul (SW-Modul) ausgebildet sein. Sie steht mit der I/O 1210, den Einrichtungen 1230, 1240, 1250 sowie mit der Speichereinrichtung 1260 in kommunikativer Verbindung. Sie ist dazu ausgelegt, die Datenflüsse zwischen den einzelnen Einrichtungen 1230, 1240, 1250, der Speichereinrichtung 1260 und der I/O 1210 zu steuern. Gemäß der in 8 gezeigten Implementierung sind die Einrichtungen 1230, 1240, 1250 als Sub-Module der Kernfunktionalität 1220 ausgebildet. Alternativ können die Einrichtungen 1230, 1240, 1250 auch als eigenständige Einheiten ausgebildet sein, die mit der Kernfunktionalität 1220 kommunikativ in Verbindung stehen.
  • Die Speichereinrichtung 1260 ist dazu vorgesehen, den empfangenen Adressdatensatz und/oder die erzeugten Trainingsdaten zu speichern. Die Speichereinrichtung 1260 kann auch dazu ausgebildet sein, Adressdaten während der Verarbeitung zu Trainingsdaten zu puffern. Die Speichereinrichtung 1260 kann als eigenständiger Speicher oder als Teil einer übergeordneten Speichereinrichtung eines Systems, in dem die Vorrichtung 1200 implementiert ist, ausgebildet sein.
  • Die Funktionsweise der Einrichtungen 1230, 1240, 1250 wird in Zusammenhang mit dem Verfahren in 9 beschrieben.
  • 9 zeigt an Flussdiagramm für ein Verfahren zum Trainieren des wenigstens einen statistischen Sprachmodells 1022 auf der Grundlage eines Adressdatensatzes. Das Verfahren wird anhand der in 8 dargestellten Vorrichtung 1200 erläutert. Es kann aber auch von anderweitig konfigurierten Geräten durchgeführt werden.
  • In einem ersten Schritt 900 wird zunächst mittels der I/O 1210 ein vollständiger Adressdatensatz (und/oder POI-Datensatz) empfangen. Der empfangene Adressdatensatz ist dabei wie der in Zusammenhang mit den 5 und 6 beschrieben Adressdatensatz strukturiert. Es sei auf die entsprechende Beschreibung weiter oben verwiesen.
  • In einem zweiten Schritt 902 wird mittels der Extrahiereinrichtung 1230 wenigstens eine erste Teilmenge an Adressdaten aus dem vollständigen Adressdatensatz extrahiert. Der Schritt des Extrahierens kann hierbei ein Extrahieren von im Adressdatensatz vorliegenden Adressdaten umfassen, die zur Beschreibung einer logischen Adresseinheit (Verwaltungseinheit) einer vollständigen Adresse vorgesehen sind. Bei derartigen logischen Adresseinheiten kann es sich beispielsweise um Ländernamen, Stadtnamen, Straßennamen, POI-Namen, usw.) handeln. Ferner kann aus dem vollständigen Adressdatensatz eine zweite Teilmenge extrahiert werden, welcher Adressdaten einer zweiten Adresseinheit einer vollständigen Adresse (z.B. Straßennamen) zugeordnet werden. Die Adressdaten der beiden Teilmengen können die Adressdaten des Adressdatensatzes vollständigen abbilden. Es versteht sich, dass der Schritt des Extrahierens nicht auf das Erzeugen von zwei Teilmengen beschränkt bleiben muss. Alternativ kann der Adressdatensatz auch in drei oder mehr Teilmengen aufgeteilt werden, wobei jeder Teilmenge Adressdaten wenigstens einer Adresseinheit zuordenbar sind.
  • In einem dritten Schritt 904 werden mittels der Zerlegungseinrichtung 1240 die Adressdaten der wenigstens einen extrahierten Teilmenge in Adressbestandteile zerlegt. Der Schritt des Zerlegens umfasst hierbei wenigstens einen der folgenden Schritte: Abtrennen von Straßenendungen und Aufspalten von zusammengesetzten Adressnamen in elementare Adresswörter. Das Zerlegen der Adressdaten in Adressbestandteile entspricht hierbei der in Zusammenhang mit den 5 und 6 beschriebenen Zerlegung von Adressdaten. Es sei auf die entsprechende Beschreibung weiter oben verwiesen.
  • Die Zerlegungseinrichtung 1240 ist ferner dazu ausgebildet, bereitgestellte phonetische Informationen über Adressen in phonetische Bestandteile zu Zerlegen. Ferner ist die Zerlegungseinrichtung 1240 dazu ausgebildet, die zerlegten phonetischen Bestandteile den korrespondierenden Adressbestandteilen zuzuordnen. Beim Zuordnen werden alle zu einem Adressbestandteil gehörigen phonetischen Bestandteile dem Adressbestandteil zugeordnet. Die phonetische Zerlegung und Zuordnung wird anhand eines konkreten Beispiels in 13 näher beschrieben.
  • Die Reihenfolge der oben beschriebenen Schritte 902 und 904 kann ohne Einfluss auf das Verfahren vertauscht werden. Durch die beiden Verarbeitungsschritte 902, 904 wird wenigstens ein Trainingsdatensatz erzeugt, welcher aus Adressbestandteile besteht, die auf Adressdaten wenigsten einer logischen Adresseinheit hinweisen. Der wenigstens eine Trainingsdatensatz kann an die Trainiereinrichtung zum Trainieren wenigstens eines statistischen Sprachmodells übergeben werden.
  • Im darauffolgenden Schritt 906 wird mittels der Trainiereinrichtung 1250 wenigstens ein Sprachmodell trainiert (oder erzeugt). Der Schritt des Trainierens umfasst das Erzeugen wenigstens eines Vokabulars auf Basis der in der ersten Teilmenge bereitgestellten Adressbestandteile. Der Schritt des Trainierens kann ferner ein Berechnen von Wahrscheinlichkeiten umfassen, mit der bestimmte Folgen von N aufeinanderfolgenden Adressbestandteilen (N=1, 2, 3, ...) in den Adressdaten auftreten. Da die Größe der Wortfolgen in der ersten Teilmenge auf wenige aufeinanderfolgende Wortbestandteile begrenzt ist, werden bevorzugt Unigramm- und/oder Bigrammstatistiken berechnet. Der Schritt des Erzeugens kann ferner ein Kompilieren des wenigstens einen erzeugten Sprachmodells in einem proprietären binären Format umfassen. Auf diese Weise wird sichergestellt, dass benutzerseitige Spracherkennungseinrichtungen das wenigstens eine Sprachmodell verarbeiten können.
  • Das Verfahren wird in den 10 und 11 anhand eines konkreten Beispiels nochmals anschaulich verdeutlicht.
  • Ausgangspunkt des Verfahrens ist ein (von einem Kartendatenanbieter) bereitgestellter strukturierter Kartendatensatz 11. Dieser beginnt im vorliegenden Beispiel mit den Adresseinträgen „Bayern Ingolstadt Pascalstraße“, „Bayern Erlangen Tennelohe Am Wolfsmantel“ und „Hessen Rotenburg an der Fulda VDK-Siedlung“.
  • Zunächst wird ein erster Trainingsdatensatz erzeugt (siehe 10), indem im Schritt 902 die den Adresseinträgen zugeordneten Adressdaten zu Bundesland, Stadt und Stadteile extrahiert werden. Die extrahierten Adressdaten werden dann im Schritt 904 in elementare Adressbestandteile zerlegt. Die so erzeugte erste Teilmenge 12a wird zum Trainieren des Stadt-Sprachmodells 1022b bereitgestellt. Beim Trainieren wird auf Basis der gewonnenen ersten Teilmenge 12a das Vokabular des Stadt-Sprachmodells 1022b abgeleitet. Ferner werden auf Basis des ersten Trainingsdatensatzes 12a Wahrscheinlichkeiten für das Auftreten einzelner Adressbestandteile (Unigramme) und/oder aufeinanderfolgender Adressbestandteile (z.B. das Bigramm <Stadtname><Stadteilname>) berechnet. Die berechneten Wahrscheinlichkeiten können ferner gewichtet werden, um beispielsweise eine Überrepräsentierung von Adressnamen (z.B. von Ländernamen) im statistischen Modell zu vermeiden.
  • Das Trainieren des Straßen-Sprachmodells 1022c ist in 11 dargestellt. Zunächst wird mittels der Extrahiereinrichtung 1230 die den Adresseinträgen zugeordneten Straßennamen extrahiert (Schritt 902). Die extrahierten Straßennamen werden in elementare Adressbestandteile zerlegt (Schritt 904). Die Zerlegung in elementare Bestandteile erfolgt nach den Regeln der Straßennamenzerlegung wie in Zusammenhang mit den 5 und 6 beschrieben. Die so erzeugte zweite Teilmenge 12b wird zum Trainieren des Straßen-Sprachmodells 1022c bereitgestellt. Beim Trainieren wird auf Basis der gewonnenen zweiten Teilmenge 12b das Vokabular des Straßen-Sprachmodells 1022c abgeleitet. Ferner werden auf Basis der zweiten Teilmenge 12b Wahrscheinlichkeiten für das Auftreten einzelner Straßenbestandteile (Unigramme) und/oder aufeinanderfolgender Straßenbestandteile (Bigramme) ermittelt.
  • In 12 wird das Trainieren des natürlichen Spracheingabe-Sprachmodells 1022a (in 1 als NLU-SLM bezeichnet) veranschaulicht. Anders als die beiden Adress-Sprachmodelle 1022b, 1022c modelliert das Sprachmodell 1022a keine Adressdaten. Vielmehr werden in diesem Sprachmodell die Trägerwörter natürlicher Spracheingaben modelliert. Das Trainieren des Sprachmodells 1022a erfolgt mit Hilfe des Benutzers und kann beispielsweise direkt an der Vorrichtung 1000 erfolgen.
  • In einem ersten Schritt 80 fordert die Vorrichtung 1022 (z.B. über ein Sprachdialogsystem mit der Aufforderung „Wie würden Sie per Sprache eine Adresse in ein Navigationssystem eingeben?“) den Benutzer auf, wenigstens eine Zieleingabe zu sprechen.
  • Der Benutzer spricht in Reaktion auf die Aufforderung wenigstens eine Zieleingabe auf natürliche Weise (Schritt 81). Eine derartige Eingabe könnte lauten: „Ich möchte nach Ingolstadt in die Pascalstraße zur Hausnummer 5“ und/oder „Navigiere in die Leopoldstraße in München bitte.“
  • Die gesprochenen Zieleingaben werden zur weiteren Aufbereitung gesammelt. In einem Schritt 83 werden die Zieleingaben aufbereitet, wobei Adresswörter in den Zieleingaben durch Platzhalter ersetzt werden (siehe Platzhalter <city>, <street>, <house_nr>). Das Ersetzen der Adresswörter durch Platzhalter kann hierbei durch einen Benutzer manuell durchgeführt werden. Die so transkribierten Zieleingaben werden gesammelt. Sie bilden einen Traingsdatensatz 83 für das natürliche Spracheingabemodell 1022a.
  • Auf der Grundlage des Traingsdatensatzes 83 wird das Vokabular des Sprachmodells erzeugt. Ferner werden Unigramm-, Bigrammstatistiken und/oder Statistiken für N-Gramme höherer Ordnung (insbesondere Trigrammstatistiken) erzeugt.
  • Zu 13. 13 illustriert die Zerlegung phonetischer Informationen, die für Adressnamen in einem Adressdatensatz bereitgestellt werden. Die Zerlegung von Adressnamen erfordert eine korrespondierende Zerlegung und Zuordnung der bereitgestellten Phoneme. Dabei kann sich die orthographische Zerlegung von der phonetischen Zerlegung unterscheiden. Dadurch kann die Zuordnung zwischen orthographischen und korrespondierenden phonetischen Adressbestandteilen von einer 1:1 Zuordnung abweichen.
  • Diese Zuordnung zwischen phonetischen und orthographischen Adressbestandteilen ist in den beiden Tabellen 14, 15 anhand konkreter Beispiele illustriert. Tabelle 14 umfasst die Orthographie und Phonetik von Adressnamen wie von einem Kartendatenanbieter bereitgestellt. Tabelle 15 zeigt die Orthographie und Phonetik der zerlegten Adressbestandteile. Die Anzahl zerlegter Worte und Phoneme stimmt für die Adressnamen „Bayern“ und „Am Wolfsmantel“ jeweils überein, wie durch Vergleich der Tabellen 14, 15 leicht ersichtlich wird. Die phonetischen Adressbestandteile können somit auf die korrespondierenden orthographischen Adressbestandteile 1:1 abgebildet werden. Ähnliche Überlegungen gelten beim zusammengesetzten Straßennamen „Pascalstraße“. Der Name umfasst die beiden orthographischen Adressbestandteile „pascal“ und „straße“, welchen die korrespondierenden phonetischen Adressbestandteile „pas|kal und %Stra:|s@ zugeordnet werden können.
  • Anders verhält es sich beim zusammengesetzten Straßennamen „VDK-Siedlung“, bei dem keine 1:1 Zuordnung möglich ist. Beim Zerlegen des Straßennamen „VDK-Siedlung“ in die beiden orthographischen Wortbestandteile „Siedlung“ und „VDK“ müssen die vier Phoneme wie folgt zugeordnet werden. „VDK“ werden die drei Phoneme „faU “de: „ka: zugeordnet, während dem Adressbestandteil „Siedlung“ das Phonem „zi:|dlUN zugeordnet wird.
  • Für die Zerlegung und Zuordnung bereitgestellter phonetischer Daten zu Adressbestandteilen werden heuristische Verfahren eingesetzt. Die Zerlegung und/oder Zuordnung kann hierbei auf Basis wenigstens eines der folgenden Kriterien erfolgen: Berücksichtigen der Länge von Adressnamen, Berücksichtigen von Sonderzeichen in den Adressnamen, Berücksichtigen von Zahlen in den Adressnamen und/oder Berücksichtigen von Abkürzungen in den Adressnamen.
  • Insgesamt ermöglichen die hier beschriebenen Verfahren eine besonders flexible und ressourcenschonende Erkennung von natürlichen Spracheingaben. Dadurch, dass Sprachmodelle auf der Grundlage elementarer Adressbestandteile bereitgestellt werden, kann eine flexible und ressourcenschonende Erkennung von Zieleingaben erreicht werden. Die Erkennung hängt nicht von der Syntax der Spracheingaben ab. Vielmehr können Zieleingaben auch dann erkannt werden, wenn Adresselemente bei der Äußerung der Zieleingabe beliebig vertauscht werden und somit keiner vorgegebenen Struktur (z.B. der postalischen Adressstruktur) folgen. Insbesondere können unvollständige Adresseingaben erkannt werden und, gegebenenfalls, zu einer vollständigen Adresse ergänzt werden (beispielsweise durch Berücksichtigen von zusätzlichen Kontextinformationen).
  • Die Zerlegung von Adressdatensätze in ihre elementaren Adressbestandteile und das Erzeugen (Zusammensetzen) von Adressen eines Adressdatensatzes mittels elementarer Adressbestandteile reduziert ferner die zu verarbeitenden Datenmengen, da Redundanzen beseitigt werden.

Claims (28)

  1. Computer-implementiertes Verfahren zum Verarbeiten von Spracheingaben an einer Mensch-Maschine-Schnittstelle, wobei die Spracheingaben auf Zieleingaben hinweisen, wobei das Verfahren die folgenden Schritte umfasst: - Bereitstellen von wenigstens einer durch eine Spracherkennung ermittelten Hypothese für die Spracheingabe; - Extrahieren von Adressbestandteilen aus der wenigstens einen bereitgestellten Hypothese; und - Erzeugen eines Adresssatzes für jede Hypothese auf der Grundlage der extrahierten Adressbestandteile derart, dass der erzeugte Adresssatz wenigstens einer gültigen Adresse zuordenbar ist, wobei der Schritt des Erzeugens des Adresssatzes durch ein Kombinieren von extrahierten Adressbestandteilen auf der Grundlage von den Adressbestandteilen zuordenbaren oder zugeordneten Adress-IDs erfolgt.
  2. Computer-implementiertes Verfahren nach Anspruch 1, wobei all jene extrahierten Adressbestandteile einer Hypothese zu einem Adresssatz kombiniert werden, welche eine gemeinsame Adress-ID aufweisen.
  3. Computer-implementiertes Verfahren nach einem der Ansprüche 1 und 2, wobei ID-Werte der Adress-IDs gemäß einem Priorisierungsschema vergeben sind und Adressbestandteile mit priorisiertem ID-Wert zuerst ausgewertet werden.
  4. Computer-implementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei beim Erzeugen eines Adresssatzes anfänglich alle aus der Hypothese extrahierten Adressbestandteile berücksichtigt werden.
  5. Computer-implementiertes Verfahren nach Anspruch 4, wobei der Schritt des Erzeugens eines Adresssatzes auf der Grundlage eines verminderten Satzes extrahierter Adressbestandteile wiederholt wird, wenn der Satz aller extrahierten Adressbestandteile keiner gültigen Adresse zuordenbar ist.
  6. Computer-implementiertes Verfahren nach Anspruch 5, wobei der Schritt des Erzeugens solange wiederholt wird, bis eine gültige Adresskombination ermittelbar ist.
  7. Computer-implementiertes Verfahren nach Anspruch 6, wobei bei jedem Wiederholungsschritt wenigstens ein Adressbestandteil gestrichen wird.
  8. Computer-implementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Erzeugens ferner umfasst: - Erfassen, ob die extrahierten Adressbestandteile eine Straßenendung aufweisen; und - sofern die Adressbestandteile eine Straßenendung aufweisen, wahlweises Berücksichtigen oder Unterdrücken der Straßenendung beim Erzeugen des Adresssatzes.
  9. Computer-implementiertes Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend: - Berechnen von Konfidenzwerten für die extrahierten Adressbestandteile.
  10. Computer-implementiertes Verfahren nach Anspruch 9, wobei das Berechnen der Konfidenzwerte auf der Grundlage der folgenden Kriterien erfolgt: Überschneidungen der Adressbestandteile mit von Adressbestandteilen verschiedenen Wörtern natürlicher Spracheingaben, Länge des Adressbestandteils, Häufigkeit des Adressbestandteils in der wenigstens einen Hypothese, und/oder Art des Adressbestandteils.
  11. Computer-implementiertes Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Bereitstellens der wenigstens einen Hypothese durch Spracherkennung auf der Grundlage wenigstens eines statistischen Sprachmodels erfolgt.
  12. Computer-implementiertes Verfahren nach Anspruch 11, wobei die wenigstens eine Hypothese auf Basis eines ersten statistischen Sprachmodels, welches von Adressbestandteilen verschiedene Wörter natürlicher Spracheingaben erkennt, und auf Basis wenigstens eines zweiten statistischen Sprachmodels, welches Adressbestandteile erkennt, bereitgestellt wird.
  13. Computer-implementiertes Verfahren nach einem der vorhergehenden Ansprüche, ferner umfassend: - Erzeugen einer Ergebnisliste auf der Grundlage des für jede Hypothese erzeugten Adresssatzes.
  14. Computer-implementiertes Verfahren nach Anspruch 13, wobei der Schritt des Erzeugens wenigstens einen der folgenden Unterschritte umfasst: - Neu-Bewerten einer jeden Hypothese auf der Grundlage des für jede Hypothese erzeugten Adresssatzes; - Sortieren der neu-bewerteten Hypothesen auf der Grundlage eines beim Neu-Bewerten einer jeden Hypothese zugeordneten Konfidenzwerts.
  15. Computer-implementiertes Verfahren nach Anspruch 14, wobei der Konfidenzwert auf der Grundlage von wenigstens einem akustischen Konfidenzwert und einem Anteil berechnet wird, welcher auf die im erzeugten Adresssatz verbleibenden Adressbestandteile hinweist.
  16. Computer-implementiertes Verfahren zum Verarbeiten eines Adressdatensatzes, folgende Schritte umfassend: - Zerlegen einer jeden Adresse des Adressdatensatzes in einzelne Adressbestandteile; - Bereitstellen einer eindeutigen Adress-ID für jede Adresse; und - Erzeugen einer Adressdatenbank (1070) auf der Grundlage der zerlegten Adressbestandteile, wobei jedem Adressbestandteil die Adress-IDs aller den Adressbestandteil enthaltenden Adressen zugeordnet wird.
  17. Computer-implementiertes Verfahren nach Anspruch 16, wobei der Schritt des Erzeugens wenigstens einen der folgenden Schritte umfasst: - Zuordnen der bereitgestellten Adress-IDs an die erzeugten Adressbestandteile; - Speichern der zerlegten Adressbestandteile zusammen mit den den Adressbestandteilen zugeordneten Adress-IDs in der Datenbank (1070).
  18. Computer-implementiertes Verfahren zum Trainieren wenigstens eines statistischen Sprachmodells (1022) auf der Grundlage eines Adressdatensatzes, folgende Schritte umfassend: - Zerlegen einer jeden Adresse des Adressdatensatzes in einzelne Adressbestandteile; - Extrahieren wenigstens einer ersten Teilmenge an Adressbestandteilen aus den zerlegten Adressbestandteilen; und - Trainieren des wenigstens einen statistischen Sprachmodels auf der Grundlage der wenigstens einen ersten Teilmenge.
  19. Computer-implementiertes Verfahren nach Anspruch 18, wobei die erste Teilmenge aus Adressbestandteilen extrahiert wird, welche zur Erzeugung von Adressstrukturen gröberer Einteilung vorgesehen sind.
  20. Computer-implementiertes Verfahren nach einem der Ansprüche 18 und 19, ferner umfassend: - Extrahieren wenigstens einer zweiten Teilmenge aus den zerlegten Adressbestandteilen; und - Trainieren wenigstens eines zweiten statistischen Sprachmodels mit Hilfe der extrahierten zweiten Teilmenge.
  21. Computer-implementiertes Verfahren nach Anspruch 20, wobei die zweite Teilmenge aus Adressbestandteilen extrahiert wird, welche zur Erzeugung von Adressstrukturen feinerer Einteilung vorgesehen sind.
  22. Computer-implementiertes Verfahren nach einem der Ansprüche 16 bis 21, wobei das Zerlegen einer jeden Adresse in ihre Adressbestandteile wenigstens einen der folgenden Schritte umfasst: - Aufteilen von zusammengesetzten Adressnamen; und - Abtrennen von Straßenendungen.
  23. Computer-implementiertes Verfahren nach einem der Ansprüche 16 bis 22, wobei der Schritt des Zerlegens wenigstens einen der folgenden Schritte umfasst: - Zerlegen bereitgestellter phonetischer Informationen über Adressen in phonetische Bestandteile; und - Zuordnen der zerlegten phonetischen Bestandteile zu den korrespondierenden Adressbestandteilen.
  24. Vorrichtung (1000) zur Verarbeitung von Spracheingaben an einer Mensch-Maschine-Schnittstelle, wobei die Spracheingaben auf Zieleingaben hinweisen, umfassend: - eine Spracherkennungseinrichtung (1020) zur Ermittlung wenigstens einer Hypothese für die Spracheingabe; - eine Einrichtung (1040) zur Extrahierung von Adressbestandteilen aus der wenigstens einen bereitgestellten Hypothese; und - eine Einrichtung (1050) zur Erzeugung eines Adresssatzes für jede Hypothese, wobei die Einrichtung dazu ausgelegt ist, einen Adresssatz einer jeden Hypothese auf der Grundlage der extrahierten Adressbestandteile derart zu erzeugen, dass der erzeugte Adresssatz wenigstens einer gültigen Adresse zuordenbar ist, wobei die Einrichtung (1050) zur Erzeugung eines Adresssatzes einen Adresssatz durch Kombinieren von extrahierten Adressbestandteilen auf der Grundlage von den Adressbestandteilen zuordenbaren oder zugeordneten Adress-IDs erzeugt.
  25. Vorrichtung (1100) zur Verarbeitung eines Adressdatensatzes, umfassend: - eine Einrichtung (1130) zur Zerlegung einer jeden Adresse des Adressdatensatzes in einzelne Adressbestandteile; - eine Einrichtung (1140) zur Bereitstellung einer eindeutigen Adress-ID für jede Adresse; und - eine Einrichtung (1150) zur Erzeugung einer Adressdatenbank (1070) auf der Grundlage der zerlegten Adressbestandteile wobei jedem Adressbestandteil die Adress-IDs aller den Adressbestandteil enthaltenden Adressen zugeordnet wird.
  26. Vorrichtung (1200) zum Trainieren wenigstens eines statistischen Sprachmodells (1022) auf der Grundlage eines Adressdatensatzes, umfassend: - eine Einrichtung (1240) zur Zerlegung einer jeden Adresse des Adressdatensatzes in einzelne Adressbestandteile; und - eine Einrichtung (1230) zur Extrahierung wenigstens einer ersten Teilmenge an Adressbestandteilen aus den zerlegten Adressbestandteilen, wobei die Vorrichtung (1200) das wenigstens eine statistische Sprachmodell auf der Grundlage der wenigstens einen ersten Teilmenge trainiert.
  27. Computerprogrammprodukt mit Programmcode zum Durchführen der Verfahren nach wenigstens einem der Ansprüche 1 bis 23, wenn das Computerprogrammprodukt auf einer Computereinrichtung ausgeführt wird.
  28. Computerprogrammprodukt nach Anspruch 27, welches auf einem computerlesbaren Aufzeichnungsmedium abgespeichert ist.
DE102014010315.3A 2014-07-10 2014-07-10 Computer-implementiertes Verfahren und Vorrichtung zur Verarbeitung von Spracheingaben Active DE102014010315B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102014010315.3A DE102014010315B4 (de) 2014-07-10 2014-07-10 Computer-implementiertes Verfahren und Vorrichtung zur Verarbeitung von Spracheingaben

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014010315.3A DE102014010315B4 (de) 2014-07-10 2014-07-10 Computer-implementiertes Verfahren und Vorrichtung zur Verarbeitung von Spracheingaben

Publications (2)

Publication Number Publication Date
DE102014010315A1 DE102014010315A1 (de) 2016-01-14
DE102014010315B4 true DE102014010315B4 (de) 2019-04-25

Family

ID=54866685

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014010315.3A Active DE102014010315B4 (de) 2014-07-10 2014-07-10 Computer-implementiertes Verfahren und Vorrichtung zur Verarbeitung von Spracheingaben

Country Status (1)

Country Link
DE (1) DE102014010315B4 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019237298A1 (en) * 2018-06-14 2019-12-19 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for on-demand services
DE102020200522A1 (de) 2020-01-17 2021-07-22 Volkswagen Aktiengesellschaft Verfahren, Computerprogramm und Vorrichtung zum Verarbeiten einer Spracheingabe

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598018B1 (en) 1999-12-15 2003-07-22 Matsushita Electric Industrial Co., Ltd. Method for natural dialog interface to car devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598018B1 (en) 1999-12-15 2003-07-22 Matsushita Electric Industrial Co., Ltd. Method for natural dialog interface to car devices

Also Published As

Publication number Publication date
DE102014010315A1 (de) 2016-01-14

Similar Documents

Publication Publication Date Title
DE102020205786B4 (de) Spracherkennung unter verwendung von nlu (natural language understanding)-bezogenem wissen über tiefe vorwärtsgerichtete neuronale netze
EP2176858B1 (de) Verfahren zur spracherkennung
DE10207895B4 (de) Verfahren zur Spracherkennung und Spracherkennungssystem
DE69822296T2 (de) Mustererkennungsregistrierung in einem verteilten system
DE60016722T2 (de) Spracherkennung in zwei Durchgängen mit Restriktion des aktiven Vokabulars
DE102009017177B4 (de) Spracherkennungsanordnung und Verfahren zur akustischen Bedienung einer Funktion eines Kraftfahrzeuges
DE202016008260U1 (de) Erlernen von Aussprachen einer personalisierten Entität
US20080183468A1 (en) Augmentation and calibration of output from non-deterministic text generators by modeling its characteristics in specific environments
WO1998010413A1 (de) Sprachverarbeitungssystem und verfahren zur sprachverarbeitung
DE112010005226T5 (de) Erkennungswörterbuch-Erzeugungsvorrichtung und Spracherkennungsvorrichtung
DE102018126041B4 (de) Vorrichtung, verfahren und system zum verstehen gesprochener sprache unter nutzung eines dynamischen vokabulars
DE602004004310T2 (de) System mit kombiniertem statistischen und regelbasierten Grammatikmodell zur Spracherkennung und zum Sprachverstehen
CN107808660A (zh) 训练神经网络语言模型的方法和装置及语音识别方法和装置
DE102005018174A1 (de) Verfahren zur gezielten Ermittlung eines vollständigen Eingabedatensatzes in einem Sprachdialog 11
EP3152753B1 (de) Assistenzsystem, das mittels spracheingaben steuerbar ist, mit einer funktionseinrichtung und mehreren spracherkennungsmodulen
DE102014010315B4 (de) Computer-implementiertes Verfahren und Vorrichtung zur Verarbeitung von Spracheingaben
DE102007014405B4 (de) Verfahren zur Worterkennung in Zeichensequenzen
CN116450799B (zh) 一种应用于交通管理服务的智能对话方法及设备
DE60029456T2 (de) Verfahren zur Online-Anpassung von Aussprachewörterbüchern
DE10311581A1 (de) Verfahren und System zum automatisierten Erstellen von Sprachwortschätzen
Fetter Detection and transcription of OOV words
DE10129005A1 (de) Verfahren zur Spracherkennung und Spracherkennungssystem
DE112017007852B4 (de) Spracherkennung-Wörterbuchdaten-Konstruktionsvorrichtung, Spracherkennungsvorrichtung, Spracherkennung-Wörterbuchdaten-Konstruktionsverfahren
DE102015014206B4 (de) Verfahren und Vorrichtung zum Auswählen eines Navigationsziels aus einer von mehreren Sprachregionen mittels Spracheingabe
KR100994726B1 (ko) 보조 자료와 음성 전사를 이용한 음성 문서 검색 방법

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: E.SOLUTIONS GMBH, DE

Free format text: FORMER OWNER: E.SOLUTIONS GMBH, 85057 INGOLSTADT, DE

R082 Change of representative

Representative=s name: WUESTHOFF & WUESTHOFF, PATENTANWAELTE PARTG MB, DE

R018 Grant decision by examination section/examining division
R020 Patent grant now final