Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Semantische Volltextsuche Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen Institut für Informatik Universität Freiburg Gemeinsame Arbeit mit.

Ähnliche Präsentationen


Präsentation zum Thema: "Semantische Volltextsuche Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen Institut für Informatik Universität Freiburg Gemeinsame Arbeit mit."—  Präsentation transkript:

1 Semantische Volltextsuche Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen Institut für Informatik Universität Freiburg Gemeinsame Arbeit mit Björn Buchhold, Elmar Haussmann und Florian Bäurle Antrittsvorlesung Uni Freiburg, 21. Juni 2012

2 Semantische Volltextsuche Was meinen wir hier mit "semantisch"? –In einem Satz: Suche mit "Sprachverständnis" –Demo: gewöhnliche Volltextsuche (Google) –Demo: ein paar "semantische" Suchmaschinen Ziele unserer semantischen Suchmaschine –Einfach zu benutzen... keine komplizierte Anfragesprache –Nachvollziehbar... warum kommt das was kommt? –Qualitativ hinreichend gut... mindestens zu 80% korrekt –Interaktiv schnell... unter 100 Millisekunden / Anfrage –Beliebig viel Text... Millionen – Milliarden von Dokumenten 2

3 Broccoli Übersicht 3

4 Übersicht über den Rest des Vortrages Ein paar Folien für jedes dieser Teilprobleme –Erstellen einer Ontologie Fakten wie: Broccoli ist eine Pflanze –Erkennen von Entitäten im Text Erkennen, wer mit he oder Asimov gemeint ist –Erkennen wesentlicher Satzstrukturen Welche Worte in einem Text "gehören zusammen" –Erstellen eines Suchindexes für schnelle Antworten + Suchvorschläge –Anfragesprache und Benutzerschnittstelle das haben wir schon in der Demo gesehen 4

5 Ontologien 1/2 Erstmal: was ist überhaupt eine Ontologie –Eine Menge von Subjekt Prädikat Objekt Tripeln "Isaac Asimov" "is a" "Chemist" "Isaac Asimoc" "is citizen of" "United States" "Chemist" "is subclass of" "Scientist" "Broccoli" "is a" "Plant" –Wir benutzen hier z.Zt. eine Ontologie "von der Stange" YAGO: A Core of Semantic Knowledge, WWW 2007 –Mittelfristig wollen wir unsere eigene Ontologie: nur das Wesentliche, aber das vollständig und korrekt 5

6 Ontologien 2/2 Grenzen einer Ontologie –Idealerweise (so scheint es) hat man das gesamte Weltwissen in so einer Ontologie –In der Tat lassen sich viele Fakten sehr natürlich als Tripel formulieren / formalisieren... siehe Beispiele letzte Folie –Aber für mindestens genauso viele wäre es ein Krampf "Broccoli" "has edible part" "Leaf" –Problem: konsistente Namensgebung + wie findet ein User heraus, dass es diese Relation gibt und wie sie heißt –Genau deswegen kombinieren wir Ontologiesuche und Volltextsuche 6

7 Entitätserkennung 1/2 Erstmal: was ist das Problem –Gegeben ein Stück Text, etwa: The usable parts of rhubarb, a plant native to Eastern Asia, are the medicinally used roots and the edible stalks however its leaves are toxic. –Erkenne darin alle Worte bzw. Wortfolgen, die eine Entität aus unserer Ontologie meinen... und welche The usable parts of rhubarb, a plant native to Eastern Asia, are the medicinally used roots and the edible stalks however its leaves are toxic. –Man beachte: das beinhaltet auch die Auflösung von sogenannten Anaphora (he, she, its, her, him,...) en.wikipedia.org/wiki/Rhubarb en.wikipedia.org/wiki/East_Asia 7

8 Entitätserkennung 2/2 Schwierigkeiten –Disambiguierung von Mehrdeutigkeiten Rhubarb, the plant Rhubarb, Australian rock band Rhubarb, US baseball comedy from 1951 Rhubarb, British short film from 1969 Rhubarb Jones, American disc jockey und mehr... –Idee: Wörter im selben Kontext beachten z.B. stalks und leaves Rhubarb, the plant –Methode: maschinelles Lernen (semi-supervised) 8

9 Satzzerlegung 1/6 Wir machen (erstmal) folgende Annahme: –Worte die zusammen gehören, stehen im selben Satz –Das ist nach der Anaphora-Auflösung in der Tat meistens der Fall (davor nicht) Rhubarb is usually considered to be a vegetable. However, a New York court decided in 1947 that it has to be counted as a fruit for the purpose of regulations and duties. –In einem Satz gehört aber keineswegs alles zusammen The usable parts of rhubarb, a plant native to eastern Asia, are the medicinally used roots and the edible stalks, however its leaves are toxic. (Die Stängel sind essbar, die Blätter nicht, die sind giftig.) 9

10 Satzzerlegung 2/6 Wie findet man heraus, was zusammen gehört? –Häufiger Ansatz: ein sog. full parse des Satze Demo: Stanford Parser –Mit anschließendem sog. semantic role labeling was ist das Objekt von welchem Verb, was das Subjekt, steht der Satz im Aktiv oder Passiv, etc. –Das ist aber sehr teuer: über 1 Sekunde pro Satz das sind 10 Jahre alleine für die Englische Wikipedia –Außerdem gibt uns das einerseits viel mehr Informationen als wir brauchen andererseits fehlt Information, die wir brauchen 10

11 Satzzerlegung 3/6 Unser Ansatz –Phase 1: Erkennen von wesentlichen Satzbausteinen Sentence Constitutent Identification (SCI) –Phase 2: Rekombination dieser Satzbausteine Sentence Constituent Recombination (SCR) –Das schauen wir uns jetzt an einem Beispiel an... 11

12 Satzzerlegung 4/6 Sentence Constituent Identification (SCI) –Wie unterscheiden im Wesentlichen zwei Satzteile: Teile von Aufzählungen und Relativsätze –An unserem Beispiel (nach Anaphora-Auflösung) The usable parts of rhubarb, a plant native to Eastern Asia, are the medicinally used roots and the edible stalks however rhubarb leaves are toxic. –Ein Relativsatz in rot, das worauf er sich bezieht in rosa –Eine Aufzählung mit zwei Teilen in grün –Auf der nächsten Folie eine vollständige Zerlegung in der Form eines Baumes 12

13 Satzzerlegung 5/6 Sentence Constituent Identification (SCI) ENUM CONC SUB The usable parts of rhubarb a plant native to Eastern Asia are the medicinally used roots the edible stalks however rhubarb leaves are toxic 13

14 Satzzerlegung 6/6 Sentence Constituent Recombination (SCR) –Jetzt müssen wir den Baum nur noch "ausmultiplizieren" SUB: "rausnehmen" ENUM: "Vereinigung" CONC: "Kreuzprodukt" –Das ergibt dann folgende sogenannte Kontexte : rhubarb a plant native to Eastern Asia The usable parts of rhubarb are the medicinally used roots The usable parts of rhubarb are the edible stalks however rhubarb leaves are toxic ENUM CONC SUB The usable parts of rhubarb a plant native to Eastern Asia are the medicinally used roots the edible stalks however rhubarb leaves are toxic 14

15 Suchindex 1/5 Was ist überhaupt ein Suchindex? –Hilft schnell gewünschte Informationen zu finden –Man denke an den Stichwortindex am Ende eines Buches –Ohne Index müsste man für jede Anfrage die ganze Textsammlung nach Treffern durchsuchen 15

16 Suchindex 2/5 Der invertierte Index –Das ist der klassische Index für Volltextsuche –Für jedes Wort, das überhaupt nur irgendwo vorkommt, wird eine Liste aller Vorkommen vorberechnet freiburg:Doc17, Doc37, Doc113, Doc271,... universität: Doc15, Doc17, Doc25, Doc37, Doc48,... informatik: Doc5, Doc11, Doc17, Doc22, Doc37,... –Um die Suchanfrage universität freiburg zu beantworten, muss man dann einfach nur die Schnittmenge der beiden vorberechneten Listen für universität und freiburg berechnen –Dafür gibt es schnelle Algorithmen: 100M Elemente/Sekunde 16

17 Suchindex 3/5 Typisch für Suche: sehr lange solcher Listen –10 Millionen Einträge sind nicht untypisch –Wir wollen interaktive Anfragezeiten, d.h. < 100 Millisekunden –Damit verbieten sich "nicht-lineare" Operationen Sortieren von 100 Millionen Zahlen braucht 2 Sekunden –Und ebenso hochgradig "nicht-lokale" Operationen Permutieren von 100 Millionen Zahlen braucht 12 Sekunden –Von links nach rechts drüberlaufen ist dagegen schnell Scan von 100 Millionen Zahlen braucht 0.1 Sekunden 17

18 Suchindex 4/5 Invertierter Index für semantische Volltextsuche –Das würde zum Beispiel so aussehen... C wie Context WORD:robotics C117, C213, C445, C497, C512,... ENTITY:Asimov C117, C983, C1115, C4123,... CLASS:Scientist C45, C97, C117, C178, C224,... –Damit könnte man unsere Suchanfragen zwar beantworten –Problem 1: Viele Duplikate hoher Platzverbrauch –Problem 2: Damit kriegt man kein "suggest" –Problem 3: Die Listen für z.B. CLASS:Person werden riesig, da dauert dann selbst einfaches Listenschneiden zu lange ganz zu schweigen von der Liste für CLASS:Entity 18

19 Suchindex 5/5 Unser Ansatz –Gemischte Präfix / Entitätslisten... C wie Context WORD:rob* :(C17, WORD:robots) (C17, ENTITY:Isaac_Asimov) (C17, ENTITY:New_York) (C24, WORD:robinson)... usw. –Warum klappt das?... siehe Vorlesung im WS 2012/2013 –Braucht das nicht viel zu viel Speicherplatz? –Eine Entität steht jetzt bei jedem Präfix mit dem sie in einem Kontext vorkommt... aber unsere Kontexte sind klein! –Unsere Kontextzerlegung ermöglicht also gleichzeitig eine "sinnhafte" Suche und einen effizienten Index dafür! 19

20 Letzte Folie Wie geht's weiter mit Broccoli –Vorlesung Information Retrieval im WS 2012/2013 –Wir machen in der Zwischenzeit alles noch schneller, besser, schöner,... 20

21 21

22 Demos Show demos for –Google Search –Swoogle –YAGO ontology search https://d5gate.ag5.mpi-sb.mpg.de/webyagospotlx/WebInterface https://d5gate.ag5.mpi-sb.mpg.de/webyagospotlx/WebInterface –Neofonie faceted search –Broccoli –Stanford Parser 22

23 Demos Example queries –Google: scientists robotics –Swoogle: scientist robotics –YAGO: ?x isA scientist; keywords: robotics –Neofonie: Class:scientists robotics –Broccoli: Class:scientist occurs-with robotic* –Broccoli: add is-citizen-of Germany –Broccoli: Class:plants occurs-with edible leaves 23


Herunterladen ppt "Semantische Volltextsuche Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen Institut für Informatik Universität Freiburg Gemeinsame Arbeit mit."

Ähnliche Präsentationen


Google-Anzeigen