• Keine Ergebnisse gefunden

Einf¨uhrung in die Computerlinguistik Parsing

N/A
N/A
Protected

Academic year: 2022

Aktie "Einf¨uhrung in die Computerlinguistik Parsing"

Copied!
12
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Einf¨ uhrung in die Computerlinguistik

Parsing

Dozentin: Wiebke Petersen WS 2004/2005

1 Nachtrag zu den Abschlußeigenschaften kon- textfreier Sprachen

Kontextfreie Sprachen sind abgeschlossen bez¨uglich der Vereinigung von Mengen: SeienG1= (N1, T1, S1, P1) undG2= (N2, T2, S2, P2) zwei kontextfreie Grammatiken, die die Sprachen L(G1) undL(G2) generieren, dann istG= (N1]N2∪{S}, T1∪T2, S, P) mitP=P1∪P2∪{S S1, SS2}die Grammatik, dieL(G1)∪L(G2) generiert (N1]N2ist die disjunkte Vereinigung vonN1 undN2).

Beispiel:

G1=h{S1,A},{a, b},S1, P1i G2=h{S2,A},{a, b},S2, P2i

P1= 8<

:

S1 AS1b S1

A aa

9=

; P2=

8>

><

>>

:

S2 bS2A S2

A Aa

A a

9>

>=

>>

; L(G1) =a2nbn L(G2) =bnammitmn Dann istGeine Grammatik, dieL(G1)L(G2) generiert:

G=h{S,A1,A2,S1,S2},{a, b},S, PiP = 8>

>>

<

>>

>:

S S1 S S2

S1 A1S1b S1

A1 aa

S2 bS2A2 S2

A2 A2a A2 a

9>

>>

=

>>

>;

2 Kompositionalit¨ at kontextfreier Grammatiken

Vorsicht, auch wenn kontextfreie Sprachen bez¨uglich der Vereinigung von Mengen abgeschlos- sen sind, heißt das nicht, daß man Grammatiken ohne weiteres modular aufbauen und dann durch “Vereinigung” zu einer gr¨oßeren zusammenf¨ugen kann.

G1=h{S,V,VP,EN},{Mary,sings},S, P1i

P1= 8>

><

>>

:

S EN VP

VP V

V sings EN Mary

9>

>=

>>

;

G2=h{S,V,VP,EN},{Mary,John,loves},S, P1i

P2= 8>

>>

<

>>

>:

S EN VP

VP V EN

V loves EN Mary EN John

9>

>>

=

>>

>;

3 Parsing

to parse(grammatisch zerlegen) abgeleitet vonpars (griechisch) Teil

1

(2)

Ein Parser ist ein Automat, der einer Zeichenkette aufgrund einer Gram- matik einen Derivationsbaum zuordnet.

Grammatik + Zeichenkette

−→ Derivationsbaum

4 Unterschied Recognizer – Parser

Beides sind Automaten

Recognizer: stellt ausschließlich fest, ob eine Zeichenfolge ein Wort der von der Grammatik generierten Sprache ist oder nicht (Kellerautomat).

Parser: erstellt den Derivationsbaum einer Zeichenfolge im Bezug auf die Gram- matik.

5 Parsingstrategien

Parsingstrategien unterscheiden sich darin, in welcher Reihenfolge die Knoten eines Derivationsbaums erstellt werden.

Man unterscheidet zwei Hauptstrategien voneinander

inputgetriebenesParsing (bottom up)

theoriegetriebenesParsing (top down)

Zus¨atzlich charakterisiert man Parsingstrategien mit folgenden Begriffen:

depth-first breadth-first

left-to-rightright-to-left

6 top-down, left-to-right, depth-first Parser

top-down:

Parser beginnt beim Startsymbol S und versucht, durch sukzessive Regelanwendung schließlich bei der Eingabekette zu landen.

Regelanwendungen (von links nach rechts) nennt manExpansion.

Das Einlesen eines Elements der Eingabekette nennt manScan.

left-to-right: Der Parser versucht immer den am weitesten links stehenden Kno- ten des Ableitungsbaums zu expandieren oder mit diesem Knoten einen Scan durchzuf¨uhren.

depth-first:Der Parser versucht immer die am weitesten unten stehenden Knoten (das sind immer die zuletzt gebildeten) weiter zu expandieren oder hier einen Scan durchzuf¨uhren.

2

(3)

7 Beispiel:

P = 8<

:

S NP VP VP V NP NP D N

D die D den

N Frau N Mann V sieht

9=

;

S S

S S

NP VP

S

@

@

NP

T T

D N

VP

S

@

@

NP

J J

D

die N

VP

S

c c

#

#

NP

\

\

D

die N

Frau VP

S

Q QQ

NP

\

\

D

die N

Frau VP

J J

V NP

S

b bb

"

"

"

NP

\

\

D

die N

Frau

VP

e e

%

%

V

sieht NP

S

H HH

NP

\

\

D

die N

Frau

VP

@

@

V

sieht NP

T T

D N

S

H HHH

NP

\

\

D

die N

Frau

VP

l l , ,

V

sieht

NP

J J

D

den N

S

H HHH

NP

\

\

D

die N

Frau

VP

Z ZZ

V

sieht

NP

@@

D

den N

Mann

8 Linksrekursion

Top-down, left-to-right, depth-first Parser terminieren nicht bei Grammatiken, die linksrekursive Regeln beinhalten!

S S und S

NP NP PP

T T O T

9 bottom-up, breadth-first, left-to-right Parser

bottom-up:

Parser beginnt bei der Eingabeketteund versucht, durch sukzessives uckw¨artiges Anwenden der Regeln (von rechts nach links) schließlich bei dem StartsymbolS zu landen.

3

(4)

10 Beispiel:

die Frau sieht den Mann

D

die Frau sieht den Mann

. . .

D N V D N

die Frau sieht den Mann

NP

D N V D N

die Frau sieht den Mann

NP

NP

D N V D N

die Frau sieht den Mann

NP VP

NP

D N V D N

die Frau sieht den Mann

S

NP VP

NP

D N V D N

die Frau sieht den Mann

11 -Regeln

Bottom-up, breadth-first, left-to-right Parser terminieren nicht bei Grammatiken, die-Regeln beinhalten, da eine solche Regel jederzeit

anwendbar ist!

S

4

(5)

+)!#+++*

"! <BIJ""

-

2

B

2 * '4" IJ

D

$! C"!

*

I (+*

I (+* ) 8&' *J

C" C

I

2

= 9I 2

*J

4 B*J"8

(! H(!

-

%')(+* IJ"! +* %

% 2 2 (= +* % H ) (78

I B $! F % 2 !;BI (BH$<"!

"! IJ"

' I (+* ) ) "! H(

=

4"!; ')=( % "!&%$! +"

""!&%""%(+* + IJ D ! BH$= IJ

- ! ' 4

% H( IJ"! 6 H)4"

4"

IJ"!

2 * ' % +I

! (+*

+* * +" (+I I 2 ! +IJ"!;

)!; "

5

(6)

+)!#+++* =<"

"!$#&%(')*,+ ').-0/1+324657 98;:<=18?>A@

BCD(E<F4?GIH<FJ3GIH K@ML.NPOQ<RSIJT &UV VWX?GIDY JZ?GID?C\[]

^`_ba cedfhgikjl_Em n0oqpArsd;tsu cev\ws_=oxfFf

yz{M|s}h~y"=€z‚My€z0ƒ…„(‚q†bz

‡"ˆ ‰Šˆ

yz{M|s}h~y"=€z‚My€z0ƒ…„(‚q†bz ‹

Œ

(

‡ ‰Šˆ

yz{M|s}h~y"=€z‚My€z0ƒ…„(‚q†bz ‹



‡ ‰Šˆ

yz{M|s}h~y"=€z‚My€z0ƒ…„(‚q†bz ‹

Ž ‡ ‰Šˆ

|s}h~y"=€z‚My€z0ƒ…„(‚q†bz 

 "!$#

‰Šˆ

|s}h~y"=€z‚My€z0ƒ…„(‚q†bz ‹

‘

‰Šˆ

=€z‚My€z0ƒ…„(‚q†bz 

’ ‰

=€z‚My€z0ƒ…„(‚q†bz ‹

“ ” •)•–+ =€z‚My€z0ƒ…„(‚q†bz ‹

’4—

‰

=€z‚My€z0ƒ…„(‚q†bz ˜™4

’

“ — %(')*,+ =€z‚My€z0ƒ…„(‚q†bz ‹

‘ —š—

‰Šˆ

=€z‚My€z0ƒ…„(‚q†bz ˜™4

‘

’ —š—

‰ ‡"ˆ

=€z‚My€z0ƒ…„(‚q†bz ‹

“—š— ” •)•–+

‡"ˆ

=€z‚My€z0ƒ…„(‚q†bz ‹

’ —š—š—

‰ ‡"ˆ

=€z‚My€z0ƒ…„(‚q†bz ˜™4 ’ —š—

“—š—š— %(')*,+

‡"ˆ

=€z‚My€z0ƒ…„(‚q†bz ‹

—š—š—

‡"ˆ

y€z0ƒ…„(‚q†bz 

—š—š—

Œ

(

‡

y€z0ƒ…„(‚q†bz ‹

—š—š—

‡

y€z0ƒ…„(‚q†bz ‹

—š—š—š—

Œ

(

‡

y€z0ƒ…„(‚q†bz ˜™4

—š—š—

—š—š—š—

')

‡

y€z0ƒ…„(‚q†bz ‹

—š—š—š—

‡

ƒ…„(‚q†bz 

 —š—š—š—

"!$# ƒ…„(‚q†bz ‹

—š—š—š—š—

‡

ƒ…„(‚q†bz ˜™4

—š—š—š—

 —š—š—š—š—

-0/1+324 ƒ…„(‚q†bz ‹

Ž

—š—š—š—š— I@1D(I: ›

57‹œ žlŸ :41ANIJ3IA@l¡œ lG?1IA@A˜œ WX?GIDY JZ?GIDhI4[

6

(7)

Universität zu Köln

Institut für Sprach- und Informationsverarbeitung Referentin: Mara Keune

Datum: 05.05.2004

Proseminar Computerlinguistik Sommersemester 2004 Jürgen Hermes

Bottom-up-Parsing

- Bottom-up: eine Analyserichtung (Gegenteil: Top-down) - Analyse von unten nach oben

- Startzustand: der zu analysierende Satz, bestehend aus terminalen (lexikalische) Kategorien

- datengesteuerte Verarbeitung: Satz wird mit Hilfe von Syntaxregeln und Lexikoneinträgen in einem oder mehreren Schritten auf das Startsymbol (S) zurückgeführt

- Reduktion ausgehend vom Wort: die Regeln der Syntax werden von rechts nach links angewendet, die Symbole der rechten Seite werden durch das Symbol der linken Seite ersetzt

Beispiel: S Æ NP VP Reduktion [NP VP] Æ [S]

- Zielzustand: Startsymbol (S)

Einfaches Beispiel: Die Sonne scheint.

Syntaxregeln: Lexikon:

S Æ NP VP die ∈ DET VP Æ V sonne ∈ N NP Æ DET N scheint ∈ V

(1)

DET die

(5)

NP VP

DET N V die sonne scheint

(6) S

NP VP

DET N V die sonne scheint (4)

NP

DET N V die sonne scheint

(3)

NP

DET N die sonne (2)

DET N die sonne

1

(8)

Unterschied Recognizer – Parser

Sind beide Automaten.

Recognizer: stellt ausschließlich fest, ob Satz in der Sprache möglich oder nicht möglich ist

Satz in der Sprache möglich Æ Ausgabe: TRUE

Satz in der Sprache nicht möglich Æ Ausgabe: FALSE Parser: erzeugt zusätzlich Strukturbeschreibungen

Deterministischer Shift-Reduce-Recognizer

Verwendung von zwei Stacks:

1. Stack: noch nicht analysierter Satz(abschnitt) 2. Stack: (Zwischen)Ergebnisse der Analyse Operationen:

ƒ Shift: Wort wird von dem ersten auf den zweiten Stack übertragen, nur wenn Reduce nicht möglich

ƒ Reduce: Inhalt des zweiten Stacks wird mit Hilfe einer Syntaxregel oder eines Lexikoneintrags reduziert

Algorithmus

Wenn <Stack 2 nicht leer und Regel anwendbar>

Dann <Reduce (Stack 2)>

Sonst

Wenn <Stack 1 nicht leer>

Dann <Shift (Stack 1, Stack 2)

Sonst

Wenn <Stack 2 == S>

Dann <RETURN (True)>

Sonst <RETURN (False)>

Beispiel Shift-Reduce-Recognizer: Die Sonne scheint.

Syntaxregeln:

S Æ NP VP NP Æ DET N VP Æ V Lexikon:

die ∈ DET sonne ∈ N scheint∈V

Operation Stack 1 Stack 2 Anfangszustand [die, Sonne, scheint] [ ]

Shift [sonne, scheint] [die]

Reduce [sonne, scheint] [DET]

Shift [scheint] [sonne, DET]

Reduce [scheint] [N, DET]

Reduce [scheint] [NP]

Shift [ ] [scheint, NP]

Reduce [ ] [V, NP]

Reduce [ ] [VP, NP]

Reduce [ ] [S]

TRUE

2

(9)

Backtracking

Problem: Ambiguitäten

1. wenn verwendete Grammatik nicht deterministisch ist Beispiel: VP Æ V

VP Æ V NP

2. wenn Lexikon Einträge enthält, die einem Wort verschiedene lexikalische Kategorien zuordnen

Beispiel: antworten ∈ V antworten ∈ N

ÎAlgorithmus, der den richtigen Pfad auswählt wird benötigt Problemlösung: Backtracking (Rücksetzen)

- ein Pfad wird so lange verfolgt, bis er sich als falsch erweist

- die Verarbeitungsschritte werden bis zu der zuletzt getroffenen Entscheidung für einen bestimmten Pfad zurückgesetzt

- ein Alternativpfad wird gewählt

- jeder Syntaxregel und jedem Lexikoneintrag wird einer Zahl zugeordnet (Regel- bzw. Eintragsindex)

- ein 3. Stack wird implementiert, der Regel- und Eintragsindizes bzw. die Zahl 0 als Markierung für die Shift-Operation enthält

Shift-Reduce-Recognizer mit Backtracking

Backtracking ist erforderlich, wenn in einer Situation weder Reduce noch Shift möglich ist und der Endzustand (S) noch nicht erreicht wurde.

Verschiedene Backtracking-Prozeduren

ƒ nach Rücknahme einer Reduktion

Situation 1: es gibt eine noch nicht geprüfte Reduktionsmöglichkeit Æ andere Reduktionsmöglichkeit wird vorgenommen

Situation 2: es gibt keine noch nicht geprüfte Reduktionsmöglichkeit, aber ein neues Element kann geshiftet werden (Stack 1 enthält mind. 1 Element)

Æ neues Element wird geshiftet

Situation 3: es gibt keine weitere Reduktionsmöglichkeit und keinen weiteren möglichen Shift

Æ die letzte Reduktion wird zurückgenommen Æ mindestens ein weiteres Backtracking

ƒ nach Rücknahme eines Shifts:

Situation 4: letzte Operation war ein Shift Æ Shift-Operation wird zurückgenommen Æ mindestens ein weiteres Backtracking

3

(10)

Beispiel Shift-Reduce-Recognizer mit Backtracking:

Computer erzeugen Antworten.

Syntaxregeln:

1: S Æ NP VP 2: VP Æ V 3: VP Æ V NP 4: NP Æ N Lexikon:

5: V = {antworten, erzeugen} 6: N = {computer, antworten}

Operation Stack 1 Stack 2 Stack 3

Start [c, e, a] [ ] [ ]

Shift [e, a] [c] [0]

Reduce [e, a] [N] [6,0]

Reduce [e, a] [NP] [4,6,0]

Shift [a] [e, NP] [0,4,6,0]

Reduce [a] SA [V, NP] [5,0,4,6,0]

Reduce [a] [VP, NP] [2,5,0,4,6,0]

Reduce [a] [S] [1,2,5,0,4,6,0]

Shift [ ] LA [a, S] [0,1,2,5,0,4,6,0]

Reduce [ ] [V, S] [5,0,1,2,5,0,4,6,0]

Reduce [ ] [VP, S] [2,5,0,1,2,5,0,4,6,0]

Backtracking [ ] [a, S] [0,1,2,5,0,4,6,0]

Reduce [ ] [N, S] [6,0,1,2,5,0,4,6,0]

Reduce [ ] [NP, S] [4,6,0,1,2,5,0,4,6,0]

Backtracking [a] [V, NP] [5,0,4,6,0]

Shift [ ] LA [a, V, NP] [0,5,0,4,6,0]

Reduce [ ] [V, V, NP] [5,0,5,0,4,6,0]

Reduce [ ] [VP, V, NP] [2,5,0,5,0,4,6,0]

Backtracking [ ] [a, V, NP] [0,5,0,4,6,0]

Reduce [ ] [N, V, NP] [6,0,5,0,4,6,0]

Reduce [ ] [NP, V, NP] [4,6,0,5,0,4,6,0]

Reduce [ ] [VP, NP] [3,4,6,0,5,0,4,6,0]

Reduce [ ] [S] [1,3,4,6,0,5,0,4,6,0]

TRUE

: Ambiguitäten SA = syntaktische Ambiguität LA = lexikalische Ambiguität

4

(11)

5

Vom Recognizer zum Parser

Möglichkeiten der Strukturbeschreibung 1. Möglichkeit:

die angewandten Regeln werden anschließend in umgekehrter Reihenfolge zur Konstruktion eines Phrasenstrukturbaums benutzt

2. Möglichkeit:

Stack 2 baut die Struktur parallel zur Ableitung auf und enthält nicht nur eine Ableitungszeile, sondern eine Liste von Strukturbeschreibungen

Beispiel:

Operation Stack 1 Stack 2 Stack 3 Start [c, e, a] [ ] [ ]

Shift [e, a] [c] [0]

Reduce [e, a] [N] [6,0]

Reduce [e, a] [NP(N)] [4,6,0]

...

[S(VP(NP(N)V)NP(N))]

Literatur

ALLEN, James 1995, Natural Language Understanding. Redwood City:

Benjamin/Cummings, Kap. 3.

CARSTENSEN, Kai-Uwe et al. 2001, Computerlinguistik und Sprachtechnologie.

Heidelberg/Berlin: Spektrum.

HELLWIG, Peter 1989, „Parsing natürlicher Sprache“, in: Bátori/Lenders/Putschke.

Computerlinguistik. Handbücher zur Sprach- und Kommunikationswissenschaft.

Band 4. Berlin: De Gruyter, S. 348-432.

NAUMANN, Sven & Hagen Langer 1994, Parsing. Eine Einführung in die maschinelle Analyse natürlicher Sprache. Stuttgart: Teubner.

(12)

! % % $! C"

2

= 2

?

6 !;"(! ) 2

? 2 2 = B*J"

IJ64"! (B

*

4 (+I 2

)

- % * ('

4"

(B4C" %

+IJ"

"! IJ" " H

? I (!

?

+)!#+++*

* H$<"4 -

!&%'4" I (!

<BIJ"!&

2 4

132

B ')("4"ABC

12

Referenzen

ÄHNLICHE DOKUMENTE

Stockach (swb). Die Kirchen- gemeinde Herz-Jesu in Zizen- hausen begeht ihr Kirchenpa- trozinium am Sonntag, 29. Der Tag beginnt um 9 Uhr mit einem Festgottesdienst in

Ein entsprechen- der Antrag wurde gestellt, ob- wohl Stockach nach einem Ge- meinderatsbeschluss die Bestre- bungen auch mit Blick auf sein geplantes Schulzentrum zwi- schen

Welche Aussagen kann man mit Hilfe der Abschlußeigenschaften der regul¨ aren Sprachen und dem Pumping-Lemma ¨ uber die Komplexit¨ at folgender formaler Sprachen

depth-first: Der Parser versucht immer die am weitesten unten stehenden Knoten (das sind immer die zuletzt gebildeten) weiter zu expandieren oder hier einen Scan durchzuf¨

The mapping from the reference to the initial configuration is performed either with an isoparametric map based on a quadratic ansatz for the geometry or a Bezier type map using

Beschriften Sie bitte im Bild die beiden Elektroden Anode und Kathode.. Hinweis: gemäss Definition ist die Anode dort wo die

Da in Aarburg keine Quellen zur Verfügung stehen, werden 100% des Trinkwassers für die Gemeinde im Pump¬.. Sie

A systematic procedure is developed to allow rapid identification of design parameters without the need for lengthy numerical simulation, using the lumped element, stiffness matrix