Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf [email protected].

22
Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf [email protected]

Transcript of Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf [email protected].

Page 1: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

Maschinelle Übersetzung I

Prolog Grundkurs WS 99/00

Christof Rumpf

[email protected]

Page 2: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

2

Übersetzung von Sprachen

Formale Sprachen Compilerbau

• Prolog C

• C Assembler

Natürliche Sprachen Maschinelle Übersetzung (MachineTranslation)

• Deutsch Japanisch

• Deutsch Englisch

Niveaudifferenz!

Niveaudifferenz???

(Japanisch Englisch)?

Page 3: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

3

DeutschEnglisch direkt

„Paul klaut Bananen“

soll via DCG übersetzt werden in/zurück

„Paul steals bananas“

Page 4: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

4

DCG1 DeutschEnglisch

%Syntax s( A,C) --> np(A,B), vp(B,C). vp(A,C) --> v(A,B), np(B,C). % Lexicon v( [steals |T],T) --> [klaut]. np([paul |T],T) --> [paul]. np([bananas|T],T) --> [bananen].

Page 5: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

5

DCG1: Paare von Differenzlisten

%Syntax s( A1,C1,A2,C2):- np(A1,B1,A2,B2), vp(B1,C1,B2,C2). vp(A1,C1,A2,C2):- v(A1,B1,A2,B2), np(B1,C1,B2,C2).

% Lexicon v( [steals |T1],T1, [klaut |T2],T2). np([paul |T1],T1, [paul |T2],T2). np([bananas|T1],T1, [bananen|T2],T2).

Page 6: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

6

Anfragen an DCG1

?- s([paul,steals,bananas],[],S,[]). S = [paul,klaut,bananen], yes

?- s(S,[],[paul,klaut,bananen],[]). S = [paul,steals,bananas], yes

?- s(E,[],D,[]). D = [paul,steals,paul] E = [paul,klaut,paul] ->; ...

4 Lösungen

Page 7: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

7

Bewertung von DCG1

DCG1 funktioniert für das gegebene Grammatik-fragment wunderbar.

Allerdings ist dies ein reiner Zufall, da die Syntax der beiden Sprachen im Fragment übereinstimmt.

Sobald eine solche Übereinstimmung der syntaktischen Struktur nicht gegeben ist, ist das Übersetzungsmodell nicht mehr verwendbar.

Page 8: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

8

SubjektVerbObjekt vs. SubjektObjektVerb S

NP VP

paul V NP

klaut bananen

S

NP VP

paulga NP V

bananao nusumu

Deutsch Japanisch

Page 9: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

9

Nebensatz Deutsch/Englisch

S‘

Rel NP VP

daß Paul NP V

Bananen klaut

S‘

Rel NP VP

that Paul V NP

steals bananas

SOV SVO

Page 10: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

10

DCG2 DeutschJapanisch

%Syntax s( A,C) --> np(A,B), vp(B,C). vp(A,C) --> v(B,C), np(A,B). % Lexicon v( [nusumu |T],T) --> [klaut]. np([paulga |T],T) --> [paul]. np([bananao|T],T) --> [bananen].

Page 11: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

11

Bewertung von DCG2

Das Vertauschen der ‚japanischen‘ Differenzlisten von V und NP in der VP-Expansion führt offensichtlich zur korrekten Korrespondez der Sätze Paul klaut Bananen Paulga bananao nusumu

Unschönerweise wird das japanische Verb innerhalb der deutschen NP verarbeitet und die japanische NP innerhalb des deutschen Verbs. Darüberhinaus wachsen die Probleme mit komplexeren Differenzen in der syntaktischen Struktur.

Page 12: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

12

Resümee direkte Übersetzung

Nicht nur aufgrund syntaktischer Differenzen scheint die direkte Übersetzung zwischen natürlichen Sprachen inadequat.

Auch auf lexikalischer Ebene ergeben sich Probleme aufgrund unterschiedlicher Wort-bedeutungen, oder weil es in der Zielsprache kein entsprechendes Wort gibt, so daß eine Paraphrasierung notwendig wird.

Page 13: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

13

Interlingua

Das ideale Modell zur Übersetzung natürlicher Sprachen verwendet eine Interlingua, die alle Differenzen zwischen Einzelsprachen überbrückt und gleichzeitig die Fähigkeit besitzt, beliebige expressive Nuancen jeder Einzelsprache zu modellieren.

NLi Interlingua NLj

Page 14: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

14

PL1 als Interlingua

Es scheint plausibel, als Interlingua eine Sprache zu wählen, die die Bedeutung eines natürlichsprachlichen Ausdrucks repräsentiert.

Die Prädikatenlogik 1. Stufe kann in einem gewissen Umfang die Bedeutung natürlichsprachlicher Ausdrücke widerspiegeln*.

*Statt PL1 üblich: Typenlogik mit -Abstraktion.

Page 15: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

15

Every man loves a woman.

Der englische Satz Every man loves a woman.

soll als PL1-Ausdruck repräsentiert werden:

x man(x) y (woman(y) loves(x,y)) Skopusambiguität: die Lesart

y x man(x) (woman(y) loves(x,y)) soll hier nicht weiter berücksichtigt werden.

Page 16: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

16

Notation für PL1 in Prolog

Wenn wir PL1-Ausdrücke in Prolog repräsentieren wollen, brauchen wir eine Notation dafür.

x man(x) y (woman(y) loves(x,y))

all(X,man(X) -> exists(Y,woman(Y) + loves(X,Y)))

Page 17: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

17

Baumtransformation

S

NP VP

Det N V NP

every man loves Det N

a woman

all

X ->

man exists

X Y +

woman loves

Y X Y

Page 18: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

18

Typologie der Quantoren

Allaussagen: all(X, P -> Q) Existenzaussagen: exists(X, P + Q)

Every man loves a woman. x man(x) y (woman(y) loves(x,y)) all(X,man(X) -> exists(Y,woman(Y) + loves(X,Y)))

A man loves every woman. x man(x) y (woman(y) loves(x,y)) exists(X,man(X) + all(Y,woman(Y) -> loves(X,Y)))

Page 19: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

19

Baumtransformation konkret

S

NP VP

Det N V NP

every man loves Det N all(X,N->VP) man(X) loves(X,Y) a woman exists(Y,N+V) woman(Y)

Page 20: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

20

Baumtransformation konkreter

S

NP VP

Det N V NP

every man loves Det N all(X,N->VP) man(X) loves(X,Y) a woman exists(Y,N+V) woman(Y)

Page 21: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

21

Ein Prolog-Fragment

s(P) --> np(X,Q,P), vp(X,Q). vp(X,P) --> tv(X,Y,Q), np(Y,Q,P). np(X,Q,P)--> det(X,R,Q,P), n(X,R).

tv(X,Y,loves(X,Y)) --> [loves]. det(X,R,Q,all(X,R->Q)) --> [every]. det(X,R,Q,exists(X,Q+R))--> [a]. n(X,man(X)) --> [man]. n(X,woman(X)) --> [woman].

Page 22: Maschinelle Übersetzung I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de.

18.01.00 GK Prolog - Maschinelle Übersetzung I

22

Überblick

s(S)

np(Subj,VP,S) vp(Subj,VP)

det(Subj,NSubj,VP,S) n(Subj,NSubj) tv(Subj,Obj,V) np(Obj,V,VP)

det(X,R,Q,exists(Q+R)) n(X,man(X)) tv(X,Y,loves(X,Y)) det(X,R,Q,all(R->Q)) n(X,woman(X)) det(Obj,NObj,V,VP) n(Obj,NObj)

det(X,R,Q,exists(Q+R)) n(X,man(X)) det(X,R,Q,all(R->Q)) n(X,woman(X))