Open Source im professionellen Einsatz
Linux-Magazin 09/2017
© ftlaudgirl, 123RF

© ftlaudgirl, 123RF

KI-System mit Markow-Ketten entwickeln

Selbstläufer

Markow-Ketten modellieren Systeme, die mit vorgegebenen Wahrscheinlichkeiten von Zustand zu Zustand hüpfen. Aber können sie nach einer Analyse bisher geschriebener Artikel ein KI-System erzeugen, das neue Kolumnen wie diese schreibt?

435

Da meine Kolumne mit dieser Ausgabe sage und schreibe zwanzig Jahre voll hat (die erste Folge erschien im September 1997) und da künstliche Intelligenz immer mehr Arbeitsplätze verdrängt, stellt sich die Frage, ob es einmal ein KI-System schaffen könnte, das Manuskript zum bassen Staunen der sonst zum Unzeitpunkt Redaktionsschluss rufenden Redakteure fürderhin pünktlich abzuliefern und es dem Autor stattdessen erlaubt, möglichst dauerhaft seinem Surfhobby an diversen Pazifikstränden nachzugehen (Abbildung 1).

Abbildung 1: Ziel: Der Autor surft auf Hawaii, während ein KI-System seine Kolumne schreibt.

Launisch wie das Wetter

Als Algorithmus böte sich eine so genannte Markow-Kette an, benannt nach dem russischen Mathematiker Andrei Markow (englisch: Markov). Dabei handelt es sich um stochastische Prozesse mit verschiedenen Zuständen, die entsprechend vorgegebener Wahrscheinlichkeiten wechseln.

Das in Abbildung 2 dargestellte Modell zur Wettervorhersage besagt zum Beispiel, dass auf den Zustand "Sonne" mit 65-prozentiger Wahrscheinlichkeit wieder ein Sonnentag folgt. Zu 30 Prozent wechselt das Wetter zu "Bewölkt" und zu 5 Prozent sogar direkt zu "Regen". Die angegebenen Wahrscheinlichkeiten beziehen sich nur auf den aktuellen Zustand, ein Wechsel in den nächsten erfordert keine Kenntnis der vorherigen, ist also höchst einfach auszurechnen.

Abbildung 2: Markow-Diagramm zur Wettervorhersage.

In einer Übergangsmatrix wie in Abbildung 2 unten rechts zu sehen, muss der Rechner nur die Reihe mit dem aktuellen Zustand heraussuchen, etwa Reihe 3 für den Zustand bewölkt (B), um herauszufinden, dass das Wetter zu 25 Prozent sonnig bleibt, zu 25 Prozent in Regen und zu 50 Prozent in Bewölkt umschlägt. Mit entsprechenden Zufallsgeneratoren ausgestattet springt das Modell zwischen den Zuständen hin und her, die spätere Auswertung des Monte-Carlo-Verfahrens erlaubt Rückschlüsse auf das wahrscheinlichste zukünftige Wetter.

Sätze vom Automaten

Mittels solcher "Random Walks" lassen sich auch Sätze mit einer fein dosierten Portion Zufall generieren. Hierzu analysiert ein Programm zunächst die Wortfolgen in einem umfangreichen Korpustext. Es merkt sich, welche Wörter in einem Satz aufeinander folgen, und stückelt aus gelernten Satzteilen einen neuen Text zusammen. Merkt es zum Beispiel, dass nach drei bestimmten Wörtern als viertes irgendwo im Korpus Wort A und einmal Wort B steht, wird es im generierten Text jedes Mal einen imaginären Würfel entscheiden lassen, welches zum jeweiligen Zeitpunkt zum Einsatz kommt.

Es zerlegt den Korpustext in Wörter (Tokens) und analysiert ihn schrittweise mit einem rollenden Fenster von n Wörtern. Die ersten n-1 Wörter des Fensters bestimmen den Zustand des Automaten an diesem Zeitpunkt, das letzte Wort ist der Wert, den der Automat beim Übergang in den nächsten Zustand annimmt.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Screencast zum Snapshot 09/2017

    Markow-Ketten modellieren Systeme, die mit vorgegebenen Wahrscheinlichkeiten von Zustand zu Zustand hüpfen. Aber können sie nach einer Analyse bisher geschriebener Artikel ein KI-System erzeugen, das neue Kolumnen wie diese schreibt?

  • Erkenne die Zeichen

    Häufig müssen Programme strukturierte Eingabedateien verarbeiten und verstehen. Komplizierte Dateiformate erfordern dabei hohen Programmieraufwand - oder den Einsatz eines Parsergenerators. JavaCC deckt die wichtigsten Aspekte der Parsergenerierung für Java-Programme ab.

  • Workshop für Werkzeugmacher

    Linux-taugliche Entwicklungswerkzeuge für Perl sind rar, doch eine Eigenbau-IDE ist mit JEdits Hilfe kein Problem und zudem kostenlos, maßgeschneidert und plattformunabhängig.

  • Einmalige Gelegenheit

    Passwörter sind trotz Biometrie-Boom immer noch das am häufigsten eingesetzte Mittel zur Authentifizierung. In unfreundlichen Umgebungen versuchen Falschspieler sie abzuhören oder auszuspähen. Das macht aber nichts, wenn sie nur einmal gültig sind.

  • Snapshot

    Auf Amazons Lambda-Service laufen selbst geschriebene Python-Skripte in Containerumgebungen – demonstriert im Snapshot am Beispiel eines AI-Programms zur Bewegungsanalyse in Überwachungsvideos.

comments powered by Disqus

Ausgabe 09/2017

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.