Les lois d'Asimov : voici pourquoi le soulèvement n'aura pas lieu

Reconnaissance automatique de la parole : Etat de l’art et aspect technique

Siri, Alexa, Google Home, … vous les connaissez déjà, vous avez certainement déjà ‘’discuté’’ avec eux, mais qui sont-ils vraiment ? Les assistants vocaux sont en train de devenir incontournables pour des millions de personnes à travers le monde. Pour fonctionner, ils reposent sur des techniques de reconnaissance vocale par machine learning.

Reconnaissance automatique de la parole : Etat de l'art et aspect technique

Les entreprises investissent beaucoup dans ce secteur et cela engendre une progression rapide. Il est vrai que lorsqu’Apple a lancé Siri avec iOS 5 en 2011, cela sonnait comme une révolution, mais il faut savoir que les premiers travaux sur la reconnaissance vocale, datent de 1952 (eh oui !).

Il faut dire que la commande des systèmes par la voix est une évolution logique de l’interfaçage humain-machine. L’humain est plus à l’aise avec la parole qu’avec les autres moyens d’échanges : cela fait environ 100 000 ans que l’humain parle (souvent pour rien dire 😊), alors que nous avons commencé à écrire il y a à peine 10 000 ans.

L’époque où nous étions seuls à parler est révolue, les ordinateurs peuvent maintenant ‘’écouter’’ et répondre. Google, Amazon, Apple, Microsoft, mais aussi plusieurs startup un peu partout dans le monde, ont investis le marché, et les résultats ne cessent de s’améliorer.

Néanmoins, vous verrez que même si la reconnaissance vocale offre des possibilités intéressantes, la conception d’un assistant intelligent au sens propre du terme n’est encore qu’une utopie.

Beaucoup d’applications dans la santé, l’administration et d’autres domaines


Transformer la parole en texte


Une des applications évidente de la reconnaissance vocale est la transformation de discours parlés en écrits. Nous devons l’admettre, cela facilite beaucoup la vie. Par exemple, c’est ce qui vous permet de faire des recherches sur Google sans toucher votre smartphone.

Par ailleurs, cette application offre pas mal de possibilités dans l’administration et la santé. L’époque où une secrétaire retranscrivait la discussion entre un médecin et son patient est passée.

De même, les systèmes de reconnaissances vocales pourraient vous aider à prendre vos notes pendant que vous assister à une conférence ou noter de façon automatisée les échanges pendant une réunion.

Sécurité : reconnaissance d’une personne avec sa voix


Les progrès en termes de reconnaissance de parole, permettent à présent d’envisager la voix comme une carte d’identité pour une personne. Certains systèmes permettent de reconnaître votre voix avec seulement 3 secondes d’enregistrement.

Vous pouvez faire le test avec ‘’ok Google’’ : si votre téléphone est bien paramétré et que quelqu’un d’autres que vous prononce ‘’ok Google’’ rien ne se passera.

Cela pourrait vous permettre de contrôler les appareils électroniques qui vous appartiennent de façon sécurisée, gérer vos transactions bancaires (faites attention quand même : la revue IA ne se portera pas garante !), ou même contrôler les ouvertures et fermetures de votre porte d’entrée !

Concernant ce dernier point, j’ai trouvé une petite parodie faites par Creapilis. Elle vous met en garde contre ces technologies et c’est plutôt drôle !

Faciliter l’apprentissage des langues


Aujourd’hui vous pouvez trouver beaucoup d’applications qui vous permettent d’améliorer votre accent dans plusieurs langues. Vous dites une phrase et l’application vous corrige la prononciation en vous donnant des conseils.

Personnellement, je doute de la fiabilité de ce genre d’applications, elles pourraient fonctionner et donner de bons résultats, mais il se peut que la fiabilité ne soit pas très élevée. En tout cas c’est une application intéressante de la reconnaissance de la parole.

Aspect techniques de la reconnaissance vocale


Modèles de Markov et Modèles de Markov cachés


D’un point de vue théorique, la reconnaissance vocale repose sur les modèles (ou chaînes) de Markov cachées (hidden Markov chains en anglais). Pour expliquer cette notion, je dois d’abord vous expliquer ce qu’est une chaîne de Markov.

De façon simple, une chaîne de Markov est définie par un ensemble d’états, ainsi qu’un ensemble de valeurs. Ces valeurs correspondent aux probabilités de passage d’un état à un autre.

Dans un modèle de Markov, tous les états sont reliés entre eux par une certaine probabilité. Si l’état 1 est relié à l’état 2 avec une probabilité 0,5 et avec l’état 3 avec une probabilité 0,5. Cela signifie que l’on a autant de chances (une chance sur 2) de passer de l’état 1 à l’état 2 que de passer de l’état 1 à l’état 3. Dans le cas où le nombre d’états est faible, nous pouvons représenter sous forme de diagramme notre modèle de Markov :

Sur la représentation ci-dessus, en partant de l’état E nous avons 30% de chances de rester en E. 70% de chances de migrer vers A au prochain tour. 

La simplicité des modèles de Markov, font d’eux la base de la modélisation stochastique et on les retrouve dans un très grand nombre d’applications. Physique statistiques, Page rank (le tri des résultats dans les moteurs de recherches), modélisation de fils d’attentes, actuariat (notamment pour le calcul de bonus-malus d’un assuré), etc.

Comme son nom l’indique, un modèle de Markov caché est un modèle de Markov classique mais dans lequel les états ne sont pas visible directement. On voit seulement des observations de ces états et à partir de là nous pouvons déduire quel est l’état en question.

Lorsqu’une personne prononce une phrase, le modèle calcule la probabilité que ce soit tel ou tel mot qui ait été prononcé. Cette probabilité dépend de la place dans la phrase. Le problème est alors un problème classique de NLP (Natural Language Processing). J’ai trouvé cette vidéo qui explique de façon ludique le concept :

Le deep learning pour de meilleures performances


Concrètement, pour entraîner un modèle de reconnaissance vocale, il vous faut une grande quantité de données. Le problème principal que vous allez rencontrer est que chaque personne a une prosodie qui lui est propre. Les gens ont des voix et des accents différents, un rythme propre et une intonation qui peut varier.

Tout cela rend la tâche un peu compliqué. C’est pour ça que personnellement je préfère utiliser les modèles pré-entraînés open-source (celui de Google ou de Nvidia par exemple).

Remarque : Il faut savoir que l’étape de conversion de son parlés en données analogiques n’est pas simple, mais le microphone le fait pour nous voilà pourquoi je ne vous ai pas parlé de cette étape. Néanmoins, dans le prochain article je rentrerais plus en profondeur sur la façon dont on traite les données sonores.

Encore beaucoup de progrès à faire


Les assistants vocaux ont beau être plutôt efficaces, ils sont encore limités. Ils reconnaissent les mots que vous dites, mais ne sont pas capables de comprendre le sens de vos phrases. Il faut aussi que l’environnement dans lequel vous êtes soit plutôt silencieux, sinon le bruit pourrait être source de confusions.

De plus, leur taux d’erreurs est encore trop souvent élevé, ce qui limite les possibilités. Ainsi, cela les rend inutilisable dans le domaine de l’armement ou de la santé. Dans ces domaines la moindre erreur peut avoir de lourdes conséquences.