Aller au contenu principal

Pourquoi un seul moteur ne suffit pas : plus de moteurs n'aident que s'ils se trompent différemment

· Zeyu Si

Sur cette page

Nous avons fait une comparaison sur un entretien professionnel de 42 minutes. Une transcription sortait directement d'ElevenLabs. L'autre était passée par toute notre chaîne de traitement. Les deux étaient identiques à 91 %.

Les 9 % restants étaient précisément la partie qui compte le plus pour les chercheurs.

« Presque juste », c'est là qu'est le danger

Nous avons relevé 19 termes clés dans l'entretien : noms de marques, références de modèles, noms de lieux, jargon du secteur. Dans la transcription sortie directement du moteur, 10 étaient faux, 4 partiellement faux et 5 justes. Un nom de marque revenait six fois et n'a jamais été écrit correctement une seule fois. À chaque fois, il devenait un mot ordinaire qui sonnait de manière semblable et voulait dire tout autre chose.

Pour être juste envers ElevenLabs, il s'est bien comporté ce jour-là. Rien ne s'est effondré, rien n'a été sauté, et il a attribué correctement les locuteurs environ 98 % du temps. Jugé dans son ensemble, on aurait du mal à lui reprocher quoi que ce soit.

C'est bien le problème. Un lecteur qui voit une phrase fluide n'a aucune raison de douter du nom qui se trouve au milieu. Et les trois autres moteurs dont nous disposions se sont trompés sur ces mêmes termes. Le propos n'est donc pas qu'un moteur soit mauvais. C'est que n'importe quel moteur, seul, entendra mal les termes du secteur qu'il n'a jamais rencontrés.

Notre propre « optimisation » ne faisait que rebattre les cartes

Avant d'envoyer l'audio à un moteur, nous le découpons en sections et normalisons le format. Nous pensions que cela améliorerait la précision.

Cela a corrigé 22 choses et en a cassé 25. À peu près un pile ou face.

Nous avons fini par comprendre pourquoi. Ce moteur est très sensible à l'endroit de l'audio où il commence à écouter. La même référence de modèle sortait en « X6 » quand la section commençait à zéro seconde, et en « X-six » écrit en toutes lettres quand elle commençait à 1:30. Même la transcription non traitée n'était pas cohérente : « X-six » pendant les 32 premières minutes, « X6 » ensuite.

Pour y arriver, il a fallu trois expériences contrôlées, chacune écartant une explication évidente : ce n'était pas la longueur du fichier, ce n'était pas le format audio, et ce n'était pas le réglage de langue. Si nous nous étions arrêtés à la première réponse plausible, nous aurions inscrit la mauvaise cause dans notre propre documentation.

Ce qui a vraiment amélioré la transcription, c'est que les moteurs se vérifient entre eux

Trois autres moteurs transcrivent le même audio, et nous les comparons tous ensemble, avec un glossaire de termes. Sur les 25 choses que notre découpage avait cassées, 14 ont été récupérées, soit 56 %.

La référence de modèle s'est réglée de la même façon. Un autre moteur écrivait « X6 » à chaque fois, donc chaque fois que le moteur principal dérapait, la transcription finale avait toujours la bonne forme sur laquelle s'appuyer.

Là où les moteurs ne peuvent pas trancher, nous ne décidons pas à la place du lecteur. Nous signalons l'endroit comme incertain pour que quelqu'un puisse écouter cette seconde-là. Cet entretien comportait 7 signalements.

Plus de moteurs, ce n'est pas automatiquement mieux

On est tenté d'en conclure que plus de moteurs donnent de meilleurs résultats. Nous l'avons testé. Ce n'est pas le cas.

Nous avons essayé huit moteurs open source chinois tournant en local et nous les avons fait voter. Le résultat était pire que le meilleur moteur pris seul. La plupart des huit venaient de la même entreprise et avaient été entraînés sur des données qui se recoupaient largement, si bien qu'ils avaient tendance à échouer sur les mêmes mots. Le vote n'a pas corrigé ces erreurs. Il les a verrouillées.

Passer à quatre moteurs reposant sur quatre approches techniques différentes a changé la donne. Entre deux quelconques d'entre eux, seules 32,6 % à 45,8 % des erreurs tombaient au même endroit, et ensemble ils battaient nettement n'importe lequel pris seul.

Donc, quand nous choisissons les moteurs d'appui d'une langue, nous ne demandons pas seulement quelle est la précision de chacun. Nous demandons s'il se trompe à d'autres endroits que le moteur principal. Le coréen en est un exemple. Un moteur semblait correct pris seul, mais ses pires erreurs étaient presque identiques à celles des deux autres : tous trois se trompaient sur les mêmes mots, de la même façon. Nous l'avons remplacé par Soniox, dont les erreurs se recoupaient moins.

Une chose de plus nous a rendus prudents. Quand AssemblyAI a publié une nouvelle version, son taux d'erreur annoncé sur l'audio multilingue est passé de 9,07 % pour la génération précédente à 7,69 %. Nous l'avons vérifié mot à mot dans six de nos langues. Toutes sont ressorties soit pires, soit pas meilleures : la nouvelle version ajoutait des mots que personne n'avait prononcés. Une phrase anglaise a gagné un « Bruh ». Un « 50,000 lire » italien est devenu « 50 millions ». Au taux d'erreur, presque toutes les six ressemblaient à des progrès, parce qu'un mot en trop fait à peine bouger cette métrique. La documentation officielle l'expliquait : la nouvelle version utilise un décodeur de type grand modèle de langage. Nous sommes revenus à une version antérieure.

Le bulletin de notes d'un fournisseur mesure les conditions choisies par ce fournisseur. Ce n'est pas votre entretien.

Là où nous perdons encore

Après avoir plaidé pour plusieurs moteurs, voici ce que nous avons raté.

La transcription finale comportait encore 10 erreurs, toutes sur des mots courants. Dans l'une d'elles, la personne interrogée a dit « ma femme » et la transcription a écrit « ma sœur ».

Avec la même entrée trois fois, notre étape de comparaison a récupéré 0, 3 et 3 erreurs. Cette étape comporte elle aussi une part d'aléatoire.

Nous avons essayé de modifier les règles de comparaison et lancé un test A/B. Cela n'a pas aidé, donc nous sommes revenus en arrière. En creusant, le problème ne se trouvait pas du tout dans les règles, mais une étape plus tôt, dans l'alignement. Le mot correct figurait dans certaines des transcriptions d'appui, mais comme les limites des sections ne concordaient pas, il n'a jamais atteint la comparaison. Si la bonne réponse n'est pas dans l'entrée, aucune règle ne peut la choisir.

Nous n'avons pas encore entièrement résolu ce problème. Nous l'incluons parce que c'est la même leçon que tout ce qui précède : plusieurs moteurs ne valent que ce que valent les éléments de preuve que l'on peut réellement mobiliser.

Par : Zeyu Si