Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Skalierung der Personalisierung mit stabilen, artikelbasierten Matching-Engines | Kollaboratives Filtern und Verhaltensbasierte Abgleichsysteme
Market Basket Analyse und Empfehlungssysteme

Skalierung der Personalisierung mit stabilen, artikelbasierten Matching-Engines

Swipe um das Menü anzuzeigen

Um zu verstehen, wie moderne Empfehlungssysteme auf Millionen von Nutzern und Artikeln skalieren, ist es wichtig, die Entwicklung von benutzerbasiertem zu artikelbasiertem kollaborativem Filtern zu betrachten.

Artikelbasiertes Filtern: Funktionsweise und Einsatzgründe

Artikelbasiertes kollaboratives Filtern sagt das Interesse eines Nutzers an einem Artikel voraus, indem es die Ähnlichkeiten zwischen Artikeln analysiert, anstatt zwischen Nutzern. Anstelle der Frage

„Welche Nutzer sind diesem Zielnutzer ähnlich?“,

stellt das artikelbasierte Filtern die Frage

„Welche Artikel sind denen ähnlich, die der Nutzer bereits mag?“

Der Prozess umfasst folgende Schritte:

  • Aufbau einer Artikel-Artikel-Ähnlichkeitsmatrix durch Vergleich von Artikeln basierend auf Nutzerinteraktionen;
  • Für einen bestimmten Nutzer werden die Artikel identifiziert, mit denen er interagiert oder die er hoch bewertet hat;
  • Empfehlung neuer Artikel, die laut Ähnlichkeitsmatrix den bisherigen Präferenzen des Nutzers ähneln.
Note
Hinweis

Dieser Ansatz wird häufig verwendet, da Artikel (wie Produkte oder Filme) im Vergleich zu Nutzern stabilere Eigenschaften aufweisen, wodurch die Ähnlichkeitsbeziehungen über die Zeit hinweg konsistenter bleiben. Es ist einfach, Artikelähnlichkeiten vorab zu berechnen und zwischenzuspeichern, was Echtzeit-Empfehlungen beschleunigt.

Stabilität: Warum artikelbasierte Methoden über die Zeit stabiler sind

Nutzerpräferenzen können sich schnell ändern – Nutzer kommen und gehen, und ihre Vorlieben können sich verschieben. Im Gegensatz dazu bleiben Artikel in der Regel konstant, und ihre Beziehungen (wie „Nutzer, die X gekauft haben, kauften auch Y“) ändern sich weniger häufig. Daraus ergeben sich mehrere Vorteile:

Geringere Volatilität: Artikelähnlichkeitswerte werden weniger durch neue Nutzer oder sporadische Aktivitäten beeinflusst;

Konsistenz: Empfehlungen bleiben zuverlässig, auch wenn sich die Nutzerbasis verändert.

Skalierbarkeit: Wie artikelbasiertes Filtern große Datensätze bewältigt

Artikelbasiertes kollaboratives Filtern eignet sich besonders für groß angelegte Systeme aus mehreren Gründen:

  • Die Anzahl der Artikel ist oft deutlich geringer als die der Nutzer, was die Größe der Ähnlichkeitsmatrix reduziert;
  • Das Vorberechnen von Artikelähnlichkeiten ermöglicht schnelle, skalierbare Empfehlungen für jeden Nutzer;
  • Das Hinzufügen neuer Nutzer erfordert keine Neuberechnung der Ähnlichkeiten – Empfehlungen werden durch Bezugnahme auf bestehende Artikel-Artikel-Beziehungen generiert.

Beispiel: Implementierung von artikelbasiertem Filtern auf einer Beispielmatrix

Angenommen, es liegt eine Nutzer-Artikel-Interaktionsmatrix vor, bei der jede Zeile einen Nutzer und jede Spalte einen Artikel darstellt. Durch Berechnung der Ähnlichkeit zwischen den Artikeln (Spalten) können Artikel empfohlen werden, die denen ähneln, die ein Nutzer bereits bevorzugt. Der folgende Code demonstriert diesen Prozess unter Verwendung der Kosinus-Ähnlichkeit.

12345678910111213141516171819202122232425262728
import numpy as np import pandas as pd from sklearn.metrics.pairwise import cosine_similarity # Sample user-item interaction matrix # Rows: users, Columns: items (1 = interaction, 0 = no interaction) data = { 'Milk': [1, 1, 0, 0], 'Bread': [1, 1, 1, 0], 'Butter': [0, 1, 1, 1], 'Eggs': [0, 0, 1, 1] } user_item_matrix = pd.DataFrame(data, index=['User1', 'User2', 'User3', 'User4']) # Computing item-item cosine similarity item_similarity = pd.DataFrame( cosine_similarity(user_item_matrix.T), index=user_item_matrix.columns, columns=user_item_matrix.columns ) # Example: Recommend items similar to 'Milk' for a user who likes 'Milk' target_item = 'Milk' similar_items = item_similarity[target_item].sort_values(ascending=False) recommended = similar_items[1:3] # Exclude 'Milk' itself print('Items most similar to \'Milk\':') print(recommended)

1. Welcher wesentliche Vorteil ergibt sich bei der Verwendung von item-basierter kollaborativer Filterung gegenüber benutzerbasierter kollaborativer Filterung?

2. Welche Aussage beschreibt am besten, warum item-basierte kollaborative Filterung für große Systeme besser skalierbar ist?

question mark

Welcher wesentliche Vorteil ergibt sich bei der Verwendung von item-basierter kollaborativer Filterung gegenüber benutzerbasierter kollaborativer Filterung?

Wählen Sie die richtige Antwort aus

question mark

Welche Aussage beschreibt am besten, warum item-basierte kollaborative Filterung für große Systeme besser skalierbar ist?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 4

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 3. Kapitel 4
some-alt