AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Pascale - ein Delphi-Chatbot
Thema durchsuchen
Ansicht
Themen-Optionen

Pascale - ein Delphi-Chatbot

Ein Thema von Namenloser · begonnen am 30. Dez 2008 · letzter Beitrag vom 25. Okt 2009
Antwort Antwort
Seite 1 von 2  1 2      
Namenloser
Registriert seit: 7. Jun 2006
Dieses Programm ist kein "Chat"-Bot im eigentlichen Sinne, sondern aus dem Schulprojekt, einen einfachen ELIZA-Klon zu schreiben, hervorgegangen. Die Aufgabe wäre mit einem einfachen Array und einer zufälligen Ausgabe von Antwortsätzen erledigt gewesen, aber ich wollte das ganze etwas komplizierter gestalten .

Deshalb habe ich das ganze in einer Baumstruktur und mit regulären Ausdrücken realisiert. Ich glaube, ich hatte dabei noch ein Programm hier aus der DP im Hinterkopf, das ähnlich aufgebaut war, aber auf einer Datenbank basierte. Pascale beruht allerdings nicht auf einer Datenbank im eigentlichen Sinne, sondern bezieht die Schlüsselwörter und Antwortsätze aus Dateien, die mit dem integrierten Editor erstellt und bearbeitet werden können. Die "Intelligenz" des Bots hängt natürlich maßgeblich von der Komplexität und Größe der verwendeten Datei ab. Das Dateiformat ist binär - eigentlich bietet sich für sowas zwar XML an, aber da ich mir kürzlich erst eine simple Unit für verschachtelte Binärdateien geschrieben hab, wollte ich die auch mal benutzen.

Der unkommentierte, aber imo einigermaßen verständliche Sourcecode sowie ein viel zu ausführliches Tutorial () befinden sich ebenfalls in dem Archiv. Die DLL wird für die regulären Ausdrücke benötigt... leider habe ich keine Unit für PCRE gefunden, die ohne eine DLL auskommt.

Ich betrachte das Projekt zwar als mehr oder weniger abgeschlossen (das kommt bei mir leider viel zu selten vor), würde mich aber trotzdem über etwas Feedback freuen .

Ist übrigens mein erstes OpenSource-Programm.
Miniaturansicht angehängter Grafiken
scr0567_168.png   scr0566_159.png  
Angehängte Dateien
Dateityp: zip pascale_301.zip (885,6 KB, 106x aufgerufen)
 
Larsi

 
Delphi 2007 Professional
 
#2
  Alt 30. Dez 2008, 08:24
Also richtig intelligent ist der Bot nicht. Also erst schreibt er "Hallo" darauf hin hab ich "Hi" geschrieben und dann hat den Bot nochmal "Hallo" gesagt. Dann habe ich "Wie gehts?" gefragt und dein Bot antwortete mit "Hallo". Verwirrend :lo:
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze

 
Turbo Delphi für Win32
 
#3
  Alt 30. Dez 2008, 08:31
Hi,

wenn man einen vernünftigen Bot erstellt, ist das vielleicht ok, aber so nicht.

Zitat:
Pascale: Hallo, wie heißt du?
Ich: Matze und wie heißt du?
Pascale: Hallo, wie heißt du?
Ich: immer noch Matze und du?
Pascale: Hallo!
Ich: ja Hi
Pascale: Hallo!
Ich: Ruhe jetzt. Was treibst du denn so?
Pascale: Hallo!
Ich: grrr
Pascale: Hallo, wie heißt du?
Ich: *grml*
Pascale: Hallo!
Ich: Hallo
Pascale: Hallo!
Grüße
  Mit Zitat antworten Zitat
QuickAndDirty

 
Delphi 12 Athens
 
#4
  Alt 30. Dez 2008, 09:19
Hey er simuliert keine Intelligenz sondern einen open Chat.
Zumindest sehen eure Beispiele ziemlich echt aus. So dumm sind meine Gegenüber auch immer.
Andreas
  Mit Zitat antworten Zitat
Namenloser

 
FreePascal / Lazarus
 
#5
  Alt 30. Dez 2008, 14:13
Da hattet ihr wohl alle einen etwas unglücklichen Start. Das ist das Problem, wenn man seine eigenen Bots testet, das ist so ein bisschen wie wenn man gegen sich selber Schach spielt.

Was mich nur etwas wundert ist
Zitat:
Pascale: Hallo!
Ich: ja Hi
Pascale: Hallo!
War das wirklich genau so? Das gleiche scheint bei Larsi ja auch passiert zu sein. Eigentlich kann das aber gar nicht sein, weil der Bot nach "Hallo!" immer (egal welche Eingabe) "Ich heiße Pascale, und du?" fragen müsste. Ich konnte das auch nicht reproduzieren .

Ich hab mal eine leicht veränderte Version der Bot-Datei angehängt. Zumindest sollte es jetzt einfacher sein, in den Haupt-Gesprächszweig zu kommen.

@QuickAndDirty:
Angehängte Dateien
Dateityp: zip pascale.bot_145.zip (2,2 KB, 28x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze

 
Turbo Delphi für Win32
 
#6
  Alt 30. Dez 2008, 14:15
Zitat von NamenLozer:
Was mich nur etwas wundert ist
Zitat:
Pascale: Hallo!
Ich: ja Hi
Pascale: Hallo!
War das wirklich genau so?
Ich habe das nicht abgetippt sondern hier hineinkopiert. Folglich war es genau so.

Edit: Mit der neuen Datei entwickelt sich der Dialog etwas anders:

Zitat:
Pascale: Hallo, wie heißt du?
Ich: Matze und wie heißt du?
Pascale: Ich heiße Pascale
Ich: Das ist aber ein merkwürdiger Name
Pascale: Wusstest du, dass ich nichts von dem, was du sagst, verstehe?
Ich: Jetzt weiß ich es
Pascale: Achso
Ich: Kannst du andere Sprachen außer Deutsch?
Pascale: Was meinst du denn?
Ich: Naja Englisch oder Französisch
Pascale: Soso
Ich: ja oder nein?
Pascale: Was meinst du denn?
Ich: naja Framdsprachen. Lies halt auf Wikipedia nach was das ist
Pascale: Soso
Ich: du bist langweilig
Pascale: Meine Datenbank ist leider noch nicht sehr groß...
Ich: das merke ich
Pascale: Wenn du ein Tier sein könntest, welches wärst du?
Ich: Hm, ein Eichenhäher
Pascale: Soso
Ich: Welches Tier wärst du?
Pascale: Was meinst du denn?
Ich: Na ein Huhn, ein Frosch oder eine Schnecke beispielsweise
Pascale: Achso
Ich: und, welches?
Pascale: Was meinst du denn?
Ich: ok lassen wir das
Pascale: Soso
Ich: Soso
Pascale: Wusstest du, dass ich nichts von dem, was du sagst, verstehe?
Ich: ja
Pascale: Soso
Ich: Soso
Pascale: Erzähl mir was...
Ich: ich versuche es doch, aber du blockst immer ab
Pascale: Was würdest du gerne in Zukunft mal machen?
Ich: Es so weit bringen, dass ich echte Freunde zum Chatten habe
Pascale: Achso
Ich: Tschüssi
Pascale: Wie geht es dir?
Ich: mittelprächtig
Pascale: Mhm
Ich: dir?
Pascale: Was meinst du denn?
Ich: cu
Pascale: Achso
Ich: ciao
Pascale: Reden wir über was anderes
Ich: Ne ich hau jetzt ab, Adios
Pascale: Reden wir über was anderes

Es macht aber immer noch keinen Spaß. *g*
  Mit Zitat antworten Zitat
Namenloser

 
FreePascal / Lazarus
 
#7
  Alt 30. Dez 2008, 14:35
Zitat von Matze:
Es macht aber immer noch keinen Spaß. *g*
Aber es macht Spaß es zu lesen
Komisch ist hier, dass er auf "Tschüss" nicht reagiert hat. Argh... moment ich habe gerade rausgefunden, das der irgendwie nicht caseinsensitiv arbeitet. Eigentlich dachte ich, dass hätte ich eingebaut

Danke fürs Testen übrigens!

[edit]Neue Version hochgeladen[/edit]
  Mit Zitat antworten Zitat
worker
 
#8
  Alt 30. Dez 2008, 19:26
Sie haben drei gelbe Bananen bestellt
  Mit Zitat antworten Zitat
BullsEye

 
Delphi 7 Personal
 
#9
  Alt 30. Dez 2008, 19:48
Der Ok Button in Info Dialog geht nicht
Marc
  Mit Zitat antworten Zitat
Namenloser

 
FreePascal / Lazarus
 
#10
  Alt 12. Jan 2009, 17:46
Zitat von BullsEye:
Der Ok Button in Info Dialog geht nicht
Jetzt schon

Ein paar kleine Verbesserungen sind auch noch eingeflossen. Neue Version im ersten Beitrag.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz