Latent Semantic Indexing und Matrixzerlegungen - ETH Zürich
Latent Semantic Indexing und Matrixzerlegungen - ETH Zürich
Latent Semantic Indexing und Matrixzerlegungen - ETH Zürich
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