Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Natürliche Spracherkennung vorgaukeln

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
masterherpo



Anmeldungsdatum: 22.01.2006
Beiträge: 102

BeitragVerfasst am: 18.04.2006, 21:10    Titel: Natürliche Spracherkennung vorgaukeln Antworten mit Zitat

Ich schreibe ein Textadventure mit FB.

Dann gibt es auch situationen wo der spieler aufefordert wird ganz frei
einen Text einzugeben z.b.

Code:

CLS
?
?"
?" 'Ja was ist den Los mein Sohn' fragt dich der Priester."
INPUT " Deine Antwort ";ent


"Indem ich mich nur auf Schlüsselwörter beschränke und nicht versuche, die genaue Grammatik des Satzes zu verstehen, kann ich dem Spieler eine natürliche Spracherkennung vorgaukeln: "Wo is die Schenke" und "Wo genau liegt denn, bitteschön, in diesem Kaff die Schenke" werden beide ohne großen Programmieraufwand als derselbe Satz erkannt. " (Zitat)

Und ich wollte wissen wie ich mit FB bestimmte Schlüsselwörter aus Sätzen herausfiltere. Am besten mit if:

Code:

CLS
?
?"
?" 'Ja was ist den Los mein Sohn' fragt dich der Priester."
INPUT " Deine Antwort ";ent

IF ent= schlüsselwörter THEN .....
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 18.04.2006, 21:48    Titel: Antworten mit Zitat

du brauchst einfach ne reihe an schlüsselwörtern die du prüfen willst. Dann gehst du einfach hin und prüfst mit INSTR jedes wort auf vorkommen in der eingabe und schaust ob du damit was zusammenbekommst, schau dir einfach ma instr in der referenz an.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
otti



Anmeldungsdatum: 28.02.2005
Beiträge: 112
Wohnort: Wildberg

BeitragVerfasst am: 18.04.2006, 22:26    Titel: Antworten mit Zitat

die signalwörter lädst du am besten mit RESTORE und speicherst du in DATA -blöcken

zB irgendwie so:
Code:

input "Wo möchtest du hin gehen",ant$


RESTORE schenke
(usw..)

schenke:
DATA "Kneipe","Schenke","Wirtschaft"


PS:ein gutes Code beispiel bietet au "Eliza" gibts irgenwo bei Qbasic.de im download bereich

grüße otti
_________________
Gute Musik lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
masterherpo



Anmeldungsdatum: 22.01.2006
Beiträge: 102

BeitragVerfasst am: 18.04.2006, 22:27    Titel: Antworten mit Zitat

OK danke, klappt wunderbar @ MisterD

Eine Frage nocH.

kann man auch mehrere Stichwörter in ein Befehl packen ? wenn ja wie trennt man??? also mit Komma und Simikolon gehts nicht

Bsp:
Code:

IF INSTR (ent,"spende","spenden") THEN GOTO spende

das geht nicht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 18.04.2006, 22:30    Titel: Antworten mit Zitat

nein, das geht wirklich nicht. da musst du mehretre if-abfragen machen!
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
masterherpo



Anmeldungsdatum: 22.01.2006
Beiträge: 102

BeitragVerfasst am: 18.04.2006, 22:31    Titel: Antworten mit Zitat

uiii das ging ja fix. Vielen Dank happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 18.04.2006, 22:53    Titel: Antworten mit Zitat

jojo schon ma das wort schleife gehört? mehrere ifs, da bist du bei 25 schlüsselwörtern ja tot..
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 18.04.2006, 22:58    Titel: Antworten mit Zitat

jai ch weiß ja net wie erfahren er ist durchgeknallt ich persönlich würd ja auch ne schleife zusammen mit DATA oder ner datei verwenden zwinkern
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
otti



Anmeldungsdatum: 28.02.2005
Beiträge: 112
Wohnort: Wildberg

BeitragVerfasst am: 18.04.2006, 23:18    Titel: Antworten mit Zitat

ich hab hier den link zu "ELIZA"
http://www.qbasicnews.com/abc/showsnippet.php?filename=AI.ABC&snippet=0

des is au sone art "spracherkennungsprog" grinsen

grüße otti
_________________
Gute Musik lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 18.04.2006, 23:24    Titel: Antworten mit Zitat

Oh ja, Eliza hat mir schon so manch schöne (will sagen: lächerliche) stunden beschert durchgeknallt das prog is geil lachen
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 19.04.2006, 18:08    Titel: Antworten mit Zitat

Code:
IF INSTR (ent,"spende","spenden") THEN GOTO spende

Schleches Beipsiel:
Code:
IF INSTR (ent,"spende") THEN GOTO spende

Das Wort spende ist im Wort spenden enthalten zwinkern.
Ein Tipp:
Arbeite Zustätzlich mit LCASE, dann könnnen auch Benutzer mit wirrer Gross- und Kleinschreibung dein Programm verwenden.

"Gefährliche" Schlüsselwörter sind Verneinungen und vorallem Doppelte Verneinungen.
Findest du zwei Verneinungen in einem Satz, frag beim Benutzer nochmla nach.

Noch ein Tipp:
Apss auf, das die einzelnen Wörter nicht Verstummelt werden.
So ist im Wort "Regenschirm" zwar Regen enthalten aber trotzdem nicht gemeint.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Stormy



Anmeldungsdatum: 10.09.2004
Beiträge: 567
Wohnort: Sachsen - wo die schönen Frauen wachsen ;)

BeitragVerfasst am: 19.04.2006, 18:55    Titel: Antworten mit Zitat

Ich hab da eine nette Funktion mal geschrieben...eignet sich prima für Adventures...

http://www.storm-master.de/index.php?site=qbasic&main=1&sub=0&details=11

Unter Linux kann ich gerade nicht die von QB "verschlüsselte" Datei öffnen. Der Sourcecode dürfte aber relativ gut dokumentiert sein...
_________________
+++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz