メインコンテンツまでスキップ

音声認識エンジン

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
  • 多言語エンジンは、複数の言語が混ざった音声でも、それぞれの言語で文字起こしすることができるエンジンです。対応している言語は、日本語、英語、中国語です。
  • バッチエンジンは、レスポンス速度を求めないバッチ処理のために最適化されたエンジンです。精度をより重視したい場合に利用してください。特に非同期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

音声認識エンジンの要素

音声認識エンジンを選択するにあたり、構成要素や特性を理解することで、適切なエンジン選択やAPI利用に役立ちます。

End to End/ハイブリッド

End to End/ハイブリッドで共通の要素について説明します。

対応サンプリングレート

すべての音声認識エンジンは16kHzに対応しています。一部のエンジンは電話などでよく使われている8kHzのサンプリングレートの音声に対応しています。サンプリングレートについては、音声フォーマットのサンプリングレートを参照してください。

ヒント
  • 音声を自身で録音する場合は、サンプリングレート16kHzで録音し、16kHzのエンジンを使ってください。
  • 電話音声の場合は8kHzのエンジンを使ってください。

接続エンジン名

リクエストパラメータ接続エンジン名 (grammarFileNames)には、表の「接続エンジン名」列の文字列を指定します。AmiVoice API Privateで公開しているエンジン名についてはマイページを参照してください。

ハイブリッド

ハイブリッドの日本語の音声認識エンジンは、用途(音響モデル)と言語モデルの組み合わせで複数のエンジンを提供しています。以下はハイブリッドエンジンについての説明です。

用途

人と人が自然に話をしているときの音声の文字起こしに最適化された「会話」エンジン、人が機械に向かって話す場合に最適化された「音声入力」エンジンがあります。それぞれ異なったデータセットを元にトレーニングした音響モデルを使っています。ただし、用途は音響モデルの違いだけではなく、それぞれの用途に応じた最適化がされています。

特徴と注意点

「会話」エンジンは「えーっと」や「あのー」などの不要語を除去しやくなっています。標準の設定では、これらの不要語は認識されたうえで自動的に除去されます。また、不要語を敢えて表示するように設定することもできます。フィラー単語の出力指定を参照してください。「音声入力」エンジンを使っている場合、不要語として判断されずに除去されないか、他の単語に誤認識されるケースが多くなります。

ユースケース
  • 会議や電話などの音声を文字起こしする場合は「会話」エンジンを使ってください。
  • 電子カルテ、レポート、メール、ショートメッセージなどを口述筆記する場合や、ロボットや音声チャットボットなど機械との対話の場合は「音声入力」エンジンを使ってください。
  • ユースケースを絞り込めない場合は「会話」エンジンを使ってください。

言語モデル

医療、製薬、金融、保険などの"ドメイン"ごとによく話される語彙や言い回しがあります。これらのドメインごとに最適化した「領域特化」の言語モデルを用意しています。

日本語の言語モデルの一覧です。用途ごとにエンジンとして提供していますので、それぞれのユースケースも合わせて説明します。

言語モデル
言語モデルの説明と用途ごとのエンジン
汎用用途を限定しない発話内容の文字化に利用できます。 「会話」 専用です

会話_汎用(-a-general): 会議・動画の文字起こし、入力が限定されない場合など
大規模汎用用途を限定しない口述筆記や、音声対話の文字化に利用できます。汎用よりも大きく語彙数が増えています。あまり話されないような言葉や、神社、寺、城、橋、温泉、動物園、水族館、美術館、博物館、ダム、トンネルといったランドマーク・場所・施設の名称などの語彙が豊富です。 「音声入力」 専用です

音声入力_汎用(-a-general-input): 様々なシーンでの口述筆記、音声対話アプリケーションなど
金融「汎用」言語モデルに加えて、金融業界の用語や言い回しなどが追加されています。

会話_金融(-a-bizfinance): 文字起こしや対面営業時の会話の文字起こしなど
音声入力_金融(-a-bizfinance-input): 日報、メール作成の音声入力など
保険「汎用」言語モデルに加えて、保険業界の用語や言い回しなどが追加されています。

会話_保険(-a-bizinsurance): 文字起こしや対面営業時の会話の文字起こしなど
音声入力_保険(-a-bizinsurance-input): 日報、メール作成の音声入力など
医療会議「汎用」言語モデルに加えて、様々な診療科目、医療関係の用語、医療業界の会議での言い回しなどが追加されています。多くの病名、薬品名、病院名、手術名、地名などに対応しています。 「会話」 専用です

会話_医療(-a-medical ): 医療業界の会議、診察の患者と医者の会話、医療関連の動画の文字起こし、対面営業の会話の文字起こし、MRの営業日報、など
医療汎用電子カルテの所見、診断書、診療情報提供書、紹介状、介護記録、薬剤師の服薬指導文の作成、様々な医療文書の作成のための口述筆記に特化しています。 「音声入力」 専用です

音声入力_医療(-a-medical-input): 様々な診療科の医師、薬剤師などの専門家の口述筆記
日本語の言語モデルのクラス名一覧

日本語の音声認識エンジンで定義されているクラス名の一覧です。クラスは単語登録をするときに利用します。詳細は、単語登録を参照してください。API利用者が新たなクラスを追加することはできません。

クラス名
汎用
大規模汎用
金融
保険
医療会議
医療汎用
補足
固有名詞
名前姓を表します
名前(名)名を表します
名前姓名を表します (*1)
駅名
地名
会社名
部署名
役職名
記号
括弧開き
括弧閉じ
元号
病名
薬品名
病院名
手術名
地名_区町村
地名_支庁市郡
  • (*1) 名前クラスは医療汎用では姓名を表しますが、その他の言語モデルでは姓を表します。
中国語の言語モデルのクラス名一覧

中国語の音声認識エンジンで定義されているクラス名の一覧です。

クラス名汎用
固有名词一般
韓国語の言語モデルのクラス名一覧

韓国語の音声認識エンジンで定義されているクラス名の一覧です。

クラス名汎用
固有名詞
地名
駅名
会社名
名前(姓)
名前(名)

End to Endとハイブリッドの違い

ハイブリッドエンジンは伝統的な統計モデルを使った音声認識エンジンです。医療など、業界固有の語彙に数多く対応する必要があるケースや、ハイブリッドエンジン固有の機能が必要な場合は引き続き利用を継続してください。End to Endエンジンは、新しい世代のAmiVoice音声認識エンジンです。汎用的な用途では精度の高いケースが多いため、新しくAmiVoice APIを利用する場合は、まずはEnd to Endエンジンを試してみてください。すでにAmiVoice APIをお使いの場合は、変更してもアプリケーションに影響が出ないかどうかを確認して、移行を検討してください。

ハイブリッドエンジンの特徴

  • 音響モデルと言語モデルを組み合わせて音声認識を行います。様々なドメインごとに最適化した言語モデルを使った音声認識エンジンを利用できます。
  • 単語登録でクラスを利用することができます。
  • 単語単位の結果starttimeendtimeに単語ごとの正確な時間情報を取得できます。

End to Endエンジンの特徴

  • 汎用的な語彙のエンジンのみ提供しています。
  • 単語登録ではクラスを利用することができません。
  • 単語単位の結果で、単語ごとの読みの情報は取得できません。
  • 単語単位の結果starttimeendtimeで得られる時間情報は、ハイブリッドに比べて正確には得られません。
  • ハイブリッドエンジンでは起きない誤りのパターンとして、一部の結果を繰り返してしまう場合があります。特に音質が著しく悪い音声や、長すぎる音声(20秒以上)に起きやすい傾向があります。
  • フィラー単語の自動削除の抑制には対応していません。フィラーはすべて自動的に削除されます。
注記
  • 2025-03-25現在は、End to Endエンジンでは単語登録することができません。単語登録が必要な場合は、ハイブリッドエンジンを利用してください。
  • 2025-03-25現在は、中国語のEnd to Endエンジンではフィラーの自動削除は対応していません。

費用

エンジンによって費用が異なります。詳細はAmiVoice APIの価格を参照してください。

認識精度について

音声認識エンジンのボキャブラリにない単語は出力されません。ボキャブラリにない単語が発話されると、発音の似た単語や、発音の似た短い単語の組み合わせ、単に誤った単語に認識されます。計算リソースや、計算時間の制約により音声認識エンジンごとにボキャブラリが決まっています。「会話_汎用」や「音声入力_汎用」などの汎用エンジンは様々なシーンで活用できるように多くのボキャブラリが登録されていますが、特定の業界や用途に特化したような単語は含まれていません。

医療・金融・保険などの業界ごとによく使われる専門用語は、特定の業界に特化したエンジンを使うことで、その業界でよく使われる単語に対して高い認識率を実現できます。さらに特定の組織などでよく使われる単語に対しては、単語登録を行うことで対応できます。

ヒント

汎用エンジンと領域特化エンジンでどの程度の認識率の差がでるのか、AmiVoice Tech Blogで比較して報告しています。AmiVoiceの領域特化エンジンの音声認識精度を比べてみた(汎用 vs 電子カルテ)【同じ発話で比較検証】音声入力エンジンと会話エンジンの認識結果の違いとはを参照してください。