Beschreibung
Verfahren und Vorrichtung zur Erkennung vorgegebener Schlüsselwörter in gesprochener Sprache
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Erkennung vorgegebener Schlüsselwörter in gesprochener Sprache durch einen Rechner.
Ein Verfahren und eine Vorrichtung zur Spracherkennung sind aus [1] bekannt. Dort finden sich auch eine grundlegende Einführung der an dem Spracherkennungssystem beteiligten Komponenten sowie wichtiger, bei der Spracherkennung üblicher Techniken.
Unter Modellierung wird nachfolgend die Abbildung von Wörtern in einen dem System zur Spracherkennung zugänglichen Wortschatz verstanden. Ein Wortschatz umfaßt Schlüsselwörter und Füllwörter. Ein Schlüsselwort ist mindestens ein Laut, der von dem System zur Erkennung gesprochener Sprache erkannt werden soll und insbesondere mit einer vorgegebenen Aktion verknüpft ist. Insbesondere enthält ein Laut mindestens ein Phonem. Dabei kann ein Schlüsselwort auch mehrere Wörter, mindestens eine Pause oder mindestens ein Geräusch umfassen. Ein Füllwort bezeichnet eine akustische Einheit, die keinem Schlüsselwort entspricht, z.B. ein Wort, ein Geräusch oder eine Pause.
Es sind Systeme für die Erkennung von Schlüsselwörtern bekannt geworden (siehe [2] oder [3] ) , die lediglich die Schlüsselwörter und/oder Phrasen aus Schlüsselwörtern modellieren. Für die Zurückweisung von Wörtern, die keine Schlüsselwörter sind, werden Algorithmen eingesetzt die Schlüsselwörter von den übrigen Wörtern unterscheiden. Ein Nachteil dieser Systeme besteht darin, daß für einen neuen Wortschatz jeweils eine neue Konfiguration des Systems zur Spracherkennung durchgeführt werden muß.
Ein anderer Ansatz zur Erkennung von Schlüsselwörtern ist ein System zur Spracherkennung mit großem Wortschatz. Erkennt solch ein System alle Wörter und Geräusche, so können auch vorgegebene Schlüsselwörter erkannt werden (vergleiche [4] ) . Solch ein System stellt extrem hohe Anforderungen an die Rechenleistung und steht in der Regel auf den für die Spracherkennung vorgesehenen Rechnern nicht zur Verfügung. Ferner ist es praktisch nicht möglich, alle akustischen Ereignisse zu modellieren.
Die Aufgabe der Erfindung besteht darin, ein Verfahren und eine Vorrichtung zur Erkennung von Schlüsselwörtern in gesprochener Sprache anzugeben, bei dem bzw. bei der die oben beschriebenen Nachteile vermieden werden.
Die Aufgabe wird gemäß den Merkmalen der unabhängigen Patentansprüche gelöst.
Zunächst wird ein Verfahren zur Erkennung vorgegebener
Schlüsselwörter in gesprochener Sprache angegeben, bei dem die Schlüsselwörter für die Erkennung modelliert werden. Weiterhin wird eine vorgegebene Menge von Füllwörtern modelliert. Wenn in der gesprochenen Sprache ein Schlüsselwort vorkommt, wird dieses Schlüsselwort erkannt, ansonsten wird kein Schlüsselwort erkannt, wenn in der gesprochenen Sprache eine Übereinstimmung mit einem Füllwort bestimmt wird.
Eine Weiterbildung besteht darin, daß die vorgegebene Menge der Füllwörter klein ist. Dies ist ein entscheidender Vorteil, da die Größe der Menge an Füllwörtern die Rechenleistung des Systems zur Spracherkennung direkt beeinflußt. So kann eine kleine Menge Füllwörter auch von einem Rechner mit verhältnismäßig geringer Rechenleistung bewältigt werden, was sich vorteilhaft in den Kosten für das System zur Spracherkennung niederschlägt.
Weiterhin wird die vorgegebene Menge der Füllwörter aus einer vorgegebenen Anzahl häufigster Wörter einer Sprache ermittelt.
Es ist ein Vorteil der Erfindung, daß insbesondere die Menge der Füllwörter für alle möglichen Kombinationen von Schlüsselwörtern gleich sein kann, demnach also bei Veränderung der Schlüsselwörter keine Änderung in der Menge der Füllwörter vorgenommen werden muß. Anhand der Menge dieser Füllwörter gelingt es, alle Wörter der gesprochenen Sprache, die keine Schlüsselwörter sind, zu absorbieren, also zu verhindern, daß diese 'Nicht-Schlüsselwörter' als Schlüsselwörter erkannt werden. Dazu sind vorzugsweise die Füllwörter kurze, einsilbige Wörter, deren akustische
Repräsentationen mit den Wörtern der gesprochenen Sprache, die keine Schlüsselwörter sind, oder zumindest mit Teilen dieser Wörter, übereinstimmen. Insbesondere kann die Menge der Füllwörter aus der Analyse gesprochener Dialoge gewonnen werden. Hierzu wird eine Häufigkeitsliste der in diesen
Dialogen auftretenden Wörter bestimmt und die ca. 15 bis 50 häufigsten Wörter als Füllwörter ausgesucht. Vorzugsweise werden die Füllwörter mit einer Markierung versehen. Sollte ein Schlüsselwort mit einem Füllwort aus der Menge der Füllwörter übereinstimmen, so wird dieses Füllwort aus der Menge der Füllwörter entfernt. Vorzugsweise werden daraufhin anhand eines Systems zur Erkennung gesprochener Sprache die Schlüsselwörter und die Füllwörter modelliert (siehe hierzu [1], [5]) . Aus der gesprochenen Sprache werden alle markierten Füllwörter herausgefiltert und somit einem Benutzer bzw. einer Zielapplikation nur die Schlüsselwörter angezeigt.
Es ist ein besonderer Vorteil, daß die Ermittlung der Füllwörter auf einer statistischen Analyse natürlicher spontaner Sprache begründet sein kann. Dadurch werden tatsächlich von einem Menschen gesprochene Wörter modelliert und mit den Füllwörtern hervorragende Trefferraten für Nicht-
Schlüsselwörter erzielt. Auch ist es ein besonderer Vorteil, daß die kleine Menge der Füllwörter nur geringe Anforderungen an die Rechenleistung des zu benutzenden Rechners stellt.
Ferner ist eine Kombination der Erfindung mit bekannten Verfahren zur Erkennung von Schlüsselwörtern vorteilhaft. Dies trifft insbesondere für die Modellierung von Geräuschen und Pausen zu (siehe [2]).
Auch ist es eine Weiterbildung der Erfindung, daß ein
Füllwort aus der Menge der Füllwörter gestrichen wird, wenn dieses Füllwort mit einem Teil eines Schlüsselwortes übereinstimmt .
Eine andere Weiterbildung besteht darin, daß die in der gesprochenen Sprache erkannten Schlüsselwörter angezeigt und die erkannten Füllwörter nicht angezeigt werden.
Im Rahmen einer zusätzlichen Weiterbildung wird mindestens ein Geräusch oder mindestens eine Pause modelliert und zu der Menge der Füllwörter hinzugefügt.
Eine mögliche Verwendung des erfindungsgemäßen Verfahrens besteht in der Ansteuerung eines medizinischen Geräts mittels der Schlüsselwörter.
Eine andere Verwendung der Erfindung ist die Beantwortung einer Kundenanfrage, insbesondere in einem Kommunikationsnetz, bspw. dem Telefonnetz, wobei die Kundenanfrage durch ein Schlüsselwort ausgelöst wird. So erfolgt beispielsweise auf einen Anruf eines Kunden, der ein bestimmtes Schlüsselwort angibt, eine Rückantwort des Systems. Dies ermöglicht eine automatisierte und effiziente Interaktion des Kunden mit einem Rechner, wobei zusätzlich ein menschlicher Kundenberater - via Schlüsselwort - adressiert werden kann.
Eine andere Weiterbildung der Erfindung besteht darin, ein Codewort zu bestimmen, das anzeigt, daß vorzugsweise unmittelbar ein Schlüsselwort folgt. Ein Beispiel ist die Steuerung medizinischer Geräte während der Operation mit dem Codewort "Computer":
"Computer OP-Tisch höher" anstatt "OP-Tisch höher".
Das Codewort "Computer" signalisiert dem System zur Erkennung von Schlüsselwörtern, daß möglicherweise anschließend ein Schlüsselwort "OP-Tisch höher" gesprochen wird. Zusätzlich kann als Weiterbildung das Codewort "Computer" als Füllwort modelliert werden, um bei zufälligem Sprechen des Codewortes ohne nachfolgendes Schlüsselwort kein Schlüsselwort zu detektieren.
Auch wird eine Vorrichtung zur Erkennung vorgegebener Schlüsselwörter in gesprochener Sprache angegeben, die eine Prozessoreinheit aufweist, die derart eingerichtet ist, daß die vorgegebenen Schlüsselwörter für die Erkennung modelliert werden. Ferner wird eine vorgegebene Menge von Füllwörtern modelliert. Wenn in der gesprochenen Sprache ein Schlüsselwort vorkommt, so wird dieses Schlüsselwort erkannt, bzw. wird, wenn in der gesprochenen Sprache eine
Übereinstimmung mit einem Füllwort ermittelt wird, kein Schlüsselwort erkannt.
Eine Weiterbildung der erfindungsgemäßen Vorrichtung besteht darin, die vorgegebene Menge der Füllwörter klein zu bestimmen bzw. die vorgegebene Menge der Füllwörter aus einer vorgegebenen Anzahl der häufigsten Wörter einer Sprache zu bestimmen.
Diese Vorrichtung ist insbesondere geeignet zur Durchführung des erfindungsgemäßen Verfahrens oder einer seiner vorstehend erläuterten Weiterbildungen.
Weiterbildungen der Erfindung ergeben sich auch aus den abhängigen Ansprüchen.
Anhand der folgenden Figuren werden Ausführungsbeispiele der Erfindung näher dargestellt.
Es zeigen
Fig.l eine Vorrichtung zur Erkennung vorgegebener Schlüsselwörter in gesprochener Sprache;
Fig.2 ein Blockdiagramm, das ein Verfahren zur Erkennung vorgegebener Schlüsselwörter in gesprochener Sprache darstellt;
Fig.3 ein Blockdiagramm, das eine Möglichkeit zur Ermittlung der Füllwörter darstellt;
Fig.4 eine Liste mit möglichen Füllwörtern und
Fig.5 eine Prozessoreinheit.
In Fig.1 ist allgemein eine Systemarchitektur für eine Spracherkennung (Spracherkennungssystem) dargestellt.
Voraussetzung für die Erkennung natürlich gesprochener
Sprache ist ein geeigneter Formalismus zur Wissensrepräsentation. Ein vollständiges
Spracherkennungssystem umfaßt mehrere Verarbeitungsebenen.
Dies sind insbesondere Akustik-Phonetik, Intonation, Syntax,
Semantik und Pragmatik. In Fig.l werden die
Verarbeitungsebenen bei der Erkennung von Schlüsselwörtern aufgezeigt.
Das natürliche Sprachsignal 101 gelangt in das Spracherkennungssystem. Dort wird in einer Komponente 102 eine Merkmalsextraktion durchgeführt. Nach der Merkmalsextraktion erfolgt anhand einer akustischen Modellierung 103 eine Klassifikation 104 (auch:
Distanzberechnung) der in der Vorverarbeitung 102 gewonnenen Merkmale des Sprachsignals 101. Auf die Klassifikation 104 folgt eine Suche 105 nach vorgegebenen Füllwörtern 106, anwendungsspezifischen Schlüsselwörtern 107 oder vorgegebenen Geräuschmodellen 108 (optional auch Modellierung von Pausen möglich) . Die anhand der Suche 105 getroffenen Zuordnungen 106, 107 und/oder 108 werden gefiltert in einem logischen Block 109 und die Folge gefundener Schlüsselwörter 110 wird ausgegeben.
Es sei darauf hingewiesen, daß die Blockstruktur in Fig.l lediglich eine logische Aufteilung darstellt. Eine Realisierung in Hardware- oder Software-Komponenten ist nicht an die durch Fig.l dargestellte Aufteilung gebunden.
Fig.2 zeigt ein Blockdiagramm, das ein Verfahren zur Erkennung vorgegebener Schlüsselwörter in gesprochener Sprache darstellt. Dazu werden in einem Schritt 201 die Schlüsselwörter modelliert. In einem Schritt 202 werden die Füllwörter modelliert. Daraufhin werden in einem Schritt 203 die Bestandteile der gesprochenen Sprache (Laute) nach Schlüsselwörtern und Füllwörtern getrennt. Die gefundenen Schlüsselwörter werden in einem Schritt 204 angezeigt.
Fig.3 zeigt ein Blockdiagramm, das eine Möglichkeit zur Ermittlung der Füllwörter darstellt. Dazu wird die gesprochene Sprache 301 in Laute (Bestandteile) zerlegt und diese Laute werden der Häufigkeit nach sortiert (siehe Schritt 302) .
In einem Schritt 303 werden die n häufigsten Laute als Füllwörter bestimmt. Ein Laut 304 ist insbesondere ein Wort
305, eine Silbe 306, mehrere Wörter 307, ein Geräusch 308 oder eine Pause 309.
Fig.4 zeigt eine Liste mit möglichen Füllwörtern. Die Füllwörter kommen bei natürlichsprachlichen Dialogen in der modellierten Sprache (z.B. Deutsch) häufig vor und eignen sich hervorragend zur Modellierung von NichtSchlüsselwörtern. Fig.4 zeigt beispielhaft eine Liste mit 1! Füllwörtern:
"ich - wir - das - ja - dann - da - und - den - ist - mir - am - der - also - bis - es - Uhr - noch - bei."
In Fig.5 ist eine Recheneinheit 501 dargestellt. Die Recheneinheit 501 umfaßt einen Prozessor CPU 502, einen
Speicher 503 und eine Input/Output-Schnittstelle 504, die über ein aus der Recheneinheit 501 herausgeführtes Interface 505 auf unterschiedliche Art und Weise genutzt wird: Über eine Grafikschnittstelle wird eine Ausgabe auf einem Monitor 507 sichtbar und/oder auf einem Drucker 508 ausgegeben. Eine Eingabe erfolgt über eine Maus 509 oder eine Tastatur 510. Auch verfügt die Recheneinheit 501 über einen Bus 506, der die Verbindung von Speicher 503, Prozessor 502 und Input/Output-Schnittstelle 504 sicherstellt. Weiterhin ist es möglich, an den Bus 506 zusätzliche Komponenten anzuschließen: zusätzlicher Speicher, Festplatte, etc. Über das Interface 505 oder den Bus 506 ist es möglich, externe Geräte bzw. ein anderes auf einem weiteren Rechner ablaufendes Programm anzusteuern.
Im Rahmen dieses Dokuments wurden folgende Veröffentlichungen zitiert:
[1] A. Hauenstein: "Optimierung von Algorithmen und Entwurf eines Prozessors für die automatische Spracherkennung", Lehrstuhl für Integrierte Schaltungen, Technische
Universität München, Dissertation, 19.07.1993, Kapitel 2, Seiten 13-26.
[2] R. C. Rose: "Keyword detection in conversational speech utterances using hidden Markov model based continuous speech recognition"; Computer, Speech and Language; 9 (1995); Seiten 309-333.
[3] Junkawitsch, Neubauer, Höge, Ruske: "A new keyword spotting algorithm with pre-calculated optimal thresholds", Proc. Intern. Conference on Speech and Language Processing, 1996, Seiten 2067-2070.
[4] M. Weintraub: "LVCSR Log-Likelihood Ratio Scoring for
Keyword-spotting", Proc. Intern. Conference on Acoustics, Speech and Signal Processing, 1995, Seiten 297-300.
[5] A. Hauenstein: "Optimierung von Algorithmen und Entwurf eines Prozessors für die automatische Spracherkennung", Lehrstuhl für Integrierte Schaltungen, Technische Universität München, Dissertation, 19.07.1993, Kapitel 3, Seiten 27-86.