Kreuzworträtsel
Transcription
Kreuzworträtsel
Kreuzworträtsel Vortrag von: Siamak Tazari Email: [email protected] Inhaltsübersicht • Einleitung • Aufgabenstellung o Das Probabilistische Model • Die Architektur von PROVERB o Kandidatengenerierung o Ausfüllen des Gitters • Ergebnisse/Fazit Einleitung • Kreuzworträtsel Probleme: Erstellung vs. Lösung • Erstellung von Kreuzworträtsel: o Wurde seit Mitte der 70er behandelt o Mitte der 80er gab es schon gute Lösungen o Gutes Beispiel für constraint-satisfaction-problem und diverse Suchstrategien o Viele Veröffentlichungen unter: http://thinks.com/faq/crosswords/q10.htm • Lösen von Kreuzworträtsel: o Wurde nicht sehr behandelt: Es ist schwierig Antworten auf Fragen in natürlicher Sprache zu finden o Crossword Maestro: Ein Programm für kryptische „british-style“ Rätsel o PROVERB: Erstes erfolgreiches Programm für „american-style“ Rätsel • In diesem Vortrag geht es um die genaue Funktionsweise von PROVERB Die Aufgabenstellung NYT, Sat., Oct. 10th, 1998 • Erkennbare Teilaufgaben: o Zu jeder Frage muss eine Kandidatenliste für mögliche Antworten erzeugt werden o Aus den Kandidatenlisten muss eine Lösung herausgesucht werden, wobei die Einschränkungen des Gitters berücksichtigt werden müssen • Problem: o Vieldeutigkeit der Sprache ergibt große Kandidatenlisten o => Es kann mehrere Lösungen zum Rätsel geben o Ein Probabilistisches Model wird aufgebaut, wodurch die „beste“ Lösung genau defini ert wird Das Probabilistische Model • Die Vorgehensweise o Auf den Kandidatenlisten wird eine Wahrscheinlichkeit verteilt o In jeder Kandidatenliste sind die Wahrscheinlichkeiten positiv und deren Summe ist gleich 1. • Maximum Probability Solution o Lösung mit höchsten Wahrscheinlichkeit o Das Produkt der Wahrscheinlichkeiten der ausgewählten Antworten muss maximiert werden o Spiel gegen die Natur Version 1: Ein Euro für jede komplett richtige Lösung • Maximum Expected Overlap Solution o Lösung mit höchster erwarteter Überschneidung mit der Lösung des Rätselerschaffers o i.e. höchste erwartete Anzahl von korrekten Antworten o Spiel gegen die Natur Version 2: Ein Euro für jedes richtige Wort • Beide Ziele sind Optimierungsprobleme werden später behandelt Ö Die Architektur von PROVERB • Coordinator liest und verteilt die Eingabe • 30 Experte Modules generieren Antwortkandidaten und vergeben Wahrscheinlichkeiten • Merger erzeugt aus den Ergebnissen der Experten Module eine Kandidatenliste mit Wahrscheinlichkeiten (zu jeder Frage) • Solver erzeugt aus den Kandidatenlisten und dem Gitter eine Lösung o Benutzt dabei die Implicit Distribution Modules Kandidatengenerierung • Fragenkategorien o Syntaktisch-lösbare Fragen: fill-in-the-blanks, X somewhere, ... o Nicht-syntaktische expert Kategorien: Synonyme, kind-of, Filme, Geography, Music, Literatur,... o Fragen mit Antworten durch Information-Retrieval Techniken o Die diversen Kategorien führen zu 30 Expertenmodulen • Funktion eines Moduls o Jedes Modul versucht Antworten zu finden und ihnen Wahrscheinlichkeiten zuzuteilen o Jedes Modul gibt auch eine confidence-number zurück: Wie sicher es ist die Antwort gefunden zu haben o Die Wahrscheinlichkeiten sind oft Approximationen o Der Merger versucht die Fehler zu verbessern Mehr dazu später • CWDB: The Crossword Database o Enthält 350.000 Frage-Antwort Paare o Man erwartet in einem neuen Rätsel: 91% der Antworten, 50% der Fragen, 34% der Frage-Antwort Paare schon gesehen zu haben o PROVERB’s durchschnittlich korrekte Antworten: Komplett: 94,8% Ohne CWDB: 27,1% Nur CWDB: 87,6% Veränderung durch löschen nur einen Moduls: max. 1% • Die Expertenmodule o Wortlisten Module: WordList WordList-Big WordList-CWDB o CWDB-spezifische Module: Exact Match Transformations o Information Retrieval Module: Encyclopedia Partial Match LSI-Ency, LSI-CWDB Dijkstra Modules o Datenbank Module: Movie: www.imdb.com Music, Literary, Geography Synonyms o Syntaktische Module Fill-in-the-blanks KindOf • Implicit Distribution Modules o Nicht alle Antworten können von den Expertensystemen gefunden werden o Generieren mögliche Buchstabensequenzen, nachdem sich Wahrscheinlichkeiten für Buchstaben im Gitter ergeben haben und fügen sie zu den Kandidatenlisten hinzu o Das wichtigste Modul: Bigram o Andere Module: Tetragram, Segmenter • Der Merger o Fügt die Ergebnisse der Experten Module zusammen o Erzeugt dadurch für jede Frage eine Kandidatenliste mit Wahrscheinlichkeitsverteilung o Benutzt für jedes Modul bestimmte Parameter um die Wahrscheinlichkeiten auszugleichen o Die Parameter werden durch Hill-Climbing gesetzt Ausfüllen des Gitters • A priori Wahrscheinlichkeiten o pxi (v) ist die Wahrscheinlichkeit, dass die Antwort zu xi der Kandidat v ist o Ist in der Eingabe des Solvers bekannt o Wird durch die Experten Module(bzw. Merger) gesetzt • A posteriori Wahrscheinlichkeiten o qxi (v) ist die Wahrscheinlichkeit, dass in einer legalen Lösung des Rätsels, die Antwort zu xi der Kandidat v ist o Ist schwer zu berechnen => Es wird approximiert o Approximation durch iterative Anwendung eines dynamicprogramming Verfahrens(ähnlich belief-propagation) • Die Lösungen o Das Problem ist nun eine probabilistische constraint-satisfaction problem(CSP) o Für maximum probability solution muss das Produkt der a priori Wahrscheinlichkeiten der ausgewählten Antworten maximiert werden o Für maximum expected overlap solution muss die Summe der a posteriori Wahrscheinlichkeiten der ausgewählten Wörter maximiert werden o Beide sind NP-Vollständig, ein A*-Algorithmus wird benutzt o Wenn A* zu viel Speicher braucht, wird eine Heuristik verwendet A P: 0.350 Q: 2.367 Q∞: 2.214 v AS IN IS B 0.250 2.833 2.793 slot 1A p Q .5 .250 .3 .617 .2 .133 slot 3A v p Q FUN .7 .350 TAD .3 .650 v GO TO slot 5A p Q .7 .650 .3 .350 P(C) = = = (∞) Q .190 .645 .165 (∞) Q .314 .686 (∞) Q .686 .314 C 0.267 3.233 3.529 D 0.133 2.866 3.074 slot 1D v p IT .4 IF .3 AT .3 q .400 .350 .250 q(∞) .496 .314 .190 slot 2D v p NAG .4 SAG .3 NUT .3 q .267 .383 .350 q(∞) .331 .355 .314 slot 4D p q .7 .350 .3 .650 q(∞) .314 .686 v NO DO p1A(IN)*p3A(TAD)*p5A(GO)*P1D(IT) *p2D(NAG)*P4D(DO)/Pr(match) 0.3*0.3*0.7*0.4*0.4*0.3/Pr(match) 0.00302/0.01134 = 0.26667 q2D(SAG) = Q(D) = q1A(IS) + q3A(TAD) + q5A(GO) + q1D(IT) + q2D(SAG) + q4D(DO) 0.133 + 0.650 + 0.650 + 0.400 + 0.383 + 0.650 = 2.687 = Pr(B) + Pr(D) = 0.250 + 0.133 = 0.383 Ergebnisse • Daily Puzzles o 70 Rätsel wurden zum Trainieren benutzt o Auf weitere 370 Rätsel wurde getestet o PROVERB brauchte etwa 15 min per Rätsel: 7 min Kandidatengenerierung 8 min Gitterfüllung o Durchschnittliche Leistung: 95,3% korrekte Wörter, 98,1% korrekte Buchstaben, 46,2% komplett korrekte Rätsel. • Tournament Puzzles o In 1998 American Crossword Puzzle Tournament(ACPT): Wurde „theoretisch“ 190er zwischen 251 Teilnehmern Hatte im Durchschnitt 80% der Worte korrekt Der Champion hatte alles korrekt in unter 7 min/puzzle o In 1999 ACPT: Wurde 147er zwischen 254 Teilnehmern Hatte etwa 75% der Worte korrekt o Tournament-Rätsel haben „Tricks“ die PROVERB nicht kennt! • Fazit o Kreuzworträtsel bieten eine anspruchsvolle Problemebene für die Künstliche Intelligenz o In PROVERB wurden Ideen von state-space search, probabilistic optimization, constraint satisfaction, information retrieval, machine learning und natural language processing angewendet o Wahrscheinlichkeitstheorie war sehr wichtig in der Praxis o PROVERB brauchte aber große Ressourcen! o Forschung in reasoning Algorithmen, lernen von einem Text und, generell, natural language technology können weiterführend sein o Kreuzworträtsel sind eine exzellente Testumgebung für diese Art von Forschung Verwendete Literatur o G.A. Keim, N. Shazeer, M.L. Littman, S. Agarwal, C.M. Cheves, J. Fitzgerald, J. Grosland, F. Jiang, S. Pollard, K. Weinmeister, Proverb: The probabilistic cruciverbalist, in: PROC. AAAI-99, Orlando, FL, 1999, pp. 710-717 o N.M. Shazeer, M.L. Littman, G.A. Keim, Solving crossword puzzles as probabilistic constraint satisfaction, in: Proc. AAAI-99, Orlando, FL, 1999, pp. 156-162 o M.L. Littman, G.A. Keim, N. Shazeer, Solving crosswords with Proverb, In Proceedings of the Sixteenth National Conference on Artificial Intelligence, 1999 o M.L. Littman, G. A. Keim, N. Shazeer, A probabilistic approach to solving crossword puzzles, ELSEVIER, Artificial Intelligence 134, 2002, 23-55