Information Retrieval Ferdinand Hofherr 17. Mai 2005 Zusammenfassung Information Retrieval spielt in vielen Bereichen unseres Lebens eine wichtige Rolle. Wir kommen damit zum Beispiel in Berührung, wenn wir in Bibliotheken oder im Internet nach Information suchen. In dieser Proseminarsarbeit wird zunächst ein Überblick über dieses Thema gegeben. Anschließend werden grundlegende Methoden, wie das Boole sche Retrieval oder Ähnlichkeitsmaße, vorgestellt. Es wird auch auf die Dokumentensuche im Internet eingegangen. Die von Suchmaschinen, wie Google, verwendeten Verfahren werden angesprochen. 1
1 Überblick 1.1 Was ist Information Retrieval? In großen Dokumentbeständen, wie zum Beispiel Bibliotheken oder dem Internet, ist Information zunächst versteckt. Sie muss wieder aufgefunden werden. Grob gesagt ist dies die Aufgabe des Information Retrieval. Einige Stichworte, die die gewünschte Information beschreiben, werden übergeben, und das System sucht die zur Anfrage passenden Dokumente. Hierbei sind zwei Grundsätze von Bedeutung (7): 1. Vagheit: Das Informationsbedürfnis ist weder präzise noch formal formulierbar. Daher enthält die Anfrage vage Bedingungen. 2. Unsicherheit: Da dem System Kenntnisse über die Aussage der Dokumente oder einzelner Wörter in Dokumenten fehlen, kann es fehlerhafte Antworten zurück liefern. So bereiten zum Beispiel Homonyme wie Bank, einmal im Sinne von Geldinstitut und einmal im Sinne von Sitzgelegenheit Probleme. Am Ende bleibt es dem Benutzer überlassen die zu seiner Anfrage gefundenen Dokumente entsprechend ihres Nutzens zu bewerten. Das fundamentale Konzept des Information Retrieval ist nach (3, S.8) das Messen von Ähnlichkeiten zwischen Dokumenten. 1.2 Anforderungen an ein Information Retrieval System Lancaster (5) beschreibt ein Information Retrieval System als ein System, dass den Nutzer nicht über das Thema seiner Anfrage, sondern lediglich über die Existenz oder Nichtexistenz von Dokumenten die zu seiner Anfrage passen, sowie über die Orte an denen man sie auffinden kann informiert. Der Benutzer eines Information Retrieval Systems hat, nach (7), in der Regel eine feste Aufgabe oder Fragestellung zu bearbeiten, zu deren Lösung ihm Information fehlt. Dieses Informationsbedürfnis möchte er mit Hilfe des Information Retrieval Systems befriedigen. Hierzu muss er seine Anfrage in einer für das System verarbeitbaren Form stellen. Anschließend ist es Aufgabe des Systems die Anfrage mit den im System vorhandenen Dokumenten zu vergleichen, und zur Anfrage passende Dokumente zurückzuliefern. Um dies erreichen sind die im System vorhandenen Dokumente entsprechend dem Modell, dass dem System zugrunde liegt, auf 2
eine Form vereinfacht, die für die Verarbeitung günstig ist. (7). Dies hat nicht nur technische Gründe. Eine solche Vereinfachung ist auch Grundlage für eine erfolgreiche Suche, da diese nicht notwendig wäre, wenn eine vollständige Beschreibung des Inhalts bekannt sein müsste(1, S. 28). 1.3 Einsatzorte für Information Retrieval Systeme Information Retrieval wird dann benötigt, wenn die zu einem Thema passende Dokumente aus einer großen Menge von Dokumenten herauszufinden sind. Dies kann zum Beispiel bei der Literatursuche in Bibliotheken der Fall sein. Einige Bibliotheken sind mit Literaturdatenbanken ausgestattet, die die Suche in ihrem Dokumentbestand vereinfachen. Typischerweise liefern diese Systeme bibliographische Informationen, wie Titel, Autor und eine Beschreibung des Inhalts zurück. Der Benutzer dieser Systeme kann den Datenbestand durchsuchen, oder ihn anhand von Sachgruppen oder Stichworten durchstöbern.(nach (1, S.6)) Ein anderer wichtiger, Einsatzort von Information Retrival Systemen ist das Internet. Suchmaschinen wie Google helfen ihren Benutzern die Informationsflut des Internets zu durchsuchen. Ohne diese Werkzeuge wäre die beinahe alltägliche Recherche im Internet nahezu undenkbar. 2 Auffinden von Information 2.1 Form der Anfrage Um Information auffinden zu können muss das Information Retrieval System zunächst erfahren, wonach es suchen soll. Dies geschieht durch die Anfrage, die ein Benutzer an das System stellt. Für gewöhnlich besteht sie aus einigen Stichworten, die mit dem Themengebiet, für das sich der Anwender interessiert in Zusammenhang stehen. Ein paar Stichworte wird man für gewöhnlich nicht als ein Dokument ansehen, weswegen es etwas verwirrend sein kann, wenn im Folgenden vom Vergleich zwischen zwei oder mehreren Dokumenten gesprochen wird. Nach (3, S. 87f) können diese Stichworte jedoch als kleines Dokument betrachtet werden, das mit den, im Information Retrieval System vorhandenen, Dokumenten verglichen wird. Die Menge der Worte in der Anfrage ist im Vergleich zur Menge der Worte in einem Dokument gering. Daher ist es, außer in einigen Spezialfällen, wahrscheinlich, dass Dokumente aufgefunden werden, die exakt mit der Anfrage 3
übereinstimmen, also alle Stichworte enthalten. Hierdurch wird das Problem, der Bestimmung der Ähnlichkeit zwischen zwei Dokumenten, auf das Auffinden von Dokumenten die die gleichen Worte wie die Anfrage enthalten reduziert. Daher kann es von Nöten sein, ein Verfahren zu verwenden, dass die Wertung der einzelnen Treffer ermöglicht. (3, S. 87) 2.2 Modelle des Information Retrieval Information Retrieval Systemen können verschiedene Modelle zu Grunde liegen. Nach (7) können dies mengentheoretische, vektorraum-basierte, sowie probablistische Modelle oder Retrievalstrategien mit Clusteranalyse sein. Bei den mengentheoretischen Modellen wird die natürliche Sprache in Dokumenten auf Mengen abgebildet. Die Ähnlichkeitsbestimmung erfolgt durch die Anwendung von Mengenoperationen. Zu diesem Modell gehört auch das Boole sche Retrieval (7). Vektorraumbasierte oder auch algebraische Modelle stellen Dokumente und Anfragen als Vektoren dar(7). Nach (4, S.61) ist das Vektorraummodell das bekannteste Modell im Information Retrieval. Als ähnlich gelten hierbei Dokumente, deren Vektoren ähnlich zum Vektor der Anfrage sind. Probablistische Modelle wiederum sehen die Bestimmung von Ähnlichkeiten als mehrstufiges Zufallsexperiment an(7). Sie sind der erfolgreichste Lösungsansatz im Umgang mit dem Grundsatz der Unsicherheit(4, S. 72). 2.3 Verfahren des Information Retrieval 2.3.1 Boole sches Retrieval Das Boole sche Retrieval ist wohl das Retrievalverfahren, das einem als erstes in den Sinn kommt und in der Tat war es (nach (4, S. 58)) auch das historisch betrachtet Erste. Die Grundidee hinter dem Boole schen Verfahren ist die, dass nur solche Dokumente zurückgeliefert werden, für die die Anfrage den Boole schen Wert wahr zurück gibt. Hieraus ergibt sich, dass die Anfrage aus Termen (Stichworten) bestehen muss, die mit den Boole schen Operatoren AND, OR und NOT verknüpft sind(6, S. 74). Dieses Verfahren war früher das einzig anwendbare Verfahren, da der Speicher der damaligen Rechner nur sehr beschränkt war. Daher war es nötig, sofort nach dem Einlesen eines Dokumentes, in den Speicher, zu entscheiden ob es als Antwort auf eine Anfrage zurückgeliefert werden sollte, oder nicht. Obwohl heutige Rechner nicht mehr unter derartigen Hardwareproblemen leiden, wurde das Boole sche Retrieval Verfahren bis heute nicht in Frage gestellt und lediglich mit einigen funktionalen Erweiterungen versehen.(4, S. 58) Es ist auch heute noch das 4
am häufigsten verwendete Verfahren(1, S. 33). Eine Anfrage, die an ein solches Information Retrieval System gestellt wird, wird in der Regel aus einer Verknüpfung einzelner Stichworte bestehen. Wenn die Anfrage zum Beispiel lauten würde: (emacs AND latex) OR (editor AND NOT vi), so würde diese Anfrage alle Dokumente zurückliefern, in denen emacs und latex oder in denen editor aber nicht vi vorkommt.(beispiel nach (6, S. 74)). Eine solche Anfrage kann mit Hilfe von Klammern und Operatoren beliebig kompliziert gestaltet werden, was dazu führen kann, dass die Eingabe für den Nutzer oder andere Personen unverständlich und dadurch unter Umständen auch fehlerhaft wird.(1, S. 34f) Einige Systeme erlauben die Erweiterung oder Einschränkung der Anfrage durch strukturierte Wörterbücher, welche zu jedem Schlüsselwort Präzisierungen oder Verallgemeinerungen enthalten. Hierdurch wird dem Benutzer die Reformulierung seiner Anfrage erleichtert.(6, S. 74) Nach (4, S. 59) ist die Verwendung der Negation, aus implementierungstechnischen Gründen, in realen Systemen meist auf die Kombination mit der Konjunktion eingeschränkt. So sind Anfragen wie a AND NOT b erlaubt, wohingegen NOT b oder a OR NOT b nicht zulässig sind. Nach (4, S. 59) ist das Boole sche Retrieval unter anderem aus folgenden Gründen ungeeignet: 1. Kontrolle der Größe der Antwortmenge schwierig. 2. Keine Ordnung der Antworten nach Dokumenten, die mehr oder weniger gut zur Anfrage passen. 3. Die Trennung zwischen Dokumenten, die zur Anfrage passen und solchen die nicht passen ist oftmals zu streng. Bei einer Anfrage wie zum Beispiel Husten AND Fieber AND Heiserkeit würden sowohl Dokumente, die keines der Suchworte enthalten als auch Dokumente, die lediglich zwei Suchworte (z.b Husten und Fieber) enthalten, als unpassend zurückgewiesen werden. 4. Die Erstellung der Anfrage ist unter Umständen schwierig und überfordert möglicherweise ungeübte oder gelegentliche Benutzer. 5. Die Retrievalqualität ist schlechter, als bei anderen Retrievalmodellen. Sowohl nach (1, S. 35) als auch nach (6, S. 75) wird das Boole sche Retrieval meist mit invertierten Listen implementiert. 5
Invertierte Listen Eine invertierte Liste ist im Grunde eine Liste von Worten oder Termen, deren einzelne Einträge auf Dokumente verweisen, anstelle einer Liste von Dokumenten, die auf Worte zeigt. Nach (1, S. 3ff) hat dies den Vorteil, dass der Zugriff schnell erfolgt. Allerdings ist der Speicherplatzbedarf relativ hoch. Wenn der Bestand der im Information Retrieval System vorhandenen Dokumente erweitert wird, so muss unter Umständen die Liste neu berechnet werden. Um eine invertierte Liste zu erstellen, müssen die Terme nach denen der Benutzer suchen können soll bekannt sein. Sie können entweder manuell vorgegeben werden, oder sie werden anhand von Regeln aus den vorhandenen Dokumenten gewonnen. Damit eine invertierte Liste ihren Zweck erfüllen kann, sollte sie möglichst sinntragede Wörter enthalten. Terme die sehr häufig in den Dokumenten vorkommen sind also ungeeignet. Andererseits sollte sie aber, um Speicherplatz zu sparen, auch möglichst klein sein. Die eigentliche Erstellung könnte nun folgendermaßen ablaufen: Zuerst werden die Dokumente anhand der Regeln oder einer Liste bekannter Terme in ihre einzelnen Terme zergliedert. Zu jedem zulässigen Term wird nun das Dokument und die Position an der er in diesem Dokument vorkommt gespeichert. Die nun entstandene Liste, aus Paaren von Termen und Dokumentzeigern, wird alphabetisch sortiert, wobei Paare mit gleichen Termen zusammengefasst werden. Die Bearbeitung einer Anfrage erfolgt nun, indem diese zuerst in einzelne Terme aufgeteilt wird. Zu jedem Term wird nun eine Liste ermittelt, in der die Dokumente in denen er vorkommt und die Positionen der Stellen seines Auftretens stehen. Die für die Terme erstellten Listen werden mit den in der Anfrage angegebenen Boole schen Operatoren verknüpft. Die hieraus entstehende Liste wird als Ergebnis zurückgegeben. 2.3.2 Berechnung der Ähnlichkeit von Dokumenten und Vektorraummodell Das bisher vorgestellte Boole sche Retrieval untersuchte lediglich, ob Suchworte in einem Dokument vorhanden waren oder nicht. Eine Gewichtung der einzelnen Terme und damit auch der Relevanz der einzelnen Dokumente bezüglich der Anfrage fand nicht statt. Um dies zu ermöglichen wurden weitere Verfahren und Modelle entwickelt. Ein Beispiel hierfür ist das Vektorraummodell. Dokumente und Anfrage werden hierbei als Vektoren dargestellt. Näheres zur Umwandlung von Dokumenten in Vektoren ist in (2) und (3, Kapitel 2, S. 14-44)zu erfahren. Beim Retrieval im Vektorraummodell wird nun nach solchen Dokumenten gesucht, deren Vektoren ähnlich zum Anfragevektor sind, bzw. die lediglich einen ge- 6
wissen Abstand zu diesem haben. Um diese Ähnlichkeiten zu berechnen, werden Ähnlichkeitsmaße verwendet.(4, S. 61) Zur Implementierung des Vektorraummodells wird üblicherweise auch eine invertierte Liste verwendet, wobei zusätzlich noch Gewichtungen gespeichert werden(1, S. 64). Das Gewicht, das ein einzelnes Wort in einem Dokument einnimmt, lässt sich relativ einfach anhand der Häufigkeit seines Auftretens im Dokument errechnen. Bei der Berechnung von Gewichtungen innerhalb von Anfragen ist dies in den meisten Fällen nicht möglich, da diese meist zu kurz sind. Allerdings kann der Benutzer einbezogen werden. Er bekommt auf seine Anfrage eine Liste von Dokumenten präsentiert, die er anhand ihrer Relevanz bezüglich seiner Anfrage bewertet. Mit diesen Daten können die Gewichte der Anfrage berechnet werden. Man kann sich hier zum Beispiel zunutze machen, dass mit den Dokument - und Anfragevektoren wie mit Vektoren innerhalb eines n-dimensionalen Vektorraumes gerechnet werden kann. Wenn man nun annimmt, dass verschiedene Themen an verschiedenen Orten im Raum liegen, dann bedeutet eine Verschiebung der Vektoren durch die Veränderung der Gewichte, eine Verschiebung hin zu den relevanteren Themen. (1, S. 72) Ähnlichkeitsmaße Zählung gemeinsamer Wörter Die wohl einfachste Möglichkeit die Ähnlichkeit zweier Dokumente (oder zwischen Anfrage und Dokumenten) zu messen, ist die Zählung der gemeinsamen Wörter. Es werden alle Wörter in der Anfrage mit den Worten in der Sammlung verglichen. Falls ein Wort sowohl in der Sammlung als auch in der Anfrage enthalten ist, wird es gezählt. In einem Information Retrieval System werden die relevanten Wörter der vorhandenen Dokumente in einem Wörterbuch gespeichert. So werden nicht alle Wörter aller Dokumente verglichen, sondern nur die in dem Wörterbuch(3, S. 89). Das Wörterbuch könnte zum Beispiel eine Invertierte Liste sein. Es können anstelle von Worten auch vektorisierte Dokumente verwendet werden. Hierbei sind die Vektoren der Dokumente Folgen von 0 und 1. Das Maß für die Ähnlichkeit zwischen zwei Dokumenten würde dann dem Skalarprodukt zweier Vektoren entsprechen. Dies würde auch der Boole schen AND Operation entsprechen.(3, S. 89f) Bei diesem Maß werden keine Gewichtungen verwendet, es wird nur überprüft, ob Worte vorhanden sind oder nicht. Es ist also dem Boole sche Retrieval sehr ähnlich. Allerdings ist die Trennung zwischen zur Anfrage passenden und nicht zur Anfrage passenden Dokumenten nicht so strikt. 7
Zählung gemeinsamer Wörter mit Bonus Bei einer großen Anzahl von Worten ist die Unterscheidung zwischen für das Ähnlichkeitsmaß aussagekräftigen Worten und solchen die weniger aussagekräftig sind schwierig. Zwar kann man sich behelfen, indem man die Worte im Wörterbuch sorgfältig auswählt, allerdings kann es vorteilhaft sein mehr als lediglich das Auftreten der im Wörterbuch vorhanden Worte zur Bestimmung der Ähnlichkeit heranzuziehen.(3, S. 90) Eine Möglichkeit wäre die in (3, S. 90) vorgeschlagenen Gleichungen zu verwenden: Ähnlichkeit(D i ) = K w(j) j=1 w(j) = { 1 + 1 wenn wort(j) in beiden Dokumenten auftritt df(j) 0 sonst Hierbei ist df(j) die Anzahl der Dokumente, in denen ein Wort j auftritt und K die Gesamtanzahl der Dokumente. Die Funktion w(j) ergibt also 0, falls das Wort j nicht in beiden Dokumenten vorkommt, ansonsten 1 plus 1 df(j) einen Bonus, der umso kleiner wird, je mehr Dokumente es gibt, die das Wort enthalten. Hierdurch ist es möglich, die Relevanz eines Wortes für das Ergebnis besser zu berücksichtigen. Kosinus Ähnlichkeit Nach (3, S91) ist die Kosinus Ähnlichkeit, der klassischste Ansatz um zwei Dokumente zu vergleichen. In diesem Ähnlichkeitsmaß werden nur die Worte gewertet, die in beiden Dokumenten enthalten sind, jedoch wird auch die Häufigkeit, mit der die Worte in den Dokumenten und mit der sie allgemein auftreten mit einbezogen. Die Kosinus Ähnlichkeit kann mit Hilfe dieser Gleichungen berechnet werden: w(j) = tf(j) log 2 ( N df(j) ) norm(d) = w(j) 2 KosinusÄhnlichkeit(d1, d2) = (w d1 (j) w d2 (j)) norm(d1) norm(d2) Hierbei ist w(j) die Aussagekraft, die ein Wort j in einem Dokument einnimmt. Sie berechnet sich aus der Häufigkeit tf(j), mit der ein Wort in einem Dokument auftritt, N, der Anzahl der Dokumente in der Sammlung, und df(j) die Anzahl der Dokumente in denen das Wort auftritt. w(j) ist nur 8
0, wenn ein Wort in einem Dokument auftritt. Da Dokumente unterschiedlich lang sein können, kann die Aussage über die Häufigkeit des Auftretens eines Wortes in einem Dokument irreführend sein. Aus diesem Grund wird die Information über die Häufigkeit des Auftretens auf die einheitliche Länge eines Dokuments D normiert. In der dritten Formel, die das eigentliche Kosinus Maß zum Ausdruck bringt, wird die Aussagekraft, die ein gemeinsames Wort in jedem Dokument hat, multipliziert, normiert und auf die Ergebnisse für andere gemeinsame Worte addiert.(3, S.91f) 2.4 Dokumentensuche im Internet Die bisher vorgestellten Methoden des Information Retrieval haben nach (3, S. 93) lediglich einen eingeschränkten Nutzen für die Suche von Dokumenten im Internet. Der Grund ist darin zu suchen, dass das Internet aus einer enormen Anzahl von Dokumenten besteht. Daher ist es, außer in dem Fall, dass die Anfrage aus sehr einzigartigen Suchworten besteht, wahrscheinlich, dass eine große Anzahl von Dokumenten aufgefunden wird, die alle Suchworte enthalten. Die Bewertungen der Ähnlichkeit der einzelnen Dokumente zur Anfrage werden wahrscheinlich sehr nahe beieinander liegen. Jedoch ist in den im Internet vorhandenen Dokumenten mehr Information als nur aus Worten bestehende enthalten. Die Hyperlinks, mit denen Dokumente aufeinander verweisen, können zur Bewertung herangezogen werden. Hierbei wird zwischen frageabhängiger und frageunabhängiger Bewertung unterschieden. Einerseits sollte die Bewertung die Relevanz bezüglich der Anfrage ausdrücken, also anfrageabhängig sein. Andererseits gibt es allerdings auch die Möglichkeit, dass Dokumente anfrageunabhängig bewertet werden. In diesem Falle kann man die Wertung als Maß für die Qualität der Webseite betrachten.(3, S.92f) 2.4.1 Linkanalyse Bei der Linkanalyse werden die Verweise, die Webseiten auf andere Webseiten haben ausgewertet. Die Suchergebnisse, die am höchsten bewertet werden sollen die sein, auf die am meisten verwiesen wird. Google berechnet die Bewertung einer Seite A, P R(A), nach (3, S. 94) zum Beispiel folgendermaßen: P R(A) = d + (1 d) j P R(T j ) C(T j ) Hierbei sei T j eine Seite, die auf A verweist. d ist ein Mindestwert, der jeder Seite zugewiesen wird und C(T ) die Anzahl, der nach außen führenden Verweise auf Seite T. Die Bewertung einer Seite ist also abhängig, von der 9
Anzahl der Verweise auf diese und von den Bewertungen der verweisenden Seiten. Eine andere Möglichkeit die Verweise auf eine Seite zu bewerten besteht darin, den Beschreibungstext eines Hyperlinks zu verwenden. Dieser wurde meist vom Autor der verweisenden Seite erstellt und Beschreibt die Seite auf die er verweist oft sehr gut. Er kann mit einer Überschrift verglichen werden. Zusätzlich hat eine Analyse der Beschreibungstexte verschiedener Links häufig noch den Vorteil, dass diese ziemlich sicher von verschiedenen Personen erstellt wurden. Hierdurch ist es möglich, das Stichpunkte aus der Anfrage, die in der eigentlichen Seite fehlen, immer noch in diesen Beschreibungstexten vorhanden sind. 10
Literatur [1] Ferber, Reginald: Information Retrieval. dpunkt.verlag, 2003. [2] Forster, Julian: Die Transformation von Text in Vektoren. http://www.informatik.uni-ulm.de/ni/lehre/ss05/ ProseminarTextMining/index.html, 2005. [3] Fred J. Damerau, Sholom M. Weiss Nitin Indurkhya Tong Zhang : Text Mining. Springer, 2005. [4] Fuhr, Norbert: Information Retrieval. http://www.is.informatik. uni-duisburg.de/courses/ir_ss04/folien/irskall.pdf, 2004. [5] Lancaster, F.W.: Information Retrieval Systems: Characteristics, Testing and Evaluation. Wiley, 1968. [6] Rijsbergen, C. J. van: Information Retrieval. http://www.dcs.gla. ac.uk/keith/preface.html, 1979. [7] Wikipedia: Information-Retrieval. http://de.wikipedia.org/wiki/ Information_Retrieval, 2005. 11