30.01.2015 Aufrufe

pdf (18647 Kb) - Fachgebiet Datenbanken und Informationssysteme ...

pdf (18647 Kb) - Fachgebiet Datenbanken und Informationssysteme ...

pdf (18647 Kb) - Fachgebiet Datenbanken und Informationssysteme ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

von 0.5 eine maximale Kompatibilität ausdrückt. In einer Schleife wird anschließend für<br />

alle Paare von Elementen (s, t) mit s ∈ S, t ∈ T die Ähnlichkeit ssim(s, t) berechnet,<br />

wobei hier zwei Fälle unterschieden werden:<br />

1. Sind s <strong>und</strong> t Blätter, ist der Wert für ssim gleich dem oben berechneten Anfangswert.<br />

2. Ist s oder t kein Blatt, sondern ein interner Knoten, werden für die Berechnung<br />

von ssim die Mengen von Blättern leaves(s) bzw. leaves(t) betrachtet, die zu den<br />

Teilbäumen gehören, deren Wurzel s bzw. t ist. ssim berechnet sich dann wie folgt:<br />

ssim(s, t) =<br />

slink out ∪ slink in<br />

|leaves(s) ∪ leaves(t)|<br />

Dabei gilt slink out = {x|x ∈ leaves(s) ∧ ∃y ∈ leaves(t), stronglink(x, y)} <strong>und</strong><br />

slink in = {x|x ∈ leaves(t) ∧ ∃y ∈ leaves(s), stronglink(y, x)}. stronglink(x, y)<br />

bedeutet, dass die gewichtete Ähnlichkeit von x <strong>und</strong> y wsim(x, y) größer als ein<br />

bestimmter Grenzwert th accept ist.<br />

Bei der Berechnung von ssim im zweiten Schritt muss sichergestellt werden, dass zuvor<br />

die Ähnlichkeitswerte wsim für alle Blätter berechnet wurden. Aus diesem Gr<strong>und</strong> werden<br />

in der Schleife die beiden Bäume in Post-Order durchlaufen, was genau das sicherstellt.<br />

Post-Order bedeutet im Zusammenhang mit Bäumen, dass ausgehend von der Wurzel<br />

zunächst der linke Teilbaum, dann der rechte Teilbaum <strong>und</strong> zuletzt die Wurzel betrachtet<br />

wird.<br />

Nachdem ssim(s, t) für jedes Knotenpaar (s, t) berechnet wurde, wird die gewichtete<br />

Ähnlichkeit wsim(s, t) für dieses Knotenpaar wie folgt berechnet:<br />

wsim(s, t) = w struct · ssim(s, t) + (1 − w struct ) · lsim(s, t)<br />

Hierbei ist w struct eine Konstante im Intervall [0, 1] <strong>und</strong> dient dazu, eine unterschiedliche<br />

Gewichtung von linguistischer <strong>und</strong> struktureller Ähnlichkeit zu ermöglichen.<br />

Nach Berechnung der gewichteten Ähnlichkeit für ein Knotenpaar (s, t) überprüft<br />

TreeMatch, ob der Ähnlichkeitswert von wsim oberhalb eines Grenzwertes th high liegt.<br />

Ist das der Fall, werden die Ähnlichkeitswerte ssim aller Paare von Blättern in den beiden<br />

Teilbäumen zu s <strong>und</strong> t um einen Faktor c inc erhöht, wobei darauf geachtet wird, dass die<br />

maximalen Werte von ssim nie größer als 1 werden. Diese Erhöhung der Werte geschieht<br />

deshalb, weil die Entwickler von Cupid annehmen, dass Blätter, deren Vorfahren sehr<br />

ähnlich sind, ebenfalls eine höhere Ähnlichkeit aufweisen. Ist der Wert für wsim kleiner<br />

als th low , werden die Ähnlichkeitswerte ssim der Blätter aus demselben Gr<strong>und</strong> um einen<br />

Wert c dec verringert.<br />

Diese Veränderung der strukturellen Ähnlichkeiten führt bei Teilbäumen mit einer<br />

sehr unterschiedlichen Anzahl an Knoten dazu, dass es sehr viele Ähnlichkeitswerte gibt,<br />

die unterhalb des Grenzwertes liegen. Um dem entgegenzuwirken schlagen die Entwickler<br />

vor, nur Elemente zu vergleichen, deren Teilbäume eine ähnliche Anzahl an Blättern<br />

32

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!