Épelez bien

Bonjour à tous!


Beaucoup d'entre nous ont peu d'expérience dans la soi-disant écriture vocale - seuls les psychanalystes avaient l'habitude d'enregistrer leurs pensées sur un enregistreur vocal. Maintenant, la dictée devient plus familière - le service de numérotation vocale dans les smartphones y est habitué. Participer en tant que propriétaire de produit au processus de création d'un produit pour reconnaître le discours continu russe, communiquer avec les développeurs d'algorithmes et avec les clients, effectuer divers tests de systèmes de reconnaissance, observer comment les utilisateurs dictent leurs textes et avoir leur propre expérience dans la saisie de texte dans un ordinateur en utilisant la voix, J'ai marqué beaucoup d'observations intéressantes. Pour mieux comprendre comment utiliser correctement la reconnaissance vocale automatique, voyons comment fonctionne la reconnaissance vocale. La description sera très simplifiée, mais elle aidera à comprendre quelles erreurs les gens font en dictant. Et aussi:J'écrirai cet article à l'aide de la dictée, en faisant des corrections à partir du clavier uniquement dans les endroits où vous ne pouvez pas vous en passer.

Donc:


Pour créer un moteur de reconnaissance, nous avons besoin de modèles acoustiques et linguistiques.
Le modèle acoustique est responsable de la corrélation d'un morceau de son (trame) avec le phonème correspondant. Un phonème est un son distinct de la parole, par exemple, «a-percussion», «t-soft», «t» et 49 autres. Le plus gros problème est que de nombreux phonèmes sont très similaires les uns aux autres et il est assez difficile de distinguer le mot «voitures» du mot «voitures» (rappelez-vous combien de fois vous redemandez quand on vous dit un nom inconnu). Par conséquent, le modèle acoustique est rendu probabiliste: il rapporte qu'avec une certaine probabilité le phonème "a-shock" était prononcé dans ce fragment sonore, avec une autre probabilité c'était un phonème "a-shockless", etc. et donne des probabilités à tous les phonèmes.


Pour avoir un tel modèle acoustique, nous devons d'abord le former. Pour cela, une large base de parole est prise (des centaines d'heures de parole enregistrées sur un microphone par des dizaines de locuteurs de sexe et d'âge différents). La base est marquée de manière à savoir quel phonème sonne à quel moment. Et puis après la formation, nous obtenons pour chaque phonème une certaine fonction de distribution de probabilité qui décrit comment, en moyenne, ce phonème est prononcé par les gens.

Modèle de langueIl est également probabiliste et décrit la structure du langage. Il montre la probabilité (correcte) de telle ou telle phrase du point de vue de la langue. Par exemple, l'expression «maman a lavé le cadre» est tout à fait normale, mais «la maman a lavé le cadre» est déjà fausse (cette phrase est tellement détestée par Voco qu'elle reconnaît «maman a lavé la maman»). Après avoir reconnu le mot suivant, le modèle de langage détermine comment ce mot est cohérent avec les mots reconnus précédents.
Le modèle de langage s'entraîne sur une grande quantité de données texte (gigaoctets de textes). À l'aide de ces données d'apprentissage, nous calculons la probabilité d'occurrence de mots dans un contexte spécifique, en fonction de la fréquence d'occurrence de ces phrases. Nous utilisons des phrases ne dépassant pas 3 mots (modèles de langage de 3 grammes). Par conséquent, le modèle linguistique ne peut pas aider à réconcilier, par exemple, un adjectif avec un nom s'il y a deux mots entre eux. Dans ce cas, l'appariement se produit uniquement en raison du modèle acoustique.
En tant que dictionnaire de reconnaissance, nous prenons environ 300 000 des mots les plus fréquents qui couvrent 99% du discours d'une personne moyenne.


Passons maintenant à la reconnaissance elle-même


Sachant comment chaque mot est transcrit à l'aide de phonèmes et connaissant les probabilités du modèle de langage, nous pouvons construire un graphe de reconnaissance (machine à états finis). En tant que connaissance rapide des machines à états finis, la section "Machines à états" de cet article est parfaite . Les phonèmes arrivent à l'entrée de cette colonne, il les traduit en mots et les mots en phrases.


Graphique de reconnaissance des mots: «mère», «savon», «cadre», «vaisselle». Sur les bords du graphique, nous avons des phonèmes comme caractères d'entrée (mot avant ':'), des mots comme caractères de sortie (mot après ':') et des poids du modèle de langue (nombre après '/'). '-' signifie entrée ou sortie vide. Une arête allant du 4e nœud au nœud 0 fait défiler le graphique afin que plusieurs mots consécutifs puissent être reconnus.

Lors de la reconnaissance, nous obtenons un fragment de son, un modèle acoustique le convertit en un ensemble de phonèmes avec des probabilités qui tombent dans l'entrée de notre graphique. Ainsi, nous nous déplaçons le long du graphique, formant de nombreuses hypothèses. Chaque hypothèse a un poids formé à partir des probabilités du modèle acoustique et des probabilités du modèle de langage (situées sur les bords du graphique).
Le graphique de reconnaissance réel est un million de fois plus grand que notre exemple de jouet, donc à un moment donné, il y aura trop d'hypothèses et il n'y aura pas assez de RAM pour les tirer toutes. Pour éviter que cela ne se produise, différentes méthodes sont utilisées pour réduire le nombre d'hypothèses. Il s'agit souvent de deux critères simples: les hypothèses ne doivent pas dépasser un certain nombre et toute hypothèse ne doit pas perdre trop pour la meilleure hypothèse.

Maintenant que nous avons un peu de compréhension de la théorie, passons aux conseils sur ce qui est le mieux à faire et ce qu'il vaut mieux ne pas faire lors de la dictée.


Do SU


L'une des erreurs les plus courantes commises par les utilisateurs est la dictée par syllabes. Nous formons le système à la parole ordinaire, donc l'étirement des mots par des syllabes ne fait que confondre le système. Lorsque vous dictez des syllabes, toutes les voyelles d'un mot se transforment en percussions, les phonèmes sont prononcés plus longtemps, des pauses entre les syllabes apparaissent. Tout cela conduit à un triste résultat, lorsque les mots sont divisés en un tas de fragments monosyllabiques. Par exemple, en disant Voco selon les syllabes «sortez dans la rue», nous obtenons le résultat suivant: «Vous n'avez pas à appuyer sur SU» ou autre: «Vous n'avez pas à appuyer sur SU», mais ce n'est certainement pas ce dont nous avons besoin.

Astuce: parlez naturellement en tant que personne moyenne.


Comment l' enfer te prend même



Certaines personnes parlent très rapidement. De plus, un tel discours réduit souvent les mots: les prépositions sont avalées, les terminaisons ne sont pas prononcées, les longs mots se transforment en enfer sait, par exemple, au lieu de "Alexander Alexandrovich", le copain familier "San Sanych" est prononcé. Les gens comprennent souvent un tel discours sans problème, car le cerveau récupère les informations manquantes, mais les algorithmes de reconnaissance vocale font face à ce problème avec difficulté. Par exemple, un homme au lieu de «voiture rouge» a dit «voitures rouges». Lors de la reconnaissance, notre hypothèse correcte recevra de très faibles probabilités lors du passage à travers les phonèmes avalés à la fin des mots et en raison du poids gagné, cela peut ne pas être suffisant pour la victoire, mais une certaine «beauté de Masha» gagnera.
Nous avons pris en compte certaines réductions de fréquence dans la prononciation. Par exemple, si vous dites «cho» au lieu de «quoi» ou «bonjour» au lieu de «bonjour», cela n'affectera pas le résultat de la reconnaissance, puisque nous avons ajouté les transcriptions appropriées à notre graphique. Le deuxième problème qui peut attendre qu'un amateur dicte à grande vitesse est celui des homophones de syntaxe.
"Il soupira et se dit:
comment diable vous prend même ."

Astuce: si vous avez tendance à parler très rapidement, essayez de prononcer les mots plus clairement. De courtes pauses entre les mots vous aideront à maintenir un rythme plus lent et à ne pas avaler des morceaux de mots.


Paul pattes rallye mais


Un autre problème de reconnaissance est le «cinglement» et les hésitations: une personne commence à dire un mot, fait une erreur, la rompt en deux, puis la prononce correctement. Par exemple, une personne dit "est tombée en parallèle". Il n'y a pas de mot «tombé» dans le dictionnaire, par conséquent, dans de tels cas, le résultat de la reconnaissance peut être très surprenant: par exemple, le trébuchement et le mot lui-même peuvent fusionner en un seul son similaire ou le résultat de la reconnaissance consistera en plusieurs petits mots également similaires dans le son, par exemple, «rally floor mais. "
De plus, une longue pause peut amener le décodeur à décider que vous avez terminé la phrase, ce qui signifie que la coordination avec les mots déjà prononcés sera interrompue.

Conseil: pensez à l'avance à ce que vous voulez dire, car cela réduit considérablement le nombre de longues pauses et d'hésitations dans la parole.


La nuit. Rue Lanterne. Pharmacie.


Les phrases courtes sont moins reconnues que les phrases longues. Dans les phrases courtes, en particulier celles à un seul mot, le modèle de langage ne fonctionne pratiquement pas. Le mot «machine» est difficile à distinguer des mots: «voiture», «voiture», «machine», et le modèle de langage dans ce cas ne repose que sur l'occurrence du mot dans les données de formation, qui, en fait, ne contient aucune information utile. En même temps, le mot «voiture» dans la phrase «il est arrivé en voiture» devrait être bien reconnu, car le modèle linguistique, basé sur le contexte déjà reconnu «arrivé», fera le bon choix. Les phrases courtes incluent également les phrases avec de longues pauses entre les mots, car dans ce cas, tout le contexte de la prononciation d'un mot avant une pause est exclu du travail du modèle de langage.

Conseil: évitez les phrases très courtes. Si ce n'est pas possible, essayez de prononcer clairement les terminaisons.


Je n'ai pas dit ça


Il arrive que non seulement ce que vous dites soit reconnu, mais aussi le discours de votre voisin. En conséquence, la lettre que vous tapez dans votre voix ressemble à une lettre de l'oncle Fedor à votre mère: "Les cheveux sont couverts, la queue tombe." Cela est particulièrement vrai lorsque vous utilisez un microphone à distance sur un ordinateur portable ou une caméra Web. Nous essayons d'améliorer la qualité de la reconnaissance du bruit et de la parole en arrière-plan séparée, mais dans les cas où l'utilisateur est silencieux, la reconnaissance peut également syntoniser la parole en arrière-plan silencieux.

Astuce: un casque de qualité et un environnement silencieux contribueront à améliorer la qualité de la reconnaissance.


Comme un cola


Voco reconnaît le discours russe, mais certains mots anglais populaires, noms de sociétés et programmes de produits sont également à portée de main. Par exemple, "Coca-Cola", "Windows" sont parfaitement reconnus. Mais il y a un petit problème: en anglais, il y a des sons qui ne sont pas en russe. Pour résoudre ce problème, nous avons transcrit les mots anglais avec les phonèmes russes les plus similaires, il vaut donc la peine de les prononcer à la russe. Par exemple, Coca-Cola. [kòka kòla]. Ne montrez pas votre excellent accent britannique [k'əʊkʌ k'əʊla].

Astuce: prononcez des mots anglais avec un accent russe.


Deep Kutra bayonet côté bayanova et marché de la banque des fumeurs


Il arrive que le mot ne soit pas reconnu, malgré le fait que vous essayez très fort et suivez toutes nos recommandations. La raison en est peut-être que ce mot n'est pas dans le dictionnaire de reconnaissance. Nous avons enseigné un modèle de langue sur un sujet général (politique, économie, culture, sports, etc.) et environ 300 000 des mots les plus fréquents sont entrés dans le dictionnaire. Par conséquent, il n'y a probablement aucun terme ou nom de famille hautement spécialisé de votre patron. Ainsi, l'utilisateur dicte une lettre au client: cher Vladimir est obligé, Vladimir de les exécuter, sans aucun, sans 1, sans visage. Encore et encore, l'utilisateur prononce le nom du client - Bezyakin, varie la prononciation, la vitesse de prononciation, accentue le stress, mais le nom souhaité n'est pas reconnu.
Voici donc la phrase bien connue du linguiste Sherba "Un profond cuzra shteko budlanula boraka et un petit enfant aux cheveux bouclés" transformé en baïonnette de Bulanova et en boîte à fumer.
Pour que les mots dont vous avez besoin et inconnus du modèle de langage soient reconnus correctement, vous devez utiliser l'adaptation du modèle de reconnaissance à vos besoins. Si vous tapez des textes, par exemple, sur la bioinformatique, il est préférable de prendre des textes sur la bioinformatique et de recycler le système sur eux.
Lors du recyclage à partir de nouveaux textes, un petit modèle de langage est construit, qui participera à la reconnaissance avec le modèle principal. C'est-à-dire que maintenant le poids que nous obtenons du modèle de langage se composera de deux poids: le poids du modèle de langage principal et le poids du modèle d'adaptation.
L'adaptation du système par des textes est beaucoup plus correcte que l'ajout de mots séparés au dictionnaire de reconnaissance. L'ajout d'un seul mot ne nous donne pas d'informations sur la façon dont ce mot est utilisé, comment il est incliné, etc., donc des erreurs sont possibles dans la reconnaissance des terminaisons.

Astuce: adaptez la reconnaissance à votre thème sur vos textes ou ajoutez les mots nécessaires au dictionnaire de reconnaissance.


PS: Ce texte a été enregistré en voix à l'aide de l'application #Voco . Et vous pouvez voir comment cela s'est produit sur la vidéo:


Littérature pour les geeks:
1. : Mohri, M., Pereira, F., & Riley, M. Speech recognition with weighted finite-state transducers. In Springer Handbook of Speech Processing (pp. 559-584). Springer Berlin Heidelberg 2008.
2. www.morganclaypool.com/doi/abs/10.2200/S00462ED1V01Y201212SAP010
3. , www.amazon.com/Automatic-Speech-Recognition-Communication-Technology/dp/1447157788/ref=sr_1_1?s=books&ie=UTF8&qid=1447854516&sr=1-1&keywords=speech+recognition

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


All Articles