DE112020001853T5 - Abänderung von trainingsdaten zum trainieren eines modells - Google Patents

Abänderung von trainingsdaten zum trainieren eines modells Download PDF

Info

Publication number
DE112020001853T5
DE112020001853T5 DE112020001853.9T DE112020001853T DE112020001853T5 DE 112020001853 T5 DE112020001853 T5 DE 112020001853T5 DE 112020001853 T DE112020001853 T DE 112020001853T DE 112020001853 T5 DE112020001853 T5 DE 112020001853T5
Authority
DE
Germany
Prior art keywords
model
training
computer
training data
history
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.)
Pending
Application number
DE112020001853.9T
Other languages
English (en)
Inventor
Gakuto Kurata
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112020001853T5 publication Critical patent/DE112020001853T5/de
Pending legal-status Critical Current

Links

Images

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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • 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
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • 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
    • G10L15/16Speech classification or search using artificial neural networks
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Machine Translation (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

Offenbart wird ein mittels Computer realisiertes Verfahren zum Trainieren eines Modells. Das Modell ist in der Lage, eine Historie eines oder mehrerer vorhergehender Elemente zu speichern, und enthält eine Vorhersagerichtung. Das Verfahren beinhaltet ein Erhalten einer Trainingssequenz von Elementen. Das Verfahren beinhaltet außerdem ein Aufteilen der Trainingssequenz in eine Mehrzahl von Teilen. Das Verfahren beinhaltet ferner ein Auswählen eines Teils der Mehrzahl der Teile je nach der Richtung des Modells, um abgeänderte Trainingsdaten zu erzeugen. Das Verfahren beinhalten ein Trainieren des Modells unter Verwendung der abgeänderten Trainingsdaten.

Description

  • 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.

Claims (25)

  1. Mittels Computer realisiertes Verfahren zum Trainieren eines Modells, wobei das Verfahren aufweist: Erhalten einer Trainingssequenz von Elementen für das Modell, wobei das Modell in der Lage ist, eine Historie eines oder mehrerer vorhergehender Elemente zu speichern, und eine Vorhersagerichtung enthält; Aufteilen der Trainingssequenz in eine Mehrzahl von Teilen; Auswählen eines Teils der Mehrzahl der Teile je nach der Richtung der Vorhersage, um abgeänderte Trainingsdaten zu erzeugen; und Trainieren des Modells unter Verwendung der abgeänderten Trainingsdaten.
  2. Verfahren nach Anspruch 1, wobei das Modell zum Neubewerten einer oder mehrerer Eingangssequenzen verwendet wird, die als Hypothesen eines Erkennungsprozesses erhalten wurden.
  3. Verfahren nach Anspruch 2, wobei das Modell ein Sprachmodell des Typs „Rekurrentes Neuronales Netz“ aufweist, die Trainingssequenz der Elemente einen Trainingsplatz aufweist, der eine Mehrzahl von Wörtern aufweist, der Erkennungsprozess eine Spracherkennung aufweist und ein aus der Spracherkennung ausgegebenes Ergebnis mit dem Modell als Hypothese neu bewertet wird.
  4. Verfahren nach Anspruch 2, wobei der Erkennungsprozess aus der Gruppe ausgewählt wird, die aus Spracherkennung, Maschinenübersetzung, Markieren von Wortarten, Syntaxanalyse, optischer Zeichenerkennung, Handschriftenerkennung, Aufnehmen von Bildern und Aufnehmen von Videos besteht.
  5. Verfahren nach Anspruch 2, wobei beim Neubewerten jeder Eingangssequenz mit dem Modell die Historie mindestens teilweise als Reaktion darauf verworfen wird, dass eine Bedingung erfüllt ist, die mit einem Vertrauen des Erkennungsprozesses hinsichtlich eines Eingangselements in der Eingangssequenz zusammenhängt.
  6. Verfahren nach Anspruch 5, wobei das Modell einen verborgenen Zustand enthält, der die Historie darstellt, die Historie verworfen wird, indem der verborgene Zustand des Modells auf einen Zustand zurückgesetzt wird, der ein vorgegebenes Symbol akzeptiert hat, und das Neubewerten als Reaktion darauf erneut gestartet wird, dass einer die Bedingung erfüllt.
  7. Verfahren nach Anspruch 1, wobei das Verfahren ferner aufweist: Hinzufügen eines vorgegebenen Symbols an einer Umgrenzung des einen Teils, wobei die abgeänderten Trainingsdaten den einen Teil und das vorgegebene Symbol aufweisen.
  8. Verfahren nach Anspruch 7, wobei das vorgegebene Symbol je nach der Richtung der Vorhersage einen Beginn einer Sequenz oder ein Ende einer Sequenz darstellt.
  9. Verfahren nach Anspruch 7, wobei das vorgegebene Symbol ein Auftreten eines Fehlers der Erkennung darstellt und das Modell ein zusätzliches Token enthält, das dem vorgegebenen Symbol entspricht.
  10. Verfahren nach Anspruch 7, wobei die Richtung der Vorhersage eine Vorwärtsrichtung ist, ein hinterer Teil der Mehrzahl der Teile als der eine Teil ausgewählt ist und die Umgrenzung ein Beginn des hinteren Teils ist.
  11. Verfahren nach Anspruch 7, wobei die Richtung der Vorhersage eine Rückwärtsrichtung ist, ein vorderer Teil der Mehrzahl der Teile als der eine Teil ausgewählt ist und die Umgrenzung ein Ende des vorderen Teils ist.
  12. Verfahren nach Anspruch 1, wobei die Trainings an einer nach dem Zufallsprinzip oder statistisch ermittelten Position unterteilt wird.
  13. Mittels Computer realisiertes Verfahren zum Neubewerten einer Eingangssequenz, die als Hypothese eines Erkennungsprozesses erhalten wurde, wobei das Verfahren aufweist: Vorbereiten eines Modells zum Neubewerten der Hypothese, wobei das Modell in der Lage ist, eine Historie eines oder mehrerer vorhergehender Elemente zu speichern, und eine Neubewertungsrichtung enthält; Einleiten der Eingangssequenz in das Modell gemäß der Richtung; als Reaktion darauf, dass eine Bedingung erfüllt ist, die mit einem Vertrauen des Erkennungsprozesses hinsichtlich eines Eingangselements in der Eingangssequenz zusammenhängt, Verwerfen der Historie zumindest teilweise; und Ausgeben eines Ergebnisses des Neubewertens der Eingangssequenz.
  14. Verfahren nach Anspruch 13, wobei das Modell einen verborgenen Zustand enthält, der die Historie darstellt, die Historie verworfen wird, indem der verborgene Zustand des Modells auf einen Zustand zurückgesetzt wird, der ein vorgegebenes Symbol akzeptiert hat, und das Neubewerten als Reaktion darauf erneut gestartet wird, dass einer die Bedingung erfüllt.
  15. Verfahren nach Anspruch 13, wobei das Modell ferner aufgebaut wird 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.
  16. Verfahren nach Anspruch 13, wobei das Modell ein zusätzliches Token enthält, das einen Fehler des Erkennungsprozesses darstellt.
  17. Computersystem zum Trainieren eines Modells durch Ausführen von Programmanweisungen, wobei das Computersystem aufweist: einen Speicher, in dem die Programmanweisungen gespeichert sind; eine Verarbeitungseinheit im Datenaustausch mit dem Speicher zum Ausführen der Programmanweisungen, wobei die Verarbeitungseinheit so konfiguriert ist, dass: eine Trainingssequenz von Elementen für das Modell empfangen wird, wobei das Modell in der Lage ist, eine Historie eines oder mehrerer vorhergehender Elemente zu speichern, und eine Vorhersagerichtung enthält; die Trainingssequenz in eine Mehrzahl von Teilen aufgeteilt wird; ein Teil der Mehrzahl der Teile je nach der Richtung der Vorhersage ausgewählt wird, um abgeänderte Trainingsdaten zu erzeugen; und das Modell unter Verwendung der abgeänderten Trainingsdaten trainiert wird.
  18. Computersystem nach Anspruch 17, wobei das Modell zum Neubewerten einer oder mehrerer Eingangssequenzen verwendet wird, die als Hypothesen eines Erkennungsprozesses erhalten wurden.
  19. Computersystem nach Anspruch 17, wobei die Verarbeitungseinheit so konfiguriert ist, dass: ein vorgegebenes Symbol an einer Umgrenzung des einen Teils hinzugefügt wird, wobei die abgeänderten Trainingsdaten den einen Teil und das vorgegebene Symbol beinhalten.
  20. Computersystem zum Neubewerten einer Eingangssequenz, die als Hypothese eines Erkennungsprozesses erhalten wurde, durch Ausführen von Programmanweisungen, wobei das Computersystem aufweist: einen Speicher, in dem die Programmanweisungen gespeichert sind; eine Verarbeitungseinheit im Datenaustausch mit dem Speicher zum Ausführen der Programmanweisungen, wobei die Verarbeitungseinheit so konfiguriert ist, dass: eine Modell zum Neubewerten der Hypothese vorbereitet wird, wobei das Modell in der Lage ist, eine Historie eines oder mehrerer vorhergehender Elemente zu speichern, und eine Neubewertungsrichtung enthält; die Eingangssequenz gemäß der Richtung in das Modell eingeleitet wird; als Reaktion darauf, dass eine Bedingung erfüllt ist, die mit einem Vertrauen des Erkennungsprozesses hinsichtlich eines Eingangselements in der Eingangssequenz zusammenhängt, die Historie zumindest teilweise verworfen wird; und ein Ergebnis des Neubewertens der Eingangssequenz ausgegeben wird.
  21. Computersystem nach Anspruch 20, wobei das Modell einen verborgenen Zustand enthält, der die Historie darstellt, die Historie verworfen wird, indem der verborgene Zustand des Modells auf einen Zustand zurückgesetzt wird, der ein vorgegebenes Symbol akzeptiert hat, und das Neubewerten als Reaktion darauf erneut gestartet wird, dass einer die Bedingung erfüllt.
  22. Computerprogrammprodukt zum Trainieren eines Modells, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, das darauf verkörperte Programmanweisungen enthält, wobei die Programmanweisungen durch einen Computer ausführbar sind, um den Computer zu veranlassen, ein mittels Computer realisiertes Verfahren durchzuführen, das aufweist: Erhalten einer Trainingssequenz von Elementen für das Modell, wobei das Modell in der Lage ist, eine Historie eines oder mehrerer vorhergehender Elemente zu speichern, und eine Vorhersagerichtung enthält; Aufteilen der Trainingssequenz in eine Mehrzahl von Teilen; Auswählen eines Teils der Mehrzahl der Teile je nach der Richtung der Vorhersage, um abgeänderte Trainingsdaten zu erzeugen; und Trainieren des Modells unter Verwendung der abgeänderten Trainingsdaten.
  23. Computerprogrammprodukt nach Anspruch 22, wobei das Modell zum Neubewerten einer oder mehrerer Eingangssequenzen verwendet wird, die als Hypothesen eines Erkennungsprozesses erhalten wurden.
  24. Computerprogrammprodukt nach Anspruch 22, wobei das Verfahren ferner aufweist: Hinzufügen eines vorgegebenen Symbols an einer Umgrenzung des einen Teils, wobei die abgeänderten Trainingsdaten den einen Teil und das vorgegebene Symbol beinhalten.
  25. Computerprogrammprodukt zum Neubewerten einer Eingangssequenz, die von einem Erkennungsprozess erhalten wurde, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, das darauf verkörperte Programmanweisungen enthält, wobei die Programmanweisungen durch einen Computer ausführbar sind, um den Computer zu veranlassen, das Verfahren nach Anspruch 13 durchzuführen.
DE112020001853.9T 2019-04-11 2020-03-23 Abänderung von trainingsdaten zum trainieren eines modells Pending DE112020001853T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/381,426 2019-04-11
US16/381,426 US11011156B2 (en) 2019-04-11 2019-04-11 Training data modification for training model
PCT/IB2020/052690 WO2020208449A1 (en) 2019-04-11 2020-03-23 Training data modification for training model

Publications (1)

Publication Number Publication Date
DE112020001853T5 true DE112020001853T5 (de) 2022-01-13

Family

ID=72748448

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020001853.9T Pending DE112020001853T5 (de) 2019-04-11 2020-03-23 Abänderung von trainingsdaten zum trainieren eines modells

Country Status (5)

Country Link
US (1) US11011156B2 (de)
JP (1) JP7368479B2 (de)
CN (1) CN113574545A (de)
DE (1) DE112020001853T5 (de)
WO (1) WO2020208449A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112466285B (zh) * 2020-12-23 2022-01-28 北京百度网讯科技有限公司 离线语音识别方法、装置、电子设备及存储介质
US11893983B2 (en) * 2021-06-23 2024-02-06 International Business Machines Corporation Adding words to a prefix tree for improving speech recognition
US20230237989A1 (en) * 2022-01-21 2023-07-27 International Business Machines Corporation External language model information integrated into neural transducer model
TWI816500B (zh) * 2022-08-03 2023-09-21 和碩聯合科技股份有限公司 應用於模型再訓練之圖片選取方法
WO2024150422A1 (ja) * 2023-01-13 2024-07-18 日本電信電話株式会社 音声認識装置、音声認識方法、プログラム
WO2024150423A1 (ja) * 2023-01-13 2024-07-18 日本電信電話株式会社 言語モデル学習装置、言語モデル学習方法、プログラム
CN117174084B (zh) * 2023-11-02 2024-05-31 摩尔线程智能科技(北京)有限责任公司 一种训练数据构建方法及装置、电子设备和存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06231106A (ja) * 1993-01-29 1994-08-19 Hitachi Ltd リカレント型ニューラルネットワーク学習方法及び装置
JP2000259176A (ja) 1999-03-08 2000-09-22 Nippon Hoso Kyokai <Nhk> 音声認識装置およびその記録媒体
US20040186714A1 (en) 2003-03-18 2004-09-23 Aurilab, Llc Speech recognition improvement through post-processsing
US8644611B2 (en) 2009-06-03 2014-02-04 Raytheon Bbn Technologies Corp. Segmental rescoring in text recognition
US9280969B2 (en) 2009-06-10 2016-03-08 Microsoft Technology Licensing, Llc Model training for automatic speech recognition from imperfect transcription data
KR101780760B1 (ko) * 2011-06-30 2017-10-10 구글 인코포레이티드 가변길이 문맥을 이용한 음성인식
WO2014040003A1 (en) 2012-09-07 2014-03-13 Carnegie Mellon University Methods for hybrid gpu/cpu data processing
GB201216099D0 (en) 2012-09-10 2012-10-24 Protean Electric Ltd Capacitor
US9484023B2 (en) 2013-02-22 2016-11-01 International Business Machines Corporation Conversion of non-back-off language models for efficient speech decoding
KR102167719B1 (ko) 2014-12-08 2020-10-19 삼성전자주식회사 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치
WO2016167779A1 (en) 2015-04-16 2016-10-20 Mitsubishi Electric Corporation Speech recognition device and rescoring device
US10332509B2 (en) 2015-11-25 2019-06-25 Baidu USA, LLC End-to-end speech recognition
US20170154258A1 (en) 2015-11-30 2017-06-01 National Institute Of Information And Communications Technology Joint estimation method and method of training sequence-to-sequence model therefor
KR102072235B1 (ko) 2016-12-08 2020-02-03 한국전자통신연구원 자동 발화속도 분류 방법 및 이를 이용한 음성인식 시스템
US10762417B2 (en) * 2017-02-10 2020-09-01 Synaptics Incorporated Efficient connectionist temporal classification for binary classification
US11113599B2 (en) 2017-06-22 2021-09-07 Adobe Inc. Image captioning utilizing semantic text modeling and adversarial learning
US10388272B1 (en) * 2018-12-04 2019-08-20 Sorenson Ip Holdings, Llc Training speech recognition systems using word sequences

Also Published As

Publication number Publication date
JP2022526876A (ja) 2022-05-27
CN113574545A (zh) 2021-10-29
WO2020208449A1 (en) 2020-10-15
US11011156B2 (en) 2021-05-18
US20200327881A1 (en) 2020-10-15
JP7368479B2 (ja) 2023-10-24

Similar Documents

Publication Publication Date Title
DE112020001853T5 (de) Abänderung von trainingsdaten zum trainieren eines modells
DE102019122180B4 (de) Verfahren und system zur schlüsselausdruckserkennung auf der grundlage eines neuronalen netzes
DE102020205786B4 (de) Spracherkennung unter verwendung von nlu (natural language understanding)-bezogenem wissen über tiefe vorwärtsgerichtete neuronale netze
Stern et al. Blockwise parallel decoding for deep autoregressive models
DE102017122276A1 (de) Neuronale maschinenübersetzungssysteme
DE3852608T2 (de) Design und Konstruktion eines binären Entscheidungsbaumsystems zur Sprachmodellierung.
DE202017106363U1 (de) Neuronale Antwort-auf-Frage-Netze
DE69519840T2 (de) Einrichtung und Verfahren zur Spracherkennung
DE202017007641U1 (de) Training von maschinellen Lernmodellen auf mehrere maschinelle Lernaufgaben
DE60109999T2 (de) Spracherkennung mittels lexikalischer Bäumen
DE69908254T2 (de) System zur Suchoptimierung und Verfahren zur kontinuierlichen Spracherkennung
DE69009522T2 (de) Diagrammanalysator für stochastische Unifikationsgrammatik.
DE69818796T2 (de) Maschinenorganisiertes verfahren und vorrichtung zum übersetzen einer wortorganisierten textquelle in einen wortorganisierten zieltext
DE60222093T2 (de) Verfahren, modul, vorrichtung und server zur spracherkennung
DE60311548T2 (de) Verfahren zur iterativen Geräuschschätzung in einem rekursiven Zusammenhang
DE112017006685T5 (de) Verfahren und System für ein multimodales Fusionsmodell
DE202016008253U1 (de) Komprimierte rekurrente neuronale Netzwerkmodelle
DE112016003335T5 (de) Prozessor für natürliche Sprache zum Bereitstellen von natürlichsprachlichen Signalen in einer natürlichsprachlichen Ausgabe
DE102019004300A1 (de) Verwendung eines dynamischen speichernetzwerks zum verfolgen digitaler dialogzustände und erzeugen von antworten
DE112015006069T5 (de) Absichtsinferenzsystem und absichtsinferenzverfahren
DE602004004310T2 (de) System mit kombiniertem statistischen und regelbasierten Grammatikmodell zur Spracherkennung und zum Sprachverstehen
DE112020004348T5 (de) Feststellen und wiederherstellen von ausserhalb des wortschatzes liegenden wörtern in sprache-zu-text-transkriptionssystemen
DE102019109148A1 (de) Wake-on-voice-schlüsselphrasensegmentierung
DE112013007333T5 (de) Mustererkennungsvorrichtung und Mustererkennungsverfahren
DE112018004140T5 (de) Abstraktion und übertragbarkeit auf eine absichtserkennung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R084 Declaration of willingness to licence