専門用語の音声認識は、辞書を増やすだけでは解決しない
木村 優志

製造設備の名称、医薬品名、社内固有の略称、製品番号。業務で音声認識を使うとき、認識精度を下げる原因は、こうした専門用語であることが少なくありません。
対策として最初に考えるのは、専門用語を辞書に登録して認識器へ渡すことです。しかし、辞書を大きくすればするほど精度が上がるとは限りません。
候補語を大量に渡すと、関係のない専門用語へ誤って引き寄せられることがあります。SpeechLLMやLLMを使う方式では、すべての候補をプロンプトへ入れれば入力が長くなり、処理時間やコストにも影響します。そもそも、数万語規模の辞書を毎回渡す設計は実用的ではありません。
重要なのは、辞書をどれだけ持つかではなく、どの単語を、どのタイミングで認識器に渡すかです。
問題は、専門用語の「候補が多すぎる」こと
たとえば、工場の保全記録を文字起こしする場面を考えます。
辞書には、設備名、部品名、型番、現場特有の略称などが入っています。発話に含まれるのは数語でも、辞書全体には数千から数万の候補があるかもしれません。
この辞書をそのまま認識器に渡すと、次の問題が起きます。
- 現在の発話と関係のない候補まで、認識結果へ影響する
- 似た音の専門用語が多いほど、誤った候補を選びやすくなる
- モデルへ与えるコンテキストが長くなり、遅延や費用が増える
- 辞書を更新しても、どの語が認識に効いたのか追跡しにくい
「辞書に入っているのに認識できない」という問題を、辞書不足と考えがちです。しかし実際には、辞書が大きすぎるために必要な候補を選べないことがあります。
不確実な区間だけを、辞書検索の入口にする
この問題に対して有効なのが、最初の認識結果から不確実な区間を見つけ、その部分だけを使って辞書を検索する設計です。
全体の流れは、次のようになります。
- まず通常の音声認識で、発話全体を文字起こしする
- スコア、認識候補、音声の特徴などから、誤っている可能性が高い区間を絞る
- その区間に近い専門用語を辞書から検索する
- 検索結果の少数候補だけを使い、再認識または誤り訂正を行う
- 重要な箇所は、人が確認できるように残す
この設計のポイントは、最初の認識結果を最終結果ではなく、辞書を引くための手がかりとして使うことです。
たとえば「油圧ポンプ」が誤って認識されていそうなら、その発話区間の音や暫定的な文字列を使って、辞書から「油圧ポンプ」「油圧ポンプユニット」などの候補を探します。候補を数件から数十件へ絞ってから認識器に渡せば、辞書全体を渡すよりも、必要な知識を使いやすくなります。
文字列だけではなく、音の近さで探す
ここで難しいのは、誤認識された文字列だけでは、正しい専門用語を検索できないことがある点です。
専門用語は、一般的な言葉よりも誤認識されやすく、文字列としては大きく崩れる場合があります。「あいしょうぽんぷ」と認識されていても、正解が「油圧ポンプ」だと文字列検索だけでたどり着けるとは限りません。
そのため、音声の特徴や発音の近さを使って候補を検索する方法が考えられます。音響的に近い表現を手がかりにすれば、暫定的な文字列が不完全でも、専門辞書から正しい候補を取り出せる可能性があります。
日本音響学会2026年秋季研究発表会で、山下夏生氏らが発表したSpeechLLMを用いる手法も、この考え方に近いものでした。音声と認識結果から不確実な区間を推定し、その区間を使って専門用語の候補を検索した後、候補を与えて再認識します。
発表では、医療音声データセットMedSynにおいて、全1-gramを検索に使う場合と比べ、検索クエリ数を92.6%削減しながら、専門領域の誤りを対象にした認識性能を改善したと報告されています。これは特定のデータセットと条件での結果ですが、専門辞書の扱い方として重要な示唆があります。
辞書検索は、認識精度だけで評価しない
専門用語への対応を実装するとき、全体の単語誤り率だけを見ても、効果を判断しにくいことがあります。
一般語は正しく認識できていても、設備名や薬品名を取り違えれば、業務上の影響は大きくなります。逆に、専門用語を強く優先しすぎて一般語を誤るなら、それも問題です。
評価では、少なくとも次を分けて見る必要があります。
- 全体の単語誤り率がどう変わったか
- 専門用語に限った誤り率や再現率がどう変わったか
- 検索候補の上位に正しい専門用語が含まれた割合
- 1発話あたりに検索する回数と、処理時間
- 誤った専門用語へ置き換える「過剰補正」が増えていないか
特に、辞書検索の精度と、最終的な文字起こしの精度は分けて評価した方がよいでしょう。候補検索が正しくても、再認識器がその候補を適切に使えなければ、最終結果は改善しません。
実案件では、辞書の中身と更新方法も設計する
辞書は、単語を並べたファイルではありません。業務で使うなら、少なくとも次の情報を持たせると運用しやすくなります。
- 表記ゆれと読み方
- 略称と正式名称
- 製品名・型番・設備名などの分類
- 使われる部署や現場
- 有効期間と更新した担当者
たとえば、すでに廃止された設備名を候補に残しておくと、現行設備の名称を誤って置き換える原因になります。辞書を増やすことと同じくらい、不要になった語を無効化することが大切です。
また、辞書の品質だけでなく、入力音声の品質も確認が必要です。騒音、マイクの距離、話者の発話速度、専門用語の読み方のばらつきによって、検索の入口となる不確実区間そのものが変わります。
辞書は、AIへ渡す情報ではなく、使い分ける知識になる
専門用語の辞書は、すべてをAIに覚えさせるためのものではありません。
どの発話で、どの候補を、どの根拠で使うか。その使い分けまで設計して初めて、辞書は音声認識の品質を支える知識になります。
大きな辞書を持っているのに認識精度が上がらない場合は、語を追加する前に、次の点を確認するとよいでしょう。
- 認識が不確実な箇所を検出できているか
- 辞書候補を発話に応じて絞り込めているか
- 音の近さを含めて候補を検索できているか
- 専門用語の認識結果を個別に評価しているか
- 辞書の更新・無効化を運用できているか
専門用語の音声認識は、辞書とモデルを一度つなげれば終わる問題ではありません。認識、検索、再認識、確認、辞書更新をつないだ仕組みとして設計することが、業務で使える精度につながります。


