Reconnaissance automatique de la parole
Sommaire
La reconnaissance automatique de la parole (Automatic Speech Recognition ou ASR en anglais) consiste à transformer la parole humaine en un texte, en reconnaissant les mots prononcés. Ces techniques existent depuis longtemps (dès les années 1950) et se sont considérablement améliorées ces dernières décennies avec l’apparition des assistants vocaux.
La reconnaissance automatique de la parole recouvre formellement plus que la simple transcription (speech to text ou STT en anglais) mais c’est dans ce domaine que les systèmes sont les plus performants.
Comment transformer la voix en texte ?
Le domaine de la reconnaissance de la parole utilise depuis ses débuts des modèles par apprentissage. Les réseaux de Markov Cachés (Hidden Markov Models ou HMM en anglais) sont les outils les plus utilisés, même si, comme partout en traitement de la langue, les réseaux de neurones bouleversent les techniques disponibles.
La méthode la plus fréquemment utilisée consiste, par apprentissage, à transformer le signal en un ensemble de caractéristiques unitaires, au moyen d’outils mathématiques tels que les Transformations de Fourier. L’entraînement consiste à faire apprendre à un modèle à transformer cette suite de caractéristiques en une suite de phonèmes (les phonèmes d’une langue représentent les constituants unitaires des mots prononcés, au même titre que les lettres sont les composants des mots écrits).
Ce modèle acoustique est couplé à un modèle de langue qui décrit, grosso modo, les probabilités des séquences de mots dans une langue donnée. Le système va ainsi maximiser la probabilité de la transformation :
- signal ➔ phonème ➔ mots
en choisissant le mot le plus probable en fonction de ce qui a déjà été transcrit.
Le modèle de langue et le modèle acoustique sont parfois réalisés grâce à des modèles neuronaux plutôt que des chaînes de Markov avec souvent une meilleure capacité de généralisation, pourvu que le volume d’apprentissage soit suffisant.
Les modèles « de bout en bout »
La puissance de calcul et les avancées dans les technologies de réseaux de neurones (comme les « Transformers »), permettent d’envisager le problème dans sa globalité. L’apprentissage consiste à fournir au modèle des couples discours/transcription en le laissant « choisir » les caractéristiques à retenir dans les différents niveaux (représentation du son, des phonèmes, etc.). Ces modèles sont appelés modèles de bout en bout (« end-to-end »).
Ces modèles ont atteint des performances à l’état l’art dès 2019 et commencent à supplanter les modèles classiques en terme de qualité. Du point de vue de l’industrialisation, les modèles classiques (ou hybridés) tiennent encore la corde car moins gourmands en puissance de calcul.
Comment mesure-t-on la qualité d’un système de reconnaissance de la parole ?
L’indicateur privilégié est le WER (Word Error Rate) qui compte le nombre de mots incorrectement transcrits pour un volume de texte donné (avec un calcul qui s’apparente à celui de la distance d’édition ou distance de Levenshtein). Le WER est un bon indicateur pour comparer deux systèmes d’ASR.
L’état de l’art est que WER soit inférieur à 5%, mais cette métrique varie énormément en fonction des domaines d’application (présence ou non de jargon, par exemple), de la qualité de la captation sonore, etc.
Un WER à 5% signifie qu’en moyenne un mot sur 20 est mal retranscrit, soit environ un mot toutes les deux phrases, ce qui est loin d’être négligeable. Un apprentissage spécifique au locuteur peut grandement améliorer la qualité et faire baisser ce taux.
A quelle vitesse peut-on transcrire la voix ?
La vitesse de transcription de la voix par un système, ordinateur ou téléphone intelligent, dépend évidemment de la puissance de calcul associée, mais aujourd’hui, une transcription en quasi-temps réel (i.e. aussi rapide que la parole émise) est courante.
Quels sont les problèmes résiduels en reconnaissance de la parole ?
On l’a dit, les environnements bruyants posent des problèmes à ce type de systèmes, ainsi qu’une mauvaise qualité de prise de son.
Un autre problème est le cas d’usage dans lequel plusieurs locuteurs s’expriment. Il est aujourd’hui difficile pour ces systèmes de détecter quand le locuteur change et encore plus de reconnaître qui parle, c’est-à-dire d’attribuer correctement une partie de texte à un locuteur. La reconnaissance du locuteur est encore un sujet de recherche ouvert, même si des systèmes industriels arrivent à des performances correctes dans des cas d’usage spécifiques.