F lex E val, création de sites web légers pour des campagnes de tests perceptifs multimédias ( F lex E val, creation of light websites for multimedia perceptual test campaigns) (2020)

Abstract: Nous présentons FlexEval, un outil de conception et déploiement de tests perceptifs multimédias sous la forme d’un site web léger. S’appuyant sur des technologies standards et ouvertes du web, notamment le framework Flask, FlexEval offre une grande souplesse de conception, des gages de pérennité, ainsi que le support de communautés actives d’utilisateurs. L’application est disponible en open-source via le dépôt Git https://gitlab.inria.fr/expression/tools/flexeval .

## introduction de nombreux domaines de recherche requièrent la récolte d'avis d'utilisateurs, notamment en traitement automatique des langues et de la parole. par exemple, il peut s'agir pour les utilisateurs de se prononcer sur le naturel de signaux sonores produits par des systèmes de synthèse de parole, la validité des réponses d'un chatbot, l'expressivité d'avatars signant en langue des signes ou encore la pertinence de résultats d'un moteur de recherche. cet article présente flexeval, un outil permettant de créer et déployer de tels tests sans requérir de développements informatiques lourds ou de complexes étapes de configurations de la part du concepteur. nous en donnons tout d'abord une vue d'ensemble (section 2), puis présentons un exemple simple d'un test perceptif (section 3). nous détaillons ensuite des aspects liés à la flexibilité de flexeval (section 4), puis les aspects juridiques (section 5). ## vue d'ensemble flexeval modélise un test perceptif de manière générique comme l'enchaînement de différentes scènes (stages) que le concepteur décide d'agencer selon son besoin. les scènes disponibles sont listées ci-dessous. flexeval est indépendant de logiciels tiers et facile à installer car il s'appuie sur des logiciels standard de développement web. du côté serveur, l'application utilise le framework flask foot_1 , fondé sur python, et le gestionnaire de base de données embarquées sqlite. du côté client, les technologies utilisées sont html5, css et javascript (notamment jquery). l'ensemble du code est récupérable à l'adresse https://gitlab.inria.fr/expression/tools/flexeval 3 exemple de test perceptif prenons l'exemple d'un test dans lequel on souhaite comparer des phrases produites par 2 systèmes de synthèse de la parole, référencés comme les systèmes hyp et ref. pour un testeur donné, nous souhaitons que la session de test débute par une authentification, suivie d'un questionnaire, puis 40 étapes d'un test de type mos (mean opinion score). à chaque étape, nous supposons vouloir présenter un texte et un échantillon de parole correspondant, puis obtenir deux notes entre 1 et 5 de la part du testeur, par exemple sur les degrés de spontanéité et d'intelligibilité du signal de parole. pour un ensemble de textes donnés, il existe un échantillon de parole associé pour chaque système de synthèse testé. les échantillons présentés au testeur viendront aléatoirement soit de l'un, soit de l'autre. une fois les 40 étapes terminées, le test se conclut par une page de fin. figure 2 -configuration du scénario et des données du test perceptif. les différents fichiers mis en place, le concepteur lance le serveur web de flexeval en indiquant le chemin vers le répertoire ma_campagne/, éventuellement en indiquant l'ip et le port auquel le site web sera accessible : python3 run.py -ip 123.45.67.89 -port 8080 /chemin/vers/ma_campagne . le concepteur communique alors l'url du site de la campagne. une fois la campagne terminée, le concepteur récupère les réponses collectées via une interface d'administration dédiée ou directement à la racine du répertoire macampagne/. le serveur web peut enfin être interrompu. ## éléments de flexibilité flexeval autorise une grande souplesse dans la création d'un test. au niveau de la conception globale du test, l'emploi d'un fichier de configuration structure.json permet de décrire de manière flexible et intuitive un test sous la forme d'un scénario. il n'y a pas de contrainte sur l'enchaînement des scènes. si aucune phase d'authentification n'est prévue, l'outil en prévoira une par défaut, transparente pour l'utilisateur. il est également possible de spécifier plusieurs scènes de tests successives. ensuite, le recours à des patrons de fichiers html et de possibles bibliothèques javascript permet une grande liberté d'interaction avec l'utilisateur que ce soit en terme de présentation des contenus (textes, vidéos, images. . .) que de récolte des réponses de l'utilisateur (multiples composants de formulaire, captation audio, vidéo. . .). en outre, flexeval permet l'inclusion de segments de code en python au sein des patrons de fichiers html, selon le langage de squelette jinja 3 . ces segments ont accès à des variables définies par flexeval concernant l'utilisateur courant, la scène en cours (par exemple, pour une scène de test, le nombre d'étapes, le nombre de systèmes ou les informations sur un échantillon) ou encore des aspects explicitement fournis par le concepteur à travers le fichier structure.json (par exemple, le titre de la campagne, l'auteur des expériences. . .). par ailleurs, les patrons peuvent inclure d'autres patrons, ce qui permet une meilleure réutilisation. par exemple, il est possible d'inclure un pied de page dont le contenu (par exemple, des logos) est défini dans un autre fichier. enfin, il est aisé de créer ses propres types de scènes en python en s'inspirant de celles existantes ou de définir des spécialisations de certains types par un mécanisme d'héritage, sans nécessité de modifier des fichiers existants de flexeval.