CMAB für segmentbasierte Empfehlungen

Überblick

Der Contextual Multi-Armed Bandits (CMAB)-Algorithmus ist eine Erweiterung des Multi-Armed Bandits (MAB)-Algorithmus, bei dem Entscheidungen auf der Grundlage historischer Daten getroffen werden. CMAB bezieht zusätzliche Kontextinformationen ein, wie z.B. "Tageszeit“ oder "[Benutzersegment]"(/gls#seg), wobei ein Benutzersegment aus einer Gruppe von Benutzern mit ähnlichen Präferenzen besteht.

Neue Nutzer:innen und Nutzer:innen, die der Verwendung ihrer Daten nicht zugestimmt haben, werden einem Standard-Segment zugeordnet.

Die Nutzer:innen werden anhand der letzten zehn gesehenen Videos Segmenten zugeordnet: jedes gesehene Video wird in eine von acht Gruppen eingeteilt. Nutzende erhalten das Segment, aus dem die meisten Videos gesehen wurden (Mehrheitsprinzip).

Das Segment dient als Grundlage für den Algorithmus (CMAB-Model Card). Für jedes Segment wird erlernt, welche Videos und Collections jeweils am passendsten sind.

Die Videos werden in folgende acht Gruppen eingeteilt:

  • MainGenre: "Nachrichten"
  • MainGenre: "Sport"
  • MainGenre: "Bildung", "Ernährung", "Gesellschaft", "Gesundheit", "Information", "Keinem Genre zuzuordnen", "Kochen", "Kultur", "Musik", "Mystery", "Politik", "Ratgeber", "Reise", "Royals", "Stars / Boulevard", "True Crime", "Umwelt", "Unterhaltung", "Wirtschaft"
  • MainGenre: "Satire", "Comedy"
  • MainGenre: "Architektur", "Geschichte", "Natur (Flora & Fauna)", "Wissen"
  • MainGenre: "Action", "Coming-Of-Age", "Drama", "Fantasy", "Komödie", "Medical Fiction", "Romance", "Sex", "Sitcom", "Märchen"*
  • MainGenre: "Abenteuer", "Horror", "Krimi", "Science Fiction", "Thriller"
  • Kinderinhalte*

*In den Kinderbereichen ZDFtivi und ZDFchen werden keine Inhalte aus anderen Bereichen empfohlen. Erst nachdem die Nutzer:innen aktiv den Kinderbereich verlassen haben, werden Inhalte aus dem Erwachsenenbereich angezeigt. Das Segment „Kinderinhalte“ erleichtert dem Algorithmus das Erlernen der passenden Vorschläge innerhalb des Kinderbereichs. Eine Besonderheit gibt es für Märchen: Sie werden sowohl von Erwachsenen als auch von Kindern gern gesehen. Im Erwachsenenbereich werden Märchen dem Segment 6 zugeordnet, während im Kinderbereich Inhalte aus dem entsprechenden Kinderbereich empfohlen werden.

Beispiel:
Die Genre-Liste der gesehenen Inhalte ist Architektur, Politik, Sitcom, Reise, Komödie, Kultur und Politik. Daraus ergibt sich die numerische Liste: 5, 3, 6, 3, 6, 3, 3. Das Segment 3 erscheint am häufigsten, damit werden die Empfehlungen und Sortierung für das Segment 3 ausgespielt.

Details des Algorithmus

Im Zusammenhang mit Empfehlungssystemen wird der CMAB-Algorithmus wie folgt verwendet:

  • Beobachtung des Kontextes: Das Modell beobachtet kontextbezogene Informationen, die sich auf den Benutzer beziehen, wie z.B. „Tageszeit“ oder „Benutzersegment“.
  • Auswahl der Aktion: Das Modell wählt eine Aktion (eine Empfehlung) mithilfe einer Explorations-/Exploitationsstrategie aus. Es wählt die beste bekannte Aktion auf der Grundlage historischer Daten aus ("Exploitation") und streut neue Aktionen aus, um potenziell bessere Empfehlungen zu entdecken ("Exploration").
  • Sammlung von Belohnungen: Das System zeichnet Benutzerinteraktionen (z. B. Klicks, Betrachtungsvolumen) als Belohnungen auf.
  • Modellaktualisierung: Das Modell aktualisiert sein internes Wissen darüber, welche Aktionen in bestimmten Kontexten die höchsten Belohnungen bringen.

Dieser Prozess ist typischerweise als Verstärkungslernen bekannt, bei dem der Algorithmus sein aktuelles Wissen über vergangene Benutzerinteraktionen verstärkt und dieser Prozess es dem Modell ermöglicht, sich in Echtzeit an das Benutzerverhalten anzupassen. Die Abbildung unten veranschaulicht diesen Prozess, wobei die Aktionen A, B und C generische Einheiten wie Fernsehsendungen oder Restaurants darstellen, aus denen gewählt werden kann.

CMAB1

Anwendungsfälle

Der CMAB Algorithmus wird in den folgenden Anwendungsfällen benutzt:

Algorithmus

Der CMAB-Algorithmus wird zur Einordnung von Meta-Collections verwendet. Weitere Infos findest du in dem Anwendungsfall Meta Collections

Methode

Der CMAB-Algorithmus ist eine Blackbox, die Zugang zu allen Inhaltselementen einer Meta-Collection hat. Der Algorithmus ordnet diese Elemente einer Meta-Collection basierend auf den Nutzerinteraktionen eines Nutzersegments zu, wobei ein Nutzersegment aus mehreren Nutzern mit ähnlichen Präferenzen besteht.

Diese Nutzerinteraktionen werden aufgezeichnet und als Trainingsdaten verwendet, um das CMAB-Modell zu trainieren und die Nutzerinteraktion zu maximieren.

Sobald das Modell trainiert ist, werden die Meta-Collections für jedes Nutzersegment entsprechend geordnet (Inferenz). Die unten stehende Abbildung veranschaulicht den vollständigen Zyklus eines CMAB-Modells, das die Inhaltselemente einer Meta-Sammlung neu einordnet. Der Prozess besteht aus zwei Schlüsselschritten:

Training: Das Modell wird anhand von Benutzerinteraktionen (Klickrate) innerhalb jedes Nutzersegments trainiert, wobei es von deren Interaktionsmustern lernt.
Inferenz: Anhand der gewonnenen Erkenntnisse ordnet das Modell im nächsten Durchlauf die Inhaltselemente für jedes Nutzersegment neu ein.
Dieser Zyklus wird mehrmals täglich wiederholt, um die Inhaltsempfehlungen im Laufe der Zeit zu verbessern.

CMAB2 Die Abbildung zeigt den vollständigen Zyklus, wie der CMAB-Algorithmus Meta-Collections einordnet.

Nachbearbeitung

In der Nachbearbeitung werden weiter Schritte durchgeführt, um bestimmte Inhalte an die Spitze der Meta-Collection zu befördern. Die Priorisierung kann auf folgenden Kriterien beruhen: (1) redaktionelle Auswahl als „Premium-Inhalte“, (2) Aktualität, bei der neu verfügbare Inhalte bevorzugt werden, und (3) Einstufung als Community-spezifische Inhalte, wie z. B. Programme für eine junge Zielgruppe. Die Meta Collections zeigen alle verfügbaren Inhalte an. Die Inhalte der Partner 3sat, ARD, Arte, funk, Kika und phoenix werden ab Position 13 angezeigt.

Algorithmus

Der CMAB-Algorithmus wird verwendet, um Highlights zu empfehlen. Weitere Informationen findest du in dem Anwendungsfall Highlights.

Methode

Der CMAB-Algorithmus empfiehlt Artikel aus einem Inhaltspool, der von der Redaktion anhand von zwei Kriterien befüllt wird: (1) Premium-Inhalte und (2) für das Highlight-Cluster geeignet. Der Algorithmus empfiehlt dann Elemente (bekannt als Inferenz), indem er (1) eine Teilmenge aus dem kuratierten Inhaltspool auswählt und (2) sie entsprechend einstuft. Dieser Prozess wird für jedes Benutzersegment wiederholt, wobei der Algorithmus kontinuierlich lernt, welche Elemente er auswählen und wie er sie einstufen soll.

Die Abbildung unten veranschaulicht den vollständigen Zyklus eines CMAB-Modells, das Inhaltselemente für das Cluster "Highlights" empfiehlt. Der Prozess besteht aus zwei Schlüsselschritten:

Training: Das Modell wird anhand der Nutzerinteraktionen (Klickrate) in jedem Nutzersegment trainiert, wobei es aus den Interaktionsmustern der Nutzer lernt. Weitere Informationen zu den Trainingsdaten findest du im Abschnitt "Trainingsdaten".

Inferenz: Auf der Grundlage der gewonnenen Erkenntnisse wählt das Modell eine Teilmenge von Inhalten aus dem kuratierten Inhaltspool aus und ordnet sie in der nächsten Iteration für jedes Nutzersegment neu ein.

Dieser Zyklus wird mehrmals täglich wiederholt, wobei die Vorhersagen kontinuierlich verfeinert werden, um die Inhaltsempfehlungen im Laufe der Zeit zu verbessern.

CMAB%20Highlights

Trainingsdaten

Die Trainingsdaten werden durch das Tracking von Benutzerinteraktionen mit Empfehlungen generiert. Wenn ein Benutzer auf einen empfohlenen Artikel klickt, werden wichtige Kontextinformationen wie die ID des Benutzersegments und die Tageszeit aufgezeichnet. Dieser Vorgang wird für jedes Klick-Ereignis wiederholt, so dass ein Datensatz mit beobachteten Interaktionen entsteht. Sobald genügend Daten gesammelt wurden, wird das Modell anhand dieser aufgezeichneten Daten neu trainiert, um das Verständnis dafür zu verfeinern, welche Artikel für jedes Benutzersegment künftig empfohlen werden sollen.

Der CMAB-Algorithmus optimiert die Empfehlungen, indem er sowohl aus den Benutzerinteraktionen als auch aus den Metadatenmerkmalen lernt, die mit den empfohlenen Inhalten verbunden sind, wie z. B. Genre, About und Häufigkeit. Durch die Verknüpfung dieser Merkmale mit beobachteten Engagement-Metriken (z. B. Klicks, Sehvolumen) aktualisiert das Modell kontinuierlich seine Entscheidungsfindung und passt sich dynamisch an die Nutzerpräferenzen und sich ändernde Kontextfaktoren an.

Bewertung und Performance

Um die Leistung der CMAB-Modelle mit den Basisempfehlungsstrategien (oder anderen CMAB-Modellen) zu vergleichen und zu bewerten, werden A/B-Tests eingesetzt. Bei diesem Verfahren werden die Nutzer in A/B-Gruppen aufgeteilt und jeder Gruppe werden verschiedene Empfehlungsmodelle vorgelegt. Das Nutzerengagement für jede Gruppe wird anhand von Metriken wie der Klickrate und dem Sehvolumen gemessen.

Grenzen und Risiken

  • Kaltstartproblem beim Einsatz eines neuen Modells, das noch nicht trainiert wurde, was zu anfänglichen suboptimalen Empfehlungen führt, bis genügend Nutzerinteraktionsdaten gesammelt wurden.
  • Das Modell kann bestehende Inhaltspräferenzen verstärken (Verwertung), was die Vielfalt einschränkt; das Gleichgewicht zwischen Erkundung und Verwertung kann jedoch angepasst werden, um diesen Effekt zu kontrollieren.

Bereitstellung

  • Läuft effizient auf CPU, keine GPU erforderlich
  • Empfehlungen werden zwischengespeichert und jede n-te Stunde aktualisiert

Quellen

Vowpal Wabbit Documentation

Multi-Armed Bandits: Exploration vs Exploitation

Contextual Bandits in Recommendation Systems