Eine kurze Geschichte eines "intelligenten Bands"



    Soziale Netzwerke sind heute eines der beliebtesten Internetprodukte und eine der Hauptdatenquellen für die Analyse. In den sozialen Netzwerken selbst gilt die Bildung der Nachrichtenlinie als die schwierigste und interessanteste Aufgabe auf dem Gebiet der Datenwissenschaft. Um den ständig steigenden Anforderungen des Benutzers an die Qualität und Relevanz des Inhalts gerecht zu werden, müssen Sie lernen, Informationen aus vielen Quellen zu sammeln, die Reaktion des Benutzers zu berechnen und ein Gleichgewicht zwischen Dutzenden konkurrierender Metriken im A / B-Test zu ermitteln. Und große Datenmengen, hohe Belastungen und hohe Anforderungen an die Reaktionsgeschwindigkeit machen die Aufgabe noch interessanter.

    Es scheint, dass die Rangordnungsaufgaben für heute bereits entlang und quer untersucht wurden, aber wenn Sie genau hinsehen, ist dies nicht so einfach. Der Inhalt des Bandes ist sehr heterogen - dies ist ein Foto von Freunden und Memesiki, viralen Videos, Longrides und Nauchpop. Um alles zusammenzubringen, benötigen Sie Kenntnisse aus verschiedenen Bereichen: Computer Vision, Textverarbeitung, Empfehlungssysteme und unbedingt moderne hochbelastete Speicher- und Datenverarbeitungsanlagen. Eine Person mit allen Fähigkeiten zu finden, ist heutzutage äußerst schwierig, daher ist das Sortieren des Bandes wirklich eine Teamaufgabe.

    Mit verschiedenen Algorithmen, die Bänder in Odnoklassniki einordnenSie begannen bereits 2012 zu experimentieren und 2014 war maschinelles Lernen mit diesem Prozess verbunden. Möglich wurde dies vor allem durch die Fortschritte auf dem Gebiet der Technologien für die Arbeit mit Datenströmen. Erst durch das Sammeln von Objektdarstellungen und deren Zeichen in Kafka und das Sammeln von Protokollen mit Samza konnten wir Datensätze für Trainingsmodelle erstellen und die am meisten anziehenden Funktionen berechnen : Klicken Sie auf die Durchsatzrate des Objekts und die Vorhersagen des Referenzsystems, basierend auf der Arbeit der Kollegen von LinkedIn .



    Es stellte sich schnell heraus, dass das logistische Regressions-Arbeitspferd das Band nicht alleine herausnehmen kann, da der Benutzer eine ganz andere Reaktion haben kann: Klasse, Kommentar, Klick, Verschleierung usw., während der Inhalt sehr unterschiedlich sein kann - Foto ein Freund, ein Gruppenbeitrag oder ein Vidosik, der von einem Freund verblasst wird Jede Reaktion für jede Art von Inhalt hat ihre eigenen Besonderheiten und ihren eigenen geschäftlichen Wert. Als Ergebnis kamen wir zum Konzept der „ logistischen Regressionsmatrix “: Für jede Art von Inhalt und für jede Reaktion wird ein eigenes Modell erstellt, und dann werden ihre Vorhersagen mit einer Matrix von Gewichtungen multipliziert, die von Händen gebildet werden, basierend auf den aktuellen Geschäftsprioritäten.



    Dieses Modell erwies sich als äußerst lebensfähig und war lange Zeit das wichtigste. Im Laufe der Zeit hat es mehr und mehr interessante Features erhalten: für Objekte, für Benutzer, für Autoren, für eine Benutzer-Autor-Beziehung, für diejenigen, die mit einem Objekt interagieren usw. Als Ergebnis endeten die ersten Versuche, die Regression durch ein neuronales Netzwerk zu ersetzen, in einem traurigen "Feature, das wir haben, sind zu fertig, das Boost-Grid gibt nicht nach"

    Gleichzeitig wurde oft der spürbarste Schub in Bezug auf die Benutzeraktivität durch technische und nicht durch algorithmische Verbesserungen gegeben: Erhöhen Sie mehr Kandidaten für das Ranking, verfolgen Sie die Fakten der Show genauer, optimieren Sie die Antwortrate des Algorithmus und vertiefen Sie den Anzeigeverlauf. Solche Verbesserungen führten häufig zu Einheiten und manchmal sogar zu zehn Prozent der Steigerung der Aktivität, während das Modell aktualisiert und häufiger eine Eigenschaft hinzugefügt wurde, die Zehntelprozent erhöht wurde.



    Separate Schwierigkeiten bei Experimenten bei der Aktualisierung des Modells führten zu einer Neuverteilung des Inhalts - die Verteilung der Vorhersagen des "neuen" Modells konnte sich häufig erheblich vom Vorgänger unterscheiden, was zu einer Umverteilung des Verkehrs und zu Rückkopplungen führte. Daher ist es schwierig, die Qualität des neuen Modells zu beurteilen, da Sie zunächst das Gleichgewicht des Inhalts kalibrieren müssen (wiederholen Sie den Vorgang des Einstellens der Gewichte der Matrix für die Geschäftsziele). Nachdem wir die Erfahrungen der Kollegen von Facebook untersucht hatten , stellten wir fest, dass das Modell kalibriert werden muss und eine isotonische Regression an die Spitze der logistischen Regression angehängt ist :).

    Bei der Erstellung neuer Inhaltsattribute erlebten wir häufig Frustration - ein einfaches Modell, das grundlegende Techniken der Zusammenarbeit verwendet, kann 80% oder sogar 90% des Ergebnisses liefern, während ein modisches neuronales Netzwerk, das sich seit einer Woche mit super-teuren GPUs beschäftigt, Katzen und Autos idealerweise erkennt, aber erhöht Metriken nur im dritten Zeichen. Ein ähnlicher Effekt ist häufig bei der Einführung von thematischen Modellen, fastText und anderen Einbettungen zu beobachten. Die Frustration konnte überwunden werden, indem die Validierung aus dem richtigen Blickwinkel betrachtet wurde: Die Leistung kollaborativer Algorithmen verbessert sich erheblich, wenn Informationen über das Objekt gesammelt werden, während bei „frischen“ Objekten die Inhaltsattribute einen spürbaren Schub bewirken.

    Natürlich sollten die Ergebnisse der logistischen Regression eines Tages verbessert worden sein, und durch die Anwendung des kürzlich veröffentlichten XGBoost-Spark konnten Fortschritte erzielt werden . Die Integration war nicht einfach , aber das Modell wurde schließlich zu einer modischen Jugend, und die Metriken sind durch das Interesse gewachsen.



    Sicherlich können Sie aus den Daten viel mehr Wissen extrahieren und das Ribbon-Ranking auf eine neue Höhe bringen - und heute hat jeder die Möglichkeit, diese nicht-triviale Aufgabe beim SNA Hackathon 2019- Wettbewerb auszuprobieren. Der Wettbewerb findet in zwei Schritten statt: Laden Sie die Lösung für eines von drei Problemen vom 7. Februar bis zum 15. März herunter. Nach dem 15. März werden die Zwischenergebnisse zusammengefasst und 15 Personen von der obersten Rangliste für jede Aufgabe werden zur zweiten Phase eingeladen, die vom 30. März bis 1. April im Moskauer Büro der Mail.ru Group stattfinden wird. Die Einladung zur zweiten Etappe wird außerdem von drei Personen eingenommen, die Ende des 23. Februar an der Spitze der Bewertung stehen.

    Warum gibt es drei Aufgaben? Als Teil der Online-Phase bieten wir drei Datensätze an, von denen jeder nur einen der Aspekte enthält: ein Bild, Text oder Informationen zu verschiedenen Funktionen für die Zusammenarbeit. Erst in der zweiten Phase, in der Experten aus verschiedenen Bereichen zusammenkommen, wird ein gemeinsamer Datensatz angezeigt, mit dem Sie Synergien für unterschiedliche Methoden finden können.

    Interessiert an der Aufgabe? SNA Hackathon beitreten :)

    Jetzt auch beliebt: