Ajouter l'intelligence humaine au logiciel

Le service Mechanical Turk d'Amazon a longtemps fourni une source de main-d'œuvre bon marché, lorsque le travail est simple pour les humains mais difficile pour les ordinateurs. Des tâches telles que la description d'une image, par exemple, peuvent être effectuées en ligne par des travailleurs humains distants. Les programmeurs utilisent déjà des groupes de ces travailleurs, appelés turkers, pour effectuer plusieurs de ces tâches en même temps. Mais Mechanical Turk n'offre aucun moyen facile pour les programmeurs développant de nouvelles applications logicielles de combiner et de coordonner les efforts des Turcs. Maintenant, les informaticiens du MIT ont développé une boîte à outils qui fait exactement cela. Appelé TurKit , l'outil permet aux ingénieurs logiciels d'écrire des algorithmes pour coordonner les travailleurs en ligne à l'aide du langage de programmation Javascript et de créer des applications puissantes intégrant l'intelligence humaine. Le logiciel peut également être débogué comme du code normal.





Logiciel avec des cerveaux : Le module complémentaire de traitement de texte, Soylent, illustré ci-dessus, a été construit avec TurKit. Turkit aide les développeurs à écrire des algorithmes qui intègrent le travail des humains recrutés via Mechanical Turk.

Habituellement en Javascript, vous ne pourriez pas accéder à Mechanical Turk sans beaucoup de travail, explique Greg Little, doctorant au MIT. Laboratoire d'informatique et d'intelligence artificielle , qui a créé TurKit. Il s'agit d'un pont pour l'écriture de code qui interagit avec les travailleurs de Mechanical Turk, ce qui nous permet d'explorer facilement de nouvelles méthodes de calcul humain.

Avec TurKit, l'entrée humaine est stockée dans une base de données. De cette façon, chaque fois que le logiciel en cours de développement plante, les Turcs n'ont pas à recommencer à zéro. Au lieu de cela, une fois que le programme a été corrigé, il peut reprendre là où il s'était arrêté. Si vous attendez une heure que les humains terminent leur tâche, puis que le programme génère une erreur, vous ne voulez pas attendre une heure de plus juste pour voir si votre correction de bogue fonctionne, dit Little. TurKit empêche également l'entrée humaine de changer de manière imprévisible pendant le processus de débogage. Si j'obtenais un comportement différent à chaque fois que j'exécutais (un programme), je ne pourrais jamais déboguer cette cible en mouvement, explique Michael Bernstein, doctorant au MIT, qui a utilisé TurKit pour créer une application de traitement de texte appelée Soylent .



Grâce à TurKit, les chercheurs ont déjà créé des algorithmes de calcul humain suffisamment stables pour être intégrés dans un logiciel fonctionnel. Soylent utilise des groupes de trois à sept turkers pour effectuer une relecture à la demande et un raccourcissement de paragraphes dans Microsoft Word, avec un algorithme appelé Find-Fix-Verify. Dans l'étape de recherche, les Turcs mettent simplement en évidence les erreurs sans les corriger. Soylent compare les résultats de plusieurs travailleurs à des fins de cohérence, puis envoie la sortie filtrée à un autre groupe de Turcs qui corrigent les erreurs. Enfin, un troisième groupe vérifie la qualité des corrections ; les résultats inférieurs aux normes sont signalés et Soylent affiche uniquement les corrections vérifiées. Si vous ne faites que lâcher les turkers sur votre paragraphe, environ 30 % du travail que vous récupérez est inutilisable, explique Bernstein. Nous voulions traiter cela comme un bruit inhérent au système tout en garantissant la qualité à l'utilisateur final.

Une autre application de Mechanical Turk, appelée VizWiz , est en cours de développement pour permettre aux utilisateurs aveugles d'identifier des objets, tels que des panneaux de signalisation ou des articles de garde-manger, à l'aide de l'appareil photo de leur smartphone et de leurs voyants. Idéalement, VizWiz fonctionnera rapidement, afin que les utilisateurs obtiennent des résultats lorsqu'ils en ont le plus besoin. informaticien de l'Université de Rochester Jeffrey Bigham et son équipe ont utilisé TurKit pour créer un algorithme, appelé quikTurkit, qui réduit le temps de latence en mettant en file d'attente des groupes de turkers avant qu'ils ne soient nécessaires. Lorsqu'un utilisateur active la caméra de VizWiz, quikTurkit signale aux Turcs qu'une nouvelle requête est imminente - soit en recrutant de nouveaux travailleurs à la demande, soit en envoyant la demande à un groupe de huit Turcs déjà engagés dans la réponse aux requêtes précédentes. La première méthode renvoie les résultats à l'utilisateur en quelques minutes ; ce dernier dure en moyenne moins de 30 secondes. Si vous utilisez une application de reconnaissance optique de caractères coûteuse sur votre téléphone, cela peut prendre autant de temps pour vous donner une réponse de toute façon, dit Bigham, tandis que VizWiz est plus intelligent et pourrait être moins cher.

Bigham et Bernstein déclarent tous deux voir l'informatique humaine comme un champ riche pour de futures applications, avec des outils open source comme TurKit comme le meilleur moyen de les prototyper et de les affiner. Les algorithmes humains sont fondamentalement différents de ceux auxquels nous sommes habitués, et TurKit nous permet d'explorer des moyens de les optimiser, explique Bernstein. Si nous commençons à connecter avec succès des foules humaines à ces systèmes, nous pouvons produire un produit final bien plus puissant, et ce, à faible coût et avec une grande fiabilité.

cacher