Recommendersysteme (Teil 1) – Ein paar Basics

Recommendersysteme – obwohl fast jeder von uns schonmal (unwissentlich) über ein Recommendersystem gestolpert ist, ruft der Begriff oftmals noch ein grosses Fragezeichen auf einzelnen Gesichtern hervor. Eine ganz einfache Erklärung lautet dann: “z.B. die Bücherliste, die mir bei Amazon empfohlen wird. Vielleicht kennst du auch Netflix, Last.fm oder Pandora?“

Etwas wissenschaftlicher definiert sind Recommendersysteme personalisierte Empfehlungsdienste, die den Anwender darin unterstützen sollen, innerhalb einer grossen Menge an Informationen oder auch Produkten genau das zu finden, was ihm gefällt (vgl. z.B. Herlocker et al. 2004). Um diese Empfehlungen zu berechnen, werden zwei grundlegende Ansätze verfolgt: Werden Produkteigenschaften bei der Berechnung berücksicht, so spricht man von “Content Based Filtering”. Dienen dagegen die Bewertungen eines Nutzers als Grundlage für die Berechnung, so spricht man von “Collaborative Filtering”.

Beim Content Based Filtering habe ich beispielsweise einen Krimi von Arthur Conan Doyle in Englisch gekauft, woraufhin mir andere Krimis desselben Autors oder vielleicht auch andere englische Krimis empfohlen werden. Das System versucht sozusagen Eigenschaften zu lernen, die mir gefallen; wobei dieses “gefallen” natürlich auch auf einer Art von Bewertung beruht, selbst wenn diese implizit (unbewusst, z.B. durch den Kauf) abgegeben wurde. Ganz ohne Bewertung geht es also auch beim Content Based Filtering nicht.

Beim Collaborative Filtering läuft der Prozess grundlegend anders, da die Produkteigenschaften keine Rolle spielen. Hier unterscheidet man zwischen zwei Ansätzen: dem nutzerbasierten und dem item-basierten Verfahren. Bei ersterem wird ermittelt, welche Nutzer ein ähnliches Bewertungsverhalten haben. Gefällt ein von mir noch nicht bewertetes Produkt diesen Nutzern, so wird es mir empfohlen.

Beim item-basierten Verfahren hingegen wird versucht, für ein Produkt X, das ich noch nicht bewertet habe, die Bewertung zu errechnen. Man nimmt hierfür das “Bewertungsprofil” dieses Produktes und vergleicht es mit dem Bewertungsprofil anderer Produkte. Aus den als ähnlich ermittelten Bewertungsprofilen heraus wird dann die für mich wahrscheinliche Bewertung für dieses Produkt X berechnet. Ist diese Bewertung dann gut genug, so wird mir das Produkt X empfohlen.

Neben den Content Based und Collaborative Filtering-Ansätzen gibt es noch eine Reihe an weiteren Entwicklungen z.B.  sogenannte „Hybride Verfahren“ (eine Mischung aus Content Based und Collaborative Filtering“) , und Recommendersysteme, welche zusätzliches Wissen einbinden, um passendere Empfehlungen aussprechen zu können („wissensbasierte Recommender“). Ziel dieser alternativen Verfahren und Weiterentwicklungen ist es stets, passendere Empfehlungen aussprechen zu können und bekannten Problemen angemessen entgegen zu treten.

Wer gerne etwas tiefer in das Thema einsteigen möchte, kann den Beitrag von Jürg Stuker „Empfehlungssysteme für den E-Commerce“ nachlesen oder auf Teil 2 warten, in dem ich kurz die Probleme von und Anforderungen an Recommendersysteme aufgreifen werde.

Und wer’s noch ausführlicher mag:

 

Ein Gedanke zu “Recommendersysteme (Teil 1) – Ein paar Basics

  1. Danke.

    Interessant ist v.a. das Feststellen von Lücken.

    D.h. ich interessiere mich für den Essensplan (schnell rausgefunden), aber ich interessiere mich nur für Mittagessen und niemals für Abendessen. Je spezifischer / rarer das positive Profil ist, desto einfacher ist es die zwei Felder zu unterscheiden. Und dann die meine Entwicklung also habe ich mal barocke Musik gekauft, danach aber nicht mehr (oder zurückgegeben). Meine Vorliebe hat sich entwickelt, so muss es auch das Empfehlungssystem tun.

    Und je sensibler das Thema der Empfehlungen, desto heikler sind unpassende Vorschläge…

    Meist ist die Technologie schnell erklärt, die lohnenswerte Nutzung ist aber eine grosse Herausforderung.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>