DE69814442T2 - Strukturerkennung - Google Patents

Strukturerkennung Download PDF

Info

Publication number
DE69814442T2
DE69814442T2 DE69814442T DE69814442T DE69814442T2 DE 69814442 T2 DE69814442 T2 DE 69814442T2 DE 69814442 T DE69814442 T DE 69814442T DE 69814442 T DE69814442 T DE 69814442T DE 69814442 T2 DE69814442 T2 DE 69814442T2
Authority
DE
Germany
Prior art keywords
models
model
states
sub
criterion
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
Application number
DE69814442T
Other languages
English (en)
Other versions
DE69814442D1 (de
Inventor
Alexander Simon HOVELL
Mark Norwich WRIGHT
Patrick Simon Ipswich RINGLAND
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Application granted granted Critical
Publication of DE69814442D1 publication Critical patent/DE69814442D1/de
Publication of DE69814442T2 publication Critical patent/DE69814442T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/085Methods for reducing search complexity, pruning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)

Description

  • Die vorliegende Erfindung betrifft die Erkennung von Mustern.
  • Eine der klassischen Aufgaben der Mustererkennung ist Spracherkennung. Spracherkennung wird durch die Tatsache verkompliziert, dass keine zwei Personen ein Wort auf die gleiche Weise sagen, und sogar dieselbe Person die Art und Weise variieren kann, auf die sie dasselbe Wort ausspricht. Um diese Aufgabe zu lösen, sind Modelle entwickelt worden, die diese Veränderlichkeit berücksichtigen.
  • Eine Form von Modellen stellt ein Wort, Phonem oder ein anderes Sprachelement als endlichen Automaten dar. Zum Zwecke der Erkennung wird Sprache durch eine Vektorfolge dargestellt. Jeder Vektor umfasst eine Vielzahl von Parametern des akustischen Signals während einer bestimmten Periode. Diese Parameter enthalten typischerweise Energiepegel verschiedener Frequenzbänder und zeitlich abgeleitete Energiepegel in den Frequenzbändern.
  • Um das Modell zu bilden, werden Vektorfolgen analysiert, die darstellen, wie viele Leute dasselbe Wort, Phonem usw. sagen, und, im Falle von versteckten Markov-Modellen, einen Satz von Wahrscheinlichkeitsdichtefunktionen erzeugt. Die Wahrscheinlichkeitsdichtefunktionen zeigen die Wahrscheinlichkeit davon an, dass ein eingegebener Vektor einem bekannten Zustand entspricht. Jeder Zustand wird mit dem folgenden Zustand, wenn es einen gibt, und rekursiv mit sich selbst verbunden. Mit diesen Verbindungen sind Kosten oder Wahrscheinlichkeiten verbunden, die die Wahrscheinlichkeit eines bestimmten Überganges zwischen Zuständen oder bestimmter nicht vorkommender Übergänge darstellen, die in einer Vektorfolge für die Sprechweise einer Person auftreten, die das modellierte Wort sagt.
  • Der endliche Automat kann als Netz dargestellt werden, von dem jeder Knoten eine einzigartige Kombination von Zustand und Zeit darstellt. Während der Erkennung werden der Ähnlichkeit zwischen einem eingegebenen Vektor und den Knoten des Netzes in Abhängigkeit des verwendeten Verfahrens Kosten oder Wahrscheinlichkeiten zugewiesen. Den Übergängen zwischen Knoten werden während der Erzeugung des Modells Kosten oder Wahrscheinlichkeiten zugewiesen. Die Anwendung einer eingegebenen Vektorfolge auf ein Modell kann als Erzeugung eines Satzes von Tokens angesehen werden, die durch das Netz laufen, wobei das beste Token als Überlebendes an jedem Knoten ankommt. Schließlich verlassen die Tokens das Netz, und dann können ihre Werte mit denen von anderen, die das gleiche Netz verlassen, und mit denen, die Netze von anderen Modellen verlassen, verglichen werden, um das eingegebene gesprochene Wort zu identifizieren.
  • Eine detailliertere Beschreibung des Durchlaufs von Tokens findet sich in S. J. Young et al., „Token Passing: a Simple Conceptual Model for Connected Speech Recognition Systems", Cambridge University Engineering Department, Technical Report CUED/F-INFENG/TR38, 31 July 1989.
  • Es wird zur Kenntnis genommen, dass kontinuierliches Sprechen erkannt werden kann, indem Tokens, die aus einem ersten Satz von Modellen ausgegeben werden, und eingegebene Sprachvektoren auf einen zweiten Satz von Modellen angewendet werden. Ein Problem entsteht jedoch dadurch, dass der zweite Satz von Modellen von jedem Token, das den ersten Satz von Modellen verlässt, durchlaufen werden muss.
  • Betrachtet man z. B. Ein System zur Erkennung einer siebenstelligen Telefonnummer, dann muss der Satz der Modelle für „eins", „zwei", „drei" usw. enthalten und (im englischen) drei Varianten für 0, z. B. „zero", „nought" und „oh". Folglich enthält jeder Satz zwölf Modelle und die Anzahl der durchlaufenen Modelle würde sich auf 39.071.244 belaufen. Mit derartig vielen Modelle zu arbeiten, ist eindeutig eine enorme Aufgabe.
  • Unsere frühere Anmeldung WO96/27872 veröffentlicht ein Spracherkennungssystem, das einen Ansatz für den Durchlauf von Tokens verwendet, bei dem das gesamte Netzwerk aus Modellen (Netzwerkknoten) durchlaufen wird, bevor der Erkennungsprozess begonnen wird. Der Erkenner setzt „ Herausstreichen" von Modellen während des Erkennungsprozesses ein, jedoch nicht, bevor das gesamte Netzwerk durchlaufen wurde. Dies hat den oben erwähnten Nachteil, dass in einem Netzwerk, das eine große Anzahl von Wörtern oder Folgen von Wörtern erkennen muss, die Anzahl der Knoten, die durchlaufen werden müssen, groß ist, und daher sehr viel Speicher verfügbar sein muss, damit ein solcher Durchlauf möglich ist.
  • Die Modelle brauchen keine ganzen Wörter darzustellen und können Phoneme oder andere Unterworteinheiten repräsentieren. In diesem Fall, ist die Unterscheidung zwischen Wörtern, die mit den gleichen Lauten beginnen, analog zur Unterscheidung zwischen Folgen von Wörtern, die alle mit dem gleichen Wort beginnen.
  • Ein Ziel der vorliegenden Erfindung ist es, das oben erwähnte Problem zu verringern, sowohl wenn ein Ansatz mit Durchlauf von Tokens gewählt wird, als auch allgemeiner.
  • Nach der vorliegenden Erfindung wird ein Verfahren zur Erkennung von Mustern mit einer Folge von Untermustern vorgeschlagen, wobei das Verfahren folgendes umfasst:
    Erzeugung einer Datenfolge, die eine physische Einheit darstellt,
    Anwendung (S2) der Datenfolge auf einen Satz aktiver Modelle in einem Netzwerk von Modellen, der wenigstens ein Modell enthält und
    Auswahl (S51) einer Untermenge der Ausgaben der Mitglieder des Satzes nach einem vorgegebenen Kriterium,
    Hinzufügen (S52) weiterer Modelle zu dem Satz in Abhängigkeit der Elemente der Untermenge, wobei jedes Modell ein Untermuster darstellt und bei der Verwendung eine Anzeige des Grades der Übereinstimmung zwischen einer eingegebenen Unterfolge von Daten und dem dargestellten Untermuster ausgibt und wobei die weiteren Modelle die zugehörigen Elemente der Untermenge als Eingabe empfangen.
  • Nach der vorliegenden Erfindung wird ebenso eine Vorrichtung zur Mustererkennung zur Erkennung eines Musters mit einer Folge von Untermustern vorgeschlagen, wobei die Vorrichtung folgendes umfasst:
    eine Einrichtung (9) zur Erzeugung einer Datenfolge, die eine physische Einheit darstellt,
    eine Einrichtung (10) zur Anwendung der Datenfolge auf einen Satz aktiver Modelle in einem Netzwerk von Modellen, der wenigstens ein Modell enthält und
    eine Einrichtung (10) zur Auswahl einer Untermenge der Ausgaben der Mitglieder des Satzes nach einem festgelegten Kriterium, eine Einrichtung (10) zum Hinzufügen weiterer Modelle zum Satz in Abhängigkeit der Mitglieder des Satzes,
    wobei jedes Modell ein Untermuster darstellt und bei der Verwendung eine Anzeige des Grades der Übereinstimmung zwischen einer eingegebenen Unterfolge von Daten und dem dargestellten Untermuster ausgibt und die weiteren Modelle die zugehörigen Elemente der Untergruppe als Eingabe empfangen.
  • Folglich führt die vorliegende Erfindung praxisnah automatische Mustererkennung mit weniger hoch entwickelter Hardware durch, als nach dem Stand der Technik erforderlich ist, und steigert die Fähigkeiten der Hardware nach dem Stand der Technik.
  • Bevorzugt werden neue Modelle als Instanzen nur hinzugenommen, wenn der Satz die erforderlichen Modelle nicht schon enthält.
  • Bevorzugt wird im Fall einer Ausführung mit Durchlauf von Tokens das Herausstreichen von Ausgaben der Modelle zusätzlich zum Wettbewerb zwischen Tokens am Ausgang durchgeführt, wie in S. J. Young et al. „Token Passing: a Simple Conceptual Model for Connected Speech Recognition Systems" beschrieben ist.
  • Die Art der Modelle selbst ist nicht von kritischer Bedeutung. Sie können zum Beispiel neuronale Netze sein. Wenn jedoch endliche Automaten benutzt werden, wird das Herausstreichen bevorzugt zwischen der Anwendung aufeinanderfolgender Datenelemente der Folge auf das Netzwerk ausgeführt. In diesem Fall ist der Satz von Modellen bevorzugt dynamisch und des Herausstreichen entfernt Modelle, wenn alle ihrer Zustände deaktiviert worden sind.
  • Bevorzugt ist das Kriterium, das auf die Ausgaben der Modelle angewendet wird, strikter als das Kriterium, das auf Zustände innerhalb eines Modells angewendet wird.
  • Bevorzugt umfasst die Anwendung des Kriteriums, das auf die Ausgaben der Modelle angewendet wird, die Erzeugung eines Histogramms der ausgegebenen Zustände auf Basis ihrer Werte und die Auswahl der Zustände in den Fächern des Histogramms, die die Zustände mit den m besten Werten enthalten, wobei m eine ganze Zahl ist. Bevorzugt umfasst die Anwendung des Kriteriums, das auf alle Modellzustände angewendet wird, ebenso die Erzeugung eines Histogramms von Zuständen auf der Basis ihrer Werte und die Auswahl der Zustände in den Fächern des Histogramms zu deren Deaktivierung, die die Zustände mit den n besten Werten enthalten, wobei n eine ganze Zahl ist. Auf diese Weise kann das Wachstum der Anzahl der durchlaufenen Modelle vorhergesagt werden und es wird verhindert, dass die für die Verarbeitung benötigte Zeit übermäßig lang wird.
  • Die vorliegende Erfindung kann insbesondere für die Spracherkennung angewendet werden. In einer Vorrichtung zur Spracherkennung nach der vorliegenden Erfindung umfasst die Einrichtung zur Datenerzeugung bevorzugt eine Einrichtung zur Gewinnung von Merkmalen, die charakteristische Merkmale aus einem Audiosignal extrahiert.
  • Vorteilhafterweise gibt es im allgemeinen weniger Modelle für die Vokalaussprache als für ganze Wörter. Auf diese Weise kann die An zahl der erforderlichen verschiedenen Modelle reduziert werden, wenn ein großes Vokabular erkannt werden soll.
  • Eine Vorrichtung zur Spracherkennung nach der vorliegenden Erfindung kann verwendet werden, um eine Vorrichtung mit Ansprechbarkeit durch Sprache auszustatten. Vorzugsweise enthält eine solche Vorrichtung einen Spracherzeuger und eine Verarbeitungseinrichtung, wobei die Verarbeitungseinrichtung auf die Ausgabe der Vorrichtung zur Spracherkennung reagiert, um Nachrichtendaten auszuwählen und den Spracherzeuger gemäß den ausgewählten Nachrichtendaten zu treiben, um eine hörbare Nachricht zu erzeugen. Mit einer Vorrichtung dieser Art kann die Vorrichtung in einen Dialog mit einem Benutzer eintreten. Ein Beispiel einer solchen Anwendung wäre die Steuerung einer Telefonschaltzentrale. Mit dieser Einrichtung könnte ein Benutzer eine Telefonnummer verbal wählen.
  • Nach der vorliegenden Erfindung wird ferner ein Verfahren zum Betrieb eines Rechners vorgeschlagen, um ein Muster mit einer Folge von Untermustern zu erkennen, wobei das Verfahren folgendes umfasst:
    Erzeugung einer Datenfolge, die eine physische Einheit darstellt,
    Anwendung (S2) der Datenfolge auf einen Satz aktiver Modelle in einem Netzwerk von Modellen, der wenigstens ein Modell enthält und
    Auswahl (S51) einer Untermenge der Ausgaben der Mitglieder des Satzes nach einem vorgegebenen Kriterium,
    Hinzufügen (S52) weiterer Modelle zu dem Satz in Abhängigkeit der Elemente der Untermenge, um dadurch die Zeit zu reduzieren, die zur Erkennung des Musters erforderlich ist, wobei jedes Modell ein Untermuster darstellt und bei der Verwendung eine Anzeige des Grades der Übereinstimmung zwischen einer eingegebenen Unterfolge von Daten und dem dargestellten Untermuster ausgibt und wobei die weiteren Modelle die zugehörigen Elemente der Untermenge als Eingabe empfangen. Solch ein Verfahren hat eindeutig den technischen Effekt, dass die Erkennung schneller ausgeführt wird, als es sonst der Fall wäre. Die Alternative wäre, die Taktfrequenz des Rechners zu erhöhen. Dies würde jedoch nur eine begrenzte Verringerung der Zeit für die Verarbeitung bei der Erkennung bringen und der Grad, um den die Taktfrequenz erhöht werden kann, variiert von Rechner zu Rechner. Die Erhöhung der Taktfrequenz hat auch den Nachteil, potenziell die nutzbare Lebensdauer des Rechners zu verringern, weil der Rechner dazu tendiert, zu überhitzten.
  • Nun werden Ausführungen der vorliegenden Erfindung beispielhaft mit Bezug auf die Zeichnungen im Anhang beschrieben, in denen:
  • 1 ein Netzwerk zur Unterscheidung der englischen Wörter „cat", „card" und can't" zeigt;
  • 2 ein verstecktes Markov-Modell mit drei Zuständen darstellt;
  • 3 das Modell der 2 im Zustands/Zeit-Raum zeigt;
  • 4 die Beziehung zwischen einer ersten Modellinstanz und den davon abhängigen Modellinstanzen zeigt;
  • die 5 bis 8 Flussdiagramme sind, die ein Verfahren nach der vorliegenden Erfindung darstellen;
  • 9 ein Blockdiagramm einer Vorrichtung ist, in der die vorliegende Erfindung verwendet wird;
  • 10 ein Netzwerk zur Erkennung der englischen Worte für die Ziffern 0 bis 9 zeigt; und
  • 11 ein Flussdiagramm ist, das ein anderes Verfahren nach der vorliegenden Erfindung darstellt.
  • In der folgenden Beschreibung wird das internationale phonetische Alphabet verwendet, sodass die Mehrdeutigkeiten englischer Rechtschreibung vermieden werden können. Die Buchstaben des internationalen phonetischen Alphabetes werden zur Klarheit kursiv geschrieben. Die Aussprache ist die normale Sprechweise von gebildetem Britischem Englisch.
  • In 1 beginnt jedes der Worte „cat", card" und „can't" mit k. Nach dem k kann man sehen, dass das Netzwerk sich verzweigt, weil „cat" den Vokal ae enthält, wogegen „card" und „can't" den vokalen Laut a: enthalten. Das Netzwerk verzweigt sich nach a: noch einmal, um die verschiedenen abschließenden Konsonanten von „card" und „can't" wiederzugeben, d. h. d und n + t.
  • Jeder der Laute k, ae, a:, d, n und t werden mit versteckten Markov-Modellen mit drei Zuständen in der in 2 gezeigten Form modelliert. Die versteckten Markov-Modelle können auch als Netze angesehen werden, von denen jeder Knoten eine verschiedene Zustands/Zeit-Kombination darstellt, wie in 3 gezeigt ist. Jedem der Übergänge zwischen Zustands/Zeit-Knoten des Netzes wird während des Trainings des Netzwerks eine Wahrscheinlichkeit zugeordnet. Dieser Trainingsprozess ist nach dem Stand der Technik gut bekannt.
  • Jedes der Modelle ist als ein Exemplar eines geeigneten Softwaremodellobjekts implementiert. Bevorzugt sind die Modelle für verschiedene Laute polymorphe Abkömmlinge derselben Basisklasse.
  • Jeder der Zustände wird ebenso als ein Exemplar eines Softwaremodellobjekts implementiert. Die Eigenschaften der Zustände umfassen die Parameter der Wahrscheinlichkeitsdichtefunktionen, die für die Auswertung der Übereinstimmung eines eingegebenen Vektors mit dem Zustandsvektor zu verschiedenen Zeiten verwendet wird, sowie die Identität von Zuständen, von denen aus Übergänge auftreten können, die Parameter der Wahrscheinlichkeitsdichtefunktionen, die mit jedem dieser Übergänge und dem Fall eines Nicht-Überganges assoziiert sind, und neue und alte Tokeneigenschaften. Die Bedeutung der neuen und alten Tokeneigenschaften wird durch die folgende Beschreibung klar.
  • In einem Modellobjekt werden die Zustandsobjekte in einem eindimensionalen Feld gespeichert.
  • Wenn das Modell durchlaufen wird, werden die neuen und alten Tokeneigenschaften aller Zustände auf –∞ gesetzt. In der Praxis wird den neuen und alten Tokeneigenschaften von jedem Knoten des Netzes die negativste Zahl, die vom Rechner gehandhabt werden kann, zugeordnet.
  • Wenn das Modell einmal durchlaufen wurde, wird eine Folge von Vektoren V0,..., V5 nacheinander jeweils zu Zeiten t0,..., t5 auf das Modell angewendet. Wenn ein Vektor auf das Modell angewendet wird, wird er mit der Wahrscheinlichkeitsdichtefunktion für die aktuell zulässigen Zustände, die für die aktuelle Zeit t0 anwendbar ist, und die von den Zustandsobjekten definiert wird, multipliziert, und das Ergebnis wird in den neuen Tokeneigenschaften der Zustände gespeichert. Aus 2 kann entnommen werden, dass die Zustände S2 und S3 zur Zeit t0 nicht zulässig sind und dass Zustand S3 zur Zeit t1 nicht zulässig ist.
  • Als Nächstes werden die Werte der ankommenden Tokens für jeden Zustand bestimmt, dessen neue Tokeneigenschaften nicht gleich –∞ sind. Das heißt, dass für jeden Zustand links vom aktuellen Zustand und für den aktuellen Zustand, für den das Modell einen Übergang zum aktuellen Zustand zulässt (2), die alte Tokeneigenschaft (wenn sie nicht –∞ ist) mit der Wahrscheinlichkeitsdichtefunktionen des Übergangs multipliziert wird, die im Modell des Zustandes angegeben ist. Davon wird die größte bestimmt und mit der neuen Tokeneigenschaft für den betreffenden Zustand multipliziert, und das Ergebnis in der neuen Tokeneigenschaft gespeichert.
  • Wenn alle neuen Werte des Tokens bestimmt worden sind, werden die neuen Tokeneigenschaften in die alten Tokeneigenschaften kopiert. Ein Histogramm der alten Tokeneigenschaften wird dann aufgebaut und die Zustände in den Fächern, die die n größten Werte größer als –∞ enthalten, werden identifiziert, wobei n eine empirisch gewählte ganze Zahl ist, Dabei wird berücksichtigt, dass es anfangs weniger als n Zustände mit Tokeneigenschaften größer als –∞ gibt. Für alle Zustände, außer denen in den identifizierten Fächern, werden die alten Tokeneigenschaften auf –∞ gesetzt. Folglich beeinflussen zu jeder Zeit nur die besten Zustände den Modellzustand bei der erfolgreichen Iteration; die anderen sind herausgestrichen worden. Auf andere Weise gesagt überleben nur die besten Tokens um, um zur nächsten Spalte des Netzes überzugehen.
  • Wenn die Zeit nicht größer als t5 ist, wird eine weitere Iteration durchgeführt. Eine Übereinstimmung zwischen dem modellierten Wort und der eingegebenen Sprache wird auf Basis der Werte der Tokens bestimmt, die den Zustand S3 des Modells verlassen.
  • Nun wird die Erweiterung des obigen Verfahrens auf das Netzwerk in 1 beschrieben.
  • Ab der Zeit t3 beginnt das k-Modell, Tokens auszugeben. Ein ae und ein a:-Modell können für jeden vom k-Modell ausgegebenen Token durchlaufen werden. Dies führt jedoch zu einem schnellen Anstieg der Anzahl aktiver Modelle. Dies wird zu einem gewissen Grad verbessert, indem Modellinstanzen zu einer Liste hinzugefügt werden, und das Histogramm, auf das sich oben gezogen wurde, mit den alten Eigenschaften für alle Zustände in den aktiven Modellen des Tokens aufgebaut wird. Wenn die Liste folglich einmal mehr als eine Modellinstanz enthält, kann auf den Schritt des Herausstreichens, der oben beschrieben wurde, das Entfernen jeglicher Modellinstanzen folgen, deren alte Eigenschaften zu dieser Zeit alle –∞ sind.
  • Diese Problematik wird weiter verbessert, indem ein weiteres Histogramm unmittelbar nach dem vorher erwähnten Schritt des Herausstreichens aufgebaut wird. Dieses zweite Histogramm wird nur mit den ausgegebenen Tokens aufgebaut, das heißt den alten Tokeneigenschaften des Zustands S3 des aktiven Modells. Aus diesem Histogramm werden die Tokens in den Fächern, die die m größten ausgegebenen Tokens enthalten, die nicht –∞ sind, identifiziert und neue Modellinstanzen werden nur unter Berücksichtigung der identifizierten ausgegebenen Tokens erzeugt, wobei angenommen wird, dass das erforderliche Modell noch nicht durchlaufen worden ist. m ist eine empirisch gewählte ganze Zahl, und ist kleiner als n.
  • 4 illustriert das Durchlaufen von Modellen als Reaktion auf ausgegebene Tokens, die aus dem k-Modell herauskommen.
  • Auf diese Weise umfasst das beispielhafte Verfahren mit Bezug auf 5 die Initialisierung eines Netzwerks (Schritt s1), einschließlich dem Durchlaufen von einem oder mehreren Modellen am Anfang und der Erzeugung einer Liste von Modellinstanzen. Dann wird wiederholt ein eingegebener Vektor auf das Netzwerk angewendet (Schritt s2), das Token durchläuft das oder jedes Modell (Schritt s3), Zustände des Modells werden herausgestrichen (Schritt s4) und neue Modelle werden als Reaktion auf die ausgegebenen Tokens durchlaufen (Schritt s5), bis der letzte Vektor eingegeben wurde (Schritt s6). Schritt s2 umfasst für jede Modellinstanz die Multiplikation der zugehörigen Wahrscheinlichkeitsdichtefunktionen für die zulässigen Zustände mit dem eingegebenen Vektor und das Speichern des Ergebnisses in den neuen Eigenschaften der relevanten Zustandsinstanzen des Tokens.
  • Bezugnehmend auf 6 umfasst Schritt s3 für jeden Zustand jeder Modellinstanz das Kopieren der alten Tokeneigenschaften in die neuen Tokeneigenschaften (Schritt s30), wobei die Zustände identifiziert werden, die Verbindungen zum aktuellen Zustand (einschließlich sich selbst und möglicherweise dem Zustand S3 in irgend einem vorhergehenden Modell) und alte Tokeneigenschaften größer – ∞ haben (Schritt s31), das Multiplizieren der alten Tokeneigenschaften der identifizierten Zustände mit der Wahrscheinlichkeitsdichtefunktionen der Verbindung (Schritt s32), die Auswahl des größten Produkts aus Übergangswahrscheinlichkeit und Token (Schritt s33) und die Multiplikation der neuen Tokeneigenschaft mit dem ausgewählten Produkt und das Speichern des Ergebnisses in der neuen Tokeneigenschaft (Schritt s34).
  • In 7 umfasst Schritt s4 den Aufbau eines Histogramms aus den neuen Tokeneigenschaften von allen Zuständen im Netzwerk, in denen die neue Tokeneigenschaft größer als –∞ ist (Schritt s40), die Identifizierung der Fächer des Histogramms, die die besten fünf Knoten enthalten (Schritt s41), das Setzen des neuen Wertes des Tokens aller Knoten außer denen in den Fächern, die im Schritt s41 identifiziert wurden, auf –∞ (Schritt s43) und Kopieren der neuen Tokeneigenschaften in die alten Tokeneigenschaften für alle Zustände im Netzwerk (Schritt s44).
  • Bezugnehmend auf 8 umfasst Schritt s5 den Aufbau eines Histogramms der neuen Tokeneigenschaften aller Zustände Sa (Schritt s50), die Identifizierung der Fächer des Histogramms, die die besten drei Tokens des Zustands S3 (s51) enthalten, das Durchlaufen eines hinsichtlich der Zustände S3 erfolgreichen Modells in den identifizierten Fächern und das Hinzufügen dessen zu der Liste, wenn das erforderliche Modell nicht schon in der Liste ist (Schritt s52). Es ist erforderlich, dass Modelle durchlaufen werden, wenn sie nicht schon durchlaufen wurden oder wenn sie durchlaufen wurden und dann in Schritt s43 zerstört wurden. Es sollte beachtet werden, dass die Identität eines Modells seine Position im Netzwerk einschließt. Folglich sind die zwei t-Modelle in 1 nicht gleichwertig. Das heißt, dass das t-Modell, das dem n-Modell folgt, auch dann durchlaufen wird, wenn eine Instanz des t-Modells existiert, die dem ae-Modell folgt.
  • Die Anwendung des oben erklärten Verfahrens in einer nutzbringenden Vorrichtung wird nun beschrieben.
  • Bezugnehmend auf 9 umfasst eine Vorrichtung zur sprachgesteuerten Weiterleitung von Anrufen zu Endanschlüssen einer Nebenstellenanlage (PABX, private branch exchange) 1, die mit einer Leitung des Teilnehmers 2 mit einer Schaltzentrale 3 im Telefonnetzwerk mit öffentlicher Vermittlung 4 verbunden ist. Die Nebenstellenanlage 1 kann die Leitung 3 des Teilnehmers mit irgendeinem der Vielzahl der Telefone 5a, 5b oder 5c über die jeweiligen Leitungen der Endanschlüsse 6a, 6b oder 6c verbinden. Der Betrieb der Nebenstellenanlage 1 wird von einer Steuereinheit 7 gesteuert. Die Steuereinheit 7 umfasst einen Analog-Digital-Wandler (ADC) 8 für die Digitalisierung analoger Sprachsignale, die über die Leitung 2 des Teilnehmers und die Nebenstellenanlage 1 empfangen werden, einen digitalen Signalprozessor 9 zur Verarbeitung der Ausgabe des ADC 8, einen Spracherkenner 10 zur Erkennung von Sprache aus den Signalen, die von dem digitalen Signalprozessor 9 ausgegeben werden, eine Dialogsteuerung 11 zur Steuerung des Spracherkenners 10 und der Nebenstellenanlage 1 und ein Spracherzeuger 12, der auf Signale der Dialogsteuerung 11 anspricht, um analoge Sprachsignale zu erzeugen und sie der Nebenstellenanlage 1 zur Übertragung über die Leitung 2 des Teilnehmers zu liefern.
  • Der digitale Signalprozessor 9 wird betrieben, um eine Folge von Merkmalsvektoren oder Fenstern zu erzeugen. In dem digitalen Signalprozessor 9 werden die Sprachsignaldaten aus dem ADC 8 zuerst zusammengesetzt und mit überlappenden Fenstern gefenstert. Die Zeitdauer der Überlappung wird üblicherweise im Bereich von 10 bis 20 ms gewählt, während der angenommen wird, dass Sprache quasi-stationär ist. Eine Fast-Fourier-Transformation (FFT) wird verwendet, um das Leistungsspektrum zu berechnen.
  • Das Leistungsspektrum wird dann nach einer Reihe von Mel-Skala-Filtern in Frequenzbänder eingeteilt. Diese Filter haben bis 1 kHz einen linearen Abstand voneinander und dann logarithmische Abstände bis zur Maximalfrequenz. Die Abstände dieser Bänder basieren auf Messungen der Empfindlichkeit des menschlichen Ohres auf Frequenzänderungen. Auf diese Weise kann das Leistungsspektrum durch die Ausgaben von ungefähr 20 Mel-Skala-Filtern dargestellt werden.
  • Der dynamische Bereich des Leistungsspektrums ist ziemlich groß und folglich wird der Logarithmus der Ausgaben der Mel-Filter verwendet. Dies entspricht der menschlichen Wahrnehmung der Lautstärke, von der angenommen wird, dass sie mit dem Logarithmus des Schallpegels variiert. Schließlich wird eine diskrete Kosinustransformation (DCT) mit den Logarithmen der Ausgaben der Mel-Filter durchgeführt. Diese wird folgendermaßen angegeben:
    Figure 00160001
    wobei C(k) die k-te Ausgabe der DCT und f(i) die i-te Ausgabe von N logarithmischen Ausgaben aus dem Filter ist. Von dieser Transformation werden zwei wichtige Funktionen geliefert. Erstens arbeitet sie als eine Verringerungsstufe für die Datenmenge. Die Umhüllende des Leistungsspektrums variiert langsam über den Frequenzbereich und deshalb ist M üblicherweise viel kleiner als N. Zweitens sind die Ausgaben der DCT relativ unkorreliert, sodass von jedem ausgegebenen Wert angenommen werden kann, dass er unabhängig von jedem anderen Wert ist.
  • Jeder Merkmalsvektor enthält eine Untermenge von Koeffizienten. Außerdem ist oft die zeitliche Ableitung der Koeffizienten enthalten, die über aufeinander folgende, nicht überlappende Fenster berechnet wird. Ebenso ist in ähnlicher Weise der differenzielle Logarithmus der Energie des Fensters enthalten.
  • Folglich besteht der endgültige Merkmalsvektor aus:
    Figure 00170001
  • Der Spracherkenner 10 ist mit Modellen programmiert, damit er gesprochene Nummern von Telefonanschlüssen erkennen kann. 10 zeigt ein Netzwerk von Modellen für englische Ziffern.
  • Der Betrieb der Vorrichtung in 9 wird nun beschrieben. Wenn eine Partei einen Anruf tätigt, der an eines der Telefone 5a, 5b oder 5c gerichtet ist, der detektiert die Nebenstellenanlage 1 das Signal auf der Leitung 2 des Teilnehmers und teilt der Dialogsteuerung mit, dass es einen ankommenden Anruf gibt. Die Dialogsteuerung 11 gibt einen Befehl zum Abnehmen an die Nebenstellenanlage 1, die dann die Leitung des Teilnehmers in den abgenommenen Zustand versetzt. Unmittelbar danach gibt die Dialogsteuerung 11 Befehle zum Spracherzeuger 12 aus, die ihn veranlassen, die Nachricht „Bitte geben Sie die Nummer des gewünschten Anschlusses an" zu erzeugen. Das Signal der Nachricht vom Spracherzeuger 12 wird dann von der Nebenstellenanlage 1 auf die Leitung 2 des Teilnehmers gelegt.
  • Der ADC 8 digitalisiert wiederholt das Signal, das an der Nebenstellenanlage 1 über die Leitung 2 des Teilnehmers ankommt, und gibt ein Digitalsignal an den digitalen Signalprozessor 9 aus. Der digitale Signalprozessor verarbeitet das Digitalsignal und gibt wie oben beschrieben Vektoren aus.
  • Nach dem Senden des Steuersignals zum Spracherzeuger 12 initialisiert die Dialogsteuerung 11 den Spracherkenner 10, und veranlasst ihn, Instanzen eines Anfangssatzes von Modellen (w, t, θ, f, s, e, n, z, e auf dem Kopf) zu durchlaufen. Jedes dieser Modelle wird zu einer Liste aktiver Modelle hinzugefügt.
  • Wenn die Nachricht einmal übertragen wurde, weist die Dialogsteuerung 11 den Spracherkenner 10 an, die Ausgaben aus dem digitalen Signalprozessor 9 zu überwachen. Der Spracherkenner 10 tritt nicht in Aktion, bevor die von dem digitalen Signalprozessor 9 ausgegebenen Vektoren anzeigen, dass Sprache empfangen wird. Wenn innerhalb einer vorgegebenen Zeitdauer keine Sprache empfangen wird, wird die Dialogsteuerung 11 von dem Spracherkenner 10 benachrichtigt und die Nachricht zur Anforderung einer Anschlussnummer wird noch einmal gesendet.
  • In dem Fall, dass Vektoren empfangen werden, die den Empfang von Sprache vermuten lassen, wendet der Spracherkenner 10 die Vektoren auf den ersten Satz von Modellinstanzen an, im wesentlichen wie es oben mit Bezug auf die 1 bis 8 beschrieben wurde. Wenn jedoch eine Vielzahl von Modellen anfänglich aktiv sind, wird das erste Histogramm hinsichtlich der Zustände aller Modellinstanzen in dem Anfangssatz aufgebaut. Als ein Ergebnis wird die Anzahl der aktiven Modellinstanzen, d. h. die in der Liste, schnell reduziert. Auf ähnliche Weise wird das zweite Histogramm für die aktuell ausgegebenen Tokens für alle aktiven Modellinstanzen aufgebaut.
  • Der Effekt des Herausstreichens ist, dass der Anfangssatz von Modellinstanzen entfernt wird, sobald sie nicht länger eine signifikante Rolle beim Erkennungsprozess spielen. Außerdem werden die nachfolgenden Modellinstanzen grundsätzlich nur durchlaufen, wenn der Wert eines ausgegebenen Tokens es lohnend erscheinen lässt.
  • Der Spracherkenner 10 überwacht die aus den Instanzen der Modelle auf der rechten Seite jedes Pfades durch das Netzwerk, das in 10 gezeigt ist, ausgegebenen Tokens und wenn es keine eingegebenen Sprachvektoren mehr gibt, identifiziert er das eingegebene gesprochene Wort als das Wort, das von dem Pfad durch das Netzwerk dargestellt wird, der die besten Werte der ausgegebenen Tokens erzeugt hat. Alternativ kann jedem Pfad durch das Netzwerk ein Schwellwert zugeordnet werden, der der Pfadlänge angemessen ist, und der Spracherkenner identifiziert das eingegebene gesprochene Wort durch den Pfad durchs Netzwerk, der ein ausgegebenes Token mit der größten prozentualen Spanne über seiner Schwelle erzeugt.
  • Wenn alle der Modelle aus der Liste entfernt werden, bevor ein ausreichend großes Token die rechte Seite des Netzwerkes verlässt, wird vermutet, dass das gesprochene Wort nicht erkennbar ist. Wenn dies auftritt, benachrichtigt der Spracherkenner 10 die Dialogsteuerung 11, und die Dialogsteuerung 11 weist den Spracherzeuger 12 an, einer Nachricht auszugeben, die den Anrufer auffordert, die gewünschte Anschlussnummer noch einmal anzugeben.
  • Wenn eine positive Erkennung des eingegebenen gesprochenen Wortes gemacht wird, benachrichtigt der Spracherkenner 10 die Dialogsteuerung 11 von der Nummer, die, wie er bestimmt hat, der Anrufer gesagt hat, und die Dialogsteuerung 11 sendet ein Steuersignal an die Nebenstellenanlage 1, um die Nebenstellenanlage 1 zu veranlassen, den ankommenden Anruf an den richtigen Telefonapparat 5a, 5b oder 5c weiter zu verbinden.
  • Die oben beschriebene Vorrichtung kann auf verschiedene Weisen modifiziert werden. Zum Beispiel kann das Weiterverbinden von Signalen durch einen Schalter 3 statt durch eine Nebenstellenanlage 1 mit einer Spracherkennungsvorrichtung gesteuert werden, die im wesentlichen die oben beschriebene Form hat. Wenn außerdem die Nummer des Anschlusses aus mehr als einer Ziffer besteht, können Netzwerke, wie in Figur neun gezeigt, kaskadiert werden, oder die anrufende Partei kann Ziffer für Ziffer nach der Anschlussnummer gefragt werden. In dem Fall, dass die gesprochene Nummer erkannt wird, kann die Dialogsteuerung 11 dazu eingerichtet sein, den Spracherzeuger 12 zu veranlassen, der anrufenden Partei die Ziffer zur Bestätigung wiederzugeben. Um die Bestätigung zu detektieren, rekonfiguriert die Dialogsteuerung 11 den Spracherkenner 10 so, dass er ein Netzwerk einsetzt, das die Worte „ ja" und „nein" darstellt. In dem Fall, dass ein zu erkennendes Wort ein anfänglicher Anteil eines anderen zu erkennenden Wortes ist, z. B. „fünf" und „fünfzehn", kann der Pfad durch das Netzwerk 4 eine Anzahl von Instanzen eines Modells der Geräusche enthalten, die auf einer stillen Telefonleitung erwartet werden.
  • Eine alternative Implementierung des Netzwerks in 1 wird nun bezugnehmend auf 11 beschrieben.
  • Wie oben beschrieben wird jedes der Modelle als eine Instanz eines Softwaremodellobjekts implementiert, das ein eindimensionales Feld von Zustandobjekten enthält.
  • Auf die Initialisierung hin wird eine Instanz des k-Modells durchlaufen und zu einer Liste der Modellinstanzen hinzugefügt. Dann wird eine Schleife ausgeführt, in der zuerst der nächste eingegebene Vektor genommen wird (Schritt s100). Während der ersten Iteration ist der nächste eingegebene Vektor natürlich der erste eingegebene Vektor V0. Als nächstes werden die neuen Tokeneigenschaften aller Zustände S3 betrachtet und für jeden Zustand S3 wird ein neues Modell durchlaufen, dessen neue Tokeneigenschaft nicht –∞ ist, wenn das erforderliche Modell nicht schon auf der Liste ist (Schritt s101). Die neuen Modelle werden zu der Liste der Modellinstanzen hinzugefügt. Wenn zum Beispiel die neue Tokeneigenschaft für den Zustand 5s des k-Modells größer als – ∞ ist und die Liste nicht die ae- und a:-Modelle enthält, werden neue ae- und a:-Modelle durchlaufen. Während ersten zwei Iterationen werden natürlich keine Tokens den Zustand S3 erreicht haben und zu diesem Zeitpunkt werden keine neuen Modelle durchlaufen.
  • Dann wird ein Histogramm der alten Tokeneigenschaften für alle Zustände erzeugt (Schritt s102). Die Fächer des Histogramms, die die besten fünf Eigenschaften von Tokens enthalten, die nicht –∞ sind, werden identifiziert und die alten Tokeneigenschaften in den anderen Fächern werden auf –∞ gesetzt (Schritt s103). Wenn es weniger als sechs alte Tokeneigenschaften gibt, die nicht –∞ sind, werden keine alten Tokeneigenschaften auf –∞ gesetzt. Eine absolute Schwelle kann jedoch in Verbindung mit den Histogramm angewendet werden, sodass alte Tokeneigenschaften unterhalb der Schwelle auf –∞ gesetzt werden.
  • Alle Modelle, in denen die alten Tokeneigenschaften aller Zustände –∞ sind, außer neu durchlaufene Modelle, werden dann zerstört und von der Liste aktiver Modelle entfernt (Schritt s104). Zerstörte Modelle können, wenn erforderlich, später im Schritt s101 erneut durchlaufen werden.
  • Der aktuelle eingegebene Vektor wird auf die Modelle in der Liste angewendet und die Tokens durchgereicht (Schritt s105). Dies umfasst für jeden Zustand S1 bis S3 jedes Modells die Identifizierung der Zustände, die Verbindungen zu den aktuellen Zuständen haben (einschließlich zu sich selbst und möglicherweise zu einem Zustand S3 eines vorhergehenden Modells), die alte Tokeneigenschaften größer als –∞ haben, die Multiplikation der alten Eigenschaften des Tokens der identifizierten Zustände mit der Wahrscheinlichkeitsdichtefunktionen der entsprechenden Verbindung, die Auswahl der größten Produkte aus Tokens und Übergangswahrscheinlichkeit und die Speicherung des Ergebnisses der Multiplikation des aktuelle eingegebenen Vektor so und der passenden Wahrscheinlichkeitsdichtefunktion für den Zustand in der neuen Tokeneigenschaft.
  • Wenn alle neuen Tokeneigenschaften einmal berechnet worden sind, werden die entsprechenden alten Tokeneigenschaften mit den neuen Tokeneigenschaften überschrieben (Schritt s106). Ein Histogramm der Zustände S3 der neuen Tokeneigenschaften wird dann erzeugt (Schritt s107). Die Fächer des Histogramms, die die besten drei Zustände S3 enthalten, werden identifiziert und die neuen Tokeneigenschaften bezüglich des Zustands S3 in den anderen Fächern werden auf –∞ gesetzt (Schritt s108). Wenn es weniger als vier neue Tokeneigenschaften bezüglich des Zustandes S3 gibt, werden keine neue Eigenschaften von Zuständen auf –∞ gesetzt. In Verbindung mit dem Histogramm kann jedoch eine absolute Schwelle angewendet werden, sodass alle neuen Eigenschaften des Tokens bezüglich dem Zustand S3, die unterhalb der Schwelle liegen, auf –∞ gesetzt werden, sogar dann, wenn sie in den Fächern sind, die die besten neuen Eigenschaften von Tokens bezüglich dem Zustand S3 enthalten.
  • Tokens, die die t- und d-Modelleinstanzen verlassen, werden analysiert, um zu bestimmen, ob die eingegebenen Vektorfolge „cat", „card" oder „can't" darstellt (Schritt s109).
  • In einer anderen Ausführung einer sprachgesteuerten Vorrichtung zum Weiterleiten von Anrufen an Endanschlüsse, auf die 9 ebenso anwendbar ist, verarbeitet der Spracherkenner 10 das Modell, das in 10 gezeigt ist, auf die mit Bezug auf 11 beschriebene Weise.
  • Es sollte verständlich sein, dass das Kriterium, durch das die Tokeneigenschaften auf –∞ gesetzt werden und das Durchlaufen von Modellen verhindert wird, generell empirisch eingestellt werden muss und dass die oben angegebenen Beispiele ausschließlich dazu da sind, das Verständnis der Erfindung zu unterstützen. Der Fachmann, der mit der vorliegenden Erfindung arbeitet, sollte seine Wahl des Kriteriums nicht auf die hier beschriebenen Kriterien beschränken, sondern Kriterien herausfinden, die ein Gleichgewicht zwischen der Genauigkeit der Spracherkennung und den Anforderungen an die Berechnung, die seinen Umständen entsprechen, erzeugen.
  • Obwohl die vorliegende Erfindung mit Bezug auf Ausführungen beschrieben wurde, in denen Unterworteinheiten modelliert sind, wird zur Kenntnis genommen, dass ganze Worte durch ein einzelnes verstecktes Markov-Modell modelliert werden können. Die Verwendung von Modellen von Unterworteinheiten ist jedoch besonders vorteilhaft, wenn ein umfangreiches Vokabular erkannt werden soll, weil sie die Anzahl der Modelle begrenzt, die anfänglich durchlaufen werden müssen.

Claims (26)

  1. Verfahren zur Erkennung eines Musters mit einer Folge von Untermustern, wobei das Verfahren folgendes umfasst: Erzeugung einer Datenfolge, die eine physische Einheit darstellt, Anwendung (S2) der Datenfolge auf einen Satz aktiver Modelle in einem Netzwerk von Modellen, der wenigstens ein Modell enthält und Auswahl (S51) einer Untermenge der Ausgaben der Mitglieder des Satzes nach einem vorgegebenen Kriterium, Hinzufügen (S52) weiterer Modelle zum Satz in Abhängigkeit der Elemente der Untermenge, wobei jedes Modell ein Untermuster darstellt und bei der Verwendung eine Anzeige des Grades der Übereinstimmung zwischen einer eingegebenen Unterfolge von Daten und dem dargestellten Untermuster ausgibt und wobei die weiteren Modelle die zugehörigen Elemente der Untermenge als Eingabe empfangen.
  2. Verfahren nach Anspruch 1, bei dem zum Satz nur dann ein weiteres Modell hinzugefügt wird, wenn der Satz dieses Modell nicht schon enthält.
  3. Verfahren nach Anspruch 1 oder 2, bei dem die Datenfolge auf ein Netzwerk elementweise angewendet wird, und für jede der nachfolgenden Anwendungen von Elementen einer Datenfolge die Auswahl einer Untermenge aus den Ausgaben der Satzes von Modellen durchgeführt wird.
  4. Verfahren nach Anspruch 3, bei dem jedes Modell einen endlichen Automaten enthält.
  5. Verfahren nach Anspruch 4, bei dem jeder Zustand von Mitgliedern des Satzes beurteilt wird (S.40, S.41) und die Zustände, die nicht einem vorgegebenen Kriterium entsprechen, zwischen der Anwendung aufeinander folgender Elemente von Datenfolgen deaktiviert werden (S.42).
  6. Verfahren nach Anspruch 5, bei dem ein Modell aus dem Satz entfernt wird, wenn alle seiner Zustände deaktiviert wurden.
  7. Verfahren nach Anspruch 5 oder 6, bei dem das auf die Ausgabe von Modellen angewendete Kriterium strikter als das Kriterium ist, das auf die Zustände in den Modellen angewendet wird.
  8. Verfahren nach einem der Ansprüche 1 bis 7, bei dem die Anwendung des Kriteriums, das auf die Ausgabe von Modellen angewendet wird, die Erzeugung (S.50) eines Histogramms der Ausgaben der Modelle auf Basis ihrer Werte und die Auswahl (S.51) derjenigen Ausgaben in die Fächer des Histogramms umfasst, die die Ausgaben mit den besten m Werten enthalten, wobei m eine ganze Zahl ist.
  9. Verfahren nach Anspruch 8, bei dem die Ausgaben von Modellen ausgewählt werden, indem Ausgaben, die nicht ausgewählt wurden, auf einen vorgegebenen Wert gesetzt werden.
  10. Verfahren nach einem der Ansprüche 5 bis 7, bei dem die Anwendung des Kriteriums für die Deaktivierung, das auf alle Zu stände der Modelle angewendet wird, die Erzeugung (5.40) eines Histogramms der Zustände basierend auf ihren Werten und die Auswahl (S.41) derjenigen Zustände in die Fächer des Histogramms umfasst, die die Zustände mit den besten n Werten enthalten, wobei n eine ganze Zahl ist.
  11. Verfahren zur Spracherkennung nach einem der Ansprüche 1 bis 10.
  12. Verfahren nach Anspruch 11, bei dem die Modelle Modelle der Vokalisierung von Wortuntereinheiten beinhalten.
  13. Verfahren zur Erzeugung von Sprachsignalen, das ein Verfahren nach Anspruch 11 oder 12 durchführt, und das einen Sprachgenerator in Abhängigkeit des Ergebnisses der Durchführung des Verfahrens betreibt.
  14. Verfahren für den Betrieb einer Telefonschaltzentrale, das die Durchführung eines Verfahrens nach Anspruch 11 oder 12 und die Befehlsgebung in einer Telefonschaltzentrale zum Zwecke des Aufbaus einer Telefonverbindung in Abhängigkeit der Ergebnisse des Verfahrens beinhaltet.
  15. Verfahren zum Betrieb eines Computers zur Erkennung eines Musters mit einer Folge von Untermustern, wobei das Verfahren folgendes umfasst: Erzeugung einer Datenfolge, die eine physische Einheit darstellt, Anwendung (S2) der Datenfolge auf einen Satz aktiver Modelle in einem Netzwerk von Modellen, der wenigstens ein Modell enthält und Auswahl (S51) einer Untermenge der Ausgaben der Mitglieder des Satzes gemäß einem vorgegebenen Kriterium, Hinzufügen (S52) weiterer Modelle zum Satz in Abhängigkeit der Mitglieder des Satzes, um dadurch die für die Erkennung des Musters erforderliche Zeit zu verringern, wobei jedes Modell ein Untermuster darstellt und bei der Verwendung eine Anzeige des Grades der Übereinstimmung zwischen einer eingegebenen Unterfolge von Daten und dem dargestellten Untermuster ausgibt und die weiteren Modelle die zugehörigen Elemente der Untergruppe als Eingabe empfangen.
  16. Vorrichtung zur Erkennung von Mustern mit einer Folge von Untermustern, wobei die Vorrichtung folgendes umfasst: eine Einrichtung (9) zur Erzeugung einer Datenfolge, die eine physikalische Einheit darstellt, eine Einrichtung (10) zur Anwendung der Datenfolge auf einen Satz aktiver Modelle in einem Netzwerk von Modellen, der wenigstens ein Modell enthält und eine Einrichtung (10) zur Auswahl einer Untermenge der Ausgaben der Mitglieder des Satzes nach einem festgelegten Kriterium, eine Einrichtung (10) zum Hinzufügen weiterer Modelle zum Satz in Abhängigkeit der Mitglieder des Satzes, wobei jedes Modell ein Untermuster darstellt und bei der Verwendung eine Anzeige des Grades der Übereinstimmung zwischen einer eingegebenen Unterfolge von Daten und dem dargestellten Untermuster ausgibt und die weiteren Modelle die zugehörigen Elemente der Untergruppe als Eingabe empfangen.
  17. Einrichtung nach Anspruch 16, bei der zu dem Satz nur dann ein weiteres Modell hinzugefügt wird, wenn der Satz dieses Modell nicht schon enthält.
  18. Einrichtung nach Anspruch 16 oder 17, bei der die Datenfolge auf ein Netzwerk elementweise angewendet wird, und die Auswahl einer Untermenge aus den Ausgaben des Satzes von Modellen zwischen den Anwendungen aufeinander folgender Elemente der Datenfolge durchgeführt wird.
  19. Einrichtung nach Anspruch 18, bei dem jedes Modell ein endlichen Automaten enthält.
  20. Einrichtung nach Anspruch 19, bei der jeder Zustand der Mitglieder des Satzes bewertet wird und die Zustände, die nicht einem vorgegebenen Kriterium entsprechen, zwischen der Anwendung aufeinander folgender Elemente von Datenfolgen deaktiviert werden.
  21. Einrichtung nach Anspruch 20, bei dem ein Modell aus dem Satz entfernt wird, wenn alle seiner Zustände deaktiviert wurden.
  22. Verfahren nach Anspruch 20 oder 21, bei dem das Kriterium, das auf die Ausgabe von Modellen angewendet wird, strikter ist als das Kriterium, das auf die Zustände in den Modellen angewendet wird.
  23. Vorrichtung zur Spracherkennung (7) nach einem der Ansprüche 16 bis 22.
  24. Vorrichtung nach Anspruch 23, bei der die Modelle Modelle der Vokalisierung von Wortuntereinheiten beinhalten.
  25. Vorrichtung zur Erzeugung von Sprachsignalen, die eine Vorrichtung nach Anspruch 23 oder 24 und einen Sprachgenerator umfasst, der für den Betrieb in Abhängigkeit der Tätigkeit der Einrichtung zur Spracherkennung eingerichtet ist.
  26. Vorrichtung mit einem Telefonnetzwerk, die eine Vorrichtung nach Anspruch 23 oder 24 und eine Telefonschaltzentrale (1) enthält, bei der die Telefonschaltzentrale zur Erstellung einer Telefonverbindung in Abhängigkeit der Tätigkeit einer Einrichtung zur Spracherkennung arbeitet.
DE69814442T 1997-11-03 1998-10-27 Strukturerkennung Expired - Lifetime DE69814442T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9723214 1997-11-03
GBGB9723214.4A GB9723214D0 (en) 1997-11-03 1997-11-03 Pattern recognition
PCT/GB1998/003207 WO1999023640A1 (en) 1997-11-03 1998-10-27 Pattern recognition

Publications (2)

Publication Number Publication Date
DE69814442D1 DE69814442D1 (de) 2003-06-12
DE69814442T2 true DE69814442T2 (de) 2004-02-26

Family

ID=10821507

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69814442T Expired - Lifetime DE69814442T2 (de) 1997-11-03 1998-10-27 Strukturerkennung

Country Status (7)

Country Link
US (1) US6871177B1 (de)
EP (1) EP1027698B1 (de)
JP (1) JP2001522070A (de)
AU (1) AU9635898A (de)
DE (1) DE69814442T2 (de)
GB (1) GB9723214D0 (de)
WO (1) WO1999023640A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8200495B2 (en) * 2005-02-04 2012-06-12 Vocollect, Inc. Methods and systems for considering information about an expected response when performing speech recognition
US8914290B2 (en) 2011-05-20 2014-12-16 Vocollect, Inc. Systems and methods for dynamically improving user intelligibility of synthesized speech in a work environment
US9978395B2 (en) 2013-03-15 2018-05-22 Vocollect, Inc. Method and system for mitigating delay in receiving audio stream during production of sound from audio stream
US10714121B2 (en) 2016-07-27 2020-07-14 Vocollect, Inc. Distinguishing user speech from background speech in speech-dense environments
US11869494B2 (en) * 2019-01-10 2024-01-09 International Business Machines Corporation Vowel based generation of phonetically distinguishable words

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59106079A (ja) * 1982-12-10 1984-06-19 Omron Tateisi Electronics Co 図形照合装置の二値化装置
US4718092A (en) * 1984-03-27 1988-01-05 Exxon Research And Engineering Company Speech recognition activation and deactivation method
US4977598A (en) * 1989-04-13 1990-12-11 Texas Instruments Incorporated Efficient pruning algorithm for hidden markov model speech recognition
US5479489A (en) * 1994-11-28 1995-12-26 At&T Corp. Voice telephone dialing architecture
MX9706407A (es) * 1995-03-07 1997-11-29 British Telecomm Reconocimiento del lenguaje.
US6278973B1 (en) * 1995-12-12 2001-08-21 Lucent Technologies, Inc. On-demand language processing system and method
US6163768A (en) * 1998-06-15 2000-12-19 Dragon Systems, Inc. Non-interactive enrollment in speech recognition

Also Published As

Publication number Publication date
GB9723214D0 (en) 1998-01-07
AU9635898A (en) 1999-05-24
DE69814442D1 (de) 2003-06-12
US6871177B1 (en) 2005-03-22
EP1027698B1 (de) 2003-05-07
WO1999023640A1 (en) 1999-05-14
JP2001522070A (ja) 2001-11-13
EP1027698A1 (de) 2000-08-16

Similar Documents

Publication Publication Date Title
DE69919842T2 (de) Sprachmodell basierend auf der spracherkennungshistorie
DE60111329T2 (de) Anpassung des phonetischen Kontextes zur Verbesserung der Spracherkennung
DE3337353C2 (de) Sprachanalysator auf der Grundlage eines verborgenen Markov-Modells
DE60222249T2 (de) Spracherkennungsystem mittels impliziter sprecheradaption
DE69010941T2 (de) Verfahren und Einrichtung zur automatischen Bestimmung von phonologischen Regeln für ein System zur Erkennung kontinuierlicher Sprache.
DE3242866C2 (de)
DE602004012909T2 (de) Verfahren und Vorrichtung zur Modellierung eines Spracherkennungssystems und zur Schätzung einer Wort-Fehlerrate basierend auf einem Text
DE69725091T2 (de) Verfahren und System zum Editieren von Sätzen während der kontinuierlichen Spracherkennung
DE68912397T2 (de) Spracherkennung mit Sprecheranpassung durch Lernprozess.
DE60212725T2 (de) Verfahren zur automatischen spracherkennung
DE3236834A1 (de) Verfahren und geraet zur sprachanalyse
DE19942178C1 (de) Verfahren zum Aufbereiten einer Datenbank für die automatische Sprachverarbeitung
EP1273003B1 (de) Verfahren und vorrichtung zum bestimmen prosodischer markierungen
DE19944608A1 (de) Erkennung einer in buchstabierter Form vorliegenden Sprachäußerungseingabe
DE60133537T2 (de) Automatisches umtrainieren eines spracherkennungssystems
DE4328752B4 (de) Spracherkennungssystem
DE69937854T2 (de) Verfahren und Vorrichtung zur Spracherkennung unter Verwendung von phonetischen Transkriptionen
WO2001069591A1 (de) Verfahren zur erkennung von sprachäusserungen nicht-mutter-sprachlicher sprecher in einem sprachverarbeitungssystem
DE60214850T2 (de) Für eine benutzergruppe spezifisches musterverarbeitungssystem
EP0595889B1 (de) Verfahren und anordnung zum erkennen von einzelwörtern gesprochener sprache
EP1282897B1 (de) Verfahren zum erzeugen einer sprachdatenbank für einen zielwortschatz zum trainieren eines spracherkennungssystems
DE3853702T2 (de) Spracherkennung.
DE69333762T2 (de) Spracherkennungssystem
DE69814442T2 (de) Strukturerkennung
DE102010040553A1 (de) Spracherkennungsverfahren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition