-
Technisches
Gebiet
-
Die
Erfindung betrifft ein Verfahren und eine Vorrichtung zur automatischen
Spracherkennung und insbesondere ein Verfahren und eine Vorrichtung,
wodurch die Erkennung verbundener Wörter beschleunigt wird.
-
Allgemeiner
Stand der Technik
-
Es
existieren verschiedene Verfahren und Systeme zur automatischen
Spracherkennung und sind wohlbekannt. Es sind Verfahren bekannt,
die dynamische Programmierung und Hidden-Markov-Modelle (HMMs) verwenden,
wie in dem Artikel „Frame-Synchronous
Network Search Algorithm for Connected Word Recognition" von Chin-Hui Lee
und Lawrence R. Rabiner, veröffentlicht
in den IEEE Transactions on Acoustics, Speech, and Signal Processing,
Band 37, Nr. 11, November 1989, gezeigt. Der Artikel von Lee-Rabiner
gibt eine gute Übersicht über den
Stand von Verfahren und Systemen zur automatischen Spracherkennung
verbundener Wörter im
Jahre 1989.
-
Ein
Artikel mit dem Titel „A
Wave Decoder for Continuous Speech Recognition" von E. Buhrke, W. Chou und Q. Zhou
veröffentlicht
in den Proceedings of ICSLP, Oktober 1996, beschreibt eine als Beam-Searching
bekannte Technik zur Verbesserung der Spracherkennungsleistung und
Hardwareanforderungen. Der Artikel von Buhrke-Chou-Zouh erwähnt außerdem einen
Artikel von D. B. Paul mit dem Titel „An Efficient A* Stack Decoder
...", der Best-first-Suchstrategien
und -techniken beschreibt. Aus US-A-4049913 ist ein Spracherkennungssystem bekannt,
das eine vorgewählte
Anzahl von Wörtern erkennt,
und aus US-A-5125024 das Barge-in auf Spracherkennungsbasis.
-
Bei
der in den oben erwähnten
Artikeln erläuterten
Spracherkennung wird nach einer besten Sequenz (d. h. mit der höchsten Wahrscheinlichkeitsbewertung)
von Wörtern
W1–Wn gesucht, die einer Eingangssprachäußerung entspricht.
Der vorherrschende Suchalgorithmus, der für die Spracherkennung verwendet
wird, ist der dynamische Viterbi-Decodierer. Die Implementierung
dieses Decodierers ist effizient. Eine volle Suche aller möglichen
Wörter
zum Finden der besten einer Äußerung entsprechenden Wortsequenz
ist immer noch zu groß und
zeitaufwendig. Um die Größen- und Zeitprobleme
zu behandeln, muß häufig beam-searching implementiert
werden. Bei einer beam-Suche werden die Wortsequenzhypothesen, die
wahrscheinlich sind, d. h. innerhalb einer vorgeschriebenen mathematischen
Distanz von der aktuellen besten Bewertung liegt, beibehalten und
erweitert. Unwahrscheinliche Hypothesen werden aus der Suche gestutzt
oder entfernt. Dieses Stutzen unwahrscheinlicher Wortsequenzhypothesen
hat den Effekt, die erforderliche Größe und Zeit für die Suche
zu verringern und erlaubt die Konstruktion praktischer Implementierungen
von Spracherkennungssystemen.
-
Am
Anfang einer zu erkennenden Äußerung können nur
die Wörter
aktiviert werden, die auf der Basis einer vorbestimmten Grammatik
gültige
Wörter zum
Beginnen einer Sequenz sind. In jedem Zeitrahmen wird über den
aktiven Teil des Wortnetzwerks hinweg eine dynamische Programmierung
unter Verwendung des Viterbi-Algorithmus durchgeführt. Es sollte
erwähnt
werden, daß der
aktive Teil des Wortnetzwerks über
die Zeit hinweg variiert, wenn eine beam-Suchstrategie verwendet
wird. Unwahrscheinliche Wortsequenzen werden weggestutzt und wahrscheinlichere
Wortsequenzen werden erweitert, so wie es in einer vorbestimmten
Grammatik spezifiziert wird. Diese wahrscheinlicheren Wortsequenzen
werden wie in der vorbestimmten Grammatik spezifiziert erweitert und
werden in den aktiven Teil des Wortnetzwerks aufgenommen. In jedem
Zeitrahmen stellt das System eine Verbundliste aller machbaren Wortsequenzen
zu jeweiligen Knoten auf einem Decodierungsbaum zusammen. Dieser
Decodierungsbaum wird zusammen mit seinen Knoten für jeden
Zeitraum aktualisiert. Jeder Knoten, der nicht mehr aktiv ist, wird
entfernt, und neue Knoten werden für neuaktive Wörter hinzugefügt. Der
Decodierungsbaum behält also
machbare Wortsequenzen, die nicht weggestutzt werden, durch Betrieb
des beam-Suchalgorithmus
mittels der Verbundliste. Jeder Knoten des decodierten Baums entspricht
einem Wort und enthält
Informationen, wie zum Beispiel die Wortendzeit, einen Zeiger auf
den vorherigen Wortknoten der Wortsequenz und die kumulative Bewertung
der darin gespeicherten Wortsequenz. Am Ende der Äußerung werden
die Wortknoten mit den besten kumulativen Bewertungen durch ihre
Sequenzen von Zeigereinträgen
in den Decodierungsbaum zurückdurchquert, um
die wahrscheinlichste Wortsequenz zu erhalten. Dieses Zurückdurchqueren
ist in der Spracherkennung gewöhnlich
als Backtracking bekannt.
-
Ein üblicher
Nachteil der bekannten Verfahren und Systeme zur automatischen Spracherkennung
ist die Verwendung von Energiedetektoren zur Bestimmung des Endes
einer gesprochenen Äußerung.
Energiedetektion liefert eine wohlbekannte Technik in der Signalverarbeitung
und verwandten Gebieten zur Bestimmung des Anfangs und des Endes
einer Äußerung.
Ein Spracherkennungsverfahren 200 auf Energiedetektionsbasis
ist in 2 gezeigt. Das Verfahren 200 verwendet
eine (nicht gezeigte) Hintergrundzeitrahmenbildungsanordnung zur
Digitalisierung des Eingangssignals, das zum Beispiel an einem Fernsprechanschluß empfangen wird,
zu Zeitrahmen zur Sprachverarbeitung. Im Schritt 202 werden
Zeitrahmen analysiert, um zu bestimmen, ob irgendein Rahmen Energie
aufweist, die signifikant genug sein könnte, um die Sprachverarbeitung
zu starten. Wenn ein Rahmen nicht genug Energie zur Berücksichtigung
aufweist, wird Schritt 202 mit dem nächsten Rahmen wiederholt, wenn
jedoch genug Energie zur Berücksichtigung
des Inhalts eines Rahmens vorliegt, schreitet das Verfahren 200 zu
den Schritten 204–210 voran,
typische Spracherkennungsschritte sind. Als nächstes werden im Schritt 220 der
bzw. die Rahmen, die den Spracherkennungsprozeß gestartet haben, geprüft, um zu
sehen, ob die empfangene Energie und eine etwaige vom System abgespielte
hörbare
Aufforderung zur selben Zeit aufgetreten sind. Wenn die Antwort
ja ist, ist eine Barge-in-Bedingung aufgetreten und die hörbare Aufforderung
wird im Schritt 222 für
den Rest der Sprachverarbeitung der Äußerung abgebrochen. Entweder
von einer negativen Bestimmung im Schritt 220 oder einer
Aufforderungssperrung im Schritt 222 an bestimmt Schritt 224 als
nächstes,
ob eine Lückenzeit
ohne signifikante Energie aufgetreten ist. Eine solche Lückenzeit
bedeutet das Ende der vorliegenden Äußerung. Wenn sie nicht aufgetreten
ist, bedeutet dies, daß weitere
Sprache zu analysieren ist, und das Verfahren kehrt zum Schritt 204 zurück, andernfalls
wird die Lückenzeit
ohne Energie als ein Ende der aktuellen Äußerung interpretiert und das Backtracking
wird gestartet, um die wahrscheinlichste Wortsequenz zu finden,
die der Äußerung entspricht.
Leider entspricht diese Lückenzeit
einer Zeitverzögerung,
die in der Regel von einer bis zu eineinhalb Sekunden beträgt. Bei
einem individuellen Anrufer ist diese Verzögerung in der Regel kein Problem, aber
für einen
Fernsprechdienstanbieter können
sich eine bis eineinhalb Sekunden an tausenden Anrufen pro Tag,
wie zum Beispiel bei automatisierten Collekt-Placing-Diensten, aufaddieren.
Für 6000
Anrufe entsprechen eineinhalb Sekunden einer Verzögerung von
zweieinhalb Stunden, während
Spracherkennungssysteme verwendet werden. Für stark benutzte Systeme verursachen
diese eine bis eineinhalb Sekunden Verzögerung, daß der Fernsprechdienstanbieter
mehr Spracherkenner anschaffen muß oder mehrere Stunden gebührenfähiger Fernsprechdienste
verliert. Da das Backtracking zum Finden der wahrscheinlichsten
Wortsequenz erst dann beginnt, wenn die Bestimmung des Endes der Äußerung auf
der Basis der Energielückenzeit
durchgeführt
wurde, ist es des weiteren nicht möglich, teilweise Wortsequenzen
für parallele
und/oder Pipeline-Prozesse zu verwenden.
-
Kurze Darstellung
der Erfindung
-
Gemäß der Erfindung
wird ein Verfahren nach Anspruch 1 und eine Vorrichtung nach Anspruch
6 bereitgestellt.
-
Kurze Beschreibung
der Zeichnung
-
1 ist
ein Blockschaltbild eines Systems mit einer Spracherkennungsvorrichtung
gemäß der Erfindung.
-
2 ist
ein Flußdiagramm
eines vorbekannten durch Energiepegel getriggerten Spracherkennungsverfahrens.
-
3 ist
ein Flußdiagramm
eines auf Energie und Erkennung basierenden Spracherkennungsverfahrens.
-
4 ist
ein Flußdiagramm
eines auf Erkennung basierenden Spracherkennungsverfahrens zur Ausgabe
teilweiser Ergebnisse einer Äußerung.
-
Ausführliche
Beschreibung
-
Nunmehr
mit Bezug auf 1 ist ein Blockschaltbild einer
Anordnung 10 zur Verwendung eines Systems 102 gemäß der vorliegenden
Erfindung gezeigt.
-
Das
System 102 enthält
einen Prozessor 104, der im Speicher 106 gespeicherte
Programme befolgt. Es können mehrere
Instanzen des Systems 102 auf einer Leiterplatte implementiert
werden, wodurch mehrere Kanäle
zur Spracherkennung bereitgestellt werden. Der Speicher 106 enthält alle
Arten von Speicher, bzw. ROM, RAM und Massenspeicherung zum Speichern
des Spracherkennungsprogramms und unterstützender Daten. Das System 102 nimmt
kontinuierlich Daten aus dem Fernsprechnetz 80 an, unterteilt
die Daten in Zeitrahmen und verarbeitet dann jeden Zeitrahmen, um
zahlreiche Kenngrößen und
Koeffizienten der empfangenen Eingangssignale bereitzustellen, die
durch Spracherkennungsverfahren analysiert werden sollen, die durch
den Prozessor und seine gespeicherten Programme bereitgestellt werden.
Wie bereits im allgemeinen Stand erwähnt, umfassen diese Sprachverarbeitungstechniken
hidden-Markov-Modelle (HMMs) und beam-Suchtechniken.
-
Wie
im allgemeinen Stand erwähnt,
zeigt 2 ein bekanntes Verfahren 200 zur Spracherkennung.
Das Verfahren 200 kann für die Verwendung auf dem in 1 gezeigten
System 102 implementiert werden.
-
Nunmehr
mit Bezug auf 1 und 3 ist ein
anderes Verfahren gezeigt, das unter Verwendung des Systems 102 implementiert
werden konnte. Das Verfahren 300 ist ein Verfahren gemäß der vorliegenden
Erfindung. Das Verfahren 300 beginnt mit dem Schritt 302,
in dem bestimmt wird, ob Energie, die Sprache sein könnte, durch
das System 102 empfangen worden ist oder nicht. Wenn die
Bestimmung ist, daß keine
Energie, die Sprache sein kann, empfangen wurde, dann wird Schritt 302 für den nächsten Zeitraum
wiederholt. Schritt 302 erfordert also wie der Schritt 202 in 2 einen
Zeitrahmenbildungsprozeß zur
kontinuierlichen Einteilung der aus dem Fernsprechnetz 80 empfangenen
Signale im Rahmen. Häufig
sind diese Rahmen leer oder weisen nur Rauschsignale auf. In solchen
Fällen
ist der Energiepegel niedrig und Schritt 302 berücksichtigt also keinen
leeren oder energiearmen Rahmen als zu erkennende Sprache. Wenn
mehr Rauschen besteht oder jemand Geräusche oder eine bestimmte Art
von Äußerung tätigt, wie
zum Beispiel Husten, Atmen oder Sprechen bestimmt Schritt 302,
daß genug Sprachenergie
vorhanden ist, um Spracherkennungsprozesse zu starten und der Spracherkennungsprozeß beginnt.
Als nächstes
lädt Schritt 304 sequenziell
den letzten Zeitrahmen: Wenn es sich dabei nur um den Anfang handelt,
ist dies der erste Rahmen. Nach dem ersten Rahmen lädt Schritt 304 sequenziell
alle Zeitrahmen, bis die Sprachverarbeitung der vorliegenden Äußerung abgeschlossen
ist. Nach dem Laden in Schritt 304 sind von jedem Rahmen
seine Merkmale extrahiert und gespeichert worden (Schritt 306).
Diese Merkmalextraktion ist typische Merkmalextraktion.
-
Im
Schritt 308 werden die extrahierten Merkmale mit Modellen,
wie zum Beispiel hidden-Markov-Modellen, von Wörtern und Wortsequenzen der vorbestimmten
Grammatik verglichen. Während
die extrahierten Merkmale mit den Wortmodellen verglichen werden,
die aktiv sind, werden im Schritt 308 Wahrscheinlichkeitsbewertungen
zusammengestellt. Schritt 310 nimmt die Aktivknotenmodellbewertungen
und führt
eine dynamische Programmierung durch, um ein Wortnetzwerk möglicher
Wortsequenzen aufzubauen, die die erkannte Äußerung sein könnte. Diese
dynamische Programmierung verwendet bei ihrem Betrieb einen Viterbi-Algorithmus. Nachdem
die dynamische Programmierung für
den vorliegenden Rahmen abgeschlossen ist, wird im Schritt 312 eine
beam-Suche durchgeführt.
Diese beam-Suche stutzt unwahrscheinliche Wortsequenzen weg und
erweitert wahrscheinliche Wortsequenzen und speichert eine aktualisierte
Aktivwortliste. Als nächstes
aktualisiert Schritt 314 einen Decodierungsbaum, der aufgebaut
wird, um am Ende der Äußerung die
der Äußerung entsprechende
wahrscheinlichste Wortsequenz herzustellen. Nach Schritt 314 arbeitet
das Verfahren 300 mit zwei parallelen Wegen. Beide Wege
sind aktiv und beide suchen nach einem Ende der Äußerung gemäß ihren jeweiligen Definitionen
eines Endes einer Äußerung.
-
Schritt 320 bestimmt,
ob ein erstes Wort der vorbestimmten Grammatik in der Äußerung erkannt wurde.
Diese Bestimmung basiert auf Spracherkennung, nicht auf Energie.
Diese Bestimmung erfolgt durch Untersuchen der in dem Decodierungsbaum enthaltenen
machbaren Wortsequenzen durch Durchqueren von Zeigern, die Nicht-Stille-Knoten des
Decodierungsbaums zugeordnet sind. Es wird bestimmt, daß das erste
Wort gesprochen wurde, wenn alle machbaren Wege mindestens ein Nicht-Stille-Wort enthalten, das
sich in der vorbestimmten Grammatik befindet. Wenn ein erstes Wort der
Grammatik gesprochen wurde, wird ein auf Spracherkennung basierendes
Barge-in deklariert
und jede hörbare
Aufforderung wird gesperrt (Schritt 322). Wenn dies nicht
das erste Wort ist oder wenn der nächste Schritt nach dem Erstwortprozeßschritt 322 erfolgt,
schreitet das Verfahren 300 zum Schritt 324 voran.
Es sollte beachtet werden, daß das
auf Erkennung basierende Barge-in der Schritte 320 und 322 im
absoluten Sinne langsamer als Energiedetektionsverfahren ist, obwohl
für Wörter oder
Klänge,
die nicht Teil der vorbestimmten Grammatik sind, auf Spracherkennung
basierende Barge-in zuverlässiger ist.
Diese verbesserte Barge-in-Zuverlässigkeit
bedeutet, daß die
hörbare
Aufforderung, die für
ein Barge-in gestoppt wird, nicht für Husten, Nebengespräche oder
andere Klänge,
die nicht mit der erwarteten Antwort auf die hörbare Aufforderung zusammenhängen, gestoppt
wird. Somit wird ein Sprecher nicht durch eine unabsichtlich durch
einen bestimmten Klang, der von der wahren Barge-in-Sprache verschieden
ist, gestoppte hörbare
Aufforderung verwirrt und verlangsamt.
-
Im
Schritt 324 erfolgt eine jeweilige Zählung der Anzahl von Wörtern in
den wahrscheinlichsten Wortsequenzen. Im Schritt 324 werden
der Decodierungsbauminhalt für
den vorliegenden Rahmen und Zählwerte
der Anzahl von Wörtern
aller machbaren Wortsequenzen untersucht. Diese Untersuchung erfolgt
durch Untersuchen der in dem Decodierungsbaum enthaltenen machbaren
Wortsequenzen und anschließendes
Durchqueren von Zeigern, die mit Nicht-Stille-Knoten des Decodierungsbaums
assoziiert sind. Es wird bestimmt, daß n Wörter gesprochen wurden, wenn
jede der Wortsequenzen in dem Decodierungsbaum genau n Wörter in
ihrer jeweiligen Sequenz aufweist. Wenn jedoch mindestens eine der machbaren
Wortsequenzen eine von n verschiedene Anzahl von Wörtern aufweist,
dann schließt
die Untersuchung nicht mit einem Wortzählwert n für den vorliegenden Rahmen.
Wenn ein Wortzählwert
von n erreicht wird, ein Wortzählwert
n mit einem maximalen Wortzählwert
N. Wenn der Zählwert
n gleich N ist, d. h. der maximalen erwarteten Anzahl von Wörtern in
der Sequenz, dann wird die Sprachverarbeitung der Äußerung als
vollständig
deklariert und es wird ein Backtracking gestartet, um die wahrscheinlichste Wortsequenz
auszugeben. Die Ausgabe der wahrscheinlichsten Wortsequenz von N
Wörtern
beendet die Aufgabe des Erkennens der vorliegenden Äußerung.
Die auf Spracherkennung basierende Äußerungsbeendigung spart ungefähr eine
Sekunde für jede
verarbeitete Wortsequenz ohne Beeinträchtigung der Genauigkeit des
Ergebnisses.
-
Parallel
zu den Schritten 320–324 verläuft der
Schritt 330, der die Lückenzeit
zwischen dem letzten, signifikante Energie enthaltenden Rahmen und
dem vorliegenden leeren Rahmen mißt. Wenn diese Lückenzeit überschritten
wird, bedeutet dies, daß die Äußerung aufgehört hat,
bevor die erwartete Anzahl N von Wörtern erkannt wurde. Wenn die
Lückenzeit
bestimmt wird, bevor das n-te Wort bestimmt wurde, deklariert Schritt 330 die Äußerung als abgeschlossen
und das Backtracking zur Ausgabe der wahrscheinlichsten Wortsequenz
wird gestartet. In der Regel bedeutet in dem Verfahren 300 eine
Lückenzeitbeendigung
einen Fehler, aber die Ausgabe der Erkennungsvorrichtung kann angenommen
oder dem Äußerer mittels
eines (nicht gezeigten) Sprachsynthetisierers zurückgelesen
werden. Beispiele für N
wären Ferngesprächs-Telefonnummern
und die 16 Zahlen auf den meisten Kreditkarten.
-
Nunmehr
mit Bezug auf 4 ist eine weitere Ausführungsform
der Erfindung gezeigt. Das Verfahren 400 ist dem Verfahren 300 sehr ähnlich.
Die Schritte 402–414 des
Verfahrens 400 sind im wesentlichen mit den Schritten 302–314 des
Verfahrens 300 identisch und werden also nicht weiter besprochen.
-
Nach
dem Schritt 414 des Aktualisierens des Dekodierungsbaums
verzweigt sich das Verfahren 400 wie das Verfahren 300 in
zwei parallele Wege. Schritt 421 untersucht den Decodierungsbauminhalt für den vorliegenden
Rahmen und zählt
die Anzahl von Wörtern
aller machbaren Wortsequenzen. Diese Untersuchung wird durchgeführt, in
dem die in dem Decodierungsbaum enthaltenen machbaren Wortsequenzen
untersucht und dann durch Zeiger durchquert werden, die Nicht-Stille-Knoten
des Decodierungsbaums zugeordnet sind. Es wird bestimmt, daß n Wörter gesprochen
wurden, wenn jede der Wortsequenzen in dem Decodierungsbaum genau
n Wörter in
ihrer jeweiligen Sequenz aufweist. Wenn jedoch mindestens eine der
machbaren Wortsequenzen eine von n verschiedene Anzahl von Wörtern aufweist,
dann schließt
die Untersuchung nicht mit einem Wortzählwert n für den vorliegenden Rahmen. Wenn
ein Wortzählwert
von n durch Schritt 421 erreicht wird, wird der Wortzählwert zur
Verwendung durch Schritt 424 ausgegeben und das Verfahren 400 wird
mit dem Schritt 424 fortgeführt. In Schritt 424 wird
der Wortzählwert
n mit 1 und mit einem maximalen Wortzählwert N verglichen. Der Vergleich
mit 1 ist Schritt 320 des Verfahrens 300 insofern
sehr ähnlich, als,
wenn ein erstes Wort gesprochen wurde und das vorliegende Wort das
erste Wort ist, ein auf Spracherkennung basierendes Barge-in deklariert
und jede hörbare
Aufforderung gesperrt wird (Schritt 426). Wenn in Schritt 424 der
Vergleich des Wortzählwerts n
zeigt, daß n
größer als
1 aber kleiner als N ist, dann existiert eine gültige Wortsubsequenz oder -gruppe, andernfalls
würde eine Übereinstimmung
an n nicht existieren und das Ergebnis von Schritt 421 wäre ein unbestimmtes
n und das Verfahren 400 würde zum Schritt 404 zurückkehren.
Der Vorteil dieses Teils des Verfahrens besteht darin, daß für die 10-Wort-Ferngesprächs-Telefonnummer
oder die 16-Wort-Kreditkartennummer, sobald die ersten drei oder
vier Wörter
stabilisiert wurden, diese vor dem Ende der Wortsequenz zur Ausgabe
zur Verfügung
stehen. Diese drei, vier oder sogar sieben Wortgruppen können ausgegeben
werden, bevor die gesamte Äußerung und
die gesamte spracherkannte Wortsequenz abgeschlossen ist. Somit
könnte
auf Vorwahlnummern, Vorwahlnummern und Vermittlungsstellen oder
Kreditkartenfirmen-Zugangsleitungen zugegriffen werden und man könnte auf
den Rest der Wortsequenz warten, wenn sie abgeschlossen ist. Dies
ermöglicht ein
Pipeline-Verfahren für
während
früher
Teile einer Äußerung erkannter
Daten zur unmittelbaren Verwendung und dem Rest der Äußerung,
die Pipeline-Benutzung abzuschließen, wenn er ankommt. Entweder
nach Schritt 426 oder nach Schritt 427 kehrt das
Verfahren 400 zum Schritt 404 zurück, um den
nächsten
Zeitrahmen von Daten zu verarbeiten, bis das Ende der Äußerung erreicht
ist.
-
Wenn
das Ergebnis von Schritt 421 ein Wortzählwert n = N ist, dann wurde
der maximale Zählwert von
Wörtern
von Äußerungen
erreicht und die Spracherkennung kann mit der Verarbeitung aufhören und
das Backtracking beginnen, um die meiste Wortsequenz zu finden,
die der Äußerung entspricht.
Im Fall n = N kann dieses Backtracking sofort beginnen, es ist nicht
notwendig, die eine bis eineinhalb Sekunden zu warten, die von der
Energiedetektionsentscheidung verwendet werden, um zu schließen, daß die Äußerung abgeschlossen
ist. Der Grund dafür, daß das Wortzählen funktioniert,
besteht darin, daß, wenn
die korrekte Anzahl von Wörtern
erkannt wurde, die Verarbeitung dann enden kann und das Backtracking
für die
wahrscheinlichste Antwort beginnen kann.
-
Es
ist zu beachten, daß eine
teilweise Wortsequenz auch mit einer Nachschlagetabelle verwendet
werden kann, um den maximalen Wortzählwert N zu ändern, wenn
dies angebracht ist. Wenn zum Beispiel eine Kreditkartenfirma eine
vom Standard abweichende Anzahl von Wörtern in ihrer Wortsequenz aufweist,
dann bewirkt die Erkennung einer teilweisen Wortsequenz, die eines
der Konten der Kreditkartenfirma anzeigt, daß das Verfahren 400 den
maximalen Wortzählwert
N entsprechend ändert – bevor das
letzte Wort der Äußerung erreicht
wird. Auf ähnliche
Weise kann man Telefonvornummern, Vornummern, die keine Vorwahl
oder Vermittlungsstelle sind, dazu verwenden, von der üblichen
10stelligen Vorwahl und Hausnummer zu einem maximalen Wortzählwert zu
wechseln, der je nach Bedarf größer oder kleiner
ist. Teilweise Wortsequenzen, die offensichtlich keine Vorwahlnummern
oder Vornummern sind, aber Kennzeichnungen für Kreditkartenfirmen sein könnten, können außerdem dazu
verwendet werden, die Funktion von der Telefonnummererkennung auf Kreditkartennummererkennung
umzuschalten. Dieses gegenseitige Umschalten von Kreditkartennummernabnahmefunktion
auf Telefonnummerabnahme kann auch bereitgestellt werden. Bei einem
solchen Umschalten muß in
der Regel der maximale Wortzählwert
N verändert
werden.
-
Das
Verfahren 400 enthält
wie das Verfahren 300 einen parallel zu den Schritten 421–427 laufenden
Zweig für
Entscheidungen auf Energiebasis. Schritt 430 mißt die Lückenzeit
zwischen dem letzten Rahmen mit signifikanter Energie darin und
dem vorliegenden leeren Rahmen. Wenn diese Lückenzeit überschritten wird, dann hat
die Äußerung aufgehört, bevor
die erwartete Anzahl n von Wörtern
erkannt wurde. Wenn die Lückenzeit
bestimmt wird, bevor das n-te Wort bestimmt wird, deklariert Schritt 430 die Äußerung als
abgeschlossen, und das Backtracking zur Ausgabe der wahrscheinlichsten
Wortsequenz wird begonnen. In dem Verfahren 400 zeigt eine
Lückenzeitbeendigung
auf Energiebasis in der Regel einen Fehler an, aber die Ausgabe
der Erkennungsvorrichtung kann je nach Fall zur Verwendung angenommen
oder dem Sprecher mittels eines (nicht gezeigten) Sprachsynthetisierers
abgespielt werden.
-
Am
Ende des Verfahrens 400, das entweder durch Spracherkennung
oder Energiedetektion bestimmt wird, wird an dem Decodierungsbaum
eine Backtracking-Operation
durchgeführt,
um die wahrscheinlichste Wortsequenz zu erhalten, die der Eingangsäußerung entspricht,
und diese Wortsequenz wird durch das Verfahren 400 ausgegeben.
-
Es
versteht sich nun also, daß durch
Verwendung des Wortzählens
ein schnelleres Spracherkennungsverfahren und eine schnellere Spracherkennungsvorrichtung
offengelegt wurden. Dieses schnellere Spracherkennungsverfahren
und diese schnellere Spracherkennungsvorrichtung können teilweise
Wortsequenzen für
das Spracherkennung zugeordnete parallele oder Pipeline-Tasks ausgeben. Ferner
können
dieses Verfahren und diese Vorrichtung einen zuverlässigeren
Barge-in-Betrieb
für Sprachantwortsysteme
bereitstellen.