Underspecified Representations

Scope Ambiguities

Beispiele:

  • Jeder Mann liebt einen Hund. (2 Lesarten)
  • Jeder Hund jagt eine Katze in jedem Zimmer.

Aufgaben:

  • Gib für die Beispiele jeweils alle Lesarten an.
  • Wählen sie für jede Lesart des zweiten Satzes ein Modell mit 2 Katzen, zwei Hunden und 2 Zimmern, so dass die Aussage in dem Modell erfüllt ist.

Terminology:

  • has scope over / out-scopes
  • narrow scope / wide scope
  • Warum bekommen wir mit unserem bisherigen Vorgehen immer nur eine Lesart?
  • Bekommmen wir die enge oder die weite Skopuslesart?

Every owner of a hash bar gives every criminal a big kahuna burger.

18 Lesarten:

Einige Lesarten sind äquivalent, andere implizieren einander. Die Lesarten zerfallen in zwei logisch unabhängige Gruppen:

Montague’s Approach

Vorgehen (Montagues Trick):

  • Beispiel: Every boxer loves a woman
  • an die Stelle der Quantorenphrase a woman tritt zunächst das indizierte Pronomen her-3 mit einer entsprechend indizierten Variable z3 als Platzhalter.
  • Dieses wird im Syntaxbaum nach oben durchgereicht.
  • Abschließend wird es durch die Quantorenphrase ersetzt, indem die indizierte Variable Lambda-abstrahiert wird.

Storage Methods

Cooper Storage

  • Nur quantifizierte NP’s können den Store verändern.
  • Trifft man auf eine quantifizierte NP hat man die Wahl

    1. der Store bleibt unverändert und die Semantik der NP wird direkt in die Repräsentation eingebaut
    2. es wird ein Platzhalter gesetzt und die Semantik der NP für die spätere Verarbeitung im Store gespeichert.
  • Der Ausdruck \(\lambda P @ z_i\) entspricht der Semantik der indizierten Pronomen von Montague.
  • a woman kann also auf zwei Arten gespeichert werden

    1. \(\langle \lambda P. \exists y (\text{woman}(y) \wedge P @ y) \rangle\)
    2. \(\langle \lambda Q. Q @ z_7, (\lambda P. \exists y (\text{woman}(y) \wedge P @ y),7) \rangle\)

Um den Store wieder aufzulösen, müssen die gespeicherten quantifizierten NP’s eingesetzt werden: Retrieval

Warum bekommen wir mit dieser Methode alle Lesarten?

Implementing Cooper Storage

Repräsentationen:

% representing binding operators:
bo(QUant,Ind)

% representing stores example
[walk(X),bo(lam(P,all(Y,imp(boxer(Y),app(P,X)))),X)]

Neue semantische Makros: semLexStorage.pl

% noun macro in semLexStorage.pl: 
semLex(noun,M):-
   M = [symbol:Sym,
        sem:[lam(X,Formula)]],
   compose(Formula,Sym,[X]).

% noun macro in semLexLambda.pl: 
semLex(noun,M):-
   M = [symbol:Sym,
        sem:lam(X,Formula)],
   compose(Formula,Sym,[X]).

Neue semantische Regeln: semRulesCooper.pl

% semantische Regel für VP -> V NP  in semRulesCooper.pl
combine(vp:[app(A,B)|S],[tv:[A],np:[B|S]]).

% semantische Regel für VP -> V NP  in semRulesLambda.pl
combine(vp:app(A,B),[tv:A,np:B]).

%%%%%%%%%%%%%%%

% semantische Regel für NP -> D N  in semRulesCooper.pl
% Warum gibt es zwei Regeln?
combine(np:[lam(P,app(P,X)),bo(app(A,B),X)|S],[det:[A],n:[B|S]]).
combine(np:[app(A,B)|S],[det:[A],n:[B|S]]).


% semantische Regel für NP -> D N  in semRulesLambda.pl
combine(np:app(A,B),[det:A,n:B]).

%%%%%%%%%%%%%%%

% semantische Regel für S -> NP VP  in semRulesCooper.pl
combine(s:S,[np:[A|S1],vp:[B|S2]]):-
   appendLists(S1,S2,S3),
   sRetrieval([app(A,B)|S3],Retrieved),
   betaConvert(Retrieved,S).

% semantische Regel für S -> NP VP  in semRulesLambda.pl
combine(s:app(A,B),[np:A,vp:B]).

cooperStorage.pl übernimmt die Rolle von lambda.pl und stellt die Prädikate sRetrieval/2 und filterAlphabeticVariants/2 zur Verfügung.

sRetrieval/2 übernimmt die Auflösung des Stores:

sRetrieval([S],S).

sRetrieval([Sem|Store],S):-
   selectFromList(bo(Q,X),Store,NewStore),
   sRetrieval([app(Q,lam(X,Sem))|NewStore],S).

filterAlphabeticVariants/2 löscht alphabetische Varianten aus einer Liste von Formeln.

filterAlphabeticVariants(L1,L2):-
   selectFromList(X,L1,L3),
   memberList(Y,L3),
   alphabeticVariants(X,Y), !,
   filterAlphabeticVariants(L3,L2).

filterAlphabeticVariants(L,L).

Das zentrale Prädikat ist cooperStorage/2:

cooperStorage(Sentence,Sems2):-
   setof(Sem,t([sem:Sem],Sentence,[]),Sems1),
   filterAlphabeticVariants(Sems1,Sems2).

Aufgaben:

  • Laden sie cooperStorage.pl und testen sie ein paar Sätze.
  • Wie viele Ergebnisse erhalten sie für ‘every boxer loves a person’?
  • Kommentieren sie in cooperStorage/0 die Verwendung von ´filterAlphabeticVariants/2´ aus und schreiben sie statt dessen Sems1=Sems2. Wie viele Ergebnisse erhalten sie für ‘every boxer loves a person.’? Warum?
  • Testen sie auch Negation ‘every boxer does not love a person.’
  • Welche Lesarten erhalten sie für ‘mia knows every owner of a hash bar.’?

Keller Storage

Wir haben gesehen, dass wir manchmal zuviele Analysen mit dem Cooper Storage erhalten.

?- cooperStorage.

> mia knows every owner of a hash bar.

1 all A ((some B (hashbar(B) & of(A,B)) & owner(A)) > know(mia,A))
2 all A ((of(A,B) & owner(A)) > some C (hashbar(C) & know(mia,A)))
3 some A (hashbar(A) & all B ((of(B,A) & owner(B)) > know(mia,B)))
true.

Das Problem ist, dass wir es mit verschachtelten NP’s zu tun haben: ‘a hash bar’ ist eine sub-NP von ‘every owner of a hash bar’.

Cooper Storage ignoriert verschachtelte NP’s.

Aufgabe: Testen sie ein paar Sätze.

Hole Semantics

?- kellerStorage.

> A criminal knows every owner of a hash bar.

1 all A ((some B (hashbar(B) & of(A,B)) & owner(A)) > some C (criminal(C) & know(C,A)))
2 some A (criminal(A) & all B ((some C (hashbar(C) & of(B,C)) & owner(B)) > know(A,B)))
3 some A (hashbar(A) & some B (criminal(B) & all C ((of(C,A) & owner(C)) > know(B,C))))
4 some A (criminal(A) & some B (hashbar(B) & all C ((of(C,B) & owner(C)) > know(A,C))))
5 some A (hashbar(A) & all B ((of(B,A) & owner(B)) > some C (criminal(C) & know(C,B))))
true.