LoLTracker

 

Expérimentation : Messagerie restreinte

Expérimentation : Messagerie restreinte
 
L'année dernière, je m'étais mis en tête de contourner ou de me faire condamner à tort par le tribunal. Pour cela, je devais imaginer des méthodes et des techniques capables de tromper à la fois le système de report, mais aussi les jurés du tribunal. Après quelques mois d'essais, j'ai finalement réussi à contourner le tribunal via un cas assez exotique, mais contourné tout de même. L'attitude visible était clairement sanctionnable, mais profitait d'une faiblesse du système.
 
Cette faiblesse a été envoyée à Riot, et effectivement, mon dossier avait été acquitté, à tort. Pour la messagerie restreinte, le challenge s'annonçait plus difficile. En plus de la revue de jurés (Qui sont ici les Rioters), et du système de report, il fallait cette fois faire face à une chose nouvelle, le machine learning. Malgré tout ça, je pense avoir réussi à trouver une faille dans le système, qui a été confirmée aux US alors que j'écrivais l'article (Ce qui m'a forcé à en réécrire une partie d'ailleurs...), et je souhaite vous présenter mes résultats et conclusions sur le système aujourd'hui !

Prêt pour de la lecture ? C'est parti !
 
Sommaire
 
 
 
Pour cette première expérimentation, le but était d'avoir un comportement qui devrait être sanctionné, mais qui ne l'est pas au final, pour une raison ou une autre. En bon testeur (C'est une part de mon véritable métier), j'ai élaboré plusieurs scénarios et schémas, pour arriver à passer outre le système, et contourner une sanction méritée.
 
Ces scénarios se basaient sur plusieurs étapes. Dans un premier temps, je devais mettre le plus de paramètres en ma faveur, pour que le test réussisse alors que les conditions m'étaient favorables. Pourquoi cette technique ? Tout simplement car si je ne réussissais pas à aboutir sur l'expérimentation avec le plus de paramètres en ma faveur, je n'avais aucune chance de réussir à aller plus loin. Toutefois, même si des paramètres sont en ma faveur, il faut que cela reste un cas nominal, à savoir quelque chose de possible. Par exemple, pas question de demander aux autres joueurs de me report ou de ne pas le faire, car cela fausserait le test. Un joueur lambda ne va pas demander aux autres joueurs de le report ou de ne pas le faire pour son attitude, bonne ou pas.
 
Plutôt donc que se focaliser sur des choses qui n'existeraient pas dans un cas "normal", j'ai donc essayé de suivre le chemin qu'un joueur normal pourrait emprunter.
 
 
Le premier test se basait sur l'utilisation du post-chat. Je voulais m'assurer qu'il était bien couvert par le système de restriction de messagerie, même si je me doutais que c'était le cas.
 
Paramètres du test :
  • Jeu en premade de 5 personnes (Contexte favorable : Évite les reports provenant d'alliés)
  • Un seul mot/phrase sorti (Pour limiter une éventuelle détection par de trop nombreux envois de messages)
  • Différentes formes utilisées (Izi, not hard against you, bot level game, etc... => Limite une détection basée sur le texte)
  • Aucune parole ou ping utilisée en jeu (Pour éviter la combinaison entre paroles IG et post chat)
  • Parties jouées en ARAM (Mode de jeu où les gens sont plus détendus)
  • À aucun moment je ne demande à l'adversaire de me report (Dans le cas contraire, ce n'est pas une situation normale)
 
Ces paramètres tentent de contourner plusieurs types de détections auxquels je m'attends, en plus de retirer 4 potentielles personnes qui pourraient me report (Personnellement, si quelqu'un dit easy, je report qu'il soit allié ou ennemi), et d'être dans une situation où l'ambiance est plus détendue (Parce qu'en ranked, je me doute que c'est pas l'idéal pour tester ça). C'est ça, les paramètres favorables. C'est une situation qui peut se produire, mais contrairement au fait de jouer en ranked, de jouer en solo, etc... Je retire beaucoup de choses qui peuvent jouer contre moi.
 
Résultats du test :
 
Au bout de 4 parties, restriction de messagerie pour 20 parties.
 
Conclusion :
 
L'expérimentation permet de voir plusieurs choses :
  • Le chat post-game est bien inclut dans la détection (Puisqu'il n'y a eu de messages que sur ce dernier)
  • Il y a des chances pour que la valeur des reports soit augmentée pour les autres si vous êtes en premade
  • Le système tient bien compte des reports, mais plus que ce à quoi je m'attendais
  • La restriction est très agressive et très rapide, comme l'a annoncé Riot. Comparé aux dizaines, voir centaines de reports pour un dossier au tribunal, je n'ai pu en prendre que 20 au maximum sur ces 4 parties
 
 
Avec les posts que j'ai pu voir sur le forum, j'ai vite compris que le système avait une grande sensibilité, et sanctionnait des joueurs qui ne l'avaient jamais été auparavant. Cela n'a rien de surprenant, ces joueurs ont tendance à être négatifs, mais pas suffisamment pour arriver au tribunal. L'idée était donc de rester soft dans mes paroles, pour voir si effectivement, et contrairement au tribunal, un peu de "trashtalk" déclenchait le système
 
Paramètres du test :
  • Jeu en premade de 5 personnes (Contexte favorable : Évite les reports provenant d'alliés)
  • Soft trashtalk ("Omg xxx", "why xxx", "ffs xxx", "report xxx", etc...)
  • Nombre de phrases utilisées en moyenne à chaque partie : 5 à 10 (Cela me paraissait être une moyenne borderline)
  • Pas de ping utilisé
  • Parties jouées en ARAM (Mode de jeu où les gens sont plus détendus)
  • À aucun moment je ne demande à l'adversaire de me report (Dans le cas contraire, ce n'est pas une situation normale)
 
Les paramètres du test visent un trashtalk qui je pense, n'a aucune chance d'arriver au tribunal en temps normal. Pour sûr, on croise ce genre de personnes. Mais doit-on vraiment report pour si peu ? Aucune idée. En tout cas, l'idée se base sur le fait que c'est un comportement borderline, mais néanmoins négatif.
 
Résultats du test :
 
Au bout de 6 parties, restriction de messagerie pour 20 parties.
 
Conclusion :
 
L'expérimentation permet de voir plusieurs choses :
  • Je m'attendais à être sanctionné plus rapidement qu'avec la première méthode parce que je pensais que la détection via le chat était un élément primaire, et les reports un élément secondaire. Or, ces deux expérimentations semblent indiquer que c'est le contraire.
  • Les choses qui ne passent habituellement pas au tribunal sont bien prises en compte par le système, ce qui explique en grande partie le nombre de posts criant à l'injustice, notamment par ceux qui n'ont jamais été bannis, et peuvent donc considérer que leur comportement n'a jamais été gênant.
 
Petite info supplémentaire :
 
Les 2 expérimentations ont été menées sur deux comptes différents, qui n'avaient pas subi la restriction de messagerie initiale (Parce que je ne sais pas comment agit le système en cas de récidive)
 
 
Je pense qu'on tient là une bonne explication au nombre de posts criant à l'injustice (Méthode #2). Je n'ai pas réussi à contourner le système avec ces deux méthodes qui étaient pourtant dans un contexte favorable à moi, et je ne pense pas réussir à le contourner d'une autre manière. Mais si les gens sont aussi surpris de ces sanctions, c'est probablement plus - comme je l'imaginais - parce qu'ils se pensent dans leur droit plutôt que parce qu'ils mentent. Je n'exclus pas le fait qu'ils arrangent un peu la situation pour être des gens parfaits (Surtout depuis que les logs de chat sont rendus publics pour ceux qui les demandent sur le forum officiel), mais je pense vraiment que le fait de n'avoir jamais été sanctionné constitue un facteur important pour laisser penser à la personne qu'elle ne mérite pas sa sanction.
 
L'absence de dossier comme au tribunal est un autre élément qui amplifie à mon sens cette tendance. On ne vous met pas de preuves sous les yeux de ce qui ne va pas, ce qui fait que les joueurs cherchent à savoir, et se demandent au final s'il y a réellement une raison. Ce n'est qu'une part du problème, car même une fois les logs de chat publiés, certains joueurs refusent d'admettre que leur comportement est négatif. Mais c'est déjà un plus pour avoir un contexte sur le type de langage utilisé par le joueur, et lui donner des conseils, qu'il écoutera ou non.
 
 
Suite à ces tests, et comme nous n'avions pas encore à l'époque de logs de chat publiés sur les forums, j'ai demandé à Lignarius, notre community coordinator, s'il n'était pas possible de les obtenir. Aujourd'hui c'est le cas (Et c'est bien !), et cela permet de faire des analyses approfondies de comportement pour les joueurs qui en demandent. C'est du cas par cas, et c'est bien évidemment moins efficace que montrer des dossiers comme au tribunal que tout le monde peut voir et sur lesquels on peut réagir, mais c'est mieux que rien ! Et un joueur qui change, et qui ne risque plus d'être sanctionné par la suite, c'est toujours une victoire pour moi, surtout sur des sujets aussi sensibles, où certains ne veulent rien entendre.
 
Avant qu'on ait les logs de chat aussi, j'ai proposé une expérimentation aux joueurs de la section tribunal. L'idée était de proposer 12 phrases type, réparties en 3 catégories :
 
Catégorie 1 :
  • "Guys we need to win! let's do nash NOW"
  • "Wow that was a huge mistake"
  • "Corki, stop flaming please"
  • "I failed my combo, what an idiot!"
 
Catégorie 2 :
  • "Omfg Nidalee stop feed!"
  • "Why are you so bad?"
  • "I wish I had a real support..."
  • "Report Nasus for feeding please, ****ing elo hell"
 
Catégorie 3 :
  • "0 ganks, 0 skill, 0 help, 0 counter, enjoy free win, we got the worst lee sin EU"
  • "Man, just get cancer you and your family"
  • "This thresh is so ****ing retarded"
  • "You're a ****ing trash, gtfo my lane"
 
Je pense que n'importe quel joueur a pu voir ces phrases un jour ou l'autre. Vous avez là 4 phrases exemples dans chaque catégorie. Chacune des catégories représente un seuil de toxicité. La catégorie 1 constitue une toxicité nulle, la 2 une toxicité faible, et la 3 une forte toxicité. J'ai évidemment mis des phrases avec une sévérité plus élevée et moins élevée que les phrases sur lesquelles je voulais vraiment les résultats, qui sont les catégories 2. Les autres étaient là comme distracteurs. Un joueur typique auquel je m'attendais devait dire que la catégorie 1 est ok, et que une ou plusieurs phrases de la catégorie 2 sont ok, avec pour finir la catégorie 3 pas ok.
 
L'idée de ce test était de voir si les pratiques de certains étaient susceptibles de mériter une restriction de messagerie. Les catégories 2 auraient amené à des restrictions, et je voulais voir si les joueurs qui se plaignaient avaient conscience que ces phrases pouvaient être ce qui les avait amenés à la sanction. L'expérimentation sur le forum officiel n'a pas fonctionné aussi bien que je l'espérais, et je pense que c'est parce que les joueurs qui venaient s'y plaindre se sentaient observés, et jugés par les autres, donc qu'ils avaient tendance à embellir la situation, et à vouloir être irréprochable. J'ai eu de bien meilleurs résultats pour ceux qui m'ont contacté individuellement, et j'ai pu expliquer à certains que leur attitude avait pu jouer un rôle dans la restriction, et que malgré ce qu'ils pensaient, ce genre de pratique, ne passait pas.
 
Ah et évidemment, ces phrases étaient lancées dans le désordre. Il valait mieux éviter qu'on trouve le pot aux roses ;)
 
Au final, les deux comptes que j'ai utilisé pour subir ces sanctions ont purgé leur peine, sans en prendre une nouvelle derrière, avec mon comportement habituel, c'est à dire quelqu'un qui ne dit rien dans la plupart de ses parties.
 
 
Plus importante à mes yeux que le contournement du système, qu'il est possible de réparer, et n'aura "théoriquement" pas provoqué de drama (Car après tout, si le joueur ne se fait pas sanctionner, il continue à pourrir la vie des gens), les sanctions à tort sont un sujet qu'il faut examiner, afin de trouver si oui ou non il existe des cas que le système pourrait considérer à tort comme sanctionnable. La tâche s'avérait difficile. La relecture des Rioters étant le principal obstacle à la réussite de cette expérimentation, puisqu'elle apporte un jugement humain supplémentaire qu'il est très difficile de contourner.
 
Après de longues heures de réflexion, j'ai fini par mettre au point 3 scénarios possibles. Le premier basé sur des propos hors du contexte habituel, le deuxième sur un point spécifique à l'Europe, qui est la différence de langage et de culture, et le troisième sur un cas plus exotique, le joueur qui s'énerve contre lui-même. Pour ces méthodes, à l'inverse de la première expérimentation, j'ai essayé de créer un contexte défavorable, pour favoriser les chances de reports, et de sanctions. Par contre, il fallait que je trouve un contexte qui ne soit pas trop défavorable au point de fausser les données du test. En choisissant par exemple le mode classé, j'étais susceptible d'altérer la concentration des autres, ou de créer un climat de jeu négatif, et donc sanctionnable, alors que je cherche à ce que ça ne soit pas le cas.
 
 
Cette méthode n'avait théoriquement aucune chance de marcher avec une relecture efficace, et aussi avec le système de report. Le but était de vérifier l'impact du système de report par rapport à celui du script qui analysait votre comportement. Après la première expérimentation, j'étais convaincu d'une chose, le script n'était pas utilisé avant que le système de report ait joué son rôle. Au final c'est logique, puisque c'est la même chose qui se passait au tribunal. Nul besoin de créer des cas à analyser pour les jurés si le joueur n'a pas été assez report, ce serait bien trop consommateur de ressources. Ici je pense que c'est pareil, et avec Lyte qui annonce 1% des joueurs concernés par la messagerie restreinte, on comprend facilement pourquoi le script n'analyse pas toutes vos parties.
 
Convaincu que le système de report était le premier acteur majeur menant à une sanction, j'ai donc essayé d'utiliser des propos négatifs, mais dans un contexte où ils ne le sont pas. L'expérimentation avait toutefois un défaut, c'est qu'elle n'a pas généré de reports (Dans le cas contraire j'aurais au moins eu une alerte via le client). C'est ce qui fait que cette méthode n'avait en théorie aucune chance de marcher. Elle en aurait eu plus si comme je le pensais au début, c'était le script qui primait sur le système de reports.
 
Paramètres du test :
  • Jeu en solo (Contexte défavorable : Permet des reports supplémentaires)
  • Phrases négatives hors de contexte (Exemple : "I got a Fiora in my last game, she asked our team to get cancer, and to fuck our mom. It fucked the game...")
  • Nombre de phrases hors de contexte utilisées : Autour de 5 (Au delà me paraissait être un cas trop "forcé")
  • Attitude générale silencieuse, pour que les joueurs n'aient souvenir que de ces propos, et n'aient pas d'autre motif pour report. Je répondais néanmoins aux questions ou aux demandes des joueurs, s'il y en avait
  • Parties jouées en mode normal aveugle (Contexte défavorable : Mode plus tendu que les ARAM)
  • À aucun moment je ne demande à l'adversaire de me report (Dans le cas contraire, ce n'est pas une situation normale)
 
Même en attirant l'attention du joueur sur des phrases clés, il était logique de ne pas se faire report pour ça. À la base elles sont destinées au script. L'attitude générale en dehors de ces phrases restait normale, pour réduire au maximum les raisons de la potentielle sanction et des potentiels reports.
 
Résultats du test :
 
Au bout de 20 parties, pas de sanctions. 
 
Conclusion :
 
Sans surprise, en l'absence de report, le script d'analyse ne se déclenche pas, et ne peut pas repérer un comportement négatif hors de contexte. Cette méthode montre l'avantage du jugement humain. Un script seul aurait pu se faire avoir (Bien qu'avec du machine learning, j'ai des doutes...), mais la présence d'un jugement capable de comprendre le contexte fait que le script n'aura même pas à se demander si oui ou non c'est un comportement négatif. Cette méthode n'est en tout cas pas quelque chose qui pouvait mener à une sanction, il fallait autre chose.
 
 
Méthode déjà essayée pour tenter d'obtenir une condamnation abusive au tribunal, elle avait échoué, ce qui m'avait surpris à l'époque. J'étais alors persuadé que je pouvais montrer un point important de l'Europe, qui était la différence de langage et de culture, et une certaine haine envers des nationalités. Mais j'en étais arrivé à la conclusion que la langue n'est qu'un prétexte pour flame, tout comme le serait du feed, ou n'importe quelle chose qui ne plairait pas un joueur qui aurait cherché un moyen de vous blâmer. En clair, ce n'est pas ce point uniquement qui cause le flame, c'est simplement un prétexte de plus livré sur un plateau pour celui qui cherche à le faire.
 
La méthode avait donc peu de chances de réussir. Là encore, il était difficile d'obtenir des reports pour ce genre de choses, mais ça valait le coup d'essayer une nouvelle fois, si on considérait le fait que le nombre de reports à atteindre était plus faible en théorie.
 
Paramètres du test :
  • Jeu en solo (Contexte défavorable : Permet des reports supplémentaires)
  • Langage utilisé : Français (Une dizaine de phrases utilisée par partie, plus s'il y a un autre Français)
  • Langage secondaire : Anglais (Si demandé par les gens sur le chat)
  • Attitude générale silencieuse, pour que les joueurs n'aient souvenir que de ces propos, et n'aient pas d'autre motif pour report. Je répondais néanmoins aux questions ou aux demandes des joueurs, s'il y en avait
  • Parties jouées en mode normal aveugle (Contexte défavorable : Mode plus tendu que les ARAM)
  • À aucun moment je ne demande à l'adversaire de me report (Dans le cas contraire, ce n'est pas une situation normale)
 
Je me devais d'utiliser un minimum d'Anglais. J'aurais pu dire que je ne parlais pas un foutre mot d'Anglais, mais cela me paraît assez irréaliste aujourd'hui. Avec une majorité de joueurs qui ne disent rien de la partie, cela réduit les chances que ce genre de cas se produise, un joueur qui ne comprend pas le chat n'aura pas forcément envie d'y écrire. Il me paraît déjà assez difficile de justifier le fait que quelqu'un parlerait tout seul en Français sur le chat. Par contre s'il y avait un autre Français, c'était une bonne opportunité.
J'ai du coup utilisé un minimum d'Anglais, car refuser de parler Anglais en le spécifiant, c'est une attitude négative. Cela aurait voulu dire que je savais le faire, mais que je ne voulais pas le faire, pour une raison X ou Y. Mais dans la mesure où cela peut gêner les gens, et créer des reports sans rapport avec ce que je veux démontrer, il valait mieux que je reste dans le "nominal".
 
Résultats du test :
 
Au bout de 20 parties, pas de sanctions. 
 
Concluson :
 
Je n'avais pas réussi la première fois, je n'ai pas réussi la seconde non plus. Bien entendu, j'ai eu dans quelques parties des moqueries envers la France, mais c'est resté assez soft (À ma grande surprise). On m'a aussi demandé de parler Anglais plutôt que Français, ce que du coup j'ai fait. Mais les choses n'ont pas changé. Si flame/moquerie il y a, le fait d'être ou de parler Français ne constitue qu'un prétexte de plus, et n'est pas l'initiateur à lui seul. Si la personne vous flame par rapport à ça, elle l'aurait sans aucun doute fait sur autre chose si elle en avait eu l'occasion, que ça soit votre score, vos moves, etc...
 
 
Cette méthode m'est venue à l'esprit à cause d'une chose qui m'arrive souvent en solo, le fait de rager contre moi-même. Cela m'arrive comme tout le monde de m'énerver, et de m'énerver contre les autres, mais aussi contre moi-même. Est-ce que c'est vraiment une attitude négative que de s'énerver contre soi ? Cela ferait un sacré débat je pense, bien que pas très utile. Toujours est-il que le but de cette expérimentation était de voir ce que donnait une attitude négative qui n'était pas adressée aux 9 autres joueurs de la partie.
 
Le cas n'est pas impossible en soi. Un joueur qui s'énerve contre lui même ça arrive, mais peut-être pas au point de s'enflammer. Toutefois, je pensais qu'il y avait là des motifs de report (Car c'était bien une attitude négative), et qu'il était possible de contourner la vigilance d'un Rioter, habitué à voir du flame dans les cas qu'il revoit. Toutefois, je suis parti du principe que dans la mesure où l'attitude n'était pas dirigée envers les autres personnes de l'équipe, et qu'on pouvait considérer ça comme de l'autodérision, cela ne devait pas être un motif de sanction.
 
C'est cette méthode, que j'ai testé en dernier, qu'il a fallu que je réécrive un peu (Voir la conclusion).
 
Paramètres du test #1 :
  • Jeu en solo (Contexte défavorable : Permet des reports supplémentaires)
  • Typologie de phrases soft (Exemple : "Omg i'm a fucking dumbass!" ; "I miss everything today, I wonder if I still have a brain" ; etc...)
  • Attitude utilisée en fonction de la partie : Plus les erreurs sont nombreuses, plus l'attitude apparaît.
  • Parties jouées en mode normal aveugle (Contexte défavorable : Mode plus tendu que les ARAM)
  • À aucun moment je ne demande à l'adversaire de me report (Dans le cas contraire, ce n'est pas une situation normale)
 
J'ai séparé le test en deux parties après avoir obtenu les résultats du premier. Dans ce premier pack de paramètre, je restais assez soft, et je voulais voir le potentiel de la méthode.
 
Résultats du test #1 :
 
Nombreuses alertes via le client, mais pas de sanction.
 
Paramètre du test #2 :
  • Typologie de phrase plus poussée (Exemple : "The fucking PIECE OF SHIT I AM" ; "This fucking champ is pure shit. I can't even play him properly" ; "Fuck yeah, missing all my skillshots. Faggotry mode active!" ; etc...)
  • Le reste est identique au test #1
 
Après avoir vu que le premier test générait des alertes sur le client, j'étais persuadé de tenir le bon bout. J'ai donc poussé l'expérimentation plus loin, pour voir si j'allais réussir à arriver jusqu'à la santion.
 
Résultats du test #2 :
 
Très nombreuses alertes via le client, mais pas de sanction.
 
Conclusion :
 
Je pensais que l'expérimentation avait échoué, mais j'ai modifié cette partie à la suite d'un cas posté aux US, d'une personne qui a visiblement eu ce même comportement. Qu'est-ce qu'on y apprend ? Je ne vais pas traduire les interventions de Lyte, mais en gros, c'est un cas exotique qui l'a surpris. La plupart du langage utilisé était dirigé contre le joueur lui-même, et pas envers quelqu'un d'autre. Lyte a donc retiré le ban de 15j que ce joueur avait reçu (Ce type de sanction n'est pas encore présent en EUW), et a précisé que ce genre d'attitude ne méritait pas une sanction.
 
C'est la première erreur que le système de sanction distribuant des bans de 15j/Permaban a commise (La restriction de messagerie en ayant deux de connues à l'heure actuelle), et ce dernier est pourtant munis de 3 types de vérification, les reports, le machine learning, et la relecture d'un Rioter. Mais ce cas a outrepassé les 3, pour - à mon avis - les raisons suivantes :
  • Il s'agit d'un comportement négatif, qui peut être mal interprété par les joueurs, mais qui n'est pas jugé comme toxique
  • Le machine learning y a bien identifié le schéma d'un joueur qui flamerait ses équipiers, et ne devait pas être en mesure de reconnaître un joueur qui s'insultait lui-même
  • Le Rioter chargé de la relecture, habitué à voir des cas de flaming lourd pour ce genre de sanction, a du rater ce fait particulièrement exotique, qui était que le joueur s'adressait à lui-même
 
Du coup, cette méthode est pour moi une semi-réussite. Pas parce que je n'ai pas réussi à me faire sanctionner, j'aurais sûrement pu y arriver, mais je pense que si le machine learning a du échouer, je suis peut-être tombé en revanche sur un relecteur plus attentif, qui a bien joué son rôle de "dernière barrière". Le terme "semi" est dû au fait qu'il s'agit néanmoins d'un comportement négatif. Il n'est certes, pas dirigé envers les autres, mais le contexte a de quoi susciter l'interrogation. Faut-il considérer ce genre de comportement comme toxique ? Pour Riot en tout cas, la réponse semble être non, et cela leur permettra probablement d'intégrer à leur machine learning ce type de reconnaissance, en ajoutant par exemple une recherche de la cible des insultes, ce qui peut lui permettre de comprendre qu'un joueur s'insulte lui même si les insultes sont dirigées contre lui.
Faut-il blâmer du coup le relecteur ? Je ne pense pas. Les humains font des erreurs, et aucun système ne peut être parfait, ce cas-là en est la preuve ! Je suis par contre un peu déçu de ne pas avoir terminé l'expérimentation à temps pour la publier avant que ce cas n'apparaisse. Mais ce n'est que partie remise. Je suis convaincu qu'il y aura d'autres systèmes pour lesquels il y aura de petites failles à certains endroits, que j'aurais la possibilité de trouver.
 
 
C'est un pavé supplémentaire d'achevé, et celui-là m'aura pris 83h (~65h pour jouer la centaine de parties nécessaires + Des heures d'analyse et de réflexion + 6h d'écriture de l'article). C'est en tout cas une expérience très intéressante. Les nombreux cas que j'ai vu passer sur le forum officiel et ailleurs, additionnés à cette expérimentation, me laissent penser qu'il est difficile d'être sanctionné sans véritable motif. La principale cause des plaintes reste à mon sens le fait que les attitudes sanctionnées ne le sont pas ailleurs. C'est d'ailleurs bien souvent une chose que je vois sur les forums. Mais cela n'a rien de différent des posts sur l'elo hell. Ce sont bien souvent des joueurs attachés aux erreurs de leurs équipiers, mais qui ne voient pas les leurs.
 
Que faire alors pour expliquer à ces joueurs ce qui ne va pas ? Je suis plus partant pour des approches pédagogiques dans ce cas précis, mais cela nécessite un cas par cas long, et pas forcément rentable. Je pense que le prochain tribunal aura les outils nécessaires pour améliorer ce "cas par cas". On est loin d'un monde tout rose rempli de bisounours, mais en tout cas, vous avez la preuve qu'aucun système au monde ne pourra jamais être parfait tant qu'il y aura des cas qui n'ont pas été prévus par ceux qui les conçoivent, aussi loin ait-ils été dans leur conception et dans leur raisonnement.
 
J'espère que vous avez apprécié ce dossier. Il est différent de ceux que je sors d'habitude, et j'ai eu un peu peur avant de commencer les expérimentations (Parce que cela nécessitait de faire des trucs hors charte), mais au final, ce que j'ai pu apprendre du système et écrire ici me paraît être un bon résultat.
 
On se quitte avec une annexe sur le machine learning, qui vous expliquera grossièrement le principe de ce terme que j'ai souvent utilisé dans le dossier, mais que vous ne connaissez peut-être pas ! :)
 
 
J'ai réalisé cette explication du machine learning à la suite d'une question d'un joueur sur le forum. Ce concept est très présent dans la vie de tous les jours, et vous ne vous en apercevez peut-être même pas ! Mais s'il est très difficile à penser, concevoir et programmer, il est redoutablement efficace une fois lancé. Voici donc l'explication !
 
Riot utilise les reports, mais pas seulement. Il y a aussi ce qu'on appelle du "machine learning", et de la gestion de cas typiques. Je vous donne un exemple. Si vous constatez que 99% du temps, le mot n*gger est utilisé pour des insultes racistes, vous pouvez mettre ce mot et ses dérives proches dans votre algorithme de détection. Vous pouvez ensuite le recouper avec d'autres mots comme "fuc*ing", ou "cancer". Cela augmente alors votre précision, car l'utilisation de ces mots l'un à coté des autres pour autre chose que des insultes est extrêmement rare.
Avec ce genre de filtrage, vous obtenez ce qu'on appelle un modèle, qui aide votre algorithme à apprendre à reconnaître le résultat recherché. Et on retrouve ça un peu partout. Par exemple, un moteur de recherche qui voit 200 requêtes par jour pour le mot Satyre et 3000 pour le mot Satellite, vous affichera en toute logique le mot Satellite en premier au lieu de Satyre si vous mettez les lettres "Sat", car il a constaté que les internautes faisaient beaucoup de requêtes avec ce mot, et qu'il y a plus de chances que ce soit ce qu'il cherche. Et ce n'est qu'un petit paramètre, on peut aussi prendre en compte le fait qu'un internaute ait cliqué ou pas sur les liens qui lui sont affichés, qu'il ait cherché sur plusieurs pages, etc...
 
C'est une chose assez facile à mesurer sur le long terme, et si Riot fait une expérimentation, c'est pour s'assurer que cette détection n'attrape pas de faux positifs. Si elle en attrape, alors vous pouvez dire à votre algorithme que quelqu'un qui dirait "Don't be rude with that, my mom has a fuc*ing cancer, and that's really not cool" est à ignorer parce qu'il ne correspond pas à ce que vous cherchez. Si on reprend l'exemple du moteur de recherche, quelqu'un qui cherche une star récente, pas encore bien connue, qui s'appellerait John Holliday, va provoquer chez le moteur de recherche une réaction consistant à lui demander s'il ne cherchait pas notre bon vieux Johnny Hallyday. Mais il se trompe, et c'est le cas du faux positif. La star n'est pas encore connue, donc le moteur n'a pas encore appris à la reconnaître. Mais une fois qu'il y aura eu suffisamment de requêtes sur elle, il comprendra que ce sont deux personnes (Ou plutôt deux résultats) différentes, et qu'il doit donc bien les distinguer, et ne plus assimiler John Hollyday à une faute du nom Johnny Hallyday, aussi bien quand un internaute fait une recherche que quand il référence les sites qui parlent de ça.
 
En clair, chaque phrase, chaque insulte, chaque mot se retrouve dans des cas typiques. Si vous jouez depuis longtemps, vous devez souvent voir des répétitions de combinaison de mots avec de la toxicité, comme par exemple "wtf are you doing ?". Seul, ce n'est pas spécialement négatif, mais couplé avec d'autres détections, vous avez bien plus de chances de trouver un joueur toxique. Le principe est le même pour les joueurs très toxiques, et c'est ce qui fait que le taux d'erreur est aussi bas, mais aussi que les cas borderline échappent à ce genre de détection. C'est une chose qu'on voit aussi sur les restrictions de messagerie.
L'association avec le système de report améliore en ce sens le système, puisqu'une personne qui échapperait à un algorithme parce qu'elle a trouvé une manière de le contourner, restera toxique et sera donc signalée par les joueurs, plus difficiles à tromper. Et tout comme avec le moteur de recherche, c'est le fait que beaucoup de gens cherchent un dérivé d'une chose qu'il connait qui va le faire réagir. Ici, si vous signalez un joueur qui dirait par exemple "My mom has a ****ing cancer, don't tell that", l'algorithme va voir cette combinaison et la reconnaître, mais s'il n'y a pas assez de reports, il peut penser qu'il s'agit d'un usage de la combinaison qui ne correspond pas à des insultes. Et à l'inverse, un joueur qui dirait "Fackin cuncere", et se prendrait pleins de reports, ferait probablement comprendre à l'algorithme qu'il s'agit d'un dérivé d'une combinaison qu'il connait déjà.
 
Bien entendu, j'ai grossièrement expliqué ça, il faut dire que c'est assez complexe, mais c'est malgré tout très intéressant, car ce genre de choses fait partie de votre quotidien. Qui plus est, ne connaissant pas les algorithmes moi-même, ne prenez pas mes exemples comme ce qu'il y a dans les serveurs de jeu, c'est juste pour faciliter les explications. Si Riot mène des expérimentations en surveillant s'il n'y a pas de faux positifs, et en imposant une confirmation humaine, c'est pour éviter qu'il y ait des erreurs, et renforcer plus le système :)
 
Discussions sur Kha'Zix
[Updated] Mise à jour sur le PBE (12/08)
 
You must login to post a comment.
People in conversation:
Loading comment... The comment will be refreshed after 00:00.
  • This commment is unpublished.
    EpicGuy · 10 years ago
    Merveilleux. Un régale.
  • This commment is unpublished.
    Deleted Account · 10 years ago
    Philidia, l’homme qui ne dort jamais :p

    Bon bah extrêmement intéressant comme d'hab', je suis plutôt surpris par la sévérité du système de chat restriction mais bon, on va vite s'habituer à ne plus parler dans le chat Sinon comment tu as fait ces tests puisque les systèmes ne sont pas encore implantés en EUW ? Sur le PBE ou bien avec des comptes NA ?
    • This commment is unpublished.
      Philidia
      • Administrateur du site
      · 10 years ago
      Le système de messagerie restreinte est bien présent sur EUW
      C'est celui des bans de 15j/Perma qui ne l'est pas encore.
    • This commment is unpublished.
      Deleted Account · 10 years ago
      Ah ok... bah je dois être moins toxique que je l'imaginais alors
  • This commment is unpublished.
    pyrovoice · 10 years ago
    En même temps, qui s'auto-flame à ce point x) Normal que le système fasse une erreur la-dessus.

    Donc on peut en conclure que le système est au point actuellement. Pret à refaire la même chose quand le nouveau tribunal sortira ?
    • This commment is unpublished.
      Philidia
      • Administrateur du site
      · 10 years ago
      Pour sûr, mais là ça sera bien différent !
  • This commment is unpublished.
    Youmu Kompaku · 10 years ago
    Encore une fois une expérimentation des plus intéressantes, un plaisir à lire. Très clair et très complet. Que du bonheur.

    Je reste fasciné par le temps passé à plancher là-dessus. 65h de parties à flamer méthodiquement, c'est quelque chose quand même
    • This commment is unpublished.
      Philidia
      • Administrateur du site
      · 10 years ago
      Heureusement il n'y avait pas que du flame. Aussi des tentatives de se faire avoir en étant clean ^^
  • This commment is unpublished.
    Dep Vaik · 10 years ago
    Un autre point qui serait intéressant à savoir et le nombre de report pour lancer l'analyse du chat par le système.
    Sinon comme toujours article très complet et poussé, bravo à ta détermination pour faire tous ça
    • This commment is unpublished.
      Philidia
      • Administrateur du site
      · 10 years ago
      Riot ne donnera jamais ce chiffre. D'une part il varie d'un joueur à un autre, et d'autre part, ça donnerait des moyens aux flamers de pouvoir contourner le système, ou d'avoir des limites visibles :/
  • This commment is unpublished.
    Zhao · 10 years ago
    Je suis toujours aussi impressionner par tes articles Philidia.
    Un excellent travail que j'ai pris du plaisir à lire.

    Maintenant, j’espère que tu n'as pas été "pervertis" par toute cette toxicité et que tu ne va pas devenir un serial flamer xD
    • This commment is unpublished.
      Philidia
      • Administrateur du site
      · 10 years ago
      Aucun risque ! Je me sentais assez mal à l'aise à être négatif en fait.
  • This commment is unpublished.
    DocMad · 10 years ago
    Article très intéressant (encore une fois).

    Le temps pour tester ce genre de choses étant conséquent, il y a de nombreux cas qui seraient pertinents et permettraient de décortiquer le système plus loin. Notamment l'impact réel des "environnements défavorable" que sont les classées par rapport aux modes plus détendus (cela a peut-être déjà été testé, mais est-ce qu'il existe vraiment des environnements plus défavorables aux reports, ou est-ce une supposition ?). Du coup, non content d'informer, cet article pique encore plus ma curiosité sur le sujet.

    D'ailleurs, le système gère-t-il le multi-language ? Si j'insulte quelqu'un en français, est-ce que je risque quelque chose (je me pose sérieusement cette question car j'ai déjà vu des insultes connues fuser en allemand, espagnol, italien, .... Et d'autres que je ne connaissais pas mais facilement interprétable comme telles dans d'autres langues plus inhabituelles pour moi)

    En tout cas, merci pour ce travail.
    • This commment is unpublished.
      Philidia
      • Administrateur du site
      · 10 years ago
      Quand j'ai fait mes expérimentations sur le tribunal, sans surprise (Puisque Riot l'avait déjà annoncé), les parties classées se sont montrées être des climats plus tendus, bien plus propices aux prises de têtes. Ce n'est pas une grande surprise
      Pour les insultes en Français, cela reste un point assez obscur pour moi. Le machine learning est théoriquement capable de reconnaître chaque langage du moment qu'on lui a dit comment faire, ce qui m'intrigue c'est la différence de culture.
  • This commment is unpublished.
    Kamala · 10 years ago
    Hey ! Très bon article comme d'habitude, néanmois certaines choses pourraient améliorer ta détection de faille :
    - Premièrement le mode de jeu : alors que les ranked sont beaucoup trop tendues et les ARAM beaucoup trop relax, choisir des normales draft à la place des aveugles pourrait être intéressant (tension des joueurs intermédiaire entre les blind et les ranked)
    - Deuxième point, un cas [u]très exotique[/u] qui trompera à coup sûr le tribunal : un dialogue skizophrenique d'autoflamme : si le joueur réponds à son propre flamme et renchéris au sujet de ses propres propos, cela sera très probablement considéré comme une attitude sanctionnable (oui je suis allé chercher très loin)

    Sinon encore bravo pour cette enquête très longue à mettre en place et à rédiger
  • This commment is unpublished.
    19nat99 · 10 years ago
    Très bon article, c'était une lecture plaisante, même si j'imagine peu de gens l'ont lu jusqu'au bout
   facebook   Discord2   rss   logo twitter   

Derniers articles

LoLTracker ferme ses portes après plus de 10 ans de bons et loyaux services !
Thèmes abordés : Fermeture imminente du site, Project L, pause de fin d'année chez Riot, Riot mobile, et bien plus !...
Analysons les problèmes actuels de Yuumi et notre manière d'aborder sa refonte.
Une nouvelle mise à jour a eu lieu sur le PBE, apportant de l'équilibrage
C'est le dernier patch de l'année, la 12.23B est là !