Recommendation System
Ein Empfehlungssystem sagt voraus, welche Elemente ein Nutzer bevorzugen wird, und ordnet sie entsprechend. Kollaboratives und inhaltsbasiertes Filtern, Verarbeitungsketten, Herausforderungen und Code.
Ein Empfehlungssystem, auch Empfehlungsdienst genannt, ist eine Software, die vorhersagt, an welchen Artikeln ein Nutzer wahrscheinlich interessiert ist, etwa an Produkten, Videos, Songs, Artikeln oder Beiträgen, und sie für diesen Nutzer sortiert. Das System lernt aus explizitem Feedback wie Sternebewertungen und wesentlich häufiger aus implizitem Feedback wie Klicks, Wiedergabezeit und Käufen. Dadurch ist es eine der am weitesten verbreiteten Anwendungen des maschinellen Lernens. Zwei Meilensteine prägten das Gebiet: Amazons Beschreibung der kollaborativen Filterung von Artikel zu Artikel aus dem Jahr 2003 und der Netflix Prize (2006–2009), bei dem das Team, das die Vorhersagen von Netflix zu Filmbewertungen um 10 % verbesserte, 1 Million US-Dollar erhielt.
So funktionieren Empfehlungssysteme#
Kollaborative Filterung nutzt nur das Muster, wer womit interagiert hat. Nutzerbasierte Verfahren finden Nutzer mit ähnlichem Verhalten, artikelbasierte Verfahren finden Artikel, die denselben Nutzern gefallen. Bei der während des Netflix Prize bekannt gewordenen Matrixfaktorisierung wird für jeden Nutzer und Artikel ein Vektor erlernt, dessen Skalarprodukt die Interaktion vorhersagt. Die inhaltsbasierte Filterung beschreibt Artikel stattdessen durch ihre Merkmale, etwa das Genre, mit Verarbeitung natürlicher Sprache (NLP) verarbeiteten Text oder Bild-Embeddings. Sie empfiehlt Artikel, die bereits beliebten Artikeln ähneln, und funktioniert auch bei Artikeln, mit denen noch niemand interagiert hat. Hybridsysteme kombinieren beide Signale, sodass Inhaltsmerkmale neue Artikel einordnen können, bis genügend Interaktionen vorliegen.
Dieses Beispiel wendet die artikelbasierte kollaborative Filterung auf eine kleine Bewertungsmatrix an. Die Bewertungen eines Nutzers für Filme, die er noch nicht bewertet hat, werden anhand der Kosinusähnlichkeit zwischen den Bewertungsspalten der Filme vorhergesagt:
import numpy as np
# Ratings from 4 users (rows) for 5 movies (columns); 0 means not rated
ratings = np.array(
[
[5, 4, 0, 1, 0],
[4, 5, 1, 0, 1],
[1, 0, 5, 4, 5],
[0, 1, 4, 5, 0],
]
)
# Item-item cosine similarity between the movies' rating columns
norms = np.linalg.norm(ratings, axis=0)
item_sim = ratings.T @ ratings / np.outer(norms, norms)
# Predict user 3's rating of each movie as a similarity-weighted average of their own ratings
user = ratings[3]
rated = user > 0
scores = item_sim[:, rated] @ user[rated] / item_sim[:, rated].sum(axis=1)
for movie in np.flatnonzero(~rated):
print(f"Movie {movie}: predicted rating {scores[movie]:.2f}")Nutzer 3, die letzte Zeile, hat die Filme 2 und 3 hoch und Film 1 niedrig bewertet. Film 4, dessen Bewertungen denen von Film 2 und 3 ähneln, erhält daher eine vorhergesagte Bewertung von 4.10. Film 0, dessen Bewertungen denen von Film 1 ähneln, erhält 2.09. Das System empfiehlt Film 4.
Empfehlungssysteme mit Deep Learning erlernen diese Repräsentationen durchgängig. Zwei-Türme-Netze betten Nutzer und Artikel getrennt ein. Dadurch wird das Abrufen von Kandidaten zu einer Vektorsuche nach den Artikeleinbettungen, die den Nutzereinbettungen am nächsten liegen. Sequenzmodelle wie Transformer lesen den Verlauf eines Nutzers in der richtigen Reihenfolge, um die nächste Interaktion vorherzusagen.
Die mehrstufige Pipeline#
Große Dienste können nicht für jede Anfrage ein aufwendiges Modell auf Millionen von Artikeln ausführen. Deshalb erstellen sie Empfehlungen in mehreren Stufen. Bei der Kandidatengenerierung, auch Abruf genannt, wird der Katalog mithilfe kostengünstiger Signale wie kollaborativer Filterung oder Embedding-Suche auf einige Hundert Artikel eingegrenzt. Anschließend bewertet ein Ranking-Modell jeden Kandidaten anhand umfangreicher Merkmale, um die Wahrscheinlichkeit eines Klicks, einer Wiedergabe oder eines Kaufs vorherzusagen. Ein abschließender Neuordnungsschritt berücksichtigt Vielfalt, Aktualität und Geschäftsregeln. YouTube beschrieb diesen zweistufigen Aufbau im Jahr 2016. Jede angezeigte Empfehlung erzeugt außerdem das Feedback, mit dem das nächste Modell trainiert wird. Das System lernt also aus Daten, die durch seine früheren Entscheidungen geprägt wurden.
Aktuelle Systeme skalieren Ranking- und Abrufmodelle ähnlich wie Sprachmodelle. Die 2024 auf der ICML veröffentlichte Arbeit zu Metas generativen Empfehlungssystemen behandelt die Aktionen jedes Nutzers als Sequenz, erreichte 1,5 Billionen Parameter und verbesserte die Kennzahlen in Online-A/B-Tests um 12.4 %.
Visuelle Empfehlungen#
Mode-, Möbel- und Kunstkataloge empfehlen Produkte anhand ihres Aussehens. Funktionen wie „Mehr davon“ vergleichen daher Bild-Embeddings von Produktfotos. Funktionen wie „Shop the Look“ nutzen zuerst Objekterkennung, um einzelne Artikel aus einem Szenenfoto auszuschneiden, und suchen dann im Katalog nach optisch ähnlichen Produkten. Dieselbe Suche hilft bei der Auswahl von Trainingsdaten: Ähnliche Bilder finden in der Ultralytics Platform zeigt bis zu 24 der ähnlichsten Bilder aus öffentlichen und Team-Datensätzen samt Ähnlichkeitswert an, überspringt bereits im Datensatz enthaltene Bilder und kann mit den Bildern beginnen, bei denen ein Modell in der Validierung am schlechtesten abgeschnitten hat.
Anwendungen#
- Einzelhandel und E-Commerce: Produktseiten zeigen Listen wie „Kunden, die diesen Artikel gekauft haben, kauften auch“ sowie personalisierte Startseiten, die auf dem Surf- und Kaufverlauf basieren.
- Streamingmedien: Video- und Musikdienste sortieren Titel und erstellen Wiedergabelisten anhand des Wiedergabe- und Hörverlaufs. Netflix personalisiert außerdem die für jeden Titel angezeigten Bilder.
- Soziale Feeds und Nachrichten: Plattformen sortieren Beiträge, Kurzvideos und Artikel nach der vorhergesagten Interaktion und aktualisieren die Reihenfolge jedes Mal, wenn ein Nutzer den Feed öffnet.
- Mode: Die visuelle Ähnlichkeitssuche schlägt Kleidungsstücke vor, die zum Stil, zur Farbe oder zum Muster eines Artikels passen, den ein Käufer angesehen oder fotografiert hat.
Empfehlungssysteme und verwandte Konzepte#
- Suche: Eine Suchmaschine beantwortet eine ausdrücklich gestellte Anfrage. Ein Empfehlungssystem nimmt dagegen ohne Anfrage vorweg, was ein Nutzer möchte. Moderne Systeme verwenden für beide Zwecke dieselben Abruf- und Ranking-Komponenten.
- Vektorsuche und Vektordatenbanken: Dabei werden die gespeicherten Embeddings gefunden, die einem Abfrage-Embedding am nächsten liegen. Dies ist die Grundlage für den Abruf in einem Empfehlungssystem.
- Re-Ranker: Modelle der zweiten Stufe bewerten eine kurze Kandidatenliste genauer. In einem Empfehlungssystem übernehmen sie die Aufgabe der Ranking-Stufe.
- Vorhersagemodellierung: Die Ranking-Stufe ist ein Vorhersagemodell für die Interaktionswahrscheinlichkeit. Das vollständige Empfehlungssystem übernimmt zusätzlich den Abruf, die Sortierung und die Feedbackschleife.
Herausforderungen#
- Kaltstart: Für neue Nutzer und neue Artikel gibt es keinen Interaktionsverlauf. Daher greifen Systeme auf Beliebtheit, Einstiegsfragen oder Inhaltsmerkmale zurück.
- Sparsamkeit: Jeder Nutzer interagiert nur mit einem winzigen Teil eines großen Katalogs. Daher ist der größte Teil der Nutzer-Artikel-Matrix leer.
- Beliebtheitsverzerrung und Feedbackschleifen: Das Training mit protokollierten Interaktionen bevorzugt Artikel, die bereits häufig angezeigt wurden. Dadurch wird die Auswahl für Nutzer eingeschränkt, und es können Filterblasen entstehen.
- Bewertung: Offline-Kennzahlen wie Precision@k und NDCG auf historischen Daten stimmen oft nicht mit Online-A/B-Tests überein, die messen, was Nutzer tatsächlich mit neuen Empfehlungen tun.
- Datenschutz: Detaillierte Verhaltensprofile sind personenbezogene Daten und in der EU und anderen Rechtsräumen durch Datenschutzgesetze geschützt.
- Regulierung: Der Rechtsakt über digitale Dienste der EU verpflichtet sehr große Online-Plattformen und Suchmaschinen, für jedes Empfehlungssystem mindestens eine Option anzubieten, die nicht auf Profiling beruht.










