Inhaltsbasierte Systeme

Nach den einleitenden Vorbereitungen stellen wir nun mögliche Empfehlungssysteme vor, wobei wir zwischen inhaltsbasierten und nutzerbasierten Systemen unterscheiden.

Bei den inhaltsbasierten Systemen (content-based systems) werden Empfehlungen auf Grundlage eines ähnlichen Inhalts ausgesprochen. Ein Beispiel:

Ist ein Kunde in einem Onlineshop auf der Suche nach einem neuen Shirt, so werden insbesondere die Angebote empfohlen, die bezogen auf Form und Farbe etc. zu seinem Kaufinteresse ähnlich sind.

Die Aufgabe des Onlineshops besteht also darin, aus dem zur Verfügung stehendem Angebot die Shirts zu identifizieren, die ähnliche zu einer aktuellen Auswahl sind:

In der folgenden Anwendung möchten wir die zuvor beschriebene Vorgehensweise anhand einer Sammlung von Strichzeichnungen demonstrieren, wobei im Kern eine Nächste-Nachbarn-Bestimmung unter Verwendung des Kosinus-Abstands durchgeführt wird.

Es steht ein Datensatz bestehend aus insgesamt 8000 Strichzeichnungen zur Verfügung, von denen sich unter Verwendung der Schaltfläche random zwölf zufällig gewählte Beispiele veranschaulichen lassen. Wird nun die Schaltfläche similar-looking betätigt, so werden nur die drei Strichzeichnungen der ersten Spalte zufällig gewählt. Die weiteren Zeichnungen der Zeilen werden anhand einer Nächste-Nachbarn-Bestimmung ermittelt.

Um den Abstand zwischen zwei Strichzeichnungen zu bestimmen, werden diese als Schwarz-Weiß-Bilder bestehend aus jeweils 32 x 32 Pixel angesehen. Die Pixel von oben links nach unten rechts aneinandergereiht ergeben somit einen Vektor bestehend aus 1024 Zahlenwerten. Damit lässt sich nun die Nächste-Nachbarn-Bestimmung (im 1024-dimensionalen Raum) durchführen.

Anwendung
Ein kleines Beispiel eines inhaltsbasierten Empfehlungssystems.
Quiz
Hast du dich mit der Anwendung beschäftigt und verstanden, was diese tut?
ja
nein
Quellcode zum Beispiel