Was bedeutet ein „Vektor“ in einem versteckten Markov-Modell?


8

Ich weiß, dass ein Hidden Markov Model (HMM) zur Spracherkennung verwendet wird, und verstehe es bis zu einem gewissen Grad. Was ich jedoch nicht weiß, ist, wie Eingabe (Sprache) in einen Vektor "transformiert" wird, der später in HMM verwendet wird.

Wie erhält man einen Vektor von einer Soundeingabe? Ist dieser Vektor für einen Menschen lesbar?


9
Könnte jemand dem OP erklären, warum er herabgestimmt wurde? Auf diese Weise kann er seine Frage in etwas bearbeiten, das vielleicht angemessener ist
Ivo Flipse

2
So wie ich es verstehe, verwenden Mathematiker den Begriff "Vektor" für das, was normale Menschen "eine Folge von Zahlen" nennen würden. Sie sehen Ihre MP3-Datei als Pfeil, der auf einen bestimmten Punkt in einem "Hilbert-Raum" zeigt, der unendlich viele Dimensionen hat ...
Endolith

Ich nehme an, Sie fragen nach MFCC. Es ist in diesem Wiki-Link auf MFCC klar angegeben. en.wikipedia.org/wiki/Mel-frequency_cepstral_coefficient
Rajesh Dachiraju

Schöne Wende, yoda! Der ursprüngliche Beitrag hatte einige Mängel, aber ich denke, dass die aktuelle Form die Abstimmungen oder engen Abstimmungen nicht verdient.
Kevin Vermeer

@rajesh: warum gibst du das nicht in eine Antwort ... bisher gibt es keine gute
Peer Stritzinger

Antworten:


8

Die Art und Weise, wie die Spracherkennung mit HTK (oder einem anderen Tool) durchgeführt wird, ähnelt der Art und Weise, wie die Spracherkennung im Gehirn durchgeführt wird. Wenn Sie ein Wort hören, zerlegen Sie es sofort in seine einzelnen Telefone und vergleichen die Telefone mit einem internen mentalen "Modell" der Telefone . Diese "Modelle" sind über Jahre des Hörens von Sprache aufgebaut und geben Ihnen die Möglichkeit, zwischen ähnlich klingenden Sätzen wie "Wie man einen schönen Strand zerstört" und "Wie man Sprache erkennt" zu unterscheiden. Die Spracherkennung mit HTK oder einem anderen modellbasierten Schema funktioniert auf ähnliche Weise. Hier ist in wenigen Schritten, wie Sie es tun:

  1. Sie nehmen das eingegebene Sprachsignal und wandeln es in eine Merkmalsvektordarstellung um.
  2. Nehmen Sie eine große Anzahl von Sätzen und führen Sie Schritt 1 für jeden von ihnen aus.
  3. Verwenden Sie die Merkmalsvektoren in Schritt 2, um ein statistisches Modell für jedes der Telefone / Wörter in den Sätzen zu erstellen (es gibt eine begrenzte Anzahl von Telefonen / Wörtern im Gegensatz zu einer unendlichen Anzahl von Arten, sie auszudrücken -, sodass Sie die Unbekannten durch Modellieren reduzieren ).
  4. Wenn ein neues Wort eingeht, teilen Sie es in Telefone auf und vergleichen Sie es mit jedem der bekannten Modelle. Die Reihenfolge der Telefone mit der höchsten Wahrscheinlichkeit gewinnt!

Alle oben genannten Schritte sind entscheidend für den erfolgreichen Abschluss einer Spracherkennungsaufgabe. Indem Sie einen Klang in seinen Merkmalsvektor zerlegen, nehmen Sie ihn in einen Modellraum auf und geben ihm eine Darstellung, die ihn besser zum Erstellen eines Modells geeignet macht als andere Darstellungen (z. B. die Zeit-Amplituden-Darstellung). Die meisten dieser Darstellungen liegen im Frequenz- oder Zeit-Frequenz-Bereich. Eine der beliebtesten Darstellungen dieser Art ist der MFCC (Mel Frequency Cepstral Coefficient).. In gewisser Weise ahmt diese Technik die menschliche Hörreaktion mit einer Reihe von Filtern nach. Ein Eingangssignal wird mit diesem Satz von Filtern zerlegt, die einen logarithmischen Abstand ihrer Mittenfrequenzen haben. Die MFCC-Koeffizienten eines Satzes (z. B.) werden dann verwendet, um jedes der Telefone zu modellieren, aus denen der Satz besteht. Betrachten Sie als Beispiel:

Satz: HI. Phonetische Beschreibung: hh aa ey
Wenn Sie die MFCC-Koeffizienten in HTK eingeben, werden die MFCC-Koeffizienten eines Teils des Satzes mit hh, eines anderen mit aa usw. verknüpft. Wenn dies mehrmals wiederholt wird, beginnen sich die Modelle für die Telefone zu bilden.

HTK verwendet das Tool HCopy, um einen Eingabesatz in seine Feature-Vektor-Darstellung zu konvertieren. MFCCs haben auch viele "Geschmacksrichtungen" (E_D_A- oder E_D_A_Z-Darstellungen). Es wäre eine gute Idee, die Dokumentation HCopyim htkbook nachzulesen.

Die MFCC-Koeffizienten werden .mfcvon HTK in eine Datei mit der Erweiterung geschrieben . Es ist nicht möglich, diese Datei mit einem der Texteditoren zu lesen, da (glaube ich) die Koeffizienten binär geschrieben sind. Sie können jedoch versuchen, die Dateien mit zu lesen C.

HTH.


Möchtest du die Ablehnung erklären?
Sriram

2
Ich habe aus mehreren Gründen abgestimmt. Es fehlt die Genauigkeit. Es ist sehr ungenau und voller Halbwahrheiten. Unnötige Erwähnung von Werkzeugen und Geräten sowie Methoden zu deren Verwendung, was für die Frage nicht relevant ist. Erstens ist die Frage selbst nicht gut zusammengesetzt, und Ihre Antwort scheint dies nicht zu erwähnen. Darüber hinaus gibt es einen schönen Wikipedia-Artikel über MFCC, in dem ich meinen Kommentar zu der Frage erwähne.
Rajesh Dachiraju

@ Rajesh: Danke für das Feedback! Ich habe dem OP einen Link zur MFCC-Seite auf Wikipedia bereitgestellt, wenn Sie genau hinschauen. Wenn Sie der Meinung sind, dass diese Antwort ungenau ist, markieren Sie bitte die Ungenauigkeiten, damit wir erfahren können. Das bloße Herunterstimmen stellt keine konstruktive Kritik dar. Ich empfehle Ihnen daher, den editButton auf der Antwort kostenlos zu verwenden oder uns noch besser eine eigene Antwort zu geben. Und ja, wenn die Frage selbst ungenau ist, fehlt auch der Antwort die Genauigkeit. Das wurde im Kommentarbereich selbst besprochen.
Sriram

1
@Peer: Nein. Die Telefone werden in einer Spracherkennungsaufgabe modelliert, nicht die Phoneme (IMHO).
Sriram

2
Ah, ich verstehe ... unglückliche Wahl eines Fachbegriffs (wirklich schwer zu googeln ;-) Habe einen Link zum Wikipedia-Artikel für Handys hinzugefügt
Peer Stritzinger

0

Jede Welle kann durch Hinzufügen vieler anderer Wellen zerlegt werden. Mit einer Fourier-Transformation können Sie eine Welle in ihre Frequenzkomponenten analysieren. Die Amplitude dieser Frequenzkomponenten kann dann als Vektor verwendet werden. Hier ist die Dokumentation zur Sphinx-Klasse, die dies tut, und hier ist eine gute visuelle Erklärung der Fourier-Transformation.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.