Die Spracherkennung ist für ein Beispiel nicht so komplex wie Sie denken.
Stellen Sie sich zunächst vor, Sie erstellen eine Markov-Kette (MC), die die Texterkennung übernimmt. Ihr Programm liest eine Menge (perfekter, fehlerfreier) Text und berechnet Zustände (Wörter) und Zustandsänderungen (nächste Wörter). Klingt so, als hätten Sie das erledigt. Sie können jetzt Text generieren oder anhand des Status und der Übergangswahrscheinlichkeiten Ihres MC das nächste Wort vorhersagen.
Stellen Sie sich nun vor, Sie möchten Ihren MC mit Sprache verwenden. Sie werden einfach Leute dazu bringen, Text zu lesen, der Ihrem MC ähnlich ist, und Sie sind bereit, richtig? Nun ... Außer dass sie die Wörter anders aussprechen werden: Wo der geschriebene Text "Kartoffel" sagt, hören Sie tatsächlich "po-TAY-toh" und "po-TAH-toh" und "pu-TAY" -to "usw. Und umgekehrt: Der Text" aß "und" acht "repräsentiert zwei verschiedene Zustände, wird aber (normalerweise) gleich ausgesprochen.
Ihr Algorithmus sieht die zugrunde liegenden Zustände (Wörter) nicht mehr, sondern eine probabilistische Verteilung der Aussprachen für jedes Wort. Ihr ursprünglicher MC ist hinter den Aussprachen verborgen, und jetzt muss Ihr Modell zweischichtig sein.
So können Sie viele Leute dazu bringen, den Text vorzulesen, den Sie für Ihr ursprüngliches Training verwendet haben. Sie können eine Verteilung für die Aussprachen für jedes Wort erhalten und dann Ihr ursprüngliches Modell mit dem Aussprachemodell kombinieren, und Sie haben ein Hidden-Markov-Modell ( ein HMM).
Die meisten Probleme der realen Welt werden so sein, da die reale Welt dazu neigt, laut zu sein. Sie werden nicht wirklich wissen, in welchem Zustand sich etwas befindet. Stattdessen erhalten Sie eine Vielzahl von Indikatoren für jeden Zustand: manchmal den gleichen Indikator für verschiedene Zustände ("aß" und "acht") und manchmal verschiedene Indikatoren für denselben Zustand ("pu-TAY-toe" und "pah-tah-TOE"). Daher sind HMMs besser für reale Probleme geeignet.
[Zwei Randnotizen: 1) Die tatsächliche Spracherkennung funktioniert auf Phonemebene, nicht auf Wortebene, und 2) Ich glaube, dass HMMs der König des Hügels für die Spracherkennung waren, aber kürzlich von tiefen neuronalen Netzen entthront wurden.]