530 likes | 661 Views
Computerlinguistik. 9. Vorlesung (08.12.2012). apl. Professor Dr. Ulrich Schade Fraunhofer-Institut für Kommunikation, Informationstechnik und Ergonomie ulrich.schade@fkie.fraunhofer.de. Computerlinguistik. Inhalt der Vorlesung. Einführung Methoden Tagging Formale Methoden Parsing
E N D
Computerlinguistik 9. Vorlesung (08.12.2012) apl. Professor Dr. Ulrich Schade Fraunhofer-Institut für Kommunikation, Informationstechnik und Ergonomie ulrich.schade@fkie.fraunhofer.de
Computerlinguistik Inhalt der Vorlesung Einführung Methoden Tagging Formale Methoden Parsing Ontologien Anwendungen Informationsextraktion Maschinelle Übersetzung Textanalyse
Computerlinguistik Anwendungen der Computerlinguistik Die „Königsdisziplin“ der Computerlinguistik ist die „Maschinelle Übersetzung“ (Machine Translation – MT), da sehr viele Techniken und Anwendungen der Computerlinguistik in der MT genutzt werden. Dies gilt auch für die Anwendung „Informationsextraktion“ (IE). Um den Nutzen der IE für die MT besser einordnen zu können, beginnen wir mit einem Blick auf die MT und deren regelbasierten Varianten.
Computerlinguistik Maschinelle Übersetzung Bei der maschinellen Übersetzung unterscheiden wir generell • (ältere) regelbasierte Verfahren, • (neuere) statistikbasierte Verfahren und • (noch neuere) hybride Verfahren.
Computerlinguistik Maschinelle Übersetzung: regelbasierte Verfahren Bei den regelbasierten Verfahren betrachten wir das so genannte Vauquois-Dreieck (nach Bernard Vauquois, 1929-1985). Ausgangssprache/ Quellsprache (SL) Zielsprache (TL)
Computerlinguistik Maschinelle Übersetzung: regelbasierte Verfahren Ausgangssprache/ Quellsprache (SL) direkte Übersetzung Zielsprache (TL)
Computerlinguistik Maschinelle Übersetzung: regelbasierte Verfahren In the end, Tyrion chose a cask of strongwine marked as the private stock of Lord Runceford Redwyne, the grandfather of the present Lord of the Arbor. The taste of it was languorous and heady on the tongue, the color a purple so dark that it looked almost black in the dim-lit cellar. Direkte Übersetzung: Wort für Wort In die(?) Ende, Tyrion wählte(?) ein(?) Fass von Starkwein markiert als ... Direkte Übersetzung mit morphologischer Analyse In dem Ende / in das Ende, Tyrion wählte ein Fass von Starkwein ...
Computerlinguistik Maschinelle Übersetzung: regelbasierte Verfahren In the end, Tyrion chose a cask of strongwine marked as the private stock of Lord Runceford Redwyne, the grandfather of the present Lord of the Arbor. The taste of it was languorous and heady on the tongue, the color a purple so dark that it looked almost black in the dim-lit cellar. Google Im Ende wählte Tyrion eine Tonnestrongwine gekennzeichnet als der private Vorrat an Lord Runceford Redwyne, der Großvater des anwesenden Lords des Dornes. Der Geschmack von ihm war languorous und heady auf der Zunge, schwach-beleuchtete die Farbeeine Dunkelheit desPurpleso, die sie in fast schwarz schaute, Keller.
Computerlinguistik Maschinelle Übersetzung: regelbasierte Verfahren Ein offensichtliches Problem der direkten Übersetzung ist das Problem der Wortstellung. In the end, Tyrion chose a cask of strongwine … Direkte Übersetzung mit morphologischer Analyse In dem Ende / in das Ende, Tyrion wählte ein Fass von Starkwein ... Google Im Ende wählte Tyrion eine Tonne strongwine … Dieses Problem kann mit „syntaktischen Transfer“ angegangen werden.
Computerlinguistik Maschinelle Übersetzung: regelbasierte Verfahren Transfer Synthese Analyse Ausgangssprache/ Quellsprache (SL) Zielsprache (TL)
Computerlinguistik Maschinelle Übersetzung: regelbasierte Verfahren Interlingua semantischer Transfer syntaktischer Transfer Ausgangssprache/ Quellsprache (SL) Zielsprache (TL)
Computerlinguistik Maschinelle Übersetzung: regelbasierte Verfahren Beim syntaktischen Transfer wird im Analyseschritt die syntaktische Struktur des zu übersetzenden Satzes der Ausgangssprache erstellt. Diese Struktur wird in eine entsprechende Struktur der Zielsprache transferiert, woraus dann der übersetzte Satz generiert wird. Yesterday, Angela met Lady Gaga. Analyse s(adv(zeit), np(subjekt), v, np(object)) Transfer s(adv(zeit), v, np(subjekt), np(object)) Synthese Gestern traf Angela Lady Gaga.
Computerlinguistik Maschinelle Übersetzung: regelbasierte Verfahren Beim semantischen Transfer wird im Analyseschritt die semantische Struktur des zu übersetzenden Satzes der Ausgangssprache erstellt. Wiederum folgen Transfer und Synthese. Yesterday, Angela met Lady Gaga. Analyse assertive(meet(Agent(Angela)), Patient(Lady Gaga)), (PointInTime(deixis(07.12.2011))) Transfer assertive(treffen(Agent(Angela)), Patient(Lady Gaga)), (PointInTime(deixis(07.12.2011))) Synthese Gestern traf Angela Lady Gaga.
Computerlinguistik Informationsextraktion – Maschinelle Übersetzung Die bei der Informationsextraktion eingesetzten Verfahren entsprechen denjenigen, die für den Analyseschritt bei der Maschinellen Übersetzung, syntaktischer bzw. semantischer Transfer, zu leisten sind, um die entsprechenden Repräsentationen für die Sätze der Ausgangssprache aufzubauen.
Computerlinguistik Informationsextraktion Informationsextraktion(Information Extraction, IE) ist eine Anwendung computerlinguistischer Verfahren mit dem Ziel, aus so genannten „unstrukturierten“ Texten Information (oder sogar „Wissen“) zu entnehmen. In der Regel beziehen sich die zu analysierenden Texte auf einen festen Gegenstandsbereich, was die Einbeziehung von entsprechenden Ontologien in den Prozess der Informations-extraktion ermöglicht.
Computerlinguistik Informationsextraktion Informationsextraktionssysteme bestehen aus mehreren Komponenten. Der zu analysierende Text muss zunächst morphologisch und syntaktisch aufbereitet werden. Dazu dienen die Komponenten wie „Sentence Splitter“, „Part-of-Speech Tagger“ und „Parser“. Im Idealfall liegt für den Text nach der Verarbeitung eine Liste von Sätzen vor, aus denen der Text besteht. Des Weiteren sollte für jeden Satz in dieser Liste ein Parsingresultat, etwa in der Gestalt eines zugehörigen Syntaxbaums, berechnet sein.
Computerlinguistik Informationsextraktion Wir haben die ersten dieser Schritte unter dem Stichwort „Tagging“ bereits betrachtet: Texte werden vom Tokenizer zunächst in Zeichen (Token) unterteilt (Wörter, Zahlen, Leerzeichen und Satzzeichen). Danach werden mit dem „Sentence Splitter“ die Grenzen der Sätze bestimmt. Der Tokenizer kann Probleme haben, wenn die Wortgrenzen nicht erkennbar sind (keine Leerzeichen wie im Chinesischen). Der Sentence Splitter muss beachten, dass nicht jeder Punkt das Ende eines Satzes bezeichnet.
Computerlinguistik Informationsextraktion Über einen so genannten POS-Tagger werden dann für die Wörter die grammatischen Kategorien bestimmt. Sprachen, die über eine detaillierte Flektionsmorphologie verfügen (Latein), ermöglichen eine bessere Bestimmung der syntaktischen Hauptkategorie. Englisch accessaccess Deutsch Zugriffzugreifen Nomen Verb
Computerlinguistik Informationsextraktion So genannte „Look Up“-Funktionen finden Namen in Gazetteer-Listen, welche dann mit einer „Named Entity Recognition“ zu Einheiten zusammengefügt werden, die dadurch auch syntaktisch und semantisch annotiert sind. Ein Parser bzw. ein Chunker erzeugt für die Sätze auf der Grundlage der vorgegebenen syntaktischen Kategorien syntaktische Strukturen. Diese Strukturen können dann im syntaktischen Transfer verwendet werden.
Computerlinguistik Informationsextraktion • Nach der morpho-syntaktischen Analyse sind im Wesentlichen noch zwei Schritte zu tun: • die semantische Analyse der einzelnen Sätze • die Textanalyse durch die Verknüpfung der ermittelten Satzinhalte • Die semantische Struktur kann im semantischen Transfer genutzt werden, aber auch der Verknüpfungsschritt kann für Verfahren der Maschinellen Übersetzung von Bedeutung sein, etwa für die Auflösung von Referenzbeziehungen.
Computerlinguistik Informationsextraktion Die semantische Analyse von Einzelsätzen geht aus von der vorliegenden syntaktischen Struktur. Der Übergang von der syntaktischen Struktur zur semantischen Struktur ist jedoch, wie wir wissen, nicht eindeutig. Vgl. dazu auch Sadock, J.M. (2003): Mismatches in Autonomous Modular versus Derivational Grammars. http://csli-publications.stanford.edu/LFG/5/bfg00/bfg00sadock.html
Computerlinguistik Informationsextraktion Das offensichtlichste (aber nicht unbedingt schwierigste) Problem beim Übergang von der syntaktischen Struktur zur semantischen Struktur ergibt sich in Sprachen wie Deutsch und Englisch aus dem Unterschied zwischen Aktiv und Passiv. In einem Aktivsatz ist das Subjekt (Syntax) zumeist Agent oder Effector (Semantik); in einem Passivsatz ist das Subjekt dagegen Patient oder Theme.
Computerlinguistik Informationsextraktion Hamilton hatte sich für ein speziell angefertigtes Paar reichverzierter Pistolen entschieden. Zwei Schüsse waren ertönt, und Hamilton war soeben getroffen worden.
Computerlinguistik Informationsextraktion Ein anderes Problem beim Übergang von Syntax nach Semantik ergibt sich aus den reichlichen Mehrdeutigkeiten, die in der natürlichen Sprache verborgen sind: • lexikalische Mehrdeutigkeiten („Bank“, „Jaguar“) • syntaktische Mehrdeutigkeiten („Visiting relatives can be boring.“) • semantische Mehrdeutigkeiten („Jeder Student besucht eine Pflichtveranstaltung.“)
Computerlinguistik Informationsextraktion Betrachten wir (mal wieder) die beiden Sätze „The widow drove her old Mercedes to the church.“ „The widow donated her old Mercedes to the church.“ Von der syntaktischen Struktur her sind die Sätze gleich. Trotzdem gibt es semantische Unterschiede.
Computerlinguistik Informationsextraktion „The widow drove her old Mercedes tothe church.“ Im ersten Satz bezeichnet die Konstituente „the church“ den Zielort (Destination) der durch „drove“ denotierten Bewegung. „Church“ ist hier ein Gebäude. „The widow donated her old Mercedes to the church.“ Im zweiten Satz bezeichnet die Konstituente „the church“ den Nutznießer (Beneficiary) des durch „donate“ denotierten Transfers. „Church“ ist hier eine Organisation.
Computerlinguistik Informationsextraktion Der wesentliche Hinweis für die Zuordnung der semantischen / thematischen Rollen zu den Konstituenten des zu analysierenden Satz ergibt sich aber aus dem Verb des Satzes. Das Verb bestimmt, dass in dem einen Fall (Bewegungsverb „drove“) eine „spatiale“ Rolle zuzuordnen ist und in dem anderen Fall (Transferverb „donate“) die Rolle des Nutznießers. Die Information, die hier ausgenutzt wird, hängt also direkt an dem verwendeten Verb. Es ist eine „lexikalische“ Information. Informationsextraktion ist also „lexical driven“ oder noch genauer „verb driven“.
Computerlinguistik Informationsextraktion Wenn man ein Informationsextraktionssystem zu bauen beabsichtigt, kann man die benötigte lexikalische Verb-information selbst aufzubauen, zum Beispiel in Form einer Ontologie. Man kann auch versuchen, eine der Quellen zu nutzen, die das Internet bereitstellt. Eine dieser Quellen ist FrameNet: http://framenet.icsi.berkeley.edu/
Computerlinguistik Informationsextraktion FrameNet-Beispiel to hit ist verbunden mit folgenden „Frames“: • Hit_target • Hit_or_miss • Cause_harm • Cause_impact • Impact • Experience_bodily_harm Frames haben „Core“-Rollen und weitere (ergänzende) zugehörige semantische Rollen.
Computerlinguistik Informationsextraktion FrameNet-Beispiel Der Frame „Cause_harm“ hat folgende Definition: The words in this frame describe situations in which an Agent or a Causeinjures a Victim. The Body_part of the Victim which is most directly affected may also be mentioned in the place of the Victim. In such cases, the Victim is often indicated as a genitive modifier of the Body_part, in which case the Victim FE is indicated on a second FE layer. (FE = Frame Element)
Computerlinguistik Informationsextraktion FrameNet-Beispiel Der Frame „Cause_harm“ hat folgende „Core“-Rollen: Agent [Agt] (Semantic Type:SentientAgent) is the person causing the Victim's injury. Jolosa, who BROKE a rival player 's jaw, was told to model his play on the England striker. Someone BASHED him on the back of the head with a heavy smooth object. Claire McLaren, 16, was punched and KICKED senseless by a thug.
Computerlinguistik Informationsextraktion FrameNet-Beispiel Der Frame „Cause_harm“ hat folgende „Core“-Rollen: Body_part [BodP](Semantic Type:Body_part) identifies the location on the body where the bodily injury takes place. Someone BASHED him on the back of the head with a heavy smooth object. Jolosa, who BROKE a rival player 's jaw , was told to model his play on the England striker.
Computerlinguistik Informationsextraktion FrameNet-Beispiel Der Frame „Cause_harm“ hat folgende „Core“-Rollen: Cause [cause] marks expressions that indicate some non-intentional, typically non-human, force that inflicts harm on the Victim. A falling rock CRUSHED my ankle.
Computerlinguistik Informationsextraktion FrameNet-Beispiel Der Frame „Cause_harm“ hat folgende „Core“-Rollen: Victim [Vic] (SemanticTypeSentient) is the being or entity that is injured. If the Victim is included in the phrase indicating Body_part, the Victim FE is tagged on a second FE layer (see 3rd example). The farmer tied him to the fence to stop him BUTTING the sheep. Jolosa, who BROKE a rival player 's jaw, was told to model his play on the England striker.
Computerlinguistik Informationsextraktion Neben den „Core“-Rollen gibt es stets weitere Rollen, die auftreten können. Beispiele dafür sind: Manner [Manr] (Semantic Type:Manner) is the Manner in which the Agent acts upon the Victim. He violentlySLAPPED his assailant. Time [Time] (Semantic Type:TimeTime) identifies the time when the harm-causing event occurs. Riot police in Nairobi CLUBBED four women unconscious on March 3.
Computerlinguistik Informationsextraktion Neben den „Core“-Rollen gibt es stets weitere Rollen, die auftreten können. Beispiele dafür sind: Place [] (Semantic Type:Locative_relation) identifies the place where the harm causing event occurs. Boys are PUNCHED at schoolfor payback. Instrument [Ins] (Semantic Type:Physical_entity) is any object used to cause the injury. Someone BASHED him on the back of the head with a heavy smooth object.
Computerlinguistik Informationsextraktion Verben und Frames stehen in einer „many to many“-Beziehung. Es gibt zu jedem Verb mehrere Frames und es gibt zu jedem Frame mehrere Verben, durch die der Frame evoziert wird.
Computerlinguistik Informationsextraktion Es gibt zu jedem Frame mehrere Verben, durch die der Frame evoziert wird. Zu „Cause_harm“ gehören etwa die Verben bash.v, batter.v, bayonet.v, beat up.v, beat.v, belt.v, biff.v, bludgeon.v, boil.v, break.v, bruise.v, buffet.v, burn.v, butt.v, cane.v, chop.v, claw.v, clout.v, club.v, crack.v, crush.v, cudgel.v, cuff.v, cut.v, elbow.v, electrocute.v, electrocution.n, flagellate.v, flog.v, fracture.v, gash.v, hammer.v, hit.v, horsewhip.v, hurt.v, impale.v, injure.v, jab.v, kick.v, knee.v, knife.v, knock.v, lash.v, maim.v, maul.v, mutilate.v, pelt.v, poison.v, poisoning.n, pummel.v, punch.v, slap.v, slice.v, smack.v, smash.v, spear.v, squash.v, stab.v, sting.v, stone.v, strike.v, swipe.v, thwack.v, torture.v, transfix.v, welt.v, whip.v, wound.v
Computerlinguistik Informationsextraktion Wie wir bereits gesehen haben, gibt es unterschiedliche Systeme von semantischen / thematischen Rollen. Das System von Sowa unterscheidet sich von dem bei FrameNet genutzten System. Sowa (http://www.jfsowa.com/ontology/thematic.htm) verwendet statt „Victim“ die Rolle „Patient“ (Patiens), die er wie folgt definiert: „An essential participant that undergoes some structural change as a result of the event.“ Sowas Beispiel war: The cat swallowed the canary.
Computerlinguistik Informationsextraktion Wir könnten jetzt als Vergleich bei FrameNet nachsehen, welche Rahmen dort für „swallow“ vorgesehen sind. Leider ist „swallow“ bei FrameNet nicht enthalten. Also schauen wir uns „donate“ an. „donate.v“ hat in FrameNet nur einen Rahmen, nämlich „Giving“.
Computerlinguistik Informationsextraktion „Giving“ hat drei „Core“-Rollen: Donor [Donor], the person that begins in possession of the Theme and causes it to be in the possession of the Recipient. Recipient [Rec],the entity that ends up in possession of the Theme. Theme [Thm], the object that changes ownership. „The widow donated her old Mercedes to the church.“
Computerlinguistik Informationsextraktion Wir haben damit folgende Situation: „The widow donated her old Mercedes to the church.“ SowaFrameNet Agent Donor Beneficiary Recipient Theme Theme
Computerlinguistik Informationsextraktion Die Rollen sind unterschiedlich spezifisch. Aber die Richtung hierbei ist unterschiedlich. SowaFrameNet Agent > Donor Beneficiary < Recipient Theme Theme
Computerlinguistik Informationsextraktion Wir vergleichen die Definitionen der Rollen: Agent (Sowa): An active animate entity that voluntarily initiates an action. Donor (FrameNet): The person that begins in possession of the Theme and causes it to be in the possession of the Recipient. Beneficiary (Sowa): A recipient that derives a benefit from the successful completion of the event. Recipient (FrameNet): The entity that ends up in possession of the Theme. Recipient (Sowa): An animate goal of an act.
Computerlinguistik Informationsextraktion Recepient Agent Assailantperson (or other self-directed entity) that is attempting physical harm to the Victim. Beneficiary Donor Semantische Rollen können in eine „ISA“-Hierarchie gebracht werden. Spezifischere Rollen ermöglichen eine genauere Analyse; sie erhöhen aber auch die Möglichkeit der falschen Analyse.
Computerlinguistik Informationsextraktion Dies lässt sich am besten über die „semantic types“ verdeutlichen, welche in FrameNet den semantischen Rollen zugeordnet sind. Auch diese „semantic types“ können taxonomisch (in einer ISA-Hierarchie) angeordnet werden. In FrameNet dient diese Taxonomie sogar als Grundlage einer Ontologie (für „semantic types“); vgl. Lönneker-Rodman & Baker (2009). Auf der folgenden Folie findet sich ein Ausschnitt aus dieser Taxonomie.
Computerlinguistik Informationsextraktion Physical_entity Physical_object Living_thing Location Body_part Animate_being Region Sentient Body_of_water Landform Human (Person) Running_water
Computerlinguistik Informationsextraktion Wie hilft uns das? Wie wir gesehen haben, hat „hit“ unterschiedliche Frames, etwa „Cause_harm“. „Cause_harm“ hat als semantische Rolle „Agent“, welches vom Typ „Sentient“ ist. Das gilt für die meisten der Frames von „hit“, aber nicht für den Frame „Impact“. „Impact“ hat als „Core“-Rollen „Impactor“ (the entity that hits the Impactee) und „Impactee“ (the entity which is hit by the Impactor). Beide „Core“-Rollen sind vom Typ „Entity“.
Computerlinguistik Informationsextraktion Wie hilft uns das? Wenn wir nun den Satz „The rock hits the sand with a thump.“ analysieren, erkennen wir das Verb „to hit“. Das Verb „to hit“ hat, wie wir wissen, mehrere Frames, aber die meisten dieser Frames erwarten, dass eine Konstituente des zu analysierenden Satzes die Rolle „Agent“ mit dem Typ „Sentient“ erfüllt. Aus syntaktischer Sicht (Subjekt im Aktivsatz) müsste das im zu analysierenden Satz die Konstituente „the rock“ sein. Wenn man nun über eine Ontologie verfügt, die „rock“ als „non living object“ klassifiziert, ergibt sich, dass die meisten Frames nicht passen und somit der Frame „Impact“ zu wählen ist.
Computerlinguistik Informationsextraktion Analysen der aufgezeigten Art können fehlschlagen, wenn verwendete Ontologien nicht zu dem Gegenstandsbereich passen, auf den sich der zu analysierenden Text bezieht. Beispielsweise könnte der Frame zu „lügen“ einen „Agent“ vom Typ „Human“ einfordern. (In FrameNet wird hier die Rolle „Speaker“ verwendet, die allerdings auch nur auf „Sentient“ eingeschränkt ist.) Ein Satz wie „The White Rabbit lied to Alice.“ könnte dann nicht analysiert werden.