C14h:Computerlinguistik

From NoName e.V.
Jump to navigation Jump to search

Folgende Unterlagen wurden mir freundlicherweise vom Seminar für Comptuerlinguistik der Universität Heidelberg zur Verfügung gestellt.

Vortragsfolien

File:Computerlinguistik.pdf

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

Wie funktioniert so ein Parser?

Parserstrategien

  1. NLTK installieren
  2. python
  3. (in der Python-shell:) import nltk
  4. 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