Die Meisterschaftszeit 2019 ist eröffnet! SNA Hackathon startet ein ML Boot Camp 8


    Hallo!

    Viele Leser wissen bereits, dass wir ständig versuchen, verschiedene IT-Meisterschaften zu verschiedenen Themen durchzuführen. Allein im letzten Jahr wurden mehr als zehn verschiedene große Wettbewerbe abgehalten ( russischer AI-Cup , ML Boot Camp , Technocup und andere). Mindestens 25.000 Menschen

    haben daran teilgenommen , und seit 2011 sind es mehr als 150.000. Wenn Sie das gerade erst erfahren haben, herzlichen Glückwunsch: Von diesem Moment an wurden Sie Teil einer großen Gemeinschaft von Menschen, die an unseren Wettbewerben teilnahmen und Erfahrungen austauschen. ein Freund Bereits jetzt können Sie sich an Telegrammgruppen in den Bereichen künstliche Intelligenz , Sportprogrammierung ,belastete Projekte und Verwaltung , maschinelles Lernen und Datenanalyse . Dies hilft Ihnen, sich schnell an einer ernsthaften Party zu beteiligen!



    Kommen wir zur Sache. Heute, am 7. Februar, freuen wir uns, die neue Saison der Meisterschaft 2019 zu eröffnen. Beginnen wir mit dem achten maschinellen Lern- und Datenanalysewettbewerb auf der ML Boot Camp- Fachplattform (unserem Analogon zu Kaggle) - SNA Hackathon oder ML Boot Camp 8 (je nach Wunsch ).

    Die Organisatoren dieser Meisterschaft sind die Mail.ru Group und Odnoklassniki. Nach diesem Artikel empfehlen wir, eine kurze Geschichte des intelligenten Bandes zu lesen , in dem Dmitry Bugaychenko über die Algorithmen für das Ranking der Bandreihen in Odnoklassniki spricht. Dort gibt es viele nützliche Dinge.

    Und jetzt erzählen wir den Meisterschaftsmechanikern, ihren Zeitplan, Aufgaben und vorgeschlagenen Daten.

    Meisterschaftsmechaniker


    Es ist einfach Nach der Eröffnung der Meisterschaft im ML Boot Camp müssen Sie:

    1. Lesen Sie die Bedingungen der Aufgaben (sie sind bereits in diesem Artikel enthalten).
    2. Wählen Sie eine Aufgabe oder Aufgaben, die Sie lösen möchten.
    3. Daten herunterladen;
    4. Mit dem Modellbau beginnen und Vorhersagen treffen.
    5. Laden Sie Ihre Antworten (reguläre Datei) in das Verifizierungssystem hoch.

    Jeden Tag können Sie Ihre Antwortdateien bis zu fünf Mal zu uns hochladen. Das System überprüft die Antworten nur für 50% der Stichprobe (öffentlich), sodass die Ergebnisse vorläufig sind. Die endgültigen Ergebnisse für den Rest der Stichprobe (privat) werden den Teilnehmern nach Abschluss des Wettbewerbs angezeigt.

    Wenn Sie noch nie an solchen Wettbewerben teilgenommen haben, gibt es nichts zu befürchten. Lesen Sie den Artikel , und Sie werden erfolgreich sein :)

    Zeitplan


    Die Meisterschaft wird in zwei Etappen ausgetragen:

    1. online - vom 7. Februar bis 15. März;
    2. offline vom 30. März bis 1. April.

    Nach dem 15. März werden die Zwischenergebnisse bekannt gegeben und 15 Personen von den obersten Führungskräften werden für jede Aufgabe zur zweiten Stufe eingeladen, die im Moskauer Büro der Mail.ru Group stattfinden wird. Zusätzlich erhält die Einladung zur letzten Etappe drei Personen, die Ende des 23. Februar die Rangliste anführten.

    Beschreibung der Aufgaben


    Für den SNA-Hackathon-Wettbewerb wurden Protokolle von Inhaltstreffern aus offenen Gruppen für Februar-März 2018 in den Newsfeeds der Benutzer erfasst. Das Test-Set ist die letzte Woche und einen halben März ausgeblendet. Jeder Eintrag im Protokoll enthält Informationen darüber, was und wem er angezeigt wurde, und wie der Benutzer auf diesen Inhalt reagiert hat: Legen Sie „Klasse“ fest, kommentiert, ignoriert oder verbirgt er das Band.

    Die Essenz der Aufgabe besteht darin, die Kandidaten für jeden Benutzer des Test-Sets in eine Rangfolge zu bringen, wobei diejenigen, die eine „Klasse“ erhalten, so hoch wie möglich angehoben werden.

    Normalerweise gaben wir eine Aufgabe, aber dieses Mal entschieden wir uns, drei gleichzeitig zu geben. Sie müssen nicht alle lösen, nur eine ist genug. Da ein benutzerdefiniertes Band Inhalte eines anderen Typs kombiniert, sind Fähigkeiten in verschiedenen Bereichen gefragt - Bildverarbeitung, Textverarbeitung und Empfehlungssysteme.

    Als Teil der Online-Phase bieten wir drei Datensätze an, von denen jeder nur eine Art von Informationen enthält: ein Bild, Text oder Daten zu verschiedenen kollaborativen Funktionen.

    Erst in der zweiten Phase, in der Experten aus verschiedenen Bereichen zusammenkommen, wird ein gemeinsamer Datensatz veröffentlicht, mit dem sich Synergien für verschiedene Methoden finden lassen.
    Nach der Eröffnung der Meisterschaft auf der Plattform sehen Sie eine Beschreibung der Aufgaben und erhalten die Möglichkeit, die für die Teilnahme erforderlichen Daten herunterzuladen.

    Datenbeschreibung


    Die Informationen werden im Apache Parquet- Format dargestellt , das für das Spark-Framework das wichtigste ist. Um mit diesem Format aus Python zu arbeiten, empfehlen wir die Verwendung der Apache Arrow- Bibliothek . Zum leichteren Verständnis im Repository auf GitHub reihte sich Baselines auf. Verwenden!

    Im Trainingssatz sind die Daten nach Tag verteilt, und innerhalb des Tages werden sie nach Benutzer-ID in 6 Teile unterteilt (derselbe Benutzer fällt immer in denselben Teil). Dieses Layout ermöglicht den Teilnehmern, nicht alle Daten gleichzeitig zu analysieren, sondern sich auf bestimmte Tage und / oder Untergruppen von Benutzern zu beschränken.

    Die Trainingssätze sind in drei sich nicht überschneidende Gruppen unterteilt: mit Texten, Bildern und kollaborativen Zeichen. In jeder Gruppe enthalten die Daten die folgenden Felder:

    • instanceId_userId - Benutzer-ID (anonymisiert);
    • instanceId_objectType - Art des Objekts
    • instanceId_objectId - Objektkennung (anonymisiert);
    • feedback - ein Array mit den Arten von Benutzerreaktionen (das Vorhandensein des Liked-Tokens im Array zeigt an, dass das Objekt eine "Klasse" vom Benutzer erhalten hat);
    • audit_clientType - die Art der Plattform, von der aus sich der Benutzer angemeldet hat;
    • audit_timestamp - die Zeit, als das Band gebaut wurde;
    • metadata_ownerId - Der Autor des gezeigten Objekts (anonymisiert);
    • metadata_createdAt - Erstellungsdatum des angezeigten Objekts.

    Für Objekte aus dem Trainingstext-Set werden zusätzliche Texte im Apache Parquet-Format bereitgestellt:

    • objectId - Objektkennung;
    • lang - Textsprache (basierend auf dem Odnoklassniki-Sprachdetektor);
    • text - Rohtext, der dem Objekt zugeordnet ist;
    • preprocessed - eine Reihe von Token, die nach dem Filtern von Interpunktion und Stemming erhalten werden.

    In den Daten für das Ranking nach Bildern gibt es ein zusätzliches Feld ImageIdmit MD5-Hashwerten, die den Objekten der Bilder zugeordnet sind. Die Bildkörper werden in separaten Teerdateien angeordnet, abhängig vom ersten Buchstaben des Hashs.

    In dem Block mit kollaborativen Funktionen wird eine Vielzahl zusätzlicher Informationen angezeigt:

    • audit_* - erweiterte Informationen zum Kontext des Bandaufbaus;
    • metadata_* - erweiterte Informationen zum Objekt selbst;
    • userOwnerCounters_* - Informationen über vorherige Interaktionen des Benutzers und des Autors des Inhalts;
    • ownerUserCounters_* - Informationen zu früheren Interaktionen des Autoren und Benutzers des Inhalts;
    • membership_* - Informationen über die Mitgliedschaft des Benutzers in der Gruppe, in der der Inhalt veröffentlicht wird;
    • user_* - detaillierte Informationen über den Benutzer;
    • auditweights_* - Eine große Anzahl von Laufzeitzeichen, die vom aktuellen System extrahiert werden.

    Die Strukturen der Testsets entsprechen der Struktur der Trainingssets, sind jedoch nicht nach Tag geordnet und enthalten kein Feld feedback.

    Ergebnisauswertung


    Meisterschaftsteilnehmer müssen das Band so sortieren, dass sich Objekte mit einer hohen Wahrscheinlichkeit für „Klasse“ an der Spitze befinden. Die Sortierung erfolgt individuell für jeden Benutzer. Danach wird ein Übermittlungstext des folgenden Typs gebildet (das Format entspricht dem Export aus dem Pandas-Datenrahmen mit Spalten vom Typ intund int[]):

    User_id_1,"[object_id_1_1, object_id_1_2]"
    User_id_2,"[object_id_2_1, object_id_2_2, object_id_2_3]"

    Eine Zeile sollte eine Zeile für jeden Testfallbenutzer enthalten, und die Zeilen sollten in aufsteigender Reihenfolge nach ID sortiert werden. Die Objekte für jeden Benutzer müssen nach Relevanz in absteigender Reihenfolge sortiert werden.

    Bei der Bewertung der Einreichung für jeden Benutzer wird seine persönliche ROC-AUC berechnet. Danach wird der Durchschnitt für alle Benutzer berechnet und mit 100 multipliziert.

    Geschenke


    Die zweite Etappe findet in einem Teamformat statt und die Gewinner erhalten wertvolle Geschenke, Stikerpak und andere Preise:

    • 300 000 Rubel für das Team, das den ersten Platz gewonnen hat;
    • 200 000 Rubel an das zweitplatzierte Team;
    • 100 000 Rubel an das drittplatzierte Team;
    • Nach Angaben der Jury waren 100.000 Rubel für das Team, das eine Lösung mit den besten Aussichten für die Inbetriebnahme bot.

    Außerdem erhalten die Gewinner der Online-Bühne (die Top 33 der Anführer für jede Aufgabe) coole T-Shirts.

    Bonus! Der beste und aktivste Teilnehmer der Online-Bühne erhält eine PlayStation / XBox zur Auswahl. Die Kriterien sind einfach - viele Diagramme zu dem Fall im Chat, interessantes Auf und Ab, gutes Gespräch und etwas anderes. Der Gewinner wird durch öffentliche Abstimmung gewählt.

    Registrierung und Community


    Für die Teilnahme am Wettbewerb ist keine Registrierung erforderlich. Es reicht aus, sich einmal auf der Plattform registrieren zu lassen , und alle Wettbewerbe und Sandboxen vergangener Meisterschaften stehen Ihnen sofort zur Verfügung.

    Verschwenden Sie keine Zeit. Die Community wartet auf neue Helden. Das Welcome !

    Jetzt auch beliebt: