DE69028430T2 - Effektiver Einschränkungsalgorithmus für Spracherkennung nach dem Hidden-Markov-Modell - Google Patents
Effektiver Einschränkungsalgorithmus für Spracherkennung nach dem Hidden-Markov-ModellInfo
- Publication number
- DE69028430T2 DE69028430T2 DE69028430T DE69028430T DE69028430T2 DE 69028430 T2 DE69028430 T2 DE 69028430T2 DE 69028430 T DE69028430 T DE 69028430T DE 69028430 T DE69028430 T DE 69028430T DE 69028430 T2 DE69028430 T2 DE 69028430T2
- Authority
- DE
- Germany
- Prior art keywords
- state
- current state
- current
- central processing
- processing unit
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 14
- 230000000644 propagated effect Effects 0.000 claims abstract description 5
- 238000011156 evaluation Methods 0.000 claims description 20
- 238000001514 detection method Methods 0.000 claims description 2
- 230000001902 propagating effect Effects 0.000 claims 1
- 238000013138 pruning Methods 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 5
- 230000001174 ascending effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 241001313846 Calypso Species 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/14—Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Probability & Statistics with Applications (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Interface Circuits In Exchanges (AREA)
- Machine Translation (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
- Image Analysis (AREA)
Description
- Diese Erfindung bezieht sich allgemein auf Computerprozessoren und genauer auf einen effektiven Beschneidealgorithmus zur Reduzierung der Ladevorgänge der Zentralverarbeitungseinheit während einer Spracherkennung.
- Auf einer dynamischen Zeit-Verwindung (DTW) basierende Spracherkennungseinrichtungen nach dem Stand der Technik verwendeten einen traditionellen aufsteigenden Ansatz, bei dem Wort- Niveau- oder Phonetik-Niveau-Hypothesen von einer unabhängigen Wort-Hypotheseeinrichtung erzeugt wurden. Diese Hypothesen wurden dann von einer Satz-Hypotheseeinrichtung nachverarbeitet, die anwendungsspezifisches Wissen (Grammatik) verwendete, um aus allen grammatischen Anwärtern die beste Satzhypothese auszuwählen.
- In jüngster Zeit wurde in "System and Method for Parsing Natural Language" (US-Patent Nr. 5 083 268, veröffentlicht am 21. Januar 1992) und in "A Chart Parser for Stochastic Unification Grammar" (EP-A-0 384 584), beide auf denselben Rechtsnachfolger wie die vorliegende Anmeldung übertragen, ein absteigender Ansatz zur Spracherkennung beschrieben. Kurz gesagt ist die Wort-Hypotheseeinrichtung nicht mehr unabhängig, sondern sie wird durch die Satz-Hypotheseeinrichtung geleitet. Beim Verarbeiten eines Blocks fordert jede aktive Satzhypothese je nach Erfordernis Daten an. Die Folge der Datenanforderungen beginnt typischerweise damit, daß ein Satz Worthypothesen anfordert (d.h. ein Anwärterwort und die Wahrscheinlichkeit seines Auftretens bei der derzeitigen Vorgeschichte). Diese Anforderungen für eine Worthypothese fordern ihrerseits wieder eine Lauthypothese an, usw. Der Prozeß endet mit einer Anforderung eines Blocks von Sprachdaten. An diesem Punkt wird der ankommende Block von Sprachdaten in dem durch diese Satzhypothese vorausgesagten Kontext bewertet. Jedes Niveau wendet die Randbedingungen grammatikartiger Strukturen, oder Hidden-Markov- Modelle (HMM), auf das nächst niedrigere Niveau der Datendarstellung an.
- Fig. 1 zeigt ein Blockdiagramm eines solchen schichtweisen Grammatik- oder modellgesteuerten Ansatzes zur Spracherkennung. Er weist zwei hauptsächliche Merkmale auf: eine hierarchische Struktur, die eine Koexistenz jeder Anzahl von Niveaus von Datendarstellungen erlaubt, und ein HMM-Berechnungsfachwerk durchgehender Dichte, das den Informationsfluß auf allen Niveaus lenkt. Die Details eines Systems, wie des in Fig. 1 gezeigten, sind vollständig in "Chart Parser for Stochastic Unification Grammar" (US-Patentanmeldung Nr. 312,835) beschrieben, die auf den Rechtsnachfolger der vorliegenden Erfindung übertragen ist. Es wurde empirisch gezeigt, daß eine absteigende Erstellung von Hypothesen eine deutliche Verbesserung der Wirksamkeit gegenüber früheren aufsteigenden Systemen ermöglicht.
- Unglücklicherweise stellt der absteigende, modellgesteuerte Ansatz, der in dem Spracherkennungsschema verwendet wird, hohe Anforderungen an den Computer, da er in Echtzeit arbeiten muß. Zusätzlich benötigen derzeitige Spracherkennungssysteme einen Bewertungszwischenspeicher von einigen hundert Kilobyte Datenspeicher, der im allgemeinen in einem teueren, schnellen RAM- Speicher gehalten wird. Es ist daher wünschenswert, die von der CPU verwendete Menge an schnellem RAM und dadurch die Systemkosten bei der Verarbeitung eines Spracherkennungsalgorithmus zu verringern.
- EP-A-248 377 beschreibt ein Spracherkennungssystem, bei dem diese Ziele durch zwei Niveaus zur Beschneidung unwahrscheinlicher Hypothesen in dem Erkennungsprozess erreicht werden.
- Hinsichtlich obiger, mit dem Stand der Technik verbundener Probleme ist es ein Ziel der vorliegenden Erfindung, ein Verfahren zur Reduzierung der Ladevorgänge der Zentralverarbeitungseinheit durch effektives Beschneiden auf zwei Niveaus zu verwirklichen: Durch Verwenden einer Schwellenbewertung und durch Beeinflussen des Zustands, auf den Rückwärtszeiger verweisen.
- Ein weiteres Ziel der vorliegenden Erfindung ist, ein Verfahren zu verwirklichen, das in Echtzeit arbeitet und das die Menge an schnellem RAM, die von einem Zentralprozessor bei der Verarbeitung eines Spracherkennungsalgorithmus benötigt wird, kostenwirksam verringert und dadurch die Berechnungszykluszeit minimiert.
- Gemäß der vorliegenden Erfindung ist ein Verfahren zur Reduzierung der Ladevorgänge einer Zentralverarbeitungseinheit während einer Spracherkennung verwirklicht, die hierarchische Grammatikschichten umfaßt und bei der Modelle dieser hierarchischen Schichten mehrere Zustände verwenden, die wenigstens einen Startzustand und einen Haltzustand umfassen, wobei zu irgendeinem Zeitpunkt nur einer dieser mehreren Zustände als der aktuelle Zustand bestimmt ist, umfassend:
- (a) es wird eine Erkennungsbewertung für den informationstragenden aktuellen Zustand berecnet;
- (b) es wird diese Erkennungsbewertung mit einem vorherbestimmten Schwellenwert verglichen, um zu entscheiden, ob der informationstragende aktuelle Zustand aufrechterhalten werden soll;
- (c) es wird ein verfügbarer Platz in einem Bewertungszwischenspeicher mit wenigstens einem Platz ausfindig gemacht;
- (d) es werden Informationen bezüglich des aktuellen Zustands in dem verfügbaren Platz gespeichert;
- (e) es wird ein Bewertungszwischenspeicherplatz-Rückwärtszeiger gesetzt;
- (f) es wird ein Wert in dem Feld für den letzten Zeitpunkt in dem verfügbaren Platz gleich einem aktuellen Zeitindex der Zentralverarbeitungseinheit gesetzt;
- (g) es wird ein Zeitwert, der dem aktuellen Zeitindex des Schritts (f) entspricht, nach hinten zu allen Bewertungszwischenspeicherplätzen entlang einem Pfad mit der besten Erkennungsbewertung weitergegeben, der zu dem verfügbaren Platz führt, der Informationen über den aktuellen Zustand beinhaltet;
- (h) es wird eine Parsing-operation an einem nächsten aktuellen Zustand durchgeführt; und
- (i) es werden die Schritte (a) bis (h) wiederholt, bis alle Zustände erledigt worden sind.
- Diese Ziele werden bei einem bevorzugten Ausführungsbeispiel durch Verwendung eines Algorithmus erreicht, der die CPU instruiert, die zuvor berechnete Wahrscheinlichkeitsbewertung des aktuellen Zustands mit einem vorbestimmten Schwellenwert zu vergleichen und Hypothesen zu verwerfen, die Zustände mit Wahrscheinlichkeitsbewertungen unter solch einer Schwelle aufweisen. Nach der Bestimmung, daß der aktuelle Zustand aufrechterhalten werden soll, wird die CPU angewiesen, einen verfügbaren Platz in dem Bewertungszwischenspeicher ausfindig zu machen, in dem die Information über den aktuellen Zustand dann gespeichert wird. Die CPU macht einen verfügbaren Platz ausfindig, indem ein aktueller Zeitindex mit dem zu jedem Bewertungszwischenspeicherplatz gehörenden Zeitindex verglichen wird. Wenn diese gleich sind, ist der Platz nicht verfügbar; wenn der aktuelle Zeitindex größer ist, ist der Platz verfügbar.
- Nachdem die Information über den aktuellen Zustand gespeichert ist, setzt die CPU den Rückwärtszeiger des aktuellen Zustands, um auf den Startzustand des aktuellen besten Pfads zu zeigen, falls der aktuelle Zustand ein abgeschlossenes Modell repräsentiert. Ungeachtet des Status des aktuellen Zustands ordnet die CPU dann den aktuellen Zeitindex den Zeitindices aller Plätze entlang des besten Pfads zu dem aktuellen Zustand zu. Die CPU berechnet daraufhin die Wahrscheinlichkeitsbewertung des nächsten aktuellen Zustands und der Algorithmus wiederholt sich, bis alle Zustände vervollständigt sind.
- Diese und andere Merkmale der Erfindung werden dem Fachmann aus der folgenden detaillierten Beschreibung eines bevorzugten Ausführungsbeispiels in Verbindung mit den beiliegenden Zeich-nungen offensichtlich werden, die folgendes darstellen:
- Fig. 1 ist ein Blockdiagramm eines schichtweisen Grammatikansatzes zur Spracherkennung;
- Fig. 2 ist eine typische Flußdiagrammdarstellung eines Links- Nach-Rechts Hidden-Markov-Modells;
- Fig. 3 ist ein beispielhaftes Flußdiagramm von Zustandspfaden der obersten Schicht, basierend auf einem typischen Satzmodell;
- Fig. 4 ist eine beispielhafte Flußdiagrammdarstellung von Zustandspfaden, die für das Satzmodell der Fig. 3 erzeugt wurden und die auf einem Hidden-Markov-Modell basieren;
- Fig. 5 ist eine Blockdarstellung eines Bewertungszwischenspeichers, der die vorliegende Erfindung verwenden kann; und
- Fig. 6 ist ein Flußdiagramm eines bevorzugten Ausführungsbeispiels der vorliegenden Erfindung.
- Der Algorithmus der vorliegenden Erfindung kann auf jedem Zentralverarbeitungssystem implementiert werden, was Mehrfachverarbeitungssysterne einschließt, wie beispielsweise die Calypso, entwickelt von Texas Instruments, Inc. Durch Verwenden des Algorithmus auf einem Mehrfachprozessor ist man in der Lage, die HMM Schichten auf mehrere Prozessoren zu verteilen, wodurch es Spracherkennungssysternen möglich ist, ein größeres Vokabular zu erkennen.
- Fig. 2 zeigt eine typische Darstellung eines Links-Nach-Rechts Hidden-Markov-Modells (HMM). Bei diesem Beispiel ist der Zustand 0 der Startzustand und Zustand 4 ist der Haltzustand.
- Bei einer gegebenen Beobachtungsfolge S&sub0; liegt das Problem darin, die einzige, beste Zustandsfolge zur Erklärung der beobachteten Daten zu finden. Der Viterbi Algorithmus (G. David Fourney Jr., "The Viterbi Algorithm", Proc. of the IEEE, Band 61, Nr. 3, März 1973) wird zum Auffinden dieser besten Zustandsfolge verwendet. Dies wird dargestellt durch pathscoret(j) = max[pathscoret-l(i) + 1n(aij)] + dj l≤i≤n
- backpointert(j) = argmax[pathscoret-l,(i)aij + ln(aij)] l≤i≤n
- wobei
- dj = Wahrscheinlichkeit, daß der Zustand j der Beobachtung S&sub0; zu der Zeit t entspricht,
- aij - übergangswahrscheinlichkeit vom Zustand i zum Zustand j,
- n - Anzahl der Zustände in dem Modell.
- Ein beispielhaftes Flußdiagramm von Pfaden der Zustände der obersten Schicht, basierend auf einer Satzmodellgrammatik, ist in der Fig. 3 gezeigt. Während das Modell durch den Prozessor bewertet wird, werden verschiedene Zustandspfade, die als Verzweigungen dargestellt sind, in Kenntnis der gerade verarbeiteten gesprochenen Eingabe und der verschiedenen programmierten Grammatiken als hypothetisch möglich angesehen. Die gezeigten Hypotheseverzweigungen werden als Ergebnis vorprogrammierter Grammatiken oder Regeln erzeugt, die nur spezifizieren, daß bestimmte Wörter anderen Wörtern folgen können. Die Verwendung solcher Regeln ist im Stand der Technik gut bekannt und wird hier nicht erläutert werden.
- Fig. 4 ist eine beispielhafte Darstellung der Zustandspfade, die für das Satzmodell der Fig. 3 erzeugt wurden und die auf einem Hidden-Markov-Modell basieren. HMMS werden im allgemeinen auf andere Schichten der Spracherkennungsgrammatik als das Satzmodell der obersten Schicht angewandt, wie beispielsweise das Wort- oder Satzteil-Niveau und tiefer. Ebenfalls sollte bemerkt werden, daß, auch wenn nur zwei Niveaus (Fig. 3 und 4) gezeigt sind, der Algorithmus der vorliegenden Erfindung erweitert werden kann, um zusätzliche Grammatikschichten bis hinunter zu Block-Niveau-HMMS einzuschließen. Zusätzlich können auf diesem Niveau vorprogrammierte Regeln ebenfalls spezifizieren, welche Buchstaben anderen Buchstaben folgen können.
- Betrachtet man nun sowohl Fig. 3 als auch Fig. 4, berechnet ein Prozessor die Anfangswahrscheinlichkeit für den Knoten 60 (Fig. 3), der vor dem Wort "set" erscheint. Um zu bestimmen, ob das Wort "set" gesprochen wurde, gibt der Prozessor diese Wahrscheinlichkeit zu dem Startzustandsknoten 60 der Fig. 4 weiter, und er beginnt eine Parsing-operation. Während der Prozessor bestimmt, daß ein Buchstabe gesprochen wurde, addiert er die Wahrscheinlichkeit, daß dieser Buchstabe gesprochen wurde, zu der bereits existierenden Anfangswahrscheinlichkeit hinzu. Während jeder Buchstabe als gesprochen bestimmt wird, fährt der Prozessor fort, Wahrscheinlichkeiten zu addieren, bis er an dem Haltzustandsknoten 40 anlangt, an dem er die gesamte Wahrscheinlichkeit dafür hat, daß er das Wort "set" gesehen hat. Zu diesem Zeitpunkt gibt der Prozessor diese Wahrscheinlichkeit zu dem Knoten 40 der Fig. 3 zurück.
- An diesem Punkt zeigt der Prozessor an, daß er wahrscheinlich das Wort "set" gesehen hat, und er erzeugt zwei Hypothesen dafür, was das nächste Wort sein könnte: "altitude" oder "value". Der Prozeß des Weitergebens von Wahrscheinlichkeitsbewertungen nach hinten und vorne zwischen verschiedenen Grammatikschichten schreitet fort, bis der vollständige gesprochene Satz erkannt ist. Wie zuvor angedeutet wurde, können viele Grammatikschichten vorhanden sein, wobei der Prozessor bei dem Bemühen, die fortlaufende gesprochene Eingabe zu erkennen, Wahrscheinlichkeiten bis zu dem Block-Niveau herunter und wieder herauf weitergibt.
- Immer wenn die Wahrscheinlichkeit eines Zustands, der auch als Knoten bezeichnet wird, eines HMM berechnet ist, wird er als bewertet betrachtet. Die Bewertung wird an einem Platz eines Puffers im Speicher gesichert, der als Bewertungszwischenspeicher 12 bezeichnet wird. Fig. 5 zeigt solch einen Bewertungszwischenspeicher 12 mit N Plätzen. Jeder Platz speichert die Pfadbewertung für einen speziellen Zustand, einen Rückwärtszeiger zu seinem vorhergehenden Zustand und weitere Hilfsinformationen. Ein Platz speichert daher verschiedene 16-Bit- Informationswörter. Als Beispiel ist Platz 5 mit acht 16-Bit- Informationswörtern A-H dargestellt. Eines der 16-Bit-Wörter A-H bezeichnet den aktuellen Zeitindex des Platzes. Ein weiteres Wort, beispielsweise das Wort E, bezeichnet die Position des Platzes in dem Bewertungszwischenspeicher 12, der Information über den vorhergehenden Zustand enthält. Die Information, die in dem Wort E gespeichert ist, wird als Rückwärtszeiger bezeichnet. Die verbleibenden Worte enthalten zusätzliche Hilfsinformation, wie beispielsweise die Wahrscheinlichkeitsbewertung des besten Pfades, usw.
- Bei fortlaufender Worterkennung wird jedes HMM für jeden Eingabeblock mehrere Male bewertet. Folglich kann der Bewertungszwischenspeicher 12, abhängig von der Komplexität des Satzmodells der obersten Schicht der Fig. 3, mehrere hundert Kilobyte belegen, was die Datenspeicherkapazität einer typischen Zentralverarbeitungseinheit ohne weiteres überschreitet.
- Die verschiedenen vorausgesagten Satz-Niveau-Hypothesen müssen gespeichert werden, falls die Hypothese, die anfangs die beste Pfadwahrscheinlichkeit hat, später durch eine konkurrierende Hypthese umgangen wird. Während der ersten Wörter eines Satzes ist die Anzahl konkurrierender Hypothesen hoch. Eine umfangreiche Buchhaltung und daher eine vergleichbare Menge CPU- Speicher ist erforderlich, um diese Hypothesen zu verwalten. Die vorliegende Erfindung verwirklicht ein genaues Beschneideverfahren, um diese Speicher- und CPU-Verarbeitungssanforderungen zu verringern, wie in der folgenden Erörterung dargelegt wird.
- Der Algorithmus der vorliegenden Erfindung verwendet zwei Beschneideniveaus. Wenn bestimmte Satzpfade bester Bewertung mit hoher Wahrscheinlichkeit gefunden werden, ist der Abstand zwischen dem besten und dem zweitbesten Satz typischerweise groß und die Anzahl der aktiven Hypothesen kann, basierend auf ihren jeweiligen Wahrscheinlichkeitsbewertungen, beschnitten werden. Das erste Beschneideniveau, wie es in der vorliegenden Erfindung ausgeführt ist, beinhaltet daher das Berechnen einer Wahrscheinlichkeitsschwelle als ein Bruchteil der Wahrscheinlichkeit der aktuellen wahrscheinlichsten Hypothese. Diese wird dann normiert und gleich -1 gesetzt. Hypothesen unterhalb dieser Schwelle werden aufgegeben.
- Es sei beispielsweise angenommen, daß der Satzpfad 1 die beste Pfadwahrscheinlichkeitsbewertung von -0,2 hat, Satzpfad 2 eine Wahrscheinlichkeitsbewertung von -0,5 hat, und Satzpfad 3 eine Wahrscheinlichkeitsbewertung von -0,8 hat. Die beste Wahrscheinlichkeit hat den am wenigsten negativen Wert, so daß -0,2 eine bessere Wahrscheinlichkeit als -0,5 ist und daher Pfad 1 gewinnt. Falls der Bediener die maximale Differenz zwischen der besten Pfadbewertung und der Abschneide-Schwelle gleich 0,4 setzt, beträgt der Abschneide-Schwellenwert -0,6 (-0,2 - 0,4 = -0,6). Daher wird die CPU die Pfade 1 und 2 aufrechterhalten und den Pfad 3 verwerfen oder beschneiden.
- Ein Beispiel der Wirkung der Beschneideschwelle auf die benötigte Größe des Bewertungszwischenspeichers (bezüglich der Anzahl der Plätze) und die Wirksamkeit der Erkennungseinrichtung ist in Tabelle 1 unten gezeigt. Wie zu sehen ist, wurde bei Anwendungen mit kleinem Vokabular, wie beispielsweise eine fortlaufende Ziffernerkennung, empirisch herausgefunden, daß eine robuste Wirksamkeit mit 2000 für den Bewertungszwischenspeicher belegten Plätzen aufrechterhalten werden kann. Es sollte jedoch bemerkt werden, daß die Anzahl der erforderlichen Plätze von der betreffenden Anwendung abhängt. Tabelle 1: Beschneideschwelle und Speichergröße
- Um die Ladevorgänge der CPU weiter zu reduzieren, wird von der vorliegenden Erfindung ein zweites Beschneideniveau verwendet. Diese zweite Niveau beinhaltet, den Prozessor zu unterstützen schnell verfügbare Plätze in dem Bewertungszwischenspeicher aufzufinden und einen Rückwärtszeiger eines Zustands innerhalb eines Modells auf seinen Startzustand zu setzen.
- Nach der Bestimmung, daß der aktuelle Zustand aufrechterhalten werden soll, weist der Algorithmus der vorliegenden Erfindung die CPU an, einen verfügbaren Platz in dem Bewertungszwischenspeicher 12 aufzufinden. Entsprechend einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung findet die CPU einen verfügbaren Platz durch Vergleichen des aktuellen Zeitindex mit dem Inhalt des Felds für den letzten Zeitpunkt, das jedem Bewertungszwischenspeicherplatz zugeordnet ist, auf.
- Jeder Bewertungszwischenspeicherplatz weist zwei Zeit-Felder auf, ein Feld für den Erzeugungszeitpunkt, das den Zeitindex enthält, zu dem der Platz erzeugt wurde, und ein Feld für den letzten Zeitpunkt, das den Zeitindex des besten Pfads enthält, auf dem dieser Zustand liegt. Alle Plätze auf dem besten Pfad haben denselben Zeitindex-Wert in ihren jeweiligen Feldern für den letzten Zeitpunkt gespeichert und solch ein Wert ist gleich dem aktuellen Zeitindex. Ein Platz wird als frei bezeichnet, wenn der Zeitindex, der in dem Feld für den letzten Zeitpunkt enthalten ist, kleiner ist als der Wert des aktuellen Zeitindex minus eins.
- Auf diese Weise kann die CPU schnell einen verfügbaren Platz auffinden, indem nur ein Wort eines Platzes herausgezogen (gelesen) wird, um den Inhalt eines zu einem Platz gehörenden Felds für den letzten Zeitpunkt mit dem aktuellen Zeitindex zu vergleichen. Wenn ein Platz gefunden wird, dessen Zeitindex kleiner ist als der Wert des aktuellen Zeitindex minus eins, hat die CPU einen verfügbaren oder "freien" Platz aufgefunden. Sie wird dann fortfahren, um den Inhalt des verfügbaren Platzes mit Information zu überschreiben, die den aktuellen Zustand betrifft, einschließlich dem Erzeugungszeitindex und dem Zeitindex des Felds für den letzten Zeitpunkt.
- Um das Beschneiden eines Platzes in dem besten Pfad zu vermeiden, muß der aktuelle Zeitindex zu allen Plätzen in dem besten Pfad weitergegeben werden. Mit anderen Worten muß der aktuelle Zeitindex, falls die Information des aktuellen Zustands in einem Platz gespeichert ist, entlang all der Plätze, die den besten Pfad enthalten, der zu dem Platz des aktuellen Zustands führt, nach hinten weitergegeben werden. Dieses Weitergeben des Zeitindex nach hinten erhöht jedoch die CPU-Ladevorgänge. Das bevorzugte Ausführungsbeispiel der vorliegenden Erfindung verringert diese Ladevorgänge durch Setzen des Rückwärtszeigers eines Zustands innerhalb eines Modells auf seinen Startzustand.
- Als Beispiel sei erneut Fig. 3 betrachtet. Falls der Prozessor bestimmt hat, daß er das Wort "equal" gesehen hat, nachdem die Information, die den aktuellen Zustand oder den Knoten 50 betrifft, in einem verfügbaren Platz gespeichert wurde, würde der Prozessor dann den aktuellen Zeitindex nach hinten zu den jeweiligen Plätzen, die den Knoten 46, den Knoten 40 und den Knoten 60 enthalten, weitergeben. Auf dem Wort-Niveau der Fig. 4 würde der Prozessor den aktuellen Zeitindex nur zu den jeweiligen Plätzen, die die Knoten 40 und 60 enthalten, nach hinten weitergeben. Auch wenn der Prozessor wahrscheinlich das Wort "set" gesehen hat, sind daher die Knoten, durch die das Wort "set" einer Parsing-operation unterzogen wurde, nicht wichtig, sondern nur die Start- und Haltzustände oder -Knoten.
- Es sei bemerkt, daß der beste Pfad eines Satzes von Interesse ist und nicht der beste Pfad innerhalb eines Wortmodells. Innerhalb eines Modells, wo der Großteil der CPU-Ladevorgänge auftritt, müssen die Indices des besten Pfads auf diese Weise daher nicht weitergegeben werden, so daß Zeit für das Weitergeben nach hinten eingespart wird und die Berechnungszykluszeit dadurch deutlich verkürzt wird. Ebenfalls sei bemerkt, daß dadurch, daß der Prozessor den aktuellen Zeitindex nicht zu den Plätzen, die die Knoten 62, 64 und 66 enthalten, nach hinten weitergibt, diese Plätze keine aktualisierten Zeitindices, die in deren jeweiligem Feld für den letzten Zeitpunkt enthalten sind, aufweisen, die dem aktuellen Zeitindex entsprechen und daher für den Prozessor verfügbar sein werden, wenn dieser später nach einem freien Platz sucht, wodurch CPU- Speicher und Berechnungszykluszeit eingespart wird.
- Fig. 6 ist ein Flußdiagramm eines bevorzugten Ausführungsbeispiels der vorliegenden Erfindung, wie es oben im Detail erläutert wurde.
Claims (5)
1. Verfahren zur Reduzierung der Ladevorgänge einer
Zentralverarbeitungseinheit während einer Spracherkennung, die
hierarchische Grammatikschichten umfaßt, und bei der Modelle
dieser hierarchischen Schichten mehrere Zustände verwenden,
die wenigstens einen Startzustand und einen Haltzustand
umfassen, wobei zu irgendeinem Zeitpunkt nur einer dieser
mehreren Zustände als der aktuelle Zustand bestimmt ist,
umfassend:
(a) es wird eine Erkennungsbewertung für den
informationstragenden aktuellen Zustand berechnet;
(b) es wird diese Erkennungsbewertung mit einem
vorherbestimmten Schwellenwert verglichen, um zu
entscheiden, ob der informationstragende aktuelle
Zustand aufrechterhalten werden soll;
(c) es wird ein verfügbarer Platz in einem
Bewertungszwischenspeicher mit wenigstens einem Platz
ausfindig gemacht;
(d) es werden Informationen bezüglich des aktuellen
Zustands in dem verfügbaren Platz gespeichert;
(e) es wird ein
Bewertungszwischenspeicherplatz-Rückwärtszeiger gesetzt;
(f) es wird ein Wert in dem Feld für den letzten
Zeitpunkt in dem verfügbaren Platz gleich einem
aktuellen Zeitindex der Zentralverarbeitungseinheit
gesetzt;
(g) es wird ein Zeitwert, der dem aktuellen Zeitindex
des Schritts (f) entspricht, nach hinten zu allen
Bewertungszwischenspeicherplätzen entlang einem
Pfad mit der besten Erkennungsbewertung
weitergegeben, der zu dem verfügbaren Platz führt, der
Informationen über den aktuellen Zustand beinhaltet;
(h) es wird eine Parsing-operation an einem nächsten
aktuellen Zustand durchgeführt; und
(i) es werden die Schritte (a) bis (h) wiederholt, bis
alle Zustände erledigt worden sind.
2. Verfahren zur Reduzierung der Ladevorgänge einer
Zentralverarbeitungseinheit nach Anspruch 1, bei dem der Schritt (c)
des Ausf indigmachens eines verfügbaren Platzes umfaßt:
(j) es wird ein Wert in dem zu einem Platz gehörenden
Feld für den letzten Zeitpunkt ausgelesen;
(k) es wird der Wert in dem zu einem Platz gehörenden
Feld für den letzten Zeitpunkt mit dem aktuellen
Zeitindex der Zentralverarbeitungseinheit
verglichen;
(l) es wird angezeigt, daß der Platz verfügbar ist,
wenn der aktuelle Zeitindex minus eins kleiner als
der Wert in dem Feld für den letzten Zeitpunkt ist;
(m) es wird der Platz übergangen, wenn der aktuelle
Zeitindex minus eins größer als der Wert in dem
Feld für den letzten Zeitpunkt oder gleich dem Wert
in dem Feld für den letzten Zeitpunkt ist; und
(n) es werden die Schritte (j) bis (m) wiederholt, bis
ein verfügbarer Platz ausfindig gemacht worden
ist.
3. Verfahren zur Reduzierung der Ladevorgänge einer
Zentralverarbeitungseinheit nach Anspruch 1 oder 2, bei dem der
Schritt (b) des Vergleichens der Erkennungsbewertung mit
einem vorherbestimmten Schwellenwert umfaßt:
(o) wenn die Erkennungsbewertung größer als der
vorherbestimmte Schwellenwert oder gleich dem
vorherbestimmten Schwellenwert ist, wird beim Schritt (c)
des Ausfindigmachens eines verfügbaren Platzes
fortgefahren; und
(p) wenn die Erkennungsbewertung kleiner als der
vorherbestimmte Schwellenwert ist, wird dieser Zustand
ausgeschieden und zum Schritt (a) des Berechnens
einer Bewertung für einen informationstragenden
aktuellen Zustand zurückgekehrt.
4. Verfahren zur Reduzierung der Ladevorgänge einer
Zentralverarbeitungseinheit nach Anspruch 1, 2 oder 3, bei dem der
Schritt (e) des Setzens eines
Bewertungszwischenspeicherplatz-Rückwärtszeigers darüber hinaus umfaßt:
(q) wenn der aktuelle Zustand aus der obersten Schicht
einer Grammatik stammt, wird der Rückwärtszeiger
gesetzt, um die
Bewertungszwischenspeicherplatzadresse eines direkt vorhergehenden aktuellen
Zustands anzuzeigen; und
(r) wenn der aktuelle Zustand nicht aus der obersten
Schicht einer Grammatik stammt, wird der
Rückwärtszeiger gesetzt, um den Startzustand des Modells
anzuzeigen.
5. Verfahren zur Reduzierung der Ladevorgänge einer
Zentralverarbeitungseinheit nach einem der vorhergehenden
Ansprüche, bei dem beim Schritt (g) des nach hinten gerichteten
Weitergebens eines dem aktuellen Zeitindex entsprechenden
Zeitwertes zu allen Bewertungszwischenspeicherplätzen
entlang dem Pfad mit der besten Erkennungsbewertung, der zu dem
Platz führt, der Informationen über den aktuellen Zustand
beinhaltet, die Stellen aller dieser
Bewertungszwischenspeicherplätze entlang dem besten Pfad, der zu dem
verfügbaren Platz führt, durch den Rückwärtszeiger angezeigt
werden.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/337,608 US4977598A (en) | 1989-04-13 | 1989-04-13 | Efficient pruning algorithm for hidden markov model speech recognition |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69028430D1 DE69028430D1 (de) | 1996-10-17 |
DE69028430T2 true DE69028430T2 (de) | 1997-03-27 |
Family
ID=23321239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69028430T Expired - Fee Related DE69028430T2 (de) | 1989-04-13 | 1990-04-04 | Effektiver Einschränkungsalgorithmus für Spracherkennung nach dem Hidden-Markov-Modell |
Country Status (4)
Country | Link |
---|---|
US (1) | US4977598A (de) |
EP (1) | EP0392728B1 (de) |
JP (1) | JPH0362000A (de) |
DE (1) | DE69028430T2 (de) |
Families Citing this family (198)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5274739A (en) * | 1990-05-22 | 1993-12-28 | Rockwell International Corporation | Product code memory Itakura-Saito (MIS) measure for sound recognition |
US5268990A (en) * | 1991-01-31 | 1993-12-07 | Sri International | Method for recognizing speech using linguistically-motivated hidden Markov models |
DE4130633A1 (de) * | 1991-09-14 | 1993-03-18 | Philips Patentverwaltung | Verfahren zum erkennen der gesprochenen woerter in einem sprachsignal |
JPH0776878B2 (ja) * | 1991-10-31 | 1995-08-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 音声認識方法および装置 |
US5544257A (en) * | 1992-01-08 | 1996-08-06 | International Business Machines Corporation | Continuous parameter hidden Markov model approach to automatic handwriting recognition |
US5333275A (en) * | 1992-06-23 | 1994-07-26 | Wheatley Barbara J | System and method for time aligning speech |
US5452397A (en) * | 1992-12-11 | 1995-09-19 | Texas Instruments Incorporated | Method and system for preventing entry of confusingly similar phases in a voice recognition system vocabulary list |
JP2775140B2 (ja) * | 1994-03-18 | 1998-07-16 | 株式会社エイ・ティ・アール人間情報通信研究所 | パターン認識方法、音声認識方法および音声認識装置 |
US5819221A (en) * | 1994-08-31 | 1998-10-06 | Texas Instruments Incorporated | Speech recognition using clustered between word and/or phrase coarticulation |
US5864810A (en) * | 1995-01-20 | 1999-01-26 | Sri International | Method and apparatus for speech recognition adapted to an individual speaker |
US5706397A (en) * | 1995-10-05 | 1998-01-06 | Apple Computer, Inc. | Speech recognition system with multi-level pruning for acoustic matching |
GB9602700D0 (en) * | 1996-02-09 | 1996-04-10 | Canon Kk | Pattern matching method and apparatus |
JP3061114B2 (ja) * | 1996-11-25 | 2000-07-10 | 日本電気株式会社 | 音声認識装置 |
GB9723214D0 (en) * | 1997-11-03 | 1998-01-07 | British Telecomm | Pattern recognition |
GB9802836D0 (en) * | 1998-02-10 | 1998-04-08 | Canon Kk | Pattern matching method and apparatus |
GB9802838D0 (en) * | 1998-02-10 | 1998-04-08 | Canon Kk | Pattern matching method and apparatus |
US6374222B1 (en) * | 1998-08-12 | 2002-04-16 | Texas Instruments Incorporated | Method of memory management in speech recognition |
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
US6788243B2 (en) | 2001-09-06 | 2004-09-07 | Minister Of National Defence Of Her Majestry's Canadian Government The Secretary Of State For Defence | Hidden Markov modeling for radar electronic warfare |
ITFI20010199A1 (it) | 2001-10-22 | 2003-04-22 | Riccardo Vieri | Sistema e metodo per trasformare in voce comunicazioni testuali ed inviarle con una connessione internet a qualsiasi apparato telefonico |
DE10220524B4 (de) | 2002-05-08 | 2006-08-10 | Sap Ag | Verfahren und System zur Verarbeitung von Sprachdaten und zur Erkennung einer Sprache |
EP1363271A1 (de) | 2002-05-08 | 2003-11-19 | Sap Ag | Verfahren und System zur Verarbeitung und Speicherung von Sprachinformationen eines Dialogs |
US7089185B2 (en) * | 2002-06-27 | 2006-08-08 | Intel Corporation | Embedded multi-layer coupled hidden Markov model |
US20040158468A1 (en) * | 2003-02-12 | 2004-08-12 | Aurilab, Llc | Speech recognition with soft pruning |
US8200495B2 (en) * | 2005-02-04 | 2012-06-12 | Vocollect, Inc. | Methods and systems for considering information about an expected response when performing speech recognition |
CA2597803C (en) * | 2005-02-17 | 2014-05-13 | Loquendo S.P.A. | Method and system for automatically providing linguistic formulations that are outside a recognition domain of an automatic speech recognition system |
JP4298672B2 (ja) * | 2005-04-11 | 2009-07-22 | キヤノン株式会社 | 混合分布hmmの状態の出力確率計算方法および装置 |
US7634407B2 (en) * | 2005-05-20 | 2009-12-15 | Microsoft Corporation | Method and apparatus for indexing speech |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US7633076B2 (en) | 2005-09-30 | 2009-12-15 | Apple Inc. | Automated response to and sensing of user activity in portable devices |
US7809568B2 (en) * | 2005-11-08 | 2010-10-05 | Microsoft Corporation | Indexing and searching speech with text meta-data |
US7831428B2 (en) * | 2005-11-09 | 2010-11-09 | Microsoft Corporation | Speech index pruning |
US7970613B2 (en) | 2005-11-12 | 2011-06-28 | Sony Computer Entertainment Inc. | Method and system for Gaussian probability data bit reduction and computation |
US7831425B2 (en) * | 2005-12-15 | 2010-11-09 | Microsoft Corporation | Time-anchored posterior indexing of speech |
US8010358B2 (en) | 2006-02-21 | 2011-08-30 | Sony Computer Entertainment Inc. | Voice recognition with parallel gender and age normalization |
US7778831B2 (en) * | 2006-02-21 | 2010-08-17 | Sony Computer Entertainment Inc. | Voice recognition with dynamic filter bank adjustment based on speaker categorization determined from runtime pitch |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US9053089B2 (en) | 2007-10-02 | 2015-06-09 | Apple Inc. | Part-of-speech tagging using latent analogy |
US8620662B2 (en) | 2007-11-20 | 2013-12-31 | Apple Inc. | Context-aware unit selection |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8065143B2 (en) | 2008-02-22 | 2011-11-22 | Apple Inc. | Providing text input using speech data and non-speech data |
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 |
US8464150B2 (en) | 2008-06-07 | 2013-06-11 | Apple Inc. | Automatic language identification for dynamic text processing |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8768702B2 (en) | 2008-09-05 | 2014-07-01 | Apple Inc. | Multi-tiered voice feedback in an electronic device |
US8898568B2 (en) | 2008-09-09 | 2014-11-25 | Apple Inc. | Audio user interface |
US8583418B2 (en) | 2008-09-29 | 2013-11-12 | Apple Inc. | Systems and methods of detecting language and natural language strings for text to speech synthesis |
US8712776B2 (en) | 2008-09-29 | 2014-04-29 | Apple Inc. | Systems and methods for selective text to speech synthesis |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
WO2010067118A1 (en) | 2008-12-11 | 2010-06-17 | Novauris Technologies Limited | Speech recognition involving a mobile device |
US8862252B2 (en) | 2009-01-30 | 2014-10-14 | Apple Inc. | Audio user interface for displayless electronic device |
US8442833B2 (en) | 2009-02-17 | 2013-05-14 | Sony Computer Entertainment Inc. | Speech processing with source location estimation using signals from two or more microphones |
US8442829B2 (en) | 2009-02-17 | 2013-05-14 | Sony Computer Entertainment Inc. | Automatic computation streaming partition for voice recognition on multiple processors with limited memory |
US8788256B2 (en) | 2009-02-17 | 2014-07-22 | Sony Computer Entertainment Inc. | Multiple language voice recognition |
US8380507B2 (en) | 2009-03-09 | 2013-02-19 | Apple Inc. | Systems and methods for determining the language to use for speech generated by a text to speech engine |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US10540976B2 (en) | 2009-06-05 | 2020-01-21 | Apple Inc. | Contextual voice commands |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US20120309363A1 (en) * | 2011-06-03 | 2012-12-06 | Apple Inc. | Triggering notifications associated with tasks items that represent tasks to perform |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US8682649B2 (en) | 2009-11-12 | 2014-03-25 | Apple Inc. | Sentiment prediction from textual data |
US8600743B2 (en) | 2010-01-06 | 2013-12-03 | Apple Inc. | Noise profile determination for voice-related feature |
US8311838B2 (en) | 2010-01-13 | 2012-11-13 | Apple Inc. | Devices and methods for identifying a prompt corresponding to a voice input in a sequence of prompts |
US8381107B2 (en) | 2010-01-13 | 2013-02-19 | Apple Inc. | Adaptive audio feedback system and method |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
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 |
US8713021B2 (en) | 2010-07-07 | 2014-04-29 | Apple Inc. | Unsupervised document clustering using latent semantic density analysis |
US8719006B2 (en) | 2010-08-27 | 2014-05-06 | Apple Inc. | Combined statistical and rule-based part-of-speech tagging for text-to-speech synthesis |
US8719014B2 (en) | 2010-09-27 | 2014-05-06 | Apple Inc. | Electronic device with text error correction based on voice recognition data |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US10515147B2 (en) | 2010-12-22 | 2019-12-24 | Apple Inc. | Using statistical language models for contextual lookup |
US8781836B2 (en) | 2011-02-22 | 2014-07-15 | Apple Inc. | Hearing assistance system for providing consistent human speech |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
EP2710466A1 (de) | 2011-05-09 | 2014-03-26 | Google, Inc. | Ermittlung von interessanten anwendungen basierend auf anwendungsmetadaten |
CN103930871B (zh) | 2011-05-09 | 2019-07-09 | 谷歌有限责任公司 | 基于安装历史给移动设备推荐应用 |
EP2710487A4 (de) * | 2011-05-09 | 2015-06-17 | Google Inc | Erzeugung von anwendungsempfehlungen auf der basis von benutzerinstallierten anwendungen |
EP2710465A1 (de) * | 2011-05-09 | 2014-03-26 | Google, Inc. | Ermittlung von interessanten anwendungen basierend auf anwendungsmarktprotokolldaten |
US8914290B2 (en) | 2011-05-20 | 2014-12-16 | Vocollect, Inc. | Systems and methods for dynamically improving user intelligibility of synthesized speech in a work environment |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US10672399B2 (en) | 2011-06-03 | 2020-06-02 | Apple Inc. | Switching between text data and audio data based on a mapping |
US8812294B2 (en) | 2011-06-21 | 2014-08-19 | Apple Inc. | Translating phrases from one language into another using an order-based set of declarative rules |
US8706472B2 (en) | 2011-08-11 | 2014-04-22 | Apple Inc. | Method for disambiguating multiple readings in language conversion |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US8762156B2 (en) | 2011-09-28 | 2014-06-24 | Apple Inc. | Speech recognition repair using contextual information |
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 |
US9153235B2 (en) | 2012-04-09 | 2015-10-06 | Sony Computer Entertainment Inc. | Text dependent speaker recognition with long-term feature based on functional data analysis |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US8775442B2 (en) | 2012-05-15 | 2014-07-08 | Apple Inc. | Semantic search using a single-source semantic model |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US10019994B2 (en) | 2012-06-08 | 2018-07-10 | Apple Inc. | Systems and methods for recognizing textual identifiers within a plurality of words |
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 |
US8935167B2 (en) | 2012-09-25 | 2015-01-13 | Apple Inc. | Exemplar-based latent perceptual modeling for automatic speech recognition |
CN104969289B (zh) | 2013-02-07 | 2021-05-28 | 苹果公司 | 数字助理的语音触发器 |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
US10642574B2 (en) | 2013-03-14 | 2020-05-05 | Apple Inc. | Device, method, and graphical user interface for outputting captions |
US10572476B2 (en) | 2013-03-14 | 2020-02-25 | Apple Inc. | Refining a search based on schedule items |
US9733821B2 (en) | 2013-03-14 | 2017-08-15 | Apple Inc. | Voice control to diagnose inadvertent activation of accessibility features |
US9977779B2 (en) | 2013-03-14 | 2018-05-22 | Apple Inc. | Automatic supplementation of word correction dictionaries |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
WO2014168730A2 (en) | 2013-03-15 | 2014-10-16 | Apple Inc. | Context-sensitive handling of interruptions |
US9922642B2 (en) | 2013-03-15 | 2018-03-20 | Apple Inc. | Training an at least partial voice command system |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
EP2973002B1 (de) | 2013-03-15 | 2019-06-26 | Apple Inc. | Anwenderschulung durch einen intelligenten digitalen assistenten |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
US9978395B2 (en) | 2013-03-15 | 2018-05-22 | Vocollect, Inc. | Method and system for mitigating delay in receiving audio stream during production of sound from audio stream |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
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 |
EP3937002A1 (de) | 2013-06-09 | 2022-01-12 | Apple Inc. | Vorrichtung, verfahren und grafische benutzeroberfläche für gesprächspersistenz über zwei oder mehrere instanzen eines digitalen assistenten |
CN105265005B (zh) | 2013-06-13 | 2019-09-17 | 苹果公司 | 用于由语音命令发起的紧急呼叫的***和方法 |
WO2015020942A1 (en) | 2013-08-06 | 2015-02-12 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
US9817881B2 (en) * | 2013-10-16 | 2017-11-14 | Cypress Semiconductor Corporation | Hidden markov model processing engine |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
US9189708B2 (en) * | 2013-12-31 | 2015-11-17 | Google Inc. | Pruning and label selection in hidden markov model-based OCR |
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 |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
WO2015184186A1 (en) | 2014-05-30 | 2015-12-03 | Apple Inc. | Multi-command single utterance input method |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
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 |
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 |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
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 |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
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 |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
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 |
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 |
US9787871B2 (en) | 2015-01-29 | 2017-10-10 | Xerox Corporation | Hidden Markov model generation of multi-plane random screens |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
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 |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
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 |
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 |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10026396B2 (en) | 2015-07-28 | 2018-07-17 | Google Llc | Frequency warping in a speech recognition system |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital 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 |
CN105607753B (zh) * | 2015-12-15 | 2018-03-30 | 上海嵩恒网络科技有限公司 | 一种五笔的长句输入方法和长句输入*** |
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 |
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 |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
US10714121B2 (en) | 2016-07-27 | 2020-07-14 | Vocollect, Inc. | Distinguishing user speech from background speech in speech-dense environments |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
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 |
CN114693189B (zh) * | 2022-05-31 | 2022-09-23 | 南京信息工程大学 | 板体翻堆落位方法、***、存储介质及计算设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4860653A (en) * | 1985-06-28 | 1989-08-29 | D. J. Moorhouse | Detonator actuator |
US4783803A (en) * | 1985-11-12 | 1988-11-08 | Dragon Systems, Inc. | Speech recognition apparatus and method |
GB8527913D0 (en) * | 1985-11-12 | 1985-12-18 | Pa Consulting Services | Analysing transitions in finite state machines |
EP0248377B1 (de) * | 1986-06-02 | 1994-07-13 | Motorola, Inc. | System zur Erkennung kontinuierlicher Sprache |
US4837831A (en) * | 1986-10-15 | 1989-06-06 | Dragon Systems, Inc. | Method for creating and using multiple-word sound models in speech recognition |
-
1989
- 1989-04-13 US US07/337,608 patent/US4977598A/en not_active Expired - Lifetime
-
1990
- 1990-04-04 EP EP90303586A patent/EP0392728B1/de not_active Expired - Lifetime
- 1990-04-04 DE DE69028430T patent/DE69028430T2/de not_active Expired - Fee Related
- 1990-04-12 JP JP2097429A patent/JPH0362000A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
DE69028430D1 (de) | 1996-10-17 |
US4977598A (en) | 1990-12-11 |
EP0392728A2 (de) | 1990-10-17 |
EP0392728B1 (de) | 1996-09-11 |
EP0392728A3 (de) | 1990-12-27 |
JPH0362000A (ja) | 1991-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69028430T2 (de) | Effektiver Einschränkungsalgorithmus für Spracherkennung nach dem Hidden-Markov-Modell | |
DE102020205786B4 (de) | Spracherkennung unter verwendung von nlu (natural language understanding)-bezogenem wissen über tiefe vorwärtsgerichtete neuronale netze | |
DE69625950T2 (de) | Verfahren und Vorrichtung zur Spracherkennung und Übersetzungssystem | |
DE69818231T2 (de) | Verfahren zum diskriminativen training von spracherkennungsmodellen | |
DE3852608T2 (de) | Design und Konstruktion eines binären Entscheidungsbaumsystems zur Sprachmodellierung. | |
DE69717899T2 (de) | Verfahren und Vorrichtung zur Spracherkennung | |
DE112014002819B4 (de) | System und Verfahren zur Erkennung von Sprache | |
EP0604476B1 (de) | Verfahren zur erkennung von mustern in zeitvarianten messsignalen | |
DE69937176T2 (de) | Segmentierungsverfahren zur Erweiterung des aktiven Vokabulars von Spracherkennern | |
DE69726499T2 (de) | Verfahren und Vorrichtung zur Kodierung von Aussprache-Prefix-Bäumen | |
DE69519840T2 (de) | Einrichtung und Verfahren zur Spracherkennung | |
DE69919842T2 (de) | Sprachmodell basierend auf der spracherkennungshistorie | |
DE69818796T2 (de) | Maschinenorganisiertes verfahren und vorrichtung zum übersetzen einer wortorganisierten textquelle in einen wortorganisierten zieltext | |
DE69823644T2 (de) | Auswahl von superwörtern auf der basis von kriterien aus spracherkennung sowie sprachverständnis | |
DE60109999T2 (de) | Spracherkennung mittels lexikalischer Bäumen | |
DE69626344T2 (de) | Ein hierarchisch strukturiertes Wörterbuch verwendender Spracherkenner | |
EP0285221B1 (de) | Verfahren zum Erkennen kontinuierlich gesprochener Wörter | |
EP0836175B1 (de) | Verfahren und Anordnung zum Ableiten wenigstens einer Folge von Wörtern aus einem Sprachsignal | |
EP1085499A2 (de) | Erkennung einer in buchstabierter Form vorliegenden Sprachäusserungseingabe | |
WO2006053800A1 (de) | Verfahren zur spracherkennung aus einem aufgeteilten vokabular | |
EP0285211B1 (de) | Verfahren zum Erkennen kontinuierlich gesprochener Wörter | |
DE69330361T2 (de) | Spracherkennungssystem | |
EP1182646A2 (de) | Verfahren zur Zuordnung von Phonemen | |
EP1012828B1 (de) | Verfahren zur erkennung eines schlüsselworts in gesprochener sprache | |
DE69919420T2 (de) | Verfahren und Vorrichtung zur Mustererkennung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |