Semantische Volltextsuche Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen Institut für...

23
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

Transcript of Semantische Volltextsuche Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen Institut für...

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

Semantische Volltextsuche

Hannah BastLehrstuhl für Algorithmen und

DatenstrukturenInstitut für InformatikUniversität Freiburg

Gemeinsame Arbeit mit Björn Buchhold,Elmar Haussmann und Florian Bäurle

AntrittsvorlesungUni Freiburg, 21. Juni 2012

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

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

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

Broccoli — Übersicht

3

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

Ü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 gesehen4

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

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

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

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

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

Entitätserkennung 1/2

Erstmal: was ist das Problem

– Gegeben ein Stück Text, etwa:

The usable parts of rhubarb, a plant native toEastern 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/Rhubarb

en.wikipedia.org/wiki/East_Asia

7

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

Entitätserkennung 2/2

Schwierigkeiten

– Disambiguierung von Mehrdeutigkeiten

Rhubarb, the plantRhubarb, Australian rock bandRhubarb, US baseball comedy from 1951Rhubarb, British short film from 1969Rhubarb Jones, American disc jockeyund mehr ...

– Idee: Wörter im selben Kontext beachten

z.B. stalks und leaves Rhubarb, the plant

– Methode: maschinelles Lernen (semi-supervised)

8

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

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 meistensder 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

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

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

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

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

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

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 toEastern 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

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

Satzzerlegung 5/6

Sentence Constituent Identification (SCI)

ENUM

ENUM

CONC

SUBThe usable parts of rhubarb

a plant native to Eastern Asia

are

the medicinally used roots

the edible stalks

however rhubarb leaves

are toxic

13

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

Satzzerlegung 6/6

Sentence Constituent Recombination (SCR)

– Jetzt müssen wir den Baumnur noch "ausmultiplizieren"

SUB: "rausnehmen"

ENUM: "Vereinigung"

CONC: "Kreuzprodukt"

– Das ergibt dann folgendesogenannte Kontexte :

rhubarb a plant native to Eastern AsiaThe usable parts of rhubarb are the medicinally used rootsThe usable parts of rhubarb are the edible stalkshowever rhubarb leaves are toxic

ENUM

ENUM

CONC

SUBThe usable

parts of rhubarb

a plant native to Eastern Asia

are

the medicinally used roots the edible

stalks

however rhubarb leaves

are toxic

14

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

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

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

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

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

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

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

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

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

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

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

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

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

21

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

Demos

Show demos for

– Google Searchhttp://www.google.com/

– Swooglehttp://swoogle.umbc.edu/

– YAGO ontology searchhttps://d5gate.ag5.mpi-sb.mpg.de/webyagospotlx/WebInterface

– Neofonie faceted searchhttp://dbpedia.neofonie.de/browse/

– Broccolihttp://broccoli.informatik.uni-freiburg.de

– Stanford Parserhttp://nlp.stanford.edu:8080/parser/

22

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

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