• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
  • Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.

Suche "Hintergrundwissen"

Brigitt Loening

Superstar
Hallo, ich habe ein Problem, dass nur indirekt mit SL zu tun hat. In SL möchte ich Texte aus dem Chat auswerten und programmatisch "verstehen" und daraus Antworten generieren. "Eliza" auf deutsch sozusagen. Die eigentliche Verarbeitung findet dann in php-Programmen statt.

Dafür suche ich Hintergrundwissen; "Selbstverständlichkeiten"; Fakten, die schon ein Kind weiß, wenn es in die Schule kommt; Tatsachen, die nirgends extra erwähnt oder aufgeschrieben sind, weil sie als selbstverständlich vorausgesetzt werden.

Für ein Verständnis von Texten ist dieses Hintergrundwissen allerdings oft erforderlich und einem Computer muss dieses Wissen gezielt beigebracht werden. So wirklich hab ich bisher im Internet nichts in der Richtung gefunden. Vielleicht könnte man ja hier einmal etwas sammeln.

Selbstverständlichkeiten wie zum Beispiel:
- Berge können nicht fliegen.
- Der Anfang eines Ereignisses ist immer vor dessen Ende.
- Wer tot ist, bleibt tot und kauft auch nichts mehr ein.
- Wenn jemand in Hamburg ist, ist seine linke Hand normalerweise auch in Hamburg.
- Ich esse etwas, weil ich Hunger habe.
- Wenn ich etwas gegessen habe, bin ich satt.
- Eine Hafenstadt hat einen Hafen.
- Jede Woche hat einen Freitag.
- Tagsüber ist es hell.
- Wenn ich mit einem Steinwurf jemanden treffe, tut es weh. (dem Getroffenen, nicht mir)
- Wenn ich mit Watte werfe, findet der Getroffene das eher lustig.
- Wenn ich schwimmen gehe, muss der Platz im Wasser größer sein als ich.
- ...
 
Dinge fallen von oben nach unten.
Ein Kilo Blei wiegt genau so viel wie ein Kilo Federn
Ein Kilo Federn benötigt ein höheres Raumvolumen als ein Kilo Blei
Eis ist kalt
...
 
Lass ich was fallen, fällt es nach unten
Regen kommt von oben
Wasser kann nass sein, oder eisig, oder es verdampft
Ein Brot fällt immer mit der Marmeladenseite auf den Boden.
Durch ein Glasscheibe kann man durchgucken, aber nicht durchgehen
"Oben" ist die Luft dünner
 
Ich sitze am Freitagabend alleine vorm PC, statt mit Menschen etwas im realen Leben zu unternehmen. Es läuft was falsch. (>> sorry, der musste sein)

- Oben ist Norden, unten ist Süden (zumindest bis zur nächsten Verschiebung)
- Silber ist silbern, Gold ist golden
- Evolution ist unumgänglich
 
Die Erde ist rund... oder war es der Ball?(oder beides?)

Scheiden tut weh...

Liebeskummer lohnt sich nicht...

Das Leben dauert bis zum Tod... bei Zombies vielleicht länger

Rauchen schadet der Gesundheit... das Leben im Allgemeinen auch

Geld regiert die Welt...

Wenn zwei sich streiten freut sich der Dritte... oder haben die Zwei Freude am Streiten?


LG Mysty ;)
 
Es gibt pinke Einhörner
Die Zeit läuft immer gleich schnell.
Pflanzen können nicht sprechen.
Im Winter ist es kälter als im Sommer.
 
Ich fürchte, du sprengst den Rahmen dieser niedlichen Skriptsprache LSL, wenn du sämtliche bekannten naturwissenschaftlichen Gegebenheiten in eine KI implementieren willst.
Das fängt schon mit dem Auswerten der verschiednen Möglichkeiten des Ausdrückens ein und derselben Tatsache an,
und dann erst die Fallunterscheidungen.....

Im Winter ist es kälter als im Sommer.
Das trifft nicht auf die Südhalbkugel zu.

-
 
1. LSL ist überhaupt nicht gut geeignet um natürliche Sprachen zu verarbeiten.
2. php ist nicht gut geeignet um natürliche Sprache zu verarbeiten.
3. perl ist halbwegs brauchbar um natürliche Sprache zu verarbeiten.
4. Für perl gibt es sehr nützliche Toolkits.
5. Prolog ist ideal um natürliche Sprachen zu verarbeiten.
6. Wenn man mit logischen Aussagen wie dieser arbeiten will, dann verwendet man am besten logische Programmierung.
7. Die Aussage Nr. 8 ist falsch.
8. Die Aussage Nr. 7 ist falsch.

---
(@Brigitt: Ich fürchte du hast Dir da ziemlich viel vorgenommen, Eliza kann nicht viel, ist aber trotzdem bisschen komplizierter unter der Haube.
Wenn du Eliza nachbauen willst, dann braucht du erst mal einen Parser, der dir den eingegebenen Text analysiert und dann alles wesentliche semantisch ("entsprechend der direkten Bedeutung der Zeichenkobination") taggen kann. Dein Parser muss dazu die Wortarten bestimmten können, er muss die Grundformen der Wörter kennen, er muss die Syntax im Satz analysieren können und dabei fürs Deutsche auch die Satzklammern erkennen und markieren können. Und sich auch mit Zeichensetzung bisschen auskennen.

Mit diesen semantischen Tags, die dann an den Schlüsselwörtern hängen, kannst du dann über eine statistische Analyse (bzw. mit einem Hidden Markov Modell) in Verbindung mit dem bereits zuvor gesagten die vermutlich gemeinte (pragmatische) Bedeutung der jeweils verwendeten Worte herausbekommen. Bank ist eben nicht gleich Bank. Und Haus nicht gleich Haus. Es gibt leider viele Worte mit vielen Bedeutungen. Und wenn man über das Geld adliger Leute redet, dann sitzt man nicht wirklich vor seiner Hütte in der Sonne.

Über ein Lexikon mit passenden Tags, das du hier wohl gerade am Anlegen bist, kannst du dann einen Satz mit einer irgendwie passenden Antwort finden. Etwa aus dem semantischen Themenbereich "Finanzen" oder aus dem Bereich "zuhause". Wobei da auch die Antwort noch bisschen zur Frage passen sollte...)

Wirkliche Pragmatikverständnis wirst du dem Rechner aber so leider nicht beibringen können. Dabei wird die Datenbank mit so einem Lexikon viel zu groß. Dazu bräuchtest du schon eine Art "künstliche Intelligenz", die sich etwa über neuronale Netzwerke realisieren lässt. Und die zumindest eingeschränkt Sprache wirklich "verstehen" kann. Wobei sich ein solches Lexikon, das du brauchst, mit dem passenden Parser auch einfach aus einem Korpus, einer Textsammlung generieren lässt. Etwa einem Zeitungsarchiv, einem Literaturarchiv im Netz oder ähnlichem. Oder am besten aus einem linguistischen aufbereiteten Korpus. Leider sind die meisten Korpara hier nicht wirklich frei verwendbar sondern unterliegen diversen Lizenzbedingungen der jeweiligen Institute/Unis.

Das ist jedenfalls ein ziemlich großes Projekt, das du da vorhast. Und ich wünsch dir wirklich viel Erfolg dabei.)
 
Zuletzt bearbeitet:
1. LSL ist überhaupt nicht gut geeignet um natürliche Sprachen zu verarbeiten.
2. php ist nicht gut geeignet um natürliche Sprache zu verarbeiten.
3. perl ist halbwegs brauchbar um natürliche Sprache zu verarbeiten.
4. Für perl gibt es sehr nützliche Toolkits.
5. Prolog ist ideal um natürliche Sprachen zu verarbeiten.
6. Wenn man mit logischen Aussagen wie dieser arbeiten will, dann verwendet man am besten logische Programmierung.
...
Tja, dass ich mir da viel vorgenommen hab, weiss ich. Das kann ne Lebensaufgabe werden (damit mir in der Rente nicht langweilig wird). Als Programmiersprache wären natürlich Prolog oder auch Lisp am besten geeignet. Zur Zeit hab ich schon viel versprechende Anfänge in PL/SQL auf einer ORACLE-Datenbank. Da wird man auch die Informationen los.

Das Skript in LSL stellt eigentlich nur die Kommunikation mit dem Anwender/Benutzer/Spieler her und übergibt die Eingaben und Antworten an meinen Webserver, auf dem dann ein php-Programm (jetzt) und später vielleicht eine MySQL-Datenbank die weitere Bearbeitung übernimmt.

Es sind hier eigentlich zwei große Themen zu bearbeiten. Zum einen die deutsche Grammatik, die ja erheblich komplizierter als die englische ist. Grundlagen dafür sind bei mir der Grammatik-Duden und http://www.canoo.net. Dies unterteilt sich wiederum in die beiden großen Themen Analyse von Eingaben und die Generierung der Antworten, wobei der zweite Teil wohl der einfachere ist.

Zwischen der Analyse und Antwortgenerierung muss nun eine Wissensverarbeitung erfolgen. Als Grundlage und Vorbild habe ich mir hier das Projekt Cyc gewählt (http://www.cyc.com), das im semantischen Web und weiteren Projekten im Einsatz ist.

PS: Eine weitere Schwierigkeit bei Eingaben aus einem Chat sind Tippfehler, sprachliche Ausdrücke wie "hm", "hihi" usw. und dem Programm unbekannte Wörter, die ausgewertet/bewertet werden müssen. Auch Mehrdeutigkeiten der Sprache haben es wirklich in sich: "Du sollst den Polizisten umfahren!" (einmal das "um" betont und einmal das "fah" betont).
 
Zuletzt bearbeitet:
So klein bisschen kenne ich mich mit der Sprache aus ;-)

Fall du Dich da jedenfalls mal bisschen weiter in diese Thematik einarbeiten willst kann ich Dir direkt das Fachbuch "Computerlinguistik und Sprachtechnologie" empfehlen, von Carstensen, Ebert, Ebert, Jekat, Klabunde und Langer, Spektrum Akademischer Verlag 2010.

Das ist eine wirklich sehr gutes "Einführungwerk" in diese Thematik, welches recht viele Gebiete abdeckt und anspricht, im Prinzip alles, was du für den Projekt so brauchen wirst. Der Inhalt entspricht so ganz grob dem, was man im 1. oder 2. Semster Computerlinguistik an manchen Unis so lernt an Linguistik und maschinelle Sprachtechnologie, nur eben ohne die höhere Mathematik und ohne die Informatik-Teile, die da meist zusätzlich auch zum Studium gehören. Auch wenn da hier und da paar mathematische Formeln drin sind. Aber auch für Studis, die nur am Rande mit Computerlinguistik/maschineller Sprachverarbeitung zu tun haben oder für Leute, die damit im Job hin und wieder zu tun haben ist das Werk durchaus eine ziemlich geeignete Grundlage um sich mal einen kleinen Überblick zu verschaffen über das Thema. Und zumindest an dem Institut, an dem ich eine Weile war, wurde es den Erstsemestern direkt empfohlen. Auch wenn man hier und da eventuell mal was nachschlagen muss, vor allem was manche Formeln an geht.

Das Buch gibts natürlich bei Amazon & andern Buchhändlern, ist aber (wie viele andere Fachbücher leider auch..) nicht so ganz billig, AFAIK so um die 60€ bis 70€ oder so. Aber man kann das auch in jeder besseren Uni-Bib ausleihen bzw. bestellen (an den meisten Unis auch als Nicht-Student, wenn man in Deutschland wohnt, man muss da nur einen Ausweis beantragen um die Bib zu nutzen; nur zu einigen Journalen, Magazinen usw. mit kostenpflichtigen Abos hat man dann keinen direkten Zugang).
 
Fall du Dich da jedenfalls mal bisschen weiter in diese Thematik einarbeiten willst kann ich Dir direkt das Fachbuch "Computerlinguistik und Sprachtechnologie" empfehlen, von Carstensen, Ebert, Ebert, Jekat, Klabunde und Langer, Spektrum Akademischer Verlag 2010.
Danke für den Tipp. Vor etwas Mathematik und Informatik ist mir nach dem Studium der technischen Informatik (vor langer Zeit) und mit inzwischen mehr als 30 Jahren Berufserfahrung als Software-Entwickler nicht bange.

PS: Das Buch ist nach Durchsicht des Inhaltsverzeichnisses bestellt.
 
Zuletzt bearbeitet:
Danke Shirley, ein schönes Buch, wenn man sich für das Thema interessiert. Zuerst viel Bekanntes (Wiederholung) dabei, aber dann einiges interessantes Neues!
 

Users who are viewing this thread

Zurück
Oben Unten