Ich programmiere ein Text-Chat wo man mit dem PC redet, habe eine Frage, wie ich die Möglichkeiten vereinfache?

... komplette Frage anzeigen

1 Antwort

Am besten, du schreibst dir dafür einen kleinen Parser, für eine Mini-Beschreibungssprache.

Ich habe vor kurzem selbst so etwas geschrieben, um Trolle in Foren automatisiert zu beschäftigen.

Im Großen und Ganzen, sieht das dann so ähnlich aus (leicht an RegEx angelehnt):

> (Mir gefällt|Ich mag)#S((sehr|total)(gerne|doll)?)?
< ((Warum|Wieso) (denn)? (ausgerechnet)?)#S\\?

Die Grammatik ist noch deutlich komplexer, versteht Ironie, und kennt auch Kontext. Groß- und Kleinschreibung, sowie einfache Rechtschreibfehler werden bei der Erkennung ebenfalls berücksichtigt.

Aus obigem Beispiel könnte man also schon sehr viele Kombinationen generieren:

a)
User: "Ich mag Pizza!"
Bot: "Warum denn Pizza?"

b)
User: "Mir gefällt Windows sehr doll."
Bot: "Wieso denn ausgerechnet Windows?"

Ist zwar immer noch recht primitiv, aber um Trolle ein paar Stunden zu beschäftigen, ohne dass die etwas merken, reicht es. Hab mich da an der Funktionsweise von ELIZA orientiert. :)

Auf jeden Fall würde ich Programmlogik und Inhalt strikt trennen! Sonst kommst du bald nicht mehr klar, wenn die ein wenig mehr Einträge hinzufügst! :)

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?