• Keine Ergebnisse gefunden

Einführung in die Computerlinguistik  Formale Grammatiken

N/A
N/A
Protected

Academic year: 2022

Aktie "Einführung in die Computerlinguistik  Formale Grammatiken"

Copied!
19
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Einführung in die Computerlinguistik Formale Grammatiken

Dozentin: Wiebke Petersen

24.6.2010

(2)

Formale Grammatik

Denition

Eineformale Grammatikist ein 4-Tupel G = (N,T,S,P)aus einem Alphabet von Terminalsymbolen T (häug auchΣ) einem Alphabet von Nichtterminalsymbolen N mit N∩T =∅ einem Startsymbol S∈N

einer Menge von Regeln/Produktionen P⊆ {hα, βi |α, β∈(N∪T)undα6∈T}.

Für eine Regelhα, βischreiben wir auchα→β.

Formale Grammatiken werden auchTyp0- oderallgemeine Regelgrammatiken genannt.

S → NP VP VP → V NP → D N

(3)

Terminologie

G =h{S,NP,VP,N,V,D,N,EN},{the, cat, peter, chases},S,Pi

P=

S → NP VP VP → V NP NP → D N

NP → EN D → the N → cat

EN → peter V → chases

NP VP istin einem Schritt ableitbaraus S the cat chases peter istableitbaraus S:

S →NP VP →NP V NP →NP V EN

→NP V peter →NP chases peter →D N chases peter

→D cat chases peter → the cat chases peter

Die Menge aller aus dem Startsymbol S ableitbarer Wörter ist die von der Grammatik G erzeugte SpracheL(G).

L(G) =

the cat chases peter peter chases the cat peter chases peter the cat chases the cat

(4)

Terminologie

G =h{S,NP,VP,N,V,D,N,EN},{the, cat, peter, chases},S,Pi

P=

S → NP VP VP → V NP NP → D N

NP → EN D → the N → cat

EN → peter V → chases

 NP VP istin einem Schritt ableitbaraus S

the cat chases peter istableitbaraus S:

S →NP VP →NP V NP →NP V EN

→NP V peter →NP chases peter →D N chases peter

→D cat chases peter → the cat chases peter

Die Menge aller aus dem Startsymbol S ableitbarer Wörter ist die von der Grammatik G erzeugte SpracheL(G).

L(G) =

the cat chases peter peter chases the cat peter chases peter the cat chases the cat

(5)

Terminologie

G =h{S,NP,VP,N,V,D,N,EN},{the, cat, peter, chases},S,Pi

P=

S → NP VP VP → V NP NP → D N

NP → EN D → the N → cat

EN → peter V → chases

 NP VP istin einem Schritt ableitbaraus S

the cat chases peter istableitbaraus S:

S →NP VP →NP V NP →NP V EN

→NP V peter →NP chases peter →D N chases peter

→D cat chases peter → the cat chases peter

Die Menge aller aus dem Startsymbol S ableitbarer Wörter ist die von der Grammatik G erzeugte SpracheL(G).

L(G) =

the cat chases peter peter chases the cat peter chases peter the cat chases the cat

(6)

Ableitungsbaum

S

NP

D the

N cat

VP

V chases

NP EN peter

(7)

reguläre Sprachen (Typ 3-Sprachen) und rechtslineare Grammatiken

Denition

Eine Grammatik(N,T,S,P)heiÿtrechtslinear, wenn alle Regeln/Produktionen die folgende Form haben:

A→a oder A→aB wobei a∈T ∪ {}und A,B ∈N.

Eine durch eine rechtslineare Grammatik erzeugte Sprache heiÿt rechtslinear.

(Vorsicht, häug werden schärfere [aber äquivalente] Bedingungen gefordert!)

Theorem

Sei L eine formale Sprache, dann sind die folgenden Aussagen äquivalent:

1 L ist regulär.

2 Es gibt eine rechtslineare Grammatik G, die L erzeugt.

3 Es gibt einen endlichen Automaten A, der L akzteptiert.

4 Es gibt einen regulären Ausdruck R, der L beschreibt.

(8)

reguläre Sprachen (Typ 3-Sprachen) und rechtslineare Grammatiken

Denition

Eine Grammatik(N,T,S,P)heiÿtrechtslinear, wenn alle Regeln/Produktionen die folgende Form haben:

A→a oder A→aB wobei a∈T ∪ {}und A,B ∈N.

Eine durch eine rechtslineare Grammatik erzeugte Sprache heiÿt rechtslinear.

(Vorsicht, häug werden schärfere [aber äquivalente] Bedingungen gefordert!) Theorem

Sei L eine formale Sprache, dann sind die folgenden Aussagen äquivalent:

1 L ist regulär.

2 Es gibt eine rechtslineare Grammatik G, die L erzeugt.

(9)

Zusammenfassung: reguläre Sprachen

(10)

kontextfreie Grammatik

Denition

Eine Grammatik (N , T , S , P ) heiÿt kontextfrei, wenn alle Regeln/Produktionen die folgende Form haben:

A → α, wobei A ∈ N und α ∈ (T ∪ N )

. Eine durch eine kontextfreie Grammatik erzeugte Sprache heiÿt kontextfrei.

Die Menge der kontextfreien Sprachen ist eine echte Obermenge der Menge der regulären Sprachen

Beweis: Jede reguläre Sprache ist per Denition auch kontextfrei und

es gibt mindestens eine kontextfreie Sprache, nämlich a

n

b

n

, die nicht

regulär ist. (S → aSb , S → )

(11)

kontextfreie Grammatik

Denition

Eine Grammatik (N , T , S , P ) heiÿt kontextfrei, wenn alle Regeln/Produktionen die folgende Form haben:

A → α, wobei A ∈ N und α ∈ (T ∪ N )

. Eine durch eine kontextfreie Grammatik erzeugte Sprache heiÿt kontextfrei.

Die Menge der kontextfreien Sprachen ist eine echte Obermenge der Menge der regulären Sprachen

Beweis: Jede reguläre Sprache ist per Denition auch kontextfrei und

es gibt mindestens eine kontextfreie Sprache, nämlich a

n

b

n

, die nicht

regulär ist. (S → aSb , S → )

(12)

kontextfreie Grammatik

Denition

Eine Grammatik (N , T , S , P ) heiÿt kontextfrei, wenn alle Regeln/Produktionen die folgende Form haben:

A → α, wobei A ∈ N und α ∈ (T ∪ N )

. Eine durch eine kontextfreie Grammatik erzeugte Sprache heiÿt kontextfrei.

Die Menge der kontextfreien Sprachen ist eine echte Obermenge der

Menge der regulären Sprachen

(13)

Beispiel einer kontextfreien Sprache

G=h{S,A,B,C},{a,b,c},S,Pi P=

S → ASB S → C S → S

A → a B → b

C → cC C →

Shhhhhhhh ((

(( (( (( A a

SXXXXXX

A a

SPPPP A

a S C

@@

c C

SS

c C

B

b B b

B b

1

(14)

Beispiel einer kontextfreien Sprache

G=h{S,A,B,C},{a,b,c},S,Pi P=

S → ASB S → C S → S

A → a B → b

C → cC C →

Shhhhhhhh

(( (( (( (( A a

SXXXXXX

A a

SPPPP A

a S C

@@

c C

SS

c C

B

b B b

B b

Wiebke Petersen Einführung CL (SoSe 2010) 8

(15)

Linksableitung

Gegeben eine kontextfreie Grammatik G. Eine Ableitung bei der stets das am weitesten links stehende nichtterminale Symbol ersetzt wird, heiÿtLinksableitung

S →NP VP →D N VP →the N VP

→the cat VP →the cat V NP →the cat chases NP

→the cat chases EN → the cat chases peter S

NP

D the

N cat

VP

V chases

NP EN peter

Zu jeder Linksableitung gibt es genau einen Ableitungsbaum und zu jedem Ableitungsbaum gibt es genau eine Linksableitung.

(16)

Linksableitung

Gegeben eine kontextfreie Grammatik G. Eine Ableitung bei der stets das am weitesten links stehende nichtterminale Symbol ersetzt wird, heiÿtLinksableitung

S →NP VP →D N VP →the N VP

→the cat VP →the cat V NP →the cat chases NP

→the cat chases EN → the cat chases peter S

NP

D the

N cat

VP

V chases

NP EN

(17)

ambige Grammatik

Eine Grammatik G heiÿtambig, wenn es für ein Wort w ∈L(G)mehr als eine Linksableitung gibt.

G= (N,T,NP,P)mit N={S,EN,NP,VP,PP,D,N,P}, T={Eva,sieht,den,Mann,mit,dem,Fernglas},

P=

S EN VP VP V NP VP V NP PP NP D N NP D N PP PP P NP

EN Eva P mit V sieht

D den D dem N Mann

N Fernglas

Beispiel einer ambigen Grammatik

G= (N, T,NP, P)mitN={S,EN,NP,VP,PP,D,N,P}, T={Eva,sieht,den,Mann,mit,dem,Fernglas},

P=

S EN VP VP V NP VP V NP PP

NP D N NP D N PP PP P NP

EN Eva P mit V sieht

D den D dem N Mann

N Fernglas

SXXXX

XXX

EN

Eva

VP`````

, ````

V ,

sieht NPZZZ

D den

N Mann

PPHH

HH

P

mit NPb

"bb

"

"

D dem

N Fernglas

SPPP

PP

EN Eva

VPPPP

PPP

V

sieht

NPXXXX

XXX

D

den N Mann

PPHH

HH

P

mit NPb

" bb

"

"

D dem

N Fernglas

Wiebke Petersen – Formale Komplexit¨at nat¨urlicher Sprachen – WS 03/04 7

(18)

ambige Grammatik

Eine Grammatik G heiÿtambig, wenn es für ein Wort w ∈L(G)mehr als eine Linksableitung gibt.

G= (N,T,NP,P)mit N={S,EN,NP,VP,PP,D,N,P}, T={Eva,sieht,den,Mann,mit,dem,Fernglas},

P=

S EN VP VP V NP VP V NP PP NP D N NP D N PP PP P NP

EN Eva P mit V sieht

D den D dem N Mann

N Fernglas

Beispiel einer ambigen Grammatik

G= (N, T,NP, P)mitN={S,EN,NP,VP,PP,D,N,P}, T={Eva,sieht,den,Mann,mit,dem,Fernglas},

P=

S EN VP VP V NP VP V NP PP

NP D N NP D N PP PP P NP

EN Eva P mit V sieht

D den D dem N Mann

N Fernglas

SXXXX

XXX

EN

Eva

VP`````

, ````

V ,

sieht NPZZZ

D den

N Mann

PPHH

HH

P

mit NPb

"bb

"

"

D dem

N Fernglas

SPPP

PP

EN Eva

VPPPP

PPP

V

sieht

NPXXXX

XXX

D

den N Mann

PPHH

HH

P

mit NPb

"bb

"

"

D N

(19)

Hausaufgaben (Abgabe 1.7.2010)

1 Sei L die Sprache, die aus allen nichtleeren Wörtern über dem Alphabet {a,b}besteht, in denen auf jedes a unmittelbar ein b folgt. Beispiele für Wörter dieser Sprache: bbbab, abababab, bb, babbbbab.

geben Sie eine rechtslineare Grammatik G an, die L erzeugt und zeichnen Sie den Ableitungsbaum für das Wort bbababb

geben Sie einen endlichen Automaten A an, der L akzteptiert.

geben Sie einen regulären Ausdruck R an, der L beschreibt.

2 Geben sie jeweils eine kontextfreie Grammatik zu den folgenden Sprachen an:

1 L1={aibj|i <j}

2 L2={w ∈ {a,b}|w ist ein Palindrom}

Wählen Sie pro Sprache ein Wort, das mindestens die Länge 5 hat, und zeichnen Sie den Ableitungsbaum in Bezug auf Ihre Grammatik.

Referenzen

ÄHNLICHE DOKUMENTE

Assume true for computations of length ≤ k, we’ll prove true for computations of length k+1 Suppose that P has a computation where x. brings p to q with empty stacks in k+1 steps

❙ Nicht besser, da Nichtdeterminismus durch Suche in einem Algorithmus ausgedrückt werden muß?. ❙ Besser

Eine Ableitung in einer kontextfreien Grammatik heißt Linksableitung, wenn in jedem Schritt das am weitesten links stehende Nichtterminalsymbol ersetzt wird.. Jedem Syntaxbaum zu

Die Menge der kontextfreien Sprachen ist unter den Operationen (i) Vereinigung,.. (ii) Produkt (Konkatenation) und

Die Menge der deterministisch kontextfreien Sprachen ist eine echte Teilmenge der Menge der

Man kann auch noch auf eine andere Weise pr¨ ufen, ob Klammerausdr¨ ucke korrekt sind: durch Abz¨ ahlen der ¨ offnenden und schließenden Klammern. F¨ ur jede ¨ offnende

Konstruieren Sie einen zu A äquivalenten PDA B, der durch akzeptierende Zustände akzeptiertc. Konstruieren Sie einen zu C äquivalenten PDA, der durch leeren

• Gegeben einen String von Wörtern, wie findet man die Wortarten der einzelnen Wörter heraus?...