[PYTHON] API Google Cloud Speech et Amazon Transcribe

API de transcription Gachinko Battle

スクリーンショット 2020-01-10 23.02.46.png

De nombreux articles de la "Comparaison des API de transcription" que vous pouvez voir en un coup d'œil décrivent le bien / le mal en transcrivant des lignes très courtes (ou des minutes). Ou, il y a beaucoup de choses qui sont faites pour les «sources sonores trop claires» telles que les vidéos d'actualités. Buzzing about Amazon Transcribe parle également de transcription de haute précision en anglais. On sait que l'anglais est très précis dans le domaine du traitement du langage naturel, mais je suis préoccupé par la façon dont il est en japonais.

Ce que je veux savoir c'est --Source sonore japonaise

Dans le premier article, j'ai résumé comment utiliser l'API Google Cloud Speech et émis l'hypothèse que la précision de la transcription est faible.

Dans le deuxième article, j'ai expérimenté des méthodes de prétraitement pour améliorer la précision de la transcription avec l'API Google Cloud Speech.

Cette fois, je voudrais résumer les résultats de transcription de l'API Google Speech de la meilleure précision obtenus la dernière fois par rapport à la transcription avec Amazon Transcribe, qui est devenu un sujet brûlant récemment, et un ** exemple des points limites ** de l'API de transcription. Je pense.

Si vous souhaitez connaître uniquement le résultat, veuillez lire uniquement l'élément "Résumé des résultats de l'API Google Cloud Speech vs Amazon Transcribe" en bas.

** * Remarque: La conclusion obtenue cette fois est le résultat des données vocales utilisées cette fois et du prétraitement effectué. Veuillez comprendre que ce résultat ne conclut pas les performances de l'API. ** **

Transcription avec Amazon Transcribe

L'API de transcription automatique d'Amazon Amazon Transcribe est un service qui existe depuis longtemps, mais il est devenu compatible avec le japonais fin novembre 2019.

Il est très facile à utiliser par rapport à l'API Google Speech, je vais donc l'omettre ici. Tutoriel officiel et Blog de Classmethod Voir / cloud / aws / amazontranscribe-japanese /) etc.

Non seulement la transcription, mais aussi le japonais.

Les formats de fichiers pris en charge par Amazon Tanscribe sont les formats mp3, mp4, wav, flac. L'API Google Speech est un bon point car je ne pouvais pas spécifier de formats de fichiers généraux tels que mp3 et wav. Étant donné que le taux d'échantillonnage audio est également reconnu automatiquement, il semble qu'il n'est pas nécessaire de le spécifier manuellement comme le fait Google. Pratique.

En passant, Amazon Transcribe vous permet de spécifier vos propres paramètres en option en plus des paramètres requis. スクリーンショット 2020-01-04 18.09.39.png

Pour résumer brièvement

Puisqu'il y a deux haut-parleurs dans la source sonore utilisée cette fois, "Identification du haut-parleur" est 2, mais il semble que c'est 2 par défaut, donc je ne l'ai pas spécifié en particulier, et j'ai tout exécuté avec la valeur par défaut (tout n'est pas spécifié).

Le temps de traitement était d'environ 10 minutes avec une source sonore d'une heure. L'API Google Speech a pris un peu plus de 15 minutes, donc le temps de traitement est plus rapide avec Amazon transcribe.

Ensemble de données de validation et méthode d'évaluation

Identique à Dernière fois, les sources sonores No1 à No8 (fichiers flac) créées en combinant divers paramètres de prétraitement sont utilisées. Les données de la source sonore se trouvent ici, donc si vous souhaitez l'utiliser, veuillez.

Puisqu'il cible le même fichier et est exécuté par défaut sans spécifier de paramètres facultatifs du côté d'Amazon Transcribe, il ne devrait pas être étrange de le comparer au même niveau que le résultat de l'API vocale de Google.

Le résultat de la sortie de transcription d'Amazon Transcribe est json. Le nombre de caractères et de mots a également été compté de la même manière que Dernière fois. (Cliquez ici pour le code de traitement réel)

Pour la comparaison de biais horizontal, la méthode d'évaluation était la même que Précédent.

résultat

Résultats quantitatifs

No. nom de fichier Traitement de réduction du bruit Contrôle du volume sample rate hertz Nombre de caractères de transcription Nombre total de mots dupliqués Nombre de mots de nomenclature avec doublons Nombre total de mots sans duplication Nombre de mots nobles sans duplication
1 01_001_NoiRed-true_lev-true_samp16k.flac True True 16k 19320 10469 3150 1702 1057
2 02_001_NoiRed-true_lev-true_samp44k.flac True True 44k 19317 10463 3152 1708 1060
3 03_001_NoiRed-true_lev-false_samp16k.flac True False 16k 19278 10429 3166 1706 1059
4 04_001_NoiRed-true_lev-false_samp44k.flac True False 44k 19322 10453 3170 1706 1058
5 05_001_NiRed-false_lev-true_samp16k.flac False True 16k 19660 10664 3209 1713 1054
6 06_001_NiRed-false_lev-true_samp44k.flac False True 44k 19653 10676 3211 1701 1052
7 07_001_NiRed-false_lev-false_samp16k.flac False False 16k 19639 10653 3209 1702 1052
8 08_001_NiRed-false_lev-false_samp44k.flac False False 44k 19620 10638 3213 1702 1047

La figure est ci-dessous.

スクリーンショット 2020-01-10 23.07.02.png スクリーンショット 2020-01-10 23.07.30.png スクリーンショット 2020-01-10 23.07.40.png

Presque tous les résultats étaient les mêmes entre les échantillons. Ce que l'on peut dire du résultat global est

--Dans Amazon Transcribe, contrairement au résultat de l'API Google Speech, ** n'est pas affecté par le prétraitement vocal ** (* Le prétraitement effectué ici est le traitement de la réduction du bruit par Audacity et le traitement du réglage du volume par Levelator. Le résultat peut être différent dans d'autres conditions.)

Ici, le résultat n ° 2 avec le plus élevé "** Nombre de mots nomen sans doublon **" (bien qu'il s'agisse presque d'un niveau d'erreur) est utilisé comme valeur représentative comme le meilleur résultat dans Amazon transcribe.

Comme il peut ne pas être affecté par la présence ou l'absence de prétraitement, j'ai essayé Amazon transcrire avec ** fichier wav brut enregistré (n ° 0) ** et j'ai obtenu le résultat.

La seule différence entre ce fichier wav sans prétraitement et le fichier n ° 2 est ** stéréo ou monophonique **. Dans le n ° 2, lors de la conversion d'un fichier wav en fichier flac, la conversion stéréo → monophonique est effectuée en même temps. Cela était nécessaire car l'API vocale de Google n'accepte que les fichiers mono.

No. nom de fichier Traitement de réduction du bruit Contrôle du volume sample rate hertz Nombre de caractères de transcription Nombre total de mots dupliqués Nombre de mots de nomenclature avec doublons Nombre total de mots sans duplication Nombre de mots nobles sans duplication
0 001.wav False False 44k 19620 10637 3212 1701 1046
2 02_001_NoiRed-true_lev-true_samp44k.flac True True 44k 19317 10463 3152 1708 1060

Strictement parlant, «le nombre total de mots sans duplication» et «le nombre de nomenclature sans duplication» sont plus élevés au n ° 2, mais ce n'est pas non plus si différent. Si vous pouvez obtenir presque la même précision sans prétraitement ni conversion stéréo ⇔ monophonique, il est préférable de "pousser dans un fichier wav brut" qui ne nécessite pas de prétraitement.

Dans Amazon Transcribe, les résultats étaient presque les mêmes du n ° 1 au n ° 8, donc sans comparer les résultats qualitatifs du n ° 1 au n ° 8, "Meilleurs résultats de l'API Google Cloud Speech" et "Best of Amazon Transcribe" Je voudrais comparer les "résultats".

Google Cloud Speech API vs. Amazon Transcribe

Comparez les valeurs de l'API Google Cloud Speech (meilleur résultat n ° 8) confirmée la dernière fois et celle d'Amazon Transcribe (meilleur résultat n ° 2) confirmée cette fois. Les résultats sur Google sont tirés de Résultats précédents.

Comparaison quantitative des résultats

Comparaison du nombre de caractères de transcription

スクリーンショット 2020-01-10 23.13.45.png Il semble qu'il y ait eu beaucoup de transcriptions Amazon en termes de nombre de transcriptions simples pour la source sonore 1h.

Comparaison du nombre de mots

スクリーンショット 2020-01-10 23.13.55.png Peut-être en raison du grand nombre de transcriptions, le nombre total de mots et de nomenclature avec des doublons était également le résultat d'un grand nombre d'Amazon Transcribe.

En revanche, le nombre total de mots et la nomenclature à l'exclusion des doublons étaient presque les mêmes. Autant que je l'avais prévu ...

Comparaison qualitative des résultats

En gros, je vais comparer le contenu du texte de la même manière que Dernière fois.

Résultat de la transcription

Les images sont disposées côte à côte pour une comparaison facile de la plage au début de la transcription. Google est à gauche et Amazon à droite. スクリーンショット 2020-01-10 23.15.54.png C'est difficile à juger, mais je pense que la transcription de Google est encore meilleure. Comparé au dos d'un gland. (* Ici, seul le résultat de Google a un saut de ligne, mais Google et Amazon transcrivent à l'origine avec un saut de ligne. La précision est délicate. Donc, ici, les deux sont post-traités pour supprimer le saut de ligne. Aller.)

Nomenclature fréquente

Comparons "pas de duplication" et "le nombre de comptages" sur Google et Amazon respectivement. Essayons d'afficher les mots qui sont apparus 11 fois ou plus. スクリーンショット 2020-01-10 23.16.05.png

Il semble qu'Amazon a plus de mots qui peuvent être reconnus. Cependant, comme la plupart des mots sont dupliqués entre Google et Amazon, cela montre également que les performances de transcription des deux ne sont pas significativement différentes. Dans le résultat d'Amazon, le nom de notre société "Brain Pad" est également omis, donc c'est bien.

Si vous souhaitez reconnaître plus de mots (dans ces données audio), Amazon semble être meilleur. (Vérifiez si le mot est significatif)

Mot nuage

Dans le flux, nuage de mot nomenclature. La visualisation ci-dessus. Google est à gauche et Amazon à droite. スクリーンショット 2020-01-10 23.16.15.png

Résumé des résultats de l'API Google Cloud Speech et d'Amazon Transcribe

À la suite de Google Cloud Speech API par rapport à Amazon Transcribe,

――Pour Google et Amazon, la transcription japonaise est (* en utilisant simplement l'API avec un simple prétraitement pour ces données vocales) ** La transcription pratique semble impossible **

personnellement,

Quant à la transcription japonaise **, les deux sont loin d'être des niveaux pratiques **, j'ai donc l'impression que l'API de transcription ne peut être utilisée que pour ** l'extraction de mots **. (Et même si seuls les mots peuvent être extraits, cela ne sert à rien ...)

Et s'il n'est utilisé que pour l'extraction de mots, ma conclusion personnelle est que ** Amazon Transcribe est bon ** en ce sens qu'il peut être utilisé sans prétraitement, il est facile à utiliser avec l'interface graphique et le temps de traitement est rapide.

Je n'ai pas abandonné la possibilité que la précision de la transcription s'améliore si je peux prendre des voix plus claires en utilisant un équipement d'enregistrement plus adapté (= améliorer la qualité des voix d'entrée), mais mon environnement d'enregistrement (environ 16000 yens) Comme il est difficile pour les utilisateurs généraux de préparer plus que cela (en utilisant un microphone externe), «la transcription de haute précision du japonais à bas prix en utilisant l'API» est de toute façon impossible avec la technologie actuelle. Je pense que c'est. Il semble que la transcription japonaise ne puisse pas se faire du jour au lendemain.

Ce n'est pas clair, donc si vous connaissez les astuces "Si vous faites cela, vous serez en mesure de le transcrire et de le reconnaître", veuillez commenter!

Recommended Posts

API Google Cloud Speech et Amazon Transcribe
Reconnaissance vocale en streaming avec l'API Google Cloud Speech
Procédure de transcription vocale à l'aide de l'API Google Cloud Speech
Transcrire des fichiers WAV avec l'API Cloud Speech
Transcription vocale automatique avec l'API Google Cloud Speech
Procédure de transcription vocale à l'aide de Python et de l'API Google Cloud Speech
Reconnaissance vocale des fichiers wav avec Google Cloud Speech API Beta
Diffusez la reconnaissance vocale à l'aide de l'API gRPC Google Cloud Speech avec python3 sur Mac!
Exemple d'API Google Cloud Vision pour python
Utiliser l'API Google Cloud Vision de Python
J'ai essayé d'utiliser l'API Google Cloud Vision
Comment utiliser l'API Google Cloud Translation
Jusqu'à ce que vous puissiez utiliser l'API Google Speech
[GoogleCloudPlatform] Utiliser l'API Google Cloud avec la bibliothèque cliente d'API
Étude de la relation entre le prétraitement de la voix et la précision de la transcription dans l'API Google Cloud Speech
Reconnaissance vocale des fichiers par l'API Google Speech v2 à l'aide de Python
Essayez de juger des photos de plats à l'aide de l'API Google Cloud Vision
J'ai essayé l'API Google Cloud Vision pour la première fois
Publions l'API de super résolution à l'aide de Google Cloud Platform