Comment créer des « speaker vector » aux fichiers audio pour la transcription ?

Guillaume Goyon, 16 Juin 2020

Comment ajouter des speaker vector aux fichiers audio pour la transcription

PARTAGER:

Ce blog traite du processus de diarisation, qui consiste à créer des « speaker vector  » à un fichier audio pour une transcription. Il décrit rapidement les techniques pour travailler avec des « speaker vector » et vous donne un moyen facile de l’exécuter à l’aide de notre outil.

Qu’est ce que la diarisation ?

Ajouter des balises de locuteurs à une transcription ou répondre à la question « qui parle quand ? » est un principe appelé la diarisation.

Cette tâche n’est pas aussi facile qu’il n’y paraît, car les algorithmes n’ont presque pas le même niveau de compréhension du son que nous. Il s’agit de trouver le nombre de locuteurs et le moment où ils parlent en utilisant le signal de l’onde sonore.

C’est également une étape nécessaire dans les systèmes de reconnaissance vocale automatique, car elle nous permet d’organiser la transcription du texte et d’avoir des informations supplémentaires sur l’audio.

Chez Amberscript, nous avons analysé différentes approches et intégré la meilleure dans notre produit. Dans cet article, vous trouverez quelques éléments sur les techniques existantes, suivis d’un petit guide sur la façon de créer des « speaker vector » à l’aide de notre outil.

Pourquoi la diarisation est-elle une tâche compliquée ?

Créer des « speaker vector » n’est pas facile, car cela implique de nombreuses d’étapes. Décrivons rapidement le pipeline habituel.

Tout d’abord, vous devez diviser l’audio en segments de discours. Cela signifie supprimer les parties sans parole et diviser les segments audio après chaque changement d’interlocuteur, de sorte que vous vous retrouvez avec des segments impliquant un seul locuteur uniquement.

Après le fractionnement, vous devez trouver un moyen de regrouper les segments appartenant au même locuteur sous le même tag de locuteur. Cette tâche est elle-même divisée en plusieurs étapes.

Vous devez extraire un « speaker vector » pour les segments, puis regrouper les « speaker vector »pour enfin les regrouper dans le même cluster sous la même balise de locuteur. La difficulté de cette tâche est à l’origine du défi de diarisation appelé DIHARD.

Passons maintenant à l’extraction desdits « speaker vector ».

La diarisation automatique

Habituellement, la création des segments n’est pas la partie la plus compliquée. C’est ce qu’on appelle la détection d’activité de parole (DAP) ou la détection d’activité vocale (DAV). Cela se fait généralement en utilisant un certain seuil sur l’activité à un moment donné sur l’audio.

Le plus difficile est de créer des « speaker vector » à partir des segments obtenus. Pour cela, vous pouvez vérifier différentes techniques pour extraire le « speaker vector » (appelé intégration du locuteur) dans le tableau ci-dessous:

NOMOutil interne
i-vectorsModèles statistiques
x-vectorsRéseaux de neurones à temporisation
d-vectorsRéseaux de neurones récurrents
ClusterGANRéseaux antagonistes génératifs

La liste complète serait beaucoup plus longue, mais on peut la limiter à ces techniques qui sont les plus courantes.

«Le I-vector est basé sur des chaînes de Markov cachées sur des modèles de mélange gaussien: deux modèles statistiques pour estimer le changement de locuteur et déterminer les « speaker vector » sur la base d’un ensemble de locuteurs connus. Il s’agit d’une technique héritée qui peut encore être utilisée

« Les systèmes X-vector et d-vectors sont basés sur des réseaux neuronaux formés pour reconnaître un ensemble de locuteurs. Ces systèmes sont meilleurs en termes de performances, mais nécessitent plus de données, d’entraînement et de configuration. Leurs fonctionnalités sont utilisées comme « speaker vector ».

ClusterGAN va plus loin et tente de transformer un « speaker vector » existant en un autre qui contient de meilleures informations en utilisant 3 réseaux de neurones en compétition les uns contre les autres.

Lorsque cette étape est terminée, nous nous retrouvons avec des « speaker vector » pour chaque segment.

Regroupement des « speaker vector »

Après avoir obtenu ces « speaker-vector », vous devez les regrouper. Cela signifie qu’ils faut les regrouper s’ils sont similaires, donc susceptibles d’appartenir au même locuteur.

Le problème à cette étape est que vous ne connaissez pas nécessairement le nombre d’interlocuteurs pour un fichier (ou un ensemble de fichiers) donné, vous ne savez donc pas combien de clusters vous souhaitez obtenir. Un algorithme peut essayer de le deviner, mais peut se tromper.

Encore une fois, plusieurs algorithmes existent et peuvent être utilisés pour effectuer cette tâche, les plus courants sont donc inclus dans le tableau ci-dessous:

NomOutil interne
K-meansClustering itératif
PLDAModèles statistiques
UIS-RNN
Réseau neuronal récurrent

PLDA fait référence à une technique de notation utilisée dans un autre algorithme. K-means est généralement la méthode standard pour le clustering, mais si vous devez définir une distance entre deux « speaker vector », PLDA est en fait plus approprié dans ce cas.

UIS-RNN est une technique récente qui permet le décodage en ligne, en ajoutant de nouveaux interlocuteurs au fur et à mesure de leur apparition et qui est très prometteuse.

Après l’étape du regroupement, vous pouvez ajouter les balises des locuteurs aux segments qui appartiennent au même cluster, de sorte que vous vous retrouvez avec des balises pour chaque segment.

Que reste-t-il à faire après la diarisation pour une transcription complète?

Lorsque cette étape est terminée, nous nous retrouvons avec des « speaker vector » pour chaque segment.

La sortie de la transcription sera alors une transcription complète avec les mots du fichier audio, plus les locuteurs associés à chaque partie du texte.

Comment ajouter des « speaker vector » à l‘aide de l’outil Amberscript ?

Maintenant, sur la partie réelle, comment pouvez-vous ajouter lesdits « speaker vector » sans avoir à effectuer toutes les étapes techniques ci-dessus?

Vous pouvez simplement vous rendre sur notre site Web et vous connecter. Lorsque cela sera fait, vous pourrez télécharger un fichier et sélectionner le nombre de locuteurs (pour une meilleure précision), puis laisser l’algorithme fonctionner!

Vous n’avez pas à vous soucier de la technique à choisir. Après quelques minutes, votre fichier sera entièrement transcrit et vous pourrez vérifier dans l’éditeur si les « speaker vector » ont été correctement ajoutées.

Vous pouvez même corriger les erreurs si vous en trouvez, puis télécharger votre transcription prête pour la publication.

Conclusion

Pour conclure, disons qu’il existe de nombreuses techniques de diarisation disponibles et que ce processus est vraiment compliqué, mais nous avons créé un outil utilisant la meilleure technique disponible pour vous permettre de créer des « speaker vector » à vos fichiers audio afin que vous puissiez obtenir la meilleure transcription.

Vous pourriez également être intéressé par cette lecture: