
Soziale Netzwerke sind heute eines der beliebtesten Internetprodukte und eine der wichtigsten Datenquellen fĂŒr die Analyse. Innerhalb der sozialen Netzwerke selbst wird die schwierigste und interessanteste Aufgabe im Bereich der Datenwissenschaft als die Bildung eines Newsfeeds angesehen. Um den steigenden Anforderungen des Benutzers an die QualitĂ€t und Relevanz des Inhalts gerecht zu werden, muss er lernen, wie Informationen aus vielen Quellen gesammelt, die Prognose der Reaktion des Benutzers berechnet und das Gleichgewicht zwischen Dutzenden konkurrierender Metriken im A / B-Test hergestellt werden. GroĂe Datenmengen, hohe Arbeitslasten und hohe Anforderungen an die Reaktionsgeschwindigkeit machen die Aufgabe noch interessanter.
Es scheint, dass die Aufgaben des Rankings heute bereits hin und her untersucht wurden, aber wenn Sie genau hinschauen, ist es nicht so einfach. Der Inhalt des Feeds ist sehr heterogen - dies ist ein Foto von Freunden und Memos, viralen Videos, langen Lesungen und wissenschaftlichem Pop. Um alles zusammenzustellen, benötigen Sie Kenntnisse aus verschiedenen Bereichen: Computer Vision, Arbeiten mit Texten, Empfehlungssystemen und ohne Zweifel moderne hochgeladene Speicher- und Datenverarbeitungstools. Es ist heutzutage Ă€uĂerst schwierig, eine Person mit allen FĂ€higkeiten zu finden. Das Sortieren des Bandes ist also wirklich eine Teamaufgabe.
Odnoklassniki begann bereits 2012 mit verschiedenen Ribbon-Ranking-Algorithmen zu experimentieren, und 2014 schloss sich auch maschinelles Lernen diesem Prozess an. Möglich wurde dies vor allem durch die Fortschritte auf dem Gebiet der Technologien fĂŒr die Arbeit mit Datenströmen. Gerade als wir
anfingen , Objektanzeigen und ihre Attribute in
Kafka zu sammeln und Protokolle mit
Samza zu aggregieren, konnten wir einen Datensatz fĂŒr Trainingsmodelle erstellen und
die am hÀufigsten verwendeten Funktionen
berechnen : Click Through Rate-Objekte und Prognosen des Empfehlungssystems "basierend auf" der
Arbeit von Kollegen von LinkedIn .

Es wurde schnell klar, dass das Arbeitstier der logistischen Regression das Band nicht alleine herausnehmen kann, da der Benutzer sehr unterschiedlich reagieren kann: Klasse, Kommentar, Klicken, Verstecken usw., und der Inhalt kann sehr unterschiedlich sein - Foto ein Freund, ein Gruppenbeitrag oder ein von einem Freund eingeschriebener Vidosik. Jede Reaktion fĂŒr jede Art von Inhalt hat ihre eigene SpezifitĂ€t und ihren eigenen GeschĂ€ftswert. Als Ergebnis kamen wir zum Konzept einer â
Matrix logistischer Regressionen â: FĂŒr jede Art von Inhalt und jede Reaktion wird ein separates Modell erstellt, und dann werden ihre Prognosen mit einer Gewichtsmatrix multipliziert, die von HĂ€nden basierend auf den aktuellen GeschĂ€ftsprioritĂ€ten gebildet wird.

Dieses Modell war Ă€uĂerst lebensfĂ€hig und war lange Zeit das wichtigste. Im Laufe der Zeit wurden immer interessantere Funktionen erworben: fĂŒr Objekte, fĂŒr Benutzer, fĂŒr Autoren, fĂŒr die Beziehung des Benutzers zum Autor, fĂŒr diejenigen, die mit dem Objekt interagierten usw. Infolgedessen endeten die ersten Versuche, die Regression durch ein neuronales Netzwerk zu ersetzen, mit einem traurigen "Merkmal, das wir haben, sind zu beschissen, das Netz gibt keinen Schub".
Gleichzeitig haben technische und nicht algorithmische Verbesserungen unter dem Gesichtspunkt der BenutzeraktivitĂ€t hĂ€ufig den spĂŒrbarsten Schub gebracht: Mehr Kandidaten fĂŒr das Ranking gewinnen, die Fakten der Show genauer verfolgen, die Antwortgeschwindigkeit des Algorithmus optimieren und den Browserverlauf vertiefen. Solche Verbesserungen fĂŒhrten hĂ€ufig zu Einheiten und manchmal sogar zu einer Steigerung der AktivitĂ€t um zehn Prozent, wĂ€hrend die Aktualisierung des Modells und das HinzufĂŒgen eines Features hĂ€ufig zu einer Steigerung um Zehntel Prozent fĂŒhrte.

Eine separate Schwierigkeit bei den Experimenten zur Aktualisierung des Modells bestand darin, ein inhaltliches Gleichgewicht herzustellen - die Verteilung der Prognosen des âneuenâ Modells konnte sich hĂ€ufig erheblich von der des VorgĂ€ngers unterscheiden, was zu einer Umverteilung von Verkehr und Feedback fĂŒhrte. Infolgedessen ist es schwierig, die QualitĂ€t des neuen Modells zu beurteilen, da Sie zuerst die Ausgewogenheit des Inhalts kalibrieren mĂŒssen (wiederholen Sie den Vorgang zum Festlegen der Matrixgewichte fĂŒr geschĂ€ftliche Zwecke). Nachdem wir die
Erfahrungen von Kollegen von Facebook untersucht hatten , stellten wir fest, dass das Modell
kalibriert werden muss , und zusĂ€tzlich zur logistischen Regression wurde eine isotonische Regression hinzugefĂŒgt :).
Bei der Erstellung neuer Inhaltsattribute kam es hĂ€ufig zu Frustrationen: Ein einfaches Modell mit grundlegenden Techniken der Zusammenarbeit kann 80% oder sogar 90% des Ergebnisses liefern, wĂ€hrend ein modisches neuronales Netzwerk, das eine Woche lang auf superteueren GPUs trainiert wurde, Katzen und Autos perfekt erkennt, aber eine Steigerung erzielt Metriken nur in der dritten Ziffer. Ein Ă€hnlicher Effekt ist hĂ€ufig bei der Implementierung thematischer Modelle, fastText und anderer Einbettungen zu beobachten. Wir haben es geschafft, die Frustration zu ĂŒberwinden, indem wir die Validierung aus dem richtigen Blickwinkel betrachtet haben: Die Leistung kollaborativer Algorithmen verbessert sich erheblich, wenn sich Informationen ĂŒber das Objekt ansammeln, wĂ€hrend bei âfrischenâ Objekten die Inhaltsattribute einen spĂŒrbaren Schub geben.
Aber natĂŒrlich sollten eines Tages die Ergebnisse der logistischen Regression verbessert werden, und Fortschritte wurden durch die Anwendung des kĂŒrzlich veröffentlichten
XGBoost-Spark erzielt. Die Integration
war nicht einfach , aber am Ende wurde das Modell schlieĂlich modisch und jugendlich, und die Metriken wuchsen um Prozent.

Sicherlich kann viel mehr Wissen aus den Daten extrahiert und das Ranking des Bandes auf eine neue Höhe gebracht werden - und heute hat jeder die Möglichkeit, sich beim
SNA Hackathon 2019- Wettbewerb an dieser nicht trivialen Aufgabe zu versuchen. Der Wettbewerb findet in zwei Phasen statt: Laden Sie vom 7. Februar bis 15. MĂ€rz die Lösung fĂŒr eine von drei Aufgaben herunter. Nach dem 15. MĂ€rz werden die Zwischenergebnisse zusammengefasst, und 15 Personen aus der Rangliste fĂŒr jede Aufgabe erhalten Einladungen zur zweiten Phase, die vom 30. MĂ€rz bis 1. April im Moskauer BĂŒro der Mail.ru Group stattfindet. DarĂŒber hinaus erhĂ€lt die Einladung zur zweiten Stufe Ende Februar drei Personen, die an der Spitze des Ratings stehen.
Warum gibt es drei Aufgaben? Im Rahmen der Online-Phase bieten wir drei DatensĂ€tze an, von denen jeder nur einen der Aspekte darstellt: Bild, Text oder Informationen zu einer Vielzahl von Attributen fĂŒr die Zusammenarbeit. Und erst in der zweiten Phase, wenn Experten auf verschiedenen Gebieten zusammenkommen, wird der allgemeine Datensatz angezeigt, sodass Sie Punkte fĂŒr die Synergie verschiedener Methoden finden können.
Interessiert an einer Aufgabe? Mach mit bei
SNA Hackathon :)