20.11.2013 Aufrufe

Latent Semantic Indexing und Matrixzerlegungen - ETH Zürich

Latent Semantic Indexing und Matrixzerlegungen - ETH Zürich

Latent Semantic Indexing und Matrixzerlegungen - ETH Zürich

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Latent</strong> <strong>Semantic</strong> <strong>Indexing</strong> <strong>und</strong><br />

<strong>Matrixzerlegungen</strong><br />

Seminar “Google, Linear Algebra and Beyond“<br />

bei Herrn Prof. Dr. Daniel Kressner<br />

Michael Stadelmann - Dienstag 4. Dezember 2007 - <strong>ETH</strong> <strong>Zürich</strong><br />

Inhaltsverzeichnis<br />

1 Einführung 2<br />

2 Probleme beim Indexieren 2<br />

3 <strong>Latent</strong> <strong>Semantic</strong> <strong>Indexing</strong> 3<br />

3.1 Das Konzept von LSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

3.2 Vereinfachung durch QR-Zerlegung . . . . . . . . . . . . . . . . . . . . . . 5<br />

4 Singulärwertzerlegung 6<br />

4.1 Singulärwertzerlegung <strong>und</strong> ihre Eigenschaften . . . . . . . . . . . . . . . . 6<br />

4.2 Singulärwertzerlegung <strong>und</strong> LSI . . . . . . . . . . . . . . . . . . . . . . . . . 9<br />

5 Suchoptimierung 10<br />

5.1 Schlüsselwörtervergleich . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br />

5.2 Revelanz-Rückmeldung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br />

6 Nicht-Negative Matrixzerlegung 11


1 Einführung<br />

Das Internet <strong>und</strong> die Digitalisierung ganzer Audio-, Video-, Grafik-Bibliotheken bilden.<br />

Daher ist es umso wichtiger Informationsabfragen zu ermöglichen, die möglichst genau<br />

<strong>und</strong> schnell sind. Wegen dem schnellen Zuwachs neuer Daten <strong>und</strong> der enorm grosse Datenmenge<br />

stösst die traditionelle Indexierung <strong>und</strong> Strukturierungen sehr schnell an ihre<br />

Grenzen. Im Folgenden möchten wir uns mit modernen Informationsabfrage (Information<br />

Retrieval, kurz IR) beschäftigen.<br />

2 Probleme beim Indexieren<br />

Beim traditionellen Indexieren von Forschungsarbeiten wurden Kriterien wie Titel, Autorenliste,<br />

Inhaltsangabe, Stichwort-Liste oder Thematikklassifizierung benützt. Als Beispiel<br />

betrachte man folgenden Ausschnitt einer wissenschaftlichen Publikation:<br />

Vor dem Zeitalter der modernen Computersysteme wurde die Suche lediglich durch<br />

einen Katalog ermöglicht, der von Hand erstellt wurde. Bei dieser manuellen Methode<br />

hatte man hauptsächlich zwei Probleme; Kapazität <strong>und</strong> Konsistenz. Betrachtet wir lediglich<br />

unsere <strong>ETH</strong> Bibliothek mit 6.8 Millionen Dokumenten, sieht man dass die Kapazität<br />

ein echtes Problem darstellte.<br />

2


Vor allem ist bei der manuellen Indexierung die Erhaltung der Konsistenz unmöglich,<br />

denn die Auswahl der Schlüsselwörter oder Einordnung des Dokumentes hängt von der<br />

Person <strong>und</strong> dessen Erfahrung ab. Daher ist es nahe liegend eine elektronische Indexierung<br />

einzuführen - was auch seine Tücken hat.<br />

Die Polysemie, also die Mehrdeutigkeit eines Wortes, oder auch Synonyme sind eine<br />

grosse Herausforderung für eine automatische Indexierung. Zum Beispiel im medizinischen<br />

Bereich, wo Herzattacke <strong>und</strong> Myocardial Infarktion dieselbe Bedeutung haben. Bei der<br />

automatischen Indexierung gibt es noch viele weitere Fragestellungen, zum Beispiel wie<br />

man Titel oder Inhaltsangaben gewichtet, ob man das ganze Dokument für die indexierung<br />

benützt oder lediglich die ersten Seiten, etc.<br />

Eine Indexierung wird schliesslich über ihre Precision <strong>und</strong> Recall gewertet. Der Recall<br />

ist das Verhältnis der Anzahl der gef<strong>und</strong>enen relevanten Dokumente zu allen relevanten<br />

Dokumenten. Die Precision ist das Verhältnis der gef<strong>und</strong>en relevanten Dokumente zu allen<br />

gef<strong>und</strong>en Dokumenten.<br />

3 <strong>Latent</strong> <strong>Semantic</strong> <strong>Indexing</strong><br />

Das <strong>Latent</strong> <strong>Semantic</strong> <strong>Indexing</strong>, oder auch kurz LSI ist ein Verfahren für die Informationsabfrage.<br />

Dieses Konzept wurde 1990 zum ersten Mal von Susan Dumais et al. erwähnt<br />

<strong>und</strong> ist sogar patentgeschützt [WIK].<br />

3.1 Das Konzept von LSI<br />

Das Konzept von LSI basiert auf einem Vektorraum-Modell. Man betrachte d Dokumente<br />

mit t Schlüsselwörtern. Weiter weisen wir jedem Dokument ein t × 1 Vektor zu, dessen<br />

Einträge Gewichtungen der Schlüsselwörter sind. Als Beispiel betrachten wir ein Buch<br />

mit den folgenden gewichteten Schlüsselwörtern:<br />

• Google - Gewichtung 0.9<br />

• Linear - Gewichtung 0.1<br />

• Algebra - Gewichtung 0.3<br />

Weiter nehmen wir an dass noch die Begriffe LaTeX <strong>und</strong> Befehl als Schlüsselwörter<br />

vorhanden sind <strong>und</strong> somit die Gewichtung 0 für unser Buch haben. Die Repräsentation<br />

des Buches wäre dann:<br />

⎛ ⎞<br />

0.3<br />

0<br />

Befehl<br />

⎜0.9⎟<br />

Google<br />

⎜<br />

⎝<br />

0<br />

0.1<br />

Algebra<br />

⎟<br />

⎠ = LaTeX<br />

Linear<br />

3


Wenn wir nun eine ganze Datenbank von Dokumenten betrachten, haben wir als eine<br />

t × d Term mal Dokument Matrix A. Jeder Eintrag a ij gibt die gewichtete Wichtigkeit<br />

des Wortes i im Dokument j an. Wir nennen die Spalten die Dokumentvektoren <strong>und</strong><br />

die Zeilen die Schlüsselwortvektoren. Für die Gewichtung gibt es verschiedene Modelle.<br />

Meistens wird a ij zerlegt in ein lokales Gewicht l ij <strong>und</strong> globales Gewicht g i :<br />

Wobei:<br />

a ij = l ij g i<br />

• g i gewichtet ein Schlüsselwort global, also für alle Dokumente. Wenn man zum<br />

Beispiel eine Datenbank von Dokumenten über Computer hat, könnte man das den<br />

Einfluss des Schlüsselworts Computer“ mit einem kleinen g ” i dämpfen.<br />

• l ij ist das lokale Gewicht, also das Gewicht des Schlüsselwortes i im Bezug zum<br />

Dokument j. Für die Festlegung von l ij gibt es viele verschiedene Möglichkeiten.<br />

Teilweise benützt man lediglich die Werte 0, 1 oder definiert diese über Funktionen,<br />

wie zum Beispiel der Logarithmus des Häufigkeit des Schlüsselwortes i im Dokument<br />

j.<br />

Die Dimensionen der Datenbank-Matrix A hängen vom Inhalt ab. Zum Beispiel würde<br />

man bei einer Enzyklopädie erwarten, dass t ≫ d, beim Internet dagegen ist d ≫ t. Des<br />

Weiteren werden jedem Dokumenten nur einige Schlüsselwörter zugeordnet, sodass die<br />

Datenbank-Matrix A eigentlich immer schwachbesetzt ( ”<br />

sparse“) ist.<br />

Wenn man nun eine Abfrage startet, muss man diese in ebenfalls in einen Abfragevektor<br />

übersetzen, optimalerweise mit Gewichten. In unserem Vektorraum-Modell wird nun<br />

der Abfragevektor mit allen Dokumentenvektoren verglichen. Um die Vektorlänge nicht<br />

zu berücksichtigen zu müssen, benützt man üblicherweise den Winkel (bzw. Kosinus des<br />

Winkels) zwischen dem Abfragvektor q <strong>und</strong> dem Dokumentenvektor a j als Ähnlichkeitsmass,<br />

der wie folgt berechnet wird:<br />

cos θ j =<br />

a T j q<br />

‖a j ‖ 2 ‖q‖ 2<br />

=<br />

∑ t<br />

i=1 a ijq i<br />

√ ∑t<br />

i=1 a2 ij<br />

√ ∑t<br />

i=1 q2 i<br />

Dabei bezeichnet ‖ · ‖ 2 die Euklidische Norm.<br />

Da die beiden Vektoren a j <strong>und</strong> q schwachbesetzt sind, ist das Skalarprodukt nicht so<br />

teuer zu berechnen, <strong>und</strong> ‖a j ‖ 2 kann bereis im Voraus einmal für jeden Dokumentenvektor<br />

berechnet werden. Weiter ist zu bemerken, dass cos θ j sich nicht ändert, wenn a j oder q<br />

mit einem Skalar verlängert werden. In der Praxis wird meistens cos θ j > 0.9 benützt, um<br />

das Suchergebnis zu bestimmen.<br />

4


3.2 Vereinfachung durch QR-Zerlegung<br />

Die Datenbankmatrix beinhaltet natürlich viel zu viel Informationen. Zum Beispiel hat<br />

man in einer Bibliothek mehrere Auflagen desselben Buches, sodass die verschieden Dokumentenvektoren<br />

a j linear abhängig sind.<br />

Um dieses Problem zu umgehen hat man zwei Vereinfachungskonzepte:<br />

1. Vereinfache die Berechnung des Ähnlichkeitsmasses<br />

2. Reduziere die ”<br />

Grösse“ der Matrix durch Rangreduktion<br />

Man betrachte als Beispiel QR-Zerlegung. Diese hat folgende Form:<br />

A = QR<br />

Hier ist Q eine orthogonale t×t Matrix <strong>und</strong> R eine t×d obere Dreiecksmatrix. Daraus interpretiert<br />

man die Dokumentenvektoren a j als lineare Kombination der Spaltenvektoren<br />

von Q, wobei die Spalten von R die Koeffizienten bilden.<br />

R ist eine obere Dreiecksmatrix mit gleichem Rang r A wie A hat. Mit der Pivotisierungmatrix<br />

P kann man R auch so schreiben, dass R lediglich Nullen in den untersten<br />

t − r A Zeilen stehen hat, sodass die ersten r A -Spalten von Q gerade den Spaltenraum vom<br />

A aufspannen. Wir bezeichnen mit Q A die entsprechende t × r A Matrix. Wir lassen die<br />

Permutationsmatrix P einfachheitshalber weg <strong>und</strong> können A wie folgt schreiben:<br />

A = QR = ( Q A<br />

Q ⊥ A<br />

) ( R A<br />

0<br />

)<br />

= Q A R A<br />

Somit ist der Winkel θ j zwischen der Abfrage <strong>und</strong> dem Dokumentvektor a j gleich:<br />

cos θ j =<br />

a T j q<br />

‖a j ‖ 2 ‖q‖ 2<br />

=<br />

(Q Ar j ) T q<br />

= (r j) T (Q T A q) .<br />

‖Q A r j ‖ 2 ‖q‖ 2 ‖r j ‖ 2 ‖q‖ 2<br />

wobei r j die j-te Spalte von R bezeichnet. Um dies weiter zu vereinfachen, kann man den<br />

Abfragevektor q in den Spaltenraum von A projizieren:<br />

q = Iq = QQ T q = ( Q A Q ⊥ A) (<br />

QA Q ⊥ A) T<br />

q = QA Q T Aq + Q ⊥ A(Q ⊥ A) T q = q A + q ⊥ A<br />

Da q ⊥ A senkrecht auf den Spaltenraum von A steht, ist a jq ⊥ A<br />

= 0 <strong>und</strong> es gilt:<br />

cos θ j =<br />

aT j q A<br />

= (r j) T (Q T A q A)<br />

‖a j ‖ 2 ‖q‖ 2 ‖r j ‖ 2 ‖q‖ 2<br />

= (r j) T (Q T A (Q AQ T A q))<br />

‖r j ‖ 2 ‖q‖ 2<br />

= (r j) T (Q T A q)<br />

‖a j ‖ 2 ‖q A ‖ 2<br />

‖q A ‖ 2<br />

‖q‖ 2<br />

} {{ }<br />

≤1<br />

da ‖q‖ 2 = √ ‖q A ‖ 2 2 + ‖qA ⊥‖2 2 ist. Wir könnten also anstatt cos θ j folgendes Ähnlichkeitsmass<br />

benützen:<br />

a T<br />

cos θ j ′ j q A<br />

=<br />

‖a j ‖ 2 ‖q A ‖ 2<br />

5


Da cos θ j ≤ cos θ j ′ ist, erhöht dieses Mass zwar den Recall, jedoch reduziert es die Precision.<br />

Als nächsten Schritt möchten wir die Matrix A nicht nur zerlegen, sondern auch mit einer<br />

Matrix A k approximieren, die einen tieferen Rang als A hat, sodass r A > r Ak gilt. Eine<br />

Möglichkeit wäre, bei der Matrix R den Rang zu verkleinern, d.h. einfach Zeilen weglassen<br />

<strong>und</strong> die Matrix R k zu benützen <strong>und</strong> A k = QR k setzen. Dies führt jedoch häufig zu sehr<br />

schlechten Ergebnissen. Um die bestmögliche Approximation zu finden, benötigt man die<br />

Singulärwertzerlegung.<br />

4 Singulärwertzerlegung<br />

4.1 Singulärwertzerlegung <strong>und</strong> ihre Eigenschaften<br />

Wir haben gesehen, dass die QR-Zerlegung zu einer Vereinfachung führen kann. Es wurde<br />

aber erwähnt, dass die Approximation der Matrix A durch eine rangreduzierte Matrix A k<br />

mit der QR-Zerlegung im Allgemeinen keine gute Resultate hervorbringt. Eine Zerlegung,<br />

die die beste rangreduzierte Approximation erlaubt, ist die folgende:<br />

Satz 4.1 (Singulärwertzerlegung)<br />

Zu jeder m × n Matrix A mit Rang r A existiert folgende Zerlegung:<br />

A = USV T .<br />

Dabei haben die Zerlegungsmatrizen folgende Eigenschaften:<br />

• U ist eine orthonormale m × m Matrix (nicht eindeutig)<br />

• V ist eine orthonormale n × n Matrix (nicht eindeutig)<br />

• S ist eine eindeutige m × n Diagonalmatrix mit Rang r A . Die Diagonalelemente<br />

sind der Grösse nach geordnet, also s 1 ≥ s 2 ≥ · · · ≥ s r . Diese Werte werden<br />

Singulärwerte genannt.<br />

Bemerkungen<br />

1. Für unsere Thematik genügt es lediglich die reellwertige Version zu betrachten.<br />

2. Mit der Frobeniusnorm ‖ · ‖ F = √ T r(AA T ) gilt, dass<br />

‖A‖ 2 F =<br />

∑r A<br />

s 2 i<br />

i=1<br />

3. Für Spektralnorm gilt: ‖A‖ 2 = s i<br />

Um nun eine Approximationsmatrix A k mit Rang k zu konstruieren, benützen wir die<br />

Diagonalmatrix <strong>und</strong> lassen alle s i mit i > k weg resp. setzen diese Null. Nun setzen wir<br />

A k = US k V T . Diese Approximation ist nicht nur gut, sondern, wie der folgende Satz zeigt<br />

die bestmögliche Approximation mit Rang k:<br />

6


Satz 4.2 (Satz von Schmidt-Mirsky)<br />

Mit den obigen Notationen gilt<br />

resp.<br />

‖A − A k ‖ 2 =<br />

‖A − A k ‖ F =<br />

min<br />

rang(X)=k ‖A − X‖ 2 = s k+1<br />

min ‖A − X‖ F =<br />

rang(X)=k<br />

√<br />

r∑<br />

i=k+1<br />

s 2 i<br />

Beweis<br />

Frobeniusnorm<br />

Man stellt fest, dass<br />

‖A − A k ‖ 2 F = ‖USV T − US k V T ‖ 2 F = ‖U(S − S k )V ‖ 2 F<br />

=<br />

r A<br />

∑<br />

i=k+1<br />

s 2 i =<br />

r A<br />

∑<br />

i=1<br />

s 2 i −<br />

k∑<br />

s 2 i = ‖A‖ 2 F −<br />

i=1<br />

Betrachten wir nun beliebige x i <strong>und</strong> y i mit i ∈ {1, . . . , k}. Wir müssen also lediglich<br />

zeigen, dass<br />

k∑<br />

k∑<br />

‖A − x i yi T ‖ ≥ ‖A‖ 2 −<br />

i=1<br />

gilt, also dass A k die beste Approximation ist. O.B.d.A können wir annehmen, dass die<br />

Vektoren x 1 , . . . , x k orthonormal sind. Denn wenn nicht, können wir durch die Gram-<br />

Schmidt-Orthogonalisierung eine Basis finden, die x i als Linearkombination dieser Basis<br />

ausdrücken, in ∑ k<br />

i=1 x iyi T einsetzen <strong>und</strong> die Koordinaten in die y i übertragen. Nun gilt:<br />

(<br />

)<br />

k∑<br />

k∑<br />

k∑<br />

‖A − x i yi T ‖ 2 F = spur (A − x i yi T ) T (A − x i yi T )<br />

= spur<br />

i=1<br />

(<br />

A T A +<br />

i=1<br />

i=1<br />

s 2 i<br />

k∑<br />

(y i − A T x i )(y i − A T x i ) T −<br />

i=1<br />

k∑<br />

i=1<br />

s 2 i<br />

i=1<br />

)<br />

k∑<br />

A T x i x T i A<br />

Da die spur ( (y i − A T x i )(y i − A T x i ) T ) ≥ 0 ist <strong>und</strong> spur(A T x i x T i A) = ‖A T x i ‖ 2 , müssen<br />

wir lediglich zeigen, dass<br />

k∑<br />

‖A T x i ‖ 2 ≤<br />

i=1<br />

k∑<br />

s 2 i .<br />

Nun ersetzen wir A T mit der Singulärwertzerlegung USV T <strong>und</strong> teilen diese wie folgt auf:<br />

• V 1 = (v 1 . . . v k 0), wobei v i die Spalten von V sind resp.<br />

V 2 = (0 v k+1 . . . v n ).<br />

7<br />

i=1<br />

i=1


• S 1 <strong>und</strong> S 2 werden aus S gebildet, analog wie die V i .<br />

Somit gilt:<br />

‖A T x i ‖ 2 F = ‖USV T x i ‖ 2 F = ‖SV T x i ‖ 2 F =<br />

( )<br />

‖S 1 V1 T x i ‖ 2 F + ‖S 2 V2 T x i ‖ 2 F + s 2 k − s 2 k + s 2 k ‖V T x<br />

} {{ }<br />

i ‖ 2 F − ‖V1 T x i ‖ 2 F − ‖V2 T x i ‖ 2 F<br />

} {{ }<br />

=0<br />

= s 2 k + ( ‖S 1 V1 T x i ‖ 2 F − s 2 k‖V1 T x i ‖ 2 F<br />

− ( )<br />

s 2 k‖V2 T x i ‖ 2 F − ‖S 2 V2 T x i ‖ 2 F<br />

} {{ }<br />

(1)<br />

( )<br />

− s 2 k 1 − ‖V T x i ‖ 2 F<br />

} {{ }<br />

(2)<br />

Da die Singulärwerte in S absteigend geordnet sind, können wir schliessen dass der Term<br />

(1) nicht negativ ist. Weiter ist nach Konstruktion x i ein orthonormaler Vektor <strong>und</strong> die<br />

Matrix V orthonormal, sodass der Term (2) sicher auch nicht negativ ist. Also können<br />

wir wie folgt abschätzen:<br />

)<br />

=0<br />

k∑<br />

‖A T x i ‖ 2 ≤ ks 2 k +<br />

i=1<br />

k∑<br />

i=1<br />

(<br />

‖S1 V T<br />

1 x i ‖ 2 − s 2 k‖V T<br />

1 x i ‖ 2)<br />

= ks 2 k +<br />

≤ (<br />

k∑<br />

i=1<br />

k∑<br />

j=1<br />

(s 2 j − s 2 k) |v T j x i | 2<br />

} {{ }<br />

≤1<br />

k∑ (<br />

s<br />

2<br />

k + (s 2 j − s 2 k) ) =<br />

j=1<br />

Euklidische Norm<br />

( ) S 0<br />

Sei B eine m × n Matrix mit Rang r B = k <strong>und</strong> sei A = U V<br />

0 0<br />

T eine Singulärwertzerlegung<br />

von A mit S = diag(s 1 , . . . , s r ). Setze D = diag(s 1 , . . . s k+1 ) <strong>und</strong><br />

sei V = (F n×k+1 |G).<br />

Aus dem Satz r AB ≤ min{r A , r B } folgt dass r BF ≤ B = k. Da BF eine m × k + 1 Matrix<br />

ist, ist dim ker(BF ) = k + 1 − r BF ≥ 1. Also existiert ein x ∈ ker(BF ) mit ‖x‖ 2 = 1,<br />

sodass BF x = 0 gilt. Weiter gilt:<br />

⎛ ⎞ ⎛ ⎞ ⎛ ⎞<br />

( )<br />

D 0 0 x Dx<br />

S 0<br />

AF x = U V T F x = U ⎝ 0 ˜S 0 ⎠ ⎝0⎠ = U ⎝ 0 ⎠ .<br />

0 0<br />

0 0 0 0 0<br />

Da ‖A − B‖ 2 = max ‖y‖2 =1 ‖(A − B)y‖ 2 <strong>und</strong> ‖F x‖ 2 = ‖x‖ 2 = 1 gilt, schliesst man:<br />

∑k+1<br />

∑k+1<br />

‖A − B‖ 2 2 ≥ ‖(A − B)F x‖ 2 2 = ‖Dx‖ 2 2 = s 2 i x 2 i ≥ s 2 k+1 x 2 i .<br />

8<br />

k∑<br />

j=1<br />

i=1<br />

s 2 j<br />

i=1


Die Gleichheit hält genau für B k = U<br />

( )<br />

Sk 0<br />

V<br />

0 0<br />

T .<br />

□<br />

Bemerkungen<br />

1. Der Beweis Frobenius-Norm ist nach [STE] <strong>und</strong> der Beweis mit der Euklidischen<br />

Norm ist nach [CDM].<br />

2. Obwohl die Startmatrix A eine nicht-negative Matrix war, ist die rangreduzierte<br />

Approximationsmatrix A k nicht unbedingt nicht-negativ.<br />

4.2 Singulärwertzerlegung <strong>und</strong> LSI<br />

Bei einer Datenbank wird die optimale Rangreduktion empirisch ermittelt. Man führt diese<br />

durch <strong>und</strong> untersucht den relativen Fehler ‖A−A k‖ F<br />

‖A‖ F<br />

der neuen rangreduzierten Datenbank-<br />

Matrix. Ist diese genügend klein, wird die Approximation benützt. Jedoch bleibt dies eine<br />

offene Fragestellung, wie weit man die Datenbank-Matrix reduzieren soll.<br />

Sei nun e j der j-te kanonische Einheitsvektor der Dimension d, dann können wir die j-te<br />

Spalte von A k durch A k e j beschreiben. Somit gilt für den Winkel zwischen einer Abfrage<br />

<strong>und</strong> dem approximierten Dokumentenvektor:<br />

cos θ j =<br />

(A ke j ) T q<br />

‖A k e j ‖ 2 ‖q‖ 2<br />

=<br />

(U kS k Vk T e j) T q<br />

‖U k S k Vk T e = eT j V k S k (Uk T q)<br />

j‖ 2 ‖q‖ 2 ‖S k Vk T e j‖ 2 ‖q‖ 2<br />

für j ∈ {1, . . . , d}. Nun setzen wir x j = S k V T<br />

k e j, sodass sich die Formel wie folgt reduziert:<br />

cos θ j = xT j (U T k q)<br />

‖x j ‖ 2 ‖q‖ 2<br />

.<br />

Somit kann man das Ähnlichkeitsmass berechnen ohne die eigentliche Matrix A k zu kennen.<br />

Die Normen ‖x j ‖ 2 kann man einmal im Voraus berechnen <strong>und</strong> dann bei Anfragen<br />

direkt verwenden.<br />

Analog wie bei der QR-Zerlegung können wir nun noch den Abfragevektor q in den<br />

Spaltenraum von A k projizieren, sodass man q k erhält. Man stellt fest, dass q k = U k (U T k q)<br />

<strong>und</strong> somit dass U T k q k = U T k (U kU T k q) = U T k q. Weiter ist ‖U k(U T k q)‖ 2 = ‖U(U T k q)‖ 2 =<br />

‖(U T k q)‖ 2. Somit kann man wiederum mit demselben Argument den folgenden Winkel als<br />

Mass für die Ähnlichkeit benützen:<br />

cos θ ′ j = xT j (U T k q)<br />

‖x j ‖ 2 ‖U T k q‖ 2<br />

Mit diesem Mass benötigt die Berechnung lediglich einen k-dimensionalen Vektor nach<br />

der einmaligen Berechung von Uk T q. Da der Abfragevektor typischerweise sehr schwachbesetzt<br />

ist, ist diese Berechnung nicht teuer. Wiederum ist dadurch der Recall verbessert,<br />

jedoch leidet die Precision.<br />

9


Wie bei der QR-Zerlegung macht die Rangreduzierung die Kosten für die Abfrage-<br />

Berechnung günstiger. Sogar die Berechnung der Singulärwertzerlegung selbst ist günstiger,<br />

denn man muss nur die nötigen Singulärwerte <strong>und</strong> Vektoren berechnen <strong>und</strong> nicht die<br />

ganze Zerlegung von A.<br />

5 Suchoptimierung<br />

5.1 Schlüsselwörtervergleich<br />

Bis anhin haben wir uns mit der Methode beschäftigt, wie man eine Abfrage mit Dokumenten<br />

”<br />

vergleicht“. Mit einer kleinen Abänderung kann dasselbe Prinzip benützt werden,<br />

um Schlüsselwörter zu vergleichen. Dies kann man benützen um die Suche benutzerfre<strong>und</strong>licher<br />

zu gestalten indem man als Benutzer sdie Suche fokussieren kann <strong>und</strong> so das<br />

Problem der Polysemie eines Wortes mindert. Anstelle von einer Abfrage vergleichen wir<br />

einen Schlüsselwortvektor mit den anderen Schlüsselwortvektoren:<br />

cos ω ij = (eT i A)(A T e j )<br />

‖G T e i ‖ 2 ‖G T e j ‖ 2<br />

wobei e l die l-te Spalte der t × t Einheitsmatrix bezeichnet. Diese Winkel schreiben wir in<br />

eine Matrix C, wobei c ij = cos ω ij . Durch Analyse dieser Matrix kann man die verschiedenen<br />

Gruppierungen ablesen, die die verschiedenen Wortbedeutungen implizieren. Für<br />

die Verständlichkeit betrachte man das folgende Beispiel:<br />

Beispiel<br />

Betrachte die 7 = t Schlüsselwörter:<br />

S1: Integration<br />

S2: Mathematik<br />

S3: Funktionen<br />

S4: Physik<br />

S5: Informatik<br />

S6: Information<br />

S7: Soziologie<br />

Die d = 5 Dokumente haben folgende Schlüsselwörter-Liste:<br />

D1: Integration; Funktionen; Mathematik; Physik<br />

D2: Integration; Soziologie<br />

D3: Integration; Physik<br />

D4: Integration; Informationen; Informatik<br />

D5: Integration; Physik<br />

10


Die Datenbank-Matrix sieht nun wie folgt aus:<br />

⎛<br />

⎞<br />

0.5000 0.7071 0.7071 0.5774 0.7071<br />

0.5000 0 0 0 0<br />

0.5000 0 0 0 0<br />

0.5000 0 0.7071 0 0.7071<br />

⎜ 0 0 0 0.5774 0<br />

⎟<br />

⎝ 0 0 0 0.5774 0 ⎠<br />

0 0.7071 0 0 0<br />

Schliesslich hat die Matrix C folgende Form, wobei einfachheitshalber nur der obere Teil<br />

der symmetrischen Matrix abgebildet ist:<br />

⎛<br />

⎞<br />

1.0000 0.3464 0.3464 0.7745 0.4000 0.4000 0.4899<br />

1.0000 1.0000 0.4472 0 0 0<br />

1.0000 0.4472 0 0 0<br />

1.0000 0 0 0<br />

⎜<br />

1.0000 1.0000 0<br />

⎟<br />

⎝<br />

1.0000 0 ⎠<br />

1.0000<br />

Aus dieser Matrix kann man nun drei Gruppen ableiten, die gerade die verschiedenen<br />

Bedeutungen des Wortes ”<br />

Integration“ wiederspiegeln. Sucht nun ein Benutzer mit dem<br />

Schlüsselwort ”<br />

Integration“, kann man ihn anfragen, in welchem Zusammenhang sein<br />

Wort ”<br />

Integration“ stehen soll.<br />

5.2 Revelanz-Rückmeldung<br />

Bei der Informationssuche möchte man natürlich hohe Precision <strong>und</strong> einen guten Recall,<br />

wobei diese oft negativ korreliert sind. Vor allem durch die Vereinfachung der Berechnungen<br />

leidet häufig die Precision, welche durch Revelanz-Rückmeldung verbessert werden<br />

kann. Hier wird der Benutzer gefragt, welche von den gef<strong>und</strong>enen Dokumenten die Relevantesten<br />

seien. Die Vektoren dieser Dokumente werden dann zum Query-Vektor addiert<br />

<strong>und</strong> eine neue Anfrage wird gestartet. Es gibt empirische Untersuchungen, die zeigen dass<br />

man dadurch die Suche markant verbessern kann.<br />

6 Nicht-Negative Matrixzerlegung<br />

Wie wir gesehen haben ist zerlegt die Singulärwertzerlegung die Matrix in ”<br />

zwei“ Matrizen,<br />

d.h. man kann die Matrix S <strong>und</strong> V als eine Matrix zusammenfassen <strong>und</strong> als Koordinaten<br />

verstehen bezüglich der orthonormalen Spaltenvektoren von U. Durch die Rangreduzierung<br />

erhalten wir eine Approximation, die zwar sehr gut ist, jedoch nicht-negative<br />

Einträge haben kann <strong>und</strong> somit die ursprüngliche Struktur verliert. Dies versucht man bei<br />

der Nicht-negativen Matrixzerlegung zu verhindern, kurz NMF für ”<br />

Non-negative Matrix<br />

Factorization“.<br />

11


Definition 6.1 (NMF-Problem)<br />

Sei A ∈ R n×m eine nicht-negative Matrix <strong>und</strong> ein k mit k < min(m, n). Zu finden sind<br />

zwei ebenfalls nicht-negative Matrizen W ∈ R m×k <strong>und</strong> H ∈ R k×n sodass<br />

minimal ist.<br />

‖A − W H‖ 2 F<br />

Bemerkungen<br />

1. Da es sich um eine Approximation handelt, ist es keine Zerlegung resp. ”<br />

Factorization“<br />

im eigentlichen Sinne.<br />

2. In den meisten Fällen wird verlangt, dass der Rank k ≪ min(m, n) ist. Dies kann<br />

man sich als eine Komprimierung der Datenmatrix A vorstellen.<br />

3. Dieses Problem wird auch in diversen anderen Versionen gestellt. Je nach Anwendung<br />

wird eine andere Norm für die Minimierung (zum Beispiel ‖ · ‖ 2 ) benützt oder<br />

eine andere Einschränkung für k verlangt (zum Beispiel (n + m)r < nm).<br />

Satz 6.2<br />

Die NMF ist nicht eindeutig.<br />

Beweis<br />

Nicht Eindeutigkeit Nehmen wir an wir haben zwei Matrizen W <strong>und</strong> H, sodass diese<br />

das NMF-Problem erfüllen. Betrachte eine verallgemeinerte Permutationsmatrix P , d.h.<br />

eine Matrix mit demselben Muster wie eine Permutationsmatrix, jedoch ist der Werte<br />

in jeder Zeile resp. Spalte nicht nur 1, sondern kann auch einen andere positiven Werte<br />

annehmen. Dadurch bleibt P −1 nicht-negativ. Weiter gilt:<br />

W H = W P −1 P H = (W P −1 ) (P H)<br />

} {{ } } {{ }<br />

˜W ˜H<br />

Daher ist die Darstellung nicht eindeutig.<br />

□<br />

Bemerkungen<br />

1. Durch die Schwachbesetztheit kann man die Uneindeutigkeit einschränken.<br />

Literatur<br />

[BDJ]<br />

Michael W. Berry; Zlatko Drmac; Elizabeth R. Jessup, Matrices, vector spaces,<br />

and information retrieval (English Summary) SIAM rev. 41 (1999), no.2, 335-362<br />

12


[STE]<br />

G.W. Stewart; On the Early History of the SVD; University of Maryland; Departement<br />

of Computer Science; TR-28855<br />

[WIK] http://de.wikipedia.org/wiki/<strong>Latent</strong> <strong>Semantic</strong> <strong>Indexing</strong><br />

[MIR]<br />

L.Mirsky, Symmetric gauge functions and unitarily invariant norms Quarterly<br />

Journal of Mathematics, 11:50-59, 1960<br />

[CDM] Carl D. Meyer; Matrix Analysis and Applied Linear Algebra;<br />

http://www.matrixanalysis.com/<br />

13

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!