-
HINTERGRUND
-
Die vorliegende Offenbarung betrifft allgemein Techniken zum Trainieren eines zur Vorhersage verwendeten Modells und Techniken zum Neubewerten einer Erkennungshypothese mit einem Modell.
-
Bei Spracherkennungen wird ein RNN-Sprachmodell (RNN = Rekurrentes Neuronales Netz) zum Decodieren und zum Neubewerten von Gittern genutzt, bei dem das RNN-Sprachmodell auf ein Gitter angewendet wird, das durch ein schwächeres Sprachmodell wie beispielsweise ein N-Gramm-Modell erzeugt wurde. Aufgrund stärkerer Modellierungsfähigkeiten des RNN-Sprachmodells sind Fehlerraten der neubewerteten Gitter im Vergleich zu den ursprünglichen Gittern geringer, die durch das schwächere Sprachmodell erzeugt wurden.
-
Das RNN-Sprachmodell enthält einen verborgenen Zustand, der eine unbegrenzte Historie vorhergehender Wörter darstellt, die die Quelle seiner starken Modellierungsfähigkeit bildet. Das RNN-Sprachmodell wird normalerweise mit geschriebenem Text und/oder transkribiertes Äußerungen trainiert, die keine Fehler enthalten dürfen. Automatisch transkribierter Text kann im Falle einer Domänenanpassung ebenfalls als Trainingsdaten verwendet werden. Ein Trend von Fehlern im automatisch transkribierten Trainingstext unterscheidet sich jedoch normalerweise von dem von Fehlern, die bei Gittern festgestellt werden, die durch das schwächere Sprachmodell erzeugt wurden.
-
Die Erkennungsfehler sind zwangsläufig an einer beliebigen Wordposition in der Hypothese enthalten, die als primäres Ergebnis automatischer Spracherkennung vorgegeben wird. Das RNN-Sprachmodell ist jedoch nicht trainiert, derartige Fehler zu berücksichtigen, und somit würde ein Kollaps des verborgenen Zustands des RNN herbeigeführt werden, wenn er auf Fehler in der Hypothese trifft, was zu einer negativen Auswirkung beim Berechnen von Sprachmodellwahrscheinlichkeiten nachfolgender Wörter führt. Eine derartige negative Auswirkung auf den Neubewertungsprozess aufgrund eines Fehlers in einer Hypothese kann auch bei einer anderen Erkennungsaufgabe wie beispielsweise einer Maschinenübersetzungsaufgabe, einer Bild- oder Filmaufnahmeaufgabe auftreten, um nur einige zu nennen.
-
Somit besteht ein Bedarf an einer Technik, die in der Lage ist, den negativen Einfluss auf eine Vorhersage aufgrund eines Fehlers in einer Hypothese abzumildern.
-
KURZDARSTELLUNG
-
Gemäß einer Ausführungsform der vorliegenden Erfindung wird ein mittels Computer realisiertes Verfahren zum Trainieren eines Modells bereitgestellt. Das Verfahren beinhaltet ein Erhalten einer Trainingssequenz von Elementen für das Modell, bei der das Modell in der Lage ist, eine Historie eines oder mehrerer vorhergehender Elemente zu speichern, und eine Vorhersagerichtung enthält. Das Verfahren beinhaltet außerdem ein Aufteilen der Trainingssequenz in eine Mehrzahl von Teilen. Das Verfahren beinhaltet außerdem ein Auswählen eines Teils der Mehrzahl der Teile je nach der Richtung der Vorhersage, um abgeänderte Trainingsdaten zu erzeugen. Das Verfahren beinhaltet ferner ein Trainieren des Modells unter Verwendung der abgeänderten Trainingsdaten.
-
Gemäß dem Verfahren der Ausführungsformen der vorliegenden Erfindung kann das Modell trainiert werden, um ab der Mitte der Sequenz beginnend oder dort endend Wahrscheinlichkeiten zu schätzen, die tatsächlich an Eingängen des Modells auftreten würden. Dies ermöglicht eine verbesserte Genauigkeit des Modells.
-
Bei einer bevorzugten Ausführungsform wird das trainierte Modell zum Neubewerten einer oder mehrerer Eingangssequenzen verwendet, die als Hypothesen eines Erkennungsprozesses erhalten wurden. Dadurch sollen Fehlerraten des neubewerteten Ergebnisses im Vergleich zu dem ursprünglichen Ergebnis des Erkennungsprozesses abnehmen. Da das Modell trainiert wird, um ab der Mitte der Sequenz beginnend oder dort endend Wahrscheinlichkeiten zu schätzen, ermöglicht dies dem Modell ein entsprechendes Neubewerten der Hypothese, selbst wenn die Hypothese einen Fehler beinhaltet. Negative Auswirkungen aufgrund eines Fehlers in der Hypothese können abgemildert werden.
-
Bei einer weiteren bevorzugten Ausführungsform wird die Historie beim Neubewerten jeder Eingangssequenz mit dem Modell mindestens teilweise als Reaktion darauf verworfen, dass eine Bedingung erfüllt ist, die mit einem Vertrauen des Erkennungsprozesses hinsichtlich eines Eingangselements in der Eingangssequenz zusammenhängt. Dadurch werden Fehlerraten des neubewerteten Ergebnisses im Vergleich zu einem neubewerteten Ergebnis, bei dem die Historie auf der Grundlage des Vertrauens des Erkennungsprozesses nicht verworfen wird, weiter verringert.
-
Bei einer weiteren bevorzugten Ausführungsform enthält das Modell einen verborgenen Zustand, der die Historie darstellt. Die Historie wird verworfen, indem der verborgene Zustand des Modells auf einen Zustand zurückgesetzt wird, der ein vorgegebenes Symbol akzeptiert hat. Das Neubewerten wird als Reaktion darauf erneut gestartet, dass einer die Bedingung erfüllt. Wenn ein Element, bei dem hinsichtlich des Vertrauens Zweifel bestehen, in der Hypothese beinhaltet ist, verhindert ein Zurücksetzen, dass ein derartiges Element den Kollaps des verborgenen Zustands des Modells herbeiführt. Ein derartiges unsicheres Element in der Hypothese kann einen sinnvollen verborgenen Zustand für nachfolgende Elemente verbreiten, die nach dem unsicheren Element in der Hypothese ein schwallartiges Auftreten von Fehlern unterdrücken. Dadurch kann der Punktwert für die Hypothese nach dem unsicheren Element mit einem sinnvollen verborgenen Zustand berechnet werden.
-
Bei einer bestimmten Ausführungsform beinhaltet das Verfahren ferner ein Hinzufügen eines vorgegebenen Symbols an einer Umgrenzung des einen Teils. Die abgeänderten Trainingsdaten beinhalten den einen Teil und das vorgegebene Symbol. Das vorgegebene Symbol kann je nach der Richtung der Vorhersage einen Beginn einer Sequenz oder ein Ende einer Sequenz darstellen. Alternativ kann das vorgegebene Symbol einen Erkennungsfehler darstellen, und das Modell enthält ein zusätzliches Token, das dem vorgegebenen Symbol entspricht.
-
Bei einer bestimmten Ausführungsform ist die Richtung der Vorhersage eine Vorwärtsrichtung, ein hinterer Teil der Mehrzahl der Teile ist als der eine Teil ausgewählt, und die Umgrenzung, an der das vorgegebene Symbol hinzugefügt ist, ist ein Beginn des hinteren Teils. Alternativ ist die Richtung der Vorhersage eine Rückwärtsrichtung, ein vorderer Teil der Mehrzahl der Teile ist als der eine Teil ausgewählt, und die Umgrenzung, an der das vorgegebene Symbol hinzugefügt ist, ist ein Ende des vorderen Teils.
-
Bei einer bevorzugten Ausführungsform handelt es sich bei dem Modell um ein Sprachmodell des Typs „Rekurrentes Neuronales Netz“, bei der Trainingssequenz der Elemente handelt es sich um einen Trainingssatz, der eine Mehrzahl von Wörtern beinhaltet, bei dem Erkennungsprozess handelt es sich um eine Spracherkennung, und ein aus der Spracherkennung ausgegebenes Ergebnis wird mit dem Modell neu bewertet. Dadurch wird eine verbessere Leistung der Spracherkennung ermöglicht.
-
Gemäß anderen Ausführungsformen der vorliegenden Erfindung wird ein mittels Computer realisiertes Verfahren zum Neubewerten einer Eingangssequenz bereitgestellt, die als Hypothese eines Erkennungsprozesses erhalten wird. Das Verfahren schließt ein Vorbereiten eines Modells zum Neubewerten der Hypothese ein. Das Modell ist in der Lage, eine Historie eines oder mehrerer vorhergehender Elemente zu speichern, und enthält eine Neubewertungsrichtung. Das Verfahren beinhaltet außerdem ein entsprechend der Richtung erfolgendes Einleiten der Eingangssequenz in das Modell. Das Verfahren beinhaltet ferner mindestens teilweise ein Verwerfen der Historie als Reaktion darauf, dass eine Bedingung erfüllt ist, die mit einem Vertrauen des Erkennungsprozesses hinsichtlich eines Eingangselements in der Eingangssequenz zusammenhängt. Das Verfahren beinhaltet ferner ein Ausgeben eines Ergebnisses des Neubewertens der Eingangssequenz.
-
Gemäß dem Verfahren der anderen Ausführungsformen der vorliegenden Erfindung sollen Fehlerraten des Ergebnisses im Vergleich zu einem ursprünglichen Ergebnis des Erkennungsprozesses sowie ein neubewertetes Ergebnis abnehmen, ohne dass die Historie auf der Grundlage des Vertrauens des Erkennungsprozesses verworfen wird. Da die negative Auswirkung aufgrund eines Fehlers in der Hypothese abgemildert werden kann, ermöglicht sie dem Modell, das Neubewerten der Hypothese entsprechend durchzuführen, selbst wenn die Hypothese einen Fehler beinhaltet.
-
Bei einer bevorzugten Ausführungsform enthält das Modell einen verborgenen Zustand, der die Historie darstellt, und die Historie wird verworfen, indem der verborgene Zustand des Modells auf einen Zustand zurückgesetzt wird, der ein vorgegebenes Symbol akzeptiert hat. Das Neubewerten wird als Reaktion darauf erneut gestartet, dass einer die Bedingung erfüllt. Wenn ein Element, das Bedenken hinsichtlich des Vertrauens enthält, in der Hypothese beinhaltet ist, verhindert ein Zurücksetzen, dass ein derartiges Element den Kollaps des verborgenen Zustands des Modells herbeiführt. Ein derartiges unsicheres Element in der Hypothese kann einen sinnvollen verborgenen Zustand für nachfolgende Elemente verbreiten, die nach dem unsicheren Element in der Hypothese ein schwallartiges Auftreten von Fehlern unterdrücken. Dadurch kann der Punktwert für die Hypothese nach dem unsicheren Element mit einem sinnvollen verborgenen Zustand berechnet werden.
-
Bei einer bevorzugten Ausführungsform wird das Modell aufgebaut durch: Erhalten einer Trainingssequenz von Elementen; Aufteilen der Trainingssequenz in eine Mehrzahl von Teilen; Auswählen eines Teils der Mehrzahl der Teile je nach der Richtung des Neubewertens, um abgeänderte Trainingsdaten zu erzeugen; und Trainieren des Modells unter Verwendung der abgeänderten Trainingsdaten. Da das Modell trainiert wird, um ab der Mitte der Sequenz beginnend oder dort endend Wahrscheinlichkeiten zu schätzen, kann eine negative Auswirkung aufgrund eines Fehlers in der Hypothese weiter abgemildert werden. Es ist möglich, beim Neubewerten der Hypothese die Modellwiderstandsfähigkeit gegenüber einem Fehler in der Hypothese herbeizuführen.
-
Außerdem werden hierin Computersysteme und Computerprogrammprodukte beschrieben und beansprucht, die einen oder mehrere Aspekte der vorliegenden Erfindung betreffen.
-
Weitere Merkmale und Vorteile werden durch die Techniken der vorliegenden Erfindung realisiert. Andere Ausführungsformen und Aspekte der Erfindung werden im vorliegenden Dokument eingehend beschrieben und sind als Teil der beanspruchten Erfindung zu betrachten.
-
Figurenliste
-
Der als Erfindung betrachtete Gegenstand wird in den Ansprüchen, die im Anschluss an die Beschreibung folgen, speziell beschrieben und ausdrücklich beansprucht. Die vorstehend beschriebenen und weiteren Merkmale und Vorteile der Erfindung werden anhand der folgenden eingehenden Beschreibung deutlich, die in Verbindung mit den beigefügten Zeichnungen zu lesen ist, bei denen:
- 1 ein Blockschema eines Spracherkennungssystems veranschaulicht, das ein Neubewertungsmodul und ein Trainingsdatenabänderungsmodul gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung beinhaltet;
- 2 ein Schema einer Trainingsdatenabänderung zum Trainieren eines RNN-Sprachmodells gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung beschreibt;
- 3 ein Flussdiagramm ist, das einen zum Neubewerten von Hypothesen verwendeten Prozess zum Trainieren eines RNN-Sprachmodells gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung darstellt;
- 4 ein Schema eines Neubewertungsprozesses mit Rücksetzbetrieb gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung beschreibt;
- 5 ein Schema des normalen Betriebs im Neubewertungsprozess gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung beschreibt, wenn in einer vorgegebenen Hypothese kein unsicheres Wort vorliegt;
- 6 ein Schema des Rücksetzbetriebs im Neubewertungsprozess gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung beschreibt, wenn in einer vorgegebenen Hypothese ein unsicheres Wort vorliegt;
- 7 ein Flussdiagramm ist, das einen zum Neubewerten von Hypothesen verwendeten Prozess zum Trainieren eines rückwärtsgerichteten RNN-Sprachmodells gemäß einer anderen beispielhaften Ausführungsform der vorliegenden Erfindung darstellt;
- 8 ein Schema des Rücksetzbetriebs im Neubewertungsprozess unter Verwendung des rückwärtsgerichteten RNN-Sprachmodells gemäß einer anderen beispielhaften Ausführungsform der vorliegenden Erfindung beschreibt; und
- 9 ein Computersystem gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung darstellt.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Im Folgenden wird hierin die vorliegende Erfindung in Bezug auf bestimmte Ausführungsformen beschrieben, aber es wird Fachleuten klar sein, dass die nachstehend beschriebenen Ausführungsformen lediglich als Beispiele aufgeführt und nicht als Einschränkung des Schutzumfangs der vorliegenden Erfindung gedacht sind.
-
Eine oder mehrere Ausführungsformen gemäß der vorliegenden Erfindung sind auf mittels Computer realisierte Verfahren, Computersysteme und Computerprogrammprodukte zum Trainieren eines Modells gerichtet, bei dem das Modell in der Lage ist, eine Historie vorhergehender Elemente in einer Sequenz zu speichern, und zum Neubewerten einer primären Hypothese verwendet werden kann, die durch einen Spracherkennungsprozess erzeugt wurde. Eine oder mehrere Ausführungsformen gemäß der vorliegenden Erfindung sind auf mittels Computer realisierte Verfahren, Computersysteme und Computerprogrammprodukte zum Neubewerten einer Hypothese mit einem Modell gerichtet, bei dem das zum Neubewerten von Hypothesen verwendete Modell in der Lage ist, eine Historie vorhergehender Elemente in einer Sequenz zu speichern und die neu zu bewertende Hypothese von einem Spracherkennungsprozess erhalten wurde.
-
Im Folgenden wird hierin zunächst unter Bezugnahme auf 1 zusammen mit 2 ein Computersystem zum Trainieren eines RNN-Sprachmodells und zum Neubewerten einer durch einen Spracherkennungsprozess erzeugten primären Hypothese gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung beschrieben. Danach wird unter Bezugnahme auf 3 ein mittels Computer realisiertes Verfahren zum Trainieren eines RNN-Sprachmodells mit Trainingsdatenabänderung gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung beschrieben. Danach wird unter Bezugnahme auf 4 zusammen mit den 5 und 6 ein mittels Computer realisiertes Verfahren zum Neubewerten einer primären Hypothese mit einem RNN-Sprachmodell gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung beschrieben. Danach wird unter weiterer Bezugnahme auf 7 und 8 eine andere Ausführungsform gemäß der vorliegenden Erfindung beschrieben, bei der das zu trainierende Modell ein rückwärtsgerichtetes RNN-Sprachmodell ist.
-
Des Weiteren werden experimentelle Untersuchungen an der Spracherkennung mit einer neuartigen Trainingsdatenabänderung und Neubewertungsfunktion gemäß den beispielhaften Ausführungsformen der vorliegenden Erfindung beschrieben. Abschließend wird unter Bezugnahme auf 9 eine Hardwarekonfiguration eines Computersystems gemäß einer oder mehreren Ausführungsformen der vorliegenden Erfindung beschrieben.
-
Unter Bezugnahme auf 1 wird ein Blockschema eines Spracherkennungssystems 100 gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung beschrieben. Wie in 1 gezeigt, beinhaltet das Spracherkennungssystem 100 einen Decoder 110, der eine Eingabe 102 empfängt und eine primäre Erkennungshypothese in Form eines Gitters 104 ausgibt; ein Akustikmodell 112, das durch den Decoder 110 verwendet wird; ein schwächeres Sprachmodell 114, das durch den Decoder 110 verwendet wird; ein Neubewertungsmodul 120, das das Gitter 104 empfängt und ein neubewertetes Gitter 106 ausgibt; ein RNN-Sprachmodell 130, das durch das Neubewertungsmodul 120 verwendet wird.
-
Bei der Eingabe 102 kann es sich um ein Sprachsignal handeln, das durch einen Analog-Audioabtasteingang mit einer vorgegebenen Abtastfrequenz und einer vorgegebenen Bittiefe digitalisiert wurde. Bevor das Sprachsignal in den Decoder 110 gelangt, kann es über ein geeignetes Frontend mit einer beliebigen bekannten Akustikmerkmalanalyse in eine Sequenz aus akustischen Merkmalen umgewandelt werden.
-
Der Decoder 110 sagt unter Verwendung des Akustikmodells 112 und des schwächeren Sprachmodells 114 für die Eingabe 102 einen plausiblen Sprachinhalt vorher und gibt eine primäre Erkennungshypothese als Gitter 104 aus.
-
Bei dem schwächeren Sprachmodell 114 handelt es sich um ein Modell zum Schätzen einer Wahrscheinlichkeitsverteilung über eine Sequenz von Wörtern oder einen Satz hinweg. Das schwächere Sprachmodell 114 kann auf der Grundlage vorhergehender Wörter, die bereits in dem Satz festgestellt wurden, ein nachfolgendes Wort vorhersagen. Bei dem schwächeren Sprachmodell 114 kann es sich um ein Unigramm-Modell, ein N-Gramm-Modell, einen Sprachmodell mit maximaler Entropie oder ein Skipgram-Sprachmodell handeln, ohne auf diese beschränkt zu sein.
-
Wenn Ressourcen ohne beliebige Beschränkungen verfügbar sind, würde ein beliebiges Sprachmodell nach dem Stand der Technik genutzt werden. Verfügbare Ressourcen jedoch praktisch beschränkt und ein Anwenden eines stärkeren Sprachmodells in einem Frühstadium der Spracherkennung ist nicht effizient. Bei dem schwächeren Sprachmodell 114 handelt es sich um ein schwächeres Modell in einem Sinne, dass es weniger Rechenressourcen zum Erzeugen einer Hypothese als dasjenige ausgeklügelterer Sprachmodelle wie beispielsweise RNNs beinhaltet und eine Modellierungsfähigkeit hat, die den enthaltenen Rechenressourcen entspricht.
-
Bei dem Akustikmodell 112 handelt es sich um ein Modell zum Schätzen von Wahrscheinlichkeiten, um die Sequenz der akustischen Merkmale zu schätzen, wenn die Sequenz der Wörter gegeben ist. Das Akustikmodell 112 kann auf einem GMM/HMM-System (GMM = Gaussian Mixture Model, gaußsches Mischmodell) (HMM = Hidden Markov Model, verborgenes Markowmodell) oder auf einem NN/HMM-System (NN = Neural Network, neuronales Netz) beruhen, bei dem das NN anstelle des GMM im GMM/HMM-System verwendet wird, wobei das HMM verwendet wird, um die zeitliche Variabilität von Sprache zu bewältigen, und das GMM verwendet wird, um zu ermitteln, wie gut jeder Zustand jedes HMM in den Rahmen (Frame) oder in das kurzzeitige Fenster der Rahmen der Eingabe passt. Bei dem in den NN/HMM-Systemen genutzten neuronalen Netz kann es sich um eine Architektur handeln, die auf einem DNN (Deep Neural Network, tiefes neuronales Netz), einem CNN (Convolutional Neural Network, faltendes neuronales Netz) oder einem RNN beruht.
-
Der Decoder 110 gibt die primäre Erkennungshypothese als Gitter 104 aus. Das Gitter 104 stellt eine Mehrzahl von decodierten Sätzen dar. Das Gitter 104 kann eine Liste von Knoten und eine Liste von Kanten beinhalten. Jeder Knoten in dem Gitter 104 kann einen Zeitpunkt darstellen. Jede Kante, die zwischen einem gepaarten Start- und Endknoten verbunden ist, kann ein Wort darstellen, das ein Segment umspannt, das zum Zeitpunkt des Startknotens beginnt und zum Zeitpunkt des Endknotens endet. Bei der beschriebenen Ausführungsform ist der Decoder 110 so konfiguriert, dass die Mehrzahl von Hypothesen in der Form eines Gitters ausgegeben wird. Bei anderen Ausführungsformen kann der Decoder 110 die Hypothesen jedoch in einer Form einer Präfix-Baumstruktur oder einer Liste von N-besten Hypothesen ausgeben. Die Form der Darstellung der Hypothesen ist nicht beschränkt.
-
Das Gitter 104 kann Vertrauensinformationen beinhalten, die beim Erzeugen der primären Erkennungshypothese berechnet werden. Gemäß dem Akustikmodell 112 kann der Decoder 110 einen akustischen Punktwert für jede Einheit wie beispielsweise einen Rahmen und eine Statistik wie beispielsweise einen Durchschnitt von akustischen Werten über eine Mehrzahl von Einheiten hinweg berechnen, die jedem Wert entsprechen. Gemäß dem schwächeren Sprachmodell 114 kann der Decoder 110 für jedes Wort einen Sprachpunktwert berechnen. Des Weiteren kann der Decoder 110 durch Integrieren des akustischen Punktwertes und des Sprachpunktwertes einen Gesamt-Vertrauenspunktwert berechnen. Die Vertrauenspunktwerte einschließlich des akustischen Punktwertes, des durchschnittlichen akustischen Punktwertes, des Sprachpunktwertes, des Gesamt-Vertrauenspunktwertes oder der Kombination davon kann jedem Wort in dem Gitter 104 vergeben werden, und das Vertrauen der Erkennung hinsichtlich jedes Wortes wird durch diese Vertrauenspunktwerte dargestellt.
-
Das Neubewertungsmodul 120 ist so konfiguriert, dass jeder Satz in dem Gitter 104 unter Verwendung des RNN-Sprachmodells 130 neu bewertet und das neubewertete Gitter 106 ausgegeben wird. Das RNN-Sprachmodell 130 kann eine beliebige Architektur des rekurrenten Typs mit einem verborgenen Zustand haben, einschließlich eines grundlegenden rekurrenten neuronalen Netzes, von LSTMs (Long Short-Term Memory, langes Kurzzeitgedächtnis), Elman-Netzen, Jordan-Netzen, Hopfield-Netzen, GRUs (Gated Recurrent Unit) usw. Bei dem RNN handelt es sich um eine Klasse neuronaler Netze, die Verbindungen innerhalb einer Schicht beinhalten, im Gegensatz zu einen vorwärtsgerichteten Netz, das Verbindungen zwischen aufeinanderfolgenden Schichten beinhaltet. Das RNN-Sprachmodell 130 hat einen verborgenen Zustand, der eine unbegrenzte Historie vorhergehender Wörter darstellt und in der Lage ist, die Historie der vorhergehenden Wörter in dem verborgenen Zustand zu speichern. Zu beachten ist, dass die Begriffe „vorhergehend“ und „nachfolgend“ für „vorhergehend“ und „nachfolgend“ gemäß einer Richtung stehen, in der die Sequenz der Wörter in das RNN-Sprachmodell 130 eingeleitet wird.
-
Das RNN-Sprachmodell 130 hat eine stärkere Modellierungsfähigkeit als das schwächere Sprachmodell 114. Da die von der primären Spracherkennung erhaltenen Hypothesen dem Neubewerten von Hypothesen unterliegen, kann ein ausgeklügelteres und mehr Ressourcen in Anspruch nehmendes Sprachmodell genutzt werden, selbst wenn verfügbare Ressourcen praktisch beschränkt sind.
-
Das Neubewertungsmodul 120 bewertet jede Hypothese im ursprünglichen Gitter 104 unter Verwendung des RNN-Sprachmodells 130 neu, um den besten Weg durch das Gitter 104 zu finden oder die Pfade im ursprünglichen Gitter 104 neu einzustufen. Neue Sprachpunktwerte, die auf dem RNN-Sprachmodell 130 beruhen, werden berechnet, um den besten Pfad zu finden oder die Pfade in Kombination mit den akustischen Punktwerten neu einzustufen, die den ursprünglichen Gitter 104 vergeben wurden. Das neubewertete Gitter 106 stellt eine Mehrzahl der Sätze mit jeweiligen neuen Punktwerten dar. Das Verwenden des neubewerteten Gitters 106 zum Auswählen der besten Hypothese oder zum Neueinstufen der Hypothesen erfolgt optional und kann bei Bedarf vorgenommen werden.
-
Bei der beschriebenen Ausführungsform wird das ursprüngliche Gitter 104 direkt in das Neubewertungsmodul 120 eingegeben. Bei einer oder mehreren Ausführungsformen kann das ursprüngliche Gitter 104 vor oder während des Neubewertens jedoch einer anderen Verarbeitung wie beispielsweise Gittererweiterung unterzogen werden, um ein erweitertes Gitter zu erhalten.
-
Wie in 1 gezeigt, beinhaltet das Spracherkennungssystem 100 ferner ein Trainingsmodul 140, ein Trainingsdatenabänderungsmodul 150 und einen Trainingsdatenspeicher 160.
-
Das Trainingsdatenmodul 140 führt unter Verwendung vorgegebener Trainingsdaten einen Trainingsprozess durch, um das RNN-Sprachmodell 130 aufzubauen. Bei der beschriebenen Ausführungsform stellt der Trainingsdatenspeicher 160 eine Sammlung von Transkriptionen bereit. Die Transkriptionen werden durch menschliche Experten transkribiert. Automatisch transkribierter Text kann in einem bestimmten Fall wie beispielsweise einer Domänenanpassung ebenfalls in Erwägung gezogen werden.
-
Das RNN-Sprachmodell 130 kann durch Verwenden eines geeigneten Algorithmus trainiert werden. Das RNN kann durch Gradientenabstiegsverfahren wie beispielsweise vollständige oder gekürzte BPTT-Algorithmen (BPTT = Back-Propagation Through Time, Rückwärtsausbreitung über die Zeit) und RTRL-Algorithmen (RTRL = Real-Time Recurrent Learning, rekurrentes Lernen in Echtzeit) trainiert werden.
-
Wie oben beschrieben werden die im Trainingsdatenspeicher 160 gespeicherten Trainingssequenzen im Allgemeinen durch den menschlichen Experten transkribiert. Bei den durch Menschen transkribierten Texten liegen wenige Fehler vor. Andererseits beinhaltet das durch den Decoder 110 erzeugte Gitter 104 im Allgemeinen an verschiedenen Wortpositionen einen oder mehrere Fehler. Selbst ASR-Systeme nach dem Stand der Technik verstehen die Erkennung falsch. Ein derartiger Fehler in der Hypothese führt dazu, dass der verborgene Zustand des RNN-Sprachmodells 130 während des Neubewertungsprozesses kollabiert. Sogar ein Trend von Fehlern im automatisch transkribierten Trainingstext unterscheidet sich normalerweise von demjenigen von Fehlern, die bei Gittern 104 festgestellt werden. Somit besteht ein Bedarf, das RNN-Sprachmodell 130 zu trainieren, um derartige Fehler in der Hypothese zuzulassen.
-
Zu diesem Zweck ist das Trainingsdatenabänderungsmodul 150 gemäß der beispielhaften Ausführungsform so konfiguriert, dass die ursprünglichen Trainingsdaten abgeändert werden, um abgeänderte Trainingsdaten zu erzeugen, sodass das auf der Grundlage der abgeänderten Trainingsdaten trainierte RNN-Sprachmodell 130 derartige Fehler im Gitter 104 berücksichtigen kann.
-
Insbesondere ist das Trainingsdatenabänderungsmodul 150 so konfiguriert, dass jeder Trainingssatz aus dem Trainingsdatenspeicher 160 empfangen und der Trainingssatz in mehrere Teile aufgeteilt wird, von denen jeder ein oder mehrere Wörter beinhaltet.
-
2 beschreibt ein Schema einer Trainingsdatenabänderung zum Trainieren eines RNN-Sprachmodells 130. Wie in 2 gezeigt, wird der Trainingssatz 200 an einer Aufteilungsposition 206, die nach dem Zufallsprinzip ermittelt werden kann, in zwei Teile 202, 204 unterteilt.
-
Das Trainingsdatenabänderungsmodul 150 ist ferner so konfiguriert, dass ein Teil der mehreren Teile je nach der Neubewertungsrichtung des RNN-Sprachmodells 130 ausgewählt wird. Bei der beschriebenen Ausführungsform wird das RNN-Sprachmodell 130 so trainiert, dass es ein nächstes Wort in einem Satz auf der Grundlage ab dem Beginn des Satzes angegebener vorheriger Wörter vorhersagt. Somit handelt es sich bei der Richtung des Neubewertens des RNN-Sprachmodells 130 um eine Vorwärtsrichtung. In diesem Fall wird der hintere Teil 204 aus den mehreren Teilen 202, 204 ausgewählt. Zu beachten ist, dass die Begriffe „nächst“ und „vorherig“ für „nächst“ und „vorherig“ entsprechend der Richtung des Satzes stehen.
-
Das Trainingsdatenabänderungsmodul 150 ist ferner so konfiguriert, dass ein vorgegebenes Symbol an einer Umgrenzung (oder Kante) des ausgewählten Teils hinzugefügt wird. Bei der beschriebenen Ausführungsform ist die Umgrenzung, an der das vorgegebene Symbol hinzugefügt wird, ein Beginn des hinteren Teils 204, und das vorgegebene Symbol stellt einen Beginn einer Sequenz (beginning of a sequence, BOS) oder einen Start eines Satzes (start of a sentence, SOS) dar. Somit beinhalten die abgeänderten Trainingsdaten 210 den ausgewählten hinteren Teil 204 und das vorgegebene Symbol 208, das an dessen Beginn hinzugefügt wurde. Zu beachten ist, dass der nicht ausgewählte vordere Teil 202 aus den Trainingsdaten verworfen werden kann.
-
Bei der beschriebenen Ausführungsform handelt es sich bei der Neubewertungsrichtung des RNN-Sprachmodells 130 um die Vorwärtsrichtung. Bei anderen Ausführungsformen kann das RNN-Sprachmodell 130 jedoch so trainiert werden, dass es ein vorheriges Wort in einem Satz auf der Grundlage ab dem Ende des Satzes angegebener nächster Wörter vorhersagt. In diesem Fall handelt es sich bei der Neubewertungsrichtung des RNN-Sprachmodells 130 um eine Rückwärtsrichtung. Wenn es sich bei der Neubewertungsrichtung des RNN-Sprachmodells 130 um die Rückwärtsrichtung handelt, wird der vordere Teil 202 aus den mehreren Teilen 202, 204 ausgewählt, und bei der Umgrenzung, an der das vorgegebene Symbol hinzugefügt wird, handelt es sich um ein Ende des vorderen Teils 202. Auch in diesem Fall stellt das vorgegebene Symbol ein Ende einer Sequenz (end of a sequence, EOS) dar.
-
Anstelle des Hinzufügens des Satzbeginn- oder Satzendesymbols, von denen beide die gleichen sind, da Symbole einen ordnungsgemäßen Beginn eines Satzes und ein ordnungsgemäßes Ende eines Satzes darstellen, kann es sich bei weiteren anderen Ausführungsformen bei dem vorgegebenen Symbol um ein Sondersymbol handeln, das ein Auftreten eines Fehlers einer Spracherkennung (z.B. ASR_ERROR) darstellt. Bei dieser Ausführungsform wird das RNN-Sprachmodell 130 so trainiert, dass es ein zusätzliches Token enthält, das dem Sondersymbol (ASR_ERROR) entspricht, was es möglich macht, einen natürlichen Beginn oder ein natürliches Ende des Satzes und einen absichtlich erstellten Beginn oder ein absichtlich erstelltes Ende des Satzes in unterschiedlicher Weise zu behandeln.
-
Wie vorstehend beschrieben, wird die Aufteilungsposition nach dem Zufallsprinzip ermittelt. Bei anderen Ausführungsformen kann die Aufteilungsposition jedoch statistisch ermittelt werden, sodass der Trainingssatz an einer Position aufgeteilt wird, an der Erkennungsfehler wahrscheinlich auftreten, oder an einer Position nicht aufgeteilt wird, an der Erkennungsfehler weniger wahrscheinlich auftreten.
-
Zu beachten ist, dass das Trainingsdatenmodul 150 nicht alle im Trainingsdatenspeicher 160 gespeicherten Trainingssätze abändert. Die aufzuteilenden Trainingssätze können aus der Sammlung der Trainingssätze im Trainingsdatenspeicher 160 mit einer vorgegebenen Rate nach dem Zufallsprinzip ermittelt werden. Zum Beispiel kann nur ein Satz aus einer vorgegebenen Anzahl von Sätzen (Raten im Bereich von ca. 10 % bis 50 %) der Trainingsdatenabänderung unterliegen.
-
Bei der beschriebenen Ausführungsform wird nur ein Trainingsdatensatz beschrieben, der zum Erzeugen eines abgeänderten Trainingssatzes herausgegriffen werden soll. Bei anderen Ausführungsformen kann derselbe Trainingssatz jedoch mehrmals herausgegriffen werden, um mehrere abgeänderte Trainingssätze mit unterschiedlichen Aufteilungspositionen zu erzeugen. In diesem Fall kann gesagt werden, dass die Trainingsdaten angereichert werden. Des Weiteren kann der abgeänderte Trainingsplatz 210, bei dem es sich um eine Hälfte eines ursprünglichen Satzes handelt und der durch eine vorherige Trainingsdatenabänderung erhalten wurde, ferner einer anschließenden Trainingsdatenabänderung unterzogen werden.
-
Das Trainingsmodul 140 ist so konfiguriert, dass das RNN-Sprachmodell 130 unter Verwendung der abgeänderten Trainingsdaten im Allgemeinen zusammen mit den ursprünglichen Trainingssätzen trainiert wird, die ohne Datenabänderung im Trainingsdatenspeicher 160 gespeichert sind. Bei der beschriebenen Ausführungsform werden die der Trainingsdatenabänderung unterzogenen ursprünglichen Trainingsdaten nicht mehr zum Trainieren verwendet. Bei anderen Ausführungsformen können die der Trainingsdatenabänderung unterzogenen ursprünglichen Trainingsdaten jedoch nach wie vor als Trainingsdaten verwendet werden.
-
Wie vorstehend beschrieben, kann das durch das Trainingsmodul 140 trainierte RNN-Sprachmodell 130 zum Neubewerten von Hypothesen verwendet werden, das durch das Neubewertungsmodul 120 durchgeführt wird. Infolge der Trainingsdatenabänderung kann das RNN-Sprachmodell 130 trainiert werden, um Wahrscheinlichkeiten zu schätzen, die ab der Mitte des Satzes beginnen oder in der Mitte des Satzes enden. Unerwarteterweise trug dies dazu bei, die negative Auswirkung infolge eines in der Hypothese festgestellten Fehlers abzumildern. Zu beachten ist außerdem, dass bei anderen Ausführungsformen das durch das Trainingsmodul 140 trainierte RNN-Sprachmodell 130 zu einen Decodierungsprozess verwendet werden kann, der durch den Decoder 110 durchgeführt wird.
-
Die vorstehend erwähnte Trainingsdatenabänderung trägt zu einer Verbesserung der Leistung des Spracherkennungssystems 100 bei. Des Weiteren kann durch ein Ändern der Logik der Neubewertungsverarbeitung eine weitere Verbesserung der Leistung des Spracherkennungssystems 100 erwartet werden.
-
Das Neubewertungsmodul 120 bewertet jeden Eingangssatz im ursprünglichen Gitter 104 neu. Bei einer bevorzugten Ausführungsform ist das Neubewertungsmodul 120 ferner so konfiguriert, dass eine im RNN-Sprachmodell 130 gespeicherte Historie mindestens teilweise verworfen wird, wenn eine vorgegebene Bedingung erfüllt ist. Bei der vorgegebenen Bedingung handelt es sich um eine Bedingung im Zusammenhang mit dem Vertrauen der Spracherkennung hinsichtlich eines Wortes im Eingangssatz, die verwendet wird, um ein unsicheres Wort zu erfassen, das wahrscheinlich einen Fehler enthält. Bei der beschriebenen Ausführungsform beinhaltet die vorgegebene Bedingung einen Schwellenwert für Vertrauensinformationen (z.B. einen durchschnittlichen akustischen Punktwert, einen Sprachpunktwert, einen Gesamtpunktwert), die für ein Wort im Eingangssatz angegeben sind. Der Schwellenwert kann empirisch oder statistisch ermittelt werden. Bei anderen Ausführungsformen kann eine ausgeklügeltere Bedingung in Betracht gezogen werden. Zum Beispiel kann ein anderes neuronales Netz, das zum Beurteilen der zeitlichen Steuerung des Verwerfens der Historie trainiert ist, verwendet werden, um eine Ermittlung vorzunehmen, ob die vorgegebene Bedingung erfüllt ist.
-
Da die Historie durch den verborgenen Zustand des RNN-Sprachmodells 130 dargestellt wird, kann die Historie verworfen werden, indem der verborgene Zustand des RNN-Sprachmodells 130 auf einen Zustand zurückgesetzt wird, der das vorgegebene Symbol, bei dem es sich um den Beginn des Satzes (<BOS>) handelt, wenn es sich bei der Richtung des Modells um die Vorwärtsrichtung handelt, und um das Ende des Satzes (<EOS>), wenn es sich bei der Richtung des Modells um die Rückwärtsrichtung handelt, oder das Sondersymbol (<ASR_ERROR>) akzeptiert hat, wenn es verwendet wird. Das Neubewerten kann erneut gestartet werden, nachdem das Wort die vorgegebene Bedingung erfüllt hat.
-
Bei bestimmten Ausführungsformen kann jedes der in 1 beschriebenen Module 110, 120, 140 und 150 als Softwaremodul, das Anweisungen und/oder Datenstrukturen beinhaltet, in Verbindung mit Hardwarekomponenten wie beispielsweise einem Prozessor, einem Speicher usw.; als Hardwaremodul, das elektronische Schaltungen beinhaltet; oder als Kombination davon realisiert sein, ohne auf diese beschränkt zu sein. Diese in 1 beschriebenen Module 110, 120, 140 und 150 können auf einem einzelnen Computersystem wie beispielsweise einem Personal Computer, einer Server-Maschine oder in einer verteilten Art und Weise über eine Mehrzahl von Einheiten wie beispielsweise einem Client-Server-System, einem Edge-Datenverarbeitungssystem, einem Computer-Cluster hinweg realisiert sein.
-
Im Folgenden wird hierin unter Bezugnahme auf ein in 3 gezeigtes Flussdiagramm ein Prozess zum Trainieren eines RNN-Sprachmodells mit Trainingsdatenabänderung gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung beschrieben.
-
Zu beachten ist, dass der in 3 gezeigte Prozess durch das Trainingsmodul 140 mit dem Trainingsdatenänderungsmodul 150 ausgeführt wird, d.h. durch eine Verarbeitungseinheit, die das Trainingsmodul 140 und das Trainingsdatenänderungsmodul 150 realisiert, die in 1 gezeigt sind. Außerdem wird der in 3 gezeigte Prozess verwendet, um das RNN-Sprachmodell 130 zu trainieren, sodass es vorwärts vorhersagt. Somit handelt es sich bei der Richtung des Neubewertens des zu trainierenden RNN-Sprachmodells 130 um eine Vorwärtsrichtung.
-
Der in 3 gezeigte Prozess kann bei Schritt S100 als Reaktion auf ein Empfangen einer Anforderung von einem Bediener zum Trainieren des RNN-Sprachmodells 130 beginnen. Zu beachten ist, dass ein neues RNN-Modell (z.B. kurz nach dem Zufallsprinzip initialisiert) oder ein vortrainiertes Modell vorgegeben sein kann.
-
Bei Schritt S101 kann die Verarbeitungseinheit einen Trainingssatz aus dem Trainingsdatenspeicher 160 lesen. Die Sammlung der zum Training zu verbindenden Trainingssätze kann in der Anforderung bezeichnet sein.
-
Bei Schritt S102 kann die Verarbeitungseinheit ermitteln, ob der aus dem Trainingsdatenspeicher 160 gelesene Trainingssatz der Trainingsdatenabänderung unterliegt. Zum Beispiel kann nur einer aus mehreren Sätzen der Trainingsdatenabänderung unterliegen. Die vorgegebene Rate kann in der Anforderung bezeichnet sein. Wenn die Verarbeitungseinheit bei Schritt S102 feststellt, dass der aktuelle Trainingssatz der Trainingsdatenabänderung unterliegt, kann der Prozess zu Schritt S103 übergehen.
-
Bei Schritt S103 kann die Verarbeitungseinheit nach dem Zufallsprinzip eine Aufteilungsposition in dem Trainingssatz ermitteln.
-
Bei Schritt S104 kann die Verarbeitungseinheit die Trainingssequenz an der in Schritt S103 ermittelten Aufteilungsposition in mehrere Teile aufteilen und je nach der Richtung des RNN-Sprachmodells 130 einen Teil der mehreren Teile auswählen. Bei dem in 3 gezeigten Prozess handelt es sich bei der Richtung des RNN-Sprachmodells 130 um die Vorwärtsrichtung, sodass der hintere Teil ausgewählt wird.
-
Bei Schritt S105 kann die Verarbeitungseinheit am Beginn des hinteren Teils 204 ein Satzbeginnsymbol 208 hinzufügen, um die abgeänderten Trainingsdaten 210 zu erzeugen, wie unter Bezugnahme auf 2 beschrieben. Die abgeänderten Trainingsdaten 210 beinhalten den ausgewählten hinteren Teil 204 und das vorgegebene Symbol 208.
-
Wenn die Verarbeitungseinheit bei Schritt S102 feststellt, dass der aktuelle Trainingssatz nicht der Trainingsdatenabänderung unterliegt, kann der Prozess direkt zu Schritt S106 übergehen.
-
Bei Schritt S106 kann die Verarbeitungseinheit eine Iteration des Trainings des RNN-Sprachmodells 130 mit den abgeänderten oder den ursprünglichen Trainingsdaten durchführen. Zu beachten ist, dass die Iteration des Trainings bei jedem Trainingssatz (z.B. Online-Training) oder bei einer vorgegebenen Gruppe von Trainingssätzen (z.B. (Stapeltraining (Batch-Training), Ministapeltraining) durchgeführt werden kann.
-
Bei Schritt S107 kann die Verarbeitungseinheit ermitteln, ob eine Endebedingung erfüllt ist. Wenn zum Beispiel die vorgegebene Anzahl von Epochen beendet wurde, wird die Endebedingung als erfüllt festgestellt. Wenn die Verarbeitungseinheit bei Schritt S107 feststellt, dass die Endebedingung noch nicht erfüllt ist, kann der Prozess zur weiteren Iteration in einer Schleife zu Schritt S101 zurückkehren. Wenn die Verarbeitungseinheit bei Schritt S107 andererseits feststellt, dass die Endebedingung bereits erfüllt ist, kann der Prozess zu Schritt S108 übergehen, und der Prozess kann bei Schritt S108 enden.
-
Gemäß dem Verfahren zum Trainieren des RNN-Sprachmodells mit der in 3 gezeigten Trainingsdatenabänderung kann das RNN-Sprachmodell 130 trainiert werden, sodass Wahrscheinlichkeiten ab der Mitte der Sequenz beginnend geschätzt werden. Unerwarteterweise trug dies dazu bei, die negative Auswirkung infolge eines in der Hypothese festgestellten Fehlers abzumildern, wodurch das Modell beim Neubewerten der Hypothese widerstandsfähiger gegenüber einem Fehler in der Hypothese wurde. Dementsprechend sollen Fehlerraten des neubewerteten Ergebnisses 106 im Vergleich zum ursprünglichen Gitter 104 abnehmen.
-
Im Folgenden wird hierin unter Bezugnahme auf 4 zusammen mit den 5 und 6 der Neubewertungsprozess mit Rücksetzbetrieb gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung beschrieben. Zu beachten ist, dass der unter Bezugnahme auf eine Reihe der 4 bis 6 gezeigte Neubewertungsprozess durch das Neubewertungsmodul 120 mit dem RNN-Sprachmodul 130 ausgeführt werden kann, d.h. durch eine Verarbeitungseinheit, die das Neubewertungsmodul 120 und das RNN-Sprachmodul 130 realisiert, die in 1 gezeigt sind. Zu beachten ist außerdem, dass es sich bei der Neubewertungsrichtung des RNN-Sprachmodells 130 um die Vorwärtsrichtung handelt.
-
Zunächst kann das Neubewertungsmodul 120 das RNN-Sprachmodul 130 zum Neubewerten der Hypothese zum Beispiel in einem Speicher vorbereiten. Danach wird das Gitter 104 durch das Neubewertungsmodul 120 gelesen. Wie ebenfalls in 4 gezeigt, beinhaltet das Gitter 104 eine Mehrzahl von Knoten 104a und eine Mehrzahl von Kanten 104b (zu Darstellungszwecken wurden nur einem Knoten und nur einer Kante Bezugszeichen vergeben). Jeder Knoten 104a in dem Gitter 104 kann einen Zeitpunkt darstellen. Jede Kante 104b, die zwischen einem gepaarten Start- und Endknoten verbunden ist, kann ein Wort darstellen, das ein Segment umspannt, das zum Zeitpunkt des Startknotens beginnt und zum Zeitpunkt des Endknotens endet. Obwohl eine Mehrzahl von Pfaden in dem Gitter 104 gezeichnet sein kann, liegt der Schwerpunkt hier auf einem Eingangssatz 104c, um den Betrieb des Neubewertungsprozesses zu beschreiben.
-
Das Neubewertungsmodul 120 leitet jedes Wort in dem Eingangssatz 104c entsprechend der Richtung, bei der es sich bei der beschriebenen Ausführungsform um die Vorwärtsrichtung handelt, nacheinander in das RNN-Sprachmodell 130 ein. Somit wird eine Wortsequenz {<BOS>, V, W, X, Y, Z, <EOS>} in dieser Reihenfolge in das RNN-Sprachmodell 130 eingeleitet. Das Neubewertungsmodul 120 empfängt von dem RNN-Sprachmodell 130 Sprachmodellwahrscheinlichkeiten, um einen neuen Sprachpunktwert zu erhalten.
-
5 beschreibt ein Schema des normalen Betriebs im Neubewertungsprozess. Wenn in der Hypothese kein unsicheres Wort vorliegt, wird bei jedem Mal, wenn ein Wort in das RNN-Sprachmodell 130 eingeleitet wird, die Historie der vorhergehenden (vorherigen) Wörter in dem verborgenen Zustand 130a des RNN-Sprachmodells 130 akkumuliert. Der verborgene Zustand kann die berechnete Wahrscheinlichkeit der nachfolgenden (nächsten) Wörter beeinflussen.
-
Unter erneuter Bezugnahme auf 4 kann das Neubewertungsmodul 120 beim Neubewerten des Eingangssatzes gemäß der beispielhaften Ausführungsform den verborgenen Zustand 130a des RNN-Sprachmodells 130 auf einen Zustand zurücksetzen, der das vorgegebene Symbol (den Beginn des Satzes bei der beschriebenen Ausführungsform) als Reaktion darauf akzeptiert hat, dass eine vorgegebene Bedingung erfüllt ist. Bei der vorgegebenen Bedingung handelt es sich um eine Bedingung im Zusammenhang mit dem Vertrauen der Erkennung hinsichtlich eines Eingangswortes im Eingangssatz 104c. Die vorgegebene Bedingung wird verwendet, um ein unsicheres Wort zu erfassen, das wahrscheinlich einen Fehler enthält. Bei der beschriebenen Ausführungsform beinhaltet die vorgegebene Bedingung einen Schwellenwert für einen Vertrauenspunktwert (z.B. einen durchschnittlichen akustischen Punktwert, einen Sprachpunktwert, einen Gesamtpunktwert), der für ein Wort im Eingangssatz angegeben ist. Wenn ein Wort mit einem niedrigeren Vertrauenspunktwert als der Schwellenwert gefunden wird, setzt das Neubewertungsmodul 120 den verborgenen Zustand 130a des RNN-Sprachmodells 130 zurück.
-
6 beschreibt ein Schema des Rücksetzbetriebs im Neubewertungsprozess. Wenn in der Hypothese ein unsicheres Wort (X) vorliegt, wird die im verborgenen Zustand des RNN-Sprachmodells 130 akkumulierte Historie der vorhergehenden (vorherigen) Wörter zu einem Zeitpunkt verworfen, nachdem das unsichere Wort (X) eingeleitet wurde. Das Neubewerten wird nach dem Wort erneut gestartet, das die vorgegebene Bedingung (X) erfüllt, als ob der hintere Teil des Eingangssatzes ab der Position des unsicheren Wortes (X) gestartet wird. Der vordere Teil des Eingangssatzes einschließlich des unsicheren Wortes (X) kann beibehalten werden. Somit wird der Punktwert der Eingangssequenz {<BOS>, V, W, X, Y, Z, <EOS>} als Summe von Punktwerten des vorderen Teils {<BOS>, V, W, X} und des hinteren Teils {<BOS>, Y, Z, <EOS>} berechnet. Infolgedessen kann das schwallartige Auftreten von Fehlern verhindert werden.
-
Gemäß dem in den 4 bis 6 zum Neubewerten eines Eingangssatzes mit Rücksetzbetrieb gezeigt Prozess sollen Fehlerraten des neubewerteten Gitters 106 im Vergleich zu dem ursprünglichen Gitter 104 der Spracherkennung sowie ein neubewertetes Gitter abnehmen, ohne dass die Historie auf der Grundlage des Vertrauens der Spracherkennung verworfen wird. Da die negative Auswirkung aufgrund eines Fehlers in der Hypothese abgemildert werden kann, ermöglicht sie dem RNN-Sprachmodell 130, das Neubewerten der Hypothese entsprechend durchzuführen, selbst wenn die Hypothese einen Fehler beinhaltet.
-
Wenn ein Wort, das Bedenken hinsichtlich des Vertrauens enthält, in der Hypothese beinhaltet ist, verhindert ein Zurücksetzen, dass ein derartiges Wort den Kollaps des verborgenen Zustands des RNN-Sprachmodells 130 herbeiführt. Ein derartiges unsicheres Element in der Hypothese kann einen sinnvollen verborgenen Zustand für nachfolgende Wörter verbreiten, die nach den unsicheren Wörtern in der Hypothese ein schwallartiges Auftreten von Fehlern unterdrücken. Dadurch kann der Punktwert für die Hypothese nach dem unsicheren Element mit einem sinnvollen verborgenen Zustand berechnet werden.
-
Des Weiteren wird das RNN-Sprachmodell 130 trainiert, um ab der Mitte der Sequenz beginnend oder dort endend Wahrscheinlichkeiten zu schätzen, wenn das durch das Trainingsmodul 140 mit dem Trainingsdatenänderungsmodul 150 trainierte RNN-Sprachmodell 130 genutzt wird. Die negative Auswirkung aufgrund eines Fehlers in der Hypothese kann weiter abgemildert werden. Es ist möglich, beim Neubewerten der Hypothese eine höhere Modellwiderstandsfähigkeit des RNN-Sprachmodells 130 gegenüber Fehlern in der Hypothese herbeizuführen. Ein Kombinieren mit den Eigenschaften des RNN-Sprachmodells 130 verringert Fehlerraten der neubewerteten Gitter 104 weiter.
-
Bei der vorstehend erwähnten Ausführungsform ist die Richtung des RNN-Sprachmodells 130 als Vorwärtsrichtung beschrieben. Unter Bezugnahme auf ein in 7 gezeigtes Flussdiagramm wird ein Prozess zum Trainieren eines rückwärtsgerichteten RNN-Sprachmodells mit Trainingsdatenabänderung gemäß einer anderen beispielhaften Ausführungsform der vorliegenden Erfindung beschrieben.
-
Zu beachten ist, dass der in 7 gezeigte Prozess durch das Trainingsmodul 140 mit dem Trainingsdatenänderungsmodul 150 ausgeführt wird, d.h. durch eine Verarbeitungseinheit, die das Trainingsmodul 140 und das Trainingsdatenänderungsmodul 150 realisiert, die in 1 gezeigt sind. Der in 7 gezeigte Prozess kann bei Schritt S200 als Reaktion auf ein Empfangen einer Anforderung von einem Bediener zum Trainieren des RNN-Sprachmodells 130 beginnen.
-
Bei Schritt S201 kann die Verarbeitungseinheit einen Trainingssatz aus dem Trainingsdatenspeicher 160 lesen. Bei Schritt S202 kann die Verarbeitungseinheit nach dem Zufallsprinzip eine Aufteilungsposition in dem Trainingssatz ermitteln. Bei Schritt S203 kann die Verarbeitungseinheit die Trainingssequenz an der in Schritt S202 ermittelten Aufteilungsposition in mehrere Teile aufteilen und je nach der Richtung des RNN-Sprachmodells 130 einen Teil der mehreren Teile auswählen. Bei dem in 7 gezeigten Prozess handelt es sich bei der Richtung des RNN-Sprachmodells 130 um die Rückwärtsrichtung, sodass der vordere Teil ausgewählt wird.
-
Bei Schritt S204 kann die Verarbeitungseinheit am Ende des vorderen Teils ein Sequenzendesymbol <EOS> hinzufügen, um die abgeänderten Trainingsdaten zu erzeugen. Die abgeänderten Trainingsdaten beinhalten den ausgewählten vorderen Teil und das an dessen Ende hinzugefügte vorgegebene Symbol <EOS>. Zu beachten ist, dass der nicht ausgewählte hintere Teil aus den Trainingsdaten verworfen werden kann. Bei Schritt S205 kann die Verarbeitungseinheit den vorderen Teil mit dem vorgegebenen Symbol als abgeänderte Trainingsdaten in den Trainingsdatenspeicher 160 speichern.
-
Bei Schritt S206 kann die Verarbeitungseinheit ermitteln, ob eine Endebedingung erfüllt ist. Wenn zum Beispiel eine vorgegebene Menge der Trainingsdaten verarbeitet wurde, wird die Endebedingung als erfüllt festgestellt. Wenn die Verarbeitungseinheit bei Schritt S206 feststellt, dass die Endebedingung noch nicht erfüllt ist, kann der Prozess zur weiteren Trainingsdatenabänderung in einer Schleife zu Schritt S201 zurückkehren. Wenn die Verarbeitungseinheit bei Schritt S206 andererseits feststellt, dass die Endebedingung bereits erfüllt ist, kann der Prozess zu Schritt S207 übergehen.
-
Bei Schritt S207 kann die Verarbeitungseinheit Iterationen des Trainings des RNN-Sprachmodells 130 unter Verwendung der abgeänderten und der ursprünglichen Trainingsdaten durchführen, die im Trainingsdatenspeicher 160 gespeichert sind. Zu beachten ist, dass die Iteration des Trainings bei jedem Trainingssatz oder einer Gruppe von Trainingssätzen durchgeführt werden kann. Zum Beispiel kann eine vorgegebene Anzahl von Epochen wiederholt durchgeführt werden. Und der Prozess kann bei Schritt S208 enden.
-
Im Folgenden wird hierin unter Bezugnahme auf 4 zusammen mit 8 der Neubewertungsprozess mit Rücksetzbetrieb gemäß der anderen beispielhaften Ausführungsform der vorliegenden Erfindung weiter beschrieben. Zu beachten ist, dass der mit den 4 und 8 beschriebene Neubewertungsprozess durch eine Verarbeitungseinheit ausgeführt werden kann, die das Neubewertungsmodul 120 und das RNN-Sprachmodul 130 realisiert, die in 1 gezeigt sind. Zu beachten ist außerdem, dass es sich bei der Neubewertungsrichtung des RNN-Sprachmodells 130 gemäß der anderen beispielhaften Ausführungsform um eine Rückwärtsrichtung handelt.
-
Zunächst kann das Neubewertungsmodul 120 das rückwärtsgerichtete RNN-Sprachmodul 130 zum Beispiel in einem Speicher vorbereiten. Danach wird das Gitter 104 durch das Neubewertungsmodul 120 gelesen. Das Neubewertungsmodul 120 leitet jedes Wort in dem Eingangssatz 104c entsprechend der Richtung, bei der es sich bei der beschriebenen Ausführungsform um die Rückwärtsrichtung handelt, nacheinander in das rückwärtsgerichtete RNN-Sprachmodell 130 ein. Somit wird eine Wortsequenz {<BOS>, V, W, X, Y, Z, <EOS>} in einer umgekehrten Reihenfolge, d.h. {<EOS>, Z, Y, X, W, V, <BOS>}, in das RNN-Sprachmodell 130 eingeleitet.
-
Wenn in der Hypothese kein unsicheres Wort vorliegt, wird bei jedem Mal, wenn ein Wort in das rückwärtsgerichtete RNN-Sprachmodell 130 eingeleitet wird, die Historie der vorhergehenden (nächsten) Wörter in dem verborgenen Zustand 130a des RNN-Sprachmodells 130 akkumuliert. Der verborgene Zustand kann die berechnete Wahrscheinlichkeit der nachfolgenden (vorherigen) Wörter beeinflussen.
-
Beim Neubewerten des Eingangssatzes kann das Neubewertungsmodul 120 den verborgenen Zustand 130a des RNN-Sprachmodells 130 auf einen Zustand zurücksetzen, der das vorgegebene Symbol (das Ende des Satzes bei der beschriebenen Ausführungsform) als Reaktion darauf akzeptiert hat, dass eine vorgegebene Bedingung erfüllt ist. Wenn ein Wort mit einem niedrigeren Vertrauenspunktwert als der Schwellenwert gefunden wird, setzt das Neubewertungsmodul 120 den verborgenen Zustand 130a des RNN-Sprachmodells 130 zurück.
-
8 beschreibt ein Schema des Rücksetzbetriebs im Neubewertungsprozess unter Verwendung des rückwärtsgerichteten RNN-Sprachmodells. Wenn in der Hypothese ein unsicheres Wort (X) vorliegt, wird die im verborgenen Zustand des RNN-Sprachmodells 130 akkumulierte Historie der vorhergehenden (nächsten) Wörter zu einem Zeitpunkt verworfen, nachdem das unsichere Wort (X) eingeleitet wurde. Das Neubewerten wird nach dem Wort erneut gestartet, das die vorgegebene Bedingung (X) erfüllt, als ob der vordere Teil des Eingangssatzes an der Position des unsicheren Wortes (X) beendet wird. Ein hinterer Teil des Eingangssatzes vor der Position des unsicheren Wortes (X) kann beibehalten werden.
-
Gemäß den vorstehend erwähnten Ausführungsformen der vorliegenden Erfindung wird eine Technik bereitgestellt, die zum Trainieren eines Modells in der Lage ist, das zum Neubewerten von Hypothesen verwendet wird, wobei eine negative Auswirkung aufgrund eines Fehlers in der Hypothese abgemildert wird. Ebenfalls gemäß den vorstehend erwähnten Ausführungsformen der vorliegenden Erfindung wird eine Technik bereitgestellt, die zum Neubewerten einer Hypothese mit verbesserter Leistung in der Lage ist.
-
Zu Sprachen, auf die die neuartige Trainingsdatenabänderung und/oder der neuartige Neubewertungsprozess anwendbar sein können, gehören zum Beispiel Arabisch, Chinesisch, Englisch, Französisch, Deutsch, Japanisch, Koreanisch, Portugiesisch, Russisch und Spanisch, sind aber keineswegs auf diese beschränkt.
-
Des Weiteren wird das RNN-Sprachmodell 130 bei den vorstehend erwähnten Ausführungsformen zum Neubewerten von Hypothesen als Modell verwendet, das in der Lage ist, eine Historie eines oder mehrerer vorhergehender Elemente oder Wörter zu speichern. Das RNN wird bevorzugt, da der verborgene Zustand des RNN-Sprachmodells eine unbegrenzte Historie vorhergehender Elemente oder Wörter darstellen kann. Es kann jedoch auch ein anderes Modell wie beispielsweise ein N-Gramm-Sprachmodell in Betracht gezogen werden, das ebenfalls in der Lage ist, eine Historie einer vorgegebenen Anzahl vorhergehender Elemente zu speichern.
-
Des Weiteren werden bei den vorstehend erwähnten Ausführungsformen die neuartige Trainingsdatenabänderung und der neuartige Neubewertungsprozess auf die Spracherkennung angewendet. Eine derartige negative Auswirkung auf das Neubewerten von Hypothesen aufgrund eines Fehlers in einer Hypothese kann jedoch auch bei verschiedenen anderen Erkennungsaufgaben als der der Spracherkennung entstehen. Bei einer oder mehreren Ausführungsformen kann der Erkennungsprozess, auf den die neuartige Trainingsdatenabänderung und/oder der neuartige Neubewertungsprozess angewente wird, Maschinenübersetzung, Markieren von Wortarten, Syntaxanalyse, optische Zeichenerkennung, Handschriftenerkennung, Aufnehmen von Bildern oder Aufnehmen von Videos aufweisen.
-
Experimentelle Untersuchungen
-
Ein Programm, das das in 1 gezeigte System, den in 3 gezeigten Trainingsprozess und den in 4 gezeigten Neubewertungsprozess gemäß der beispielhaften Ausführungsform realisiert, wurde codiert und ausgeführt.
-
Ein LSTM-Akustikmodell und ein großes N-Gramm-Sprachmodell wurden als Akustikmodell 112 bzw. als schwaches Sprachmodell 114 zum primären Decodieren verwendet. Das ASR-System einschließlich des LSTM-Akustikmodells und des großen N-Gramm-Sprachmodells wurden ohne Neubewerten von Gittern als Vergleichsbeispiel 1 verwendet.
-
Ein LSTM-Sprachmodell wurde als RNN-Sprachmodell 130 zum Neubewerten von Hypothesen verwendet. Ein Telefon-Sprachkorpus für Forschung und Entwicklung, SWITCHBOARD, einschließlich 262 Stunden Switchboard-1-Audio mit Abschriften, die durch die Mississippi State University bereitgestellt wurden, und 1.698 Stunden aus der Fisher-Datensammlung und 15 Stunden CallHome-Audio wurden verwendet. Transkriptionen von fast 2.000 Stunden der Audiodaten wurden zum Trainieren des LSTM-Sprachmodells verwendet. Bei Beispiel 1 und Beispiel 3 wurde das LSTM-Sprachmodell mit der Trainingsdatenabänderungsfunktion trainiert. Nur 30 % der Trainingssätze wurden der Trainingsdatenabänderung unterzogen. Andererseits wurde das LSTM-Sprachmodell bei Beispiel 2 und bei Vergleichsbeispiel 2 ohne die Trainingsdatenabänderung trainiert.
-
Bei Beispiel 1 und bei Vergleichsbeispiel 2 wurde bei der Spracherkennung ein standardmäßiges Neubewerten ohne Zurücksetzen durchgeführt. Andererseits wurde bei Beispiel 2 und Beispiel 3 bei der Spracherkennung das neuartige Neubewerten mit Zurücksetzen durchgeführt. Der durchschnittliche akustische Punktwert, der für eine Dauer berechnet wurde, die jedem Wort entsprach, wurde als Vertrauenspunktwert verwendet, und drei Standardabweichungen auf der niedrigeren Seite des Mittelwertes (Durchschnitt - 3σ(sigma)) wurden als Schwellenwert für den Vertrauenspunktwert verwendet. Die mittlere Abweichung und die Standardabweichung wurden durch die 100 besten Hypothesen für jedes Gitter 104 geschätzt.
-
Danach wurde die ASR-Genauigkeit der aufgebauten Spracherkennungssysteme der Beispiele 1 bis 3 und des Vergleichsbeispiels 1 und 2 unter Verwendung von Validierungsdaten im SWITCHBOARD-Datensatz ausgewertet. Die WER (Word Error Rate, Wortfehlerrate) wurde als ASR-Genauigkeitsmaß genutzt. Die WER des ASR-Referenzsystems betrug 7,2 %, was bedeutet, dass das ASR-Referenzsystem eine starke Modellierungsfähigkeit hat, selbst vor dem Neubewerten von Gittern (Vergleichsbeispiel 1).
-
Die ausgewerteten Ergebnisse der Beispiele 1 bis 3 und der Vergleichsbeispiele 1 und 2 sind wie folgt zusammengefasst:
Bedingungen | Trainingsdatenabänderung | Neubewerten von Gittern mit Zurücksetzen | Standardmäßiges Neubewerten von Gittern | WER [%] |
Vergleichsbeispiel 1 | - | - | - | 7,2 |
Vergleichsbeispiel 2 | - | - | * | 6,9 |
Beispiel 1 | * | - | - | 6,7 |
Beispiel 2 | - | * | - | 6,9 |
Beispiel 3 | * | * | - | 6,6 |
Das Symbol „*“ bedeutet, dass die durch die Spalte bezeichnete Funktionalität angewendet wird.
-
Durch einen Vergleich mit dem Ergebnis von Vergleichsbeispielen 2 zeigten die Beispiele 1 und 3 eine Leistungsverbesserung. Selbst Beispiele 2 zeigten eine mit dem standardmäßigen Neubewerten vergleichbare Leistung (Vergleichsbeispiele 2), was darauf schließen lässt, dass der Rücksetzbetrieb die Leistung kaum beeinträchtigt. Unter den Beispielen 1 bis 3 zeigte das Beispiel 3 die beste Leistung, bei dem die neuartige Trainingsabänderung in der Trainingsphase und das neuartige Neubewerten von Gittern in der Schlussfolgerungsphase kombiniert wurden. Die Beispiele 1 und 3 übertrafen die starke Ausgangsgrundlage des standardmäßigen LSTM-Neubewertens (Vergleichsbeispiel 2).
-
Computerhardwarekomponente
-
Nunmehr unter Bezugnahme auf 9 ist dort ein Schema eines Beispiels eines Computersystems 10 gezeigt, das zum Realisieren des Spracherkennungssystems 100 verwendet werden kann. Das in 9 gezeigte Computersystem 10 ist als ein Computersystem realisiert. Das Computersystem 10 ist nur ein Beispiel einer geeigneten Verarbeitungseinheit und nicht dazu gedacht, eine beliebige Einschränkung hinsichtlich des Schutzbereiches der Verwendung oder der Funktionalität von Ausführungsformen der hierin beschriebenen Erfindung nahezulegen. Ungeachtet dessen kann das Computersystem 10 realisiert und/oder in der Lage sein, eine beliebige der hierin vorstehend dargelegten Funktionalitäten durchführen.
-
Das Computersystem 10 ist in Verbindung mit zahlreichen anderen Universal- oder Spezial-Datenverarbeitungssystemumgebungen oder derartigen Konfigurationen betriebsfähig. Zu Beispielen wohlbekannter Datenverarbeitungssysteme, -umgebungen und/oder -konfigurationen, die zur Verwendung in Verbindung mit dem Computersystem 10 geeignet sind, gehören, ohne auf diese beschränkt zu sein, Personal-Computer-Systeme, Server-Computersysteme, Thin-Clients, Thick-Clients, Thick-Clients, handgehaltene- oder Notebook-Einheiten, Einheiten innerhalb von Fahrzeugen, Multiprozessorsysteme, auf Mikroprozessoren beruhende Systeme, Set-Top-Boxen, programmierbare Einheiten der Konsumgüterelektronik, Netzwerk-PCs, Minicomputersysteme, Großrechnersysteme und verteilte Cloud-Computing-Umgebungen, zu denen beliebige der oben erwähnten Systeme oder Einheiten gehören, und dergleichen.
-
Das Computersystem 10 kann im allgemeinen Kontext von auf durch ein Computersystem ausführbaren Anweisungen beschrieben werden, wie zum Beispiel von Programmmodulen, die durch ein Computersystem ausgeführt werden. Programmmodule können im Allgemeinen Routinen, Programme, Objekte, Komponenten, Logik und Datenstrukturen usw. beinhalten, die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen realisieren.
-
Wie in 9 gezeigt, ist das Computersystem 10 in Form einer Universal-Datenverarbeitungseinheit gezeigt. Zu den Komponenten das Computersystems 10 können ein Prozessor (oder eine Verarbeitungseinheit) 12 und ein Speicher 16 gehören, der mit dem Prozessor 12 durch einen Bus einschließlich eines Speicherbusses oder einer Speichersteuereinheit und eines Prozessorbusses oder eines lokalen Busses unter Verwendung beliebiger einer Vielfalt von Busarchitekturen verbunden ist.
-
Das Computersystem 10 beinhaltet eine Vielfalt von Medien, die durch Computersysteme gelesen werden können. Bei derartigen Medien kann es sich um beliebige verfügbarer Medien handeln, auf die das Computersystem 10 zugreifen kann, und zu diesen Medien gehören sowohl flüchtige als auch nicht-flüchtige Medien, Wechselmedien und nicht-wechselbare Medien.
-
Zum Speicher 16 können durch Computersysteme lesbare Medien in Form von flüchtigem Speicher wie zum Beispiel Direktzugriffsspeicher (Random Access Memory, RAM) gehören. Das Computersystem 10 kann ferner andere wechselbare/nicht-wechselbare, flüchtige/nicht-flüchtige Computersystemspeichermedien beinhalten. Lediglich als Beispiel kann das Speichersystem 18 zum Lesen von einem und Schreiben auf ein nichtwechselbares, nicht-flüchtiges magnetisches Medium bereitgestellt sein. Wie ferner abgebildet und nachfolgend beschrieben ist, kann das Speichersystem 18 mindestens ein Programmprodukt beinhalten, das eine Gruppe (z.B. mindestens eine) von Programmmodulen beinhaltet, die so konfiguriert sind, dass sie die Funktionen von Ausführungsformen der Erfindung ausführen. Bei einigen Ausführungsformen kann das RNN-Sprachmodell 28 in dem Speichersystem 18 gespeichert sein. Der Computer 10 kann das RNN-Sprachmodell 28 trainieren, das in dem Speichersystem 18 gespeichert ist.
-
Ein Programm/Dienstprogramm, das eine Gruppe (mindestens eine) von Programmmodulen enthält, kann als Beispiel und nicht als Einschränkung in dem Speichersystem 18 sowie in einem Betriebssystem, in einem oder mehreren Anwendungsprogrammen oder in anderen Programmmodulen und Programmdaten gespeichert sein. Jedes der Betriebssysteme, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten oder eine bestimmten Kombination davon kann bzw. können eine Realisierungsform einer Vernetzungsumgebung beinhalten. Programmmodule führen im Allgemeinen die Funktionen und/oder Methodiken von Ausführungsformen der Erfindung wie hierin beschrieben aus.
-
Das Computersystem 10 kann mit einer oder mehreren Peripherieeinheiten 24 Daten austauschen, zum Beispiel mit einer Tastatur, einer Zeigeeinheit, einer Anzeigeeinheit, einem Kraftfahrzeug-Navigationssystem, einem Audiosystem usw.; einer Anzeige 26; einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computersystem 10 zu interagieren; und/oder mit beliebigen Einheiten (z.B. Netzwerkkarte, Modem usw.), die es dem Computersystem 10 ermöglichen, Daten mit einer oder mehreren anderen Datenverarbeitungseinheiten auszutauschen. Ein derartiger Datenaustausch kann über Eingabe/Ausgabe-Schnittstellen (E/A-Schnittstellen) 22 stattfinden. Darüber hinaus kann das Computersystem 10 über den Netzwerkadapter 20 mit einem oder mehreren Netzwerken Daten austauschen, zum Beispiel mit einem lokalen Netzwerk (Local Area Network, LAN), mit einem allgemeinen Weitverkehrsnetzwerk (Wide Area Network, WAN) und oder mit einem öffentlichen Netzwerk (z.B. dem Internet). Wie abgebildet tauscht der Netzwerkadapter 20 über einen Bus Daten mit den anderen Komponenten des Computersystems 10 aus. Es sollte klar sein, dass, obwohl nicht abgebildet, andere Hardware- und/oder Softwarekomponenten in Verbindung mit dem Computersystem 10 verwendet werden könnten. Zu Beispielen gehören, ohne auf diese beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Festplattenlaufwerksanordnungen, RAID-Systeme (RAID = Redundant Array of Independent Disks), Bandlaufwerke, Speichersysteme zur Datenarchivierung usw. Bei einigen Ausführungsformen kann der Computer 10 unter Verwendung des Netzwerkadapters 20 Daten mit dem RNN-Sprachmodell 30 austauschen. Der Computer 10 kann das RNN-Sprachmodell 30 unter Verwendung des Netzwerkadapters 20 trainieren. Bei dem RNN-Sprachmodell 30 kann es sich um eine Ausführungsform in Gestalt eines oder mehrere Knoten handeln.
-
Realisierung des Computerprogrammprodukts
-
Bei der vorliegenden Erfindung kann es sich um ein Computersystem, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) beinhalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
-
Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, auf der Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen aufbewahrt und gespeichert sein können. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel, ohne auf diese beschränkt zu sein, um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder eine beliebige geeignete Kombination des Vorstehenden handeln. Zu einer nicht erschöpfenden Liste konkreterer Beispiele des durch einen Computer lesbaren Speichermediums gehören die folgenden: eine transportable Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (random access memory, RAM), ein Nur-Lese-Speicher (read-only memory, ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (erasable programmable read-only memory, EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (static random access memory, SRAM), ein transportabler Kompaktspeicherplatte-Nur-Lese-Speicher (compact disc read-only memory, CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und beliebige geeignete Kombinationen des Vorstehenden. Ein durch einen Computer lesbares Speichermedium im hierin verwendeten Sinne ist nicht so auszulegen, dass es sich dabei um flüchtige Signale an sich handelt, beispielsweise um Funkwellen oder sich frei ausbreitende elektromagnetische Wellen, um elektromagnetische Wellen, die sich durch einen Hohlleiter oder andere Übertragungsmedien ausbreiten (z.B. Lichtimpulse, die ein Lichtwellenleiterkabel durchlaufen) oder um elektrische Signale, die über ein Kabel übertragen werden.
-
[0001] Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können über ein Netzwerk, zum Beispiel das Internet, ein lokales Netzwerk ein Weitverkehrsnetzwerk und/oder ein Drahtlosnetzwerk von einem durch einen Computer lesbaren Speichermedium auf betreffende Datenverarbeitungs-/Verarbeitungseinheiten oder auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenleiter, Drahtlosübertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder eine Netzwerkschnittstelle bei jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der jeweiligen Datenverarbeitungs-/Verarbeitungseinheit weiter.
-
Durch einen Computer lesbare Programmanweisungen zum Ausführen von Operationen der vorliegenden Erfindung können Assembleranweisungen, ISA-Anweisungen (ISA = Instruction Set Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, Daten zum Setzen von Zuständen oder entweder Quellcode oder Objektcode sein, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, zu denen eine objektorientierte Programmiersprache wie beispielsweise Smalltalk, C++ oder Ähnliches und herkömmliche prozedurale Programmiersprachen wie beispielsweise die Programmiersprache „C“ oder ähnliche Programmiersprachen gehören. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Beim hinteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über eine beliebige Art von Netzwerk verbunden sein, unter anderem über ein lokales Netzwerk (Local Area Network, LAN) oder über ein Weitverkehrsnetzwerk (Wide Area Network, WAN), oder die Verbindung kann zu einem externen Computer hergestellt sein (beispielsweise über das Internet unter Nutzung eines Internet-Dienstanbieters (Internet Service Provider)). Bei einigen Ausführungsformen können elektronische Schaltungen, zu denen beispielsweise programmierbare Logikschaltungen, vor Ort programmierbare Schaltungen (Field-Programmable Gate Arrays, FPGA) oder programmierbare logische Arrays (PLA) gehören, die durch einen Computer lesbaren Programmanweisungen ausführen, indem Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen genutzt werden, um die elektronische Schaltung zu personalisieren, sodass Aspekte der vorliegenden Erfindung durchgeführt werden.
-
Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Flussdiagrammdarstellungen und/oder Blockschemata von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird klar sein, dass jeder Block der Flussdiagramme und/oder der Blockschemata und Kombinationen von Blöcken in den Flussdiagrammen und/oder Blockschemata durch einen Computerprogrammanweisungen realisiert werden kann bzw. können.
-
Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder anderer programmierbaren Datenverarbeitungsvorrichtungen bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel schaffen, um die in einem Block bzw. in den Blöcken des Flussdiagramms bzw. der Flussdiagramme und/oder des Blockschemas bzw. der Blockschemata angegebenen Funktionen/Aktionen zu realisieren. Diese durch einen Computer lesbaren Programmanweisungen können ebenfalls in einem durch einen Computer lesbaren Medium gespeichert sein, das einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten anweisen kann, in einer bestimmten Weise zu funktionieren, sodass das durch einen Computer lesbare Medium mit darauf gespeicherten Anweisungen ein Erzeugnis aufweist, das Anweisungen enthält, die die in einem Block bzw. in den Blöcken der Flussdiagramme und/oder der Blockschemata angegebene Funktion/Aktion realisieren.
-
Die durch einen Computer lesbaren Programmanweisungen können auch in einen Computer, in andere programmierbare Datenverarbeitungsvorrichtungen oder in andere Einheiten geladen werden, um zu bewirken, dass auf dem Computer, auf anderen programmierbaren Vorrichtungen oder anderen Einheiten eine Reihe von Arbeitsschritten ausgeführt wird, um einen mittels Computer realisierten Prozess zu schaffen, sodass die Anweisungen, die auf dem Computer, auf anderen programmierbaren Vorrichtungen oder Einheiten ausgeführt werden, die in einem Block bzw. in den Blöcken der Flussdiagramme und/oder der Blockschemata angegebenen Funktionen/Aktionen realisieren.
-
Die Flussdiagramme und Blockschemata in den Figuren veranschaulichen die Architektur, Funktionalität und Wirkungsweise möglicher Realisierungsformen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Flussdiagrammen bzw. in den Blockschemata eine Modul, ein Segment oder einen Abschnitt von Anweisungen darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen zur Realisierung der angegebenen Logikfunktion bzw. Logikfunktionen aufweist. Bei einigen alternativen Realisierungsformen können die im Block angegebenen Funktionen in einer anderen als in der Reihenfolge ausgeführt werden, die in den Figuren angegeben ist. Beispielsweise können zwei hintereinander aufgeführte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können je nach der mit den Blöcken verbundenen Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Darüber hinaus ist anzumerken, dass jeder Block der dargestellten Blockschemata und/oder Flussdiagramme sowie Kombinationen von Blöcken in den dargestellten Blockschemata und/oder Flussdiagrammen mit Hilfe zweckgebundener hardwaregestützter Systeme zum Ausführen der angegebenen Funktionen bzw. Aktionen oder mit Hilfe von Kombinationen aus zweckgebundener Hardware und zweckgebundenen Computeranweisungen realisiert werden kann bzw. können.
-
Die hierin verwendete Terminologie dient ausschließlich zur Beschreibung bestimmter Ausführungsformen und ist nicht als Einschränkung der Erfindung gedacht. In dem hier verwendeten Sinne schließen die Einzahlformen „ein/eine“ und „der/die/das“ auch die Pluralformen ein, sofern im Kontext nicht ausdrücklich etwas anderes angegeben ist. Es versteht sich des Weiteren, dass die Begriffe „weist auf“ bzw. „aufweisen/aufweisend“ bei Verwendung in dieser Beschreibung das Vorhandensein angegebener Merkmale, Ganzzahlen, Schritte, Operationen, Elemente und/oder Komponenten bezeichnen, jedoch das Vorhandensein oder die Hinzufügung eines bzw. einer oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon nicht ausschließen.
-
Die entsprechenden Strukturen, Materialien, Aktionen und Äquivalente aller Mittel bzw. Schritt-plus-Funktion-Elemente (Step plus Function Elements) in den folgenden Ansprüchen sollen gegebenenfalls alle Strukturen, Materialien oder Aktionen zur Ausführung der Funktion in Verbindung mit anderen ausdrücklich beanspruchten Elementen mit einschließen. Die Beschreibung eines oder mehrerer Aspekte der vorliegenden Erfindung soll der Veranschaulichung und Beschreibung dienen, ist jedoch nicht vollständig oder auf die Erfindung in der offenbarten Form beschränkt.
-
Für Fachleute sind viele Modifikationen und Variationen denkbar, ohne dass diese eine Abweichung vom Schutzumfang und Grundgedanken der beschriebenen Ausführungsformen darstellen würden. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung bzw. die technische Verbesserung gegenüber den auf dem Markt vorgefundenen Technologien auf bestmögliche Weise zu erläutern bzw. anderen mit entsprechenden Fachkenntnissen das Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.