PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Jeliza - Künstliche Intelligenz



Marcel601
25-03-2007, 18:29
Hallo,

Ich wollte gerne ein OpenSource Projekt vorstellen, an dem ich mit einem Freund arbeite. Es heißt "JEliza" und ist der Versuch eine künstliche Intelligenz in C++ (früher Java) zu schaffen. Derzeit liegt JEliza in Version 2.1 für Windows und Linux vor.

Ihr könnt es euch gerne mal anschauen, testen und Feedback geben.

http://jeliza.berlios.de/cms/

Dort gibt es seit heute auch eine Wiki und ein Forum.

Aktuell Programmieren wir an der Konjugation der Verben und an der "Neugier"


Mensch: ich ziehe an einem seil
JEliza: ich bin kein mensch.
Mensch: woran ziehe ich?
JEliza: du ziehst an einem seil


--
Mensch: du nennst dich JELiza
JEliza: wiederholst mich
Mensch: wie nennst du dich?
JEliza: ich nenne mich jeliza

Seit Version 2.1 hat JEliza zusätzlich eine neue, auf GTK+ basierende GUI.





MfG
Marcel

bischi
25-03-2007, 19:10
Ich hab mal die Online-Version ausprobiert. Hat bei mir aber irgendwie nicht funktioniert?!

MfG Bischi

PS: Und ich frage mich, ob ein Zufallsgenerator nicht ähnlich schlaue Sätze rausbringen könnte :D

schoppenhauer
25-03-2007, 23:55
Ja, ich kann Bischi nur zustimmen... Da hab ich schon schlauere Bots gesehen... Aber gut, die waren alle idR nicht frei. Nur mal so ne kleine Konversation (ich hab natürlich ein wenig damit rumprobiert, aber naja...):

Ich: Trägst du eine Brille?
Es: Hmmm.
Ich: Bist du Kurzsichtig oder Weitsichtig?
Es: Was bedeutet Weitsichtig?
Ich: Es bedeutet, dass man das, was nah ist, nicht gut sieht.
Es: Was bedeutet Kondom?
Ich: Wie kommst du jetzt darauf?
Es: und nun komme ich nimmer ins inet...

Nunja. Wie gesagt, ich hab schon bessere gesehen, was nicht heißt, dass der hier schlecht ist. Es gab aber Bots, mit denen habe ich mich fast zehn minuten über das Wetter unterhalten (zugegeben waren die alle nicht frei). Der Bot hat mich so nicht wirklich überzeugt - tut mir leid.

Edit:
Sorry, aber das kann ich mir nicht verkneifen:
Ich: Hallo jeliza
Es: jeliza bedeutet furzen

xare
26-03-2007, 00:05
Hallo,

Ich wollte gerne ein OpenSource Projekt vorstellen, an dem ich mit einem Freund arbeite. Es heißt "JEliza" und ist der Versuch eine künstliche Intelligenz in C++ (früher Java) zu schaffen.


Mit der KI scheint es noch nicht sehr weit herzusein. So wie ich das auffasse, sucht JEliza einfach aus einer Menge von zusammenhanglosen, vorgespeicherten Sätzen einen heraus, der möglicherweise am besten passt. Keine Wissensdatenbank?

schoppenhauer
26-03-2007, 21:17
Mit der KI scheint es noch nicht sehr weit herzusein.KI? Das sieht mir eher nach sowas wie einer "KU" aus :p . Das Ding ist lustig. Ich unterhalt mich andauernd mit ihm, und jedes mal sagt es neue Dinge, die mich dazu bringen, mich vor Lachen zu Kringeln :D .
Ich will aber nix sagen, bestimmt wird das Ding in ner neueren Version besser (außerdem steckt sicher viel Arbeit dahinter, und ich selber würde sowas wohl ggf. nicht proggen können - also trotzdem Respekt! und bitte nicht beleidigt sein). Aber wenns ne neuere Version gibt, die besser ist, lasst doch bitte die aktuelle Version auch online, damit ich meine kindischen Triebe ausleben kann... Dann hab ich immer was zum lustig finden ;) .

Liberty
26-03-2007, 23:25
Moin,

darf ich den dreifachen Gewinner des Loebner-Preises präsentieren: A.L.I.C.E. (http://de.wikipedia.org/wiki/A.L.I.C.E.)

Aber da es eine deutliche Ähnlichkeit zwischen dem Vorläufer ELIZA und diesem Projekt "Jeliza" gibt, gehe ich mal davon aus, dass Marcel601 durchaus weiß, dass sein Projekt noch ein wenig aufzuholen hat.

Mal so aus reinem Interesse: Aus welchen Quellen nimmt denn euer Jeliza seinen Datenbestand? Soweit ich mich auskenne, brauchen Kommunikationsroboter für natürliche Sprache einen riesigen Datenbestand an realer Kommunikation zwischen echten Menschen um diese Kommunikation dann imitieren und variieren zu können...

So long,
Liberty

tradiaz
27-03-2007, 17:55
Fairerweise muss man aber auch sagen, dass Englisch grammatikalisch _wesentlich_ einfacher ist als Deutsch.
Davon abgesehen kann man durch bloßes Kommunizieren mit dem Bot nicht herausfinden, ob der Code oder nur die Datenbank versagt.
Ich werde mir den Code jetzt jedenfalls mal zu Gemüte führen ;)
Außerdem bin ich grad ein bisschen angepinkelt, weil es einfach Standard ist, dass wen man ein Paket entpackt, das Zeug nicht im derzeitigen Ordner landet, sondern in $softwarename-$version.
Wäre sehr schön wenn ihr den zukünftigen testern solche Ärgernisse ersparen würdet.
Achja und das Gladefile scheint im Binarypaket für Linux auch zu fehlen.

RapidMax
31-03-2007, 20:34
Ich habe mir JEliza noch nicht angesehen. Die Idee hinter solchen Programmen ist ja den Menschen, zumindest für eine kurze Zeit, vorzugaukeln, dass er mit einem anderen Menschen spricht (siehe Turing Test (http://en.wikipedia.org/wiki/Turing_Test)). Das hab bislang noch kein Programm geschafft (ausser bei AOL User (http://fury.com/aoliza/)).

Das grosse Problem ist ja nicht die Sätze zu zerlegen um Subjekt, Objekt, Verben etc. zu erkennen, sondern dann den Inhalt zu verstehen. Das hat bislang noch niemand geschafft. Ein üblicher Trick ist, wenn der Satz nicht verstanden wurde (sprich: einem genauen Muster entspricht), eine Gegenfrage zu stellen. Das lenkt ungeübte Personen zumindest ein paar Sätze lang ab.

Sprach-Roboter für bestimmte Domains (z.B. Telefonstimmen für Waschmaschinen-Hotlines) können hier noch einigermassen folgen, doch ohne starke Einschränkung des Thema kommt nichts sinnvolles heraus.

Für die Variante vom Typ Eliza, die möglichst lange einen Menschen "verulken" soll, habe ich mir schon ein Paar Gedanken gemacht.

Zuerst einmal müsste das Sprachmodul in der Lage sein, Sätze einigermassen gut grammatikalisch zu zerlegen.

Als nächstes kommt eine Liste von Grundthemen zum Zuge, wie Sport, Wetter, Auto etc. (wie natürlich nie vollständig sein). Mit Hilfe eines Thesaurus, der Wörter mit einer gewissen Wahrscheinlichkeit auf diese Themen mappen kann, wird nur die Wahrscheinlichkeit berechnet, es von einem dieser Grundthemen zu haben. Dazu wird nicht nur der aktuelle Satz, sondern auch die letzten paar Sätze des Menschen berücksichtigt.

Zu jedem Thema ist nun eine Liste von möglichen Aussagen und Fragen hinterlegt. Aussagen werden anhand von Mustern gebracht, Frage kommen zum Zuge, wenn kein Muster passt (der alte Trick).

Die nächste Idee ist, eine Suchmaschine zu bemühen, und statt einer Frage einen Satz von der Suchmaschine zu bringen (kann lustige Ergebnisse zur Folge haben).

Naja, schlussendlich braucht es hier eine riesige Datenbank und das Ergebniss basiert auf Wahrscheinlichkeiten, anstatt auf realem Verständniss....

Gruss, Andy