Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik...

24
Einführung in die Einführung in die Computerlinguistik Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof Rumpf, 31.01.2008 Diese Präsentation finden Sie unter: http://www.phil-fak.uni-duesseldorf.de/~rumpf/talks/ clintro2.pdf

Transcript of Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik...

Page 1: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

Einführung in die Einführung in die ComputerlinguistikComputerlinguistik

Im Rahmen des Seminars Grundkurs Linguistik

Heinrich-Heine-Universität Düsseldorf, WS 2007/2008

Gastdozent: Christof Rumpf, 31.01.2008

Diese Präsentation finden Sie unter:

http://www.phil-fak.uni-duesseldorf.de/~rumpf/talks/clintro2.pdf

Page 2: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 2

Computerlinguistik in DüsseldorfComputerlinguistik in Düsseldorf

• Computerlinguistik ist an der Heinrich-Heine-Universität Düsseldorf eine von drei Abteilungen im

Institut für Sprache und Information

– Allgemeine Sprachwissenschaft (Linguistik)– Computerlinguistik– Informationswissenschaft

• Studiengänge– BA, MA Linguistik (mit Schwerpunkt Computerlinguistik)– BA, MA Informationswissenschaft und Sprachtechnologie

Page 3: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 3

Was ist Computerlinguistik?Was ist Computerlinguistik?

• Computerlinguistik (CL) ist ein interdisziplinäres Fachgebiet zwischen den Gebieten

– Linguistik linguistics computational– Informatik computer science linguistics

• In der CL geht es um die maschinelle (algorithmische) Verarbeitung natürlicher Sprache.

• CL ist eine der Säulen der sogen. Künstlichen Intelligenz.

Page 4: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 4

Anwendungen der CLAnwendungen der CL

• Maschinelle Übersetzung– z.B. automatische Übersetzung von geschriebenem oder gesprochenem

Chinesisch ins Deutsche (siehe z.B. http://babelfish.altavista.com/)

• Information Retrieval– Auffinden von Dokumenten (Texten) in grossen Dokumentsammlungen

aufgrund des Inhalts (z.B. alle Einführungen in die CL)

• Informationsextraktion– Gewinnung von strukturierter Information (Relationen) aus unstrukturierter

Information (Texten)

– Beispiel: Wer hat JFK erschossen? Szenario:

• Dialogsysteme– z.B. Fahrplanauskunftssysteme, Diagnosesysteme (Medizin, Technik)

• etc. (die Liste lässt sich noch rahmensprengend verlängern)

Relation: Mord

Opfer: JFK

Tät ?er:

ausgewählte

Page 5: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 5

Methoden der CLMethoden der CL

• Symbolische Methoden– Parsing ist die Analyse natürlicher Sprache anhand von Grammatiken

auf Basis der Theorie der Automaten und formalen Sprachen.– Grammatikformalismen basieren auf formalen Logiken zur

Repräsentation und Verarbeitung linguistischen Wissens (Inferenz).

• Statistische Methoden– Statistische Modelle über grossen Textmengen (Korpora) basieren

auf Wahrscheinlichkeitstheorie und evt. Informationstheorie.

• Hybride Methoden (gemischte Methoden)– Statistisches Parsing verbindet z.B. symbolische und statistische

Methoden

• Subsymbolische Methoden– Neuronale Netze sind heute weitgehend bedeutungslos geworden.

Page 6: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 6

Probleme der CLProbleme der CL

• Ambiguität (Mehrdeutigkeit) führt zur Explosion der Analysen: – Polysemie: Bank (Gebäude, Institution, Sitzgelegenheit)– Komposita: Aluminiumherstellung z.B. alu+mini+umher+stellung (+11)– Skopus: ((alte Männer) und Frauen) vs. (alte (Männer und Frauen))– PP-Zuordnung: Peter kauft das Auto mit Heckspoiler.

Peter kauft das Auto mit Kreditkarte.Peter kauft das Auto mit Gabi.

• Robustheit erfordert Fehlertoleranz und vollständiges Wissen– mangelnde Fehlertoleranz– unvollständige Lexika behindern die Funktionsfähigkeit– unvollständige Grammatiken von CL-Anwendungen

• Dilemma: je robuster (vollständiger), desto mehr Ambiguitäten.

Präpositionalphrase

Page 7: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 7

Wie komplex ist eine Sprache?Wie komplex ist eine Sprache?

• Um entscheiden zu können, welche Mittel man zur Lösung eines Problems benötigt, muss man sich über die Komplexität des Problems klar werden.

• In der Theorie der Automaten und formalen Sprachen werden Sprachen in eine Komplexitätshierarchie gebracht:– Typ 0: rekursiv aufzählbar komplexer

– Typ 1: kontextsensitiv

– Typ 2: kontextfrei

– Typ 3: regulär einfacher

• Natürliche Sprache gilt als schwach kontextsensitiv.• Den Sprachklassen werden Automatenklassen zugeordnet.

Chomsky-Hierarchie

Page 8: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 8

Die Chomsky-HierarchieDie Chomsky-Hierarchie

regulär

kontext-frei

kontext-sensitiv

rekursiv aufzählbar

Sprache Automat

Turing Maschine

Linear gebunden

Kellerautomat(Stapel)

Endlicher Automat

Grammatik

unbeschränkt

Baa

kontext-sensitiv

At aA

kontextfrei

S gSc

regulär

A cA

Erkennung

linear

polynomiell

NP-vollständig

unentscheidbar

Abhängigkeit Biology

strikt lokal

eingebettet

überkreuzt

beliebig

Central Dogma

Pseudoknots, etc.

Orthodox 2o Structure

Unknown

nach D. Searls

Page 9: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 9

Endliche AutomatenEndliche Automaten

• Endliche Automaten sind die einfachste Automatenklasse.

• Sie bestehen aus Zuständen, die mit beschrifteten Übergängen verbunden sind (Übergangsfunktion).

• Eine Kette von Symbolen aus einem Alphabet gilt als akzeptiert, wenn beginnend mit dem Startzustand die ganze Kette verarbeitet werden kann und der Automat sich dann in einem Endzustand befindet.

Der abgebildete Automat erkennt Sprachen, deren Ketten die Teilkette skr enthalten.

r-s

-k

-r

ks0q 1q 2q 3q

start

z.B. für ein Alphabet = {a,b,c,s,k,r }, L = *skr*, wobei * die Menge aller Ketten ist, die sich aus beliebigen Symbolen aus dem Alphatet zusammensetzt. Der Stern heisst Kleenscher Stern. Beispielsweise ist aabcskrab L, aber aabcska L.

Page 10: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 10

Kontextfreie GrammatikenKontextfreie Grammatiken

• Kontextfreie Grammatiken sind neben den einfacheren regulären Grammatiken die wichtigsten Grammatiken für die Computerlinguistik.

• Die Regeln einer kontextfreien Grammatik definieren zwei Relationen:– Unmittelbare Dominanz zwischen Mutterkategorie und Tochterkategorien

– Lineare Präzedenz zwischen Schwesterkategorien

• Hier ist eine kontexfreie Grammatik für ein Fragment der deutschen Sprache:

S → NP VPNP → Det NVP → V NPDet → JederDet → eineN → MannN → FrauV → liebt

Legende

S SatzNP NominalphraseVP VerbalphraseDet Determiner (Artikel)N Nomen (Substantiv)V Verb

Page 11: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 11

ParsingParsing• engl. to parse: „grammatisch zerlegen“• Ein Parser ist ein Automat, der auf Basis einer Grammatik

für eine Kette einen Ableitungsbaum (parse tree) erzeugt.

S

NP VP

Det N V NP

Jeder Mann liebt Det N

eine Frau

Grammatik

&

„Jeder Mann liebt eine Frau“

Page 12: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 12

Deklarativ vs. ProzeduralDeklarativ vs. Prozedural

• Eine Grammatik ist eine deklarative Beschreibung der wohlgeformten Syntaxbäume einer Sprache.

• Eine deklarative Beschreibung stellt einen logischen Sachverhalt dar.

• Ein Algorithmus ist eine Folge von Anweisungen (eine Prozedur), wie man in endlich vielen Schritten von einem Ausgangszustand (zu lösendes Problem) zu einem Zielzustand (gelöstes Problem) kommt.

• Ein Parser verwendet einen Algorithmus, um Grammatiken zu interpretieren: eine prozedurale Parsingstrategie.

Page 13: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 13

ParsingstrategienParsingstrategien

• top-down• bottom-up• left-corner

Parsingstrategien unterscheiden sich durch die Reihenfolge, in der bei der Konstruktion des Syntaxbaums die Knoten im Baum besucht werden (Traversierung).

• depth-first• breadth-first

• left-to-right• right-to-left

Page 14: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 14

Beispielgrammatik (CFPSG)Beispielgrammatik (CFPSG)

Syntax

S → NP VPNP → Det NNP → NP Conj NP1

VP → V NPDet → 2

Lexikon

Det → the Conj → and N → dog N → cat V → chases

1 nicht für top-down-Parser2 nicht für bottom-up-Parser

Page 15: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 15

Top-Down-TraversierungTop-Down-Traversierung

S1

NP2 VP7

D3 N5 V8 NP10

D11 N13

the4 dog6 chased9 the12 cat14

top-down depth-first left-to-right

Page 16: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 16

Problem: LinksrekursionProblem: Linksrekursion

• Top-Down-Strategie gerät bei linksrekursiven Regeln in Endlosschleifen (Endlosberechnungen):

NP NP Conj NP

• Die erste NP auf der linken Regelseite kann beliebig oft mit der gleichen Regel expandiert werden.

• Auswege: – Linksrekursion vermeiden (unbefriedigend)– Bottom-Up- oder Left-Corner-Strategie

Page 17: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 17

Bottom-Up-TraversierungBottom-Up-Traversierung

S14

NP5 VP13

D2 N4 V7 NP12

D9 N11

the1 dog3 chased6 the8 cat10

Page 18: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 18

Shift-Reduce-AlgorithmusShift-Reduce-Algorithmus

Der Shift-Reduce-Algorithmus verfolgt eine Bottom-Up-Strategie.

1. Shift: lege ein Wort aus der Eingabekette auf einen Stapel.

2. Reduce: reduziere den Stapel mit Hilfe der Grammatik soweit wie möglich.

3. Falls die Eingabekette noch Wörter enthält, gehe zu Shift, sonst halte.

Page 19: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 19

Shift-Reduce-BeispielShift-Reduce-Beispiel

Schritt Aktion Stack Input StringStart the dog barked

1 Shift the dog barked2 Reduce D dog barked3 Shift D dog barked4 Reduce D N barked5 Reduce NP barked6 Shift NP barked7 Reduce NP V8 Reduce NP VP9 Reduce S

Page 20: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 20

Problem: Leere KategorienProblem: Leere Kategorien

• Bottom-Up-Strategie loopt (Endlosschleife) bei leeren Kategorien, weil zwischen zwei Konstituenten beliebig viele leere Kategorien eingesetzt werden können.

Det .

• Auswege– Leere Kategorien vermeiden (für manche unbefriedigend).– Oder eine andere Parsing-Strategie:

Left-Corner-Parsing mit Linking (wer wissen möchte, wie das funktioniert, soll Computerlinguistik studieren!)

Page 21: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 21

KlassifikationsproblemeKlassifikationsprobleme

Viele Probleme der Text- bzw. Sprachtechnologie sind Klassifikationsprobleme, z.B:

• SatzgrenzenerkennungFrau Dr. X. hatte am 31. Jan. 2.000€ auf der Bank. Am 1. Feb. waren es 1.000 weniger.

• WortartenerkennungTimeN fliesV likeA anD arrowN. vs TimeN fliesN likeV anD arrowN.

• Term- bzw. Named-Entity-Erkennungz.B. Personen-, Währungs-, Datums-, oder Ortsbezeichnungen

• WortsinndisambiguierungDas Geld liegt auf der Bank. Peter sitzt auf der Bank.

Page 22: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 22

Automatische KlassifikationAutomatische Klassifikation

• Ein Klassifikator ist eine Wahrscheinlichkeitsfunktion p(a|b)• p(a|b) ist die Wahrscheinlichkeit von Klasse a im Kontext b

p(Institutioni |Das Geld liegt auf der Banki) = 0,6p(Gebäudei |Das Geld liegt auf der Banki) = 0,1p(Sitzmöbeli |Das Geld liegt auf der Banki) = 0,3 1,0

• Klassifikatoren können aus Trainingstexten automatisch gelernt werden: Maschinelles Lernen

• Das Lernen basiert i.d.R. auf dem Zählen der gemeinsamen Vorkommen von Klassen mit Kontextmerkmalen

Page 23: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 23

Markov-ModelleMarkov-Modelle

• Markov-Modelle sind gewichtete endliche Automaten.• Markov-Modelle reduzieren die komplexen Zusammenhänge einer

Kette von Ereignissen (z.B. Wörter in einem Text).• Markov-Modelle zur Wortartenerkennung:

• Kombination aus zwei Wahrscheinlichkeitsfunktionen:– Wie häufig kommt ein Wort mit einer Wortart vor?

– Wie häufig folgt eine Wortart auf eine andere?

TimeN fliesV likeA anD arrowN. vs TimeN fliesN likeV anD arrowN.

1 1 11

( ... | ... ) ( | ) ( | )n

n n i i i ii

p t t w w p w t p t t

( | )i ip w t

1( | )i ip t t

Page 24: Einführung in die Computerlinguistik Im Rahmen des Seminars Grundkurs Linguistik Heinrich-Heine-Universität Düsseldorf, WS 2007/2008 Gastdozent: Christof.

31.01.2008 Einführung in die Computerlinguistik 24

Beruf ComputerlinguistInBeruf ComputerlinguistIn

• Computerlinguistische Arbeit erfordert Wissen aus mehreren Bereichen:– Linguistik– Informatik– Mathematik– Philosophie– Logik– Informationswissenschaft

• Je nach Spezialisierung kann der Schwerpunkt einzelner ComputerlinguistInnen stark auf bestimmte der genannten Bereiche verlagert sein.

Sofern es um bestimmte Anwendungsdomänen geht,können natürlich weitere Fachbereiche involviert sein:

Philologie(n), Biologie, Soziologie, Forensik, Kryptologie, …