-
Fachgebiet
-
Die
Erfindung betrifft allgemein Datenverarbeitungssysteme und insbesondere
Textnormalisierung unter Verwendung einer kontextfreien Grammatik.
-
Hintergrund der Erfindung
-
Spracherkennungsvorrichtungen
haben in den letzten Jahren an Popularität gewonnen. Eine Spracherkennungsvorrichtung
weist normalerweise Software auf, die auf einem Computersystem ausgeführt wird, um
gesprochene Wörter
oder Phrasen (Wortverbindungen) zu erkennen. Die Spracherkennungsvorrichtung gibt
im allgemeinen Text entsprechend ihrer Interpretation der gesprochenen
Eingabe aus. Wenn beispielsweise ein Sprecher das Wort "Hund" ausspricht, erkennt
die Spracherkennungsvorrichtung das gesprochene Wort und gibt den
Text "Hund" aus.
-
Leider
haben Spracherkennungsvorrichtungen bisher häufig Textausgaben erzeugt,
die unpassend oder den Empfängern
nicht vertraut sind: Wenn beispielsweise ein Sprecher die Phrase "einhundertsiebenundvierzig" ausspricht, dann
gibt die Spracherkennungsvorrichtung "einhundertsiebenundvierzig" und nicht die Ziffernfolge "147" aus. Ähnliche
unglückliche
Textausgaben werden von Spracherkennungsvorrichtungen bei Eingaben
erzeugt, die Daten, Zeiten, Geldbeträge, Telefonnummern, Adressen
und Akronyme bezeichnen. Infolgedessen ist der Empfänger der
Textausgabe gezwungen, den Text manuell zu bearbeiten, um ihn in
eine akzeptablere Form zu bringen. Da Spracherkennungsvorrichtungen
in Dokumentenerzeugungssoftware einbezogen sind, schränkt die
Unfähigkeit
der Spracherkennungsvorrichtungen, eine akzeptable Textausgabe zu erzeugen,
den Nutzen dieser Software erheblich ein.
-
US-A-5
349 526 offenbart ein System und ein Verfahren zur Umsetzung nichtverarbeitbarer
Satzelemente in verarbeitbare Satzelemente, bei dem ein Satz von
Grammatikregeln zum Ersetzen von Satzelementen durch andere Elemente
beschrieben ist. Ein sequentieller Vergleich zwischen jeder Grammatikregel
und den Satzelementen wird dann durchgeführt, um eine Übereinstimmung
zwischen einer Grammatikregel und einem oder mehreren zusammenhängenden
Satzelementen zu finden. Es erfolgt dann ein Einsetzen des passenden
Elements für
die anderen Elemente aus der Grammatikregel. Ein solcher sequentieller
Vergleich und ein solches Einsetzen setzt sich über die ganze Serie von Satzelementen
fort, um den Satz vollständig
in verarbeitbare Elemente umzusetzen.
-
Das
IBM Technical Disclosure Bulletin, Vol. 27, Nr. 10, Oktober 1994
mit dem Titel "Handling
Names and Numerical Expressions in a n-Gram Language Model" offenbart ein Verfahren
zum Verbessern von n-Gram-Modellschätzwerten der Wahrscheinlichkeit,
mit der ein Wort einem Namen oder einem numerischen Ausdruck (nicht
unbedingt unmittelbar) folgt.
-
Zusammenfassung der Erfindung
-
Die
Erfindung, wie sie in den Ansprüchen
ausgeführt
ist, überwindet
die Begrenzung von bekannten Spracherkennungsvorrichtungen, indem
sie eine Einrichtung zur Textnormalisierung bereitstellt. Die Normalisierung
eines Textes erzeugt einen Ausgangstext, der für Empfänger akzeptabler ist. Die Normalisierung
kann auch den Ersatz von Textinhalt durch Nichttextinhalt, z. B.
Audioinhalt, Videoinhalt oder sogar ein Hypertextdokument, umfassen.
-
Gemäß einem
ersten Aspekt der Erfindung wird ein Verfahren in einem Computersystem
praktiziert, das eine Spracherkennungsmaschine zur Erkennung des
Inhalts in einer Eingangssprache hat. Ein Text entsprechend einer
Spracheingabe wird von der Spracherkennungsmaschine kommend durch
das Computersystem empfangen. Eine kontextfreie Grammatik wird angewendet,
um einen Ersatzinhalt für
den empfangenen Text zu identifizieren. Der empfangene Text wird
durch den Ersatzinhalt ersetzt.
-
Gemäß einem
weiteren Aspekt der Erfindung wird eine Datei in einem Computersystem
bereitgestellt, um Regeln einer kontextfreien Grammatik zur Normalisierung
von Text aufzustellen. Der Text wird von einer Spracherkennungsvorrichtung
empfangen, die Sprachabschnitte bei Spracheingabe erkennt. Der Text
entspricht der Spracheingabe. Zumindest ein Abschnitt des Textes
wird normalisiert, um den Abschnitt durch eine normalisierte alphanumerische
Folge ("alphanumerisch", wie es in diesem
Kontext verwendet wird, bedeutet ASCII und Unicode) zu ersetzen.
Die Normalisierung weist den Schritt auf: Anwenden einer Regel aus
der kontextfreien Grammatik, um den Abschnitt des zu normalisierenden
Textes durch die normalisierte alphanumerische Folge zu ersetzen.
-
Gemäß einem
zusätzlichen
Aspekt der Erfindung wird eine Anwendungsprogrammschnittstelle (API), die
einen Textnormalisierer aufweist, in einem Computersystem bereitgestellt.
Der Computer verarbeitet ein Anwendungsprogramm und weist eine Spracherkennungsvorrichtung
zur Erkennung von Sprachabschnitten bei Spracheingabe und zum Ausgeben
von Text entsprechend den erkannten Sprachabschnitten auf. Der Text wird
von der Spracherkennungsvorrichtung in einem Textnormalisierer empfangen.
Der Text wird vom Textnormalisierer normalisiert, indem eine Regel
aus der kontextfreien Grammatik angewendet wird, um einen Inhalt des
Textes zu ändern
und normalisierten Text zu erzeugen. Der normalisierte Text wird
an das Anwendungsprogramm übergeben.
-
Gemäß einem
weiteren Aspekt der Erfindung weist ein Computersystem eine Spracherkennungsvorrichtung
zum Erkennen von Sprachabschnitten bei Spracheingabe und zur Erzeugung
von Textausgabe entsprechend den erkannten Sprachabschnitten auf.
Das Computersystem weist außerdem
eine kontextfreie Grammatik, die Regeln zur Normalisierung von Text
umfaßt,
und einen Textnormalisierer auf, der mindestens eine Regel aus der
kontextfreien Grammatik anwendet, um eine Textausgabe von der Spracherkennungsvorrichtung
zu normalisieren.
-
Kurzbeschreibung der Zeichnungen
-
Eine
bevorzugte Ausführungsform
der Erfindung wird nachstehend mit Bezug auf die folgenden Figuren
beschrieben:
-
1 ist
ein Blockschaltbild, das ein Computersystem darstellt, das zur praktischen
Ausführung
der bevorzugten Ausführungsform
der Erfindung geeignet ist.
-
2 ist
ein Blockschaltbild, das ein verteiltes System darstellt, das zur
praktischen Ausführung
der bevorzugten Ausführungsform
der Erfindung geeignet ist.
-
3A-3E stellen
den Datenfluß zwischen
der Spracherkennungsvorrichtung, dem Textnormalisierer und den Anwendungsprogrammen
für verschiedene
Arten der Normalisierung dar.
-
4 stellt
das logische Format der Textdatei dar, die die kontextfreie Grammatik
umfaßt.
-
5 stellt
die Kategorien weiterer Regeln dar, die in der Textdatei gemäß 4 ausgeführt sind.
-
6 ist
ein Flußdiagramm,
das die Schritte darstellt, die durchgeführt werden, um die Textdatei
zur Textnormalisierung zu verwenden.
-
7 stellt
einen beispielhaften Abschnitt des Baumes für die kontextfreie Grammatik
dar.
-
8 ist
ein Flußdiagramm,
das die Schritte darstellt, die durchgeführt werden, um zu bestimmen, wann
eine Regel aus der kontextfreien Grammatik anzuwenden ist.
-
9 stellt
ein Beispiel der Normalisierung eines Textabschnitts dar.
-
10 ist
ein Flußdiagramm,
das die Schritte darstellt, die durchgeführt werden, damit ein Anwendungsprogramm
normalisierten Text empfängt.
-
11 ist
ein Flußdiagramm,
das die Schritte darstellt, die durchgeführt werden, um eine kontextfreie Grammatik
durch eine andere zu ersetzen.
-
12 ist
ein Flußdiagramm,
das die Schritte darstellt, die durchgeführt werden, um eine kontextfreie Grammatik
zu editieren.
-
Ausführliche
Beschreibung der Erfindung
-
Die
bevorzugte Ausführungsform
der Erfindung stellt einen Mechanismus zur Normalisierung von Text dar,
der von einer Spracherkennungsvorrichtung empfangen wird. Eine kontextfreie
Grammatik wird angewendet, um die Textnormalisierung durchzuführen. Die
kontextfreie Grammatik weist eine Anzahl von Regeln auf, die beschreiben,
wie der Text zu normalisieren ist. Diese Regeln werden auf die Textausgabe
angewendet, die von der Spracherkennungsvorrichtung kommend empfangen
wird, um normalisierten Text zu erzeugen. In der bevorzugten Ausführungsform
der Erfindung wird die Textnormalisierung in einer Anwendungsprogrammschnittstelle
(API) durchgeführt,
die von Anwendungsprogrammen aufgerufen werden kann, um Text entsprechend
einer Spracheingabe zu empfangen.
-
Die
bevorzugte Ausführungsform
der Erfindung kann mehrere Arten von Textnormalisierung durchführen. Beispielsweise
kann Text normalisiert werden, um einen normalisierten Text zu erzeugen.
Ebenso kann Text normalisiert werden, um andere Arten von Medieninhalten
zu erzeugen. Text kann normalisiert werden, um Audioinhalt oder
Videoinhalt zu erzeugen. Text kann sogar normalisiert werden, um
Hypertextdokumente zu erzeugen, durch die der Text ersetzt wird.
-
Die
kontextfreie Grammatik, die in der bevorzugten Ausführungsform
der Erfindung verwendet wird, ist erweiterbar. Die kontextfreie
Grammatik, wie sie nachstehend ausführlich beschrieben wird, ist
in einer Textdatei spezifiziert. Diese Textdatei kann durch eine
Ersatztextdatei, die eine andere kontextfreie Grammatik festlegt,
ersetzt werden. Außerdem
kann die Textdatei editiert werden, um den Inhalt der kontextfreien
Grammatik zu ändern.
Da die kontextfreie Grammatik in einer Textdatei beschrieben ist,
ist die kontextfreie Grammatik durch den Menschen lesbar.
-
1 zeigt
ein Computersystem 10, das zur praktischen Ausführung der
bevorzugten Ausführungsform
der Erfindung geeignet ist. Das Computersystem 10 weist
eine zentrale Verarbeitungseinheit (CPU) 12 auf, die Operationen
des Computersystems überwacht.
Die CPU 12 kann von einer beliebigen Anzahl verschiedener
Typen von Mikroprozessoren realisiert werden.
-
Das
Computersystem kann auch eine Anzahl von peripheren Geräten aufweisen,
einschließlich
einer Tastatur 14, einer Maus 16, eines Mikrophons 18,
einer Videoanzeige 20 und eines Lautsprechers 22.
Das Mikrophon 18 kann verwendet werden, um eine Spracheingabe
von einem Sprecher zu empfangen, und ein Lautsprecher 22 kann
verwendet werden, um Audioinhalt, z. B. Sprache, auszugeben. Das
Computersystem 10 kann auch einen Netzwerkadapter 24 zum
Verbinden des Computersystems mit einem Netzwerk, z. B. einem lokalen
Netzwerk (LAN) oder einem Weitverkehrsnetzwerk (WAN), aufweisen.
Der Fachmann wird anerkennen, daß eine Anzahl verschiedener
Arten von Netzwerkadaptern bei der praktischen Anwendung der Erfindung
verwendet werden kann. Das Computersystem 10 kann auch
ein Modem aufweisen, mit dem das Computersystem mit entfernten Computerressourcen über eine
analoge Telefonleitung kommunizieren kann.
-
Das
Computersystem 10 weist zusätzlich einen Primärspeicher 28 und
einen Sekundärspeicher 30 auf.
Der Primärspeicher
kann als Direktzugriffsspeicher (RAM) oder eine weitere Arten von
internen Speichern realisiert sein, die dem Fachmann bekannt sind.
Der Sekundärspeicher 30 kann
die Form eines Festplattenlaufwerks, eines CD-ROM-Laufwerks oder
eines anderen Typs von sekundären
Speichern haben. Im allgemeinen kann der Sekundärspeicher 30 als Sekundärspeichergerät realisiert
sein, das computerlesbare auswechselbare Speichermedien aufnimmt,
z. B. CD-ROMs.
-
Der
Primärspeicher 28 kann
Software oder einen sonstigen Code enthalten, der eine Spracherkennungsvorrichtung 32 bildet.
Die Spracherkennungsvorrichtung kann die Form einer Spracherkennungsmaschine
haben und kann zusätzliche
Einrichtungen, z. B. ein Wörterbuch
und dgl., aufweisen. Eine geeignete Spracherkennungsmaschine ist
in der ebenfalls anhängigen
Anmeldung mit dem Titel "Method
And System For Speech Recognition Using Continuous Density Hidden
Markov Models",
Anmeldung 08/655 273, beschrieben, die am 1. Mai 1996 angemeldet
wurde. Der Fachmann wird anerkennen, daß Abschnitte der Spracherkennungsvorrichtung 32 auch
im Sekundärspeicher 30 gespeichert
werden können.
Der Primärspeicher 28 enthält eine
Spracherkennungsprogrammschnittstelle (API) 34, die mit
der Spracherken nungsvorrichtung 32 zusammenarbeitet, um
Textausgabe entsprechend der bei Spracheingabe erkannten Sprache
zu erzeugen. Anwendungsprogramme 36 können die Sprach-API 34 aufrufen,
um die Textausgabe entsprechend den erkannten Abschnitten der Spracheingabe
zu empfangen. Diese Anwendungsprogramme 36 können Diktatanwendungen,
Textverarbeitungsprogramme, Tabellenkalkulationsprogramme und dgl.
aufweisen. Die Sprach-API 34 kann einen Textnormalisierer 38 zur
Durchführung
einer Textnormalisierung aufweisen. Der Textnormalisierer 38 ist
die Ressource, die für
die Normalisierung des Textes verantwortlich ist, der von der Spracherkennungsvorrichtung 32 kommend
von der Sprach-API 34 empfangen wird. Die Arten der Normalisierung,
die vom Textnormalisierer 38 durchgeführt werden, werden nachstehend
ausführlich
beschrieben.
-
Der
Fachmann wird anerkennen, daß der
Textnormalisierer 38 nicht Teil der Sprach-API 34 sein
muß, sondern
als getrennte Einheit vorhanden sein kann oder in die Spracherkennungsvorrichtung 32 einbezogen sein
kann. Die Spracherkennungsvorrichtung verwendet eine kontextfreie
Grammatik 40, die in 1 gezeigt ist,
als sei sie in einem Sekundärspeicher 30 gespeichert.
Der Fachmann wird anerkennen, daß die kontextfreie Grammatik 40 auch
in einem Primärspeicher 28 gespeichert
sein kann.
-
Man
wird anerkennen, daß die
Computersystemkonfiguration, die in 1 dargestellt
ist, lediglich darstellenden und keinen einschränkenden Charakter für die Erfindung
hat. Die Erfindung kann mit anderen Computersystemkonfigurationen
praktisch angewendet werden. Diese anderen Konfigurationen können weniger Komponenten
aufweisen als die, die in 1 dargestellt
sind, oder können
zusätzliche
Komponenten aufweisen, die sich von denen unterscheiden, die in 1 dargestellt
sind. Außerdem
muß die
Erfindung nicht auf einem Computer mit einem einzelnen Prozessor
in die Praxis umgesetzt werden, sondern kann in Mehrprozessorumgebungen,
einschließlich
Multiprozessoren und verteilte Systeme, in die Praxis umgesetzt
werden.
-
2 zeigt
einen Fall, wo das Computersystem 10 ein Client-Computer
ist, der Zugang zu einem Netzwerk 44 hat. Die ses Netzwerk 44 kann
ein LAN oder ein WAN sein. Das Netzwerk 44 kann das Internet, ein
Intranet oder ein Extranet sein. Der Client-Computer 10 weist
Netzwerkunterstützung 42 auf.
Diese Netzwerkunterstützung 42 kann
Client-Code für
ein Netzwerkbetriebssystem, ein herkömmliches Betriebssystem oder
sogar einen Webbrowser aufweisen. Durch die Netzwerkunterstützung 42 kann
der Client-Computer 10 mit dem Server 46 im Netzwerk 44 kommunizieren.
Der Server 46 kann Medieninhalt 48 umfassen, z.
B. Audiodaten, Videodaten, Textdaten oder ein Hypertextdokument,
das vom Client-Computer 10 bei der Normalisierung von Text
verwendet werden kann.
-
Wie
bereits oben ausgeführt,
normalisiert der Textnormalisierer 38 den Text, der von
der Spracherkennungsvorrichtung 32 empfangen wird, um einen
normalisierten Inhalt zu erzeugen. 3A stellt
einen Datenfluß zwischen
der Spracherkennungsvorrichtung 32, dem Textnormalisierer 38 und
dem Anwendungsprogramm 36 dar. Im allgemeinen gibt die
Spracherkennungsvorrichtung 32 Text 50 aus, der
erkannten Sprachabschnitten bei Spracheingabe entspricht, die über das
Mikrophon 18 empfangen wird oder in einem Sekundärspeicher 30 gespeichert
ist. Der Text 50 kann jeweils ein Wort an den Textnormalisierer 38 ausgeben.
Dennoch wird der Fachmann anerkennen, daß die Granularität der Textausgabe,
die von der Spracherkennungsvorrichtung 32 erzeugt wird,
variieren und Buchstaben oder gar Phrasen aufweisen kann. Der Textnormalisierer 38 erzeugt
normalisierten Inhalt 52, der an ein Anwendungsprogramm 36 weitergegeben
wird.
-
3B zeigt
einen Fall, wo der Textnormalisierer 38 normalisierten
Text 54 erzeugt, der an das Anwendungsprogramm 36 weitergegeben
wird. Der normalisierte Text 54 umfaßt Ersatztext, der den Text 50 ersetzt,
der von der Erkennungsvorrichtung 32 ausgegeben wurde.
Wie in 3C gezeigt, kann jedoch der
Textnormalisierer 38 als Alternative den Text normalisieren,
um Bilddaten 56, z. B. ein Bitmap, Metafile oder andere Darstellungen
eines Bildes, für
das Anwendungsprogramm 36 zu erzeugen. Der Text 50 kann
eine Kennung der Darstellung des Bildes beschreiben. In diesem Fall
ersetzt der Textnormalisie rer 38 die Kennung durch die tatsächliche
Darstellung des Bildes, das durch die Kennung bezeichnet wird.
-
3D zeigt
einen Fall, wo der Textnormalisierer 38 Text 50 von
der Spracherkennungsvorrichtung 32 empfängt und einen Toninhalt 58 als
normalisierten Inhalt erzeugt. In diesem Fall kann der Text 50 ein
Audioclip oder eine Datei, die Audiodaten enthält, bezeichnen. Diese Kennung
wird durch den zugehörigen
Audioclip anstelle einer Datei ersetzt, wenn sie normalisiert ist.
Als Alternative kann der Text ein Wort oder eine Phrase sein, für die der
Textnormalisierer 38 eine Audiodarstellung hat und wünscht, das
Wort oder die Phrase durch die Audiodarstellung zu ersetzen.
-
3E stellt
einen Fall dar, wo der Textnormalisierer 38 Text 50 von
der Spracherkennungsvorrichtung 32 empfängt und ein Hypertextdokument 60 an
das Anwendungsprogramm 36 ausgibt. Der Text 50 kann
eine Kennung aufweisen, z. B. eine einheitliche Quellenangabe (URL),
die dem Hypertextdokument 60 zugeordnet ist. Wenn der Textnormalisierer 38 den
Text 50 zwecks Normalisierung empfängt, ersetzt er den Text durch
das zugehörige
Hypertextdokument 60.
-
Man
wird anerkennen, daß der
Textnormalisierer verschiedene Arten von Medieninhalt im resultierenden
normalisierten Inhalt 52 kombinieren kann, der an die Anwendungsprogramme übergeben
wird. Man wird auch anerkennen, daß der Textnormalisierer 38 Medieninhalt
oder Ressourcen in einem Netzwerk 44 anwenden kann, um
die Normalisierung zu realisieren. Der Einfachheit und Verständlichkeit
halber werden nachstehend Fälle
beschrieben, wie der in 3B dargestellte,
wo der Text 50 durch den Textnormalisierer 38 normalisiert
ist, um normalisierten Text 54 zu erzeugen.
-
Wie
oben ausgeführt,
ist die kontextfreie Grammatik
40 als Textdatei gespeichert.
Die Textdatei enthält eine
Beschreibung der Regeln der kontextfreien Grammatik.
4 stellt
eine logische Organisation der Textdatei
62 dar. Die Textdatei
62 ist
in drei Hauptteile
64,
66 und
68 geteilt.
Jeder der Teile ist in der Textdatei
62 mit einem Kopf
oder einer Kennzeichnung bezeichnet (z. B. "[Leerezeichen]", "[Großschreibung]", "[Regeln]"). Der erste Teil
ist ein Leerzeichen- Teil
64,
der Regeln der kontextfreien Grammatik in bezug auf Leerzeichen beschreibt.
Diese Regeln sind als Tabelle implementiert. Ein Beispiel einer
Beschreibung von Regeln in der Tabelle ist wie folgt:
-
Die
Tabelle weist eine "Links"-Spalte auf, die
ein Zeichen beschreibt, das links erscheint und eine "Rechts-Spalte", die ein Zeichen
beschreibt, das rechts erscheint, eine "Ersetzungs"-Spalte", die eine vorgeschlagene Ersetzung
für das
rechte Zeichen enthält,
und eine "Schalter"-Spalte, die vorschreibt,
ob die Regel in Kraft ist oder nicht. Die erste Regel in dem oben
dargestellten Beispiel besagt, daß, wenn ein Punkt (d. h. das
linke Zeichen) gefolgt wird von einem Leerzeichen (d. h. das rechte
Zeichen), zwei Leerzeichen für
ein einziges Leerzeichen eingesetzt werden. Die Schalter-Spalte
enthält
einen Wert "1" und zeigt somit
an, daß diese
Regel in Kraft ist. Die zweite Regel (in dem oben dargestellten
Beispiel unter der ersten Regel beschrieben) zeigt an, daß ein Punkt
nur von einem einzigen Leerzeichen gefolgt wird. Die Schalter-Spalte
enthält
jedoch einen Wert "!1", der besagt, daß die Regel
nicht in Kraft ist.
-
Man
beachte, daß die
Anwenderschnittstelle, z. B. ein Eigenschaftsfenster, vorhanden
sein kann, um damit ein Anwender wählen kann, welche der Leerzeichenregeln
in Kraft sind oder nicht. Die Anwenderwahl wird verwendet, um die
Schalterfelder in der Tabelle zu setzen.
-
Der
Großschreibungsteil 66 ist
auch als Tabelle organisiert, wie die, die für den Leerzeichenteil 64 vorgesehen
ist. Dieser Teil 66 enthält Großschreibungsregeln, z. B. der
erste Buchstabe eines Wortes, das einem Punkt folgt, der einen Satz
beendet, wird groß geschrieben.
Diese Regeln können
auch als schaltbar bezeichnet werden, so daß der Anwender die Großschreibungswahlmöglichkeiten
wählen
kann.
-
Der
dritte Teil ist der sonstige Regelteil
68. Der sonstige
Regelteil
68 enthält
eine Angabe über
die Anzahl der verschiedenen Regeln, die nicht die Großschreibung
oder die Leerzeichen betreffen. Dieser Teil ist in einer "Regel"-Überschrift
oder -Kennzeichnung ausgeführt.
Ein Beispiel für
eine solche Regel ist folgendes:
-
Diese
Regel besagt, daß geschriebene
Ziffern ein oder mehrere Wörter
aufweisen können,
die Ziffern enthalten, und die Regel beschreibt die Einsetzung von
Ziffern für
geschriebene Ziffernfolgen (z. B. "1" für "eins").
-
5 stellt
die Kategorien der sonstigen Regeln dar, die entsprechend der bevorzugten
Ausführungsform
der Erfindung implementiert werden können. Die Glossarkategorie
der Regel 70 beschreibt die Ersetzung von Text durch Ersatztext.
Ein Anwender kann solche Ersetzungen als Teil des Glossars eintippen,
um Kurzschreibweisen für
die Hinzufügung
von Text zu einem Dokument zu ermöglichen. Die Zahlenkategorie 72 umfaßt Regeln,
die die Ersetzung der geschriebenen Form von Wörtern (nämlich eine Folge von Wörtern) durch digitale
Darstellung beschreiben, die nur aus Ziffern bestehen. Beispielsweise
wird "einhundertsiebenundvierzig" durch Anwendung
der Regeln in dieser Kategorie 72 von Regeln durch "147" ersetzt.
-
Eine
Datumskategorie 74 umfaßt Regeln, die angeben, wie
gesprochene Versionen von Daten zu normalisieren sind. Beispielsweise
wird der Ausgangstext "erster
April neunzehnhundertsiebenundneunzig" normalisiert zu "1. April 1997".
-
Die
Währungskategorie 76 umfaßt Regeln,
die die Angaben von Geldbeträgen
normalisieren. Beispielsweise kann die Phrase "zehn Cent" durch die Regel in dieser Kategorie 76 normalisiert
werden zu "10 c".
-
Die
Zeitkategorie 78 umfaßt
Regeln, die verwendet werden, um eine Zeitangabe zu normalisieren.
Beispielsweise kann der Text "vier
Uhr nachmittags" durch
die Regeln in dieser Kategorie 78 normalisiert werden zu "4 p.m.".
-
Die
Brüchekategorie 80 normalisiert
Brüche
in eine mathematische Form. Somit kann der Text "ein Viertel" durch die Regel dieser Kategorie 80 normalisiert
werden zu "1/4".
-
Die
Akronymkategorie 82 normalisiert Text, der Akronyme beschreibt.
Beispielsweise kann der Text "CIA" durch die Regel
dieser Kategorie 82 normalisiert werden zu "C.I.A.".
-
Die
Adreßkategorie 84 umfaßt Regeln
zur Normalisierung der Beschreibung von Adressen. Beispielsweise
kann die Folge "einhundertsechsundfünfzigster" durch Regeln in
dieser Kategorie 84 normalisiert werden zu "156.".
-
Die
Telefonnummernkategorie 86 normalisiert die Beschreibung
von Telefonnummern. Wenn ein Anwender eine Telefonnummer spricht,
kann die Spracherkennungsvorrichtung die Telefonnummer lediglich
als eine Folge von Ziffern interpretieren. Beispielsweise kann die
Folge "neun drei
sechs drei null null null" durch die
Regeln in der Kategorie 86 normalisiert werden zu 936-3000".
-
Die
Stadt-, Staat-, Postleitzahlkategorie 88 umfaßt Regeln
zur Beschreibung, wie eine Folge aus Stadt, Staat und Postleitzahl
aussehen sollte. Beispielsweise kann der Text "Seattle Washington neun acht null fünf zwei" durch die Regeln
in dieser Kategorie 88 normalisiert werden zu "Seattle, WA 98052".
-
Die
Maßeinheitenkategorie 90 wendet
Regeln in bezug auf eine Beschreibung von Maßeinheiten an. Beispielsweise
kann der Text "neunzehn
Fuß" durch die Regeln
in dieser Kategorie 90 normalisiert werden zu "19 ft.".
-
Der
Fachmann wird anerkennen, daß die
Textdatei 62 ein anderes Format haben kann, das sich von dem
in 4 unterscheidet. Außerdem kann die Textdatei 62 Regeln
zur Ersetzung von Text durch Toninhalt oder Videoinhalt aufweisen.
Regeln können
auch zum Ersetzen von Text durch Hypertextdokumente vorhanden sein.
Der Fachmann wird anerkennen, daß die kontext freie Grammatik
bei der praktischen Umsetzung der Erfindung nicht als Textdatei
beschrieben werden muß.
-
Der
Fachmann wird ferner anerkennen, daß zusätzliche Kategorien von Regeln,
die sich von denen unterscheiden, die in 5 dargestellt
sind, verwendet werden können.
Ferner werden weniger Kategorien von Regeln oder andere Kategorien
von Regeln angewendet, die sich von denen unterscheiden, die in 5 dargestellt
sind.
-
Um
die kontextfreie Grammatik 40 zu nutzen, muß die Textdatei 62 gelesen
und verarbeitet werden. 6 ist ein Flußdiagramm,
das die Schritte darstellt, die durchgeführt werden, um die kontextfreie
Grammatik beim Normalisieren von Text zu verwenden. Zunächst wird
die Textdatei 62, die die kontextfreie Grammatik enthält, gelesen
(Schritt 92 in 6). Der dort enthaltene Inhalt
wird verwendet, um eine Baumdarstellung für die kontextfreie Grammatik
aufzubauen (Schritt 94 in 6). Diese
Baumdarstellung wird verwendet, um den Eingangstext, der von der
Spracherkennungsvorrichtung 32 kommend empfangen wird,
zu zergliedern. Jeder Zweig des Baumes beschreibt einen Teil einer
Regel zur Normalisierung von Text. Der Text, der von der Spracherkennungsvorrichtung 32 kommend
empfangen wird, wird also vom Textnormalisierer 38 verarbeitet,
um den Text mit den Regeln zu vergleichen, die in dem Baum enthalten
sind, und um die entsprechende Normalisierung durchzuführen. Demzufolge
wird der Text von der Spracherkennungsvorrichtung kommend empfangen
(Schritt 96 in 6) und normalisiert (Schritt 98 in 6).
Der Baum wirkt im großen
und ganzen als Zergliederungsmechanismus zur Entscheidungsfindung,
welche Textteile, die von der Spracherkennungsvorrichtung 32 kommend
empfangen worden sind, normalisiert werden müssen und wie diese Abschnitte
normalisiert werden müssen.
-
7 zeigt
ein Beispiel eines Abschnitts eines Baums, der aufgebaut wird, indem
Regeln aus der Textdatei gelesen werden. Der Baum kann zwecks Optimierung
in binärer
Form gespeichert sein. Der Unterbaum beschreibt Abschnitte der "Ziffern"-Regel, die oben
als Beispiel für
Regeln ausgeführt
wurde, die in der Textdatei 62 vorhanden sind. Der Baum
weist einen Startregelknoten 100 auf, der von einem Ziffernregelmodul 102 gefolgt
wird. Die Knoten 104 und 106 besagen, daß, wenn
der empfangene Text "null" ist, der Text zu
normalisieren und durch "0" zu ersetzen ist.
Ebenso beschreiben die Knoten 108, 110, 112 und 114 jeweils
die Ersetzung von "eins" durch "1" und von "neun" durch "9".
-
Ein
Beispiel ist geeignet zur Illustration, wie der Unterbaum, der in 7 dargestellt
ist, verwendet werden kann. Es wird angenommen, daß der Textnormalisierer 38 die
Folge "null" empfängt, der
Textnormalisierer mit der Startregel 100 beginnt und dann
bestimmt, daß die
Folge "null" eine Ziffer beschreibt.
Er folgt dann dem Weg bis zum Knoten 104 und bestimmt,
daß es
eine Übereinstimmung
gibt. Dieser Textnormalisierer verwendet dann die Ersatz- oder normalisierte
Folge "0", die im Knoten 106 beschrieben
ist, um die empfangene Folge zu normalisieren.
-
Die
Regeln werden nicht unbedingt Wort für Wort angewendet. Statt dessen
will das System die Regel anwenden, die die Folge mit der größten Länge im Text
normalisiert, der von der Spracherkennungsvorrichtung kommend empfangen
wird. 8 ist ein Flußdiagramm,
das die Schritte darstellt, die beim Anwenden der Regel durchgeführt werden.
Im allgemeinen wird eine Regel angewendet, wenn mindestens eine
vollständige
Regel erkannt worden ist und kein weiterer Abschnitt einer Regel
angewendet werden kann. Im Schritt 116 von 8 bestimmt
der Textnormalisierer also, ob eine Normalisierung mit einem gegebenen
Abschnitt eines Textes durchgeführt
worden ist. Wenn die Textnormalisierung erfolgt ist (siehe Schritt 116 in 8),
wendet der Textnormalisierer die Regel an, die die Folge mit der
größten Länge in dem
nichtnormalisierten Text normalisiert (Schritt 120 in 8).
Man beachte, daß es
Fälle geben
kann, wo mehrere Regeln gelten und ein Kriterium zur Bestimmung,
welche Regel tatsächlich
verwendet werden soll, vorhanden sein muß. Die bevorzugte Ausführungsform
der Erfindung verwendet die Regel, die den größten Abschnitt der nicht-normalisierten
Folge normalisiert. Wenn jedoch bestimmt wird, daß es eine
weitere Anwendung der Regeln gibt, die zu erfolgen hat (siehe Schritt 116 in 8),
dann werden die zusätzlichen
Abschnitte der Regeln angewendet (Schritt 118 in 8).
-
Ein
Beispiel ist geeignet bei der Darstellung, wann Regeln angewendet
werden und wie die Normalisierung durchgeführt wird. 9 stellt
ein Beispiel einer Textfolge dar: "fünf
Hühnchen
zu zwanzig Cent jeweils".
Diese Wörter
sind in einem Textpuffer 122, der vom Textnormalisierer 38 verwendet
wird, gespeichert. Das erste Wort "fünf" wird vom Textnormalisierer
verarbeitet, um zu bestimmen, ob es Übereinstimmungsregeln gibt
oder nicht. Es gibt eine Übereinstimmung
in der Ziffernregel 126 für dieses Wort. Vor Anwendung
der Regel schaut sich der Textnormalisierer 38 das nächste Wort "Hühnchen" an, da es keine Regel gibt, die für die Phrase "fünf Hühnchen" zutrifft, weiß der Textnormalisierer 38,
daß dies
erledigt ist (siehe Schritt 116 in 8) und wendet
die Ziffernregel an, um "fünf" durch "5" zu ersetzen. Der Wert "5" wird in einem verarbeiteten Puffer 124 gespeichert,
der die normalisierte Textausgabe enthält.
-
Das
System hat keine Regel für "Hühnchen" und gibt das Wort daher nicht weiter
an den verarbeiteten Puffer 124. Ebenso hat der Textnormalisierer 38 keine
Regel für
das Wort "zu" und würde das
Wort "zu" an den verarbeiteten
Puffer 124 übergeben.
Wenn der Textnormalisierer 38 jedoch auf "zwanzig" trifft, hat er eine
Regel, die gilt (eine Nummernregel 128). Bevor die Regel
tatsächlich
angewendet wird, schaut sich der Textnormalisierer 38 das
nächste
Wort "Cent" an und bestimmt,
daß es
keine Regel gibt, die die Phrase "zwanzig Cent" normalisiert. Infolgedessen wird die
Nummernregel 128 angewendet, um "zwanzig" durch "20" zu
ersetzen. Folglich wird die Währungsregel 130 angewendet,
um Cent durch "c" zu ersetzen. Schließlich wird
das Wort "jeweils" nicht normalisiert
und in Buchstabenform an den verarbeiteten Puffer 124 weitergegeben.
-
Wie
oben ausgeführt,
wird der Textnormalisierer 38 in der Sprach-API 34 verwendet. 10 ist
ein Flußdiagramm,
das die Schritte darstellt, wie der Textnormalisierer in diesem
Kontext verwendet wird. Anfänglich
ruft ein Anwendungsprogramm 36 die Sprach-API 34 auf,
um eine Textinterpretation der Eingangssprache zu empfangen (Schritt 132 in 10).
Eine Spracherkennungsvorrichtung verarbeitet die Spracheingabe,
um eine Textausgabe zu erzeugen (Schritt 134 in 10).
Der Textnormalisierer 38 normalisiert dann den Text, wie
er oben beschrieben worden ist (Schritt 138 in 10).
Die Sprach-API 134 gibt
den normalisierten Inhalt an das anfragende Anwendungsprogramm 36 weiter
(Schritt 138 in 10).
-
Die
bevorzugte Ausführungsform
der Erfindung hat den Vorteil, flexibel und erweiterbar zu sein.
Die kontextfreie Grammatik ist insofern erweiterbar, als ihr Inhalt
ausgetauscht, ergänzt
oder eine völlig
neue kontextfreie Grammatik beschrieben werden kann. 11 ist
ein Flußdiagramm,
das die Schritte darstellt, die durchgeführt werden, um die kontextfreie
Grammatik durch eine neue kontextfreie Grammatik zu ersetzen. Die vorhandene
kontextfreie Grammatik kann ersetzt werden, indem eine neue Textdatei
bereitgestellt wird. Eine neue Textdatei umfaßt eine Beschreibung der neuen
kontextfreien Grammatik. Das Computersystem 10 liest dann
die neue Textdatei als die kontextfreie Grammatik (Schritt 140 in 11).
Die Information in der Textdatei wird verwendet, um einen neuen
Baum für
die neue kontextfreie Grammatik zu bauen (Schritt 142 in 11). Der
neue Baum wird dann verwendet, um den Text zu normalisieren (Schritt 144 in 11).
-
Die
gesamte Textdatei muß nicht
jedesmal, wenn der Anwender die kontextfreie Grammatik zu ändern wünscht, ersetzt
werden. Statt dessen kann die Textdatei lediglich editiert werden. 12 ist
ein Flußdiagramm,
das die Schritte darstellt, die durchgeführt werden, um die kontextfreie
Grammatik auf diese Weise zu ändern.
Zunächst
prüft die
kontextfreie Grammatik die editierte Datei (Schritt 146 in 12).
Der Baum wird entsprechend korrigiert, indem der Inhalt aus der
editierten Textdatei gelesen wird, der Baum auf eine passende Weise
geändert
wird (Schritt 148 in 12). Der
korrigierte Baum kann dann verwendet werden, um Text zu normalisieren
(Schritt 150 in 12).
-
Obwohl
die vorliegende Erfindung mit Bezug auf ihre bevorzugte Ausführungsform
beschrieben worden ist, wird der Fachmann anerkennen, daß verschiedene Änderungen
in Form und Detail möglich
sind, ohne vom beabsichtigten Schutzbereich der Erfindung abzuweichen,
wie er in den beigefügten
Ansprüchen
definiert ist. Beispielsweise kann die Textnormalisierung all gemein
angewendet werden, um Textinhalt durch eine beliebige Anzahl von
verschiedenen Arten von Medien zu ersetzen. Außerdem muß der Textnormalisierer nicht Teil
einer Sprach-API oder von System-Ressourcen sein.