120 likes | 278 Views
Fortgeschrittene Link Analyse in XML-DOM Bäumen mit XLink/XPointer Attributen. Carsten Greiveldinger. Motivation. Finden spezifischer Informationen in XML-Daten Situation: Ganzes Dokument als Suchergebnis Interessant ist aber nur kleiner Teil. Produkte. Fahrzeuge. B. A. Produkt. A.
E N D
Fortgeschrittene Link Analyse in XML-DOM Bäumen mit XLink/XPointer Attributen Carsten Greiveldinger
Motivation • Finden spezifischer Informationen in XML-Daten • Situation: • Ganzes Dokument als Suchergebnis • Interessant ist aber nur kleiner Teil
Produkte Fahrzeuge B A Produkt A Bez B LL Modell Grundidee • Segmentieren von XML-Daten • Berücksichtigen von Text und Dokumentstrukturen • Basis ist HITS- Algorithmus auf vereinfachter DOM-Struktur • Erweiterung von HITS wegen innerer Baumstruktur von DOM und Berücksichtigung von Text
XML - Linkstruktur • Dokumentübergreifend mit XPointer Xpointer(//auto[hersteller=„BMW“and year=„1956“]) • Identifiziert ein Fragment eines Dokuments • mit XPath auch mehrere Elemente als Ziel • kann Text, Elemente und beides als Ziel haben => Art von XML-Webgraph
HITS • Algorithmus auf Linkstruktur • Hubs h: Knoten mit Links auf „gute Seiten“ • Authorities a: Seiten, die oft referenziert sind • Zu Beginn alle Werte auf 1 • Pro Iteration: • Werte etwa stabil nach endlich vielen Iterationen
Erweiterung von HITS • Bei Text und Linkanalyse gleiche Idee: Segmentieren in Teilbäume gleichen Inhalts • Dafür Hub- und Auth-Werte für innere Knoten (bisher Auth-Werte für Dokument) • Segment&Smooth für zusammenhängende Teilbäume • HITS-Iteration auf inneren Knoten
Idee des Algorithmus • Textähnlichkeit: Cosinusmaß zwischen Text eines Teilbaums (Featurevektor) und einer Grundmenge (Basiszentroid) • Linkstruktur: Erweiterter HITS auf XPointer zu inneren Knoten • Resultat: „Frontier mit Microhubs“ die relevante von nicht relevanten Segmenten trennt analog Microauthorities
Textsuche • Zu Beginn Basismenge => Basiszentroid • TF-Werte als Grundlage • Cosinusmaß zwischen Basiszentroid und aktuellem Teilbaum • Wenn Ähnlichkeit größer als Schwellenparameter => Knoten in die Frontier
Linksuche (1) • Für jeden Knoten: Vergleiche Kosten für Aufsplitten auf Kinder und Ähnlichkeit von Vater und Kind • Kosten für Kodieren von Hv : • Finde Frontier F mit (Aufsplittkosten plus Kodierungskosten der Teilbäume) minimal Referenz verteilung0 u v Dv
0,10 0,20 0,30 ..... 1,00 v 0,08 v 3 3 1 0 0 0,04 0,22 0,10 0,20 0,30 ... 1,00 x y x 2 1 0 0 0 0,10 0,20 0,30 ... 1,00 y 0 2 1 0 0 0,11 0,02 0,18 0,19 Linksuche (2) • Splitte u auf Kinder v, wenn Kosten für Splitten plus Kosten für Teilbäume zu kodieren kleiner als die Kosten der Gesamtdaten in Hu zu kodieren. Sonst u in Frontier. • Diskretisieren der Verteilungen der HUB-Werte mit „Buckets“ Kodierungskosten v: 7,029 x: 1,909 y: 1,909 Erwartungswerte: v: 12/70 x: 4/10 y: 7/30 Annahme: Hubwerte sind poissonverteilt => KL = log(μ2/μ1) +(μ1/μ2 –1) KL = 0,395 => Kosten für Hv dominieren => v nicht in Frontier, weiter mit x und y
segment &smooth 0,40 u2 u2 0,10 u1 u1 0,15 0,40 0,10 0,10 0,05 0,40 0,20 0,40 0,40 Segment & Smooth • Die must-prune Knoten markieren • Microhub-Werte akkumulieren (analog für Authorities) • Die aggregierten Werte an die/den inneren Knoten weitergeben • Die aggregierten Werte „smoothen“ • Eine Iteration des Algorithmus fertig 0,10
Zusammenfassung • Finden von zusammengehörenden (Web-) Graphsegmenten • Genauere Suchergebnisse bei kleinen wie großen Datenmengen • Erfolge bei html • Ergebnisse für xml stehen noch aus • Wahl des Ähnlichkeitsparameters bei Text • Feinheit der Diskretisierung bei Links • Handhabung der Linkergebnisse von Hub- und Authority-Bewertung