Tippfehler ohne Wörterbuch korrigieren 

In diesem Beispiel werden die Sequenz getippter Zeichen als beobachtete und die Sequenz korrekter Zeichen als verborgene Zustände modelliert. Dazu werden zwei unterschiedliche Modelle zur Bestimmung korrekter Buchstaben und zur Tippfehlerkorrektur angewendet. Das erste Modell wendet einen Markov-Prozess erster Ordnung an, um die Häufigkeit zu ermitteln, mit der ein Buchstabe auf einen bestimmten Buchstaben folgt. Das zweite Modell wendet Markov-Zustände zweiter Ordnung an, um die Häufigkeit zu ermitteln, mit der ein Buchstabe auf die beiden letzten gegebenen Buchstaben folgt.

Nehmen Sie Darwins The Origin of Species und konvertieren Sie alle Symbole, die keine Buchstaben sind, in Leerzeichen.

In[1]:=
Click for copyable input
X
In[2]:=
Click for copyable input
X

Bauen Sie Tippfehler mit einer Rate von 20 % ein, indem Sie beliebig einen Buchstaben durch einen seiner unmittelbaren Nachbarn auf der englischen Standard-Tastatur ersetzen. Das Leerzeichen wird jedoch immer korrekt angegeben.

Die gesamte Wolfram-Language Eingabe zeigen
In[4]:=
Click for copyable input
X
In[5]:=
Click for copyable input
X
Die gesamte Wolfram-Language Eingabe zeigen
Out[6]=

Verwenden Sie die ersten 80 000 Zeichen als Testsequenz und den verbleibenden Text als Trainingssequenz. Die Testsequenz weist 16,5 % Tippfehler auf, also weniger als 20 %, da das Leerzeichen nie falsch abgetippt wurde.

In[7]:=
Click for copyable input
X
Out[7]=

Modellieren Sie den Strom der getippten Zeichen anhand eines verborgenen Markov-Prozesses. Richtige Zeichen sind verborgene, die falsch getippten Zeichen beobachtete Zustände.

In[8]:=
Click for copyable input
X

Schätzen Sie den verborgenen Markov-Prozess anhand der Trainingsdaten.

In[9]:=
Click for copyable input
X
Out[9]=
In[10]:=
Click for copyable input
X

Verwenden Sie die Posterior-Methode, um Tippfehler im Testteil des fehlerübersäten Texts zu korrigieren.

In[11]:=
Click for copyable input
X
Out[11]=

Die Fehlerquote im korrigierten Text beträgt immer noch 11 %, also 5,5 % weniger als der ursprüngliche abgetippte Text.

Die gesamte Wolfram-Language Eingabe zeigen
Out[12]=
In[13]:=
Click for copyable input
X
Out[13]=

Modellieren Sie die Evolution der verborgenen Zustände anhand eines Markov-Prozesses zweiter Ordnung, d.h. mit der Annahme, dass die Wahrscheinlichkeit des Zeichens von den zwei vorangehenden Zeichen abhängt. Der Markov-Prozess zweiter Ordnung wird als Markov-Prozess erster Ordnung mit einem erweitertem Zustandsraum von Paaren aufeinanderfolgender Zeichen modelliert.

In[14]:=
Click for copyable input
X
In[15]:=
Click for copyable input
X

Die Auftrittswahrscheinlichkeit des getippten Zeichens ist nur abhängig vom zugrundeliegenden richtigen Zeichen.

In[16]:=
Click for copyable input
X

Wiederholen Sie die Posterior-Methode mit dem HMM höherer Ordnung.

In[17]:=
Click for copyable input
X
Out[17]=

Die Fehlerquote liegt nun bei unter 6 %.

In[18]:=
Click for copyable input
X
Out[18]=
Die gesamte Wolfram-Language Eingabe zeigen
Out[19]=
en es ja pt-br zh