(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024170896
(43)【公開日】2024-12-11
(54)【発明の名称】音声認識のエラーを検出するためのモデルを生成する学習装置、音声認識装置及びプログラム
(51)【国際特許分類】
G10L 15/22 20060101AFI20241204BHJP
【FI】
G10L15/22 470F
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023087651
(22)【出願日】2023-05-29
(71)【出願人】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100121119
【弁理士】
【氏名又は名称】花村 泰伸
(72)【発明者】
【氏名】菅野 竜雅
(57)【要約】
【課題】字幕放送サービスにおいて、音声認識精度を向上させる。
【解決手段】学習装置1の分割部10は、事前学習用テキストデータを文単位に分割し、トークン化部11は、文のトークン列を生成する。削除エラー処理部12は、文のトークン列に対し15%の確率でランダムにトークンを削除し、文のトークン列(削除)及び二値データ列を生成する。学習部14は、文のトークン列(削除)及び二値データ列を用いてモデルの事前学習を行い、音声認識結果等を用いてファインチューニングを行い、削除エラー検出モデルを生成する。挿入エラー処理部13は、文のトークン列に対し15%の確率でランダムにトークンを挿入し、文のトークン列(挿入)及び二値データ列を生成する。学習部15は、文のトークン列(挿入)及び二値データ列を用いてモデルの事前学習を行い、音声認識結果等を用いてファインチューニングを行い、挿入エラー検出モデルを生成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
音声認識のエラーを検出するためのエラー検出モデルを生成する学習装置において、
事前学習用の文データをトークン化し、文のトークン列を生成するトークン化部と、
前記トークン化部により生成された前記文のトークン列からランダムにトークンを削除することで削除エラーを発生させ、前記削除エラーを含む文のトークン列を生成すると共に、前記削除エラーを含む文のトークン列に対応する、前記削除エラーの有無の位置を示す二値データ列を生成する削除エラー処理部と、
前記削除エラー処理部により生成された前記二値データ列を正解データとして、前記削除エラー処理部により生成された前記削除エラーを含む文のトークン列及び前記正解データを用いて、文のトークン列と、当該文のトークン列に対応する、トークン毎の削除エラーの確率を示すデータ列との間の関係を学習する第1学習部と、
前記トークン化部により生成された前記文のトークン列に対しランダムにトークンを挿入することで挿入エラーを発生させ、前記挿入エラーを含む文のトークン列を生成すると共に、前記挿入エラーを含む文のトークン列に対応する、前記挿入エラーの有無の位置を示す二値データ列を生成する挿入エラー処理部と、
前記挿入エラー処理部により生成された前記二値データ列を正解データとして、前記挿入エラー処理部により生成された前記挿入エラーを含む文のトークン列及び前記正解データを用いて、文のトークン列と、当該文のトークン列に対応する、トークン毎の挿入エラーの確率を示すデータ列との間の関係を学習する第2学習部と、を備え、
前記第1学習部は、さらに、
所定の音声認識処理により生成された削除エラーを含む文のトークン列を取得し、前記削除エラーを含む文のトークン列に対応する、前記削除エラーの有無の位置を示す二値データ列を正解データとして、前記削除エラーを含む文のトークン列及び前記正解データを用いてファインチューニングを行い、学習済みモデルとして削除エラー検出モデルを生成し、
前記第2学習部は、さらに、
所定の音声認識処理により生成された挿入エラーを含む文のトークン列を取得し、前記挿入エラーを含む文のトークン列に対応する、前記挿入エラーの有無の位置を示す二値データ列を正解データとして、前記挿入エラーを含む文のトークン列及び前記正解データを用いてファインチューニングを行い、学習済みモデルとして挿入エラー検出モデルを生成する、ことを特徴とする学習装置。
【請求項2】
音声データを入力し、音声認識処理により前記音声データに対応するテキストを生成する音声認識装置において、
所定の音声認識モデルを用いて、前記音声データから複数の候補文データを推定し、スコアSASRの高い順にN個(Nは2以上の整数)の候補文データ及び前記スコアSASRを出力する音声認識部と、
前記音声認識部により出力された前記N個の候補文データのそれぞれについて、当該候補文データをトークン化し、候補文のトークン列を生成し、
予め設定された置換エラー検出モデル、並びに請求項1に記載の学習装置により生成された前記削除エラー検出モデル及び前記挿入エラー検出モデルを用いて、前記候補文のトークン列から、当該候補文のトークン列に対応する、トークン毎のエラーの確率を示すデータ列をそれぞれ推定することで、モデル毎のデータ列を求め、当該モデル毎のデータ列に基づいてスコアSdiscを求め、
前記音声認識部により出力された当該候補文データに対応するスコアSASRを、前記スコアSdiscにより補正することで、スコアSを求め、
前記N個の候補文データのそれぞれについての前記スコアSに基づいて、前記N個の候補文データから1個の候補文データを認識結果として選択し、前記認識結果を前記音声データに対応するテキストとして出力するエラー検出部と、
を備えたことを特徴とする音声認識装置。
【請求項3】
請求項2に記載の音声認識装置において、
さらに、認識結果修正部を備え、
前記エラー検出部は、
前記N個の候補文データのそれぞれについての前記スコアSに基づいて前記認識結果を選択する際に、さらに、前記1個の候補文データに対応する前記モデル毎のデータ列を、前記認識結果のモデル毎のデータ列として選択すると共に、前記1個の候補文データに対応する前記スコアSASRを、前記認識結果のスコアSASRとして選択し、
前記認識結果のモデル毎のデータ列に含まれる前記トークン毎のエラーの確率、及び前記認識結果のスコアSASRに基づいて、前記認識結果におけるトークン毎の置換エラー、削除エラー及び挿入エラーのそれぞれが発生する確率を信頼度スコアとして算出し、
前記認識結果におけるトークン毎の前記置換エラー、前記削除エラー及び前記挿入エラーのそれぞれの信頼度スコアに基づいて、前記認識結果内で前記置換エラー、前記削除エラー及び前記挿入エラーのそれぞれが発生した位置を求め、エラーの位置及び種類を明示したエラー付認識結果を生成し、
前記認識結果修正部は、
前記エラー検出部により生成されたエラー付認識結果を画面表示し、ユーザ操作に従い、前記エラー付認識結果を修正し、修正後の認識結果の文を前記音声データに対応するテキストとして出力する、ことを特徴とする音声認識装置。
【請求項4】
請求項2に記載の音声認識装置において、
前記エラー検出部は、
前記N個の候補文データのそれぞれについて、当該候補文データをトークン化し、候補文のトークン列を生成するトークン化部と、
前記置換エラー検出モデルを用いて、前記トークン化部により生成された前記候補文のトークン列から前記データ列を置換エラーデータ列として推定し、前記削除エラー検出モデルを用いて、前記候補文のトークン列から前記データ列を削除エラーデータ列として推定し、前記挿入エラー検出モデルを用いて、前記候補文のトークン列から前記データ列を挿入エラーデータ列として推定し、前記置換エラーデータ列、前記削除エラーデータ列及び前記挿入エラーデータ列に含まれる前記トークン毎のエラーの確率に基づいて、前記候補文データのスコアSdiscを求めるエラー検出処理部と、
前記候補文データの前記スコアSASRを、前記エラー検出処理部により求めた前記スコアSdiscにより補正することで、前記候補文データのスコアSを求めるスコア補正部と、
前記スコア補正部により求めた前記N個の候補文データのそれぞれについての前記スコアSに基づいて、前記N個の候補文データから1個の候補文データを前記認識結果として選択し、前記認識結果を前記音声データに対応するテキストとして出力する認識結果選択部と、
を備えたことを特徴とする音声認識装置。
【請求項5】
請求項3に記載の音声認識装置において、
前記エラー検出部は、
前記N個の候補文データのそれぞれについて、当該候補文データをトークン化し、候補文のトークン列を生成するトークン化部と、
前記置換エラー検出モデルを用いて、前記トークン化部により生成された前記候補文のトークン列から前記データ列を置換エラーデータ列として推定し、前記削除エラー検出モデルを用いて、前記候補文のトークン列から前記データ列を削除エラーデータ列として推定し、前記挿入エラー検出モデルを用いて、前記候補文のトークン列から前記データ列を挿入エラーデータ列として推定し、前記置換エラーデータ列、前記削除エラーデータ列及び前記挿入エラーデータ列に含まれる前記トークン毎のエラーの確率に基づいて、前記候補文データのスコアSdiscを求めるエラー検出処理部と、
前記候補文データの前記スコアSASRを、前記エラー検出処理部により求めた前記スコアSdiscにより補正することで、前記候補文データのスコアSを求めるスコア補正部と、
前記スコア補正部により求めた前記N個の候補文データのそれぞれについての前記スコアSに基づいて、前記N個の候補文データから1個の候補文データを前記認識結果として選択すると共に、前記1個の候補文データに対応する前記置換エラーデータ列、前記削除エラーデータ列及び前記挿入エラーデータ列並びにスコアSASRを、認識結果の置換エラーデータ列、認識結果の削除エラーデータ列及び認識結果の挿入エラーデータ列並びに認識結果のスコアSASRとして選択する認識結果選択部と、
前記認識結果選択部により選択された前記認識結果の置換エラーデータ列に含まれる前記トークン毎のエラーの確率及び前記認識結果のスコアSASRに基づいて、前記認識結果におけるトークン毎の置換エラーが発生する確率を、置換エラーの信頼度スコアとして算出し、前記認識結果の削除エラーデータ列に含まれる前記トークン毎のエラーの確率及び前記認識結果のスコアSASRに基づいて、前記認識結果におけるトークン毎の前記削除エラーが発生する確率を、削除エラーの信頼度スコアとして算出し、前記認識結果の挿入エラーデータ列に含まれる前記トークン毎のエラーの確率及び前記認識結果のスコアSASRに基づいて、前記認識結果におけるトークン毎の前記挿入エラーが発生する確率を、挿入エラーの信頼度スコアとして算出する信頼度スコア算出部と、
前記信頼度スコア算出部により算出された前記認識結果におけるトークン毎の前記置換エラーの信頼度スコアに対する閾値処理により、前記認識結果のトークン列に対応する前記置換エラーの有無の位置を示す二値データ列を生成し、前記認識結果におけるトークン毎の前記削除エラーの信頼度スコアに対する閾値処理により、前記認識結果のトークン列に対応する前記削除エラーの有無の位置を示す二値データ列を生成し、前記認識結果におけるトークン毎の前記挿入エラーの信頼度スコアに対する閾値処理により、前記認識結果のトークン列に対応する前記挿入エラーの有無の位置を示す二値データ列を生成する閾値判定部と、
前記閾値判定部により生成されたそれぞれの前記二値データ列に基づいて、前記エラー付認識結果を生成するエラー処理部と、
を備えたことを特徴とする音声認識装置。
【請求項6】
音声認識のエラーを検出するためのエラー検出モデルを生成する学習装置を構成するコンピュータを、
事前学習用の文データをトークン化し、文のトークン列を生成するトークン化部、
前記トークン化部により生成された前記文のトークン列からランダムにトークンを削除することで削除エラーを発生させ、前記削除エラーを含む文のトークン列を生成すると共に、前記削除エラーを含む文のトークン列に対応する、前記削除エラーの有無の位置を示す二値データ列を生成する削除エラー処理部、
前記削除エラー処理部により生成された前記二値データ列を正解データとして、前記削除エラー処理部により生成された前記削除エラーを含む文のトークン列及び前記正解データを用いて、文のトークン列と、当該文のトークン列に対応する、トークン毎の削除エラーの確率を示すデータ列との間の関係を学習する第1学習部、
前記トークン化部により生成された前記文のトークン列に対しランダムにトークンを挿入することで挿入エラーを発生させ、前記挿入エラーを含む文のトークン列を生成すると共に、前記挿入エラーを含む文のトークン列に対応する、前記挿入エラーの有無の位置を示す二値データ列を生成する挿入エラー処理部、及び、
前記挿入エラー処理部により生成された前記二値データ列を正解データとして、前記挿入エラー処理部により生成された前記挿入エラーを含む文のトークン列及び前記正解データを用いて、文のトークン列と、当該文のトークン列に対応する、トークン毎の挿入エラーの確率を示すデータ列との間の関係を学習する第2学習部として機能させ、
前記第1学習部は、さらに、
所定の音声認識処理により生成された削除エラーを含む文のトークン列を取得し、前記削除エラーを含む文のトークン列に対応する、前記削除エラーの有無の位置を示す二値データ列を正解データとして、前記削除エラーを含む文のトークン列及び前記正解データを用いてファインチューニングを行い、学習済みモデルとして削除エラー検出モデルを生成し、
前記第2学習部は、さらに、
所定の音声認識処理により生成された挿入エラーを含む文のトークン列を取得し、前記挿入エラーを含む文のトークン列に対応する、前記挿入エラーの有無の位置を示す二値データ列を正解データとして、前記挿入エラーを含む文のトークン列及び前記正解データを用いてファインチューニングを行い、学習済みモデルとして挿入エラー検出モデルを生成する、ことを特徴とするプログラム。
【請求項7】
音声データを入力し、音声認識処理により前記音声データに対応するテキストを生成する音声認識装置を構成するコンピュータを、
所定の音声認識モデルを用いて、前記音声データから複数の候補文データを推定し、スコアSASRの高い順にN個(Nは2以上の整数)の候補文データ及び前記スコアSASRを出力する音声認識部、及び、
前記音声認識部により出力された前記N個の候補文データのそれぞれについて、当該候補文データをトークン化し、候補文のトークン列を生成し、
予め設定された置換エラー検出モデル、並びに請求項1に記載の学習装置により生成された前記削除エラー検出モデル及び前記挿入エラー検出モデルを用いて、前記候補文のトークン列から、当該候補文のトークン列に対応する、トークン毎のエラーの確率を示すデータ列をそれぞれ推定することで、モデル毎のデータ列を求め、当該モデル毎のデータ列に基づいてスコアSdiscを求め、
前記音声認識部により出力された当該候補文データに対応するスコアSASRを、前記スコアSdiscにより補正することで、スコアSを求め、
前記N個の候補文データのそれぞれについての前記スコアSに基づいて、前記N個の候補文データから1個の候補文データを認識結果として選択し、前記認識結果を前記音声データに対応するテキストとして出力するエラー検出部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声認識のエラーを検出するためのモデルを生成する学習装置、音声認識装置及びプログラムに関し、特に、字幕放送サービスにおいて、音声認識技術による認識結果に対しエラーを検出する技術に関する。
【背景技術】
【0002】
従来、放送番組の音声を字幕にて画面表示する字幕放送サービスが行われている。この字幕放送サービスの生番組にて字幕を制作する技術としては、音声認識技術を用いて音声データをテキスト化して字幕を制作し、制作された字幕に対して人手により修正を加える手法が知られている(例えば非特許文献1を参照)。
【0003】
また、エンドツーエンド(end-to-end)音声認識モデルにより音声データからテキストを推定したときの認識結果を改善する技術が知られている。
【0004】
例えば、自然言語処理タスクのための事前学習モデルの効率的な事前学習を行うために、置換トークン検出タスクを用いる手法が開示されている(例えば非特許文献2を参照)。また、音声認識の精度を向上させるために、置換トークン検出タスクで事前学習された言語モデルであるELECTRAを用いる手法も開示されている(例えば非特許文献3を参照)。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】小森智康、“生放送番組における自動字幕制作の最新動向”、[online]、NHK技研R&D、2020年夏号解説02、NHK放送技術研究所、[令和4年1月13日検索]、インターネット<URL:https://www.nhk.or.jp/strl/publica/rd/182/3.html>
【非特許文献2】Kevin Clark et al.,“ELECTRA:PRE-TRAINING TEXT ENCODERS AS DISCRIMINATORS RATHER THAN GENERATORS”,arXiv:2003.10555v1 [cs.CL] 23 Mar 2020 ICLR2020
【非特許文献3】Hayato Futami et al.,“ASR RESCORING AND CONFIDENCE ESTIMATION WITH ELECTRA”,arXiv:2110.01857v1 [cs.CL] 5 Oct 2021 ASRU2021
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、前述の非特許文献2の手法では、音声認識の出力結果に対する誤り検出は、出力結果に対して一部の単語等が他の単語等に置き換わる置換エラーのみに対応しているに過ぎない。
【0007】
このため、字幕放送サービスに前述の非特許文献2の手法を適用した場合には、音声認識の出力結果の置換エラーに修正を加えることは可能であるが、音声認識精度の向上に十分に寄与できないという問題があった。
【0008】
一般に、生放送番組に音声認識技術を用いた場合、音声認識の出力結果については一部の単語が削除される削除エラーが最も多く、元の音声データと関係のない単語が挿入される挿入エラーも発生することがあり得る。このため、字幕放送サービスにおける音声認識精度を向上させるために、置換エラーだけでなく、削除エラー及び挿入エラーにも対応可能な手法が所望されていた。
【0009】
また、音声認識の出力結果に対して人手により修正を加える場合、その確認作業に大きな手間がかかってしまうという問題もあった。このため、字幕修正作業の効率化を図るために、出力結果に対してエラーが発生している箇所を明示すると共に、エラー(置換エラー、削除エラー及び挿入エラー)の種類も明示する手法が所望されていた。
【0010】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、字幕放送サービスにおいて、音声認識精度を向上させることが可能な学習装置及び音声認識装置を提供することにある。
【課題を解決するための手段】
【0011】
前記課題を解決するために、請求項1の学習装置は、音声認識のエラーを検出するためのエラー検出モデルを生成する学習装置において、事前学習用の文データをトークン化し、文のトークン列を生成するトークン化部と、前記トークン化部により生成された前記文のトークン列からランダムにトークンを削除することで削除エラーを発生させ、前記削除エラーを含む文のトークン列を生成すると共に、前記削除エラーを含む文のトークン列に対応する、前記削除エラーの有無の位置を示す二値データ列を生成する削除エラー処理部と、前記削除エラー処理部により生成された前記二値データ列を正解データとして、前記削除エラー処理部により生成された前記削除エラーを含む文のトークン列及び前記正解データを用いて、文のトークン列と、当該文のトークン列に対応する、トークン毎の削除エラーの確率を示すデータ列との間の関係を学習する第1学習部と、前記トークン化部により生成された前記文のトークン列に対しランダムにトークンを挿入することで挿入エラーを発生させ、前記挿入エラーを含む文のトークン列を生成すると共に、前記挿入エラーを含む文のトークン列に対応する、前記挿入エラーの有無の位置を示す二値データ列を生成する挿入エラー処理部と、前記挿入エラー処理部により生成された前記二値データ列を正解データとして、前記挿入エラー処理部により生成された前記挿入エラーを含む文のトークン列及び前記正解データを用いて、文のトークン列と、当該文のトークン列に対応する、トークン毎の挿入エラーの確率を示すデータ列との間の関係を学習する第2学習部と、を備え、前記第1学習部が、さらに、所定の音声認識処理により生成された削除エラーを含む文のトークン列を取得し、前記削除エラーを含む文のトークン列に対応する、前記削除エラーの有無の位置を示す二値データ列を正解データとして、前記削除エラーを含む文のトークン列及び前記正解データを用いてファインチューニングを行い、学習済みモデルとして削除エラー検出モデルを生成し、前記第2学習部が、さらに、所定の音声認識処理により生成された挿入エラーを含む文のトークン列を取得し、前記挿入エラーを含む文のトークン列に対応する、前記挿入エラーの有無の位置を示す二値データ列を正解データとして、前記挿入エラーを含む文のトークン列及び前記正解データを用いてファインチューニングを行い、学習済みモデルとして挿入エラー検出モデルを生成する、ことを特徴とする。
【0012】
さらに、請求項2の音声認識装置は、音声データを入力し、音声認識処理により前記音声データに対応するテキストを生成する音声認識装置において、所定の音声認識モデルを用いて、前記音声データから複数の候補文データを推定し、スコアSASRの高い順にN個(Nは2以上の整数)の候補文データ及び前記スコアSASRを出力する音声認識部と、前記音声認識部により出力された前記N個の候補文データのそれぞれについて、当該候補文データをトークン化し、候補文のトークン列を生成し、予め設定された置換エラー検出モデル、並びに請求項1に記載の学習装置により生成された前記削除エラー検出モデル及び前記挿入エラー検出モデルを用いて、前記候補文のトークン列から、当該候補文のトークン列に対応する、トークン毎のエラーの確率を示すデータ列をそれぞれ推定することで、モデル毎のデータ列を求め、当該モデル毎のデータ列に基づいてスコアSdiscを求め、前記音声認識部により出力された当該候補文データに対応するスコアSASRを、前記スコアSdiscにより補正することで、スコアSを求め、前記N個の候補文データのそれぞれについての前記スコアSに基づいて、前記N個の候補文データから1個の候補文データを認識結果として選択し、前記認識結果を前記音声データに対応するテキストとして出力するエラー検出部と、を備えたことを特徴とする。
【0013】
また、請求項3の音声認識装置は、請求項2に記載の音声認識装置において、さらに、認識結果修正部を備え、前記エラー検出部が、前記N個の候補文データのそれぞれについての前記スコアSに基づいて前記認識結果を選択する際に、さらに、前記1個の候補文データに対応する前記モデル毎のデータ列を、前記認識結果のモデル毎のデータ列として選択すると共に、前記1個の候補文データに対応する前記スコアSASRを、前記認識結果のスコアSASRとして選択し、前記認識結果のモデル毎のデータ列に含まれる前記トークン毎のエラーの確率、及び前記認識結果のスコアSASRに基づいて、前記認識結果におけるトークン毎の置換エラー、削除エラー及び挿入エラーのそれぞれが発生する確率を信頼度スコアとして算出し、前記認識結果におけるトークン毎の前記置換エラー、前記削除エラー及び前記挿入エラーのそれぞれの信頼度スコアに基づいて、前記認識結果内で前記置換エラー、前記削除エラー及び前記挿入エラーのそれぞれが発生した位置を求め、エラーの位置及び種類を明示したエラー付認識結果を生成し、前記認識結果修正部が、前記エラー検出部により生成されたエラー付認識結果を画面表示し、ユーザ操作に従い、前記エラー付認識結果を修正し、修正後の認識結果の文を前記音声データに対応するテキストとして出力する、ことを特徴とする。
【0014】
また、請求項4の音声認識装置は、請求項2に記載の音声認識装置において、前記エラー検出部が、前記N個の候補文データのそれぞれについて、当該候補文データをトークン化し、候補文のトークン列を生成するトークン化部と、前記置換エラー検出モデルを用いて、前記トークン化部により生成された前記候補文のトークン列から前記データ列を置換エラーデータ列として推定し、前記削除エラー検出モデルを用いて、前記候補文のトークン列から前記データ列を削除エラーデータ列として推定し、前記挿入エラー検出モデルを用いて、前記候補文のトークン列から前記データ列を挿入エラーデータ列として推定し、前記置換エラーデータ列、前記削除エラーデータ列及び前記挿入エラーデータ列に含まれる前記トークン毎のエラーの確率に基づいて、前記候補文データのスコアSdiscを求めるエラー検出処理部と、前記候補文データの前記スコアSASRを、前記エラー検出処理部により求めた前記スコアSdiscにより補正することで、前記候補文データのスコアSを求めるスコア補正部と、前記スコア補正部により求めた前記N個の候補文データのそれぞれについての前記スコアSに基づいて、前記N個の候補文データから1個の候補文データを前記認識結果として選択し、前記認識結果を前記音声データに対応するテキストとして出力する認識結果選択部と、を備えたことを特徴とする。
【0015】
また、請求項5の音声認識装置は、請求項3に記載の音声認識装置において、前記エラー検出部が、前記N個の候補文データのそれぞれについて、当該候補文データをトークン化し、候補文のトークン列を生成するトークン化部と、前記置換エラー検出モデルを用いて、前記トークン化部により生成された前記候補文のトークン列から前記データ列を置換エラーデータ列として推定し、前記削除エラー検出モデルを用いて、前記候補文のトークン列から前記データ列を削除エラーデータ列として推定し、前記挿入エラー検出モデルを用いて、前記候補文のトークン列から前記データ列を挿入エラーデータ列として推定し、前記置換エラーデータ列、前記削除エラーデータ列及び前記挿入エラーデータ列に含まれる前記トークン毎のエラーの確率に基づいて、前記候補文データのスコアSdiscを求めるエラー検出処理部と、前記候補文データの前記スコアSASRを、前記エラー検出処理部により求めた前記スコアSdiscにより補正することで、前記候補文データのスコアSを求めるスコア補正部と、前記スコア補正部により求めた前記N個の候補文データのそれぞれについての前記スコアSに基づいて、前記N個の候補文データから1個の候補文データを前記認識結果として選択すると共に、前記1個の候補文データに対応する前記置換エラーデータ列、前記削除エラーデータ列及び前記挿入エラーデータ列並びにスコアSASRを、認識結果の置換エラーデータ列、認識結果の削除エラーデータ列及び認識結果の挿入エラーデータ列並びに認識結果のスコアSASRとして選択する認識結果選択部と、前記認識結果選択部により選択された前記認識結果の置換エラーデータ列に含まれる前記トークン毎のエラーの確率及び前記認識結果のスコアSASRに基づいて、前記認識結果におけるトークン毎の置換エラーが発生する確率を、置換エラーの信頼度スコアとして算出し、前記認識結果の削除エラーデータ列に含まれる前記トークン毎のエラーの確率及び前記認識結果のスコアSASRに基づいて、前記認識結果におけるトークン毎の前記削除エラーが発生する確率を、削除エラーの信頼度スコアとして算出し、前記認識結果の挿入エラーデータ列に含まれる前記トークン毎のエラーの確率及び前記認識結果のスコアSASRに基づいて、前記認識結果におけるトークン毎の前記挿入エラーが発生する確率を、挿入エラーの信頼度スコアとして算出する信頼度スコア算出部と、前記信頼度スコア算出部により算出された前記認識結果におけるトークン毎の前記置換エラーの信頼度スコアに対する閾値処理により、前記認識結果のトークン列に対応する前記置換エラーの有無の位置を示す二値データ列を生成し、前記認識結果におけるトークン毎の前記削除エラーの信頼度スコアに対する閾値処理により、前記認識結果のトークン列に対応する前記削除エラーの有無の位置を示す二値データ列を生成し、前記認識結果におけるトークン毎の前記挿入エラーの信頼度スコアに対する閾値処理により、前記認識結果のトークン列に対応する前記挿入エラーの有無の位置を示す二値データ列を生成する閾値判定部と、前記閾値判定部により生成されたそれぞれの前記二値データ列に基づいて、前記エラー付認識結果を生成するエラー処理部と、を備えたことを特徴とする。
【0016】
さらに、請求項6のプログラムは、音声認識のエラーを検出するためのエラー検出モデルを生成する学習装置を構成するコンピュータを、事前学習用の文データをトークン化し、文のトークン列を生成するトークン化部、前記トークン化部により生成された前記文のトークン列からランダムにトークンを削除することで削除エラーを発生させ、前記削除エラーを含む文のトークン列を生成すると共に、前記削除エラーを含む文のトークン列に対応する、前記削除エラーの有無の位置を示す二値データ列を生成する削除エラー処理部、前記削除エラー処理部により生成された前記二値データ列を正解データとして、前記削除エラー処理部により生成された前記削除エラーを含む文のトークン列及び前記正解データを用いて、文のトークン列と、当該文のトークン列に対応する、トークン毎の削除エラーの確率を示すデータ列との間の関係を学習する第1学習部、前記トークン化部により生成された前記文のトークン列に対しランダムにトークンを挿入することで挿入エラーを発生させ、前記挿入エラーを含む文のトークン列を生成すると共に、前記挿入エラーを含む文のトークン列に対応する、前記挿入エラーの有無の位置を示す二値データ列を生成する挿入エラー処理部、及び、前記挿入エラー処理部により生成された前記二値データ列を正解データとして、前記挿入エラー処理部により生成された前記挿入エラーを含む文のトークン列及び前記正解データを用いて、文のトークン列と、当該文のトークン列に対応する、トークン毎の挿入エラーの確率を示すデータ列との間の関係を学習する第2学習部として機能させ、前記第1学習部は、さらに、所定の音声認識処理により生成された削除エラーを含む文のトークン列を取得し、前記削除エラーを含む文のトークン列に対応する、前記削除エラーの有無の位置を示す二値データ列を正解データとして、前記削除エラーを含む文のトークン列及び前記正解データを用いてファインチューニングを行い、学習済みモデルとして削除エラー検出モデルを生成し、前記第2学習部は、さらに、所定の音声認識処理により生成された挿入エラーを含む文のトークン列を取得し、前記挿入エラーを含む文のトークン列に対応する、前記挿入エラーの有無の位置を示す二値データ列を正解データとして、前記挿入エラーを含む文のトークン列及び前記正解データを用いてファインチューニングを行い、学習済みモデルとして挿入エラー検出モデルを生成する、ことを特徴とする。
【0017】
また、請求項7のプログラムは、音声データを入力し、音声認識処理により前記音声データに対応するテキストを生成する音声認識装置を構成するコンピュータを、所定の音声認識モデルを用いて、前記音声データから複数の候補文データを推定し、スコアSASRの高い順にN個(Nは2以上の整数)の候補文データ及び前記スコアSASRを出力する音声認識部、及び、前記音声認識部により出力された前記N個の候補文データのそれぞれについて、当該候補文データをトークン化し、候補文のトークン列を生成し、予め設定された置換エラー検出モデル、並びに請求項1に記載の学習装置により生成された前記削除エラー検出モデル及び前記挿入エラー検出モデルを用いて、前記候補文のトークン列から、当該候補文のトークン列に対応する、トークン毎のエラーの確率を示すデータ列をそれぞれ推定することで、モデル毎のデータ列を求め、当該モデル毎のデータ列に基づいてスコアSdiscを求め、前記音声認識部により出力された当該候補文データに対応するスコアSASRを、前記スコアSdiscにより補正することで、スコアSを求め、前記N個の候補文データのそれぞれについての前記スコアSに基づいて、前記N個の候補文データから1個の候補文データを認識結果として選択し、前記認識結果を前記音声データに対応するテキストとして出力するエラー検出部として機能させることを特徴とする。
【発明の効果】
【0018】
以上のように、本発明によれば、字幕放送サービスにおいて、音声認識精度を向上させることが可能となる。
【図面の簡単な説明】
【0019】
【
図1】本発明の実施形態による学習装置の構成例を示すブロック図である。
【
図2】学習装置の処理例を示すフローチャートである。
【
図3】文データから文のトークン列及び二値データ列を生成するまでの例を説明する図である。
【
図5】本発明の実施形態による音声認識装置の構成例を示すブロック図である。
【
図6】音声認識装置の処理例の概要を説明する図である。
【
図7】音声認識装置の処理例を示すフローチャートである。
【
図8】エラー検出部の構成例を示すブロック図である。
【
図9】エラー検出処理部の構成例を示すブロック図である。
【
図10】認識結果エラー処理部の構成例を示すブロック図である。
【
図11】(a)は、正しい認識結果の例を示す図である。(b)は、エラー付認識結果の例を示す図である。
【発明を実施するための形態】
【0020】
以下、本発明を実施するための形態について図面を用いて詳細に説明する。本発明は、エンドツーエンド音声認識モデルの出力結果を改善するために、トークンをランダムに削除した後の文のトークン列を用いて学習を行うことで、削除エラー検出モデルを生成し、トークンをランダムに挿入した後の文のトークン列を用いて学習を行うことで、挿入エラー検出モデルを生成することを特徴とする。
【0021】
また、本発明は、従来の置換エラー検出モデル、並びに前述の学習により生成された削除エラー検出モデル及び挿入エラー検出モデルを用いて、音声認識により推定されたN個の候補文のそれぞれにつきエラーが発生するトークン毎の確率(エラー確率)を求め、N個の候補文のスコアを補正することで、1個の候補文を選択することを特徴とする。Nは2以上の整数である。
【0022】
これにより、音声認識により推定された候補文のスコアが、トークン毎の置換エラー、削除エラー及び挿入エラーの観点から補正されるため、選択された1個の候補文は精度の高いテキストとなり、結果として、音声認識精度を向上させることが可能となる。
【0023】
ここで、置換エラー、削除エラー及び挿入エラーの例について説明する。例えば、正しい音声認識の出力結果が「あいうえお」の場合を想定する。この場合、音声認識により「う」が「鵜」に誤認識されたとすると、出力結果「あい鵜えお」には置換エラーが含まれることとなる。
【0024】
また、音声認識により「う」が認識されなかったとすると、出力結果「あいえお」には削除エラーが含まれることとなる。また、音声認識により「う」と「え」との間に「か」が認識されたとすると、出力結果「あいうかえお」には挿入エラーが含まれることとなる。
【0025】
〔学習装置〕
まず、本発明の実施形態による学習装置について説明する。
図1は、本発明の実施形態による学習装置の構成例を示すブロック図であり、
図2は、学習装置の処理例を示すフローチャートである。
【0026】
この学習装置1は、事前学習用テキストデータを用いて、モデルの事前学習を行い、ファインチューニング用音声認識結果等を用いて、モデルのファインチューニングを行うことで、学習済みモデルとして、削除エラー検出モデル及び挿入エラー検出モデルを生成する装置である。
【0027】
学習装置1は、分割部10、トークン化部11、削除エラー処理部12、挿入エラー処理部13、学習部14,15、データ生成部16及び記憶部17を備えている。
【0028】
分割部10は、事前学習用テキストデータを入力し(ステップS201)、事前学習用テキストデータを文単位に分割し、文毎のデータ(文データ)を生成する(ステップS202)。そして、分割部10は、文データをトークン化部11に出力する。
【0029】
トークン化部11は、分割部10から文データを入力し、文データをトークン化し、文のトークン列を生成する(ステップS203)。そして、トークン化部11は、文のトークン列を削除エラー処理部12及び挿入エラー処理部13に出力する。
【0030】
図3は、文データから文のトークン列及び二値データ列を生成するまでの例を説明する図である。例えば、文データが「he has a pen」の場合、トークン化部11のステップS203の処理により、文データ「he has a pen」がトークン化され、文のトークン列「he/has/a/pen」が生成される。ここでは、文データを構成する各単語を「/」の記号により区分けした表記を、文のトークン列とする。
【0031】
図1及び
図2に戻って、削除エラー処理部12は、トークン化部11から文のトークン列を入力する。そして、削除エラー処理部12は、文のトークン列に対して、15%の確率でランダムにトークンを削除することで、削除エラーを発生させ、削除エラーを含む文のトークン列(以下、文のトークン列(削除)という。)を生成する(ステップS204)。
【0032】
削除エラー処理部12は、文のトークン列(削除)に対応して、削除エラーの有無の位置を示すトークン毎の二値データからなる二値データ列(正解データ)を生成する(ステップS205)。具体的には、削除エラー処理部12は、文のトークン列(削除)に対応して、削除エラーが発生した箇所を「1」とし、削除エラーが発生していない箇所を「0」とする二値データ列を生成する。この二値データ列は、後述する学習部14において正解データとして用いられる。
【0033】
これにより、削除エラーが発生した箇所を「1」とするワンホットベクトルの二値データ列が正解データとして生成され、文のトークン列(削除)及び二値データ列からなるデータセットが生成される。
【0034】
削除エラー処理部12は、文のトークン列(削除)及び二値データ列を学習部14に出力する。
【0035】
図3を参照して、前述の例では、文のトークン列が「he/has/a/pen」の場合、削除エラー処理部12のステップS204の処理により、文のトークン列「he/has/a/pen」に対してランダムに削除エラーを発生させることで、例えば「a」が削除される。そして、文のトークン列(削除)「he/has/pen」が生成される。
【0036】
また、削除エラー処理部12のステップS205の処理により、文のトークン列(削除)「he/has/pen」に対応して、削除エラーの有無の位置を示す二値データからなる二値データ列「0,0,1」が生成される。尚、複数の削除エラーの発生に対応するために、当該削除エラーに対応するトークンの前に、削除エラー有りを示す「1」が設定される。
【0037】
図1及び
図2に戻って、学習部14は、削除エラー処理部12から文のトークン列(削除)及び二値データ列を入力する。そして、学習部14は、文のトークン列(削除)、及び二値データ列である正解データを用いて、文のトークン列を入力データとし、当該文のトークン列に対応する、トークン毎の削除エラーの確率を示すデータ列を出力データとするモデルの事前学習を行う(ステップS206)。
【0038】
図4は、学習部14の処理例を説明する図である。
図4に示すように、学習部14は、モデル20及び更新部21を備えている。文のトークン列(削除)がモデル20に入力され、モデル20からトークン毎の削除エラーの確率を示すデータ列が出力される。そして、更新部21により、二値データ列である正解データと、トークン毎の削除エラーの確率を示すデータ列とが一致するように、モデル20のパラメータが更新される。
【0039】
図4に示す削除エラーを検出するためのモデル20及び挿入エラーを検出するためのモデル22の構造はいずれも、前述の非特許文献2と同様のニューラルネットワークであるELECTRAが用いられる。このニューラルネットワークは、BERTの最終層をシグモイド(sigmoid)関数に変更したモデルである。
【0040】
また、モデル20,22の事前学習及び後述するファインチューニングにおいて、損失関数としてエラーがあったか否かの二値分類のために、バイナリークロスエントロピー誤差を用いる。誤差逆伝播法により、損失関数の値が小さくなるように学習が行われる。
【0041】
図1及び
図2に戻って、挿入エラー処理部13は、トークン化部11から文のトークン列を入力する。そして、挿入エラー処理部13は、文のトークン列に対して、15%の確率でランダムにトークンを挿入することで、挿入エラーを発生させ、挿入エラーを含む文のトークン列(以下、文のトークン列(挿入)という。)を生成する(ステップS207)。
【0042】
挿入エラー処理部13は、文のトークン列(挿入)に対応して、挿入エラーの有無の位置を示すトークン毎の二値データからなる二値データ列(正解データ)を生成する(ステップS208)。具体的には、挿入エラー処理部13は、文のトークン列(挿入)に対応して、挿入エラーが発生した箇所を「1」とし、挿入エラーが発生していない箇所を「0」とする二値データ列を生成する。この二値データ列は、後述する学習部15において正解データとして用いられる。
【0043】
これにより、挿入エラーが発生した箇所を「1」とするワンホットベクトルの二値データ列が正解データとして生成され、文のトークン列(挿入)及び二値データ列からなるデータセットが生成される。
【0044】
挿入エラー処理部13は、文のトークン列(挿入)及び二値データ列を学習部15に出力する。
【0045】
図3を参照して、前述の例では、文のトークン列が「he/has/a/pen」の場合、挿入エラー処理部13のステップS207の処理により、文のトークン列「he/has/a/pen」に対してランダムに挿入エラーを発生させることで、例えば「a」と「pen」との間に「up」が挿入される。そして、文のトークン列(挿入)「he/has/a/up/pen」が生成される。
【0046】
また、挿入エラー処理部13のステップS208の処理により、文のトークン列(挿入)「he/has/a/up/pen」に対応して、挿入エラーの有無の位置を示す二値データからなる二値データ列「0,0,0,1,0」が生成される。
【0047】
図1及び
図2に戻って、学習部15は、挿入エラー処理部13から文のトークン列(挿入)及び二値データ列を入力する。そして、学習部15は、文のトークン列(挿入)、及び二値データ列である正解データを用いて、文のトークン列を入力データとし、当該文のトークン列に対応する、トークン毎の挿入エラーの確率を示すデータ列を出力データとするモデルの事前学習を行う(ステップS209)。
【0048】
図4を参照して、学習部15は、モデル22及び更新部23を備えている。文のトークン列(挿入)がモデル22に入力され、モデル22からトークン毎の挿入エラーの確率を示すデータ列が出力される。そして、更新部23により、二値データ列である正解データと、トークン毎の挿入エラーの確率を示すデータ列とが一致するように、モデル22のパラメータが更新される。
【0049】
図1及び
図2に戻って、データ生成部16は、ステップS206,S209の事前学習が完了した後、ファインチューニング用音声認識結果等を入力する。
【0050】
このファインチューニング用音声認識結果等は、例えば事前学習されたモデルを用いて推定された、実際の音声認識結果、並びにエラーが発生した位置及びエラーの種類の情報が含まれる。
【0051】
データ生成部16は、ファインチューニング用音声認識結果等に基づいて、実際の音声認識結果等が反映された文のトークン列(削除)及びこれに対応する二値データ列を生成すると共に、文のトークン列(挿入)及びこれに対応する二値データ列を生成する(ステップS210)。この二値データ列は、後述する学習部14,15において正解データとして用いられる。
【0052】
データ生成部16は、文のトークン列(削除)及び二値データ列を学習部14に出力し、文のトークン列(挿入)及び二値データ列を学習部15に出力する。
【0053】
学習部14は、データ生成部16から文のトークン列(削除)及び二値データ列を入力する。そして、学習部14は、文のトークン列(削除)及び二値データ列を用いて、ステップS206にて事前学習されたモデルのファインチューニングを行う(ステップS211)。ファインチューニングの処理は、
図4に示したとおりである。
【0054】
学習部14は、ステップS211のファインチューニングにより、学習済みモデルとして削除エラー検出モデルを生成し、これを記憶部17に格納する(ステップS212)。
【0055】
学習部15は、データ生成部16から文のトークン列(挿入)及び二値データ列を入力する。そして、学習部15は、文のトークン列(挿入)及び二値データ列を用いて、ステップS209にて事前学習されたモデルのファインチューニングを行う(ステップS213)。ファインチューニングの処理は、
図4に示したとおりである。
【0056】
学習部15は、ステップS213のファインチューニングにより、学習済みモデルとして挿入エラー検出モデルを生成し、これを記憶部17に格納する(ステップS214)。
【0057】
以上のように、本発明の実施形態の学習装置1によれば、分割部10は、事前学習用テキストデータを文単位に分割し、文毎の文データを生成し、トークン化部11は、文データをトークン化し、文のトークン列を生成する。
【0058】
削除エラー処理部12は、文のトークン列に対して、15%の確率でランダムにトークンを削除することで、文のトークン列(削除)を生成し、二値データ列(正解データ)を生成する。
【0059】
学習部14は、文のトークン列(削除)及び二値データ列である正解データを用いて、文のトークン列を入力データとし、当該文のトークン列に対応する、トークン毎の削除エラーの確率を示すデータ列を出力データとするモデルの事前学習を行う。そして、学習部14は、事前学習の後、ファインチューニング用音声認識結果等から生成された文のトークン列(削除)及び二値データ列である正解データを用いて、ファインチューニングを行うことで、学習済みモデルとして削除エラー検出モデルを生成する。
【0060】
挿入エラー処理部13は、文のトークン列に対して、15%の確率でランダムにトークンを挿入することで、文のトークン列(挿入)を生成し、二値データ列(正解データ)を生成する。
【0061】
学習部15は、文のトークン列(挿入)及び二値データ列である正解データを用いて、文のトークン列を入力データとし、当該文のトークン列に対応する、トークン毎の挿入エラーの確率を示すデータ列を出力データとするモデルの事前学習を行う。そして、学習部15は、事前学習の後、ファインチューニング用音声認識結果等から生成された文のトークン列(挿入)及び二値データ列である正解データを用いて、ファインチューニングを行うことで、学習済みモデルとして挿入エラー検出モデルを生成する。
【0062】
これにより、後述する音声認識装置2は、従来の置換エラー検出モデル、並びに学習装置1により生成された削除エラー検出モデル及び挿入エラー検出モデルを用いて、音声認識により推定されたN個の候補文のそれぞれにつきトークン毎のエラーが発生する確率を求め、N個の候補文のスコアを補正することで、1個の候補文を選択することができる。
【0063】
これにより、音声認識により推定された候補文のスコアが、トークン毎の置換エラー、削除エラー及び挿入エラーの観点から補正されるため、選択された1個の候補文は精度の高いテキストとなる。音声認識により発生し得る置換エラーを低減することができることに加え、削除エラー及び挿入エラーについても低減することができる。したがって、音声認識精度を向上させることが可能となる。
【0064】
〔音声認識装置〕
次に、本発明の実施形態による音声認識装置について説明する。
図5は、本発明の実施形態による音声認識装置の構成例を示すブロック図であり、
図6は、音声認識装置の処理例の概要を説明する図である。
【0065】
この音声認識装置2は、非特許文献2により生成された従来の置換エラー検出モデル、並びに学習装置1により生成された削除エラー検出モデル及び挿入エラー検出モデルを用いて、音声認識により推定されたN個の候補文のそれぞれにつきトークン毎にエラーが発生する確率を求め、N個の候補文のスコアを補正して1個の候補文を選択し、当該1個の候補文の認識結果について、エラー種類別のトークン毎の信頼度スコアを算出し、エラーの位置及び種類を明示したエラー付認識結果を生成する装置である。
【0066】
音声認識装置2は、音声認識部30、記憶部31,34、エラー検出部32及び認識結果修正部33を備えている。記憶部31には、予め設定された従来の置換エラー検出モデル、並びに学習装置1により生成された削除エラー検出モデル及び挿入エラー検出モデルが格納されている。
【0067】
音声認識装置2は、音声認識部30において、音声データを入力し、音声認識モデルを用いた音声データ認識処理(ステップS601)を行い、N個の候補文データ及びスコアSASRを求める。この候補文データには、音声認識エラーが含まれる可能性がある。
【0068】
この音声認識の候補文データのスコアSASRは、高ければ高いほど、音声認識エラーが発生している可能性が低いことを示し、低ければ低いほど、音声認識エラーが発生している可能性が高いことを示す。
【0069】
音声認識装置2は、エラー検出部32において、置換エラー検出モデルを用いたエラー検出処理(ステップS602-1)、削除エラー検出モデルを用いたエラー検出処理(ステップS602-2)、及び挿入エラー検出モデルを用いたエラー検出処理(ステップS602-3)を行うことで、N個の候補文データのそれぞれについて、置換エラー、削除エラー及び挿入エラーを統合して反映したスコアSdiscを求める。
【0070】
そして、音声認識装置2は、エラー検出部32において、N個の候補文データのそれぞれについて、スコアSASRをスコアSdiscにより補正してスコアSを求め、スコアSに基づいて、1個の候補文データを認識結果として選択し、認識結果のトークン毎の信頼度スコアを算出する等のエラー付認識結果生成処理(ステップS603)を行うことで、エラー付認識結果を生成する。
【0071】
音声認識装置2は、認識結果修正部33において、ユーザ操作に従い、エラー付認識結果に対する修正処理(ステップS604)を行い、音声データに対応するテキストを生成して出力する。
【0072】
また、音声認識装置2は、認識結果修正部33において、ユーザ操作により修正が行われた部分のエラー付認識結果、エラーの位置及び種類をDB(データベース)として記憶部34に格納する。このDBは、
図1に示した学習装置1において、ファインチューニング用音声認識結果等のデータとして利用され、継続的にエラー検出精度を向上させるエラー検出モデルを生成することができる。
【0073】
図7は、音声認識装置2の処理例を示すフローチャートである。以下、
図5及び
図7を参照して、音声認識装置2の処理例について説明する。
【0074】
<音声認識部30>
音声認識部30は、音声認識結果のテキストを生成する対象の音声データを入力する(ステップS701)。そして、音声認識部30は、予め設定された音声認識モデルを用いて候補文データを推定し、スコアSASRの高い順に、N個の候補文データ及びN個のスコアSASRを特定する(ステップS702)。音声認識部30は、N個の候補文データ及びN個のスコアSASRをエラー検出部32に出力する。
【0075】
<エラー検出部32>
エラー検出部32は、音声認識部30からN個の候補文データ及びN個のスコアS
ASRを入力すると共に、記憶部31から置換エラー検出モデル、削除エラー検出モデル及び挿入エラー検出モデルを読み出す。そして、エラー検出部32は、後述するステップS703~S708の処理により、エラー付認識結果(候補文データに対し、エラーが発生している位置及び種類を付加したデータ)を生成し、エラー付認識結果を認識結果修正部33に出力する。以下、エラー検出部32について、
図8~
図10を参照して詳細に説明する。
【0076】
図8は、エラー検出部32の構成例を示すブロック図である。このエラー検出部32は、トークン化部40、エラー検出処理部41、スコア補正部42、認識結果選択部43及び認識結果エラー処理部44を備えている。
【0077】
(トークン化部40)
トークン化部40は、音声認識部30からN個の候補文データを入力し、N個の候補文データのそれぞれについて、当該候補文データをトークン化し、候補文のトークン列を生成する。そして、トークン化部40は、N個の候補文のトークン列をエラー検出処理部41及び認識結果選択部43に出力する。
【0078】
(エラー検出処理部41)
エラー検出処理部41は、トークン化部40からN個の候補文のトークン列を入力すると共に、記憶部31から置換エラー検出モデル、削除エラー検出モデル及び挿入エラー検出モデルを読み出す。
【0079】
エラー検出処理部41は、置換エラー検出モデル、削除エラー検出モデル及び挿入エラー検出モデルを用いて、モデル毎に、N個の候補文のトークン列のそれぞれについてデータ列Djを推定する(ステップS703)。データ列Djは、候補文データを構成する複数のトークンのそれぞれについてのエラー確率である。
【0080】
ここで、jは、置換エラー検出モデル、削除エラー検出モデル及び挿入エラー検出モデルの各モデル(各エラー)の種類を示し、j=1,2,3である。D1は、置換エラー検出モデルを用いて推定された置換エラーデータ列であり、D2は、削除エラー検出モデルを用いて推定された削除エラーデータ列であり、D3は、挿入エラー検出モデルを用いて推定された挿入エラーデータ列である。
【0081】
エラー検出処理部41は、N個の候補文のトークン列のそれぞれについて、モデル毎のデータ列Djに基づいて、置換エラー、削除エラー及び挿入エラーを統合したスコアSdiscを算出する(ステップS704)。
【0082】
エラー検出処理部41は、N個のスコアSdiscをスコア補正部42に出力すると共に、N個の候補文のトークン列のそれぞれにおけるモデル毎のデータ列Djを認識結果選択部43に出力する。
【0083】
図9は、エラー検出処理部41の構成例を示すブロック図である。このエラー検出処理部41は、置換エラー検出部50、削除エラー検出部51、挿入エラー検出部52及びスコア化部53を備えている。
【0084】
置換エラー検出部50は、トークン化部40からN個の候補文のトークン列を入力すると共に、記憶部31から置換エラー検出モデルを読み出す。そして、置換エラー検出部50は、N個の候補文のトークン列のそれぞれについて、置換エラー検出モデルを用いて、置換エラーのデータ列D1を推定する。
【0085】
置換エラー検出部50は、N個の置換エラーのデータ列D1をスコア化部53及び認識結果選択部43に出力する。
【0086】
削除エラー検出部51は、トークン化部40からN個の候補文のトークン列を入力すると共に、記憶部31から削除エラー検出モデルを読み出す。そして、削除エラー検出部51は、N個の候補文のトークン列のそれぞれについて、削除エラー検出モデルを用いて、削除エラーのデータ列D2を推定する。
【0087】
削除エラー検出部51は、N個の削除エラーのデータ列D2をスコア化部53及び認識結果選択部43に出力する。
【0088】
挿入エラー検出部52は、トークン化部40からN個の候補文のトークン列を入力すると共に、記憶部31から挿入エラー検出モデルを読み出す。そして、挿入エラー検出部52は、N個の候補文のトークン列のそれぞれについて、挿入エラー検出モデルを用いて、挿入エラーのデータ列D3を推定する。
【0089】
挿入エラー検出部52は、N個の挿入エラーのデータ列D3をスコア化部53及び認識結果選択部43に出力する。
【0090】
スコア化部53は、置換エラー検出部50からN個の置換エラーのデータ列D1を入力すると共に、削除エラー検出部51からN個の削除エラーのデータ列D2を入力し、さらに、挿入エラー検出部52からN個の挿入エラーのデータ列D3を入力する。
【0091】
スコア化部53は、N個の候補文のトークン列のそれぞれについて、以下の式により、置換エラー、削除エラー及び挿入エラーを統合したスコアS
discを算出する。そして、スコア化部53は、N個のスコアS
discをスコア補正部42に出力する。
【数1】
【0092】
iは、候補文データにおけるトークンのi番目の位置を示し、jは、前述のとおり、置換エラー検出モデル、削除エラー検出モデル及び挿入エラー検出モデルの各モデル(各エラー)の種類を示す。αjは、j番目のモデルにおける予め設定されたハイパーパラメータを示し、Dj
(i)は、i番目の位置のトークンにおけるj番目のモデルの出力(エラー確率)を示し、yは、候補文のトークン列を示す。Lは、候補文のトークン数を示す。
【0093】
このスコアSdiscは、絶対値|Sdisc|が大きいほど、当該トークンについてエラーが発生している可能性が高いことを示し、絶対値|Sdisc|が小さく0に近いほど、当該トークンについてエラーが発生している可能性が低いことを示す。
【0094】
(スコア補正部42)
図8に戻って、スコア補正部42は、エラー検出処理部41からN個のスコアS
discを入力すると共に、音声認識部30からN個のスコアS
ASRを入力する。
【0095】
スコア補正部42は、N個の候補文のトークン列のそれぞれについて、ステップS702にて推定された音声認識のスコアS
ASRを、ステップS704にて算出されたスコアS
discにより補正し、以下の式により補正後のスコアSを求める(ステップS705)。スコアSは、スコアS
ASR、スコアS
disc及び候補文のトークン列の長さに基づいて算出される。スコア補正部42は、N個のスコアSを認識結果選択部43に出力する。
【数2】
【0096】
βは、予め設定されたハイパーパラメータを示し、β|y|は、候補文のトークン列の長さに対する補正項であり、候補文のトークン列が長いほど大きい値をとり、短いほど小さい値をとる。つまり、候補文のトークン列が長いほど、スコアSが高くなり、候補文のトークン列が短いほど、スコアSが低くなる。
【0097】
このスコアSは、高ければ高いほど、エラーが発生している可能性が低いことを示し、低ければ低いほど(0に近いほど)、エラーが発生している可能性が高いことを示す。
【0098】
これにより、N個の候補文データのそれぞれについて、音声認識のスコアSASRがスコアSdisc等を用いてリスコアされ、音声認識エラーに加え、トークン毎の置換エラー、削除エラー及び挿入エラーの観点、並びに候補文データの長さの観点を含めたスコアSが得られる。
【0099】
(認識結果選択部43)
認識結果選択部43は、スコア補正部42からN個のスコアSを、トークン化部40からN個の候補文のトークン列を、エラー検出処理部41からN個の候補文のトークン列のそれぞれにおけるモデル毎のデータ列Djを、音声認識部30からN個のスコアSASRをそれぞれ入力する。
【0100】
認識結果選択部43は、N個のスコアSのうち最も高いスコアSを特定し、N個の候補文データのうち、最も高いスコアSに対応する1個の候補文データを選択する。つまり、認識結果選択部43は、N個の候補文のトークン列、N個の候補文データのそれぞれについてのモデル毎のデータ列Dj、及びN個のスコアSASRのうち、最も高いスコアSに対応する、1個の候補文のトークン列、1個の候補文のトークン列におけるモデル毎のデータ列Dj、及び1個のスコアSASRを選択する(ステップS706)。
【0101】
認識結果選択部43は、1個の候補文のトークン列を認識結果とし、1個の候補文のトークン列におけるモデル毎のデータ列Djを認識結果のデータ列D1,D2,D3とし、1個のスコアSASRを認識結果のスコアSASRとして認識結果エラー処理部44に出力する。
【0102】
(認識結果エラー処理部44)
認識結果エラー処理部44は、認識結果選択部43から、認識結果、認識結果のデータ列D1,D2,D3及び認識結果のスコアSASRを入力する。そして、認識結果エラー処理部44は、認識結果について、認識結果のデータ列D1,D2,D3及び認識結果のスコアSASRに基づき、エラー種類別のトークン毎の信頼度スコアを算出する(ステップS707)。
【0103】
ここで、認識結果エラー処理部44がエラー種類別のトークン毎の信頼度スコアを算出する際に、認識結果のデータ列D1,D2,D3(データ列Dj
(i))は、認識結果のi番目のトークンについて、エラー種類を表したj種のエラー(置換エラー、削除エラー、挿入エラー)が発生していないことを示す信頼度として利用される。
【0104】
認識結果エラー処理部44は、認識結果におけるエラー種類別のトークン毎の信頼度スコアに対する閾値判定により、エラーの位置及び種類を明示したエラー付認識結果を生成する(ステップS708)。そして、認識結果エラー処理部44は、エラー付認識結果を認識結果修正部33に出力する。
【0105】
図10は、認識結果エラー処理部44の構成例を示すブロック図である。この認識結果エラー処理部44は、データ列処理部60、信頼度スコア算出部61、閾値判定部62及びエラー処理部63を備えている。
【0106】
データ列処理部60は、認識結果選択部43から認識結果のデータ列D1,D2,D3を入力する。そして、データ列処理部60は、(1-D1)、(1-D2)及び(1-D3)をそれぞれ算出し、(1-D1)、(1-D2)及び(1-D3)を信頼度スコア算出部61に出力する。
【0107】
信頼度スコア算出部61は、データ列処理部60から(1-D1)、(1-D2)及び(1-D3)を入力すると共に、認識結果選択部43から認識結果のスコアSASRを入力する。そして、信頼度スコア算出部61は、(1-D1)、(1-D2)及び(1-D3)と認識結果のスコアSASRとの重み付き和をそれぞれ算出し、これを、認識結果におけるエラー種類別のトークン毎の信頼度スコアとする。
【0108】
これにより、認識結果において、置換エラーが反映されたトークン毎の信頼度スコア、削除エラーが反映されたトークン毎の信頼度スコア、及び、挿入エラーが反映されたトークン毎の信頼度スコアが得られる。
【0109】
トークン毎の信頼度スコアは、高ければ高いほど、当該トークンについてエラーが発生している可能性が低い(信頼度が高い)ことを示し、低ければ低いほど、当該トークンについてエラーが発生している可能性が高い(信頼度が低い)ことを示す。
【0110】
信頼度スコア算出部61は、認識結果におけるエラー種類別のトークン毎の信頼度スコアを閾値判定部62に出力する。
【0111】
閾値判定部62は、信頼度スコア算出部61から、認識結果におけるエラー種類別のトークン毎の信頼度スコアを入力する。そして、閾値判定部62は、エラー種類別に(置換エラー、削除エラー及び挿入エラーのそれぞれについて)、トークン毎に信頼度スコアに対する閾値判定を行い、エラーの有無の位置を示すトークン毎の二値データからなる二値データ列を生成する。
【0112】
具体的には、閾値判定部62は、トークン毎に、信頼度スコアと予め設定された閾値とを比較し、信頼度スコアが閾値を超えると判定した場合、当該トークンについてエラーが発生していない(信頼できる)と判断する。一方、閾値判定部62は、信頼度スコアが閾値以下であると判定した場合、当該トークンについてエラーが発生している(信頼できない)と判断する。
【0113】
閾値判定部62は、エラーが発生していると判断した箇所を「1」とし、エラーが発生していないと判断した箇所を「0」とする二値データ列を生成する。
【0114】
これにより、置換エラーが発生した箇所を「1」とするワンホットベクトルの二値データ列、削除エラーが発生した箇所を「1」とするワンホットベクトルの二値データ列、及び、挿入エラーが発生した箇所を「1」とするワンホットベクトルの二値データ列が生成される。
【0115】
閾値判定部62は、認識結果におけるエラー種類別の二値データ列をエラー処理部63に出力する。
【0116】
エラー処理部63は、閾値判定部62から認識結果におけるエラー種類別の二値データ列を入力すると共に、認識結果選択部43から認識結果(選択された1個の候補文のトークン列)を入力する。
【0117】
エラー処理部63は、エラー種類別に、二値データ列に含まれる「1」の箇所(エラーが発生した箇所)に対応する認識結果のトークンの箇所に、エラーが発生したことを示す色、記号等を修正候補箇所として付加することで、候補文データに対してエラーの位置及び種類を明示したエラー付認識結果を生成する。そして、エラー処理部63は、エラー付認識結果を認識結果修正部33に出力する。
【0118】
<認識結果修正部33>
図5及び
図7に戻って、認識結果修正部33は、エラー検出部32に備えた認識結果エラー処理部44のエラー処理部63からエラー付認識結果を入力し、エラー付認識結果を画面表示する。そして、認識結果修正部33は、画面表示されたエラー付認識結果を確認したユーザの操作に従い、修正入力の有無を判定する(ステップS709)。
【0119】
認識結果修正部33は、ステップS709において、修正入力が有ったと判定した場合(ステップS709:Y)、ユーザ操作に従ってエラー付認識結果の候補文データに対する修正処理を行い、修正後の認識結果の文を、当該音声認識装置2が入力した音声データに対応するテキストとして出力する(ステップS710)。
【0120】
これにより、エラー付認識結果に含まれる置換エラーのトークン、削除エラーのトークン及び挿入エラーのトークンが修正され、置換エラー等が除去された認識結果の文が得られる。
【0121】
そして、認識結果修正部33は、ユーザ操作により削除エラー及び削除エラーの修正が行われた部分のエラー付認識結果、エラーの位置及び種類をDBとして記憶部34に格納し(ステップS711)、ステップS712へ移行する。
【0122】
このDBは、
図1に示した学習装置1により、ファインチューニング用音声認識結果等のデータとして利用される。これにより、精度の高い削除エラー検出モデル及び挿入エラー検出モデルが生成される。
【0123】
図11(a)は、正しい認識結果の例を示す図であり、
図11(b)は、エラー付認識結果の例を示す図である。
図11(b)において、e1の示す四角の枠は、置換エラーが発生したことを示し、e2の示す四角の枠及び「^」は、削除エラーが発生したことを示し、e3の示す四角の枠及び「-」は、挿入エラーが発生したことを示している。
【0124】
図11(a)に示すように、音声データに対応する正しい認識結果の例を、「三重県から滋賀県に向かう新名神高速道路下り線の一部区間で続いていた多数の車の立往生は、通行止めから1日以上がたった26日午前8時ごろに解消しました。」とする。
【0125】
そして、音声データに対する音声認識部30及びエラー検出部32の処理により、
図11(b)に示すエラー付認識結果が生成されたとする。
【0126】
そうすると、認識結果修正部33は、
図11(b)に示すエラー付認識結果を画面表示し、ユーザに対し、エラーが発生した位置及び種類を、e1,e2,e3に示したとおり、四角の枠、「^」及び「-」の記号により認識させる。
【0127】
認識結果修正部33は、ユーザ操作に従い、e1の示す置換エラーが発生した「迷信」を、正しい「名神」に修正し、e2の示す削除エラーが発生した「^」の箇所を、正しい文となるように「は、」に修正する。また、認識結果修正部33は、ユーザ操作に従い、e3の示す挿入エラーが発生した「-」の箇所(「い」)を削除することで、当該挿入エラーを修正する。
【0128】
図5及び
図7に戻って、認識結果修正部33は、修正後の認識結果(例えば
図11(a)の例)の文を、音声データに対応するテキストとして出力する。
【0129】
一方、認識結果修正部33は、ステップS709において、修正入力が無かったと判定した場合(ステップS709:N)、ステップS712へ移行する。この場合、認識結果修正部33は、ステップS708にて生成したエラー付認識結果にエラーがないものとして、エラー付認識結果の文をテキストとして出力する。
【0130】
音声認識装置2は、全ての音声データについての処理が完了したか否かを判定し(ステップS712)、全ての音声データについての処理が完了していないと判定した場合(ステップS712:N)、ステップS701へ移行し、次の音声データの処理を行う。
【0131】
一方、音声認識装置2は、全ての音声データについての処理が完了したと判定した場合(ステップS712:Y)、当該処理を終了する。
【0132】
以上のように、本発明の実施形態の音声認識装置2によれば、音声認識部30は、音声データを入力し、音声認識モデルを用いて候補文データを推定し、スコアSASRの高い順に、N個の候補文データ及びN個のスコアSASRを出力する。
【0133】
エラー検出部32は、N個の候補文データのそれぞれについて、従来の置換エラー検出モデル、並びに学習装置1により生成された削除エラー検出モデル及び挿入エラー検出モデルを用いてデータ列Djを推定し、置換エラー等を統合したスコアSdiscを算出し、音声認識のスコアSASRをスコアSdiscにより補正し、補正後のスコアSを求める。
【0134】
エラー検出部32は、N個のスコアSのうち最も高いスコアSを特定し、最も高いスコアSに対応する1個の候補文データを認識結果として選択し、認識結果について、認識結果のデータ列D1,D2,D3及び認識結果のスコアSASRに基づき、エラー種類別のトークン毎の信頼度スコアを算出する。そして、エラー検出部32は、信頼度スコアに対する閾値判定により、エラー付認識結果を生成する。
【0135】
認識結果修正部33は、ユーザ操作に従い、エラー付認識結果に対する修正を行い、修正後の認識結果の文を、音声データに対応するテキストとして出力すると共に、修正が行われた部分のエラー付認識結果、エラーの位置及び種類のデータをDBとして記憶部34に格納する。
【0136】
これにより、音声認識により推定された候補文データのスコアSASRは、トークン毎の置換エラー、削除エラー及び挿入エラーの観点から推定されたスコアSdisc等を用いてスコアSに補正され、スコアSを用いて1個の候補文データの認識結果が選択されるため、当該認識結果は、精度の高いテキストとなる。
【0137】
つまり、音声認識により発生し得る置換エラーを低減することができることに加え、削除エラー及び挿入エラーについても低減することができる。したがって、音声認識精度を向上させることが可能となる。
【0138】
また、エラーの位置及び種類を明示したエラー付認識結果がユーザへ提示されることで、ユーザは、エラーの位置及び種類を認識することができ、修正作業を容易にすることができる。これにより、字幕修正作業の効率化を図ることができる。
【0139】
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。
【0140】
前記実施形態では、音声認識装置2の認識結果修正部33は、ユーザ操作に従って、エラー付認識結果の候補文データに対する修正処理を行い、修正後の認識結果の文を、当該音声認識装置2が入力した音声データに対応するテキストとして出力するようにした。
【0141】
これに対し、音声認識装置2のエラー検出部32に備えた認識結果選択部43は、N個のスコアSのうち最も高いスコアSを特定したときに、最も高いスコアSに対応する1個の候補文データを、当該音声認識装置2が入力した音声データに対応するテキストとして出力するようにしてもよい。
【0142】
尚、本発明の実施形態による学習装置1及び音声認識装置2のハードウェア構成としては、通常のコンピュータを使用することができる。学習装置1及び音声認識装置2は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。
【0143】
学習装置1に備えた分割部10、トークン化部11、削除エラー処理部12、挿入エラー処理部13、学習部14,15、データ生成部16及び記憶部17の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
【0144】
また、音声認識装置2に備えた音声認識部30、記憶部31,34、エラー検出部32及び認識結果修正部33も、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
【0145】
これらのプログラムは、前記記憶媒体に格納されており、CPUに読み出されて実行される。また、これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。
【符号の説明】
【0146】
1 学習装置
2 音声認識装置
10 分割部
11,40 トークン化部
12 削除エラー処理部
13 挿入エラー処理部
14,15 学習部
16 データ生成部
17,31,34 記憶部
20,22 モデル
21,23 更新部
30 音声認識部
32 エラー検出部
33 認識結果修正部
41 エラー検出処理部
42 スコア補正部
43 認識結果選択部
44 認識結果エラー処理部
50 置換エラー検出部
51 削除エラー検出部
52 挿入エラー検出部
53 スコア化部
60 データ列処理部
61 信頼度スコア算出部
62 閾値判定部
63 エラー処理部
SASR,Sdisc,S スコア
Dj,D1,D2,D3 データ列