Das Problem dabei ist, daß der Bot eine semantische Analyse vornehmen müßte, um zu erkennen, was mit einem Satz gemeint ist; ansonsten würden bloße Umformulierungen ihn schon völlig aus der Bahn werfen. Das ist zwar ansatzweise schon möglich, aber wie der Rest der Spracherkennung und -generierung derzeit ein heißes Forschungsthema - wir haben jetzt erst die Werkzeuge, um so etwas überhaupt erforschen zu können. (Nebenbei ist das ein Thema, auf das ich ein Auge geworfen habe. Ich finde Linguistik interessant und in Verbindung mit der Informatik könnte sich da ein schönes Thema für die Diplomarbeit ergeben...)

Was man bei einem einfachen Chatbot machen könnte wäre eine Logik, die versucht, das Thema einer Zeile zu bestimmen - dazu könnte man eine Reihe von Wörterbüchern anlegen, die häufige Themen identifizieren (am besten mit Gewichtungsfaktoren - "Sturm" kann sowohl in einer Diskussion über das Wetter als auch in vielen Metaphern vorkommen, während "Kaltfront" sehr meteorologiespezifisch ist) und bei nicht zuzuordnenden Sätzen (auch bei solchen, wo die summierten Faktoren der Wörterbucheinträge eine gewisse Schwelle nicht überschreiten) einen wichtig aussehenden Satzteil heraussuchen und in eine Tabelle eintragen. Paralllel behält man für die letzten N analysierten Zeilen die Zwischenergebnisse im Speicher, damit Trends erkannt werden können - wenn beispielsweise "DVD-R" und "Brenner" oft zusammen auftauchen wird zwischen ihnen eine (natürlich gewichtete) Beziehung aufgebaut.
So kann der Bot sich mit der Zeit ein Netzwerk von Wörtern erarbeiten, die er als Hinweise auf das eine oder andere Thema sieht; so kann er einigermaßen bestimmen, worum die Unterhaltung sich gerade in etwa dreht. Man könnte als administrative Funktion eine Ja/Nein-Lernfunktion einbauen, wa wohl auch die Qualität verbessern dürfte (der Bot hat eine Liste von Vermutungen (beispielsweise "Zwischen 'Klaus' und 'Fahrrad' besteht ein Zusammenhang" oder "Wir sprechen gerade über das Thema 'KI'") und der Admin kann diese jeweils mit Ja oder Nein beantworten (oder ignorieren), woraus der Bot weitere Schlüsse zieht - in etwa wie moderne Spamfilter es tun).


@DFYX: Der Fachbegriff ist "Thesaurus" und abgesehen davon, daß ein halbwegs vollständiger Thesaurus eine Menge Platz benötigt ist es eine gute Idee, einen einzubauen - dadurch könnte die Trefferquote erheblich steigen (allerdings auch die Quote der Fehltreffer, wenn ein Wort fälschlicherweise als Synonym für etwas anderes erkannt wird).