Problème de reconnaissance vocale pas encore résolu

Depuis que l'apprentissage en profondeur est entré sur la scène de la reconnaissance vocale, le nombre d'erreurs dans la reconnaissance des mots a considérablement diminué. Mais, malgré tous les articles que vous avez pu lire, nous n'avons toujours pas de reconnaissance vocale au niveau humain. Les logiciels de reconnaissance vocale présentent de nombreux types d'échecs. Pour une amélioration supplémentaire, ils doivent être alloués et essayer de les éliminer. C'est le seul moyen de passer d'une reconnaissance qui convient la plupart du temps à certaines personnes à une reconnaissance qui fonctionne à tout moment pour tous.


Amélioration du nombre de mots reconnus par erreur. Un test de numérotation vocale a été compilé sur un standard téléphonique en 2000 à partir de 40 conversations aléatoires de deux personnes dont la langue maternelle est l'anglais.

Dire que nous avons atteint le niveau d'une personne dans la reconnaissance vocale dans les conversations, basé uniquement sur un ensemble de conversations à partir d'un standard téléphonique, revient à dire qu'un robot ne conduit pas pire qu'une personne, le testant dans une seule ville par une journée ensoleillée sans trafic . Les développements récents de la reconnaissance vocale ont été surprenants. Mais les déclarations sur la reconnaissance vocale au niveau humain sont trop audacieuses. Voici quelques domaines où des améliorations sont encore nécessaires.

Accents et bruit


L'un des inconvénients évidents de la reconnaissance vocale est le traitement des accents et du bruit de fond. La raison principale en est que la plupart des données de formation se composent de dialecte américain avec un rapport signal / bruit élevé. Par exemple, dans l'ensemble des conversations du standard téléphonique, il n'y a que des conversations de personnes dont la langue maternelle est l'anglais (pour la plupart, ce sont des Américains) avec peu de bruit de fond.

Mais l'augmentation des données de formation à elle seule ne résoudra probablement pas ce problème. Il existe de nombreuses langues qui contiennent de nombreux dialectes et accents. Il n'est pas réaliste de collecter des données balisées pour tous les cas. La création d'une reconnaissance vocale de haute qualité uniquement pour l'anglais américain nécessite jusqu'à 5 000 heures d'enregistrements audio traduits en texte.


Comparaison des personnes qui convertissent la parole en texte avec Deep Speech 2 de Baidu sur différents types de discours. Les gens sont pires à reconnaître les accents non américains - peut-être à cause de l'abondance d'Américains parmi eux. Je pense que les gens qui ont grandi dans une certaine région, avec un nombre d'erreurs beaucoup plus réduit, seraient capables de reconnaître l'importance de cette région.

En présence de bruit de fond dans une voiture en mouvement, le rapport signal / bruit peut atteindre des valeurs de -5 dB. Les gens peuvent facilement faire face à la reconnaissance vocale d'une autre personne dans de telles conditions. Les reconnaisseurs automatiques se détériorent beaucoup plus rapidement avec l'augmentation du bruit. Le graphique montre à quel point la séparation des personnes augmente avec l'augmentation du bruit (à faible SNR, rapport signal / bruit)

Erreurs sémantiques


Souvent, le nombre de mots reconnus par erreur n'est pas une fin en soi dans un système de reconnaissance vocale. Nous visons le nombre d'erreurs sémantiques. C'est la proportion d'expressions dont nous reconnaissons incorrectement le sens.

Un exemple d'erreur sémantique est lorsque quelqu'un propose «Rencontrons-nous mardi» [Rencontrons-nous mardi] et les problèmes de reconnaissance «Rencontrons-nous aujourd'hui» [Rencontrons-nous aujourd'hui]. Il y a des erreurs dans les mots sans erreurs sémantiques. Si le reconnaissant n'a pas reconnu «up» et a émis «rendez-vous mardi», la sémantique de la phrase n'a pas changé.

Nous devons soigneusement utiliser le nombre de mots reconnus par erreur comme critère. Pour illustrer cela, je vais vous donner un exemple avec les pires cas possibles. 5% des erreurs de mots correspondent à un mot manqué sur 20. S'il y a 20 mots dans chaque phrase (ce qui est tout à fait dans la moyenne pour l'anglais), alors le nombre de phrases mal reconnues approche 100%. On peut espérer que des mots mal reconnus ne changent pas le sens sémantique des phrases. Sinon, le programme de reconnaissance peut décrypter chaque phrase de manière incorrecte, même avec 5% du nombre de mots reconnus par erreur.

Lors de la comparaison de modèles avec des personnes, il est important de vérifier l'essence des erreurs et de surveiller non seulement le nombre de mots mal reconnus. D'après mon expérience, les personnes qui traduisent la parole en texte font moins d'erreurs et elles ne sont pas aussi graves que les ordinateurs.

Les chercheurs de Microsoft ont récemment comparé les erreurs des personnes et des logiciels de reconnaissance informatique d'un niveau similaire. L'une des différences constatées est que le modèle confond «uh» [euh ...] avec «uh huh» [aha] beaucoup plus souvent que les humains. Ces deux termes ont une sémantique très différente: «uh» remplit les pauses, et «uh huh» signifie confirmation de l'auditeur. En outre, les modèles et les personnes ont trouvé de nombreuses erreurs du même type.

Beaucoup de votes dans un canal


La reconnaissance des conversations téléphoniques enregistrées est également plus facile car chaque locuteur a été enregistré sur un microphone séparé. Il n'y a pas de chevauchement de plusieurs voix dans un canal audio. Les gens peuvent comprendre plusieurs locuteurs, s'exprimant parfois simultanément.

Un bon logiciel de reconnaissance vocale devrait être capable de diviser le flux audio en segments selon le locuteur (sous réserve de sa diarisation ). Il devrait également donner un sens à l'enregistrement audio avec deux voix qui se chevauchent (séparation des sources). Cela doit être fait sans microphone situé directement à l'embouchure de chaque haut-parleur, c'est-à-dire pour que le module de reconnaissance fonctionne bien, étant placé dans un endroit arbitraire.

Qualité d'enregistrement


Les accents et le bruit de fond ne sont que deux facteurs auxquels un reconnaissance vocale doit être résistant. En voici quelques autres:

• Réverbération dans différentes conditions acoustiques.
• Artefacts liés à l'équipement.
• Artefacts du codec utilisé pour enregistrer et compresser le signal.
• Taux d'échantillonnage.
• L'âge du locuteur.

La plupart des gens ne distingueront pas à l'oreille les enregistrements mp3 et wav. Avant de déclarer des indicateurs comparables à l'homme, les reconnaisseurs doivent devenir résistants aux sources de variations répertoriées.

Contexte


Vous pouvez voir que le nombre d'erreurs que les gens font sur les tests dans les enregistrements du central téléphonique est assez élevé. Si vous parliez avec un ami qui ne comprenait pas 1 mot sur 20, il vous serait très difficile de communiquer.

Une des raisons à cela est la reconnaissance sans contexte. Dans la vraie vie, nous utilisons de nombreux signes supplémentaires pour nous aider à comprendre ce que dit l'autre personne. Quelques exemples de contexte utilisés par les gens et ignorés par les reconnaissance vocale:

• Historique des conversations et sujet en discussion.
• Des indices visuels sur le locuteur - expressions faciales, mouvements des lèvres.
• L'ensemble des connaissances sur la personne à qui nous parlons.

Maintenant, la reconnaissance vocale dans Android a une liste de vos contacts, afin qu'elle puisse reconnaître les noms de vos amis . La recherche vocale sur les cartes utilise la géolocalisation pour réduire le nombre d'options possibles vers lesquelles vous souhaitez créer un itinéraire.

La précision des systèmes de reconnaissance augmente avec l'inclusion de tels signaux dans les données. Mais nous commençons tout juste à nous plonger dans le type de contexte que nous pourrions inclure dans le traitement et dans les méthodes de son utilisation.

Déploiement


Les dernières avancées en matière de reconnaissance vocale ne peuvent pas être déployées. En imaginant le déploiement d'un algorithme de reconnaissance vocale, vous devez vous souvenir des retards et de la puissance de calcul. Ces paramètres sont liés car les algorithmes qui augmentent les besoins en énergie augmentent également la latence. Mais pour plus de simplicité, nous en discuterons séparément.

Délai: le temps écoulé entre la fin du discours de l'utilisateur et la fin de la réception de la transcription. Un léger retard est une exigence de reconnaissance typique. Cela affecte considérablement l'expérience de l'utilisateur avec le produit. Il y a souvent une limite de dizaines de millisecondes. Cela peut sembler trop strict, mais n'oubliez pas que l'émission du décryptage est généralement la première étape d'une série de calculs complexes. Par exemple, dans le cas d'une recherche vocale sur Internet après reconnaissance vocale, vous devez toujours effectuer une recherche.

Les couches de récurrence bidirectionnelles sont un exemple typique d'une amélioration qui aggrave la situation de retard. Tous les derniers résultats de décryptage de haute qualité sont obtenus avec leur aide. Le seul problème est que nous ne pouvons rien compter après avoir passé la première couche bidirectionnelle jusqu'à ce que la personne ait fini de parler. Par conséquent, le délai augmente avec la durée de la peine.


Gauche: la récurrence directe permet au décryptage de commencer immédiatement. À droite: la récurrence bidirectionnelle nécessite d'attendre la fin du discours avant de décoder.

Un bon moyen d'intégrer efficacement les informations futures dans la reconnaissance vocale est toujours à la recherche.

Puissance de calcul: cette option est affectée par des contraintes économiques. Le coût du banquet doit être pris en compte pour chaque amélioration de la précision du reconnaisseur. Si l'amélioration n'atteint pas le seuil économique, elle ne fonctionnera pas.

Un exemple classique d'amélioration continue qu'ils ne déploient jamais est l'apprentissage profond collaboratif [ensemble]. Une réduction de 1 à 2% du nombre d'erreurs justifie rarement une augmentation de 2 à 8 fois de la puissance de calcul. Les modèles modernes de réseaux récurrents entrent également dans cette catégorie, car il est très désavantageux de les utiliser dans la recherche d'un ensemble de trajectoires, même si, je pense, la situation va changer à l'avenir.

Je veux clarifier - je ne dis pas que l'amélioration de la précision de la reconnaissance avec une augmentation sérieuse des coûts de calcul est inutile. Nous avons déjà vu comment fonctionnait dans le passé le principe du «d'abord lentement, mais avec précision, puis rapidement». Le fait est que tant que l'amélioration n'est pas assez rapide, vous ne pouvez pas l'utiliser.

Au cours des cinq prochaines années


Dans le domaine de la reconnaissance vocale, il existe encore de nombreux problèmes complexes et non résolus. Parmi eux:

• Extension des capacités des nouveaux systèmes de stockage, reconnaissance de l'emphase, discours sur fond de bruit fort.
• Inclusion du contexte dans le processus de reconnaissance.
• Diarisation et séparation des sources.
• Nombre d'erreurs sémantiques et méthodes innovantes pour évaluer les reconnaisseurs.
• Latence très faible.

J'attends avec impatience les progrès qui seront réalisés au cours des cinq prochaines années sur ces fronts et sur d'autres.

Source: https://habr.com/ru/post/fr408017/


All Articles