Dans le dernier épisode, je vous racontais une tranche de vie chez Microsoft, de comment la diversité et l’inclusion, se traduit dans notre travail au quotidien et nos produits. Si vous ne l’avez pas lu, ou voulez-vous remémorer, voici le lien Can you hear me? (Je SAIS que vous ne l’avait pas lu, alors allez-y)
Voilà, donc vous êtes encore là et ne l’avez sans doute pas lu, mais pour résumer, la dernière fois je vous ai laissé sur 3 problématiques liées à la transcription automatique grâce au speech to texte ou STT.
- La reconnaissance bien que très impressionnante n’est pas parfaite, surtout si vous avez un accent
- Les délais, même très courts, créent inévitablement un lag et rendent les interruptions difficiles.
- Et troisièmement… je n’avais pas cité la troisième pour ne pas spoiler mon projet 2023, mais vu qu’on est en 2024 je peux maintenant vous le dire. Troisièmement il y a une information capitale qui est tout simplement ignorée avec le Speech-to-Text, c’est le l’intonation de votre voix.
Intonation et communication
L'intonation joue un rôle crucial dans la communication, car elle peut transmettre des nuances émotionnelles, des intentions, des questions, des affirmations ou des exclamations. Quand j’écris la phrase suivante : « c’est parti », elle peut être interprétée différemment :
- « C’est parti ? » Avec un ton interrogatif qui vous demande si on y va.
- « C’est parti ! » D’un ton enjoué qui montre mon excitation à y aller.
- « C’est parti. » Avec un ton neutre qui vous donne juste une information factuelle.
- « C’est parti ?! » Avec un ton apeuré vous demandant la confirmation que la grosse araignée sur mon pull a bien été exterminée.
Bref, vous avez compris, si quelqu’un dit une phrase à l’oral, elle peut avoir plusieurs sens selon l’intonation de notre voix, et cette information est complètement perdue quand on utilise du STT
Je me suis rendu compte de ça, car j’ai tendance à ne pas inverser le sujet et le verbe ou à ne pas utiliser l’auxiliaire « Do » quand je pose une question en anglais, c’est assez courant en français de ne pas le faire aussi. On se rend compte alors que quelqu’un nous pose une question grâce au ton de sa voix. Mais si la personne en face ne m’entend pas et ne peut que lire, elle peut alors prendre une phrase pour une affirmation, alors que c’était pour moi une question.
Et c’est très embêtant !
Du coup?
Alors maintenant que c’est dit, qu’est-ce qu’on peut faire ? Eh bien on pourrait premièrement se pencher sur une solution qui serait idéale pour combler ce manque. À l’écrit, on a trouvé un système excellent pour faire passer les émotions. Les smiley 😊
Je suis content 😊, Je ne suis pas content ☹️ Je suis surpris 😮 Je suis énervé 😡
Les smileys sont définitivement le meilleur moyen à l’écrit pour faire passer une émotion et traduire l’intonation qui doit être utilisée pour lire une phrase.
Là naturellement, il nous vient une question, on est capable de traduire en temps réel des heures de meeting, pourquoi à aucun moment, on a des Smiley intégrés dans le transcript ?
Alors, parenthèse, il existe des logiciels qui découpent une vidéo en short, ajoutent des sous-titres illisibles dessus puis de façon random des smileys.
Ces services sont médiocres, même nul, voire très nul, en fait c’est de la merde en barre. Car en plus d’écrire des sous-titres illisibles de façon mot à mot, le smiley ne sert pas à décrire une émotion, mais juste à faire guirlande de Noël.
Fin de la parenthèse
Alors pourquoi on n’a toujours pas de smiley dans Teams qui traduirai notre intention ? Et bien parce que les outils de transcription utilisent du speech-to-text, et le speech-to-text sert à reconnaitre des mots et des mots seulement.
Les bases
Le speech-to-text peut sans doute être fait de plusieurs manières, mais moi je vais vous présenter une façon de faire assez classique, efficace et simple à aborder.
La parole, c’est produire des sons qui ont un sens, pour transcrire un son, à l’écrit on utilise la phonétique et la phonétique est totalement inutile pour un ordinateur. Déjà, nous humain, on sais pas la lire, alors un programme, vraiment ?
Donc la phonétique ça ne nous aide beaucoup actuellement, mais attendez.
Une autre façon de se représenter un son visuellement est le spectrogramme ou en forme d’onde.
Voici, un « Yes »
Et voici un « No »
Il est donc maintenant assez facile d'identifier ce qu'est un mot, c'est un son qui a des caractéristiques propres en terme de tonalité, de longueur, etc…
Les deux formes d’onde que je vous ai donné ne proviennent pas de ma voix, mais d’un jeu de données classique utilisé pour entraîner les modèles de STT.
Si je transforme ma voix en forme d’onde, voilà ce que ça donne.
« yes »
« No »
On trouve bien une similitude entre ma voix et celle du modèle, ça se voit particulièrement sur le « Yes », moins sur le « No » probablement car je ne mets pas l’accent sur le début du mot, mais sur la fin.
Le speech to text est entraîné sur des jeux de données audio, qui sont transformés en différents graphiques, desquels on peut extraire des caractéristiques pour ainsi les classifier en mots.
Le modèle qui est bien entraîné, peut extraire de ma voix, des caractéristiques qui l’aideront à savoir si j’ai dit « Yes », « No », ou « Pandi Panda »
On comprend un peu mieux comment marche la reconnaissance vocale, et comment on arrive à reconnaître des mots. Ca fonctionne plutôt bien, c’est cool. Mais alors pour les émotions, comment on peut faire ?
Est-ce qu’on peut utiliser la même technique avec les spectrogramme et forme d’onde ?
Bah on voit ça dans la prochaine partie !
Un grand merci d'avoir exploré ce sujet avec moi ! Si vous avez trouvé cela intéressant, partagez vos réflexions dans les commentaires ci-dessous. 🚀 N'oubliez pas de me suivre ici ou sur Twitter @pykpyky pour rester informé(e) des prochaines aventures. Vos commentaires et votre soutien sont toujours les bienvenue.