Cet article de blog explore le processus d'étiquetage des données vocales pour la reconnaissance automatique de la parole (ASR). La reconnaissance automatique de la parole est le processus de transcription de la langue parlée en texte, et elle nécessite de grandes quantités de données vocales non étiquetées ou faiblement étiquetées pour entraîner les modèles. Cependant, le pré-entraînement des modèles ASR sur ce type de données peut entraîner des erreurs et des biais, c'est pourquoi l'étiquetage des données vocales est crucial pour des performances précises et robustes. Ce billet traite des différents types de données vocales, des méthodes d'étiquetage, des techniques de contrôle de la qualité et des formats d'annotation utilisés pour entraîner les modèles de RPA. Il comprend également des informations sur les formats de données, la diarisation du locuteur, la durée des fichiers, l'augmentation des données et les avantages et inconvénients des différentes méthodes d'étiquetage. Il est essentiel de comprendre le type de données vocales utilisées et de développer une méthodologie d'étiquetage appropriée pour construire un modèle ASR parfait.
En bref, la RPA est le processus par lequel une machine peut comprendre et transcrire la langue parlée en texte. Aujourd'hui, les modèles de RPA tels que wav2vec 2.0 et Whisper sont entraînés sur de grandes quantités de données vocales non étiquetées ou faiblement étiquetées afin d'apprendre les modèles et les caractéristiques du langage parlé. Le pré-entraînement des modèles ASR sur ce type de données peut réduire la quantité de données étiquetées nécessaires pour obtenir de bonnes performances, mais il peut également entraîner des erreurs et des biais dans le modèle.
C'est pourquoi l'étiquetage des données vocales est essentiel pour construire le modèle parfait pour votre cas d'utilisation. Les données vocales étiquetées permettent aux modèles pré-entraînés d'apprendre une représentation plus précise et plus robuste de la langue parlée qu'ils rencontreront et de réduire les erreurs : Taux d'erreur de mot (WER) et taux d'erreur de caractère (CER).
Cet article de blog examinera les différents types de données vocales, les méthodes d'étiquetage, les techniques de contrôle de la qualité et les formats d'annotation utilisés pour former les modèles ASR. Alors, soyons funky et plongeons dans l'étiquetage des données vocales !
Les données vocales peuvent se présenter sous différentes formes, et chaque type présente des défis uniques en matière d'étiquetage. Voici quelques-uns des types de données vocales les plus courants :
Chaque type de données vocales présente des défis uniques en matière d'étiquetage. Par exemple, la parole spontanée peut nécessiter plus d'informations contextuelles pour être transcrite avec précision, tandis que la parole lue peut nécessiter plus d'attention aux détails pour capturer des mots ou des phrases spécifiques. La parole conversationnelle peut nécessiter l'identification du locuteur et l'annotation du tour de parole pour différencier les locuteurs.
Il est essentiel de comprendre le type de données vocales utilisées pour développer la méthodologie d'étiquetage appropriée. En outre, le fait de disposer d'un ensemble diversifié de types de données vocales peut améliorer la robustesse et la précision des modèles ASR.
Pour étiqueter les données, il faut d'abord s'assurer qu'elles sont dans un format approprié. Nous n'aborderons pas la collecte des données dans ce billet de blog, mais nous commencerons par ce qu'il faut faire lorsque les données sont disponibles et que vous souhaitez affiner votre modèle. Plusieurs étapes doivent être prises en compte.
*Si nous prenons le terme "format" dans son sens le plus courant pour les ingénieurs :
ÉchantillonsLes formats .wav et .mp3 sont les plus courants pour les échantillons audio et sont compatibles avec la plupart des bibliothèques audio Python et des logiciels d'annotation.
Transcriptions: Le schéma JSON est votre ami. Le format exact varie en fonction du logiciel d'annotation utilisé.
Le prétraitement par la diarisation du locuteur est toujours nécessaire pour l'inférence sur des modèles comme wav2vec 2.0. Sinon, vous vous retrouverez avec la transcription des deux locuteurs dans un seul bloc de texte.
Whisper permet la diarisation du locuteur mais pas l'attribution du locuteur, ce qui signifie que vous obtiendrez des blocs de parole distincts dans la sortie mais que vous ne saurez pas à qui ils appartiennent.
Il est donc conseillé d'utiliser la diarisation des locuteurs pour le réglage fin et l'inférence pour wav2vec 2.0 et Whisper. Si les données ne sont pas encore collectées, vous pouvez demander à ce que les différents locuteurs soient enregistrés sur des canaux différents (par exemple si la source d'entrée est un appel téléphonique) pour externaliser l'étape de diarisation et garantir de meilleurs résultats. Si cela n'est pas possible, un simple diariseur est généralement l'outil de choix, mais vous pouvez lire notre blog sur la diarisation des locuteurs pour vous aider à trouver l'outil optimal pour vos données.
Les étiqueteurs vous remercieront s'ils doivent annoter des bribes de fichiers audio plutôt qu'un appel téléphonique entier de 5 minutes en une seule fois. Whisper est réglé sur des morceaux de 30 secondes de données, wav2vec 2.0 sur des dizaines de secondes. Vous pouvez utiliser des données étiquetées coupées en bribes plus courtes (ou plus longues), mais elles seront complétées (ou tronquées) par le script de réglage fin en conséquence. D'après notre expérience, la longueur optimale pour l'annotation se situe entre 5 et 8 secondes.
Il est conseillé de ne pas nettoyer votre audio des silences ou des bruits de fond (comme la musique ou la toux), car votre modèle doit également apprendre à gérer le bruit et l'absence de parole. Vous ne voulez pas que le modèle soit affiné sur des données artificiellement propres. Ce qu'il voit maintenant doit être ce qu'il obtiendra plus tard.
Pour rendre votre modèle plus robuste, vous pouvez envisager d'augmenter vos échantillons afin d'accroître la diversité et la quantité de votre ensemble de données en générant artificiellement de nouvelles données à partir de données existantes. Cela peut s'avérer particulièrement utile pour les accents ou dialectes sous-représentés. Les techniques qui peuvent être utilisées pour l'augmentation des données vocales sont les suivantes :
Ces techniques peuvent être utilisées isolément ou en combinaison, mais elles peuvent diminuer la qualité de votre ensemble de données ou apprendre au modèle des comportements inattendus.
L'étiquetage des données vocales peut prendre du temps et nécessiter beaucoup de travail, et plusieurs méthodes sont disponibles pour cette tâche. Chaque méthode a ses avantages et ses inconvénients, et la méthode appropriée dépend de la taille de l'ensemble de données, de la complexité du discours et des ressources disponibles. Voici les deux méthodes d'étiquetage les plus courantes utilisées pour les données vocales qui incluent l'étiquetage manuel :
En fonction de vos besoins, vous pourriez vouloir annoter des métadonnées telles que
Ces informations peuvent fournir aux modèles ASR davantage d'informations contextuelles pour les aider à mieux comprendre et transcrire les données vocales et à évaluer les performances du modèle sur différentes caractéristiques.
De nombreux outils et logiciels sont disponibles pour étiqueter les données vocales, allant de simples éditeurs de texte à des logiciels d'annotation spécialisés. Chez ML6, nous aimons Label Studio, qui offre le plus de possibilités de personnalisation et de fonctionnalités élaborées pour de nombreux domaines. Voici quelques-unes de ses caractéristiques:
Un logiciel d'annotation comme Label Studio facilite l'étiquetage d'informations supplémentaires, comme les métadonnées. Il peut également se connecter à votre base de données pour récupérer les extraits audio (et les pré-transcriptions) et enregistrer les transcriptions avec les métadonnées (sous forme de JSON). Label Studio permet également une boucle d'entraînement itérative qui utilise les données annotées par des humains pour améliorer les pré-transcriptions des échantillons qui doivent encore être étiquetés. Un blog sur l'étiquetage des données audio avec Label Studio est disponible ici.
Quels que soient l'outil et la méthode choisis, il est essentiel de disposer d'un guide d'étiquetage, de dispenser une formation pratique et d'analyser les erreurs pour garantir la cohérence et l'exactitude des données (quel que soit le domaine de vos données) :
Un guide d'étiquetage doit expliquer comment utiliser le logiciel choisi. Il fournit des instructions claires sur l'annotation des différents aspects de la parole, tels que l'identification du locuteur, la transcription et les métadonnées. Cela permet de s'assurer que tous les annotateurs comprennent ce que l'on attend d'eux et que les annotations sont cohérentes d'un annotateur à l'autre.
L'étiquetage des données vocales nécessite un alignement important entre les étiqueteurs. Vous devez vous assurer que ces étiqueteurs restent cohérents en ce qui concerne l'étiquetage des nombres ("1" contre "un"), des majuscules ("jebois du café" contre "je bois du café"), des caractères spéciaux ("größer" contre "groesser"), des abréviations ("fe" contre "f.e." contre "par exemple", ou "ML6" contre "Em El Six"), de la ponctuation, des mots interrompus au début ou à la fin d'un échantillon ("" contre "good-" contre "goodbye"), des mots de remplissage ("euhm"), et bien d'autres choses encore. Il est également conseillé d'inclure une liste de mots spécifiques au domaine (= jargon) dans le guide d'étiquetage. En outre, il est essentiel d'établir un accord inter-évaluateurs entre les annotateurs afin de s'assurer qu'ils appliquent tous le guide d'étiquetage de manière cohérente. L'accord inter-juges est l'accord entre les annotateurs lorsqu'ils étiquettent les mêmes données vocales, qui peut être calculé avec le kappa de Cohen au niveau des mots et des caractères des annotations. L'établissement d'accords inter-annotateurs peut aider à identifier et à traiter les divergences ou les désaccords entre les annotateurs, améliorant ainsi la précision et la fiabilité globales des données vocales étiquetées.
Il est également recommandé d'organiser un atelier pratique au cours duquel le logiciel d'étiquetage est présenté. Certains échantillons sont étiquetés par tous les annotateurs afin de s'assurer que tout le monde obtient les mêmes résultats. Les questions peuvent être abordées directement et un consensus sur les cas limites peut être trouvé et, si nécessaire, ajouté ou expliqué plus en détail dans le manuel d'étiquetage.
Au cours du processus d'étiquetage, une analyse des erreurs doit être effectuée régulièrement : recueillez un échantillon représentatif des données vocales étiquetées, identifiez les types d'erreurs ou d'incohérences, classez-les, déterminez leur fréquence et analysez les causes sous-jacentes. Votre guide d'étiquetage doit être révisé en conséquence et les annotateurs doivent recevoir une formation supplémentaire. Dans certains cas, il est nécessaire de passer à un autre outil ou une autre méthode d'étiquetage.
Vous pouvez consulter la section "Étiquetage des données" d'un autre article de blog que nous avons écrit ici pour plus de détails.
En conclusion, l'étiquetage des données vocales est essentiel pour développer des modèles ASR précis et robustes. Les données vocales étiquetées permettent aux modèles pré-entraînés d'apprendre une représentation plus précise et plus robuste de la langue parlée, ce qui peut réduire les erreurs d'orthographe et améliorer les performances globales du modèle. Toutefois, l'étiquetage des données vocales peut prendre beaucoup de temps et nécessiter une main-d'œuvre importante, et plusieurs méthodes et outils sont disponibles.
Il est essentiel de choisir la méthodologie d'étiquetage et les mesures de contrôle de la qualité appropriées en fonction du type de données vocales utilisées et des ressources disponibles. En outre, le fait de disposer d'un ensemble diversifié de types de données vocales et d'inclure des informations de métadonnées peut améliorer la robustesse et la précision des modèles ASR.
Enfin, une analyse régulière des erreurs et la révision du guide d'étiquetage peuvent garantir la cohérence et la précision des données vocales étiquetées. Avec les bons outils, les bonnes méthodologies et les bonnes mesures de contrôle de la qualité, vous pouvez étiqueter votre chemin vers des modèles ASR précis et robustes.
Restez à l'écoute pour d'autres articles de blog sur ASR, tels que l'optimisation de l'hébergement de Whisper ou les détails de son réglage !