(57)【特許請求の範囲】
【請求項１】
テキストデータに基づいて得られるテキスト単語列データを記憶するテキスト単語列データ記憶部と、
音声認識結果に基づいて得られる認識結果単語列データを記憶する認識結果単語列データ記憶部と、
音声認識結果を逐次受信して前記認識結果単語列データ記憶部に書き込む認識結果受信部と、
前記認識結果単語列データ記憶部に書き込まれた認識結果単語列データの長さが予め定められた所定値Ｎ（Ｎは正整数）以上であるか否かを判定するとともに、当該長さがＮ以上であると判定されると、前記テキスト単語列データ記憶部に記憶されている前記テキスト単語列データと前記認識結果単語列データとのマッチング処理を行って前記テキスト単語列データと前記認識結果単語列データとの間の類似度を算出し、算出された前記類似度に基づいて前記テキスト単語列データを修正候補として選択するテキスト区間推定部と、
前記認識結果単語列データ内における、前記テキスト区間推定部によって選択された前記テキスト単語列データとの間の不一致区間について、前記テキスト区間推定部によって選択された前記テキスト単語列データに基づく修正を行う誤り修正部と、
前記認識結果単語列データの少なくとも一部分を出力するとともに、前記認識結果単語列データのうち出力した部分を前記認識結果単語列データ記憶部から削除するテキスト出力部と、
を具備することを特徴とするテキスト修正装置。
【請求項２】
前記認識結果単語列データ内における、前記テキスト区間推定部によって選択された前記テキスト単語列データとの間の不一致区間における、前記認識結果単語列データの側の発音と選択された前記テキスト単語列データ側の発音との間のマッチング処理を行って、前記認識結果単語列データの側の発音と選択された前記テキスト単語列データ側の発音との間の発音類似度を算出し、算出された前記発音類似度が、予め設定された発音類似度閾値より高いか否かを判定する発音マッチング部、をさらに具備し、
前記誤り修正部は、前記発音類似度が前記発音類似度閾値より高い場合にのみ、実際に前記修正を行う、
ことを特徴とする請求項１に記載のテキスト修正装置。
【請求項３】
前記テキスト区間推定部は、修正候補として選択した前記テキスト単語列データの前記テキストデータ内における位置情報を記憶するとともに、前記認識結果単語列データと前記テキスト単語列データのマッチング処理を行う際には前回選択した前記テキスト単語列データの前記位置情報を読み出して、読み出した前記位置情報に基づいて限定された範囲の前記テキスト単語列データを、前記認識結果単語列データとのマッチング処理の対象とする、
ことを特徴とする請求項１または２のいずれか一項に記載のテキスト修正装置。
【請求項４】
前記テキスト単語列データ記憶部は、複数のコンテンツに対応する前記テキストデータに基づいて得られる前記テキスト単語列データを、前記コンテンツを識別する情報と関連付けて記憶するものであり、
前記テキスト区間推定部は、現コンテンツとは異なるコンテンツに対応する前記テキストデータの先頭から所定の範囲内に該当する前記テキスト単語列データを、さらに、前記認識結果単語列データとのマッチング処理の対象とする、
ことを特徴とする請求項３に記載のテキスト修正装置。
【請求項５】
前記テキスト区間推定部は、前記認識結果単語列データ記憶部に書き込まれた認識結果単語列データの長さがＮ以上でない場合であっても、前記認識結果単語列データの長さが所定値Ｍ（Ｍは正整数であり且つ、Ｍ＜Ｎ）以上である場合には、そのときの前記認識結果単語列データの先頭の長さＭの部分が、前記テキストデータから予め得られた長さＭの単語列のいずれかと一致するか否かを判定し、
前記テキスト出力部は、前記認識結果単語列データの先頭の長さＭの部分が、前記テキストデータから予め得られた長さＭの単語列のいずれかと一致した場合には、前記認識結果単語列データにおける一致部分の少なくとも一部分を出力するとともに、前記認識結果単語列データのうち出力した部分を前記認識結果単語列データ記憶部から削除する、
ことを特徴とする請求項１から４までのいずれか一項に記載のテキスト修正装置。
【請求項６】
前記誤り修正部は、前記認識結果単語列データと、前記テキスト区間推定部によって選択された前記テキスト単語列データに基づく修正候補とを表示し、当該修正を行うことを表す指示が入力された場合にのみ、前記修正を行う、
ことを特徴とする請求項１から請求項５までのいずれか一項に記載のテキスト修正装置。
【請求項７】
置換候補の単語ペアと、前記単語ペアのうちの一方の単語の発音音素数と、前記単語ペアに関する発音類似度と、前記単語ペアが置換可能か否かを表すデータとから、学習処理により、前記単語ペアが置換可能か否かを決定するための発音類似度閾値を求め、求められた前記発音類似度閾値を設定する学習処理手段を、さらに具備し、
前記発音マッチング部は、前記学習処理手段によって設定された前記発音類似度閾値を用いた判定を行う、
ことを特徴とする請求項２に記載のテキスト修正装置。
【請求項８】
前記発音類似度閾値の設定を書き換える閾値変更手段、をさらに具備することを特徴とする請求項２に記載のテキスト修正装置。
【請求項９】
テキストデータに基づいて得られるテキスト単語列データを記憶するテキスト単語列データ記憶部と、
音声認識結果に基づいて得られる認識結果単語列データを記憶する認識結果単語列データ記憶部と、
音声認識結果を逐次受信して前記認識結果単語列データ記憶部に書き込む認識結果受信部と、
前記認識結果単語列データ記憶部に書き込まれた認識結果単語列データの長さが予め定められた所定値Ｎ（Ｎは正整数）以上であるか否かを判定するとともに、当該長さがＮ以上であると判定されると、前記テキスト単語列データ記憶部に記憶されている前記テキスト単語列データと前記認識結果単語列データとのマッチング処理を行って前記テキスト単語列データと前記認識結果単語列データとの間の類似度を算出し、算出された前記類似度に基づいて前記テキスト単語列データを修正候補として選択するテキスト区間推定部と、
前記認識結果単語列データ内における、前記テキスト区間推定部によって選択された前記テキスト単語列データとの間の不一致区間について、前記テキスト区間推定部によって選択された前記テキスト単語列データに基づく修正を行う誤り修正部と、
前記認識結果単語列データの少なくとも一部分を出力するとともに、前記認識結果単語列データのうち出力した部分を前記認識結果単語列データ記憶部から削除するテキスト出力部と、
を具備するテキスト修正装置としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキスト修正装置およびプログラムに関する。
【背景技術】
【０００２】
音声認識結果に基づいてテキストを出力する技術は、様々な分野に応用可能である。例えば、会議等における人の発話を記録したり、自動音声翻訳を行ったり、テレビ放送等のコンテンツの字幕（クローズドキャプション）を生成したりするために、音声認識結果からテキストを出力する技術を応用することができる。
このとき、音声認識処理の精度を１００％にすることは困難であるため、音声認識結果を何らかの方法で修正することが求められる。
例えば、特許文献１には、音声認識結果を発話単位で修正するための装置が記載されている。ここで、発話単位とは、発話開始から発話終了までの区間などの単位である。
また、非特許文献１には、音声認識誤りを人手で修正するための装置が記載されている。この装置は、タッチパネルモニタに音声認識結果を提示するものであり、オペレータが提示された認識結果を一字一句目視でチェックし、誤りを発見したらその単語をタッチして選択し、キーボードで修正を行うものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−０８９７８６号公報
【非特許文献】
【０００４】
【非特許文献１】本間真一，外５名，ダイレクト方式とリスピーク方式の音声認識を併用したリアルタイム字幕制作システム，映像情報メディア学会誌，２００９年，Vol. 63，No. 3， pp. 331-338．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
音声認識の性能が年々向上してきているとは言え、現状の技術では、まだ１００％の精度を保証できるレベルには達していない。例えばテレビ放送におけるニュースのような、原稿（テキスト）を元にして発話される音声を認識する際には、音声認識装置に予めそのテキストを学習させておけばかなり高い認識精度が得られるが、雑音や言い誤り・言い淀みなどの原因によっても、認識誤りが発生し得る。
【０００６】
従って、発話内容を忠実に表すテキストを出力するためには、このような認識誤りを、テキストを元に自動的に修復（修正）することが必要である。また、発話記録や自動翻訳や放送等のための字幕生成の目的では、このような音声認識結果をリアルタイムに修正して出力させることも求められている。
特許文献１に記載された技術では、文単位でのマッチングによって認識結果の修正を行うため、一つの文の発話終了後にしか修正結果を得ることができない。つまり、リアルタイムな修正ができない。
【０００７】
本発明の課題は、特に、音声認識結果を用いながらリアルタイムで、言い換えれば所定の短い遅れ時間で、認識結果を修正してテキストとして逐次出力することのできる、テキスト修正装置およびプログラムを提供することである。
【０００８】
また、そのような修正を行う際に、非特許文献１に記載されたような、人手を介する修正装置では、すべての認識結果をオペレータが一字一句目視でチェックする必要があったが、このようなオペレータの負荷を軽減することのできるテキスト修正装置およびプログラムを提供することも、課題の一つである。
【課題を解決するための手段】
【０００９】
［１］上記の課題を解決するため、本発明の一態様によるテキスト修正装置は、テキストデータに基づいて得られるテキスト単語列データを記憶するテキスト単語列データ記憶部と、音声認識結果に基づいて得られる認識結果単語列データを記憶する認識結果単語列データ記憶部と、音声認識結果を逐次受信して前記認識結果単語列データ記憶部に書き込む認識結果受信部と、前記認識結果単語列データ記憶部に書き込まれた認識結果単語列データの長さが予め定められた所定値Ｎ（Ｎは正整数）以上であるか否かを判定するとともに、当該長さがＮ以上であると判定されると、前記テキスト単語列データ記憶部に記憶されている前記テキスト単語列データと前記認識結果単語列データとのマッチング処理を行って前記テキスト単語列データと前記認識結果単語列データとの間の類似度を算出し、算出された前記類似度に基づいて前記テキスト単語列データを修正候補として選択するテキスト区間推定部と、前記認識結果単語列データ内における、前記テキスト区間推定部によって選択された前記テキスト単語列データとの間の不一致区間について、前記テキスト区間推定部によって選択された前記テキスト単語列データに基づく修正を行う誤り修正部と、前記認識結果単語列データの少なくとも一部分を出力するとともに、前記認識結果単語列データのうち出力した部分を前記認識結果単語列データ記憶部から削除するテキスト出力部とを具備する。
【００１０】
この構成によれば、認識結果単語列データ記憶部に書き込まれた認識結果単語列データの長さがＮ以上になると、文末や発話終了などを待つことなく、テキスト区間推定部は、認識結果単語列データとテキスト単語列データとのマッチングを行って、類似度に基づき、修正候補のテキスト単語列データを選択する。これにより、文末等を待つことなく、誤り修正部は認識結果単語列データを修正し、テキスト出力部は修正された認識結果単語列データに基づいてテキストを出力する。つまり、文の長さや発話単位の長さに依らず、Ｎの値のみに依る限られた遅延時間で、テキストを逐次修正して出力する。つまり、テキスト修正装置は、高いリアルタイム性によって、音声認識結果を修正し、出力する。
【００１１】
［２］また、本発明の一態様では、前記のテキスト修正装置において、前記認識結果単語列データ内における、前記テキスト区間推定部によって選択された前記テキスト単語列データとの間の不一致区間における、前記認識結果単語列データの側の発音と選択された前記テキスト単語列データ側の発音との間のマッチング処理を行って、前記認識結果単語列データの側の発音と選択された前記テキスト単語列データ側の発音との間の発音類似度を算出し、算出された前記発音類似度が、予め設定された発音類似度閾値より高いか否かを判定する発音マッチング部、をさらに具備し、前記誤り修正部は、前記発音類似度が前記発音類似度閾値より高い場合にのみ、実際に前記修正を行う、ものである。
【００１２】
この構成によれば、修正候補のテキスト（単語）間の発音の類似度により、その修正候補を用いた修正を実際に行うか否かを決定する。つまり、この構成によれば、認識結果単語列データとテキスト単語列データとの間の単語レベルの類似度が高い場合であっても、修正候補の単語の発音の類似度が低い場合には、その修正候補による修正を回避する。つまり、テキスト修正装置の修正精度がより一層高まる。
【００１３】
［３］また、本発明の一態様では、前記のテキスト修正装置において、前記テキスト区間推定部は、修正候補として選択した前記テキスト単語列データの前記テキストデータ内における位置情報を記憶するとともに、前記認識結果単語列データと前記テキスト単語列データのマッチング処理を行う際には前回選択した前記テキスト単語列データの前記位置情報を読み出して、読み出した前記位置情報に基づいて限定された範囲の前記テキスト単語列データを、前記認識結果単語列データとのマッチング処理の対象とする、ものである。
【００１４】
この構成により、位置情報に基づき、限られた範囲のテキスト単語列データのみをマッチング対象とする。位置情報は、前回のマッチングの結果得られたものであるので、そのような限られた範囲のテキスト単語列データが、今回のマッチングにおいて類似度の高いテキスト単語列データである可能性は高い。つまり、マッチングの精度を維持しながら、マッチングに要する処理量を削減し、よって処理時間を削減することとなる。
【００１５】
［４］また、本発明の一態様では、前記のテキスト修正装置において、前記テキスト単語列データ記憶部は、複数のコンテンツに対応する前記テキストデータに基づいて得られる前記テキスト単語列データを、前記コンテンツを識別する情報と関連付けて記憶するものであり、前記テキスト区間推定部は、現コンテンツとは異なるコンテンツに対応する前記テキストデータの先頭から所定の範囲内に該当する前記テキスト単語列データを、さらに、前記認識結果単語列データとのマッチング処理の対象とする、ものである。
【００１６】
この構成により、音声認識結果が現コンテンツから他のコンテンツに移っても、それら他のコンテンツの先頭部分のテキストをマッチングの対象とすることができる。
【００１７】
［５］また、本発明の一態様では、前記のテキスト修正装置において、前記テキスト区間推定部は、前記認識結果単語列データ記憶部に書き込まれた認識結果単語列データの長さがＮ以上でない場合であっても、前記認識結果単語列データの長さが所定値Ｍ（Ｍは正整数であり且つ、Ｍ＜Ｎ）以上である場合には、そのときの前記認識結果単語列データの先頭の長さＭの部分が、前記テキストデータから予め得られた長さＭの単語列のいずれかと一致するか否かを判定し、前記テキスト出力部は、前記認識結果単語列データの先頭の長さＭの部分が、前記テキストデータから予め得られた長さＭの単語列のいずれかと一致した場合には、前記認識結果単語列データにおける一致部分の少なくとも一部分を出力するとともに、前記認識結果単語列データのうち出力した部分を前記認識結果単語列データ記憶部から削除する、ものである。
【００１８】
この構成により、認識結果単語列データの長さＭの部分がテキストデータから得られた単語列と一致する場合には、認識結果単語列データの長さがＮになるのを待たずに、一致した単語列の少なくとも一部を出力する。つまり、より一層、遅延時間を短くすることができる。
【００１９】
［６］また、本発明の一態様では、前記のテキスト修正装置において、前記誤り修正部は、前記認識結果単語列データと、前記テキスト区間推定部によって選択された前記テキスト単語列データに基づく修正候補とを表示し、当該修正を行うことを表す指示が入力された場合にのみ、前記修正を行う、ものである。
【００２０】
［７］また、本発明の一態様では、発音マッチング部を有する態様のテキスト修正装置において、置換候補の単語ペアと、前記単語ペアのうちの一方の単語の発音音素数と、前記単語ペアに関する発音類似度と、前記単語ペアが置換可能か否かを表すデータとから、学習処理により、前記単語ペアが置換可能か否かを決定するための発音類似度閾値を求め、求められた前記発音類似度閾値を設定する学習処理手段、をさらに具備し、前記発音マッチング部は、前記学習処理手段によって設定された前記発音類似度閾値を用いた判定を行う、ものである。
【００２１】
この構成により、サンプルに基づき、自動的に適切な発音類似度閾値を設定することができる。
【００２２】
［８］また、本発明の一態様では、発音マッチング部を有する態様のテキスト修正装置において、前記発音類似度閾値の設定を書き換える閾値変更手段、をさらに具備する。
【００２３】
［９］また、本発明の一態様によるプログラムは、テキストデータに基づいて得られるテキスト単語列データを記憶するテキスト単語列データ記憶部と、音声認識結果に基づいて得られる認識結果単語列データを記憶する認識結果単語列データ記憶部と、音声認識結果を逐次受信して前記認識結果単語列データ記憶部に書き込む認識結果受信部と、前記認識結果単語列データ記憶部に書き込まれた認識結果単語列データの長さが予め定められた所定値Ｎ（Ｎは正整数）以上であるか否かを判定するとともに、当該長さがＮ以上であると判定されると、前記テキスト単語列データ記憶部に記憶されている前記テキスト単語列データと前記認識結果単語列データとのマッチング処理を行って前記テキスト単語列データと前記認識結果単語列データとの間の類似度を算出し、算出された前記類似度に基づいて前記テキスト単語列データを修正候補として選択するテキスト区間推定部と、前記認識結果単語列データ内における、前記テキスト区間推定部によって選択された前記テキスト単語列データとの間の不一致区間について、前記テキスト区間推定部によって選択された前記テキスト単語列データに基づく修正を行う誤り修正部と、前記認識結果単語列データの少なくとも一部分を出力するとともに、前記認識結果単語列データのうち出力した部分を前記認識結果単語列データ記憶部から削除するテキスト出力部と、を具備するテキスト修正装置としてコンピュータを機能させる。
【発明の効果】
【００２４】
本発明によれば、従来よりも短い遅延時間でほぼリアルタイムに、自動的に音声認識結果を修正することができる。
また、本発明の一態様によれば、音声認識結果を修正する装置において、利用者が音声認識結果のテキストを逐一目視する必要がなく、提示された修正候補が適切な習性化否かを判断するだけで、音声認識結果の修正を行える。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施形態によるテキスト修正装置の機能構成を示すブロック図である。
【図２】同実施形態によるテキスト記憶部が記憶するデータの構造と例を示す概略図である。
【図３】同実施形態によるテキストＮグラム記憶部が記憶するデータの構造と例を示す構造図である。
【図４】同実施形態による認識結果記憶部が記憶する認識結果データの構造とデータ例を示す概略図である。
【図５】同実施形態によるテキストＮグラム取得部が、与えられたテキストデータを元にテキストＮグラムを予め抽出する処理の手順を示すフローチャートである。
【図６】同実施形態によるテキスト修正装置が、音声認識装置から認識結果を受信し、その認識結果を修正する処理の手順を示すフローチャートである。
【図７】同実施形態において利用するＤＰマッチングの処理を示す概略図である。
【図８】本発明の第２の実施形態によるテキスト修正装置の機能構成を示すブロック図である。
【図９】同実施形態による発音辞書データ記憶部が記憶する単語ごとの発音データの構成を示す概略図である。
【図１０】同実施形態によるテキスト修正装置が、音声認識装置から認識結果を受信し、その認識結果を修正する処理の手順を示すフローチャートである。
【図１１】同実施形態による処理実行結果の実例を示す概略図である。
【図１２】本発明の変形例において、遅延時間を短くするための処理の手順を示すフローチャートである。
【図１３】本発明の変形例において、誤り修正部が利用者からの確認入力に基づいて修正を行なう処理の手順を示すフローチャートである。
【図１４】音素数と類似度に応じた、置換すべき単語および置換すべきでない単語の分布を示すグラフである。
【発明を実施するための形態】
【００２６】
［第１の実施の形態］
次に、図面を参照しながら、本発明の実施形態について説明する。
図１は、第１の実施形態によるテキスト修正装置の機能構成を示すブロック図である。図示するように、テキスト修正装置１は、認識結果受信部１０と、認識結果記憶部２０（認識結果単語列データ記憶部）と、テキスト記憶部３０と、テキストＮグラム取得部４０と、テキストＮグラム記憶部５０（テキスト単語列データ記憶部）と、テキスト区間推定部６０と、誤り修正部８０と、テキスト出力部９０とを備えて構成される。また、テキスト修正装置１は、外部の音声認識装置２００から、音声認識結果を受信するように構成される。
【００２７】
認識結果受信部１０は、外部の音声認識装置２００から音声認識結果を逐次受信して認識結果記憶部２０に書き込む。認識結果受信部１０は、音声認識結果を単語単位で受信し、受信した単語を逐次、認識結果記憶部２０に書き込む。
認識結果記憶部２０は、認識結果受信部１０が受信した音声認識結果に基づいて得られる認識結果Ｎグラム（認識結果単語列データ）を記憶する。
【００２８】
テキスト記憶部３０は、予め与えられるテキストデータを記憶する。
テキストＮグラム取得部４０は、テキスト記憶部３０に記憶されているテキストデータを元に、テキストＮグラム（テキスト単語列データ）を取得し、テキストＮグラム記憶部５０に書き込む。
テキストＮグラム記憶部５０は、テキストデータに基づいて得られるテキストＮグラムを記憶する。
テキスト区間推定部６０は、認識結果記憶部２０に書き込まれた認識結果Ｎグラムの長さ（単語数）が予め定められた所定値Ｎ（Ｎは正整数）以上であるか否かを判定するとともに、その長さがＮ以上であると判定されると、テキストＮグラム記憶部５０に記憶されている複数のテキストＮグラムのそれぞれと、長さＮの認識結果Ｎグラムとのマッチング処理を行って、そのテキストＮグラムと認識結果Ｎグラムとの間の類似度を算出し、算出された類似度に基づいて、類似度の高いテキストＮグラムを修正候補として選択する。
【００２９】
誤り修正部８０は、認識結果記憶部２０に記憶された認識結果Ｎグラム内における、テキスト区間推定部６０によって修正候補として選択されたテキストＮグラムとの間の不一致区間について、選択された修正候補であるテキストＮグラムに基づく修正を行う。つまり、誤り修正部８０は、認識結果の誤りと推定された部分を、テキストＮグラムを用いて修正する。また、そのテキストＮグラムは与えられたテキストデータから取得されたものであるので、誤り修正部８０は、つまり、テキストデータの中のテキスト区間推定部６０によって推定された区間を用いて認識結果を修正する。
テキスト出力部９０は、認識結果記憶部２０に記憶されている認識結果Ｎグラムのうちの前方の少なくとも一部分（例えば、単語数が（Ｎ／２）に相当する部分）を出力するとともに、その認識結果Ｎグラムのうち出力した部分を認識結果記憶部２０から削除する。
【００３０】
なお、音声認識装置２００は、既存の技術を用いて、入力される音声を認識する処理を行い、認識結果である単語列を逐次出力するものである。一例として、音声認識装置は、音響特徴量と認識結果に対応する音素の確率的関係を表す音響モデルのデータと、言語の構成要素（文字や単語等）のＮグラム（N-gram，エヌグラム）の出現確率を表す言語モデルのデータとに基づき、入力される音声に対応する最尤単語列を算出して出力するように構成される。
【００３１】
図２は、テキスト記憶部３０が記憶するデータの構造と例を示す概略図である。図示するように、テキスト記憶部３０は、複数のテキストファイルを記憶する。各々のテキストファイルは、放送番組の台本から起こしたテキストデータや、放送番組の電子的台本データのテキストや、ニュース番組で使用するニュース原稿のテキストデータなどといったテキストを保持する。各ファイルは、ファイル名などによってコンテンツＩＤと関連付けられている。このコンテンツＩＤは、コンテンツを識別する情報である。ここでコンテンツとは、例えば、テレビ放送番組や、ニュース記事や、会議における議題など、意味的なまとまりを持つ単位である。図示する例では、ファイル名そのものがコンテンツＩＤである。そして、第１のファイルのコンテンツＩＤ（ファイル名）は「１０１２３４５」であり、そのファイルは「京都市の川村市長は・・・」というニュース原稿のテキストデータを保持する。また、第２のファイルのコンテンツＩＤは「１０１２３４６」であり、そのファイルは「２０１０年のノーベル化学賞は、・・・」というテキストデータを保持する。
【００３２】
図３は、テキストＮグラム記憶部５０が記憶するデータの構造と例を示す構造図である。図示するように、テキストＮグラム記憶部５０は記憶するデータは表形式のものであり、コンテンツＩＤとＮグラムＩＤとテキストＮグラムのデータ項目を有する。このコンテンツＩＤは、テキスト記憶部３０が記憶するデータにおけるコンテンツＩＤに対応する。また、ＮグラムＩＤは、あるコンテンツ内におけるテキストＮグラムを識別する情報である。図示するデータ例は、コンテンツＩＤが「１０１２３４５」であるコンテンツに関するテキストＮグラムを含んでいる。ここでテキストＮグラムと呼ぶものは、所定の長さの単語連鎖のことである。そして、ＮグラムＩＤ「１」に対応するテキストＮグラムは、「京都市−の−川村−市長」である。また、ＮグラムＩＤ「２」に対応するテキストＮグラムは、「の−川村−市長−は」である。ＮグラムＩＤが「３」以上の場合も同様である。なお、テキストＮグラム記憶部５０は、単語のＮグラムを記憶する。また、ここではＮグラムの長さを４としている。そして、上記のテキストＮグラム内に便宜上含まれている「−」（ハイフン）は、Ｎグラム内における単語間の区切りを表すためのものである。
【００３３】
図４は、認識結果記憶部２０が記憶する認識結果データの構造とデータ例を示す概略図である。図示する認識結果データの例は「ニュース−です−京都市−の−河浦−・・・」である。ここで、「−」（ハイフン）は、認識結果データ内における単語の区切りを表すために便宜上挿入されているものである。なお、認識結果記憶部２０は、ＦＩＦＯ（First-in, First-out）式に、単語列の前から順に削除（つまり先に書き込まれた単語から先に削除）できるように構成されている。
【００３４】
次に、テキスト修正装置１の動作について説明する。
図５は、テキストＮグラム取得部４０が、テキスト記憶部３０に記憶されているテキストが含む情報を予め単語Ｎグラムの形式でテキストＮグラム記憶部５０に格納するための処理手順を示すフローチャートである。なお、認識結果受信部１０が音声認識装置２００から音声認識結果の受信を開始する前に、テキストＮグラム取得部４０はこのフローチャートに示す処理を行う。以下、フローチャートに沿って説明する。
【００３５】
まずステップＳ１で、テキストＮグラム取得部４０は、テキスト記憶部３０からテキストを読み込む。このテキストは、前述の通り、放送番組の台本や、ニュース番組の原稿であり、発話の情報源となるテキストである。
次にステップＳ２で、テキストＮグラム取得部４０は、読み込んだテキストに対して形態素解析処理を行う。そして、その結果、単語単位に分割されたテキストを得る。
【００３６】
次にステップＳ３で、テキストＮグラム取得部４０は、ステップＳ２で単語単位に分割されたテキストを元に、単語Ｎグラムを取得する。ここで、単語Ｎグラムの長さは、予め設定されており、例えば長さ４とする。具体的には、テキストＮグラム取得部４０は、当該テキストに関して、第１単語から始まるＮグラム、第２単語から始まるＮグラム（以下同様）を順次取得する。
次にステップＳ４で、テキストＮグラム取得部４０は、ステップＳ３で得られたＮグラムの各々にＮグラムＩＤを付与する。ＮグラムＩＤとしては、例えば、１から始まる整数値を順次用いる。そして、テキストＮグラム取得部４０は、各テキストＮグラムの出現順に、ＮグラムＩＤを付与している。つまりＮグラムＩＤは、コンテンツごとに、元のテキストデータにおけるそのテキストＮグラムの位置を表している。
次にステップＳ５で、テキストＮグラム取得部４０は、ＮグラムＩＤと単語Ｎグラムとを関連付けて、テキストＮグラム記憶部５０に書き込む。
【００３７】
なお、テキスト記憶部３０が複数のコンテンツのテキストを記憶する場合には、テキストＮグラム取得部４０は、それらのコンテンツの各々について、上述したステップＳ１からＳ５までの処理を行う。
【００３８】
図６は、テキスト修正装置１が、音声認識装置２００から認識結果を受信し、その認識結果を修正する処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
まずステップＳ１１において、認識結果受信部１０が、音声認識装置２００から認識結果のデータを受信する。音声認識装置２００は、前述した最尤単語列を逐次出力する。認識結果受信部１０は、単語単位で、あるいは所定数のまとまった単語の単位で、その単語列のデータを受信する。そして、認識結果受信部１０は、受信したデータを逐次、認識結果記憶部２０に書き込む。
次にステップＳ１２において、テキスト区間推定部６０は、認識結果記憶部２０に所定の長さの単語列（Ｎ単語）が既に格納されているか否かを判断する。ここで所定の長さＮとは、予め設定された長さであり、例えばＮ＝４である。なお、ここで認識結果記憶部２０から取り出す単語の長さと、テキストＮグラム取得部４０が取得した単語Ｎグラムの長さとは、等しい。具体的には、認識結果記憶部２０は前述の通りＦＩＦＯとして構成されているので、テキスト区間推定部６０は、そのＦＩＦＯの先頭からの単語数が所定の長さ以上であるか否かを判断する。そして、所定の長さの単語列が既に格納されている場合（ステップＳ１２：ＹＥＳ）には次のステップＳ１３に進み、単語列の長さがまだ所定の長さに達していない場合（ステップＳ１２：ＮＯ）にはさらに音声認識結果を受信するためにステップＳ１１に戻る。
【００３９】
次にステップＳ１３に進んだ場合、テキスト区間推定部６０は、認識結果記憶部２０から先頭のＮ単語の列を読み出す。なお、この読み出された単語列を、便宜上、認識結果Ｎグラムと呼ぶ。そして、テキスト区間推定部６０は、この認識結果Ｎグラムと、テキストＮグラム記憶部５０に記憶されている当該コンテンツのテキストＮグラムとの間で、ＤＰ（Dynamic Programming，動的計画法）マッチングの処理を行う。テキスト区間推定部６０は、このＤＰマッチングの処理により、認識結果Ｎグラムと各々のテキストＮグラムとの間の類似度を算出する。具体的には、テキスト区間推定部６０は、マッチング対象の両Ｎグラムに基づき、一致精度、一致率、脱落率、挿入率、編集距離などといった数値のいずれかを算出し、これに基づき類似度として用いる。なお、一致精度または一致率を用いる場合には、これらの数値が大きいほど、類似度が高い（より類似している）ことを表す。また、脱落率や挿入率や編集距離を用いる場合には、これらの数値が小さいほど、類似度が高い（より類似している）ことを表す。なお、ＤＰマッチングの処理自体については、後で説明する。
【００４０】
なお、複数のコンテンツＩＤに相当するテキストＮグラムがテキストＮグラム記憶部５０に記憶されている場合、テキスト区間推定部６０がマッチングの対象とするテキストＮグラムのコンテンツＩＤは、適宜与えられる。例えば、利用者が選択したコンテンツのＩＤをテキスト区間推定部６０に渡すようにしても良いし、前回までのマッチングにおいて類似度の高いテキストＮグラムが属するコンテンツを現在のコンテンツと推定するようにしても良い。
【００４１】
次にステップＳ１４において、テキスト区間推定部６０は、ステップＳ１３で求めた類似度に基づき、ひとつのテキストＮグラムを修正候補単語列として選択しメモリに一時的に格納する。ここでテキスト区間推定部６０が選択するテキストＮグラムは、現在対象としている認識結果Ｎグラムとの間で最も類似度の高いテキストＮグラムである。
【００４２】
次にステップＳ１５において、テキスト区間推定部６０が、ステップＳ１４において選択されメモリに格納されたテキストＮグラムについて、類似度が所定の閾値よりも高いか否かを判定する。なお、この類似度に関する閾値は、予め設定される。このテキストＮグラムと認識結果Ｎグラムとの間の類似度が所定の閾値よりも高い場合（ステップＳ１５：ＹＥＳ）には、次のステップＳ１６に進む。また、そうでない場合（この類似度が低い場合，ステップＳ１５：ＮＯ）にはステップＳ１７に進む。
【００４３】
次にステップＳ１６に進んだ場合、誤り修正部８０は、メモリに格納されたテキストＮグラムを用いて、認識結果Ｎグラムの修正を行なう。具体的には、誤り修正部８０は、ステップＳ１３におけるＤＰマッチング処理の結果に基づき、認識結果Ｎグラムと選択されたテキストＮグラムとの間の不一致区間を抽出し、不一致区間において置換と判定された単語の部分を修正する。例えば、認識結果Ｎグラムが「京都市−の−河浦−市長」で、選択されたテキストＮグラムが「京都市−の−川村−市長」の場合、ＤＰマッチング処理においては「河浦」と「川村」が対応し、これらの両単語は置換関係である。従って、誤り修正部８０は認識結果記憶部２０に記憶されている認識結果Ｎグラム内の「河浦」を「川村」に変更する修正を行なう。
【００４４】
ステップＳ１７において、テキスト出力部９０が、認識結果記憶部２０に記憶されている認識結果Ｎグラムのうち、前の半分の単語列に相当するテキストを出力する。例えば、単語列の長さＮが４の場合、テキスト出力部９０は、前半の２単語に相当する分を出力する。つまり、ステップＳ１６において誤り修正部８０がその部分を修正している場合には、修正済みのテキストがテキスト出力部９０によって出力される。そして、テキスト出力部９０は、出力済みの単語列を認識結果記憶部２０から削除する。この処理は、テキスト出力部９０が全体の単語長の半分だけ認識結果Ｎグラムを前にシフトすることと同等である。ステップＳ１７の処理が終わると、さらに音声認識結果を受信するためにステップＳ１１に戻る。
【００４５】
なお、図６に示した処理では、ステップＳ１３において認識結果Ｎグラムとのマッチングの対象となり得る全てのテキストＮグラムについて類似度を算出してから、ステップＳ１４において類似度が最高のテキストＮグラムを選択して修正候補単語列としてメモリに格納していた。
この代わりに、第１の代替処理として、ステップＳ１３において認識結果Ｎグラムと完全に一致するテキストＮグラムが見つかった場合に、この認識結果を正解とみなして、直ちにステップＳ１７の処理に移る手順としても良い。この場合、ステップＳ１７では、Ｎグラム長の半分の単語列を出力する。このようにすることにより、認識結果ＮグラムとテキストＮグラムとの間のＤＰマッチングの処理量を減らすことができ、全体の処理時間を短縮することができる。
またさらに、第２の代替処理として、ステップＳ１３において認識結果Ｎグラムと完全に一致するテキストＮグラムが見つかった場合に、この認識結果を正解とみなして、直ちに、当該認識結果Ｎグラムに相当するテキストの全体を出力するとともに、認識結果記憶部２０から当該認識結果Ｎグラムの全体を削除して、ステップＳ１１の処理に戻るようにしても良い。これにより全体の処理時間をさらに短縮することができる。
【００４６】
ここで、上記の手順において用いたＤＰマッチングの処理について、説明する。
単語列や文字列や音素列などは、それぞれ１次元のパターンである。このとき、単語列の要素は単語であり、文字列の要素は文字であり、音素列の要素は音素である。ある１次元パターンから一部の要素を脱落させたり、ある１次元パターンに一部の要素を挿入したり、ある１次元パターンにおける一部の要素を他の要素で置換したりすると、別のパターンが得られる。このとき、元のパターンと、新たに得られたパターンとの間には、共通の部分列が存在する。共通の部分列の割合が大きいほど、概ね、両者間の類似度が高いと言える。ＤＰマッチングは、これらのような複数の１次元パターンについて、効率よく共通部分列をマッチングさせ、パターン間の類似度を求める手法である。ＤＰマッチングは、動的計画法を用いて２つのパターンの要素間の対応付けを行う。なお、ＤＰマッチングの処理自体は、既存の技術である。
【００４７】
図７は、本実施形態におけるＤＰマッチング処理の概略を示す図である。この図における「パターン」は、本実施形態における単語Ｎグラムに相当する。図示する例は長さＮ＝６の場合である。つまり、例えば「ａｂｃｄｅｆ」というパターンにおいて、「ａ」、「ｂ」、・・・、「ｆ」の各々は単語に相当する。そして、このパターン「ａｂｃｄｅｆ」は、長さ６の単語Ｎグラムに相当する。そして、同図におけるリファレンスパターンが認識結果から得られる認識結果Ｎグラムに相当し、パターンＡ〜ＦがテキストＮグラム記憶部に記憶されるとともにマッチングの対象となるテキストＮグラムの各々に相当する。
【００４８】
同図において、リファレンスパターン「ａｂｃｄｅｆ」は、パターンＡ「ａｂｃｄｅｆ」と完全に一致する。よって、ヒット数Ｈ＝６である。置換数Ｓ、脱落数Ｄ、挿入数Ｉは、すべて０である。
また、パターンＢ「ａｂｚｄｅｆ」は、リファレンスパターンにおける「ｃ」を「ｚ」で置換したパターンであり、その他の「ａｂ」および「ｄｅｆ」は一致している。よって、置換数Ｓ＝１、ヒット数Ｈ＝５である。脱落数Ｄと挿入数Ｉはともに０である。
また、パターンＣ「ａｂｄｅｆ」は、リファレンスパターンにおける「ｃ」が脱落しており、その他の「ａｂ」および「ｄｅｆ」は一致している。よって、脱落数Ｄ＝１、ヒット数Ｈ＝５である。置換数Ｓと挿入数Ｉはともに０である。
【００４９】
また、パターンＤ「ａｂｃｚｄｅｆ」は、リファレンスパターン内に「ｚ」が挿入されたパターンであり、その他の「ａｂｃ」および「ｄｅｆ」は一致している。よって、挿入数Ｉ＝１、ヒット数Ｈ＝６である。置換数Ｓと脱落数Ｄはともに０である。
また、パターンＥ「ａｃｄｚｅｆ」は、リファレンスパターンから「ｂ」が脱落し、「ｚ」が挿入されているパターンである。そして、「ａ」と「ｃｄ」と「ｅｆ」は一致している。よって、脱落数Ｄ＝１、挿入数Ｉ＝１、ヒット数Ｈ＝５である。また、置換数Ｓ＝０である。
また、パターンＦ「ａｂｚｄｆ」は、リファレンスパターンにおける「ｃ」を「ｚ」で置換し、「ｅ」が脱落したパターンである。そして、「ａｂ」と「ｄ」と「ｆ」は一致している。よって、置換数Ｓ＝１、脱落数Ｄ＝１、ヒット数Ｈ＝４である。また、挿入数Ｉ＝０である。
【００５０】
そして、パターン間の一致率、一致精度、脱落率、挿入率はそれぞれ、下記の数式（１）〜（４）を用いて算出される。なお、これらの計算結果の値は、パーセントによるものである。
一致率：％Ｃｏｒｒ＝（Ｈ／Ｎ）×１００＝（（Ｎ−Ｓ−Ｄ）／Ｎ）×１００・・・（１）
一致精度：％Ａｃｃ＝（（Ｈ−Ｉ）／Ｎ）×１００＝（（Ｎ−Ｓ−Ｄ−Ｉ）／Ｎ）×１００・・・（２）
脱落率：％Ｄｅｌ＝（Ｄ／Ｎ）×１００・・・（３）
挿入率：％Ｉｎｓ＝（Ｉ／Ｎ）×１００・・・（４）
【００５１】
また、パターン間の編集距離は、一方のパターンから、挿入、削除、置換といった操作を行なうことによって、他方のパターンに編集する際に、必要とされる操作の最小回数である。
【００５２】
図６に示した処理手順では、テキスト修正装置１は、認識結果を受信しながら、テキストＮグラムとのＤＰマッチング、類似度の高いテキストＮグラムの選択、そして修正が必要な場合には修正、という処理を繰り返す。
一方で、このままの処理では、音声認識結果が終了した場合や、長い無音区間（ポーズ）が挿入された場合に、即ち、バッファにＮ単語格納する前に認識結果の逐次受信が停止した場合に、最後まで修正結果の出力がなされないまま、待ち状態となってしまうケース（つまり、ステップＳ１２の判定結果が常に「ＮＯ」となるケース）が生じ得る。これを回避するため、実際の処理手順では、所定時間（予め設定されたＴ秒間。一例としてＴ＝３など。）音声認識装置２００からの音声認識結果が到着しない状況が検知された直後に、下記の処理を実行する。
【００５３】
即ち、認識結果受信部１０が受信した音声認識結果として、長さｍ（０＜ｍ＜Ｎ）の単語列が認識結果記憶部２０に残っている状態のまま、Ｔ秒経過しても次の単語が受信されない（つまり、ポーズを検出した）ならば、その時点で、予め退避させておいたその直前の長さ（Ｎ−ｍ）の単語列を補完して、長さＮの単語列を生成する。その後、図６のステップＳ１３からの処理を実行する。但し、このポーズが検出された状態でステップＳ１７の処理を行う場合には、前半の（Ｎ／２）単語を出力するのではなく、（Ｎ−ｍ）単語を補完する前の未出力のｍ単語に相当する部分のテキストを出力するようにする。
このような処理により、認識途中の無音区間において速やかに認識結果を出力することができ、また、認識結果のデータが全て終了したときにも正しく全体の処理を終了することができる。
【００５４】
［第２の実施の形態］
次に、本発明の第２の実施形態について説明する。なお、既に述べた実施形態と共通する事項については説明を省略し、本実施形態特有の事項についてのみ説明する。
図８は、第２の実施形態によるテキスト修正装置の機能構成を示すブロック図である。図示するように、テキスト修正装置２は、認識結果受信部１０と、認識結果記憶部２０と、テキスト記憶部３０と、テキストＮグラム取得部４０と、テキストＮグラム記憶部５０と、テキスト区間推定部６０と、誤り修正部８０と、テキスト出力部９０とを備える。これらの各部の構成および機能は、第１実施形態におけるそれらと同様である。
【００５５】
また、テキスト修正装置２は、さらに、発音マッチング部７０と発音辞書データ記憶部７１とを備える。
この発音マッチング部７０は、認識結果記憶部２０に記憶された認識結果Ｎグラム内における、テキスト区間推定部６０によって修正候補として選択されたテキストＮグラムとの間の不一致区間における、認識結果Ｎグラムの側の発音とそのテキストＮグラム側の発音との間のマッチング処理を行って、両者間の発音類似度を算出し、算出された発音類似度が予め設定された発音類似度閾値より高いか否かを判定する。なお、発音マッチング部７０は、音素ラベルの列（音素列）同士のマッチング処理を行うことによって、上記の発音と発音との間のマッチング処理を行う。
また、発音辞書データ記憶部７１は、単語と発音との対応関係を保持するデータである。このようなデータは、既存技術による音声認識装置が備えているものであり、本実施形態においても、音声認識装置２００が備えている発音辞書データをコピーすることによって予め発音辞書データ記憶部７１に発音辞書を書き込んでおく。
【００５６】
なお、本実施形態における誤り修正部８０は、発音マッチング部７０によって算出された発音類似度が設定されている発音類似度閾値より高い場合にのみ、実際に修正を行う。誤り修正部８０は、その他の場合（算出された発音類似度が低い場合）には、単語置換処理を回避する。
【００５７】
図９は、発音辞書データ記憶部７１が記憶するデータの構成を示す概略図である。図示するように、発音辞書データ記憶部７１は、単語と発音（音素列）の各項目を有する表形式のデータである。そして、各行が、単語と発音の対応関係を保持する。例えば、単語「会見」に対応する発音（音素列）は「ｋａｉｋｅｎ」である。その他の単語についても同様である。
【００５８】
次に、テキスト修正装置２による処理の手順について説明する。なお、テキストＮグラム取得部４０が予めテキストＮグラムを抽出してテキストＮグラム記憶部５０に保存しておく点は、第１実施形態と同様である。
図１０は、テキストＮグラムが既にテキストＮグラム記憶部５０に書き込まれている状態での、テキスト修正装置２による処理の手順を示すフローチャートである。
ステップＳ２１からＳ２５までの処理は、図６で説明したステップＳ１１からＳ１５までの処理と、それぞれ、同様である。
【００５９】
ステップＳ２５において、類似度が最高であるテキストＮグラムの類似度が所定の閾値よりも高い場合（ステップＳ２５：ＹＥＳ）にはステップＳ２６に進む。そして、ステップＳ２６においては、発音マッチング部７０が、修正候補単語列の発音と、対応する認識結果Ｎグラムの発音を、発音辞書データ記憶部７１から読み出す。ここで修正候補単語列は、ステップＳ２４で選択されたテキストＮグラム（認識結果Ｎグラムとの間の類似度が最大のもの）が、ＤＰマッチングの結果、認識結果Ｎグラムの中の一部の単語の置換であると判定されたときの、置換対象の単語の列である。発音マッチング部７０は、認識結果Ｎグラムの中で置き換えられる可能性のある単語の音素列と、その単語を置き換える可能性のある単語の音素列を、それぞれ、発音辞書データ記憶部７１から取得する。一例では、「京都市−の−河浦−市長」という認識結果Ｎグラムと「京都市−の−川村−市長」というテキストＮグラムとをＤＰマッチングしたとき、「河浦」は「川村」の置換と判定される。この場合、発音マッチング部７０は、単語「河浦」に対応する音素列「ｋａｗａｕｒａ」と、「川村」に対応する音素列「ｋａｗａｍｕｒａ」とを、発音辞書データ記憶部７１から取得する。
【００６０】
次にステップＳ２７において、発音マッチング部７０は、置換候補の単語に対応する発音（音素列）同士のＤＰマッチング処理を実行する。このＤＰマッチング処理は、音素単位でのマッチングを行う。その結果、発音マッチング部７０は、両音素列間の類似度を算出する。なお、音素列間の類似度は、音素レベルでの一致率（式（１））や、一致精度（式（2））や、脱落率（式（３））や、挿入率（式（４））や、編集距離に基づいて算出される。
次にステップＳ２８において、発音マッチング部７０は、ステップＳ２７のＤＰマッチング処理によって算出された音素列間の類似度が予め設定された所定の閾値よりも高いか否かを判定する。類似度が高い場合（ステップＳ２８：ＹＥＳ）には次のステップＳ２９へ進む。類似度が低い場合（ステップＳ２８：ＮＯ）には、ステップＳ３０へ飛ぶ。
【００６１】
ステップＳ２９へ進んだ場合、誤り修正部８０が認識結果Ｎグラムの単語を置換することにより、修正を行う。この処理の詳細は、図６のステップＳ１６と同様である。
次にステップＳ３０では、テキスト出力部９０が、認識結果Ｎグラムの前半を出力するとともに、認識結果Ｎグラムを前にシフトする処理を行う。この処理の詳細は、図６のステップＳ１７と同様である。
【００６２】
なお、図１０に示した処理では、ステップＳ２３において認識結果Ｎグラムとのマッチングの対象となり得る全てのテキストＮグラムについて類似度を算出してから、ステップＳ２４において類似度が最高のテキストＮグラムを選択して修正候補単語列としてメモリに格納していた。この代わりに、ステップＳ２３において認識結果Ｎグラムと完全に一致するテキストＮグラムが見つかった場合に、この認識結果を正解とみなして、直ちにステップＳ３０の処理に移る手順としても良い。この場合、ステップＳ３０では、Ｎグラム長の半分の単語列を出力する。このようにすることにより、認識結果ＮグラムとテキストＮグラムとの間のＤＰマッチングの処理量を減らすことができ、全体の処理時間を短縮することができる。
【００６３】
次に、具体的なデータに基づく処理の例を説明する。図１１は、テキスト修正装置２が図１０に示した処理を実行したときの認識結果Ｎグラムと、類似度最大で選択されるテキストＮグラムと、単語の置換判定の関係を示す概略図である。以下、この図に沿って順次説明する。なおここで、テキスト修正装置２が処理対象とするテキストＮグラムは図３に示した通りであり、音声認識装置２００から渡される認識結果は図４に示した通りである。また、この例では、単語Ｎグラムの長さＮを４としている。
【００６４】
認識結果受信部１０は、図４に示した認識結果「ニュース−です−京都市−の−河浦−市長−は−会見−で−次−の−ように−述べ−ました・・・」を、単語毎に、あるいはいくつかの単語をひとまとまりとして、順次、音声認識装置２００から受信する（図１０のステップＳ２１）。
認識結果受信部１０は、上記の単語列を逐次受信した場合、これを順次、認識結果記憶部２０のバッファ（ＦＩＦＯ）に書き込む。そして、４単語（Ｎ単語）分蓄積された段階で、その４単語を認識結果Ｎグラム（４−グラム）として取り扱う。
【００６５】
＜図１１における処理回数「１回目」＞
つまり最初の認識結果Ｎグラムは、「ニュース−です−京都市−の」である。
テキスト区間推定部６０は、図３に示した、コンテンツＩＤが「１０１２３４５」であるテキストＮグラムのそれぞれと、認識結果Ｎグラム「ニュース−です−京都市−の」とのＤＰマッチングを行い、類似度を算出する（ステップＳ２３）。しかし、テキストＮグラムの中で類似度が最高のものについても、その類似度は設定された閾値を超えるものではない。よってテキスト出力部９０は、認識結果Ｎグラムの前半の２単語（４単語の半分）である「ニュース−です」を出力する。さらにテキスト出力部９０は、認識結果Ｎグラムの後半の「京都市−の」をシフトして前半に移す（ステップＳ３０）。
【００６６】
＜図１１における処理回数「２回目」＞
従って、次の認識結果Ｎグラムは、「京都市−の−河浦−市長」となる。
テキスト区間推定部６０は、同様に、コンテンツＩＤが「１０１２３４５」であるテキストＮグラムのそれぞれと、認識結果Ｎグラム「京都市−の−河浦−市長」とのＤＰマッチングを行い、類似度を算出する（ステップＳ２３）。その結果、ＮグラムＩＤが「１」である「京都市−の−川村−市長」が、類似度最高のテキストＮグラムとして判定される（ステップＳ２４）。
そして、選択されたテキストＮグラム「京都市−の−川村−市長」は、認識結果Ｎグラムとの類似度が閾値より高いと判定される（ステップＳ２５）。
【００６７】
また、既に行ったＤＰマッチングにおいてテキストＮグラム中の「川村」は、認識結果Ｎグラム中の「河浦」の置換であると判定されたため、発音マッチング部７０は、単語「川村」および単語「河浦」のそれぞれの発音（音素列）を発音辞書データ記憶部７１から取得する（ステップＳ２６）。そして、発音マッチング部７０は、取得した音素列「ｋａｗａｍｕｒａ」と「ｋａｗａｕｒａ」との間で、音素レベルのＤＰマッチングを行い、両音素列間の類似度を算出する（ステップＳ２７）。そして、発音マッチング部７０は、算出された音素列間の類似度が所定の閾値よりも高いか否かを判定する（ステップＳ２８）。
そして、音素列間の類似度が閾値よりも高いため、誤り修正部８０は、認識結果Ｎグラム中の「河浦」を、テキストＮグラム中の「川村」で置き換える修正を行う（ステップＳ２９）。
テキスト出力部９０は、認識結果Ｎグラムの前半の２単語である「京都市−の」を出力する。さらにテキスト出力部９０は、認識結果Ｎグラムの後半の「川村−市長」（既に修正済み）をシフトして前半に移す（ステップＳ３０）。
【００６８】
＜図１１における処理回数「３回目」＞
次の認識結果Ｎグラムは、「川村−市長−は−会見」である。これは、前回処理で「河浦」が「川村」に既に修正されているためである。この認識結果Ｎグラムに対して類似度最大で選択されるテキストＮグラムは、「川村−市長−は−記者」である。ここで、置換候補となるのは、認識結果Ｎグラム側の「会見」とテキストＮグラム側の「記者」である。そして、発音マッチング部７０が両者の発音の類似度を算出するが、類似度は閾値より高くないため、この置換（修正）は行われない。よって「川村−市長」が出力され、「は−記者」がシフトされる。
【００６９】
以下同様に、テキスト修正装置１は、音声認識装置２００から受信する認識結果に含まれる単語を順次使用しながら、認識結果Ｎグラムを特定し、テキストＮグラムとのＤＰマッチングを行い、類似度に応じて、置換候補の単語を特定し、それらの単語の発音同士の類似度が高い場合にその修正を行い、認識結果Ｎグラムの前半を出力し、認識結果Ｎグラムの後半を前にシフトする、という一連の処理を繰り返し実行する。
【００７０】
次に、上記実施形態（第１および第２の実施形態）の複数の変形例について説明する。
【００７１】
［変形例１］
前述した処理手順（図６および図１０）では、無音区間（ポーズ）の直前を除いて、Ｎ単語を受信するのを待ってから以後の処理を行っていた（図６のステップＳ１２および図１０のステップＳ２２での判定）。しかしながら、Ｎ単語の到着を常に待ってからその後の処理を行うと、修正結果の出力は、Ｎ単語を受信する時間分だけ常に遅延してしまう。この遅延時間を極力短くするため、この変形例１では、次のようにする。
即ち、長さＮの単語Ｎグラムを予めテキストＮグラム記憶部５０に書き込んでおくとともに、テキストＮグラム取得部４０による図５と同様の処理により、長さＭ（０＜Ｍ＜Ｎ）のテキストＮグラムを予め取得しておく。そして、長さＭのテキストＮグラムも、テキストＮグラム記憶部５０に予め書き込んでおく。
そして、長さＮの単語列が既に受信されていない場合も、認識結果Ｎグラムのうちの先頭のＭ単語と、上記の長さＭのテキストＮグラムとの間で一致するものがある場合には、バッファの先頭のＬ単語（０＜Ｌ≦Ｍ）のみを出力し、残りの単語をシフトする処理を行う。
【００７２】
図１２は、この変形例１に特有の処理手順を示すフローチャートである。図１２におけるステップＳ４１、Ｓ４２、Ｓ４３、Ｓ６０はそれぞれ、図６におけるステップＳ１１、Ｓ１２、Ｓ１３、Ｓ１７に対応し、また図１０におけるステップＳ２１、Ｓ２２、Ｓ２３、Ｓ３０に対応する。
ステップＳ４２において、認識結果記憶部２０のＦＩＦＯにまだＮ単語が格納されていないとき（ステップＳ４２：ＮＯ）には、ステップＳ５１に進む。
そして、ステップＳ５１では、テキスト区間推定部６０が、認識結果記憶部２０にＭ単語以上が格納されている場合に、先頭のＭ単語が、当該コンテンツＩＤに該当する長さＭのテキストＮグラムのいずれかと一致するか否かを判定する。そして、一致する場合（ステップＳ５１：ＹＥＳ）にはステップＳ５２に進む。一致しない場合（ステップＳ５１：ＮＯ）にはそのままステップＳ４１に戻る。
ステップＳ５２に進んだ場合には、テキスト出力部９０が、認識結果記憶部２０のＦＩＦＯに格納されている先頭のＬ単語のみを出力し、残りの単語列をＬ単語分、前にシフトする。そして、ステップＳ５２の処理が終了すると、ステップＳ４１に戻る。
なお、ステップＳ４３に進んだ場合、ステップＳ４３におけるＤＰマッチングを実行した後の処理は、図６や図１０の場合と同様である。
【００７３】
つまり、本例におけるテキスト区間推定部６０は、認識結果記憶部２０に書き込まれた認識結果Ｎグラムの長さがＮ以上でない場合であっても、認識結果Ｎグラムの長さが所定値Ｍ（Ｍは正整数であり且つ、Ｍ＜Ｎ）以上である場合には、そのときの認識結果Ｎグラムの先頭の長さＭの部分が、テキストデータから予め得られた長さＭの単語列のいずれかと一致するか否かを判定する。
そして、本例におけるテキスト出力部９０は、認識結果Ｎグラムのうちの先頭の長さＭの部分が、テキストデータから予め得られた長さＭの単語列のいずれかと一致した場合には、認識結果Ｎグラムにおける一致部分の少なくとも一部分（例えば、１単語分など）を出力するとともに、認識結果Ｎグラムのうち出力した部分を認識結果記憶部２０から削除する。
【００７４】
なお、ＮとＭとＬの関係は、０＜Ｌ≦Ｍ＜Ｎであるが、ＮとＭとＬの組み合わせとして好適なものは、例えば、Ｎ＝２０のとき、Ｍ＝４、Ｌ＝１とすることである。
なお、発明者が行った実証実験によれば、Ｍ≧４のときに、良い結果が得られることがわかっている。また、Ｌ＝Ｍとしても良いが、Ｍと比べてＬを小さくするほうが、出力されるテキストの修正精度が上がり、良い結果が得られる。特に、Ｌ＝１とするときに良い結果が得られることが、発明者が行った実証実験によってわかっている。
【００７５】
［変形例２］
この変形例においては、テキスト区間推定部６０が行うＤＰマッチングの処理に特徴がある。前提として、既に述べたように、テキストＮグラム取得部４０がテキストＮグラムを取得してテキストＮグラム記憶部５０に書き込む際に、当該コンテンツ内においてテキストの前から順に１、２、３、・・・というＮグラムＩＤを付与している。図３に示したデータ例では、そのように、テキストの前方ほどＮグラムＩＤの数値が小さく、テキストの後方ほどＮグラムＩＤの数値が大きくなっている。
そして、テキスト区間推定部６０は、図６のステップＳ１４や図１０のステップＳ２４において、認識結果Ｎグラムとの類似度が最大のテキストＮグラムを選択した際に、選択されたテキストＮグラムのＮグラムＩＤ（位置情報）をメモリに保存しておく。
そして、テキスト区間推定部６０は、次回、図６のステップＳ１３や図１０のステップＳ２３の処理を行う際には、前回保存したＮグラムＩＤをメモリから読み出し、そのＮグラムＩＤを基準として、−Ｊから＋Ｋまでの位置の範囲内のＮグラムＩＤを有するテキストＮグラムのみを対象として、ＤＰマッチングの処理を行う。
なお、ＪおよびＫは、適宜設定される正整数であり、Ｎ＝２０のとき、一例としては、Ｊ＝１５０、Ｋ＝１００などとする。
【００７６】
つまり、本例では、テキスト区間推定部６０は、修正候補として選択したテキストＮグラムの元のテキストデータ内における位置情報をメモリに記憶するとともに、認識結果ＮグラムとテキストＮグラムとの間のマッチング処理を行う際には前回選択したテキストＮグラムの位置情報をメモリから読み出して、読み出した位置情報に基づいて限定された範囲（例えば前回位置から前方へ所定単語数の位置から、後方へ所定単語数の位置までの範囲）のテキストＮグラムのみを、現在の認識結果Ｎグラムとのマッチング処理の対象とする。
【００７７】
一般にＤＰマッチングに要する計算量は膨大である。本例では、前回のＤＰマッチングの結果に基づき、テキスト全体におけるその近傍に、次の回で類似度最大となるテキストＮグラムが来る可能性が高いことを利用することによって、マッチング対象とするテキストＮグラムを予め絞り込んでいる。これにより、全てのテキストＮグラムをＤＰマッチングの対象とする場合に比べて、処理に必要な計算量を大幅に削減することができる。
【００７８】
［変形例３］
本例では、テキスト区間推定部６０が、認識結果ＮグラムとテキストＮグラムとのＤＰマッチングを行う際に、比較対象とするコンテンツＩＤを拡張する。
具体的には、テキスト区間推定部６０は、図６のステップＳ１３や図１０のステップＳ２３の処理を行う際に、現在のコンテンツと同一のコンテンツに含まれるテキストＮグラムのみをＤＰマッチングの対象とするのではなく、他のコンテンツのテキストに含まれる最初の所定数文に相当するテキストＮグラムをも、ＤＰマッチングの対象とする。
例えば、現在のコンテンツのコンテンツＩＤが「１０１２３４５」であるとき、テキスト区間推定部６０は、コンテンツＩＤが「１０１２３４５」である全てのテキストＮグラムと、コンテンツＩＤが「１０１２３４５」以外であって且つＮグラムＩＤが１以上でＰ以下（Ｐは適宜設定される正整数であり、例えばＰ＝１０）であるようなテキストＮグラムとを、認識結果ＮグラムとのＤＰマッチングの対象とする。ＮグラムＩＤが１以上でＰ以下という範囲には、当該コンテンツにおける最初のＰ個のＮグラムが含まれる。
【００７９】
つまり、本例において、テキスト区間推定部６０は、現コンテンツ（現在、認識結果を受信しているコンテンツ）とは異なるコンテンツに対応するテキストデータの、先頭から所定の範囲内（例えば、１番目から１０番目）に該当するテキストＮグラムを、さらに、認識結果Ｎグラムとのマッチング処理の対象とする。
【００８０】
このように、現コンテンツに加えて、現コンテンツ以外のコンテンツのテキストをもＤＰマッチングの対象とすることにより、図２に示したように、テキスト記憶部３０が複数のファイルを保持しており、個々のファイルがそれぞれのコンテンツに対応しており、コンテンツ毎にコンテンツＩＤが付与されている状況に対応可能となる。
【００８１】
つまり、本例では、現コンテンツ以外のコンテンツにおけるテキスト原稿等の冒頭部分をマッチングの対象とすることができる。つまり、音声認識処理を行っている間に他のコンテンツに移った場合にも、適切にテキストＮグラムを用いたテキストの修正を行うことができる。一例としては、あるニュース番組の中で、各々のニュース項目がコンテンツに該当する場合、番組中に別のニュース項目に移っても適切にテキストＮグラムを用いたテキストの修正を行うことができる。つまり、ニュース番組でニュース項目の順番が予め決まっていない場合や、状況に応じてニュース項目の順番が動的に変更される場合にも、適切にテキストの修正を行うことができる。
【００８２】
［変形例４］
本例は、既に述べた変形例２と変形例３の組み合わせである。
本例では、具体的には、テキスト区間推定部６０は、図６のステップＳ１３や図１０のステップＳ２３の処理を行う際に、現コンテンツにおける前回の類似度最高のテキストＮグラムの位置の近傍と、他のコンテンツのテキストに含まれる最初の所定数文に相当するテキストＮグラムとを、ＤＰマッチングの対象とする。
【００８３】
例えば、現在のコンテンツのコンテンツＩＤが「１０１２３４５」であって、前回類似度最高であったテキストＮグラムのＮグラムＩＤが「２０」であるとき、テキスト区間推定部６０は、コンテンツＩＤが「１０１２３４５」で且つＮグラムＩＤが（２０−Ｊ）以上で（２０＋Ｋ）以下であるようなテキストＮグラムと、コンテンツＩＤが「１０１２３４５」以外であって且つＮグラムＩＤが１以上でＰ以下であるようなテキストＮグラムとを、認識結果ＮグラムとのＤＰマッチングの対象とする。あの、Ｊ、Ｋ、Ｐはそれぞれ設定値であり、それらの意味は既に述べた通りである。
本例による処理では、変形例２と変形例３の両方の効果を得ることができる。
【００８４】
［変形例５］
本例は、図６のステップＳ１５や図１０のステップＳ２５での判定に用いる類似度（認識結果ＮグラムとテキストＮグラムとの間の類似度）の閾値（パラメータ）を変更することを可能とする。この類似度の閾値を低くすると、選択されたテキストＮグラムを用いて認識結果Ｎグラムを修正する場合がより多くなる。この類似度の閾値を高くすると、選択されたテキストＮグラムを用いて認識結果Ｎグラムを修正する場合がより少なくなる。
また、本例では、図１０のステップＳ２８での判定に用いる類似度（置換される単語の発音と、置換する単語候補の発音との間の類似度）の閾値（パラメータ）を変更することを可能とする。この類似度の閾値を低くすると、候補の単語を用いて認識結果Ｎグラムを修正する場合がより多くなる。この類似度の閾値を高くすると、候補の単語を用いて認識結果Ｎグラムを修正する場合がより少なくなる。
【００８５】
なお、本例によるテキスト修正装置は閾値変更手段（不図示）を備え、利用者がキーボードやマウス等を用いて、上記のパラメータの各々を調整できるようにする。閾値変更手段は、利用者の操作に基づいて、類似度の閾値を書き換える。例えば、テキスト（放送番組の台本や、ニュース原稿など）の完成度が高い場合や、放送内におけるアドリブが少ないと予想される場合や、読み上げ音声とテキストの内容がかなり近いことが想定される場合には、利用者がこれらの閾値を低く設定する。これにより、テキスト修正装置は、より積極的に自動修正を実行する。逆に、テキストの信頼性が低い場合などには、利用者がこれらの閾値を高く設定する。これにより、テキスト修正装置が認識結果を自動修正する区間を限定することができる。
このように、本変形例では、利用者が自動修正の度合いを変更することができ、与えられるテキストデータの性質に応じて調整することができる。
【００８６】
なお、この変形例５では、認識結果ＮグラムとテキストＮグラムとの間の類似度の閾値を変更可能とし、且つ、置換される単語の発音と置換する単語候補の発音との間の類似度の閾値をも変更可能としている。これに対し、後者（置換される単語の発音と置換する単語候補の発音との間の類似度の閾値）のみを変更可能とするように装置を構成しても良い。
【００８７】
［変形例６］
本例では、誤り修正部８０は、利用者（オペレータ）に対して修正を実行するか否かを確認し、利用者が肯定的な回答を入力した場合のみに実際に修正を実行し、その他の場合には修正処理を回避する。
図１３は、本例における誤り修正部８０の詳細な処理手順を示すフローチャートである。このフローチャート全体の処理が、図６のステップＳ１６や図１０のステップＳ２９の処理に相当する。
【００８８】
このフローチャートのステップＳ７１において、誤り修正部８０は、音声認識結果と、それに対応する修正候補を画面に表示する。ここで表示される音声認識結果は、テキストＮグラムとのＤＰマッチング処理等により、誤りであると推定されている音声認識結果である。またこのとき、誤り修正部８０は、利用者に対して「本当にこの修正を実行するか否か」を問うためのメッセージを画面に表示する。また、誤り修正部８０は、利用者が「ＹＥＳ」か「ＮＯ」のいずれかを選択できるよう、ボタンの表示等を行なう。
これに対応して、利用者は、キーボードやマウス等の手段を用いて、「ＹＥＳ」または「ＮＯ」を選択できる。
次に、ステップＳ７２において、誤り修正部８０は、利用者からの入力が「修正する」ことを表わすものであるか否かを判定する。利用者からの入力が「修正する」ことを示すものである場合（ステップＳ７２：ＹＥＳ）は、次のステップＳ７３に進む。利用者からの入力が「修正しない」ことを示すものである場合（ステップＳ７２：ＮＯ）、ステップＳ７３の処理をスキップして、このフローチャート全体の処理を終了する。
そして、ステップＳ７３に進んだ場合、誤り修正部８０は、実際に修正を行なう。つまり、認識結果記憶部２０を書き換えることにより、修正を行なう。
【００８９】
つまり、本例における誤り修正部８０は、認識結果Ｎグラムと、テキスト区間推定部６０によって選択されたテキストＮグラムに基づく修正候補とを表示し、利用者から当該修正を行うことを表す指示が入力された場合にのみ、前記修正を行う。
【００９０】
テキスト修正装置１または２は、予め取得したテキストＮグラムを利用して認識結果を自動的に修正することを可能とするものである。そして、本変形例によると、さらに、修正候補を本当に適用してよいかどうかを利用者に確認することができる。つまり、従来技術を用いる場合には利用者は認識結果が正しいかどうかを一字一句目視でチェックして、修正が必要な場合には手作業で修正する必要があったのに対して、本例を用いた場合には、利用者は提示される修正候補を確認し、その候補を適用するか否かをＹＥＳ／ＮＯの二者択一の形で入力するだけで、テキストの修正を行なうことができる。つまり、放送番組の字幕をリアルタイムに作成したりする場合に、オペレータの負荷や疲労を軽減することが可能となる。
【００９１】
［変形例７］
変形例７は、第２の実施形態に適用する変形例である。
発音マッチング部７０が、置換される単語の音素列と置換する単語の音素列との間の類似度が閾値より高いか否かに応じて、この置換を行なうかどうかを決定することを、既に述べた（図１０のステップＳ２８における判断）。変形例７では、発音マッチング部７０が、置換される単語の音素列の長さ（音素数）に応じて異なる閾値を用いることができるようにしている。なお、音素数は、音素列の文字数をカウントすることにより得られる。例えば、単語「河浦」に対応する音素列は「ｋａｗａｕｒａ」であり、その音素数は７である。
【００９２】
図１４は、音素数と類似度に応じた、置換すべき単語および置換すべきでない単語の分布を示すグラフである。同図において、（ａ）は一致率（％Ｃｏｒｒ）を類似度として用いた場合の分布を示し、（ｂ）は一致精度（％Ａｃｃ）を類似度として用いた場合の分布を示し、（ｃ）は脱落率（％Ｄｅｌ）を類似度として用いた場合の分布を示し、（ｄ）は挿入率（％Ｉｎｓ）を類似度として用いた場合の分布を示す。
（ａ）から（ｄ）までの各グラフにおいて、縦軸は、類似度として用いた数値（それぞれ、一致率、一致精度、脱落率、挿入率）である。また、横軸は、音素数である。
また、これらの図に示す分布は、テキスト修正装置２を用いて、実データに基づいて単語修正候補を求めたときに、各々の候補ごとに、その置換を行なうべきであるか否かを人が判断した結果に基づく。
【００９３】
同図（ａ）が示すように、音素数に応じた所定の閾値よりも一致率が高い領域（つまり類似度が高い領域）に、単語を置換すべき（置換ＯＫ）であるサンプルが多く分布し、その閾値よりも一致率が低い領域（つまり類似度が低い領域）に、単語を置換すべきでない（置換ＮＧ）サンプルが多く分布している。
また、同図（ｂ）が示すように、音素数に応じた所定の閾値よりも一致精度が高い領域（つまり類似度が高い領域）に、単語を置換すべき（置換ＯＫ）であるサンプルが多く分布し、その閾値よりも一致精度が低い領域（つまり類似度が低い領域）に、単語を置換すべきでない（置換ＮＧ）サンプルが多く分布している。
また、同図（ｃ）が示すように、音素数に応じた所定の閾値よりも脱落率が低い領域（つまり類似度が高い領域）に、単語を置換すべき（置換ＯＫ）であるサンプルが多く分布し、その閾値よりも脱落率が高い領域（つまり類似度が低い領域）に、単語を置換すべきでない（置換ＮＧ）サンプルが多く分布している。
また、同図（ｄ）が示すように、音素数に応じた所定の閾値よりも挿入率が低い領域（つまり類似度が高い領域）に、単語を置換すべき（置換ＯＫ）であるサンプルが多く分布し、その閾値よりも挿入率が高い領域（つまり類似度が低い領域）に、単語を置換すべきでない（置換ＮＧ）サンプルが多く分布している。
【００９４】
つまり、類似度の算出のために用いる数値が一致率、一致精度、脱落率、挿入率のいずれであるかに応じて、置換対象の単語に対応する発音の音素数ごとに、適宜閾値を設定し、音素数と対応付けてそれらの閾値を予めメモリに記憶させておく。そして、発音マッチング部７０は、図１０のステップＳ２８における判断をする際に、置換対象の単語の音素数をカウントし、その音素数に応じた閾値をメモリから読み出して使用する。
これにより、その置換を行なうべきか否かの判定をより良好に行い、テキスト修正の精度をよりいっそう向上させることができる。
【００９５】
［変形例８］
変形例８は、上記の変形例７において、音素数ごとの類似度の閾値を決定する際に、機械学習処理を利用する。
具体的には、テキスト修正装置２を用いて、実データに基づいて単語修正候補を求めたときに、各々の候補ごとに、その置換を行なうべきであるか否かを人が判断し、人による判断結果を含んだデータを、教師データとして予め準備する。この教師データは、図１４に示した各サンプルの集合に相当する。
そして、発音マッチング部７０は機械学習処理手段を備えている。そして、類似度を算出するために一致率（％Ｃｏｒｒ）を用いる場合、上記の教師データに基づき、置換ＯＫか置換ＮＧかを判定するときの正解率を評価関数として、機械学習処理手段が機械学習処理を行なうことにより、単語発音の音素数ごとに一致率の最適閾値を求める。なお、機械学習処理手段としては、例えば、既存技術であるＳＶＭ（サポート・ベクタ・マシン）などを用いる。
一致率以外を用いて類似度を算出する場合も、上記と同様である。
【００９６】
つまり、本例は、置換候補の単語ペアと、単語ペアのうちの一方の単語の発音音素数（音素列の長さ）と、単語ペアに関する発音類似度と、単語ペアが置換可能か否かを表すデータとから、機械学習処理により、単語ペアが置換可能か否かを決定するための発音類似度閾値を求め、得られた発音類似度閾値を設定する学習処理手段を具備している。
そして、発音マッチング部７０は、学習処理手段によって設定された発音類似度閾値を用いた判定を行う。
【００９７】
このような構成により、人の判断を必要とせず、教師データに基づいて自動的に、単語の音素数ごとに最適な発音類似度閾値を求めることができる。求められた発音類似度閾値を音素数と関連付けて設定値としてメモリに記憶しておく。そして、類似度の判定を行なう際には、音素数に応じて閾値をメモリから読み出して使用する。
【００９８】
なお、上述した実施形態およびその変形例における、テキスト修正装置の一部または全部の機能をコンピュータで実現するようにしても良い。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時刻の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時刻プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００９９】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
例えば、上述した実施形態では、認識結果ＮグラムとテキストＮグラムとの間、あるいは単語の発音相互間でのマッチングにＤＰマッチングを用いて、類似度を算出したが、他のアルゴリズムによりマッチング処理を行うようにしても良い。
【産業上の利用可能性】
【０１００】
本発明は、例えば、放送等のためのコンテンツ制作に利用することができる。また、会議録の作成に利用することができる。その他、一般に、音声認識装置による認識結果を修正して精度を高めるためる目的で利用することができる。
【符号の説明】
【０１０１】
１，２  テキスト修正装置
１０  認識結果受信部
２０  認識結果記憶部（認識結果単語列データ記憶部）
３０  テキスト記憶部
４０  テキストＮグラム取得部
５０  テキストＮグラム記憶部（テキスト単語列データ記憶部）
６０  テキスト区間推定部
７０  発音マッチング部
７１  発音辞書データ記憶部
８０  誤り修正部
９０  テキスト出力部
２００  音声認識装置
【図１】
0005478478.tif 000002
【図２】
0005478478.tif 000003
【図３】
0005478478.tif 000004
【図４】
0005478478.tif 000005
【図５】
0005478478.tif 000006
【図６】
0005478478.tif 000007
【図７】
0005478478.tif 000008
【図８】
0005478478.tif 000009
【図９】
0005478478.tif 000010
【図１０】
0005478478.tif 000011
【図１１】
0005478478.tif 000012
【図１２】
0005478478.tif 000013
【図１３】
0005478478.tif 000014
【図１４】
0005478478.tif 000015