2.4 Effiziente Datenstrukturen
|
|
- Busso Bachmeier
- vor 5 Jahren
- Abrufe
Transkript
1 2.4 Effiziente Datenstrukturen Effizienz des Systems bezeichnet den sparsamer Umgang mit Systemressourcen und die Skalierbarkeit auch über große Kollektionen. Charakteristische Werte für Effizienz sind z.b. Speicherplatzverbrauch CPU-Zeit Anzahl der I/O Operationen Antwortzeit Ziel im IR: Effizient genug Prof. Kießling 2016 Kap. 2-83
2 Inverted File Indexstrukturen ermöglichen einen effizienten Zugriff auf eine Menge von Dokumenten, die bestimmte Terme enthalten. Die zugrundeliegende Dateistruktur kann von 10% bis zu mehr als 100 % der Größe der Textinhalte annehmen. Indexstrukturen wie der Inverted File nutzen die lexikographische Ordnung der Terme aus. Prof. Kießling 2016 Kap. 2-84
3 Grundstruktur eines Inverted File Index Stemming anhand Porter Stemmer nachvollziehbar Prof. Kießling 2016 Kap. 2-85
4 Der Inverted File bietet eine Index-Datenstruktur (Sekundärindex), die eine Suche nach einer Menge von Dokumenten ermöglicht, die bestimmte Terme enthalten (Term {Dokument}). Zusätzlich kann die Worthäufigkeit sowie die Position eines Terms innerhalb eines Dokuments gespeichert werden. Um einen Inverted File Index zu erstellen, muss die gegebene Abbildung von Dokument {Term}, wie sie etwa ein Crawler liefert, invertiert werden. Prof. Kießling 2016 Kap. 2-86
5 Beispiel Boolesches Retrieval Suche (Homer) Suche (Bart) D1, D2, D3 D2, D3, D4 Homer AND Bart: Schnitt der beiden Listen D2, D3 Homer OR Bart: Vereinigung der beiden Listen D1, D2, D3, D4 Prof. Kießling 2016 Kap. 2-87
6 Beispiel Vektorraummodell mit TFxIDF analog zu 2-47: D1 : Sunshine, Sunshine, Help, Orbits D2 : Sunshine, Help, Help, Orbits, Harbour Suche (Sunshine) D1 (tf=2), D2 (tf=1) n Sunshine = 2 Suche (Help) D1 (tf=1), D2 (tf=2) n Help = 2 Suche (Orbits) D1 (tf=1), D2 (tf=1) n Orbits =2 Suche (Harbour) D2 (tf=1) n Harbour = 1 Prof. Kießling 2016 Kap. 2-88
7 Beispiel Vektorraummodell mit TFxIDF Weitere benötigte Größen ablesbar aus Postings Statistik: D: Menge der Dokumente in der Kollektion ac: Durchschnittliche Termanzahl c m : Anzahl der Terme in Dokument D m Somit kann der TDxIDF Wert für Dokument D1 und D2 analog zum vorherigen Beispiel berechnet werden Prof. Kießling 2016 Kap. 2-89
8 Effiziente Datenstrukturen: Präfix B*-Baum Sortierter Array Operationen: Suche (T i ): Gibt alle Dokumente D j zurück, die T i enthalten, sowie Zusatzinformationen wie Worthäufigkeit Einfügen (T i, D j ): Fügt die Informationen in den Index ein, dass D j Term T i enthält. Ist T i bereits im Index enthalten, so wird ein weiterer Verweis auf D j hinzugefügt Löschen (T i, D j ): Löscht Verweis auf D j für Term T i aus dem Index Sowohl Einfügen als auch Löschen führen zu einem Update von Statistikinformationen. Prof. Kießling 2016 Kap. 2-90
9 Präfix B*-Bäume Ausgangspunkt sind B*-Baume Blätter können untereinander verknüpft sein, um sequentielle Verarbeitung zu ermöglichen Der Teil des Index, der nur Verzweigungsknoten beinhaltet wird im folgenden als B*-Index, die Blätter als B*-Datei bezeichnet Prof. Kießling 2016 Kap. 2-91
10 Inverted File als Präfix B*-Baum Prof. Kießling 2016 Kap. 2-92
11 Präfix B*-Bäume Optimierung: Verwendung kürzester Präfix-Separatoren Bart, Lisa, Maggie, Marge Einfügen des Schlüssels Homer mit Spaltung des Blatts Bart, Homer, Lisa Maggie, Marge Statt Maggie als Schlüssel im B*-Index ist jeder String s gültig, der die folgende Eigenschaft erfüllt: Lisa < s < Maggie Wahl des kürzesten Präfix-Seperators s bei der Aufteilung von Blättern Prof. Kießling 2016 Kap. 2-93
12 Präfix B*-Bäume Hintergrund: Suchgeschwindigkeit ist abhängig von der Höhe des Baumes Ziel: Minimale Höhe durch maximale Verzweigung Problem: Seitengröße der Verzweigungsknoten im B*-Index p 0, s 1, p 1,, s i, p i, s i+1,...,s m, p m Seite besteht aus Zeigern p (wenige Byte groß) und Schlüsseln s Durch Minimierung der Schlüsselgröße haben mehr Schlüssel pro Seite Platz erhöhter Verzweigungsgrad Prof. Kießling 2016 Kap. 2-94
13 Präfix B*-Bäume: Beispielbaum Jeder Schlüssel im B*-Index ist ein kürzester Präfix- Separator zur Unterscheidung der Wörter im nächsten Level f m ag br e gr h kat l rut uni aff 2 kaninch 9 katz 1 Postings Datei Prof. Kießling 2016 Kap. 2-95
14 Präfix B*-Bäume Weitere Verbesserung: Blätter müssen nicht notwendigerweise in der Mitte gespalten werden Einführung eines Spaltungsintervalls, das einen Bereich d L um den Mittelpunkt einer Seite definiert, in dem eine Teilung erfolgen kann Innerhalb des Intervalls wird derjenige Punkt zur Spaltung gewählt, der einen minimalen Präfix-Separator liefert Verfahren ist auch für Verzweigungsknoten anwendbar mit Bereich d B Prof. Kießling 2016 Kap. 2-96
15 Präfix B*-Bäume Beispiel: Abschluss, Achtung, Affe, Affenhaus, Katze, Katzenfutter Eine Teilung des Blattes in der Mitte hätte Präfix-Separator Affen zur Folge Eine Verschiebung des Punktes um eine Stelle nach links oder rechts führt zu kürzeren Präfix-Separatoren Af oder K Prof. Kießling 2016 Kap. 2-97
16 Präfix B*-Bäume Berechnungsbeispiel entnommen aus Bayer & Unterauer (1977) Seitengröße: 1684 Bytes (aktuell z.b 8 KB) Seite enthält 1 l 2 k k l 2 k Einträge für die Wurzel für alle weiteren Knoten B*-Baum: Schlüssel 10 Bytes, Zeiger 4 Bytes k = 60 Präfix B*-Baum: Präfix-Separator 4 Bytes, Zeiger 4 Bytes k = 105 Prof. Kießling 2016 Kap. 2-98
17 Höhe von Präfix B*-Bäumen Höhe von einfachen Präfix B*-Bäumen: Minimale Anzahl von Einträgen im B*-Index: I min = 2(k+1) h-1-1 Maximale Anzahl von Einträgen im B*-Index: I max = (2k+1) h -1 Vergleich B*-Baum und Präfix B*-Baum: B*-Baum (k=60) Präfix B*-Baum (k=105) h I min I av I max I min I av I max Prof. Kießling 2016 Kap. 2-99
18 Sortierter Array Ein sortierter Array hält die lexikographische Ordnung der Terme als sortierte Liste in einem Array. Zusätzlich enthält jeder Eintrag die Anzahl der Dokumente in der ein Term vorkommt, sowie einen Verweis auf die Postings Datei. Die Suche nach Stichwörtern erfolgt mit Hilfe der Binären Suche. Das Hinzufügen neuer Stichwörter, also die Erweiterung des Vokabulars, ist mit hohen Kosten verbunden, da der Array neu sortiert werden muss. Ein Vorteil ist dagegen die leichte Implementierung der Datenstruktur bei angemessener Performance. Prof. Kießling 2016 Kap
19 Inverted File als sortierter Array Prof. Kießling 2016 Kap
20 Schritte der Indexerstellung Extraktion des Textes zur Erstellung einer Zuordnung Dokument {Term} Invertierung der Liste, um eine neue Zuordnung der Form Term {Dokument} zu erhalten Sortierung der invertierten Liste Optionale Schritte: Termgewichtung, Kompression, Reorganisation Prof. Kießling 2016 Kap
21 Schritte der Indexerstellung Extraktionsschritt: Erstellung von Tokens unter Berücksichtigung sprachspezifischer Regeln Anwendung linguistischer Verfahren Löschung von Stoppwörtern Definierte Beschränkungen: Vordefiniertes Vokabular Stoppwörter nicht indiziert Regeln zu indizierbaren Wörtern (z.b. Lehr- und Satzzeichen) Liste indizierbarer Zeichenfolgen (z.b. Exklusion von Ziffernfolgen) Prof. Kießling 2016 Kap
22 Schritte der Indexerstellung Prof. Kießling 2016 Kap
23 Schritte der Indexerstellung Prof. Kießling 2016 Kap
24 Sortierung und Suchkosten Für große Datenmengen kann diese Operation viel Zeit kosten. Sortierverfahren wie Heapsort oder Mergesort garantieren dabei Worst-Case Kosten in O (n log n ). Beispiel für Suchkosten: Die deutsche Sprache hat ca. 5,3 Millionen Wörter. Das Vokabular wird durch Stoppwörter / Stemming reduziert. Sei nun ein Array mit Einträgen (Vokabular) gegeben. Zur Suche eines Terms werden bei der binären Suche maximal log2 (n+1) Vergleiche benötigt. Bei gegebenem Array entspricht das 21 Vergleichen. Prof. Kießling 2016 Kap
25 2.5 Lucene Lucene ist eine Java-Bibliothek, welche die Funktionalität einer Volltext- Suchmaschine implementiert. Der Code ist Opensource und ist ein Projekt der Apache Software Foundation. Die aktuelle Lucene-Version für Java ist Zusätzlich existieren eine Reihe von Portierungen in andere Sprachen (C ++, C#, Python, ) bzw. Spracheinbindungen. Dank ihrer hohen Performanz und leichten Skalierbarkeit können die Lucene- Komponenten in vielfältigen Anwendungen eingesetzt werden: z.b. benutzt Wikipedia Lucene zur Volltextsuche. Opensource Web Crawler Nutch basiert auf Komponenten von Lucene. Prof. Kießling 2016 Kap
26 Lucene basiert auf dem Vektorraummodell mit einer eigenen Ähnlichkeitsfunktion, die unter anderem auch auf Inverted Document Frequency (IDF) und Term Frequency (TF) basiert, um ein Ranking der Dokumente zu erstellen. Zusätzlich werden auch Methoden für Boolesche Anfragen (Bestimmung der Ergebnismenge mit Booleschem Modell mit anschließendem Ranking) Unscharfe Anfragen mit Hilfe der Levenshtein-Distanz zur Verfügung gestellt. Geographische Suche ist durch Angabe einer Geo-Kodierung in den Metadaten möglich. Prof. Kießling 2016 Kap
27 Analyzer: Zerlegung eines Eingabetextes (document.document) in seine elementaren Bestandteile (Token) und Nutzung seiner Metadaten (document.field, wie z.b. Dokumentpfad, Änderungsdatum, ), für die ein Index (index.indexwriter) erstellt wird. Vereinheitlichung von Groß- und Kleinschreibung Entfernen von Füllwörtern und Sonderzeichen Stemmer: Reduktion von grammatikalisch veränderten Wortformen auf ihren Wortstamm, wodurch der Index verkleinert wird. Prof. Kießling 2016 Kap
28 Suchanfragen: Eine Instanz IndexSearcher stellt mittels der Methode search und einem übergebenen Query-Objekt eine Suchanfrage. Der Parser versteht für eine Anfrage folgende Syntax: Wildcards (z.b. te?t, te*t ) Nachbarschaftssuche (z.b. Kießling Lehrstuhl~10 ) Existenzielle Suche (z.b. jakarta+ apache ), Zusicherung von jakarta Gewichtete Suche (z.b. jakarta^4 apache ) Spezielle Suchanfragen: Boolesche Suche (AND, OR, NOT), wobei OR Default ist. Unscharfe Suche (z.b. roam~ roams, foam ) Anfrage auf Metadaten: Intervall-Suche auf Field (z.b. Datum: [ TO ] ) Prof. Kießling 2016 Kap
29 Ergebnisrepräsentierung: Ein Objekt vom Typ TopDocs ist ein Container für die Rückgabe der gefundenen Dokumente. Die einzelnen Ergebnisse liegen darin als Objekte vom Typ ScoreDoc in einem Array vor. Ein ScoreDoc enthält neben dem Identifikator des Dokuments auch den Query-spezifischen Score, den Lucene berechnet. Die Scores sind positivwertig und absteigend sortiert. Beispiel für Ausgabe, Suche nach love in einem Korpus mit englischen Dokumenten: Doc-Id Scoring Prof. Kießling 2016 Kap
30 Vorteile: Lucene unterstützt aktuelle Java Versionen. Lucene wird auch industriell eingesetzt. Neue Versionen erweitern den Kern (z.b. phonetische Ähnlichkeit wie Soundex, Beider-Morse, ). Lucene hat einen aktiven Entwicklerkreis, der den Kern um Packages erweitern wie z.b. Query Expansion (LucQE) Synonyme von WordNet Nachteile: Änderung im Korpus => erneute Indexerstellung Qualität und Pflege der Packages Prof. Kießling 2016 Kap
31 2.6 Literatur Skript Information Retrieval und Multimedia-Datenbanken von Prof. Dr. W.-T. Balke im SS06 Information Retrieval Data Structures & Algorithms von William B. Frakes und Ricardo Baeza-Yates (Herausgeber), Prentice Hall, 1992, ISBN Prefix B-trees von Rudolf Bayer und Karl Unterauer, ACM Transactions on Database Systems, Volume 2, Issue 1, 1977 Prof. Kießling 2016 Kap
Übersicht. Volltextindex Boolesches Retrieval Termoperationen Indexieren mit Apache Lucene
Übersicht Volltextindex Boolesches Retrieval Termoperationen Indexieren mit Apache Lucene 5.0.07 1 IR-System Peter Kolb 5.0.07 Volltextindex Dokumentenmenge durchsuchbar machen Suche nach Wörtern Volltextindex:
MehrBücher und Artikel zum Thema
Materialsammlung zur Implementierung von Information Retrieval Systemen Karin Haenelt 11.12.2005/11.12.2004/06.12.2003/10.11.2002 1 Bücher und Artikel zum Thema Frakes/Baeza-Yates, 1992 Baeza-Yates/Ribeiro-Neto,
MehrMaterialsammlung zur Implementierung von Information Retrieval Systemen
Materialsammlung zur Implementierung von Information Retrieval Systemen Karin Haenelt 11.12.2005/11.12.2004/06.12.2003/10.11.2002 1 Bücher und Artikel zum Thema Frakes/Baeza-Yates, 1992 Baeza-Yates/Ribeiro-Neto,
MehrLucene eine Demo. Sebastian Marius Kirsch 9. Februar 2006
Lucene eine Demo Sebastian Marius Kirsch skirsch@luusa.org 9. Februar 2006 Text Retrieval wie funktioniert das? Aufgabe: Finde zu Stichwörtern die passenden Dokumente Sortiere sie nach Relevanz zur Suchanfrage.
MehrPat Trees und Pat Arrays Datenstrukturen zur effizienten Suche in Texten
Pat Trees und Pat Arrays Datenstrukturen zur effizienten Suche in Texten Ruprecht-Karls-Universität Heidelberg HS Information Retrieval Dozentin: Dr. Karin Haenelt Referenten: Doina Gliga und Katja Niemann
MehrÜbersicht. Grundidee des Indexing Lucene Wichtige Methoden und Klassen Lucene Indizierungsbeispiele Lucene Suchbeispiele Lucene QueryParser Syntax
Indizierung Lucene Übersicht Grundidee des Indexing Lucene Wichtige Methoden und Klassen Lucene Indizierungsbeispiele Lucene Suchbeispiele Lucene QueryParser Syntax Grundideen und Ziel des Indexing Effizientes
MehrFederated Search: Integration von FAST DataSearch und Lucene
Federated Search: Integration von FAST DataSearch und Lucene Christian Kohlschütter L3S Research Center BSZ/KOBV-Workshop, Stuttgart 24. Januar 2006 Christian Kohlschütter, 24. Januar 2006 p 1 Motivation
MehrSUCHMASCHINEN XAPIAN. Michael Strzempek FH Wiesbaden, 5. Juni 2008
SUCHMASCHINEN XAPIAN Michael Strzempek FH Wiesbaden, 5. Juni 2008 INHALT 1. Motivation 2. Prinzip / Vokabular 3. Xapian 4. Omega 5. Datenbank Indizierung 6. Levenshtein Distanz 7. Boolesche Suche 8. Probabilistische
MehrÜbung Medienretrieval WS 07/08 Thomas Wilhelm, Medieninformatik, TU Chemnitz
02_Grundlagen Lucene Übung Medienretrieval WS 07/08 Thomas Wilhelm, Medieninformatik, TU Chemnitz Was ist Lucene? (1) Apache Lucene is a high-performance, full-featured text search engine library written
MehrADS: Algorithmen und Datenstrukturen
ADS: Algorithmen und Datenstrukturen Teil X Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 13.
MehrInverted Files for Text Search Engines
Inverted Files for Text Search Engines Justin Zobel, Alistair Moffat PG 520 Intelligence Service Emel Günal 1 Inhalt Einführung Index - Inverted Files - Indexkonstruktion - Indexverwaltung Optimierung
MehrPraktikum Information Retrieval Wochen 12: Suchmaschine
Praktikum Information Retrieval Wochen 12: Suchmaschine Matthias Jordan 7. November 18. November 2011 Lösungen: Upload bis 18. November 2011 Aktuelle Informationen, Ansprechpartner, Material und Upload
MehrB / B* - Bäume. Guido Hildebrandt Seminar Datenbanksysteme
B / B* - Bäume Guido Hildebrandt Seminar Datenbanksysteme 25.11.2010 Gliederung Einleitung Binärbaum B - Baum B* - Baum Varianten Zusammenfassung Quellen Gliederung Einleitung Binärbaum B - Baum B* - Baum
Mehr2 Volltext-Suchmaschinen
2 Volltext-Suchmaschinen Volltext-Suchmaschinen werden vor allem für die Suche im Internet benutzt, jedoch gibt es auch Erweiterungen (Data Cartridge, Oracle) um Volltextsuche bei SQL-Suchmaschinen wie
MehrErweitertes boolsches Retrieval
Erweitertes boolsches Retrieval In diesem Unterabschnitt werden andere Ansätze zur Verbesserung des boolschen Retrievals vorgestellt. Im Gegensatz zum Vektorraummodell wird bei diesen Ansätzen versucht,
MehrIR Seminar SoSe 2012 Martin Leinberger
IR Seminar SoSe 2012 Martin Leinberger Suchmaschinen stellen Ergebnisse häppchenweise dar Google: 10 Ergebnisse auf der ersten Seite Mehr Ergebnisse gibt es nur auf Nachfrage Nutzer geht selten auf zweite
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 10. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Suchverfahren für große Datenmengen bisher betrachtete Datenstrukturen
MehrMehrwegbäume Motivation
Mehrwegbäume Motivation Wir haben gute Strukturen (AVL-Bäume) kennen gelernt, die die Anzahl der Operationen begrenzen Was ist, wenn der Baum zu groß für den Hauptspeicher ist? Externe Datenspeicherung
MehrLT11- Apache Lucene und Solr - Google im Eigenbau 03. August 2012 P. Schmidt
LT11- Apache Lucene und Solr - Google im Eigenbau 03. August 2012 P. Schmidt Motivation (I) l Stetig steigende Datenmengen Internet -> Adressknappheit IPv4 Projektumfeld Privater PC l Bildersammlung l
MehrUniversität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 15. Jan Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 10
Universität Augsburg, Institut für Informatik WS 009/010 Prof. Dr. W. Kießling 15. Jan. 010 Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 10 Aufgabe 1: B-Bäume Datenbanksysteme I a) Abschätzen der Höhe
MehrDatenbanken: Indexe. Motivation und Konzepte
Datenbanken: Indexe Motivation und Konzepte Motivation Warum sind Indexstrukturen überhaupt wünschenswert? Bei Anfrageverarbeitung werden Tupel aller beteiligter Relationen nacheinander in den Hauptspeicher
MehrRückblick. Aufteilung in Dokumente anwendungsabhängig. Tokenisierung und Normalisierung sprachabhängig
3. IR-Modelle Rückblick Aufteilung in Dokumente anwendungsabhängig Tokenisierung und Normalisierung sprachabhängig Gesetz von Zipf sagt aus, dass einige Wörter sehr häufig vorkommen; Stoppwörter können
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 10 (3.6.2014) Binäre Suchbäume I Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
Mehr3.2. Divide-and-Conquer-Methoden
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE 3.2. Divide-and-Conquer-Methoden Divide-and-Conquer-Methoden Einfache Sortieralgorithmen reduzieren die Größe des noch
MehrIndexieren und Suchen
Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Indexieren und Suchen Tobias Scheffer Index-Datenstrukturen, Suchalgorithmen Invertierte Indizes Suffix-Bäume und -Arrays Signaturdateien
MehrRückblick. Aufteilung in Dokumente anwendungsabhängig. Tokenisierung und Normalisierung sprachabhängig
3. IR-Modelle Rückblick Aufteilung in Dokumente anwendungsabhängig Tokenisierung und Normalisierung sprachabhängig Gesetz von Zipf sagt aus, dass einige Wörter sehr häufig vorkommen; Stoppwörter können
MehrEffiziente Text Suche
Effiziente Text Suche Christian Ortolf 3. August 2008 Zusammenfassung In diesem Seminar Paper wird ein Überblick geboten über Suchstrukturen die verwendet werden können um die Suchdauer unabhängig der
MehrIndexstrukturen für Zeichendaten und Texte
Indexstrukturen für Zeichendaten und Texte Felix Hain HTWK Leipzig 29.06.15 Gliederung 29.06.15 Felix Hain 2 1 B + -Baum 1.1 Präfix-B + -Baum 1.2 B + -Baum für BLOBs 2 Digitale Bäume 2.1 Trie 2.2 Patricia
MehrInformation Retrieval Modelle: Boolesches Modell. Karin Haenelt
Information Retrieval Modelle: Boolesches Modell Karin Haenelt 19.10.2009 1 Inhalt Information Retrieval-Modelle: Systemarchitektur und Definition Boolesches Modell Darstellung der Systemkomponenten am
MehrInformatik II Bäume zum effizienten Information Retrieval
lausthal Informatik II Bäume zum effizienten Information Retrieval. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Binäre Suchbäume (binary search tree, BST) Speichere wieder Daten als "Schlüssel
MehrComputerlinguistik im Service Management eine neue Suche für TOPdesk
Computerlinguistik im Service Management eine neue Suche für TOPdesk Anna Hunecke Diplom Computerlinguistin TOPdesk A.Hunecke@topdesk.com Inhalt TOPdesk Suchen in TOPdesk Lucene Lucene in TOPdesk TOPdesk
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2018 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Organisatorisches: Keine Vorlesung nächste Woche wegen
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein
MehrSPRACHTECHNOLOGIE IN SUCHMASCHINEN IR-GRUNDLAGEN
SPRACHTECHNOLOGIE IN SUCHMASCHINEN IR-GRUNDLAGEN HAUPTSEMINAR SUCHMASCHINEN COMPUTERLINGUISTIK SOMMERSEMESTER 2016 STEFAN LANGER STEFAN.LANGER@CIS.UNI -MUENCHEN.DE Übung (Gruppenarbeit, 10-15 min.) Sie
MehrJakarta Lucene. Eine Java-Bibliothek zur Suchindex-Erstellung. Seminararbeit Tilman Schneider
Jakarta Lucene Eine Java-Bibliothek zur Suchindex-Erstellung Seminararbeit Tilman Schneider 2004 Tilman Schneider Seminararbeit: Jakarta Lucene Folie 1 Agenda Definition: Suchmaschine Vorstellung von Jakarta
MehrKapitel 19 Textstatistik. HHU Düsseldorf, WS 2008/09 Information Retrieval 287
Kapitel 19 Textstatistik HHU Düsseldorf, WS 2008/09 Information Retrieval 287 Die These von Luhn: Termhäufigkeit als Signifikanzfaktor Luhn, H.P. (1957): A statistical approach to mechanized encoding and
MehrUniversität Augsburg, Institut für Informatik Sommersemester 2009 Prof. Dr. Werner Kießling 16. Juli Semesterklausur
Universität Augsburg, Institut für Informatik Sommersemester 2009 Prof. Dr. Werner Kießling 16. Juli 2009 Dr. A. Huhn, M. Endres Suchmaschinen Semesterklausur Hinweise: Die Bearbeitungszeit beträgt 90
MehrDefinition Ein Heap (priority queue) ist eine abstrakte Datenstruktur mit folgenden Kennzeichen:
HeapSort Allgemeines Sortieralgorithmen gehören zu den am häufigsten angewendeten Algorithmen in der Datenverarbeitung. Man hatte daher bereits früh ein großes Interesse an der Entwicklung möglichst effizienter
MehrPAT-Trees. Hauptseminar Information Retrieval. PD Dr. Karin Haenelt. Thema: PAT-Trees. Referent: Bernd Mehnert. Datum:
1 1. Was sind? Definition: Ein PAT-Tree ist ein aus allen möglichen Sistrings eines Textes konstruierter Patricia Tree. 1 1.1 Was sind Sistrings? 1. Was ist ein Patricia Tree? 1. PAT-Tree 1 übersetzt:
MehrLucene in a Nutshell. Wie erstelle ich eine Suchanwendung mit Hilfe von Lucene? Bonsai-Tagung vom Conni Poppe
Lucene in a Nutshell Wie erstelle ich eine Suchanwendung mit Hilfe von Lucene? Bonsai-Tagung vom 17.11. -18.11.08 Conni Poppe Problemstellung Suchmöglichkeiten in eigenen Anwendungen eigene Suchmaschine
MehrAbgabe: (vor der Vorlesung) Aufgabe 7.1 (P) Binomial Heap
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 7 Prof. Dr. Helmut Seidl, S. Pott,
MehrSuche mit Lucene. Dr. Christian Herta. Mai, 2009
Mai, 2009 Lernziele - Inhalt Prozess der Suche Klassen der Suche Query-Objekte und Query-Syntax Scoring mit Lucene Outline Übersicht: Wichtige Klassen für die Suche IndexSearcher: Zentrale Klasse für den
MehrKlassisches Information Retrieval Jan Schrader
Klassisches Information Retrieval 27.10.2011 Jan Schrader Information Retrieval (IR) Information retrieval (IR) is finding material (usually documents) of an unstructured nature (usually text) that satisfies
Mehr7. Sortieren Lernziele. 7. Sortieren
7. Sortieren Lernziele 7. Sortieren Lernziele: Die wichtigsten Sortierverfahren kennen und einsetzen können, Aufwand und weitere Eigenschaften der Sortierverfahren kennen, das Problemlösungsparadigma Teile-und-herrsche
MehrTextkompression. Komprimierung von Daten. Runlength Komprimierung (2) Runlength Komprimierung (1) Herkömmliche Kodierung. Runlength Komprimierung (3)
Komprimierung von Daten Textkompression Effiziente Algorithmen VU 2.0 WS 2008/09 Bin Hu Ziel: Platz und Zeit sparen Kompression durch - Effiziente Kodierung - Verminderung der Redundanzen (verlustfrei)
MehrSuchen und Finden mit Lucene und Solr. Florian Hopf 04.07.2012
Suchen und Finden mit Lucene und Solr Florian Hopf 04.07.2012 http://techcrunch.com/2010/08/04/schmidt-data/ Suche Go Suche Go Ergebnis 1 In Ergebnis 1 taucht der Suchbegriff auf... Ergebnis 2 In Ergebnis
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen B4. Priority Queues und Heaps Marcel Lüthi and Gabriele Röger Universität Basel 28. März 2018 Einführung Kollektion von Elementen Grundlegende Operationen sind Einfügen
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen B7. Balancierte Bäume 1 Marcel Lüthi and Gabriele Röger Universität Basel 13. April 2018 1 Folien basieren auf Vorlesungsfolien von Sedgewick & Wayne https://algs4.cs.princeton.edu/lectures/33balancedsearchtrees-2x2.pdf
MehrAlgorithmen und Datenstrukturen 12
12. Juli 2012 1 Besprechung Blatt 11 Fragen 2 Binary Search Binäre Suche in Arrays Binäre Suchbäume (Binary Search Tree) 3 Sortierverfahren Allgemein Heapsort Bubblesort Insertionsort Mergesort Quicksort
MehrHöhe eines B + -Baums
Höhe eines B + -Baums Anzahl der Blätter bei minimaler Belegung Anzahl von (eindeutigen) Elementen bei minimaler Belegung Anzahl der Blätter bei maximaler Belegung Anzahl von Elementen bei maximaler Belegung
MehrZugriff auf Elemente im B + -Baum. Höhe eines B + -Baums. Einfache Operationen auf B + -Bäumen. Anzahl der Blätter bei minimaler Belegung
Höhe eines B + -Baums Zugriff auf Elemente im B + -Baum Anzahl der Blätter bei minimaler Belegung Anzahl von (eindeutigen) Elementen bei minimaler Belegung Anzahl der Blätter bei maximaler Belegung Anzahl
MehrHeapsort / 1 A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8]
Heapsort / 1 Heap: Ein Array heißt Heap, falls A [i] A [2i] und A[i] A [2i + 1] (für 2i n bzw. 2i + 1 n) gilt. Beispiel: A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] Heapsort / 2 Darstellung eines Heaps als
MehrSuche im Online Katalog
Suche im Online Katalog Oracle Text SID Frankfurt/Main 22.02.2007 Egon Ritter eritter@ci-database.de ci database Suche im Online Katalog 1 Anwendungen mit Oracle Text Adressensuche CRM-Systeme Abgleich
MehrAlgorithmen & Datenstrukturen 2 Praktikum 1
Algorithmen & Datenstrukturen 2 Praktikum 1 Thema: Binomial Heaps Sommersemester 2016 Prof. Dr. Christoph Karg Hochschule Aalen Ziel dieses Praktikums ist es, die Binomial Heap Datenstruktur in Form einer
MehrKapitel Andere dynamische Datenstrukturen
Institute of Operating Systems and Computer Networks Algorithms Group Kapitel 4.8-4.11 Andere dynamische Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2017/2018 Vorlesung#13, 12.12.2017
MehrSortieren und Suchen. Jens Wächtler Hallo Welt! -Seminar LS 2
Sortieren und Suchen Jens Wächtler 17.05.2017 Hallo Welt! -Seminar LS 2 Überblick Sortieren kurze Wiederholung Binäre & Ternäre Suche Binäre Suche in einer Liste Bisektionsverfahren (Nullstellensuche)
Mehr4.1 Bäume, Datenstrukturen und Algorithmen. Zunächst führen wir Graphen ein. Die einfachste Vorstellung ist, dass ein Graph gegeben ist als
Kapitel 4 Bäume 4.1 Bäume, Datenstrukturen und Algorithmen Zunächst führen wir Graphen ein. Die einfachste Vorstellung ist, dass ein Graph gegeben ist als eine Menge von Knoten und eine Menge von zugehörigen
MehrBoole'sches Modell <is web>
Boole'sches Modell basiert auf Mengentheorie und Boole'scher Algebra sehr einfaches Modell mit klarer Semantik Dokumente als Mengen von Indextermen Termgewichte sind binär: im Dokument enthalten oder nicht
MehrProgramm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr.
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Fortgeschrittene Datenstrukturen Such-Algorithmen
MehrVolltextsuche und Text Mining
Volltextsuche und Text Mining Seminar: Einfuehrung in die Computerlinguistik Dozentin: Wiebke Petersen by Rafael Cieslik 2oo5-Jan-2o 1 Gliederung 1. Volltextsuche 1. Zweck 2. Prinzip 1. Index 2. Retrieval
MehrInformation Retrieval, Vektorraummodell
Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Information Retrieval, Vektorraummodell Tobias Scheffer Paul Prasse Michael Großhans Uwe Dick Information Retrieval Konstruktion
MehrDateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1
Dateiorganisation und Zugriffsstrukturen Prof. Dr. T. Kudraß 1 Mögliche Dateiorganisationen Viele Alternativen existieren, jede geeignet für bestimmte Situation (oder auch nicht) Heap-Dateien: Geeignet
MehrFragenkatalog 1. Kurseinheit
katalog 1. Kurseinheit 1. Wie sind Algorithmen und Datenstrukturen untrennbar miteinander verknüpft? 2. Worin besteht das Ziel einer Beschreibung auf algorithmischer Ebene? 3. Welche Kriterien gibt es
MehrBIW Wahlpflichtmodul. Einführung in Solr, Pipeline und REST. Philipp Schaer, TH Köln (University of Applied Sciences), Cologne, Germany
BIW Wahlpflichtmodul Einführung in Solr, Pipeline und REST Philipp Schaer, TH Köln (University of Applied Sciences), Cologne, Germany Version: 2018-05-29 Überblick über gängige Lösungen 2 3 in a nutshell
MehrInformation Retrieval. Peter Kolb
Information Retrieval Peter Kolb Semesterplan Einführung Boolesches Retrievalmodell Volltextsuche, invertierter Index Boolesche Logik und Mengen Vektorraummodell Evaluation im IR Term- und Dokumentrepräsentation
MehrEinführung in Apache Solr
Einführung in Apache Solr Markus Klose & Daniel Wrigley O'REILLY Beijing Cambridge Farnham Köln Sebastopol Tokyo Inhalt Vorwort IX Einleitung XI 1 Schnelleinstieg in Solr 1 Was ist Solr? 1 Was ist Lucene?
MehrInformatik II Prüfungsvorbereitungskurs
Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest
MehrKapitel 4: Bäume i. 1. Einleitung. 2. Ein Datenmodell für Listen. 3. Doppelt-verkettete Listen. 4. Bäume. 5. Das Collections-Framework in Java
Kapitel 4: Bäume i 1. Einleitung 2. Ein Datenmodell für Listen 3. Doppelt-verkettete Listen 4. Bäume 5. Das Collections-Framework in Java Prof. Dr. Peer Kröger: EiP (WS 18/19) Teil 11: Datenstrukturen
MehrDatenbanken und Informationssysteme
Datenbanken und Informationssysteme Information Retrieval: Konzepte und Beispiele Burkhardt Renz Fachbereich MNI TH Mittelhessen Wintersemester 2015/16 Übersicht Konzepte des Information Retrieval Architektur
MehrKapitel Andere dynamische Datenstrukturen
Institute of Operating Systems and Computer Networks Algorithms Group Kapitel 4.8-4.11 Andere dynamische Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2018/2019 Vorlesung#15, 18.12.2018
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II Algorithmen zur Textverarbeitung III: D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009,
MehrGRUNDLAGEN VON INFORMATIONSSYSTEMEN INDEXSTRUKTUREN I: B-BÄUME UND IHRE VARIANTEN
Informationssysteme - Indexstrukturen I: B-Bäume und ihre Varianten Seite 1 GRUNDLAGEN VON INFORMATIONSSYSTEMEN INDEXSTRUKTUREN I: B-BÄUME UND IHRE VARIANTEN Leiter des Proseminars: Dr.Thomas Bode Verfasser
MehrSuchbäume. Suchbäume. Einfügen in Binären Suchbäumen. Suchen in Binären Suchbäumen. Prinzip Suchbaum. Algorithmen und Datenstrukturen
Suchbäume Suchbäume Prinzip Suchbaum Der Wert eines Knotens wird als Schlüssel verstanden Knoten kann auch weitere Daten enthalten, die aber hier nicht weiter betrachtet werden Werte der Schlüssel müssen
MehrPATRICIA Tree. New Indices for Text: PAT Trees and PAT Arrays. PAT-TREE - Einführung. Inhalt. PAT-Tree Definition
New Indices for Text: PAT Trees and PAT Arrays Ruprecht - Karls - Universität Heidelberg Lehrstuhl für Computerlinguistik HS Dozentin: Dr. Karin Haenelt Referenten: Maria Tzolova, FatihEkrem Genc Diese
Mehr3. Vorlesung. Skip-Pointer Komprimierung der Postings Speicherung des Dictionarys Kontext-Anfragen. Seite 55
3. Vorlesung Skip-Pointer Komprimierung der Postings Speicherung des Dictionarys Kontext-Anfragen Seite 55 Wiederholung, Invertierte Liste Anfrage mit zwei Termen (logisches UND) Merge-Operation durchläuft
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/3, Folie 1 2010 Prof. Steffen Lange - HDa/FbI
MehrSeminar Text- und Datamining Textmining-Grundlagen Erste Schritte mit NLTK
Seminar Text- und Datamining Textmining-Grundlagen Erste Schritte mit NLTK Martin Hacker Richard Schaller Künstliche Intelligenz Department Informatik FAU Erlangen-Nürnberg 08.05.2014 Gliederung 1 Vorverarbeitung
MehrExkurs: Datenstruktur Quad Tree
Exkurs: Datenstruktur Quad Tree Prof. Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering LS11 Universität Dortmund 27. VO WS07/08 04. Februar 2008 1 Mehrdimensionale Suchstrukturen Gegeben: Menge S von
MehrTextsuche mit Indexstrukturen. Anfragen. Inzidenz Vektoren. Term-Dokument Inzidenz Matrix
Textsuche mit Indexstrukturen Zu einer Anfrage alle Dokumente sequentiell durchsuchen? Kleine Textsammlungen (ein paar MB) Sehr viele Änderungen Indexstrukturen Mehraufwand lohnt sich erst für große Texte
MehrApache Lucene und Oracle in der Praxis - Volltextsuche in der Cloud
Apache Lucene und Oracle in der Praxis - Volltextsuche in der Cloud Frank Szilinski, esentri software GmbH Dominic Weiser, esentri consulting GmbH Ettlingen Schlüsselworte: Apache Lucene, Apache Solr,
MehrInformation Retrieval,
Universität Potsdam Institut für Informatik Lehrstuhl Maschinelles Lernen Information Retrieval, Vektorraummodell Tobias Scheffer Uwe Dick Peter Haider Paul Prasse Information Retrieval Konstruktion von
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 6. Vorlesung Martin Middendorf / Universität Leipzig Institut für Informatik middendorf@informatik.uni-leipzig.de studla@bioinf.uni-leipzig.de Merge-Sort Anwendbar für
MehrIndexstrukturen in XML
Seminar XML und Datenbanken Indexstrukturen in XML Vanessa Schäfer 07.02.2003 Übersicht Einführung Indexstrukturen in XML Ein Vergleich SphinX vs. Lore Zusammenfassung und Ausblick Seminar XML und Datenbanken
MehrAlgorithmische Anwendungen WS 05/06 Document Ranking
Algorithmische Anwendungen WS 05/06 Document Ranking Ulrich Schulte (ai641@gm.fh-koeln.de) Harald Wendel (ai647@gm.fh-koeln.de) Seite 1/17 Inhaltsverzeichnis Algorithmische Anwendungen WS 05/06 1. Document
MehrBaumbasierte Strukturen
Baumbasierte Strukturen Baumbasierte Struktur / Organisation als Binärbaum Haufendateien oder sortierte Dateien nützlich für statische Dateien Dateien organisiert als Binärbaum Effizientes Einfügen und
MehrCounting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit
Counting-Sort Counting - Sort ( A,B,k ). for i to k. do C[ i]. for j to length[ A]. do C[ A[ j ] C[ A[ j ] +. > C[ i] enthält Anzahl der Elemente in 6. for i to k. do C[ i] C[ i] + C[ i ]. > C[ i] enthält
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Prioritätswarteschlangen Maike Buchin 18. und 23.5.2017 Prioritätswarteschlange Häufiges Szenario: dynamische Menge von Objekten mit Prioritäten, z.b. Aufgaben, Prozesse, in der
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 018/19 6. Vorlesung Prioritäten setzen Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I - 4 Heute: Wir bauen eine Datenstruktur Datenstruktur: Konzept,
MehrIndexstrukturen in Datenbanken
für Zeichendaten und Texte sowie mehrdimensionale Dateiorganisation und Zugriffspfade 3. Juli 2014 Inhaltsverzeichnis 1 Einleitung 2 Präfix B+-Baum 3 Tries 4 k-dimensionale Bäume 5 Grid-File 6 mehrdimensionales
MehrSuchen und Sortieren Sortieren. Heaps
Suchen und Heaps (Folie 156, Seite 56 im Skript) Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die letzte Ebene vollständig besetzt ist,
MehrDynamische Datenstrukturen
Dynamische Datenstrukturen B-Bäume größere Datenmengen verwalten Extern speichern Art der Speicherung berücksichtigen sonst kein optimaler Datenzugriff möglich Art der Speicherung großer Datenmengen Magnetplatten
MehrKlassische Information Retrieval Modelle Einführung
Klassische Information Retrieval Modelle Einführung Kursfolien Karin Haenelt 21.10.2012 Themen Information Retrieval Konzepte Grundkomponenten Information Retrieval Modell Definition Die klassischen Modelle
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 10 (27.5.2016) Binäre Suchbäume II Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
MehrEINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12
EINI LW Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de
MehrB6.1 Introduction. Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B6.1 Introduction. B6.3 Analyse. B6.4 Ordnungsbasierte Methoden
Algorithmen und Datenstrukturen 11. April 2018 B6. Binäre Suchbäume a Algorithmen und Datenstrukturen B6. Binäre Suchbäume 1 Marcel Lüthi and Gabriele Röger Universität Basel 11. April 2018 a Folien basieren
MehrBoole sches Retrieval als frühes, aber immer noch verbreitetes IR-Modell mit zahlreichen Erweiterungen
Rückblick Boole sches Retrieval als frühes, aber immer noch verbreitetes IR-Modell mit zahlreichen Erweiterungen Vektorraummodell stellt Anfrage und Dokumente als Vektoren in gemeinsamen Vektorraum dar
MehrInformationssysteme für Ingenieure
Informationssysteme für Ingenieure Vorlesung Herbstsemester 2016 Überblick und Organisation R. Marti Organisation Web Site: http://isi.inf.ethz.ch Dozent: Robert Marti, martir ethz.ch Assistenz:??
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 9. Vorlesung Peter Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Invertierte Listen Nutzung vor allem zur Textsuche
Mehr