Research @ Mangaki Recommandation d'anime et de mangas

Wanna join? Contact us or say hi on Twitter!


Palmarès du Mangaki Data Challenge

(This article is also available in English.)

Le Mangaki Data Challenge

Du 1er juillet au 1er octobre, l’association Mangaki et le Kashima Lab de l’université de Kyoto ont organisé le Mangaki Data Challenge.

Le concours a été annoncé à Anime Expo le 2 juillet 2017, à Los Angeles !

Énoncé

Les participants devaient déterminer si certains utilisateurs ont envie de lire certains mangas ou s’ils n’ont pas envie de les lire, à partir du profil de tous les utilisateurs du site.

Voir l’énoncé complet en français, anglais ou japonais.

Palmarès

1er prix.

GeniusIke (Microsoft, China), qui gagne un background artbook Your Name. et l’OST du film Fireworks (Shaft) qui sortira en France le 3 janvier 2018 !

2e prix.

ηzw, qui gagne un abonnement à Wakanim.

3e prix.

karekyasu, qui gagne 2 ecocups collector JoJolion par Sedeto.

Voir le palmarès complet sur University of Big Data.

Quelles sont les solutions des gagnants ?

Le gagnant, GeniusIke (AUC = 86 %), a décrit sa solution dans un billet de blog et a publié son code sur GitHub !

À noter que la simple solution consistant à prédire une combinaison linéaire du training set a permis à BC d’arriver 5e avec une AUC de 82.6 % !
(Cf. le palmarès ainsi que ce notebook.)

Quel est le score de Mangaki ?

Une AUC de 81 % avec un gradient boosting tree qui nous aurait fait arriver 8e. Voir notre solution !

On se demande avec notre récent travail de l’été (BALSE, accepté à MANPU 2017) si utiliser les posters aurait permis d’améliorer ce score significativement !

Quels pays ont participé ?

  • France : 13
  • Japon : 6
  • US : 5
  • Chine, Espagne, Taïwan, Corée du Sud, Russie, Inde, Hongrie, Mexique : 1

Pourquoi organiser ce concours ?

Pour les raisons suivantes :

  • Parler du projet open source Mangaki
  • Promouvoir nos ratings en open data
    (certains professeurs les utilisent déjà dans leurs cours, ou même au lycée)
  • Intéresser plus de gens aux compétitions de data science

Suivez-nous sur Twitter et Facebook pour être au courant du prochain challenge !

Et encore bravo à tous les participants !

Une nouvelle interface arrive sur Mangaki : mangaki/fix !

Présentation de la nouvelle interface

Vous pouvez pour le moment suggérer une modification sur un anime ou manga depuis sa page, pour signaler des erreurs ou oublis (titre ou synopsys erroné, poster incorrect, doublon, œuvre marquée non NSFW alors qu’elle devrait l’être …).

Cependant, il était pour le moment impossible de donner votre avis sur les suggestions des autres utilisateurs : ceci est désormais de l’histoire ancienne !

Sur la page https://mangaki.fr/fix, vous pourrez ainsi voir l’ensemble des suggestions proposées par vous ou par les autres utilisateurs. Vous pourrez alors accéder à la page d’une suggestion pour donner votre avis !

Exemple de l'interface mangaki.fr/fix

Voter sur une suggestion

En accédant à la page d’une suggestion, vous pourrez accéder à plus d’informations. Il est alors possible d’indiquer si vous êtes d’accord ou non avec cette proposition de modification. Il est aussi possible de demander l’aide d’un administrateur, pour des problèmes plus compliqués.

Exemple de page d'une suggestion

Grille NSFW

Enfin, depuis la page https://mangaki.fr/grid/nsfw, une autre nouvelle page est accessible : la grille NSFW

Sur celle-ci, vous pourrez retrouver l’ensemble des animes ou mangas pour lesquels un problème “Est NSFW” ou “N’est pas NSFW” a été ouvert. Vous pourrez alors voter pour les œuvres qui sont NSFW.

Bien évidemment, si vous avec indiqué sur votre profil ne pas souhaiter afficher les posters NSFW, il vous sera possible de temporairement les afficher sur cette grille, afin de pouvoir donner votre avis !

Exemple de présentation de la grille NSFW

À bientôt sur https://mangaki.fr/ !

Mangakiデータチャレンジ日本語

(also in English / en français)

Mangaki.frはユーザが (1)アニメ・マンガを評価し、(2)次に見るべきアニメ・マンガの推薦を受けるためのプラットフォームです。フランスの学生により運営され、コードはGitHubで公開されています。興味がある人なら、誰でもMangakiの機械学習アルゴリズムの改善に参加することができます。

このコンペティションでは、アニメ・マンガに対するユーザの評価の予測に取り組んでもらいます。データセットとして、実際のユーザによる評価結果が提供されます。外部データの利用は自由とします。また、どのようなプログラミング言語でも参加することができます。入賞者には、手法を宣伝する機会をこのウェブページにて提供します。

アニメ・マンガの評価の種類

Mangakiでは、ユーザが「視聴後」と「視聴前」の二種類の評価を行います:

Types of ratings on Mangaki 

視聴後の評価には以下の4種類があります:

  • love: とても気に入った
  • like: 気に入った
  • neutral: どちらでもない
  • dislike: 気に入らなかった

視聴前の評価には以下の2種類があります:

  • willsee: 見たい・読みたい
  • wontsee: 見たくない・読みたくない
訓練データ:train.csv

train.csvには以下の情報が含まれます:

user_id,work_id,rating
50,4041,0
508,1713,0
1780,7053,1
658,8853,0
1003,9401,0
...

各行は以下の情報を表します:

  • user_id: ユーザID(0から1982の間)
  • work_id: 作品ID(0から9896の間)
  • rating: 視聴前評価。1willsee0wontseeを表す。

例えば、1780,7053,1は、「ユーザ#1780は 作品#7053を見ていないが、その 作品を見たい(読みたい)と思っている」ことを表します。

テストデータ:test.csv

test.csvには以下の情報が含まれます:

user_id,work_id
486,1086
1509,3296
617,1086
270,9648
459,3647
...

各行は以下の情報を表します:

  • user_id: ユーザID(0から1982の間)
  • work_id: 作品ID(0から9896の間)

テストデータ内のユーザID・作品IDについて、視聴前評価を予測して提出してください。具体的には、「willseeと評価する確率」を予測し出力してください。提出ファイルの例がsubmission.csvで示されています:

user_id,work_id,prob_willsee
486,1086,XXX
1509,3296,XXX
617,1086,XXX
270,9648,XXX
459,3647,XXX
...

XXXに「willseeと評価する確率」を記述してください。

ボーナスデータ1:watched.csv

watched.csvには視聴後予測の情報が含まれています:

user_id,work_id,rating
717,8025,dislike
1106,1027,neutral
1970,3949,neutral
1685,9815,like
1703,3482,like
...

各行は以下の情報を表します:

  • user_id: ユーザID(0から1982の間)
  • work_id: 作品ID(0から9896の間)
  • rating: 視聴後評価。love, like, neutral, dislikeのいずれか。

例えば、717,8025,dislikeは、「ユーザ#717は作品#8025を見たが、その 作品を気に入らなかった」ことを表します。

チャレンジはこちら

Mangaki Data Challenge, version française

(also in English / 日本語)

Mangaki.fr est un site Web où les utilisateurs peuvent noter des anime et des mangas et recevoir des recommandations personnalisées (quel anime faut-il que vous regardiez absolument ?). Le site est développé par une association principalement composée d’étudiants, et tout le code de la plateforme est disponible sur GitHub, donc quiconque souhaitant améliorer le site peut contribuer librement.

Dans ce challenge, afin de gagner (et montrer votre suprématie au monde entier), vous devrez prédire les préférences d’utilisateurs sur des anime qu’ils n’ont pas vus. Les notes sont fournies par d’authentiques utilisateurs de Mangaki.

Il est plus que conseillé d’utiliser d’autres sources d’information que les données qu’on vous fournit pour améliorer votre score. Tous les langages sont acceptés, vous êtes donc libres d’utiliser celui que vous préférez ! Les gagnants pourront décrire leur solution sur University of Big Data.

Participer au Mangaki Data Challenge !

Types de notes anime/manga

Sur Mangaki, les utilisateurs peuvent noter les anime ou manga de la façon suivante :

Types de notes sur Mangaki

Ainsi, soit un utilisateur a vu (ou lu) une œuvre, auquel cas la note attribuée à cette œuvre est l’une de celles-ci :

  • love: j’ai adoré ;
  • like: j’ai aimé ;
  • neutral: je n’ai ni aimé, ni pas aimé ;
  • dislike: je n’ai pas aimé.

Soit l’utilisateur n’a pas vu (ou lu) une œuvre, auquel cas la note attribuée à cette œuvre est :

  • willsee (ou 1): j’ai envie de voir (ou lire);
  • wontsee (ou 0): je n’ai pas envie de voir (ou lire).

Données d’entraînement : train.csv

Le jeu de données d’entraînement, train.csv, contient les informations suivantes :

user_id,work_id,rating
50,4041,0
508,1713,0
1780,7053,1
658,8853,0
1003,9401,0
...

où chaque ligne <user_id>,<work_id>,<rating> contient :

  • user_id: l’ID d’un utilisateur, entre 0 et 1982 ;
  • work_id: l’ID d’un anime ou manga, entre 0 et 9896 ;
  • rating: l’une des valeurs suivantes : 1 (willsee) ou 0 (wontsee).

Par exemple, 1780,7053,1 signifie que l’utilisateur no 1780 n’a pas vu l’œuvre no 7053, mais a envie de la voir.

Données d’évaluation : test.csv

Le jeu de données d’évaluation, test.csv, contient les informations suivantes :

user_id,work_id
486,1086
1509,3296
617,1086
270,9648
459,3647
...

où chaque ligne <user_id>,<work_id> contient :

  • user_id: l’ID d’un utilisateur, entre 0 et 1982 ;
  • work_id: l’ID d’une œuvre anime ou manga, entre 0 et 9896.

Pour participer, vous devrez écrire un programme qui devine les notes manquantes. Ainsi, votre programme devra produire un fichier submission.csv de la forme suivante :

user_id,work_id,prob_willsee
486,1086,XXX
1509,3296,XXX
617,1086,XXX
270,9648,XXX
459,3647,XXX
...

XXX désigne la probabilité d’obtenir une note willsee pour la paire user_id, work_id correspondante. Votre fichier sera utilisé pour l’évaluation.

Si vous étiez laissé dans la jungle seulement avec ces informations, le problème serait sacrément difficile. Heureusement pour vous, nous fournissons un jeu de données supplémentaire.

Jeu de données bonus : watched.csv

Le jeu de données watched.csv contient les informations suivantes :

user_id,work_id,rating
717,8025,dislike
1106,1027,neutral
1970,3949,neutral
1685,9815,like
1703,3482,like
...

où chaque ligne <user_id>,<work_id>,<rating> contient :

  • user_id: l’ID d’un utilisateur, entre 0 et 1982 ;
  • work_id: l’ID d’un anime ou manga, entre 0 et 9896 ;
  • rating: l’une des valeurs suivantes : love, like, neutral ou dislike.

Par exemple, 717,8025,dislike signifie que l’utilisateur no 717 n’a pas aimé l’œuvre no 8025.

Évaluation

Comme mesure pour départager les soumissions, le score AUC sera utilisé.

Dans le classement public, les scores intermédiaires sont calculés en utilisant 50 % du jeu de données de test, et les scores finaux seront calculé en utilisant les 50 % restants. Le classement final sera déterminé en fonction des scores finaux.

Téléchargez les données et participez au concours sur University of Big Data !

Mangaki Data Challenge, English version

(en français / 日本語)

Mangaki.fr is an online platform where users can provide ratings of anime and manga and receive personalized recommendations of what to watch next. It is being actively developed by a community of French crazy students, and the whole code of the platform is available on GitHub, so interested users can improve the machine learning algorithms of Mangaki.

In this challenge, in order to win (and show your supremacy to the world), you will have to predict the ratings of users over unwatched anime and manga. The ratings are provided by the actual Mangaki users.

You are more than welcome to look for extra sources of data in order to improve your score. All programming languages are allowed. Just find the one that works best for you! Winners will be provided an opportunity to promote their solutions on University of Big Data.

Compete Now!

Types of anime/manga ratings

On Mangaki, users can rate anime or manga the following way:

Types of ratings on Mangaki

Which means either they watched (or saw) the work, in which case the rating can be one of these watched ratings:

  • love: they loved it;
  • like: they liked it;
  • neutral: neither they liked it or disliked it;
  • dislike: they did not like it.

Either they did not watch (or see) the work, in which case the rating can be one of these unwatched ratings:

  • willsee (or 1): they stated they want to watch (or read) it;
  • wontsee (or 0): they stated they do not want to watch (or read) it.

Train Dataset: train.csv

The train dataset, train.csv, contains the following information:

user_id,work_id,rating
50,4041,0
508,1713,0
1780,7053,1
658,8853,0
1003,9401,0
...

where each line <user_id>,<work_id>,<rating> is composed of:

  • user_id: the ID of a user, between 0 and 1982;
  • work_id: the ID of an anime or manga, between 0 and 9896;
  • rating: one of the following values: 1 (willsee) or 0 (wontsee).

For example, 1780,7053,1 means that the user #1780 didn’t see work #7053, but said they want to see it.

Test Dataset: test.csv

The test dataset, test.csv, contains the following information:

user_id,work_id
486,1086
1509,3296
617,1086
270,9648
459,3647
...

where each line <user_id>,<work_id> is composed of:

  • user_id: the ID of a user, between 0 and 1982;
  • work_id: the ID of an anime or manga, between 0 and 9896.

To complete a submission, you will have to program an algorithm that guesses those missing ratings. Therefore, your program will have to output a file submission.csv of the following form:

user_id,work_id,prob_willsee
486,1086,XXX
1509,3296,XXX
617,1086,XXX
270,9648,XXX
459,3647,XXX
...

where XXX designates the probability of getting a willsee rating for the corresponding pair user_idwork_id. Your file will be used for evaluation.

If you were left in the wilderness with this, the problem would be quite difficult. Fortunately for you, we provide a bonus dataset.

Bonus Dataset: watched.csv

The bonus dataset watched.csv contains the following information:

user_id,work_id,rating
717,8025,dislike
1106,1027,neutral
1970,3949,neutral
1685,9815,like
1703,3482,like
...

where each line <user_id>,<work_id>,<rating> is composed of:

  • user_id: the ID of a user, between 0 and 1982;
  • work_id: the ID of an anime or manga, between 0 and 9896;
  • rating: one of the following values: love, like, neutral or dislike.

For example, 717,8025,dislike means that the user #717 did not like the work #8025.

Evaluation

As a metric to rank submissions, the AUC score will be used.

In the leaderboard, the intermediate scores are calculated using 50% of the test dataset, and the final scores are calculated using the other 50%. Final ranks are determined according to the final scores.

Download the data and compete now on University of Big Data!