Programmieren in natürlicher Sprache: Erkennung und ... · KIT – Universität des Landes...

40
KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft IPD Tichy, Fakultät für Informatik www.kit.edu Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten Sebastian Weigelt Betreut von Mathias Landhäußer DIPLOMARBEIT

Transcript of Programmieren in natürlicher Sprache: Erkennung und ... · KIT – Universität des Landes...

KIT – Universität des Landes Baden-Württemberg und

nationales Forschungszentrum in der Helmholtz-Gemeinschaft

IPD Tichy, Fakultät für Informatik

www.kit.edu

Programmieren in natürlicher Sprache:

Erkennung und semantische Assoziation von Entitäten in

natürlichsprachlichen Texten

Sebastian Weigelt Betreut von Mathias Landhäußer

DIPLOMARBEIT

2 24.04.2014

Motivation

Zielsetzung: Text-Modell-Assoziation

Assoziation von natürlichsprachlichem Text mit einem wissenschaftlichen

Modell

Kontext: AliceNLP

Projekt „Programmieren in natürlicher Sprache“

Ansatz: Assoziation von Text-Entitäten mit Ontologie-Individuen

Abbildung von Text-Bestandteilen auf Modell-Elemente (einer Ontologie)

Übertragung von Satzstrukturen auf Ontologie-Strukturen

Bewertungsfunktionen

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

„The white bunny jumps“

Ontologie

jump whiteBunny …

3 24.04.2014

Grundlagen

Zielsystem: Programmiersprache Alice [Car]

Modell-Ontologien: OWL

Syntaxanalyse: Stanford CoreNLP [Sta]

Zerteiler (Parser): Satzzerlegung, Wortzerlegung, Wortart-Markierung,

Syntaxbaum-Erzeugung, …

Wichtige Sichtweise: Abhänigkeitsgraphen

Grammatik (der englischen Sprache)

Satzstrukturen: verkettete Sätze, Nebensätze, …

Besonderheiten: Modifikatoren, Zeitformen,…

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

4 24.04.2014

Verwandte Arbeiten

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

NLC[BB79], Metafor[LL05]

Entity Classification

[CV05], Traceability Recovery [ZWRH06]

PANTO [WXZY07]

Pegasus [KM06],

SmartSynth [LGS13]

Ontologie-

Assoziation

Modellierung

natürlicher

Sprache

Natürlichsprachliche

Programmierung

5 24.04.2014

Zielsetzung

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

6 24.04.2014

Umsetzung – Grundidee

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

Lösungsansatz: 5 Teilschritte

Analyse des natürlichsprachlichen Satzes

Assoziation von Text-Entität und Ontologie-Individuen

Bewertung der Individuen-Assoziation

Bewertung der semantischen Zusammenhänge

Darstellung der gewonnen Ergebnisse

7 24.04.2014

Umsetzung – Satzanalyse

Syntaxanalyse mittels Parser: Abhängigkeitsgraph

Interpretation:

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

8 24.04.2014

Umsetzung – Satzanalyse (2)

Ansatz: atomare Aktionen/Sätze

Beschreiben genau eine Aktion

Bestehen aus Subjekt, Prädikat (und Objekt)

„The bunny eats the broccoli and turns to Alice.“

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

Atomarer Satz 1:

Subjekt: [bunny]

Prädikat: [eats]

Objekt: [broccoli]

Atomarer Satz 2:

Subjekt: [bunny]

Prädikat: [turns]

Objekt: [Alice]

9 24.04.2014

Umsetzung – Ontologie-Assoziation

Ontologie-Suche:

Entsprechend der Funktion im Satz

Granularität

Wortlisten-Ebene: Ausbeute ↔ Präzision

Wort-Ebene: Ausbeute ↔ Präzision

Lemmata: „eats“ ↔ „eat“

Synonyme: „bunny“ ↔ „rabbit“

„The bunny eats the broccoli and turns to Alice.“

Atomarer Satz 1:

Subjekt: [bunny] ↦ #bunny, #whiteBunny, #bunny~~tail, #rabbit

Prädikat: [eats] ↦ #bunny~~eat, #husky~~Breath

Objekt: [broccoli] ↦ #broccoli

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

10 24.04.2014

Umsetzung – Assoziationsbewertung

Ontologie-Suche: viel Ausbeute, wenig Präzision

Mehrere assoziierte Ontologie-Individuen je Text-Entität

Möglichst eindeutige Auswahl des passendsten Individuums

Bewertung nötig

Bewertungsfunktion

Ähnlichkeitsmetriken: Entität ↔ Individuum

Domänenspezifische Faktoren

Vorteile

Keine endgültige Festlegung

Anpass- und erweiterbar

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

11 24.04.2014

Umsetzung – Assoziationsbewertung(2)

Bewertungsfunktion:

Ähnlichkeit

Repräsentation

R([white, bunny] ↦ #whiteBunny) > R([white, bunny] ↦ #bunny)

Abdeckung A

A([fish] ↦ #fish) > A([fish] ↦ #lilfish)

Domänenspezifisch:

Synonym-Assoziation s

s([bunny] ↦ #bunny) > s([bunny] ↦ #rabbit)

Ungenutzte Kaskaden-Elemente k

#bunny~~lowerBody~~leftLeg~~foot

Ontologie-Klassenzugehörigkeit o

o([turn] ↦ #turn (UserMethod)) > o([turn] ↦ #turn (AliceMethod))

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

B = R * A * s * k - o

nuk

12 24.04.2014

Umsetzung – Assoziationsbewertung(3)

„The bunny eats the broccoli and turns to Alice.“

[bunny] ↦ #bunny, #whiteBunny, #bunny~~tail, #rabbit

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

Individuum R A s k o B

#bunny 5/5 1 – 0/5 1 0,650 0 1

#whiteBunny 5/5 1 – 5/10 1 0,650 0 0,5

#bunny~~tail 5/5 1 – 0/5 1 0,651 0,1 0,55

#rabbit 6/6 1 – 0/6 0,75 0,650 0 0,75

B = R * A * s * k - o

13 24.04.2014

Umsetzung – Zusammenhangsbewertung

Zielsetzung: Bewertung des Zusammenhangs der Einzelindividuen

Übertragung der Satz- auf die Ontologie-Struktur

Erzeugung von Alice-Skript-Aufrufen

Ansatz: Zweistufig

Erzeugung valider Aufrufe (Modell – Methode – Parameter)

Bewertung (über Assoziationsbewertung der Individuen)

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

Atomarer Satz 1:

Subjekt: [bunny]

Prädikat: [eats]

Objekt: [broccoli]

14 24.04.2014

Umsetzung – Zusammenhangsbewertung(2)

Bewertungsfunktion S =

Vorteile

Nur valide Kombinationen erhalten Bewertung

Art der Kombination berücksichtigt

Assoziationsbewertung der Individuen fließt ein

Verbessert implizit auch Individuen-Auswahl

„The bunny eats the broccoli and turns to Alice.“

#bunny, bunny~~eat, #broccoli: S =

#whiteBunny, #whiteBunny~~eat, #broccoli: S =

#bunny, #SoundResponse: S =

#bunny, #turn: S =

#bunny, #turnToFace, #alice: S =

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

|| AS

i

Elemente

B

917,03

0,175,00,1

75,03

0,175,05,0

371,03

111,00,1

6,03

75,00,1

788,03

0,1364,00,1

15 24.04.2014

Umsetzung – Ergebnisdarstellung

In GoldenGATE [SBA06]

Als Annotation am Wort, Wort-Sequenz bzw. Satz

Auf Wort-Ebene (Entität)

Auf Satz-Ebene

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

16 24.04.2014

Evaluation – Aufbau

Evaluiert: Satzanalyse, Assoziations- und Zusammenhangsbewertung

Jeweils als Klassifikator aufgefasst

Ausbeute A =

Präzision P =

Vergleich mit Musterlösung

Grundwerte

Texte: 25

Entitäten: 723

Individuen : 723

Atomare Sätze: 259

Assoziations- und Zusammenhangsbewertung:

zusätzliche Betrachtung „Top-n“-Bewertungen

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

negativepositive

positive

falschrichtig

richtig

positivepositive

positive

falschrichtig

richtig

17 24.04.2014

Evaluation – Ergebnisse

Satzanalyse

Ausbeute: 0,794

Präzision: 0,764

Viele Fehler durch falsche Abhängigkeitsgraphen

Assoziationsbewertung

Angleichung: Ausschluss von Parser-bedingten Fehlern im

Abhängigkeitsgraph

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

Top n Ausbeute Präzision Ausbeute

(angeglichen)

Präzision

(angeglichen)

1 0,668 0,745 0,801 0,885

2 0,689 0,381 0,825 0,445

3 0,714 0,256 0,853 0,299

5 0,723 0,154 0,865 0,179

10 0,764 0,078 0,912 0,090

18 24.04.2014

Evaluation – Ergebnisse(3)

Zusammenhangsbewertung

Angleichung: Ausschluss von Parser-bedingten Fehlern im

Abhängigkeitsgraph

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

Top n Ausbeute Präzision Ausbeute

(angeglichen)

Präzision

(angeglichen)

1 0,599 0,965 0,784 0,991

2 0,629 0,483 0,824 0,496

3 0,633 0,322 0,829 0,330

5 0,645 0,194 0,844 0,198

10 0,645 0,098 0,844 0,099

19 24.04.2014

Zusammenfassung

Zielsetzung: Assoziation von Text und Ontologie

Ansatz: 5 Teilschritte

Satzanalyse

Individuen-Assoziation

Assoziationsbewertung

Zusammenhangsbewertung

Ergebnisdarstellung

Gute Abdeckung und Präzision (unter Ausschluss von Satzanalyse-Fehler durch falsche Abhängigkeitsgraphen)

Verbesserungen: Satzanaylse und Lernverfahren

Projektverlauf: T-O-Assoziation ⇒ Instanziierung ⇒ Skript-Erzeugung

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

„The white bunny jumps“

Ontologie

whiteBunny jump …

1,0 0,5

0,3

0,75

20 24.04.2014 Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

21 24.04.2014

Literatur

[BB79] Ballard, BruceW. ; Biermann, AlanW.: Programming in

natural language: "NLC" as a prototype. In: Proceedings

of the 1979 annual conference ACM,1979, S. 228-237

[Bes14] Best, Jonathan Kim R.: Programmieren in natürlicher

Sprache: Der Eingabeassistent "Input & Verify AliceNLP",

Karlsruher Institut für Technologie (KIT) – IPD Tichy,

Diplomarbeit, März 2014.

https://svn.ipd.kit.edu/trac/AliceNLP/wiki/Theses/best_da

[Car] Carnegie Mellon University: Alice. http://www.alice.org

[CV05] Cimiano, Philipp ; Völker, Johanna: Towards large-scale,

open-domain and ontology-based named entity

classication. (2005)

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

22 24.04.2014

Literatur(2)

[Ham12] Hampel, Sina: Programmieren in natürlicher Sprache: Aufbau des Alice-Korpus, Karlsruher Institut für Technologie (KIT) – IPD Tichy, Bachelor's Thesis, November 2012. https://svn.ipd.kit.edu/trac/AliceNLP/wiki/Theses/hampel_ba

[Hey13] Hey, Tobias: Programmieren in natürlicher Sprache: Zeitliches Sortieren, Karlsruher Institut für Technologie (KIT) – IPD Tichy, Bachelor's Thesis, Dezember 2013. https://svn.ipd.kit.edu/trac/AliceNLP/wiki/Theses/hey_ba

[KM06] Knöll, Roman ; Mezini, Mira: Pegasus: First steps toward a naturalistic programming language. In: Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications. New York, NY, USA : ACM, 2006 (OOPSLA '06). - ISBN 1- 59593-491-X, 542-559

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

23 24.04.2014

Literatur(3)

[Kob13] Kober, Stefan: Programmieren in natürlicher Sprache:

Erzeugen von Alice-Szenerien aus Text, Karlsruher Institut

für Technologie (KIT) – IPD Tichy, Diplomarbeit, Dezember

2013.

https://svn.ipd.kit.edu/trac/AliceNLP/wiki/Theses/kober_da

[Koh13] Kohlmann, Andrea: Programmieren in natürlicher Sprache:

Alice-Kontrollstrukturen aus natürlicher Sprache, Karlsruher

Institut für Technologie (KIT) – IPD Tichy, Bachelor's

Thesis, September 2013.

https://svn.ipd.kit.edu/trac/AliceNLP/wiki/Theses/kohlmann_ba

[LGS13] Le, Vu ; Gulwani, Sumit ; Su, Zhendong: Smartsynth:

Synthesizing smartphone automation scripts from natural

language. In: Feedback 2 (2013), Nr. 3, S. 5

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

24 24.04.2014

Literatur(4)

[LL05] Liu, Hugo ; Lieberman, Henry: Metafor: Visualizing Stories

As Code. In: Proceedings of the 10th International

Conference on Intelligent User Interfaces. New York, NY,

USA : ACM, 2005 (IUI '05). - ISBN 1-58113-894-6, 305-307

[Pet12] Peters, Oleg: Programmieren in natürlicher Sprache:

Extraktion einer Alice-API-Ontologie, Karlsruher Institut für

Technologie (KIT) – IPD Tichy, Bachelor's Thesis,

November 2012.

https://svn.ipd.kit.edu/trac/AliceNLP/wiki/Theses/peters_ba

[SBA06] Sautter, Guido ; B•ohm, Klemens ; Agosti, Donat: Semi-

automated XML markup of biosystematic legacy literature

with the GoldenGATE editor. In: Proceedings of the Pacific

Symposium on Biocomputing (PSB'07), 2006, S.391-402

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

25 24.04.2014

Literatur(5)

[Sek14] Seker, Ali K.: Programmieren in natürlicher Sprache:

Erfassung von Methodenargumenten aus natürlicher

Sprache, Karlsruher Institut für Technologie (KIT) – IPD

Tichy, Diplomarbeit, Mai 2014.

https://svn.ipd.kit.edu/trac/AliceNLP/wiki/Theses/seker_da

[Sta] Stanford University: Stanford Core NLP online demo.

http://nlp.stanford.edu:8080/corenlp/

[Wei12] Weigelt, Sebastian: Programmieren in natürlicher Sprache:

Aufbau einer Alice-Ontologie – Korpus-Ontologie-

Assoziation, Karlsruher Institut für Technologie (KIT) – IPD

Tichy, Studienarbeit, November 2012.

https://svn.ipd.kit.edu/trac/AliceNLP/wiki/Theses/weigelt_sa

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

26 24.04.2014

Literatur(6)

[WXZY07] Wang, Chong ; Xiong, Miao ; Zhou, Qi ; Yu, Yong: PANTO:

A Portable Natural Language Interface to Ontologies.

Version: 2007.

http://dx.doi.org/10.1007/978-3-540-72667-8_34.

In: Franconi, Enrico (Hrsg.) ; Kifer, Michael (Hrsg.) ; May,

Wolfgang (Hrsg.): The Semantic Web: Research and

Applications Bd. 4519. Springer Berlin Heidelberg, 2007. –

DOI 10.1007/978-3-540-72667-8 34. – ISBN 978-3-540-

72666-1, 473-487

[ZWRH06] Zhang, Yonggang ; Witte, Rene ; Rilling, Juergen ;

Haarslev, Volker: An Ontology-based Approach for

Traceability Recovery. In: 3rd International Workshop on

Metamodels, Schemas, Grammars, and Ontologies for

Reverse Engineering (ATEM 2006, 2006, 36-43

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

27 24.04.2014

Anhang – Alice

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

28 24.04.2014

Anhang – OWL-Ontologie

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

29 24.04.2014

Anhang – „bunny“-Text

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

“The ground is covered with grass. In the background there is a palm

tree on the left. In the foreground there is a frog on the left facing east-

southeast and a broccoli on the right. Behind the broccoli there is a

bunny facing south-southwest. Behind the frog, to the left, there is a

mailbox facing southeast. The bunny turns to face the broccoli. The

bunny hops three times. A very short time passes. The bunny eats the

broccoli. A very short time passes. The bunny turns to face the frog.

The bunny taps its left foot twice. The frog croaks. The frog turns left by

90 degrees. The frog hops three times. The bunny turns to face the

mailbox. The bunny hops three times. The bunny opens the mailbox.

The bunny looks into the mailbox while the frog turns to face the bunny

at the same time. The frog hops twice. The frog croaks.“

30 24.04.2014

AliceNLP

Programmieren in natürlicher Sprache

Ansatz:

Modellierung der Programmiersprache Alice als Ontologie

Texte zur Beschreibung von Ausgangssituation und Aktionen

Verknüpfung von natürlicher Sprache mit dem Modell

Abgeschlossene Teilprojekte

Ontologie-Extraktion (und Synonymerweiterung)

Korpus-Erzeugung

Zeitliches Sortieren

Kontrollstrukturen

Einordnung:

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

31 24.04.2014

Umsetzung - Voraussetzungen

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

Voraussetzungen

Sprechende Namen von Modellen und Methoden

Voraussetzung für Assoziation

#bunny, #bunny~~eat, #broccoli, #say

Sinnhafte Namensgebung

Voraussetzung für Unterscheidbarkeit

#bunny1, #bunny2 ↔ #bigBunny, #smallBunny

32 24.04.2014

Umsetzung – Grundidee

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

Lösungsansatz: 5 Teilprozesse

Analyse des natürlichsprachlichen Satzes

Assoziation von Text-Entität und Ontologie-Individuen

Bewertung der Individuen-Assoziation

Bewertung der semantischen Zusammenhänge

Darstellung der gewonnen Ergebnisse

33 24.04.2014

Umsetzung – Satzanalyse (2)

Ansatz: atomare Aktionen/Sätze

Beschreiben genau eine Aktion

Bestehen aus Subjekt, Prädikat (und Objekt)

Modellierung als Objekt

Mit Wortlisten für Subjekt, Prädikat und Objekt

Meta-Informationen

Später Verknüpfungen zu den Ontologie-Individuen

„The bunny eats a broccoli and turns to Alice.“

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

Atomarer Satz 1:

Subjekt: [bunny]

Prädikat: [eats]

Objekt: [broccoli]

Atomarer Satz 2:

Subjekt: [bunny]

Prädikat: [turns]

Objekt: [Alice]

34 24.04.2014

Umsetzung – Ontologie-Assoziation

Ontologie-Verwaltung

Einfache Schnittstelle (nur Kernkonzepte modelliert)

Projektspezifisch (Singleton, nur lesende Zugriffe, Optimierungen)

Ontologie-Suche:

Entsprechend der Funktion im Satz

Granularität

Wortlisten-Ebene: Ausbeute ↔ Präzision

Wort-Ebene: Ausbeute ↔ Präzision

Lemmata: „eats“ ↔ „eat“

Synonyme: „bunny“ ↔ „rabbit“

„The bunny eats the broccoli and turns to Alice.“

Atomarer Satz 1: Subjekt: [bunny] #bunny, #whiteBunny, #bunny~~tail, #rabbit

Prädikat: [eats] #bunny~~eat, #husky~~Breath

Objekt: [broccoli] #broccoli

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

35 24.04.2014

Umsetzung – Assoziationsbewertung(2)

Bewertungsfunktion:

Ähnlichkeit

Repräsentation R =

Bevorzugung besserer Anfrageabdeckung:

[white, bunny] #bunny ↔ #whiteBunny

Abdeckung A =

Bevorzugung präziserer Assoziationen

[fish] #fish ↔ #lilfish

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

)(

)(

AnfrageZeichen

AnfrageZeichen

gesamt

erklärt

)(

)(1

ZieltextZeichen

ZieltextZeichen

gesamt

ungenutzt

36 24.04.2014

Umsetzung – Assoziationsbewertung(3)

Bewertungsfunktion

Domänenspezifisch

Synonym-Assoziation s (0 < s < 1)

Bevorzugung direkter Assoziation

[bunny] #bunny ↔ #rabbit

Ontologie-Klassenzugehörigkeit o (0 < o < 1)

Bevorzugung vollständiger Modell bzw. nutzererstellter Methoden

[turn] #turn (UserDefinedMethod) ↔ #turn (AliceMethod)

Ungenutzte Kaskaden-Elemente k (später mehr dazu)

#bunny~~lowerBody~~leftLeg~~foot

(0 < u < 1; n = ungenutzte Elemente)

B = R * A * s * k - o

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

nuk

37 24.04.2014

Umsetzung – Assoziationsbewertung(3)

Berechnung der Repräsentation R =

„einfache“ Individuen: #whiteBunny, #husky, #broccoli

Vergleich Wortliste mit Bezeichner: [white, bunny] ↔ #whiteBunny

Vergleich Wortliste mit Synonymen: [rabbit] ↔ #whiteBunny (bunny rabbit)

„kaskadierte“ Individuen: #bunny~~lowerBody~~leftLeg~~foot,

whiteBunny~~head, husky~~bark

Beschreiben Teil-Ganzes-Beziehung (Teil-Modell-Hierarchie) oder

Zugehörigkeit (bei Methoden)

Methoden: nur letzter Bestandteil betrachtet

Modelle: Zerlegung in Bestandteile, nur benötigte Elemente zur Berechnung

genutzt, nicht genutzte Elemente für Berechnung von k

(0 < u < 1; n = ungenutzte Elemente)

Synonym-Berechnung

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

nuk

)(

)(

AnfrageZeichen

AnfrageZeichen

gesamt

erklärt

38 24.04.2014

Umsetzung – Assoziationsbewertung(3)

„The bunny eats the broccoli and turns to Alice.“

[bunny] #bunny, #whiteBunny, #bunny~~tail, #rabbit

#bunny: B =

#whiteBunny: B =

#bunny~~tail: B =

#rabbit: B =

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

1065,0*1*5

01*

5

5 0

5,0065,0*1*10

51*

5

5 0

55,01,065,0*1*5

01*

5

5 1

75,0065,0*75,0*6

01*

6

6 0

Individuum R A s k o B

#bunny 5/5 1 – 0/5 1 0,650 0 1

#whiteBunny 5/5 1 – 5/10 1 0,650 0 0,5

#bunny~~tail 5/5 1 – 0/5 1 0,651 0,1 0,55

#rabbit 6/6 1 – 0/6 0,75 0,650 0 0,75

39 24.04.2014

Evaluation – Ergebnisse(2)

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt

40 24.04.2014

Evaluation – Ergebnisse(4)

Programmieren in natürlicher Sprache: Erkennung und semantische Assoziation von Entitäten in natürlichsprachlichen Texten

Sebastian Weigelt