Was ist kollaboratives Filtern?

Bei dem kollaborativen Filtern werden Verhaltensmuster einzelner Benutzergruppen ausgewertet, um auf die Interessen Einzelner zu schließen. Es handelt sich um eine besondere Form von Data Mining. Diese macht explizite Nutzereingaben überflüssig.

Kollaboratives Filtern wird häufig für besonders große Datenmengen eingesetzt. Anwendungsgebiete sind im Finanzdienstleistungssektor mit einer Integration finanzieller Quellen und auch bei Anwendungen im E-Commerce und im Web 2.0.

Das übergeordnete Ziel besteht in einer automatischen Filterung von Benutzerinteressen. Um dies bewerkstelligen zu können, werden kontinuierlich Informationen über Verhalten und Vorlieben bei möglichst vielen Nutzern gesammelt. Eine zugrunde liegende Annahme bei kollaborativem Filtern ist die, dass zwei Personen mit den gleichen Vorlieben bei ähnlichen Produkten, sich auch bei weiteren ähnlichen Produkten identisch verhalten werden.

Wie läuft der Algorithmus ab?

Das kollaborative Filtern läuft häufig in zwei Schritten ab. Zunächst wird nach Nutzern gesucht, die das gleiche Muster im Verhalten aufweisen, wie der aktive Nutzer. Danach werden deren Verhaltensmuster verwendet, um eine Prognose für den aktiven Nutzer zu machen.

Ebenfalls beliebt ist das artikelbasierte kollaborative Filtern. Hier werden beliebte Artikel in gesondert und prominent präsentiert. Dabei wird eine Ähnlichkeitsmatrix erstellt und Beziehungen zwischen den Artikeln bestimmt. Ausgehend von dieser Matrix werden dann die Vorlieben des aktiven Nutzers abgeleitet.

Es gibt weitere Formen des Filterns auf Basis impliziter Beobachtung von Nutzerverhalten. Dabei wird das Verhalten von einem einzelnen Nutzer mit dem Verhalten aller übrigen Benutzer verglichen. Mit diesen Daten kann dann präzise das zukünftige Verhalten des Nutzers prognostiziert werden. Diese und ähnliche Technologien sind äußerst praktisch für heutige Nutzer, die das gesamte Angebot am Markt nicht mehr überblicken können.

Was sind Formen von kollaborativem Filtern?

Es gibt viele verschiedene Ansätze, einen Algorithmus für kollaboratives Filtern zu erstellen:

User-based collaborative filtering bei dem eine User-Item-Matrix herangezogen wird und über der dem aktiven User ähnliche Personen zugeordnet werden. Mit entsprechenden Ähnlichkeitsfunktionen werden die Merkmale verglichen und ähnliche Personen werden für die weiteren Berechnungen herangezogen.

Dahingegen gibt es das item-based collaborative filtering, bei dem nicht direkt in der User-Item-Matrix gearbeitet, sondern ein eigenständiges Modell erzeugt wird. So werden verschiedene „items“ im Prozess vorgeschlagen, die auf den Ergebnissen des Modells beruhen.

Neben diesen beiden Ansätzen gibt es außerdem das content-based collaborative filtering. Mit diesem Algorithmus sind inhaltsbasierte Empfehlungssysteme gemeint, die primär auf den Inhalt des Objekts ausgerichtet sind und die Attribute der interagierenden Entität verarbeiten. Es werden kollaborative Filter berechnet, um eine generische Häufigkeitsliste mit Verhaltensdaten anzureichern.

Unter mithilfe von Python kann neural collaborative filtering angewandt werden, die produktbasierte Inhalte des Filters durch künstliche neuronale Netze ersetzt und die mit willkürlich selbstlernenden Algorithmen datenbasierte Filter nutzt.