DE10244722A1 - Verfahren und Vorrichtung zum rechnergestützten Vergleich einer ersten Folge lautsprachlicher Einheiten mit einer zweiten Folge lautsprachlicher Einheiten, Spracherkennungseinrichtung und Sprachsyntheseeinrichtung - Google Patents

Verfahren und Vorrichtung zum rechnergestützten Vergleich einer ersten Folge lautsprachlicher Einheiten mit einer zweiten Folge lautsprachlicher Einheiten, Spracherkennungseinrichtung und Sprachsyntheseeinrichtung Download PDF

Info

Publication number
DE10244722A1
DE10244722A1 DE10244722A DE10244722A DE10244722A1 DE 10244722 A1 DE10244722 A1 DE 10244722A1 DE 10244722 A DE10244722 A DE 10244722A DE 10244722 A DE10244722 A DE 10244722A DE 10244722 A1 DE10244722 A1 DE 10244722A1
Authority
DE
Germany
Prior art keywords
spoken
speech
units
dictionary
message
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.)
Ceased
Application number
DE10244722A
Other languages
English (en)
Inventor
Diane Hirschfeld
Ronald Römer
Michael Dr. Küstner
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.)
Voice Inter Connect Dresd GmbH
Voice Inter Connect Dresden GmbH
Infineon Technologies AG
Original Assignee
Voice Inter Connect Dresd GmbH
Voice Inter Connect Dresden GmbH
Infineon Technologies AG
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 Voice Inter Connect Dresd GmbH, Voice Inter Connect Dresden GmbH, Infineon Technologies AG filed Critical Voice Inter Connect Dresd GmbH
Priority to DE10244722A priority Critical patent/DE10244722A1/de
Priority to PCT/DE2003/003206 priority patent/WO2004029932A1/de
Publication of DE10244722A1 publication Critical patent/DE10244722A1/de
Ceased legal-status Critical Current

Links

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/10Speech classification or search using distance or distortion measures between unknown speech and reference templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • 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/12Speech classification or search using dynamic programming techniques, e.g. dynamic time warping [DTW]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Machine Translation (AREA)

Abstract

Jede lautsprachliche Einheit der ersten Folge wird auf eine entsprechende lautsprachliche Einheit der zweiten Folge abgebildet, wobei eine Vergleichs-Kostenfunktion erhöht wird, wenn bei der Abbildung einer Einfügung eine Auslassung oder eine Vertauschung einer lautsprachlichen Einheit erforderlich ist. Im Rahmen der Abbildung werden Artikulations-Merkmalsvektoren berücksichtigt, derart, dass die Vergleichs-Kostenfunktion unterschiedlich erhöht wird bei lautsprachlichen Einheiten mit unterschiedlichen Artikulations-Merkmalsvektoren.

Description

  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum rechnergestützten Vergleich einer ersten Folge lautsprachlicher Einheiten mit einer zweiten Folge lautsprachlicher Einheiten, eine Spracherkennungseinrichtung sowie eine Sprachsyntheseeinrichtung.
  • In der digitalen Sprachverarbeitung tritt häufig das Problem auf, zwei Symbolfolgen, insbesondere zwei Folgen lautsprachlicher Einheiten, vorzugsweise zwei Phonemketten, d.h. zwei Folgen von Phonemen, miteinander auf ihre Ähnlichkeit hin zu vergleichen.
  • Ein solcher Vergleich findet häufig beispielsweise statt im Rahmen einer automatischen Erzeugung von Datenbasen für linguistische Verarbeitungsstufen, beispielsweise phonetische Regelwerke oder elektronische Lexika, im Rahmen einer Selektion passender, Phonem-etikettierter lautsprachlicher Einheiten (Bausteine) anhand einer zu synthetisierenden Folge von Phonemen für die Sprachsignalerzeugungseinheit eines Text-zu-Sprache-Systems (Text-to-Speech-System) oder im Rahmen einer Suche von passenden Wörtern in einem elektronischen Lexikon (im Folgenden auch bezeichnet als elektronisches Wörterbuch) für die Erzeugung von Phonemhypothesen einer Spracherkennungseinrichtung. Lautsprachliche Einheiten werden repräsentiert durch Symbole eines lautsprachlichen Alphabetes (Phoneme).
  • Für den Vergleich zweier Folgen lautsprachlicher Einheiten ist es bekannt, ein Vergleichsverfahren unter Berücksichtigung der so genannten Levenshtein-Distanz zu verwenden (vgl. [1], [2]).
  • Die Levenshtein-Distanz ist für den Vergleich zweier Symbolfolgen, insbesondere von Phonemfolgen, gut geeignet, da sie Einfügungen, Auslassungen sowie Vertauschungen einzelner Symbole in fiktiven Abbildungstransformationen bewertet, die eine erste Folge von Symbolen, z.B. eine erste Phonemkette in eine andere Folge von Symbolen, z.B. eine andere Phonemkette, überführen. Hierzu werden den Transformationsoperationen „Einfügung" und „Auslassung" Pauschalkosten im Wert von „1" zugeordnet, die Vertauschungsoperation wird mit Kosten im Wert von „2" belegt, da sie eine Einfügung und eine Auslassung, also zwei Operationen, miteinander kombiniert.
  • Nach erfolgter Berechnung der Transformation eines jeden Symbols, d.h. eines jeden Phonems der einen Folge von Phonemen zu jedem Symbol der anderen Symbolkette, d.h. eines entsprechenden Phonems der anderen Phonemfolge, wird in der entstehenden Distanzmatrix der kostengünstigste Weg gesucht, entlang dessen die minimale Anzahl von Einfügungen, Auslassungen und Vertauschungen, anders ausgedrückt die Levenshtein-Distanz, ermittelt werden kann.
  • Somit beschreibt die Levenshtein-Distanz die optimale Abbildung zwischen zwei Folgen von Symbolen, d.h. zwischen zwei Folgen lautsprachlicher Einheiten.
  • Je geringer die Levenshtein-Distanz ist, desto weniger Transformationsoperationen sind nötig, um eine erste Folge lautsprachlicher Einheiten auf eine zweite Folge lautsprachlicher Einheiten abzubilden und desto ähnlicher sind sich die beiden lautsprachlichen Einheiten.
  • Bei dem in [1] und [2] beschriebenen Verfahren wird im Rahmen der Levenshtein-Distanz nicht berücksichtigt, dass die Ähnlichkeit zwischen einzelnen Phonemen größer ist als zwischen anderen. Bei dem bekannten Levenshtein-Verfahren verursachen alle Vertauschungen dieselben Kosten.
  • Eine Lösung dafür wäre die Gruppierung ähnlicher Phoneme zu Ähnlichkeitsklassen, wobei i.a. als Entscheidungskriterium der Artikulationsort herangezogen wird, da dieses Merkmal wesentliche Transienten der spektralen Merkmale zum Nachbarlaut bewirkt. Ähnlichkeitsmaße für zwei Phoneme derselben Klasse wären dann kleiner, als für zwei Phoneme zweier verschiedener Klassen.
  • Der Nachteil ist, daß die Zuordnung der lautsprachlichen Einheiten zu einzelnen Klassen schwierig ist, da z.B. Vokale keinen Artikulationsort aufweisen. Ferner ist die Bewertung kompliziert und inhomogen.
  • Ferner ist das in [1] und in [2] verwendete Merkmal statisch und berücksichtigt somit nicht die zeitlich sich entwickelnden koartikulatorischen Einflüsse, welche über bis zu drei Phoneme reichen können.
  • Ferner ist mit dem bekannten Verfahren keine genaue Quantifizierung des Grades der Ähnlichkeit, sowohl innerhalb einer Ähnlichkeitsklasse als auch zwischen unterschiedlichen Ähnlichkeitsklassen, möglich.
  • Aus [3] ist im Rahmen der Sprachsynthese bekannt, dass mehrere unabhängige Artikulationseinstellungen zur numerischen Quantifizierung phonemischer Ähnlichkeiten verwendet werden können.
  • Somit liegt der Erfindung das Problem zugrunde, zwei Folgen lautsprachlicher Einheiten miteinander auf einfachere und somit Rechenzeit-einsparendere Weise zu vergleichen, als mit den bekannten Verfahren.
  • Das Problem wird durch das Verfahren und die Vorrichtung zum Vergleich einer ersten Folge lautsprachlicher Einheiten mit einer zweiten Folge lautsprachlicher Einheiten, durch die Spracherkennungseinrichtung sowie durch die Sprachsyntheseeinrichtung mit den Merkmalen gemäß den unabhängigen Patentansprüchen gelöst.
  • Bei einem Verfahren zum rechnergestützten Vergleich einer ersten Folge lautsprachlicher Einheiten mit einer zweiten Folge lautsprachlicher Einheiten, wobei jeder lautsprachlichen Einheit ein Artikulations-Merkmalsvektor zugeordnet ist, der artikulatorische Eigenschaften der lautsprachlichen Einheiten und/oder erzeugungs-physikalische Eigenschaften der lautsprachlichen Einheiten enthält, wird jede lautsprachliche Einheit der ersten Folge lautsprachlicher Einheiten auf eine entsprechende lautsprachliche Einheit der zweiten Folge lautsprachlicher Einheiten abgebildet, wobei vorzugsweise mit Hilfe einer Kostenfunktion der Aufwand der Überführung der ersten lautsprachlichen Einheit in die zweite lautsprachliche Einheit numerisch berechnet werden kann. Die Kosten berechnen sich als numerische Distanz aus den einzelnen numerisch codierten artikulatorischen Merkmalen der ersten, sowie der zweiten lautsprachlichen Einheit. Zur Distanzberechnung können beliebige Metriken, insbesondere die Euklidische Metrik verwendet werden.
  • Figure 00050001
  • Wobei c(i, j) die Distanz zwischen zwei zu vergleichenden Phonemen i und j, wk der Wichtungsfaktor für die k-te Merkmalskomponente, xi(k) die k-te Merkmalskomponente des Phonems i und yj(k) die k-te Merkmalskomponente des Phonems j mit jeweils insgesamt K Merkmalen ist.
  • Im Rahmen der Abbildung werden die Artikulations-Merkmalsvektoren derart berücksichtigt, dass die Vergleichs-Kostenfunktion unterschiedlich erhöht wird bei lautsprachlichen Einheiten mit unterschiedlichen Artikulations-Merkmalsvektoren.
  • Anders ausgedrückt wird jede lautsprachliche Einheit der ersten Folge lautsprachlicher Einheiten auf eine entsprechende lautsprachliche Einheit der zweiten Folge lautsprachlicher Einheiten abgebildet, wobei für jede Paarung von lautsprachlichen Einheiten die numerische Distanz zweier einheitenabhängiger Artikulations-Merkmalsvektoren berechnet wird, und diese in Form einer Matrix, anschaulich einer Kostenmatrix, die durch die beiden zu vergleichenden Folgen lautsprachlicher Einheiten aufgespannt wird, angeordnet werden.
  • Eine Vorrichtung zum rechnergestützten Vergleich einer ersten Folge lautsprachlicher Einheiten mit einer zweiten Folge lautsprachlicher Einheiten weist eine Prozessoreinheit auf, die derart eingerichtet ist, dass die oben beschriebenen Verfahrensschritte durchführbar sind.
  • Ferner ist eine Spracherkennungseinrichtung mit einer oben beschriebenen Vorrichtung vorgesehen.
  • Weiterhin ist eine Sprachsyntheseeinrichtung mit einer oben angegebenen Vorrichtung bereitgestellt.
  • Erfindungsgemäß wird erstmals die Erkenntnis ausgenutzt, dass die artikulatorische Bildung lautsprachlicher Einheiten deren physikalische Merkmalsausprägung wesentlich beeinflusst. Dabei agieren die einzelnen Artikulationsorgane relativ unabhängig voneinander.
  • Aus diesem Grund werden zur Beschreibung der Phoneme mehrere Merkmale, die in dem Artikulations-Merkmalsvektor jeweils zusammengefasst sind und für deren Unterscheidung relevant sind, verwendet.
  • Nach einer optionalen Untersuchung der für eine phonetische Einteilung relevanten artikulatorischen Merkmale (artikulatorischer Variationsbereich) sowie der nach physikalischen Merkmalen sinnvollen Einteilung (physikalischer Variationsbereich) erfolgt eine Einteilung des Merkmalsraums und eine numerische Codierung der artikulatorischen Merkmale sowie eine Zuordnung zu den Phonemen im Phonemsystem (allgemein im System der lautsprachlichen Einheiten) anhand ihrer physikalischen Merkmale.
  • Damit kann für beliebige Phoneme, allgemein für beliebige lautsprachliche Einheiten, ein numerisches Ähnlichkeitsmaß auf sehr einfache Weise berechnet werden, indem die Distanz zwischen den zugehörigen Artikulations-Merkmalsvektoren berechnet wird.
  • Damit wird anschaulich ein Merkmalssystem und ein Berechnungsverfahren bereitgestellt, das eine einfache Ermittlung eines quantitativen Ähnlichkeitsmaßes zwischen zwei beliebigen Folgen lautsprachlicher Einheiten erlaubt, vorzugsweise das Ähnlichkeitsmaß zwischen zwei Folgen beliebiger Phoneme, und das anschaulich auf artikulatorisch-physikalischen Zusammenhängen basiert und die Ähnlichkeit in artikulatorischen Einheiten quantifiziert.
  • Somit wird erfindungsgemäß berücksichtigt, dass die Ähnlichkeit zwischen einzelnen lautsprachlichen Einheiten, beispielsweise einzelnen Phonemen, größer ist (z.B. verschiedenen /e/-Phonemen im Deutschen oder zwischen /i/ und /j/) als zwischen anderen (eine Vertauschung also geringere Kosten verursacht).
  • Bevorzugte Weiterbildungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.
  • Als lautsprachliche Einheit wird im Rahmen der Erfindung eine Symboldarstellung einer lautsprachlichen Äußerung verstanden, beispielsweise
    • – eine Symboldarstellung von einzelnen Zeichen, die eine lautsprachliche Äußerung repräsentieren,
    • – Phonemsegmente,
    • – Phoneme,
    • – Allophone,
    • – Diphone,
    • – Halbsilben,
    • – Silben oder
    • – ganze Wörter.
  • Die im Folgenden beschriebenen Ausgestaltungen betreffen sowohl das Verfahren, die Vorrichtung, die Spracherkennungseinrichtung als auch die Sprachsyntheseeinrichtung.
  • Gemäß einer Ausgestaltung der Erfindung ist es vorgesehen, dass in der Kostenmatrix gemäß dem Levenshtein-Verfahren der optimale (kostengünstigste) Weg ermittelt wird.
  • Die Abbildung lautsprachlicher Einheiten der ersten Folge lautsprachlicher Einheiten auf die zweite Folge lautsprachlicher Einheiten erfolgt anschaulich gemäß dem erfindungsgemäß veränderten Levenshtein-Verfahren, d.h. anders ausgedrückt, unter Verwendung der Levenshtein-Distanz, wobei im Rahmen der Levenshtein-Distanz die Artikulations-Merkmalsvektoren berücksichtigt werden.
  • Gemäß einer anderen Ausgestaltung der Erfindung ist es vorgesehen, dass als lautsprachliche Einheiten Phoneme verwendet werden.
  • Durch diese Ausgestaltung der Erfindung wird die Levenshtein-Distanz durch Berücksichtigung der lautsprachlichen Einheiten in ihrer Genauigkeit wesentlich verbessert und die Aussagekraft des erzielten Ergebnisses erheblich erhöht.
  • Die Artikulations-Merkmalsvektoren können abhängig von unterschiedlichen Artikulationseinstellungen eines eine lautsprachliche Einheit, vorzugsweise ein Phonem, erzeugenden Organs sein.
  • Besonders geeignete Artikulations-Merkmale können sein:
    • – die Kieferstellung eines Menschen,
    • – der Artikulationsort der jeweiligen lautsprachlichen Einheit,
    • – die Lippenrundung eines Menschen,
    • – die Nasalität,
    • – der Glottalisierungsgrad, oder
    • – die Tonhöhe.
  • Sprachabhängig können unterschiedliche andere Charakteristika dem Artikulations-Merkmalsvektor hinzugefügt werden.
  • Das Merkmal, ob ein Laut glottalisiert ist oder nicht, ist insbesondere für die afrikanischen Sprachen von Bedeutung.
  • Für asiatische Sprachen, insbesondere für Chinesisch hat sich die Tonhöhe im Rahmen des Artikulations-Merkmalsvektors als ein geeignetes Merkmal herausgestellt.
  • Den jeweiligen Merkmalen in dem Artikulations-Merkmalsvektor sind vorzugsweise mehrere unterschiedliche Artikulations-Merkmalsvektorwerte zugeordnet, die jeweils eine unterschiedliche Ausprägung des Merkmals beschreiben.
  • Die Nachbildung der tatsächlichen physikalischen Parameter des die lautsprachliche Einheit erzeugenden Organs kann weiter dadurch verbessert werden, dass die jeweiligen Artikulations-Merkmalsvektorwerte einer statistischen Varianz unterliegend angenommen werden um einen jeweils angegebenen Mittelwert.
  • Werden die Varianzen der einzelnen Merkmalsvektorkomponenten berücksichtigt, so kann mittels einer zusätzlichen Varianznormalisierung die Vergleichbarkeit von Artikulations- Merkmalsvektoren, deren Merkmalsvektorkomponenten unterschiedlich streuen, gewährleistet werden. Anders ausgedrückt bedeutet dies, dass eine Varianz innerhalb eines der Merkmale der Artikulations-Merkmalsvektoren im Rahmen der Abbildung berücksichtigt werden kann.
  • Die Erfindung wird bevorzugt im Rahmen der Sprachsynthese und der Spracherkennung oder im Rahmen der automatischen Erzeugung eines elektronischen Wörterbuchs eingesetzt. Weitere Anwendungsbereiche sind die automatische Erzeugung von Datenbasen für linguistische Verarbeitungsstufen, beispielsweise für phonetische Regelwerke oder elektronische Lexika, die Selektion passender, Phonem-etikettierter lautsprachlicher Einheiten anhand einer zu synthetisierenden Phonemkette für die künstliche Erzeugung eines Sprachsignals eines Text-to-Speech-Systems oder die Suche von passenden Wörtern in einem elektronischen Lexikon für die Phonemhypothesen einer Spracherkennungseinrichtung.
  • Ein Ausführungsbeispiel der Erfindung ist in den Figuren dargestellt und wird im Weiteren näher erläutert.
  • Es zeigen
  • 1 ein Blockdiagramm einer Spracherkennungseinrichtung gemäß einem Ausführungsbeispiel der Erfindung;
  • 2 ein Blockdiagramm, in dem das Zusammenführen eines elektronischen Wörterbuches mit ausschließlich zur sprecherunabhängigen Spracherkennung zuvor eingegebenen und trainierten Worten enthalten sind und einem Wörterbuch, in dem Äußerungen zur sprecherabhängigen Spracherkennung gespeichert sind, welche erfindungsgemäß zusammengeführt werden zu einem gemeinsamen Wörterbuch für die sprecherunabhängige Spracherkennung;
  • 3 eine Tabelle, in der die vorgesehenen Spracherkennungs-Zustände und die Zustandsübergänge zwischen unterschiedlichen Spracherkennungszuständen dargestellt sind;
  • 4 eine Darstellung eines Dialog-Zustandsdiagramms gemäß einem Ausführungsbeispiel der Erfindung;
  • 5 ein Ablaufdiagramm, in dem die einzelnen Verfahrensschritte zur Spracherkennung sowie zum Ergänzen des elektronischen Wörterbuches der Spracherkennungseinrichtung gemäß einem Ausführungsbeispiel der Erfindung dargestellt sind;
  • 6 eine detaillierte Darstellung der einzelnen Verfahrensschritte zur Initialisierung der Spracherkennungseinrichtung gemäß einem Ausführungsbeispiel der Erfindung;
  • 7 ein Nachrichtenflussdiagramm, in dem die einzelnen Verfahrensschritte zum Durchführen eines Sprachdialogs gemäß einem Ausführungsbeispiel der Erfindung dargestellt sind;
  • 8 ein Nachrichtenflussdiagramm, in dem die einzelnen Schritte zum Ergänzen eines elektronischen Wörterbuches in der Spracherkennungseinrichtung gemäß einem Ausführungsbeispiel der Erfindung dargestellt sind;
  • 9 ein erstes Funktionsdiagramm gemäß einem Ausführungsbeispiel der Erfindung;
  • 10 ein zweites Funktionsdiagramm gemäß einem Ausführungsbeispiel der Erfindung;
  • 11A und 11B Tabellen, in denen dem Benutzer dargestellten Sprach-Prompts im Rahmen des Sprachdialogs gemäß einem ersten Ausführungsbeispiel der Erfindung (9A) sowie zusätzliche Aktionen der Spracherkennungseinrichtung (9B) gemäß einem ersten Ausführungsbeispiel der Erfindung dargestellt sind;
  • 12 ein Sprachdialog-Zustandsdiagramm eines ersten Zustands gemäß einem ersten Ausführungsbeispiel der Erfindung;
  • 13A und 13B ein Sprachdialog-Zustandsdiagramm eines zweiten Zustands einer Spracherkennungseinrichtung gemäß dem ersten Ausführungsbeispiels der Erfindung (13A) und das zugehörige Ablaufdiagramm (13B);
  • 14A und 14B ein Sprachdialog-Zustandsdiagramm eines dritten Zustands einer Spracherkennungseinrichtung gemäß dem ersten Ausführungsbeispiel der Erfindung (14A) und das zugehörige Ablaufdiagramm (14B);
  • 15A und 15B ein Sprachdialog-Zustandsdiagramm eines vierten Zustands einer Spracherkennungseinrichtung gemäß dem ersten Ausführungsbeispiel der Erfindung (15A) und das zugehörige Ablaufdiagramm (15B);
  • 16A und 16B ein Sprachdialog-Zustandsdiagramm eines fünften Zustands einer Spracherkennungseinrichtung gemäß dem ersten Ausführungsbeispiel der Erfindung (16A) und das zugehörige Ablaufdiagramm (16B);
  • 17A und 17B ein Sprachdialog-Zustandsdiagramm eines sechsten Zustands einer Spracherkennungseinrichtung gemäß dem ersten Ausführungsbeispiel der Erfindung (17A) und das zugehörige Ablaufdiagramm (17B);
  • 18A und 18B ein Sprachdialog-Zustandsdiagramm eines siebenten Zustands einer Spracherkennungseinrichtung gemäß dem ersten Ausführungsbeispiel der Erfindung (18A) und das zugehörige Ablaufdiagramm (18B);
  • 19 ein Sprachdialog-Zustandsdiagramm eines ersten Zustands einer Spracherkennungseinrichtung gemäß einem zweiten Ausführungsbeispiel der Erfindung;
  • 20 ein Sprachdialog-Zustandsdiagramm eines zweiten Zustands einer Spracherkennungseinrichtung gemäß dem zweiten Ausführungsbeispiel der Erfindung;
  • 21 ein Sprachdialog-Zustandsdiagramm eines dritten Zustands einer Spracherkennungseinrichtung gemäß dem zweiten Ausführungsbeispiel der Erfindung;
  • 22 ein Telekommunikationsgerät mit einer Spracherkennungseinrichtung gemäß einem Ausführungsbeispiel der Erfindung;
  • 23 ein Autoradio mit einer Spracherkennungseinrichtung gemäß einem Ausführungsbeispiel der Erfindung.
  • 1 zeigt eine Spracherkennungseinrichtung 100 gemäß einem Ausführungsbeispiel der Erfindung.
  • Die Spracherkennungseinrichtung 100 arbeitet je nach Betriebsmodus in einem ersten Betriebsmodus als Spracherkennungseinrichtung, wobei in dem Spracherkennungsmodus die Spracherkennungseinrichtung eine eingesprochene Äußerung 101, eingesprochen von einem Benutzer (nicht dargestellt) der Spracherkennungseinrichtung 100, erkannt wird unter Verwendung eines Verfahrens zur sprecherunabhängigen Spracherkennung. In einem zweiten Betriebsmodus, im Weiteren auch bezeichnet als Wörterbuch-Ergänzungsmodus, wird eine eingesprochene Äußerung in eine Folge von lautsprachlichen Einheiten umgewandelt, im Weiteren in eine Folge von Phonemen, und, wie im Folgenden noch näher erläutert wird, möglicherweise dem elektronischen Wörterbuch als Ergänzungseintrag zugeführt und darin gespeichert.
  • In beiden Betriebsmodi wird das von dem Benutzer eingesprochene Sprachsignal 101 einem Mikrofon 102 zugeführt, und als aufgenommenes elektrisches Analogsignal 103 einer Vorverarbeitung, insbesondere einer Vorverstärkung mittels einer Vorverarbeitungseinheit 104, insbesondere mittels eines Vorverstärkers unterzogen und als vorverarbeitetes und verstärktes Analogsignal 105 einem Analog-/Digitalwandler 106 zugeführt, dort in ein digitales Signal 107 umgewandelt und als digitales Signal 107 einem Rechner 108 zugeführt.
  • Es ist in diesem Zusammenhang anzumerken, dass das Mikrofon 102, die Vorverarbeitungseinheit 104, insbesondere die Verstärkungseinheit, und der Analog-/Digitalwandler 106 als separate Einheiten oder auch als in dem Rechner 108 integrierte Einheiten realisiert sein können.
  • Gemäß diesem Ausführungsbeispiel ist es vorgesehen, dass das digitalisierte Signal 107 dem Rechner 108 über dessen Eingangsschnittstelle 109 zugeführt wird.
  • Der Rechner 108 weist ferner einen Mikroprozessor 110, einen Speicher 111 sowie eine Ausgangsschnittstelle 112 auf, welche alle miteinander mittels eines Computerbus 113 gekoppelt sind.
  • Mittels des Mikroprozessors 110 werden die im Weiteren beschriebenen Verfahrensschritte, insbesondere die Verfahren zur Ergänzung des elektronischen Wörterbuches und der jeweils bereitgestellte Sprachdialog durchgeführt. Ein elektronisches Wörterbuch 114, welches die Einträge enthält, die im Rahmen der Spracherkennung als Referenzworte enthalten, ist in dem Speicher 111 gespeichert.
  • Ferner ist ein ebenfalls mit dem Computerbus 113 gekoppelter digitaler Signalprozessor (DSP) 123 vorgesehen, der einen speziell auf die verwendeten sprecherunabhängigen Spracherkennungsalgorithmen hin spezialisierter Mikrocontroller aufweist.
  • In dem digitalen Signalprozessor 123 ist ferner ein Computerprogramm gespeichert, welches eingerichtet ist zur sprecherunabhängigen Spracherkennung. Alternativ können die verwendeten Algorithmen in hartverdrahteter Logik, das heißt unmittelbar selbst in Hardware, realisiert sein.
  • Ferner ist der Rechner 108 mittels der Eingangsschnittstelle 109 mit einer Tastatur 115 sowie einer Computermaus 116 über elektrische Leitungen 117, 118 oder eine Funkverbindung, beispielsweise eine Infrarot-Verbindung oder eine Bluetooth-Verbindung gekoppelt.
  • Über zusätzliche Kabel oder Funkverbindungen, beispielsweise eine Infrarot-Verbindung oder eine Bluetooth-Verbindung 119, 120 ist der Rechner 108 mittels der Ausgangsschnittstelle 114 mit einem Lautsprecher 121 sowie einem Aktor 122 gekoppelt.
  • Der Aktor 122 repräsentiert in 1 allgemein jeden möglichen Aktor im Rahmen der Steuerung eines technischen Systems, beispielsweise realisiert in Form eines Hardwareschalters oder in Form eines Computerprogramms für den Fall, dass beispielsweise ein Telekommunikationsgerät oder ein anderes technisches System, beispielsweise ein Autoradio, eine Stereoanlage, ein Videorecorder, ein Fernseher, der Computer selbst oder irgendeine andere technische Anlage gesteuert werden soll.
  • Gemäß dem Ausführungsbeispiel der Erfindung weist die Vorverarbeitungseinheit 104 eine Filterbank mit einer Mehrzahl von Bandpässen auf, welche die Energie des eingegebenen Sprachsignals 103 in einzelnen Frequenzbändern messen. Mittels der Filterbank werden so genannte Kurzzeitspektren gebildet, indem die Ausgangssignale der Bandpässe gleichgerichtet, geglättet und in kurzen Abständen abgetastet werden, gemäß dem Ausführungsbeispiel alle 10 msec. Die so genannten Cepstrum-Koeffizienten von zwei aufeinander folgenden Zeitfenstern sowie deren zeitliche erste Ableitung sowie deren zeitliche zweite Ableitung werden ermittelt und zu jeweils einem Super-Merkmalsvektor zusammengefasst und dem Rechner 108 zugeführt.
  • In dem Rechner 108 ist, wie oben beschrieben, in Form eines Computerprogramms eine Spracherkennungseinheit, wobei die Spracherkennung auf dem Prinzip der Hidden Markov Modelle basiert, zur sprecherunabhängigen Spracherkennung realisiert, gemäß dem Ausführungsbeispiel in dem DSP 123.
  • In einem Basis-Wortschatz, der zu Beginn des Verfahrens in einem elektronischen Wörterbuch 114 gespeichert ist, ist zu jeweils einem Basis-Eintrag ein Hidden Markov Modell gespeichert, das jeweils auf folgende Weise unter Verwendung eines Trainings-Datensatzes, das heißt einer Menge von Trainings-Sprachsignalen, eingesprochen von einem oder mehreren Trainings-Nutzern, ermittelt wird.
  • Das Training der Hidden Markov Modelle erfolgt gemäß diesem Ausführungsbeispiel in drei Phasen:
    • – einer erste Phase, in der die in der Trainings-Datenbank enthaltenen Sprachsignale segmentiert werden,
    • – einer zweiten Phase, in der die LDA-Matrix (lineare Diskriminanzanalyse-Matrix) berechnet wird sowie
    • – einer dritten Phase, in der das Codebuch, das heißt die HMM-Prototypen-Merkmalsvektoren für jeweils eine in einem Auswahlschritt ausgewählte Anzahl von Merkmalsvektor-Komponenten berechnet werden.
  • Die Gesamtheit dieser drei Phasen wird im Weiteren als das Training der Hidden Markov Modelle bezeichnet (HMM-Training).
  • Das HMM-Training wird unter Verwendung des DSPs 123 sowie unter Verwendung von vorgegebenen Trainingskripts, anschaulich von geeignet eingerichteten Computerprogrammen, durchgeführt.
  • Gemäß diesem Ausführungsbeispiel wird jede gebildete lautsprachliche Einheit, das heißt jedes Phonem, in drei aufeinander folgende Phonemsegmente aufgeteilt, entsprechend einer Initial-Phase (erstes Phonemsegment), einer zentralen Phase (zweites Phonemsegment) und einer Endphase (drittes Phonemsegment) eines Lauts, das heißt eines Phonems.
  • Anders ausgedrückt wird jeder Laut in einem Lautmodell mit drei Zuständen, das heißt mit einem Drei-Zustands-HMM modelliert.
  • Während der Spracherkennung werden die drei Phonemsegmente in einer Bakis-Topologie oder allgemein einer Links-Rechts-Topologie aneinander gereiht und auf die Konkatenation dieser drei aneinander gereihten Segmente wird die Berechnung im Rahmen der sprecherunabhängigen Spracherkennung durchgeführt.
  • Wie im Weiteren noch näher erläutert wird, wird in dem Spracherkennungsmodus ein Viterbi-Algorithmus zum Dekodieren der Merkmalsvektoren, welche aus dem eingegebenen Sprachsignal 101 gebildet werden, durchgeführt.
  • Nach erfolgter Segmentierung wird die LDA-Matrix 304 (Schritt 403) mittels einer LDA-Matrix-Berechnungseinheit 303 ermittelt.
  • Die LDA-Matrix 304 dient zur Transformation eines jeweiligen Super-Merkmalsvektors y auf einen Merkmalsvektor x gemäß folgender Vorschrift:
    Figure 00180001
    • x ein Merkmalsvektor,
    • A eine LDA-Matrix,
    • y ein Super-Merkmalsvektor,
    • y ein globaler Verschiebungsvektor
    bezeichnet wird.
  • Die LDA-Matrix A wird derart bestimmt, dass
    • – die Komponenten des Merkmalsvektors x im statistischen Durchschnitt voneinander im Wesentlichen unkorreliert sind,
    • – die statistischen Varianzen innerhalb einer Segmentklasse im statistischen Durchschnitt normalisiert sind,
    • – die Zentren der Segmentklassen im statistischen Durchschnitt einen maximalen Abstand voneinander aufweisen und
    • – die Dimension der Merkmalsvektoren x möglichst, vorzugsweise Spracherkennungsanwendungs-abhängig, reduziert wird.
  • Im Folgenden wird das Verfahren zum Bestimmen der LDA-Matrix A gemäß diesen Ausführungsbeispielen erläutert.
  • Es ist jedoch anzumerken, dass alternativ alle bekannten Verfahren zum Bestimmen einer LDA-Matrix A ohne Einschränkung eingesetzt werden kann.
  • Es wird angenommen, dass J Segmentklassen existieren, wobei jede Segmentklasse j einen Satz Dy-dimensionaler Super-Merkmalsvektoren y enthält, das heißt, dass gilt:
    Figure 00190001
    wobei mit Nj die Anzahl der in der Klasse j sich befindenden Super-Merkmalsvektoren y j bezeichnet wird.
  • Mit
    Figure 00190002
    wird die Gesamtzahl der Super-Merkmalsvektoren y bezeichnet.
  • Es ist anzumerken, dass die Super-Merkmalsvektoren
    Figure 00190003
    unter Verwendung der oben beschriebenen Segmentierung der Sprachsignal-Datenbank ermittelt worden sind.
  • Gemäß diesem Ausführungsbeispiel weist jeder Super-Merkmalsvektor
    Figure 00190004
    eine Dimension Dy von Dy = 78 (= 2·3·13)
    auf, wobei 13 MFCC-Koeffizienten (Cepstrums-Koeffizienten) in dem Super-Merkmalsvektor
    Figure 00200001
    enthalten sind, sowie deren jeweilige zeitliche erste Ableitung und deren jeweilige zeitliche zweite Ableitung (dies begründet obigen Faktor 3).
  • Ferner sind in jedem Super-Merkmalsvektor
    Figure 00200002
    jeweils die Komponenten zweier zeitlich unmittelbar aufeinanderfolgender Zeitfenster im Rahmen der Kurzzeitanalyse enthalten (dies begründet obigen Faktor 2).
  • Es ist in diesem Zusammenhang anzumerken, dass grundsätzlich eine beliebige, an die jeweilige Anwendung angepasste Zahl von Vektorkomponenten in dem Super-Merkmalsvektor
    Figure 00200003
    enthalten sein kann, beispielsweise bis zu 20 Cepstrums-Koeffizienten und deren zugehörigen zeitlichen erste Ableitungen und zweite Ableitungen.
  • Der statistische Mittelwert oder anders ausgedrückt das Zentrum der Klasse j ergibt sich gemäß folgender Vorschrift:
    Figure 00200004
  • Die Kovarianzmatrix Σ j der Klasse j ergibt sich gemäß folgender Vorschrift:
    Figure 00200005
  • Die Durchschnitts-Intra-Streumatrix SW ist definiert als:
    Figure 00200006

    mit
    Figure 00210001
    wobei p(j) als Gewichtungsfaktor der Klasse j bezeichnet wird.
  • In analoger Weise ist die Durchschnitts-Inter-Streumatrix Sb definiert als:
    Figure 00210002
    mit
    Figure 00210003
    als dem Durchschnitts-Super-Merkmalsvektor über alle Klassen.
  • Die LDA-Matrix A wird zerlegt gemäß folgender Vorschrift: A = U·W·V, (10) wobei mit
    • – U eine erste Transformationsmatrix,
    • – W eine zweite Transformationsmatrix und
    • – V eine dritte Transformationsmatrix

    bezeichnet wird.
  • Die erste Transformationsmatrix U wird verwendet, um die Durchschnitts-Intra-Streumatrix SW zu diagonalisieren und wird ermittelt, indem die positiv definite und symmetrische Durchschnitts-Intra-Streumatrix SW in ihren Eigenvektorraum transformiert wird. In ihrem Eigenvektorraum ist die Durchschnitts-Intra-Streumatrix SW eine Diagonal-Matrix, deren Komponenten positiv und größer oder gleich null sind. Die Komponenten, deren Werte größer null sind, entsprechen der Durchschnitts-Varianz in der jeweiligen durch die entsprechende Vektorkomponente definierten Dimension.
  • Die zweite Transformationsmatrix W wird zum Normalisieren der Durchschnitts-Varianzen verwendet und wird ermittelt gemäß folgender Vorschrift:
    Figure 00220001
    Die Transformation U·W wird auch als Weißung bezeichnet.
  • Mit B = U·W (12) ergibt sich für die Matrix B T·S W·B die Einheitsmatrix, welche bei jeder beliebigen orthonormalen Lineartransformation unverändert bleibt.
  • Um die Durchschnitts-Inter-Streumatrix Sb zu diagonalisieren wird die dritte Transformationsmatrix V, die gebildet wird gemäß folgender Vorschrift: V = B T·S b·B, (13) wobei B T·S b·B ebenfalls eine positiv definite und symmetrische Matrix darstellt, in ihren Eigenvektorraum transformiert wird.
  • In dem Transformationsraum x = AT·(yy)(14) ergeben sich somit folgende Matrizen:
  • Eine diagonalisierte Durchschnitts-Infra-Streumatrix SW: S W = diag(1)d = 1...Dy (15) und eine diagonalisierte Durchschnitts-Inter-Streumatrix Sb:
    Figure 00230001
    wobei mit diag(cd)d = 1...Dy eine Dy × Dy Diagonalmatrix mit den Komponenten cd in der Zeile/Spalte d und sonst mit Komponenten mit dem Wert Null, bezeichnet wird.
  • Die Werte
    Figure 00230002
    sind die Eigenwerte der Durchschnitts-Inter-Streumatrix Sb und stellen ein Maß für die so genannte Pseudoentropie der Merkmalsvektor-Komponenten dar, welche im Folgenden auch als Informationsgehalt der Merkmalsvektor-Komponenten bezeichnet wird. Es ist anzumerken, dass die Spur jeder Matrix invariant ist bezüglich irgendeiner Orthogonaltransformation, womit sich ergibt, dass die Summe
    Figure 00230003
    die Gesamt-Durchschnitts-Varianz des Durchschnitts-Vektors xj der J Klassen darstellt.
  • Es ergibt sich somit eine ermittelte Anhängigkeit der Pseudoentropie der Merkmalsvektoren von den jeweils in dem Merkmalsvektor enthaltenen bzw. berücksichtigten Merkmalsvektor-Komponenten.
  • Gemäß diesem Ausführungsbeispiel wird anschließend eine Dimensionsreduktion vorgenommen, indem die
    Figure 00240001
    in in ihrer Größe abfallender Reihenfolge sortiert werden und die
    Figure 00240002
    weggelassen werden, das heißt unberücksichtigt bleiben, die kleiner sind als ein vorgegebener Schwellwert. Der vorgegebene Schwellwert kann ferner kumulativ definiert sein.
  • Dann kann die LDA-Matrix A angepasst werden, indem die Zeilen entsprechend den Eigenwerten
    Figure 00240003
    sortiert werden und die Zeilen weggelassen werden, die zu den ausreichend „kleinen" Varianzen gehören und damit nur einen geringen Informationsgehalt (geringe Pseudoentropie) aufweisen.
  • Gemäß diesem Ausführungsbeispiel werden die Komponenten mit den 24 größten Eigenwerten
    Figure 00240004
    verwendet, anders ausgedrückt Dx = 24.
  • Die vier oben beschriebenen Teilschritte zum Ermitteln der LDA-Matrix A sind in folgender Tabelle zusammengefasst:
    Figure 00240005
    Figure 00250001
  • Das letzte Verfahren zum Teil-Verfahren im Rahmen des Trainings der Hidden Markov Modelle ist das Clustern der Merkmalsvektoren, welches mittels einer Clustereinheit durchgeführt wird und welches als Ergebnis ein jeweiliges Codebuch hat, jeweils spezifisch für einen Trainingsdatensatz mit einer vorgegebenen Anzahl von Merkmalsvektor-Komponenten.
  • Die Gesamtheit der Repräsentanten der Segmentklassen wird als Codebuch bezeichnet und die Repräsentanten selbst werden auch als Prototypen der Phonemsegmentklasse bezeichnet.
  • Die Prototypen, im Weiteren auch als Prototyp-Merkmalsvektoren bezeichnet, werden gemäß dem an sich bekannten Baum-Welch-Training ermittelt.
  • Auf die oben beschriebene Weise wurden die Basiseinträge des elektronischen Wörterbuches, das heißt die Basiseinträge zur sprecherunabhängigen Spracherkennung erstellt und gespeichert und die entsprechenden Hidden Markov Modelle trainiert.
  • Somit existiert für jeden Basiseintrag jeweils ein Hidden Markov Modell.
  • Das elektronische Wörterbuch mit den Basiseinträgen 201 ist in 2 mit dem Bezugszeichen 200 bezeichnet.
  • Wie im Folgenden noch näher erläutert wird, wird für eine oder mehrere Äußerungen, die von einem Benutzer eingesprochen werden, und welche in ihrer Gesamtheit anschaulich als ein sprecherabhängiges Wörterbuch 202 in 2 bezeichnet sind, jeweils eine Folge 203 von Phonemen ermittelt und als eine solche Folge 203 von Phonemen als ein neuer Eintrag in dem gemeinsamen elektronische Wörterbuch 204, welches nunmehr die Basiseinträge 201 sowie die neuen Einträge 203 in Form von Phonemketten enthält, gespeichert.
  • Anschaulich enthält das neue elektronische Wörterbuch 204 somit die Basiseinträge 201 als auch die in Phonemketten umgewandelten sprachlichen Äußerungen, das heißt die ursgrünglich sprecherabhängigen Einträge, welche aufgrund der Umwandlung in Phonemketten als sprecherunabhängige Repräsentanten neuer Einträge angesehen werden können.
  • Auf diese Weise wird eine sprecherunabhängige Spracherkennung auf der Basis des gemeinsamen elektronischen Wörterbuches 204 ermöglicht.
  • Das gemeinsame elektronische Wörterbuch 204 bildet somit den Suchraum für die Viterbi-Suche im Rahmen der sprecherunabhängigen Spracherkennung.
  • Anschaulich werden die Äußerungen eines Benutzers auf eine Folge von Phonemen abgebildet und es wird ein Phonem-Wörterbuch 202 gebildet, welches die Folgen von Phonemen (Phonemketten) enthält.
  • Somit werden für den an sich sprecherabhängigen Teil im Rahmen der sprecherunabhängigen Spracherkennung keine Kommandos oder Wörter erkannt, sondern Phonemketten.
  • Diese Phonemketten werden in dem neuen elektronischen Wörterbuch 204 gespeichert.
  • Die Ergänzung des elektronischen Wörterbuches 200 um die benutzerdefinierten Einträge, das heißt um die Phonemketten wird, wie im Folgenden noch näher erläutert wird, insbesondere ermöglicht durch ein Dateimanagement in dem Rechner 108, mittels dessen die Speicherung der sprecherabhängigen Listeneinträge und der Basiseinträge in dem sprecherunabhängigen Wörterbuch 200 und die Kommunikation mit der Spracherkennungsanwendung realisiert und verwaltet wird.
  • Gemäß diesem Ausführungsbeispiel ist der Mikroprozessor 110 der Controller SDR 80D51U-A der Firma Infineon Technologies AG und das Verfahren zum Bilden von Hidden Markov Modellen basiert auf der Software und einem Digitalen Signalprozessor (DSP) der Firma Oak.
  • Zur Kommunikation zwischen dem Mikroprozessor 110 und dem DSP 123 der Firma Oak werden elektronische Nachrichten verwendet, um vorgegebene Ereignisse und Aktionen in dem Mikroprozessor 110 bzw. dem DSP 123 auszulösen.
  • Gemäß diesem Ausführungsbeispiel der Erfindung sind folgende Nachrichten für unterschiedliche Spracherkenner-Zustände, im Weiteren auch als HMM-Zustände bezeichnet, vorgesehen: Zunächst werden die im Rahmen des Spracherkenners zulässigen Spracherkenner-Zustände erläutert.
  • Wie 3 zu entnehmen ist, weist der Spracherkenner folgende vier HMM-Spracherkenner-Zustände auf:
    • – einen Initialisierungszustand INIT 301,
    • – einen Stopp-Zustand STOP 302,
    • – einen Pause-Zustand PAUSE 303 und
    • – einen Betriebsmodus-Zustand RUN 304.
  • Wie dem Zustandsübergangs-Diagramm 300 in 3 zu entnehmen ist, sind folgende Zustandsübergänge vorgesehen.
  • Von dem Initialisierungszustand INIT 301 kann in den Stopp-Zustand STOP 302 übergegangen werden, was automatisch passiert, wenn alle Datenbanken geladen sind (Schritt 305).
  • Ein anderer Übergang aus dem Initialisierungszustand INIT 301 in einen der anderen Zustände PAUSE, RUN 303, 304 ist nicht vorgesehen.
  • Aus dem Stopp-Zustand STOP 302 kann in den Initialisierungszustand INIT 301 übergegangen werden, wenn die geladenen Datenbanken inkonsistent sind (Schritt 306), in welchem Fall die Nachricht InitHMMSRDefault von dem DSP 123 an den Mikroprozessor 110 übermittelt wird.
  • Wird von dem Spracherkenner, das heißt dem DSP 123, das Kommando „PAUSE" in Form der Nachricht PauseHMMSR von dem Mikroprozessor 110 erhalten, so geht der DSP 123 in den Pausen-Zustand PAUSE 303 über (Schritt 307).
  • Nach Erhalt des Kommandos „RUN" in Form der Nachricht StartHMMSR von dem Mikroprozessor 110 geht der DSP 123 in den Betriebsmodus-Zustand RUN 304 über (Schritt 308).
  • Aus dem Pause-Zustand PAUSE 303 kann in den Initialisierungszustand INIT 301 übergegangen werden (Schritt 309), wenn die Datenbanken inkonsistent sind. Dies erfolgt in dem Fall, wenn der DSP 123 die Nachricht InitHMMSRDefault von dem Mikroprozessor 110 empfängt.
  • Nach Erhalt des Kommandos „STOPP" in Form der Nachricht StopHMMSR von dem Mikroprozessor 110 geht der DSP 123 in den Stopp-Zustand STOP 302 über (Schritt 310).
  • Nach Erhalt des Kommandos „RUN" in Form der Nachricht StartHMMSR von dem Mikroprozessor 110 geht der DSP 123 aus dem Pausen-Zustand PAUSE 303 in den Betriebsmodus-Zustand 304 über (Schritt 311).
  • Schließlich kann die Spracherkennungseinheit aus dem Betriebsmodus-Zustand RUN 304 in den Initialisierungszustand INIT 301 zurückkehren, wenn die Datenbanken inkonsistent sind (Schritt 312). Dies geschieht, wenn der DSP 123 von dem Mikroprozessor 110 die Nachricht InitHMMSRDefault empfängt.
  • Nach Erhalt des Kommandos „STOPP" in Form der Nachricht StopHMMSR von dem Mikroprozessor 110 kehrt die Spracherkennungseinheit, anders ausgedrückt der DSP 123, aus dem Betriebsmodus-Zustand RUN 304 in den Stopp-Zustand STOP 302 zurück (Schritt 313).
  • Schließlich ist vorgesehen, dass die Spracherkennungseinheit aus dem Betriebsmodus-Zustand RUN 304 in den Pause-Zustand PAUSE 303 übergeht nach Empfangen des Kommandos „PAUSE" (Schritt 314). Dies geschieht, wenn der DSP 123 von dem Mikroprozessor 110 die Nachricht PauseHMMSR empfängt.
  • Zusammenfassend sind zur Kommunikation zwischen dem Mikroprozessor 110 und dem Oak DSP 123 folgende Nachrichten vorgesehen:
    In dem Initialisierungszustand INIT 301, in dem der Spracherkenner mit Default-Werten nach der Aktivierung initialisiert wird, sind folgende Nachrichten, die an den Oak DSP 123 oder von dem Oak DSP 123 gesendet werden können, definiert:
    • – InitHMMSRDefault: Mit dieser Nachricht wird das Setzen von Default-Werten für den Spracherkenner in der Oak Software in dem DSP 123 initialisiert, (Sehr geehrter Herr Dr. Küstner: Ist diese Aussage korrekt?)
    • – InitHMMSRParams: Mit dieser Nachricht wird das Laden der Spracherkenner-Parameter in den Oak DSP 123 initialisiert,
    • – StartLoadHMMLDA: Mit dieser Nachricht wird das Laden des Programms zum Ermitteln der LDA-Matrix gestartet,
    • – StartLoadHMMDictionary: Mit dieser Nachricht wird das Laden eines elektronischen Wörterbuches abhängig von dem jeweiligen Zustand bzw. dem jeweiligen Sprachdialog, gestartet,
    • – CodebookBlockLoadedAndSwitched: Mit dieser Nachricht wird der Oak Software in dem DSP 123 mitgeteilt, dass der Switched Memory Block (SMB), gemäß diesem Ausführungsbeispiel der Größe 16 KByte, für die Oak Software zugänglich ist, da nunmehr die gesamte Anzahl von Blöcken und Segmenten, die in der Anwendung von dem Spracherkenner berücksichtigt werden, in dem Mikroprozessor 110 bekannt sind.
  • In dem Stopp-Zustand STOP 302, in dem der Spracherkenner deaktiviert ist, sind folgende Nachrichten vorgesehen, die an den Oak DSP 123 oder von dem Oak DSP 123 gesendet werden können:
    • – InitHMMSRDefault,
    • – InitHMMSRParams,
    • – StartLoadHMMLDA,
    • – StartLoadHMMDictionary,
    • – PauseHMMSR: Mit dieser Nachricht wird dem Oak DSP 123 mitgeteilt, dass der Spracherkenner in den Deaktiviert-Zustand übergehen soll,
    • – StartHMMSR: Mit dieser Nachricht wird der Spracherkenner in dem Oak DSP 123 gestartet.
  • In dem Pausen-Zustand PAUSE 303, in dem die Vorverarbeitung in dem Spracherkenner durchgeführt wird, jedoch noch keine Merkmalsextraktion erfolgt, sind folgende Nachrichten vorgesehen, die an den Oak DSP 123 oder von dem Oak DSP 123 übermittelt werden können:
    • – InitHMMSRDefault,
    • – InitHMMSRParams,
    • – StartLoadHMMLDA,
    • – StartLoadHMMDictionary,
    • – StartHMMSR,
    • – StopHMMSR: Mit dieser Nachricht wird dem Oak DSP 123 angegeben, dass der Spracherkenner gestoppt werden soll und in den Stopp-Zustand 302 übergehen soll,
    • – CodebookBlockLoadedAndSwitched.
  • In dem Betriebsmodus-Zustand RUN 304, in dem der Spracherkenner voll aktiv ist und die Spracherkennung durchführt, sind folgende Nachrichten vorgesehen, die an den Oak DSP 123 oder von dem Oak DSP 123 übermittelt werden können:
    • – InitHMMSRDefault,
    • – InitHMMSRParams,
    • – StartLoadHMMLDA,
    • – StartLoadHMMDictionary,
    • – PauseHMMSR,
    • – StopHMMSR,
    • – CodebookBlockLoadedAndSwitched.
  • Ferner ist eine zusätzliche Nachricht SetHMMSearchParams (minStableTime, wordStartupPenalty, transitionPenalty) vorgesehen, mit der die Suchparameter minStableTime, wordStartupPenalty und transitionPenalty für das sprecherabhängige Wörterbuch gesetzt werden können. (Sehr geehrter Herr Dr. Küstner: Könnten Sie bitte die Bedeutung dieser drei Parameter kurz erläutern?)
  • Diese Nachricht kann von dem Spracherkenner in dem Oak DSP 123 in jedem Zustand der Firmware des DSP 123 an den Mikroprozessor 110 übermittelt werden. Mit der Nachricht SetHMMSearchParams(minStableTime, wordStartupPenalty, transitionPenalty) wird die Suche zurückgesetzt und die Parameter für den Suchraum werden definiert.
  • Im Folgenden wird die Struktur von den im Weiteren erläuterten Sprachdialog-Zuständen in einem Sprachdialog in dessen Rahmen die Spracherkennung durchgeführt wird, dargelegt.
  • Ein Sprachdialog dient zur interaktiven Kommunikation des Spracherkenners mit einem menschlichen Benutzer, um dem Benutzer vordefinierte Steuerungsmöglichkeiten und somit einen interaktiven Eingriff in das zu steuernde System, das heißt in den Rechner 108 unter Verwendung des Spracherkenners, zu ermöglichen.
  • In diesem Zusammenhang ist darauf hinzuweisen, dass die Sprachdialog-Zustände nicht zu verwechseln sind mit den oben beschriebenen Zuständen des Spracherkenners selbst.
  • Jeder Sprachdialog, das heißt jede Sprachanwendung startet nach ihrer Aktivierung ausgehend von einem Basiszustand.
  • Gemäß diesem Ausführungsbeispiel wird für eine Sprachanwendung eine Anzahl von Befehlen definiert, die im Weiteren auch als Schlüsselwörter bezeichnet werden.
  • Jeder Befehl kann ein einzelnes oder mehrere einzelne Wörter aufweisen. Mit jedem Befehl ist eine dem jeweiligen Befehl eindeutig zugeordnete Aktion gekoppelt (siehe Sprachdialog-Zustandsdiagramm 400 in 4).
  • Aktionen 408, welche jeweils mit einem Befehl 406 in Form eines Befehl-Aktion-Tupels (407, 409) verknüpft sind, können ein Gerät, wie beispielsweise einen CD-Spieler oder ein Kommunikationsgerät oder ein anderes Element einer Stereoanlage oder allgemein eines technischen Systems steuern und die Spracherkennungsanwendung beenden, oder noch zusätzliche Aktionen in dem gleichen Schritt, ausgelöst mit dem gleichen Befehl, durchführen, oder beispielsweise einen Ton mittels des Lautsprechers 121 ausgeben, und dann in den gleichen Sprachdialog-Zustand oder in einen anderen Sprachdialog-Zustand übergehen.
  • In dem Sprachdialog-Zustandsdiagramm 400 in 4 ist ein zeitlich vorangegangener Sprachdialog-Zustand X – 1 401 dargestellt sowie dessen Übergang in den aktuellen Sprachdialog-Zustand X 402, wobei das Sprachdialog-Zustandsdiagramm 400 ferner die in dem aktuellen Sprachdialog-Zustand X 402 zu berücksichtigenden Wörter in einem elektronischen Wörterbuch 403 gespeichert hat, wobei das elektronische Wörterbuch 403 sowohl die zuvor in Form von sprecherunabhängigen, zuvor trainierten HMMs gespeicherten Wörter 404, allgemein die sprecherunabhängigen Äußerungen mit einer beliebigen Anzahl von Wörtern 404 enthält sowie Listeneinträge 405, welche ursprünglich sprecherabhängige Äußerungen enthalten, die jedoch, wie im Weiteren noch erläutert wird, auf eine Folge von Phonemen abgebildet werden, welche dann einer sprecherunabhängigen Spracherkennung zugänglich sind.
  • In einem jeweiligen Sprachdialog-Zustandsdiagramm 400 sind ferner, wie oben erläutert, die Befehle 406 und die Aktionen 408 in jeweils einem Befehls-Aktions-Tupel (407, 409) enthalten.
  • Gemäß diesem Ausführungsbeispiel ist die maximale Länge einer Phonemfolge hinsichtlich ihrer zeitlichen Länge oder hinsichtlich der Anzahl zulässiger Phoneme anwendungsabhängig.
  • Gemäß diesem Ausführungsbeispiel sind 255 Zustände pro Listeneintrag 405 zulässig, so dass die größte Zahl zulässiger Phoneme pro Listeneintrag 405 kleiner oder gleich 85 ist.
  • Die Befehle werden aus dem zur Verfügung stehenden Vokabular, das heißt aus den in dem Wörterbuch 403 enthaltenen Wörtern 404 oder Listeneinträgen 405 erzeugt.
  • Jeder Befehl 406, 407 ist notwendigerweise mit einer Aktion 408, 409 verknüpft.
  • Die Befehlsstruktur ist wie folgt:
    • – Befehl = ein oder mehrere Wörter,
    • – Befehl = ein oder mehrere Wörter + ein Listeneintrag,
    • – Befehl = ein Listeneintrag + ein oder mehrere Wörter,
    • – Befehl = ein oder mehrere Wörter + ein Listeneintrag + ein oder mehrere Wörter,
    • – Befehl = ein Listeneintrag.
  • Eine Aktion 407, 409 stellt im Rahmen dieser Beschreibung ein Synonym für eine grundsätzlich beliebig komplexe Reaktion des jeweiligen technischen Systems dar, abstrakt betrachtet die Reaktion des Spracherkenners zur Ansteuerung des Aktors 122 in 1.
  • Als Aktion 407, 409 sind beispielsweise erfindungsgemäß vorgesehen ein Feedback des Spracherkenners und, um dem Benutzer anzuzeigen, dass überhaupt etwas erkannt wurde, ein Umschalten in einen anderen Sprachdialog-Zustand, ein Laden eines neuen elektronischen Wörterbuches, oder das Ausführen einer dem Befehl zugeordneten Aktion, beispielsweise das Wählen einer eingegeben Telefonnummer.
  • Es ist in diesem Zusammenhang anzumerken, dass eine gleiche Aktion für unterschiedliche Befehle definiert sein kann.
  • Im Folgenden werden in Form von Nachrichtenflussdiagrammen die Kommunikation zwischen dem Mikroprozessor 110, das heißt dem 80D51-Controller und dem digitalen Signalprozessor 123 der Firma Oak Technologies beschrieben.
  • Wie in dem Ablaufdiagramm 500 in S dargestellt ist, wird von einem Startzustand 501 nach erfolgter Aktivierung des DSP 123, das heißt anders ausgedrückt nach erfolgtem Starten des Spracherkenners ein akustisches Signal an den Benutzer mittels des Lautsprechers 121 ausgegeben, um diesem zu signalisieren, dass das Spracherkennungsverfahren aktiviert worden ist.
  • Ausgehend von dem Startzustand 601 wird in einen ersten Zyklus (Cycle_0) 502 übergegangen, in welchem die HMMs initialisiert werden.
  • Anschließend wird in einen zweiten Zyklus (Cycle_1) 503 übergegangen und nach dessen Durchführung wird überprüft, ob das Spracherkennungsverfahren beendet werden soll (Prüfschritt 504) und für den Fall, dass das Spracherkennungsverfahren beendet werden soll, wird in einen Ende-Zustand 505 übergegangen, in welchem der Spracherkenner deaktiviert wird.
  • Soll die Spracherkennung jedoch nicht beendet werden, so wird in einem zusätzlichen Prüfschritt (Prüfschritt 506) überprüft, ob in einen neuen Sprachdialog-Zustand übergegangen werden soll.
  • Ist das der Fall, so wird der zweite Zyklus 503 für den neuen Sprachdialog-Zustand durchgeführt.
  • Soll jedoch der Sprachdialog-Zustand nicht verändert werden, so wird in einem dritten Prüfschritt (Prüfschritt 507) überprüft, ob in dem elektronischen Wörterbuch eine Veränderung vorgenommen werden soll, beispielsweise ob ein neuer Eintrag dem elektronischen Wörterbuch hinzugefügt werden soll oder ob ein Eintrag aus dem elektronischen Wörterbuch entfernt werden soll oder ob lediglich ein Eintrag in dem elektronischen Wörterbuch verändert werden soll.
  • Ist dies der Fall, so wird wiederum in den zweiten Zyklus 503 verzweigt.
  • Ist dies jedoch nicht der Fall, so wird ein, im Folgenden noch näher erläuterter, dritter Zyklus (Cycle_2) 508, durchgeführt.
  • Nach Beendigung des dritten Zyklus 508 wird in einem vierten Prüfschritt (Prüfschritt 509) wiederum überprüft, ob die Spracherkennung beendet werden soll.
  • Soll die Spracherkennung beendet werden, so wird in den Endezustand 505 übergegangen und der Spracherkenner wird deaktiviert, sonst wird in den zweiten Prüfschritt 506 verzweigt, in dem überprüft wird, ob ein neuer Sprachdialog-Zustand eingenommen werden soll.
  • 6 zeigt in einem Nachrichtenflussdiagramm 600 die Realisierung des ersten Zyklus 502 im Detail.
  • In dem ersten Zyklus 502 werden die HMMs initialisiert.
  • In einer Initialisierungsphase, in welcher sich der Spracherkenner in dem Initialisierungszustand INIT 301 befindet, wird von dem Mikroprozessor 110 eine Nachricht StartHMMSRFlowgraph 601 an den DSP 123 übermittelt, womit das jeweilige HMM in dem DSP 123 gestartet wird.
  • In Reaktion auf die Nachricht StartHMMSRFlowgraph 601 sendet der DSP 123 eine Bestätigungsnachricht 602 an den Mikroprozessor 110.
  • Anschließend wird von dem Mikroprozessor 110 eine Nachricht InitHMMSRParams 603 an den DSP 123 gesendet, womit das Laden der Spracherkennungsparameter in den DSP 123 aktiviert wird.
  • Als Antwort auf die Nachricht InitHMMSRParams 603 wird eine Bestätigungsnachricht 604 von dem DSP 123 an den Mikroprozessor 110 übermittelt.
  • In einem weiteren Schritt wird eine Nachricht StartLoadHMMLDA 605 von dem Mikroprozessor 110 an den DSP 123 gesendet, um das Laden des Computerprogramms, welches das Ermitteln einer LDA-Matrix bewirkt, wie oben beschrieben, für das jeweilige HMM startet.
  • Als Antwort darauf sendet das DSP 123 eine Nachricht SMBRequestLoadHMMLDA 606 an den Mikroprozessor 110, welcher auf diese Nachricht mit einer Bestätigungsnachricht 607 reagiert, mit der der Mikroprozessor 110 anzeigt, dass die notwendigen Programmcodes zur Durchführung einer linearen Diskriminanzanalyse in einem Switched Memory Block verfügbar sind.
  • In einer weiteren Nachricht StartLoadHMMDictionary 608, welche von dem Mikroprozessor 110 an den DSP 123 gesendet wird, übermittelt der Mikroprozessor 110 dem DSP 123 das elektronische Wörterbuch für den Basis-Dialog-Zustand des jeweiligen Sprachdialogs in der jeweiligen Anwendung in dem DSP 123.
  • Auf den Empfang der Nachricht StartLoadHMMDictionary 608 reagiert das DSP 123 mit einer Nachricht SMBRequestLoadHMMDictionary 609, mit der das aktive Vokabular des jeweiligen elektronischen Wörterbuches von dem Mikroprozessor 110 angefordert wird. Diese Anforderung SMBRequestLoadHMMDictionary 609 wird mit einer Bestätigungsnachricht 610 seitens des Mikroprozessors 110 nach erfolgtem Empfang quittiert.
  • Anschließend wird von dem DSP 123 eine Nachricht SMBRequestCodebookBlock 611 an den Mikroprozessor 110 übermittelt und der Mikroprozessor 110 reagiert darauf mit einer Nachricht CodebookBlockLoadedAndSwitched 612, mit der der Mikroprozessor 110 die Switched Memory Blocks (SMBs) mit den angeforderten Codebuch-Daten dem DSP 123 überträgt.
  • In einer weiteren Nachricht SMBRequestCodebookBlock 613 fordert der DSP zusätzliche Blöcke an, in denen das benötigte Codebuch, anders ausgedrückt die benötigten Codebuch-Daten, enthalten ist.
  • Auf die Nachricht SMBRequestCodebookBlock 613 reagiert der Mikroprozessor 110 wiederum mit einer Nachricht CodebookBlockLoadedAndSwitched 614, mit der er einen oder mehrere weitere SMBs mit den benötigten Codebuch-Daten dem DSP 123 überträgt, wobei nunmehr die gesamte Anzahl von Blöcken und benötigter Segmente in dem Spracherkenner bekannt sind.
  • Anschließend geht der Spracherkenner in den Stopp-Zustand STOP 302 über und verlässt diesen Zustand erst nach Empfang des Kommandos „Start", das von dem Mikroprozessor 110 dem DSP 123 mittels der Nachricht StartHMMSR 615 übermittelt, und der DSP 123 bestätigt den Empfang der Nachricht StartHMMSR 615 mit einer Bestätigungsnachricht 616.
  • In dem Betriebsmodus-Zustand 404 wird von dem DSP 123 in periodischen Zeitabständen, das heiß anschaulich für jedes Frame eine Nachricht SMBRequestCodebookBlock 617 an den Mikroprozessor 110 übermittelt, welcher daraufhin periodisch eine Antwortnachricht, ebenfalls für jedes Frame in Form einer Nachricht CodebookBlockLoadedAndSwitched 618 dem DSP 123 übermittelt, mit der der SMB umgeschaltet wurde und ein neuer Codebuch-Block seitens des Mikroprozessors 110 dem DSP 123 übermittelt wurde.
  • Die Nachrichten SMBRequestCodebookBlock 617 und CodebookBlockLoadedAndSwitched 618 werden für jedes Frame zwischen dem Mikroprozessor 110 und dem DSP 123 ausgetauscht so lange, bis von dem DSP 123 das Spracherkennungsergebnis in einer Nachricht HMMHypothesisStable 619 an den Mikroprozessor 110 übermittelt wird, welcher auf den Empfang mit einer Bestätigungsnachricht 620 reagiert.
  • Der DSP 123 bleibt trotz Übermittelns des Spracherkennungsergebnisses in dem Betriebsmodus-Zustand RUN 304.
  • Erst nach Erhalt einer Nachricht PauseHMMSR 621, welche von dem Mikroprozessor 110 gesendet wird, geht der DSP 123 in den Pausezustand PAUSE 303 über und sendet zuvor jedoch noch eine Bestätigungsnachricht 622 an den Mikroprozessor 110.
  • Somit ist ein Spracherkennungsergebnis in dem Mikroprozessor 110 verfügbar und der Mikroprozessor 110 entscheidet nunmehr, was in dem Sprachdialog anwendungsabhängig als nächstes geschehen soll.
  • Es wird im Folgenden angenommen, dass eine Anwendung mehrere unterschiedliche Geräte steuert, wobei ein Telekommunikationsgerät, insbesondere ein Telefon, nur eines unter vielen ist.
  • In diesem Fall wird in einem ersten Dialogschritt des Sprachdialogs mittels eines Verfahrens zur sprecherunabhängigen Spracherkennung ermittelt, welches Gerät tatsächlich gesteuert werden soll, beispielsweise ob ein CD-Spieler, ein Tonbandgerät, ein Kassettenrekorder, ein Radio, ein Telekommunikationsendgerät (wie beispielsweise ein Telefon, ein Telefaxgerät, ein Teletextgerät, ein Mobilfunkgerät, ein PDA, etc.) gesteuert werden soll.
  • Ohne Einschränkung der Allgemeingültigkeit wird nun angenommen, dass als zu steuerndes Gerät in dem ersten Sprachdialogschritt ein Telefon ausgewählt wird, so dass das Ergebnis des ersten Zyklus 502 ist, dass übergegangen werden soll in das Menü, anders ausgedrückt in den Sprachdialog-Zustand zur Steuerung eines Telefons.
  • In dem Fall, wenn ein Zustandsübergang von einem Sprachdialog-Zustand in einen anderen Sprachdialog-Zustand erfolgen soll, ist üblicherweise eine Veränderung des aktuell im Rahmen der Spracherkennung verwendeten elektronischen Wörterbuches, welches ja üblicherweise abhängig ist von dem jeweiligen Sprachdialog-Zustand, erforderlich.
  • In diesem Fall wird der zweite Zyklus 503 durchgeführt, wobei die ausgetauschten Nachrichten zwischen dem Mikroprozessor 110 und dem DSP 123 in einem Nachrichtenflussdiagramm 700 in 7 im Detail dargestellt ist.
  • In einer ersten Phase, in der sich der Spracherkenner in dem Pausenzustand PAUSE 303 befindet, wird von dem Mikroprozessor 110 eine Nachricht SetHMMSearchParams 701 an den DSP 123 übermittelt, um dem DSP 123 anzugeben, dass er neue Parameter für die Suche laden soll. Der Empfang dieser Nachricht wird mit einer Bestätigungsnachricht 702 von dem DSP 123 an den Mikroprozessor 110 bestätigt.
  • Anschließend wird von dem Mikroprozessor 110 eine Nachricht StartLoadHMMDictionary 703 an den DSP 123 übermittelt, mittels welcher Nachricht das Laden des elektronischen Wörterbuches für den jeweiligen neuen Sprachdialog-Zustand in den DSP 123 gestartet wird.
  • Mit einer Nachricht SMBRequestLoadHMMDictionary 704 fordert der Signalprozessor 123 von dem Mikroprozessor 110 das jeweilige elektronische Wörterbuch, aufgeteilt in Blöcken (SMB) zu jeweils 16 KBytes, an. Mit einer Bestätigungsnachricht 806 zeigt der Mikroprozessor 110 an, dass das angeforderte elektronische Wörterbuch in SMBs verfügbar ist und von dem DSP 123 in einen anderen Speicherort kopiert werden kann.
  • Mittels einer Nachricht StartHMMSR 706, welche von dem Mikroprozessor 110 an den DSP 123 gesendet und von diesem empfangen wird und seitens des DSP 123 mittels einer Bestätigungsnachricht 707 bestätigt wird, geht der Spracherkenner in dem DSP 123 in den Betriebsmodus-Zustand RUN 304 über und es erfolgt ein Nachrichtenaustausch in einer zweiten Phase, in welcher der DSP 123 für jeden Rahmen eine Nachricht SMBRequestCodebookBlock 708 an den Mikroprozessor 110 übermittelt, welcher auf diese Nachricht jeweils mit einer Nachricht CodebookBlockLoadedAndSwitched 709, ebenfalls für jeden Rahmen, reagiert. Mit der Nachricht CodebookBlockLoadedAndSwitched 709 wird dem DSP 123 von dem Mikroprozessor 110 jeweils mitgeteilt, dass der SMB umgeschaltet wurde und ein neuer Codebuch-Block mit Codebuch-Daten auf Seiten des Mikroprozessors 110 geladen wurde und somit für den DSP 123 verfügbar ist.
  • Diese Nachrichten SMBRequestCodebookBlock 708 und CodebookBlockLoadedAndSwitched 709 werden, wie oben beschrieben, für jeden Rahmen ausgetauscht so lange, bis der Spracherkenner ein Spracherkennungsergebnis ermittelt hat, woraufhin der DSP 123 eine Nachricht HMMHypothesisStable 710 an den Mikroprozessor 110 übermittelt, mit dem gleichzeitig angegeben wird, dass und welches Spracherkennungsergebnis von dem DSP 123 ermittelt worden ist.
  • Wiederum bleibt der Spracherkenner in dem Betriebsmodus-Zustand RUN 304.
  • Der Mikroprozessor 110 reagiert auf die Nachricht HMMHypothesisStable 710 mit einer Bestätigungsnachricht 711 und erst nach Erhalt eines Befehls „Pause" übermittelt der Mikroprozessor 110 dem DSP 123 eine Nachricht PauseHMMSR 712, der auf Empfang dieser Nachricht mit einer Bestätigungsnachricht 713 reagiert, woraufhin der Spracherkenner in den Pausezustand PAUSE 303 übergeht.
  • Zusammenfassend ist zu dem in 7 dargestellten zweiten Zyklus 503 anzumerken, dass für den Fall, dass sich der Spracherkenner in einem Sprachdialog-Zustand befindet, in dem sowohl Basiseinträge (sprecherunabhängig) als auch Listeneinträge (an sich sprecherabhängig, umgewandelt in Phonemfolgen, damit ebenfalls sprecherunabhängig) in einem Wörterbuch enthalten sind, das jeweils neue Wörterbuch ein dynamisches Wörterbuch ist.
  • Es enthält, wie oben beschrieben, sprecherunabhängige Befehle und an sich sprecherabhängige, benutzerdefinierte Listeneinträge beispielsweise in einer Telefonbuchliste.
  • Die Listeneinträge gemäß diesem Ausführungsbeispiel der Erfindung sind an einer festen Speicherstelle des Flashspeichers, welcher als Speicher 111 in dem Rechner 108 vorgesehen ist, gespeichert.
  • Neue Listeneinträge können erfindungsgemäß dem elektronischen Wörterbuch hinzugefügt werden und alte, nicht mehr benötigte Listeneinträge können aus dem elektronischen Wörterbuch entfernt werden, so dass eine dynamische, das heißt eine veränderbare, Anzahl Wörter in dem elektronischen Wörterbuch enthalten ist, welche von der Spracherkennungseinheit erkannt werden können unter Verwendung eines Verfahrens zur sprecherunabhängigen Spracherkennung. Es ist ferner anzumerken, dass auch der Suchraum von der aktuellen Anzahl und der Größe der in dem Wörterbuch enthaltenen Basiseinträge und Listeneinträge abhängig ist. Aus diesem Grund ist eine möglichst effiziente Dateiverwaltung, insbesondere eine effiziente Verwaltung der elektronischen Wörterbücher sinnvoll.
  • Zum Hinzufügen oder Entfernen von Listeneinträgen von dem sprecherabhängigen Teil des jeweiligen Wörterbuches, das heißt der Listeneinträge in dem Wörterbuch, ist eine Veränderung des aktuellen Wörterbuches erforderlich.
  • Insbesondere zum Hinzufügen neuer Listeneinträge ist der dritte Zyklus 507 vorgesehen, wie er im Folgenden in einem Nachrichtenflussdiagramm 800 (vergleiche 8) im Detail dargestellt ist.
  • Der dritte Zyklus 507 wird ausgeführt, wenn ein Zustandsübergang von einem Sprachdialog-Zustand in einen anderen Sprachdialog-Zustand keine Veränderung des Wörterbuches erfordert.
  • Ein Beispiel für einen solchen Zustandsübergang ist eine Eigenschleife, das heißt ein Übergang von einem Sprachdialog-Zustand in sich selbst.
  • Wie 8 zu entnehmen ist, wird in einer ersten Phase von dem Mikroprozessor 110 eine Nachricht StartHMMSR 801 an den DSP 123 übermittelt, welcher daraufhin mit einer Bestätigungsnachricht 802 den Erhalt der Nachricht StartHMMSR 801 quittiert, womit sich der Spracherkenner in dem Betriebsmodus-Zustand RUN 304 befindet.
  • Anschließend wird von dem DSP 123 eine Nachricht SMBRequestCodebookBlock 803 in entsprechender, oben im Zusammenhang mit dem zweiten Zyklus 603 beschriebener Weise für jeden Rahmen periodisch an den Mikroprozessor 110 übermittelt, welcher wiederum, wie oben beschrieben für jeden Rahmen mit einer Nachricht CodebookBlockLoadedAndSwitched 804 reagiert und damit die angeforderten Daten dem DSP 123 bereitstellt.
  • Der Austausch der Nachrichten SMBRequestCodebookBlock 803 und CodebookBlockLoadedAndSwitched 804 erfolgt in entsprechender Weise so lange, bis von dem DSP 123 ein Ergebnis der Spracherkennung ermittelt worden ist und das Ergebnis mittels einer Nachricht HMMHypothesisStable 805 an den Mikroprozessor 110 übermittelt wird, welcher den Empfang der Nachricht HMMHypothesisStable 805 mit einer Bestätigungsnachricht 806 quittiert.
  • Wiederum verbleibt der Spracherkenner in dem Betriebsmodus-Zustand RUN 404 und erst nach Erhalt eines Befehls „Pause" sendet der Mikroprozessor 110 eine Nachricht PauseHMMSR 807 an den DSP 123, welcher den Empfang mit einer Bestätigungsnachricht 808 quittiert, woraufhin der Spracherkenner in den Pausezustand PAUSE 403 übergeht.
  • Zusammenfassend wird somit in dem ersten Zyklus 502, der immer durchgeführt wird, nachdem ein HMM-Sprachdialog gestartet wird, das jeweilige HMM initialisiert.
  • Für jeden neuen Sprachdialog-Zustand ist es üblicherweise vorgesehen, ein neues elektronisches Wörterbuch in den DSP 123 zu laden. Um dies zu erreichen wird der zweite Zyklus 503 durchgeführt. In dem Fall, dass das aktuelle Wörterbuch verändert wird und nicht in einen anderen Dialog-Zustand übergegangen wird, wird ebenfalls der zweite Zyklus 503 verwendet.
  • Bei Verbleiben in dem aktuellen Sprachdialog-Zustand ohne Veränderung des Wörterbuches wird der dritte Zyklus 507 durchgeführt.
  • Somit sind üblicherweise in einer Spracherkennungsanwendung gemäß der Erfindung zwei voneinander zu unterscheidende Betriebsebenen vorgesehen.
  • Die erste Betriebsebene wird gebildet von der Kommunikation zwischen dem DSP 123 und dem Mikroprozessor 110 und die von dem DSP 123 ausgeführte Spracherkennung eines von einem Benutzer eingesprochenen Sprachsignals.
  • Die zweite Betriebsebene ist die Ebene der Software, die auf dem Mikroprozessor 110 abläuft, anders ausgedrückt, der Sprachdialog.
  • Somit sind die Aufgaben in einer Spracherkennungsanwendung zwischen dem Mikroprozessor 110 und dem DSP 123 derart aufgeteilt, dass üblicherweise die nicht so rechenintensive Realisierung des Sprachdialogs von dem Mikroprozessor 110 übernommen wird, und die sehr rechenintensive eigentliche Spracherkennung von dem DSP 123.
  • Die Dateiverwaltung, insbesondere die Verwaltung der elektronischen Wörterbücher erfolgt seitens des Mikroprozessors 110.
  • Der Mikroprozessor 110 übernimmt insbesondere folgende Aufgaben:
    • – Hinzufügen eines neuen Listeneintrags zu dem jeweiligen Wörterbuch,
    • – Entfernen eines Listeneintrags aus dem jeweiligen Wörterbuch,
    • – Entfernen der gesamten Liste aus dem Wörterbuch.
  • Die oben beschriebenen drei Aufgaben werden im Folgenden näher erläutert:
  • 1. Entfernen der gesamten Liste aus dem jeweiligen elektronischen Wörterbuch
  • Der Sprachdialog startet mit dem ersten Zyklus 502. Jeder Zustandsübergang von einem Sprachdialog-Zustand in den nächsten bewirkt die Ausführung des zweiten Zyklus 503.
  • Nach Erkennen des Befehls "Liste löschen" wird die Dateiverwaltung gestartet.
  • Alle Listeneinträge in der Liste des elektronischen Wörterbuches werden gelöscht.
  • Anschließend existiert noch immer ein elektronisches Wörterbuch, welches jedoch nunmehr nur noch die sprecherunabhängigen Basiseinträge enthält oder sogar leer ist, wenn das Wörterbuch nur an sich sprecherabhängige und benutzerdefinierte Einträge enthalten hat.
  • Nachdem die Liste aus dem Wörterbuch gelöscht ist wird das Spracherkennungsverfahren entweder beendet (Schritt 505) oder in dem dritten Zyklus 507 oder dem zweiten Zyklus 503 weitergeführt.
  • 2. Entfernen eines einzelnen Listeneintrags aus Bern jeweiligen Wörterbuch
  • Wiederum wird der Sprachdialog in dem ersten Zyklus 502 gestartet und möglicherweise wurden zuvor ein oder mehrere Zustandsübergänge unter Verwendung des zweiten Zyklus 503 zu anderen Sprachdialog-Zuständen durchgeführt.
  • Wird der Befehl "Lösche [Eintrag]" erkannt, so wird die Dateiverwaltung von dem Mikroprozessor 110 gestartet. Die Phonemkette [Eintrag) repräsentiert den erkannten an sich sprecherabhängigen Listeneintrag in dem Wörterbuch.
  • Dieser Eintrag wird aus der Liste in dem jeweiligen Wörterbuch entfernt.
  • Ferner ist gemäß diesem Ausführungsbeispiel vorgesehen, dass die Speicherverwaltung den Speicher, welcher mit dem Listeneintrag belegt ist, reorganisiert und somit wieder zum Belegen mit anderen Listeneinträgen freigibt. Auf diese Weise kann eine ökonomische Speicherverwaltung realisiert werden.
  • Um zu gewährleisten, dass tatsächlich der richtige gewünschte Listeneintrag aus dem elektronischen Wörterbuch entfernt wird, kann erfindungsgemäß eine Sicherheitsschleife vorgesehen sein, in welcher der Benutzer noch einmal gefragt wird, ob er tatsächlich den eingegebenen Listeneintrag löschen will. Dies bedeutet möglicherweise eine Selbstschleife in dem aktuellen Sprachdialog-Zustand ohne Verändern des Wörterbuches, das heißt in diesem Fall wird der dritte Zyklus 507 durchgeführt.
  • In diesem Fall werden die Phonemkette [Eintrag) und der „Lösche"-Befehl zwischengespeichert. Nachdem der gewünschte Eintrag aus dem Wörterbuch entfernt worden ist oder nachdem der Löschbefehl aufgrund einer Benutzereingabe, mit der in der Sicherheitsschleife angegeben ist, dass der angegebene Eintrag nicht gelöscht werden soll, beendet wird, kann der Sprachdialog und damit auch das Spracherkennungsverfahren beendet werden (Schritt 505) oder das Spracherkennungsverfahren kann mittels Übergangs in einen anderen Dialog-Zustand (zweiter Zyklus 503) oder einer Selbstschleife in dem aktuellen Dialog-Zustand (dritter Zyklus 507) weitergeführt werden.
  • 3. Hinzufügen neuer Listeneinträge zu dem jeweiligen Wörterbuch
  • Diese Aufgabe stellt die komplexeste Routine dar. Wie in den beiden vorangegangenen Vorgehensweisen wird auch diesmal mit dem ersten Zyklus 502 begonnen und der zweite Zyklus 503 kann einmal oder mehrmals durchgeführt worden sein.
  • Nach Empfang des Befehls "Ergänze [Eintrag]", welche von dem Spracherkenner erkannt wurde, geht das System in einen Sprachdialog-Zustand über, in dem das Phonem-Wörterbuch geladen wird, in welchem Phonem-Wörterbuch die zur Verfügung stehenden Phoneme, welche jeweils abhängig sind von der verwendeten Sprache, enthalten sind.
  • Der Spracherkenner fordert den Benutzer auf, die jeweilige Äußerung, welche dem Wörterbuch als Listeneintrag zugefügt werden soll, einmal oder mehrmals in das Spracherkennungssystem einzusprechen.
  • Es ist ersichtlich, dass die Äußerung zumindest einmal in das Spracherkennungssystem eingesprochen werden muss. Wie im Weiteren noch näher erläutert wird, ist die Erkennungsrate für den Listeneintrag umso besser, je mehr Repräsentanz-Äußerungen einer gleichen Sprachäußerung von der Spracherkennungseinheit erhalten wird, anders ausgedrückt, je häufiger eine gleiche Sprachäußerung von dem Benutzer in das Spracherkennungssystem eingesprochen wird.
  • Im Weiteren wird angenommen, dass drei Repräsentanz-Äußerungen verfügbar sind, das heißt dass die Sprachäußerung von dem Benutzer dreimal in das Spracherkennungssystem eingesprochen worden ist.
  • Erfindungsgemäß ist eine Computer-Variable vorgesehen, die die Anzahl von Eingaben einer Sprachäußerung in das Spracherkennungssystem, anders ausgedrückt, die Anzahl von Repräsentanz-Äußerungen angibt, welche Variable für jede neue Repräsentanz-Äußerung inkrementiert wird. Nach erfolgtem Einsprechen der ersten Äußerung werden der dritte Zyklus 507 durchgeführt, die erste Äußerung als Repräsentanz-Äußerung in einem Zwischenspeicher zwischengespeichert und der Wert der oben beschriebenen Computer-Variable um den Wert „1" erhöht.
  • In dem Fall, in dem der Wert der Computer-Variable gleich „3" ist, wird die im Folgenden näher erläuterte Vorgehensweise gestartet, bei der überprüft wird, ob die Äußerung als neuer Listeneintrag in dem elektronischen Wörterbuch gespeichert wird oder ob die gewünschte Äußerung in dem elektronischen Wörterbuch nicht gespeichert werden kann.
  • Anschaulich wird gemäß diesem Ausführungsbeispiel der Erfindung für eine als Listeneintrag einzutragende Äußerung überprüft, ob bei mehreren eingesprochenen Sprachsignalen zu einer gleichen Äußerung diese in einem Vergleichsraum ausreichend ähnlich zueinander sind und zumindest eine der Repräsentanz-Äußerungen der eingesprochenen Sprachsignale zu einer gleichen Sprachäußerung einen ausreichend großen Abstand von dem schon in dem Wörterbuch gespeicherten Wörtern oder Listeneinträgen aufweist und nur dann, wenn diese beiden Bedingungen erfüllt sind, wird das elektronische Wörterbuch um die neue eingesprochene Sprachäußerung ergänzt.
  • Auf diese Weise wird es ermöglicht, benutzerfreundlich und ressourcensparend ein elektronisches Wörterbuch für eine sprecherunabhängige Spracherkennung zu realisieren, wobei folgende Rahmenbedingungen angestrebt werden:
    • – Es soll eine möglichst geringe Anzahl von Eintrags-Annahmen bei ungleichen akustischen Äußerungen erfolgen;
    • – Es soll eine möglichst hohe Anzahl von Eintrags-Annahmen bei gleichen akustischen Äußerungen erfolgen;
    • – Es soll eine möglichst geringe Anzahl von zusätzlichen akustischen Ergänzungen erfolgen, was zu Ressourcenproblemen führen würde;
    • – Es soll ein Wortschatz gebildet werden, der eine möglichst hohe Erkennungsrate bietet.
  • Anschaulich werden somit Ähnlichkeitsmaße oder Distanzmaße als Schwellwertparameter eingesetzt, womit unter Verwendung von statistischen Verfahren auch der optimale Bereich des Spracherkenners für eine vorgegebene Anzahl von in dem Wörterbuch enthaltenen Wörtern oder Listeneinträgen bestimmt werden kann.
  • Zur Lösung des oben genannten Optimierungsproblems werden im Folgenden zwei Parameter eingeführt:
    • – MIN_FOR_WORD: Dieser Parameter, im Weiteren auch bezeichnet als Intra-Ähnlichkeitswert, dient zur Bestimmung der Ähnlichkeit zwischen den Eintragskandidaten untereinander,
    • – MAX_TO_DICT: Dieser Parameter, im Weiteren auch als Inter-Schwellwert bezeichnet, dient zur Bestimmung der Ähnlichkeit zwischen einem Eintragskandidaten und einem Eintrag des bereits vorhandenen Wortschatzes.
  • Basierend auf der Annahme, dass die Variablen MIN_FOR_WORD und MAX_TO_DICT voneinander statistisch unabhängig sind werden die für die jeweilige Anwendung optimalen Schwellwerte jeweils unabhängig voneinander bestimmt, wobei die Bestimmung der Schwellwerte in einer Trainingsphase erfolgt. Die in der Trainingsphase ermittelten Schwellwerte werden im Betrieb entsprechend als konstante Werte verwendet.
  • Das Trainingsverfahren zum Ermitteln der Schwellwerte wird im Folgenden für den konkreten Fall von zwei Eintragskandidaten erklärt. Es ist jedoch darauf hinzuweisen, dass das Verfahren auf eine beliebige Anzahl von Eintragskandidaten für eine Sprachäußerung anwendbar ist.
  • Darüber hinaus wird die Zahl der sprecherabhängigen Einträge auf N festgesetzt.
  • Als Ähnlichkeitsmaß wird im Weiteren die Distanz d(si, sj) verwendet. Die Distanz d(si, sj) ist ein Maß für den Abstand zwischen den Phonemfolgen si und sj. Gemäß diesem Ausführungsbeispiel wird eine normierte Distanz verwendet, da die Phonemketten auch ungleiche Längen aufweisen können.
  • Als Distanzmaß kann grundsätzlich ein beliebiges Maß, welches geeignet ist zum Bestimmen eines Abstandes zwischen zwei Symbolketten, das heißt anschaulich zwischen zwei Folgen lautsprachlicher Einheiten, gemäß diesem Ausführungsbeispiel zwischen zwei Phonemfolgen, beispielsweise das so genannte Levenstein-Abstandsmaß oder auch der so genannte Mahalanobis-Abstand, eingesetzt werden.
  • Ferner kann jede beliebige Vergleichsnorm verwendet werden, die obige Anforderung erfüllt.
  • Zunächst wird zur Bestimmung des Intra-Schwellwerts sowohl die Akzeptanzrate (AR) also die Falsch-Akzeptanzrate (FAR) ermittelt.
  • Eine Schwellwertvariable T nimmt in diesem Fall Zahlen aus dem Wertebereich des Intra-Schwellwerts MIN_FOR_WORD an. Für jede Realisierung der Schwellwertvariable T werden somit unter Verwendung einer Schleife, welche alle N Einträge einschließt, die Funktionswerte AR(T) und FAR(T) bestimmt.
  • Für beide Funktionen wird anschließend der Funktionsverlauf über die Schwellwertvariable T aufgetragen. Der optimale Intra-Schwellwert MIN_FOR_WORD* wird durch Auswertung eines im Weiteren näher erläuterten Optimalitätskriterium bestimmt.
  • Zunächst wird die Akzeptanzrate AR für gleiche akustische Sprachäußerungen, das heißt für den Fall, dass si = sj ist, berechnet.
  • Im statistischen Durchschnitt sollten in diesem Fall die relativen Distanzen d(si, sj) zwischen den Eintragskandidaten nur kleine Werte annehmen, das heißt die Distanz sollte gegen den Wert „0" gehen. Für einen kleinen Schwellwertvariablenwert T können die Werte der Distanz d(si, sj) jedoch den Schwellwertvariablenwert T übersteigen, womit die Akzeptanzrate gering wäre. Für einen großen Schwellwertvariablenwert T nimmt die Akzeptanzrate jedoch relativ schnell zu.
  • Die Akzeptanzrate ergibt sich gemäß folgender Vorschrift:
    Figure 00520001
    wobei mit NA R(T) die Anzahl der erfolgten Akzeptanzen für einen Schwellwertvariablenwert T bezeichnet wird.
  • Als Akzeptanzbedingung wird folgende Vorschrift verwendet, dass ein Eintrittskandidat akzeptiert wird, wenn gilt: d(si, sj) ≤ T. (19)
  • Die Funktion AR(T) wird für einen kleinen Schwellwertvariablenwert T ebenfalls einen kleinen Wert annehmen, anschließend ergibt sich ein monoton wachsender Funktionsverlauf, bis die Sättigung der Funktion AR(T), das heißt AR(T = 1), erreicht wird.
  • Anschließend wird die Falsch-Akzeptanzrate (FAR) für ungleiche akustische Sprachäußerungen, das heißt für den Fall das gilt si = sj, berechnet.
  • Im statistischen Durchschnitt sollten in diesem Fall die Werte der relativen Distanz d(si, sj) zwischen den Eintragskandidaten größere Werte annehmen. Für einen kleinen Schwellwertvariablenwert T würde die Distanz d(si, sj) den Intra-Schwellwert oftmals übersteigen und somit ist die Falsch-Akzeptanzrate gering. Für einen größeren Schwellwertvariablenwert T nimmt die Falsch-Akzeptanzrate relativ langsam zu.
  • Die Falsch-Akzeptanzrate wird in diesem Ausführungsbeispiel der Erfindung gemäß folgender Vorschrift ermittelt:
    Figure 00530001
    wobei mit NFAR(T) die Anzahl von Falsch-Akzeptanzen für einen Schwellwertvariablenwert T bezeichnet wird.
  • Die Falsch-Akzeptanzbedingung gemäß diesem Ausführungsbeispiel lautet: d(si, sj) ≤ T. (21)
  • Die Funktion FAR(T) wird ebenfalls für einen kleinen Schwellwertvariablenwert T einen kleinen Wert annehmen und es ergibt sich auch in diesem Fall ein monoton steigender Funktionsverlauf.
  • Im Vergleich zu der Funktion FAR(T) wird die Sättigung aber, verglichen mit der Funktion AR(T), erst für einen größeren Schwellwertvariablenwert T eintreten. Somit entspricht das Funktionsbild beider Funktionen AR(T) und FAR(T) qualitativ ungefähr dem einer Hysteresis-Kurve.
  • Trägt man beide Funktionsverläufe gegen die Schwellwertvariable T als Parameter auf, so ergibt sich der optimale Intra-Schwellwert MIN_FOR_WORD* an der Stelle, an der beide Kurven der Funktionen AR(T) und FAR(T) den größten Abstand zueinander haben, wie dies in dem Funktionsdiagramm 900 in 9 skizziert ist, das heißt es gilt:
    Figure 00540001
  • Anschließend wird der optimale Inter-Schwellwert berechnet. Bei dieser Berechnung sollte beachtet werden, dass nach jeder Abweisung einer einzutragenden Äußerung nach erfolgtem Vergleich mit dem Inhalt des elektronischen Wörterbuches eine akustische Ergänzung, das heißt ein erneutes Einsprechen der gleichen Äußerung durch den Benutzer angefordert werden sollte.
  • Unter einer akustischen Ergänzung ist das Einsprechen eines zusätzlichen Parameters zu der eigentlich einzusprechenden Äußerung, beispielsweise für den Fall, dass die Äußerung ein Nachname einer Person ist, zusätzlich der Vorname derjenigen Person, zu verstehen.
  • Eine akustische Ergänzung ist erfindungsgemäß jedoch nicht unbedingt erforderlich, alternativ kann auch einfach der Antrag auf Eintragung der neuen Äußerung in das elektronische Wörterbuch zurückgewiesen werden oder die Zurückweisung kann nach einer vorgegebenen Anzahl von eingesprochenen Äußerungen, nach denen noch immer kein qualitativ ausreichend hochwertiges Signal vorliegt, zurückgewiesen werden.
  • Für die nachfolgende Erläuterung wird angenommen, dass nur ein Vergleich pro Eintrag zugelassen ist. Anders ausgedrückt bedeutet dies, dass die akustische Erweiterung gemäß dem im Folgenden beschriebenen Ausführungsbeispiel nicht vorgesehen ist.
  • Findet man einen optimalen Schwellwert für diesen Fall, so wird auch die Anzahl der akustischen Ergänzungen auf ein vernünftiges Maß reduziert.
  • Der Schwellwertvariablenwert T nimmt in diesem Fall Zahlen aus dem Wertebereich des Inter-Schwellwerts MAX_TO_DICT an.
  • Unter Verwendung der Unabhängigkeitsannahme, wie sie oben dargelegt wurde, kann zur Durchführung der zweiten Optimierungsaufgabe der zuvor ermittelte Intra-Schwellwert MIN_FOR_WORD* eingesetzt werden.
  • Zunächst wird auf den Inter-Schwellwert MIN_FOR_WORD* die Akzeptanzrate (ARA) gemessen.
  • Für jeden Schwellwertvariablenwert T aus dem Wertebereich des Inter-Schwellwerts MAX_TO_DICT wird die relative Anzahl der sprecherabhängigen Einträge EAR(T) gemessen, das heißt EAR(T) ergibt sich gemäß folgender Vorschrift:
    Figure 00550001
    wobei mit NEAR(T) die Anzahl der aufgenommenen Kandidaten für einen Schwellwertvariablenwert T bezeichnet wird.
  • Als Akzeptanzbedingung wird folgende Vorschrift verwendet: d(wk+1, W) ≥ T, (24) wobei mit
    • – W der in dem Wörterbuch bereits gespeicherte Wortschatz, das heißt die gespeicherten Wörter oder die gespeicherten Listeneinträge (W = [w1, w2, w3, ..., wk]) und
    • – wk+1 der neue Eintrag

    bezeichnet wird.
  • Für einen kleinen Schwellwertvariablenwert T werden auch Einträge akzeptiert, welche nur einen geringen Abstand zum vorhandenen Wortschatz W in dem jeweiligen Vergleichsraum aufweisen. Für einen großen Schwellwertvariablenwert T hingegen werden kaum noch Einträge aufgenommen. Die Funktion EAR(T) weist somit einen monoton fallenden Verlauf auf.
  • Anschließend wird die Erkennungsrate für den jeweils aktuellen Schwellwertvariablenwert T unter Verwendung des aktuellen Gesamtwortschatzes M(T) bestimmt.
  • In diesem Zusammenhang ist anzumerken, dass die Gesamtzahl von Einträgen im Wörterbuch abhängig ist von dem aktuellen Schwellwertvariablenwert T. Sind sprecherabhängige und sprecherunabhängige Einträge in dem jeweiligen gemeinsamen Wörterbuch vorhanden, so ergibt sich der Gesamtwortschatz M(T) aus der Summe der Anzahl der sprecherabhängigen Einträge und der sprecherunabhängigen Einträge. Die Erkennungsrate ER(T) ergibt sich somit gemäß folgender Vorschrift:
    Figure 00560001
    wobei mit NC RW(T) die Anzahl der korrekt erkannten Wörter für einen Schwellwertvariablenwert T bezeichnet wird.
  • Für einen kleinen Schwellwertvariablenwert T werden relativ viele Einträge in das gemeinsame elektronische Wörterbuch aufgenommen, die Verwechslungsgefahr ist somit entsprechend hoch, die Worterkennungsrate dagegen relativ niedrig. Für einen großen Schwellwertvariablenwert T werden weniger Einträge zum Speichern in dem gemeinsamen Wörterbuch akzeptiert, womit jedoch aufgrund des zunehmenden Abstands der Einträge in dem Wortschatz untereinander die Erkennungsrate ER(T) zunimmt. Die Funktion ER(T) weist somit einen monoton steigenden Verlauf auf.
  • Zur Bestimmung des Optimalitätskriteriums ist anzumerken, dass die Forderung gilt, für ein festes N einen optimalen Bereich des Inter-Schwellwerts MAX_TO_DICT zu finden.
  • Somit wird ein Kompromiss zwischen der Anzahl der aufzunehmenden Einträge und der zugehörigen Erkennungsrate ER(T) erforderlich.
  • Beobachtet man die Funktion EAR(T) bis nach Verlassen des Maximums, das heißt solange EAR(T) den Wert „1" aufweist, in welchem Bereich immer N Wörter aufgenommen werden zur Speicherung in dem elektronischen Wörterbuch, so kann die entsprechende Erkennungsrate ER(T) in Abhängigkeit von dem Schwellwertvariablenwert T mittels einfachen Ablesens oder mittels entsprechender automatisierter Auswertung ermittelt werden.
  • Es ist zu beachten, dass die Normierung der Erkennungsrate bis zum Verlassen des Maximums von EAR(T) auf den Wert M(T) = N erfolgt.
  • Demnach ergibt sich ein Arbeitsbereich für den Inter-Schwellwert MAX_TO_DICT, welcher zu niedrigen Werten des Schwellwertvariablenwert T von der minimalen Erkennungsrate ERMIN|N bei fest vorgegebener Anzahl von sprecherabhängigen Einträgen N in dem Wörterbuch begrenzt ist.
  • Diese Situation ist in dem Funktionsdiagramm 1000 in 10 dargestellt. Nach oben wird der Inter-Schwellwert MAX_TO_DICT von der maximalen Erkennungsrate ERMAX|N bei einer fest vorgegebenen Anzahl sprecherabhängiger Einträge in dem Wörterbuch begrenzt.
  • Für den Inter-Schwellwert MAX_TO_DICT muss somit gelten:
    Figure 00580001
  • Dieses erfindungsgemäße zweistufige statistische Verfahren weist den Vorteil auf, dass bei gegebener Anzahl von sprecherabhängigen Einträgen N ein Arbeitsbereich gefunden wird, in dem sich die Erkennungsrate bewegen kann.
  • Umgekehrt ist es ebenso möglich, eine minimale Erkennungsrate zu fordern und dann die maximale Anzahl von Einträgen, die zum Einspeichern in dem Wörterbuch zugelassen sind, zu ermitteln.
  • In dem Sprachdialog-Zustand, in dem sprecherabhängige und sprecherunabhängige Einträge in dem Wörterbuch gespeichert sind, ist es möglich, neue benutzerdefiniert Namen, das heißt allgemein benutzerdefinierbare Äußerungen in dem Wörterbuch als Listeneintrag hinzuzufügen oder einen alten Listeneintrag aus dem Wörterbuch zu löschen.
  • In beiden Fällen verwaltet der Mikroprozessor 110 die Datei, welche das Wörterbuch repräsentiert. Nachdem die Datei verändert worden ist, kann die Spracherkennungseinheit wieder zur Spracherkennung aktiviert werden.
  • So lange der Sprachdialog fortgesetzt wird, wird der zweite Zyklus 503 wiederholt, in welchem Zyklus die Nachricht StartLoadHMMDictionary mit dem jeweiligen Kennzeichner, das heißt der ID versehen wird des jeweiligen definierten Wörterbuches, wobei anzumerken ist, dass die ID für die jeweilige Anwendung unverändert bleibt und somit zur Laufzeit nicht verändert werden kann.
  • Um einen neuen Eintrag in das elektronische Wörterbuch einzufügen bedeutet dies, dass für den ersten Schritt das elektronische Wörterbuch nicht geändert wird, weshalb der dritte Zyklus 507 durchgeführt wird, um in den aktuellen Sprachdialog-Zustand zurückzukehren.
  • Um eine neue Äußerung zu der sprecherabhängigen Liste in dem Wörterbuch hinzuzufügen, wird zunächst ein spezielles Wörterbuch geladen, nämlich das Phonem-Wörterbuch. Die Äußerung wird unter Verwendung der in dem Phonem-Wörterbuch gespeicherten Phoneme analysiert.
  • Die Dateiverwaltung der Wörterbuchdatei, welche sprecherabhängige Listeneinträge gespeichert hat, ist wie oben angegeben, eine Aufgabe des Mikroprozessors 110.
  • Nach Erkennen eines Befehls, welches die Anwendung anstößt, einen Eintrag in dem Wörterbuch zu löschen oder dem Wörterbuch einen Eintrag hinzuzufügen, kann der Spracherkenner in den Pausezustand PAUSE 303 gesetzt werden oder er kann beendet werden (Schritt 505).
  • Dann kann die Dateiverwaltung durchgeführt werden.
  • Der Prozess der Dateiverwaltung, im Rahmen dessen auf das Wörterbuch zugegriffen wird, startet, indem die sprecherabhängige eingesprochene Äußerung mit allen in dem Wörterbuch gespeicherten Einträgen verglichen wird, sowohl mit den sprecherabhängigen Einträgen als auch mit den sprecherunabhängigen Einträgen.
  • In dem Fall, in dem ein Eintrag aus dem Wörterbuch gelöscht werden soll, wird der entsprechende Eintrag in dem gesamten Wörterbuch gesucht.
  • Die Dateiverwaltung ist verantwortlich für das Löschen der Einträge oder das Ändern irgendwelcher Einträge nur in der sprecherabhängigen Liste von Einträgen in dem Wörterbuch.
  • Im Rahmen der Dateiverwaltung ist dem Mikroprozessor 110 die für das Wörterbuch zur Verfügung stehende Speichergröße bekannt, das heißt insbesondere ist dem Mikroprozessor 110 bekannt, an welcher Stelle des Speichers 111 die sprecherabhängige Liste beginnt und an welcher sie endet.
  • In dem Fall, in dem der Speicher 111 voll belegt ist oder anders ausgedrückt, in dem Fall, in dem nicht genug Speicherplatz für das Aufnehmen einer neuen Äußerung in dem Speicher 111 enthalten ist, wird der Antrag auf Eintragen einer neuen Äußerung zurückgewiesen.
  • Die Zurückweisung kann unter Verwendung spezieller Sprach-Prompts, beispielsweise vordefinierter und aufgenommener Sprach-Prompts für die unterschiedlichen Fälle erfolgen:
    • – Ein dem Benutzer auszugebender möglicher Sprach-Prompt für den Fall, dass eine eigentlich als Befehl gedachte Eingabe nicht als ein Wort erkannt wurde, das in dem Wörterbuch enthalten ist, ist: "Wie bitte?"
    • – Für den Fall, dass die Äußerung, die dem Wörterbuch hinzugefügt werden soll, schon in dem Wörterbuch vorhanden ist, ist ein dem Benutzer auszugebender möglicher Sprach-Prompt: "[Eintrag] ist schon verfügbar."
    • – Für den Fall, dass kein Speicherplatz mehr verfügbar ist, ist ein dem Benutzer auszugebender möglicher Sprach-Prompt: "[Liste] ist voll."
  • Im Folgenden ist ein Beispiel für eine solche Verwaltung in einer Metasprache in einem C-Pseudocode angegeben:
    Figure 00610001
  • Im Folgenden wird ein erstes Ausführungsbeispiel für einen konkreten Sprachdialog näher erläutert.
  • Es werden unterschiedliche Sprachdialog-Zustände angegeben und es werden die Aktionen des Systems aufgezeigt, die nach Erkennen eines definierten Befehls durchgeführt werden.
  • Der Sprachdialog gemäß diesem Ausführungsbeispiel der Erfindung ist ein vereinfachter schematischer Telefon-Sprachdialog.
  • In den 11A und 11B sind in einer ersten Tabelle 1100 die gemäß diesem Ausführungsbeispiel definierten Sprach-Prompts (11A) aufgeführt und in der in 12B gezeigten Tabelle 1101 zusätzliche Systemreaktionen.
  • Unter einem Sprach-Prompt ist eine vordefinierte Äußerung des Systems zu verstehen, die entweder eine zuvor aufgenommene und einfach nur von dem Rechner 108 wiedergegebene Sprachäußerung eines Systemverwalters darstellt oder es kann ein synthetisiertes Sprachsignal sein, welches aus textueller Information zu einem Sprachsignal mittels des Rechners 108 umgewandelt wurde.
  • Unter der zusätzlichen Systemreaktion sind Aktionen des Systems zu verstehen, nachdem ein spezieller Befehl von dem Spracherkenner erkannt worden ist.
  • 12 zeigt ein HMM-Zustandsdiagramm 1200 für einen ersten Zustand 0, in dem die HMMs noch nicht gestartet sind.
  • Das Zustandsdiagramm 1200 ist derart zu verstehen, dass nach Erhalt des Befehls 1201 StartHMMSRFlowgraph 1202 die Aktion 1203 des Zustandsübergangs 1204 in den zweiten Zustand sowie die Ausgabe 1205 des Sprach-Prompts <a> erfolgt, das heißt die Ausgabe des Pieptons mittels des Lautsprechers 121.
  • 13A zeigt ein HMM-Zustandsdiagramm 1300 für den zweiten Zustand 1 sowie 13B das zugehörige Ablaufdiagramm.
  • Wie dem Sprachdialog-Zustandsdiagramm 1300 zu entnehmen ist, weist das Wörterbuch in diesem zweiten HMM-Zustand 1 folgende Einträge auf: "CD-Spieler, Kassettenrekorder, Radio, Telefon, Abbrechen", anders ausgedrückt, der Spracherkenner lädt in dem zweiten Sprachdialog-Zustand 1 dieses Wörterbuch und kann auch nur die Wörter erkennen, die in diesem elektronischen Wörterbuch enthalten sind.
  • Erkennt der Spracherkenner die empfangenen Worte als einen Befehl, wie sie in der Befehlsliste in dem Sprachdialog-Zustandsdiagramm 1300 enthalten sind, so wird ein entsprechender Zustandsübergang initiiert in einen nächsten Folgezustand, wobei die Sprachdialog-Zustände 2, 3 und 4 im Weiteren aus Gründen der Übersichtlichkeit nicht näher erläutert werden.
  • Es wird somit ohne Einschränkung der Allgemeingültigkeit im Folgenden lediglich der Sprachdialog hinsichtlich der Telefon-Anwendung näher erläutert, das heißt die Verzweigung des Sprachdialogs für den Fall, wenn der Befehl "Telefon" erkannt wurde und somit in den sechsten Sprachdialog-Zustand 5, wie er in dem Sprachdialog-Zustandsdiagramm 1400 in 14A und dem zugehörigen Ablaufdiagramm 1410 in 14B dargestellt ist.
  • Das Wörterbuch des sechsten Sprachdialog-Zustands 5 weist folgende Begriffe auf: "Nummer, Wählen, Name, Speichern, Löschen, Abbrechen" als Basiseinträge, das heißt als sprecherunabhängige Einträge und eine Liste von sprecherabhängigen Einträgen, in 14A bezeichnet mit <Name>.
  • Für den Fall, dass der Befehl "Wähle Nummer" von einem Benutzer eingegeben und von dem Spracherkenner erkannt wurde, wird in einen siebten Sprachdialog-Zustand 6 verzweigt und es werden die Sprach-Prompts <g> und <a> ausgegeben.
  • Das Sprachdialog-Zustandsdiagramm 1500 für den siebten Sprachdialog-Zustand 6 ist in 15A und das dazugehörige Ablaufdiagramm 1510 in 15B dargestellt.
  • Das Wörterbuch in dem siebten Sprachdialog-Zustand 6 weist folgende Einträge auf: "Null, Eins, Zwei, Drei, Vier, Fünf, Sechs, Sieben, Acht, Neun, Wählen, Abbrechen", welche Worte in dem siebten Sprachdialog-Zustand 6 von dem sprecherunabhängigen Spracherkenner erkannt werden können.
  • Je nachdem, welcher Befehl von dem Spracherkenner erkannt wird, wird entweder in dem siebten Sprachdialog-Zustand 6 verharrt, beispielsweise in dem Fall, wenn Ziffern erkannt werden, welche zwischengespeichert werden oder es wird in den ersten Zustand 0 übergegangen für den Fall, dass der Befehl "Wähle" oder der Befehl "Abbrechen" erkannt wird.
  • Für den Fall, dass in dem sechsten Sprachdialog-Zustand 5 der Befehl "Speicher Name" erkannt wurde, wird in den achten Sprachdialog-Zustand 7 verzweigt, welcher in dem Sprachdialog-Zustandsdiagramm 1600 in 16A und das zugehörige Ablaufdiagramm 1610 in 16 dargestellt ist.
  • Für den achten Sprachdialog-Zustand 7 ist ein elektronisches Wörterbuch mit folgenden Einträgen vorgesehen: "Null, Eins, Zwei, Drei, Vier, Fünf, Sechs, Sieben, Acht, Neun, Wählen, Abbrechen".
  • Ferner ist vorgesehen, dass in diesem Zustand im Wesentlichen drei Befehle erkannt und verarbeitet werden können, nämlich die Eingabe von einzelnen Ziffern, woraufhin in dem achten Sprachdialog-Zustand 7 verblieben wird und die jeweils erkannte Ziffer zwischengespeichert wird; den Befehl des Speicherns, woraufhin in einen im Weiteren näher erläuterten neunten Sprachdialog-Zustand 8 übergegangen wird unter Ausgabe des Sprach-Prompts <p> und des Pieptons <a> sowie den Befehl "Abbrechen", woraufhin in den ersten Sprachdialog-Zustand 0 übergegangen wird unter Ausgabe des Sprach-Prompts <f> (vgl. 11A).
  • Das Sprachdialog-Zustandsdiagramm 1700 des neunten Sprachdialog-Zustands 8 ist in 17A und das zugehörige Ablaufdiagramm 1710 ist in 17B dargestellt.
  • In dem neunten Sprachdialog-Zustand 8 wird ein eingegebener Name in eine Folge von Phonemen umgewandelt unter Verwendung des Phonem-Wörterbuches, welches das Wörterbuch des neunten Sprachdialog-Zustands darstellt.
  • Nach Erkennen des Befehls <Name> wird in den zehnten Sprachdialog-Zustand 9 übergegangen, in dem der jeweilige Listeneintrag in dem elektronischen Wörterbuch gespeichert wird.
  • Das Sprachdialog-Zustandsdiagramm 1800 für den zehnten Sprachdialog-Zustand 9 und das zugehörige Ablaufdiagramm 1810 sind in den 18A bzw. 18B dargestellt.
  • Nach erfolgtem Speichern des Namens in dem elektronischen Wörterbuch wird in den ersten Sprachdialog-Zustand 0 übergegangen.
  • Im Folgenden wird ein zweites, vereinfachtes Ausführungsbeispiel der Erfindung näher erläutert.
  • 19 zeigt ein Sprachdialog-Zustandsdiagramm 1900 eines ersten Sprachdialog-Zustands 1 gemäß dem zweiten Ausführungsbeispiel der Erfindung.
  • Das Wörterbuch des ersten Sprachdialog-Zustands 1 weist folgende Einträge auf: "Name, Speichern, Löschen, Wählen, Telefonbuch, Hilfe, Ja, Nein, Liste von Namen".
  • Folgende Befehle 1902 sind in dem ersten Sprachdialog-Zustand 1 definiert und können von dem Spracherkenner erkannt werden: "Name speichern, <Name> löschen, <Name> wählen, Telefonbuch löschen, Ja, Nein, Hilfe".
  • Die Befehle sind mit den entsprechenden, im Folgenden näher erläuterten Aktionen 1903 eindeutig verknüpft.
  • So wird nach Erkennen des Befehls „Name speichern" in den zweiten Sprachdialog-Zustand 2 übergegangen und es wird das Phonem-Wörterbuch geladen. Ferner wird folgender Sprach-Prompt an den Benutzer ausgegeben: „Bitte sprechen Sie den Namen."
  • Wird der Befehl „<Name> löschen" erkannt, so wird kein Sprachdialog-Zustands-Übergang durchgeführt, sondern es wird einerseits der Sprach-Prompt: „Wollen Sie wirklich <Name> löschen?" ausgegeben und es werden sowohl die Angabe als auch der Befehl „<Name> löschen" zwischengespeichert.
  • Wird der Befehl „<Name> wählen" erkannt, so wird wiederum nicht in einen anderen Sprachdialog-Zustand übergegangen und es wird folgender Sprach-Prompt ausgegeben: „Wollen Sie wirklich <Name> wählen?" und die Angaben von „<Name>" und von „<Name> wählen" werden zwischengespeichert.
  • Nach Erkennen des Befehls „Telefonbuch löschen" wird weiterhin ebenfalls in dem ersten Sprachdialog-Zustand 1 verharrt und es wird der Sprach-Prompt ausgegeben: „Wollen Sie wirklich das Telefonbuch löschen?" und der Befehl „Telefonbuch löschen" wird zwischengespeichert.
  • Für den Fall, dass der Befehl „Ja" erkannt wird, wird ebenfalls in dem ersten Sprachdialog-Zustand 1 verharrt und es wird der in dem Zwischenspeicher zwischengespeicherte Befehl mit der zugehörigen Information ausgeführt und abhängig von dem jeweiligen zwischengespeicherten Befehl wird die Dateiverwaltung gestartet.
  • Beispielsweise wird für den Fall, dass der Befehl „<Name> löschen" zwischengespeichert ist der zwischengespeicherte „<Name>" aus dem Wörterbuch, das heißt der Namensliste, gelöscht. Ferner wird das Basiswörterbuch erneut geladen.
  • Ist der Befehl „<Name> wählen" zwischengespeichert, so wird die dem zwischengespeicherten „<Name>" zugehörige Ziffernfolge von dem Telefon gewählt, anders ausgedrückt, der Aktor steuert das Telefon derart, dass eine Kommunikationsverbindung zu dem Teilnehmer mit der zugehörigen Telefonnummer aufgebaut wird.
  • Ist der Befehl „Telefonbuch löschen" zwischengespeichert, so wird die gesamte „Liste", wie sie als Information ebenfalls zwischengespeichert ist, aus dem Wörterbuch gelöscht. Ferner wird das Basiswörterbuch erneut geladen.
  • Erkennt der Spracherkenner den Befehl „Nein", so wird in dem ersten Sprachdialog-Zustand verweilt und es werden als Aktionen der Speicher initialisiert und das Basiswörterbuch 1901 erneut geladen.
  • Für den Fall, dass der Befehl „Hilfe" erkannt wurde, so werden dem Benutzer alle in diesem Sprachdialog-Zustand verfügbaren Befehle grafisch zur Auswahl dargestellt.
  • 20 zeigt ein Sprachdialog-Zustandsdiagramm 2000 für einen zweiten Sprachdialog-Zustand 2 gemäß dem zweiten Ausführungsbeispiel der Erfindung.
  • In dem Phonem-Wörterbuch 2001 sind die verfügbaren Phoneme gespeichert, als mögliche Befehle 2002 können die benutzerdefinierten Einträge <Name> erkannt werden und als Aktion 2003 eines erkannten Befehls ist vorgesehen, in dem zweiten Sprachdialog-Zustand zu verbleiben und die Zahl der erlaubten Versuche um den Wert 1 zu erhöhen, und für den Fall, dass die Zahl erlaubter Versuche überschritten wurde, in den ersten Sprachdialog-Zustand 1 überzugehen.
  • Ist keine Äußerung in dem zweiten Sprachdialog-Zustand in dem Zwischenspeicher zwischengespeichert, so wird die erste Phonemfolge, das heißt die erste Äußerung, zwischengespeichert. Ist jedoch schon eine Äußerung in dem Zwischenspeicher zwischengespeichert, so wird die Äußerung als zweite Äußerung in Form einer zweiten Phonemkette zwischengespeichert.
  • Für den Fall, dass schon zwei Äußerungen zwischengespeichert worden sind, wird die eingesprochene Äußerung als dritte Äußerung in Form einer dritten Phonemkette zwischengespeichert und anschließend wird die Dateiverwaltung gestartet, welche folgende Verfahrensschritte durchführt:
    Zunächst erfolgt ein Matching der drei zwischengespeicherten Äußerungen. Für den Fall, dass kein Match der drei zwischengespeicherten Äußerungen erreicht wird, wird die Anforderung zurückgewiesen, der Zwischenspeicher geleert und die Aktionen des zweiten Sprachdialog-Zustandes 2003 werden erneut durchgeführt.
  • Anschließend werden die zwei besten Äußerungen mit den in dem Wörterbuch enthaltenen Einträge verglichen. Wenn die Ähnlichkeit im Sinne der obigen Beschreibung unter Verwendung des Inter-Schwellwerts zu groß ist, wird der Antrag auf Eintragen eines zusätzlichen Namens in das Wörterbuch zurückgewiesen und der Zwischenspeicher wird geleert. In diesem Fall wird die Aktion 2003 des zweiten Sprachdialog-Zustandes erneut durchgeführt.
  • Für den Fall, dass kein Match erzeugt werden konnte, wird überprüft, ob der Speicher schon voll belegt ist und für den Fall, dass der Speicher voll belegt ist, wird der Antrag auf Eintragen eines neuen benutzerdefinierten Eintrags in das Wörterbuch zurückgewiesen und es erfolgt ein Sprachdialog-Zustandsübergang in den ersten Sprachdialog-Zustand 1 und gleichzeitig wird das Basiswörterbuch geladen.
  • Für den Fall, dass ausreichend freier Speicherplatz verfügbar ist und die obigen Überprüfungen positiv verlaufen sind, wird der gewünschte benutzerdefinierte Eintrag als Listeneintrag dem Wörterbuch hinzugefügt. Als Sprach-Prompt wird in diesem Fall die beste akustische Repräsentation der eingegeben sprachlichen Äußerung gespeichert.
  • Anschließend erfolgt ein Sprachdialog-Zustandsübergang in den im Folgenden näher erläuterten dritten Sprachdialog-Zustands 3 unter gleichzeitigem Laden eines Ziffern-Wörterbuches 2101, genauer des Wörterbuches, welches in dem dritten Sprachdialog-Zustand 3 verwendet wird.
  • Ein Sprachdialog-Zustandsdiagramm 2100 des dritten Sprachdialog-Zustands ist in 21 dargestellt.
  • Das elektronische Wörterbuch 2101 des dritten Sprachdialog-Zustands 3 weist folgende Einträge auf: „Null, Eins, Zwei, Zwo, Drei, Vier, Fünf, Sechs, Sieben, Acht, Neun, Speichern, Korrektur, Zurück, Abbrechen, Hilfe".
  • Als Befehle 2102 sind folgende Befehlsketten von dem Spracherkenner erkennbar und interpretierbar: „<Ziffernblock>, Speichern, Korrektur, Zurück, Abbrechen, Hilfe".
  • Wird der Befehl „<Ziffernblock>" erkannt, so werden die jeweils erkannten Ziffern in dem Zwischenspeicher zwischengespeichert und der Spracherkenner verbleibt in dem dritten Sprachdialog-Zustand 3.
  • Wird der Befehl „Speichern" erkannt, so wird der Inhalt des Zwischenspeichers in der Liste von Telefonnummern gespeichert und es erfolgt ein Sprachdialog-Zustandsübergang in den ersten Sprachdialog-Zustand 1 unter gleichzeitigem Laden des Basis-Wörterbuches.
  • Bei Erkennen des Befehls „Korrektur" wird als Aktion 2103 der zeitlich zuletzt erkannte Ziffernblock, welcher im Zwischenspeicher zwischengespeichert ist, gelöscht. Ferner wird in dem dritten Sprachdialog-Zustand 3 verblieben.
  • Bei Erkennen des Befehls „Zurück" wird ebenfalls in dem dritten Sprachdialog-Zustand 3 verblieben und die in dem Zwischenspeicher zwischengespeicherte letzte Ziffer wird gelöscht.
  • Bei Erkennen des Befehls „Abbrechen" wird in den ersten Sprachdialog-Zustand 1 übergegangen unter gleichzeitigem Laden des Basis-Wörterbuches.
  • Bei Erkennen des Befehls „Hilfe" werden dem Benutzer wieder alle in dem dritten Sprachdialog-Zustand 3 verfügbaren Befehle zur Auswahl dargestellt.
  • 22 zeigt ein Mobilfunk-Telefongerät 2200, in dem die in 1 dargestellte Spracherkennungseinrichtung 100 integriert ist. Ferner kann in das Mobilfunk-Telefongerät 2200 ein PDA (Personal Digital Assistant) integriert sein sowie weitere Telekommunikations-Funktionen, wie beispielsweise das Senden und/oder Empfangen von Faxmitteilungen oder von SMS-Mitteilungen (Short Message Service-Mitteilungen) oder von MMS-Mitteilungen (Multimedia Message Service-Mitteilungen). Ferner kann das Mobilfunk-Telefongerät 2200 um zusätzliche Multimediafunktionalitäten erweitert sein, beispielsweise kann eine Kamera in das Mobilfunk-Telefongerät 2200 integriert sein.
  • 23 zeigt ein Autoradio 2300, in dem (symbolisch in 23 dargestellt) eine Vielzahl unterschiedlicher Komponenten integriert sind, so beispielsweise ein Navigationssystem 2301, ein CD-Spieler 2302, ein Kassettenrekorder 2303, ein Radio 2304, ein Telefongerät mit Freisprechanlage 2305 sowie die Spracherkennungseinrichtung 100, wie sie in l dargestellt ist. Die Information kann sowohl mittels der Spracherkennungseinrichtung 100 als auch über einen Bildschirm 2306 zwischen dem Benutzer und dem Autoradio 2300 ausgetauscht werden.
  • Gerade zur Steuerung eines eine Vielzahl von unterschiedlichen Funktionalitäten bereitstellenden Systems, wie eines mit einer Vielzahl unterschiedlicher Funktionen versehenen Autoradios 2300 eignet sich die Erfindung sehr gut, da sehr flexibel und sprecherunabhängig eine beliebig komplizierte Sprachdialog-Struktur aufgebaut und realisiert werden kann.
  • Für die oben dargelegten Abstandsberechnungen, insbesondere im Rahmen der Ergänzung des jeweiligen elektronischen Wörterbuchs und dabei im Rahmen der Überprüfung, ob die jeweilige phonetische Transkription, d.h. die jeweilige Folge von Phonemen genügend repräsentativ für den aktuellen Namenseintrag ist, d.h. anders ausgedrückt, ob sich die jeweiligen Folgen lautsprachlicher Einheiten, d.h. die Phonemfolgen einander ausreichend ähnlich sind bzw. für die Überprüfung, ob die jeweils zur Ergänzung eines elektronischen Wörterbuchs vorgesehene Phonemfolge sich genügend stark von den in dem elektronischen Wörterbuch bereits vorhandenen und gespeicherten Phonemfolgen unterscheidet, wird das im Weiteren beschriebene Verfahren unter Verwendung einer Variante der Levenshtein-Distanz verwendet.
  • Für die Abstandsbestimmung zweier Phonemfolgen wird, wie oben dargelegt, die Levenshtein-Distanz, in erfindungsgemäßer Ergänzung um die Artikulations-Merkmalsvektoren im Rahmen der Kostenfunktion, verwendet.
  • Gemäß dem Levenshtein-Verfahren unter Verwendung der Levenshtein-Distanz werden zwei Folgen lautsprachlicher Einheiten, allgemein Symbolfolgen, miteinander verglichen in der Weise, dass mittels Einfügungen (q), Auslassungen (r) sowie Vertauschungen (c) einzelner Elemente eine erste Symbolfolge auf eine zweite Symbolfolge abgebildet wird.
  • Die im Rahmen der Abbildung entstehenden Kosten werden mittels einer Kostenfunktion beschrieben und können als Abstand der zwei miteinander zu vergleichenden Symbolketten, gemäß diesem Ausführungsbeispiel der zwei Phonemfolgen, betrachtet werden.
  • Zu Beginn des Verfahrens wird eine Vielzahl von Artikulations-Merkmalsvektoren ermittelt, wobei jeweils ein Artikulations-Merkmalsvektor jeweils einem Phonem zugeordnet wird und in dem Speicher gespeichert wird.
  • Die Artikulations-Merkmalsvektoren werden gemäß dem in [3] beschriebenen Verfahren gebildet und sind in der folgenden Tabelle für die Phoneme der deutschen Sprache zusammengefasst, wobei auch ein Pausen-Phonem in dem Satz vorgesehener Phoneme zur Beschreibung der deutschen Sprache vorgesehen ist.
  • Figure 00730001
  • Erfindungsgemäß wird von der Erkenntnis Gebrauch gemacht, dass die Artikulationseinstellungen zur Sprachproduktion in engem Zusammenhang zur Ausprägung der physikalischen Merkmale eines Phonems stehen.
  • Wie in [3] gezeigt, haben experimentelle Untersuchungen an natürlich-sprachlichen Datenbasen für unterschiedliche Sprecher gezeigt, dass den Phonemen einer Sprecherwörterbasis gemäß der Ausprägung ihrer physikalischen Merkmale verschiedene Kategorien der artikulatorischen Einstellungen zugeordnet werden können.
  • Erfindungsgemäß sind als Elemente (Komponente) des Artikulations-Merkmalsvektors zur Berücksichtigung artikulatorischer Einstellungen vorgesehen:
    • – die Kieferstellung eines Menschen,
    • – der Artikulationsort des jeweiligen Phonems,
    • – die Lippenrundung eines Menschen,
    • – die Nasalität.
  • Jeder Merkmalsvektorkomponente wird ein Wert zugeordnet, der die jeweilige Kategorie der artikulatorischen Einstellung beschreibt.
  • Ausgehend von einer neutralen artikulatorischen Position der das Phonem erzeugenden Organe werden Abweichungen von dieser mittels positiver oder negativer Zahlen dargestellt.
  • Für die Kieferstellung, anders ausgedrückt für die Kieferöffnung, werden erfindungsgemäß vier Kategorien beobachtet, denen folgende numerische Werte zugeordnet sind:
    • – geschlossene Kieferstellung → 0,
    • – halbgeschlossene Kieferstellung → 1,
    • – halboffene Kieferstellung → 2 sowie
    • – offene Kieferstellung → 3.
  • In der Merkmalskomponente Artikulationsort sind folgende Kategorien vorgesehen:
    • – Palatal → 1,
    • – Velar → 0
    • – Uvular → –1 sowie
    • – Pharyngeal → –2.
  • Als weitere Merkmalsvektorkomponente ist die Lippenrundung vorgesehen, welcher folgende unterschiedliche Kategorien zugeordnet sind:
    • – breite Lippenstellung → –1,
    • – indifferente Lippenstellung → 0,
    • – gerundete Lippenstellung → 1 sowie
    • – vorgestülpte Lippenstellung → 2.
  • Die meisten Vokale zeigen eine stabile Einstellung der artikulatorischen Positionen für alle Beschreibungsmerkmale, da diese während des Produktionsprozesses erreicht werden müssen, damit der korrekte Vokal produziert wird.
  • Konsonanten hingegen besitzen freie Einstellungen, in denen die Position der Artikulationsorgane leicht variieren kann. Diese ermöglichen den Übergang von einer vorangegangenen, stabilen artikulatorischen Position zu einer nachfolgenden, stabilen artikulatorischen Position mit dem geringsten artikulatorischen Aufwand. Diesen Prozess des Überlappens artikulatorischer Gesten unter Beeinflussung benachbarter Phoneme durch vorangehende bzw. nachfolgende Phoneme nennt man auch Koartikulation.
  • Die angegebenen Merkmalswerte der Konsonanten variieren um den in Klammern angegebenen Mittelwert.
  • Die Artikulations-Merkmalsvektoren m(i), welche als Artikulations-Merkmalsvektorkomponenten somit die Komponenten „Kieferstellung", „Artikulationsort", „Lippenrundung" sowie „Nasalität", aufweisen, werden, wie im Folgenden näher erläutert, im Rahmen der Berechnung der Levenshtein-Distanz berücksichtigt.
  • Beispielsweise hat der Artikulations-Merkmalsvektor m(U) des Phonems „U" den Aufbau: m(U) = (1, –1, 2, 0).
  • Im Rahmen der allgemeinen Levenshtein-Distanz wird zunächst einer Einfügungs-Variable q der Wert 1 zugewiesen und einer Auslassungs-Variable r ebenso der Wert 1.
  • Anders ist das Vorgehen gemäß der Erfindung. Es wird das modifizierte Levenshtein-Verfahren für jede lautsprachliche Einheit, d.h. gemäß diesem Ausführungsbeispiel für jedes Phonem der ersten Folge von Phonemen und für jedes Phonem der zweiten Folge von Phonemen ein lokaler Abstand ermittelt, ausgehend von dem ersten Phonem der ersten Phonemfolge zu dem entsprechenden ersten Phonem der zweiten Phonemfolge.
  • Das Verfahren der Levenshtein-Distanz gemäß diesem Ausführungsbeispiel ist im Folgendem in Form eines Pseudocodes dargestellt:
    Figure 00760001
    Figure 00770001
  • Der Kostenwert c(i, j) ergibt sich dabei für zwei lautsprachliche Einheiten direkt aus der betragsmäßigen Differenz der Artikulations-Merkmalsvektoren des Phonems i und des Phonems j, d.h. anders ausgedrückt ergeben sich die Kosten gemäß folgender Vorschrift:
    Figure 00770002
  • Diese Berechnungsvorschrift ersetzt somit anschaulich die Kostenberechnung für die Vertauschung von Phonemen im oben beschriebenen, an sich bekannten Levenshtein-Algorithmus.
  • Berücksichtigt man darüber hinaus auch die Varianzen der einzelnen Artikulations-Merkmalsvektorkomponenten, so kann mittels einer zusätzlichen Varianznormalisierung die Vergleichbarkeit von Vektoren, deren Komponenten unterschiedlich streuen, gewährleistet werden.
  • Dieser modifizierte Ausdruck entspricht dann der Varianznormalisierten Länge des Differenzvektors.
  • Im Gegensatz zu den fixen Kosten, die bei der Vertauschung von beliebigen Phonemen entstehen, erlaubt diese erfindungsgemäße Art der Kostenberechnung eine differenzierter Aussage über die Ähnlichkeit von Phonemen, als es mit dem Levenshtein-Verfahren gemäß dem Stand der Technik ermöglicht ist.
  • Der Ausdruck len_max entspricht derjenigen Anzahl von Phonemen, welche zur längeren Phonemfolge gehört.
  • Zur Berechnung der Levenshtein-Distanz werden sukzessive, Phonem für Phonem, allgemein Symbol für Symbol, beide Phonemfolgen abgearbeitet und es wird eine Kostenmatrix ermittelt. Anschließend wird innerhalb der Kostenmatrix der Weg ermittelt mit den lokal jeweils geringsten Kosten und die Kosten entlang dieses Weges werden addiert. Ergebnis der Summenbildung ist die Levenshtein-Distanz
  • Die Zwischenergebnisse werden in der Matrix d(I, J) gespeichert, deren Zeilen den Symbolen der ersten Symbolfolge, d.h. den Phonemen der ersten Phonemfolge und deren Spalten den Symbolen der zweiten Symbolfolge, d.h. den Phonemen der zweiten Phonemfolge, zugeordnet sind. Die Startzeile bzw. Startspalte enthält die Werte der so genannten Rekursionsbasis. In der rechten unteren Ecke der Distanzmatrix steht nach Ablauf der Berechnungen die Gesamtdistanz d(I, J).
  • In den folgenden Tabellen ist zur weiteren Veranschaulichung ein Vergleich zur Berechnung der Ähnlichkeit zweier Phonemfolgen, einerseits gemäß dem Stand der Technik, andererseits gemäß dem erfindungsgemäßen Verfahren zur verbesserten Berechnung der Levenshtein-Distanz dargestellt.
  • Die erste Phonemfolge ist die Folge der Phoneme (g e: z a:) und die zweiten Phonemfolge ist (g e: s a:).
  • Die folgende Tabelle zeigt die gemäß dem Stand der Technik, d.h. gemäß dem üblichen Verfahren zur Berechnung der Levenshtein-Distanz berechnete Distanz. Wie der Tabelle, d.h. der Abstandsmatrix zu entnehmen ist, ergibt sich eine Levenshein-Distanz dNorm von 1/2:
    Figure 00790001
  • Gemäß dem neuen Verfahren ergibt sich ein Abstandswert von 0, da nunmehr die Ähnlichkeit in den artikulatorischen Eigenschaften der jeweiligen Phoneme berücksichtigt werden und somit die beiden sehr ähnlich klingenden Phonemfolgen auch als sehr ähnlich klassifiziert werden:
    Figure 00790002
  • In einer alternativen Ausführungsform der Erfindung ist es vorgesehen, einzelne Artikulationsmerkmale unterschiedlich zu gewichten sowie unterschiedliche Metriken zur Distanzberechnung zu verwenden, beispielsweise eine euklidische Metrik oder einen Mahalanobis-Abstand. Auf diese Weise kann die artikulatorisch erfindungsgemäß modifizierte Levenshtein-Distanz nachträglich an die Systemeigenschaften der jeweiligen Zielapplikation sowie an das Klassifikationsziel angepasst werden.
  • Anschaulich wurde durch die Erfindung ein neuartiges Verfahren zur Ermittlung eines quantitativen Ähnlichkeitsmaßes zwischen zwei gegebenen Phonemfolgen bereitgestellt, das erstmals in einem Phonem-basierten Spracherkenner als Maß für die einfache Berechnung und Beurteilung der Ähnlichkeit zweier Erkennungsergebnisse, d.h. zweier Phonemfolgen, verwendet werden kann. Die erfindungsgemäße Ergänzung der Levenshtein-Distanz zur Ähnlichkeitsberechnung mit dem neuartigen Bewertungsverfahren ermöglicht erstmals differenzierte Aussagen über die Ähnlichkeit zweier Phonemfolgen.
  • In diesem Dokument sind folgende Veröffentlichungen zitiert:
    • [1] John Nerbonne and Wilbert Heeringa, Measuring Dialect Distance Phonetically, in: John Coleman (ed.) Workshop on Computational Phonology, Special Interest Group of the Association for Computational Linguistics, Madrid, 1997, S. 11–18
    • [2] J. Nerbonne et al, Phonetic Distance between Dutch Dialects, Proceedings of CLIN '95, S. 185–202, Antwerpen, 1995
    • [3] D. Hirschfeld, Comparing static and dynamic features for segmental cost function calculation in concatenative speech synthesis, ICSLP, Peking, 2000
  • 100
    Spracherkennungseinrichtung
    101
    Sprachsignal
    102
    Mikrofon
    103
    Aufgenommenes analoges Sprachsignal
    104
    Vorverarbeitung
    105
    Vorverarbeitetes Sprachsignal
    106
    Analog-/Digital-Wandler
    107
    Digitales Sprachsignal
    108
    Rechner
    109
    Eingangsschnittstelle
    110
    Mikroprozessor
    111
    Speicher
    112
    Ausgangsschnittstelle
    113
    Computerbus
    114
    Elektronisches Wörterbuch
    115
    Tastatur
    116
    Computermaus
    117
    Kabel
    118
    Kabel
    119
    Funkverbindung
    120
    Funkverbindung
    121
    Lautsprecher
    122
    Aktor
    123
    DSP
    200
    Sprecherunabhängiges Wörterbuch
    201
    Basiseintrag
    202
    Sprecherabhängiges Wörterbuch
    203
    Eintrag speicherabhängiges Wörterbuch
    204
    Gemeinsames Wörterbuch
    300
    Spracherkenner-Zustandsdiagramm
    301
    Initialisierungszustand
    302
    Stopp-Zustand
    303
    Pausen-Zustand
    304
    Betriebsmodus-Zustand
    305
    Verfahrensschritt
    306
    Verfahrensschritt
    307
    Verfahrensschritt
    308
    Verfahrensschritt
    309
    Verfahrensschritt
    310
    Verfahrensschritt
    311
    Verfahrensschritt
    312
    Verfahrensschritt
    313
    Verfahrensschritt
    314
    Verfahrensschritt
    400
    Sprachdialog-Zustandsdiagramm
    401
    zeitlich vorangegangener Sprachdialog-Zustand
    402
    Sprachdialog-Zustand X
    403
    Wörterbuch
    404
    Wort
    405
    sprachabhängiger Listeneintrag
    406
    Befehl
    407
    Befehlsantrag
    408
    Aktion
    409
    Aktionsantrag
    500
    Ablaufdiagramm
    501
    Startzustand
    502
    Erster Zyklus
    503
    Zweiter Zyklus
    504
    Erster Prüfschritt
    505
    Ende-Zustand
    506
    Zweiter Prüfschritt
    507
    Dritter Prüfschritt
    508
    Dritter Zyklus
    509
    Vierter Prüfschritt
    600
    Nachrichtenflussdiagramm
    601
    Nachricht StartHMMSRFlowgraph
    602
    Bestätigungsnachricht
    603
    Nachricht InitHMMSRParams
    604
    Bestätigungsnachricht
    605
    Nachricht StartLoadHMMLDA
    606
    Nachricht SMBRequestLoadHMMLDA
    607
    Bestätigungsnachricht
    608
    Nachricht StartLoadHMMDictionary
    609
    Nachricht SMBRequestLoadHMMDictionary
    610
    Bestätigungsnachricht
    611
    Nachricht SMBRequestCodebookBlock
    612
    Nachricht CodebookBlockLoadedAndSwitched
    613
    Nachricht SMBRequestCodebookBlock
    614
    Nachricht CodebookBlockLoadedAndSwitched
    615
    Nachricht StartHMMSR
    616
    Bestätigungsnachricht
    617
    Nachricht SMBRequestCodebookBlock
    618
    Nachricht CodebookBlockLoadedAndSwitched
    619
    Nachricht HMMHypothesisStable
    620
    Bestätigungsnachricht
    621
    Nachricht PauseHMMSR
    622
    Bestätigungsnachricht
    700
    Nachrichtflussdiagramm
    701
    Nachricht SetHMMSearchParams
    702
    Bestätigungsnachricht
    703
    Nachricht StartLoadHMMDictionary
    704
    Nachricht SMBRequestLoadHMMDictionary
    705
    Bestätigungsnachricht
    706
    Nachricht StartHMMSR
    707
    Bestätigungsnachricht
    708
    Nachricht SMBRequestCodebookBlock
    709
    Nachricht CodebookBlockLoadedAndSwitched
    710
    Nachricht HMMHypothesisStable
    711
    Bestätigungsnachricht
    712
    Nachricht PauseHMMSR
    713
    Bestätigungsnachricht
    800
    Nachrichtenflussdiagramm
    801
    Nachricht StartHMMSR
    802
    Bestätigungsnachricht
    803
    Nachricht SMBRequestCodebookBlock
    804
    Nachricht CodebookBlockLoadedAndSwitched
    805
    Nachricht HMMHypothesisStable
    806
    Bestätigungsnachricht
    807
    Nachricht PauseHMMSR
    808
    Bestätigungsnachricht
    900
    Funktionsdiagramm
    1000
    Funktionsdiagramm
    1100
    Tabelle „Sprach-Prompts"
    1101
    Tabelle „Zusätzliche Systemreaktionen"
    1200
    Sprachdialogzustandsdiagramm
    1201
    Befehl
    1202
    Befehlsantrag
    1203
    Aktion
    1204
    Aktionsantrag
    1205
    Aktionsantrag
    1300
    Sprachdialogzustandsdiagramm
    1310
    Ablaufdiagramm
    1400
    Sprachdialogzustandsdiagramm
    1410
    Ablaufdiagramm
    1500
    Sprachdialogzustandsdiagramm
    1510
    Ablaufdiagramm
    1600
    Sprachdialogzustandsdiagramm
    1610
    Ablaufdiagramm
    1700
    Sprachdialogzustandsdiagramm
    1710
    Ablaufdiagramm
    1800
    Sprachdialogzustandsdiagramm
    1810
    Ablaufdiagramm
    1900
    Sprachdialogzustandsdiagramm
    1901
    Wörterbuch
    1902
    Befehlsliste
    1903
    Aktionsliste
    2000
    Sprachdialogzustandsdiagramm
    2001
    Vernehmwörterbuch
    2002
    Befehlsliste
    2003
    Aktionsliste
    2100
    Sprachdialogzustandsdiagramm
    2101
    Ziffernwörterbuch
    2102
    Befehlsliste
    2103
    Aktionsliste
    2200
    Mobilfunktelefon
    2300
    Autoradio
    2301
    Navigationssystem
    2302
    CD-Spieler
    2303
    Radio
    2304
    Kassettenrekorder
    2305
    Telefon
    2306
    Bildschirm

Claims (10)

  1. Verfahren zum rechnergestützten Vergleich einer ersten Folge lautsprachlicher Einheiten mit einer zweiten Folge lautsprachlicher Einheiten, wobei jeder lautsprachlichen Einheit ein Artikulations-Merkmalsvektor zugeordnet ist, der artikulatorische Eigenschaften der lautsprachlichen Einheiten und/oder erzeugungs-physikalische Eigenschaften der lautsprachlichen Einheiten enthält, bei dem jede lautsprachliche Einheit der ersten Folge lautsprachlicher Einheiten auf eine entsprechende lautsprachliche Einheit der zweiten Folge lautsprachlicher Einheiten abgebildet wird, wobei für jede Paarung von lautsprachlichen Einheiten die numerische Distanz zweier einheitenabhängiger Artikulations-Merkmalsvektoren berechnet wird, und diese in Form einer Matrix angeordnet werden.
  2. Verfahren gemäß Anspruch 1, bei dem in der Kostenmatrix gemäß dem Levenshtein-Verfahren der optimale Weg ermittelt wird.
  3. Verfahren gemäß Anspruch 1 oder 2, bei dem als lautsprachliche Einheiten Phoneme verwendet werden.
  4. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem die Artikulations-Merkmalsvektoren gebildet werden abhängig von unterschiedlichen Artikulationseinstellungen eines eine lautsprachliche Einheit erzeugenden Organs.
  5. Verfahren gemäß einem der Ansprüche 1 bis 4, bei dem ein jeweiliger Artikulations-Merkmalsvektor einen der folgenden Merkmale enthält: – die Kieferstellung eines Menschen, – den Artikulationsort, – die Lippenrundung eines Menschen, – die Nasalität, – die Glottalisierung, oder – die Tonhöhe.
  6. Verfahren gemäß Anspruch 5, bei dem eine Varianz mindestens eines der Merkmale der Artikulations-Merkmalsvektoren im Rahmen der Abbildung berücksichtigt wird.
  7. Verfahren gemäß einem der Ansprüche 1 bis 6, eingesetzt in einem der folgenden Bereiche: – Sprachsynthese, – Spracherkennung, oder – automatisches Erzeugen eines elektronischen Wörterbuchs.
  8. Vorrichtung zum rechnergestützten Vergleich einer ersten Folge lautsprachlicher Einheiten mit einer zweiten Folge lautsprachlicher Einheiten, wobei jeder lautsprachlichen Einheit ein Artikulations-Merkmalsvektor zugeordnet ist, der artikulatorische Eigenschaften der lautsprachlichen Einheiten und/oder erzeugungs-physikalische Eigenschaften der lautsprachlichen Einheiten enthält, mit einer Prozessoreinheit, die derart eingerichtet ist, dass jede lautsprachliche Einheit der ersten Folge lautsprachlicher Einheiten auf eine entsprechende lautsprachliche Einheit der zweiten Folge lautsprachlicher Einheiten abgebildet wird, wobei für jede Paarung von lautsprachlichen Einheiten die numerische Distanz zweier einheitenabhängiger Artikulations-Merkmalsvektoren berechnet wird, und diese in Form einer Matrix angeordnet werden.
  9. Spracherkennungseinrichtung mit einer Vorrichtung gemäß Anspruch 8.
  10. Sprachsyntheseeinrichtung mit einer Vorrichtung gemäß Anspruch 8.
DE10244722A 2002-09-25 2002-09-25 Verfahren und Vorrichtung zum rechnergestützten Vergleich einer ersten Folge lautsprachlicher Einheiten mit einer zweiten Folge lautsprachlicher Einheiten, Spracherkennungseinrichtung und Sprachsyntheseeinrichtung Ceased DE10244722A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10244722A DE10244722A1 (de) 2002-09-25 2002-09-25 Verfahren und Vorrichtung zum rechnergestützten Vergleich einer ersten Folge lautsprachlicher Einheiten mit einer zweiten Folge lautsprachlicher Einheiten, Spracherkennungseinrichtung und Sprachsyntheseeinrichtung
PCT/DE2003/003206 WO2004029932A1 (de) 2002-09-25 2003-09-25 Verfahren und vorrichtung zum rechnergestützten vergleich einer ersten folge lautsprachlicher einheiten mit einer zweiten folge lautsprachlicher einheiten, spracherkennungseinrichtung und sprachsyntheseeinrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10244722A DE10244722A1 (de) 2002-09-25 2002-09-25 Verfahren und Vorrichtung zum rechnergestützten Vergleich einer ersten Folge lautsprachlicher Einheiten mit einer zweiten Folge lautsprachlicher Einheiten, Spracherkennungseinrichtung und Sprachsyntheseeinrichtung

Publications (1)

Publication Number Publication Date
DE10244722A1 true DE10244722A1 (de) 2004-04-08

Family

ID=31984066

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10244722A Ceased DE10244722A1 (de) 2002-09-25 2002-09-25 Verfahren und Vorrichtung zum rechnergestützten Vergleich einer ersten Folge lautsprachlicher Einheiten mit einer zweiten Folge lautsprachlicher Einheiten, Spracherkennungseinrichtung und Sprachsyntheseeinrichtung

Country Status (2)

Country Link
DE (1) DE10244722A1 (de)
WO (1) WO2004029932A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008062923A1 (de) 2008-12-23 2010-06-24 Volkswagen Ag Verfahren und Vorrichtung zur Erzeugung einer Trefferliste bei einer automatischen Spracherkennung
DE102008034143B4 (de) 2007-07-25 2019-08-01 General Motors Llc ( N. D. Ges. D. Staates Delaware ) Verfahren zur Umgebungsgeräuscheinkopplung für eine Spracherkennung in einem Serienfahrzeug

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4317372A1 (de) * 1992-05-26 1993-12-02 Ricoh Kk Ein akustisches und visuelles Spracherkennungssystem auf der Basis eines Neural-Netzwerkes
DE4433366A1 (de) * 1994-09-20 1996-03-21 Sel Alcatel Ag Verfahren und Einrichtung zur Bestimmung eines Maßes der Übereinstimmung zwischen zwei Mustern sowie Spracherkennungseinrichtung damit und Programm-Modul dafür

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6073099A (en) * 1997-11-04 2000-06-06 Nortel Networks Corporation Predicting auditory confusions using a weighted Levinstein distance

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4317372A1 (de) * 1992-05-26 1993-12-02 Ricoh Kk Ein akustisches und visuelles Spracherkennungssystem auf der Basis eines Neural-Netzwerkes
DE4433366A1 (de) * 1994-09-20 1996-03-21 Sel Alcatel Ag Verfahren und Einrichtung zur Bestimmung eines Maßes der Übereinstimmung zwischen zwei Mustern sowie Spracherkennungseinrichtung damit und Programm-Modul dafür

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008034143B4 (de) 2007-07-25 2019-08-01 General Motors Llc ( N. D. Ges. D. Staates Delaware ) Verfahren zur Umgebungsgeräuscheinkopplung für eine Spracherkennung in einem Serienfahrzeug
DE102008062923A1 (de) 2008-12-23 2010-06-24 Volkswagen Ag Verfahren und Vorrichtung zur Erzeugung einer Trefferliste bei einer automatischen Spracherkennung

Also Published As

Publication number Publication date
WO2004029932A1 (de) 2004-04-08

Similar Documents

Publication Publication Date Title
DE602004012909T2 (de) Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text
DE3337353C2 (de) Sprachanalysator auf der Grundlage eines verborgenen Markov-Modells
DE69818231T2 (de) Verfahren zum diskriminativen training von spracherkennungsmodellen
DE69919842T2 (de) Sprachmodell basierend auf der spracherkennungshistorie
DE69933623T2 (de) Spracherkennung
DE10306022B3 (de) Dreistufige Einzelworterkennung
DE102007033472A1 (de) Verfahren zur Spracherkennung
EP1649450A1 (de) Verfahren zur spracherkennung und kommunikationsger t
DE60133537T2 (de) Automatisches umtrainieren eines spracherkennungssystems
EP1251489A2 (de) Training von Parametern eines Spracherkennungssystems zur Erkennung von Aussprachevarianten
EP1058235B1 (de) Wiedergabeverfahren für sprachgesteuerte Systeme mit text-basierter Sprachsynthese
EP3010014A1 (de) Verfahren zur interpretation von automatischer spracherkennung
DE10304460B3 (de) Generieren und Löschen von Aussprachevarianten zur Verringerung der Wortfehlerrate in der Spracherkennung
WO2001086634A1 (de) Verfahren zum erzeugen einer sprachdatenbank für einen zielwortschatz zum trainieren eines spracherkennungssystems
DE60029456T2 (de) Verfahren zur Online-Anpassung von Aussprachewörterbüchern
DE102004017486A1 (de) Verfahren zur Geräuschreduktion bei einem Sprach-Eingangssignal
EP0813734A1 (de) Verfahren zur erkennung mindestens eines definierten, durch hidden-markov-modelle modellierten musters in einem zeitvarianten messignal, welches von mindestens einem störsignal überlagert wird
EP1169841B1 (de) Erstellen eines referenzmodell-verzeichnisses für ein sprachgesteuertes kommunikationsgerät
DE10244722A1 (de) Verfahren und Vorrichtung zum rechnergestützten Vergleich einer ersten Folge lautsprachlicher Einheiten mit einer zweiten Folge lautsprachlicher Einheiten, Spracherkennungseinrichtung und Sprachsyntheseeinrichtung
EP1457966A1 (de) Verfahren zum Ermitteln der Verwechslungsgefahr von Vokabulareinträgen bei der phonembasierten Spracherkennung
EP1400951A2 (de) Verfahren zur rechnergestützten Spracherkennung, Spracherkennungssystem und Steuereinrichtung zum Steuern eines technischen Systems und Telekommunikationsgerät
DE10122087C1 (de) Verfahren zum Training und Betrieb eines Spracherkenners, Spracherkenner und Spracherkenner-Trainingssystem
DE60225536T2 (de) Verfahren und Vorrichtung zur Spracherkennung
EP1445759A1 (de) Benutzeradaptives Verfahren zur Geräuschmodellierung in Spracherkennung
DE10244169A1 (de) Spracherkennungseinrichtung, Steuereinrichtung und Verfahren zum rechnergestützten Ergänzen eines elektronischen Wörterbuches für eine Spracherkennungseinrichtung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection