• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

halbwegs intelligenter chatbot

Der3Geist

always feed the fish

Registriert
14 Juli 2013
Beiträge
2.702
Ort
Hessen
Hi, vielleicht habt ihr ein paar ideen, wie ich die sache am besten angehen könnte.

mein vorhaben :

ich bin gerade dabei ein wenig mit TTS (Text to Speech) und Spracherkennung zu Experimentieren, und bin dabei auf die Grandiose Idee gekommen,
ich baue mir einen alten PC zusammen, dem ich mittels Bluetooth miko befehle erteilen oder mit ihm Reden kann.

Spracherkennung und Sprachausgabe Funktioniert soweit auch schon Relativ gut.
Auch kann ich meinen Bot Rufen (man stelle sich das vor wie bei Enterprise : "Computer") und er Antwortet, und wartet auf eine eingabe.

Da ich Generell Faul bin, würde ich die sache so weit ausbauen, um ihm auch Kommandos für Licht, Musik... geben zu können.

Dies alles funktioniert auch soweit schon, das einzigste problem Stellt nun eine halbwegs Brauchbare KI da,
da ich natürlich gerne auch eine Funktion hätte, um mit dem Computer irgendwie normal Reden zu können.

das problem :

Ich bin zwar Erfahren im bereich Programmieren, und Programmiere auch schon sehr Lange.
Allerdings fehlt mir etwas der Ansatz für eine Sinn erkennung der eingabe des Users.

Mir ist klar, das eine Ki in dieser Form Wunschdenken ist, allerdings gibt es genügend Online Chat´s bei denen der User mit einem Bot Chatten kann.
Und die sind teilweise Wirklich Super. ( z.b. Brain )

Leider habe ich überhaupt keine Idee, wie ich die sache am besten angehen könnte.
Beispiele um daraus Lernen zu können, kann ich auch keine finden.

Vorzugsweise in VB. Aber da sich garnichts findet, spielt das sowieso keine Rolle.

Vielleicht hat jemand von euch eine Idee, wie man die Textanalyse am besten gestalten kann.
 
Zuletzt bearbeitet:

LemonDrops

Neu angemeldet

Registriert
20 Juli 2013
Beiträge
543
Selbst die Junge bei Google schaffen es das gerade erst im geringem Maße um zusetzen, du wirst keine Chance haben. Dein bester Ansatz wäre es Schlüsselwörter zu kombinieren.
 

accC

gesperrt

Registriert
14 Juli 2013
Beiträge
5.250
Nunja, du könntest dem Computer eine Grammatik beibringen, sie muss ja nicht so komplex wie unsere Sprache sein. Chomsky Hierarchie sollte dir etwas sagen.

Wie intelligent soll der PC denn tatsächlich sein?

Nehmen wir mal an, deine Sprache würde jedes mal Sätze dieser Form bilden: (<Programm>) <Befehl> "mit" <Parameter>
Natürlich kannst du das beliebig ausbauen.

Jetzt müsste dein Tool einfach jedes mal schauen:
Ist das Programm angegeben?
Ja: Dann führe Befehl mit den Parametern für dieses Programm aus.
Nein: Suche bei google und schlage dem Nutzer vor eine Aktion zu definieren

Aktionen könnten dann etwa sein:
Fremde Programme "ansteuern" (öffnen, schließen, Befehle an diese Programme senden)
Mausgesten / Texteingaben ausführen (etwa ähnlich wie GhostMouse)

Mit der Zeit wächst die Datenbank dann, eventuell könntest du das Programm auch an Freunde weitergeben, die ihrerseits derartige Datenbanken erstellen und speichern können. Werden diese zusammengeführt, wird das Programm besser und besser.

Du musst nur eben darauf achten, dass die Datenbanken allgemein genug sind, um auf verschiedenen Systemen laufen zu können. Installationspfade müssten beispielsweise abstrakt gehalten werden.


Vielleicht hilft dir das ja..
Du könntest für eine Kommunikation mit dem Computer auch Computer als "Programm" festlegen und für definierte Fragen bestimmte Systemwerte auslesen. Etwa "wie geht es dir" könnte Speicherplatzbelegung von Festplatten, Ram Nutzung, Temperaturen für CPU / GPU, Updatestatus etc. angeben, die Frage nach dem Namen könnte etwa über den Netzwerknamen des Computers gelöst werden usw. Natürlich ist das weit entfernt von "intelligent", aber für den Anfang vielleicht eine ganz witzige Sache.
 

Der3Geist

always feed the fish

Registriert
14 Juli 2013
Beiträge
2.702
Ort
Hessen
  • Thread Starter Thread Starter
  • #4
Erstmal danke für die tipps.

Ich versuche es erstmal über schlüsselwörter, und hoffe das ich genügend vergleiche eingebaut habe.
Bis jetzt funktioniert die satz erkennung schon recht gut.

Die KI gibt mir zwar noch keine Antwort, aber die Analyse sieht schonmal brauchbar aus.

das sieht in etwa so aus.

Ich gebe folgendes ein
wenn ich hunger habe, mache ich mir eine pizza

und nach der Analyse spuckt die KI mir folgendes ergebnis aus

bei deiner eingabe handelt es sich um KEINE frage.
du redest mit dir über dich über das thema pizza

Vorher musste ich halt entsprechende begriffe anlernen.
Irgendwann sind es ja vielleicht genug, das er alles mögliche gescheit erkennen kann, und dann über die angelernten begriffe auch eine brauchbare antwort gibt.

Ich möchte die Ki nichtnur zum steuern von geräten verwenden, sondern ihn auch alles mögliche fragen können. (so in etwa wie Siri)

Ich bin mir auch der tatsache bewusst, dass es sogut wie unmöglich ist, aber da ich etwas langeweile habe und programmieren will, mach ich halt sowas. :)
 

MSX

Retro-Nerd-Hippie

Registriert
14 Juli 2013
Beiträge
15.107
Ort
v01d
Zumindest für ein interessantes Grundverständnis finde, bzw. fand ich den Wikipedia-Artikel zu KNN und diese Seite hier recht nützlich: http://www.neuronalesnetz.de/
Eine konkrete Umsetzung, speziell im Bereich Sprachkonstrukte, ist natürlich nochmal was anderes, aber die Methodik dabei dürfte sich stellenweise übertragen lassen.
 
Zuletzt bearbeitet:

epiphora

aus Plastik
Veteran

Registriert
14 Juli 2013
Beiträge
3.894
Ort
DE-CIX
Ich versuche es erstmal über schlüsselwörter, und hoffe das ich genügend vergleiche eingebaut habe.
Bis jetzt funktioniert die satz erkennung schon recht gut.

Das ist doch schon super! :)

Wie erkennt Dein Algorithmus denn das Thema? Hast Du festgelegt, dass Pizza ein Schlüsselwort ist oder erkennt er automatisch alle Ausdrücke, die nach einem Artikel stehen als Themen?

Eine weitere Idee wäre übrigens, die Schlüsselwörter innerhalb Deines Antwort-Repertoires zu gewichten. Wenn die Eingabe also "Pizza" enthält, kriegt die Antwort "Lecker" schon mal +5 Punkte, wenn die gleichzeitig "bestellen" enthält, kriegt die Antwort "Ich suche Dir mal einen Lieferanten heraus" 5+3 Punkte. Oder ähnlich! So könntest Du jedenfalls sicher stellen, dass die Schlüsselworte in unterschiedlichen Zusammenhängen auch zu unterschiedlichen Antworten führen, ohne dass Du dafür eine komplexe Abfragestruktur realisieren musst.
 

Der3Geist

always feed the fish

Registriert
14 Juli 2013
Beiträge
2.702
Ort
Hessen
  • Thread Starter Thread Starter
  • #7
@epiphora , super idee !!

Auf die idee mit dem Ranking bin ich garnicht gekommen, das versuche ich noch einzubauen um dadurch die genauigkeit etwas verbessern zu können.

Zur zeit verwende ich eine Datenbank, die ich mit Hauptwörtern füttern muss, und diese dann miteinander Verknüpfen kann.

z.b. Pizza = Lecker

so erkenne ich dann die zusammenhänge.

Wenn der Benutzer dann z.b. "Ich habe hunger auf pizza" eingibt, könnte entsprechend etwas kommen was im zusammenhang mit Lecker steht.

Eine Automatische erkennung habe ich nicht, was mir viel Arbeit bereitet, da ich die Begriffe einzeln anlernen muss.
Vielleicht versuche ich mich irgendwann in der Zukunft daran, da somit ein Selbst Lernen vereinfacht wird.

Aber die idee mit den Punkten ist super, danke !
 

Larius

OutOfOrder

Registriert
12 Juli 2013
Beiträge
5.792
Du müsstest dir ein semantisches Netz aufbauen, sprich du sagst "Ich habe hunger", dein Bot schaut nach was alles unter Essen gelistet und und schlägt dir dann die Kategorien vor - evtl. mit Gewichtung was du öfters bestellt hast ("wie wäre es mit italienisch?"). Somit kannst du immer genauer werden, du kannst dann beispielsweise sagen "Nein, ich will heute Griechisch essen", dann kann dir dein Bot Lieferdienste auflisten. Genauso kannst du dann bsp. mit "Es gibt einen neuen Lieferdienst für griechisches Essen" eine Unterteilung in Essen/Griechisch/Lieferdienst vornehmen ;)

Nachtrag: Wie hast du das eigentlich mit Speech to Text gelöst? Schließlich muss der PC deine gesprochenen Worte in Text umwandeln und dann analysieren.
 
Zuletzt bearbeitet:

feuerteufel

gesperrt

Registriert
14 Juli 2013
Beiträge
351
Hi.

Das ist natürlich ein riesiges Projekt, das eigentlich kein Ende hat.

Vor einigen Jahren habe ich mich an VB probiert und war im Forum vb-paradise unterwegs. Dort hat jemand ebenfalls so ein Projekt versucht umzusetzen. Da entstand auch eine Diskussion über die KI. Leider weiß ich nicht mehr wie der Thread hieß. Er entstand aber so um das Jahr 2009-2010.
 

Der3Geist

always feed the fish

Registriert
14 Juli 2013
Beiträge
2.702
Ort
Hessen
  • Thread Starter Thread Starter
  • #11
Auf active-vb.de suche ich auch öfters nach lösungen.
Allerind finde ich www.vbarchiv.net etwas Übersichlicher, und dei API Referenz ist sehr Hilfreich.

Danke für die Antworten, die letzten paar Tage bin ich leider nicht dazu gekommen, etwas dran weiter zu arbeiten.
Eventuell werf ich alles nochmal über den Haufen, und geh die sache vielleicht ganz anderst an.

Hab mir überlegt, ob es nicht vielleicht einfacher ist, das etwas Modular aufzubauen und für jede "Erinnerung" quasi ein VBScript erstellen zu lassen (vom Hauptprogramm)
und darüber dann die eingabe auswerten zu lassen.

Bin noch etwas unschlüssig, ob es dann nicht zu Unübersichtlich wird.

Werd mir das nochmal in ruhe durch den Kopf gehen lassen.
 

Larius

OutOfOrder

Registriert
12 Juli 2013
Beiträge
5.792
Wie meinst du für jede Erinnerung ein eigenes VBScript erstellen?
 

Der3Geist

always feed the fish

Registriert
14 Juli 2013
Beiträge
2.702
Ort
Hessen
  • Thread Starter Thread Starter
  • #14
Also, um mal ein paar fragen zu Beantworten.

Als Spracherkennung verwende ich erstmal die Windows 7 Spracherkennungs Funktion.
Mit dieser habe ich noch nicht so viel Gearbeitet,und werde mir erstmal anschauen, wie gut / schlecht diese ist.
Alternativ, falls die Windows 7 Funktion nicht so dolle ist, habe ich noch eine Ältere Version der Software Dragon Naturally Speaking, womit ich sehr gute Erfahrung gemacht habe.

Als TTS System (Text 2 Speech) hab ich lange gesucht, um eine Brauchbare Sprachsynthese zu finden.

Die Bekannte Sprecherin aus Windows (Steffi) welche früher als einzigste Deutsche Sprache verfügbar war gibt es Offiziell leider nichtmehr,
aber kann man immernoch im Internet als Download finden.
Zusätzlich hab ich lange gesucht, und ein paar wirklich Top Sprecher gefunden, welche 80% der Sätze Flüssig und Klar wiedergeben.
Leider bin ich noch damit beschäftigt diese Versionen für mich nutzen zu können.

Beispiel der Synthesen gibt es hier als Online Demo (Link zur Demo , Sprache Deutsch auswählen , sprecher wählen und text eingeben..)
Ich verwende zur zeit die Noch demo Version von IVONA 2 (Stimme Hans & Marlene welche wirklich Super klingen.)

Die sache mit dem VBScript dachte ich mir so (Nichts Weltbewegendes), dass ich bei einem Neu Erlerntem wort eine VBS Datei erstelle die den Namen des wortes trägt.
Da es über das Dateisystem im Prinzip wie eine Datenbank ist, nur leichter zu Verwalten.

Und der Vorteil für mich.
Ich übergebe die Benutzer eingabe an die erste Datei deren Namen dem ersten wort entspricht.
Diese Datei überprüft dann die Position des Wortes im Satz und welches Wort dannach kommt. Dadurch erhoffe ich mir eine Art Score zu erstellen. (wie epiphora vorschlug)

So Springe ich von einem Wort zum Nächsten, und gehe jedes wort durch.
Und wenn ein Wort als Datei nicht vorhanden ist, wird erstmal der Benutzer Gefragt, ob es sich dabei um ein Adjektiv , Verb oder ein Personalpronomen handelt.
Woraufhin dann eine Entsprechende VBS Datei erstellt wird, die eigenschaften für die Wortart enthält.

Hört sich sehr Abenteuerlich an, ich weiss, aber ich wills trozdem versuchen, da mir der weg über das Dateisystem besser erscheint als der Weg über eine Datenbank,
da ich diese Dateien eventuell Beliebig erweitern kann, und somit eigenständig entscheidungen treffen sollen.

Im moment binich nicht so ganz bei der Sache, da ich ziemlich Fertig bin. (Scheiss tag gehabt und ziemlich Müde)
Aber ich werde hier immer wieder mal Ergebnisse posten.

Aber ich bin guter dinge ! (dass ich nicht Weltbewegendes reissen werde, aber hoffentlich was Brauchbares auf die Beine stelle.)



*Edit*

Hab noch schnell mal ein TTS Beispiel angehängt, damit ihr selber mal Testen könnt.

Einfach eine Datei mit der Endung VBS Erstellen , den Code reinkopieren und ausführen.

Code:
'        Sprachengine Initialisieren

Set engine = CreateObject("SAPI.SpVoice")

'        Sprecher Einlesen

For Each Voice In engine.getvoices
    I = I + 1
    cmd=cmd & (I - 1) & " - " & voice.GetDescription & vbcrlf
Next

'        Sprecher Auswählen

v=inputbox("Wähle bitte einen Sprecher" & vbcrlf & vbcrlf & cmd & vbcrlf & "(0-" & i-1 & ")")

'        Sprecher Initialisieren

set engine.Voice=engine.GetVoices("").Item(v)

'        Texteingabe

say=inputbox("geben bitte den text ein, der gesprochen werden soll.")


with engine
    .Volume = 100
    .Speak say
end with

Der Code sollte (Glaube ich) ab Win 7 ohne Probleme Laufen.
Auf Windows XP (oder Älter) kann es sein, dass es nicht Funktioniert, da Microsoft die Sprachsynthese nicht Automatisch mit Installiert hat.

Falls ihr als Sprecher nur "Microsoft Anna" zur Verfügung habt, liebt das daran, dass Microsoft die Sprachsynthese irgendwie nicht Interessiert,
und die Arbeit auf Externe Softwareentwickler Abgibt.
Leider ist Anna Amerikanerin, und somit hören sich Deutsche Texte mehr als Scheisse an.

Wenn ihr einen Deutschen Sprecher haben wollt, sucht einfach mal per Google nach "ScanSoft Steffi_Dri40_16kHz" oder "RSSolo4German.zip" welche diese Sprache Enthalten.
Allerdings gibt es auch hier wieder ein Problem, denn Steffi lässt sich nicht einfach so Unter windows 7 Installieren.
Sollte aber bei dem Download mit erklärt sein.
(Andernfalls bin ich ja morgen/nachher wieder da.)


*Edit2*

Zum Sprachbeispiel oben eine kleine Witzige Anmerkung.

Sprache "Dutch (Netherlands)" Sprecher "Dutch (Netherlands) Daan"

Als Text "Frau Antje Bringt Käse aus Holland" :D:D
 
Zuletzt bearbeitet:

Larius

OutOfOrder

Registriert
12 Juli 2013
Beiträge
5.792
Da es über das Dateisystem im Prinzip wie eine Datenbank ist, nur leichter zu Verwalten.

Da musst du aufpassen, das Dateisystem packt nur eine gewisse Länge an Zeichen für den Dateipfad, danach regt er sich furchtbar auf. Ich glaub das war so zwischen 250 - 260 Zeichen. Ggfs. würde ich also doch zu einer Datenbank greifen da sie einfach zuverlässiger ist.

Fände es interessant wenn du uns hier am laufenden hälst und immer wieder einen aktuellen Status posten könntest. Vor allem der Gewichtungsalgorithmus würde mich dann interessieren.
 

Der3Geist

always feed the fish

Registriert
14 Juli 2013
Beiträge
2.702
Ort
Hessen
  • Thread Starter Thread Starter
  • #16
So, ich mal wieder.

Ich habe mir jetzt ein paar Tage Gedanken über die ganze sache gemacht, und ich denke ich werde es auf die Folgende weise lösen.

Am Anfang ist der Bot erstmal dumm wie brot und kann garnichts, darum ist das erstmal die meißte Arbeit.

Der Benutzer macht eine Eingabe.
Der Bot Vergleicht die Eingabe mit vorherigen Texteingaben mittels Levenshtein-Distanz.

Stimmt die Eingabe mit einer Gespeicherten Eingabe NICHT Überein, so fragt der Bot einfach unscheinbar
z.b. "Wie würdest du darauf Antworten" oder "was ist denn deine Meinung dazu"

Somit habe ich gleich die Antwort auf die Vorherige Eingabe.

Stimmt die Eingabe mit einer Gespeicherten Eingabe Überein, berechne ich einen Eindeutigen Key, der gleichzeitig der Name für eine Datei ist.
Diese Datei Enthält mögliche Antworten, und vielleicht noch die Häufigkeit dieser eingabe des Benutzers und die Häufigkeit der ausgabe einer Antwort des Bot´s.

Dadurch habe ich zwar weniger Flexibilität, allerdings kann ich durch speicherung der Benutzereingaben die möglichkeit der Unterschiedlichen Antworten steigern,
da man auf eine schon gespeicherte eingabe weitere antworten hinzufügen kann.


Oftmals stört mich bei solchen Intelligenten Chats, das die Bots nicht selber auf Aussagen Reagieren, sondern mehr die Fragenden Personen sind,
und auf eine eingegebene Antwort nicht weiter Reagieren.
Über die Speicherung vorheriger eingaben wie Fragen & Antworten, ist es eventuell einfacher möglich den Dialog weniger Einseitig zu gestalten.


Erstmal soviel dazu.
Ich werden wieder Schreiben, wenn ich damit weiter gekommen bin.
 

Kenobi van Gin

Brillenschlange

Registriert
14 Juli 2013
Beiträge
3.620
Ort
.\
@Larius:
Normalerweise ist die Pfadlänge unter Windows auf 260 Zeichen beschränkt, d.h. drei Zeichen für die Laufwerksangabe, 256 Zeichen für den Pfad innerhalb des Laufwerks und ein nicht sichtbares String-Terminierungszeichen. Längere Pfade bis zu 32767 Zeichen, wie sie von NTFS unterstützt werden, sind mittels UNC (Uniform Naming Convention) möglich, d.h. \\?\ muss vorangestellt werden.
Quelle

[/OT]
 

Larius

OutOfOrder

Registriert
12 Juli 2013
Beiträge
5.792
[OT]

Interessant, das war mir neu das man mittels \\?\ das Ganze bei NTFS umgehen kann. Man lernt nie aus.

[/OT]

Ich muss mir mal den Algorithmus anschauen, weil ich finde gerade keine gescheite Lösung für die richtige Reihenfolge bei einem Satz wie "Ich würde mir gern etwas zu Essen bestellen". Aufgebaut wäre dann das Verzeichnis ala /Essen/Bestellen/Griechisch bzw. Italienisch.
 

Larius

OutOfOrder

Registriert
12 Juli 2013
Beiträge
5.792
Gibts eigentlich schon einen neuen Stand oder bist du in letzter Zeit nicht zum Entwickeln gekommen?
 

Der3Geist

always feed the fish

Registriert
14 Juli 2013
Beiträge
2.702
Ort
Hessen
  • Thread Starter Thread Starter
  • #20
Ich habe jetzt ein paar tage nicht daran weitergearbeitet.

Aktueller stand ist, dass ich immer wieder alles über den haufen geworfen habe und immer wieder neu angefangen hatte.

Im moment fahre ich mit der Folgenden Variante relativ gut.

Sofern der Chat völlig "Neu" ist, ist er total Dumm, und weiß absolut garnichts.

Dafür habe ich eine Textdatei, mit Variablen Antworten ala "Wie würdest du darauf Antworten ?" oder "Was möchtest du darauf bitte von mir hören ?"
Also allgemein gehaltene fragen, um dem Benutzer die Antwort auf seine Eingabe aus der Nase zu ziehen.

Nun läuft das ganze so ab.

Der Benutzer macht eine Eingabe.
Diese Eingabe wird durch einen kleinen Filter gejagt, der Sonderzeichen ( ! , . ? - " usw) Rausfiltert.
Dann erstelle ich mittels der Levenshteinhttp://de.wikipedia.org/wiki/Levenshtein-Distanz-Distanz berechnung eine art Prüfsumme, die diesen Satz eindeutig Identifiziert.

Nun wird in einer Tabelle verglichen, ob ein Ähnlicher Satz / Eingabe schon vorhanden ist, also ob der Benutzer jemals eine Ähnliche eingabe gemacht hat.

Darauf hin wird dann in 2 Varianten Entschieden.

1. Es wurde schonmal ein Ähnlicher satz Eingegeben und Antworten darauf wurden auch gespeichert.
d.h. der Computer nimmt sich eine Zufällig Antwort auf diese eingabe und Präsentiert sie dem Benutzer.

2. Es ist noch keine Ähnliche Eingabe vorhanden, worauf der Computer eine Pseudo Antwort (siehe oben) zufällig ausspruckt, um vom Benutzer eine Antwort darauf zu bekommen,
welche dann Entsprechend der vorherigend eingabe Gepseichert wird.

Alternativ kann es (durch zufall) auch vorkommen, dass der Computer obwohl Antworten auf eine Eingabe vorhanden sind erneut mit einer Frage Antwortet,
um eben seine Auswahl an Antworten zu erweitern.
Gleichzeitig zählt das Programm jede gegebene Aussage mit, und wählt auch immer wieder mal Antworten aus, die weniger Oft verwendet werden.


Anhand der Genauigkeit des Eingaben Vergleiches, kann es auch vorkommen, dass der Computer Komplett vom Thema Ablenkt und somit ein Gespräch in eine Andere Richtung Lenkt.
Da die Erkennungsrate sich innerhalb des Programme Ändern kann, und es somit den eindruck machen kann, der PC hat keinen Bock mit jemandem zu reden.


Diese lösung ist zwar nicht wirklich Intuitiv und Eigenständig, dafür kann der Computer aber wirklich sehr Brauchbare Ergebnisse in einem Dialog liefern.
Leider ist das Anlernen ein Relativ Umfangreicher vorgang, der wirklich lange dauern kann.
Auch ist dies keine Allgemeine Lösung, und der Computer muss Individuell für jede Person neu Angelernt werden, da sich das Programm eigentlich Jede Antwort merkt,
und wenn jemand anderes mit ihm Chattet und eine Aussage wiederruft, der Computer das (noch) nicht Versteht und sich anpasst.
 
Oben