SprachBot

Acriss

Gesperrt
Hihi,

ich habe mir jetzt mal einen richtig schweren Brocken vorgenommen :)

Ich möchte ein Programm schreiben, mit dem man sich quasi unterhalten kann.

Natürlich gibt es jede Menge Hürden, die ich gerne mit euch besprechen möchte :)


Programmieren möchte ich das ganze in C++.

Hürden:

  1. Der PC muss verstehen
  2. Der Bot muss antworten
  3. Wortschatz ist zu klein

Ideen:
Ich möchte Textdateien anlegen,
die in etwa so aufgebaut sind:

Name: Begrüssung.txt
Enthält alle Begrüssungen.
Zeile 1: Hallo
Zeile 2: Guten Tag
usw...

Name: Hobbies.txt
Enthält Hobbies
Zeile 1: Fussball | true | Was sind deine Hobbies?| Was machst du so? | Was machst du in der Freizeit
Erklärung: Der erste Begriff stellt das Hobby dar, der zweite, das der Bot Fussball spielt. Die anderen stehen für Fragen, auf dem mit dem Begriff geantwortet werden kann.
Zeile 2: Klavierspielen | true | Spielst du ein Instrument? | Was sind deine Hobbys | Was machst du so| Machst du Musik?

usw....


So stelle ich mir das in etwa vor.

Weiteres Problem wäre dann, das der Wortschatz viel zu gering ist.

Deswegen habe ich vor, einen Lernmodus zu integrieren.
bei Tastendruck, werden alle Textdateien angezeigt, und man waehlt dann eine Datei, die dazu passt, oder legt ggf eine neue an.
Der Eintrag sieht dann wie folgt aus:
Beispiel: Schachspielen soll hinzugefügt werden.
Eingabe:
Schachspielen | false | Spielst du Schach?

Natürlich muss das immer weiter ausgearbeitet werden, damit der Bot eigenständig Sätze bilden kann.

Dazu müsste man zu den *.txt Dateien eigentlich noch Subjekt/Prädikat/Objekt usw dazu schreiben, und andere Struckturen.

Manch einer mag jetzt lachen, oder mich für bescheuert/blöd erklären, aber ich finde das ganze interessant, auch wenn es sicher viel Zeit in Anspruch nimmt.

Eure Meinung, Ideen, konstruktive Kritik usw würde mich interessieren :)
 
Nimm Dir als Verständnisbasis vielleicht Eliza. Quasi der bestandene Turingtest :). Ich habe Letztens für eine Slotcar-Anlage (Carrera) eine Sprachausgabe geschrieben, die soweit recht einfach war, weil sie nur etwa 5 Begriffe und die Zahlen kannte. Zusätzlich waren die Zahlen noch im Abklang (Satzende) als Samples da.

Wenn Interesse, stelle ich von dem Teil noch was rein..
mfg chmee
 
Vllt sollte ich das ganze anders Formulieren, sry :-(

Es geht dann mehr in R?chtung "Chatbot", also nicht sprecen sondern schreiben ;)
 
Datenbank (Geschwindigkeit).

Die Frage ist natürlich, wen willst du mit diesem Programm erreichen?
Leute die das mal eben so zum Spaß ausprobieren wollen, werden selten mal eben schnell eine .exe Datei herunterladen oder gar eine Software ausprobieren. Da würde sich eine Sprache anbieten, die in Webseiten integriert werden kann (mit C/C++ kann natürlich auch eine Webseite dynamisch erstellt werden).
Ich würde auf PHP/ASP.NET/Java tippen. Bequemsten Möglichkeiten.
 
Java will ich erst noch anfangn zu lernen, ASP.NET hab ich null Plan von.

Werd wohl php nehmen :)

Was sagt ihr zu den Ideen?
 
War ich schon,
ich habe ne Website gefunden - adresse weiss ich nicht mehr - da waren 4 oder 5 Botadressen, auch ausprobiert^^


Aber zum Aufbau hat jetzt immer noch keiner was gesagt :(
 
Ich kann mich erinnern, dass ich völlig fasziniert an einem Eliza-Programm vor dem C64 saß, es war in Basic.

Auf http://en.wikipedia.org/wiki/ELIZA hast Du unten in den Implementations so einige Source-Links.
Hilft Dir das weiter oder wartest Du eher auf Meinungen zu Deinen Ideen ?

mfg chmee

Nebenbei, einen Link zu einer kaputten Seite zu setzen ist kein gutes Zeichen :)
 
Zuletzt bearbeitet:
Zurück