<- Zurück

Recommendation System für Streaming Plattform


In den letzten Tagen schloss ich eines meiner ersten großen Projekte ab, seit ich mein eigenes Unternehmen gründete: die Entwicklung eines Recommendation-Systems für eine Podcast- und Musik-Streaming-Plattform. Recommendation-Systeme sind eine gängige Anwendung von Machine Learning, die es Content-Providern ermöglicht, Inhalte basierend auf den Präferenzen der Nutzer zu kuratieren und vorzuschlagen.

Das Projekt bestand aus zwei Teilen: erstens, die Entwicklung, Training und Testen eines Machine-Learning-Modells mit dem Ziel, Empfehlungen basierend auf dem bisherigen Verhalten der Nutzer und anderen Parametern zu generieren. Der zweite Teil bestand darin, das Recommendation-System in das Django-Backend und -Frontend des Unternehmens zu implementieren.

Eine wichtige Anforderung war, dass das Empfehlungssystem in Echtzeit basierend auf neuen Nutzersignalen trainiert werden kann. Die Eingabedaten des Modells basierten auf einer Kombination aus Parametern wie Genre, Veröffentlichungsdatum und Nutzersignalen wie Aufrufen, Wiedergabestunden, Bewertungen oder Favoriten.

Die Integration des Modells in die Website spielte eine entscheidende Rolle, da das System im Backend mit dem Frontend sowie mit den Nutzersignalen verbunden sein musste. Deshalb habe ich eine integrierte Datenpipeline aufgebaut, die den Algorithmus kontinuierlich neu trainiert, sobald neue Inhalte und Nutzersignale hinzukommen.

Für das Recommendation-System entwickelte und testete ich verschiedene bestehende Algorithmen, entschied mich letztlich jedoch, einen eigenen Algorithmus zu entwerfen. Die Kernidee meines Algorithmus bestand darin, einen Ranking-Algorithmus mit einem neuronalen Netzwerk zu kombinieren. Während der Ranking-Algorithmus eine Rangzahl berechnet, die die gewichtete Summe verschiedener normalisierter Parameter darstellt, erzeugt das neuronale Netzwerk die Gewichte für jeden einzelnen Parameter in der Bewertungskennzahl.

Apps

Connect

Mehr