SlideShare a Scribd company logo
1 of 20
Download to read offline
Der Nucleus einer Suchmaschine




                  Oder:
      Wie funktionieren indexbasierte
          Text Retrieval Systeme?

BarCamp Darmstadt 2010
Stefan Antoni
stefan@suchkultur.de
@Suchkultur auf Twitter
Um was soll es hier gehen?

●   Was leisten Suchmaschinen für den
    Benutzer?
●   Welche Daten speichert die Suchmaschine
    und welche speichert sie nicht?
    ● Was sind Metadaten?
    ● Was sind Stoppwörter?

●   Wie findet eine Suchmaschine?
●   Was ist ein invertierter Index?
Wovon solltet ihr schon Ahnung haben?




  Ihr solltet schon mal eine
 Websuche bedient haben ;-)
Welche Themen müssen draußen warten?

●   Crawling & Feeding sowie die damit
    verbundenen Processing-Techniken
●   Anfragesprachen und Query Processing
●   Webtech
●   Linguistik und NLP (Natural Language
    Processing)
●   Ranking-Algorithmen
●   Search Federation & Enterprise Search
Kann ich im Verlauf Fragen stellen?
Ja!
Was mir wichtig ist

●   Es wäre toll, wenn ich am Ende sagen kann: „Das
    war nicht mein Vortrag, sondern ein interessanter
    Dialog“
●   Diese Folien wurden mit der heissen Nadel
    gestrickt
     → sie werden Ungereimtheiten enthalten
●   Wer welche findet darf mich gerne darauf
    aufmerksam machen bzw. mich korrigieren
Was ist eine Suchmaschine (nicht)?
●   Ein Programm zum schnellen Finden von Dingen
    ●   z. B. Dokumente in Textform
●   Keine Datenbank!
    ●   Die Suchmaschine speichert keine Kopie des
        gesuchten Dokuments
●   Eine „Verweismaschine“ → Sie verweist auf den
    Aufbewahrungsort des gesuchten Dokuments
●   Ein „Metadatenfresser“ → Die Maschine weiß mehr über
    ein Dokument, als das Dokument über sich selbst
●   Ein „Sortierer“, der Dokumente nach unterschiedlichen
    Kriterien sortieren kann (Ranking)
Verweise und Metadaten
●    Verweise sind allgemein bekannt (aus „dem Web“)
●    Ein Verweis sieht im Web z. B. so aus:
    http://www.suchkultur.de/blog/suchmaschinen/was-ist-ein-invertierter-index
●    Ein Verweis ist selbst schon ein Metadatum:
     ●   Er ist ein Identifikationsmerkmal für ein bestimmtes
         Dokument
     ●   Er stellt einen vollständigen Pfad zum Dokument dar
         –   Der Pfad selbst lässt Rückschlüsse über eine gewisse
             Ordnungsstruktur zu
     ●   Er sagt, welches Übertragungsprotokoll für den Zugrif
         verwendet werden soll und kennt den zuständigen Server
Noch mehr Metadaten
●   Typische Metadaten, die für die Suche interessant sind:
    ●   Alle „sinntragenden“ Wörter aus dem Text des
        Dokuments → Namen, Tätigkeiten,
        Eigenschaften, Zahlen, uvm.
        –   Aber: Keine Stoppwörter wie → der, die, das, eine,
            ein, und, doch, oder, an, von, in […]
        –   Typische Stoppwortliste (DE): ~1000 Wörter
    ●   Und beliebig viel mehr:
        –   Geodaten, Zeitstempel & Zeitreihen, Autoren,
            Schlagworte (tags), Dokumentlänge, Teasertext,
            Zusammenfassung, Verweise auf andere Dokumente,
            Anzahl der Wörter,
Wie speichert man den Kram ab?

●   In einem invertierten Index → dem Nucleus einer
    Suchmaschine
●   Ähnlich wie das Schlagwortverzeichnis in einem
    Buch
    ●   Sortierte Liste (z. B. alphabetisch)
    ●   Nur sinntragende Wörter
    ●   Keine Stoppwörter
Ein Beispiel zu Veranschaulichung

Wir haben drei Textdateien mit Zitaten:
Text: "Wir wissen, wo du bist. Wir wissen wo du warst. Wir wissen
mehr oder weniger worüber du nachdenkst."
Autor: Eric E. Schmidt
Text: "[…] Man kann ohne Angst vor Übertreibung von einer „Generation Google“ sprechen, deren
Umgang mit Wissen und Information nachhaltig von der Suchmaschine beeinflusst wird. [...]“
Autor: Malte Herwig
Titel: Eliten in einer egalitären Welt
Seiten: 188
Datum: 2005
Text: „[...] Die Erfindung der Buchdruckerkunst macht dem menschlichen Verstande
zwar Ehre, doch verliert sie sehr, wenn man sie mit der Erfindung der Buchstaben
vergleicht. [...]“
Autor: Thomas Hobbes
Titel: Leviathan
Titel (lang): Leviathan (or the Matter, Forme and Power of a Commonwealth
Ecclesiastical and Civil)
Der passende Index
●   Wir haben 3 heterogene Dokumente und 6 verschiedene Metadaten
    ●   Metadaten sind: Text, Zitation, Titel, Titel (lang), Autor, Seiten
        und Datum
    ●   Wir benötigen einen Index mit mindestens 6 spezialisierten
        Feldern, die zu diesen Datentypen passen
        –   Ein sogenanntes Index-Schema
        –   Ziel: Die Suchmaschine kann passend zu Anfragen wie „Gib mir alles
            von Malte Herwig (Autor) über die Generation Google (Text) aus dem
            Jahr 2005 (Datum)“ Dokumente liefern.
    ●   Die Suchmaschine weiß dann in welchen Feldern des Indexes
        sie suchen muss
    ●   Durch diese Vorstrukturierung kann die Suchmaschine schnell
        & gezielt die gesuchten Informationen „zusammenkehren“
    ●   Sie weiß sozusagen „wo sie hingreifen muss“
Warum keine Datenbank?
●
    Eine Suchmaschine macht bei der Abfrage keine „teuren“ JOINs
●
    Die Abfragesprache ist auf die Suche optimiert (kein „LIKE <suchterm>“)
●
    Die zu speichernden Daten sind oft unstrukturiert und/oder lückenhaft (bedingt viele „NULL“-Werte)
●
    Die Schreibgeschwindigkeit ist nicht so wichtig, dafür aber die Lesegeschwindigkeit
●
    ACID (Atomicity, Consistency, Isolation & Durability) ist nicht wichtig, denn:
    → Atomare Operationen sind unnötig, da nur Lesezugrife stattfinden
    → Dokumente sind naturgemäß eher inkonsistente Datenstrukturen
    → Isolation (=locking) killt die Performance !! und ist nicht gewünscht
    → Aktualität ist wichtiger als Dauerhaftigkeit, denn: Alte Verweise verschwinden (dead links z. B.), und
    neue Verweise kommen hinzu. Dokumente ändern sich außerdem inhaltlich und werden neu prozessiert
●
    Zweiteilung der Indexerstellung und der Indexabfrage
    → Während ein Index erstellt wird, ist er nicht abfragbar
●
    Während ein Index abfragbar ist, wird separat sein Nachfolger erstellt
    → Häufig passiert das auf einem separaten Indexer-System
Und jetzt ein Beispiel




… zum mitdenken und Fragen stellen.
Indexierung – Stoppwörter entfernen

Wir haben drei Textdateien mit Zitaten
Text: "Wir wissen, wo du bist. Wir wissen wo du warst. Wir wissen mehr oder weniger
worüber du nachdenkst."
Autor: Eric E. Schmidt ← Ein feststehender Name bzw. eine „Phrase“

Text: "[…] Man kann ohne Angst vor Übertreibung von einer „Generation Google“ sprechen, deren
Umgang mit Wissen und Information nachhaltig von der Suchmaschine beeinflusst wird. [...]“
Autor: Malte Herwig
Titel: Eliten in einer egalitären Welt
Seiten: 188
Datum: 2005
Text: „[...] Die Erfindung der Buchdruckerkunst macht dem menschlichen Verstande
zwar Ehre, doch verliert sie sehr, wenn man sie mit der Erfindung der Buchstaben
vergleicht. [...]“
Autor: Thomas Hobbes
Titel: Leviathan
Titel (lang): Leviathan (or the Matter, Forme and Power of a Commonwealth
Ecclesiastical and Civil)
Optional: Linguistische Deflexion

Rückführung der sinntragenden Wörter auf Stammformen
Text: Wissen (3), nachdenken (1),
Autor: Eric E. Schmidt ← Ein feststehender Name bzw. „Phrase“

Text: Angst (1), Übertreibung (1), „Generation Google“ (1), Umgang (1), Wissen (1), Information (1),
Nachhaltigkeit (1), Suchmaschine (1), Beeinflussung (1)
Autor: Malte Herwig
Titel: Eliten in einer egalitären Welt
Seiten: 188
Datum: 2005

Text: Erfindung (2), Buchdruckerkunst (1), menschlich (1), Verstand (1), Ehre (1),
Verlust (1),
Autor: Thomas Hobbes
Titel: Leviathan
Titel (lang): Leviathan (or the Matter, Forme and Power of a Commonwealth
Ecclesiastical and Civil)
Und abspeichern!

So sieht der gefüllte Index am Ende aus:
Angst → Doc_2 (1)               Umgang → Doc_2 (1)                           Text
Beeinflussung → Doc_2 (1)       Verlust → Doc_3 (1)
Buchdruckerkunst → Doc_3 (1)    Verstand → Doc_3 (1)
Ehre → Doc_3 (1)                Wissen → Doc_1 (3), Doc_2 (1)
Erfindung → Doc_3 (2),           Eric E. Schmidt → Doc_1                    Autor
Generation Google → Doc_2 (1)    Malte Herwig → Doc_2
Information → Doc_2 (1)          Thomas Hobbes → Doc_3

Menschlich → Doc_3 (1)            Eliten in einer egalitären Welt → Doc_2   Titel

Nachdenken → Doc_1, (1)           Leviathan → Doc_3

Nachhaltigkeit → Doc_2 (1)
                                  2005 → Doc_2                              Datum
Suchmaschine → Doc_2 (1)
Übertreibung → Doc_2 (1)
                                  188 → Doc_2                               Seiten
Und abfragen!
Frage: In welchen Dokumenten finde ich das Wort wissen?
Antwort als gerankte Liste mit Hyperlink-Verweisen:
1. http://server.de/doc_1 (3x wissen im Text, deshalb höheres Ranking)
2. http://server.de/doc_2 (1x wissen im Text, deshalb niedrigeres Ranking)


Frage: Wer ist der Autor von Leviathan?
Antwort: Der Autor von doc_3 mit dem Titel „Leviathan“ heißt „Thomas Hobbes“


Frage: Wie viele Seiten hat Thomas Herwigs Buch von 2005?
Antwort: Das Buch doc_2 mit Datum von 2005 hat 188 Seiten
Danke!

More Related Content

Viewers also liked

Highlight collection 2012
Highlight collection 2012Highlight collection 2012
Highlight collection 2012Ervins
 
LaVita Spa Katalog - Dolce Vita Wellness Hotel Paradies Latsch in Südtirol
LaVita Spa Katalog - Dolce Vita Wellness Hotel Paradies Latsch in SüdtirolLaVita Spa Katalog - Dolce Vita Wellness Hotel Paradies Latsch in Südtirol
LaVita Spa Katalog - Dolce Vita Wellness Hotel Paradies Latsch in SüdtirolDolcevita Hotels
 
2 gunter kitzmuller
2 gunter kitzmuller2 gunter kitzmuller
2 gunter kitzmullerICV_eV
 
Neue Arbeitswelt, Fluch oder Segen? FOW-Studie
Neue Arbeitswelt, Fluch oder Segen? FOW-StudieNeue Arbeitswelt, Fluch oder Segen? FOW-Studie
Neue Arbeitswelt, Fluch oder Segen? FOW-Studiemeinungsraum.at
 
BELAJAR BAHASA INGRIS
BELAJAR BAHASA INGRISBELAJAR BAHASA INGRIS
BELAJAR BAHASA INGRISHafidz Hafidz
 
Trabajo lidices castro
Trabajo lidices castroTrabajo lidices castro
Trabajo lidices castrolidices1
 
SRG Nachrichtenproduktion
SRG Nachrichtenproduktion SRG Nachrichtenproduktion
SRG Nachrichtenproduktion Aleksandra Gnach
 
Magazine base3
Magazine base3Magazine base3
Magazine base3luzsana
 
Práctica dirigida N° 4 - 4to
Práctica dirigida N° 4 - 4toPráctica dirigida N° 4 - 4to
Práctica dirigida N° 4 - 4toaldomat07
 
Connected "Strategie"
Connected "Strategie"Connected "Strategie"
Connected "Strategie"Jonas Kiefer
 

Viewers also liked (20)

Highlight collection 2012
Highlight collection 2012Highlight collection 2012
Highlight collection 2012
 
Aéreo-mundo
Aéreo-mundo Aéreo-mundo
Aéreo-mundo
 
CONCEPTOS DE LAS TIC
CONCEPTOS DE LAS TICCONCEPTOS DE LAS TIC
CONCEPTOS DE LAS TIC
 
Criminalidad y violencia juvenil en el Perú
Criminalidad y violencia juvenil en el PerúCriminalidad y violencia juvenil en el Perú
Criminalidad y violencia juvenil en el Perú
 
DiVa - FAQs
DiVa - FAQsDiVa - FAQs
DiVa - FAQs
 
LaVita Spa Katalog - Dolce Vita Wellness Hotel Paradies Latsch in Südtirol
LaVita Spa Katalog - Dolce Vita Wellness Hotel Paradies Latsch in SüdtirolLaVita Spa Katalog - Dolce Vita Wellness Hotel Paradies Latsch in Südtirol
LaVita Spa Katalog - Dolce Vita Wellness Hotel Paradies Latsch in Südtirol
 
2 gunter kitzmuller
2 gunter kitzmuller2 gunter kitzmuller
2 gunter kitzmuller
 
Neue Arbeitswelt, Fluch oder Segen? FOW-Studie
Neue Arbeitswelt, Fluch oder Segen? FOW-StudieNeue Arbeitswelt, Fluch oder Segen? FOW-Studie
Neue Arbeitswelt, Fluch oder Segen? FOW-Studie
 
BELAJAR BAHASA INGRIS
BELAJAR BAHASA INGRISBELAJAR BAHASA INGRIS
BELAJAR BAHASA INGRIS
 
Trabajo lidices castro
Trabajo lidices castroTrabajo lidices castro
Trabajo lidices castro
 
Blog Projekt Burgenland Präsentation 2012
Blog Projekt Burgenland Präsentation 2012Blog Projekt Burgenland Präsentation 2012
Blog Projekt Burgenland Präsentation 2012
 
SRG Nachrichtenproduktion
SRG Nachrichtenproduktion SRG Nachrichtenproduktion
SRG Nachrichtenproduktion
 
Magazine base3
Magazine base3Magazine base3
Magazine base3
 
OOP Graphik 1
OOP  Graphik 1OOP  Graphik 1
OOP Graphik 1
 
Presentación2
Presentación2Presentación2
Presentación2
 
Informatica
InformaticaInformatica
Informatica
 
Práctica dirigida N° 4 - 4to
Práctica dirigida N° 4 - 4toPráctica dirigida N° 4 - 4to
Práctica dirigida N° 4 - 4to
 
Parachute
ParachuteParachute
Parachute
 
Connected "Strategie"
Connected "Strategie"Connected "Strategie"
Connected "Strategie"
 
DA praesentation
DA praesentationDA praesentation
DA praesentation
 

Similar to Der Nucleus einer Suchmaschine

Enterprise Search: Potenziale und Fallstricke
Enterprise Search: Potenziale und FallstrickeEnterprise Search: Potenziale und Fallstricke
Enterprise Search: Potenziale und FallstrickeAlexander Stocker
 
Semantic Web und Linked Open Data. Eine Bibliothekarische Geschichte
Semantic Web und Linked Open Data. Eine Bibliothekarische GeschichteSemantic Web und Linked Open Data. Eine Bibliothekarische Geschichte
Semantic Web und Linked Open Data. Eine Bibliothekarische GeschichteJakob .
 
"SEO Texte": So schreibst du Texte für User, die auch gefunden werden.
"SEO Texte": So schreibst du Texte für User, die auch gefunden werden. "SEO Texte": So schreibst du Texte für User, die auch gefunden werden.
"SEO Texte": So schreibst du Texte für User, die auch gefunden werden. Daniel Marx
 
Datenformate und Standards
Datenformate und StandardsDatenformate und Standards
Datenformate und StandardsJakob .
 
20100913 dokumente dekonstruieren
20100913 dokumente dekonstruieren20100913 dokumente dekonstruieren
20100913 dokumente dekonstruierenStefan Gradmann
 
Ontologien für Fachportale - Voraussetzungen und Nutzenpotentiale
Ontologien für Fachportale - Voraussetzungen und NutzenpotentialeOntologien für Fachportale - Voraussetzungen und Nutzenpotentiale
Ontologien für Fachportale - Voraussetzungen und NutzenpotentialeAndreas Schmidt
 
Wie Suchmaschinen die Inhalte des Web interpretieren
Wie Suchmaschinen die Inhalte des Web interpretierenWie Suchmaschinen die Inhalte des Web interpretieren
Wie Suchmaschinen die Inhalte des Web interpretierenDirk Lewandowski
 
Literaturverwaltung und Publikationsstrategien
Literaturverwaltung und PublikationsstrategienLiteraturverwaltung und Publikationsstrategien
Literaturverwaltung und PublikationsstrategienTIB Hannover
 
Ziele, dafür benötigte Inhalte und mediale Umsetzungsmöglichkeiten.pptx
Ziele, dafür benötigte Inhalte und mediale Umsetzungsmöglichkeiten.pptxZiele, dafür benötigte Inhalte und mediale Umsetzungsmöglichkeiten.pptx
Ziele, dafür benötigte Inhalte und mediale Umsetzungsmöglichkeiten.pptxClara933291
 
Linked Open Data in der Bibliothekswelt
Linked Open Data in der BibliotheksweltLinked Open Data in der Bibliothekswelt
Linked Open Data in der BibliotheksweltAdrian Pohl
 
Einführung in Linked Data
Einführung in Linked DataEinführung in Linked Data
Einführung in Linked DataFelix Ostrowski
 
Herausforderungen und Lösungen bei der Publikation und Nutzung von Normdaten ...
Herausforderungen und Lösungen bei der Publikation und Nutzung von Normdaten ...Herausforderungen und Lösungen bei der Publikation und Nutzung von Normdaten ...
Herausforderungen und Lösungen bei der Publikation und Nutzung von Normdaten ...Jakob .
 
Aufbau eines zentralen Indexes im GBV
Aufbau eines zentralen Indexes im GBVAufbau eines zentralen Indexes im GBV
Aufbau eines zentralen Indexes im GBVTill Kinstler
 
Lambert Heller @ Zukunftswerkstatt, BID-Kongreß 2010: Thesenpapier zum Thema ...
Lambert Heller @ Zukunftswerkstatt, BID-Kongreß 2010: Thesenpapier zum Thema ...Lambert Heller @ Zukunftswerkstatt, BID-Kongreß 2010: Thesenpapier zum Thema ...
Lambert Heller @ Zukunftswerkstatt, BID-Kongreß 2010: Thesenpapier zum Thema ...TIB Hannover
 
Ein PHP-Wrapper für die Internet-Suchmaschine ht://Dig oder: „Google selbstg...
Ein PHP-Wrapper für die Internet-Suchmaschine ht://Dig oder: „Google selbstg...Ein PHP-Wrapper für die Internet-Suchmaschine ht://Dig oder: „Google selbstg...
Ein PHP-Wrapper für die Internet-Suchmaschine ht://Dig oder: „Google selbstg...frankstaude
 

Similar to Der Nucleus einer Suchmaschine (20)

Enterprise Search: Potenziale und Fallstricke
Enterprise Search: Potenziale und FallstrickeEnterprise Search: Potenziale und Fallstricke
Enterprise Search: Potenziale und Fallstricke
 
Semantic Web und Linked Open Data. Eine Bibliothekarische Geschichte
Semantic Web und Linked Open Data. Eine Bibliothekarische GeschichteSemantic Web und Linked Open Data. Eine Bibliothekarische Geschichte
Semantic Web und Linked Open Data. Eine Bibliothekarische Geschichte
 
"SEO Texte": So schreibst du Texte für User, die auch gefunden werden.
"SEO Texte": So schreibst du Texte für User, die auch gefunden werden. "SEO Texte": So schreibst du Texte für User, die auch gefunden werden.
"SEO Texte": So schreibst du Texte für User, die auch gefunden werden.
 
Datenformate und Standards
Datenformate und StandardsDatenformate und Standards
Datenformate und Standards
 
20100913 dokumente dekonstruieren
20100913 dokumente dekonstruieren20100913 dokumente dekonstruieren
20100913 dokumente dekonstruieren
 
Ontologien für Fachportale - Voraussetzungen und Nutzenpotentiale
Ontologien für Fachportale - Voraussetzungen und NutzenpotentialeOntologien für Fachportale - Voraussetzungen und Nutzenpotentiale
Ontologien für Fachportale - Voraussetzungen und Nutzenpotentiale
 
Wie Suchmaschinen die Inhalte des Web interpretieren
Wie Suchmaschinen die Inhalte des Web interpretierenWie Suchmaschinen die Inhalte des Web interpretieren
Wie Suchmaschinen die Inhalte des Web interpretieren
 
Überblick Semantic Web
Überblick Semantic WebÜberblick Semantic Web
Überblick Semantic Web
 
Literaturverwaltung und Publikationsstrategien
Literaturverwaltung und PublikationsstrategienLiteraturverwaltung und Publikationsstrategien
Literaturverwaltung und Publikationsstrategien
 
Ziele, dafür benötigte Inhalte und mediale Umsetzungsmöglichkeiten.pptx
Ziele, dafür benötigte Inhalte und mediale Umsetzungsmöglichkeiten.pptxZiele, dafür benötigte Inhalte und mediale Umsetzungsmöglichkeiten.pptx
Ziele, dafür benötigte Inhalte und mediale Umsetzungsmöglichkeiten.pptx
 
Linked Open Data in der Bibliothekswelt
Linked Open Data in der BibliotheksweltLinked Open Data in der Bibliothekswelt
Linked Open Data in der Bibliothekswelt
 
Einführung in Linked Data
Einführung in Linked DataEinführung in Linked Data
Einführung in Linked Data
 
Microformats & COinS
Microformats & COinSMicroformats & COinS
Microformats & COinS
 
Herausforderungen und Lösungen bei der Publikation und Nutzung von Normdaten ...
Herausforderungen und Lösungen bei der Publikation und Nutzung von Normdaten ...Herausforderungen und Lösungen bei der Publikation und Nutzung von Normdaten ...
Herausforderungen und Lösungen bei der Publikation und Nutzung von Normdaten ...
 
Relevantes schneller finden – mit-Lucene und Solr
Relevantes schneller finden – mit-Lucene und SolrRelevantes schneller finden – mit-Lucene und Solr
Relevantes schneller finden – mit-Lucene und Solr
 
Bit SoSem 2014 | Basisinformationstechnologie I - 04: Text
Bit SoSem 2014 | Basisinformationstechnologie I - 04: TextBit SoSem 2014 | Basisinformationstechnologie I - 04: Text
Bit SoSem 2014 | Basisinformationstechnologie I - 04: Text
 
Aufbau eines zentralen Indexes im GBV
Aufbau eines zentralen Indexes im GBVAufbau eines zentralen Indexes im GBV
Aufbau eines zentralen Indexes im GBV
 
Lambert Heller @ Zukunftswerkstatt, BID-Kongreß 2010: Thesenpapier zum Thema ...
Lambert Heller @ Zukunftswerkstatt, BID-Kongreß 2010: Thesenpapier zum Thema ...Lambert Heller @ Zukunftswerkstatt, BID-Kongreß 2010: Thesenpapier zum Thema ...
Lambert Heller @ Zukunftswerkstatt, BID-Kongreß 2010: Thesenpapier zum Thema ...
 
Ein PHP-Wrapper für die Internet-Suchmaschine ht://Dig oder: „Google selbstg...
Ein PHP-Wrapper für die Internet-Suchmaschine ht://Dig oder: „Google selbstg...Ein PHP-Wrapper für die Internet-Suchmaschine ht://Dig oder: „Google selbstg...
Ein PHP-Wrapper für die Internet-Suchmaschine ht://Dig oder: „Google selbstg...
 
BIT I SoSem 2015 | Basisinformationstechnologie II - 04_Text
BIT I SoSem 2015 | Basisinformationstechnologie II - 04_TextBIT I SoSem 2015 | Basisinformationstechnologie II - 04_Text
BIT I SoSem 2015 | Basisinformationstechnologie II - 04_Text
 

Der Nucleus einer Suchmaschine

  • 1. Der Nucleus einer Suchmaschine Oder: Wie funktionieren indexbasierte Text Retrieval Systeme? BarCamp Darmstadt 2010 Stefan Antoni stefan@suchkultur.de @Suchkultur auf Twitter
  • 2. Um was soll es hier gehen? ● Was leisten Suchmaschinen für den Benutzer? ● Welche Daten speichert die Suchmaschine und welche speichert sie nicht? ● Was sind Metadaten? ● Was sind Stoppwörter? ● Wie findet eine Suchmaschine? ● Was ist ein invertierter Index?
  • 3. Wovon solltet ihr schon Ahnung haben? Ihr solltet schon mal eine Websuche bedient haben ;-)
  • 4. Welche Themen müssen draußen warten? ● Crawling & Feeding sowie die damit verbundenen Processing-Techniken ● Anfragesprachen und Query Processing ● Webtech ● Linguistik und NLP (Natural Language Processing) ● Ranking-Algorithmen ● Search Federation & Enterprise Search
  • 5. Kann ich im Verlauf Fragen stellen?
  • 6. Ja!
  • 7. Was mir wichtig ist ● Es wäre toll, wenn ich am Ende sagen kann: „Das war nicht mein Vortrag, sondern ein interessanter Dialog“ ● Diese Folien wurden mit der heissen Nadel gestrickt → sie werden Ungereimtheiten enthalten ● Wer welche findet darf mich gerne darauf aufmerksam machen bzw. mich korrigieren
  • 8. Was ist eine Suchmaschine (nicht)? ● Ein Programm zum schnellen Finden von Dingen ● z. B. Dokumente in Textform ● Keine Datenbank! ● Die Suchmaschine speichert keine Kopie des gesuchten Dokuments ● Eine „Verweismaschine“ → Sie verweist auf den Aufbewahrungsort des gesuchten Dokuments ● Ein „Metadatenfresser“ → Die Maschine weiß mehr über ein Dokument, als das Dokument über sich selbst ● Ein „Sortierer“, der Dokumente nach unterschiedlichen Kriterien sortieren kann (Ranking)
  • 9. Verweise und Metadaten ● Verweise sind allgemein bekannt (aus „dem Web“) ● Ein Verweis sieht im Web z. B. so aus: http://www.suchkultur.de/blog/suchmaschinen/was-ist-ein-invertierter-index ● Ein Verweis ist selbst schon ein Metadatum: ● Er ist ein Identifikationsmerkmal für ein bestimmtes Dokument ● Er stellt einen vollständigen Pfad zum Dokument dar – Der Pfad selbst lässt Rückschlüsse über eine gewisse Ordnungsstruktur zu ● Er sagt, welches Übertragungsprotokoll für den Zugrif verwendet werden soll und kennt den zuständigen Server
  • 10. Noch mehr Metadaten ● Typische Metadaten, die für die Suche interessant sind: ● Alle „sinntragenden“ Wörter aus dem Text des Dokuments → Namen, Tätigkeiten, Eigenschaften, Zahlen, uvm. – Aber: Keine Stoppwörter wie → der, die, das, eine, ein, und, doch, oder, an, von, in […] – Typische Stoppwortliste (DE): ~1000 Wörter ● Und beliebig viel mehr: – Geodaten, Zeitstempel & Zeitreihen, Autoren, Schlagworte (tags), Dokumentlänge, Teasertext, Zusammenfassung, Verweise auf andere Dokumente, Anzahl der Wörter,
  • 11. Wie speichert man den Kram ab? ● In einem invertierten Index → dem Nucleus einer Suchmaschine ● Ähnlich wie das Schlagwortverzeichnis in einem Buch ● Sortierte Liste (z. B. alphabetisch) ● Nur sinntragende Wörter ● Keine Stoppwörter
  • 12. Ein Beispiel zu Veranschaulichung Wir haben drei Textdateien mit Zitaten: Text: "Wir wissen, wo du bist. Wir wissen wo du warst. Wir wissen mehr oder weniger worüber du nachdenkst." Autor: Eric E. Schmidt Text: "[…] Man kann ohne Angst vor Übertreibung von einer „Generation Google“ sprechen, deren Umgang mit Wissen und Information nachhaltig von der Suchmaschine beeinflusst wird. [...]“ Autor: Malte Herwig Titel: Eliten in einer egalitären Welt Seiten: 188 Datum: 2005 Text: „[...] Die Erfindung der Buchdruckerkunst macht dem menschlichen Verstande zwar Ehre, doch verliert sie sehr, wenn man sie mit der Erfindung der Buchstaben vergleicht. [...]“ Autor: Thomas Hobbes Titel: Leviathan Titel (lang): Leviathan (or the Matter, Forme and Power of a Commonwealth Ecclesiastical and Civil)
  • 13. Der passende Index ● Wir haben 3 heterogene Dokumente und 6 verschiedene Metadaten ● Metadaten sind: Text, Zitation, Titel, Titel (lang), Autor, Seiten und Datum ● Wir benötigen einen Index mit mindestens 6 spezialisierten Feldern, die zu diesen Datentypen passen – Ein sogenanntes Index-Schema – Ziel: Die Suchmaschine kann passend zu Anfragen wie „Gib mir alles von Malte Herwig (Autor) über die Generation Google (Text) aus dem Jahr 2005 (Datum)“ Dokumente liefern. ● Die Suchmaschine weiß dann in welchen Feldern des Indexes sie suchen muss ● Durch diese Vorstrukturierung kann die Suchmaschine schnell & gezielt die gesuchten Informationen „zusammenkehren“ ● Sie weiß sozusagen „wo sie hingreifen muss“
  • 14. Warum keine Datenbank? ● Eine Suchmaschine macht bei der Abfrage keine „teuren“ JOINs ● Die Abfragesprache ist auf die Suche optimiert (kein „LIKE <suchterm>“) ● Die zu speichernden Daten sind oft unstrukturiert und/oder lückenhaft (bedingt viele „NULL“-Werte) ● Die Schreibgeschwindigkeit ist nicht so wichtig, dafür aber die Lesegeschwindigkeit ● ACID (Atomicity, Consistency, Isolation & Durability) ist nicht wichtig, denn: → Atomare Operationen sind unnötig, da nur Lesezugrife stattfinden → Dokumente sind naturgemäß eher inkonsistente Datenstrukturen → Isolation (=locking) killt die Performance !! und ist nicht gewünscht → Aktualität ist wichtiger als Dauerhaftigkeit, denn: Alte Verweise verschwinden (dead links z. B.), und neue Verweise kommen hinzu. Dokumente ändern sich außerdem inhaltlich und werden neu prozessiert ● Zweiteilung der Indexerstellung und der Indexabfrage → Während ein Index erstellt wird, ist er nicht abfragbar ● Während ein Index abfragbar ist, wird separat sein Nachfolger erstellt → Häufig passiert das auf einem separaten Indexer-System
  • 15. Und jetzt ein Beispiel … zum mitdenken und Fragen stellen.
  • 16. Indexierung – Stoppwörter entfernen Wir haben drei Textdateien mit Zitaten Text: "Wir wissen, wo du bist. Wir wissen wo du warst. Wir wissen mehr oder weniger worüber du nachdenkst." Autor: Eric E. Schmidt ← Ein feststehender Name bzw. eine „Phrase“ Text: "[…] Man kann ohne Angst vor Übertreibung von einer „Generation Google“ sprechen, deren Umgang mit Wissen und Information nachhaltig von der Suchmaschine beeinflusst wird. [...]“ Autor: Malte Herwig Titel: Eliten in einer egalitären Welt Seiten: 188 Datum: 2005 Text: „[...] Die Erfindung der Buchdruckerkunst macht dem menschlichen Verstande zwar Ehre, doch verliert sie sehr, wenn man sie mit der Erfindung der Buchstaben vergleicht. [...]“ Autor: Thomas Hobbes Titel: Leviathan Titel (lang): Leviathan (or the Matter, Forme and Power of a Commonwealth Ecclesiastical and Civil)
  • 17. Optional: Linguistische Deflexion Rückführung der sinntragenden Wörter auf Stammformen Text: Wissen (3), nachdenken (1), Autor: Eric E. Schmidt ← Ein feststehender Name bzw. „Phrase“ Text: Angst (1), Übertreibung (1), „Generation Google“ (1), Umgang (1), Wissen (1), Information (1), Nachhaltigkeit (1), Suchmaschine (1), Beeinflussung (1) Autor: Malte Herwig Titel: Eliten in einer egalitären Welt Seiten: 188 Datum: 2005 Text: Erfindung (2), Buchdruckerkunst (1), menschlich (1), Verstand (1), Ehre (1), Verlust (1), Autor: Thomas Hobbes Titel: Leviathan Titel (lang): Leviathan (or the Matter, Forme and Power of a Commonwealth Ecclesiastical and Civil)
  • 18. Und abspeichern! So sieht der gefüllte Index am Ende aus: Angst → Doc_2 (1) Umgang → Doc_2 (1) Text Beeinflussung → Doc_2 (1) Verlust → Doc_3 (1) Buchdruckerkunst → Doc_3 (1) Verstand → Doc_3 (1) Ehre → Doc_3 (1) Wissen → Doc_1 (3), Doc_2 (1) Erfindung → Doc_3 (2), Eric E. Schmidt → Doc_1 Autor Generation Google → Doc_2 (1) Malte Herwig → Doc_2 Information → Doc_2 (1) Thomas Hobbes → Doc_3 Menschlich → Doc_3 (1) Eliten in einer egalitären Welt → Doc_2 Titel Nachdenken → Doc_1, (1) Leviathan → Doc_3 Nachhaltigkeit → Doc_2 (1) 2005 → Doc_2 Datum Suchmaschine → Doc_2 (1) Übertreibung → Doc_2 (1) 188 → Doc_2 Seiten
  • 19. Und abfragen! Frage: In welchen Dokumenten finde ich das Wort wissen? Antwort als gerankte Liste mit Hyperlink-Verweisen: 1. http://server.de/doc_1 (3x wissen im Text, deshalb höheres Ranking) 2. http://server.de/doc_2 (1x wissen im Text, deshalb niedrigeres Ranking) Frage: Wer ist der Autor von Leviathan? Antwort: Der Autor von doc_3 mit dem Titel „Leviathan“ heißt „Thomas Hobbes“ Frage: Wie viele Seiten hat Thomas Herwigs Buch von 2005? Antwort: Das Buch doc_2 mit Datum von 2005 hat 188 Seiten