音声認識エンジン
AmiVoice API では様々な言語や用途に合わせて、複数の音声認識エンジンを提供しています。認識させたい音声に対して最適な音声認識エンジンを選ぶことで、精度を改善することができます。ここでは音声認識エンジンが対応している言語、エンジンの種類や使い分けのポイントについて説明します。
音声認識エンジンの一覧
AmiVoice APIでは、様々な音声認識エンジンを提供しています。End to Endとハイブリッドの違いも参照してください。
End to End
新しい世代の音声認識エンジンです。
| 言語 | エンジン名 | 対応サンプリングレート | 接続エンジン名 |
|---|---|---|---|
| 日本語 | 日本語E2E_汎用 | 8k / 16k | -a2-ja-general |
| 中国語 | 中国語E2E_汎用 | 8k / 16k | -a2-zh-general |
| 多言語 | 多言語E2E_汎用 | 8k / 16k | -a2-multi-general |
| 日本語 | 日本語E2E_汎用バッチ | 8k / 16k | -a2b-ja-general |
| 中国語 | 中国語E2E_汎用バッチ | 8k / 16k | -a2b-zh-general |
| 多言語 | 多言語E2E_汎用バッチ | 8k / 16k | -a2b-multi-general |
- 多言語エンジンは、複数の言語が混ざった音声でも、それぞれの言語で文字起こしすることができるエンジンです。対応している言語は、日本語、英語、中国語です。単語単位の認識結果に、認識された単語の言語を表す言語ラベル(
results[0].tokens[].language)が付与されます。 - バッチエンジンは、レスポンス速度を求めないバッチ処理のために最適化されたエンジンです。精度をより重視したい場合に利用してください。特に非同期HTTPインタフェースではバッチ用のエンジンを指定してください。
ハイブリッド
様々なドメインに最適化した音声認識エンジンです。
| 言語 | エンジン名 | 言語モデル | 対応サンプリングレート | 接続エンジン名 |
|---|---|---|---|---|
| 日本語 | 会話_汎用 | 汎用 | 8k / 16k | -a-general |
| 日本語 | 会話_医療 | 医療会議 | 16k | -a-medical |
| 日本語 | 会話_金融 | 金融 | 16k | -a-bizfinance |
| 日本語 | 会話_保険 | 保険 | 16k | -a-bizinsurance |
| 日本語 | 音声入力_汎用 | 大規模汎用 | 16k | -a-general-input |
| 日本語 | 音声入力_医療 | 医療汎用 | 16k | -a-medical-input |
| 日本語 | 音声入力_保険 | 保険 | 16k | -a-bizinsurance-input |
| 日本語 | 音声入力_金融 | 金融 | 16k | -a-bizfinance-input |
| 英語 | 英語_汎用 | 汎用 | 8k / 16k | -a-general-en |
| 中国語 | 中国語_汎用 | 汎用 | 8k / 16k | -a-general-zh |
| 韓国語 | 韓国語_汎用 | 汎用 | 8k / 16k | -a-general-ko |
| 日本語 | 音声入力_氏名 | 氏名 | 8k / 16k | -a-name-input-private(*1) (*2) |
| 日本語 | 音声入力_住所 | 住所 | 8k / 16k | -a-address-input-private(*1) (*2) |
| 日本語 | 音声入力_ルール | なし | 16k | -a-rule-input-private(*1) (*2) |
- (*1) AmiVoice API Private で利用可能なエンジンです。
- (*2) 「音声入力_氏名」エンジン、「音声入力_住所」エンジンおよび「音声入力_ルール」エンジンは、非同期 HTTP インタフェースではご利用いただけません。
音声認識エンジンの要素
音声認識エンジンを選択するにあたり、構成要素や特性を理解することで、適切なエンジン選択やAPI利用に役立ちます。
End to End/ハイブリッド
End to End/ハイブリッドで共通の要素について説明します。
対応サンプリングレート
すべての音声認識エンジンは16kHzに対応しています。一部のエンジンは電話などでよく使われている8kHzのサンプリングレートの音声に対応しています。サンプリングレートについては、音声フォーマットのサンプリングレートを参照してください。
- 音声を自身で録音する場合は、サンプリングレート16kHzで録音し、16kHzのエンジンを使ってください。
- 電話音声の場合は8kHzのエンジンを使ってください。
接続エンジン名
リクエストパラメータの接続エンジン名 (grammarFileNames)には、表の「接続エンジン名」列の文字列を指定します。AmiVoice API Privateで公開しているエンジン名についてはマイペー ジを参照してください。
ハイブリッド
ハイブリッドの日本語の音声認識エンジンは、用途(音響モデル)と言語モデルの組み合わせで複数のエンジンを提供しています。以下はハイブリッドエンジンについての説明です。
用途
人と人が自然に話をしているときの音声の文字起こしに最適化された「会話」エンジン、人が機械に向かって話す場合に最適化された「音声入力」エンジンがあります。それぞれ異なったデータセットを元にトレーニングした音響モデルを使っています。ただし、用途は音響モデルの違いだけではなく、それぞれの用途に応じた最適化がされています。
特徴と注意点
「会話」エンジンは「えーっと」や「あのー」などの不要語を除去しやくなっています。標準の設定では、これらの不要語は認識されたうえで自動的に除去されます。また、不要語を敢えて表示するように設定することもできます。フィラー単語の出 力指定を参照してください。「音声入力」エンジンを使っている場合、不要語として判断されずに除去されないか、他の単語に誤認識されるケースが多くなります。
ユースケース
- 会議や電話などの音声を文字起こしする場合は「会話」エンジンを使ってください。
- 電子カルテ、レポート、メール、ショートメッセージなどを口述筆記する場合や、ロボットや音声チャットボットなど機械との対話の場合は「音声入力」エンジンを使ってください。
- ユースケースを絞り込めない場合は「会話」エンジンを使ってください。
言語モデル
医療、製薬、金融、保険などの"ドメイン"ごとによく話される語彙や言い回しがあります。これらのドメインごとに最適化した「領域特化」の言語モデルを用意しています。
日本語の言語モデルの一覧です。用途ごとにエンジンとして提供していますので、それぞれのユースケースも合わせて説明します。
言語モデル | 言語モデルの説明と用途ごとのエンジン |
|---|---|
| 汎用 |