Vous êtes ici :

Arnaud Megret et Elokence : concepteurs du génie Akinator

Par Josiane Ducournau,
[juin 2013]

Mots clés : génie logiciel

  • Google+
  • Imprimer

En février 2013 nous vous avions présenté le génie Akinator, cette rencontre ayant inspiré le comité de rédaction de Savoirs CDI, nous avons interrogé ses concepteurs pour en savoir un peu plus.

Voulez-vous vous présenter ? Est-ce que vous vivez de votre site Internet ?

Opens external link in new windowElokence.com est une société française d’ingénierie informatique créée en 2007. Elle compte aujourd’hui 7 personnes et a généré 2,4 millions d’Euros de chiffre d’affaires en 2012. Notre objectif est d'appliquer au domaine des NTIC (nouvelles technologies de l’information et de la communication) des solutions innovantes élaborées par notre laboratoire de recherche et développement en profitant des dernières avancées de la recherche.

Elokence est une entreprise de 8 personnes qui vit de notre application Akinator. Akinator existe sous la forme d'un site Web mais aussi d'applications mobile (iPhone, Android, Windows Phone, ...)

Notre équipe est composée de chercheurs en intelligence artificielle, de développeurs informatiques et d'une équipe marketing.

Pour ma part, j'ai fondé Elokence il y a 5 ans, au départ j'y travaillais seul. Je suis ingénieur en télécommunications.

 

Comment avez-vous eu l'idée de créer Akinator

Il s'agit d'un jeu auquel on a tous joué en voyage ou le soir en famille ou entre amis. Je me suis demandé si un programme informatique pouvait être aussi efficace qu'un être humain. L'idée était que les joueurs, eux-mêmes enrichissent la base de données.

Quel est le trafic de votre site Internet ?

On a un trafic qui fluctue beaucoup car il est lié à ceux qui parlent de nous (forums, blogs, médias) Récemment, par exemple, nous avons eu des videos postées par des Youtubers ayant une communauté importante. L’effet est immédiat.

Avec 1,5 Milliards de parties jouées et 250.000 joueurs quotidiens. Akinator, est l’un des grands succès français en matière d’Application mobiles.

Disponible en 14 langues, l’application téléchargée plus de 10 millions de fois s’est classée n°1 dans les Appstores dans 6 pays (France, Brésil, Allemagne, Canada, Italie et Japon).

Quel pourcentage de bonnes réponses a Akinator sur toutes ces parties ?

Environ 66% au premier essai et environ 85% si on laisse à Akinator plusieurs essais.

Combien de téléchargements ont été effectués pour la version iPhone ? Et la version Android ?

La première version a été publiée en septembre 2009 en partenariat avec une société montpelliéraine. Puis nous avons internalisé le développement à partir de novembre 2011.

Le volume des ventes a vraiment dépassé nos espérances. Bien sur, on pensait que ça allait marcher mais être classé plusieurs jours n° 1 en France et en Allemagne dans la catégorie des applications payantes… on ne s’y attendait vraiment pas. On a même eu quelques sueurs froides pour encaisser le trafic. Mais, au final, tout s’est bien passé.

Actuellement, on a dépassé les 500 000 applications vendues en France, pour la très grosse majorité depuis des iPhones. Mais, les ventes sur Android progressent doucement.

Combien de parties sont jouées chaque jour sur les mobiles ?

Plus de 250 000 joueurs sur smartphone (principalement iPhone et Android), avec un total de 600 millions de parties jouées depuis un appareil mobile dans le monde. L’application donne droit à un accès illimité au jeu depuis l’application payante. Donc, il y a les acheteurs du jour et des gens qui rejouent de temps en temps. Les joueurs peuvent désormais personnaliser les photos, pour s’ajouter, eux ou leurs proches à la base de données.

A quoi est dû ce succès ?

Le succès est du au bouche à oreille et au fait que la base de connaissance reflète ce que les gens connaissent des personnages. Elle colle à ce que les gens savent. [1]

Parlez-nous de votre petit génie Akinator. Votre secret ?

Il y a beaucoup de travail avec ce petit génie.

Nous avons développé un moteur informatique robuste et puissant capable de faire jouer plusieurs centaines voire milliers de personnes en même temps. Nous améliorons régulièrement notre algorithme même si cela n'est pas forcément visible.

En quel langage et base de données est réalisé Akinator ? Combien avez-vous de serveurs ?

Pour gagner en vitesse nous utilisons le langage C++ qui nous permet d'optimiser au mieux notre programme. Ce langage a l'avantage d'être à la fois proche du langage machine et de permettre de programmer de manière naturelle du fait qu'il s'agit d'un langage objet.

Nous utilisons une base de données Mysql.

Nous avons une quinzaine de serveurs.

Akinator fonctionne avec le programme Limule édité par Elokence.com. L'algorithme utilisé est une création originale. Il reste notre secret de fabrication.

Quels principes généraux régissent l'algorithme ?

C’est un peu comme lorsque vous recherchez un appareil photo sur un site de vente, et que vous entrez des critères dans une section de recherche avancée: le programme va éliminer d'office les options correspondant aux cases que vous n'avez pas cochées, pour privilégier celles que vous avez cochées: le résultat n'affichera que des produits que vous vouliez voir, et pas les autres. [Elokence.com] [2]

La base de données (volume, style de personnages)

Elle est enrichie et révisée en fonction des réponses des joueurs. Elle est en perpétuelle évolution.

Le site s’autoalimente et grossit comme une boule de neige. En répondant aux questions, vous contribuez à définir votre personnage pour les suivants. Si le jeu ne devine pas votre personnage, il vous demande son nom et l’entre dans sa base de données, se nourrissant ainsi des réponses que vous avez données [Rue 89]

Plus 100 000 personnages composent pour l'instant la base de données, et un mécanisme automatique supprime les personnages qui sont peu demandés. Ensuite, les concepteurs du site éliminent les idioties entrées par certains internautes, et les doublons, de manière à entretenir et à optimiser cette base de données. Cependant, il semblerait que dans l'avenir, on puisse retrouver dans cette base de données des animaux, des objets, et que l'on puisse également inverser les rôles, en devinant à quoi pense le génie Akinator.

Nous avons tous les styles de personnages. Nous refusons simplement les personnages non publics pour préserver le droit à la vie privée. [3]

Avez vous des critères de désherbage ?

Les personnages qui ne sont pas joués suffisamment finissent par être éliminés automatiquement.

Nous avons aussi des modérateurs qui arpentent les bases de données pour les nettoyer un peu.

Akinator pour les enfants ?

Avec cette version spécial enfant, Akinator devine des personnages mais aussi des objets et des animaux. Les enfants peuvent aussi passer de l'autre coté du miroir et deviner eux-mêmes des personnages.

Quels sont vos projets ?

Continuer à améliorer Akinator. Ouvrir notre technologie à ceux qui souhaitent l'utiliser pour d'autres besoins.

Notre projet principal est d’ouvrir notre savoir faire en matière d’intelligence artificielle pour élargir nos compétences sur d’autres domaines comme les diagnostics techniques ou les services après vente en marque blanche, en mode BtoB.

Notes de bas de page

[1] Côté Akinator nous travaillons sur l’amélioration du moteur la personnalisation de la base de données. Le ressort du jeu fonctionne sur notre perversité : on ne cesse de jouer tant qu’on n’a pas piégé l’ordinateur. Ce qui arrive : on a par exemple réussi à le tromper avec Alexis de Tocqueville. Parfois, Aki a tort… [Telerama] 

Les joueurs en soumettent 2 000 nouveaux par jour. Un mécanisme élimine les moins joués.« Il y a beaucoup de bêtises » admet Arnaud Megret. « Les gens se jouent eux-mêmes, leur femme, leurs amis, on a fini par créer ces personnages. » [Rue89]

[2] Le génie Akinator n'a plus qu'à éliminer les critères qui ne collent pas au personnage, puis à mémoriser ceux qui, au contraire, lui collent. Et c'est après une analyse poussée qu'il parvient dans 95% des cas à trouver le personnage auquel vous pensez. Comme j'imagine la chose, le Génie s'appuie sur une base de données (BDD). Plus les utilisateurs s'en servent, plus la BDD s'enrichit, et plus la certitude liée aux informations contenues dans la BDD augmente. Autrement dit, l'algorithme permet :

  • l'apprentissage (en rajoutant dans la BDD des éléments)
  • la vérification (en corrigeant dans la BDD les éléments déjà présent) [3615cricri.over-blog.fr]

[3] Akinator vous pose des questions pour deviner le personnage auquel vous pensez et vous propose une réponse après douze, vingt, quarante questions :

« Il faut qu’une question soit tranchée, que les gens répondent toujours de la même manière, que ce ne soit pas subjectif, que la réponse permette d’enlever un bon nombre de personnages de la base ».« Est-ce que votre personnage a joué en 2007 au Real de Madrid ? » est une mauvaise question pour l’algorithme puisqu’une réponse négative n’éliminera pas assez de possibilités et n’aidera pas Akinator à faire le tri. Exemple inattendu de bonne question retenue pour le jeu : « Est-ce que votre personnage a voté pour Nicolas Sarkozy ? » : « C’est une question intéressante parce que pour les gens étrangers ou morts, c’est non. Pour les gens qui ont des opinions à  gauche, c’est non. Pour la plupart des gens qui n’ont pas d’opinion tranchée, c’est je sais pas. On a donc trois états au lieu de diviser par deux [le nombre de personnages possible]. »

Les personnages sur lesquels le génie de Akinator calent ? Ceux qui peuvent avoir des interprétations différentes selon les participants (comme Dieu, un des plus joués, puisque la réponse aux questions dépend des croyances). Le « génie du Web » a du mal aussi à identifier « ceux qui n’ont pas de traits déterminants » : Akinator doit avoir les questions pour “isoler” le personnage de tous les autres. Par exemple, pour Rantanplan, savoir que c’est un chien assez stupide qui évolue dans un univers de western lui assure d’avoir trouvé. Et donc, à l’opposé, Akinator a plus de mal quand il n’a pas ce genre de questions à sa disposition. [Beegeek]

« Par exemple, un chanteur comme Julien Clerc. Il n’y a pas forcément de question qui permettra de le distinguer d’Alain Souchon. »[Rue89]