Semantische Volltextsuche

Slides:



Advertisements
Ähnliche Präsentationen
Informatik II: Algorithmen und Datenstrukturen SS 2013
Advertisements

Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Eine dynamische Menge, die diese Operationen unterstützt,
Vom graphischen Differenzieren
On the Criteria to Be Used in Decomposing Systems into Modules
Write two sentences about each person based on the information given.
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Algorithmen und Datenstrukturen
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Mathematische Grundlagen und Rechnen mit algebraischen Zahlen
RDF-S3 und eRQL: RDF-Technologien für Informationsportale Karsten Tolle und Fabian Wleklinski.
Die Hausaufgaben: Machen Sie Ü. 6 u. 8 auf S. 29 Quiz on Wednesday:
Entitäten Extraktion Einführung
Eine Produktion von der Firma Presentations GmbH
Ideen der Informatik Suchen und Sortieren [Ordnung muss sein…]
Die Geschichte von Rudi
Strong Simple Past Verbs
Gegenstand EDV Thema: Informative Webseiten
Don`t make me think! A Common Sense Approach to Web Usability
Moin. Ich benutze PPT 2002 und möchte drei Bilder nacheinander 1
Computational Thinking Suchen und Sortieren [Ordnung muss sein…]
Einführung in die Programmierung
You need to use your mouse to see this presentation
Für weiter---- bitte eine Taste Drücken. Was ist denn das hier eigentlich? Eine Gefahrenstelle? Ein Hinweisschild. Naja egal, es kennt sich sowieso.
Test Review Deutsch I Kapitel I.
1. Nimm ein Deutsch II Buch. 2. If your parents have signed the classroom expectations form, please put it out on your desk. 2. Schreib 3 Sӓtze: Wann war.
Programmierte Übersetzungsübung „Helenam adeptus...“
Bereit ???? Nimm dir 10 Minuten Zeit. Ich versuche es dir zu erklären.
Google ist nicht allein …
Meine Lernziele.
Niklas: Was möchte ___________ (your) Schwester denn zum Geburtstag?
Passiv What are these sentences expressing?
Arne Vater Wintersemester 2006/ Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Herzlich willkommen in Oberpullendorf! Üdvözöllek Felsőpulyán!
Information Retrieval, Vektorraummodell
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
Da - Komponisten Deutsch macht Spaß mit Frau Boyle!
Der formelle Imperativ – the Imperative
Kapitel 9 2 modals/texts/infinitive completions
GERMAN 1013 Kapitel 5 2.
Die Fragen Wörter Wer? Was? Wann?.
Audio test function
Ich heiße Kevin Goellner
Deutsch 3 Frau Snell.
What is a “CASE”? in English: pronouns, certain interrogatives
What is a “CASE”? in English: pronouns, certain interrogatives
GERMAN 1013 Kapitel 5 Review. terminology Word types: –nouns, pronouns, verbs, adjectives, prepositions … Functions: –subject, predicate, object … Form.
type / function / form type of words:
QUIZZ to keep to receive to need to buy to give (present) to sell
Intelligente, schnelle Suche in Texten und Datenbanken Holger Bast Forschungspreis Technische Kommunikation der Alcatel-Lucent Stiftung für Kommunikationsforschung.
Kapitel 4 Grammar INDEX 1.Ordinal Numbers 2.Relative Pronouns and Relative Clauses 3.Conditional Sentences 4.Posessive: Genitive Case.
Kapitel 11 Grammar INDEX 1.Indirect Object. Indirect Object  Auf Klebepapier schreib was du erinnerst über Indirect Objects  Notizen über Indirect Objects.
Kapitel 2 Grammar INDEX 1.Subjects & Verbs 2.Conjugation of Verbs 3.Subject Verb Agreement 4.Person and Number 5.Present Tense 6.Word Order: Position of.
German “ da - compounds ” Provided by deutschdrang. com for individual and classroom use only. May not be reproduced for any other purposes.
Verbs With Separable Prefixes. What is a prefix? A prefix is a word part added to the beginning of a root or base word to create a new meaning.
Deutsch I für Anfänger Beginning German I
Deutsch I für Anfänger Beginning German I
Deutsch I für Anfänger Introduction to German Verb Conjugation.
type / function / form type of words:
 Präsentation transkript:

Semantische Volltextsuche Antrittsvorlesung Uni Freiburg, 21. Juni 2012 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

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

Broccoli — Übersicht

Ü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

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

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

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 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 en.wikipedia.org/wiki/Rhubarb

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)

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.)

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

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

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

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

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

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

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

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

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

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!

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, ...

Demos Show demos for Google Search http://www.google.com/ Swoogle http://swoogle.umbc.edu/ YAGO ontology search https://d5gate.ag5.mpi-sb.mpg.de/webyagospotlx/WebInterface Neofonie faceted search http://dbpedia.neofonie.de/browse/ Broccoli http://broccoli.informatik.uni-freiburg.de Stanford Parser http://nlp.stanford.edu:8080/parser/

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