音声認識モデルが大幅にアップデートされたReazonSpeech v2を使い、音声の文字起こしを試してみた

2024.02.21

はじめに

2024年2月14日に、ReazonSpeechの最新バージョン v2.0が公開されたため、ReazonSpeech音声認識モデルを利用してみました。

ReazonSpeechは、レアゾン・ヒューマンインタラクション研究所が開発した高精度な音声認識モデルを中心とするプロダクト群で、それぞれ以下のような特徴があります。(引用いずれも無償で公開されています。

  • ReazonSpeech音声認識モデル: OpenAI Whisper に匹敵する高精度な日本語音声認識モデル。商用利用可
  • ReazonSpeechコーパス作成ツール: TV録画データ等から音声コーパスを自動抽出するソフトウェアツール。商用利用可
  • ReazonSpeech音声コーパス: 高品質な日本語音声認識モデル学習用コーパス

音声コーパスは、大規模な音声データセットのことで、機械学習の学習などに用いられます。

ReazonSpeech v2.0では、従来の音声認識モデルのESPnetに加え、NVIDIA NeMoベースのモデルが提供されています。新モデルの最大の特徴は、高速かつ高精度に日本語を認識できる点です。

今回、ReazonSpeech音声認識モデル(NeMoとESPnet)でアップデートされた内容は、主に以下が挙げられます。

  • 推論速度の高速化
    • v1と比較すると、精度は保ったまま、推論速度が7倍以上に高速化
  • 学習データ(コーパスの量)の拡大
    • v1の19000時間から1.8倍の35000時間に拡大
  • 句読点の推論機能

アップデート内容の詳細は、以下の記事をご参照ください。

前提

試してみた

以下のクイックスタートを参考に試します。音声認識モデル(NeMo)を利用します。

まず、Homebrewを使い、ffmpegをインストールします。

% brew --version
Homebrew 4.2.8

% brew install ffmpeg

% ffmpeg -version
ffmpeg version 6.1.1

Pythonの仮想環境を作成し、仮想環境内でCythonインストール後、ReazonSpeechリポジトリをクローンし、必要なパッケージをインストールします。

% python3 -m venv venv
% source venv/bin/activate
(venv) % pip install Cython
(venv) % git clone https://github.com/reazon-research/ReazonSpeech
(venv) % pip install ReazonSpeech/pkg/nemo-asr

reazonspeech-nemo-asrコマンドを実行します。2分の音声ファイル(約20MB)は、約30秒で文字起こしが完了しました。

(venv) % reazonspeech-nemo-asr 音声ファイル名.wav

コマンドの出力結果(文字起こし結果)は以下の通りです。

ーーーここからーーー

[00:00:00.000 --> 00:00:09.019] コンセションではアマゾンコネクトの機能の一つである

[00:00:09.580 --> 00:00:12.460] コンタクトレンズ4アマゾンコネクト入門と題しまして

[00:00:13.179 --> 00:00:20.859] 主にアマゾンコネクトをすでに利用している方やコンタクトレンズ4アマゾンコネクトについて知りたい方向けの入門セッションとなります。

[00:00:36.060 --> 00:00:39.020] まずアマゾンコネクトについて概要を解説し

[00:00:39.579 --> 00:00:45.179] アマゾンコネクトの機能の一つであるコンタクトレンズフォーアマゾンコネクトの概要や機能、
[00:00:45.500 --> 00:00:50.300] 有効化の設定方法導入するメリットについてご紹介いたします。

[00:00:52.539 --> 00:01:02.060] アマゾンコネクトとはawsが提供しているスケーラブルかつ信頼性の高い顧客窓口を低コストでセルフサービスにて構築できる

[00:01:02.700 --> 00:01:05.180] クラウド型コンタクトセンターサービスです。

[00:01:06.540 --> 00:01:10.219] コネクトでは電話回線や電話番号の取得、

[00:01:10.780 --> 00:01:17.739] チャット、通話ロック音、自動音声応答などのコンタクトセンターに必要な機能が提供されています。

[00:01:19.100 --> 00:01:23.820] また、インターネットに接続されたpcがあればどこからでもアクセス可能なため

[00:01:24.700 --> 00:01:28.299] 在宅勤務を含む柔軟な働き方を実現できます。

[00:01:30.060 --> 00:01:34.299] 次にコネクトで使用する用語について先にご説明いたします。

[00:01:35.900 --> 00:01:39.740] コネクトで電話をかけてきたお客様のことを顧客と呼びます。

[00:01:41.100 --> 00:01:45.340] 電話対応したコールセンターの担当者のことをエージェントと呼びます。

[00:01:46.780 --> 00:01:50.140] そのエージェントの上司のことをスーパーエージェントと呼びます。

[00:01:51.820 --> 00:01:55.579] そして、電話対応したその1件のことをコンタクトと呼びます。

[00:01:57.340 --> 00:01:59.659] 以上の用語では

ーーーここまでーーー

上記から文章を抽出しまとめます。

ーーーここからーーー

コンセションではアマゾンコネクトの機能の一つであるコンタクトレンズ4アマゾンコネクト入門と題しまして主にアマゾンコネクトをすでに利用している方やコンタクトレンズ4アマゾンコネクトについて知りたい方向けの入門セッションとなります。 まずアマゾンコネクトについて概要を解説しアマゾンコネクトの機能の一つであるコンタクトレンズフォーアマゾンコネクトの概要や機能、有効化の設定方法導入するメリットについてご紹介いたします。アマゾンコネクトとはawsが提供しているスケーラブルかつ信頼性の高い顧客窓口を低コストでセルフサービスにて構築できるクラウド型コンタクトセンターサービスです。コネクトでは電話回線や電話番号の取得、チャット、通話ロック音、自動音声応答などのコンタクトセンターに必要な機能が提供されています。また、インターネットに接続されたpcがあればどこからでもアクセス可能なため在宅勤務を含む柔軟な働き方を実現できます。次にコネクトで使用する用語について先にご説明いたします。コネクトで電話をかけてきたお客様のことを顧客と呼びます。電話対応したコールセンターの担当者のことをエージェントと呼びます。そのエージェントの上司のことをスーパーエージェントと呼びます。そして、電話対応したその1件のことをコンタクトと呼びます。

ーーーここまでーーー

文字起こしされた内容は、特に違和感なく、文字起こしされており精度が高いと感じます。

固有名詞であるContact Lens for Amazon Connectは、コンタクトレンズ4アマゾンコネクトと変換されましたが、他の漢字やカタカナはほとんど問題なく、適切に句読点がついてあるため読みやすいです。

ただし、1点、出力結果のうち、音声データのうち20秒~36秒間の音声が文字起こしされていない点が気になりました。実際の音声内容は以下です。

本セッションのスピーカーを務めさせていただきます、AWS事業本部コンサルティング部所属の平井裕二と申します。本日はどうぞよろしくお願いいたします。本セッションのアジェンダです

v1との比較

以前、同じ音声ファイルを用いてv1で文字起こしましたので、比較します。

連番 v1 (検証日:2024年2月6日) v2 (検証日:2024年2月19日)
1 このセッションではAmazonコネクトの機能の一つである コンセションではアマゾンコネクトの機能の一つである
2 コンタクトレンズ4Amazonコネクト入門と題しまして コンタクトレンズ4アマゾンコネクト入門と題しまして
3 主にAmazonConectをすでに利用している方や 主にアマゾンコネクトをすでに利用している方や
4 コンタクトレンズ4AmazonConectについて知りたい方向けの入門セッションとなります コンタクトレンズ4アマゾンコネクトについて知りたい方向けの入門セッションとなります。
5 ポンセッションのスピーカーを務めさせていただきます -
6 アジェンダですまずAmazonconectについて概要を解説し まずアマゾンコネクトについて概要を解説し
7 Amazonconectの機能の一つであるContactrens4Amazonconectの概要や機能 アマゾンコネクトの機能の一つであるコンタクトレンズフォーアマゾンコネクトの概要や機能、
8 有効化の設定方法導入するメリットについてご紹介いたします 有効化の設定方法導入するメリットについてご紹介いたします。
9 AmazonコネクトとはAWSが提供しているスケーラブルかつ信頼性の高い顧客窓口を低コストでセルフサービスにて構築できる アマゾンコネクトとはawsが提供しているスケーラブルかつ信頼性の高い顧客窓口を低コストでセルフサービスにて構築できる
10 クラウド型コンタクトセンターサービスです クラウド型コンタクトセンターサービスです。
11 コネクトでは電話回線や電話番号の取得 コネクトでは電話回線や電話番号の取得、
12 チャット通話録音自動音声応答などのコンタクトセンターに必要な機能が提供されています チャット、通話ロック音、自動音声応答などのコンタクトセンターに必要な機能が提供されています。
13 またインターネットに接続されたPCがあればどこからでもアクセス可能なため また、インターネットに接続されたpcがあればどこからでもアクセス可能なため
14 在宅勤務を含む柔軟な働き方を実現できます 在宅勤務を含む柔軟な働き方を実現できます。
15 次にコネクテで使用する用語について先にご説明いたします 次にコネクトで使用する用語について先にご説明いたします。
16 コネクトで電話をかけてきたお客様のことを顧客と呼びます コネクトで電話をかけてきたお客様のことを顧客と呼びます。
17 電話対応したコールセンターの担当者のことをエージェントと呼びます 電話対応したコールセンターの担当者のことをエージェントと呼びます。
18 そのエージェントの上司のことをスーパーエージェントと呼びます そのエージェントの上司のことをスーパーエージェントと呼びます。
19 そして電話対応したその一点のことをコンタクトと呼びます そして、電話対応したその1件のことをコンタクトと呼びます。
20 - 以上の用語では

2分の音声ファイルは、v1のときの文字起こしの時間は、135秒程度でしたが、v2の場合、30秒とかなり改善されたことが分かりました。速度は改善されつつ精度は、高いことが分かりました。

また、v1は句読点はついていませんが、v2は句読点が適切についておりました。

最後に

今回は、ReazonSpeech v2を試してみました。v1と比べ、精度が劣ることなく文字起こしの速度が早いことが分かりました。また、句読点も適切に付与されており、文章として読みやすいです。

この精度で無償公開なのはすごいと感じました。

ちなみに、以前、今回利用した音声ファイルを利用して、別の音声認識モデルでも検証しましたので、載せておきます。

参考