DE69420888T2 - Interaktives Rechnersystem, das gesprochene Befehle erkennt - Google Patents
Interaktives Rechnersystem, das gesprochene Befehle erkenntInfo
- Publication number
- DE69420888T2 DE69420888T2 DE69420888T DE69420888T DE69420888T2 DE 69420888 T2 DE69420888 T2 DE 69420888T2 DE 69420888 T DE69420888 T DE 69420888T DE 69420888 T DE69420888 T DE 69420888T DE 69420888 T2 DE69420888 T2 DE 69420888T2
- Authority
- DE
- Germany
- Prior art keywords
- active state
- vocabulary
- computer program
- acoustic
- command
- 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 - Lifetime
Links
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 32
- 238000004590 computer program Methods 0.000 claims abstract description 79
- 230000006870 function Effects 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims description 20
- 239000013598 vector Substances 0.000 description 52
- 230000007704 transition Effects 0.000 description 16
- 230000015654 memory Effects 0.000 description 14
- 230000003044 adaptive effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006978 adaptation Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 238000002372 labelling Methods 0.000 description 5
- 238000001228 spectrum Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 241000549343 Myadestes Species 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101100311330 Schizosaccharomyces pombe (strain 972 / ATCC 24843) uap56 gene Proteins 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 101150018444 sub2 gene Proteins 0.000 description 1
- 230000001629 suppression 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/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
-
- 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/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
- G10L2015/228—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
- Selective Calling Equipment (AREA)
- Debugging And Monitoring (AREA)
Description
- Die Erfindung betrifft interaktive Rechnersysteme, bei denen ein Benutzer einem Zielrechnerprogramm, das auf dem Rechnersystem ausgeführt wird, über eine Eingabeeinheit Befehle bereitstellt. Die Eingabeeinheit kann beispielsweise eine Tastatur, eine Mauseinheit oder ein Spracherkennungsprogramm sein. Für jede Eingabeeinheit wird ein von der Eingabeeinheit erzeugtes Eingangssignal in eine vom Zielrechnersystem benutzbare Form umgesetzt.
- Ein interaktives Rechnersystem, bei dem der Benutzer Befehle bereitstellen kann, indem er sie spricht, kann aus einem Prozessor bestehen, der ein Zielrechnerprogramm ausführt, das über Befehle verfügt, die Funktionen kennzeichnen, welche von dem Zielrechnerprogramm ausgeführt werden können. Das Rechnersystem enthält des Weiteren ein Spracherkennungsprogramm zur Erkennung der gesprochenen Befehle und zur Ausgabe von Befehlssignalen, die den erkannten Befehlen entsprechen. Das Spracherkennungsprogramm erkennt einen gesprochenen Befehl, indem es den Wert von mindestens einem Merkmal einer Äußerung während eines jeden einer Reihe von aufeinanderfolgenden Zeitintervallen misst, um eine Reihe von Merkmalssignalen zu erzeugen, die gemessenen Merkmalssignale mit jedem einer Vielzahl von akustischen Befehlsmodellen vergleicht, um ein Übereinstimmungsergebnis für die Äußerung und jedes akustische Befehlsmodell zu erzeugen, und ein Befehlssignal ausgibt, das dem Befehlsmodell entspricht, welches das beste Übereinstimmungsergebnis aufweist.
- Die Gruppe der Äußerungsmodelle und der Wörter, die von den Äußerungsmodellen dargestellt werden, die das Spracherkennungsprogramm erkennen kann, wird als Systemvokabular bezeichnet. Das Systemvokabular ist endlich und kann beispielsweise von einem Äußerungsmodell bis zu Tausenden von Äußerungsmodellen reichen. Jedes Äußerungsmodell kann ein Wort oder eine Kombination aus zwei oder mehr fortlaufend gesprochenen Wörtern (ohne eine Pause zwischen den Wörtern) darstellen.
- Das Systemvokabular kann beispielsweise Äußerungsmodelle von allen Befehlen enthalten, auf die das Zielrechnerprogramm antworten kann. Mit der Zunahme der Anzahl der Äußerungsmodelle nimmt jedoch die Zeit zu, die zur Durchführung der Äußerungserkennung unter Verwendung des gesamten Systemvokabulars notwendig ist, und die Erkennungsgenauigkeit nimmt ab.
- Im Allgemeinen hat ein Zielrechnerprogramm eine Reihe von aktiven Zuständen, die über eine Reihe von Zeiträumen auftreten. Für jeden aktiven Zustand kann es eine Liste von Befehlen des aktiven Zustands geben, die Funktionen kennzeichnen, welche in dem aktiven Zustand ausgeführt werden können. Die Befehle des aktiven Zustands können eine kleine Teilgruppe des Systemvokabulars sein. Die Umsetzung eines geäußerten Befehls in eine vom Zielrechnerprogramm benutzbare Form in einem Zustand des Zielrechnerprogramms kann sich von der Umsetzung desselben Befehls in einem anderen Zustand des Zielrechnerprogramms unterscheiden.
- Um die Geschwindigkeit und die Genauigkeit des Spracherkennungsprogramms zu verbessern, ist es wünschenswert, das aktive Vokabular der Äußerungsmodelle, die das Spracherkennungsprogramm in einem bestimmten Zeitraum erkennen kann, auf die Befehle des aktiven Zustands zu beschränken, die Funktionen kennzeichnen, welche von dem Zielrechnerprogramm in diesem Zeitraum ausgeführt werden können. Um dieses Ergebnis versuchshalber zu erzielen, kann das Spracherkennungsprogramm mit einer Zustandsmaschine mit endlichem Zustand ausgestattet werden, welche die aktiven Zustände und die Übergänge zwischen aktiven Zuständen des Zielrechnerprogramms verdoppelt.
- In der Praxis hat es sich als unmöglich herausgestellt, für das Spracherkennungsprogramm eine Zustandsmaschine mit endlichem Zustand zu bauen, welche die aktiven Zustände und die Übergänge zwischen aktiven Zuständen des Zielrechnerprogramms exakt verdoppelt. Das Zielrechnerprogramm kommuniziert nicht nur interaktiv mit dem Benutzer, sondern es kommuniziert auch interaktiv mit Daten und mit anderen Einheiten des Rechnersystems, dessen Zustände im Voraus nicht bekannt sein können.
- Ein Befehl, eine Datei zu laden, bewirkt zum Beispiel, dass ein Rechnerprogramm in einen Zustand übergeht, wenn die Datei vorhanden ist, und in einen anderen Zustand, wenn die Datei nicht vorhanden ist. Die Zustandsmaschine mit endlichem Zustand des Spracherkennungsprogramms muss jedoch mit einer gewissen Annahme, dass die Datei vorhanden ist oder nicht vorhanden ist, gebaut werden. Wenn dem Rechnerprogramm mit Hilfe des Spracherkennungsprogramms ein Befehl, eine Datei zu laden, in gesprochener Form gegeben wird, kann die Zustandsmaschine mit endlichem Zustand des Spracherkennungsprogramms den Zustand des Rechnerprogramms richtig erfassen oder nicht, je nachdem, ob diese Datei vorhanden ist oder nicht. Wenn die Zustandsmaschine mit endlichem Zustand des Spracherkennungsprogramms annimmt, dass die Datei vorhanden ist, die Datei tatsächlich aber nicht vorhanden ist, tritt die Zustandsmaschine des Spracherkennungsprogramms in einen Zustand ein, der sich vom Zustand des Zielrechnerprogramms unterscheidet. Folglich kann das Zielrechnerprogramm von dem Spracherkennungsprogramm keine gültige Eingabe mehr empfangen.
- Es wurde auch vorgeschlagen, ganz bestimmte Rechnersysteme zu entwickeln oder Rechnerprogramme anzupassen, um die Komplexität des Spracherkennungssystems zu beschränken. Die Europäische Patentanmeldung EP 414238 beschreibt beispielsweise ein sprachgesteuertes Ablagesystem, bei dem das bisherige Wissen über den Funktionszyklus des Ablage- und Abfrageprogramms angewandt wird, um die Spracherkennung auf den Vergleich eines gesprochenen Befehls mit einem Referenzmodell zu beschränken, das dem entspricht, was das System auf der Grundlage des vorherigen vom Benutzer eingegebenen Befehls als Befehl erwarten kann. Ein weiteres Beispiel ist der im IBM Technical Disclosure Bulletin, Band 33, Nr. 11, April 1991, auf den Seiten 368 bis 371 veröffentlichte Artikel mit dem Titel "Integrated Audio-Graphics User Interface", in dem vorgeschlagen wird, die Komplexität der Spracherkennung zu verringern, indem man die Möglichkeiten, die dem Benutzer eines Programms eröffnet werden, durch die Konzeption von besonderen, sorgfältig ausgewählten Menüs beschränkt. Beide Systeme stützen sich auf besondere Konzeptionen für die Rechnersysteme und/oder Programme, die speziell dafür vorgesehen sind, die Vorhersage der Entwicklung der Programmzustände und der Übergänge zwischen Zuständen zu ermöglichen.
- Es ist eine Aufgabe der Erfindung, ein interaktives Rechnersystem bereitzustellen, das über ein Zielrechnerprogramm verfügt, welches eine Reihe von aktiven Programmzuständen hat, die über eine Reihe von Zeiträumen auftreten, und das über ein Spracherkennungsprogramm verfügt, bei dem das aktive Vokabular der Befehle, die von dem Spracherkennungsprogramm in einem bestimmten Zeitraum erkannt werden, auf eine Liste von aktiven Befehlen beschränkt wird, die Funktionen kennzeichnen, welche von dem Zielrechnerprogramm in diesem bestimmen Zeitraum ausgeführt werden können, ohne die Zustände und die Übergänge zwischen Zuständen des Zielrechnerprogramms, die unter allen möglichen Umständen auftreten, vorhersagen zu müssen.
- Erfindungsgemäß ist das interaktive Rechnersystem wie in Anspruch 1 dargelegt ausgestaltet.
- In einer Ausführungsform des erfindungsgemäßen interaktiven Rechnersystems zeigt das Anzeigemittel mindestens ein Bild eines zweiten aktiven Zustands, das sich von dem Bild des ersten aktiven Zustands unterscheidet, für einen zweiten aktiven Zustand an, der während eines zweiten Zeitraums auftritt, welcher sich von dem ersten Zeitraum unterscheidet. Das Objektkennzeichnungsmittel kennzeichnet mindestens ein Objekt, das in dem Bild des zweiten aktiven Zustands angezeigt wird, und erzeugt eine Liste von einem oder mehreren Befehlen des zweiten aktiven Zustands, die Funktionen kennzeichnen, welche in dem zweiten aktiven Zustand des Zielrechnerprogramms ausgeführt werden können.
- Das Kennzeichnungsmittel für das Vokabular des aktiven Zustands kennzeichnet ein Vokabular von akustischen Befehlsmodellen des zweiten aktiven Zustands für den zweiten aktiven Zustand. Das Vokabular des zweiten aktiven Zustands umfasst die akustischen Befehlsmodelle von dem Systemvokabular, das die Befehle des zweiten aktiven Zustands darstellt. Das Vokabular des zweiten aktiven Zustands unterscheidet sich mindestens teilweise von dem Vokabular des ersten aktiven Zustands.
- Das Spracherkennungsprogramm misst den Wert von mindestens einem Merkmal einer Äußerung während eines jeden einer Reihe von aufeinanderfolgenden Zeitintervallen innerhalb des zweiten Zeitraums, um eine Reihe von Merkmalssignalen zu erzeugen. Das Spracherkennungsprogramm vergleicht die gemessenen Merkmalssignale für den zweiten Zeitraum mit jedem der akustischen Befehlsmodelle in dem Vokabular des zweiten aktiven Zustands, um ein Übereinstimmungsergebnis für die Äußerung und jedes akustische Befehlsmodell zu erzeugen. Das Spracherkennungsprogramm gibt dann ein Befehlssignal aus, das dem Befehlsmodell von dem Vokabular des zweiten aktiven Zustands entspricht, welches das beste Übereinstimmungsergebnis aufweist.
- Beispielsweise tritt bei dem Zielrechnerprogramm während eines jeden Zeitraums möglicherweise nur ein aktiver Zustand auf. Das Zielrechnerprogramm kann nur ein Betriebssystemprogramm, ein Anwendungsprogramm und ein Betriebssystemprogramm in Kombination oder zwei oder mehrere Anwendungsprogramme und ein Betriebssystemprogramm umfassen.
- Mindestens einige der Befehle für einen aktiven Zustand kennzeichnen Funktionen, die an den gekennzeichneten Objekten in dem Bild des aktiven Zustands für den Zustand ausgeführt werden können.
- Das gekennzeichnete Objekt in einem Bild eines aktiven Zustands kann beispielsweise ein oder mehrere Zeichen, Wörter, Symbole, Schaltflächen, Schiebeleisten, Schiebefelder, Listenfenster, Menüs, Markierungsfelder, Behälter oder Notizbücher umfassen.
- In einer alternativen Ausführungsform der Erfindung kann das Spracherkennungsprogramm zwei oder mehr Befehlssignale ausgeben, die den Befehlsmodellen von dem Vokabular des aktiven Zustands entsprechen, welche die besten Übereinstimmungsergebnisse für einen bestimmten Zeitraum aufweisen.
- Das Vokabular der akustischen Befehlsmodelle für jeden aktiven Zustand kann des Weiteren eine Gruppe von globalen akustischen Befehlsmodellen umfassen, die globale Befehle darstellen, welche Funktionen kennzeichnen, die in jedem aktiven Zustand des Zielrechnerprogramms ausgeführt werden können.
- Das Anzeigemittel kann beispielsweise einen Katodenstrahlröhren-Bildschirm, eine Flüssigkristallanzeige oder einen Drucker umfassen.
- Das Anzeigemittel kann sowohl ein Bild eines aktiven Zustands für einen aktiven Zustand, der während eines Zeitraums auftritt, als auch mindestens einen Teil von einem oder mehreren Bildern für Programmzustände, die während des Zeitraums nicht auftreten, anzeigen.
- Das erfindungsgemäße Verfahren zur Interaktion mit einem Rechner ist in Anspruch 14 dargelegt.
- Indem mindestens ein Objekt gekennzeichnet wird, das in dem Bild des aktiven Zustands des Zielrechnerprogramms angezeigt wird, und indem von dem gekennzeichneten Objekt eine Liste von einem oder mehreren Befehlen eines aktiven Zustands, die Funktionen kennzeichnen, welche in dem aktiven Zustand des Zielrechnerprogramms ausgeführt werden können, erzeugt wird, kann das Vokabular des aktiven Zustands des Spracherkennungsprogramms auf eine kleine Teilgruppe des Systemvokabulars beschränkt werden, die Befehle des aktiven Zustands darstellt, ohne die Zustände und die Übergänge zwischen Zuständen des Zielrechnerprogramms vorhersagen zu müssen, die unter allen möglichen Umständen auftreten.
- Fig. 1 ist ein Blockschaltbild eines Beispiels eines erfindungsgemäßen interaktiven Rechnersystems.
- Fig. 2 zeigt ein Beispiel eines Bildes eines ersten aktiven Zustands für einen ersten aktiven Zustand eines Zielrechnerprogramms.
- Fig. 3 ist ein Blockschaltbild eines Beispiels eines Spracherkennungsprogramms für ein erfindungsgemäßes interaktives Rechnersystem.
- Fig. 4 zeigt ein Beispiel eines Bildes eines zweiten aktiven Zustands für einen zweiten aktiven Zustand eines Zielrechnerprogramms.
- Fig. 5 ist ein Blockschaltbild eines Beispiels eines Speichers für akustische Befehlsmodelle für das Systemvokabular eines erfindungsgemäßen interaktiven Rechnersystems.
- Fig. 6 ist ein Blockschaltbild eines Akustikprozessors für das Spracherkennungsprogramm von Fig. 3.
- Fig. 7 zeigt schematisch ein Beispiel eines akustischen Befehlsmodells.
- Fig. 8 zeigt schematisch ein Beispiel eines akustischen Modells eines Phonems zur Erstellung eines akustischen Befehlsmodells.
- Fig. 9 zeigt schematisch ein Beispiel von Pfaden durch das akustische Modell von Fig. 7.
- Fig. 1 ist ein Blockdiagramm eines Beispiels eines erfindungsgemäßen interaktiven Rechnersystems. Das interaktive Rechnersystem umfasst einen Prozessor 10, der ein Zielrechnerprogramm ausführt, das eine Reihe von aktiven Programmzuständen hat, die über eine Reihe von Zeiträumen auftreten. Das Zielrechnerprogramm erzeugt Datensignale eines Bildes eines aktiven Zustands, die ein Bild eines aktiven Zustands für den aktiven Zustand des Zielrechnerprogramms darstellen, der während eines jeden Zeitraums auftritt. Jedes Bild des aktiven Zustands enthält ein oder mehrere Objekte.
- Der Prozessor kann beispielsweise ein Personalcomputer, ein Arbeitsplatzrechner oder ein beliebiger anderer Mikrorechner, Minirechner oder Großrechner sein.
- Das Zielrechnerprogramm kann ein Betriebssystemprogramm wie zum Beispiel DOS, Microsoft Windows (Warenzeichen), OS/2 (Warenzeichen), AIX (Warenzeichen), UNIX (Warenzeichen), X- Windows oder ein beliebiges anderes Betriebssystem sein. Das Zielrechnerprogramm kann ein oder mehrere Anwendungsprogramme umfassen, die mit einem Betriebssystemprogramm ausgeführt werden. Zu Anwendungsprogrammen gehören Tabellenkalkulationsprogramme, Textverarbeitungsprogramme, Datenbankprogramme, Lernprogramme, Freizeitprogramme, Kommunikationsprogramme und viele andere ein.
- Objekte in einem Bild eines aktiven Zustands können ein oder mehrere Zeichen, Wörter, Symbole, Schaltflächen, Schiebeleisten, Schiebefelder, Listenfenster, Menüs, Markierungsfelder, Behälter, Notizbücher oder andere Elemente umfassen.
- Das interaktive Rechnersystem umfasst des Weiteren ein Anzeigemittel 12, um mindestens ein Bild eines ersten aktiven Zustands für einen ersten aktiven Zustand anzuzeigen, der während eines ersten Zeitraums auftritt. Das Anzeigemittel kann beispielsweise ein Katodenstrahlröhren-Bildschirm, eine Flüssigkristallanzeige oder ein Drucker sein.
- Fig. 2 zeigt ein Beispiel eines hypothetischen Bildes eines ersten aktiven Zustands für einen ersten aktiven Zustand, der während eines ersten Zeitraums auftritt. In diesem Beispiel enthält das Bild des aktiven Zustands ein Rahmenobjekt 14, das ein Titelleistenobjekt 16, ein Menüleistenobjekt 18, ein Li stenfensterobjekt 20 und ein Schaltflächen 22 enthält. Das Menüleistenobjekt 18 enthält ein Objekt "Elemente", ein Objekt "Optionen" und ein Objekt "Beenden". Das Listenfensterobjekt 20 enthält ein vertikales Schiebeleistenobjekt 24 und die Objekte "blau", "grün", "rot", "orange", "schwarz", "weiß" und "purpurrot". In Fig. 2 sind im Listenfenster 20 nur die Objekte "blau", "grün", "rot", "orange" und "schwarz" gezeigt. Die Objekte "weiß" und "purpurrot" sind im Listenfenster enthalten und könnten durch Rollen der vertikalen Schiebeleiste 24 sichtbar gemacht werden.
- Die Datensignale des Bildes des aktiven Zustands können von dem Zielrechnerprogramm beispielsweise durch Verwendung von Betriebssystemunterbrechungen, Funktionsaufrufen oder Anwendungsprogramm-Schnittstellenaufrufen erzeugt werden.
- Das nachstehende Beispiel I veranschaulicht einen in der Programmiersprache C geschriebenen Quellcode, der dazu dient, Datensignale eines Bildes eines aktiven Zustands zu erzeugen.
- Nochmals Bezug nehmend auf Fig. 1, umfasst das interaktive Rechnersystem des Weiteren eine Bildobjekt-Kennzeichnungseinheit 26, um mindestens ein Objekt zu kennzeichnen, das in dem Bild des ersten aktiven Zustands angezeigt wird, und um von dem gekennzeichneten Objekt eine Liste von einem oder mehreren Befehlen des ersten aktiven Zustands zu erzeugen, die Funktionen kennzeichnen, welche in dem ersten aktiven Zustand des Zielrechnerprogramms ausgeführt werden können.
- Die Bildobjekt-Kennzeichnungseinheit 26 kann Rechnerprogramm- Unterroutinen, die dafür bestimmt sind, Betriebssystem-Funktionsaufrufe und Anwendungsprogramm-Schnittstellenaufrufe, die von einem oder mehreren Zielrechnerprogrammen ausgegeben werden, abzufangen (mit Einfügestellen ("Hooks") zu versehen), und/oder Rechnerprogramm-Unterroutinen zur Verwendung von Betriebssystemunterbrechungen, Funktionsaufrufen oder Anwendungsprogramm-Schnittstellenaufrufen umfassen, um Objekte zu kennzeichnen, die in dem Bild des ersten aktiven Zustands des Zielrechnerprogramms angezeigt werden. Das nachstehende Beispiel 11 veranschaulicht einen in der Programmiersprache C geschriebenen Quellcode, der dazu dient, mindestens ein Objekt zu kennzeichnen, das in einem Bild eines aktiven Zustands angezeigt wird.
- Die Tabelle 1 zeigt ein hypothetisches Beispiel einer Liste mit Befehlen des ersten aktiven Zustands, die Funktionen kennzeichnen, welche in dem ersten aktiven Zustand des Zielrechnerprogramms für die Objekte ausgeführt werden können, die in dem Bild des ersten aktiven Zustands von Fig. 2 angezeigt werden. TABELLE 1 TABELLE 1 (FORTSETZUNG)
- Wie in dem Beispiel von Tabelle 1 gezeigt ist, kann jedes Objekt null oder mehr Befehle haben, die Funktionen kennzeichnen, welche in dem ersten aktiven Zustand des Zielrechnerprogramms ausgeführt werden können. Mindestens einige Befehle kennzeichnen Funktionen, die an dem gekennzeichneten Objekt in dem Bild des aktiven Zustands für den Zustand ausgeführt werden können. Beispielsweise ändert der Befehl "RAHMEN" den Eingabebereich auf das ganze Rahmenobjekt 14 von Fig. 2. Mit dem Eingabebereich auf dem ganzen Rahmenobjekt 14 befindlich, nimmt der gesprochene Befehl "LINKS" Operationen an dem Rah menobjekt vor, indem er es auf dem Bildschirm nach links verschiebt.
- Nochmals Bezug nehmend auf Fig. 1, umfasst das interaktive Rechnersystem einen Speicher 28 für ein Systemvokabular von akustischen Befehlsmodellen, um ein Systemvokabular von akustischen Befehlsmodellen zu speichern. Jedes akustische Befehlsmodell stellt eine oder mehrere Reihen von akustischen Merkmalswerten dar, die eine Äußerung von einem oder mehreren Wörtern darstellen, welche zu dem akustischen Befehlsmodell gehören.
- Die gespeicherten akustischen Befehlsmodelle können beispielsweise Markowsche Modelle oder andere dynamische Programmiermodelle sein. Die Parameter der akustischen Befehlsmodelle können von einem bekannten gesprochenen Schulungstext (beispielsweise 257 Sätze) geschätzt werden, indem man zum Beispiel vom Vorwärts-Rückwärts-Algorithmus erhaltene Parameter glättet. (Siehe beispielsweise "Continuous Speech Recognition By Statistical Methods" von Jelinek, Proceedings of the IEEE, Band 64, Nr. 4, April 1976, Seiten 532 bis 536)
- Vorzugsweise stellt jedes akustische Befehlsmodell einen isoliert gesprochenen Befehl dar (das heißt, unabhängig vom Kontext von vorhergehenden und nachfolgenden Äußerungen). Kontextunabhängige akustische Befehlsmodelle können zum Beispiel entweder manuell aus Modellen von Phonemen oder automatisch erzeugt werden, zum Beispiel mit dem von Lalit R. Bahl u. a. in der US-Patentschrift 4 759 068 mit dem Titel "Constructing Markov Models of Words from Multiple Utterances" beschriebenen Verfahren oder mit jedem anderen bekannten Verfahren zur Erzeugung von kontextunabhängigen Modellen.
- Alternativ dazu können kontextabhängige Modelle aus kontextunabhängigen Modellen erzeugt werden, indem Befehlsäußerungen in kontextabhängige Kategorien gruppiert werden. Ein Kontext kann zum Beispiel manuell oder automatisch ausgewählt werden, indem jedes Merkmalssignal, das einem Befehl entspricht, mit seinem Kontext gekennzeichnet wird und indem die Merkmalssignale ihrem Kontext entsprechend gruppiert werden, um eine ausgewählte Bewertungsfunktion zu optimieren. (Siehe beispielsweise "Apparatus And Method Of Grouping Utterances Of A Phoneme Into Context-Dependent Categories Based On Sound-Similarity For Automatic Speech Recognition" von Lalit R. Bahl u. a., US- Patentschrift 5 195 167).
- Wie in dem Blockschaltbild von Fig. 1 gezeigt ist, umfasst das interaktive Rechnersystem eine Kennzeichnungseinheit 30 für ein Vokabular von Befehlsmodellen eines aktiven Zustands, um ein Vokabular von akustischen Befehlsmodellen des ersten aktiven Zustands für den ersten aktiven Zustand zu kennzeichnen. Das Vokabular des ersten aktiven Zustands umfasst die akustischen Befehlsmodelle vom Systemvokabular 28, das die Befehle des ersten aktiven Zustands von der Bildobjekt- Kennzeichnungseinheit 26 darstellt. Das nachstehende Beispiel III veranschaulicht einen in der Programmiersprache C geschriebenen Quellcode zur Kennzeichnung eines Vokabulars eines aktiven Zustands. Das nachstehende Beispiel IV veranschaulicht einen in der Programmiersprache C geschriebenen Quellcode, der dazu dient, dem Spracherkennungsprogramm das Vokabular des aktiven Zustands anzugeben.
- Vorzugsweise umfasst das Vokabular des aktiven Zustands wesentlich weniger als alle der akustischen Befehlsmodelle in dem Systemvokabular. Zum Beispiel kann jedes Vokabular des aktiven Zustands 50 bis 200 Befehle umfassen. Das ganze Befehlsvokabular des Systems kann 500 bis 700 oder mehr Befehle umfassen. Das Spracherkennungsprogramm vergleicht die gemessenen Merkmalssignale für einen Zeitraum nicht mit einem akustischen Befehlsmodell, das sich nicht im Vokabular des aktiven Zustands für diesen Zeitraum befindet.
- Ein Spracherkennungsprogramm 32 misst den Wert von mindestens einem Merkmal einer Äußerung während eines jeden einer Reihe von aufeinanderfolgenden Zeitintervallen innerhalb des ersten Zeitraums, um eine Reihe von Merkmalssignalen zu erzeugen. Das Spracherkennungsprogramm 32 vergleicht das gemessene Merkmalssignal mit jedem der akustischen Befehlsmodelle in dem Vokabular des ersten aktiven Zustands, um ein Übereinstimmungsergebnis für die Äußerung und jedes akustische Befehlsmodell zu erzeugen. Das Spracherkennungsprogramm 32 gibt ein Befehlssignal aus, das dem Befehlsmodell von dem Vokabular des ersten aktiven Zustands entspricht, welches das beste Übereinstimmungsergebnis aufweist.
- Das nachstehende Beispiel V veranschaulicht einen in der Programmiersprache C geschriebenen Quellcode zur Ausgabe eines Befehlssignals, das dem Befehlsmodell von einem Vokabular eines aktiven Zustands entspricht, welches das beste Übereinstimmungsergebnis aufweist.
- Fig. 3 ist ein Blockschaltbild eines Beispiels eines Spracherkennungsprogramms für ein erfindungsgemäßes interaktives Rechnersystem. In diesem Beispiel umfasst das Spracherkennungsprogramm 32 einen Speicher 34 für akustische Befehlsmodelle eines aktiven Zustands, um das Vokabular des aktiven Zu stands zu speichern, das die akustischen Befehlsmodelle aus dem Systemvokabular-Speicher 28 umfasst, welche die Befehle des aktiven Zustands darstellen, die von der Kennzeichnungseinheit 30 für ein Vokabular von Befehlsmodellen eines aktiven Zustands gekennzeichnet wurden.
- Das Spracherkennungsprogramm 32 umfasst des Weiteren einen Akustikprozessor 36, der dazu dient, den Wert von mindestens einem Merkmal einer Äußerung während eines jeden einer Reihe von aufeinanderfolgenden Zeitintervallen innerhalb eines jeden Zeitraums eines aktiven Zustands zu messen, um eine Reihe von Merkmalssignalen zu erzeugen. Ein Akustikprozessor 38 für Übereinstimmungsergebnisse vergleicht die gemessenen Merkmalssignale vom Akustikprozessor 36 mit jedem der akustischen Befehlsmodelle im Speicher 34 für akustische Befehlsmodelle eines aktiven Zustands, um ein Übereinstimmungsergebnis für die Äußerung und jedes akustische Befehlsmodell zu erzeugen. Ein Ausgang 40 gibt ein oder mehrere Befehlssignale aus, die den Befehlsmodellen von dem Vokabular des aktiven Zustands entsprechen, welche für einen bestimmten Zeitraum die besten Übereinstimmungsergebnisse aufweisen.
- Vorzugsweise wird nur ein Befehlssignal ausgegeben, das dem Befehlsmodell von dem Vokabular des ersten aktiven Zustands entspricht, welches das beste Übereinstimmungsergebnis aufweist. In diesem Fall kann der eine ausgegebene Befehl sofort ausgeführt werden. Wenn zwei oder mehr Befehlssignale ausgegeben werden, die den Befehlsmodellen von dem Vokabular des aktiven Zustands entsprechen, welche für einen bestimmten Zeitraum die besten Übereinstimmungsergebnisse aufweisen, können die erkannten Befehle angezeigt werden, damit der Benutzer einen zur Ausführung auswählen kann.
- Das Spracherkennungsprogramm kann ein allgemein erhältliches Produkt sein, wie beispielsweise das IBM Voice Type II (Warenzeichen) oder das IBM Speech Server Series (Warenzeichen). Bei Produkten, die einen schnellen akustischen Vergleich und einen detaillierten akustischen Vergleich enthalten, können beide akustische Vergleiche in der Erfindung verwendet werden. Alternativ dazu kann der schnelle akustische Vergleich weggelassen werden, da die Bildobjekt-Kennzeichnungseinheit 26 und die Kennzeichnungseinheit 30 für ein Vokabular von Befehlsmodellen eines aktiven Zustands nur eine kleine Teilgruppe des Systemvokabulars im Speicher 28 für den akustischen Vergleich auswählen.
- Bei Spracherkennungsprodukten, die ein Sprachmodell enthalten, kann das Sprachmodell weggelassen werden. Alternativ dazu können allen Wörtern in dem Vokabular des aktiven Zustands gleiche Sprachmodell-Wahrscheinlichkeiten zugeordnet werden.
- Bei Spracherkennungsprodukten, die über Hypothese-Suchalgorithmen zur Erzeugung von Hypothesen mit mehreren Wörtern verfügen, hängt die Erkennung eines Worts zum Teil von der Erkennung von aufeinanderfolgenden Wörtern ab. Ein solcher Hypothese-Suchalgorithmus braucht mit der vorliegenden Erfindung nicht verwendet zu werden, bei der vorzugsweise jeder Befehl von nachfolgenden Befehlen unabhängig ist.
- Vorzugsweise werden sowohl das Zielrechnerprogramm als auch das Spracherkennungsprogramm auf derselben Zentraleinheit im Zeitteilungsbetrieb ausgeführt. Alternativ dazu können das Zielrechnerprogramm und das Spracherkennungsprogramm bei spielsweise unter Verwendung einer Client-Server-Architektur auf verschiedenen Zentraleinheiten ausgeführt werden.
- Bei dem erfindungsgemäßen interaktiven Rechnersystem kann das Anzeigemittel des Weiteren mindestens ein Bild eines zweiten aktiven Zustands, das sich von dem Bild des ersten aktiven Zustands unterscheidet, für einen zweiten aktiven Zustand anzeigen, der während eines zweiten Zeitraums auftritt, welcher sich von dem ersten Zeitraum unterscheidet.
- Fig. 4 zeigt ein Beispiel eines Bildes eines zweiten aktiven Zustands für einen zweiten aktiven Zustand des Zielrechnerprogramms. Das in Fig. 4 gezeigte Bild des zweiten aktiven Zustands enthält ein Rahmenobjekt 42, ein Titelleistenobjekt 44, ein Systemmenüobjekt 46, ein vertikales Schiebeleistenobjekt 48, ein horizontales Schiebeleistenobjekt 50 und ein Behälterobjekt 52. Das Behälterobjekt 52 enthält ein Objekt "Editor", ein Objekt "Telefonbuch", ein Objekt "Tabellenkalkulation", ein Objekt "Post" und ein Objekt "Solitaire".
- Das Objektkennzeichnungsmittel kennzeichnet mindestens ein Objekt, das in dem Bild des zweiten aktiven Zustands angezeigt wird, und erzeugt von dem gekennzeichneten Objekt eine Liste von einem oder mehreren Befehlen des zweiten aktiven Zustands, die Funktionen kennzeichnen, welche in dem zweiten aktiven Zustand des Zielrechnerprogramms ausgeführt werden können.
- Tabelle 2 ist ein Beispiel für eine hypothetische Liste von Befehlen für jedes in Fig. 4 gezeigte Objekt, die Funktionen kennzeichnen, welche in dem zweiten aktiven Zustand des Zielrechnerprogramms ausgeführt werden können. TABELLE 2 TABELLE 2 (FORTSETZUNG)
- Ein Vergleich der Fig. 2 und 4 zeigt, dass das Bild des ersten aktiven Zustands von dem Bild des zweiten aktiven Zustands insofern abweicht, als in dem Bild des ersten aktiven Zustands, jedoch nicht in dem Bild des zweiten aktiven Zustands, das Menüleistenobjekt 18, das Listenfensterobjekt 20 und das Schaltflächenobjekt 22 bereitgestellt werden. Die horizontale Schiebeleiste 50 und die Objekte Editor, Telefonbuch, Post, Tabellenkalkulation und Solitaire werden in dem Bild des zweiten aktiven Zustands, jedoch nicht in dem Bild des ersten aktiven Zustands bereitgestellt.
- Das Kennzeichnungsmittel für das Vokabular des aktiven Zustands kennzeichnet des Weiteren ein Vokabular von akustischen Befehlsmodellen des zweiten aktiven Zustands für den zweiten aktiven Zustand. Das Vokabular des zweiten aktiven Zustands umfasst die akustischen Befehlsmodelle von dem Systemvokabular, das die Befehle des zweiten aktiven Zustands darstellt. Das Vokabular des zweiten aktiven Zustands unterscheidet sich mindestens teilweise von dem Vokabular des ersten aktiven Zustands.
- Ein Vergleich der Tabellen 1 und 2 zeigt, dass das Vokabular des ersten aktiven Zustands die in Tabelle 1 aufgeführten gesprochenen Befehle umfasst. Das Vokabular des zweiten aktiven Zustands umfasst die in Tabelle 2 aufgeführten gesprochenen Befehle. In diesem Beispiel unterscheidet sich das Vokabular des ersten aktiven Zustands mindestens teilweise von dem Vokabular des zweiten aktiven Zustands, wie darin gezeigt ist.
- Das Spracherkennungsprogramm misst den Wert von mindestens einem Merkmal einer Äußerung während eines jeden einer Reihe von aufeinanderfolgenden Zeitintervallen innerhalb des zweiten Zeitraums, um eine Reihe von Merkmalssignalen zu erzeugen. Das Spracherkennungsprogramm vergleicht die gemessenen Merkmalssignale für den zweiten Zeitraum mit jedem der akustischen Befehlsmodelle in dem Vokabular des zweiten aktiven Zustands, um ein Übereinstimmungsergebnis für die Äußerung und jedes akustische Befehlsmodell zu erzeugen. Das Spracherkennungsprogramm gibt dann ein Befehlssignal aus, das dem Befehlsmodell von dem Vokabular des zweiten aktiven Zustands entspricht, welches das beste Übereinstimmungsergebnis aufweist.
- Vorzugsweise tritt bei dem Zielrechnerprogramm während eines jeden Zeitraums nur ein aktiver Zustand auf.
- Fig. 5 ist ein Blockdiagramm eines Beispiels des Speichers 28 für ein Vokabular von akustischen Befehlsmodellen von Fig. 1. Das Systemvokabular kann beispielsweise eine Gruppe von globalen akustischen Befehlsmodellen umfassen, die globale Befehle darstellen, welche Funktionen kennzeichnen, die in jedem aktiven Zustand des Zielrechnerprogramms ausgeführt werden können.
- Tabelle 3 führt einige Beispiele für globale Befehle auf, die von globalen akustischen Befehlsmodellen dargestellt werden.
- MIKROFON AUS schaltet das Mikrofon aus
- EINGEBEN sendet den Tastenanschlag "EINGEBEN" an den Tastatur-Eingabepuffer
- LINKS sendet den Tastenanschlag "LINKER PFEIL" an den Tastatur-Eingabepuffer
- RECHTS sendet den Tastenanschlag "RECHTER PFEIL" an den Tastatur-Eingabepuffer
- EINFÜGEN fügt den Inhalt der Zwischenablage in die Anwendung mit dem Eingabebereich ein
- FENSTERLISTE zeigt eine Liste der laufenden Programme an
- EDITOR führt das Editorprogramm aus
- ARBEITSOBERFLÄCHE aktiviert das Arbeitsoberflächenfenster
- Das Systemvokabular kann des Weiteren akustische Befehlsmodelle eines Objekttyps umfassen, die verschiedenen Arten von Objekten zugeordnet werden. Wie in den Tabellen 1 und 2 gezeigt ist, schließen akustische Befehle vom Objekttyp Rahmen "Rahmen", "oberer Rand", "unterer Rand", "linker Rand" "rechter Rand", "links", "rechts", "aufwärts" und "abwärts" ein. Akustische Befehle vom Objekttyp vertikale Schiebeleiste schließen "Schiebeleiste", "aufwärts", "abwärts", "oben", "unten", "zurückblättern", "vorblättern" ein. Akustische Befehlsmodelle vom Objekttyp Schaltfläche schließen "drücken" und "Schaltfläche" ein.
- Schließlich enthält das Systemvokabular anwendungsspezifische akustische Befehlsmodelle, die anwendungsspezifische Objekte darstellen. In den Beispielen der Tabellen 1 und 2 schließen anwendungsspezifische Objekte die Wörter "Elemente", "Farben", "Namen", "Adressen", "Telefonbuch", "Tabellenkalkulation", "Post" und "Solitaire" ein.
- Das Anzeigemittel 12 von Fig. 1 kann sowohl ein Bild eines aktiven Zustands für einen aktiven Zustand, der während eines Zeitraums auftritt, als auch mindestens einen Teil von einem oder mehreren Bildern für Programmzustände, die während dieses Zeitraums nicht auftreten, anzeigen.
- Ein Beispiel des Akustikprozessors 36 von Fig. 3 ist in Fig. 6 gezeigt. Der Akustikprozessor umfasst ein Mikrofon 54 zur Erzeugung eines analogen elektrischen Signals, das der Äußerung entspricht. Das analoge elektrische Signal vom Mikrofon 54 wird vom Analog-Digital-Wandler 56 in ein digitales elektrisches Signal umgewandelt. Zu diesem Zweck kann das analoge Signal vom Analog-Digital-Wandler 56 beispielsweise mit einer Frequenz von zwanzig Kilohertz abgetastet werden.
- Ein Fenstergenerator 58 erhält vom Analog-Digital-Wandler 56 alle zehn Millisekunden (jede Hundertstelsekunde) einen Abtastwert des digitalen Signals mit einer Dauer von beispielsweise zwanzig Millisekunden. Jeder Abtastwert des digitalen Signals mit einer Dauer von zwanzig Millisekunden wird vom Spektrumanalysator 60 analysiert, um die Amplitude des Abtastwerts des digitalen Signals in jedem von beispielsweise zwanzig Frequenzbändern zu erhalten. Vorzugsweise erzeugt der Spektrumanalysator 60 auch ein Signal mit einer einundzwanzigsten Dimension, das die Gesamtamplitude oder die Gesamtleistung des Abtastwerts des digitalen Signals mit einer Dauer von zwanzig Millisekunden darstellt. Der Spektrumanalysator 60 kann beispielsweise ein Prozessor für eine schnelle Fouriertransformation sein. Alternativ dazu kann er aus einer Gruppe von zwanzig Bandpassfiltern bestehen.
- Die vom Spektrumanalysator 60 erzeugten Vektorsignale mit einundzwanzig Dimensionen können von einem adaptiven Rauschunterdrückungsprozessor 62 angepasst werden, um das Hintergrundrauschen zu beseitigen. Der Rauschunterdrückungsprozessor 62 subtrahiert einen Rauschvektor N(t) von dem in den Rauschunterdrückungsprozessor eingegebenen Merkmalsvektor F(t), um einen Ausgabemerkmalsvektor F'(t) zu erzeugen. Der Rauschunterdrückungsprozessor 62 passt sich einem sich ändernden Rauschpegel an, indem er den Rauschvektor N(t) in regelmäßigen Abständen aktualisiert, sobald der vorhergehende Merkmalsvektor F(t-1) als Rauschen oder Stille erkannt worden ist. Der Rauschvektor N(t) wird gemäß der Formel
- aktualisiert, wobei N(t) der Rauschvektor zum Zeitpunkt t, N(t-1) der Rauschvektor zum Zeitpunkt (t-1), k ein fester Parameter des adaptiven Rauschunterdrückungsmodells, F(t-1) der in den Rauschunterdrückungsprozessor 62 zum Zeitpunkt (t-1) eingegebene Merkmalsvektor, der Rauschen oder Stille darstellt, und Ep(t-1) ein Prototypvektor für Stille oder Rauschen aus dem Speicher 64 ist, der dem Merkmalsvektor F(t-1) am nächsten kommt, sind.
- Der vorhergehende Merkmalsvektor F(t-1) wird als Rauschen oder Stille erkannt, wenn entweder (a) die gesamte Energie des Vektors einen Schwellenwert unterschreitet oder (b) der dem Merkmalsvektor am nächsten kommende Prototypvektor im Adaptionsprototypvektor-Speicher 66 ein Prototyp ist, der Rauschen oder Stille darstellt. Um die gesamte Energie des Merkmalsvektors zu analysieren, kann der Schwellenwert beispielsweise das fünfte Perzentil von allen Merkmalsvektoren (die sowohl Sprache als auch Stille entsprechen) sein, die in den zwei Sekunden vor der Auswertung des Merkmalsvektors erzeugt wurden.
- Nach der Rauschunterdrückung wird der Merkmalsvektor F'(t) zum Ausgleich von Schwankungen bei der Lautstärke der eingegebenen Sprache vom Prozessor 68 für eine kurzfristige, mittlere Normalisierung normalisiert. Der Normalisierungsprozessor 68 normalisiert den Merkmalsvektor F'(t) mit einundzwanzig Dimensionen, um einen normalisierten Merkmalsvektor mit zwanzig Dimensionen X(t) zu erzeugen. Die einundzwanzigste Dimension des Merkmalsvektors F'(t), welche die Gesamtamplitude oder die Gesamtleistung darstellt, wird verworfen. Jede Komponente i des normalisierten Merkmalsvektors X(t) zum Zeitpunkt t kann beispielsweise durch die Gleichung
- Xi(t) = Fi(t) - Z(t) [2]
- im logarithmischen Bereich gegeben sein, wobei F'i(t) die i-te Komponente des nichtnormalisierten Vektors zum Zeitpunkt t und Z(t) ein gewichteter Mittelwert der Komponenten von F'(t) und Z(t-1) gemäß den Gleichungen 3 und 4 sind:
- Z(t) = 0,9Z(t-1) + 0,1M(t) [3]
- und wobei
- M(t) = 1/20 ΣFt(t) [4]
- Der normalisierte Merkmalsvektor X(t) mit zwanzig Dimensionen kann von einer adaptiven Markierungseinheit 70 zur Anpassung an Schwankungen bei der Aussprache von Sprachtönen weiterverarbeitet werden. Ein angepasster Merkmalsvektor X'(t) mit zwanzig Dimensionen wird erzeugt, indem ein Adaptionsvektor A(t) mit zwanzig Dimensionen von dem Merkmalsvektor X(t) mit zwanzig Dimensionen subtrahiert wird, der dem Eingang der adaptiven Markierungseinheit 70 zugeführt wird. Der Adaptionsvektor A(t) zum Zeitpunkt t kann beispielsweise durch die Formel
- gegeben sein, wobei k ein fester Parameter des adaptiven Markierungsmodells, X(t-1) der normalisierte Vektor mit zwanzig Dimensionen, der zum Zeitpunkt (t-1) in die adaptive Markierungseinheit 70 eingegeben wird, Xp(t-1) der Adaptionsprototypvektor (aus dem Adaptionsprototypspeicher 66), der dem Merkmalsvektor X(t-1) zum Zeitpunkt (t-1) am nächsten kommt, und A(t-1) der Adaptionsvektor zum Zeitpunkt (t-1) sind.
- Das angepasste Merkmalsvektorsignal X'(t) mit zwanzig Dimensionen von der adaptiven Markierungseinheit 70 wird vorzugsweise einem Gehörmodell 72 zugeführt. Das Gehörmodell 72 kann beispielsweise modellhaft darstellen, wie der menschliche Hörapparat Tonsignale wahrnimmt. Ein Beispiel eines Gehörmodells ist in der US-Patentschrift 4 980 918 von Bahl u. a. mit dem Titel "Speech Recognition System with Efficient Storage and Rapid Assembly of Phonological Graphs" beschrieben.
- Gemäß der vorliegenden Erfindung berechnet das Gehörmodell 72 für jedes Frequenzband i des angepassten Merkmalsvektorsignals X'(t) zum Zeitpunkt t vorzugsweise einen neuen Parameter Ei(t) gemäß den Gleichungen 6 und 7:
- Ei(t) = k&sub1; + K&sub2; (X'i(t))(Ni(t - 1)) [6],
- wobei
- Ni(t) = K&sub3; · Ni(t - 1) - Ei(t - 1) [7]
- und wobei K1, K2 und K3 feste Parameter des Gehörmodells sind.
- Für jedes Zeitintervall von einer Hundertstelsekunde ist die Ausgabe des Gehörmodells 72 ein geändertes Merkmalsvektorsignal mit zwanzig Dimensionen. Dieser Merkmalsvektor wird um eine einundzwanzigste Dimension erhöht, deren Wert gleich der Quadratwurzel der Summe der ins Quadrat erhobenen Werte der anderen zwanzig Dimensionen ist.
- Für jedes Zeitintervall von einer Hundertstelsekunde verknüpft eine Verknüpfungseinheit 74 vorzugsweise neun Merkmalsvektoren mit einundzwanzig Dimensionen, die das eine momentane Zeitintervall von einer Hundertstelsekunde, die vier vorhergehenden Zeitintervalle von einer Hundertstelsekunde und die vier folgenden Zeitintervalle von einer Hundertstelsekunde darstellen, um einen einzigen kombinierten Vektor mit 189 Dimensionen zu bilden. Jeder kombinierte Vektor mit 189 Dimensionen wird vorzugsweise in einem Rotator 76 mit einer Rotationsmatrix multipliziert, um den kombinierten Vektor zu drehen und ihn auf fünfzig Dimensionen zu verringern.
- Die im Rotator 76 verwendete Rotationsmatrix kann man beispielsweise erhalten, indem man eine Gruppe von kombinierten Vektoren mit 189 Dimensionen, die man während einer Schulungssitzung erhalten hat, in M Klassen klassifiziert. Die Kovarianzmatrix für alle kombinierten Vektoren in der Schulungsgruppe wird mit dem Kehrwert der Kovarianzmatrix innerhalb der Klasse für alle kombinierten Vektoren in allen M Klassen multipliziert. Die ersten fünfzig Eigenvektoren der sich daraus ergebenden Matrix bilden die Rotationsmatrix. (Siehe beispielsweise "Vector Quantization Procedure For Speech Recognition Systems Using Discrete Parameter Phoneme-Based Markov Word Models" von L. R. Bahl u. a., IBM Technical Disclosure Bulletin, Band 32, Nr. 7, Dezember 1989, Seiten 320 und 321.)
- Der Fenstergenerator 58, der Spektrumanalysator 60, der adaptive Rauschunterdrückungsprozessor 62, der Prozessor 68 für eine kurzfristige, mittlere Normalisierung, die adaptive Markierungseinheit 70, das Gehörmodell 72, die Verknüpfungseinheit 74 und der Rotator 76 können auf geeignete Weise programmierte Spezial- oder Universaldigitalsignalprozessoren sein. Die Prototypspeicher 64 und 66 können elektronische Rechnerspeicher von dem vorstehend erörterten Typ sein.
- Die Prototypvektoren im Prototypspeicher 54 kann man beispielsweise erhalten, indem man Merkmalsvektorsignale aus einer Schulungsgruppe zu einer Vielzahl von Erfassungsgruppen zusammenfasst und dann die mittlere und die Standardabweichung für jede Erfassungsgruppe berechnet, um die Parameterwerte des Prototypvektors zu bilden. Wenn der Schulungstext eine Reihe von Wortsegmentmodellen (die ein Modell einer Reihe von Wörtern bilden) und jedes Wortsegmentmodell eine Reihe von Elementarmodellen umfasst, die festgelegte Positionen in den Wortsegmentmodellen haben, können die Merkmalsvektorsignale zu Erfassungsgruppen zusammengefasst werden, indem angegeben wird, dass jede Erfassungsgruppe einem einzelnen Elementarmodell an einer einzelnen Position in einem einzelnen Wortsegmentmodell entspricht. Ein solches Verfahren ist in der US- Patentanmeldung mit dem Titel "Fast Algorithm for Deriving Acoustic Prototypes for Automatic Speech Recognition, Seriennummer 730 714, eingereicht am 16. Juli 1991, ausführlicher beschrieben.
- Alternativ dazu können alle akustischen Merkmalsvektoren, die durch das Vorsprechen eines Schulungstextes erzeugt werden und einem bestimmten Elementarmodell entsprechen, mit Hilfe der euklidischen Erfassungsgruppenbildung mit K-Mittel und der Gaußschen Erfassungsgruppenbildung mit K-Mittel oder beidem zu Erfassungsgruppen zusammengefasst werden. Ein solches Verfahren wurde beispielsweise von Bahl u. a. in der US-Patentschrift 5 182 773 mit dem Titel "Speaker-Independent Label Coding Apparatus" beschrieben.
- Fig. 7 zeigt schematisch ein hypothetisches Beispiel eines akustischen Befehlsmodells. Das in Fig. 7 gezeigte hypothetische Modell hat einen Anfangszustand S1, einen Endzustand S4 und eine Vielzahl von Pfaden vom Anfangszustand S1 zum Endzustand S4.
- Fig. 8 zeigt schematisch ein hypothetisches Beispiel eines akustischen Markowschen Modells eines Phonems. In diesem Beispiel umfasst das Modell des akustischen Phonems das dreimalige Auftreten des Übergangs T1, das viermalige Auftreten des Übergangs T2 und das dreimalige Auftreten des Übergangs T3. Die in punktierten Linien gezeigten Übergänge sind Nullübergänge.
- Jeder als durchgezogene Linie gezeigte Übergang in den Akustikmodellen der Fig. 7 und 8 hat mindestens eine Modellausgabe, die einen akustischen Merkmalswert umfasst. Jede Modellausgabe hat eine Ausgabewahrscheinlichkeit. Jeder Nullübergang hat keine Ausgabe. Jeder Übergang in Form einer durchgezogenen Linie und jeder Übergang in Form einer punktierten Linie von einem Zustand hat eine Auftrittswahrscheinlichkeit, wenn sich das Modell in diesem Zustand befindet.
- Fig. 9 zeigt ein hypothetisches Beispiel von Pfaden durch das Akustikmodell von Fig. 7. Das Übereinstimmungsergebnis für eine Äußerung und ein akustisches Befehlsmodell ist die Summe der Wahrscheinlichkeiten der gemessenen Merkmale der Äußerung bei allen Pfaden durch das akustische Befehlsmodell. Bei jedem Pfad ist die Wahrscheinlichkeit der gemessenen Merkmale der Äußerung gleich dem Produkt der Wahrscheinlichkeiten der Übergänge entlang des Pfades multipliziert mit den Wahrscheinlichkeiten der gemessenen Merkmale an jedem Übergang entlang des Pfads.
- Vorzugsweise lässt sich das erfindungsgemäße interaktive Rechnersystem realisieren, indem ein digitales Universalrechnersystem auf geeignete Weise programmiert wird. Genauer gesagt, der Prozessor 10, die Bildobjekt-Kennzeichnungseinheit 26 und die Kennzeichnungseinheit 30 für ein Vokabular von Befehlsmodellen eines aktiven Zustands können durch geeignete Programmierung eines digitalen Universalprozessors realisiert werden. Der Speicher 28 für ein Systemvokabular von akustischen Befehlsmodellen und der Speicher 34 für akustische Befehlsmodelle eines aktiven Zustands können ein elektronischer Rechnerspeicher sein. Das Anzeigemittel 12 kann einen Bildschirm, wie beispielsweise einen Katodenstrahlröhren-Bildschirm, eine Flüssigkristallanzeige oder einen Drucker umfassen.
- Wie vorstehend erwähnt wurde, kann das Zielrechnerprogramm aus einem oder mehreren Anwendungsprogrammen oder einem Betriebssystemprogramm bestehen. Das Zielrechnerprogramm kann beispielsweise das Betriebssystem IBM OS/2 (Warenzeichen), Version 2.0, und der Presentation Manager (Warenzeichen) sein.
- Das Betriebssystem OS/2 von IBM, Version 2.0, und der Presentation Manager weisen Anwendungsprogramm-Schnittstellenaufrufe in verschiedenen Sprachen auf, einschließlich der Programmiersprache C, der Programmiersprache Assembler und der Programmiersprache REXX. Die vollständige Sammlung der Anwendungspro gramm-Schnittstellenaufrufe ist Teil der OS/2 2.0 Technical Library. Die Syntax für die Anwendungsprogramm-Schnittstellenaufrufe in einer Sprache ist mit der Art und Weise kompatibel, in der Standardaufrufe in der Sprache funktionieren. Der Name eines bestimmten Anwendungsprogramm-Schnittstellenaufrufs kann bei verschiedenen Sprachen unterschiedlich sein. Auch werden manche Aspekte der Anwendungsprogrammschnittstelle in einer Sprache von einer anderen Sprache gegebenenfalls nicht unterstützt.
- Bei der Programmiersprache C besteht die Anwendungsprogrammschnittstelle aus vielen Bibliotheksaufrufen. Der in der Programmiersprache C geschriebene Quellcode kann mit dem Compiler IBM C Set/2 kompiliert werden.
- Die Beispiele I bis V veranschaulichen einen in der Programmiersprache C geschriebenen Quellcode für OS/2 und den Presentation Manager, um (a) ein Bild zu erzeugen und anzuzeigen, (b) das Bild des aktiven Zustands zu lesen, um mindestens ein Objekt, das in dem Bild des aktiven Zustands angezeigt wird, zu kennzeichnen, (c) das Vokabular von dem Bild des aktiven Zustands zu erzeugen, (d) das Vokabular dem Spracherkennungsprogramm anzugeben und (e) ein Befehlssignal auszugeben, das dem Befehlsmodell von einem Vokabular eines aktiven Zustands entspricht, welches das beste Übereinstimmungsergebnis aufweist.
- Das Beispiel I veranschaulicht einen in der Programmiersprache C geschriebenen Quellcode, der dazu dient, das in Fig. 2 ge zeigte hypothetische Bild des ersten aktiven Zustands zu erzeugen.
- Bei OS/2 und dem Presentation Manager gibt es den Begriff des "Standardfensters". Ein Standardfenster ist eine Kombination aus mehreren, allgemein verwendeten Fenstern. In Fig. 2 können das Rahmenfenster, die Titelleiste, das Systemmenü und die Menüleiste als Teil eines Standardfensters betrachtet werden. Das Standardfenster wird mit dem folgenden in der Programmiersprache C geschriebenen Quellcode unter Verwendung des OS/2- Anwendungsprogramm-Schnittstellenaufrufs WinCreateStdWindow() erzeugt. Die auf die doppelten Schrägstriche (//) folgenden Begleittexte beschreiben die Operation des Quellcodes.
- Das Beispiel II veranschaulicht einen in der Programmiersprache C geschriebenen Quellcode zum Lesen eines Bildes eines aktiven Zustands.
- Der Presentation Manager ermöglicht einen Anwendungsprogramm- Schnittstellenaufruf, damit jede Anwendung eine Einfügestelle ("Hook") in die Nachrichtenwarteschlangen einfügen kann, die zwischen Fenstern hin und her übertragen werden. Eine Einfügestelle wird mit einer Rückruffunktion installiert, die mit jeder Nachricht, die gesendet wird, aufgerufen wird. Rückruffunktionen für Einfügestellen müssen sich in einer Bibliothek für dynamisches Verbinden des Presentation Manager befinden. Dabei muss so vorgegangen werden, dass zuerst die Bibliothek für dynamisches Verbinden, welche die Rückruffunktion enthält, und anschließend die Einfügestelle geladen werden.
- Das Beispiel III veranschaulicht einen in der Programmiersprache C geschriebenen Quellcode zur Kennzeichnung der Liste der Befehle des aktiven Zustands von dem Bild des aktiven Zustands.
- Um die Liste der Befehle des aktiven Zustands von dem Bild zu erzeugen, wird wie folgt vorgegangen. (1) Erzeugen einer Liste aller Fenster, die untergeordnete Fenster (direkte oder indirekte) des oben gefundenen aktiven Rahmens sind. (2) Kennzeichnen aller Fenster in der Liste mit ihrer Fensterklasse. (3) Abfragen des gesamten Fenstertextes (des verdeckten und des sichtbaren) bei Fenstern von Fensterklassen, die dem Benutzer Text anzeigen. (4) Verknüpfen einer globalen Liste von Wörtern mit einer Standardliste von Wörtern für jeden Fenstertyp und mit den Wörtern, die von der Anwendung im Schritt (3) abgefragt wurden.
- Der Schritt (4) schließt lediglich die Zusammenfassung von mehreren Wortgruppen in eine Wortgruppe ein. Deshalb ist der Quellcode für den Schritt (4) nicht veranschaulicht.
- Das Beispiel IV veranschaulicht einen in der Programmiersprache C geschriebenen Quellcode, um dem Spracherkennungsprogramm das Vokabular des aktiven Zustands anzugeben.
- Eine Anwendungsprogrammschnittstelle für das Spracherkennungsprogramm wird verwendet, um es auf die Erkennung vorzubereiten. Eine mögliche Anwendungsprogrammschnittstelle, die verwendet werden kann, ist die Anwendungsprogrammschnittstelle Speech Manager (Warenzeichen), die mit dem Produkt IBM Speech Server Series (Warenzeichen) vertrieben wird. Der Quellcode für eine ähnliche Anwendungsprogrammschnittstelle wird nachstehend gezeigt.
- Das Beispiel V veranschaulicht einen in der Programmiersprache C geschriebenen Quellcode zur Ausgabe eines Befehlssignals, das dem Befehlsmodell von einem Vokabular eines aktiven Zustands entspricht, welches das beste Übereinstimmungsergebnis aufweist.
- Anfangs werden eine Liste von Befehlen und Befehl-Objekt- Zuordnungen manuell festgelegt, wie vorstehend beschrieben wurde. Mit Ausnahme der globalen Befehle wird jeder Befehl einem Objekt zugeordnet.
- Nehmen wir an, das Wort "RECHTS" von Tabelle 1 wird erkannt. Aus der Liste der Befehl-Objekt-Zuordnungen ist das Ziel des Befehls bekannt. Dieses Ziel wird in dem Beispiel mit hwndTarget bezeichnet.
- HWND hwndTarget;
- Die mit "RECHTS" angegebene Aktion für dieses Ziel ist die Verschiebung des Ziels nach rechts um eine vorher angegebene Schrittweite, zum Beispiel um 10 Bildelemente (Pixel).
- #define INCREMENT_RIGHT 10
- Der Befehl wird an dem Ziel unter Verwendung des Anwendungsprogramm-Schnittstellenaufrufs mit der Bezeichnung WinSetWindowPos() des OS/2 Presentation Manager ausgeführt. Die aktuelle Fensterposition muss zuerst abgefragt werden, damit die neue Position ermittelt werden kann.
- Nehmen wir stattdessen an, dass das Wort "ORANGE" erkannt wird. Aus der Liste der Befehl-Objekt-Zuordnungen ist das Ziel des Befehls bekannt. In dem Beispiel ist es hwndTarget.
- HWND hwndTarget;
- Die mit "ORANGE" angegebene Aktion für dieses Ziel ist die Auswahl des Eintrags in dem Listenfenster. Der Befehl wird an dem Ziel ausgeführt, indem eine Nachricht, LM_SELECTITEM, unter Verwendung des Anwendungsprogramm-Schnittstellenaufrufs mit der Bezeichnung WinSendMsg() des OS/2 Presentation Manager an das Listenfenster gesendet wird. Zuerst muss der Index des Elements gefunden werden.
Claims (25)
1. Interaktives Rechnersystem, das folgendes umfasst:
einen Prozessor (10), der ein Zielrechnerprogramm
ausführt, das eine Reihe von aktiven Programmzuständen hat,
die über eine Folge von Zeiträumen auftreten, wobei das
Zielrechnerprogramm Datensignale eines Bildes eines
aktiven Zustands erzeugt, die ein Bild des aktiven Zustands
für einen aktiven Zustand des Zielrechnerprogramms
darstellen, der während eines jeden Zeitraums auftritt, wobei
jedes Bild des aktiven Zustands ein oder mehrere Objekte
enthält;
ein Mittel (12), um mindestens ein Bild des ersten aktiven
Zustands für einen ersten aktiven Zustand anzuzeigen, der
während eines ersten Zeitraums auftritt;
ein Mittel (26), um ein Objekt zu kennzeichnen, das in dem
Bild des ersten aktiven Zustands angezeigt wird, und um
von einem gekennzeichneten Objekt, das in dem Bild des
ersten aktiven Zustands angezeigt wird, eine Liste von einem
oder mehreren Befehlen des ersten aktiven Zustands zu
erzeugen, die eine Funktion des ersten aktiven Zustands
kennzeichnen, welche in dem ersten aktiven Zustand des
Zielrechnerprogramms ausgeführt werden kann;
ein Mittel (28), um ein Systemvokabular von akustischen
Befehlsmodellen zu speichern, wobei jedes akustische
Befehlsmodell eine oder mehrere Reihen von akustischen
Merkmalswerten darstellt, die eine Äußerung von einem oder
mehreren Wörtern darstellen, welche zu dem akustischen
Befehlsmodell gehören;
ein Mittel (30), um ein Vokabular von akustischen
Befehlsmodellen eines ersten aktiven Zustands für den ersten
aktiven Zustand zu kennzeichnen, wobei das Vokabular des
ersten aktiven Zustands die akustischen Befehlsmodelle von
dem Systemvokabular umfasst, das die Befehle des ersten
aktiven Zustands darstellt, wobei sich das Vokabular des
ersten aktiven Zustands in Abhängigkeit von sowohl der
Kennung des Zielrechnerprogramms als auch der Datensignale
des Bildes des aktiven Zustands dynamisch ändert, die
einen aktiven Zustand des Zielrechnerprogramms kennzeichnen;
und
eine Spracherkennungseinheit (32), um einen Wert von
mindestens einem Merkmal einer Äußerung während eines jeden
einer ersten Folge von aufeinanderfolgenden
Zeitintervallen innerhalb des ersten Zeitraums zu messen, um eine
erste Reihe von Merkmalssignalen zu erzeugen, wobei die
Spracherkennungseinheit die erste Reihe der
Merkmalssignale mit jedem der akustischen Befehlsmodelle in dem
Vokabular des ersten aktiven Zustands vergleicht, um ein
Übereinstimmungsergebnis für die Äußerung und jedes akustische
Befehlsmodell zu erzeugen, und wobei die
Spracherkennungseinheit ein Befehlssignal ausgibt, das dem Befehlsmodell
von dem Vokabular des ersten aktiven Zustands entspricht,
welches das beste Übereinstimmungsergebnis aufweist.
2. Interaktives Rechnersystem nach Anspruch 1, dadurch
gekennzeichnet, dass:
das Vokabular des ersten aktiven Zustands wesentlich
weniger als alle der akustischen Befehlsmodelle von dem
Systemvokabular umfasst; und
die Spracherkennungseinheit die gemessenen Merkmalssignale
für den ersten Zeitraum nicht mit einem akustischen
Befehlsmodell vergleicht, das sich nicht im Vokabular des
ersten aktiven Zustands befindet.
3. Interaktives Rechnersystem nach Anspruch 2, dadurch
gekennzeichnet, dass:
das Anzeigemittel mindestens ein Bild eines zweiten
aktiven Zustands, das sich von dem Bild des ersten aktiven
Zustands unterscheidet, für einen zweiten aktiven Zustand
anzeigt, der während eines zweiten Zeitraums auftritt,
welcher sich von dem ersten Zeitraum unterscheidet;
das Mittel zur Kennzeichnung eines Objekts ein Objekt
kennzeichnet, das in dem Bild des zweiten aktiven Zustands
angezeigt wird, und von einem gekennzeichneten Objekt, das
in dem Bild des zweiten aktiven Zustands angezeigt wird,
einen Katalog von einem oder mehreren Befehlen des zweiten
aktiven Zustands erzeugt, die eine Funktion des zweiten
aktiven Zustands kennzeichnen, welche in dem zweiten
aktiven Zustand des Zielrechnerprogramms ausgeführt werden
kann;
das Mittel zur Kennzeichnung eines Vokabulars eines ersten
aktiven Zustands ein Vokabular von akustischen
Befehlsmodellen eines zweiten aktiven Zustands für den zweiten
aktiven Zustand kennzeichnet, wobei das Vokabular des
zwei
ten aktiven Zustands die akustischen Befehlsmodelle von
dem Systemvokabular umfasst, das die Befehle des zweiten
aktiven Zustands darstellt, wobei sich das Vokabular des
zweiten aktiven Zustands mindestens teilweise von dem
Vokabular des ersten aktiven Zustands unterscheidet; und
die Spracherkennungseinheit den Wert von mindestens einem
Merkmal einer Äußerung während eines jeden einer zweiten
Folge von Zeitintervallen innerhalb des zweiten Zeitraums
misst, um eine zweite Reihe von Merkmalssignalen zu
erzeugen, wobei die Spracherkennungseinheit die zweite Reihe
der Merkmalssignale für den zweiten Zeitraum mit jedem der
akustischen Befehlsmodelle in dem Vokabular des zweiten
aktiven Zustands vergleicht, um das
Übereinstimmungsergebnis für die Äußerung und jedes akustische Befehlsmodell zu
erzeugen, und wobei die Spracherkennungseinheit das
Befehlssignal ausgibt, das dem Befehlsmodell von dem
Vokabular des zweiten aktiven Zustands entspricht, welches das
beste Übereinstimmungsergebnis aufweist.
4. Interaktives Rechnersystem nach Anspruch 3, dadurch
gekennzeichnet, dass bei dem Zielrechnerprogramm während
eines jeden Zeitraums nur ein aktiver Zustand auftritt.
5. Interaktives Rechnersystem nach Anspruch 4, dadurch
gekennzeichnet, dass das Zielrechnerprogramm ein
Betriebssystemprogramm umfasst.
6. Interaktives Rechnersystem nach Anspruch 5, dadurch
gekennzeichnet, dass das Zielrechnerprogramm ein
Anwendungsprogramm und ein Betriebssystemprogramm umfasst.
7. Interaktives Rechnersystem nach Anspruch 6, dadurch
gekennzeichnet, dass das Zielrechnerprogramm zwei oder mehr
Anwendungsprogramme und ein Betriebssystemprogramm
umfasst.
8. Interaktives Rechnersystem nach Anspruch 6, dadurch
gekennzeichnet, dass mindestens einige Befehle für den
aktiven Zustand Funktionen kennzeichnen, die an dem
gekennzeichneten Objekt in dem Bild des aktiven Zustands für den
aktiven Zustand ausgeführt werden können.
9. Interaktives Rechnersystem nach Anspruch 8, dadurch
gekennzeichnet, dass das gekennzeichnete Objekt in einem
Bild eines aktiven Zustands ein oder mehrere Zeichen,
Wörter, Symbole, Schaltflächen, Schiebeleisten,
Schiebefelder, Listenfenster, Menüs, Markierungsfelder, Behälter
oder Notizbücher umfasst.
10. Interaktives Rechnersystem nach Anspruch 9, dadurch
gekennzeichnet, dass die Spracherkennungseinheit zwei oder
mehr Befehlssignale ausgibt, die den Befehlsmodellen von
dem Vokabular des aktiven Zustands entsprechen, welche die
besten Übereinstimmungsergebnisse für einen bestimmten
Zeitraum aufweisen.
11. Interaktives Rechnersystem nach Anspruch 10, dadurch
gekennzeichnet, dass das Vokabular von akustischen
Befehlsmodellen des aktiven Zustands für jeden aktiven Zustand
des Weiteren eine Gruppe von globalen akustischen
Befehlsmodellen umfasst, die globale Befehle darstellen, welche
Funktionen kennzeichnen, die in jedem aktiven Zustand des
Zielrechnerprogramms ausgeführt werden können.
12. Interaktives Rechnersystem nach Anspruch 11, dadurch
gekennzeichnet, dass das Anzeigemittel einen Bildschirm
umfasst.
13. Interaktives Rechnersystem nach Anspruch 11, dadurch
gekennzeichnet, dass das Anzeigemittel sowohl das Bild des
aktiven Zustands für den aktiven Zustand, der während
eines Zeitraums auftritt, als auch mindestens einen Teil von
einem oder mehreren Bildern für Programmzustände, die
während des Zeitraums nicht auftreten, anzeigt.
14. Verfahren zur Interaktion mit einem Rechner, das folgendes
umfasst:
Ausführen eines Zielrechnerprogramms auf einem Prozessor,
das eine Reihe von aktiven Programmzuständen hat, die über
eine Folge von Zeiträumen auftreten, wobei das
Zielrechnerprogramm Datensignale eines Bildes eines aktiven
Zustands erzeugt, die ein Bild des aktiven Zustands für
einen aktiven Zustand des Zielrechnerprogramms darstellen,
der während eines jeden Zeitraums auftritt, wobei jedes
Bild des aktiven Zustands ein oder mehrere Objekte
enthält;
Anzeigen von mindestens einem Bild des ersten aktiven
Zustands für einen ersten aktiven Zustand, der während eines
ersten Zeitraums auftritt;
Kennzeichnen eines Objekts, das in dem Bild des ersten
aktiven Zustands angezeigt wird, und Erzeugen einer Liste
von einem oder mehreren Befehlen des ersten aktiven
Zu
stands von einem gekennzeichneten Objekt, die eine
Funktion des ersten aktiven Zustands kennzeichnen, welche in dem
ersten aktiven Zustand des Zielrechnerprogramms ausgeführt
werden kann;
Speichern eines Systemvokabulars von akustischen
Befehlsmodellen, wobei jedes akustische Befehlsmodell eine oder
mehrere Reihen von akustischen Merkmalswerten darstellt,
die eine Äußerung von einem oder mehreren Wörtern
darstellen, welche zu dem akustischen Befehlsmodell gehören;
Kennzeichnen eines Vokabulars von akustischen
Befehlsmodellen des ersten aktiven Zustands für den ersten aktiven
Zustand, wobei das Vokabular des ersten aktiven Zustands
die akustischen Befehlsmodelle von dem Systemvokabular
umfasst, das die Befehle des ersten aktiven Zustands
darstellt, wobei sich das Vokabular des ersten aktiven
Zustands in Abhängigkeit von sowohl der Kennung des
Zielrechnerprogramms als auch der Datensignale des Bildes des
aktiven Zustands dynamisch ändert, die einen aktiven
Zustand des Zielrechnerprogramms kennzeichnen; und
Messen eines Werts von mindestens einem Merkmal einer
Äußerung während eines jeden einer ersten Folge von
Zeitintervallen innerhalb des ersten Zeitraums, um eine erste
Reihe von Merkmalssignalen zu erzeugen;
Vergleichen der ersten Reihe der Merkmalssignale mit jedem
der akustischen Befehlsmodelle in dem Vokabular des ersten
aktiven Zustands, um ein Übereinstimmungsergebnis für die
Äußerung und jedes akustische Befehlsmodell zu erzeugen;
und
Ausgeben eines Befehlssignals, das dem Befehlsmodell von
dem Vokabular des ersten aktiven Zustands entspricht,
welches das beste Übereinstimmungsergebnis aufweist.
15. Verfahren zur Interaktion mit einem Rechner nach Anspruch
14, dadurch gekennzeichnet, dass:
das Vokabular des ersten aktiven Zustands wesentlich
weniger als alle der akustischen Befehlsmodelle von dem
Systemvokabular umfasst; und
der Vergleichsschritt die gemessenen Merkmalssignale für
den ersten Zeitraum nicht mit einem akustischen
Befehlsmodell vergleicht, das sich nicht im Vokabular des ersten
aktiven Zustands befindet.
16. Verfahren zur Interaktion mit einem Rechner nach Anspruch
15, das des Weiteren die folgenden Schritte umfasst:
Anzeigen von mindestens einem Bild eines zweiten aktiven
Zustands, das sich von dem Bild des ersten aktiven
Zustands unterscheidet, für einen zweiten aktiven Zustand,
der während eines zweiten Zeitraums auftritt, welcher sich
von dem ersten Zeitraum unterscheidet;
Kennzeichnen eines Objekts, das in dem Bild des zweiten
aktiven Zustands angezeigt wird, und Erzeugen eines
Katalogs von einem oder mehreren Befehlen des zweiten aktiven
Zustands von einem gekennzeichneten Objekt, die eine
Funktion des zweiten aktiven Zustands kennzeichnen, welche in
dem zweiten aktiven Zustand des Zielrechnerprogramms
ausgeführt werden kann;
Kennzeichnen eines Vokabulars von akustischen
Befehlsmodellen eines zweiten aktiven Zustands für den zweiten
aktiven Zustand, wobei das Vokabular des zweiten aktiven
Zustands die akustischen Befehlsmodelle von dem
Systemvokabular umfasst, das die Befehle des zweiten aktiven
Zustands darstellt, wobei sich das Vokabular des zweiten
aktiven Zustands mindestens teilweise von dem Vokabular des
ersten aktiven Zustands unterscheidet;
Messen des Werts von mindestens einem Merkmal einer
Äußerung während eines jeden einer zweiten Folge von
Zeitintervallen innerhalb des zweiten Zeitraums, um eine zweite
Reihe von Merkmalssignalen zu erzeugen;
Vergleichen der zweiten Reihe der Merkmalssignale für den
zweiten Zeitraum mit jedem der akustischen Befehlsmodelle
in dem Vokabular des zweiten aktiven Zustands, um das
Übereinstimmungsergebnis für die Äußerung und jedes
akustische Befehlsmodell zu erzeugen; und
Ausgeben eines Befehlssignals, das dem Befehlsmodell von
dem Vokabular des zweiten aktiven Zustands entspricht,
welches das beste Übereinstimmungsergebnis aufweist.
17. Verfahren zur Interaktion mit einem Rechner nach Anspruch
16, dadurch gekennzeichnet, dass bei dem
Zielrechnerprogramm während eines jeden Zeitraums nur ein aktiver
Zustand auftritt.
18. Verfahren zur Interaktion mit einem Rechner nach Anspruch
17, dadurch gekennzeichnet, dass das Zielrechnerprogramm
ein Betriebssystemprogramm umfasst.
19. Verfahren zur Interaktion mit einem Rechner nach Anspruch
18, dadurch gekennzeichnet, dass das Zielrechnerprogramm
ein Anwendungsprogramm und ein Betriebssystemprogramm
umfasst.
20. Verfahren zur Interaktion mit einem Rechner nach Anspruch
19, dadurch gekennzeichnet, dass das Zielrechnerprogramm
zwei oder mehr Anwendungsprogramme und ein
Betriebssystemprogramm umfasst.
21. Verfahren zur Interaktion mit einem Rechner nach Anspruch
19, dadurch gekennzeichnet, dass mindestens einige Befehle
für den aktiven Zustand Funktionen kennzeichnen, die an
den gekennzeichneten Objekten in dem Bild des aktiven
Zustands für den aktiven Zustand ausgeführt werden können.
22. Verfahren zur Interaktion mit einem Rechner nach Anspruch
21, dadurch gekennzeichnet, dass das gekennzeichnete
Objekt in dem Bild des aktiven Zustands ein oder mehrere
Zeichen, Wörter, Symbole, Schaltflächen, Schiebeleisten,
Schiebefelder, Listenfenster, Menüs, Markierungsfelder,
Behälter oder Notizbücher umfasst.
23. Verfahren zur Interaktion mit einem Rechner nach Anspruch
22, dadurch gekennzeichnet, dass der Schritt der Ausgabe
eines Befehlssignals die Ausgabe von zwei oder mehr
Befehlssignalen umfasst, die den Befehlsmodellen von dem
Vokabular des aktiven Zustands entsprechen, welche die
be
sten Übereinstimmungsergebnisse für einen bestimmten
Zeitraum aufweisen.
24. Verfahren zur Interaktion mit einem Rechner nach Anspruch
23, dadurch gekennzeichnet, dass das Vokabular von
akustischen Befehlsmodellen für jeden aktiven Zustand des
Weiteren eine Gruppe von globalen akustischen Befehlsmodellen
umfasst, die globale Befehle darstellen, welche Funktionen
kennzeichnen, die in jedem aktiven Zustand des
Zielrechnerprogramms ausgeführt werden können.
25. Verfahren zur Interaktion mit einem Rechner nach Anspruch
24, das des Weiteren den Schritt der Anzeige von sowohl
dem Bild des aktiven Zustands für den aktiven Zustand, der
während eines Zeitraums auftritt, als auch von mindestens
einem Teil von einem oder mehreren Bildern für
Programmzustände, die während des Zeitraums nicht auftreten,
umfasst.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5095093A | 1993-04-21 | 1993-04-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69420888D1 DE69420888D1 (de) | 1999-11-04 |
DE69420888T2 true DE69420888T2 (de) | 2000-04-27 |
Family
ID=21968512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69420888T Expired - Lifetime DE69420888T2 (de) | 1993-04-21 | 1994-04-06 | Interaktives Rechnersystem, das gesprochene Befehle erkennt |
Country Status (8)
Country | Link |
---|---|
US (1) | US5664061A (de) |
EP (1) | EP0621531B1 (de) |
JP (1) | JP2856671B2 (de) |
KR (1) | KR970006403B1 (de) |
CN (1) | CN1086484C (de) |
AT (1) | ATE185203T1 (de) |
CA (1) | CA2115210C (de) |
DE (1) | DE69420888T2 (de) |
Families Citing this family (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6073097A (en) * | 1992-11-13 | 2000-06-06 | Dragon Systems, Inc. | Speech recognition system which selects one of a plurality of vocabulary models |
US5764852A (en) * | 1994-08-16 | 1998-06-09 | International Business Machines Corporation | Method and apparatus for speech recognition for distinguishing non-speech audio input events from speech audio input events |
KR970701879A (ko) * | 1995-01-18 | 1997-04-12 | 요트.게.아. 롤페즈 | 운영자의 중재에 의한 인간-기계 대화를 지원하는 방법 및 장치(A method and apparatus for providing a human-machine dialog supportable by operator intervention) |
JP3750150B2 (ja) * | 1995-03-30 | 2006-03-01 | 三菱電機株式会社 | 移動体通信端末 |
JPH09149157A (ja) * | 1995-11-24 | 1997-06-06 | Casio Comput Co Ltd | 通信端末装置 |
US5960395A (en) | 1996-02-09 | 1999-09-28 | Canon Kabushiki Kaisha | Pattern matching method, apparatus and computer readable memory medium for speech recognition using dynamic programming |
GB9602701D0 (en) * | 1996-02-09 | 1996-04-10 | Canon Kk | Image manipulation |
US5819225A (en) * | 1996-05-30 | 1998-10-06 | International Business Machines Corporation | Display indications of speech processing states in speech recognition system |
US5867817A (en) * | 1996-08-19 | 1999-02-02 | Virtual Vision, Inc. | Speech recognition manager |
US6654955B1 (en) * | 1996-12-19 | 2003-11-25 | International Business Machines Corporation | Adding speech recognition libraries to an existing program at runtime |
US5897618A (en) * | 1997-03-10 | 1999-04-27 | International Business Machines Corporation | Data processing system and method for switching between programs having a same title using a voice command |
US6192338B1 (en) * | 1997-08-12 | 2001-02-20 | At&T Corp. | Natural language knowledge servers as network resources |
JP4827274B2 (ja) * | 1997-12-30 | 2011-11-30 | ニュアンス コミュニケーションズ オーストリア ゲーエムベーハー | コマンド辞書を使用する音声認識方法 |
US6298324B1 (en) * | 1998-01-05 | 2001-10-02 | Microsoft Corporation | Speech recognition system with changing grammars and grammar help command |
US6301560B1 (en) * | 1998-01-05 | 2001-10-09 | Microsoft Corporation | Discrete speech recognition system with ballooning active grammar |
DE69908121T2 (de) * | 1998-03-23 | 2004-04-01 | Microsoft Corp., Redmond | Anwendungsprogrammierungsschnittstelle in einem betriebssystem |
US6144938A (en) | 1998-05-01 | 2000-11-07 | Sun Microsystems, Inc. | Voice user interface with personality |
FI981154A (fi) * | 1998-05-25 | 1999-11-26 | Nokia Mobile Phones Ltd | Menetelmä ja laite puheen tunnistamiseksi |
US7082391B1 (en) * | 1998-07-14 | 2006-07-25 | Intel Corporation | Automatic speech recognition |
US6243076B1 (en) | 1998-09-01 | 2001-06-05 | Synthetic Environments, Inc. | System and method for controlling host system interface with point-of-interest data |
FR2783625B1 (fr) * | 1998-09-21 | 2000-10-13 | Thomson Multimedia Sa | Systeme comprenant un appareil telecommande et un dispositif de telecommande vocale de l'appareil |
US6240347B1 (en) | 1998-10-13 | 2001-05-29 | Ford Global Technologies, Inc. | Vehicle accessory control with integrated voice and manual activation |
US6928614B1 (en) | 1998-10-13 | 2005-08-09 | Visteon Global Technologies, Inc. | Mobile office with speech recognition |
US6230129B1 (en) * | 1998-11-25 | 2001-05-08 | Matsushita Electric Industrial Co., Ltd. | Segment-based similarity method for low complexity speech recognizer |
US6233560B1 (en) | 1998-12-16 | 2001-05-15 | International Business Machines Corporation | Method and apparatus for presenting proximal feedback in voice command systems |
US7206747B1 (en) | 1998-12-16 | 2007-04-17 | International Business Machines Corporation | Speech command input recognition system for interactive computer display with means for concurrent and modeless distinguishing between speech commands and speech queries for locating commands |
US6937984B1 (en) | 1998-12-17 | 2005-08-30 | International Business Machines Corporation | Speech command input recognition system for interactive computer display with speech controlled display of recognized commands |
US6192343B1 (en) | 1998-12-17 | 2001-02-20 | International Business Machines Corporation | Speech command input recognition system for interactive computer display with term weighting means used in interpreting potential commands from relevant speech terms |
US8275617B1 (en) | 1998-12-17 | 2012-09-25 | Nuance Communications, Inc. | Speech command input recognition system for interactive computer display with interpretation of ancillary relevant speech query terms into commands |
US7567677B1 (en) * | 1998-12-18 | 2009-07-28 | Gateway, Inc. | Noise reduction scheme for a computer system |
US6230135B1 (en) | 1999-02-02 | 2001-05-08 | Shannon A. Ramsay | Tactile communication apparatus and method |
US6408301B1 (en) | 1999-02-23 | 2002-06-18 | Eastman Kodak Company | Interactive image storage, indexing and retrieval system |
US6345254B1 (en) * | 1999-05-29 | 2002-02-05 | International Business Machines Corp. | Method and apparatus for improving speech command recognition accuracy using event-based constraints |
US6421655B1 (en) * | 1999-06-04 | 2002-07-16 | Microsoft Corporation | Computer-based representations and reasoning methods for engaging users in goal-oriented conversations |
US6308157B1 (en) * | 1999-06-08 | 2001-10-23 | International Business Machines Corp. | Method and apparatus for providing an event-based “What-Can-I-Say?” window |
US6871179B1 (en) * | 1999-07-07 | 2005-03-22 | International Business Machines Corporation | Method and apparatus for executing voice commands having dictation as a parameter |
US6374226B1 (en) | 1999-08-06 | 2002-04-16 | Sun Microsystems, Inc. | System and method for interfacing speech recognition grammars to individual components of a computer program |
US6510414B1 (en) | 1999-10-05 | 2003-01-21 | Cisco Technology, Inc. | Speech recognition assisted data entry system and method |
US6594630B1 (en) * | 1999-11-19 | 2003-07-15 | Voice Signal Technologies, Inc. | Voice-activated control for electrical device |
US7319962B2 (en) * | 1999-12-24 | 2008-01-15 | Medtronic, Inc. | Automatic voice and data recognition for implanted medical device instrument systems |
FR2803927B1 (fr) * | 2000-01-14 | 2002-02-22 | Renault | Procede et dispositif de commande d'equipements embarques sur un vehicule utilisant la reconnaissance vocale |
US7047196B2 (en) | 2000-06-08 | 2006-05-16 | Agiletv Corporation | System and method of voice recognition near a wireline node of a network supporting cable television and/or video delivery |
US6408277B1 (en) | 2000-06-21 | 2002-06-18 | Banter Limited | System and method for automatic task prioritization |
US9699129B1 (en) | 2000-06-21 | 2017-07-04 | International Business Machines Corporation | System and method for increasing email productivity |
US8290768B1 (en) | 2000-06-21 | 2012-10-16 | International Business Machines Corporation | System and method for determining a set of attributes based on content of communications |
US6510410B1 (en) * | 2000-07-28 | 2003-01-21 | International Business Machines Corporation | Method and apparatus for recognizing tone languages using pitch information |
CN1272698C (zh) * | 2000-10-11 | 2006-08-30 | 佳能株式会社 | 信息处理装置、信息处理方法 |
US7644057B2 (en) | 2001-01-03 | 2010-01-05 | International Business Machines Corporation | System and method for electronic communication management |
US8095370B2 (en) | 2001-02-16 | 2012-01-10 | Agiletv Corporation | Dual compression voice recordation non-repudiation system |
DE10115899B4 (de) * | 2001-03-30 | 2005-04-14 | Siemens Ag | Verfahren zur Erstellung von Computer-Programmen mittels Spracherkennung |
US7506022B2 (en) * | 2001-05-04 | 2009-03-17 | Microsoft.Corporation | Web enabled recognition architecture |
US20020178182A1 (en) * | 2001-05-04 | 2002-11-28 | Kuansan Wang | Markup language extensions for web enabled recognition |
US7610547B2 (en) * | 2001-05-04 | 2009-10-27 | Microsoft Corporation | Markup language extensions for web enabled recognition |
US7409349B2 (en) * | 2001-05-04 | 2008-08-05 | Microsoft Corporation | Servers for web enabled speech recognition |
US7203188B1 (en) | 2001-05-21 | 2007-04-10 | Estara, Inc. | Voice-controlled data/information display for internet telephony and integrated voice and data communications using telephones and computing devices |
US7020841B2 (en) | 2001-06-07 | 2006-03-28 | International Business Machines Corporation | System and method for generating and presenting multi-modal applications from intent-based markup scripts |
US7701437B2 (en) * | 2001-07-03 | 2010-04-20 | Koninklijke Philips Electronics N.V. | Interactive display and method of displaying a message |
US7711570B2 (en) | 2001-10-21 | 2010-05-04 | Microsoft Corporation | Application abstraction with dialog purpose |
US8229753B2 (en) | 2001-10-21 | 2012-07-24 | Microsoft Corporation | Web server controls for web enabled recognition and/or audible prompting |
US20040034529A1 (en) * | 2002-08-14 | 2004-02-19 | Hooper Howard Gaines | Multifunction printer that converts and prints voice data |
US7421390B2 (en) * | 2002-09-13 | 2008-09-02 | Sun Microsystems, Inc. | Method and system for voice control of software applications |
US7389230B1 (en) | 2003-04-22 | 2008-06-17 | International Business Machines Corporation | System and method for classification of voice signals |
US20040230637A1 (en) * | 2003-04-29 | 2004-11-18 | Microsoft Corporation | Application controls for speech enabled recognition |
US7363060B2 (en) * | 2003-05-02 | 2008-04-22 | Nokia Corporation | Mobile telephone user interface |
US20050187913A1 (en) | 2003-05-06 | 2005-08-25 | Yoram Nelken | Web-based customer service interface |
US8495002B2 (en) | 2003-05-06 | 2013-07-23 | International Business Machines Corporation | Software tool for training and testing a knowledge base |
US20050009604A1 (en) * | 2003-07-11 | 2005-01-13 | Hsien-Ta Huang | Monotone voice activation device |
US8160883B2 (en) | 2004-01-10 | 2012-04-17 | Microsoft Corporation | Focus tracking in dialogs |
US7552055B2 (en) * | 2004-01-10 | 2009-06-23 | Microsoft Corporation | Dialog component re-use in recognition systems |
CN1691581B (zh) * | 2004-04-26 | 2010-04-28 | 彭诗力 | 基于特征值的多模式匹配方法 |
CN100403255C (zh) * | 2005-03-17 | 2008-07-16 | 英华达(上海)电子有限公司 | 一种利用声音操作游戏的方法 |
JP4667138B2 (ja) * | 2005-06-30 | 2011-04-06 | キヤノン株式会社 | 音声認識方法及び音声認識装置 |
KR100632400B1 (ko) * | 2005-11-11 | 2006-10-11 | 한국전자통신연구원 | 음성 인식을 이용한 입출력 장치 및 그 방법 |
US8229733B2 (en) * | 2006-02-09 | 2012-07-24 | John Harney | Method and apparatus for linguistic independent parsing in a natural language systems |
US20080213047A1 (en) * | 2006-08-21 | 2008-09-04 | Bryant Corwin J | Systems and methods for liner tensioning in pipeline rehabilitation |
WO2008136081A1 (ja) * | 2007-04-20 | 2008-11-13 | Mitsubishi Electric Corporation | ユーザインタフェース装置及びユーザインタフェース設計装置 |
US8620652B2 (en) * | 2007-05-17 | 2013-12-31 | Microsoft Corporation | Speech recognition macro runtime |
US8538757B2 (en) * | 2007-05-17 | 2013-09-17 | Redstart Systems, Inc. | System and method of a list commands utility for a speech recognition command system |
US8150699B2 (en) * | 2007-05-17 | 2012-04-03 | Redstart Systems, Inc. | Systems and methods of a structured grammar for a speech recognition command system |
US20080312929A1 (en) * | 2007-06-12 | 2008-12-18 | International Business Machines Corporation | Using finite state grammars to vary output generated by a text-to-speech system |
US7962344B2 (en) * | 2007-06-29 | 2011-06-14 | Microsoft Corporation | Depicting a speech user interface via graphical elements |
US8165886B1 (en) | 2007-10-04 | 2012-04-24 | Great Northern Research LLC | Speech interface system and method for control and interaction with applications on a computing system |
US8595642B1 (en) | 2007-10-04 | 2013-11-26 | Great Northern Research, LLC | Multiple shell multi faceted graphical user interface |
CN101436404A (zh) * | 2007-11-16 | 2009-05-20 | 鹏智科技(深圳)有限公司 | 可会话的类生物装置及其会话方法 |
KR20090107365A (ko) * | 2008-04-08 | 2009-10-13 | 엘지전자 주식회사 | 이동 단말기 및 그 메뉴 제어방법 |
US8958848B2 (en) | 2008-04-08 | 2015-02-17 | Lg Electronics Inc. | Mobile terminal and menu control method thereof |
US8762963B2 (en) * | 2008-12-04 | 2014-06-24 | Beck Fund B.V. L.L.C. | Translation of programming code |
KR101528266B1 (ko) * | 2009-01-05 | 2015-06-11 | 삼성전자 주식회사 | 휴대 단말기 및 그의 응용프로그램 제공 방법 |
US8606578B2 (en) * | 2009-06-25 | 2013-12-10 | Intel Corporation | Method and apparatus for improving memory locality for real-time speech recognition |
CN101976186B (zh) * | 2010-09-14 | 2013-04-03 | 方正科技集团苏州制造有限公司 | 一种计算机语音识别方法及其计算机 |
US20120089392A1 (en) * | 2010-10-07 | 2012-04-12 | Microsoft Corporation | Speech recognition user interface |
US20120155663A1 (en) * | 2010-12-16 | 2012-06-21 | Nice Systems Ltd. | Fast speaker hunting in lawful interception systems |
WO2012169679A1 (ko) * | 2011-06-10 | 2012-12-13 | 엘지전자 주식회사 | 디스플레이 장치, 디스플레이 장치의 제어 방법 및 디스플레이 장치의 음성인식 시스템 |
WO2013022135A1 (en) * | 2011-08-11 | 2013-02-14 | Lg Electronics Inc. | Electronic device and method of controlling the same |
US10186262B2 (en) * | 2013-07-31 | 2019-01-22 | Microsoft Technology Licensing, Llc | System with multiple simultaneous speech recognizers |
US9653073B2 (en) * | 2013-11-26 | 2017-05-16 | Lenovo (Singapore) Pte. Ltd. | Voice input correction |
US9589564B2 (en) | 2014-02-05 | 2017-03-07 | Google Inc. | Multiple speech locale-specific hotword classifiers for selection of a speech locale |
KR102281178B1 (ko) * | 2014-07-09 | 2021-07-23 | 삼성전자주식회사 | 멀티-레벨 음성 인식 방법 및 장치 |
US11741951B2 (en) * | 2019-02-22 | 2023-08-29 | Lenovo (Singapore) Pte. Ltd. | Context enabled voice commands |
CN110598671B (zh) * | 2019-09-23 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 基于文本的虚拟形象行为控制方法、设备和介质 |
EP4302178A1 (de) * | 2021-03-01 | 2024-01-10 | Apple Inc. | Virtuelle objektplatzierung auf der basis von referenzausdrücken |
CN113590360A (zh) * | 2021-08-03 | 2021-11-02 | 北京博睿宏远数据科技股份有限公司 | 一种实现函数hook的方法、装置、计算机设备及存储介质 |
US20230169967A1 (en) * | 2021-11-30 | 2023-06-01 | Google Llc | Dynamic assistant suggestions during assistant browsing |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CH644246B (fr) * | 1981-05-15 | 1900-01-01 | Asulab Sa | Dispositif d'introduction de mots a commande par la parole. |
JPS58195957A (ja) * | 1982-05-11 | 1983-11-15 | Casio Comput Co Ltd | 音声によるプログラム実行方式 |
US4704696A (en) * | 1984-01-26 | 1987-11-03 | Texas Instruments Incorporated | Method and apparatus for voice control of a computer |
US4980918A (en) * | 1985-05-09 | 1990-12-25 | International Business Machines Corporation | Speech recognition system with efficient storage and rapid assembly of phonological graphs |
US4759068A (en) * | 1985-05-29 | 1988-07-19 | International Business Machines Corporation | Constructing Markov models of words from multiple utterances |
US4776016A (en) * | 1985-11-21 | 1988-10-04 | Position Orientation Systems, Inc. | Voice control system |
US4839634A (en) * | 1986-12-01 | 1989-06-13 | More Edward S | Electro-optic slate for input/output of hand-entered textual and graphic information |
PH24865A (en) * | 1987-03-24 | 1990-12-26 | Ibm | Mode conversion of computer commands |
US4931950A (en) * | 1988-07-25 | 1990-06-05 | Electric Power Research Institute | Multimedia interface and method for computer system |
US5157384A (en) * | 1989-04-28 | 1992-10-20 | International Business Machines Corporation | Advanced user interface |
DE3928049A1 (de) * | 1989-08-25 | 1991-02-28 | Grundig Emv | Sprachgesteuertes archivsystem |
EP0438662A2 (de) * | 1990-01-23 | 1991-07-31 | International Business Machines Corporation | Einrichtung und Verfahren zur Gruppierung von Äusserungen eines Phonemen in von Kontexten abhängigen Kategorien, die auf Tonähnlichkeit basiert sind für automatische Spracherkennung |
JPH04163618A (ja) * | 1990-10-26 | 1992-06-09 | Oki Electric Ind Co Ltd | 音声操作コンピュータ |
US5182773A (en) * | 1991-03-22 | 1993-01-26 | International Business Machines Corporation | Speaker-independent label coding apparatus |
AU2419092A (en) * | 1991-08-02 | 1993-03-02 | Broderbund Software, Inc. | System for interactve performance and animation of prerecorded audiovisual sequences |
-
1994
- 1994-02-08 CA CA002115210A patent/CA2115210C/en not_active Expired - Fee Related
- 1994-03-21 KR KR1019940005612A patent/KR970006403B1/ko not_active IP Right Cessation
- 1994-03-21 CN CN94103948A patent/CN1086484C/zh not_active Expired - Fee Related
- 1994-03-22 JP JP6050064A patent/JP2856671B2/ja not_active Expired - Fee Related
- 1994-04-06 AT AT94105293T patent/ATE185203T1/de not_active IP Right Cessation
- 1994-04-06 DE DE69420888T patent/DE69420888T2/de not_active Expired - Lifetime
- 1994-04-06 EP EP94105293A patent/EP0621531B1/de not_active Expired - Lifetime
-
1995
- 1995-06-05 US US08/462,735 patent/US5664061A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5664061A (en) | 1997-09-02 |
CA2115210A1 (en) | 1994-10-22 |
EP0621531B1 (de) | 1999-09-29 |
JPH06348452A (ja) | 1994-12-22 |
CA2115210C (en) | 1997-09-23 |
CN1105464A (zh) | 1995-07-19 |
EP0621531A1 (de) | 1994-10-26 |
ATE185203T1 (de) | 1999-10-15 |
CN1086484C (zh) | 2002-06-19 |
JP2856671B2 (ja) | 1999-02-10 |
KR970006403B1 (ko) | 1997-04-28 |
DE69420888D1 (de) | 1999-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69420888T2 (de) | Interaktives Rechnersystem, das gesprochene Befehle erkennt | |
DE69127818T2 (de) | System zur verarbeitung kontinuierlicher sprache | |
DE69315374T2 (de) | Spracherkennungssystem zur naturgetreuen Sprachübersetzung | |
DE69425776T2 (de) | Spracherkennungseinrichtung mit verbesserter Ausschliessung von Wörtern und Tönen welche nicht im Vokabular enthalten sind | |
DE69033084T2 (de) | Schaltung zur Spracherkennung unter Anwendung von nichtlinearer Verarbeitung, Sprachelementmodellierung und Phonembewertung | |
DE69524036T2 (de) | Vorrichtung zur erkennung von gesprächsthemen | |
DE60009583T2 (de) | Sprecheradaptation auf der Basis von Stimm-Eigenvektoren | |
DE69225371T2 (de) | Schlüsselwörtererkennung in einem zusammenhängenden Text mittels zweier "Hidden Markov" Modelle | |
DE3236834C2 (de) | Verfahren und Gerät zur Sprachanalyse | |
DE69814104T2 (de) | Aufteilung von texten und identifizierung von themen | |
DE69421354T2 (de) | Datenkompression für die Spracherkennung | |
DE69225173T2 (de) | Spracherkennungsgerät | |
DE69707876T2 (de) | Verfahren und vorrichtung fuer dynamisch eingestelltes training zur spracherkennung | |
DE69427083T2 (de) | Spracherkennungssystem für mehrere sprachen | |
DE69818231T2 (de) | Verfahren zum diskriminativen training von spracherkennungsmodellen | |
DE69831114T2 (de) | Integration mehrfacher Modelle für die Spracherkennung in verschiedenen Umgebungen | |
DE69029188T2 (de) | Auf Wahrscheinlichkeitclusterbildung gestützte Schriftzeichenerkennung | |
DE69324428T2 (de) | Verfahren zur Sprachformung und Gerät zur Spracherkennung | |
DE2953262C2 (de) | ||
DE60305568T2 (de) | Schlüsselworterkennung in einem Sprachsignal | |
DE69414752T2 (de) | Sprecherunabhängiges Erkennungssystem für isolierte Wörter unter Verwendung eines neuronalen Netzes | |
DE69427717T2 (de) | Sprachdialogsystem | |
DE4310190A1 (de) | Sprecher-Verifizierungssystem unter Verwendung der Abstandsmessung nächster Nachbarn | |
WO1993006591A1 (de) | Verfahren zur erkennung von mustern in zeitvarianten messsignalen | |
DE20004416U1 (de) | Spracherkennungsvorrichtung unter Verwendung mehrerer Merkmalsströme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: NUANCE COMMUNICATIONS,INC., BURLINGTON, MASS., US |
|
8328 | Change in the person/name/address of the agent |
Representative=s name: VOSSIUS & PARTNER, 81675 MUENCHEN |