SASRec (Self-Attention Sequential Recommendation model) ist ein Empfehlungsmodell, das den Nutzern Inhalte auf der Grundlage ihrer bisherigen Interaktionen, wie zum Beispiel Klicks, empfiehlt. Da es sich um ein sequenzielles Modell handelt, berücksichtigt SASRec nicht einfach nur die Gesamtheit der Inhalte, mit denen interagiert wurde, sondern für jeden Nutzenden auch die Reihenfolge, in der mit den Inhalten interagiert wurde. So bietet SASRec personalisierte, nutzungsbasierte Empfehlungen, die auf die individuellen Präferenzen der Nutzer:innen zugeschnitten sind.
Algorithmus
Einzelheiten des Algorithmus sind im Folgenden aufgeführt:
Nutzungsbasiertes Modell: Das Modell berücksichtigt verschiedene Nutzerhistorien und deren Interaktionen für das Modelltraining.
Der Self-Attention-Mechanismus: Das Modell identifiziert und priorisiert Schlüsselinteraktionen in der Benutzerhistorie. Das ist der gleiche Mechanismus wie jener, der im Transformer-Modell verwendet wird. Der Self-Attention-Mechanismus ermöglicht es, sowohl aktuelle als auch vergangene Abhängigkeiten dynamisch und adaptiv zu gewichten.
Personalisierte Empfehlungen: Über das Lernen aus verschiedenen Benutzerinteraktionen liefert das Modell personalisierte Empfehlungen.
Training: Der Algorithmus wird anhand von Tracking-Daten trainiert. Jedes Video hat eine eindeutige „Video-ID“, während jeder Nutzer eine eindeutige „Nutzer-ID“ hat. Alle Benutzerinteraktionen werden gesammelt und für das Training des Modells berücksichtigt. Inferenz: Nach dem Training des Algorithmus soll der Algorithmus dem Benutzer über den Endpunkt Empfehlungen aussprechen; dieser Schritt wird als Inferenz bezeichnet. Während des Inferenzprozesses für DKDI werden die letzten Inhalte, mit denen der Nutzer interagiert hat, berücksichtigt, um dem Nutzer die bestmöglichen Videos zu empfehlen. Das Modell empfiehlt also Inhalte auf der Grundlage des Benutzerverlaufs.
Nachbearbeitung
In der Nachbearbeitungsphase für DKDI sind folgende Schritte enthalten:
Wenn das Modell ein Video empfiehlt, das schon im Benutzerverlauf enthalten ist, wird dieses Video von den Empfehlungen ausgeschlossen.
Außerdem werden in der Nachbearbeitungsphase alle Videos, die vom Modell empfohlen werden, den Smart Collections Empfehlungen zugeordnet. Für den Anwendungsfall DKDI werden dem Nutzer nur die Smart Collections empfohlen.
Algorithmus
Für den Anwendungsfall „Nächstes Video“ wird SASRec verwendet, um Empfehlungen auszusprechen. Weitere Einzelheiten dazu findest du im Reiter Anwendungsfall: „Nächstes Video“.
Methode
Training: Alle Benutzerinteraktionen werden gesammelt und für das Modelltraining berücksichtigt. Eine genauere Erläuterung des Trainingsprozesses findet sich im nächsten Abschnitt. Inferenz: Während des Inferenzprozesses wird das aktuelle Video als der aktuelle Verlauf betrachtet. So empfiehlt das Modell das bestmögliche nächste Video für das aktuell angeklickte Video.
Nachbearbeitung
In der Nachbearbeitung wird das bestmögliche nächste Video empfohlen. In diesem Anwendungsfall werden keine Smart Collections empfohlen.
Die Inhalte der Partner 3sat, ARD, Arte, funk, Kika und phoenix finden keine Berücksichtigung.
Trainingsdaten
Für das Modelltraining werden die Daten der letzten 30 Tage verwendet. Videos mit einem Zuschaueranteil von über 35 % werden berücksichtigt sowie auch Videos mit mehr als 20 Klicks. Auf diese Weise werden nur starke Klicks auf Nutzerelemente als Datensatz für das Modelltraining gespeichert.
Es werden hauptsächlich zwei Merkmale für das Training des Modells berücksichtigt, die „Benutzer-ID“ und die „Video-ID“. Jeder Nutzende, der einer Personalisierung zugestimmt hat, hat eine eindeutige Benutzer-ID und jedes Video oder jeder Inhalt, der auf der Streaming-Plattform verfügbar ist, hat eine Video-ID. Für jede Nutzer:in, die das ZDF besucht und Videos anschaut, werden die entsprechenden Inhalte anhand ihrer „Video-ID“ gruppiert oder gesammelt.
Ein Beispiel: Wenn eine Nutzer:in eine Episode von “Stand Up for Comedy”, ein Video von “Pumpen” und eine Folge von “SOKO Wien” anschaut, werden die entsprechenden drei Video-IDs zum Training des Modells genutzt. Darüber hinaus werden diese Video-IDs auch in der Reihenfolge der Nutzerinteraktion berücksichtigt. Die unten stehende Abbildung veranschaulicht ein Beispiel für die Verwendung einer Nutzerhistorie während des Modelltrainings.
In ähnlicher Weise werden mehrere Nutzerhistorien und verschiedene Kontexte beim Training des Modells berücksichtigt. Dadurch kann das Modell lernen, jedem Nutzer personalisierte Inhalte zu empfehlen.
Diese Abbildung veranschaulicht die Verwendung einer Nutzerhistorie während des Modelltrainings
Bewertung und Leistung
Das Modell wird auf zwei Arten bewertet, um die Leistung zu überprüfen: Offline-Evaluierung und A/B-Tests.
Bei der Offline-Evaluierung kann das Modell dahingehend evaluiert werden, wie präzise das Modell die Empfehlungen in der Vergangenheit geschauten Inhalte generieren kann. Verschiedene Offline-Metriken wie Mean Reciprocal Rank (MRR), Normalised Discounted Cumulative Gain (NDCG), Popularity werden zur Quantifizierung der Leistung des Modells herangezogen. Bei der Offline-Bewertung wird das Modell hauptsächlich auf den mittleren reziproken Rang (MRR) hin optimiert.
In ähnlicher Weise wird das Modell bei der Online-Evaluierung mit A/B-Tests bewertet. Hier werden die Nutzer:innen in verschiedene Untergruppen aufgeteilt und die Leistung des Modells in Echtzeit überprüft.
Grenzen und Risiken
Das Modell nutzt AWS SageMaker-Instanzen für verschiedene Schritte. Kürzere Laufzeiten senken die Trainingskosten. Ziel ist es, weniger Ressourcen zu verbrauchen und dennoch bessere Empfehlungen zu erhalten.
Die Offline-Evaluierung sollte verbessert werden, damit es besser mit der Online-Bewertung übereinstimmt.
Das Modell kann keine sehr weitreichenden Abhängigkeiten verarbeiten.
Da SASRec ein nutzungsbasiertes Modell ist, hängt die Größe des Datensatzes von den Interaktionen der Nutzer:innen ab. Je größer der Datensatz ist, desto länger dauert das Modelltraining.
Bereitstellung
Für die Bereitstellung wird Amazon Web Services (AWS) verwendet. Das Modell wird jeden Tag viermal in der Produktionsumgebung trainiert.
Für das Training wird ein Grafikprozessor (GPU) verwendet.
Die aktuelle Sagemaker-Pipeline besteht aus Training und Auswertung in einem Schritt. Dies könnte in zwei Stufen aufgeteilt werden, um die Kosten zu optimieren und weniger Instanzen zu verwenden.