Case Study
音声認識・合成
音声認識は、人間の音声を認識してテキストなどに変換する入力インターフェースです。
一般的に、PCやスマートデバイスは、指やマウスなどによる操作が必要になりますが、音声認識を活用すれば、手を使うことなく、操作や入力が可能になります。
音声合成は、コンピュータなどで人間の音声を人工的に作り出す出力インターフェースです。
テキストを自然な音声として読み上げることで、ディスプレイを見ることなく、利用者は情報を確認できます。
すでに、音声認識/音声合成は、スマートスピーカーやスマートフォンなどに搭載されており、音声によるデジタル機器の操作が可能になっています。しかし、家庭用や個人用が大部分を占めており、企業現場での活用は一部の先進的な取り組みに留まっています。
工場や工事現場など、家庭やオフィスとは異なる音響環境や、医療現場のように専門用語が飛び交う環境で利用可能になれば、手を使ったり、ディスプレイの前に移動したりすることなく、他の作業をしながらデジタル機器の操作が可能になり、作業効率や作業品質の向上が期待できます。
音声認識・合成の用途
開発具体例
車輌検査時、音声による検査票の自動作成
受託までの経緯
現在、どこの業界でも人手不足の状況が発生しています。ましてや自動車整備など特殊な技術を持つ人材は更に不足しているのが現状です。
簡単に人材募集できないことから現在の作業効率を向上していく施策が必要となっています。
従来、自動車の車輛検査をする、または修理をする人は、いろいろな姿勢で自動車の部品を検査しています。場合によっては、自動車の下にもぐりこみ底にある部品の検査もします。次々に別の箇所をチェックするため、チェック後には忘れない内に結果を検査表に記入しなければならず、とても大変な作業となります。
某大手自動車関連企業は「もし、音声を使って検査結果を自動的に検査票に反映できれば、検査の人が両手を使え、作業を停めずに検査表に記載することができ、確実に効率があがるのではないか」と考えました。
そこで過去30年の音声製品を開発しているメーカーの製品を活用して現場に試験使用しました。認識率としては80%前後であり、今後精度改善ができれば、現場で使用できると判断しましたが、1台あたりの検査費用は数十円のライセンス使用料がかかり、年間車検数を考えると1年で1,000万円以上の使用コストになります。
オープンソース(OSS)を使った開発でこの製品同等の機能と精度が実現できれば、開発費はかかってもその後の使用料はかからず、さらに子会社へ自社製品として販売することも可能と考え、弊社にOSSを使ってまずはR&D開発ができるか相談がありました。
課題
OSSを使った開発で、現在使っている製品同等の機能&精度を出し、現在かかっているライセンス料などの費用を削減したい。また自社製品として他社への販売も考えたい。
解決策
どこのメーカー製品でも製品開発には十分な開発コストと試験期間を経て、世の中に出しています。我々もはじめは、簡単にお受けすることはできませんでした。
ただ、お客様から今回はR&Dとしてどこまで製品化の見通しが立てられるか知りたいということでお受けしました。
今回のお客様要求には大きく二つの機能があります。
一つは、作業者に検査を誘導するアナウンスガイド機能で、PCで管理者が作成した文字を音声合成することにより、ガイダンス音声を作り出すことです。変更する場合もPCでガイダンス文字を変更するだけで、ガイダンス音声が変更されます。
もう一つは、作業者が検査した結果を口頭で回答することにより、システムが音声認識技術を使って結果をテキストデータとして蓄積し、最終的に検査票に自動記載まで行います。
これら二つの機能には、さらに連携もあります。作業者が検査した結果をシステムが認識した場合、確認のため、再度音声合成を使って作業者に音声で確認したり、作業者がガイダンスを聞き取れなかった場合などに「もう一度」というと再度前回言ったガイダンスを繰り返すなど、作業者とシステムの間での必要な会話も行います。
お客様の要望は、OSSをベースにした開発でした。さらに開発後は、自社製品として販売可能なOSSを使うということが条件でした。
我々は、世界中からこの条件に合致したOSSを調査しました。その中でも特に日本語対応の評価が良いという事を一番に考え提案しました。
音声合成にはeSpeakというOSSを採用しました。また、音声認識は少し迷いましたが、京都大学の河原研究所で開発されたJuliusという製品が日本語に強いという部分を最終決定として提案しました。
今回の開発で一番難しい部分は音声認識の精度についてです。その他ではそれほど大きな困難はありませんでした。
音声は画像などの認識と比べると不特定要因が多く、特定しにくい分野です。
例えば、各々の人の発声や話し方は違いますし、方言などを含む場合もあります。また業種特有の言い回しなどもそれぞれに特有の語彙を含みます。今回の作業現場には外国人整備士も多く、日本語の発音も日本人とは若干違っています。
さらに現場で音声認識システムを使用する場合、現場特有の騒音が発生する場所での使用なども影響を与えます。
通常、音声認識はお客様環境やニーズを分析し、それに沿ったシステム開発が必要となります。
音声認識の場合、まず音源(認識したい人の声や音)をどう正確にシステムに取り込むかです。
方法としてはソフトで行う部分とハード(マイク)で行う部分があります。
いずれにしてもまず重要なのはその音源をなるたけ正しくシステムに取り込む必要があります。そのためにいろいろな音声の特性パラメータをチューニングする必要があります。このチューニングは使用される場所や使い方、音源の特性などに合わせたチューニングが必要です。もしチューニングが正しく行われないと音声認識のシステムの精度は上がりません。
例えば、人が聞き取る場合は相手の人が話す言葉だけを意識すれば良いのですが、もしシステムを使って認識させようとした場合、マイクは常にONしていますから、どの音や声が必要で、どの音や声が不要かは理解する方式が必要です。
それを判断する値はVADパラメータの音圧レベル値やゼロ交差数などがあり、それらにより「データあり」という判断になります。これらのパラメータをこの現場で使用する最適値にチューニングする必要があります。また音声区間マージンなどのパラメータは話し始めと終了を認識しますが、それら多くのパラメータの正しいチューニングは相互関係があり、各パラメータ間のバランスを取ったチューニングをしなければ認識精度を上げることは困難となります。
弊社が試行により検証したパラメータチューニングについては以下をご参照ください。
もう一つの問題は使う場所での騒音対応です。一定の騒音であればソフト側でも騒音除去は可能です。但し、突発的に発生する騒音、例えば物を叩くような打撃音や破裂音など、またブレーキなどの摩擦音などで一瞬発生し、その後はしばらく発生しない音などはソフトでの対応は非常に難しくなります。
やはり騒音除去の機能を持ったマイクなどハード側での対応が必要です。ハードの騒音除去の方式はいくつかありますので、その現場特有の性質に合わせて選択することが必要となります。
マイク選定については以下をご参照ください。
次に、取り込んだ音声を認識する上でAIは二つの道具を使います。
一つは入力された音声を語彙とマッピングする辞書の登録です。この辞書は通常、発音記号を意味するルールで書かれます。ただ、前述でも記載したように方言や人によって発音の仕方が変わる場合なども考慮して辞書を追加登録する必要もあります。
音声辞書については以下をご参照ください。
もう一つは音声の学習トレーニングから作成される音響モデルです。これも全ての音声認識が同じモデルで効果を上げるとは限りません。一つ例を挙げると今回のOSSは、かなり評価の高い音響モデルAIエンジンです。しかし一般の語彙はかなり高い認識度があるものの、数字で入力する部分について精度は40%ぐらいに落ちてしまいました。
このAIエンジンのモデルはテレビのニュース解説を数万時間収録してモデルを作っていました。語彙としてはそれなりに認識度が高かったのですが、このお客様の現場では10.5ミリや25.3ミリなどという数字データの回答を認識しなければなりませんでした。
原因は明白でニュース番組には、このような現場で使用する数字の例はあまり多く出てこないことにあり、学習トレーニングにより作られたモデルにはその部分の認識率が低くなっていました。
また数字は後ろに来る部分により発音が変わります。例えば10ミリという場合の発音は一般的に“ジュウ ミリ”と発音しますが、10.5ミリの場合は“ジュッテン ゴ ミリ”となります。つまり10の部分が“ジュウ”となるか“ジュッ”となるか後ろの部分で変化します。日本語にはこのように発音が変わる現象はとても多くあります。その為に認識率の精度を上げられない現象となりました。
我々はこのような現象を分析し、数字部分のモデルを作り直しました。その結果認識率を96%まで上げることに成功しました。
音響モデルについては以下をご参照ください。
以下に個々の精度アップ施策を入れた場合の認識率テスト結果(一部)を示します。
下記結果表を見ると個々の施策では少しずつ効果が出ています。全ての施策を取り入れた場合は、もともとOSSをそのまま使った場合に比べて、かなり精度が向上したことが分かります。
効果
開発合計期間は1年未満で、多くの分析と試行を繰り返した結果、認識精度は96%と、もとの製品を上回る結果を出しました。
今後、お客様はR&Dから現場での使用を経て、製品化を検討する結果となりました。
サマリー
車両検査サポートツールのために、音声認識/音声合成を改善
音声認識/音声合成にオープンソースを検討
1年未満の開発期間で、認識率96%を達成
現場での試験導入を経て、製品化を目指す
使われている技術