(57)【要約】【課題】より精度が高い音声認識結果を出力する。【解決手段】雑音抑圧部１１が元音声波形ｆ１の雑音を抑制し、発話区間検出部１２が雑音抑圧音声波形ｆ２から発話区間ｔｊを検出し、音声波形切断部１３が元音声波形ｆ１と雑音抑圧音声波形ｆ２を発話区間ｔｊごとに切断して区間音声波形ｆ１＿ｔｊ，ｆ２＿ｔｊを得て、音声認識部１４が、複数の音声認識エンジンｅｉのそれぞれにより、雑音抑圧前後の区間音声波形ｆ１＿ｔｊ，ｆ２＿ｔｊのそれぞれを音声認識し、文字数の多い方を音声認識エンジンｅｉによる発話区間ｔｊの音声認識結果Ｒｉｊとし、認識結果補正部１５が発話区間ｔｊごとに音声認識結果Ｒｉｊを比較して音声認識結果を補正する。【選択図】図１
2020190671.tif 000002
【特許請求の範囲】
【請求項１】
入力した音声波形の雑音を抑圧する雑音抑圧部と、
複数の音声認識エンジンのそれぞれにより、前記音声波形を音声認識した第１の音声認識結果と、雑音を抑圧した雑音抑圧音声波形を音声認識した第２の音声認識結果を得て、前記第１の音声認識結果と前記第２の音声認識結果のうち文字数の多い方を当該音声認識エンジンの音声認識結果として選択する音声認識部と、
前記複数の音声認識エンジンの音声認識結果を互いに比較して前記音声認識結果を補正する認識結果補正部と、を有する
ことを特徴とする音声テキスト化装置。
【請求項２】
前記音声波形から発話区間を検出する発話区間検出部と、
前記音声波形と前記雑音抑圧音声波形を発話区間ごとに切断するとともに、発話区間ごとに切断した区間音声波形の頭に無音波形を付加する音声波形切断部と、を有し、
前記音声認識部は、前記発話区間ごとに、前記音声波形と前記雑音抑圧音声波形のそれぞれから切り出した前記区間音声波形を音声認識する
ことを特徴とする請求項１に記載の音声テキスト化装置。
【請求項３】
前記認識結果補正部は、前記音声波形に付随する映像から抽出した文字認識結果に基づいて前記音声認識結果を補正する
ことを特徴とする請求項１または２に記載の音声テキスト化装置。
【請求項４】
前記認識結果補正部は、前記音声認識結果の補正内容を示す情報を出力する
ことを特徴とする請求項１ないし３のいずれかに記載の音声テキスト化装置。
【請求項５】
入力した音声波形の雑音を抑圧するステップと、
複数の音声認識エンジンのそれぞれにより、前記音声波形を音声認識した第１の音声認識結果と、雑音を抑圧した雑音抑圧音声波形を音声認識した第２の音声認識結果を得るステップと、
前記第１の音声認識結果と前記第２の音声認識結果のうち文字数の多い方を当該音声認識エンジンの音声認識結果として選択するステップと、
前記複数の音声認識エンジンの音声認識結果を互いに比較して前記音声認識結果を補正するステップと、を有する
ことを特徴とする音声テキスト化方法。
【請求項６】
請求項１ないし４のいずれかに記載の音声テキスト化装置の各部としてコンピュータを動作させることを特徴とする音声テキスト化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識精度を向上する技術に関する。
【背景技術】
【０００２】
近年、音声認識技術が広く利用されている。例えば、ネットワークに接続されたスピーカーにマイクを内蔵し、音声認識による操作を可能とするスマートスピーカーが普及している。様々な企業から音声認識エンジンが提供されており、音声をテキスト化することが容易になっている。
【０００３】
また、音声認識の精度を向上させるための雑音抑圧技術も検討されている（例えば非特許文献１）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“雑音環境下での音声認識精度の向上に向けた音声処理技術”、日本電信電話株式会社、［平成３１年４月２２日検索］、インターネット〈ＵＲＬ：http://www.ntt.co.jp/svlab/activity/category_2/product2_29.html〉
【発明の概要】
【発明が解決しようとする課題】
【０００５】
音声認識エンジンによって認識結果の特性が異なり、音声認識エンジンごとに得意不得意がある。音声認識エンジンごとに学習に用いているデータや音声認識アルゴリズムが異なるので、文章のような整った話し方の音声での認識精度が高い音声認識エンジンや、話し言葉のようなくだけた話し方の音声での認識精度が高い音声認識エンジンがある。音声認識エンジンによっては、認識精度が高いと推定される箇所のみを出力するものもあれば、認識できた箇所すべてを出力するものもある。
【０００６】
また、雑音抑圧することで、音声認識精度が向上する箇所とそうでない箇所があり、雑音抑圧すれば認識精度が必ずしも上がるわけではない。例えば、雑音抑圧技術を適用すると、雑音のある個所は雑音が抑圧されるため音声認識精度が向上する。しかし、雑音のない箇所は、雑音抑圧処理が施されることで音質が下がり、音声認識精度が低下してしまうことがある。
【０００７】
本発明は、上記に鑑みてなされたものであり、より精度が高い音声認識結果を出力することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る音声テキスト化装置は、入力した音声波形の雑音を抑圧する雑音抑圧部と、複数の音声認識エンジンのそれぞれにより、前記音声波形を音声認識した第１の音声認識結果と、雑音を抑圧した雑音抑圧音声波形を音声認識した第２の音声認識結果を得て、前記第１の音声認識結果と前記第２の音声認識結果のうち文字数の多い方を当該音声認識エンジンの音声認識結果として選択する音声認識部と、前記複数の音声認識エンジンの音声認識結果を互いに比較して前記音声認識結果を補正する認識結果補正部と、を有することを特徴とする。
【０００９】
本発明に係る音声テキスト化方法は、入力した音声波形の雑音を抑圧するステップと、複数の音声認識エンジンのそれぞれにより、前記音声波形を音声認識した第１の音声認識結果と、雑音を抑圧した雑音抑圧音声波形を音声認識した第２の音声認識結果を得るステップと、前記第１の音声認識結果と前記第２の音声認識結果のうち文字数の多い方を当該音声認識エンジンの音声認識結果として選択するステップと、前記複数の音声認識エンジンの音声認識結果を互いに比較して前記音声認識結果を補正するステップと、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、より精度が高い音声認識結果を出力することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態の音声テキスト化装置の構成を示す機能ブロック図である。
【図２】本実施形態の音声テキスト化装置の処理の流れを示すフローチャートである。
【図３】音声波形切断処理の流れを示すフローチャートである。
【図４】音声波形の頭からの無音区間の長さと認識精度との関係を示す図である。
【図５】音声認識処理の流れを示すフローチャートである。
【図６】認識結果補正処理の流れを示すフローチャートである。
【図７】音声認識結果を形態素に分割し、不一致箇所を抽出した例を示す図である。
【図８】補正状態フラグの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を用いて説明する。
【００１３】
（音声テキスト化装置の構成）
図１は、本実施形態の音声テキスト化装置１の構成を示す機能ブロック図である。音声テキスト化装置１は、音声を入力し、入力した音声を音声認識した認識結果であるテキストを出力する。音声テキスト化装置１は、テキストに加えて、音声認識結果の補正内容を示す補正状態を出力してもよい。
【００１４】
図１に示す音声テキスト化装置１は、雑音抑圧部１１、発話区間検出部１２、音声波形切断部１３、音声認識部１４、および認識結果補正部１５を備える。音声テキスト化装置１が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは音声テキスト化装置１が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。
【００１５】
雑音抑圧部１１は、音声認識対象となる元音声波形ｆ１を入力し、雑音抑圧処理を実施して、雑音抑圧音声波形ｆ２を出力する。雑音抑圧処理は、例えば、非特許文献１の音声処理技術や、ノイズキャンセリングイヤホン等に実装されている技術を用いることができる。元音声波形ｆ１と雑音抑圧音声波形ｆ２は、音声波形切断部１３に入力される。
【００１６】
発話区間検出部１２は、雑音抑圧音声波形ｆ２を入力し、音声波形の中で人が発話している発話区間ｔｊ（ｊ＝１，２，・・・，ｍ）を検出する。発話区間の検出には、Ｇｏｏｇｌｅ等が公開しているＶＡＤ（Ｖｏｉｃｅ  Ａｃｔｉｖｉｔｙ  Ｄｅｔｅｃｔｉｏｎ）ライブラリを利用できる。発話区間検出部１２は、元音声波形ｆ１から発話区間を検出してもよい。
【００１７】
音声波形切断部１３は、元音声波形ｆ１と雑音抑圧音声波形ｆ２のそれぞれを発話区間ｔｊで音声波形を切り出し、切り出した発話区間ごとの音声波形のそれぞれの先頭に無音波形を付加する。音声波形切断部１３は、元音声波形ｆ１から発話区間ｔｊごとに切り出して無音波形を付加した区間音声波形ｆ１＿ｔｊと、雑音抑圧音声波形ｆ２から発話区間ｔｊごとに切り出して無音波形を付加した区間音声波形ｆ２＿ｔｊを音声認識部１４へ出力する。
【００１８】
音声認識部１４は、複数の音声認識エンジンｅｉ（ｉ＝１，２，・・・，ｎ）を用いて、発話区間ｔｊごとに、雑音抑圧前後の区間音声波形ｆ１＿ｔｊと区間音声波形ｆ２＿ｔｊを音声認識する。音声認識部１４は、区間音声波形ｆ１＿ｔｊと区間音声波形ｆ２＿ｔｊの認識結果のうち文字数が多い方の認識結果を、音声認識エンジンｅｉによる発話区間ｔｊの音声認識結果Ｒｉｊとする。つまり、音声認識部１４は、発話区間ｔｊごとに、複数の音声認識エンジンｅｉによる音声認識結果Ｒｉｊを出力する。
【００１９】
音声認識部１４は、複数の音声認識エンジンｅｉを備えてもよいし、外部の音声認識サービスを用いて音声認識してもよい。異なる複数の音声認識エンジンｅｉを用いるのであれば、その形式は問わない。複数の結果を出力する音声認識エンジンに関しては、信頼度が最大の認識結果を採用する。あるいは、複数の結果のうち信頼度が上位のものから複数個を出力し、後段の認識結果補正部１５で比較してもよい。
【００２０】
認識結果補正部１５は、発話区間ｔｊごとに、音声認識エンジンｅｉごとの音声認識結果Ｒｉｊを比較して不一致箇所を特定し、不一致箇所に関して、より多くの音声認識エンジンｅｉの音声認識結果を採用する。音声テキスト化装置１の入力した音声が映像やスライドに付随するものである場合、認識結果補正部１５は、不一致箇所に関して、音声認識結果Ｒｉｊを映像やスライドの文字認識結果と比較し、最も適した内容に補正する。映像やスライドの文字認識結果は、別の装置が映像等を処理して抽出したものを音声テキスト化装置１が入力してもよいし、音声テキスト化装置１が映像等を入力して抽出してもよい。
【００２１】
認識結果補正部１５は、補正後の音声認識結果であるテキストに加えて、音声認識結果Ｒｉｊの不一致箇所の補正状態を出力する。例えば、認識結果補正部１５は、補正した不一致箇所に対して、音声認識比較での補正または文字認識との比較での補正などの情報を付与する。
【００２２】
（音声テキスト化装置の動作）
次に、本実施形態の音声テキスト化装置１の動作について説明する。
【００２３】
図２は、本実施形態の音声テキスト化装置１の処理の流れを示すフローチャートである。
【００２４】
ステップＳ１にて、雑音抑圧部１１は、元音声波形ｆ１に対して雑音抑圧処理を実施し、雑音抑圧音声波形ｆ２を出力する。
【００２５】
ステップＳ２にて、発話区間検出部１２は、雑音抑圧音声波形ｆ２から発話区間ｔｊを検出する。
【００２６】
ステップＳ３にて、音声波形切断部１３は、元音声波形ｆ１と雑音抑圧音声波形ｆ２のそれぞれから発話区間ｔｊを切り出すとともに、切り出した区間音声波形ｆ１＿ｔｊ，ｆ２＿ｔｊの頭に無音波形を付加する。音声波形切断部１３による音声波形切断処理の詳細は後述する。
【００２７】
なお、元音声波形ｆ１が短い場合は、ステップＳ２，Ｓ３の処理を行わずに、元音声波形ｆ１と雑音抑圧音声波形ｆ２を音声認識部１４に渡してもよい。
【００２８】
ステップＳ４にて、音声認識部１４は、複数の音声認識エンジンｅｉを用いて、区間音声波形ｆ１＿ｔｊ，ｆ２＿ｔｊのそれぞれを音声認識し、音声認識結果Ｒｉｊを得る。音声認識部１４による音声認識処理の詳細は後述する。
【００２９】
ステップＳ５にて、認識結果補正部１５は、複数の音声認識エンジンｅｉによる音声認識結果Ｒｉｊを比較し、適切な認識結果を採用してテキストを出力する。認識結果補正部１５は、元音声に関連した文字認識結果を用いて音声認識結果を補正してもよい。認識結果補正部１５による認識結果補正処理の詳細は後述する。
【００３０】
（音声波形切断処理）
図３は、音声波形切断処理の流れを示すフローチャートである。音声波形切断部１３は、元音声波形ｆ１、雑音抑圧音声波形ｆ２、および発話区間ｔｊを入力し、音声波形切断処理を実行する。
【００３１】
ステップＳ３１にて、音声波形切断部１３は、元音声波形ｆ１を発話区間ｔｊで切り出す。
【００３２】
ステップＳ３２にて、音声波形切断部１３は、雑音抑圧音声波形ｆ２を発話区間ｔｊで切り出す。
【００３３】
ステップＳ３３にて、音声波形切断部１３は、元音声波形ｆ１および雑音抑圧音声波形ｆ２を発話区間ｔｊで切り出した音声波形のそれぞれの先頭に無音波形を付加する。音声波形切断部１３は、元音声波形ｆ１を発話区間ｔｊで切り出して無音を付加した区間音声波形ｆ１＿ｔｊと、雑音抑圧音声波形ｆ２を発話区間ｔｊで切り出して無音を付加した区間音声波形ｆ２＿ｔｊを出力する。
【００３４】
図４に示すように、音声認識の際、発話前の無音区間が所定の長さ以上あれば認識精度が向上する。そのため、音声波形切断部１３は、認識精度が飽和するような無音区間の時間を事前に決定しておき、切り出した区間音声波形ｆ１＿ｔｊ，ｆ２＿ｔｊの頭に無音区間を付加する。
【００３５】
ステップＳ３４にて、音声波形切断部１３は、全ての発話区間について処理したか否かを判定する。処理していない発話区間が存在する場合は、ステップＳ３１に戻り、次の発話区間ｔｊ＋１を処理する。全ての発話区間を切り出した場合は、音声波形切断処理を終了する。
【００３６】
（音声認識処理）
図５は、音声認識処理の流れを示すフローチャートである。音声認識部１４は、雑音抑圧前後の区間音声波形ｆ１＿ｔｊ，ｆ２＿ｔｊを入力し、複数の音声認識エンジンのそれぞれを用いて、発話区間ごとに音声認識結果を求める。
【００３７】
ステップＳ４１にて、音声認識部１４は、複数の音声認識エンジンの中から一つの音声認識エンジンｅｉを選択する。
【００３８】
ステップＳ４２にて、音声認識部１４は、ステップＳ４１で選択した音声認識エンジンｅｉを用いて、元音声波形ｆ１から切り出した区間音声波形ｆ１＿ｔｊを音声認識する。
【００３９】
ステップＳ４３にて、音声認識部１４は、ステップＳ４１で選択した音声認識エンジンｅｉを用いて、雑音抑圧音声波形ｆ２から切り出した区間音声波形ｆ２＿ｔｊを音声認識する。
【００４０】
ステップＳ４４にて、音声認識部１４は、ステップＳ４２，Ｓ４３で得られた音声認識結果の文字数を比較し、文字数の多い方の音声認識結果を音声認識エンジンｅｉによる発話区間ｔｊの音声認識結果Ｒｉｊとして採用する。雑音抑圧前後の波形の認識結果を比較することで、雑音抑圧により音声認識精度が向上する箇所とそうでない箇所があることを反映できる。雑音抑圧前後の認識文字数を比較し、文字数が多い認識結果を採用することで、認識漏れを防ぐことができる。
【００４１】
ステップＳ４５にて、音声認識部１４は、全ての発話区間について処理したか否かを判定する。処理していない発話区間が存在する場合は、ステップＳ４２に戻り、次の発話区間ｔｊ＋１を処理する。
【００４２】
ステップＳ４６にて、音声認識部１４は、全ての音声認識エンジンで処理したか否かを判定する。処理していない音声認識エンジンが存在する場合は、ステップＳ４１に戻り、次の音声認識エンジンｅｉ＋１を選択し、最初の発話区間から順に処理する。なお、ステップＳ４２〜Ｓ４５までの処理を複数の音声認識エンジンで並列に実行してもよい。
【００４３】
（認識結果補正処理）
図６は、認識結果補正処理の流れを示すフローチャートである。認識結果補正部１５は、発話区間ｔｊごとに各音声認識エンジンｅｉの音声認識結果Ｒｉｊを比較し、比較結果に基づいて音声認識結果を補正する。
【００４４】
ステップＳ５１にて、認識結果補正部１５は、発話区間ｔｊについて、音声認識エンジンごとの音声認識結果を比較して不一致箇所を抽出する。具体的には、認識結果補正部１５は、ＭｅＣａｂやＪｕｍａｎ等を用いて音声認識結果Ｒｉｊを形態素に分割し、ｄｉｆｆｌｉｂ等のライブラリを用いて形態素ごとに音声認識エンジン間での認識結果を比較して不一致箇所を抽出する。
【００４５】
図７に、音声認識結果を形態素に分割し、不一致箇所を抽出した例を示す。同図の例では、発話区間ｔｊにおける６つの音声認識エンジンｅ１〜ｅ６の認識結果を形態素に分割して示している。発話区間ｔｊの、音声認識エンジンｅ１−ｅ３による音声認識結果は「私は山に登り」であり、音声認識エンジンｅ４，ｅ５による音声認識結果は「わしは山に乗り」であり、音声認識エンジンｅ６による音声認識結果は「私は山に乗り」である。各音声認識結果を形態素に分割して比較したとき、「私」と「わし」、「登り」と「乗り」が不一致箇所として抽出される。
【００４６】
ステップＳ５２にて、認識結果補正部１５は、不一致箇所について、複数の音声認識エンジンが出力している結果を採用する。例えば、図７の例で、「私」と「わし」で不一致の箇所について、認識結果補正部１５は、「私」と認識した音声認識エンジンの数が「わし」と認識した音声認識エンジンの数よりも多いので、「私」を採用する。また、図７の例で、「登り」と「乗り」で不一致の箇所について、認識結果補正部１５は、音声認識エンジンの数が同数であるので、どちらを採用してもよい。
【００４７】
ステップＳ５３にて、認識結果補正部１５は、不一致箇所について、文字認識結果と不一致箇所の認識結果とを比較し、より適切な候補を採用する。例えば、発話区間ｔｊの前後１０秒を含めた区間から映像やスライドから文字認識結果を取得し、文字認識結果と不一致箇所の各認識結果の意味ベクトルを比較し、文字認識結果と意味が類似している認識結果を採用する。意味ベクトルは、ｗｏｒｄ２ｖｅｃなどのベクトル化手法を用いて導出できる。図７の例で、映像から「山登り」という文字が取得できた場合、「登り」と「乗り」で不一致の箇所について、認識結果補正部１５は「登り」を採用する。
【００４８】
ステップＳ５２とステップＳ５３の順序は逆でもよい。ステップＳ５２とステップＳ５３で同じ不一致箇所を補正した場合は、より信頼度の高い方を採用してもよい。
【００４９】
ステップＳ５４にて、認識結果補正部１５は、ステップＳ５２およびステップＳ５３での補正状況に基づいて、補正状態フラグを設定する。図８に、補正状態フラグの一例を示す。図８の例では、ステップＳ５２およびステップＳ５３で音声認識結果を補正しなかった場合は補正状態フラグを１とし、ステップＳ５２で音声認識結果間での比較に基づいて音声認識結果を補正した場合は補正状態フラグを２とし、ステップＳ５３で文字認識結果との比較に基づいて音声認識結果を補正した場合は補正状態フラグを３としている。フラグは上記に限るものではない。
【００５０】
ステップＳ５５にて、認識結果補正部１５は、発話区間ｔｊについて、音声認識結果のテキストＴｊとともにステップＳ５４で設定した補正状態フラグｆｊを出力する。
【００５１】
ステップＳ５６にて、認識結果補正部１５は、全ての発話区間について処理したか否かを判定する。処理していない発話区間が存在する場合は、ステップＳ５１に戻り、次の発話区間ｔｊ＋１を処理する。
【００５２】
以上説明したように、本実施形態によれば、雑音抑圧部１１が元音声波形ｆ１の雑音を抑制し、発話区間検出部１２が雑音抑圧音声波形ｆ２から発話区間ｔｊを検出し、音声波形切断部１３が元音声波形ｆ１と雑音抑圧音声波形ｆ２を発話区間ｔｊごとに切断して区間音声波形ｆ１＿ｔｊ，ｆ２＿ｔｊを得て、音声認識部１４が、複数の音声認識エンジンｅｉのそれぞれにより、雑音抑圧前後の区間音声波形ｆ１＿ｔｊ，ｆ２＿ｔｊのそれぞれを音声認識し、文字数の多い方を音声認識エンジンｅｉによる発話区間ｔｊの音声認識結果Ｒｉｊとし、認識結果補正部１５が発話区間ｔｊごとに音声認識結果Ｒｉｊを比較して音声認識結果を補正することにより、雑音抑圧効果の有無および音声認識エンジンの得意不得意に応じて音声認識の精度を向上できる。
【００５３】
本実施形態によれば、音声波形切断部１３が区間音声波形ｆ１＿ｔｊ，ｆ２＿ｔｊの頭に無音波形を付加することにより、区間音声波形ｆ１＿ｔｊ，ｆ２＿ｔｊの音声認識の精度を向上できる。
【００５４】
本実施形態によれば、認識結果補正部１５が元音声波形に付随する映像から抽出した文字認識結果に基づいて音声認識結果を補正することにより、音声の意味に合った音声認識結果が得られる。
【００５５】
本実施形態によれば、認識結果補正部１５が音声認識結果の補正内容を示す補正状態フラグを出力することにより、音声認識結果の妥当性を判断できるようになる。
【符号の説明】
【００５６】
１…音声テキスト化装置
１１…雑音抑圧部
１２…発話区間検出部
１３…音声波形切断部
１４…音声認識部
１５…認識結果補正部
【図１】
2020190671.tif 000003
【図２】
2020190671.tif 000004
【図３】
2020190671.tif 000005
【図４】
2020190671.tif 000006
【図５】
2020190671.tif 000007
【図６】
2020190671.tif 000008
【図７】
2020190671.tif 000009
【図８】
2020190671.tif 000010