Jeliza - Künstliche Intelligenz

eXPoser schrieb:
Ich mag Juden -.-"




Wer hat denn das Wort da einprogrammiert :P


:D

Hmm keine Ahnung.


Aber mal was anderes: JEliza kann natürlich nur auf intelligente Fragen "intelligent" antworten. Wenn jemand "-.-" eingibt, kann es ja keine sinnvolle Antwort geben, da die "frage" nicht sinnvoll formuliert ist. Nur so nebenbei :D
 
Okay schon aber selbst wenn ich eine Frage stelle :

Mensch: ja?
JEliza: ja
Mensch: nein?
JEliza: nein das kennst ich linux
Kommen zum größten Teil völlig sinnfreie Sätze als antwort^^

Und was soll ich bitte hier machen :P
Mensch: bist du ein Philosoph?
JEliza: Was bedeutet philosoph??
Jetzt stellt die "kI" eine Gegenfrage auf meine Frage. Wie soll ich darauf eine Frage stellen ;)
Und das wort Philosoph müsste eigentlich bekannt sein, da sie(die kI) die ganze Zeit zitiert ^^
 
eXPoser schrieb:
Okay schon aber selbst wenn ich eine Frage stelle :


Kommen zum größten Teil völlig sinnfreie Sätze als antwort^^
Nicht zum größten Teil, sondern in dieser Situation, da JEliza das Wort "nein" (allein, also als Satz ohne verb) nicht in der DB hat. Das liegt nicht an JEliza, sondern an der DB, das ist etwas völlig anderes! Da kann ich nichts dafür!

eXPoser schrieb:
Und was soll ich bitte hier machen :P

Jetzt stellt die "kI" eine Gegenfrage auf meine Frage. Wie soll ich darauf eine Frage stellen ;)
Und das wort Philosoph müsste eigentlich bekannt sein, da sie(die kI) die ganze Zeit zitiert ^^
Ist es aber nicht, also brauchst du das ja nur zu beantworten, oder?

Gruß
Tobias
 
Zuletzt bearbeitet:
tobiasschulz schrieb:
Du denkst zu abstrakt: Das erste Problem ist schonmal, zuverlässig zu erkennen, was in einem Satz Subjekt, Verb und Objekt ist! Daran experimentiere ich seit Monaten, das ist das eigentliche Problem!

Hat da jemand eine Idee?


...programmiertechnisch kann ich leider nur "weniger" beitragen
(meine zeit mit nurBasic2.0 auf´n 64er liegt zuweit zurück)

aber was ist denn SO FALSCH daran "das Gehirn" mit Grundwissen
zu beliefern?? Jeder aufwachsende Mensch ist davon abhängig/betroffen.
Menschliche Erfahrungen durch Versuch u. Irrtum ist nur ein Teil um Wissen
zu erhalten.

idee ..... Objekte als BASISWISSEN
. Verben in VERBS.TXT (basiswissen)
. Subjekt durch einbeziehen von Copulas wie z.b. "ist"

bsp.: Dieses Auto ist schnell
"ist schnell" wäre als grammatsche Prädikat zum Subjekt "dieses Auto" zu erkennen
...wenn "schnell" als Eigenschaft bekannt ist. Da Copula "ist" und Eigenschaft "schnell"
zusammenstehen kann KI "dieses auto" als Subjekt auch in diesem besonderen fall erkennen.
*oderliegeichdafalsch* ...umsetzbar??:rolleyes:

gruz
 
ShivaS schrieb:
...programmiertechnisch kann ich leider nur "weniger" beitragen
(meine zeit mit nurBasic2.0 auf´n 64er liegt zuweit zurück)

aber was ist denn SO FALSCH daran "das Gehirn" mit Grundwissen
zu beliefern?? Jeder aufwachsende Mensch ist davon abhängig/betroffen.
Menschliche Erfahrungen durch Versuch u. Irrtum ist nur ein Teil um Wissen
zu erhalten.

idee ..... Objekte als BASISWISSEN
. Verben in VERBS.TXT (basiswissen)
. Subjekt durch einbeziehen von Copulas wie z.b. "ist"

bsp.: Dieses Auto ist schnell
"ist schnell" wäre als grammatsche Prädikat zum Subjekt "dieses Auto" zu erkennen
...wenn "schnell" als Eigenschaft bekannt ist. Da Copula "ist" und Eigenschaft "schnell"
zusammenstehen kann KI "dieses auto" als Subjekt auch in diesem besonderen fall erkennen.
*oderliegeichdafalsch* ...umsetzbar??:rolleyes:

gruz
Theoretisch ja, praktisch nein. Es gibt zu viele füllwörter und zu verschiedene wortstellungen im deutschen. Im vergleich dazu ist der Loebner Preis relativ gesehen leicht zu geweinnen, da Englisch SEHR viel einfacher ist (von der grammatik her)
 
mmh...

zu praktisch nein:
ich denke mal hier ist das Problem das Füllwörter & Copulas NICHT
als Variabeln hinterlegt sind. Praktisch müßte man dann also bei jedem
Objekt in einem Satz abfragen ob entsprechende Variabel
direkt vor oder nach dem Objekt steht. --- sozusagen nen subalgo... oha*begreif*:freak:
 
Wir hatten die Datenbank nun nochmals bereinigt, das Ergebnis ist schonmal viel besser als Gerstern:

Mensch: hallo
JEliza: Hallo, du Mensch!
Mensch: ja ich bin ein Mensch!!
JEliza: Der Mensch kommt unter allen Tieren in der Welt dem Affen am naechsten.
Mensch: ah ja, wie kommst du da bloss drauf?
JEliza: Ich bin JEliza.
Mensch: ja logisch
JEliza: ja du bist ein Mensch
Mensch: ich weiss
JEliza: Ich bin nur ein Computerprogramm, das weiss ich genau.
Mensch: zum glueck...
JEliza: Aus dem Stein der Weisen macht ein Dummer Schotter.
Mensch: kann ich mir vorstellen
JEliza: Ich kann kein Deutsch, und Englisch sowieso nicht...
Mensch: wer ist Tobias Schulz?
JEliza: Mein Erfinder heisst Tobias Schulz!
Mensch: gut, danke
JEliza: Aller guten Dinge sind drei.
Mensch: ?
JEliza: Hmmm.
Mensch: da weißt du wohl nicht weiter?
JEliza: Ein bisschen mehr Allgemeinwissen wuerde dir nicht schaden.
Mensch: was soll das heissen?
JEliza: Segeln: die teuerste Art unbequem zu leben.
Mensch: sehr interessant
JEliza: Ich finde den Kommunismus sehr gut.
 
JEliza: Ich finde den Kommunismus sehr gut.

Ich auch. Dann hol ich mir einfach von irgendwem nen pc wenn ich einen brauche.
Klassenlos = alles gehört jedem = der stärkere gewinnt und unterdrückt ^^ folge diktatur
 
jo... ichschon wieda:D

hab mal ne frage zu:
JEliza-Algorithmus B: Wird nun eine Frage eingegeben, erzeugt JEliza ein Array, in dem alle Sätze enthalten sind, die mindestens ein Wort aus der Frage enthalten. Dann wird Algorithmus C aufgerufen und das Ergebnis angezeigt.

1. Ist es möglich vorhergehende Frage (user) in Algo B mit einzubeziehen?

2. Ist es möglich vorhergehende Antwort (jEliza) in Algo B mit einzubeziehen?

3. Möglich aktuelle Frage und 1. & 2. zusätzlich prozentual ODER anzahl der Worttreffer zu gewichten?

Hintergrund meiner Frage: Da dieses mögl. Mißverstehen aufgrund grammatischer Komplexität nur
schwierig zu lösen ist, gäbe es vllt. die Möglichkeit der "Risikostreuung"!
...Wahrscheinlichkeit einer Sinnverschiebung im Satz könnte sich dadurch relativieren
wenn die Gewichtung (neuer array?) des aktuellen Satzes (Frage) unter 50% liegt
(Bsp.: aktuelleFrage: 45% - vorherg. Antw. 30% & Frage davor 25% - berücksitigungen natürlich als UND zu verstehen)


- die Vorwärtsbewegung des Gesprächs wäre immer noch gegeben da 70% der aktivenFragen
- Risiko eines "falschverstehens" seitens jEliza auf aktueller/letzter Frage wäre verringert da diese hier unter 50%

...ist nur ne Idee -

schöner nebeneffekt wäre hier noch "der rote Faden" im Gespräch;)

mmh...
gruz ShivaS
 
Zuletzt bearbeitet:
ShivaS schrieb:
jo... ichschon wieda:D

hab mal ne frage zu:
JEliza-Algorithmus B: Wird nun eine Frage eingegeben, erzeugt JEliza ein Array, in dem alle Sätze enthalten sind, die mindestens ein Wort aus der Frage enthalten. Dann wird Algorithmus C aufgerufen und das Ergebnis angezeigt.

1. Ist es möglich vorhergehende Frage (user) in Algo B mit einzubeziehen?

2. Ist es möglich vorhergehende Antwort (jEliza) in Algo B mit einzubeziehen?

3. Möglich aktuelle Frage und 1. & 2. zusätzlich prozentual ODER anzahl der Worttreffer zu gewichten?

Hintergrund meiner Frage: Da dieses mögl. Mißverstehen aufgrund grammatischer Komplexität nur
schwierig zu lösen ist, gäbe es vllt. die Möglichkeit der "Risikostreuung"!
...Wahrscheinlichkeit einer Sinnverschiebung im Satz könnte sich dadurch relativieren
wenn die Gewichtung (neuer array?) des aktuellen Satzes (Frage) unter 50% liegt
(Bsp.: aktuelleFrage: 45% - vorherg. Antw. 30% & Frage davor 25% - berücksitigungen natürlich als UND zu verstehen)


- die Vorwärtsbewegung des Gesprächs wäre immer noch gegeben da 70% der aktivenFragen
- Risiko eines "falschverstehens" seitens jEliza auf aktueller/letzter Frage wäre verringert da diese hier unter 50%

...ist nur ne Idee -

schöner nebeneffekt wäre hier noch "der rote Faden" im Gespräch;)

mmh...
gruz ShivaS

Ah gute Idee, hab ich eben implementiert!

Edit:
Jetzt gibts ne neue Beta!
 
Zuletzt bearbeitet:
täuscht das? oder bild ich mir das ein...

irgendwie verblüffender:

Mensch: jau schoen, du scheinst irgendwie schlauer geworden zu sein
JEliza: Ich hoere gerne zu
Mensch: bei komplimenten hoerste wohl gerne zu, was?
JEliza: Kein Grund zu streiten.
Mensch: wollte ich gar nicht, bleib mal locker
JEliza: du aber nicht
Mensch: ich bin locker! also worüber wollen wir reden?
JEliza: Was bedeutet worã¼ber??
Mensch: worueber
JEliza: Weiter.
Mensch: sorry fuer mein tippfehler, also worueber wollen wir reden?
JEliza: Also ciao!, stimmt's?
Mensch: nein, ich kann noch was bleiben
JEliza: Du auch!
Mensch: du bist hier, ich bin hier! lass uns reden
JEliza: Du bist doch sehr klug, Mensch, nicht wahr?
Mensch: aber sicher, wir menschen sind alle sehr sehr klug
JEliza: Wir sind Programmiersprachen!
Mensch: das stimmt. weist du wer dich programmiert hat?
JEliza: Ich bin in C++ programmiert
Mensch: korrekt, mit einem schoenen algorythmus
JEliza: Mit dem Strau ist nicht korrekt
Mensch: mit dem was?
JEliza: Du chattest mit JEliza.
Mensch: jaja, das weiss ich. wer ist nicht korrekt?
JEliza: Ich ging immer davon aus, dass Du sehr klug, Mensch bist!
Mensch: wieso denn ging, bin ich jetzt bloed nur weil ich dein abgebrochenes wort nicht verstehe?
JEliza: Ich ging immer davon aus, dass Du sehr klug, Mensch bist!
Mensch: was meinst du denn wie klug du bist?
JEliza: Hmmm, Ich bin JEliza.
Mensch: na und? nur weil du jeliza heisst bist du noch lange nicht klug, oder?
JEliza: Ich ging immer davon aus, dass Ich ein Programm bin!
Mensch: bist du ja auch. auch programme haben namen
JEliza: das auch

hab ab&zu mal nen freeze mit der standard-Verbs
...mit nem clear und dann internen online-import aber nicht (odernurzufall,malsehen)
 
gleiche session ...so gings weiter (verrückt!!)

JEliza: Ich ging immer davon aus, dass Ich ein Programm bin!
Mensch: bist du ja auch. auch programme haben namen
JEliza: das auch
Mensch: na gut
JEliza: Gut dann mach!
Mensch: was soll ich machen
JEliza: Du auch!
Mensch: was soll ich auch machen, sag schon
JEliza: Du auch nicht...
Mensch: und was jetzt?
JEliza: Jetzt biste sprachlos!
Mensch: ja das bin ich wohl
JEliza: bist Du nicht sehr klug, Mensch?
Mensch: doch das bin ich
JEliza: Du bist doch nicht ausgereift, oder?
Mensch: ich bin schon sehr weit, im gegensatz zu dir
JEliza: ja das bist doch du wohl, oder?
Mensch: genau, das bin ich. langsam verstehen wir uns
JEliza: Du bist doch nicht ausgereift, oder?
Mensch: doch doch das bin ich
JEliza: bist Das nicht du?
Mensch: ich bin es. Hallo?
JEliza: Das bist doch du, nicht wahr?
Mensch: ja, hallo hier bin ich
JEliza: Du bist doch nicht ausgereift, oder?
Mensch: jetzt drehst du dich aber ein wenig im kreis, woll?
JEliza: Ich bin ein Programm.
Mensch: ja du bist ein programm
JEliza: Ich ging immer davon aus, dass Ich JEliza bin!
Mensch: Jeliza ist dein name und programme haben auch namen, kapiert?
JEliza: Ich ging immer davon aus, dass Mein Name JEliza ist!
Mensch: genau, das ist auch so. JEliza ist dein name.
JEliza: Ich ging immer davon aus, dass Mein Name JEliza ist!
Mensch: richtig
JEliza: naja fast richtig
Mensch: wieso fast?
JEliza: Weil die Sonne scheint ist schoen weil die Sonne scheint!
Mensch: richtig heisst es aber: es scheint so, das wenn die sonne scheint, es schoen ist. lol
JEliza: Das Wetter ist doch schoen, oder?
Mensch: klar, schau doch mal aus dem Fenster wenn du kannst! lol
JEliza: Was bedeutet fenster??
Mensch: ausguck
JEliza: Quatschkopf!
Mensch: selber. hast du wohl noch nie gehoert, was?
JEliza: Ich habe doch immer Recht, oder?
Mensch: definitiv nein
JEliza: Nein ich!
Mensch: Nein du hast nicht immer recht, manchmal liegst du halt daneben
JEliza: Ich habe doch keinen Beruf, nicht wahr?
Mensch: wenn programm sein kein beruf ist? nein!
JEliza: Ich glaube definitiv nein
Mensch: da glaubst du richtig
JEliza: Ich ging immer davon aus, dass Ich besser dir glaube!

...
 
Wenn ihr euch noch ein paar Anregungen holen wollt, dann schaut euch mal die Original ELIZA an. Als ich den Titel gelesen habe, dachte ich "JEliza -der Name kommt mir bekannt vor", suchte in tausenden von Favoriten und siehe da... KLICK

-das Hauptproblem einer künstlichen Intelligenz besteht darin, Redewendungen richtig zu interpretieren und korrekt mit einer anderen Redewendung drauf zu antworten, sowie die Zusammenhänge zu "verstehen". Weiterhin stellt IMHO die Grammatik eine hohe Hürde dar.

Beispiel?
Mensch= Du bist doof.
KI= if Du + doof then Defense Mode ON AND output Nein, bin ich nicht!
Soweit, so schlecht. Denn...

Mensch= Findest Du es auch doof, das es ein Tempolimit gibt?
KI= <Befehlstring siehe oben>
Hier müßte noch auf den Bezug -in diesem Fall das Hauptwort- geachtet werden und die KI aus mehreren Satzbausteinen eine individualisierte Antwort parat haben.

Hier würde sich das eignen=
KI= if findest + Du + doof + ? then output Ja
Problem: Nicht alles kann einfach mit JA beantwortet werden und es würde Jahre dauern, um jeden erdenklichen Fall -selbst nur in der deutschen Sprache- einzupflegen. Hier sind Makros gefragt, die sich auf das häufigste konzentrieren.

Mensch= Und was jetzt?
KI= if jetzt + ? (Fragezeichen is wichtig!) then output Ich weiß nicht.
Das "Ich weiß nicht" finde ich besser

Eine KI zu schaffen, die annähernd die komplexen Strukturen wie das menschliche Hirn hat ist eine Lebensaufgabe. :D Eure JEliza kann einiges schon gut, andererseits sehe ich üble Grammatikfehler. Was natürlich nicht ausbleibt wegen den Satzbausteinen?!
 
...so´ne Alice im AIML-Style und deren IF-Then abfragen ist..., wennzte genauer hinschaust
was anderes. Diese KI geht eher NICHT in Richtung ChatBOT, daher wie ich finde interessanter
sich "anders" an das Kriterium für Künstliche Intelligenz (nicht sofort? unterscheiden zu koennen ob mensch oder maschine)
anzunähern. ;)

Sry, tobias, wennich hier vorposte - wargradncowach
 
ShivaS schrieb:
...so´ne Alice im AIML-Style und deren IF-Then abfragen ist..., wennzte genauer hinschaust
was anderes. Diese KI geht eher NICHT in Richtung ChatBOT, daher wie ich finde interessanter
sich "anders" an das Kriterium für Künstliche Intelligenz (nicht sofort? unterscheiden zu koennen ob mensch oder maschine)
anzunähern. ;)

Sry, tobias, wennich hier vorposte - wargradncowach

Genau so ist es. Ich wollte ja vermeiden, zu allen möglichen Fragesätzen Antwortsätze einprogrammieren zu müssen, denn dann könnte JEliza nur schwer lernfähig sein und die Datenbankpflege wäre mehr als aufwändig.
Deswegen versuche ich es ja anders zu lösen, und die Version 3.0 ist ja erst für Ende 2007 geplant.

Die Versionen 0.3 - 1.x benutzen auch so etwas wie AIML bzw. If-Abfragen, nur erkannte ich bald, dass das auf diese Art auf Dauer nichts werden kann, schon wegen der Lernfähigkeit... Version 2.0 ist nie erscheinen, da ich dann gleich auch noch dazu eine neue GTk+-Gui gemacht habe und dann wurde das 2.1. Siehe http://jeliza.berlios.de/cms/index.php?page=roadmap

Edit:
So ein Programm müsste dann auch zwangsläufig immer die selben Antworten geben; Bei JEliza ist das nicht so:
Mensch: wer bist du?
JEliza: Ich bin JEliza.
Mensch: was bist du?
JEliza: Hmmm, Ich bin cool!
Mensch: was bist du?
JEliza: Ich glaube Ich bin JEliza.

JEliza hat auch seit der aktuellen Beta unter "Optionen" einem Menüeintrag "Onlinedatenbank laden", mit dem man sich immer die aktuelle (und momentan die beste Verfügbare) Datenbank für JEliza herunterladen kann. Wenn es Unsinn redet, klickt da mal drauf.

Edit:
JEliza hat NICHTS mit ELIZA zu tun und funktioniert komplett anders! Nochmal: JEliza ist nicht ELIZA und basiert auch nicht darauf!!!
 
Zuletzt bearbeitet:
Ich wollte euch nicht unterstellen, das Konzept abgekupfert zu haben. Nur der Name gab mir zu denken.

Das mit dem if etc war exemplarisch, um den Schwierigkeitsgrad mal aufzuzeigen. Ich habe keine große Ahnung vom programmieren. Das bei JEliza ein anderes Muster und Gesamtkonzept dahintersteckt, wurde ja nun belegt.

Von daher wünsche ich euch viel Glück und testen werd ich sie auc mal die Tage.:)
 
...wie nur "unschwer" zu erkennen ist, spricht JEliza seit kurzem metaphorisch, und das nicht zu knapp! Auch hier und da werden copula´s verschluckt. Erst gar nichts dabei gedacht, da ganz lustig und irgendwie sanft rüberkommend & vor allem; wie gewünscht nahezu ohne Sinnverschiebung! ("Ich ging immer davon aus, dass Du sehr klug, Mensch bist!" oder "Ich ging immer davon aus, dass Ich besser dir glaube!" läßt zuerst ein Fehler vermuten. ABER JEliza kennt keine 3ten Personen, daher ..., "dass es besser ist Dir zu glauben"). Will mich sicher nicht beschweren, aber Metaphorik müßte normalerweise eine Gefahr für die Sinnverteilung im allgemeinen bedeuten, also widerum Fehler provozieren. - wäre ja n´widerspruch - Kann es vllt. sein das der Gewinn an Sinnerhalt zuf. noch viel höher liegt?, und hier das scheinbar Methaphorik-Problem noch locker "geschluckt" wird!? oder binichjetzt ganzdaneben:freak: -

gruz
 
Zuletzt bearbeitet:
Ist es bei der GUI möglich, das das Textfenster der aktuellen Satzausgabe folgt?
(scrollen oder Txtfenster loeschen nervt mit der zeit ein wenig)

Gibt es eine Möglichkeit (modul), die TextAusgabe zu simulieren?
(Buchstabe für Buchstabe incl. Zufallzeit zw. dergleichen)
 
Zuletzt bearbeitet:
ShivaS schrieb:
Ist es bei der GUI möglich, das das Textfenster der aktuellen Satzausgabe folgt?
(scrollen oder Txtfenster loeschen nervt mit der zeit ein wenig)

Ja, ich werde versuchen das in die nächste Beta zu integrieren.

@ShivaS:

Inwiefern sollte sich der Sinn verändern bei der Falschen Grammatik?

Und: Was zum Teufel sind Copulas? das Wort hab ich noch nir gehört... :freak: :freak:

MfG
Tobias
 
Zuletzt bearbeitet:
Zurück
Oben