340 likes | 429 Views
Vortrag zur Definitionsextraktion mit Evolutionären Algorithmen. von Christian Wellner. Referenz: Claudia Borg, Mike Rosner, Gordon Pace (2009): Evolutionary Algorithms for Definition Extraction In: Workshop on Definition Extraction 2009 , Borrovets, Bulgaria, pp. 26-32. Überblick.
E N D
Vortrag zur Definitionsextraktion mit Evolutionären Algorithmen von Christian Wellner
Referenz: Claudia Borg, Mike Rosner, Gordon Pace (2009): Evolutionary Algorithms for Definition Extraction In: Workshop on Definition Extraction 2009, Borrovets, Bulgaria, pp. 26-32.
Überblick • Definitionsextraktion • Schritt 1: Merkmalsfindung • Schritt 2: Merkmalsgewichtung • Kombination der Schritte • Fazit
Definitionsextraktion • Als „Definitionsextraktion“ wird das Auslesen von Definitionen aus einem Text bezeichnet • Dieser Satz war bereits eine solche Definition • Die gesammelten Definitionen werden in einem Glossar zusammengefasst • Teilaufgabe des Information Retrieval • Sehr (zeit-)aufwendig „per Hand“ durchzuführen
Definitionsextraktion • Bisheriger Ansatz: Erkennung von einfachen Mustern, durch Menschen erstellt • [X] ist ein [Y] • [Y] wird als [X] bezeichnet • … • Halbwegs akzeptable Performanz bei gut strukturierten Texten • vor allem Lehrbücher
Definitionsextraktion • Wird umso komplizierter, je freier die linguistische Form des Textes • Mehr Muster werden benötigt, um hohe Abdeckung zu erreichen • Jedes zusätzliche Muster kann die Präzision verringern • Muster sind sehr unflexibel (keine Gewichtung) • Für die meisten Textsorten liefert reine Mustererkennung schlechte Ergebnisse
Definitionsextraktion • Neuer Ansatz: Evolutionäre Algorithmen • Zwei dieser Verfahren werden benutzt • Die Genetische Programmierung zum Finden geeigneter Merkmale • Der Genetische Algorithmus zur Gewichtung der Merkmale
Genetischer Algorithmus • Basiert auf evolutionären Prinzipien • Verwendet einfache Arrays als Individuen • Schnellstes evolutionäres Verfahren • Allerdings sehr beschränkter Suchraum
Genetische Programmierung • Basiert auf evolutionären Prinzipien • Verwendet Bäume (Programme) als Individuen • Extrem umfangreicher Suchraum • Allerdings entsprechend langsamer
Das System • Ein annotiertes Trainingsset wird vorausgesetzt • Durch Menschen vorgenommene Schritte sind optional und dienen der Kontrolle und Optimierung • Das eigentliche System arbeitet völlig automatisch
Merkmalsfindung mit GP • Individuen • Reguläre Ausdrücke • Basiselemente: Part-of-Speech-Tags • Geben, angewandt auf einen Satz, einen Wahrheitswert zurück (Matching) • z.B. DET ? . Adj* . N . Vfin • Eine Pflanze wächst. -> true
Merkmalsfindung mit GP • Verwendete Struktur:
Merkmalsfindung mit GP • Operatoren: • sfeature ? = Optionalität • sfeature * = Kleene-Hülle • sfeature . sfeature = Verkettung • sfeature + sfeature = Alternative • sfeature & feature = Konjunktion
Merkmalsfindung mit GP • Fitnessfunktion • Wie gut matcht das Individuum die Sätze aus dem Trainingsset? • F-Score wird berechnet • Tendiert dazu, nur Regeln auszuwählen, die mehrere Sätze abdecken
Merkmalsfindung mit GP • Experimente • 200 – 1000 Individuen • Variation der linguistischen Objekte (lobj) • Spezieller: mit einzelnen Vokabeln (‚to define‘ etc.) • Genereller: Zusammenfassung ähnlicher POS-Tags (z.B. aller Nomen)
Merkmalsfindung mit GP • Experimente • Ergebnis, aufgeteilt in 3 Kategorien: • Speziellere linguistische Objekte brachten in der Regel bessere Ergebnisse
Merkmalsfindung mit GP • Zwischenergebnis: • Merkmalsfindung mit GP erzielt allein für sich auch keine wirklich überzeugenden Ergebnisse • Aber immerhin Automatisierung • Und geringere Chance, dass ein gutes Muster übersehen wird
Merkmalsgewichtung mit GA • Individuen • Merkmalsvektoren • Jedem Merkmal wird ein Gewicht zugeordnet • „Compound Feature“: Addition aller Werte eines Individuums Compound Feature = 6
Merkmalsgewichtung mit GA • Fitnessfunktion • Das Individuum wird auf jede Trainingsinstanz angewendet • Das Compound Feature für die wahren Features einer Instanz wird berechnet • Wird ein bestimmter Wert T überschritten, wird das Individuum als Definition getaggt • F-Score wird berechnet
Merkmalsgewichtung mit GA • Der Wert T („treshold“) • Option 1: Fixer Wert (z.B. 0) • Option 2: Teil des Chromosoms • Sehr unpraktisch, da nur Single-Point-Crossover verwendet wird • Option 3: Berechnung eines Optimalwerts für jedes Individuum • Option 3 erwies sich als erfolgreicher
Merkmalsgewichtung mit GA • Experimente • Mit 10 einfachen Features • Contains a form of „to be“ • Has sequence „is a“ • Has sequence „[Foreign Word] is“ • Has possessive pronoun • Has punctuation in the middle of the sentence • Has a marked term (keyword) • Has rendering (italic, bold) • Has a chunk marked as organization • Has a chunk marked as person • Has a chunk marked as location
Merkmalsgewichtung mit GA • Experimente • 3 verschiedene Experimente (1, 2, 3) • das erste mit variierten Parametern, um Recall bzw. Precision zu favorisieren (1a, 1b) • Parameter wurden nicht genau spezifiziert, vermutlich die Mutations-, Selektions- und Crossover-Algorithmen
Merkmalsgewichtung mit GA • Experimente • Ergebnis:
Merkmalsgewichtung mit GA • Vergleich mit Standard-Verfahren • Manuell erstellte Regeln ohne Gewichtung • Steigerung der Precision von 17% auf 62% • Kein Vergleichswert für Recall angegeben • In verwandten Experimenten ist ~30% Precision und ~70% Recall üblich (~42% F Measure) • Es sind jedoch auch höhere Werte möglich
Merkmalsgewichtung mit GA • Zwischenergebnis: • Gewichtung der Merkmale verbessert die Performance spürbar • Auch mit nur 10 handgeschriebenen Regeln schon ein überdurchschnittliches Ergebnis • Überlegene Systeme müssen sehr viel aufwendiger erstellt werden
Kombination der Schritte • Nochmal das System: • Experiment: 10 der Is-A-Merkmale aus der GP werden mit dem GA gewichtet
Kombination der Schritte • Ergebnis: • F-Score steigt von 28% auf 68% ! • Recall steigt dabei von 39% auf 51% • Precision steigt dabei von 22% auf 100% !
Fazit • Precision von 100%? • Klingt ziemlich gut • Könnte aber darauf verweisen, dass das System nur auswendig lernt • Und somit nicht auf andere Daten anwendbar ist • Auf jeden Fall unsauberes Design: Trainingsdaten werden mehrmals verwendet
Fazit • Precision von 100%? • Könnte aber auch daran liegen, dass nur Is-A-Merkmale verwendet wurden • „Leichteste“ Kategorie • Muss noch durch weitere Experimente genauer untersucht werden
Fazit • Dagegen Recall von 51% • Andersherum wäre wünschenswerter • Precision kann leicht „nachträglich“ erhöht werden, indem ein Mensch die Ergebnisse durchsieht • Das geht für den Recall nicht • Mögliche Verbesserungen: • „Liberalere“ Merkmalsfindung • Verwendung von mehr als 10 Merkmalen • und von zusätzlichen, menschgemachten
Fazit • „überwachtes“ System • Linguistische Objekte werden manuell gewählt • zusätzliche Merkmale werden vorgegeben • Ergebnis wird manuell überprüft • Trade-off von Precision und Recall
Fazit • Nicht angesprochen: Rechenzeit • In der Trainingsphase vermutlich sehr hoch! • In der Testphase vermutlich nur unwesentlich höher als bei der Mustererkennung • Also ein „Eager Learner“ • Für die Aufgabe eine angemessene Zeitverteilung • Lernphase muss nur einmal durchlaufen werden
Fazit • Menschlicher Aufwand • Sehr stark steuerbar • Im Extremfall nicht viel kleiner als bisher • Dabei allerdings bessere Ergebnisse, vor allem durch Merkmalsgewichtung • Und höhere Objektivität • Insgesamt ein nützlicher, wenn auch nicht unbedingt bahnbrechender, Ansatz