C14h:Computerlinguistik
Folgende Unterlagen wurden mir freundlicherweise vom Seminar für Comptuerlinguistik der Universität Heidelberg zur Verfügung gestellt.
Vortragsfolien
Material von der Nacht der Wissenschaften 2008
Grundidee: Umfassendere Anwendungen der CL. Frage: Was macht CL? Was steckt hinter den Anwendungen?
Einstieg: Wo hat man im Alltag mit CL zu tun? Antwort: Suchmaschinen im Internet.
Googlesuche
Einstellungen: Google-Preferences auf Deutsch stellen und Anzeige von Seiten in allen Sprachen
Einfaches Beispiel: Stringmatch
Einfache Anfrage: "Heidelberg"
Ausgabe: zu erwarten sind Wikipedia, Hotels und tatsächlich auch eine Seite zur Uni Heidelberg
ein Beispiel, das schlechter zu finden ist:
Anfrage: "Wer gründete die Universität Heidelberg?"
Ausgabe: Vorsicht, der dritte Treffer liefert die korrekte Information. Relevant für die Demo ist der erste (falsche!) Treffer, bei dem die Uni HD nicht Objekt sondern Subjekt ist. Um solche Falschanalysen zu vermeiden, braucht man linguistisches Wissen. Woher kommt dieses linguistische Wissen? Z.B. von einem Parser.
Parser
XLEWebInterface (ParGram LFG-Parser Online Demo)
Einstellungen: Grammar => German, Supress Check aktivieren.
Einfache Anfrage: "Wer gründete die Universität Heidelberg?"
- c-Struktur: grammatische Konstituenten, Hierarchie im Satz
- f-Struktur: korrespondierende funktionale Struktur (Maus auf C-Strukturknoten löst Hervorhebung der F-Struktur aus), Subjekt, Objekt, "Heidelberg" als Location
Fazit: Analyse der Funktionen würde bei der Websuche helfen, Webseiten mit falschen Lesarten herauszufiltern
Komplexe Anfrage: "Die Universität Heidelberg lädt alle interessierten Besucher herzlich ein, das Forschungsspektrum der Universität kennenzulernen und einen Blick hinter die Kulissen zu werfen."
- c-Struktur: getrenntes Partikelverb "einladen" korrekt erkannt, Adjektive, Koordination
- f-Struktur: "alle Besucher" wird als Objekt von einladen und als Subjekt von jeweils "kennenlernen" und "werfen" korrekt analysiert (Kontrolle, Unifikation), ebenso wird as Adjunkt "interessierte" immer korrekt zugewiesen
Einstellungen: Grammatik auf Englisch umstellen
Englische Mehrsatz-Anfrage: "The Ruprecht Karl University of Heidelberg is the oldest German university. More than 600 years of innovation and independence have made the University of Heidelberg one of Europe's leading universities."
- c-Struktur: multi-rooted tree, Achtung: Fehlanalyse bei "one of HD's..."
- auf die Anzahl der Lesarten verweisen
Füllmaterial
- Dublin Demo: Robuste LFG-Grammatiken (nur Englisch)
- Ebenfalls nur bei besonderem Interesse: Dependenzparser
Wie funktioniert so ein Parser?
Parserstrategien
- NLTK installieren
- python
- (in der Python-shell:) import nltk
- nltk.draw.rdparser.demo() => (Recursive decendent parser)
Wie kann man die semantische Information analysieren/ sichtbar machen?
Antwort: Durch einen "Semantischen Parser": Semantic Role Labeling Demo
Eingaben:
- "John bought a new car from a foreign dealer."
- "He gave it to his daughter."
- "The daughter received the car from her father."
Wie sieht die Wissensmodellierung aus, die der semantischen Analyse zu Grunde liegt?
Antwort: Frame-Grapher: FrameNet-Bedeutungsnetze
Einstellungen: 3
Klick auf Pfeilanfang zu commerce-sell => Rollenmapping zeigen
Wissen über Worte und Wortgruppen
Wordnetze und Kookkurenzen
WortschatzLeipzig: Lesarten (word senses); wie Wörter miteinander auftreten bzw. wie man die Wörter verwendet
Vorgehen: Einzelwort eingeben, dann auf den Wortgraphen am Ende der Seite ziehen, dort können ggf. unterschiedliche Lesarten abgelesen werden; durch Klick auf ein anderes Wort im Graphen kommt man zu dessen Wortgraphen
Eingaben:
- "Operation" => 2 Word Senses, auch Kollokation "sich einer Operation unterziehen" vs. "undergo an operation" (und nicht undertake an operation)
- "operieren": medizinische Maßnahme versus agieren / Manöver
- "Student"
- "Heidelberg": eine Lesart: SAP/Hopp
- "Freiheit", "Frieden", "Menschenrechte"
Wortähnlichkeiten / Korrekturvorschläge
Nachdem viel über einzelne Wörter gesagt wurde, was ist wenn man sich beim Eintippen eines solchen Wortes vertippt? Wie kommt z.B. Google darauf, alternative Wörter anzubieten? Wie arbeitet ein Korrekturprogramm in einem Texteditor?
Ähnliche Wörter ("Meinten Sie..."?)
Beispiele: frequent misspellings , häufige Tippfehler (alphabetisch)
Ein einfacher Algorithmus: Minimum Edit Distance
Die Demo wurde von Studierenden im Rahmen einer Einführung in die CL programmiert.
Idee: Man nimmt an, dass beim Vertippen nur minimale Abweichungen entstehen; jeder Editierschritt kostet; die Wörter, die mit den wenigsten Editierkosten erreicht werden, sind potenzielle Zielwörter.
Eingabe: "Frima" und "Prima", bzw. "Frima" und "Firma" => jeweils MED = 2
Analyse: Kostenverteilung: Substitution mit sich selbst = 0, Substitution mit anderem Buchstaben = 2 "Deins", Löschen und Einfügen jeweils = 1
evt. zusätzlicher Vergleich von "Frima" mit "Deins" => MED = 8
Analyse: In "Frima" und "Deins" sind außer "i" alle Buchstaben auf der Tastatur nur um eine Taste nach rechts oder links verschoben; ein intelligenteres Programm, würde diese Abweichung evt. weniger stark bestrafen, da es typische Fehler sind.
Corrector
Von Studierenden aus Zürich
Eingabe: "Frima"
Umfassendere Anwendung: QA
answerbus
Eingabe: " Whi acquired IBM?"
Ausgabe: Zumindest zum Teil richtig: Artikel mit Lenovo und CSG
die nächste Generation der Websuche / QA
"Next Generation": PowerSet
Die Suchmaschine verwendet die am Anfang vorgeführte LFG-Grammatik, Heidelberger Professorin am Netzwerk der LFG-Grammatik beteiligt
Chatterbot
Ein interaktives Tool, das einen Psychotherapeuten nach Carl Rogers imitiert (personenzentrierte Therapie); 1966 von Joseph Weizenbaum entworfen
Info zu ELIZA (der erste Chatterbot): Online-Version
Einstellungen: "Ich probier's" anklicken
Silvia: Moderner Chatterbot
Silvia: Moderner Chatterbot, von Cognitive Code
Video: Silvia im Gespräch mit Steve Spring (Dauer: ??), CTO von Code (Link??, HZ)
Video (grauer Kasten links "Mutlimedia")
Das System erzählt über sich. Stichworte: AI, Turing Test, Dialog, Frage-Antwort, Turn-Taking, Spracherkennung und -synthese
Zugrundeliegende Methoden (u.a. beim Chatterbot)
Text-to-Speech
AT&T-Demo: Demo
- Verschiedene Sprachen
- Text eingeben, es wird eine Audodatei generiert; abspielen mit Mediaplayer o.Ä.
- Mit Zahlen, Satztypen, Abkürzungen experimentieren, männl./weibl. Stimme, US/Brit/Ind. English
Eingaben:
- Bonsoir. Je suis Alain. Vous êtes le 12ème visiteur. Connaissez-vous les entreprises IBM et SAP?
- Hallo, ich bin Klara. Ich bin eine synthetische Stimme. Ich möchte mich mit Ihnen unterhalten. Sie sind die 5. Besucherin der Nacht der Wissenschaften? Was erwarten Sie hier zu sehen?
- Vom nächsten Besucher verlangen wir 5 EUR Eintritt.
- The University of Heidelberg has recently been designated "University of Excellence".
- I just moved to Heidelberg. My previous address was New York City, NY.
- It is now exactly 11:40 pm.
- Es ist jetzt 11.40 Uhr.
- Diese Maus kostet 11.40 Euro.
Emotional Speech: Mary System, DFKI: Emospeak
Voreingestellte Sätze, die von verschiedenen Stimmen gesprochen werden können.
Dabei kann die emotionale Färbung durch Verschieben des grünen Punktes entlang der 2 Dimensionen moduliert werden.
Patternmatching und Ersetzen/Übersetzer
Deutsch-Hessisch
Einstellungen: In Schritt 2 Nutzungsbedingungen anklicken
- Das Ding basiert auf einer einfachen Wortersetzung, wobei es keine 1:1 Übersetzung ist.
Eingabe: "Apfelwein darf nicht mehr Wein heißen" - hat etwas hessische Folklore und da geht es ganz gut.
- "Anette hat ein Auto" ist auch ganz nett :)
- "Anja parkt ihr Auto neben dem Lokal" <- funktioniert gut, weil "dem Kneib" gut hessisch sein könnte
Schwobifier
Unterhaltendes für Zwischendurch
- VISL (visual interactive syntax learning; u.a. Quizzes basierend auf einer Kategorialgrammatik-Baumbank, verschiedene Sprachen) - Wordfall
Weiteres Material
- Kölschifier
- Ask Jeeves
- deutsche Version von AskJeeves
- Beispiele
- "Wo liegt Heidelberg?" (interessante Ergebnisse - de.ask.com)
- "der breiteste Fluss Europoas"
- "Who acquired IBM?" aktiv-passiv Problem
- "When was Michael Collins born?" NE-Disambiguierung
- Wortwarte (Halbautomatisch gefundene neue Wörter)
- Xerox Demopage:
- morphologische Analyse und Disambiguierung für unterschiedliche Sprachen (mit Voreinstellungen oder Eingabe) http://www.xrce.xerox.com/competencies/content-analysis/toolhome.en.html
- SketchEngine (30 Tage Testversion)
- Wordnet
- WordNet Detour to FrameNet
- DWDS (u.a. KWIC-Darstellung, Graphendarstellung von Kollokationen, Verlaufsstatistik von Wortvorkommen)
- Wordnet
- Parserdemo (Helmut Schmids BitPar und Michael Schiehlens Cascaded Finite-State Parser)
- iCookWare
- OnlineDemos
- InteractiveCLtools
- Start (Question-Answering)
- Chatbot debian-megaHAL angeblich auch als Jabber-Client verfügbar -> Unterhaltung für mehrere Leute gleichzeitig