Wiktionnaire:Prise de décision/Gestion des robots
Proposition
[modifier le wikicode]Bonjour. Cette prise de décision a pour vocation de mieux s'organiser dans la gestion des bots, processus automatiques dont on ne parle pas souvent, mais qui peuvent être à la fois très utiles et très dangereux.
Il serait donc bien d'y réfléchir tous ensemble, car une erreur de bot est une erreur que l'on peut retrouver (et que l'on doit donc corriger) sur des centaines, voir des milliers de pages. Le Wiktionnaire étant composé maintenant de plus de deux millions de pages, vous comprendrez qu'une erreur faite sur cent pages ne sera pas nécessairement évidente à retrouver, et encore moins à corriger.
C'est pourquoi je vous propose de prendre des mesures pour limiter au plus possible le risque d'erreurs, et pour rendre plus simple la recherche et la correction de celles-ci. Et vous verrez que le gain de temps occasionné sera non négligeable. -- Quentinv57 ✍ 7 mai 2011 à 13:42 (UTC)
- Etat de la prise de décision : Phase de discussion
- Début de la phase de discussion : 7 mai 2011
Discussion en 2011
[modifier le wikicode]Comment limiter le risque d'erreurs ?
[modifier le wikicode]Pour limiter le risque d'erreurs, j'ai proposé une solution qui a l'air d'avoir plu à certains d'entre nous. Voici en quoi elle consiste :
A la place de faire un vote d'une semaine pour attribuer le statut de bot et de laisser ensuite ce bot faire n'importe quoi sans moindre contrôle, je serais pour que le bot passe devant la communauté à chaque fois qu'il s'apprête à faire une nouvelle tâche pour laquelle il n'a pas encore été contrôlé. Un bref message ainsi qu'une démonstration du bot sur quelques pages (entre 5 et 20) devrait suffire. Une fois que la communauté a donné son approbation et seulement à ce moment, le bot est autorisé à tourner massivement sur le projet. Pas de nombre de vote ni de durée, n'imposons pas cela aux dresseurs.
Qu'en pensez-vous ? -- Quentinv57 ✍ 7 mai 2011 à 14:09 (UTC)
- Toute nouvelle tâche bien individualisée et précisément décrite doit effectivement donner lieu à un test visible par la communauté, d'un nombre de modifications significatif. Modalités pratiques à définir... --✍ Béotien lambda ☏ 7 mai 2011 à 14:23 (UTC)
- En effet. Je proposerai que cette mesure affecte tous les bots, sauf les bots qui agissent globalement (ex: interwiki, ...) et les scripts semi-automatisés (le dresseur valide chaque page et vérifie le travail de son bot en temps réel). Bien entendu, ces bots ne seront autorisés à fonctionner sur le Wiktionnaire que pour les interwikis et non pas pour d'autres tâches. -- Quentinv57 ✍ 7 mai 2011 à 14:26 (UTC)
Comment rendre la recherche et la correction des erreurs plus facile ?
[modifier le wikicode]Plusieurs solutions me viennent à l'esprit :
- renforcer le contrôle : le dresseur doit surveiller, évidemment. Mais, au cas où le dresseur aurait loupé quelque chose (ou qu'il ne fait pas son travail) pourquoi n'irions-nous pas tous jeter un coup d'oeil dans les RC avec bots ? Je pensais aussi à créer une sorte de commission chargée de vérifier que tout se passe bien. Mais comme ce travail est vraiment ingrat il vaudrait mieux le partager au plus possible. Tout dépend de s'il y a des volontaires ou non.
- rendre la correction plus simple : si on force les dresseurs à tenir un journal (comme j'avais commencé à le faire ici, et Darkdadaah le fait aussi il me semble), on pourrait retrouver bien plus simplement les pages concernées en cas d'erreur, car on aurait une liste dans laquelle chercher.
Qu'en pensez-vous ? -- Quentinv57 ✍ 7 mai 2011 à 14:21 (UTC)
- Le Wiktionnaire a atteint un niveau de complexification élevé. Les améliorations ne devraient maintenant plus toucher un nombre importants d'articles... Si une modification doit toucher un grand nombre d'articles, je pense à la création de pluriels qui a donné lieu à pas mal d'erreurs, il faut segmenter en tâches successives (noms communs séparés des locutions, locutions avec article, locutions sans articles, nom commun unique, nom communs composés...) car à vouloir tout faire en même temps on se plante. Avec cette segmentation, le contrôle est plus facile;
- Je vois aussi, au moins en début de fonctionnement sur une tâche donnée, et même si le test préliminaire a reçu l'aval de la communauté, une limitation du nombre de modifications à 500 par jour... quitte à supprimer cette contrainte assez rapidement pour la tâche donnée. --✍ Béotien lambda ☏ 7 mai 2011 à 14:37 (UTC)
- Je suis d'accord avec toi sur les points que tu viens d'énoncer. -- Quentinv57 ✍ 7 mai 2011 à 14:40 (UTC)
- Le moins que l'on puisse dire est que cette gestion risque d'exiger un nombre d'heures considérable, par rapport au système actuel qui est d'ajouter une fonction dans Wiktionnaire:Bots#Bots_officiels_du_Wiktionnaire. D'un autre côté cela va dans le sens de la fiabilité et je serai plutôt d'avis de l'adopter quand nous seront plus nombreux avec plus d'articles, et qu'il y aura moins de tâches à effectuer. JackPotte ($♠) 7 mai 2011 à 14:45 (UTC)
- Quand Béotien lambda dit qu'il faudrait un consensus et une surveillance sur une tâche donnée, je vous rappelle quand-même que depuis un an nous n’avons même pas le premier dans Wiktionnaire:Gestion des catégories, malgré mes deux appels aux participants sur la Wikidémie. Nous allons en arriver à demander que http://Wikimedia.fr nous paye un opérateur de saisie avec l'argent des dons. JackPotte ($♠) 9 mai 2011 à 18:48 (UTC)
- Je suis d'accord avec toi sur les points que tu viens d'énoncer. -- Quentinv57 ✍ 7 mai 2011 à 14:40 (UTC)
Suggestion de Grimlock
[modifier le wikicode]Bonjour, je me permets d'intervenir ici, bien qu'utilisateur non régulier du wiktionnaire mais dresseur de bot officiant ici (uniquement pour les interwikis en tâche automatique). Si je n'ai rien contre les suggestions émises plus haut d'approbation de tâches spécifiques, il me semble que le passage par un vote pourrait être évité pour :
- les scripts agissant sur des pages utilisateurs sur requêtes des utilisateurs eux-mêmes (c'est par exemple le cas pour un de mes scripts sur Wikipédia pour la lutte contre le copyvio). Après tout, ça ne fonctionne pas dans le main, et les utilisateurs connaissent les risques.
- les scripts existants et ayant faits leurs preuves, par exemple en pywikipedia.
L'idée du journal est tout sauf idiote (par contre, je serais d'avis de pouvoir centraliser ça sur une seule page sur un wiki, en l'indiquant). Grimlock 7 mai 2011 à 15:05 (UTC)
- Bonjour Grimlock et merci pour ta suggestion. Comme je l'ai dit à Béotien Lambda ci-dessus, je suis pour que les bots suivant soient exemptés de ces mesures :
- bots globaux (scripts ayant forcément fait ses preuves, sinon on ne le laisserait pas fonctionner sur des centaines de projets)
- scripts semi-automatiques (chaque page est validée, donc contrôlée, par le dresseur en temps réel)
- Je suis donc tout à fait d'accord qu'on y ajoute les scripts qui fonctionnent dans l'espace utilisateur (ou discussion utilisateur), pourvu qu'on ait l'accord de l'utilisateur en question. -- Quentinv57 ✍ 7 mai 2011 à 15:29 (UTC)
- OK, moi ça me va. Grimlock 7 mai 2011 à 15:35 (UTC)
- L'expérience m'a montré que sur Wikipédia 100 000 contributions sont à peine suffisantes pour qu'un script soit à l'épreuve du feu. On pourrait donc voter à l'issu de ce chiffre pour le tester dans une liste de page d'exceptions avant de le valider. JackPotte ($♠) 9 mai 2011 à 20:15 (UTC)
- OK, moi ça me va. Grimlock 7 mai 2011 à 15:35 (UTC)
Remarque de JackPotte
[modifier le wikicode]Comme vient de le proposer Quentinv57 sur l'IRC, on pourrait ne valider que les scripts publiés, cela aurait le mérite de responsabiliser tout le monde dans un cahier des charges plus précis. JackPotte ($♠) 11 mai 2011 à 20:33 (UTC)
- Je n'ai pas tout à fait dit ça... Je ne parlais pas de publication d'un script (car cela concerne le dresseur s'il veut ou non le rendre publique et nous n'avons en aucun cas à l'en obliger), mais seulement de sa validation par un vote ou une discussion auprès de la communauté. -- Quentinv57 ✍ 12 mai 2011 à 13:43 (UTC)
- L'avantage de le publier serait aussi d'éviter des erreurs pendant la période de test préalable au vote. JackPotte ($♠) 12 mai 2011 à 14:50 (UTC)
- Ca peut être un plus et ton idée est bonne, on peut donc le conseiller, l'encourager mais on ne peut pas obliger les gens à le faire. -- Quentinv57 ✍ 12 mai 2011 à 15:11 (UTC)
- L'avantage de le publier serait aussi d'éviter des erreurs pendant la période de test préalable au vote. JackPotte ($♠) 12 mai 2011 à 14:50 (UTC)
Remarque de Stephane8888
[modifier le wikicode]Cette discussion me rappelle ce que Eiku a ajouté en janvier 2010 dans Wiktionnaire:Bots : « Bots avec statut de bot : […] ils ont le droit de faire des modifications à grande échelle et de traiter toutes sortes de requêtes de bots (sous réserve d’approbation de la requête par la communauté). » (cet ajout faisait suite à cette discussion)
Le flagbot n'est pas, et n'a jamais été, un blanc seing pour faire tout et n'importe quoi. Il est sans doute utile de le rappeler, et de le rajouter dans le texte suivant, qui est recopié à chaque nouvelle consultation : « Le vote est ouvert à tous ceux qui ont au moins 100 modifications sur le Wiktionnaire francophone au moment du début du vote. Il est rappelé aux votants que le seul avantage du statut de bot est de ne pas apparaître dans la page Modifications récentes. Si le rapport Pour/Contre est supérieur (ou égal) à 75%, la requête est acceptée, le bot flag est demandé aux administrateurs. Le vote dure 7 jours. » Stephane8888 ✍ 25 mai 2011 à 20:33 (UTC)
- Bonjour Stéphane et merci pour ta remarque. Mais en réalité, le seul avantage du statut bot n'est pas de ne pas apparaitre dans les RC. Tout simplement car dans certains cas on voit des comptes avec le statut bot qui n'ont jamais fait une seule contribution, mais qui sont pourtant bel et biens en activité.
- Ensuite, es-tu pour ou contre le passage systématique d'une tâche devant la communauté avant d'être exécutée en masse ? As-tu d'autres choses à ajouter concernant cette méthode de travail ? -- Quentinv57 ✍ 26 mai 2011 à 06:08 (UTC)
Remarque de Lmaltier
[modifier le wikicode]Quelques remarques :
- le terme journal n'a de sens que pour les tâches ponctuelles (parfois très grosses, mais restant ponctuelles). Sinon, c'est une simple liste de ce que le robot fait qui a un sens.
- l'important est de prendre son temps, c'est comme ça qu'on est le plus efficace. Si on veut trop en faire, on ne teste pas assez, et il y a des erreurs.
- un bot peut être parfaitement au point, et faire de grosses erreurs quand même. Si ce qu'il utilise en entrée est incorrect, le résultat sera incorrect.
- je suis parfaitement d'accord qu'il faut une discussion et une décision collective sur chaque requête de tâche automatisée. A plus forte raison quand il s'agit de modifier ce que les autres ont fait.
Lmaltier 25 mai 2011 à 22:05 (UTC)
- Bonjour Lmaltier et merci pour ta remarque. Je pense qu'il est tout de même possible pour des tâches non ponctuelles de tenir un journal, mais cela reste un détail. Bien entendu, si pour une tâche donnée tenir un journal fait perdre plus de temps qu'il peut permettre d'en faire gagner, on laissera tomber. Mais bon, je pense à l'autoformatage de JackPotte qui, du fait qu'il utilise toujours le même résumé, peut être très facile à récupérer dans un historique. Comme je l'ai dit plus haut, on pourra très bien proposer des outils informatiques (Toolserver) pour permettre de tenir plus facilement un tel journal. -- Quentinv57 ✍ 26 mai 2011 à 06:14 (UTC)
- Pour les tâches permanentes, par exemple les interwikis ou les formes conjuguées, le seul journal possible, c'est la liste des modifications (gérée par le logiciel). Lmaltier 26 mai 2011 à 06:36 (UTC)
- Il me semble bien qu’un journal pour les conjugaisons est aussi important que les autres, on a déjà trouvé de nombreuses erreurs systématiques pour lesquelles un journal des modifs peut s’avérer utile. Ceci dit, dans la page de journal elle-même, on peut se satisfaire d’un « création de 1000 pages de conjugaison de 10 verbes français », en supposant que le propriétaire du bot a conservé la liste précise de ces pages créées au cas où il faudrait repasser derrière. En revanche pour des modifications très robustes et systématiques du type interwiki, un journal est bien sûr inutile. — Dakdada (discuter) 26 mai 2011 à 10:13 (UTC)
- Pour les conjugaisons, il suffira de prendre toutes les pages qu'aura créé le bot avec résumé de modification "Création de la forme conjuguée de verbe", et on aura une liste générée en pas moins d'une minute. -- Quentinv57 ✍ 26 mai 2011 à 11:09 (UTC)
- Comment fais-tu pour récupérer cette liste ? Notez que ça nécessite tout de même l’usage de commentaires précis. — Dakdada (discuter) 26 mai 2011 à 11:59 (UTC)
- Avec Pywikipedia il suffit de deux lignes avec "contribs_address(self, target, limit=500, offset=)". JackPotte ($♠) 26 mai 2011 à 14:58 (UTC)
- J'avais pensé à écrire un script que l'on hébergerait sur le toolserver, même s'il est vrai que la solution proposée par JackPotte peut aussi fonctionner. Quant à la spécificité du résumé, j'ai déjà trouvé une solution. Car même si cela risque en effet de poser des problèmes pour les requêtes passées, on peut toujours sensibiliser les dresseurs sur le fait qu'il serait plus intéressant d'utiliser un résumé qui explique la tâche réalisée. Sinon, comment s'y retrouver ? -- Quentinv57 ✍ 26 mai 2011 à 16:01 (UTC)
- D’un autre côté un bot qui n’explique pas ce qu’il fait, ça devrait être interdit… Déjà que la plupart de historiques sont boursouflés de modifications de bots, alors s’ils ne mettaient pas ce qu’ils font, ce serait infernal.
- Mais je reste tout de même sur ma position d’obliger les dresseurs de bots à donner le plus de précision possible pour savoir ce qu’ils ont modifié et comment. S’il faut aller chercher des listes avec des scripts, ils doivent clairement indiquer par quel moyen le faire. L’important est que n’importe qui puisse repasser derrière, même quand le dresseur de bot aurait quitté le projet. — Dakdada (discuter) 26 mai 2011 à 16:11 (UTC)
- Pour les formes conjuguées, je conserve la liste des verbes que j'ai traités, avec les renseignements nécessaires. Si on trouvait une erreur systématique pour un certain cas particulier, je la corrigerais (c'est déjà arrivé). Mais dire dans un journal : le 10 mars 2011, formes conjuguées pour 3 verbes, le 11 mars pour 5, etc. n'est pas plus utile que de faire un journal du nombre de liens interwikis créés chaque jour.
- Et bien sûr, c'est utile d'avoir un résumé de modification standard, ce qui est facile avec pywikipédia. Lmaltier 26 mai 2011 à 18:02 (UTC)
- Bien sûr, on ne parle pas d'un journal quotidien. Mais un dresseur doit pouvoir fournir, pour une tâche donnée, un ordre de grandeur du nombre de pages éditées ainsi que la liste exhaustive des articles modifiés. C'est absolument nécessaire. D'ailleurs, chaque résumé de modification devrait contenir un lien vers une page décrivant la tâche réalisée par le bot. Ainsi, on pourrait de suite détecter de quel script provient le problème sans la moindre ambiguïté. -- Quentinv57 ✍ 27 mai 2011 à 15:31 (UTC)
- Comment fais-tu pour récupérer cette liste ? Notez que ça nécessite tout de même l’usage de commentaires précis. — Dakdada (discuter) 26 mai 2011 à 11:59 (UTC)
- Pour les conjugaisons, il suffira de prendre toutes les pages qu'aura créé le bot avec résumé de modification "Création de la forme conjuguée de verbe", et on aura une liste générée en pas moins d'une minute. -- Quentinv57 ✍ 26 mai 2011 à 11:09 (UTC)
- Il me semble bien qu’un journal pour les conjugaisons est aussi important que les autres, on a déjà trouvé de nombreuses erreurs systématiques pour lesquelles un journal des modifs peut s’avérer utile. Ceci dit, dans la page de journal elle-même, on peut se satisfaire d’un « création de 1000 pages de conjugaison de 10 verbes français », en supposant que le propriétaire du bot a conservé la liste précise de ces pages créées au cas où il faudrait repasser derrière. En revanche pour des modifications très robustes et systématiques du type interwiki, un journal est bien sûr inutile. — Dakdada (discuter) 26 mai 2011 à 10:13 (UTC)
- Pour les tâches permanentes, par exemple les interwikis ou les formes conjuguées, le seul journal possible, c'est la liste des modifications (gérée par le logiciel). Lmaltier 26 mai 2011 à 06:36 (UTC)
- Ce script dont je parle plus haut et qui devrait aider les dresseurs à s'organiser est désormais disponible ici. -- Quentinv57 ✍ 30 mai 2011 à 13:56 (UTC)
- Merci. C’est un peu lent pour les gros bots (genre mon Daahbot avec des millions de contributions), crois-tu qu’on puisse faire des optimisations, au prix d’une moins grande précision ? Par exemple en ne demandant que le début du résumé, ou le résumé exact ? — Dakdada (discuter) 30 mai 2011 à 15:33 (UTC)
- En effet, demander le résumé exact ou un fragment de celui-ci rendra le script bien plus rapide. Mais il enlève aussi de nombreuses possibilités... Peut-être faudrait-il laisser les deux ? -- Quentinv57 ✍ 30 mai 2011 à 18:04 (UTC)
- C'est nul, on ne peut même pas paramétrer la langue de l'interface ! J'aimerais le corse. Ce n'est sans doute pas limité aux bots, c'est génial, il m'arrive de chercher parmi mes contribs par commentaire. Lien ajouté sur Utilisateur:GaAsBot, j'aime. --GaAs 30 mai 2011 à 18:09 (UTC)
- En effet, demander le résumé exact ou un fragment de celui-ci rendra le script bien plus rapide. Mais il enlève aussi de nombreuses possibilités... Peut-être faudrait-il laisser les deux ? -- Quentinv57 ✍ 30 mai 2011 à 18:04 (UTC)
- Merci. C’est un peu lent pour les gros bots (genre mon Daahbot avec des millions de contributions), crois-tu qu’on puisse faire des optimisations, au prix d’une moins grande précision ? Par exemple en ne demandant que le début du résumé, ou le résumé exact ? — Dakdada (discuter) 30 mai 2011 à 15:33 (UTC)
Grain de sel de GaAs
[modifier le wikicode]J'ai commencé à mettre en place un journal : Utilisateur:GaAsBot/Suivi des missions. On n'y trouve pas la liste des motifications, mais le paramétrage d'AWB (ce qui permet entre autre de savoir sur quelle liste d'articles la tâche a été effectuée) et les dates de l'opération (ce qui permet de retrouver les modifs effectuées dans la liste de contributions).
Certes, la façon dont j'utilise GaAsBot n'est pas représentative d'une grande partie des bots. Et bien sûr ce n'est pas parfait, ça n'est que la 3e tâche pour laquelle je le fais, mais je pense que c'est déjà utile. --GaAs 27 mai 2011 à 16:02 (UTC)
- Très bon travail ! -- Quentinv57 ✍ 28 mai 2011 à 08:57 (UTC)
Discussion en 2015
[modifier le wikicode]Finalement depuis quatre ans peu de choses ont changé, si ce n'est que synchroniser mon robot sur GitHub depuis un an en a sensiblement augmenté la qualité. Tout le monde peut en parcourir le véritable historique (pas seulement celui que je pense à poster) et mettre en place des améliorations par soi-même (comme sur un wiki). Le résultat est ensuite téléchargé puis exécuté toutes les nuits par le serveur Wikitech.
Pour le reste, le Lua remplace quelques de tâches qui étaient faites par bot (ex : {{clé de tri}} et Catégorie:Lettres rares). Cela était nécessaire aussi à la vue de la vingtaine de Wiktionnaire:Bot/Requêtes non traitées depuis des lustres. JackPotte ($♠) 23 janvier 2015 à 21:50 (UTC)
Décision
[modifier le wikicode]Demandeur inactif depuis sept ans. De plus, vu le petit nombre de dresseurs, on ne va pas commencer à les réduire avec des solutions imposées comme la relecture de code (nécessitant certainement de le placer en licence ouverte).
Décision abandonnée. JackPotte ($♠) 19 février 2018 à 15:18 (UTC)