Rocchio Algorithmus Vortrag im Rahmen des Seminars Neue Ansätze der Künstlichen Intelligenz Prof. Dr. Katharina Morik Lehrstuhl für Künstliche Intelligenz Guido Müller [email protected] 18. Juni 2002 im Westfalenpark J.J. Rocchio, relevance feedback in information retrieval, 1971 Lehrstuhl für Künstliche Intelligenz Gliederung des Vortrages: 1. Einleitung 2. Der Rocchio Algorithmus 3. Naiver Bayes'scher Klassifikator 4. Kollaboratives Filtern 5. Literatur Rocchio Algorithmus ~2~ Guido Müller 18.06.2002 Lehrstuhl für Künstliche Intelligenz 1. Einleitung Intelligente Suchmaschinen Lernfähigkeiten bezüglich Information Retrieval Konzentration auf Basis-Lernalgorithmus: Rocchio 1971 Modellierung von Text mit probabilistischen Methoden: Bayes'scher Klassifikator Rocchio Algorithmus ~2~ Guido Müller 18.06.2002 Lehrstuhl für Künstliche Intelligenz 2. Der Rocchio Algorithmus Kapitelaufbau Zweck und Einordnung Hauptidee Definitionen Beispiel (interaktiv) Bedeutsamkeit Rocchio Algorithmus ~2~ Guido Müller 18.06.2002 Lehrstuhl für Künstliche Intelligenz 2. Der Rocchio Algorithmus Zweck und Einordnung Methode zum Relevance Feedback (optimierte) Dokumentensuche Klassifizierung von Textdokumenten Dokumente als Wortvektoren (Bag-of-words-Ansatz) Einfachheit ►Effizienz Equal Effectiveness Paradoxon: „... all reasonable text reprentations have been found to result in very similar effictiveness on the retrieval task.“(Lewis, 1992) Rocchio Algorithmus ~2~ Guido Müller 18.06.2002 Lehrstuhl für Künstliche Intelligenz 2. Der Rocchio Algorithmus Grundidee Bag-of-words-Ansatz (Wortvektor) Gleicher Inhalt => gleicher Vektor δ Vektoren „ähnlich“ => Ähnlichkeit von Dokumenten Relevance Feedback: Relevanz-Erkenntnisse fließen in neue Suchanfrage ein Rocchio Algorithmus ~2~ Guido Müller 18.06.2002 Lehrstuhl für Künstliche Intelligenz 2. Der Rocchio Algorithmus Definitionen: TF = term frequency wie oft kommt ein Wort im Dokument vor DF = document freq. IDF = inverse DF Vektor: d(i) = TF(wi,d) • IDF(wi) |Dokumente, in denen ein Wort vorkommt| => je öfter ein Wort vorkommt, desto wichtiger ist es => je mehr Dokumente dieses Wort beinhalten, desto unwichtiger ists Rocchio Algorithmus ~2~ Guido Müller 18.06.2002 Lehrstuhl für Künstliche Intelligenz 2. Der Rocchio Algorithmus Definitionen: TF = term frequency wie oft kommt ein Wort im Dokument vor DF = document freq. IDF = inverse DF Vektor: d(i) = TF(wi,d) • IDF(wi) Rocchio Algorithmus ~2~ |Dokumente, in denen das Wort vorkommt| Beispiel: Guido Müller 18.06.2002 Lehrstuhl für Künstliche Intelligenz 2. Der Rocchio Algorithmus Kategorisierung: Wie ähnlich sind nun zwei Dokumente? Maß der Ähnlichkeit: Kosinus der Vektoren δ1 und δ2 Rocchio Algorithmus ~2~ Guido Müller 18.06.2002 Lehrstuhl für Künstliche Intelligenz 2. Der Rocchio Algorithmus Relevance Feedback : Der Benutzer stuft die ihm präsentierten Dokumente ein als relevant, bzw. irrelevant Rocchio generiert verfeinerte Anfrage: Aneu = Aneu + 1/n0 Σδ + - 1/(n-n0) Σδ- δ+ - bezeichnet die „relevanten“ Dokumente δ- - bezeichnet die „ nicht relevanten“ Dokumente Rocchio Algorithmus ~2~ Guido Müller 18.06.2002 Lehrstuhl für Künstliche Intelligenz 2. Der Rocchio Algorithmus Eignet sich auch zur Textkategorisierung Statt Relevanz-Einstufungen des Benutzers bildet sich die δ+ - Klasse aus Trainingsdokumenten. Schwellenwert Θ, ab dem der cos-Wert die beiden Dokumente als „ähnlich“ einstuft. Rocchio Algorithmus ~2~ Guido Müller 18.06.2002 Lehrstuhl für Künstliche Intelligenz 2. Der Rocchio Algorithmus Bedeutsamkeit Vielfältige Einsatzmöglichkeiten Einfach und deshalb schnell und gut Existiert in vielen Abwandlungen/Verbesserungen als Grundgerüst Joachims: probabilistische Analyse des Rocchio-Algos als state-of- the-art Rocchio Algorithmus ~2~ Guido Müller 18.06.2002 Lehrstuhl für Künstliche Intelligenz 3. Naiver Bayes'scher Klassifikator Konzept Probabilistisches Modell von Text Grundidee, -annahme: Dokumente enstehen durch zufälliges Ziehen von Wörtern aus einer Klassen-Urne Klassifizierung erfolgt durch Berechnung der Wahrscheinlichkeit, dass ein Dokument zu einer Klasse gehört => Das Dokument wird in jene Klasse einsortiert, die am warscheinlichsten dieses Dok. erzeugt hat Rocchio Algorithmus ~2~ Guido Müller 18.06.2002 Lehrstuhl für Künstliche Intelligenz 3. Naiver Bayes'scher Klassifikator Vereinfachende Annahmen: z.B. „konditionale Unabhängigkeitsannahme“ ein auftretendes Wort im Dokument ist unabhägig vom Vorgänger Ist zwar falsch, hat sich in der Praxis aber als sinnvoll erwiesen => einfachere Berechnung der Wahrscheinlichkeiten: Wahrscheinlichkeit für Klassen zurückführbar auf die für das Erzeugen der Wörter Rocchio Algorithmus ~2~ Guido Müller 18.06.2002 Lehrstuhl für Künstliche Intelligenz 4. Kollaboratives Filtern Daten werden individuell gefiltert Modelle werden erstellt Content based filtering: Rating-Verfahren und Beschreibungen des Benutzers Collaborative filtering Daten anderer/ähnlicher Benutzer werden herangezogen Unabhängig von Daten Es wird präsentiert, was andere Benutzer, die gleiche Ratings hatten gut gefunden haben z.B. bei amazon.de gibt's beides Rocchio Algorithmus ~2~ Guido Müller 18.06.2002 Lehrstuhl für Künstliche Intelligenz 4. Kollaboratives Filtern Beispiel Bücherkauf: Bücher: Jan: Paula: Frank: Java-Einführung X - - Der Klient X - X Das Tee-Buch - X - ? Bilderbuch - - X ? - ? LaTeX X Rocchio Algorithmus ~2~ Karl: X - Guido Müller ? 18.06.2002 Lehrstuhl für Künstliche Intelligenz Literatur: 1. Thorsten Joachims. A Probabilistic Analysis of the Rocchio Algorithm with TFIDF for Text Categorization. School of Computer Science, Carnegie Mellon University, Pittsburgh 1996 2. Thorsten Joachims. Diplomarbeit: Einsatz eines intelligenten, lernenden Agenten für das World Wide Web. Universität Dortmund, 1996 3. J.J. Rocchio. Relevance Feedback in Information Retrieval in The SMART Retrieval System: Experiments in Automatic Document Processing, Ch. 14, Prentice Hall Inc., 1971 4. Koji Miyahara/ Michael J. Pazzani. Collaborative Filtering with the Simple Bayesian Classifier at Pacific Rim International Conference on Artificial Intelligence, 2000 Rocchio Algorithmus ~2~ Guido Müller 18.06.2002 Lehrstuhl für Künstliche Intelligenz Der Rocchio Algorithmus Vielen Dank für Eure Aufmerksamkeit ;-) Rocchio Algorithmus ~2~ Guido Müller 18.06.2002