Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Künstliche Intelligenz 1 & 2 » Allgemein   (Übersicht)

Inhaltsverzeichnis

Allgemein

Die Prüfungsstimmung ist sehr entspannt. Im Vornherein wurde mir erst einmal erläutert wie die Prüfung abläuft:

  • Dialog (20 - 30min): Prof. Kohlhase betont, dass die Prüfung ein Dialog sein soll, man auch mal eine Frage stellen dürfe und Selbstiniative ergreife könne zu Themen, die man beherrscht. Die Prüfung dauert so lange (jedoch im 20-30min Rahmen), bis er einen und seine Note abschätzen kann. Man soll auch während der Prüfung etwas aufschreiben/aufmalen - Papier und Stifte liegen schon bereit. Die Prüfung dauert 20-30 Minuten.
  • Notengebung: Prof. Kohlhase und der Beisitzer machen dann die Note unter sich aus, während man außerhalb des Büros wartet.
  • Notenbesprechung: Wann wird erneut hineingebeten und es wird die Notengebung und -begründung besprochen.

Fragen

Q: „Wir haben uns die Methode der Fragmente Richard Montague angesehen. Was genau ist das?“

A: Es gibt statistische Verfahren zur Sprachverarbeitung. Deren Abdeckung ist „wide“, aber deren Verständnis „shallow“. Denen gegenüber stehen logik-basierte Verfahren mit einer „narrow“ Abdeckung, dafür aber „deep“ Verständnis. (Vgl. die Folie „What is the State of the Art In NLU?“ im Einführungsteil.) Die logik-basierten Verfahren parsen wirklich den Text und wenden dann Methoden der Logik an. ⇒ Man benötigt Grammatiken für die Sprache. Da sowieso nicht mal klar ist, was grammatikalisch ist und was nicht (Sprache wandelt sich), versuchte Montague iterativ mit Fragmenten (= Teile des Englischen gegeben durch EBNF-Grammatiken) die englische Sprache abzudecken. Bei jeder Iteration neue noch nicht abgedeckte Sätze gefunden und Fragment sowie Logik erweitert.

<Ich male die Semantik-Pipeline der Folie Syntactic and Semantic Grammars mit den drei Dreiecken>

Linkes Dreieck:

- Wir gehen davon aus, dass die NL Utterance als String vorliegt. Selbst hier gibt es Ambiguitäten, wenn man sie z. B. aus Audiodaten gewinnt. ⇒ Satzgrenzen, Wortgrenzen, Homophone, im Endeffekt kommen am Ende Wahrscheinlichkeiten für bestimmte Satzkombinationen heraus und man entscheidet sich für die wahrscheinlichste.

  • Parsen mit syntaktischer GF Grammatik

Rechtes Dreieck:

- Logische Form, Inferenz, Tableaux, z. B. FOL oder Modallogik

Wie nun vom linken zum rechten Dreieck? Kompositional schwer! Deswegen mittleres Dreieck:

  • Quasilogische Form (QLF), z. B. FOL mit Lambda-Kalkül
  • <Ich schreibe den Satz „Every dog is clever.“ hin.>
  • Determiner in der echten Sprache ist tief unten, in FOL aber ganz oben (∀x. dog(x) → clever(x)).>
  • Deswegen quasilogische Form, durch β-Reduktion kann clever(x) „reingezogen“ werden.

Q: „Könntest du den AST zu deinem Satz angeben?“

A: <Ich male den (syntaktischen/linguistischen) AST zu „Every dog is clever.“ mit S, NP, Det, N^{pr} und Adj als Nodetypen.>

Q: „Wie sähe der quasilogische Ausdruck für „every“ aus?“

Ich tippe zuerst auf „λP. (∀x. P x)“, wobei P ein Prädikat ist. Prof. Kohlhase hakt aber ein und fragt mich, wie ich denn dann „dog“ und „clever“ hineinbekomme, denn „every“ wird im AST kompositional zuerst auf „dog“ und weiter oben auf „clever“ angewandt.

Dann kam ich auf die richtige Lösung mit „λP Q. (∀x. (P x) → (Q x))“.

Q: „Du hast ja bereits Ambiguität angesprochen. Wo treten denn sonst noch Ambiguitäten auf?“

Siehe Folie „The computational Role of Ambiguities“.

Q: „Zu den Fragmenten hast du jetzt zu Genüge erzählt. Gehen wir zu den Topics in Semantics über. Da gibt es die Diskursrepräsentationstheorie (DRT). Kannst du dazu etwas sagen?“

A: Bisher haben wir nur einzelne Sätze betrachtet. Jetzt wollen wir Diskurse betrachten. Dadurch, dass wir aber jeden Satz einzeln in eine logische Form übersetzen, bekommen wir Probleme wie z. B.:

Peter has a car. It is parked outside. ↦ (∃x. car(x) ∧ own(peter, x)) ∧ parked(x??)

Durch unsere (naive) kompositionale Übersetzung bekommen wir obige logische Form. Im letzten x können wir uns nicht mehr auf den Diskursreferenten im ersten Teil beziehen. Dies ist eine Einschränkung von FOL. Kompositional die eigentlich gewollte logische Form zu erzeugen ist schwierig. Benutze DRT als QLF, denn DRT lockert die Sichtweise auf den Scope von Variablen etwas auf. Wir können die immer in Predicate Logic/FOL (aber teuer) übersetzen und dann Inferenz betreiben oder aber die Semantik auf DRT selbst erklären, was aber nicht ganz so einfach ist.

Q: „Genau, danach werde ich dich nicht fragen :)„

A (<ich fuhr fort>): <Ich male die File Cards/Boxen von DRT für den obigen Beispielsatz auf, zeige den Mergeoperator. Ich zeige wie die logische Form in FOL aussieht: ∃x, y. car(x) ∧ own(peter, x) ∧ parked(y).

(Anm.: Die Box für „It is parked outside.“ hat auch einen „freien“ Diskursreferenten. Dieser ist in den Folien leider nicht gezeigt, das ist ein Fehler, wird aber korrigiert.)

Q: „Wie sähe es mit 'Peter has no car. It is parked outside.' aus?“

A: <Ich male den DRT-Negationsoperator einfach in obige Zeichnung rein. Ich zeige, dass nun der Merge die ursprünglichen zwei DRSen nicht ganz 'tief' merged, sondern am Ende [Negations-DRS ∧ [parked outside-DRS]] übrig bleibt. Ich zeige wie die logische Form in FOL dazu aussieht: (∃x. car(x) ∧ own(peter, x)) ∧ (∃y. parked(y)).>

Q: „So wie jede Theorie, hat DRT möglicherweise auch Dinge, die es nicht abbilden kann. Kannst du hierzu ein Beispiel nennen?“

A: Doppelnegationen, andere „referenzielle Effekte“ (meine Formulierung) der Folie „Discourse Relations (Examples)“. Ich nenne Elaboration und Exemplification mit Beispielen (die von den Folien).

Q: „In der Tat kann man {Elaboration oder Exemplification, habe ich leider vergessen} sehr gut mit DRT abbilden. Das haben wir jedoch nur nicht behandelt. <Führt etwas aus, wie man das macht>„

A: <Ich ergreife Selbstiniative:> Lustig finde ich auch die Higher-Order-Unification und wie es sowas löst wie „John loves his wife. Peter does too“. ⇒ Modellierung als Higher Order Gleichung: „Q john ≟ love(john, wife_of(john))“. Diese führt auf 4 Lösungen, davon kann man zwei verwerfen, indem man diese danach filtert, ob die Primary Occurrence ≠ john ist, denn wir wollen ja gerade eine Eigenschaft haben, die auch George hat. Ich nenne die einzigen zwei verbleibenden und sinnvollen Lösungen:

  • λx. love(x, wife_of(x))
  • λx. love(x, wife_of(john))

Q: „Gut, ich denke, ich kann dich mit den bisherigen Antworten sehr gut einschätzen; auch ohne, dass wir dich herausbitten müssen. Ich würde dir eine 1.0 geben.“

Bewertung

1,0 :)

Allgemein sei noch angemerkt, dass die Notengebung in diesem Semester (WS 17/18) zu 50% aus [Anwesenheits („Attendance“) + abgegebene Hausaufgaben] und zu 50% der eigentlichen Prüfung bestand. Ich besuchte > 90% der Zeit die VL und das Lab (aka. „sehr interaktive Übung“, auch mit Prof. Kohlhase) anwesend und habe zwei GF Grammatiken sowie eine Tableaux Maschine mit FOL Inferenz mit mehreren hundert Zeilen Code abgegeben. Inwieweit die 50% der [Attendance + Hausaufgaben] in meine Note einflossen, wurde jedoch nicht gesagt und ich habe auch nicht gefragt.

Vorbereitung

Ich besuchte > 90% der Zeit die VL und das Lab. In der VL habe ich wie eigentlich alle Teilnehmer mit (auch weiterführenden) Fragen beteiligt. Im interaktiven Lab habe ich auch des Öfteren eine Antwort abgegeben :)

Die relevantesten Teile des Vorlesungskript (notes-WS1718.pdf) habe ich in zwei Tagen nochmals durchgearbeitet. Fairerweise muss man aber dazu sagen, dass ich von GLoIn und ThProg Aussagenlogik, FOL und Kompositionalität (aka. Folds auf induktiven Datentypen) sicher draufhatte. Die Excursions habe ich nicht nochmal gelesen (waren auch nicht prüfungsrelevant), die genauen Details z. B. der Semantik und dem Kalkül von DRT auch nicht. Darauf kommt es m. E. in der Prüfung auch nicht wirklich an.

Alle Angaben ohne Gewähr.