DE69725802T2 - Vorfilterung mittels lexikalischer Bäumen für die Spracherkennung - Google Patents

Vorfilterung mittels lexikalischer Bäumen für die Spracherkennung Download PDF

Info

Publication number
DE69725802T2
DE69725802T2 DE69725802T DE69725802T DE69725802T2 DE 69725802 T2 DE69725802 T2 DE 69725802T2 DE 69725802 T DE69725802 T DE 69725802T DE 69725802 T DE69725802 T DE 69725802T DE 69725802 T2 DE69725802 T2 DE 69725802T2
Authority
DE
Germany
Prior art keywords
word
probability value
time
node
sequence
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.)
Expired - Fee Related
Application number
DE69725802T
Other languages
English (en)
Other versions
DE69725802D1 (de
Inventor
Robert Newtonville Roth
James K. West Newton Baker
Laurence S. Newton Gillick
Alan Waltham Walsh
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.)
L&H Holdings USA Inc
Original Assignee
L&H Holdings USA Inc
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 L&H Holdings USA Inc filed Critical L&H Holdings USA Inc
Application granted granted Critical
Publication of DE69725802D1 publication Critical patent/DE69725802D1/de
Publication of DE69725802T2 publication Critical patent/DE69725802T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/187Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/197Probabilistic grammars, e.g. word n-grams

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • Die vorliegende Erfindung betrifft die Spracherkennung.
  • Spracherkennungssysteme analysieren die Sprachäußerungen einer Person, um das Gesagte zu identifizieren. In der Regel teilt ein Prozessor ein die Sprachäußerung verkörperndes Signal in eine Reihe von digitalen Rahmen ein, die jeweils ein kleines Zeitinkrement der Sprachsequenz repräsentieren. Der Prozessor vergleicht dann die digitalen Rahmen mit einer Gruppe von Modellsequenzen. Jede Modellsequenz kann ein Wort aus einem Vokabular verkörpern. Eine Modellsequenz kann auch für einen Laut oder ein Phonem stehen, die einem Teil eines Wortes entsprechen. Der Prozessor identifiziert das von einer Person Gesagte, indem er die Modellsequenzen ermittelt, die am besten mit den digitalen Rahmen übereinstimmen, die die Sprachäußerung des Sprechers verkörpern. Spracherkennung ist der Gegenstand in dem US-Patent Nr. 4 805 218 mit dem Titel "Method for Speech Analysis and Speech Recognition".
  • Für jeden Vergleich mit einer Modellsequenz ist ein relativ großer Umfang an Berechnungen erfordelich. Ein Spracherkennungssystem kann Zigtausend Wörter in seinem Vokabular umfassen, wobei jedes Wort eine entsprechende Modellsequenz aufweist. Somit wäre der für einen Vergleich einer Sequenz von digitalen Rahmen mit Modellen eines jeden Wortes des Vokabulars erforderliche Aufwand an Berechnungen immens. Aus diesem Grund ist für den Prozessor die Durchführung einer Vorfilterprozedur, auch unter der Bezeichnung Schnellabgleichprozedur bekannt, vorgesehen, um eine Teilliste der Wörter aus dem Vokabular auszuwählen. Zur Ermittlung des von einer Person Gesagten vergleicht dann der Prozessor den vorgefilterten Ergebniswörtern entsprechende Modellsequenzen mit den digitalen Rahmen, die die Sprachäußerung verkörpern. Ein Verfahren der Vorfilterung wird in dem US-Patent Nr. 5 202 952 mit dem Titel "Large-Vocabulary Continuous Speech Prefiltering and Processing System" beschrieben.
  • Die Erfindung nach den Ansprüchen 1 bis 27 betrifft ein Verfahren und ein Gerät zur Vorfilterung mittels lexikalischer Bäume zur Identifizienrug von Wortgruppen für die Anwendung bei der Erkennung von Sprachsequenzen. Zunächst wird ein Wortvokabular mittels eines lexikalischen Baumes dargestellt. Anschließend wird eine erste Teilliste des Vokabulars, die einer zu einem ersten Zeitpunkt beginnenden Sprachsequenz entsprechen kann, identifiziert, indem Informationen über die zu einem ersten Zeitpunkt beginnende Sprachsequenz in dem lexikalischen Baum weitergegeben werden. Die Weitergabe kann die Durchführung eines relativ groben Vergleichs der zum ersten Zeitpunkt beginnenden Sprachsequenz mit Wörtern in dem lexikalischen Baum umfassen. Es erfolgt zudem in gleicher Weise die Identifizierung einer zweiten Teilliste des Vokabulars, die einer zu einem zweiten Zeitpunkt beginnenden Sprachsequenz entsprechen kann. Es werden in der Sprachsequenz enthaltene Wörter erkannt, indem die zum ersten Zeitpunkt beginnende Sprachsequenz mit Wörtern aus der ersten Teilliste des Vokabulars und eine zum zweiten Zeitpunkt beginnende Sprachsequenz mit Wörtern aus der zweiten Teilliste des Vokabulars verglichen werden. Der Zustand des lexikalischen Baumes wird zwischen der Identifizierung der ersten und der zweiten Teilliste nicht zurückgesetzt. Eine zum ersten Zeitpunkt beginnende Sprachsequenz kann eine zum zweiten Zeitpunkt beginnende Sprachsequenz überlagern.
  • Ausführungsformen der Erfindung können eines oder mehrere der folgenden Merkmale umfassen. Der Grobvergleich kann die Weitergabe der Wahrscheinlichkeitswerte durch den lexikalischen Baum beinhalten. Die Wahrscheinlichkeitswerte – scores – können als negative Logarithmen geführt werden, was die Verarbeitung der Wahrscheinlichkeitswerte vereinfacht.
  • Mit jedem Wahrscheinlichkeitswert kann eine Anfangszeit assoziiert werden, die während der Weitergabe des Wahrscheinlichkeitswertes durch den lexikalischen Baum zusammen mit dem Wahrscheinlichkeitswert verschoben wird. Es kann ein Ergebniswort durch den Grobvergleich generiert werden, wenn ein dem Wort entsprechender Wahrscheinlichkeitswert aus einem dem Wort entsprechenden Knoten des lexikalischen Baumes weitergegeben wird. Die Anfangszeit wird mit dem Wahrscheinlichkeitswert weitergegeben und entspricht dem Zeitpunkt, zu dem das Wort gesprochen wurde.
  • Die erste Teilliste des Vokabulars kann eine erste Ergebniswortliste darstellen, und durch den Grobvergleich gebildete Ergebniswörter können zur ersten Ergebniswortliste hinzugefügt werden. Wird ein erster Zeitpunkt mit der ersten Ergebniswortliste assoziiert, so wird der ersten Ergebniswortliste ein Wort hinzugefügt, wenn eine Anfangszeit, die mit einem dem Wort entsprechenden Wahrscheinlichkeitswert assoziiert wird, mit dem ersten Zeitpunkt übereinstimmt.
  • Es können Mehrfach-Ergebniswortlisten geführt werden, die jeweils mit einem bestimmten Zeitpunkt assoziiert werden. Ein durch den Grobvergleich generiertes Ergebniswort kann zu Ergebniswortlisten hinzugefügt werden, die mit Zeitpunkten assoziiert werden, die der Anfangszeit des Wortes bis zu einem bestimmten Zeitintervall entweder vorangehen oder folgen. Das Zeitintervall kann mit der Wortlänge in Beziehung gesetzt werden. Das Zeitintervall kann beispielsweise so gewählt werden, dass das Ergebniswort Listen hinzugefügt wird, die sich über einen Zeitraum erstrecken, der der Länge des Wortes entspricht.
  • In den Listen können auch Wahrscheinlichkeitswerte gespeichert werden, die während des Grobvergleichs für die Ergebniswörter erzeugt wurden. Der Wahrscheinlichkeitswert eines Wortes kann modifiziert werden, wenn das Wort einer Liste hinzugefügt wird, die einem Zeitpunkt entspricht, der sich von der Anfangszeit des Wortes unterscheidet. Zur Gewinnung eines modifizierten Wahrscheinlichkeitswertes kann der Wahrscheinlichkeitswert auf der Basis der Differenz zwischen dem ersten Zeitpunkt und einem Zeitpunkt modifiziert werden, mit dem eine bestimmte Ergebniswortliste assoziiert wird.
  • Der lexikalische Baum kann jeweils ein Phonem darstellende Knoten enthalten, so dass jedes Wort des Vokabulars durch eine Folge von Knoten dargestellt wird, die zusammen einer Folge von Phonemen entsprechen, die das Wort definieren. Wahrscheinlichkeitswerte können in dem lexikalischen Baum weitergegeben werden, indem die Wahrscheinlichkeitswerte zwischen den Knoten des lexikalischen Baumes weitergegeben werden.
  • Mit jedem Knoten kann ein Sprachmodell-Wahrscheinlichkeitswert assoziiert werden, der eine Wahrscheinlichkeit zum Ausdruck bringt, mit der ein Wort einschließlich dem durch den Knoten dargestellten Phonem in der Sprache auftritt. Der mit einem Knoten assoziierte Sprachmodell-Wahrscheinlichkeitswert und ein von dem Knoten aus weitergegebener Wahrscheinlichkeitswert können addiert werden. Der mit einem Knoten assoziierte Sprachmodell-Wahrscheinlichkeitswert kann einem Anstieg eines besten Sprachmodell-Wahrscheinlichkeitswertes von einem mit einem Ursprung des Knotens beginnenden Zweig des lexikalischen Baumes bis zu einem mit dem Knoten beginnenden Zweig des lexikalischen Baumes entsprechen.
  • Wahrscheinlichkeitswerte können während ihrer Weitergabe in dem lexikalischen Baum normiert werden. So kann beispielsweise eine aktualisierte Version des besten Wahrscheinlichkeitswertes für ein Zeitinkrement von den Wahrscheinlichkeitswerten für ein darauffolgendes Zeitinkrement subtrahiert werden.
  • Aus der sich hieran anschließenden Beschreibung einschließlich der Zeichnungen werden weitere Merkmale und Vorteile verständlich sein.
  • In den Zeichnungen zeigen:
  • 1 einen Blockschaltplan eines Systems für kontinuierliche Spracherkennung,
  • 2 ein Blockdiagramm zu Prozeduren, die durch das Spracherkennungssystem von 1 ausgeführt werden,
  • 3 und 4 Programmablaufpläne der Prozeduren von 2,
  • 5 einen Graphen eines lexikalischen Baums,
  • 6 einen Graphen eines Teils eines lexikalischen Baums von 5,
  • 7, 8A und 8B Zustandsgraphen, die Knoten des lexikalischen Baums von 5 darstellen,
  • 9 und 10 Übersichten über die den Zuständen der Zustandsgraphen der 7 und 8 entsprechenden Wahrscheinlichkeitswerte,
  • 11 ein Programmablaufplan einer Prozedur zur Verarbeitung von Knoten eines lexikalischen Baums.
  • Entsprechend 1 gehört zu einem Spracherkennungssystem 100 ein Eingabegerät wie ein Mikrofon 105. Spricht eine Person in das Mikrofon 105, so erzeugt dieses ein analoges elektrisches Signal 110, das die geäußerte Sprachsequenz repräsentiert. Mit dem Mikrofon 105 ist eine Soundkarte 115 verbunden, die das analoge elektrische Signal 110 empfängt. Bestandteil der Soundkarte ist ein Analog-Digital-(A/D)-Wandler 120. Der A/D-Wandler 120 tastet periodisch das analoge elektrische Signal 110 ab und erzeugt ein digitales Signal 125. Üblich ist bei AID-Wandlern 120 beispielsweise eine Abtastfrequenz von etwa 11 kHz, so dass das digitale Signal 125 in einem Zeitabschnitt von 20 Millisekunden insgesamt 220 digitale Abtastwerte enthält. Jeder Zeitabschnitt von 20 Millisekunden entspricht einem Rahmen des digitalen Signals 125.
  • Das digitale Signal 125 wird dann einem Prozessor 130 zugeführt. Der Prozessor verarbeitet die Abtastwerte entsprechend dem Rahmen des digitalen Signals 125 und erzeugt eine Gruppe Parameter 135, die den Frequenzanteil des Rahmens des digitalen Signals 125 (d. h. die Energie des Rahmens in verschiedenen Frequenzbändern) repräsentiert (und den entsprechenden Zeitraum von 20 Millisekunden des analogen Signals 110, das die geäußerte Sprachsequenz repräsentiert). Bei den Parametern kann es sich um Frequenzparameter, Zepstralparameter und von den Frequenzparametern und Zepstraiparametern abgeleitete Signale handeln. Die Frequenzparameter repräsentieren den Inhalt der Sprachsequenz in der jeweiligen Gruppe von Frequenzbändern und werden mit Hilfe der schnellen Fourier-Transformation (FFT) erzeugt. Die Zepstralparameter werden durch Ausführen einer Kosinustransformation von Logarithmen der Frequenzparameter erzeugt. Wie sich nachweisen ließ, heben Zepstralparameter effektiver als Frequenzparameter die Informationen hervor, die für die Spracherkennung wichtig sind. Unter Anwendung einer linearen IMELDA-Kombinationstransformation oder ähnlicher Methoden können die Zepstralparameter vom Prozessor kombiniert werden.
  • Zur Betriebssystemsoftware 160, mit der der Prozessor betrieben wird, gehört eine Speicherroutine 165. Mit Hilfe der Speicherroutine 165 werden die Gruppen von Parametern 135 in einem Puffer 170 gespeichert. Nach Speicherung der Parameter für eine ausreichende Anzahl von Rahmen im Puffer 170 stellt die Speicherroutine 165 die Parametergruppen zu einem Sprachsequenzenpaket 175 zusammen.
  • Bestandteil der Betriebssystemsoftware 160 ist auch die Überwachungssoftware 180. Die Überwachungssoftware 180 ermittelt einen Zählstand 185 der Anzahl der zwar gespeicherten, aber noch nicht verarbeiteten Sprachsequenzenpakete 175. Eine vom Prozessor 130 ausgeführte Anwendung 190 (beispielsweise ein Textverarbeitungssystem) überprüft die Äußerungen (Sprachsequenzen) regelmäßig anhand des Zählstandes 185. Beträgt der Zählstand 185 Null, so liegt keine Äußerung vor. Entspricht der Zählstand nicht Null, so ruft die Anwendung 190 die Spracherkennungssoftware 195 auf und setzt an die Stelle des Sprachsequenzenpakets im Puffer 170 einen Zeiger 200. Eine genauere Beschreibung, wie die Sprachäußerungen empfangen und im Spracherkennungssystem gespeichert werden, sind dem US-Patent Nr. 5 027 406 mit dem Titel "Method for Interactive Speech Recognition and Training" zu entnehmen, das durch Bezugnahme Bestandteil des vorliegenden Patents wird.
  • Die Spracherkennungssoftware 195 ermittelt, welche Wörter gesprochen wurden, indem der Prozessor 130 veranlasst wird, Rahmen aus dem Sprachsequenzenpaket 175 abzurufen und diese Rahmen der Sprachsequenzen mit in einem Vokabular 205 gespeicherten Modellsequenzen zu vergleichen. Die Spracherkennungssoftware veranlasst dann den Prozessor, an die Anwendung 190 Textversionen der gesprochenen Wörter zu tiefem. Die Spracherkennungssoftware 195 steuert den Prozessor bei der Ausführung der kontinuierlichen Spracherkennung. Dies bedeutet, dass die sprechende Person beim Sprechen in das Mikrofon 105 für die Spracherkennungssoftware keine Pausen zwischen den Wörtern einlegen muss, damit die Software in der Lage ist, die Wörter zu erkennen. Eine genauere Beschreibung der kontinuierlichen Spracherkennung ist dem US-Patent Nr. 5 202 952 mit dem Titel "Large-Vocabulary Continuous Speech Prefiltering und Processing System" zu entnehmen.
  • Entsprechend 2 führt der Prozessor 130 zwei Prozeduren parallel nebeneinander aus. Dabei nutzt der Prozessor eine Spracherkennungsprozedur 250, um zu identifizieren, was eine Person gesagt hat, wozu ein Vergleich zwischen den digitalen Rahmen, die die Sprachsequenz einer Person verkörpern, und den Modellsequenzen aus dem Vokabular 205 vorgenommen wird. Der Prozessor wendet eine Vofilterprozedur 255 an, um aus dem Vokabular 205 eine Liste von Ergebniswörtern zu erstellen, die wahrscheinlich den Wörtern entsprechen, die, beginnend mit einem bestimmten Zeitpunkt, von der Person gesprochen wurden. Daraufhin wendet der Prozessor die Spracherkennungsprozedur 250 an, um die Modellsequenzen für diese Wörter mit den digitalen Rahmen zu vergleichen, die die Sprachsequenzen der Person repräsentieren.
  • Das Vokabular 205 umfasst Zigtausend Wörter. Deshalb wäre die Anzahl der Berechnungen, die ausgeführt werden müssten, um eine Sequenz von digitalen Rahmen mit Modellen eines jeden Wortes des Vokabulars zu vergleichen, außerordentlich groß. Der Prozessor 130 wendet deshalb die Vofilterprozedur 255 an, um die Zahl der erforderlichen Berechnungen zu reduzieren. Die Vofilterprozedur führt einen Grobvergleich der Sequenz von digitalen Rahmen mit dem Vokabular aus, um eine Teilliste des Vokabulars zu ermitteln, für die ein gründlicherer Vergleich unter Anwendung der Erkennungsprozedur 250 gerechtfertigt ist.
  • Die Erkennungsprozedur 250 fordert die Vorfilterprozedur 255 auf, eine Liste 260 mit Wörtern bereitzustellen, die beginnend mit einer Anfangszeit 265 geäußert worden sein können. Die Vorfilterprozedur 255 liefert daraufhin die angeforderte Liste 260.
  • Die Spracherkennungsprozedur 250 ist in 3 dargestellt. Der Prozessor 130 wendet die Prozedur 250 an, um eine Hypothese der Sequenz von Wörtern zu erzeugen, die mit der größten Wahrscheinlichkeit in einem Zeitraum gesprochen wurden, der mit einer Sprechpause beginnt und mit einer solchen endet. Zu Beginn ruft der Prozessor einen Rahmen digitaler Daten (Schritt 300) ab. Danach ermittelt der Prozessor, ob der Rahmen einer Sprechpause tatsächlich oder wahrscheinlich entspricht (Schritt 305). Der erste Rahmen stimmt stets mit einer Sprechpause überein.
  • Wird ein Wort für den Rahmen in Erwägung gezogen, so nimmt der Prozessor 130 einen genauen Abgleich vor, um festzustehen, ob das Wort vom Benutzer wahrscheinlich geäußert wurde (Schritt 310). Für einen genauen Abgleich vergleicht der Prozessor den Rahmen mit einer Modellsequenz für das Wort. Bei dem Vergleich wird der Wahrscheinlichkeitswert für das Wort vom Prozessor aktualisiert. Zur Vereinfachung der Verarbeitung werden die Wahrscheinlichkeitswerte als negative Logarithmen geführt. Dementsprechend steht ein niedrigerer Wahrscheinlichkeitswert für eine bessere Übereinstimmung (eine hohe Wahrscheinlichkeit), während ein höherer Wahrscheinlichkeitswert für eine geringere Übereinstimmung (eine niedrigere Wahrscheinlichkeit) steht, wobei die Wahrscheinlichkeit der Übereinstimmung mit größer werdendem Wahrscheinlichkeitswert abnimmt.
  • Nach Durchführung eines genauen Abgleichs bestimmt der Prozessor, ob das Wort wahrscheinlich vom Benutzer gesprochen wurde (Schritt 315). Dazu vergleicht er den aktuellen Wahrscheinlichkeitswert für das Wort (oder für einen Teil des Wortes) mit einem Schwellenwert. Überschreitet der Wahrscheinlichkeitswert diesen Schwellenwert, so stellt der Prozessor fest, dass das Wort sehr wahrscheinlich keiner weiteren Untersuchung wert ist, und entfernt die Hypothese, in der das Wort enthalten ist (Schritt 320).
  • Steht der Prozessor fest, dass das Wort wahrscheinlich vom Benutzer gesprochen wurde, dann ermittelt er weiterhin, ob das Wort endet (Schritt 325). Der Prozessor stellt fest, dass ein Wort endet, wenn der Rahmen der letzten Komponente des Modells für das Wort entspricht.
  • Stellt der Prozessor fest, dass ein Wort endet (Schritt 325) oder dass der Rahmen wahrscheinlich einer Sprechpause entspricht (Schritt 305), dann fordert er eine Liste der Worte an, die mit dem nächsten Rahmen beginnen können (Schritt 330). Dazu sendet er an die Vorfilterprozedur 255 eine Anforderung einer Liste von Wörtern, die mit dem nächsten Rahmen beginnen können. Hatte der Prozessor bereits die Liste der Wörter angefordert, die mit dem Rahmen beginnen, dann nutzt er die Liste wiederholt und fordert die Liste nicht zusätzlich noch einmal an.
  • Nach Erhalt der Wortliste bewertet der Prozessor diese (Schritt 335). Wie ausführlich noch beschrieben werden soll, enthält die Wortliste, die von der Vorfilterprozedur 255 zurückgegeben wurde, einen Wahrscheinlichkeitswert, der mit jedem Wort assoziiert wird. Der Prozessor bewertet jedes Wort der Liste, indem er den Listenwahrscheinlichkeitswert (SL) für das Wort zur Erzeugung eines modifizierten Listenwahrscheinlichkeitswertes (SL) wie folgt modifiziert: SML = SL + LC – LL,worin LC ein Sprachmodellwahrscheinlichkeitswert ist, der die Häufigkeit repräsentiert, mit der das Paar Wärter, das das Listenwort und das unmittelbar zuvor stehende Wort in der Hypothese umfasst, die das Listenwort mit einschließt, in der Sprachsequenz gemeinsam genutzt wurde, und LL ein Sprachmodellwahrscheinlichkeitswert ist, der in dem Listenwahrscheinlichkeitswert enthalten ist und der Häufgkeit entspricht, mit der ohne Bezug auf den Kontext das Listenwort in der Sprachsequenz verwendet wird. Der Prozessor addiert daraufhin den modifizierten Listenwahrscheinlichkeitswert und den Wahrscheinlichkeitswert für die Hypothese, die das Listenwort enthält (d. h. den Wahrscheinlichkeitswert für das Wort oder die Folge von Wörtern, von denen angenommen wird, dass sie in der untersuchten Sprachsequenz dem Listenwort vorausgehen), und vergleicht das Ergebnis mit einem Schwellenwert. Wenn das Ergebnis kleiner als der Schwellenwert ist, dann hält der Prozessor die das Listenwort einschließende Hypothese bereit (d. h. der Prozessor berücksichtigt weiterhin das Listenwort bei der Verarbeitung des nächsten Rahmens). Im anderen Falle stellt der Prozessor fest, dass das Listenwort keiner weiteren Berücksichtigung wert ist und verwirft die dieses Listenwort einschließende Hypothese.
  • Nach Bewertung der Wortliste (Schritt 335), der Feststellung, dass ein Wort nicht endet (Schritt 325), oder der Verwertung einer Hypothese (Schritt 320) ermittelt der Prozessor, ob das untersuchte Wort das letzte Wort ist, das für den Rahmen untersucht werden soll (Schritt 340). Ist das Wort nicht das letzte Wort, geht der Prozessor zum folgenden Wort (Schritt 345) über und nimmt einen genauen Abgleich für dieses Wort vor (Schritt 310).
  • Handelt es sich bei dem Wort um das letzte Wort des Rahmens, dann ermittelt der Prozessor, ob wertere Sprachsequenzrahmen zu verarbeiten sind (Schritt 350). Der Prozessor stellt fest, dass wertere Sprachsequenzrahmen zu verarbeiten sind, wenn zwei Bedingungen erfüllt sind. Erstens müssen mehr Rahmen zur Verarbeitung bereitstehen. Zweitens darf der Knoten mit dem besten Wahrscheinlichkeitswert für den gegebenen Rahmen oder für einen oder mehrere einer bestimmten Anzahl von unmittelbar vorausgehenden Rahmen kein Sprechpausenknoten sein (d. h. es sind keine weiteren Sprachsequenzrahmen zu verarbeiten, wenn der Sprechpausenknoten der Knoten mit dem besten Wahrscheinlichkeitswert für den gegebenen Rahmen oder für eine festgelegte Anzahl von sequenziell vorausgehenden Rahmen ist). Sind weitere Sprachsequenzrahmen zu verarbeiten, dann fordert der Prozessor den nächsten Rahmen an (Schritt 300) und wiederholt die Prozedur.
  • Stehen keine weiteren Sprachsequenzrahmen zur Verarbeitung bereit, generiert der Prozessor die Ergebniswörter, die der wahrscheinlichsten Hypothese entsprechen, die die Sprachsequenz repräsentiert (Schritt 355). Ausführliche Darlegungen zu Spracherkennungsverfahren sind in dem US-Patent Nr. 4 805 218 mit dem Titel "Methods for Speech Analysis and Speech Recognition" und in dem US-Patent Nr. 5 202 952 mit dem Titel "Large-Vocabulary Continuous Speech Prefiltering and Processing System" enthalten.
  • Die Prozedur 255 der Vorfilterung mittels lexikalischer Bäume wird in 4 veranschaulicht. Vor Beginn der Spracherkennungsprozedur 250 initialisiert der Prozessor einen lexikalischen Baum. Der lexikalische Baum repräsentierit das Vokabular 205, das auf den phonetischen Beziehungen zwischen den im Vokabular enthaltenen Wörtern basiert. Jeder Knoten des lexikalischen Baums repräsentiert ein Phonem (d. h. einen Laut, der einem Teil eines Wortes oder von Wörtern entspricht).
  • Entsprechend den 5 und 6 weist der lexikalische Baum 500 einen Wurzelknoten 505 auf, der neue in den lexikalischen Baum übertragene Wörter verkörpert. Der lexikalische Baum erstreckt sich von dem Wurzelknoten 505 zu einer Gruppe 510 von Knoten, die den Phonemen entsprechen, mit denen die Wörter beginnen. Von dem Wurzelknoten 505 kann auch ein Sprechpausenknoten 512 erreicht werden, der die Sprechpause verkörpert.
  • Jeder Knoten in der Gruppe 510 repräsentiert ein Phonem, das am Beginn eines oder mehrerer Wörter steht. In dem Bereich 600 des in 6 dargestellten lexikalischen Baums 500 beispielsweise entspricht ein Knoten 610 allen Wörtern des Vokabulars, die mit dem Phonem "H" beginnen. Die Knoten der Gruppe 510 umfassen zusammen Darstellungen des Anfangsphonems eines jeden Wortes des Vokabulars.
  • Der lexikalische Baum verzweigt sich immer werter bis zu den äußersten Koten 515, die die aktuellen Wörter des Vokabulars verkörpern. Der äußerste Knoten 615 von 6 entspricht z. B. dem Wort "healing", wie durch das Quadrat dargestellt ist. Auch ein Knoten des Baums in der mittleren Ebene kann ein Wort des Vokabulars verkörpern. Der Knoten 520 könnte beispielsweise ein bestimmtes Wort des Vokabulars und außerdem die ersten zwei Phoneme anderer Wörter des Vokabulars repräsentieren. In gleicher Weise ist der äußerste Knoten 620 von 6 eine Entsprechung der Wörter "heal" sowie "heel", gleichzeitig aber auch der ersten drei Phoneme der Wörter "heals", "heels" und "healing". Der Knoten 620 zeigt zudem, dass ein äußerster Knoten mehreren, nicht nur einem Ergebniswort entsprechen kann, da sich mehrere Wörter in der phonetischen Schreibweise gleichen können. Wie 6 zu entnehmen ist, können äußerste Knoten in unterschiedlichen Ebenen innerhalb des lexikalischen Baums auftreten.
  • Wenden wir uns wieder 4 zu. Der Prozessor 130 beginnt mit der Vorfilterprozedur 255, indem er den nächstfolgenden Rahmen von Daten aus dem Sprachsequenzenpaket 175 abruft (Schritt 400). Unmittelbar nach der Initialisierung ist der nächstfolgende Datenrahmen der erste Datenrahmen im Sprachsequenzenpaket 175. Danach ist der nächste Datenrahmen derjenige, der dem letzten Datenrahmen folgt, der von der Vorfilterprozedur verarbeitet wurde. Es sei darauf hingewiesen, dass die Vorfilterprozedur 255 zwischen Listenanforderungen den lexikalischen Baum nicht reinitialisiert. Deshalb entspricht der Zustand des lexikalischen Baums, bei dem eine Wortliste angefordert wird, dem Zustand des lexikalischen Baums, nachdem eine vorausgehende Wortliste zurückgegeben wurde.
  • Nach Abruf eines Datenrahmens ermittelt der Prozessor 130 im Baum einen aktiven Knoten, der nach sich keine unverarbeiteten aktiven Nachfolger aufweist (Schritt 405). Die Nachfolger eines Knotens können auch als Unterknoten des Knotens bezeichnet werden.
  • Wird der lexikalische Baum initialisiert, so ist der Sprechpausenknoten 512 der einzige aktive Knoten.
  • Durch Starten mit einem Knoten ohne unverarbeitete aktive Unterknoten wird Speicherplatz eingespart, der zur Verarbeitung der Knoten benötigt wird. Wie oben dargelegt, werden Änderungen im lexikalischen Baum über den Baum nach unten weitergegeben (d. h. vom Wurzelknoten zu den äußersten Knoten). Da Änderungen für weiter unten im Baum befindliche Knoten die Verarbeitung der sich höher im Baum befindlichen Knoten nicht beeinflussen, kann der Prozessor die Knoten ohne Herstellen einer zweiten Kopie des lexikalischen Baums im Speicher verarbeiten, indem er mit einem Knoten beginnt, der keine unverarbeiteten aktiven Unterknoten aufweist.
  • Daraufhin verarbeitet der Prozessor 130 den aktuellen Knoten (Schritt 410). Während der Verarbeitung des Knotens stellt der Prozessor fest, ob der Knoten zusätzliche aktive Knoten hervorbringt oder als inaktiver Knoten zu betrachten ist. Handelt es sich dabei um einen äußersten Knoten, stellt der Prozessor zudem fest, ob das dem Knoten entsprechende Ergebniswort einer Wortliste für einen Zeitpunkt, der mit dem Knoten assoziiert wurde, hinzugefügt werden soll.
  • Nach der Verarbeitung des Knotens (Schritt 410) stellt der Prozessor 130 fest, ob der Knoten im Baum am weitesten oben angeordnet ist (d. h. der Wurzelknoten ist) (Schritt 415). Ist der Knoten nicht am weitesten oben angeordnet, schreitet der Prozessor zum nächsten keine unverarbeiteten aktiven Unterknoten umfassenden Knoten (Schritt 420) voran und verarbeitet diesen Knoten (Schritt 410). Es sei darauf hingewiesen, dass der Prozessor bei der Suche nach dem nächsten zu verarbeitenden Knoten inaktive Knoten mit aktiven Unterknoten oder aktiven Geschwisterknoten berücksichtigt.
  • Handelt es sich bei dem verarbeiteten Knoten um den höchsten aktiven Knoten (Schritt 415), so verarbeitet der Prozessor 130 den Sprechpausenknoten 512 (Schritt 425). Generell wird der Sprechpausenknoten verarbeitet, indem der Rahmen mit einem Sprechpausenmodell verglichen und der sich ergebende Wahrscheinlichkeitswert und der minimale aktuelle Wahrscheinlichkeitswert für den Sprechpausenknoten sowie der Wahrscheinlichkeitswert für den Wurzelknoten 505 addiert werden. Die Knotenverarbeitung wird nachfolgend ausführlicher behandelt.
  • Als Nächstes stellt der Prozessor den lexikalischen Baum wieder auf die Anfangswerte zurück (Schritt 430). Wie nachfolgend ausgeführt werden soll, stellt der Prozessor den Baum immer dann wieder auf die Anfangswerte zurück, wenn der Sprechpausenknoten 512 aktiv ist oder ein Ergebniswort von einem äußersten Knoten des lexikalischen Baums generiert wurde, unabhängig davon, ob das Ergebniswort der Wortliste hinzugefügt wurde. Der Prozessor stellt den Baum auf die Anfangswerte zurück, indem er den Wahrscheinlichkeitswert für den Wurzelknoten 505 durch den kleinsten Wahrscheinlichkeitswert für den Sprechpausenknoten 512 und die kleinsten Wahrscheinlichkeitswerte für beliebige durch äußerste Knoten des lexikalischen Baums für den aktuellen Rahmen generierte Ergebniswörter ersetzt. Ist der Sprechpausenknoten inaktiv und hat kein äußerster Knoten ein Ergebniswort generiert, dann ersetzt der Prozessor den Wahrscheinlichkeitswert für den Wurzelknoten 505 durch einen schlechten Wahrscheinlichkeitswert (d. h. einen Wahrscheinlichkeitswert, der großer ist als ein Eliminierschwellenwert).
  • Daraufhin steift der Prozessor 130 fest, ob der Wortliste für den angeforderten Zeitpunkt noch mehr Ergebniswörter hinzugefügt werden können (Schritt 435). Sind im lexikalischen Baum keine aktiven Knoten vorhanden, die der Sprachsequenz entsprechen, die zu der, vor oder kurz nach der Anfangszeit begann, für die die Liste angefordert wurde, und entspricht der letzte zu verarbeitende Rahmen einem Zeitpunkt, der kurz nach der Anfangszeit liegt, für die die Liste angefordert wurde, so können der Wortliste keine werteren Ergebniswörter hinzugefügt werden. Wie nachfolgend ausgeführt werden soll, wird ein vom lexikalischen Baum generiertes Ergebniswort der Wortliste hinzugefügt, die der Anfangszeit des Wortes entspricht, sowie Wortlisten, die den Zeitpunkten entsprechen, die vor oder nach der Anfangszeit des Wortes liegen. Aus diesem Grund wartet der Prozessor, bis entsprechend der Sprachsequenz, die kurz nach der Anfangszeit für die Wortliste begann, keine aktiven Knoten mehr in dem Baum vorhanden sind. Wenn mehr Ergebniswörter hinzugefügt werden können, ruft der Prozessor den nächsten Datenrahmen vom Sprachsequenzenpaket 175 ab (Schritt 400) und wiederholt die oben beschriebenen Schritte.
  • Können der Wortliste keine Ergebniswörter hinzugefügt werden (Schritt 435), so gibt der Prozessor die Wortliste zur Prozedur 250 zurück (Schritt 440). Enthält die Wortliste mehr als eine festgelegte Anzahl von Ergebniswörtern, so entfernt der Prozessor 130 vor der Rückgabe der liste Ergebniswörter aus der Liste. Der Prozessor entfernt die Ergebniswörter, die mit geringster Wahrscheinlichkeit der Sprachsequenz des Benutzers entsprechen, und entfernt ausreichend viele Ergebniswörter, so dass die Anzahl der in der Liste enthaltenen Ergebniswörter auf die festgelegte Anzahl von Ergebniswörtern reduziert wird. Der Prozessor entfernt auch alle Wortlisten für Zeitpunkte vor der jeweils angeforderten Anfangszeit.
  • Jeder Knoten des lexikalischen Baums 500 (5) verkörpert eine Folge von Zuständen für ein bestimmtes Phonem. 7 zeigt z. B. einen Knoten 700, der einen ersten Zustand 705, einen zweiten Zustand 710 und einen dritten Zustand 715 umfasst. Ein Vergleich mit einem digitalen Rahmen kann dazu führen, dass der sich in einem bestimmten Zustand befindende Wahrscheinlichkeitswert in diesem Zustand bleibt (über den Pfad 720). Ein Wahrscheinlichkeitswert bleibt in dem Zustand, wenn er, nachdem er auf der Grundlage eines Vergleichs mit einem Modell für einen Zustand abgeglichen wurde, besser ist als ein Wahrscheinlichkeitswert, der von einem vorausgehenden Zustand oder Knoten übertragen wurde, oder wenn kein Wahrscheinlichkeitswert von einem vorausgehenden Zustand oder Knoten übertragen wurde. Der Vergleich kann auch bewirken, dass der Wahrscheinlichkeitswert zu einem nachfolgenden Zustand über den Pfad 725 übertragen wird. Ein Wahrscheinlichkeitswert wird auf einen nachfolgenden Zustand übertragen, wenn er, nachdem er auf der Grundlage eines Vergleichs mit einem Modell für den nachfolgenden Zustand abgeglichen wurde, besser als der Wahrscheinlichkeitswert des nachfolgenden Zustands ist oder wenn kein Wahrscheinlichkeitswert mit dem nachfolgenden Zustand assoziiert wird. Der Wahrscheinlichkeitswert für den dritten Zustand 715 kann an einen oder mehrere nachfolgende Knoten über einen Pfad 730 übertragen werden.
  • Entsprechend 8A wird der Knoten 512, der der Sprechpause entspricht, durch einen einzigen Zustand 800 repräsentiert. Jeder Vergleich mit einem digitalen Rahmen kann dazu führen, dass ein Wahrscheinlichkeitswert in dem Knoten in dem Zustand 800 bleibt (über den Pfad 805) und kann außerdem dazu führen, dass der Wahrscheinlichkeitswert über den Pfad 810 an den Wurzelknoten 505 übertragen wird.
  • Entsprechend 8B wird der Wurzelknoten 505 durch einen einzigen Zustand 850 repräsentiert. Ein Vergleich mit einem Rahmen führt dazu, dass der Wahrscheinlichkeitswert in dem Knoten über den Pfad 855 an einen oder mehrere nachfolgende Knoten übertragen wird (einschließlich des Sprechpausenknotens 512).
  • Jeder Zustand eines Knotens lässt sich durch vier Werte wiedergeben: einen Wahrscheinlichkeitswert, eine Anfangszeit, einen Penaltypunktwert – penalty – für Verlassen und einen Penaltypunktwert für Bleiben. Der Wahrscheinlichkeitswert steht für die Wahrscheinlichkeit, dass eine Folge von digitalen Rahmen den lexikalischen Baum in den Zustand versetzt hat (d. h. die Wahrscheinlichkeit, dass die Folge der Rahmen dem Ergebniswort oder einem Teil eines Ergebniswortes entspricht, mit denen der Zustand übereinstimmt). Wie erwähnt, werden die Wahrscheinlichkeitswerte als negative logarithmische Werte geführt.
  • Die Anfangszeit identifiziert den in der Hypothese angenommenen Zeitpunkt, zu dem die Person das Wort oder die Wörter, die durch den Zustand repräsentiert werden, zu sprechen begann. Die Anfangszeit identifiziert insbesondere den Zeitpunkt, zu dem der mit dem Zustand assoziierte Wahrscheinlichkeitswert in den lexikalischen Baum eintrat (d. h. den Zeitpunkt, zu dem der Wahrscheinlichkeitswert von dem Zustand 800 entlang dem Pfad 810 weitergegeben wurde).
  • Bei den Penaltypunktwerten für Verlassen und Bleiben handelt es sich um feste Werte, die mit dem Zustand assoziiert werden. Der Penaltypunktwert für Bleiben und jeder in dem Zustand bleibende Wahrscheinlichkeitswert werden addiert. Der Penaltypunktwert für Bleiben ist der länge des durch den Zustand wiedergegebenen Lauts und der Länge des Phonems, das durch den Knoten repräsentiert wird, dem der Zustand zugeordnet wird, umgekehrt proportional. Der Penaftypunktwert für Bleiben könnte beispielsweise -log (1 – 1/davg) proportional sein, wobei davg die durchschnittliche Dauer des durch den Zustand verkörperten Lauts, angegeben in Rahmen, ist. So ist der Penaltypunktwert für Bleiben ein relativ großer Wert, wenn der dem Zustand entsprechende Laut nur über einen kurzen Zeitraum hinweg andauert, und ein relativ kleiner Wert, wenn der dem Zustand entsprechende Laut über einen langen Zeitraum andauert.
  • Der Penaltypunktwert für Verlassen und jeder den Zustand verlassende Wahrscheinlichkeitswert werden addiert, der Penaltypunktwert schließt eine Komponente der Dauer und eine Sprachmodellkomponente ein. Die Komponente der Dauer ist der Länge des durch den Zustand repräsentierten Lauts und der Länge des Phonems, das durch den Knoten repräsentiert wird, dem der Zustand zugeordnet wird, direkt proportional. Die Komponente der Dauer des Penaltypunktwertes für Verlassen könnte beispielsweise -log (1/davg) proportional sein. So hat die Komponente der Dauer des Penaltypunktwertes für Verlassen einen relativ großen Wert, wenn der dem Zustand entsprechende Laut über einen langen Zeitraum andauert, und einen relativ kleinen Wert, wenn der dem Zustand entsprechende Laut über einen kurzen Zeitraum hinweg andauert.
  • Die Sprachmodellkomponenten der für Verlassen geltenden Penaltypunktwerte für alle Zustände in einem bestimmten Knoten repräsentieren zusammen einen Sprachmodellwahrscheinlichkeitswert für das mit diesem Knoten assoziierte Phonem. Der Sprachmodellwahrscheinlichkeitswert steht für die Wahrscheinlichkeit, dass ein Wort einschließlich des Phonems in einer Sprachsequenz auftritt. Der Sprachmodellwahrscheinlichkeitswert, der in den einem Knoten zugeordneten Penaftypunktwerten für Verlassen enthalten ist, entspricht dem Anstieg des besten Sprachmodellwahrscheinlichkeitswertes für den Zweig des lexikalischen Baums, der mit dem Knoten beginnt, im Vergleich zu dem Zweig des lexikalischen Baums, der mit dem Ursprung des Knotens beginnt.
  • Bei den folgenden Ausführungen wird davon ausgegangen, dass mit dem Zustand 800 oder dem Zustand 850 keine Penattypunktwerte für Verfassen oder Bleiben assoziiert werden. Dasselbe Ergebnis könnte erzielt werden, indem die Penaltypunktwerte für Verlassen und Bleiben für die Zustände 800 und 850 gleich Null gesetzt werden. Bei den folgenden Ausführungen wird des Weiteren angenommen, dass der erste Rahmen der erste Rahmen ist, der einer Sprachsequenz entspricht, und nicht einer Sprechpause.
  • 9 zeigt ein vereinfachtes Beispiel dafür, wie die Wahrscheinlichkeitswerte durch den lexikalischen Baum weitergegeben werden. Bevor der erste Rahmen abgerufen wird (Zeile 900), hat der Zustand 800 (der der Sprechpause entspricht) einen Wahrscheinlichkeitswert von 0, und keine anderen Knoten sind aktiv. Der Wahrscheinlichkeitswert gleich 0 bedeutet, dass eine einhundertprozentige Wahrscheinlichkeit vorliegt, dass das System mit einer Sprechpause beginnt.
  • Nachdem der erste Rahmen angefordert wurde (Reihe 905), wird der Wahrscheinlichkeitswert für den Zustand 800 (SA1) dem akustischen Wahrscheinlichkeitswert (AA1) gleich gesetzt, der sich aus einem akustischen Abgleich des ersten Rahmens mit dem akustischen Modell ergibt, das dem Zustand 800 entspricht (d. h. dem akustischen Modell für eine Sprechpause). Also wird der Wahrscheinlichkeitswert für den Zustand 800 (SA1) der Wahrscheinlichkeit gleich gesetzt, dass der erste Rahmen der Sprechpause entspricht.
  • Der Abruf des ersten Rahmens führt auch dazu, dass der Zustand 705 aktiv wird. Nimmt man an, dass der Knoten 700 einem Phonem entspricht, das der Beginn eines Wortes ist, so wird der Wahrscheinlichkeitswert für den Zustand 705 (SB1) dem akustischen Wahrscheinlichkeitswert (AB1) gleich gesetzt, der sich aus einem akustischen Abgleich des ersten Rahmens mit dem akustischen Modell ergibt, das dem Zustand 705 entspricht. So wird der Wahrscheinlichkeitswert für den Zustand 705 (SB1) der Wahrscheinlichkeit gleich gesetzt, dass der erste Rahmen dem Zustand 705 entspricht. Die Anfangszeit für den Zustand 705 (SB1) wird dem Zeitpunkt gleich gesetzt, der mit dem ersten Rahmen assoziiert wird. Dieser Wert für die Anfangszeit zeigt an, dass der Wahrscheinlichkeitswert im Zustand 705 ein Wort repräsentiert, das zu dem Zeitpunkt begann, der dem ersten Rahmen entspricht. Die Anfangszeit bewegt sich gemeinsam mit dem Wahrscheinlichkeitswert, während dieser durch den lexikalischen Baum weitergegeben wird.
  • Nachdem der zweite Rahmen abgerufen wurde (Reihe 910), wird der Wahrscheinlichkeitswert für den Zustand 800 (SA2) der Summe aus dem vorhergehenden Wahrscheinlichkeitswert für den Zustand (SA1) und dem akustischen Wahrscheinlichkeitswert (AA2) gleich gesetzt, der sich aus einem akustischen Abgleich des zweiten Rahmens mit dem akustischen Modell für eine Sprechpause ergibt: SA2 = SA1 + AA2 = AA1 + AA2.
  • Wie oben erwähnt, ist jeder der Wahrscheinlichkeitswerte gleich einer negativen logarithmischen Wahrscheinlichkeit. Demzufolge entspricht das Addieren von Wahrscheinlichkeitswerten dem Multiplizieren der Wahrscheinlichkeiten. So ist der Wahrscheinlichkeitswert für den Zustand 800 (SA2) gleich der Wahrscheinlichkeit, dass sowohl der erste als auch der zweite Rahmen einer Sprechpause entsprechen. Dieser Prozess wird für die nachfolgenden Rahmen wiederholt (z. B. Zeilen 915 und 920), so dass der Wahrscheinlichkeitswert für den Zustand 800 bei einem Rahmen "n" (SAn) gleich zu setzen ist mit:
  • Figure 00160001
  • Bei diesem Ausdruck wird davon ausgegangen, dass der Sprechpausenknoten 512 vom Wurzelknoten 505 nicht auf den Anfangswert zurückgestellt wurde. Erfolgt bei einem Rahmen n das Zurückstellen auf den Anfangswert, so wird der Wert SAn–1, durch den Wahrscheinlichkeitswert des Wurzelknotens 505 für den Rahmen n – 1 ersetzt.
  • Nachdem der zweite Rahmen abgerufen wurde, wird der Wahrscheinlichkeitswert für den Zustand 705 (SB2) gleich gesetzt mit: SB2 = min (SB1 + stayB, SA1) + AB2,worin AB2 der akustische Wahrscheinlichkeitswert ist, der sich aus einem akustischen Abgleich des zweiten Rahmens mit dem akustischen Modell ergibt, das dem Zustand 705 entspricht, und stayB der für Bleiben geltende Penaltypunktwert für den Zustand 705 ist. Der Wahrscheinlichkeitswert für den Zustand 705 (SB2) entspricht einer der wahrscheinlicheren der zwei Alternativen: (1) der erste Rahmen war eine Sprechpause, der zweite Rahmen der Laut, der durch den Zustand 705 repräsentiert wurde, oder (2) sowohl der erste als auch der zweite Rahmen waren der Laut, der durch den Zustand 705 repräsentiert wurde. Die erste Alternative ist einem Übergang von Zustand 800 zu Zustand 705 entlang dem Pfad 810 gleich zu setzen. Die zweite Alternative ist einem Übergang vom Zustand 705 zurück in den Zustand 705 entlang dem Pfad 720 gleich zu setzen. Ist die erste Alternative die wahrscheinlichere, so wird die Anfangszeit, die dem ersten Rahmen entspricht, der vor dem Zustand 705 gespeichert wurde, durch einen Wert ersetzt, der dem zweiten Rahmen entspricht. Dieser Wert zeigt an, dass der Wahrscheinlichkeitswert bei Zustand 705 ein Wort repräsentiert, das mit dem zweiten Rahmen begann.
  • Nach Abruf des zweiten Rahmens wird der Zustand 710 aktiv. Der Wahrscheinlichkeitswert für den Zustand 710 (SC2) wird gleich gesetzt mit: SC2 = SB1 + leaveB + AC2 worin AC2 der akustische Wahrscheinlichkeitswert ist, der aus einem akustischen Abgleich des zweiten Rahmens mit dem akustischen Modell gewonnen wurde, das dem Zustand 710 entspricht, und leaveB der für Verlassen geltende Penaltypunktwert für den Zustand 705 ist. In gleicher Weise sind leaveC und leaveD für das Verlassen geltende Penaltypunktwerte für die Zustände 710 bzw. 715. Die Summe der Sprachmodellkomponenten von leaveB, leaveC und leaveD repräsentiert den Sprachmodellwahrscheinlichkeitswert für das durch den Knoten 700 verkörperte Phonem.
  • Die Methodik zur Bestimmung der Zustandswahrscheinlichkeitswerte für die Zustände, die sich vom Sprechpausenzustand unterscheiden, lässt sich allgemein wie folgt ausdrücken: Si,j = min(Si,j–1 + stayi, Si–1,j–1 + leavej–1) + Ai,j bei i größer als Null (wo i gleich Null der Sprechpause entspricht) und mit der Grenzbedingung, dass der Wahrscheinlichkeitswert für einen inaktiven Zustand gleich unendlich oder einem entsprechend großen Wert ist. Die Anfangszeit für den Zustand kann wie folgt ausgedrückt werden: ti,j = ti,j–1 für Si,j–1 + stayi = Si–1,j–1 + leavej–1 oder ti,j = ti–1,j–1 für Si,j–1 + stayi > Si–1,j–1 + leavei–1,bei i und j größer als Null und mit der Grenzbedingung, dass der Zeitwert für einen gerade aktiv gewordenen Zustand den Rahmen repräsentiert, bei dem der Zustand aktiv wurde. Wie vorstehend erwähnt, lassen sich die Zustandswahrscheinlichkeitswerte für den Sprechpausenzustand wie folgt bestimmen:
    Figure 00180001
    mit der Grenzbedingung, dass S0,0 gleich Null ist. Eine noch allgemeinere Form, in der die Wahrscheinlichkeitswerte als Funktionen der verschiedenen Parameter ausgedrückt sind, ist in 10 veranschaulicht.
  • Wenden wir uns nun 11 zu. Ein Knoten kann entsprechend einer Prozedur 435 verarbeitet werden. Zunächst aktualisiert der Prozessor 130 die Wahrscheinlichkeitswerte und Zeitwerte für jeden Zustand des Knotens (Schritt 1100). Dies geschieht, indem der Prozessor akustische Wahrscheinlichkeitswerte erzeugt und die oben erörterten Gleichungen anwendet.
  • War der letzte Zustand des Knotens vor der Aktualisierung der Wahrscheinlichkeitswerte für den Knoten aktiv, so nutzt der Prozessor den Wahrscheinlichkeitswert für den letzten Zustand, um Wahrscheinlichkeitswerte für eventuell vorhandene inaktive Unterknoten des Knotens zu erzeugen. Wird ein Ausdünnungsschwellenwert vom erzeugten Wahrscheinlichkeitswert für einen Unterknoten nicht überschritten, so aktiviert der Prozessor diesen Unterknoten und liefert für den Unterknoten den erzeugten Wahrscheinlichkeitswert.
  • Anschließend stellt der Prozessor fest, ob der Wahrscheinlichkeitswert eines beliebigen Zustands des Knotens den Ausdünnungsschwellenwert überschreitet (Schritt 1105). Überschreitet ein Wahrscheinlichkeitswert den Ausdünnungsschwellenwert, so wird die Wahrscheinlichkeit, dass das durch den Wahrscheinlichkeitswert repräsentierte Wort gesprochen wurde, als zu gering erachtet, als dass es einer weiteren Untersuchung wert wäre. Der Prozessor dünnt also den lexikalischen Baum durch Deaktivieren eines beliebigen Zustands aus, der einen Wahrscheinlichkeitswert hat, der den Ausdünnungsschwellenwert überschreitet (Schritt 1110). Ist jeder Zustand des Knotens deakvitiert, so deaktiviert der Prozessor auch den Knoten. Der Prozessor kann einen Knoten oder Zustand deaktivieren, indem er einen Datensatz löscht, der mit dem Knoten oder Zustand assoziiert ist, oder indem er in dem Datensatz anzeigt, dass der Knoten oder Zustand inaktiv ist. In ähnlicher Weise kann der Prozessor einen Knoten oder Zustand aktivieren, indem er einen Datensatz erzeugt und den Datensatz mit dem Knoten oder Zustand assoziiert oder in einem vorhandenen Datensatz anzeigt, dass der Knoten oder Zustand aktiv ist.
  • Der Prozessor kann einen dynamischen Ausdünnungsschwellenwert (Tdynamic) anwenden, der zu jeder Zeit Änderungen des durchschnittlichen oder besten Wahrscheinlichkeitswertes im lexikalischen Baum berücksichtigt. Der dynamische Ausdünnungsschwellenwert kann als die Summe aus einem festen Ausdünnungsschwellenwert und einem Normierungsfaktor (norm) verstanden werden. In diesem Falle deaktiviert der Prozessor jeden Zustand j, bei dem gilt: Sj > Tdynamic = Tfixed + norm.
  • Der Normierungsfaktor (norm) könnte beispielsweise dem niedrigsten Wahrscheinlichkeitswert im lexikalischen Baum vom vorausgehenden Rahmen entsprechen. Der Normierungsfaktor könnte aber auch durch genaues Berechnen des niedrigsten Wahrscheinlichkeitswertes im lexikalischen Baum für den aktuellen Rahmen in einem ersten Durchgang durch den lexikalischen Baum und durch anschließendes Vergleichen aller Wahrscheinlichkeitswerte mit einem Schwellenwert ermittelt werden, der auf dem Wahrscheinlichkeitswert während eines zweiten Durchgangs durch den lexikalischen Baum basiert. Das zweite Verfahren ist offensichtlich genauer, da es den Vergleich mit dem aktuellen Rahmen einschließt. Das zweite Verfahren erfordert jedoch zusätzliche Verarbeitungsschritte, die sich daraus ergeben, dass zwei Durchgänge durch den lexikalischen Baum nötig sind.
  • Bei einer Ausführungsform des Verfahrens wird eine Schätzung des Vergleichs mit dem aktuellen Rahmen angewendet, um den größten Nutzen aus dem zweiten Verfahren zu ziehen, wobei nur ein einziger Durchgang durch den lexikalischen Baum erforderlich wird. Bei der Ausführungsform werden die Zustandswahrscheinlichkeitswerte für den Sprechpausenzustand wie folgt bestimmt: S0,j = S0,j–1 + A0,j – normj,wobei die Grenzbedingung gilt, dass S0,0 gleich Null ist. Die Wahrscheinlichkeitswerte für andere Zustände werden wie folgt bestimmt: Si,j = min (Si,j–1 + stayj, Si–1,j–1 + leavei–1) + Ai,j – normj,bei i größer als Null (wo i = Null der Sprechpause entspricht) und mit der Grenzbedingung, dass der Wahrscheinlichkeitswert für einen inaktiven Zustand einem großen Wert entspricht. Der Wert für normj entspricht dem aktualisierten Wahrscheinlichkeitswert (ohne Normierung) für den Zustand (Sx), der den niedrigsten Wahrscheinlichkeitswert im vorhergehenden Rahmen (j – 1) hatte: Sx,j = Sx,j–1 + Ax,j.
  • Die Verwendung dieses Normierungsfaktors bedeutet, dass sich, wenn der Zustand, der im vorausgehenden Rahmen den niedrigsten Wahrscheinlichkeitswert aufweist, als der Zustand erhalten bleibt, der im aktuellen Rahmen den niedrigsten Wahrscheinlichkeitswert aufweist, für den Zustand ein Wahrscheinlichkeitswert ergibt, der gleich dem Penaltypunktwert für Bleiben ist, der mit dem Zustand (stayx) assoziiert wird.
  • Bei einer anderen Ausführungsform der Prozedur 425 nimmt der Prozessor 130 eine Ausdünnung als einen Unterschritt des Schritts Aktualisierung der Wahrscheinlichkeitswerte für die Zustände (Schritt 1100) vor. Der Prozessor überwacht während des Aktualisierungsprozesses die Wahrscheinlichkeitswerte und deaktiviert sofort einen Zustand, wenn der Wahrscheinlichkeitswert des Zustands den Ausdünnungsschwellenwert überschreitet. Auf der Grundlage dieses Verfahrens können Verarbeitungsschritte des Prozessors reduziert werden, die mit dem akustischen Abgleich assoziiert werden.
  • Ein Zustand kann durch zwei Arten akustischer Modelle verkörpert werden: ein einfach generisches Modell, das die Auswirkungen eines vorausgehenden Lauts auf den durch den Zustand repräsentierten Laut berücksichtigt, und ein doppelt generisches Modell, das den Laut unabhängig von dem vorausgehenden Laut betrachtet. Der Prozessor vergleicht einen Rahmen mit einem bestimmten akustischen Modell nur einmal und verwendet den sich aus dem Vergleich ergebenden Wahrscheinlichkeitswert wiederholt, wenn zusätzliche Zustände durch dasselbe akustische Modell verkörpert werden. Da es beachtlich weniger doppelt generische Modelle als einfach generische gibt, ist es weitaus wahrscheinlicher, dass ein Vergleich eines Rahmens mit einem doppelt generischen Modell wiederholt genutzt werden kann als ein Vergleich mit einem einfach generischen Modell. Dementsprechend machen doppelt generische Modelle einen geringeren Verarbeitungsumfang als einfach generische erforderlich.
  • Aus diesem Grunde führt der Prozessor 130 zunächst den akustischen Abgleich mit Hilfe eines doppelt generischen Modells durch. Überschreitet der resultierende Wahrscheinlichkeitswert einen Qualitätsschwellenwert, so speichert der Prozessor den Wahrscheinlichkeitswert. Überschreitet der resultierende Wahrscheinlichkeitswert den Qualitätsschwellenwert nicht, so führt der Prozessor den akustischen Abgleich unter Nutzung des einfach generischen Modells aus und aktualisiert den Wahrscheinlichkeitswert unter Verwendung der Ergebnisse des akustischen Abgleichs. Danach vergleicht der Prozessor den Wahrscheinlichkeitswert mit dem Ausdünnungsschwellenwert und deaktiviert den Zustand, wenn der Wahrscheinlichkeitswert den Ausdünnungsschwellenwert überschreitet.
  • Für den Prozessor verringert sich des Weiteren der Verarbeitungsumfang im Zusammenhang mit dem akustischen Abgleich, indem für den vorausgehenden Rahmen erzeugte akustische Wahrscheinlichkeitswerte genutzt werden, wenn der aktuelle Rahmen vom vorausgehenden Rahmen durch weniger als einen bestimmten Betrag getrennt ist. Der Prozessor ermittelt den Abstand zwischen dem aktuellen Rahmen und dem vorausgehenden Rahmen, indem er die Euklidische Entfernung zwischen den zwei Rahmen als die Summe der Quadrate der Differenzen zwischen den entsprechenden Parametern der zwei Rahmen berechnet.
  • Anschließend stellt der Prozessor 130 fest, ob ein Ergebniswort einer Wortliste hinzuzufügen ist (Schritt 1115). Ein Ergebniswort wird einer Wortliste hinzugefügt, wenn der zu verarbeitende Knoten dem letzten Phonem eines Wortes entspricht, ein Wahrscheinlichkeitswert aus dem letzten Zustand des Knotens weitergegeben wurde und der Wahrscheinlichkeitswert kleiner als ein Listenschwellenwert ist. Vor dem Vergleich des Wahrscheinlichkeitswertes mit dem Listenschwellenwert addiert der Prozessor einen Sprachmodellwahrscheinlichkeitswert und den Wahrscheinlichkeitswert. Der Sprachmodellwahrscheinlichkeitswert entspricht der Differenz zwischen dem Sprachmodellwahrscheinlichkeitswert für das Wort und dem inkrementalen Sprachmodellwahrscheinlichkeitswert, der bereits in dem Wahrscheinlichkeitswert enthalten ist. Im Allgemeinen ist der Listenschwellenwert kleiner als der Ausdünnungsschwellenwert. Entspricht der zu verarbeitende Knoten dem letzten Phonem mehrerer Wörter mit gleicher phonetischer Schreibweise, dann werden alle die Ergebniswörter, denen der Knoten entspricht, der Wortliste hinzugefügt.
  • Sind die genannten Bedingungen erfüllt, so fügt der Prozessor der Wortliste das Ergebniswort bzw. die Ergebniswörter hinzu (Schritt 1120). Ein Ergebniswort in der Wortliste wird zusammen mit dem aus dem letzten Zustand weitergegebenen Wahrscheinlichkeitswert gespeichert. Befindet sich das Ergebniswort bereits in der Liste, so speichert der Prozessor zusammen mit der Liste den besseren Wert, entweder den bereits mit der Liste gespeicherten Wahrscheinlichkeitswert oder den aus dem letzten Zustand weitergegebenen Wahrscheinlichkeitswert. Die in einer Wortliste enthaltenen Wahrscheinlichkeitswerte für Ergebniswörter werden zusammen mit der Wortliste zurückgegeben. Diese Wahrscheinlichkeitswerte werden von der Prozedur 250 für den detaillierten Abgleich genutzt.
  • Der Prozessor 130 fügt zudem das Ergebniswort zu Wortlisten für Zeitpunkte hinzu, die vor der Anfangszeit liegen oder ihr folgen. Dies geschieht, um mögliche Abweichungen der Anfangszeit des Wortes zu berücksichtigen, die durch die Auswahl des besseren Wahrscheinlichkeitswertes, des Wahrscheinlichkeitswertes, der in einem Zustand bleibt, oder des von einem vorausgehenden Zustand weitergegebenen Wahrscheinlichkeitswertes bedingt sind. Mittels Weitergabe des Ergebniswortes durch eine größere Anzahl von Listen gewährleistet der Prozessor, dass diese Abweichungen nicht die Genauigkeit des Spracherkennungssystems beeinträchtigen.
  • Der Prozessor verteilt auf der Basis der Länge des Wortes das Ergebniswort an eine größere Anzahl von Listen. Genauer gesagt, fügt der Prozessor das Ergebniswort Listen für Zeitpunkte, die um eine halbe Länge des Wortes von der Anfangszeit versetzt sind, solange hinzu, wie die halbe Länge des Wortes nicht den Maximalwert (beispielsweise zehn Rahmen) überschreitet. Ist z. B. ein Wort zwanzig Rahmen lang, so fügt der Prozessor das Ergebniswort Wortlisten hinzu, die den zehn Rahmen entsprechen, die vor dem Rahmen liegen, der durch die Anfangszeit repräsentiert wird ("der Anfangsrahmen"), und die den zehn Rahmen entsprechen, die dem Anfangsrahmen folgen. Der Prozessor gewichtet den Wahrscheinlichkeitswert des Ergebniswortes anhand des Abstands zwischen dem Rahmen für eine bestimmte Liste und dem Anfangsrahmen. So könnte der Prozessor beispielsweise einen Penaltypunktwert von 25 und den Wahrscheinlichkeitswert für jeden vom Anfangsrahmen getrennten Rahmen addieren. Der Prozessor fügt z. B. keiner Liste das Ergebniswort hinzu, bei dem durch die Gewichtung der Wahrscheinlichkeitswert den Schwellenwert überschreitet. Bei diesem Beispiel können der Wortliste für den angeforderten Zeitpunkt mehr Ergebniswörter hinzugefügt werden (Schritt 440), so lange aktive Knoten im lexikalischen Baum entsprechend der Sprachsequenz vorhanden sind, die zehn Rahmen nach der Anfangszeit, für die die Liste angefordert wurde, oder davor begann, und solange der letzte zu verarbeitende Rahmen dem Zeitpunkt mindestens zehn Rahmen nach der Anfangszeit entspricht.
  • Nach Hinzufügen eines Ergebniswortes zur Wortliste (Schritt 1120) speichert der Prozessor den Wahrscheinlichkeitswert, der mit dem Ergebniswort als ein Anfangswahrscheinlichkeitswert zum Rückstellen auf die Anfangswerte im Baum assoziiert wird (Schritt 1125). Die durch den lexikalischen Baum erfolgende Generierung eines Ergebniswortes bedeutet, dass der aktuelle Rahmen dem letzten Rahmen des Ergebniswortes entsprechen kann (wobei die Wahrscheinlichkeit einer solchen Übereinstimmung durch den Wahrscheinlichkeitswert wiedergegeben werden kann, der mit dem Wort assoziiert wird). Dies bedeutet, dass der nächste Rahmen dem Beginn eines Wortes oder einer Sprechpause entsprechen kann. Der Prozessor 130 stellt den Baum wieder auf die Anfangswerte zurück (Schritt 430 von 4), um diese Möglichkeit zu berücksichtigen.
  • Für einen bestimmten Rahmen kann eine größere Anzahl von Knoten Ergebniswörter generieren. Der Baum braucht jedoch nur einmal auf die Anfangswerte zurückgestellt werden. Unter diesem Aspekt speichert der Prozessor nur den mit einem Wort (SW) assoziierten Wahrscheinlichkeitswert als den Rückstellwahrscheinlichkeitswert (SRS), wenn das Wort das erste Ergebniswort ist, das vom Baum für den aktuellen Rahmen generiert werden soll oder wenn der Wahrscheinlichkeitswert des Wortes kleiner als der Wahrscheinlichkeitswert aller anderen Ergebniswörter ist, die durch zuvor verarbeitete Knoten für den aktuellen Rahmen (SRS') generiert wurden: SRS = min(SW, SRS').
  • Durch Speichern nur des niedrigsten Wahrscheinlichkeitswertes (d. h. des Wahrscheinlichkeitswertes, der die größte Wahrscheinlichkeit verkörpert, dass der aktuelle Rahmen der letzte Rahmen eines Wortes war) gewährleistet der Prozessor, dass der Baum wieder auf den Anfangswert zurückgesetzt wird, wobei die größte Wahrscheinlichkeit dafür genutzt wird, dass der nächste Rahmen der erste Rahmen eines neuen Wortes ist.
  • Zum Rückstellen des Baums (Schritt 430 von 4) aktiviert der Prozessor den Wurzelknoten 505 und assoziiert das Minimum des Rückstellwahrscheinlichkeitswertes (SRS) und den Wahrscheinlichkeitswert für den Sprechpausenknoten 512 mit dem Wurzelknoten. Bei der Verarbeitung des nächsten Rahmens kann der aktive Wurzelknoten 505 dazu genutzt werden, die Knoten in der Gruppe 510 oder den Sprechpausenknoten 512 zu aktivieren.
  • Das Verarbeiten des Knotens ist beendet, wenn der Prozessor einen Wahrscheinlichkeitswer zum Rückstellen des Baums auf die Anfangswerte (Schritt 1125) gespeichert hat oder wenn kein Ergebniswort der Wortliste hinzuzufügen ist (Schritt 1115).
  • Für den Prozessor können andere Verfahren zur Verringerung des mit der Prozedur 255 im Zusammenhang stehenden Verarbeitungsumfangs angewendet werden. Wenn der lexikalische Baum z. B. sequenzielle Knoten enthält, die keine Zweige aufweisen (z. B. ein erster Knoten, der der einzige Unterknoten eines zweiten Knotens ist, der seinerseits der einzige Unterknoten eines dritten Knotens ist), ersetzt z. B. der Prozessor diese Knoten durch einen einzigen Knoten.
  • Bei einer weiteren Verfahrensabwandlung könnte der Prozessor 130, wenn von ihm ein Zweig eines lexikalischen Baums festgestellt wird, ein phonemvorausschauendes Verfahren anwenden. Wenn ein Knoten einen Wahrscheinlichkeitswert an mehrere Unterknoten weitergibt, führt der Prozessor für jeden Unterknoten einen relativ groben akustischen Abgleich durch. Der Prozessor bildet insbesondere Durchschnittswerte für die nächsten vier Rahmen, um einen geglätteten Rahmen zu erzeugen, und vergleicht den geglätteten Rahmen mit einem akustischen geglätteten Modell für das Phonem, das jedem Unterknoten entspricht, um einen ursprünglichen akustischen Wahrscheinlichkeitswert für jeden Unterknoten zu erzeugen. Das akustische geglättete Modell ist kontextunabhängig und repräsentiert den ersten geglätteten Rahmen des Phonems. Der Prozessor addiert für jeden Unterknoten den ursprünglichen akustischen Wahrscheinlichkeitswert und einen Teil des inkrementalen Sprachmodellwahrscheinlichkeitswertes für den Knoten und den Wahrscheinlichkeitswert für den Knoten. Der Prozessor eliminiert alle Unterknoten, für die der ursprüngliche Wahrscheinlichkeitswert einen zweiten Ausdünnungsschwellenwert überschreitet. Danach führt der Prozessor einen verfeinerten akustischen Abgleich für den/die verbleibenden Unterknoten durch.
  • Der Verarbeitungsumfang wird für den Prozessor 130 des Weiteren reduziert, indem mit jedem Knoten ein Zählwert aktiver Unterknoten assoziiert wird. Wenn der Prozessor anschließend einen Knoten ausdünnt, verringert er auch schrittweise den Zählwert für jeden Ursprung des Knotens. In gleicher Weise erhöht der Prozessor, wenn er den Knoten aktiviert, den Zählwert schrittweise für jeden Ursprung eines Knotens. Diese Zählwerte vereinfachen die Identifikation des ersten und letzten aktiven Knotens. Der Prozessor speichert zudem schrittweise Geschwisterknoten (d. h. Knoten, die unmittelbar Unterknoten desjenigen Knotens sind) im Speicher, wobei jeder Knoten einen Zeiger auf den ersten Unterknoten des jeweiligen Knotens enthält.
  • Fig. 1
    Figure 00260001
  • Fig. 2
    Figure 00260002
  • Fig. 3
    Figure 00260003
  • Fig. 4
    Figure 00270001
  • Fig. 5, Fig. 6
    Figure 00270002
  • Fig. 7, 8A, 8B Fig. 9 und 10
    Figure 00270003
  • Fig. 11
    Figure 00280001

Claims (27)

  1. Ein Verfahren zur Vorfilterung mittels lexikalischer Bäume zur Identifizierung von Wortgruppen für die Anwendung bei der Erkennung von Sprachsequenzen, zur Umwandlung von die Sprachsequenz repräsentierenden analogen Signalen in digitale Daten, die in der geäußerten Sprachsequenz enthaltene Wörter repräsentieren, wobei das Verfahren folgende Schritte umfasst: digitales Abtasten von Sprachsequenzen zur Erzeugung digitaler Daten, die der Sprachsequenz entsprechen; Verarbeitung der digitalen Daten zur Erzeugung von die Sprachsequenz repräsentierenden verarbeiteten digitalen Daten; Darstellung eines Wortvokabulars mittels eines Lexikalischen Baumes; Identifizierung einer ersten Teilliste des Vokabulars, die einer zu einem ersten Zeitpunkt beginnenden Sprachsequenz entsprechen kann, indem Informationen über die zu einem ersten Zeitpunkt beginnende Sprachsequenz in dem lexikalischen Baum weitergegeben werden, wobei die Informationen in die verarbeiteten digitalen Daten aufgenommen werden; Identifizierung einer zweiten Teilliste des Vokabulars, die einer zu einem zweiten Zeitpunkt beginnenden Sprachsequenz entsprechen kann, indem Informationen über die zu einem zweiten Zeitpunkt beginnende Sprachsequenz in dem lexikalischen Baum weitergegeben werden, wobei die Informationen in die verarbeiteten digitalen Daten aufgenommen werden; und Erkennung von in der Sprachsequenz enthaltenen Wörtern und Erzeugung der digitalen Daten, die die in der Sprachsequenz enthaltenen Wörter repräsentieren, indem verarbeitete digitale Daten, die für die zum ersten Zeitpunkt beginnende Sprachsequenz stehen, mit Wörtern aus der ersten Teilliste des Vokabulars und verarbeitete digitale Daten, die für die zum zweiten Zeitpunkt beginnende Sprachsequenz stehen, mit Wörtern aus der zweiten Teilliste des Vokabulars verglichen werden; wobei ein Zustand des lexikalischen Baumes zwischen dem ersten und zweiten Schritt der Identifizierung nicht zurückgesetzt wird, so dass der Zustand des lexikalischen Baumes bei Beginn des zweiten Identifizierungsschrittes dem Zustand des lexikalischen Baumes bei Beendigung des ersten Identifizierungsschrittes entspricht.
  2. Verfahren nach Anspruch 1, bei dem der Schritt zur Identifizierung einer ersten Teilliste des Vokabulars die Durchführung eines Grobvergleichs der zum ersten Zeitpunkt beginnenden Sprachsequenz mit Wörtern aus dem Vokabular umfasst.
  3. Verfahren nach Anspruch 2, bei dem der Grobvergleich eine Weitergabe von Wahrscheinlichkeitswerten -Scores – in dem lexikalischen Baum einschließt.
  4. Verfahren nach Anspruch 3, bei dem der Grobvergleich das Assoziieren einer Anfangszeit mit einem Wahrscheinlichkeitswert einschließt.
  5. Verfahren nach Anspruch 4, bei dem der Grobvergleich ein Verschieben der Anfangszeit mit dem Wahrscheinlichkeitswert während der Weitergabe des Wahrscheinlichkeitswertes in dem lexikalischen Baum beinhaltet.
  6. Verfahren nach Anspruch 3, bei dem ein Ergebniswort durch den Grobvergleich erzeugt wird, wenn ein dem Wort entsprechender Wahrscheinlichkeitswert aus einem Knoten des dem Wort entsprechenden lexikalischen Baumes weitergegeben wird.
  7. Verfahren nach Anspruch 6, bei dem die erste Teilliste des Vokabulars eine erste Ergebniswortliste darstellt und der erste Identifizierungsschritt auch mit einschließt, dass ein durch den Grobvergleich gebildetes Wort zur ersten Ergebniswortliste hinzugefügt wird.
  8. Verfahren nach Anspruch 7, bei dem ein erster Zeitpunkt mit der ersten Ergebniswortliste assoziiert wird, der Grobvergleich ein Assoziieren einer Anfangszeit mit einem Wahrscheinlichkeitswert einschließt und der erste Identfizierungsschritt bedeutet, dass ein Wort der ersten Ergebniswortliste hinzugefügt wird, wenn eine Anfangszeit, die mit einem dem Wort entsprechenden Wahrscheinlichkeitswert assoziiert wird, mit dem ersten Zeitpunkt übereinstimmt.
  9. Verfahren nach Anspruch 8, bei dem der erste Identifizierungsschritt weiterhin umfasst: das Führen von Mehrfach-Ergebniswortlisten, die jeweils mit einem bestimmten Zeitpunkt assoziiert werden und das Hinzufügen des Wortes zu Ergebniswortlisten, die mit Zeitpunkten assoziiert weiden, die dem ersten Zeitpunkt bis zu einem bestimmten Zeitintervall entweder vorangehen oder folgen.
  10. Verfahren nach Anspruch 9, bei dem das Zeitintervall mit der Wortlänge in Beziehung gesetzt wird.
  11. Verfahren nach einem der Ansprüche 7 oder 9, bei dem der Schritt, in dem das Wort zu der ersten Ergebniswortliste hinzugefügt wird, auch einschließt, dass zur ersten Liste auch ein erster, mit dem Wort assoziierter Wahrscheinlichkeitswert hinzugefügt wird.
  12. Verfahren nach Anspruch 10, bei dem der Schritt, in dem das Wort zu Wortlisten hinzugefügt wird, die mit Zeitpunkten assoziiert weiden, die dem ersten Zeitpunkt bis zu in einem bestimmten Zeitintervall entweder vorangehen oder folgen, des werteren beinhaltet: dass der erste Wahrscheinlichkeitswert, der auf einer Differenz zwischen dem ersten Zeitpunkt und einem mit einer bestimmten Wortliste assoziierten Zeitpunkt basiert, modifiziert wird, um einen modifizierten Wahrscheinlichkeitswert zu erhalten, und der modifizierte Wahrscheinlichkeitswert zu der jeweiligen Ergebniswortliste in Assoziation mit dem Wort hinzugefügt wird.
  13. Verfahren nach Anspruch 3, bei dem der lexikalische Baum jeweils ein Phonem darstellende Knoten enthält, so dass jedes Wort des Vokabulars durch eine Folge von Knoten dargestellt wird, die zusammen einer Folge von Phonemen entsprechen, die das Wort definieren, und bei dem der Schritt der Weitergabe von Wahrscheinlichkeitswerten innerhalb des lexikalischen Baumes auch die Weitergabe von Wahrscheinlichkeitswerten zwischen den Knoten des lexikalischen Baumes einschließt.
  14. Verfahren nach Anspruch 13, bei dem ein Sprachmodell-Wahrscheinlichkeitswert, der eine Wahrscheinlichkeit, mit der ein Wort einschließlich dem durch den Knoten dargestellten Phonem in der Sprache auftritt, zum Ausdruck bringt, mit jedem Knoten assoziiert wird und bei dem der Schritt der Weitergabe von Wahrscheinlichkeitswerten innerhalb des lexikalischen Baumes auch beinhaltet, dass ein mit einem Knoten assoziierter Sprachmodell-Wahrscheinlichkeitswert zu einem von den Knoten aus weitergegebenen Wahrscheinlichkeitswert hinzugefügt wird.
  15. Verfahren nach Anspruch 14, bei dem ein mit einem Knoten assoziierter Sprachmodell-Wahrscheinlichkeitswert einem Anstieg eines besten Sprachmodell-Wahrscheinlichkeitswertes von einem mit einem Ursprung des Knotens beginnenden Zweig des lexikalischen Baumes bis zu einem mit dem Knoten beginnenden Zweig des lexikalischen Baumes entspricht.
  16. Verfahren nach Anspruch 13, bei dem, wenn ein Wahrscheinlichkeitswert von einem Knoten zu verschiedenen Unterknoten weitergegeben werden soll, das Verfahren des weiteren für jeden Unterknoten bedeutet, dass ein relativ grober akustischer Abgleich erfolgt, Ergebnisse des Grobabgleichs zu dem Wahrscheinlichkeitswert hinzugefügt werden, um einen Unterknoten-Wahrscheinlichkeitswert zu erhalten, der Unterknoten-Wahrscheinlichkeitswert mit einem Schwellenwert verglichen wird, der Unterknoten eliminiert wird, wenn der Unterknoten-Wahrscheinlichkeitswert nicht mit dem Schwellenwert übereinstimmt, und ein neuer, verfeinerter akustischer Abgleich für den Unterknoten durchgeführt wird, wenn der Unterknoten-Wahrscheinlichkeitswert und der Schwellenwert übereinstimmen.
  17. Verfahren nach Anspruch 16, bei dem der relativ grobe akustische Abgleich auf einem dem Unterknoten entsprechenden Phonem basiert.
  18. Verfahren nach Anspruch 16, bei dem der relativ grobe akustische Abgleich auf einer Sprachsequenz basiert, die einer dem Knoten entsprechenden Sprachsequenz folgt.
  19. Verfahren nach Anspruch 18, bei dem die Sprachsequenz in Rahmen unterteilt wird und der relativ grobe akustische Abgleich auf einem Durchschnitt aus einer Vielzahl von Rahmen basiert.
  20. Verfahren nach Anspruch 3, bei dem der Schritt der Weitergabe von Wahrscheinlichkeitswerten eine Normierung der Wahrscheinlichkeitswerte beinhaltet.
  21. Verfahren nach Anspruch 20, bei dem der Schritt der Normierung der Wahrscheinlichkeitswerte ebenfalls einschließt, dass bei einem ersten Zeitinkrement eine aktualisierte Version eines besten Wahrscheinlichkeitswertes bei einem zweiten Zeitinkrement von den Wahrscheinlichkeitswerten abgezogen wird.
  22. Verfahren nach Anspruch 3, bei dem sich der Schritt der Erkennung von in der Sprachsequenz enthaltenen Wörtern Wahrscheinlichkeitswerten bedient, die während des Grobvergleichs für Wörter in der ersten Teilliste des Vokabulars weitergegeben wurden.
  23. Verfahren nach Anspruch 2, bei dem der Grobvergleich der zum ersten Zeitpunkt beginnenden Sprachsequenz mit Wörtern aus dem Vokabular einschließt dass: die Sprachsequenz mit einer ersten, mit einem Knoten des lexikalischen Baumes assoziierten Modellsequenz verglichen wird, um einen ersten, mit dem Knoten assoziierten Wahrscheinlichkeitswert zu erhalten, der erste Wahrscheinlichkeitswert mit einem ersten Schwellenwert verglichen wird, wenn der erste Wahrscheinlichkeitswert nicht mit dem Schwellenwert übereinstimmt, der erste Wahrscheinlichkeitswert als ein Wahrscheinlichkeitswert für den Knoten gesichert wird und wenn der erste Wahrscheinlichkeitswert mit dem Schwellenwert übereinstimmt, die Sprachsequenz mit einer zweiten, genaueren, mit dem Knoten assoziierten Modellsequenz verglichen wird, um einen zweiten, mit dem Knoten assoziierten Wahrscheinlichkeitswert zu erhalten und der zweite Wahrscheinlichkeitswert als der Wahrscheinlichkeitswert für den Knoten gesichert wird.
  24. Verfahren nach Anspruch 23, bei dem die erste Modellsequenz unabhängig vom Kontext des Knotens ist und die zweite Modellsequenz von dem Kontext des Knotens abhängt.
  25. Verfahren nach Anspruch 1, bei dem der lexikalische Baum aktive Knoten und inaktive Knoten enthält und bei dem Informationen für ein bestimmtes Inkrement der Sprachsequenz in dem lexikalischen Baum dadurch weitergegeben werden, dass ein Knoten ausgewählt wird, der für das bestimmte Inkrement nicht verarbeitet worden ist und der keine aktiven Unterknoten enthält, die für das bestimmte Inkrement nicht verarbeitet worden sind, der ausgewählte aktive Knoten verarbeitet wird und alle Auswahl- und Verarbeitungsschritte solange wiederholt werden, bis alle aktiven Knoten verarbeitet worden sind.
  26. Gerät zur Vorfilterung mittels lexikalischer Bäume zur Identifizierung von Wortgruppen für die Anwendung bei der Erkennung von Sprachsequenzen, zur Umwandlung die Sprachsequenz repräsentierender analoger Signale in digitale Daten, die in der Sprachsequenz enthaltene Wörter repräsentieren, wobei das Gerät folgende Einheiten umfasst: eine Einheit für die digitale Abtastung einer Sprachsequenz zur Erzeugung digitaler Daten, die der Sprachsequenz entsprechen; eine Einheit zur Verarbeitung digitaler Daten zur Erzeugung verarbeiteter digitaler Daten, die die Sprachsequenz repräsentieren; eine Einheit zur Darstellung eines Wortvokabulars mittels eines lexikalischen Baumes; eine Einheit zur Identifizierung einer ersten Teilliste des Vokabulars, die einer zu einem ersten Zeitpunkt beginnenden Sprachsequenz entsprechen kann, indem Informationen über die zu einem ersten Zeitpunkt beginnende Sprachsequenz in dem lexikalischen Baum weitergegeben werden, wobei die Informationen in die verarbeiteten digitalen Daten aufgenommen werden; eine Einheit zur Identifizierung einer zweiten Teilliste des Vokabulars, die einer zu einem zweiten Zeitpunkt beginnenden Sprachsequenz entsprechen kann, indem Informationen über die zu einem zweiten Zeitpunkt beginnende Sprachsequenz in dem lexikalischen Baum weitergegeben werden, wobei die Informationen in die verarbeiteten digitalen Daten aufgenommen werden; und eine Einheit zur Erkennung von in der Sprachsequenz enthaltenen Wörtern und Erzeugung der digtalen Daten, die die in der Sprachsequenz enthaltenen Wörter repräsentieren, indem verarbeitete digitale Daten, die für die zum ersten Zeitpunkt beginnende Sprachsequenz stehen, mit Wörtern aus der ersten Teilliste des Vokabulars und verarbeitete digitale Daten, die für die zum zweiten Zeitpunkt beginnende Sprachsequenz stehen, mit Wörtern aus der zweiten Teilliste des Vokabulars verglichen werden; wobei ein Zustand des lexikalischen Baumes zwischen der Identifizierung der ersten und der zweiten Teilliste des Vokabulars nicht zurückgesetzt wird, so dass der Zustand des lexikalischen Baumes bei Beginn der Identifizierung der zweiten Teilliste dem Zustand des lexikalischen Baumes bei Beendigung der Identifizierung der ersten Teilliste entspricht.
  27. Ein Spracherkennungssystem, das die Vorfilterung mittels lexikalischer Bäume dazu nutzt, für die Spracherkennung Wortgruppen zu identifizieren, wobei das System folgendes beinhaltet: ein Eingabegerät, das so konfiguriert ist, dass es Sprachsequenzen in digitale Signale umwandelt und ein Prozessor, der so konfiguriert ist, dass er ein Wortvokabular mittels eines lexikalischen Baumes darstellt; eine erste Teilliste des Vokabulars identifiziert, die einer zu einem ersten Zeitpunkt beginnenden Sprachsequenz entsprechen kann, indem Informationen über die zum ersten Zeitpunkt beginnende Sprachsequenz in dem lexikalischen Baum weitergegeben werden, eine zweite Teilliste des Vokabulars identifiziert, die einer zu einem zweiten Zeitpunkt beginnenden Sprachsequenz entsprechen kann, indem Informationen über die zum zweiten Zeitpunkt beginnende Sprachsequenz in dem lexikalischen Baum weitergegeben werden, und in der Sprachsequenz enthaltene Wörter erkennt, indem ein Teil des digitalen Signals, der der zum ersten Zeitpunkt beginnenden Sprachsequenz entspricht, mit Wörtern aus der ersten Teilliste des Vokabulars und ein Teil des digitalen Signals, der der zum zweiten Zeitpunkt beginnenden Sprachsequenz entspricht, mit Wörtern aus der zweiten Teilliste des Vokabulars verglichen werden; wobei der Prozesor werter so konfiguriert ist, dass ein Zustand des lexikalischen Baumes zwischen der Identifizierung der ersten und der zweiten Teilliste des Vokabulars erhalten bleibt, so dass der Zustand des lexikalischen Baumes zu Beginn der Identifizierung der zweiten Teilliste dem Zustand des lexikalischen Baumes bei Abschluss der Identifizierung der ersten Teilliste entspricht.
DE69725802T 1996-08-22 1997-08-22 Vorfilterung mittels lexikalischer Bäumen für die Spracherkennung Expired - Fee Related DE69725802T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US701393 1996-08-22
US08/701,393 US5822730A (en) 1996-08-22 1996-08-22 Lexical tree pre-filtering in speech recognition

Publications (2)

Publication Number Publication Date
DE69725802D1 DE69725802D1 (de) 2003-12-04
DE69725802T2 true DE69725802T2 (de) 2004-08-05

Family

ID=24817193

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69725802T Expired - Fee Related DE69725802T2 (de) 1996-08-22 1997-08-22 Vorfilterung mittels lexikalischer Bäumen für die Spracherkennung

Country Status (3)

Country Link
US (1) US5822730A (de)
EP (1) EP0825586B1 (de)
DE (1) DE69725802T2 (de)

Families Citing this family (157)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260013B1 (en) * 1997-03-14 2001-07-10 Lernout & Hauspie Speech Products N.V. Speech recognition system employing discriminatively trained models
US8202094B2 (en) * 1998-02-18 2012-06-19 Radmila Solutions, L.L.C. System and method for training users with audible answers to spoken questions
US6243678B1 (en) * 1998-04-07 2001-06-05 Lucent Technologies Inc. Method and system for dynamic speech recognition using free-phone scoring
US6141641A (en) * 1998-04-15 2000-10-31 Microsoft Corporation Dynamically configurable acoustic model for speech recognition system
US7058573B1 (en) * 1999-04-20 2006-06-06 Nuance Communications Inc. Speech recognition system to selectively utilize different speech recognition techniques over multiple speech recognition passes
JP4067716B2 (ja) * 1999-09-13 2008-03-26 三菱電機株式会社 標準パターン作成装置と方法および記録媒体
WO2001048737A2 (en) * 1999-12-23 2001-07-05 Intel Corporation Speech recognizer with a lexical tree based n-gram language model
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US6990445B2 (en) * 2001-12-17 2006-01-24 Xl8 Systems, Inc. System and method for speech recognition and transcription
US20030115169A1 (en) * 2001-12-17 2003-06-19 Hongzhuan Ye System and method for management of transcribed documents
US6823493B2 (en) 2003-01-23 2004-11-23 Aurilab, Llc Word recognition consistency check and error correction system and method
US20040148169A1 (en) * 2003-01-23 2004-07-29 Aurilab, Llc Speech recognition with shadow modeling
US7031915B2 (en) * 2003-01-23 2006-04-18 Aurilab Llc Assisted speech recognition by dual search acceleration technique
US20040158468A1 (en) * 2003-02-12 2004-08-12 Aurilab, Llc Speech recognition with soft pruning
JP3678421B2 (ja) * 2003-02-19 2005-08-03 松下電器産業株式会社 音声認識装置及び音声認識方法
US20040186819A1 (en) * 2003-03-18 2004-09-23 Aurilab, Llc Telephone directory information retrieval system and method
US20040186714A1 (en) * 2003-03-18 2004-09-23 Aurilab, Llc Speech recognition improvement through post-processsing
US20040193412A1 (en) * 2003-03-18 2004-09-30 Aurilab, Llc Non-linear score scrunching for more efficient comparison of hypotheses
US7146319B2 (en) * 2003-03-31 2006-12-05 Novauris Technologies Ltd. Phonetically based speech recognition system and method
US20040210437A1 (en) * 2003-04-15 2004-10-21 Aurilab, Llc Semi-discrete utterance recognizer for carefully articulated speech
US7398274B2 (en) * 2004-04-27 2008-07-08 International Business Machines Corporation Mention-synchronous entity tracking system and method for chaining mentions
KR100703697B1 (ko) * 2005-02-02 2007-04-05 삼성전자주식회사 어휘 그룹 트리를 이용한 어휘 인식 방법 및 장치
GB2428853A (en) * 2005-07-22 2007-02-07 Novauris Technologies Ltd Speech recognition application specific dictionary
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US8510109B2 (en) 2007-08-22 2013-08-13 Canyon Ip Holdings Llc Continuous speech transcription performance indication
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US9830912B2 (en) 2006-11-30 2017-11-28 Ashwin P Rao Speak and touch auto correction interface
WO2008067562A2 (en) * 2006-11-30 2008-06-05 Rao Ashwin P Multimodal speech recognition system
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US9973450B2 (en) 2007-09-17 2018-05-15 Amazon Technologies, Inc. Methods and systems for dynamically updating web service profile information by parsing transcribed message strings
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
CN102027534B (zh) * 2008-05-16 2013-07-31 日本电气株式会社 语言模型得分前瞻值赋值方法及设备
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
WO2010019831A1 (en) * 2008-08-14 2010-02-18 21Ct, Inc. Hidden markov model for speech processing with training method
US9922640B2 (en) 2008-10-17 2018-03-20 Ashwin P Rao System and method for multimodal utterance detection
WO2010067118A1 (en) 2008-12-11 2010-06-17 Novauris Technologies Limited Speech recognition involving a mobile device
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US20120311585A1 (en) 2011-06-03 2012-12-06 Apple Inc. Organizing task items that represent tasks to perform
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US8700399B2 (en) * 2009-07-06 2014-04-15 Sensory, Inc. Systems and methods for hands-free voice control and voice search
GB2473197A (en) 2009-09-02 2011-03-09 Nds Ltd Advert selection using a decision tree
EP2339576B1 (de) 2009-12-23 2019-08-07 Google LLC Mehrmodulare Eingabe in eine elektronische Vorrichtung
US11416214B2 (en) 2009-12-23 2022-08-16 Google Llc Multi-modal input on an electronic device
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US8977584B2 (en) 2010-01-25 2015-03-10 Newvaluexchange Global Ai Llp Apparatuses, methods and systems for a digital conversation management platform
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US8352245B1 (en) * 2010-12-30 2013-01-08 Google Inc. Adjusting language models
US8296142B2 (en) 2011-01-21 2012-10-23 Google Inc. Speech recognition using dock context
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US8914286B1 (en) 2011-04-14 2014-12-16 Canyon IP Holdings, LLC Speech recognition with hierarchical networks
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US9437051B1 (en) 2011-06-10 2016-09-06 Stamps.Com Inc. Systems and methods for providing operational continuity using reduced data replication
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
EP2954514B1 (de) 2013-02-07 2021-03-31 Apple Inc. Sprachtrigger für einen digitalen assistenten
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
KR101759009B1 (ko) 2013-03-15 2017-07-17 애플 인크. 적어도 부분적인 보이스 커맨드 시스템을 트레이닝시키는 것
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
HK1220268A1 (zh) 2013-06-09 2017-04-28 苹果公司 用於實現跨數字助理的兩個或更多個實例的會話持續性的設備、方法、和圖形用戶界面
JP2016521948A (ja) 2013-06-13 2016-07-25 アップル インコーポレイテッド 音声コマンドによって開始される緊急電話のためのシステム及び方法
KR101749009B1 (ko) 2013-08-06 2017-06-19 애플 인크. 원격 디바이스로부터의 활동에 기초한 스마트 응답의 자동 활성화
US9842592B2 (en) 2014-02-12 2017-12-12 Google Inc. Language models using non-linguistic context
US9412365B2 (en) 2014-03-24 2016-08-09 Google Inc. Enhanced maximum entropy models
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9684650B2 (en) * 2014-09-10 2017-06-20 Xerox Corporation Language model with structured penalty
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US10134394B2 (en) 2015-03-20 2018-11-20 Google Llc Speech recognition using log-linear model
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10121471B2 (en) * 2015-06-29 2018-11-06 Amazon Technologies, Inc. Language model speech endpointing
GB201511887D0 (en) 2015-07-07 2015-08-19 Touchtype Ltd Improved artificial neural network for language modelling and prediction
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9978367B2 (en) 2016-03-16 2018-05-22 Google Llc Determining dialog states for language models
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US10832664B2 (en) 2016-08-19 2020-11-10 Google Llc Automated speech recognition using language models that selectively use domain-specific model components
US11205110B2 (en) 2016-10-24 2021-12-21 Microsoft Technology Licensing, Llc Device/server deployment of neural network data entry system
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US10311860B2 (en) 2017-02-14 2019-06-04 Google Llc Language model biasing system
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US12062375B2 (en) * 2021-12-08 2024-08-13 The Mitre Corporation Systems and methods for separating and identifying audio in an audio file using machine learning

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4833712A (en) * 1985-05-29 1989-05-23 International Business Machines Corporation Automatic generation of simple Markov model stunted baseforms for words in a vocabulary
US4837831A (en) * 1986-10-15 1989-06-06 Dragon Systems, Inc. Method for creating and using multiple-word sound models in speech recognition
US4805219A (en) * 1987-04-03 1989-02-14 Dragon Systems, Inc. Method for speech recognition
US5263117A (en) * 1989-10-26 1993-11-16 International Business Machines Corporation Method and apparatus for finding the best splits in a decision tree for a language model for a speech recognizer
US5202952A (en) * 1990-06-22 1993-04-13 Dragon Systems, Inc. Large-vocabulary continuous speech prefiltering and processing system
US5729656A (en) * 1994-11-30 1998-03-17 International Business Machines Corporation Reduction of search space in speech recognition using phone boundaries and phone ranking

Also Published As

Publication number Publication date
EP0825586B1 (de) 2003-10-29
DE69725802D1 (de) 2003-12-04
EP0825586A3 (de) 1998-11-18
EP0825586A2 (de) 1998-02-25
US5822730A (en) 1998-10-13

Similar Documents

Publication Publication Date Title
DE69725802T2 (de) Vorfilterung mittels lexikalischer Bäumen für die Spracherkennung
DE69827988T2 (de) Sprachmodelle für die Spracherkennung
DE69829235T2 (de) Registrierung für die Spracherkennung
DE69615667T2 (de) Spracherkennung
DE69726526T2 (de) Schema und Modelladaption bei Mustererkennung welche auf Taylorausdehnung basiert
DE69807765T2 (de) Kombination von Frequenzverzerrung und spektraler Formung in einem HMM - basierten Spracherkenner
DE69127961T2 (de) Verfahren zur Spracherkennung
EP1466317B1 (de) Betriebsverfahren eines automatischen spracherkenners zur sprecherunabhängigen spracherkennung von worten aus verschiedenen sprachen und automatischer spracherkenner
DE69414752T2 (de) Sprecherunabhängiges Erkennungssystem für isolierte Wörter unter Verwendung eines neuronalen Netzes
DE69324428T2 (de) Verfahren zur Sprachformung und Gerät zur Spracherkennung
DE60124559T2 (de) Einrichtung und verfahren zur spracherkennung
DE19847419A1 (de) Verfahren zur automatischen Erkennung einer buchstabierten sprachlichen Äußerung
DE69614233T2 (de) Sprachadaptionssystem und Spracherkenner
EP0797185A2 (de) Verfahren und Vorrichtung zur Spracherkennung
EP0533260A2 (de) Verfahren und Anordnung zum Erkennen der gesprochenen Wörter in einem Sprachsignal
DE69614937T2 (de) Verfahren und System zur Spracherkennung mit verringerter Erkennungszeit unter Berücksichtigung von Veränderungen der Hintergrundgeräusche
EP1085499A2 (de) Erkennung einer in buchstabierter Form vorliegenden Sprachäusserungseingabe
EP0836175A2 (de) Verfahren und Anordnung zum Ableiten wenigstens einer Folge von Wörtern aus einem Sprachsignal
EP0285222B1 (de) Verfahren zum Erkennen zusammenhängend gesprochener Wörter
EP1264301A1 (de) Verfahren zur erkennung von sprachäusserungen nicht-mutter-sprachlicher sprecher in einem sprachverarbeitungssystem
EP0981129A2 (de) Verfahren und Anordnung zum Durchführen einer Datenbankabfrage
EP1282897A1 (de) Verfahren zum erzeugen einer sprachdatenbank für einen zielwortschatz zum trainieren eines spracherkennungssystems
WO1999014741A1 (de) Verfahren zur erkennung eines schlüsselworts in gesprochener sprache
DE19654549A1 (de) Verfahren und System zur Spracherkennung
WO2006111230A1 (de) Verfahren zur gezielten ermittlung eines vollständigen eingabedatensatzes in einem sprachdialogsystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee