Nombre maximum d'échantillons par utilisateur?

Sur le tableau de bord, on peut voir un classement des Contributeurs et contributrices remarquables ayant plusieurs milliers d’enregistrements à leur actif…

Entre le classement, les objectifs et les trophées, on peut même dire que tout est fait pour pousser l’utilisateur à enchaîner les contributions.

Sauf que voilà. Sur GitHub, un rapport de bug laisse penser qu’au-delà de quelques centaines d’échantillons pour un même utilisateur, ça n’a plus aucun intérêt pour entraîner DeepSpeech (qui préfère la diversité de contributeurs) et que le reste des échantillons de cet utilisateur est donc mis de côté.

Alors oui, l’intégralité du jeu de données de Common Voice (et donc les milliers de contributions de certains utilisateurs) pourra toujours servir à bien d’autres projets (chercheurs, entreprises…), mais est-ce que ça vaut réellement le coup de s’investir encore dans l’enregistrement de nouveaux échantillons, quand on en a déjà un certain nombre au compteur ?

Si ce n’est pas réellement utile au projet, ce n’est pas la peine de perdre son temps à enregistrer encore et encore de nouveaux échantillons, pour ensuite faire perdre leur temps aux validateurs, qui devront valider un grand nombre d’échantillons qui ne serviront pas :frowning:

Qu’en pensez-vous ?

Alors, pour la reconnaissance vocale, tu as raison. C’est aussi ce qu’on indique sur https://activate.mozilla.community/commonvoice

Effectivement arriver à convaincre les gros contributeurs de passer du temps à valider et/ou à s’enregistrer sur d’autres langues qu’ils pourraient parler serait encore plus efficace. Toutes les bonnes volontés sont les bienvenues pour animer la communauté :).

Ensuite, il faut prendre en compte le paramètre des nouvelles chaînes.

Techniquement, je ne crois pas que CorporaCreator (l’outil utilisé pour produire le jeu de données publié par Common Voice) exclu les enregistrements des utilisateurs passé un certain volume. Tu as raison que pour DeepSpeech, c’est peut-être quelque chose qui pourrait être fait (on ne le fait pas non plus encore dans le code d’import).

Par contre, un élément qu’on exclu d’emblée (par défaut plutôt, c’est configurable), c’est quand un même texte a été enregistré par plusieurs locuteurs. En pratique, c’est la plus grosse source de perte à l’heure actuelle : j’ai importé un jeu de données conséquent à l’origine, mais ensuite je n’ai pas pris le temps de l’augmenter / renouveler suffisamment, donc la même phrase a pu être enregistrée par plusieurs personnes. Et ça aussi c’est quelque chose qui est problématique pour DeepSpeech.

Du coup, vous conseillez de ne plus contribuer à partir de combien d’échantillons ? J’en suis à plus de 1700 avec 98% de réussite, c’est amplement suffisant ?

Par contre, un élément qu’on exclu d’emblée (par défaut plutôt, c’est configurable), c’est quand un même texte a été enregistré par plusieurs locuteurs.

Je comprends ce choix.

En revanche, il me semblait que maintenant que nous disposons d’un corpus de phrases très riche, on ne proposerait plus jamais à deux personnes de s’enregistrer sur la même phrase.

Cependant j’ai remarqué en validant plusieurs personnes et en m’enregistrant moi-même que la même phrase était proposée à plusieurs personnes.

Par exemple la phrase :
“C’est une église protestante historique qui n’est pas issue du mouvement évangélique.”

Je viens d’être enregistré dessus alors que j’ai validé plusieurs fois il y a un quart d’heure une même personne sur cette même phrase.

(Je trouve d’ailleurs ça étrange puisqu’il est très probable qu’à quelques minutes d’intervalle je juge de nouveau l’enregistrement de la même façon, donc mieux vaut que ce soit un autre qui juge, non ?)

Mon hypothèse concernant le problème initial est que tant qu’une phrase n’a pas été enregistrée ET validée elle n’est pas considérée comme “verrouillée”.

Il existerait donc un laps de temps durant lequel plusieurs personnes peuvent s’enregistrer sur la même phrase.

Si l’ordre des phrases proposées est aléatoire alors ça ne devrait pas poser de problème puisque la probabilité de tomber sur la même phrase sachant qu’il en existe des millions possibles, est très faible.
On aura le temps de valider avant que la phrase ne soit suggérée à quelqu’un d’autre.

Mais étant donné la situation que je viens de rencontrer, je me demande si elle ne sont pas lues et proposées dans un certain ordre.

Si c’est le cas, la probabilité d’avoir des recoupements devient plus élevée, d’autant plus si l’on considère que l’on accumule plus rapidement des enregistrements qu’on ne les valide (ce qui allonge le laps de temps durant lequel on peut proposer la même phrase à plusieurs gens).

Du coup je me demande si c’est un problème connu et considéré comme peu impactant ou si c’est un comportement inattendu ?

C’est possible, je ne connais pas bien lecode de Common Voice

C’est pas très gênant, et il y a sûrement d’autres applications que DeepSpeech où c’est intéressant.

FTR j’ai fait des expérimentations sur le modèle français, j’ai autorisé des phrases à être présentes 4 fois. L’augmentation de la quantité de données a semblé être plus utile que les risques des duplicatas.

Du coup c’est quelque chose qu’on essaye d’éviter pour le moment, aussi pour attendre d’avoir plus de recul.

Après, on ne va pas empêcher les gens de le faire, et plus le jeu de données sera grand, plus ça sera pas gênant. Ce sont des directives générales pour inciter les gens à contribuer.

On a besoin de beaucoup de validation aussi. Si vous parlez d’autres langues que le français, s’y enregistrer pour augmenter la diversité d’accents c’est très très très très important. Et valider aussi :slight_smile:

C’est très intéressant, je me posais justement la question.
Merci d’avoir mis fin au doute !

Peut-être qu’en incluant tous les duplicatas (sans en mettre dans les jeux de tests et de validation) le resultat peut encore devenir meilleur ?

Peut-être, ça fait partie des choses que j’aimerais avoir le temps d’essayer :).