[go: up one dir, main page]

DE10302101A1 - Training of a Hidden Markov Model using training data vectors and a nearest neighbor clustering method based on condition parameters used to describe the Hidden Markov Model - Google Patents

Training of a Hidden Markov Model using training data vectors and a nearest neighbor clustering method based on condition parameters used to describe the Hidden Markov Model Download PDF

Info

Publication number
DE10302101A1
DE10302101A1 DE2003102101 DE10302101A DE10302101A1 DE 10302101 A1 DE10302101 A1 DE 10302101A1 DE 2003102101 DE2003102101 DE 2003102101 DE 10302101 A DE10302101 A DE 10302101A DE 10302101 A1 DE10302101 A1 DE 10302101A1
Authority
DE
Germany
Prior art keywords
hidden markov
markov model
training data
training
data vectors
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.)
Ceased
Application number
DE2003102101
Other languages
German (de)
Inventor
Walter Sterz
Wolfgang Tschirk
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE2003102101 priority Critical patent/DE10302101A1/en
Publication of DE10302101A1 publication Critical patent/DE10302101A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • G10L15/142Hidden Markov Models [HMMs]
    • G10L15/144Training of HMMs
    • 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
    • G10L2015/0631Creating reference templates; Clustering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Machine Translation (AREA)

Abstract

Method for computer-based training of a Hidden Markov Model (HMM) in which condition parameters are formed with which the HMM can be described, training data vectors are used to carry out a k-nearest neighbor clustering method based on the condition parameters, whereby the condition parameters are matched to the training data vectors, so that a trained HMM is formed. Independent claims are also included for the following:- (a) a device for training an HMM; (b) a computer program element for use on a computer for training an HMM and; (c) a computer readable storage medium for storing a computer program for training an HMM.

Description

Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Trainieren eines Hidden Markov Modells sowie ein Computerprogramm-Element und ein Computerlesbares Speichermedium.The invention relates to a method and a device for training a hidden Markov model as well a computer program element and a computer readable storage medium.

Hidden Markov Modelle finden in einer Vielzahl unterschiedlicher technischer Einsatzgebiete, beispielsweise im Rahmen der digitalen Signalverarbeitung, insbesondere der Spracherkennung oder der Mustererkennung, Verwendung.Hidden Markov models can be found in one Numerous different technical areas of application, for example in the context of digital signal processing, especially speech recognition or pattern recognition, use.

Damit ein Hidden Markov Modell in der Praxis verwendet werden kann, muss es vor seiner Anwendung, beispielsweise zur Signalverarbeitung, trainiert werden.So that a hidden Markov model in can be used in practice, it must be for example, for signal processing.

Im Rahmen des Trainings eines Hidden Markov Modells (HMM) werden die Systemparameter des HMMs berechnet. Die Systemparameter des HMMs sind:

  • – die Emissionswahrscheinlichkeitsverteilung,
  • – die Zustandsübergangs-Wahrscheinlichkeiten und
  • – die Initialwahrscheinlichkeiten sowie
  • – die Anzahl der Zustände des Hidden Markov Modells.
The system parameters of the HMM are calculated as part of the training of a Hidden Markov Model (HMM). The system parameters of the HMM are:
  • - the emission probability distribution,
  • - the state transition probabilities and
  • - the initial probabilities as well
  • - the number of states of the Hidden Markov model.

Soll ein Hidden Markov Modell beispielsweise für ein sprecherabhängiges Spracherkennungssystem online, insbesondere in einem Embedded System, trainiert werden, so ist es wünschenswert, ein Trainingsverfahren mit relativ wenig erforderlichen Rechenoperationen einzusetzen, um die Systemanforderungen im Rahmen des Trainings des HMMs möglichst gering zu halten.For example, a hidden Markov model for a speaker-dependent Speech recognition system online, especially in an embedded system, be trained so it is desirable a training procedure with relatively few arithmetic operations required to be used to meet the system requirements as part of the training of the HMM if possible to keep low.

Als Verfahren zum Trainieren eines Hidden Markov Modells ist das so genannte Baum-Welch-Verfahren bekannt (vergleiche [1]).As a method of training one Hidden Markov model is known as the Baum-Welch method (compare [1]).

Nachteilig an dem Baum-Welch-Verfahren ist insbesondere, dass dieses einen sehr hohen Rechenaufwand benötigt. Ein anderer erheblicher Nachteil des Baum-Welch-Verfahrens ist in den auftretenden numerischen Problemen zu sehen, da im Rahmen dieses Verfahrens viele Wahrscheinlichkeitswerte miteinander multipliziert werden, was zu sehr kleinen Zahlen führt. Die sehr kleinen Zahlen sind im Rahmen eines üblichen 8-Bit-, 16-Bit- oder 32-Bit-Prozessors, selbst mit einem 64-Bit-Prozessor oftmals nicht mehr mit der erforderlichen Genauigkeit verarbeitbar.A disadvantage of the Baum-Welch process is in particular that this requires a very high computing effort. On Another significant disadvantage of the Baum-Welch process is in the numerical problems occurring, as part of this Procedure multiplied many probability values together become, which leads to very small numbers. The very small numbers are part of a common 8-bit, 16-bit or 32-bit processor, even with a 64-bit processor often no longer processable with the required accuracy.

Somit liegt der Erfindung das Problem zugrunde, ein Hidden Markov Modell zu trainieren, wobei das Training mit reduzierten numerischen Problemen und mit reduziertem Rechenaufwand verglichen mit dem Baum-Welch-Verfahren durchführbar ist.The problem thus lies with the invention based on training a hidden Markov model, the training with reduced numerical problems and with reduced computing effort compared to the Baum-Welch method.

Das Problem wird durch das Verfahren und die Vorrichtung zum Trainieren eines Hidden Markov Modells sowie durch ein Computerprogramm-Element und ein Computerlesbares Speichermedium mit den Merkmalen gemäß den unabhängigen Patentansprüchen gelöst.The problem is caused by the procedure and the device for training a hidden Markov model as well through a computer program element and a computer readable storage medium solved with the features according to the independent claims.

Bei einem Verfahren zum rechnergestützten Trainieren eines Hidden Markov Modells werden Zustandsparameter gebildet, mit denen Zustände des Hidden Markov Modells beschrieben werden.In a process for computer-aided training of a hidden Markov model, state parameters are formed with those states of the Hidden Markov model.

Unter Verwendung von Trainingsdatenvektoren wird ein k-Nächster-Nachbar-Clustering-Verfahren auf die Zustandsparameter des Hidden Markov Modells ausgeführt, wobei die Zustandsparameter gemäß den Trainingsdatenvektoren angepasst werden. Ruf diese Weise wird das trainierte Hidden Markov Modell gebildet.Using training data vectors becomes k-nearest neighbor clustering on the state parameters of the Hidden Markov model, where the state parameters according to the training data vectors be adjusted. Call this way the trained Hidden Markov Model formed.

Eine Vorrichtung zum Trainieren eines Hidden Markov Modells weist eine Prozessoreinheit auf, die derart eingerichtet ist, dass die oben beschriebenen Verfahrensschritte durchführbar sind oder durchgeführt werden.A device for training a Hidden Markov model has a processor unit that is is set up that the process steps described above feasible are or are being carried out.

Ein Computerprogramm-Element weist, wenn es von einer Prozessoreinheit ausgeführt wird, die oben beschriebenen Schritte auf zum Trainieren eines Hidden Markov Modells.A computer program element points when executed by a processor unit, the ones described above Steps on to train a Hidden Markov model.

In einem Computerlesbaren Speichermedium ist ein Programm gespeichert, das, wenn es von einer Prozessoreinheit ausgeführt wird, die oben beschriebenen Verfahrensschritte aufweist zum Trainieren eines Hidden Markov Modells.In a computer readable storage medium is a program stored when it is run by a processor unit accomplished which has the method steps described above for training of a hidden Markov model.

Anschaulich wird erfindungsgemäß das Problem der Bestimmung der Systemparameter des HMMs (anders ausgedrückt der Zustandsparameter des HMMs) auf die Bestimmung von Repräsentanten der Trainingsdatenvektoren zurückgeführt. Alle Trainingsdatenvektoren mit gemeinsamer Bedeutung, die bei einem Spracherkennungssystem beispielsweise eine lautsprachliche Einheit repräsentieren, werden vorzugsweise zu einem Zustand zusammengruppiert. Innerhalb der Trainingsdatenvektoren werden Repräsentanten ermittelt. Die logarithmierten Emissionswahrscheinlichkeiten erhält man vorzugsweise als euklidische Distanz zwischen den Repräsentanten des HMMs und dem Beobachtungsvektor des Eingangssignals. Die Zustandsübergangs-Wahrscheinlichkeiten und die Initialwahrscheinlichkeiten werden gemäß einer Ausgestaltung der Erfindung als Konstanten angenommen.According to the invention, the problem becomes clear the determination of the system parameters of the HMM (in other words, the State parameters of the HMM) on the determination of representatives of the training data vectors. All Training data vectors with common meaning in a speech recognition system for example, represent a spoken language unit, are preferred to grouped together in a state. Within the training data vectors become representatives determined. The logarithmic emission probabilities are preferably obtained as the Euclidean distance between the representatives of the HMM and the Observation vector of the input signal. The state transition probabilities and the initial probabilities are according to an embodiment of the invention accepted as constants.

Die Trainingsdatenvektoren sind üblicherweise Vektoren, welche das Verhalten eines technischen Systems beschreiben und vorzugsweise zu Beginn des Verfahrens gemessen werden. Im Rahmen der Spracherkennung werden somit beispielsweise Äußerungen eines Menschen aufgenommen und aus dem aufgenommenen Sprachsignal werden die Trainingsdatenvektoren bestimmt. Im Rahmen der digitalen Bildverarbeitung werden beispielsweise Bilder mittels einer Kamera aufgenommen und die digitalisierten Bilder werden verwendet, um daraus Trainingsdatenvektoren zu generieren.The training data vectors are common Vectors that describe the behavior of a technical system and preferably measured at the beginning of the process. As part of Speech recognition thus includes, for example, human expressions and the training data vectors become the recorded speech signal certainly. In the context of digital image processing, for example Images captured by a camera and the digitized Images are used to generate training data vectors from them.

Allgemein stellen die Trainingsdatenvektoren Daten dar, die üblicherweise ein technisches System in seinem tatsächlichen Verhalten beschreiben und dienen dazu, das Verhalten des technischen Systems möglichst wahrheitsgetreu mittels des Hidden Markov Modells nachzubilden.In general, the training data vectors Data that is common describe a technical system in its actual behavior and serve the behavior of the technical system as possible to reproduce truthfully using the Hidden Markov model.

Durch die Erfindung wird es möglich, die bei dem Baum-Welch-Verfahren auftretenden numerischen Probleme zu vermeiden, da nicht mehr Produkte von vielen Wahrscheinlichkeitswerte ermittelt werden müssen.The invention makes it possible to in the Baum-Welch process Avoid occurring numerical problems as no more products must be determined from many probability values.

Somit ist die Erfindung selbst auf einem Prozessor mit einer relativ geringen Wortbreite und mit einer relativ geringen Rechenleistung einsetzbar. Damit eignet sich die Erfindung insbesondere zum Einsatz in einem Embedded System.Thus, the invention itself is based on a processor with a relatively small word width and with a relative low computing power can be used. The invention is therefore suitable especially for use in an embedded system.

Bevorzugte Weiterbildungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.Preferred developments of the invention result from the dependent Claims.

Die im Folgenden beschriebenen Ausgestaltungen der Erfindung betreffen das Verfahren und die Vorrichtung zum Trainieren eines Hidden Markov Modells sowie das Computerprogramm-Element als auch das Computerlesbare Speichermedium.The configurations described below The invention relates to the method and the device for training of a hidden Markov model as well as the computer program element as well the computer readable storage medium.

Gemäß einer Ausgestaltung der Erfindung ist es vorgesehen, die Trainingsdatenvektoren zu Beginn des Verfahrens in unterschiedliche Zustandsgruppen zu gruppieren, wobei eine Zustandsgruppe jeweils einem Zustand des Hidden Markov Modells zugeordnet ist. Die Zustandsparameter eines jeweiligen Zustands des Hidden Markov Modells werden mit Trainingsdatenvektoren der zugehörigen Zustandsgruppe trainiert.According to an embodiment of the invention the training data vectors are provided at the beginning of the method to group into different state groups, one state group is assigned to a state of the Hidden Markov model. The state parameters of a respective state of the Hidden Markov Models with training data vectors of the associated state group trained.

Durch die Zuordnung von Trainingsdatenvektoren zu Gruppen und damit durch das Zusammenfassen von Trainingsdatenvektoren in Gruppen einander hinsichtlich eines vorgegebenen Ähnlichkeitskriteriums ähnlicher Trainingsdatenvektoren wird die Konvergenz des Trainingsverfahrens erheblich beschleunigt und somit der Bedarf an Rechenleistung weiter reduziert.By assigning training data vectors into groups and thus by combining training data vectors in groups more similar to each other in terms of a given similarity criterion Training data vectors will converge the training process significantly accelerated and thus the need for computing power further reduced.

Im Rahmen der Anwendung eines Hidden Markov Modells zur Sprachverarbeitung bedeutet dies beispielsweise, dass die Trainingsdatenvektoren zu Gruppen mit einer jeweils gemeinsamen Bedeutung zusammengefasst werden. Im Rahmen der Sprachverarbeitung werden die Trainingsdatenvektoren beispielsweise in Gruppen zusammengefasst, wobei jede Gruppe jeweils eine lautsprachliche Einheit repräsentiert.As part of the application of a hidden For example, Markov's language processing model means that the training data vectors form groups with a common one Meaning summarized. As part of language processing the training data vectors are grouped together, for example, where each group represents a spoken unit.

Als lautsprachliche Einheit wird im Rahmen der Erfindung eine Symboldarstellung einer lautsprachlichen Äußerung verstanden, beispielsweise:

  • – eine Symboldarstellung von einzelnen Zeichen, die eine lautsprachliche Äußerung repräsentieren,
  • – Phonemsegmente,
  • – Phoneme,
  • – Allophone,
  • – Diphone,
  • – Halbsilben, oder
  • – ganze Wörter.
Within the scope of the invention, a phonetic unit is understood to be a symbolic representation of a verbal utterance, for example:
  • A symbol representation of individual characters that represent a spoken utterance,
  • - phoneme segments,
  • - phonemes,
  • - Allophones,
  • - Diphone,
  • - half syllables, or
  • - whole words.

Zur Weiteren Vereinfachung und somit zur schnelleren Durchführbarkeit des Verfahrens ist es in einer Ausgestaltung der Erfindung vorgesehen, als Zustandsparameter die Mittelwertvektoren von den Wahrscheinlichkeitsdichtefunktionen zu verwenden, welche den jeweiligen Zustand des Hidden Markov Modells beschreiben.For further simplification and thus for faster feasibility In one embodiment of the invention, the method is provided the mean value vectors of the probability density functions as state parameters to use which the respective state of the Hidden Markov model describe.

Vorzugsweise wird als k-Nächster-Nachbar-Clustering-Verfahren ein 1-Nächster-Nachbar-Clustering-Verfahren eingesetzt (d.h. k = 1), anders ausgedrückt ein Winner-Takes-All-Verfahren (WTA-Verfahren).Is preferably used as the k-nearest-neighbor clustering method a 1-nearest-neighbor clustering process used (i.e. k = 1), in other words a winner takes all method (WTA) method.

Bei dieser Ausgestaltung der Erfindung wird somit nur der tatsächlich dem jeweiligen Trainingsdatenvektor in dem Vergleichsraum am Nächsten liegende Zustandsparameter, insbesondere Mittelwertvektor ausgewählt und dem jeweiligen Trainingsdatenvektor angepasst. Auf diese Weise wird das Konvergenzverhalten des Trainingsverfahrens weiter verbessert.In this embodiment of the invention thus only that becomes actual closest to the respective training data vector in the comparison space State parameters, in particular mean vector selected and adapted to the respective training data vector. That way further improves the convergence behavior of the training process.

Gemäß einer anderen Ausgestaltung der Erfindung ist es vorgesehen, zu prüfen, ob ein Zustandsparameter ausreichend häufig im Rahmen des k-Nächster-Nachbar-Clustering-Verfahrens angepasst worden ist, und für den Fall, dass ein Zustandsparameter nicht ausreichend häufig im Rahmen des k- Nächster-Nachbar-Clustering-Verfahrens angepasst worden ist, dass dieser ersetzt wird durch einen neuen Zustandsparameter. Der neue Zustandsparameter ist vorzugsweise dadurch charakterisiert, dass er ausreichend häufig, vorzugsweise am häufigsten, im Rahmen des k-Nächster-Nachbar-Clustering-Verfahrens angepasst worden ist.According to another embodiment The invention provides for checking whether a state parameter sufficiently often as part of the k-nearest-neighbor clustering process has been adjusted and for the case that a state parameter is not sufficiently frequent in the Framework of the k-nearest-neighbor clustering process has been adjusted so that it is replaced by a new one State parameters. The new state parameter is preferably due to this characterizes that it is sufficiently frequent, preferably most frequently, adapted as part of the k-nearest-neighbor clustering process has been.

Durch diese Ausgestaltung der Erfindung wird das Konvergenzverhalten des Trainingsverfahrens weiter verbessert.Through this embodiment of the invention the convergence behavior of the training process is further improved.

Alternativ kann der neue Zustandsparameter auch zufallsbasiert erzeugt werden.Alternatively, the new state parameter can also be generated randomly.

Gemäß einer anderen Ausgestaltung der Erfindung ist es vorgesehen, einen Zustandsparameter im Rahmen des k-Nächster-Nachbar-Clustering-Verfahrens in einem umso geringeren Maße an die Trainingsdatenvektoren anzupassen, je mehr Trainingsdatenvektoren im Rahmen des Trainingsverfahrens berücksichtigt werden.According to another embodiment The invention provides a state parameter in the frame of the k-nearest-neighbor clustering method to an even lesser extent adapt to the training data vectors, the more training data vectors be taken into account as part of the training process.

Das Verfahren eignet sich insbesondere zum Einsatz in einem Embedded System.The method is particularly suitable for use in an embedded system.

Ferner kann die Erfindung in einem der folgenden Bereiche eingesetzt werden:

  • – in der Signalverarbeitung,
  • – in der Mustererkennung,
  • – in der Sprachverarbeitung, insbesondere in der sprecherabhängigen Spracherkennung oder der Sprechererkennung, insbesondere in einer Gerätesteuerung, beispielsweise in einem Telekommunikationsgerät, in der Home Automation, d.h. beispielsweise in einer Umgebungssteuerung,
  • – in der Bildverarbeitung,
  • – in der Schriftzeichenerkennung,
  • – im Rahmen der Prognose des Verhaltens eines technischen Systems, welches mittels Hidden Markov Modells beschrieben wird.
Furthermore, the invention can be used in one of the following areas:
  • - in signal processing,
  • - in pattern recognition,
  • In speech processing, in particular in speaker-dependent speech recognition or speaker recognition, in particular in device control, for example in a telecommunications device, in home automation, ie for example in environmental control,
  • - in image processing,
  • - in character recognition,
  • - as part of the prediction of the behavior of a technical system, which is described using the Hidden Markov model.

Anschaulich kann die Erfindung darin gesehen werden, dass die zu ermittelnden Repräsentanten der Trainingsdatenvektoren gemäß folgendem Verfahren bestimmt werden.The invention can be clearly illustrated therein can be seen that the representatives of the training data vectors to be determined according to the following Procedure to be determined.

Zunächst werden alle die Trainingsvektoren ermittelt, die einem Zustand zugeordnet sind. Anschließend erfolgt eine Initialisierung, vorzugsweise eine Zufalls-Initialisierung der gewünschten Anzahl von Repräsentanten der Trainingsdatenvektoren. Nachfolgend werden die Repräsentanten, d.h. die Zustandsparameter, an die Wahrscheinlichkeitsdichtefunktion der Trainingsdatenvektoren adaptiert; anders ausgedrückt angepasst, indem

  • a) der in dem Vergleichsraum räumlich nächstliegende Repräsentant (Winner) zum aktuell betrachteten Trainingsdatenvektor im Sinne einer minimalen euklidischen Distanz ermittelt wird,
  • b) der ermittelte Repräsentant mit steigender Zahl von Durchläufen, vorzugsweise pro Durchlauf, abnehmender Adaptionskonstante an den jeweilig verwendeten Trainingsdatenvektor angepasst wird.
First, all the training vectors that are assigned to a state are determined. This is followed by an initialization, preferably a random initialization of the desired number of representatives of the training data vectors. The representatives, ie the state parameters, are subsequently adapted to the probability density function of the training data vectors; in other words, adjusted by
  • a) the representative (winner) spatially closest to the currently considered training data vector is determined in terms of a minimal Euclidean distance,
  • b) the determined representative is adapted to the training data vector used in each case with increasing number of runs, preferably per run, decreasing adaptation constant.

Die Schritte a) und b) werden in einer beliebig vorgebbaren Anzahl von Durchläufen mit allen Trainingsdatenvektoren durchgeführt.Steps a) and b) are described in an arbitrary number of runs with all training data vectors carried out.

Werden Zustandsparameter innerhalb eines Durchlaufs nicht oft genug zum Winner ermittelt, so werden diese gesondert behandelt, vorzugsweise dahingehend, dass für den Fall, dass ein Zustandsparameter zu selten getroffen wird; er durch jenen Repräsentanten, d.h. jenen Zustandsparameter, ersetzt wird, der in demselben Durchlauf am häufigsten als Winner bestimmt wurde.Are state parameters within of a run are not determined often enough to be the winner, so treats them separately, preferably in such a way that in the event that that a condition parameter is met too rarely; he through that Representatives, i.e. that state parameter that is replaced in the same pass most frequently when Winner was determined.

Schließlich wird vorzugsweise die jeweils verwendete Anpassungskonstante (Adaptionskonstante) an die Gesamtanzahl der berücksichtigten Trainingsdatenvektoren angepasst. Die Adaptionskonstante wird in der Art gewählt, dass das Adaptionsverhalten auch bei Zuständen mit stark unterschiedlicher Anzahl von Trainingsdatenvektoren, welche dem jeweiligen Zustand zugeordnet sind, gleich und unabhängig von der Skalierung der Trainingsdatenvektoren ist.Finally, preferably each used adaptation constant (adaptation constant) to the Total number of considered Training data vectors adjusted. The adaptation constant is in of the type chosen that the adaptation behavior even in conditions with very different Number of training data vectors which correspond to the respective state are assigned the same and regardless of the scaling of the Training data vectors is.

Ein Ausführungsbeispiel der Erfindung ist in den Figuren dargestellt und wird im Folgenden näher erläutert.An embodiment of the invention is shown in the figures and is explained in more detail below.

Es zeigenShow it

1 ein Blockdiagramm einer Spracherkennungseinrichtung gemäß einem Ausführungsbeispiel der Erfindung; 1 a block diagram of a speech recognition device according to an embodiment of the invention;

2 ein Diagramm eines Hidden Markov Modells gemäß einem Ausführungsbeispiel der Erfindung; 2 a diagram of a hidden Markov model according to an embodiment of the invention;

3A und 3B ein Ablaufdiagramm, in dem die einzelnen Verfahrensschritte zum Trainieren des Hidden Markov Modells gemäß einem Ausführungsbeispiel der Erfindung dargestellt sind. 3A and 3B a flow chart in which the individual method steps for training the hidden Markov model are shown according to an embodiment of the invention.

4 ein Telekommunikationsgerät mit einer Spracherkennungseinrichtung gemäß einem Ausführungsbeispiel der Erfindung; 4 a telecommunications device with a speech recognition device according to an embodiment of the invention;

5 ein Autoradio mit einer Spracherkennungseinrichtung gemäß einem Ausführungsbeispiel der Erfindung. 5 a car radio with a speech recognition device according to an embodiment of the invention.

l zeigt eine Spracherkennungseinrichtung 100 gemäß einem Ausführungsbeispiel der Erfindung. l shows a speech recognition device 100 according to an embodiment of the invention.

Die Spracherkennungseinrichtung 100 arbeitet je nach Betriebsmodus in einem ersten Betriebsmodus als Spracherkennungseinrichtung, wobei in dem Spracherkennungsmodus die Spracherkennungseinrichtung eine eingesprochene Äußerung 101, eingesprochen von einem Benutzer (nicht dargestellt) der Spracherkennungseinrichtung 100, erkennt unter Verwendung eines Verfahrens zur sprecherunabhängigen Spracherkennung. In einem zweiten Betriebsmodus, im Weiteren auch bezeichnet als Trainingsmodus, werden die im Folgenden beschriebenen Hidden Markov Modelle, welche im Rahmen der Spracherkennung verwendet werden, trainiert.The speech recognition device 100 Depending on the operating mode, it works in a first operating mode as a speech recognition device, the speech recognition device making a spoken utterance in the speech recognition mode 101 , spoken by a user (not shown) of the speech recognition device 100 , recognizes using a speaker-independent speech recognition technique. In a second operating mode, hereinafter also referred to as training mode, the fol The described hidden Markov models that are used in the context of speech recognition are trained.

In beiden Betriebsmodi wird das von dem Benutzer eingesprochene Sprachsignal 101 einem Mikrofon 102 zugeführt, und als aufgenommenes elektrisches Rnalogsignal 103 einer Vorverarbeitung, insbesondere einer Vorverstärkung mittels einer Vorverarbeitungseinheit 104, insbesondere mittels eines Vorverstärkers unterzogen und als vorverarbeitetes und verstärktes Analogsignal 105 einem Analog-/Digitalwandler 106 zugeführt, dort in ein digitales Signal 107 umgewandelt und als digitales Signal 107 einem Rechner 108 zugeführt.The speech signal spoken by the user is used in both operating modes 101 a microphone 102 supplied, and as a recorded electrical analog signal 103 a pre-processing, in particular a pre-amplification by means of a pre-processing unit 104 , in particular subjected to a preamplifier and as a preprocessed and amplified analog signal 105 an analog / digital converter 106 fed, there in a digital signal 107 converted and as a digital signal 107 a calculator 108 fed.

Es ist in diesem Zusammenhang anzumerken, dass das Mikrofon 102, die Vorverarbeitungseinheit 104, insbesondere die Verstärkungseinheit, und der Analog-/Digitalwandler 106 als separate Einheiten oder auch als in dem Rechner 108 integrierte Einheiten realisiert sein können.It should be noted in this context that the microphone 102 , the preprocessing unit 104 , in particular the amplification unit, and the analog / digital converter 106 as separate units or as in the computer 108 integrated units can be realized.

Gemäß diesem Ausführungsbeispiel ist es vorgesehen, dass das digitalisierte Signal 107 dem Rechner 108 über dessen Eingangsschnittstelle 109 zugeführt wird.According to this exemplary embodiment, it is provided that the digitized signal 107 the calculator 108 via its input interface 109 is fed.

Der Rechner 108 weist ferner einen Mikroprozessor 110, einen Speicher 111 sowie eine Ausgangsschnittstelle 112 auf, welche alle miteinander mittels eines Computerbus 113 gekoppelt sind.The computer 108 also has a microprocessor 110 , a memory 111 as well as an output interface 112 on all of them together using a computer bus 113 are coupled.

Mittels des Mikroprozessors 110 werden die im Weiteren beschriebenen Verfahrensschritte, insbesondere die Verfahren zum Trainieren der Hidden Markov Modelle sowie zur Spracherkennung unter Verwendung der trainierten Hidden Markov Modelle durchgeführt. Ein elektronisches Wörterbuch, welches die Einträge enthält, die im Rahmen der Spracherkennung als Referenzworte enthalten, ist in dem Speicher 111 gespeichert.Using the microprocessor 110 the method steps described below, in particular the methods for training the hidden Markov models and for speech recognition are carried out using the trained hidden Markov models. An electronic dictionary that contains the entries that contain reference words as part of the speech recognition is in the memory 111 saved.

Ferner ist ein ebenfalls mit dem Computerbus 113 gekoppelter digitaler Signalprozessor (DSP) 114 vorgesehen, der einen speziell auf die verwendeten sprecherunabhängigen Spracherkennungsalgorithmen hin spezialisierte Mikrocontroller aufweist.It is also connected to the computer bus 113 coupled digital signal processor (DSP) 114 provided that has a microcontroller that is specially specialized for the speaker-independent speech recognition algorithms used.

In dem digitalen Signalprozessor 114 ist ferner ein Computerprogramm gespeichert, welches eingerichtet ist zur sprecherunabhängigen Spracherkennung. Alternativ können die verwendeten Algorithmen in hartverdrahteter Logik, das heißt unmittelbar selbst in, Hardware, realisiert sein.In the digital signal processor 114 a computer program is also stored, which is set up for speaker-independent speech recognition. Alternatively, the algorithms used can be implemented in hard-wired logic, that is to say directly in hardware.

Ferner ist der Rechner 108 mittels der Eingangsschnittstelle 109 mit einer Tastatur 115 sowie einer Computermaus 116 über elektrische Leitungen 117, 118 oder eine Funkverbindung, beispielsweise eine Infrarot-Verbindung oder eine Bluetooth-Verbindung gekoppelt.Furthermore, the calculator 108 using the input interface 109 with a keyboard 115 as well as a computer mouse 116 via electrical cables 117 . 118 or a radio connection, for example an infrared connection or a Bluetooth connection.

Über zusätzliche Kabel oder Funkverbindungen, beispielsweise eine Infrarot-Verbindung oder eine Bluetooth-Verbindung 119, 120 ist der Rechner 108 mittels der Ausgangsschnittstelle 112 mit einem Lautsprecher 121 sowie einem Aktor 122 gekoppelt.Via additional cables or radio connections, for example an infrared connection or a Bluetooth connection 119 . 120 is the calculator 108 using the output interface 112 with a speaker 121 as well as an actuator 122 coupled.

Der Aktor 122 repräsentiert in 1 allgemein jeden möglichen Aktor im Rahmen der Steuerung eines technischen Systems, beispielsweise realisiert in Form eines Hardwareschalters oder in Form eines Computerprogramms für den Fall, dass beispielsweise ein Telekommunikationsgerät oder ein anderes technisches System, beispielsweise ein Autoradio, eine Stereoanlage, ein Videorecorder, ein Fernseher, der Computer selbst oder irgendeine andere technische Anlage gesteuert werden soll.The actuator 122 represented in 1 generally any possible actuator in the context of the control of a technical system, for example realized in the form of a hardware switch or in the form of a computer program in the event that, for example, a telecommunications device or another technical system, for example a car radio, a stereo system, a video recorder, a television, the computer itself or any other technical system is to be controlled.

Gemäß dem Ausführungsbeispiel der Erfindung weist die Vorverarbeitungseinheit 104 eine Filterbank mit einer Mehrzahl von Bandpässen auf, welche die Energie des eingegebenen Sprachsignals 103 in einzelnen Frequenzbändern messen. Mittels der Filterbank werden so genannte Kurzzeitspektren gebildet, indem die Ausgangssignale der Bandpässe gleichgerichtet, geglättet und in kurzen Abständen abgetastet werden, gemäß dem Ausführungsbeispiel alle 10 msec. Die so genannten Cepstrurn-Koeffizienten von zwei aufeinander folgenden Zeitfenstern sowie deren zeitliche erste Ableitung sowie deren zeitliche zweite Ableitung werden ermittelt und zu jeweils einem Super-Merkmalsvektor zusammengefasst und dem Rechner 108 zugeführt.According to the exemplary embodiment of the invention, the preprocessing unit has 104 a filter bank with a plurality of band-pass filters, which show the energy of the input speech signal 103 measure in individual frequency bands. So-called short-term spectra are formed by means of the filter bank, in that the output signals of the bandpasses are rectified, smoothed and sampled at short intervals, in accordance with the exemplary embodiment every 10 msec. The so-called cepstrurn coefficients of two successive time windows as well as their first time derivative and their second time derivative are determined and combined into a super feature vector and the computer 108 fed.

In einer alternativen Ausführungsform kann die Vorverarbeitungseinheit 104 in ihrer Funktion der Abbildung des Sprachsignals auf die Cepstrum-Koeffizienten in dem Rechner 108 und darin in dem Mikroprozessor 110 und/oder in dem DSP 114 realisiert sein.In an alternative embodiment, the preprocessing unit 104 in their function of mapping the speech signal onto the cepstrum coefficients in the computer 108 and in it in the microprocessor 110 and / or in the DSP 114 be realized.

In dem Rechner 108 ist, wie oben beschrieben, in Form eines Computerprogramms eine Spracherkennungseinheit, wobei die Spracherkennung auf dem Prinzip der Hidden Markov Modelle basiert, zur sprecherunabhängigen Spracherkennung realisiert, gemäß dem Ausführungsbeispiel in dem DSP 123.In the calculator 108 is, as described above, a speech recognition unit in the form of a computer program, the speech recognition being based on the principle of the Hidden Markov models, for speaker-independent speech recognition, according to the exemplary embodiment in the DSP 123 ,

In einem Basis-Wortschatz, der zu Beginn des Verfahrens in einem elektronischen Wörterbuch 114 gespeichert ist, ist zu jeweils einem Basis-Eintrag ein Hidden Markov Modell gespeichert, das jeweils auf folgende Weise unter Verwendung eines Trainings-Datensatzes, das heißt einer Menge von Trainings-Sprachsignalen, eingesprochen von einem oder mehreren Trainings-Nutzern, ermittelt wird.In a basic vocabulary at the beginning of the procedure in an electronic dictionary 114 A hidden Markov model is stored for each base entry, which is determined in each case in the following manner using a training data record, that is to say a set of training speech signals, spoken in by one or more training users.

Das Training der Hidden Markov Modelle erfolgt gemäß diesem Ausführungsbeispiel in drei Phasen:

  • – einer erste Phase, in der die in der Trainings-Datenbank enthaltenen Sprachsignale segmentiert werden,
  • – einer zweiten Phase, in der die LDA-Matrix (lineare Diskriminanzanalyse-Matrix) berechnet wird sowie
  • – einer dritten Phase, in der das Codebuch, das heißt die HMM-Prototypen-Merkmalsvektoren für jeweils eine in einem Auswahlschritt ausgewählte Anzahl von Merkmalsvektor-Komponenten berechnet werden.
According to this exemplary embodiment, the training of the Hidden Markov models takes place in three phases:
  • A first phase in which the speech signals contained in the training database are segmented,
  • - a second phase in which the LDA matrix (linear discriminant analysis matrix) is calculated and
  • A third phase in which the code book, that is to say the HMM prototype feature vectors, is calculated for a number of feature vector components selected in a selection step.

Die Gesamtheit dieser drei Phasen wird im Weiteren als das Training der Hidden Markov Modelle bezeichnet (HMM-Training).The entirety of these three phases is referred to below as the training of the Hidden Markov models (HMM training).

Das HMM-Training wird unter Verwendung des DSPs 123 sowie unter Verwendung von vorgegebenen Trainingskripts, anschaulich von geeignet eingerichteten Computerprogrammen, durchgeführt.The HMM training is done using the DSP 123 as well as using predetermined training scripts, clearly illustrated by suitably set up computer programs.

Gemäß diesem Ausführungsbeispiel wird jede gebildete lautsprachliche Einheit, das heißt jedes Phonem, in drei aufeinander folgende Phonemsegmente aufgeteilt, entsprechend einer Initial-Phase (erstes Phonemsegment), einer zentralen Phase (zweites Phonemsegment) und einer Endphase (drittes Phonemsegment) eines Lauts, das heißt eines Phonems.According to this embodiment each spoken unit, that is, each Phoneme, divided into three consecutive phoneme segments, corresponding to an initial phase (first phoneme segment), a central one Phase (second phoneme segment) and a final phase (third phoneme segment) of a sound, that is of a phoneme.

Anders ausgedrückt wird jeder Laut in einem Lautmodell mit drei Zuständen, das heißt mit einem Drei-Zustands-HMM modelliert.In other words, each sound becomes one Sound model with three states, this means modeled with a three-state HMM.

2 zeigt ein Beispiel eines Hidden Markov Modells 200 gemäß dem Ausführungsbeispiel der Erfindung. 2 shows an example of a hidden Markov model 200 according to the embodiment of the invention.

Das Hidden Markov Modells 200 weist eine Vielzahl von Zuständen 1, 2, 3, 4, 5 auf. Ferner ist das Hidden Markov Modell 200 charakterisiert durch

  • – eine Emissionswahrscheinlichkeits-Verteilung bj(o), mit der angegeben wird die Wahrscheinlichkeit, dass der Beobachtungsvektor o in dem Zustand j emittiert wird,
  • – Zustandsübergangs-Wahrscheinlichkeiten αij für den Zustandsübergang von dem Zustand i in den Zustand j,
  • – Eine Initialwahrscheinlichkeit πi, mit der die Wahrscheinlichkeit angegeben wird, mit welcher ein Pfad durch das Hidden Markov Modell 200 in dem Zustand i beginnt.
The Hidden Markov Model 200  has a variety of conditions 1 . 2 . 3 . 4 . 5  on. Furthermore, the hidden Markov model 200  characterized by
  • - one Emission probability distribution bj(O) with which is specified the probability that the observation vector O in the state j is emitted,
  • State transition probabilities α ij for the state transition from state i to state j,
  • - An initial probability π i , which indicates the probability with which a path through the Hidden Markov model 200 starts in state i.

Im Folgenden werden ohne Einschränkung der Allgemeingültigkeit die folgenden Randbedingungen angenommen.In the following, the universality the following boundary conditions are assumed.

In einem Links-Rechts-Modell als Hidden Markov Modell 200, bei dem nur die Zustandsübergänge einer Selbstschleife (Selfloop), eines Ein-Schritt-Zustandsübergangs (Step) und eines Zwei-Schritt-Zustandsübergangs (Skip) berücksichtigt werden, können die Zustandsübergangs-Wahrscheinlichkeiten αij, die ungleich dem Wert „Null" sind, als Konstanten angesetzt werden.In a left-right model as a hidden Markov model 200 , in which only the state transitions of a self-loop (selfloop), a one-step state transition (step) and a two-step state transition (skip) are taken into account, the state transition probabilities can be α ij , which are not equal to the value “zero” , are used as constants.

Anders ausgedrückt bedeutet dies, dass in diesem Fall für das beispielhafte Hidden Markov Modell 200 aus 2 gilt: α12 = α23 = α34 = α45 = C0 (1)(für einen Ein-Schritt-Zustandsübergang) bzw. α22 = α33 = α44 = α24 = C1 (2) (für eine Selbstschleife und einen Zwei-Schritt-Zustandsübergang).In other words, this means that in this case for the exemplary Hidden Markov model 200 out 2 applies: α 12 = α 23 = α 34 = α 45 = C 0 (1) (for a one-step state transition) or α 22 = α 33 = α 44 = α 24 = C 1 (2) (for a self-loop and a two-step state transition).

Alle anderen (in 2 nicht dargestellten) Zustandsübergangs-Wahrscheinlichkeiten αij werden auf den Wert „Null" gesetzt.Everyone else (in 2 (not shown) state transition probabilities α ij are set to the value "zero".

Es ist in diesem Zusammenhang anzumerken, dass es nicht erforderlich ist, den Zustandsübergangs-Wahrscheinlichkeiten αij einen konstanten Wert zuzuordnen. Es ist in einer alternativen Ausgestaltung der Erfindung beispielsweise vorgesehen, in den Zustandsübergangs-Wahrscheinlichkeiten αij die Phonemlänge zu codieren.In this connection it should be noted that it is not necessary to assign a constant value to the state transition probabilities α ij . In an alternative embodiment of the invention, it is provided, for example, to encode the phoneme length in the state transition probabilities α ij .

Ferner wird gemäß diesem Ausführungsbeispiel definiert: π1 = 1 (3)und πi ≠ 1 = 0 (4)d.h. ein Pfad durch das Hidden Markov Modell 200 kann immer nur in dem ersten Zustand 1 beginnen. Diese Annahme kann immer getroffen werden, wenn in dem mittels des Hidden Markov Modells 200 beschriebenen Systems eine Anfangsbedingung existiert.Furthermore, according to this exemplary embodiment, the following is defined: π 1 = 1 (3) and π i ≠ 1 = 0 (4) ie a path through the Hidden Markov model 200 can only ever in the first state 1 kick off. This assumption can always be made when using the Hidden Markov model 200 described system an initial condition exists.

Die Emissionswahrscheinlichkeits-Verteilung bj(o) wird gemäß diesem Ausführungsbeispiel mittels kontinuierlicher, mehrdimensionaler Wahrscheinlichkeits-Verteilung, so genannter continuous density mixtures modelliert gemäß folgender Vorschrift:

Figure 00150001
wobei mit

  • – cjk ein Wahrscheinlichkeits-Verteilungskoeffizient der k-ten Wahrscheinlichkeits-Verteilung in dem Zustand j,
  • – Mj die Anzahl von in dem Zustand j vorhandener Wahrscheinlichkeits-Verteilungen,
bezeichnet wird
und wobei
Figure 00160001
wobei mit
  • – ujk ein Mittelwertvektor der k-ten Wahrscheinlichkeits-Verteilung in dem Zustand j,
  • – Σjk eine Kovarianzmatrix der k-ten Wahrscheinlichkeits-Verteilung in dem Zustand j,
  • – n die Dimension des Beobachtungsvektors o,
bezeichnet wird.The emission probability distribution b j ( o ) is modeled according to this exemplary embodiment by means of a continuous, multidimensional probability distribution, so-called continuous density mixtures, according to the following rule:
Figure 00150001
being with
  • C jk is a probability distribution coefficient of the kth probability distribution in the state j,
  • Mj the number of probability distributions present in state j,
referred to as
and where
Figure 00160001
being with
  • U jk is an average vector of the kth probability distribution in the state j,
  • - Σ jk is a covariance matrix of the kth probability distribution in the state j,
  • - n the dimension of the observation vector o,
referred to as.

Jede Wahrscheinlichkeits-Verteilung entspricht einer mehrdimensionalen Gaußverteilung. Mit einem solchen continuous density mixture model kann jede kontinuierliche Wahrscheinlichkeitsdichtefunktion beliebig genau angenähert werden. Setzt man die Varianzen der Gaußverteilungen auf einen konstanten Wert und sind gleichzeitig die Kovarianzen gleich Null – was der Fall ist, wenn der Beobachtungsvektor o mittels einer im Folgenden noch näher erläuterten Linearen Diskriminanzanalyse (LDA) ermittelt wurde – so sind zur Bestimmung der Emissionswahrscheinlichkeits-Verteilung bj(o) nur noch die Mittelwertvektoren μjk erforderlich.Each probability distribution corresponds to a multi-dimensional Gaussian distribution. With such a continuous density mixture model, any continuous probability density function can be approximated with any accuracy. If the variances of the Gaussian distributions are set to a constant value and at the same time the covariances are zero - which is the case if the observation vector o was determined using a linear discriminant analysis (LDA), which is explained in more detail below - then the emission probability distribution is to be determined b j ( o ) only the mean vectors μ jk are required.

Während der Spracherkennung werden die drei Phonemsegmente in einer Bakis-Topologie oder allgemein einer Links-Rechts-Topologie aneinander gereiht und auf die Konkatenation dieser drei aneinander gereihten Segmente wird die Berechnung im Rahmen der sprecherunabhängigen Spracherkennung durchgeführt.While In speech recognition, the three phoneme segments in a Bakis topology or generally a left-right topology strung together and on the concatenation of these three segments in a row the calculation was carried out as part of speaker-independent speech recognition.

Wie im Weiteren noch näher erläutert wird, wird in dem Spracherkennungsmodus ein Viterbi-Algorithmus zum Dekodieren der Merkmalsvektoren, welche aus dem eingegebenen Sprachsignal 101 gebildet werden, durchgeführt.As will be explained in more detail below, in the speech recognition mode a Viterbi algorithm is used to decode the feature vectors which result from the input speech signal 101 be formed.

Nach erfolgter Segmentierung wird die LDA-Matrix A mittels einer LDA-Matrix-Berechnungseinheit ermittelt.After segmentation, the LDA matrix A is determined using an LDA matrix calculation unit.

Die LDA-Matrix A dient zur Transformation eines jeweiligen Super-Merkmalsvektors y auf einen Merkmalsvektor x gemäß folgender Vorschrift: x = A T·(y – y), (7)wobei mit

  • x ein Merkmalsvektor,
  • A eine LDA-Matrix,
  • y ein Super-Merkmalsvektor,
  • y ein globaler Verschiebungsvektor
bezeichnet wird.The LDA matrix A is used to transform a respective super feature vector y to a feature vector x according to the following rule: x = A T · ( y - y ), (7) being with
  • - x a feature vector,
  • A an LDA matrix,
  • - y a super feature vector,
  • - y a global displacement vector
referred to as.

Die LDA-Matrix A wird derart bestimmt, dass

  • – die Komponenten des Merkmalsvektors x im statistischen Durchschnitt voneinander im Wesentlichen unkorreliert sind,
  • – die statistischen Varianzen innerhalb einer Segmentklasse im statistischen Durchschnitt normalisiert sind,
  • – die Zentren der Segmentklassen im statistischen Durchschnitt einen maximalen Abstand voneinander aufweisen und
  • – die Dimension der Merkmalsvektoren x möglichst, vorzugsweise Spracherkennungsanwendungs-abhängig, reduziert wird.
The LDA matrix A is determined in such a way that
  • The components of the feature vector x are essentially uncorrelated from one another on a statistical average,
  • The statistical variances within a segment class are normalized on a statistical average,
  • - The centers of the segment classes have a maximum distance from each other on a statistical average and
  • - The dimension of the feature vectors x is reduced as possible, preferably depending on the speech recognition application.

Im Folgenden wird das Verfahren zum Bestimmen der LDA-Matrix A gemäß diesen Ausführungsbeispielen erläutert.The method for determining the LDA matrix A according to these exemplary embodiments is explained below.

Es ist jedoch anzumerken, dass alternativ alle bekannten Verfahren zum Bestimmen einer LDA-Matrix A ohne Einschränkung eingesetzt werden kann.However, it should be noted that, alternatively, all known methods for determining an LDA matrix A can be used without restriction.

Es wird angenommen, dass J Segmentklassen existieren, wobei jede Segmentklasse j einen Satz Dy-dimensionaler Super-Merkmalsvektoren y enthält, das heißt, dass gilt:

Figure 00180001
wobei mit Nj die Anzahl der in der Klasse j sich befindenden Super-Merkmalsvektoren y j bezeichnet wird.It is assumed that J segment classes exist, each segment class j containing a set D y -dimensional super feature vectors y , that is to say:
Figure 00180001
where N j is the number of the class that are available super feature vectors y j j.

Mit

Figure 00180002
wird die Gesamtzahl der Super-Merkmalsvektoren y bezeichnet.With
Figure 00180002
is the total number of super feature vectors y .

Es ist anzumerken, dass die Super-Merkmalsvektoren y j k unter Verwendung der oben beschriebenen Segmentierung der Sprachsignal-Datenbank ermittelt worden sind. Gemäß diesem Ausführungsbeispiel weist jeder Super-Merkmalsvektor y j k eine Dimension Dy von Dy = 78 (= 2·3·13)auf, wobei 13 MFCC-Koeffizienten (Cepstrums-Koeffizienten) in dem Super-Merkmalsvektor y j k enthalten sind, sowie deren jeweilige zeitliche erste Ableitung und deren jeweilige zeitliche zweite Ableitung (dies begründet obigen Faktor 3).It should be noted that the super feature vectors y j k have been determined using the segmentation of the speech signal database described above. According to this exemplary embodiment, each super feature vector y j k has a dimension D y of Dy = 78 (= 2 · 3 · 13) on, wherein 13 MFCC coefficients (cepstrums coefficients) are contained in the super feature vector y j k , as well as their respective temporal first derivative and their respective temporal second derivative (this justifies factor 3 above).

Ferner sind in jedem Super-Merkmalsvektor y j k jeweils die Komponenten zweier zeitlich unmittelbar aufeinanderfolgender Zeitfenster im Rahmen der Kurzzeitanalyse enthalten (dies begründet obigen Faktor 2).Furthermore, each super feature vector y j k contains the components of two temporally immediately consecutive time windows in the context of the short-term analysis (this justifies factor 2 above).

Es ist in diesem Zusammenhang anzumerken, dass grundsätzlich eine beliebige, an die jeweilige Anwendung angepasste Zahl von Vektorkomponenten in dem Super-Merkmalsvektor y j k enthalten sein kann, beispielsweise bis zu 20 Cepstrums-Koeffizienten und deren zugehörigen zeitlichen erste Ableitungen und zweite Ableitungen.It should be noted in this connection that in principle any number of vector components adapted to the respective application can be contained in the super feature vector y j k , for example up to 20 cepstrums coefficients and their associated temporal first derivatives and second derivatives.

Der statistische Mittelwert oder anders ausgedrückt das Zentrum der Klasse j ergibt sich gemäß folgender Vorschrift:

Figure 00190001
The statistical mean or, in other words, the center of class j results from the following rule:
Figure 00190001

Die Kovarianzmatrix Σ j der Klasse j ergibt sich gemäß folgender Vorschrift:

Figure 00190002
The covariance matrix Σ j of class j results according to the following rule:
Figure 00190002

Die Durchschnitts-Intea-Streumatrix S w ist definiert als:

Figure 00200001
wobei p(j) als Gewichtungsfaktor der Klasse j bezeichnet wird.The average intea scattering matrix S w is defined as:
Figure 00200001
where p (j) is called the weighting factor of class j.

In analoger Weise ist die Durchschnitts-Inter-Streumatrix S b definiert als:

Figure 00200002
als dem Durchschnitts-Super-Merkmalsvektor über alle Klassen.In an analogous manner, the average inter-scattering matrix S b is defined as:
Figure 00200002
as the average super feature vector across all classes.

Die LDA-Matrix A wird zerlegt gemäß folgender Vorschrift: A = V, (16)wobei mit

  • U eine erste Transformationsmatrix,
  • W eine zweite Transformationsmatrix und
  • V eine dritte Transformationsmatrix
bezeichnet wird.The LDA matrix A is broken down according to the following rule: A = U · W · V , (16) being with
  • - U a first transformation matrix,
  • - W a second transformation matrix and
  • - V a third transformation matrix
referred to as.

Die erste Transformationsmatrix U wird verwendet, um die Durchschnitts-Intra-Streumatrix S w zu diagonalisieren und wird ermittelt, indem die positiv definite und symmetrische Durchschnitts-Intra-Streumatrix S w in ihren Eigenvektorraum transformiert wird. In ihrem Eigenvektorraum ist die Durchschnitts-Intea-Streumatrix S w eine Diagonal-Matrix, deren Komponenten positiv und größer oder gleich null sind. Die Komponenten, deren Werte größer null sind, entsprechen der Durchschnitts-Varianz in der jeweiligen durch die entsprechende Vektorkomponente definierten Dimension.The first transformation matrix U is used to diagonalize the average intra-scatter matrix S w and is determined by transforming the positively definite and symmetrical average intra-scatter matrix S w into its eigenvector space. In its eigenvector space, the average intea scattering matrix S w is a diagonal matrix, the components of which are positive and greater than or equal to zero. The components whose values are greater than zero correspond to the average variance in the respective dimension defined by the corresponding vector component.

Die zweite Transformationsmatrix W wird zum Normalisieren der Durchschnitts-Varianzen verwendet und wird ermittelt gemäß folgender Vorschrift:

Figure 00210001
The second transformation matrix W is used to normalize the average variances and is determined according to the following rule:
Figure 00210001

Die Transformation U·W wird auch als Weißung bezeichnet.The transformation U · W is also called whitening.

Mit B = U·W (18)ergibt sich für die Matrix B T·S w·B die Einheitsmatrix, welche bei jeder beliebigen orthonormalen Lineartransformation unverändert bleibt.With B = U W (18) the matrix B T · S w · B results in the unit matrix, which remains unchanged in any orthonormal linear transformation.

Um die Durchschnitts-Inter-Streumatrix S b zu diagonalisieren wird die dritte Transformationsmatrix V, die gebildet wird gemäß folgender Vorschrift: V = B T·S b·B, (9) wobei B T·S b·B ebenfalls eine positiv definite und symmetrische Matrix darstellt, in ihren Eigenvektorraum transformiert wird.In order to diagonalize the average inter-scattering matrix S b , the third transformation matrix V , which is formed in accordance with the following rule: V = B T · S b B, (9) where B T · S b · B also represents a positively definite and symmetrical matrix, is transformed into its eigenvector space.

In dem Transformationsraum x = A T·(y – y) (20)ergeben sich somit folgende Matrizen: Eine diagonalisierte Durchschnitts-Intra-Streumatrix S w:

Figure 00220001
und eine diagonalisierte Durchschnitts-Inter-Streumatrix S b:
Figure 00220002
wobei mit
Figure 00220003
eine Dy × Dy Diagonalmatrix mit den Komponenten cd in der Zeile/Spalte d und sonst mit Komponenten mit dem Wert Null, bezeichnet wird.In the transformation space x = A T · ( y - y ) (20) The following matrices result: A diagonalized average intra-scatter matrix S w :
Figure 00220001
and a diagonalized average inter-scattering matrix S b :
Figure 00220002
being with
Figure 00220003
a D y × D y diagonal matrix with the components c d in the row / column d and otherwise with components with the value zero.

Die Werte σ2 d sind die Eigenwerte der Durchschnitts-Inter-Streumatrix S b und stellen ein Maß für die so genannte Pseudoentropie der Merkmalsvektor-Komponenten dar, welche im Folgenden auch als Informationsgehalt der Merkmalsvektor-Komponenten bezeichnet wird. Es ist anzumerken, dass die Spur jeder Matrix invariant ist bezüglich irgendeiner Orthogonaltransformation, womit sich ergibt, dass die Summe

Figure 00220004
die Gesamt-Durchschnitts-Varianz des Durchschnitts-Vektors x j der J Klassen darstellt.The values σ 2 d are the eigenvalues of the average inter-scattering matrix S b and represent a measure for the so-called pseudo-entropy of the feature vector components, which is also referred to below as the information content of the feature vector components. It should be noted that the trace of each matrix is invariant with respect to any orthogonal transformation, which results in the sum
Figure 00220004
represents the total average variance of the average vector x j of the J classes.

Es ergibt sich somit eine ermittelte Anhängigkeit der Pseudoentropie der Merkmalsvektoren von den jeweils in dem Merkmalsvektor enthaltenen bzw. berücksichtigten Merkmalsvektor-Komponenten.The result is a determined pendency the pseudo-entropy of the feature vectors of those in the feature vector contained or considered Feature vector components.

Gemäß diesem Ausführungsbeispiel wird anschließend eine Dimensionsreduktion vorgenommen, indem die σ2 d-Werte in in ihrer Größe abfallender Reihenfolge sortiert werden und die σ2 d-Werte weggelassen werden, das heißt unberücksichtigt bleiben, die kleiner sind als ein vorgegebener Schwellwert. Der vorgegebene Schwellwert kann ferner kumulativ definiert sein.According to this exemplary embodiment, a dimension reduction is then carried out by sorting the σ 2 d values in order of decreasing size and omitting the σ 2 d values, that is to say disregarding those that are smaller than a predetermined threshold value. The predetermined threshold value can also be defined cumulatively.

Dann kann die LDA-Matrix A T angepasst werden, indem die Zeilen entsprechend den Eigenwerten σ2 d sortiert werden und die Zeilen weggelassen werden, die zu den ausreichend „kleinen" Varianzen gehören und damit nur einen geringen Informationsgehalt (geringe Pseudoentropie) aufweisen.Have then the LDA matrix A T can be adjusted by the lines corresponding to the eigenvalues σ 2 are sorted d and the rows are omitted belong to the sufficiently "small" variances, and thus only a small information content (low Pseudoentropie).

Gemäß diesem Ausführungsbeispiel werden die Komponenten mit den 24 größten Eigenwerten σ2 d verwendet, anders ausgedrückt Dx = 24.According to this exemplary embodiment, the components with the 24 largest eigenvalues σ 2 d are used, in other words D x = 24.

Die vier oben beschriebenen Teilschritte zum Ermitteln der LDA-Matrix A sind in folgender Tabelle zusammengefasst:

Figure 00230001
Figure 00240001
The four steps described above for determining the LDA matrix A are summarized in the following table:
Figure 00230001
Figure 00240001

Das letzte Verfahren zum Teil-Verfahren im Rahmen des Trainings der Hidden Markov Modelle ist das Clustern der Merkmalsvektoren, welches mittels einer Clustereinheit durchgeführt wird und welches als Ergebnis ein jeweiliges Codebuch hat, jeweils spezifisch für einen Trainingsdatensatz mit einer vorgegebenen Anzahl von Merkmalsvektor-Komponenten. Die Gesamtheit der Repräsentanten der Segmentklassen wird als Codebuch bezeichnet und die Repräsentanten selbst werden auch als Prototypen der Phonemsegmentklasse bezeichnet.The last procedure to partial procedure Clustering is part of the training of the Hidden Markov models the feature vectors, which is carried out by means of a cluster unit and which result has a respective codebook, each specific for one Training data record with a predetermined number of feature vector components. The entirety of the representatives The segment classes are referred to as the code book and the representatives themselves are also called prototypes of the phoneme segment class.

Die Prototypen, im Weiteren auch als Prototyp-Merkmalsvektoren bezeichnet, werden gemäß dem Folgenden Verfahren ermittelt.The prototypes, furthermore as prototype feature vectors are designated according to the following Procedure determined.

Die 3a und 3b zeigen in einem Ablaufdiagramm 300 die einzelnen Verfahrensschritte des Teil-Verfahrens zum Trainieren des Hidden Markov Modells 200 gemäß dem Ausführungsbeispiel der Erfindung.The 3a and 3b show in a flow chart 300 the individual process steps of the partial process for training the hidden Markov model 200 according to the embodiment of the invention.

Gemäß einem in 3a dargestellten ersten Schritt (Schritt 301) wird das Verfahren gestartet.According to one in 3a First step shown (step 301), the method is started.

Anschließend werden, wie oben erläutert wurde, die Trainingsdatenvektoren erfasst (Schritt 302).Then, as explained above, the training data vectors acquired (step 302).

In einem nachfolgenden Schritt werden die Trainingsdatenvektoren in unterschiedliche Zustandsgruppen, welche jeweils eine gemeinsame Bedeutung aufweisen, gemäß diesem Ausführungsbeispiel eine lautsprachliche Einheit oder einen Teil einer lautsprachlichen Einheit repräsentieren, gruppiert (Schritt 303) und einem jeweiligen Zustand, der ebenfalls die jeweilige lautsprachliche Einheit repräsentiert, zugeordnet.In a subsequent step the training data vectors in different state groups, which each have a common meaning, according to this embodiment a spoken unit or part of a spoken unit Represent unity, grouped (step 303) and a respective state that also represents the respective speaking unit.

Anschließend erfolgt für alle HMM-Zustände eine Zufalls-Initialisierung von Mj Mittelwertvektoren in einem jeweiligen HMM-Zustand.This is followed by a random initialization of M j mean vectors in a respective HMM state for all HMM states.

Üblicherweise sind für ein Ganzwortmodell mit ungefähr 2000 Repräsentanten, für ein Phonemmodell mit 4000 bis 10000 Repräsentanten bei ungefähr 100 bis 200 Zuständen bei der Initialisierung ungefähr 20 Mittelwertvektoren pro Zustand vorgesehen.Usually are for a full word model with approx 2000 representatives, for a Phoneme model with 4000 to 10000 representatives at approximately 100 to 200 states approximately at initialization 20 mean vectors are provided per state.

Die Zufallsinitialisierung der Mj Mittelwertvektoren μjk erfolgt gemäß folgender Vorschrift: μjk = wstart·rande(), (24)wobei mit

  • – wstart ein Gewichtswert der initialisierten Mittelwertvektoren und
  • – rand() eine Zufallszahl-Erzeugungsfunktion,
bezeichnet wird.The randomization of the M j mean vectors μ jk is carried out according to the following rule: μ jk = w begin Rande (), (24) being with
  • - w start a weight value of the initialized mean vectors and
  • Rand () a random number generation function,
referred to as.

Nach erfolgter Initialisierung der Mj Mittelwertvektoren μjk für jeden der HMM-Zustände des Hidden Markov Modells 200 wird ein HMM-Zustandsindex j auf den Wert 1 initialisiert (Schritt 305).After initialization of the M j mean vectors μ jk for each of the HMM states of the Hidden Markov model 200 an HMM status index j is initialized to the value 1 (step 305).

Anschließend wird ein Trainingsdatenvektorindex n, mit dem ein jeweiliger Trainingsdatenvektor eindeutig identifiziert wird, auf den Wert 1 gesetzt (Schritt 306).Then a training data vector index n with which a respective training data vector is uniquely identified is set to 1 (step 306).

Zu dem als erstes ausgewählten Trainingsdatenvektor, dem der Trainingsdatenvektorindex n = 1 zugeordnet ist, wird der Mittelwertvektor in dem Zustand j = 1 ermittelt, der dem Trainingsdatenvektor mit n = 1 in dem Vergleichsraum am Nächsten liegt (Schritt 307).To the first selected training data vector, to which the training data vector index n = 1 is assigned, the Average vector in the state j = 1 determined that the training data vector with n = 1 is closest in the comparison space (step 307).

Anders ausgedrückt bedeutet dies, dass zu dem aktuell betrachteten Trainingsdatenvektor v jn der nächstliegende Mittelwertvektor μjw gemäß folgender Vorschrift ermittelt wird:

Figure 00270001
In other words, for the training data vector v jn currently under consideration, the closest mean vector μ jw is determined according to the following rule:
Figure 00270001

Der nächstliegende Mittelwertvektor (Winner μjw) wird in Abhängigkeit des aktuell verwendeten Trainingsdatenvektors v jn gemäß folgender Vorschrift an die Position des aktuellen Trainingsdatenvektors angepasst (Schritt 308):

Figure 00270002
The closest mean value vector (winner μ jw ) is adapted to the position of the current training data vector depending on the currently used training data vector v jn (step 308):
Figure 00270002

Der Adaptionskoeffizient a nimmt gemäß diesem Ausführungsbeispiel mit der Anzahl P der Durchläufe durch alle Trainingsdatenvektoren ab gemäß folgenden Vorschriften:The adaptation coefficient a takes according to this embodiment with the number P of runs through all training data vectors from according to the following regulations:

1. Durchlauf: a1 = astart, astart ≈ 0,1 1st pass: a 1 = a begin , a begin ≈ 0.1

Alle weiteren Durchläufe: ap+1 = ap·adiff, adiff ≈ 0,95, p = 1, ..., P. All other runs: a p + 1 = a p · a diff , a diff ≈ 0.95, p = 1, ..., P.

Das Ermitteln des jeweils nächstliegenden Mittelwertvektors μ jw und das entsprechende Anpassen des nächstliegenden Mittelwertvektors an den aktuellen Trainingsdatenvektor (Schritte 307, 308) wird für alle Trainingsdatenvektoren in der dem Zustand j zugeordneten Trainingsdatengruppe durchgeführt.The determination of the nearest mean vector μ jw and the corresponding adaptation of the nearest mean vector to the current training data vector (steps 307, 308) is carried out for all training data vectors in the training data group assigned to state j.

Anders ausgedrückt bedeutet dies, dass in einem Prüfschritt (Schritt 309) überprüft wird, ob der Trainingsdatenvektorindex n gleich dem Wert N ist, wobei mit N die Anzahl der in der jeweiligen Zustandsgruppe enthaltenen Trainingsdatenvektoren bezeichnet wird.In other words, it means that in a test step (Step 309) is checked, whether the training data vector index n is equal to the value N, where with N the number of those contained in the respective status group Training data vectors is called.

Ist dies nicht der Fall, so wird in einem nachfolgenden Schritt (Schritt 310) der Trainingsdatenvektorindex n um den Wert 1 erhöht und die Schritte 307 und 308 werden für den neuen, noch nicht berücksichtigten Trainingsdatenvektor n + 1 der dem HMM-Zustand j zugeordneten Zustandsgruppe erneut durchgeführt.If this is not the case, then in a subsequent step (step 310) the training data vector index n increased by 1 and steps 307 and 308 are for the new training data vector not yet considered n + 1 of the status group assigned to the HMM status j is carried out again.

Sind alle Trainingsdatenvektoren einer Zustandsgruppe berücksichtigt worden, so wird in einem nachfolgenden Schritt geprüft, ob ein vorgegebenes Abbruchkriterium, beispielsweise eine vorgegebene Anzahl von durchzuführenden Iterationen, erfüllt ist (Schritt 311).Are all training data vectors of a status group has been checked in a subsequent step whether a predefined termination criterion, for example a predefined number of to be performed Iterations, fulfilled (step 311).

Ist das Abbruchkriterium nicht erfüllt, so wird eine neue Iteration, beginnend in Schritt 306, auf das Hidden Markov Modell 200 durchgeführt, mit einem neu gemäß folgender Vorschrift bestimmten Adaptionskoeffizient a (Schritt 312): ap+1 = ap·adiff If the termination criterion is not met, a new iteration, starting in step 306, is applied to the Hidden Markov model 200 with a new adaptation coefficient a determined according to the following regulation (step 312): a p + 1 = a p · a diff

Ist das Abbruchkriterium erfüllt, so wird in einem nachfolgenden Schritt geprüft, ob das Verfahren schon für alle HMM-Zustände J durchgeführt worden ist.If the termination criterion is fulfilled, then in a subsequent step it is checked whether the procedure already does for all HMM states J performed has been.

Anders ausgedrückt bedeutet dies, dass in einem weiteren Prüfschritt (Schritt 313) überprüft wird, ob der Zustandsindex j gleich dem Wert J ist, wobei mit J die Anzahl berücksichtigter Zustände des Hidden Markov Modells 200 bezeichnet wird.In other words, it is checked in a further test step (step 313) whether the state index j is equal to the value J, with J being the number of states of the Hidden Markov model taken into account 200 referred to as.

Ist dies nicht der Fall, so wird der Zustandsindex j um den Wert 1 erhöht (Schritt 314) und die Schritt 306, 307, 308, 309, 310 werden für die Trainingsdatenvektoren des neuen Zustands (j + 1) erneut durchgeführt.If this is not the case, then the state index j is increased by the value 1 (step 314) and step 306, 307, 308, 309, 310 are for the training data vectors of the new state (j + 1) performed again.

Anders ausgedrückt bedeutet dies, dass alle Zustände unter Verwendung der den jeweiligen Zustandsgruppen zugeordneten Trainingsdatenvektoren gemäß dem oben beschriebenen Verfahren trainiert werden.In other words, it means that everyone conditions using those assigned to the respective status groups Training data vectors according to the above described procedures are trained.

Ist das Verfahren für alle J HMM-Zustände und dabei für alle N Trainingsdatenvektoren durchgeführt worden, so wird das Verfahren in einem Schritt 315 beendet.Is the procedure for all J HMM states and doing it for the procedure is carried out every N training data vectors ended in a step 315.

Im Folgenden werden zu dem oben beschriebenen Trainingsverfahren eines HMMs zwei bevorzugte Modifikationen beschrieben.The following will go to that described above Training methods of an HMM described two preferred modifications.

Gemäß einer alternativen Ausführungsform der Erfindung ist es vorgesehen, jene Mittelwertvektoren, die innerhalb einer Iteration nicht oft genug als nächstliegender Mittelwertvektor (als Winner) ermittelt worden sind, gesondert zu behandeln. Es wird ein Schwellenwertkoeffizient cgiveup eingeführt, der gemeinsam mit der Gesamtanzahl N der Trainingsdatenvektoren der jeweiligen Zustandsgruppe jene Schwelle definiert, unter der ein Mittelwertvektor als zu selten getroffen betrachtet wird.According to an alternative embodiment of the invention, it is provided that those mean value vectors that have not been determined often enough as the closest mean value vector (as a winner) within an iteration are treated separately. A threshold value coefficient c giveup is introduced which, together with the total number N of training data vectors of the respective status group, defines the threshold below which an average value vector is considered to have been hit too rarely.

Der Schwellenwert Ngiveup ergibt sich somit gemäß folgender Vorschrift: Ngiveup = cgiveup·N, (27) mitcgiveup ≈ 0 ... 0,05. (28) The threshold value N giveup thus results according to the following regulation: N give up = c give up · N, (27) With c give up ≈ 0 ... 0.05. (28)

War ein Mittelwertvektor nach einer Iteration nicht öfter als Ngiveup Mal der Winner, so wird er durch jenen Mittelwertvektor ersetzt, der in derselben Iteration am öftesten als nächstliegender Mittelwertvektor ermittelt worden ist. Gemäß der Vorschrift cgiveup = 0 wird ein Mittelwertvektor erst verworfen, wenn er innerhalb einer Iteration niemals getroffen wurde.If an average vector was not the winner more than N giveup times after an iteration, it is replaced by the average vector which was most often determined as the closest average vector in the same iteration. According to the rule c giveup = 0, an average vector is only rejected if it has never been hit within an iteration.

Diese Vorgehensweise hat insbesondere den Vorteil einer besseren Modellierung einer Feinstruktur in den Trainingsdatenvektoren.This approach has in particular the advantage of better modeling of a fine structure in the Training data vectors.

Gemäß einer anderen Ausführungsform der Erfindung erfolgt eine unterschiedliche Anpassung der Adaptionskonstanten a an die Gesamtzahl Nj der Trainingsdatenvektoren pro Zustand j. Entsprechend folgender Vorschrift ist die Adaptionskonstante a umso kleiner gewählt, je mehr Trainingsdatenvektoren vorhanden sind:

Figure 00300001
wobei mit P die Anzahl der Durchläufe der Iterationen über alle Nj Trainingsdatenvektoren bezeichnet wird.According to another embodiment of the invention, the adaptation constant a is adapted differently to the total number N j of training data vectors per state j. According to the following regulation, the adaptation constant a is chosen the smaller the more training data vectors are present:
Figure 00300001
where P denotes the number of iterations through all N j training data vectors.

Auf diese Weise wird erreicht, dass bei verschiedenen Zuständen mit stark unterschiedlicher Anzahl vorhandener Trainingsdatenvektoren in der jeweiligen Zustandsgruppe das Adaptionsverhalten des Cluster-Verfahrens gleich ist.In this way it is achieved that in different states with a very different number of existing training data vectors the adaptation behavior of the cluster method in the respective status group is equal to.

Die Variable

Figure 00310001
wird in der Weise gewählt, dass die Adaptionskonstante a bei der ersten Iteration das 100-fache bis 10000-fache ihres Wertes bei der letzten Iteration beträgt, d.h. es gilt folgende Vorschrift:
Figure 00310002
The variable
Figure 00310001
is selected in such a way that the adaptation constant a in the first iteration is 100 times to 10,000 times its value in the last iteration, ie the following rule applies:
Figure 00310002

Damit berechnet sich

Figure 00310003
zu:
Figure 00310004
This is calculated
Figure 00310003
to:
Figure 00310004

Durch die erfindungsgemäße Vorgehensweise wird die erforderliche Rechenzeit zum Trainieren eines Hidden Markov Modells gegenüber dem Baum-Welch-Verfahren erheblich reduziert.Through the procedure according to the invention is the computing time required to train a Hidden Markov Model the Baum-Welch process is significantly reduced.

Bei einem Personal Computer mit einer Taktfrequenz von 1 GHz bedeutet dies ein Aufwand weniger Stunden zum Trainieren eines Hidden Markov Modells gemäß der Erfindung gegenüber einer Rechenzeit zum Trainieren des Hidden Markov Modells gemäß dem Baum-Welch-Verfahren von einigen Wochen.With a personal computer with a Clock frequency of 1 GHz, this means an effort of a few hours for training a hidden Markov model according to the invention against one Computing time for training the hidden Markov model according to the Baum-Welch method of a few weeks.

Ferner treten erfindungsgemäß keine Zahlenwertprobleme mehr auf, da die Mittelwertvektoren dieselben Größenordnungen annehmen wie die Trainingsdatenvektoren.Furthermore, none occur according to the invention Numerical value problems more because the mean vectors are the same orders of magnitude assume like the training data vectors.

Auf die oben beschriebene Weise wurden die Basiseinträge des elektronischen Wörterbuches, das heißt die Basiseinträge zur sprecherunabhängigen Spracherkennung erstellt und gespeichert und die entsprechenden Hidden Markov Modelle trainiert.In the manner described above the basic entries of the electronic dictionary, this means the basic entries for speaker independent Speech recognition created and saved and the corresponding Hidden Markov models trained.

Somit existiert für jeden Basiseintrag jeweils ein Hidden Markov Modell.Thus there is one for each basic entry a hidden Markov model.

Unter Verwendung der Hidden Markov Modelle wird in dem Spracherkennungssystem in dem Spracherkennungsmodus eine Ansicht bekannter Spracherkennung durchgeführt.Using the Hidden Markov Models are in the speech recognition system in the speech recognition mode performed a view of known speech recognition.

4 zeigt ein Mobilfunk-Telefongerät 400, in dem die in 1 dargestellte Spracherkennungseinrichtung 100 integriert ist. Ferner kann in das Mobilfunk-Telefongerät 400 ein PDA (Personal Digital Assistant) integriert sein sowie weitere Telekommunikations-Funktionen, wie beispielsweise das Senden und/oder Empfangen von Faxmitteilungen oder von SMS-Mitteilungen (Short Message Service-Mitteilungen) oder von MMS-Mitteilungen (Multimedia Message Service-Mitteilungen). Ferner kann das Mobilfunk-Telefongerät 400 um zusätzliche Multimediafunktionalitäten erweitert sein, beispielsweise kann eine Kamera in das Mobilfunk-Telefongerät 400 integriert sein. 4 shows a cellular telephone device 400 in which the in 1 shown speech recognition device 100 is integrated. Furthermore, in the mobile phone device 400 a PDA (Personal Digital Assistant) be integrated as well as other telecommunications functions, such as the sending and / or receiving of fax messages or SMS messages (Short Message Service messages) or MMS messages (Multimedia Message Service messages). Furthermore, the mobile phone device 400 can be expanded by additional multimedia functionalities, for example a camera in the mobile telephone device 400 be integrated.

5 zeigt ein Autoradio 500, in dem (symbolisch in 5 dargestellt) eine Vielzahl unterschiedlicher Komponenten integriert sind, so beispielsweise ein Navigationssystem 501, ein CD-Spieler 502, ein Kassettenrekorder 503, ein Radio 504, ein Telefongerät mit Freisprechanlage 505 sowie die Spracherkennungseinrichtung 100, wie sie in 1 dargestellt ist. Die Information kann sowohl mittels der Spracherkennungseinrichtung 100 als auch über einen Bildschirm 506 zwischen dem Benutzer und dem Autoradio 500 ausgetauscht werden. 5 shows a car radio 500 , in which (symbolically in 5 shown) a variety of different components are integrated, such as a navigation system 501 , a CD player 502 , a tape recorder 503 , a radio 504 , a hands-free phone 505 as well as the speech recognition device 100 as in 1 is shown. The information can both by means of the speech recognition device 100 as well as a screen 506 between the user and the car radio 500 be replaced.

Gerade zur Steuerung eines eine Vielzahl von unterschiedlichen Funktionalitäten bereitstellenden Systems, wie eines mit einer Vielzahl unterschiedlicher Funktionen versehenen Autoradios 500 eignet sich die Erfindung sehr gut, da sehr flexibel und sprecherunabhängig eine beliebig komplizierte Sprachdialog-Struktur aufgebaut und realisiert werden kann.Especially for controlling a system providing a multitude of different functionalities, such as a car radio provided with a multitude of different functions 500 The invention is very well suited, since an arbitrarily complicated voice dialogue structure can be set up and implemented very flexibly and independently of the speaker.

In diesem Dokument sind folgende Veröffentlichungen zitiert:

  • [1] John Nerbonne and Wilbert Heeringa, Measuring Dialect Distance Phonetically, in: John Coleman (ed.) Workshop on Computational Phonology, Special Interest Group of the Association for Computational Linguistics, Madrid, 1997, S. 11 – 18
  • [2] J. Nerbonne et al, Phonetic Distance between Dutch Dialects, Proceedings of CLIN '95, S. 185 – 202, Antwerpen, 1995
  • [3] D. Hirschfeld, Comparing static and dynamic features for segmental cost function calculation in concatenative speech synthesis, ICSLP, Peking, 2000
The following publications are cited in this document:
  • [1] John Nerbonne and Wilbert Heeringa, Measuring Dialect Distance Phonetically, in: John Coleman (ed.) Workshop on Computational Phonology, Special Interest Group of the Association for Computational Linguistics, Madrid, 1997, pp. 11-18
  • [2] J. Nerbonne et al, Phonetic Distance between Dutch Dialects, Proceedings of CLIN '95, pp. 185-202, Antwerp, 1995
  • [3] D. Hirschfeld, Comparing static and dynamic features for segmental cost function calculation in concatenative speech synthesis, ICSLP, Beijing, 2000

100100
SpracherkennungseinrichtungSpeech recognition device
101101
Sprachsignalspeech signal
102102
Mikrofonmicrophone
103103
Aufgenommenes analoges SprachsignalTaped analog voice signal
104104
Vorverarbeitungpreprocessing
105105
Vorverarbeitetes Sprachsignalpreprocessed speech signal
106106
Analog-/Digital-WandlerAnalog / digital converter
107107
Digitales Sprachsignaldigital speech signal
108108
Rechnercomputer
109109
EingangsschnittstelleInput interface
110110
Mikroprozessormicroprocessor
111111
SpeicherStorage
112112
AusgangsschnittstelleOutput interface
113113
Computerbuscomputer bus
114114
DSPDSP
115115
Tastaturkeyboard
116116
Computermauscomputer mouse
117117
Kabelelectric wire
118118
Kabelelectric wire
119119
Funkverbindungradio link
120120
Funkverbindungradio link
121121
Lautsprecherspeaker
122122
Aktoractuator
123123
DSPDSP
1 1
HMM-ZustandHMM state
22
HMM-ZustandHMM state
33
HMM-ZustandHMM state
44
HMM-ZustandHMM state
55
HMM-ZustandHMM state
αij α ij
Zustandsübergangs-WahrscheinlichkeitenState transition probabilities
300300
Ablaufdiagrammflow chart
301301
Startbegin
302302
Erfassen TrainingsdatenvektorenTo capture Training data vectors
303303
Gruppieren Trainingsdatenvektoren in ZustandsgruppenGroup Training data vectors in state groups
304304
Initialisieren Mittelwertvektoren der HMM-ZuständeInitialize Mean vectors of the HMM states
305305
Zustandsindex j = 1state index j = 1
306306
Trainingsdatenvektorindex n = 1Training data vector index n = 1
307307
Ermitteln des dem Trainingsdatenvektor n nächstliegendenDetermine the one closest to the training data vector n
MittelwertvektorsMean vector
308308
Anpassen des nächstliegenden Mittelwertvektors anTo adjust the closest Mean vector
TrainingsdatenvektorTraining data vector
309309
n = N ?n = N?
310310
n = n + 1n = n + 1
311311
Abbruchkriterium erfüllt?termination criterion Fulfills?
312312
ap+1 = ap·adiff a p + 1 = a p · a diff
313313
j = J ?j = J?
314314
j = j + 1j = j + 1
315315
EndeThe End
400400
Mobilfunk-TelefongerätMobile phone device
500500
Autoradiocar radio
501501
Navigationssystemnavigation system
502502
CD-AbspielgerätCD player
503503
Kassettenrekordertape recorder
504504
Radioradio
505505
Telefongerät mit FreisprechanlageTelephone device with hands-free system
506506
Bildschirmscreen

Claims (12)

Verfahren zum rechnergestützten Trainieren eines Hidden Markov Modells, – bei dem Zustandsparameter gebildet werden, mit denen Zustände des Hidden Markov Modells beschrieben werden, und – bei dem unter Verwendung von Trainingsdatenvektoren ein k-Nächster-Nachbar-Clustering-Verfahren auf die Zustandsparameter des Hidden Markov Modells ausgeführt wird, wobei die Zustandsparameter gemäß den Trainingsdatenvektoren angepasst werden, womit ein trainiertes Hidden Markov Modell gebildet wird.Process for computer-aided training of a hidden Markov model, - at the state parameters are formed with which states of the Hidden Markov model are described, and - in which using k-nearest neighbor clustering method using training data vectors on the state parameters of the Hidden Markov model, the state parameters according to the training data vectors can be adjusted, which creates a trained Hidden Markov model becomes. Verfahren gemäß Anspruch 1, – bei dem die Trainingsdatenvektoren zu Beginn des Verfahrens in unterschiedliche Zustandsgruppen gruppiert werden, wobei eine Zustandsgruppe jeweils einem Zustand des Hidden Markov Modells zugeordnet ist, und – bei dem die Zustandsparameter eines jeweiligen Zustands mit Trainingsdatenvektoren der zugehörigen Zustandsgruppe trainiert werden.Method according to claim 1, - at which the training data vectors at the beginning of the process in different Condition groups are grouped, one condition group each is assigned to a state of the Hidden Markov model, and - in which the state parameters of a respective state with training data vectors the associated Condition group to be trained. Verfahren gemäß Anspruch 1 oder 2, bei dem als Zustandsparameter die Mittelwertvektoren von den jeweiligen Zustand des Hidden Markov Modells beschreibenden Wahrscheinlichkeitsdichtefunktionen verwendet werden.Method according to claim 1 or 2, in which the mean value vectors of describing the respective state of the hidden Markov model Probability density functions are used. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem ein k-Nächster-Nachbar-Clustering-Verfahren mit k = 1 ausgeführt wird.Procedure according to a of claims 1 to 3, in which a k-nearest-neighbor clustering method with k = 1 executed becomes. Verfahren gemäß einem der Ansprüche 1 bis 4, – bei dem geprüft wird, ob ein Zustandsparameter ausreichend häufig im Rahmen des k-Nächster-Nachbar-Clustering-Verfahrens angepasst worden ist, und – bei dem für den Fall, dass ein Zustandsparameter nicht ausreichend häufig im Rahmen des k-Nächster-Nachbar-Clustering-Verfahrens angepasst worden ist, dieser ersetzt wird durch einen neuen Zustandsparameter, der ausreichend häufig im Rahmen des k-Nächster-Nachbar-Clustering-Verfahrens angepasst worden ist.Procedure according to a of claims 1 to 4, - at the checked is whether a state parameter is sufficiently frequent as part of the k-nearest-neighbor clustering method has been adjusted, and - at that for the case that a state parameter is not sufficiently frequent in the Framework of the k-nearest-neighbor clustering procedure has been adjusted, this will be replaced by a new state parameter, which is sufficiently frequent as part of the k-nearest-neighbor clustering process has been adjusted. Verfahren gemäß Anspruch 5, bei dem ein Zustandsparameter durch den Zustandsparameter als neuen Zustandsparameter ersetzt wird, der im Rahmen des k-Nächster-Nachbar-Clustering-Verfahrens am häufigsten angepasst worden ist.Method according to claim 5, in which a state parameter is defined by the state parameter as new state parameter is replaced, which is part of the k-nearest-neighbor clustering process most frequently has been adjusted. Verfahren gemäß einem der Ansprüche 1 bis 6, bei dem ein Zustandsparameter im Rahmen des k-Nächster-Nachbar-Clustering-Verfahrens in einem um so geringeren Maß angepasst wird, je mehr Trainingsdatenvektoren verfügbar sind.Procedure according to a of claims 1 to 6, in which a state parameter in the context of the k-nearest-neighbor clustering method adjusted to a lesser extent the more training data vectors are available. Verfahren gemäß einem der Ansprüche 1 bis 7, eingesetzt in einem der folgenden Bereiche: – Signalverarbeitung, – Mustererkennung, – Sprachverarbeitung, insbesondere der sprecherabhängigen Sprachererkennung oder der Sprechererkennung, – Bildverarbeitung, – Schriftzeichenerkennung, – Prognose des Verhalten eines technischen Systems, welches mittels des Hidden Markov Modells beschrieben wird, – Beschreibung eines ökologischen Prozesses, – Beschreibung eines ökonomischen Prozesses, – in einer Umgebungssteuerung, beispielsweise im Rahmen von Home Automation, – in einer Gerätesteuerung, insbesondere zur Steuerung eines Telekommunikationsgeräts.Procedure according to a of claims 1 to 7, used in one of the following areas: - signal processing, - pattern recognition, - language processing, especially the speaker-dependent Voice recognition or speaker recognition, - image processing, - character recognition, - forecast the behavior of a technical system, which by means of hidden Markov model is described - Description of an ecological process - Description an economic one process - in environmental control, for example in the context of home automation, - in a Device control, in particular for controlling a telecommunication device. Vorrichtung zum Trainieren eines Hidden Markov Modells, mit einer Prozessoreinheit, die derart eingerichtet ist, dass folgende Verfahrensschritte durchgeführt werden oder durchführbar sind: – es werden Zustandsparameter gebildet, mit denen Zustände des Hidden Markov Modells beschrieben werden, und – unter Verwendung von Trainingsdatenvektoren wird ein k-Nächster-Nachbar-Clustering-Verfahren auf die Zustandsparameter des Hidden Markov Modells ausgeführt, wobei die Zustandsparameter gemäß den Trainingsdatenvektoren angepasst werden, womit ein trainiertes Hidden Markov Modell gebildet wird.Device for training a hidden Markov model, with a processor unit which is set up in such a way that the following Process steps carried out become or feasible are: - it state parameters are formed with which states of the Hidden Markov model are described, and - under Using training data vectors becomes a k-nearest-neighbor clustering method on the state parameters of the Hidden Markov model, where the state parameters according to the training data vectors can be adjusted, which creates a trained Hidden Markov model becomes. Vorrichtung gemäß Anspruch 9, eingerichtet als Embedded System.Device according to claim 9, set up as an embedded system. Computerprogramm-Element, das es einem Computer ermöglicht, nachdem es in einen Speicher des Computers geladen worden ist, folgende Schritte durchzuführen zum Trainieren eines Hidden Markov Modells: – es werden Zustandsparameter gebildet, mit denen Zustände des Hidden Markov Modells beschrieben werden, und – unter Verwendung von Trainingsdatenvektoren wird ein k-Nächster-Nachbar-Clustering-Verfahren auf die Zustandsparameter des Hidden Markov Modells ausgeführt, wobei die Zustandsparameter gemäß den Trainingsdatenvektoren angepasst werden, womit ein trainiertes Hidden Markov Modell gebildet wird.Computer program element that it is a computer allows after it has been loaded into a memory of the computer, the following Steps for training a hidden Markov model: - it will State parameters are formed with which states of the Hidden Markov model are described, and - under Using training data vectors becomes a k-nearest-neighbor clustering method on the state parameters of the Hidden Markov model, where the state parameters according to the training data vectors can be adjusted, which creates a trained Hidden Markov model becomes. Computerlesbares Speichermedium, auf dem ein Programm gespeichert ist, das es einem Computer ermöglicht, nachdem es in einen Speicher des Computers geladen worden ist, folgende Schritte durchzuführen zum Trainieren eines Hidden Markov Modells: – es werden Zustandsparameter gebildet, mit denen Zustände des Hidden Markov Modells beschrieben werden, und – unter Verwendung von Trainingsdatenvektoren wird ein k-Nächster-Nachbar-Clustering-Verfahren auf die Zustandsparameter des Hidden Markov Modells ausgeführt, wobei die Zustandsparameter gemäß den Trainingsdatenvektoren angepasst werden, womit ein trainiertes Hidden Markov Modell gebildet wird.Computer-readable storage medium on which a program is stored, which allows a computer after it is in a Computer memory has been loaded to perform the following steps Training a hidden Markov model: - there are state parameters formed with which states of the Hidden Markov model, and - under Using training data vectors becomes a k-nearest-neighbor clustering method on the state parameters of the Hidden Markov model, where the state parameters according to the training data vectors can be adjusted, which creates a trained Hidden Markov model becomes.
DE2003102101 2003-01-21 2003-01-21 Training of a Hidden Markov Model using training data vectors and a nearest neighbor clustering method based on condition parameters used to describe the Hidden Markov Model Ceased DE10302101A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2003102101 DE10302101A1 (en) 2003-01-21 2003-01-21 Training of a Hidden Markov Model using training data vectors and a nearest neighbor clustering method based on condition parameters used to describe the Hidden Markov Model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003102101 DE10302101A1 (en) 2003-01-21 2003-01-21 Training of a Hidden Markov Model using training data vectors and a nearest neighbor clustering method based on condition parameters used to describe the Hidden Markov Model

Publications (1)

Publication Number Publication Date
DE10302101A1 true DE10302101A1 (en) 2004-08-05

Family

ID=32667696

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003102101 Ceased DE10302101A1 (en) 2003-01-21 2003-01-21 Training of a Hidden Markov Model using training data vectors and a nearest neighbor clustering method based on condition parameters used to describe the Hidden Markov Model

Country Status (1)

Country Link
DE (1) DE10302101A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9420109B2 (en) 2012-03-23 2016-08-16 Dolby Laboratories Licensing Corporation Clustering of audio streams in a 2D / 3D conference scene
CN112613191A (en) * 2020-12-31 2021-04-06 广东电网有限责任公司广州供电局 Cable health state evaluation method and device, computer equipment and storage medium
CN114218998A (en) * 2021-11-02 2022-03-22 国家电网有限公司信息通信分公司 Power system abnormal behavior analysis method based on hidden Markov model
CN116805062A (en) * 2023-08-22 2023-09-26 长沙隼眼软件科技有限公司 Target classification method, device and storage medium
CN117951491A (en) * 2024-02-05 2024-04-30 苏州光格科技股份有限公司 Data enhancement method and device, electronic equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5806030A (en) * 1996-05-06 1998-09-08 Matsushita Electric Industrial Co Ltd Low complexity, high accuracy clustering method for speech recognizer
DE69519297T2 (en) * 1994-07-18 2001-05-17 Sri International, Menlo Park METHOD AND DEVICE FOR VOICE RECOGNITION BY MEANS OF OPTIMIZED PARTIAL BUNDLING OF LIKELIHOOD MIXTURES

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69519297T2 (en) * 1994-07-18 2001-05-17 Sri International, Menlo Park METHOD AND DEVICE FOR VOICE RECOGNITION BY MEANS OF OPTIMIZED PARTIAL BUNDLING OF LIKELIHOOD MIXTURES
US5806030A (en) * 1996-05-06 1998-09-08 Matsushita Electric Industrial Co Ltd Low complexity, high accuracy clustering method for speech recognizer

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HIRSCHFELD, D.: Comparing static and dynamic features for segmental cost function calculation in concatenataive speech synthesis, ICSLP, Peking 2000 *
NERBONNE, J. et al.: Phonetic Distance between Dutch Dialects, Proceedings of CLIN '95, Antwerpen 1995, S. 185-202 *
NERBONNE, John and HEERINGA, Wilbert: Measuring Dialect Distance Phonetically. in: John Coleman (ed.) Workshop on Computational Phonology, Special Interest Group of the Association for Computational Linguistics, Madrid 1997, S. 11-18 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9420109B2 (en) 2012-03-23 2016-08-16 Dolby Laboratories Licensing Corporation Clustering of audio streams in a 2D / 3D conference scene
CN112613191A (en) * 2020-12-31 2021-04-06 广东电网有限责任公司广州供电局 Cable health state evaluation method and device, computer equipment and storage medium
CN114218998A (en) * 2021-11-02 2022-03-22 国家电网有限公司信息通信分公司 Power system abnormal behavior analysis method based on hidden Markov model
CN116805062A (en) * 2023-08-22 2023-09-26 长沙隼眼软件科技有限公司 Target classification method, device and storage medium
CN117951491A (en) * 2024-02-05 2024-04-30 苏州光格科技股份有限公司 Data enhancement method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
DE69818231T2 (en) METHOD FOR THE DISCRIMINATIVE TRAINING OF VOICE RECOGNITION MODELS
EP0821346B1 (en) Method for speaker verification by a computer by means of at least one speech signal spoken in by a speaker
DE69524994T2 (en) Method and device for signal detection with compensation for incorrect compositions
DE69311303T2 (en) LANGUAGE TRAINING AID FOR CHILDREN.
DE69705830T2 (en) VOICE PROCESSING
DE69127961T2 (en) Speech recognition method
DE69719236T2 (en) Method and system for speech recognition using hidden Markoff models with continuous output probabilities
DE69726526T2 (en) Scheme and model adaptation for pattern recognition based on Taylor expansion
DE102017124264B4 (en) Computer implemented method and computing system for determining phonetic relationships
DE69519297T2 (en) METHOD AND DEVICE FOR VOICE RECOGNITION BY MEANS OF OPTIMIZED PARTIAL BUNDLING OF LIKELIHOOD MIXTURES
DE602004012909T2 (en) A method and apparatus for modeling a speech recognition system and estimating a word error rate based on a text
EP1084490B1 (en) Arrangement and method for computer recognition of a predefined vocabulary in spoken language
DE102015213715A1 (en) Speech recognition device and speech recognition method
EP1649450A1 (en) Speech recognition method, and communication device
DE602004006641T2 (en) AUDIO DIALOG SYSTEM AND LANGUAGE-CONTROLLED BROWSING PROCEDURE
DE60133537T2 (en) AUTOMATIC UMTRAINING OF A LANGUAGE RECOGNITION SYSTEM
EP1251489A2 (en) Training the parameters of a speech recognition system for the recognition of pronunciation variations
EP0987682B1 (en) Method for adapting linguistic language models
DE69512961T2 (en) Speech recognition based on "HMMs"
DE60018696T2 (en) ROBUST LANGUAGE PROCESSING OF CHARACTERED LANGUAGE MODELS
EP0633559A2 (en) Method and device for speech recognition
EP1282897A1 (en) Method for creating a speech database for a target vocabulary in order to train a speech recognition system
EP1435087B1 (en) Method for producing reference segments describing voice modules and method for modelling voice units of a spoken test model
DE10302101A1 (en) Training of a Hidden Markov Model using training data vectors and a nearest neighbor clustering method based on condition parameters used to describe the Hidden Markov Model
DE102004017486A1 (en) Method for noise reduction in a voice input signal

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection