Anwendung der PDV 2007 Relevanz-Algorithmen für Suchmaschinen Fachhochschule Wiesbaden Studiengang Allgemeine Informatik Mohamed Berrada Mohammed Harkik.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Überblick über die Datenbankproblematik
Algorithmen und Datenstrukturen
Polynomial Root Isolation
Stud.ip - Was ist das?! Kleiner Leitfaden für die ersten Schritte im System.
Webseiten, die gefunden werden Dr. Eduard Heindl, Heindl Internet AG Tübingen.
Seminar Textmining WS 06/07 Aufgaben II 1.Dokumente im VSM 2.Ranking 3.Term-Term-Korrelation 4.Relevance Feedback 5.Termgewichtung.
3. Kapitel: Komplexität und Komplexitätsklassen
Kapitel 6. Suchverfahren
Fallstudie. 2 Statistik April Dokumente Jan Mio. Dokumente Performance 3 Mio. Queries pro Tag 9. Juni 2000 Most popular search engines.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Information Retrieval auf Texten An ihre Grenzen stoßen relationale Datenbanken bei der.
Aufbau, Abfrage, Analyse von Sprachdatenbanken ErstellungAnalyse Abfrage Digitale Zeitsignale akustisch, artikulatorisch Etikettieren Verknüpfung mit Symbolen.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
Support.ebsco.com Lernprogramm zur einfachen Suche in wissenschaftlichen Bibliotheken.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung In welcher Masche liegt der Punkt p?
Medizinische Statistik und Informationsverarbeitung Quade Institut für Medizinische Statistik, Dokumentation und Datenverarbeitung.
Access 2000 Datenbanken.
Wie funktionieren Suchmaschinen?
Relevanz Ranking Bisher: Sind wir davon ausgegangen, dass das Ergebnis des Rankings des statistischen Verfahrens in den Index geschrieben wird und dem.
Relevanz Ranking Bisher:
MeiNetz-Suche Wie kann man in meiNetz etwas suchen? 1.durch Gruppen browsen 2.Suchfunktion.
Intelligentes Crawling im WWW mit Hilfe intuitiver Suchbedingungen
Xindice Datenbanken vs. Markup Prof Dr. Manfred Thaller WS 2009 / 2010 Referent: Seyda Kurt.
Wie Google Webseiten bewertet
Seniorkom.at vernetzt Jung & Alt Das Internet ist reif
Suchmaschinen Das "Surfen" im Internet ist eine gewisse Zeit lang interes-sant, aber auf Dauer ist dies ineffektiv und teuer, wenn man bestimmte Informationen.
W w w. s a f e r i n t e r n e t. a t Die Welt zu Hause Informationen suchen und finden.
Einführung in die Programmierung
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Datenbank des Deutschen Patent- und Markenamtes
Suchmaschinen.
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)
Die Ganze Welt im Computer? Informationsbeschaffung im Internet
Google (Web-Suchmaschine) Google Books Google Scholar
1 Tagesüberblick 5 Lösung Hausaufgabe/Fragen Assoziative Felder Funktionen zu Variablenbehandlung.
Niko Zenker1 Besondere Aspekte in Multimedia-Datenbanken Methoden zur iterativen Anfrageverfeinerung (Relevanz Feedback)
Mechanik I Lösungen.
Arten von Suchwerkzeugen
Pool Informatik, Sj 11/12 GZG FN W.Seyboldt 1 Pool Informatik 5 GZG FN Sj. 11/12 Kopieren, Daten, Programme.
Binärbäume.
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
Arbeiten mit WordSmith 4. Inhalt 1. Arbeiten mit der Funktion Wortliste (im getaggten Korpus) 1. Arbeiten mit der Funktion Wortliste (im getaggten Korpus)
1 Suchprofile erstellen und verwalten. 2 Suchprofile bei Registrierung Hier können Sie bis zu drei Suchprofile einrichten. Diese finden Sie später unter.
Christoph Wirtz | Seminarvortrag EBC | Lehrstuhl für Gebäude- und Raumklimatechnik Ein Tool zum automatisierten Erstellen von Conversion Scripts.
1 Arrays und Schleifen Özgü & Tim. 2 Inhaltsverzeichnis Arrays Was ist ein Array? Bauanleitung Beispiel Matrix Fehler Schleifen Wofür Schleifen? While-Schleife.
Das ABC der Statistik DIE HÄUFIGKEITSTABELLEN
Papier und s/w war gestern …?
Anweisungen zum Ausfüllen der Online-Formulare der Gemeinde Leifers
Klausur „Diskrete Mathematik II“
Allgemeine Technologien 2
Das IT - Informationssystem
Papierlose Buchhaltung
Comprehension and Production of Analogical Problems by a Chimpanzee
Googelnde Wikipedianer
Bavarian TT-Race Spielsystem „Schweizer System“
Schaltungen entwirren
Suchen und Finden Wie verwende ich Suchmaschinen richtig?
Die PowerPoint-Präsentation
Hexadezimale Darstellung von Zahlen
Einsatz interaktiver Whiteboards
Prof. J. Walter Bitte römische Zahlen im Geschichtsunterricht!
1. Die rekursive Datenstruktur Liste 1.5 Das Entwurfsmuster Kompositum
Rechenausdrücke (Terme) – Fachbegriffe - Rechenregeln
Microsoft Excel S-Verweis Excel: SVerweis.
 Präsentation transkript:

Anwendung der PDV 2007 Relevanz-Algorithmen für Suchmaschinen Fachhochschule Wiesbaden Studiengang Allgemeine Informatik Mohamed Berrada Mohammed Harkik 11htdig

2 Mohammed Harkik Übersicht 1- htdig/Algorithmus 3-Erweiterung 2 1- htdig/Algorithmus 2-Erweiterung 1 3-Erweiterung 2

3htdig Mohammed Harkik Backend remotei:126l:964w:36 remotei:227l:281 w:2701c:6 remotei:232l:346 w:2075c:4 I: index der Seite L: location w: Gewicht c: count Seiten werden geparst. Informationen werden in eine Datei (db.worldList) aufgezeicnet und anschliessend auf eine Datenbank geflusht. Ausschnitt der Datei db.wordlist:

4htdig Mohammed Harkik Backend Wordlist.cc: w: Gewicht Berechnung //Neues Wort im Document wordRef->Weight = int(( location) * weight_factor); //wort schon existiert wordRef->WordCount++; wordRef->Weight += int(( location) * weight_factor); Das Gewicht der Wörter, die auf der jeweiligen Seite vorkommen, wird im Backend gerechnet

5htdig Mohammed Harkik Frontend - Aus der Datenbank wird das Gewicht der Seiten, die das zu suchende Wort enthalten, ausgelesen. - Score berechnen: double score = „document weight“ score += date_factor * exp((thisRef->DocTime() - time(NULL))/365./ ); score += backlink_factor * (thisRef->DocBackLinks() / (double)links);

6htdig Mohammed Harkik Frontend - Score jeder Seite wird gerechnet. - Seiten werden nach ihren Score sortiert,. - Je größer der score einer Seite ist, desto einen besseren Ranking bekommt sie. - Danach wird eine Template aufgerufen, die für die Darstellung zuständig ist.

7htdig Mohammed Harkik Übersicht 1- htdig/Algorithmus 2- Erweiterung 1 : Ähnliche Seiten 3-Erweiterung 2

8htdig Mohammed Harkik Problemstellung - Bei der Suche nach ein oder mehrere Wörter werden mehrere Seiten gefunden, die ähnlich sind. - Wenn die Dokumente ähnlich sind, dann haben sie fast gleiche Scores und sie werden untereinander aufgelistet. -Der Nachteil, dass der Benutzer viel Zeit verliert wenn er nur in Seiten sucht, die gleiche Inhalt haben. -Die Lösung ist das Filtern von ähnlichen Seiten.

9htdig Mohammed Harkik a/ Die Datei db.WordList parsen : - Beim parsen der db.WordList werden folgende Daten gebraucht : Index, das Wort und Anzahl der Wörter. remotei:1l:10w:120c:2 remotei:2l:8w:111 c:3 locali:1l:5w:98 c:2 locali:2l:2w:65 c:2 pdvi:1l:12w:153 a/ Die Datei db.WordList parsen : - Beim parsen der db.WordList werden folgende Daten gebraucht : Index, das Wort und Anzahl der Wörter. remotei:1l:10w:120c:2 remotei:2l:8w:111 c:3 locali:1l:5w:98 c:2 locali:2l:2w:65 c:2 pdvi:1l:12w:153 BackendBackend

10htdig Mohammed Harkik b/ X-Variable rechnen : -Für jede Seite(Index) wird eine Variable X nach diesem Algorithmus gerechnet : X = X + ASCII(Zeichen) * (PositionInWort + 1) * Count Beispiel : won und now X = X + ASCII(w) * (0+1) * 4 X = X + ASCII(n) * (0+1) * 4 X = X + ASCII(o) * (1+1) * 4 X = X + ASCII(o)* (1+1) * 4 X = X + ASCII(n) * (2+1) * 4 X = X + ASCII(w)* (2+1) * 4 b/ X-Variable rechnen : -Für jede Seite(Index) wird eine Variable X nach diesem Algorithmus gerechnet : X = X + ASCII(Zeichen) * (PositionInWort + 1) * Count Beispiel : won und now X = X + ASCII(w) * (0+1) * 4 X = X + ASCII(n) * (0+1) * 4 X = X + ASCII(o) * (1+1) * 4 X = X + ASCII(o)* (1+1) * 4 X = X + ASCII(n) * (2+1) * 4 X = X + ASCII(w)* (2+1) * 4 BackendBackend

11htdig Mohammed Harkik c/ Ähnlich Seiten in db.duplicate speichern : - Alle Seiten(Index), deren X-Variable bis 80 % gleich sind werden in eine Zeile der db.duplicate-Datei gespeichert. db.duplicate 1, 12, 56 und 109 sind ähnliche Seiten 3, 34, 66 und 91 sind ähnliche Seiten c/ Ähnlich Seiten in db.duplicate speichern : - Alle Seiten(Index), deren X-Variable bis 80 % gleich sind werden in eine Zeile der db.duplicate-Datei gespeichert. db.duplicate 1, 12, 56 und 109 sind ähnliche Seiten 3, 34, 66 und 91 sind ähnliche Seiten BackendBackend

12htdig Mohammed Harkik a/ Die db.duplicate-Datei parsen : db.diplicate a/ Die db.duplicate-Datei parsen : db.diplicate In ein werden mehrere gespeichert. - Jede enthält alle Elemente einer Zeile. = [ vectorLine[0], vectorLine[1] ] = [ 1, 12, 56, 109] = [ 3, 34, 66, 91] - In ein werden mehrere gespeichert. - Jede enthält alle Elemente einer Zeile. = [ vectorLine[0], vectorLine[1] ] = [ 1, 12, 56, 109] = [ 3, 34, 66, 91] FrontendFrontend

13htdig Mohammed Harkik b/ Darstellung der Ergebnisse : - Es wird durch die Index-Liste iteriert und mit dem ersten Element jeder verglichen. - Ist das aktuelle Element der Index-Liste gleich das erste Element einer, werden die Links alle Elemente der gelesen und dargestellt. - Für jede wird das erte Element als Hauptseite und die anderen als Ähnliche Seiten dargestellt. - Es wird durch die Index-Liste iteriert und mit dem ersten Element jeder verglichen. - Ist das aktuelle Element der Index-Liste gleich das erste Element einer, werden die Links alle Elemente der gelesen und dargestellt. - Für jede wird das erte Element als Hauptseite und die anderen als Ähnliche Seiten dargestellt. FrontendFrontend

14htdig Mohammed Harkik b/ Darstellung der Ergebnisse : db.diplicate b/ Darstellung der Ergebnisse : db.diplicate < Index = 1 < Index = 12 < Index = < Index = 3 < Index = 34 < Index = < Index = 1 < Index = 12 < Index = < Index = 3 < Index = 34 < Index = FrontendFrontend

15htdig Mohamed Berrada Übersicht 3-Erweiterung 2 1- htdig/algorithmus 2-Erweiterung 1 3-Erweiterung 2

16 htdig Mohamed Berrada Problemstellung Bei der bisherigen Berechnung des Seitenscores hatte das mehrfache auftreten des gesuchten Wortes im Dokument keinen grossen Einfluss. Ein Ziel was wir mit den zur Verfügung gestellten Informationen nicht erreichen könnten Je näher (dichter) die gesuchten wörter zu einander stehen desto besser das Ergebnis sein soll. Es wird nur das erste Auftreten des Wortes innerhalb des Dokuments aufgezeichnet. Was ist wenn wir folgendes habe.

17htdig Mohamed Berrada Suche nach Remote + Reflection db.wordlist Remotei:111L:210c:2 Reflecioni:111L:260 Remotei:122L:110c:2 Reflecioni:122L:260 Dok(111) Remote(210 ) Remote(220 ) Reflection(260 ) Dok(122) Remote(110 ) Remote(259 ) Reflection(260)

18htdig Mohamed Berrada Laut der vom Backend zur verfügung gestellten Informationen wird das erste Dokument besser bewertet obwohl im zweiten die wörter direkt nebeneinander stehen. Wordcluster Einführung des Begriffs Wordcluster Wir betrachten das mehrfache auftretens eines wortes innerhalb des Dokuments als eine einzige Menge wofür wir paar kenngrössen bestimmen wolllen.

19htdig Mohamed Berrada Backend Im Backend können wir unsere db.Wordlist mit 2 andere grössen ergänzen: 1) Mittelpunkt des Wordclusters wir brauchen nicht nur das erste auftretens des wortes sondern das zentrum des Wortes innerhalb des Dokuments. Σ (Location) /count

20htdig Mohamed Berrada Backend 2) Verstreung des Wordclusters (Ziel)dichtere Wordclusters werden bevorzugt Dok(111) Remote (210) Remote(220) Dok(122) Remote (110) Remote (259) Dok(111) Remote (210) Remote(220) Dok(111) Remote (210) Remote(220) Remote (210) Dok(122)

21htdig Mohamed Berrada Backend Unter Berücksichtigung der Dateigrösse kamen wir zu folgender Formel: dispersion_factor * (1.0 - (sumDiff * 1.0 / DateiGrösse)) neue db.wordlist remotei:210l:807w:193 remotei:227l:281w:2701 c:6 m:549 v:102

22htdig Mohamed Berrada Frontend Die Suche Nach mehrere Wörter: Remote Reflection Bisherige lösung: db.wordlist Dok1 Remote i:111 w:245 / Reflection i:111 w:216 Dok2 Remote i:122 w:525 / Reflection i:122 w:310 Score1 = = 461 < Score2 = = 835 Neue Umsetzung: 1) Die Summe der Gewichte aus dem Backend

23htdig Mohamed Berrada Frontend 2) Die dichte der Gesuchten Wörter Je näher (dichter) die gesuchten wörter (oder genauer die Wordclusters) zu einander stehen desto besser das Ergebnis sein soll. Suche nach: instanceof + Remote + Reflection Doc1 Doc2 (1) instanceof (2) Remote (1) instanceof (3) Reflection

24htdig Mohamed Berrada Frontend Für die weiteren Berechnungen wird kein Location benutzt sondern der mittelpunk des Wordclusters jeden gesuchten wortes. 1) Reihenfolge wichtig: Σ Betrag(Differenzen) Σ Betrag(Differenzen) 2) Reihenfolge unwichtig dichte_factor * (1- (maxAbstand/max_doc_size))

25htdig Mohamed Berrada Synonyme Synonyme müssen auch erkannt werden. Dazu gibt das Programm htfuzzy. synonyme müssen per hand in eine Datei eingetragen werden. Folgender Aufruf htfuzzy Synonymfile. Ergänzt die htdig Datenbank. Alle bisherigen erweiterungen müssen die Sysonyme bei der Berechnungen mitberücksichtigen.

26htdig Mohamed Berrada Synonyme db.wordlist Dokument 1: Remote i:111 w:250 / Datenbank i:111 w:230 Dokument 2: Remote i:122 w:50 / Datenbank i:122 w:230 / DB: i:122 w:300 Bisherige Lösung: Score =480 > Score =280 Mit Berücksichtigung der Synonyme Score =480 < Score =580

27htdig Mohamed Berrada Synonyme Möglicher Einsatz im Backend: DB und Datenbank werden als ein Wort behandelt. Ein Wortcluster, ein Mittelpunkt, eine Verstreung, ein Location, und nur ein Gewicht. !!!!!!! zu aufwendig

28htdig Mohamed Berrada Synonyme Frontend Bei der Suche kommen die Synonyme zum Spiel. Die suche nach Remote + Datenbank wird zu einer logischen suche nach Remote (Datenbank || DB)

29htdig Mohamed Berrada Andere Kriterien Das gesuchte Wort ist ein Keyword im Dokument. score += KeyWord_factor * count

30htdig Mohamed Berrada Andere Kriterien Das gesuchte Wort steht in einem eingehenden link Dokument was Remote enthält Remote

31htdig Mohamed Berrada Danke für Ihre Aufmerksamkeit