(57)【特許請求の範囲】
【請求項１】
原稿テキストを記憶する原稿テキスト記憶部と、
前記原稿テキスト記憶部に記憶された前記原稿テキストに含まれる言語要素の系列に関して、複数の前記系列間の類似度を表す距離を算出するとともに、算出された前記距離が所定の閾値を下回るか否かによって類似の系列を検出し、類似の系列が検出された場合には警告情報を出力し、検出された類似の系列のうちの少なくともいずれかについて前記原稿テキストを操作することによって類似を解消するための修正の提案を出力するとともに、外部から入力された指示にしたがって前記原稿テキストを修正する前処理部と、
前記原稿テキストに対応して、音声認識結果として入力される単語を順次受理しながら状態遷移していく有限状態トランスデューサーであって、前記音声認識結果に含まれる単語の誤りをも受理しながら状態遷移していく前記有限状態トランスデューサーの、状態に関する情報、および状態遷移に関して遷移元状態と遷移先状態と入力シンボルと出力シンボルと遷移重みとを含む情報、とを記憶する有限状態トランスデューサー情報記憶部と、
前記有限状態トランスデューサーにおける前記状態の尤度を表すスコアを記憶するノードデータ記憶部と、
前記原稿テキストに対応する音声の認識結果である認識単語の入力を外部から受け付けるとともに、受け付けた前記認識単語に応じて、前記有限状態トランスデューサーにおける前記状態ごとの当該時刻でのスコアを算出し、算出された前記スコアを用いて前記ノードデータ記憶部を更新するノードデータ更新部と、
処理開始を示す起動信号を外部から受け付けると、ノードデータ記憶部を参照することにより、その時点における最尤ノードを決定するとともに、前記有限状態トランスデューサー情報記憶部と前記ノードデータ記憶部とを参照して、前記最尤ノードまでの状態遷移を遡ることにより、状態遷移が確定済みの所定の時刻までのトレースバック処理を行い、当該トレースバック処理した状態遷移のパスを出力候補とするとともに、出力候補となった前記パスに関して、当該パスに前記誤りに関する状態遷移が含まれる割合に応じた誤りスコアを算出し、算出された前記誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に当該パスの出力候補を、確定出力とする原稿探索部と、
前記原稿探索部によって求められた前記確定出力を出力する出力部と、
を具備することを特徴とする音声認識誤り修正装置。
【請求項２】
前記原稿テキストは、複数の項目で構成されており、
前記前処理部は、前記項目間の前記距離が所定の閾値を下回る場合には、項目が重複していることを示す前記警告情報を出力する、
ことを特徴とする請求項１に記載の音声認識誤り修正装置。
【請求項３】
前記原稿テキストは、複数の文を含んで構成されており、
前記前処理部は、前記文間の前記距離が所定の閾値を下回る場合には、文が類似していることを示す前記警告情報を出力するとともに、類似している前記文のいずれかを、当該文の前の文または当該文の後の文に連結する修正の提案を出力する、
ことを特徴とする請求項１または２に記載の音声認識誤り修正装置。
【請求項４】
前記原稿テキストは、複数の文を含んで構成されており、
前記文は、１つ以上のチャンクから構成されており、
前記前処理部は、文の先頭に位置する文頭チャンク間の前記距離が所定の閾値を下回る場合には、文頭チャンクが類似していることを示す前記警告情報を出力するとともに、類似している前記文頭チャンクの少なくともいずれかを後方に延長する修正の提案を出力する、
ことを特徴とする請求項１から３までのいずれか一項に記載の音声認識誤り修正装置。
【請求項５】
前記原稿テキストは、複数の文を含んで構成されており、
前記前処理部は、前記文に含まれる単語数が所定の閾値より小さい場合には、文が短すぎることを示す前記警告情報を出力する、
ことを特徴とする請求項１から４までのいずれか一項に記載の音声認識誤り修正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識誤り修正装置に関する。
【背景技術】
【０００２】
近年、テレビ等の番組における字幕テキストの付与を自動的に行う技術について研究されている。
非特許文献１には、生放送のニュース番組への字幕付与を目的としたアプローチの一つに、スペインのＣＡＲＴＶの例が記載されている。非特許文献１に記載されたシステムは、ニュース項目とその順番、読み原稿が与えられていることを前提とし、読み原稿の単語を一列の音素列とし、入力音声で強制アライメントを施して原稿の読み上げ部分を特定している。強制アライメントとは発話内容の音素列が与えられたときに、各音素と発話音声区間の対応を得るアルゴリズムである。このシステムでは、原稿のどの部分を読んでいるのかを音素単位で特定できるため、早期に字幕文を確定して番組映像と整合性の高い字幕を出力することができる。
【０００３】
また、特許文献1には、単語単位で認識単語列と読み原稿を比較して音声認識誤りを修正する技術が開示されている。特許文献１に記載されたテキスト修正装置では、長さＮの単語連鎖ブロックで、音声認識結果の単語列と原稿内の単語列を比較することを特徴としている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１２８１８８号公報
【非特許文献】
【０００５】
【非特許文献１】J. E. Garcia, A. Ortega, E. Lleida, T. Lozano, E. Bernues, D. Sanchez, Aragon Inst. for Eng. Res.，Univ. of Zaragoza，Zaragoza，"Audio and text synchronization for TV news sub-titling based on Automatic Speech Recognition"，BMSB '09.，IEEE International Symposium on Broadband Multimedia Systems and Broadcasting，2009年
【発明の概要】
【発明が解決しようとする課題】
【０００６】
非特許文献１に記載されたシステムが採用するアルゴリズムでは、発話音声と音素列に不一致がある場合には著しく精度が低下するという問題がある。
【０００７】
一方、ニュース番組の多くは、ニュース項目とその順番を事前に特定することは難しい。番組の放送中にニュース項目の順序が変更されることも多い。非特許文献１に記載されたＣＡＲＴＶの例では、ニュース編集コンピューターシステム（ＮＲＣＳ）と連携した大規模なシステムを構築しているため、ニュース項目や項目順が更新される度にアライメントに用いるための音素列を更新する手法を取っている。
【０００８】
しかし、非特許文献１がそのような手法を取っていても、ＮＲＣＳでの管理に基づく音素列の更新が間に合わなかったり、原稿の読み飛ばしや言い換えがあったりした場合には、適切なアライメントができなくなる。そこで、アライメント位置を修正するために、番組進行の目安となるラップタイムや、インサート映像の再生タイミングを取得して利用しており、複雑で大規模なシステムを構築することが必要となっている。さらに、番組内には、インサート映像のインタビューなど、ＮＲＣＳでは発話内容を管理していない部分もある。したがって、そのような部分でアライメントが進行しないようにするため、上記のインサート映像を管理して、その再生情報をもとにアライメントヘの入力を停止するなどといった複雑な制御も必要となる。
【０００９】
例えば、自動字幕制作システムを必要とする地方放送局においては、このような複雑なシステムの構築と維持は困難であり、より簡易なシステムが求められる。
【００１０】
また、特許文献１の技術では、上記のような複雑なシステムの構成を必要とはしないものの、認識単語仮説列の文境界を推定していないため、不適切な原稿区間と音声認識結果の単語列とを照合してしまう結果、文境界やブロック境界に認識誤りがあったり、原稿の読み飛ばしや言い換えがあったり、原稿にない発話の追加があったりした場合、ブロック境界において、単語が欠落したり、同じ単語が２回出力されるなどの自動修正の誤りが生じる。このような自動修正誤りは、音声認識結果による単語仮説列の境界（文境界）が未知であるかぎり、音声認識結果と原稿との対応をとる区間の単位を文や他の単位としても同様に生じる。
【００１１】
上記の課題を解決するために、放送のための原稿に基づいて、認識誤りをも許容する（つまり誤った認識結果が入力されても状態遷移可能とする）有限状態トランスデューサーを予め構築しておき、その状態遷移定義を用いて尤度を計算することにより認識誤りを修正することも考えられる。しかしながら、そのように認識誤りをも許容する有限状態トランスデューサーを用いて正しく現状態を推定するためには、所定の前提条件を満たす必要がある。その前提条件とは、原稿内に互いに類似する系列（例えば単語の系列）が存在しないことである。仮に類似の系列が存在していると、その有限状態トランスデューサーは、誤った認識結果が入力されても状態遷移可能としているが故に、認識誤りを正しく修正できない可能性がある。その結果、間違った原稿を字幕テキストとして送出してしまうことが起こり得る。字幕テキストを放送に用いる場合には、その正確さを低下させる要因となる。
【００１２】
本発明は、上記のような事情を考慮して為されたものであり、より正確に音声認識誤りを修正することのできる音声認識誤り修正装置を提供するものである。
また特に、本発明は、音声認識誤りを修正する際に、有限状態トランスデューサーにおけるノードの推定をより正確に行うことのできる音声認識誤り修正装置を提供するものである。
【課題を解決するための手段】
【００１３】
上記の課題を解決するため、本発明の一態様による音声認識誤り修正装置は、原稿テキストを記憶する原稿テキスト記憶部と、前記原稿テキスト記憶部に記憶された前記原稿テキストに含まれる言語要素の系列に関して、複数の前記系列間の類似度を表す距離を算出するとともに、算出された前記距離が所定の閾値を下回るか否かによって類似の系列を検出し、類似の系列が検出された場合には警告情報を出力し、検出された類似の系列のうちの少なくともいずれかについて前記原稿テキストを操作することによって類似を解消するための修正の提案を出力するとともに、外部から入力された指示にしたがって前記原稿テキストを修正する前処理部と、前記原稿テキストに対応して、音声認識結果として入力される単語を順次受理しながら状態遷移していく有限状態トランスデューサーであって、前記音声認識結果に含まれる単語の誤りをも受理しながら状態遷移していく前記有限状態トランスデューサーの、状態に関する情報、および状態遷移に関して遷移元状態と遷移先状態と入力シンボルと出力シンボルと遷移重みとを含む情報、とを記憶する有限状態トランスデューサー情報記憶部と、前記有限状態トランスデューサーにおける前記状態の尤度を表すスコアを記憶するノードデータ記憶部と、前記原稿テキストに対応する音声の認識結果である認識単語の入力を外部から受け付けるとともに、受け付けた前記認識単語に応じて、前記有限状態トランスデューサーにおける前記状態ごとの当該時刻でのスコアを算出し、算出された前記スコアを用いて前記ノードデータ記憶部を更新するノードデータ更新部と、処理開始を示す起動信号を外部から受け付けると、ノードデータ記憶部を参照することにより、その時点における最尤ノードを決定するとともに、前記有限状態トランスデューサー情報記憶部と前記ノードデータ記憶部とを参照して、前記最尤ノードまでの状態遷移を遡ることにより、状態遷移が確定済みの所定の時刻までのトレースバック処理を行い、当該トレースバック処理した状態遷移のパスを出力候補とするとともに、出力候補となった前記パスに関して、当該パスに前記誤りに関する状態遷移が含まれる割合に応じた誤りスコアを算出し、算出された前記誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に当該パスの出力候補を、確定出力とする原稿探索部と、前記原稿探索部によって求められた前記確定出力を出力する出力部と、を具備する。
なお、言語単位とは、具体的には、単語や、文字や、音素等である。
【００１４】
また、本発明の一態様は、上記の音声認識誤り修正装置において、前記原稿テキストは、複数の項目で構成されており、前記前処理部は、前記項目間の前記距離が所定の閾値を下回る場合には、項目が重複していることを示す前記警告情報を出力する、ことを特徴とする。
【００１５】
また、本発明の一態様は、上記の音声認識誤り修正装置において、前記原稿テキストは、複数の文を含んで構成されており、前記前処理部は、前記文間の前記距離が所定の閾値を下回る場合には、文が類似していることを示す前記警告情報を出力するとともに、類似している前記文のいずれかを、当該文の前の文または当該文の後の文に連結する修正の提案を出力する、ことを特徴とする。
【００１６】
また、本発明の一態様は、上記の音声認識誤り修正装置において、前記原稿テキストは、複数の文を含んで構成されており、前記文は、１つ以上のチャンクから構成されており、前記前処理部は、文の先頭に位置する文頭チャンク間の前記距離が所定の閾値を下回る場合には、文頭チャンクが類似していることを示す前記警告情報を出力するとともに、類似している前記文頭チャンクの少なくともいずれかを後方に延長する修正の提案を出力する、ことを特徴とする。
【００１７】
また、本発明の一態様は、上記の音声認識誤り修正装置において、前記原稿テキストは、複数の文を含んで構成されており、前記前処理部は、前記文に含まれる単語数が所定の閾値より小さい場合には、文が短すぎることを示す前記警告情報を出力する、ことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、前処理部が原稿内の類似表現（類似の系列）を検出し、予め解消する。よって、そのように前処理部によって処理された原稿テキストに基づいて生成される有限状態トランスデューサーを用いれば、原稿の探索の際に、状態（ノード）の推定の精度が良くなる。よって、音声認識誤りを修正するときの正確性が増す。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態が前提とする音声認識誤り修正装置（方式１）を含むシステムを模式的に示すブロック図である。
【図２】音声認識誤り修正装置（方式１）のための重み付き有限状態トランスデューサーの構築例を模式的に示す図である。
【図３】音声認識誤り修正装置（方式１）の構成を模式的に示すブロック図である。
【図４】音声認識誤り修正装置（方式１）によるトレースバック及び原稿分割を説明するための図（その１）である。
【図５】音声認識誤り修正装置（方式１）によるトレースバック及び原稿分割を説明するための図（その２）である。
【図６】音声認識誤り修正装置（方式１）による処理の流れを示すフローチャートである。
【図７】音声認識誤り修正装置（方式１）に関して重み付き有限状態トランスデューサーで適用できるアルゴリズムの例を示す模式図である。
【図８】本発明の実施形態が前提とする音声認識誤り修正装置（方式２）を含むシステムの構成の概略を示すブロック図である。
【図９】音声認識誤り修正装置（方式２）のためのＷＦＳＴ（重み付き有限状態トランスデューサー）の例を示す状態遷移図である。
【図１０】音声認識誤り修正装置（方式２）において用いるための特徴を備えたＷＦＳＴの例を示す状態遷移図である。
【図１１】音声認識誤り修正装置（方式２）の概略機能構成を示す機能ブロック図である。
【図１２】音声認識誤り修正装置（方式２）による処理の手順を示すフローチャートである。
【図１３】音声認識誤り修正装置（方式２）による字幕文出力の確定方法の実例を示す概略図である。
【図１４】本発明の第１実施形態による音声認識誤り修正装置の概略機能構成を示すブロック図である。
【図１５】本発明の第２実施形態による音声認識誤り修正装置の概略機能構成を示すブロック図である。
【図１６】第１実施形態または第２実施形態における前処理部によって検出される重複項目の第１の例を示す概略図である。
【図１７】第１実施形態または第２実施形態における前処理部によって検出される重複項目の第２の例を示す概略図である。
【図１８】第１実施形態または第２実施形態における前処理部によって検出された文対の例と、その文の一方を他の文と連結させる例を示す概略図である。
【図１９】第１実施形態または第２実施形態における前処理部によって検出された類似チャンクの例と、それらのチャンクの延長を提案した例を示す概略図である。
【図２０】第１実施形態または第２実施形態における前処理部が系列間の距離（レーベンシュタイン距離の改良版）を算出するための計算手順を示すプログラム疑似コードである。
【図２１】第１実施形態または第２実施形態における前処理部が、上記のプログラムによって、距離を算出したときの実行例を示す概略図である。
【発明を実施するための形態】
【００２０】
以下では、まず本発明の実施形態が前提とする２方式の音声認識誤り修正装置について説明し、その後に、本発明の複数の実施形態を説明する。
【００２１】
［方式１：前提とする音声認識誤り修正装置の形態］
以下、本形態の音声認識誤り修正装置について詳細に説明する。
図１に示す音声認識誤り修正装置１００は、原稿テキスト集合２００に含まれる原稿２０１を読み上げた発話音声を認識する音声認識装置２２０が出力する認識結果の単語列（認識単語列）を入力として受け付け、予め記憶した対応原稿の単語列を推定することで、認識単語列に含まれる誤りを修正するものである。ここで、音声認識誤り修正装置１００が推定処理のために予め記憶した情報は、原稿テキスト集合２００を予め読み込んで構築された対応原稿の集合であって、状態を表すノードとノード間の状態遷移を表す枝とをネットワークとして有した重み付き有限状態トランスデューサー（Weighted Finite State Transducers：以下、ＷＦＳＴという）で表された対応原稿集合である。この音声認識誤り修正装置１００は、ＷＦＳＴのネットワーク上で最良仮説を逐次調べ、ＷＦＳＴ上の対応原稿の単語列と認識単語列との編集距離を基準に、全ての単語の入力を待たずに最終最良仮説を近似して部分的に修正結果を逐次確定する。
【００２２】
図１に示した例は、地方放送局発のニュース番組に音声認識を用いて字幕を付与する場合に適用するための音声認識誤り修正装置１００を含むシステム全体を模式的に示している。このような番組の発話音声は、概ね事前に用意された原稿テキストに基づいているという特徴がある。また、大規模なキー放送局は、音声認識結果に含まれる認識誤りを人手で修正するためのオペレーターを配置しているが、地方放送局は、現状では前記オペレーターを配置することが難しいことから、このような例を示した。本実施形態によれば、地方放送局のオペレーター配置の課題を解決することができる。
【００２３】
図１に示す原稿テキスト集合２００は、人が話す予定の内容をテキストに書き起こしたものの全体を表している。原稿テキスト集合２００は、例えば文、文章、段落といった単語列の区切りの単位や、そのテーマやトピック等の内容分類に応じて、多数の細分化された個別の内容に分けられる。このような個別の内容を、以下では単に原稿と呼ぶ。また、単語列の単位が一例として文であるものとして説明する。
なお、原稿テキスト集合２００は、原稿テキスト記憶部に記憶されている。原稿テキスト記憶部は、例えば、磁気ディスク装置や半導体メモリを用いて構成される。
【００２４】
本実施形態では、例えば下記（Ａ１）〜（Ａ７）の条件を前提としている。
（Ａ１）原稿テキスト集合２００内の複数の原稿文が音声認識対象として読まれる。
（Ａ２）例えば１つのニュース項目に関する原稿といっても、いくつかの更新された版（バージョン）が用意されていて、どのバージョンの原稿が何時のニュース番組で読まれるのか事前には分かっていない。
（Ａ３）複数の原稿文がどのような順番で読まれるのか事前には分かっていない。
（Ａ４）原稿テキスト集合２００に含まれる原稿文には、読まれないものもある。
（Ａ５）読む人物によっては、原稿通りに読まずに、敢えて言い回しを変えてしまう場合や、言い誤りが生じる場合がある。
（Ａ６）音声認識装置２２０の認識誤りのため意昧不明になった字幕を送出して視聴者に誤解を与えたり不快にさせたりすることを回避することを大前提とする。そのため、意味不明な認識結果の場合には送出せず、代わりに、事前に編集者により校正され内容が確認されている、発話内容に最も近いと自動推定された原稿（事前原稿）を字幕として送出する。
（Ａ７）インタビュー部分などであって認識結果に対応する原稿が元々存在しない場合、自動推定は不可能なので、元原稿が無いインタビュー部分などについては字幕を送出しない。
【００２５】
原稿テキスト集合２００は、記者が例えばニュース番組用に入稿した原稿の電子データの集合であって、例えばハードディスク等の一般的な記憶装置やネットワーク上の記憶手段に記憶されている。この原稿テキスト集合２００は、対応原稿集合のＷＦＳＴを事前に構築するためにも利用される。
【００２６】
音声認識装置２２０は、生の音声データが入力された場合に、隠れマルコフモデル（ＨＭＭ）による音響モデル、言語モデルを利用して、音声データを認識し、その認識した結果を認識単語列として生成するものである。本実施形態において、音声認識装置２２０は、特に限定されず、従来公知のものを採用することができる。
【００２７】
なお、前記（Ａ２）の条件に示す通り、各ニュース項目に対して複数のバージョンの原稿が入稿されており、どのバージョンをどの順番で放送するのかは事前に確定できない。そのような状況で、音声認識装置２２０は、音声認識を行い、その発話音声に対して、そもそも、対応する原稿が存在するのか否かを即座に調べなければならない。そのため、音声認識に用いる言語モデルは、高精度に音声認識結果と原稿との対応をとるために、原稿テキスト集合２００を用いて適応化しておき、原稿通りに読み上げた場合の認識精度が高くなるようにしておくことが好ましい。
【００２８】
トランスデューサー構築装置２４０は、音声認識誤り修正装置１００で利用する対応原稿の集合（対応原稿集合）としてＷＦＳＴを構築するものである。
トランスデューサー構築装置２４０は、音声認識の対象となる読み上げ原稿、つまり、原稿テキスト集合２００に含まれる原稿文から、音声認識誤り修正装置１００で利用するＷＦＳＴを事前に構築する。ＷＦＳＴは、入力シンボルと出力シンボル、遷移重みを有する有限状態機械であり、単語と文などの異なる粒度の入出力を効率よく扱うことができる。このＷＦＳＴの構築については後記する。
【００２９】
音声認識誤り修正装置１００は、音声認識装置２２０から認識結果の単語が入力される度に、ＷＦＳＴを用いて、入力単語を受理可能な遷移を求めてそのスコアを計算し、累積スコアに対する閾値を用いて枝刈りを行いながら、従来公知のビタビアルゴリズム（Viterbi Algorithm）による探索（ビタビ探索）を用いることを前提としている。なお、ビタビアルゴリズムとは、受信系列に対して送信符号に最も近い、即ち尤度を最大にする符号系列を推定する際に、最大尤度の符号系列を、トレリス線図を用いて効果的に探索する方法である。
【００３０】
通常のビタビ探索では、全ての入力が観測されてから、最もスコアが良くなるパスをトレースバックして最良仮説を出力する。そのため、通常の探索方法では、全ての入力が観測され終わる前に、古い入力から順に逐次修正結果を出力するといったことはできない。例えば、テレビ放送番組の放送音声を認識した結果から字幕を制作してリアルタイムでテレビ画面の画像に重畳する場合を想定すると、通常のビタビ探索による最尤系列は番組の最後まで単語を入力しないと確定することができない。これでは番組が終了してしまうことになるので、このような運用に対して通常のビタビ探索は不適である。
【００３１】
一方、音声認識誤り修正装置１００は、ビタビ探索を用いつつも、最尤系列を逐次近似してトレースバックする。すなわち、予め定められた処理開始条件が満たされる度に、その時点で最もスコアが良くなるパスをトレースバックして、確定できる出力遷移を決定するので、修正結果を逐次出力することができる。ここでトレースバックされるパスは、最良仮説の近似であるが、各出力遷移に対応する入力単語列と、原稿の単語列との編集距離を信頼度の基準にして同パスを確定するか否かを決定して近似精度の向上をはかる。なお、詳細は後記する。
【００３２】
［構築されたＷＦＳＴの例］
図２は、トランスデューサー構築装置２４０で構築されたＷＦＳＴの例である。ＷＦＳＴは、状態を表すノードと、状態遷移を表す枝と、を有する。なお、状態遷移のことを単に遷移という場合もある。本実施形態では、入力シンボルを単語、出力シンボルを所定の単語列とする、ＷＦＳＴを構築する。所定の単語列を文として説明する。
【００３３】
この例では、楕円形の各ノードに、識別するため３桁の数字を付している。始点ノードはノード００１であり、終点ノードはノード００８である。この例では、始点と終点との間には、ノード００２〜ノード００７が直線状に並べられている。また、始点と終点との間には、並列に、ノード０１０〜ノード０１５が直線状に並べられている。さらに、始点と終点との間には、並列に、ノード０１８〜ノード０２３が直線状に並べられている。また、この例では、状態（ノード）と状態（ノード）との間に、遷移（枝）が設定されている。ここで、ノードとノードとの間という場合、自ノード間も含まれている。各遷移には、単語が記載されているか、または、記号として＜Ｓ＞、＜Ｉ＞、＜Ｄ＞、＜ＥｍｉＸ（ここでＸは１〜３の１つ）＞および＜ｅｐｓ＞のうちのいずれかが記載されている。
【００３４】
まず、図２のすべての遷移について一般化して説明すると、このＷＦＳＴは、状態と状態間の各遷移に、（Ｓi／Ｓo：ω）のパラメーターが設定されている。ここで、Ｓiとは同遷移が受理する単語入力を表し、Ｓoとは同遷移が出力する所定の単語列（文）を表し、ωは遷移重み（状態遷移重み）を表す。つまり、各遷移には、３つ組のパラメーターが設定されている。ただし、図２では紙面の都合上、パラメーターをすべての遷移に記載しているわけではなく、単語が記載された合計１８の遷移に、３つ組のパラメーターのうちのＳi、Ｓoのいずれかのみが記載されている。
【００３５】
ここで、図２に記載された単語を一般化して単語ｓと表記する。なお、アルファベットの大文字と小文字とを区別している。図２において、単語ｓは、原稿の単語列が含んでいる単語を表す。単語ｓが記載された各遷移は、当該遷移に記載された単語ｓと同じ単語が入力されたときのみ遷移可能なことを表している。つまり、原稿の単語列が含んでいるある単語ｓの位置に対応する認識単語列の位置に入力した単語が、原稿のある単語ｓと同じ単語であれば、状態遷移することができる。要するに、単語ｓが記載された各遷移は、音声認識された単語を受理して進む遷移である。このようにここで構築するＷＦＳＴは、全ての原稿文を自由に接続できるネットワークである。
【００３６】
図２において、単語ｓが記載された遷移についてのパラメーターは、（ｓ／ε：0.0）で表される。ここで、ｓは同遷移が受理できる単語入力を表し、εはこの遷移で出力は無いことを意昧する。また、0.0は遷移重みの１つであって、この遷移に対して単語ｓと同じ単語が入力されたときには、ペナルティが課されないことを意味する。例えば、図２で「先月」が記載された遷移は、３つ組のパラメーターで表すと、(先月／ε：0.0)のことである。
【００３７】
図２において、＜Ｓ＞が記載された遷移は、置換単語を受理するための遷移である。つまり、原稿の単語列が含んでいるある単語ｓの位置に対応する認識単語列の位置に入力した単語が、原稿のある単語ｓとは異なる任意の単語に置換されていたときに、その置換単語を受理するための遷移である。以下、原稿の単語列が含んでいるある単語ｓの位置において、この単語ｓとは異なる任意の単語のことを、任意の単語＊と表記する。この置換には、例えば「再開」が同音異義語の「再会」に翻字されて認識された場合も含まれる。
【００３８】
図２において、＜Ｓ＞が記載された遷移は、任意の単語＊を受理可能である。この＜Ｓ＞が記載された遷移についてのパラメーターは（＊／ε：ωs）で表される。ここで、＊は同遷移が受理できる任意の単語入力を表し、εはこの遷移で出力は無いことを意昧する。また、ωsは遷移重みの１つであって、この遷移に対して単語ｓとは異なる任意の単語＊が入力されたときに課すペナルティ（以下、置換ペナルティという）を意味する。この置換ペナルティωsは、ノードスコアを下げる数値で表され、例えば-1.0を用いる。例えば、図２で＜Ｓ＞が記載された遷移は、３つ組のパラメーターで表すと、(＊／ε：-1.0)のことである。
【００３９】
図２において、＜I＞が記載された遷移は、挿入単語を受理するための遷移である。つまり、発話者に起因して、発話内容に情報の追加や言いよどみによる分節などの繰り返しがあった場合、原稿どおり又は置換されたと認識された単語列に続く位置に挿入された単語を受理するための遷移である。また、音声認識装置２２０に起因して、原稿通りならば１単語と認識すべきところを、複数単語として認識するような認識誤りで生じて、原稿通りの１単語に続く位置に挿入された単語を受理するための遷移である。
【００４０】
図２において、＜Ｉ＞が記載された遷移は、任意の単語＊を受理可能である。この＜Ｉ＞が記載された遷移についてのパラメーターは（＊／ε：ωi）で表される。ここで、＊は同遷移が受理できる任意の単語入力を表し、εはこの遷移で出力は無いことを意昧する。また、ωiは遷移重みの１つであって、この遷移に対して任意の単語＊が入力されたときに課すペナルティ（以下、挿入ペナルティという）を意味する。この挿入ペナルティωiは、ノードスコアを下げる数値で表され、例えば-1.0を用いる。例えば、図２で＜I＞が記載された遷移は、３つ組のパラメーターで表すと、(＊／ε：-1.0)のことである。
【００４１】
図２において、＜Ｄ＞が記載された遷移は、脱落単語を受理するための遷移である。つまり、発話者に起因して、発話内容の一部に句などの脱落があった場合、認識単語列において原稿から脱落した単語の位置を特定するための遷移である。また、音声認識装置２２０に起因して、原稿通りならば複数単語と認識すべきところを、単語が削除されて１単語として認識するような認識誤りで生じて、認識単語列において原稿から脱落した単語の位置を特定するための遷移である。
【００４２】
図２において、＜Ｄ＞が記載された遷移は、単語の入力が無くても遷移可能である。この＜Ｄ＞が記載された遷移についてのパラメーターは（ε／ε：ωd）で表される。ここで、はじめのεはこの遷移で単語の入力が無いことを意昧し、次のεはこの遷移で出力が無いことを意昧する。また、ωdは遷移重みの１つであって、この遷移で単語が脱落したときに課すペナルティ（以下、脱落ペナルティという）を意味する。この脱落ペナルティωdは、ノードスコアを下げる数値で表され、例えば-1.0を用いる。例えば、図２で＜Ｄ＞が記載された遷移は、３つ組のパラメーターで表すと、(ε／ε：-1.0)のことである。
【００４３】
図２において、＜ＥｍｉＸ＞が記載された遷移は、所定の単語列として文Ｌを出力するための遷移であり、修正結果を出力するための遷移である。この＜ＥｍｉＸ＞が記載された遷移についてのパラメーターは（ε／Ｌ：0.0）で表される。ここで、εはこの遷移において単語の入力が無いことを意昧する。また、Ｌはこの遷移で出力される単語列（文）を意昧する。例えば、図２で＜Ｅｍｉ１＞が記載された遷移は、３つ組のパラメーターで表すと、(ε／先月の関東甲信地方は…：0.0)のことである。つまり、この場合、Ｌは、始点ノード００１からノード００２を経由してノード００７に至る各遷移に並べられた単語列「先月  の  関東甲信  地方  は  …」をすべて順番に繋げた単語列となる。なお、パラメーター0.0は遷移重みの１つであって、この遷移に対して文を出力するときには、ペナルティが課されないことを意味する。
【００４４】
図２において、＜ｅｐｓ＞が記載された遷移は、終点ノードと始点ノードを連結する遷移であり、イプシロン遷移（ε遷移）と呼ばれている。＜ｅｐｓ＞が記載された遷移は、原稿テキスト集合に含まれる所定の単語列（文）が、連続して発話されるという拘束を与える遷移である。＜ｅｐｓ＞が記載された遷移についてのパラメーターは（ε／ε：ωu）で表される。はじめのεはこの遷移で単語の入力が無いことを意昧し、次のεはこの遷移で出力が無いことを意昧する。また、ωuは遷移重みの１つであって、適切な重み（数値）を与えることにより、ＷＦＳＴは、より長く一致する文のスコアを高くすることができるようになる。
【００４５】
［ＷＦＳＴの構築方法］
トランスデューサー構築装置２４０によるＷＦＳＴの構築方法について説明する。
予めＷＦＳＴにおいて出力遷移（＜ＥｍｉＸ＞が記載された遷移）を配置するための単語列の単位を決定しておく。これは、必要とする誤り修正能力に応じて設定することができる。出力遷移を配置する位置は、原稿テキスト集合２００に含まれる原稿の単位を１つの区切りとすることができる。出力遷移を配置する位置は、文章単位、句単位、あるいは、記者が原稿の読み易さのために配置した改行単位などが利用可能である。ここで、長い単位を設定すると修正精度は高くなるが、送出する字幕単語列の確定が遅くなる。逆に、短い単位を設定すると、送出する字幕単語列の確定は速くなるが修正精度が低下する。よって、どのような単位を利用するかについては、期待される音声認識の認識精度と、原稿と読み上げ音声の一致度合いと、に応じて適宜設計すればよい。
【００４６】
本実施形態では、ＷＦＳＴにおいて出力遷移を配置する位置は、一例として文を単位に決定されていることとしている。別の観点では、図２のＷＦＳＴは、文（所定単位の単語列）毎に始点ノード００１と終点ノード００８との間に文を構成する各単語の入力遷移を表す枝（図２において単語ｓが記載された遷移）と出力遷移を表す枝（図２において＜ＥｍｉＸ＞が記載された遷移）とを含んでいる。
【００４７】
ＷＦＳＴの構築は、まず、ＷＦＳＴの始点から始めて、原稿テキスト集合２００に含まれる原稿テキストを一単語ずつ読み込む度に、同単語を受理する重み０の遷移と新たなノードとを順次作成していく。ここで、重み０の遷移とは３つ組のパラメーターで表すと、(ｓ／ε：0.0)のことである。そして、前記した予め決定された単位になったら、出力遷移を追加してＷＦＳＴの終点ノードに連結する。まだ原稿が残っていたら、再び始点から始めて、原稿テキストを一単語ずつ読み込む度に、同単語を受理する重み０の遷移と新たなノードとを順次作成していく。そして、前記した予め決定された単位になったら、出力遷移を追加してＷＦＳＴの終点ノードに連結する。以下、同様に繰り返す。
【００４８】
原稿テキスト集合２００から、すべての原稿テキストを読み込み終えたならば、最後に、終点ノードと始点ノードとをε遷移で連結する。ここで、ε遷移とは３つ組のパラメーターで表すと、（ε／ε：ωu）のことである。ここで、遷移重みωuに適切な重みを与える。これにより、ＷＦＳＴはより長く一致する文のスコアを高くすることができるようになり、他の文の接頭辞と一致する文が原稿中に存在する場合にも、適切に動作できるようになる。最後に、各単語の遷移に、置換、脱落、挿入を受理する遷移を追加する。
【００４９】
［トランスデューサー構築装置の構成例］
図１に示す例では、トランスデューサー構築装置２４０は、単語ネットワーク登録手段２４１と、編集ネットワーク登録手段２４２と、を備えている。
単語ネットワーク登録手段２４１は、原稿テキスト集合２００に含まれる原稿テキストにおける予め定められた所定単位（例えば文単位）毎に次の一連の処理を行う。すなわち、単語ネットワーク登録手段２４１は、一連の処理として、原稿テキスト集合２００に含まれる原稿テキストに含まれる単語列の単語を読み込む度に、ＷＦＳＴのネットワークの始点ノードから、単語を受理する入力遷移の枝と新たなノードとを、読み込んだ単語列が予め定められた所定単位（例えば文単位）になるまで順次作成する。そして、ＷＦＳＴのネットワークにおいて、読み込んだ単語列の出力遷移の枝を追加して終点ノードに連結する。
【００５０】
編集ネットワーク登録手段２４２は、単語ネットワーク登録手段２４１で作成されたＷＦＳＴのネットワークのノード間に、単語の置換に対応して任意の単語を受理する状態遷移を表す枝と、単語の挿入に対応して任意の単語を受理する状態遷移を表す枝と、単語の削除に対応して入力が無くても出力側に遷移する状態遷移を表す枝とを追加するものである。
【００５１】
［音声認識誤り修正装置の構成例］
図１に示す例では、音声認識誤り修正装置１００とは別にトランスデューサー構築装置２４０を設けたが、図３に示すように、例えば音声認識誤り修正装置１００がトランスデューサー構築装置２４０を備えるようにしてもよい。この音声認識誤り修正装置１００は、図３に示すように、ＷＦＳＴ記憶手段（対応原稿集合記憶手段）１１０と、ノードデータ更新手段１２０と、ノードデータ記憶手段１３０と、原稿探索手段１４０と、原稿出力手段１５０と、を備えている。
【００５２】
ＷＦＳＴ記憶手段（対応原稿集合記憶手段）１１０は、原稿テキスト集合２００を用いて予め構築されたＷＦＳＴ（対応原稿集合）を記憶している。このＷＦＳＴ（対応原稿集合）は、トランスデューサー構築装置２４０が構築したものである。よって、ＷＦＳＴについては、図２を参照して説明したものと同じなので重複を避けるため説明を省略する。
【００５３】
ノードデータ更新手段１２０は、音声認識装置２２０が出力する認識単語列の単語の入力を受け付ける時刻毎に、ＷＦＳＴのネットワーク上を遷移可能な状態のスコアをノードデータとして計算および更新するものである。ノードデータ更新手段１２０は、例えば認識単語が１単語入力するたびに、ＷＦＳＴ記憶手段１１０に記憶されたＷＦＳＴを参照して逐次的にビタビ探索を行い、ノードデータを更新する。
【００５４】
ノードデータ更新手段１２０は、認識単語列として入力する単語が、対応原稿と同じ単語である場合、スコアに「０」を加算し、入力する単語が対応原稿と異なる単語である場合、スコアにペナルティの「−１」を加算する。
例えば、図２に示す例において、認識単語列として入力する単語列が、対応原稿と全く同じ単語列である場合、始点ノード００１から、単語「先月」を受理して対応原稿の単語に対応する遷移を通ってノード００２に進むので、ノードデータ更新手段１２０は、スコアに「０」を加算する。その後、例えば、「の」を受理してノード００３に進むと、スコアに「０」を加算する。同様に、「関東甲信」、…を受理していくと、スコアに「０」ずつ足していくことになる。
【００５５】
一方、例えば、図２に示す例において、認識単語列として入力する単語列が、対応原稿と異なる単語列である場合、始点ノード００１から、単語「先週」を受理すると、対応原稿の単語「先月」が置換されているので、置換に対応する遷移を通ってノード００２に進む。この場合、ノードデータ更新手段１２０は、スコアにペナルティの「−１」を加算する。また、挿入誤りや脱落誤りに対応する遷移を通った際も、同様にノードデータ更新手段１２０は、スコアにペナルティの「−１」を加算する。
【００５６】
このように、入力する認識単語がＷＦＳＴにおける単語ｓと同じであった場合に、そのパスのスコアが最良となる。一方、置換、挿入、削除の編集があった場合、スコアが悪化する。例えば＜Ｄ＞が記載された遷移は、入力が無くても遷移できるが、＜Ｄ＞が記載された遷移だけを通るパスの場合、出力遷移に近づくほど、スコアが低くなっている。ＷＦＳＴは、認識単語列に、誤りや言い変えが含まれると、その分だけスコアが悪くなるというネットワークとして作成されている。
【００５７】
ノードデータ記憶手段１３０は、ノードデータ更新手段１２０によって計算されたノードデータを更新時刻毎に記憶するものであり、例えばメモリやハードディスク等の一般的な記憶手段である。
【００５８】
原稿探索手段１４０は、最終最良仮説を確定するための全原稿についての全認識単語列の認識結果の入力を待たずに予め定められた処理開始条件が満たされる度に、その時点で記憶されているノードデータに基づいてＷＦＳＴのネットワーク上をトレースバックしながら、最終最良仮説を部分的に近似した仮説を誤り修正結果として逐次確定するものである。
【００５９】
原稿探索手段１４０は、ＷＦＳＴ（対応原稿集合）に含まれる対応原稿の単語列と、入力された認識単語列との編集距離に基づいて最終最良仮説を近似する。原稿探索手段１４０は、ＷＦＳＴのネットワーク上で予め定められた範囲毎に区切ったパス間において、その先頭から末尾までのパス区間での編集距離がある程度小さければ、そのパス区間が信頼できるものとして確定して出力する。ここで、編集距離が短いということは、認識単語列と原稿の単語列とがほとんどマッチしているパスを通ってきたことを意味する。逆に、編集距離が長いパス区間は信頼度が低いので、その時点では確定せずに、次回のトレースバックのときにも利用する。いつまでも信頼度が低いパス区間は、原稿には元々記載されていない違うことを話した区間である、と推定される。よって、信頼度が低いパス区間を出力しない。以下では、ＷＦＳＴのネットワーク上で予め定められた範囲のパス区間を、一例として、ＷＦＳＴのネットワーク上の２つの出力遷移間に挟まれたパス区間であるものとして説明する。
【００６０】
前記処理開始条件が満たされるとは、例えば、発話音声がない無音期間が所定の期間に達した場合、または、音声認識装置２２０が出力する認識単語列としての単語の入力数が所定の単語数に達した場合等を意味する。所定の期間は特に限定されないが一例として３秒間を挙げることができる。また、所定の単語数は特に限定されないが一例として２０単語を挙げることができる。このときの起動信号は、例えば音声認識装置２２０に自動的に出力させるようにしてもよいし、操作者がポーズだと認識したときや、所定の単語数になったと認識したときに、手動で入力するようにしてもよい。これによれば、認識単語の入力毎に探索処理を開始する場合に比べて処理負荷を低減できる。また、例えば無音期間が所定の期間だけあれば、その間、認識結果の逐次受信が停止しているので、その時点のノードスコアを容易に比較することができる。
【００６１】
上記機能を実現するために、本実施形態では、原稿探索手段１４０は、一例として図３に示すように、最大スコアノード検出手段１４１と、トレースバック手段１４２と、原稿分割手段１４３と、出力候補記憶手段１４４と、編集距離算出手段１４５と、編集距離判別手段１４６と、確定出力記憶手段１４７と、確定時刻記憶手段１４８と、を備えることとした。
【００６２】
最大スコアノード検出手段１４１は、予め定められた処理開始条件が満たされた場合、その時点で記憶されているノードデータにおいてスコアが最大のノードを検出するものである。例えば、発話音声がない無音期間（ポーズ）が所定の期間に達した場合、または、認識結果としての単語の入力数が所定の単語数に達する度に、その旨を示す起動信号が、最大スコアノード検出手段１４１に入力する。
【００６３】
トレースバック手段１４２は、最大スコアノード検出手段１４１で検出されたノードから、当該ノードに到達したパスについてＷＦＳＴのネットワークを下流から上流に向かってたどり、前回のトレースバックで確定し、出力された単語系列の最後の入力単語に対応した時刻までトレースバックするものである。
【００６４】
図４は、図２に示したＷＦＳＴにパスＰ１を付加した模式図である。図４において、スコアが最大のノードがノード０２０であるものとする。また、前回のトレースバックで確定された最後の入力単語に対応したノードがノード００７であったものとする。この場合、トレースバック手段１４２は、星印で示す位置から、パスＰ１をノード０２０、ノード０１９、ノード０１８の順番に逆向きにたどり、始点ノード００１へ達すると、さらに終点ノード００８に戻る。次に、２本目のツリーの出力遷移＜Ｅｍｉ２＞を経てノード０１５に達する。続いて、トレースバック手段１４２は、図５において、ノード０１５、ノード０１４、…の順番に逆向きにたどり、始点ノード００１へ達すると、パスＰ２で示すように終点ノード００８に戻る。次に、１本目のツリーの出力遷移＜Ｅｍｉ１＞を経てノード００７に達する。
【００６５】
図３に戻って、原稿探索手段１４０の説明を続ける。
原稿分割手段１４３は、今回トレースバックするパスの中で、２つの出力遷移間に挟まれたパス区間毎にＷＦＳＴ（対応原稿集合）に含まれる対応原稿の単語列を切り出すものである。図４及び図５を用いて説明した例の場合、出力遷移＜Ｅｍｉ１＞と出力遷移＜Ｅｍｉ２＞との間に挟まれたパス区間が、原稿分割手段１４３により分割される。
【００６６】
出力候補記憶手段１４４は、原稿分割手段１４３で分割されたパス区間に対応した出力遷移の出力シンボル（切り出された原稿）を、出力候補として記憶するものであり、例えばメモリやハードディスク等の一般的な記憶手段である。図４及び図５を用いて説明した例の場合、「今週  も  まとまった  雨  は  …」が、出力候補として記憶される。
【００６７】
編集距離算出手段１４５は、原稿分割手段１４３で切り出された対応原稿毎に、入力された認識単語列との編集距離を算出するものである。本実施形態では、編集距離は、当該パス区間についての挿入、置換、削除に係る編集操作回数を、当該パス区間の単語数で除した値で定義される。ここで、認識単語列の単語の置換、挿入、削除の編集操作回数をｅとし、出力遷移が対応する原稿の単語数をＮrとすると、編集距離は、原稿の単語数Ｎrに対する、認識単語列の単語の編集操作回数ｅの割合（ｅ／Ｎr）で表される。
【００６８】
具体的には、図２に示す例において、ＷＦＳＴ上のパス区間が「ノード００７→ノード００８→ノード００１→ノード００１０→ノード００１１→ノード００１２→ノード００１３→ノード００１４→ノード００１５」である場合を想定する。このパス区間は、６単語からなるものとし、単語「今週」が「今月」に置換されて認識されていた場合、編集距離は１／６となる。
【００６９】
編集距離判別手段１４６は、ＷＦＳＴのネットワークを下流から上流に向かってパス区間を選択しながら、算出された編集距離が所定の閾値以下であるか否かを順次判別し、閾値以下である場合、ＷＦＳＴのネットワーク上の当該パス区間の出力遷移を確定し、その出力シンボルを誤り修正結果として確定するものである。ここで、編集距離（ｅ／Ｎr）が閾値Ｔ以下である場合、つまり、ｅ／Ｎr≦Ｔ  を満たすとき、出力遷移の出力シンボルを修正結果として確定する。また、編集距離判別手段１４６は、編集距離（ｅ／Ｎr）が閾値Ｔより大きい場合、その出力シンボルを採用しない。つまり、閾値より大きな編集距離を有したパス区間の出力遷移の出力は、一旦保留され、このパス区間以降に確定された出力遷移があった場合には棄却される。なお、編集距離（ｅ／Ｎr）がその定義から０〜１の範囲の値なので、閾値は０＜Ｔ＜１の関係を満たす。
【００７０】
確定出力記憶手段１４７は、編集距離判別手段１４６にて編集距離が所定の閾値以下であると判定された場合、当該所定パス区間における出力遷移の出力シンボルを誤り修正結果として記憶するものであり、例えばメモリやハードディスク等の一般的な記憶手段である。確定出力記憶手段１４７の記憶構造は、スタックであり、データを後入れ先出しの構造で保持する。
【００７１】
確定時刻記憶手段１４８は、今回のトレースバック処理で確定した確定時刻を記憶するものであり、例えばメモリやハードディスク等の一般的な記憶手段である。確定時刻記憶手段１４８は、今回トレースバックする全パス区間（切り出された全ての原稿）について編集距離判別手段１４６による判別処理が終了した時点で、スタックに積まれた出力シンボルに対応する最新の確定単語の時刻を確定時刻として記憶する。
【００７２】
原稿出力手段１５０は、原稿探索手段１４０によって誤り修正結果として確定された対応原稿を逐次出力するものである。原稿出力手段１５０は、ＷＦＳＴのネットワークを今回トレースバックするパスの中で、切り出されたすべての対応原稿の各パス区間に対して算出された編集距離についての判定処理が全て終了するまでに確定され、スタックに積まれた出力シンボルのデータをスタックが空になるまで出力する。
【００７３】
この音声認識誤り修正装置１００による修正出力は、間違いを正すことと、間違いを出力しないこと、の両方の意味を含んでいる。つまり、音声認識誤り修正装置１００による修正結果を、仮に事前に人が見ることができたとしたときに、「これでは文章として成立していない」、「意味が異なっている」と感じるほどの間違い部分を、音声認識誤り修正装置１００がその処理の中で検出し、その検出部分を出力しないという動作も、広義の誤り修正として含んでいる。
【００７４】
［音声認識誤り修正装置の動作］
本形態に係る音声認識誤り修正装置１００による処理の流れについて図６を参照（適宜図３参照）して説明する。
（前提１）認識結果の単語入力を｛ω0，ω1，…，ωk，…，ωj，…｝とする。
（前提２）前回のトレースバックにより確定した部分の最後の入力単語をωkとし、そのときの出力遷移をａp（時間軸に沿ったＰ番目の出力遷移）とする。
（前提３）認識結果の単語ωjが入力された後、所定の無音が続いたことをトリガに、逐次確定を行う場合を考える。
（前提４）ノードデータ更新手段１２０は、無音になる前に最後に入力した単語ωjを受理して遷移できるノードを全て計算する。
【００７５】
所定の無音が続いたことをトリガに、最大スコアノード検出手段１４１は、現時点で記憶されているノードデータにおいて最もスコアの高いノードを検出する（ステップＳ１）。この検出ノードで表される状態は、トレースバック開始時点の最尤状態である。そして、トレースバック手段１４２は、検出されたノードから、当該ノードに到達したパスについてＷＦＳＴ上の単語履歴を逆向きにたどり、前回のトレースバックで確定し、出力された単語系列の最後の入力単語ωk（ＷＦＳＴの遷移が受理した単語がωkである遷移）に対応した確定時刻までトレースバックする（ステップＳ２）。ここで、前回のトレースバックで確定し、出力された単語系列の最後の入力単語ωkに対応した確定時刻としては、確定時刻記憶手段１４８に格納されている確定時刻を用いる。なお、単語がωkである遷移の代わりに、出力遷移ａPにたどり着くまでトレースバックするようにしてもよい。
【００７６】
そして、原稿分割手段１４３は、今回トレースバックするパスの中で、２つの出力遷移間に挟まれたパス区間毎に原稿を分割し、出力候補として出力候補記憶手段１４４に格納する（ステップＳ３）。ここで、出力遷移ａPにたどり着くまで逆向きに進みながら、出力可能な出力遷移ａL（時間軸に沿ったＬ番目（ただしＬ＞Ｐ）の出力遷移）を通過する度に原稿を分割してもよいし、出力遷移ａPの側から出力可能な出力遷移ａLを通過する度に原稿を分割してもよい。また、出力可能な出力遷移ａLとは、出力遷移のシンボルが出力候補になるものであるが、後に編集距離判別手段１４６により棄却され出力されない出力遷移も含んでいる。このような出力候補の編集距離をＤと表記する。
【００７７】
そして、編集距離算出手段１４５は、出力候補の編集距離Ｄを算出する（ステップＳ４）。具体的には、出力遷移ａLの出力シンボルに対応する区間、すなわち、ＷＦＳＴ上を出力遷移ａLから逆向きに進んだときの直前の出力遷移ａL-1と当該出力遷移ａLとの間に挟まれたパス区間、についての編集操作回数（つまり、＜Ｓ＞、＜Ｄ＞、＜Ｉ＞を通った回数）を、同区間の単語数で割った値を、当該出力遷移ａLにおける編集距離ＤLとして算出する。すなわち、同区間の編集操作回数をｅLとし、同区間の単語数をＮLrとすると、出力遷移ａLにおける編集距離ＤLは、ｅL／ＮLrで表される。
【００７８】
そして、編集距離判別手段１４６は、所定の出力候補を選択し、算出された編集距離Ｄが閾値Ｔ以下であるか否かを判別する（ステップＳ５）。編集距離Ｄが閾値Ｔ以下である場合（ステップＳ５：Ｙｅｓ）、編集距離判別手段１４６は、ＷＦＳＴ上の当該パス区間の出力遷移を確定し、その出力シンボルを誤り修正結果として確定する（ステップＳ６）。さらに、編集距離判別手段１４６は、今回確定した出力シンボルのデータを、確定出力記憶手段１４７に記憶されたスタックに積み（ステップＳ７）、ステップＳ８に進む。
【００７９】
そして、編集距離判別手段１４６は、前方に依然として選択すべき出力候補がある場合（ステップＳ８：Ｎｏ）、前記ステップＳ５に戻る。一方、すべての出力候補選択が選択された場合（ステップＳ８：Ｙｅｓ）、すなわち、切り出されたすべての原稿に対応した各パス区間に対して算出された編集距離についての判定処理が終了した場合、原稿出力手段１５０は、その時点でスタックに積まれている出力シンボルのデータをスタックが空になるまで順次出力する（ステップＳ９）。これにより、前方側に配置された原稿から順に出力される。
【００８０】
ここで、編集距離判別手段１４６は、すべての出力候補選択を選択した場合（ステップＳ８：Ｙｅｓ）、スタックに積まれた出力シンボルに対応する確定単語の時刻が最も新しいものを今回のトレースバック処理で確定した確定時刻として確定時刻記憶手段１４８に格納する。
【００８１】
また、前記ステップＳ５において、編集距離Ｄが閾値Ｔより大きい場合（ステップＳ５：Ｎｏ）、データをスタックに積むことなくステップＳ８に進む。
【００８２】
つまり、原稿出力手段１５０は、毎回のトレースバック処理でスタックに積んだデータを、確定された原稿として逐次出力する。この際に、音声認識結果のうち、所定のパス区間の編集距離Ｄが閾値Ｔより大きい場合、信頼度が低いパスなので、当該パス区間の出力遷移の出力シンボルは、誤り修正結果としては採用されず、出力もされない。
【００８３】
［編集距離の閾値Ｔの決め方］
音声認識の認識精度が９０％くらいならば、編集距離の値も９０％くらいになる可能性がある。判別に用いる編集距離の閾値Ｔとしては、音声認識の認識精度よりも充分低いところ、例えば単語一致率の信頼度分だけ下方にマージンを取って設定することが好ましい。ここで、単語一致率の信頼度は、ＷＦＳＴのネットワークの２つの出力遷移間の単語数に依存する。
【００８４】
その他の要因としては、原稿テキスト集合２００に含まれる原稿の候補の文章としての重なりがどのくらいの割合であるのかという点も考慮して閾値Ｔを決めることが好ましい。例えば、下記（Ｅ１）〜（Ｅ３）に示す文の場合、文章としての重なりが８０％くらいの割合で含まれている。
（Ｅ１）  今日  の  天気  は  晴れ  です
（Ｅ２）  今日  の  天気  は    雨  です
（Ｅ３）  今日  の  天気  は  曇り  です
このような場合、編集距離の閾値も８０％くらいに設定してしまったとしたら所望の動きが実現できない。なお、ニュース原稿の一文ごとに出力遷移を配置し、閾値Ｔを５０％とした条件で実験した場合、問題なく動作することが確認できた。
【００８５】
［ＷＦＳＴのオプション］
＜オプション１：言い換えを受理するＷＦＳＴの構築＞
ＷＦＳＴの情報源となる原稿には、それが読まれるときに、読み飛ばされる句や、言い換えられる句、補足される句が含まれている場合がある。これらの一部には、定型で高い頻度で起こるものがある。例えば、ニュース番組の原稿では、取材元を表す「警視庁によりますと、」などの句は、読み飛ばされやすい定型句である。ただし、これを読み飛ばしたとしても、ニュース主文（５Ｗ１Ｈ）の文意に変わりはなく、実用上の問題はない。
【００８６】
オプション１では、このような定型の言い回しをＷＦＳＴに追加しておくことで、精度よく修正結果を出力できるようにしたものである。ＷＦＳＴは、従来公知のように、音声認識デコーダや機械翻訳などに用いられており、種々の演算アルゴリズムが知られている。例えば、合成（図７（ａ）参照）、最小化（図７（ｂ）参照）、決定化（図７（ｃ）参照）を行うアルゴリズムを適用することができ、効率よい状態遷移機械を構成できるという特徴がある。上記の言い回しの追加については、原稿から構築したＷＦＳＴとは別に、言い回しを追加するためのＷＦＳＴを別途構築しておき、原稿から構築したＷＦＳＴと合成することにより、効率よく実現できる。
【００８７】
例えば、言い換え例については、過去の同種の番組の原稿と、実際に読み上げられた単語列と、の差分から、頻度が高く、同言い換えによって文意に変更がないものを選別して用意しておく。この選別された言い換え例ごとに、言い換えを合成するためのＷＦＳＴを構築しておき、原稿から構築したＷＦＳＴと合成演算を施すことにより、言い換えに対応可能なＷＦＳＴを構築することができる。ここで、ＷＦＳＴの合成について図７（ａ）を参照して説明する。
【００８８】
図７（ａ）では、ノードを円形で示している。図７（ａ）の左側の上の図は、原稿から構築したＷＦＳＴの一例の模式図であり、図７（ａ）の左側の下の図は、追加されるＷＦＳＴの一例の模式図である。図７（ａ）の右側の図は、原稿から構築したＷＦＳＴと、追加されるＷＦＳＴとを合成した後のＷＦＳＴの模式図である。
【００８９】
＜オプション２：ＷＦＳＴを作成する際のオプションＡ＞
ＷＦＳＴを作成する際に、必要があればＷＦＳＴの最小化を行ってもよい。ここで、ＷＦＳＴの最小化について図７（ｂ）を参照して説明する。図７（ｂ）の左側の図は、原稿から通常の手法で構築されたＷＦＳＴの一例を示す模式図である。ここで、ａ１〜ａ６は異なる単語を示す。
【００９０】
図７（ｂ）の右側の図は、原稿から通常の手法で構築されたＷＦＳＴを最小化した後のＷＦＳＴの模式図である。最小化した後のＷＦＳＴには、元のＷＦＳＴの３つの単語列において共通する接頭辞（単語ａ１，ａ２）について、配列順序（単語位置）を考慮してノード（状態）を集約し、最小個数の枝（遷移）が配置されている。
ＷＦＳＴの最小化によれば、同じ接頭辞を有する単語列（文）を同一の遷移で共有できるので、演算量を削減することができる。
【００９１】
＜オプション３：ＷＦＳＴを作成する際のオプションＢ＞
また、ＷＦＳＴを作成する際に、必要があればＷＦＳＴの決定化を行ってもよい。ここで、ＷＦＳＴの決定化について図７（ｃ）を参照して説明する。図７（ｃ）の左側の図は、図７（ｂ）の右側に示すＷＦＳＴと同じ形状のＷＦＳＴの模式図である。ただし、図７（ｂ）において単語ａ４が記載されていた遷移には、代わりに出力文ｏ１が記載されている。同様に、単語ａ５が記載されていた遷移には、代わりに出力文ｏ２が記載され、単語ａ６の代わりに出力文ｏ３が記載されている。
【００９２】
図７（ｃ）の右側の図は、元とするＷＦＳＴを決定化した後のＷＦＳＴの模式図である。決定化した後のＷＦＳＴでは、元のＷＦＳＴと比べて、出力文ｏ３が１つ前（１つ左側）の遷移に記載されている点が異なっている。
元のＷＦＳＴには、左から２番目のノードから次のノードへ状態遷移する際に分岐があり、この２番目のノードから図中下のノードに遷移した時点で、出力文がｏ１やｏ２ではなくｏ３になることが決定的であることが分かる。そこで、少しでも早く推定結果を出力するために、決定化した後のＷＦＳＴでは、出力文の位置を変更したものである。
【００９３】
ＷＦＳＴの決定化によれば、出力文を、接頭辞がユニークとなる遷移に移動して、出力文を旱期に確定できるようになるなどの利点がある。ただし、ＷＦＳＴを作成する際にＷＦＳＴの決定化を行った場合、原稿探索手段１４０による最尤仮説の探索処理でも対応できるように設定変更が必要である。つまり、ＷＦＳＴの決定化を行わない場合に比べて、編集距離を計算するためのパス区間を出力遷移の前後にシフトさせる必要がある。加えて、前後のパス区間の伸縮分を吸収できるように、閾値Ｔをより厳しい値（小さい値）に設定する必要がある。
【００９４】
［他のオプション］
本形態は、多言語字幕の生成にも応用可能である。例えば図２に示すＷＦＳＴのノード０１５の次の＜Ｅｍｉ２＞が記載された出力遷移に、ノード０１０〜０１５までの和文に対応した英文を出力シンボルとすることにより、日本語の音声入力に対応した英語の字幕を生成することができる。また、日英の字幕を同時に生成する必要がある場合には、「今週  も  まとまった  雨  は  …」にその英訳文を併記したものを利用することができる。
【００９５】
以上説明したように、本実施形態に係る音声認識誤り修正装置１００は、原稿中の文が、任意の順番で連続して発声されるという拘束のもと、文境界を固定せずに、認識結果と原稿との対応を単語単位でとることで、従来のブロック照合方式の自動修正誤りを解消する。一方で、より精度の高い修正出力を得るためには、出力は、文、又はそれに準じる単位があった方が望ましい。この二律背反を解消して両立させるため、音声認識誤り修正装置１００は、認識結果と原稿との対応を、重み付き有限状態トランスデューサー（ＷＦＳＴ）を用いて求めている。
【００９６】
そして、音声認識誤り修正装置１００は、認識単語の単語列が原稿の単語列と比較して、どこと一番マッチしているのかを、従来のブロック照合方式（特許文献１の技術）の長さＮ（単語数Ｎ）の単語連鎖ブロックより長い範囲で照合している。従来のブロック照合方式と比べると、認識単語の単語列と原稿の単語列とを照合するための区間を、単語連鎖ブロックに相当する区間だけではなく、原稿の文章を遡っていった、もっと長い文章全体で照合する。そのため、どこでマッチさせるのがよいのかが従来よりも明白に分かり、自動修正誤りを従来よりも低減できる。
【００９７】
以上、実施形態に基づいて本形態に係る音声認識誤り修正装置について説明したが、本形態はこれらに限定されるものではない。例えば、発話音声の認識単語に対する推定対応原稿の信頼度が高いか否かを編集距離を用いて判別することとしたが、編集距離のほか、原稿と認識結果の一致率、一致精度、脱落率、挿入率を利用したり、それらを併用したりしてもよい。
【００９８】
また、例えば図２に示すＷＦＳＴの＜ＥｍｉＸ＞が記載された出力遷移に、音声認識の結果では得られない「、」や「。」、記号なども原稿の表記に従って出力シンボルに埋め込むことができる。この場合、より読みやすい字幕を生成することができる。
【００９９】
本形態において、字幕を付けることは必須ではない。また、音声認識の対象となる話す予定の内容がある程度決まっていて、その内容を事前に入手できるようであれば、必ずしも放送番組の音声を前提とするものでなくてもよい。
【０１００】
以上、説明した方式１の構成を整理すると次の通りである。
［１−１］原稿テキスト集合に含まれる原稿を読み上げた発話音声を認識する音声認識装置が出力する認識単語列を入力として受け付け、予め記憶した対応原稿集合の中から対応原稿の単語列を推定することで、前記認識単語列に含まれる誤りを修正する音声認識誤り修正装置であって、前記原稿テキスト集合を予め読み込んで構築された前記対応原稿集合であって状態を表すノードとノード間の状態遷移を表す枝とをネットワークとして有した重み付き有限状態トランスデューサで表された前記対応原稿集合を記憶する対応原稿集合記憶手段と、前記認識単語列の単語の入力を受け付ける時刻毎に、前記重み付き有限状態トランスデューサのネットワーク上を遷移可能な状態のスコアをノードデータとして計算および更新するノードデータ更新手段と、前記計算されたノードデータを更新時刻毎に記憶するノードデータ記憶手段と、最終最良仮説を確定するための全原稿についての全認識単語列の認識結果の入力を待たずに予め定められた処理開始条件が満たされる度に、その時点で記憶されている前記ノードデータに基づいて前記ネットワーク上をトレースバックしながら、前記最終最良仮説を部分的に近似した仮説を誤り修正結果として逐次確定する原稿探索手段と、前記誤り修正結果として確定された対応原稿を逐次出力する原稿出力手段と、を備えることを特徴とする音声認識誤り修正装置。
【０１０１】
［１−２］対応原稿集合記憶手段に記憶された前記対応原稿集合として予め構築された重み付き有限状態トランスデューサは、前記ネットワークとして、前記対応原稿集合に含まれる対応原稿毎に始点ノードと終点ノードとの間に前記対応原稿の単語列を構成する各単語の入力遷移をそれぞれ表す枝と前記単語列の出力遷移を表す枝とを含み、前記終点ノードから前記始点ノードに遷移する状態遷移を表す枝とを備えると共に、単語の置換に対応して任意の単語を受理する状態遷移を表す枝と、単語の挿入に対応して任意の単語を受理する状態遷移を表す枝と、単語の削除に対応して入力が無くても出力側に遷移する状態遷移を表す枝と、のうちの少なくとも１つを備えることを特徴とする前記［１−１］の音声認識誤り修正装置。
【０１０２】
［１−３］前記原稿探索手段は、前記対応原稿集合に含まれる対応原稿の単語列と、入力された前記認識単語列との編集距離として、前記重み付き有限状態トランスデューサのネットワーク上で予め定められた範囲のパス区間の対応原稿の単語列についての挿入、置換、削除に係る編集操作回数を、当該パス区間の単語数で除した値を算出し、前記パス区間毎に算出された前記編集距離を所定の閾値と比較することで、前記最終最良仮説を近似することを特徴とする前記［１−２］の音声認識誤り修正装置。
【０１０３】
［１−４］前記原稿探索手段は、前記編集距離が前記閾値以下である対応原稿の単語列が確定された時点で、前記重み付き有限状態トランスデューサのネットワークにおいて当該対応原稿のパス区間以前に逐次出力が確定された対応原稿までさかのぼって、前記編集距離が前記閾値以下となったすべてのパス区間の対応原稿を前記原稿出力手段によってネットワークの上流から順次出力させ、前記編集距離が閾値より大きなすべてのパス区間の対応原稿を出力させないことを特徴とする前記［１−３］の音声認識誤り修正装置。
【０１０４】
［５］対応原稿集合記憶手段に記憶された前記対応原稿集合として予め構築された重み付き有限状態トランスデューサは、前記ネットワークとして、前記原稿テキスト集合に含まれる単語列と同様の意味を有する予め定められた言い換え候補の単語列を受理する枝、または／および、前記原稿テキスト集合に含まれる単語列であって前記音声認識装置が出力する認識単語列において脱落する可能性があるものとして予め定められた単語列を受理する枝を、さらに備えていることを特徴とする前記［１−１］から［１−４］に記載の音声認識誤り修正装置。
【０１０５】
［６］前記原稿探索手段は、前記発話音声がない無音期間が所定の期間に達した場合、または、前記音声認識装置が出力する認識単語列としての単語の入力数が所定の単語数に達した場合、前記処理開始条件が満たされたものとして、前記重み付き有限状態トランスデューサのネットワーク上をトレースバックすることを特徴とする前記［１−１］から［１−５］に記載の音声認識誤り修正装置。
【０１０６】
［方式２：前提とする音声認識誤り修正装置の形態］
本形態について、図面を参照しながら説明する。本形態は、音声認識結果などの誤りの混入が不可避な単語列と、その単語列の情報源となった原稿などの対応を早期に確定する技術を用いる。これにより、音声認識結果に含まれる誤りを自動修正する。
【０１０７】
［１．本形態を適用したシステムの構成］
図８は、本形態に係る音声認識誤り修正装置を含むシステムの構成の概略を示すブロック図である。図示するように、当該システムは、音声認識誤り修正装置１００と、原稿テキスト記憶装置７００と、音声認識装置７２０と、トランスデューサー構築装置７４０とを含んで構成される。
【０１０８】
同図に示すシステムは、放送局におけるニュース番組に音声認識を用いて字幕を付与する場合に適用するための音声認識誤り修正装置６００を含む。このような番組における発話音声は、概ね事前に用意された原稿テキストに基づいているという特徴がある。ところで、大規模なキー放送局では、字幕を放送するために、音声認識結果に含まれる認識誤りを人手で修正するためのオペレーターを配置している場合がある。一方で、地方放送局では、様々な事情によりそのようなオペレーターを配置することが難しいことが多い。本形態によれば、そのような地方放送局においても、オペレーターを配置することなく、音声認識謝りの修正を行うことができるようになる。
【０１０９】
音声認識誤り修正装置６００は、音声認識装置７２０が出力する認識結果の単語列（認識単語列）を入力として受け付け、予め記憶した対応原稿の単語列を推定することで、認識単語列に含まれる誤りを修正するものである。
ここで、音声認識誤り修正装置６００が推定処理のために予め記憶した情報は、原稿テキスト記憶装置７００に記憶されている原稿テキストを予め読み込んで構築された対応原稿の集合である。この対応原稿の集合は、状態を表すノードと、ノード間の状態遷移を表す枝（アーク）とをネットワーク（有向グラフ）として有する重み付き有限状態トランスデューサー（Weighted Finite State Transducer：以下、「ＷＦＳＴ」、または単に「有限状態トランスデューサー」という）で表される。
音声認識誤り修正装置６００は、ＷＦＳＴのネットワーク上で最良（最尤）仮説を逐次調べ、ＷＦＳＴ上の対応原稿の単語列と認識単語列との編集距離を基準に、全ての認識結果の単語列の入力を待たずに最終最良仮説を近似して部分的に修正結果を逐次確定する。
【０１１０】
音声認識誤り修正装置６００は、音声認識装置７２０から認識結果の単語が入力されるのに対応して、ＷＦＳＴを用いて、入力単語を受理可能な遷移を求めてそのスコアを計算し、累積スコアに対する閾値を用いて枝刈りを行いながら、ビタビアルゴリズム（Viterbi Algorithm）による探索（ビタビ探索）を用いる。なお、ビタビアルゴリズムは、既存の技術であり、受信系列に対して送信符号に最も近い符号系列、即ち最大尤度の符号系列を推定する際に、トレリス線図を用いた探索を行う、効果的な方法である。
【０１１１】
通常のビタビ探索では、全ての入力が観測されてから、最もスコアが良くなるパスをトレースバックして最良仮説を出力する。そのため、通常の探索方法では、全ての入力が観測され終わる前に、古い入力から順に逐次修正結果を出力するといったことはできない。例えば、テレビ放送番組の放送音声を認識した結果から字幕を制作してリアルタイムでテレビ画面の画像に重畳する場合を想定すると、通常のビタビ探索による最尤系列は番組の最後まで単語を入力しないと確定することができない。これでは番組が終了してしまうことになるので、このような運用に対して通常のビタビ探索は不適である。
【０１１２】
一方、本形態による音声認識誤り修正装置６００は、ビタビ探索を用いつつも、適時に、最尤系列を逐次近似してトレースバックする。すなわち、予め定められた処理開始条件が満たされる度に、その時点で最もスコアが良くなるパスをトレースバックして、確定できる出力遷移を決定するので、修正結果を逐次出力することができる。ここでトレースバックされるパスは、最良仮説の近似であるが、各出力遷移に対応する入力単語列と、原稿の単語列との編集距離を信頼度の基準にして同パスを確定するか否かを決定して近似精度の向上をはかる。なお、その詳細については後で説明する。
【０１１３】
原稿テキスト記憶装置７００は、原稿テキストのデータを記憶する。原稿テキストは、複数の記事を含む。各記事は、複数の文を含む。
原稿テキスト記憶装置７００は、人が話す予定の内容をテキストに書き起こしたものの全体を記憶する。原稿テキスト記憶装置７００は、例えば文、文章、段落といった単語列の区切りの単位や、そのテーマやトピック等の内容分類に応じて、多数の細分化された個別の内容を表すテキストを記憶する。このような個別の内容を、以下では単に原稿と呼ぶ。また、単語列の単位は一例として文である。
原稿テキスト記憶装置７００は、例えばハードディスク装置や半導体メモリ等の一般的な記憶手段を用いて構築されている。原稿テキスト記憶装置７００は、いわゆるクラウドサービスとして、通信ネットワーク等を通してアクセスされるものであっても良い。
【０１１４】
音声認識装置７２０は、原稿テキスト記憶装置７００に含まれる原稿７０１を人（アナウンサー等）が読み上げた発話音声を認識し、認識結果の単語列を出力する。
音声認識装置７２０は、生の音声データが入力された場合に、隠れマルコフモデル（ＨＭＭ）による音響モデルと、言語モデルとを利用して、音声データを認識し、その認識した結果を認識単語列として生成するものである。本形態において、音声認識装置７２０は、特に限定されず、公知の技術を用いたものを採用することができる。
【０１１５】
なお、後述するように、放送におけるニュース番組では、各ニュース項目に対して複数のバージョンの原稿が入稿されており、どのバージョンをどの順番で放送するのかは事前に確定できない。そのような状況で、音声認識装置７２０は、音声認識を行い、その発話音声に対して、そもそも、対応する原稿が存在するのか否かを即座に調べることが求められる。そのため、音声認識に用いる言語モデルは、高精度に音声認識結果と原稿との対応をとるために、原稿テキスト記憶装置７００に記憶されているテキストデータを用いて予め適応化しておき、原稿通りに読み上げた場合の認識精度が高くなるようにしておくことが好ましい。
【０１１６】
トランスデューサー構築装置７４０は、音声認識誤り修正装置６００で利用する対応原稿の集合（対応原稿集合）としてＷＦＳＴを構築するものである。トランスデューサー構築装置７４０は、音声認識の対象となる読み上げ原稿、つまり、原稿テキスト記憶装置７００に含まれる原稿文から、音声認識誤り修正装置６００で利用するためのＷＦＳＴを事前に構築する。ＷＦＳＴは、入力シンボルと出力シンボル、遷移重みを有する有限状態機械であり、単語と文などの異なる粒度の入出力を効率よく扱うことができる。このＷＦＳＴの構築については後で説明する。
【０１１７】
トランスデューサー構築装置７４０は、図示するように、単語ネットワーク登録部７４１と、編集ネットワーク登録部７４２とを含んで構成される。
【０１１８】
単語ネットワーク登録部７４１は、原稿テキスト記憶装置７００に含まれる原稿テキストを読み出し、予め定められた所定単位（例えば文単位）ごとに、以下に述べる一連の処理を行う。即ち、単語ネットワーク登録部７４１は、ＷＦＳＴのネットワークの始点ノードから開始して、原稿テキスト記憶装置７００から原稿テキストに含まれる単語を読み込む度に、その単語を受理するための状態遷移（入力遷移）の枝と新たなノードとを作成する。単語ネットワーク登録部７４１は、原稿内の所定単位（例えば文単位）の最後に至るまで、順次、読み込んだ各単語について上記の枝とノードの作成を行う。
そして、ＷＦＳＴのネットワークにおいて、読み込んだ単語列の出力遷移の枝を追加して終点ノードに連結する。
【０１１９】
編集ネットワーク登録部７４２は、単語ネットワーク登録部７４１で作成されたＷＦＳＴのネットワークのノード間に、単語の置換に対応して任意の単語を受理する状態遷移を表す枝と、単語の挿入に対応して任意の単語を受理する状態遷移を表す枝と、単語の削除に対応して入力が無くても出力側に遷移する状態遷移を表す枝とを追加するものである。
【０１２０】
なお、本形態では、システムは、例えば下記の（Ａ１）〜（Ａ７）の条件下で動作する。
（Ａ１）原稿テキスト記憶装置７００に記憶されている原稿文のうちの複数の原稿文が音声認識対象として読みあげられる。
（Ａ２）１つのニュース項目に対するニュース原稿も、いくつかの更新された版（バージョン）が用意されていて、どのバージョンの原稿が何時のニュース番組で読まれるのかを事前に確定することはできない。
（Ａ３）複数の原稿文がどのような順番で読まれるのか事前には分かっていない。
（Ａ４）原稿テキスト記憶装置７００に含まれる原稿文の中には、読みあげられずにスキップされるものもある。
（Ａ５）読む人（アナウンサー、キャスター、記者等）によっては、元の原稿をそのまま忠実に読むのではなく、視聴者への伝わりやすさ等を考慮して敢えて言い回しを変えてしまう場合や、読み誤りが生じる場合などがある。
（Ａ６）音声認識装置７２０の認識誤りに起因する意昧不明な字幕を送出して視聴者に誤解を与えたり不快にさせたりすることを回避することを優先課題としたい。そのため、意味不明な認識結果の場合には送出せず、代わりに、事前に編集者により校正され内容が確認されている、発話内容に最も近いと自動推定された原稿（事前原稿）を字幕として送出する。
（Ａ７）インタビュー部分などであって認識結果に対応する原稿が元々存在しない場合、自動推定は不可能なので、元原稿が無いインタビュー部分などについては字幕を送出しない。
【０１２１】
［２．一般的なＷＦＳＴの例］
図９は、一般的なＷＦＳＴの例を示す概略図である。ＷＦＳＴは、状態遷移の定義として表現される。状態遷移は、状態を表すノードと、状態遷移を表す枝と、を有する。なお、状態遷移のことを単に遷移という場合もある。図示するＷＦＳＴでは、入力シンボルを単語、出力シンボルを所定の単語列とする。また、この所定の単語列は、文である。同図において、ノードは楕円形で示している。また、枝は矢印付きの線で表している。つまり、枝は、方向を有している。
【０１２２】
同図では、楕円形の各ノードに、ノードを識別するための３桁の数字を付している。始点ノードはノード００１であり、終点ノードはノード００８である。この例では、始点と終点との間には、ノード００２〜ノード００７が直線状に並べられている。また、始点と終点との間には、上記のノード００２〜ノード００７の系列とは並列に、ノード０１０〜ノード０１５が直線状に並べられている。さらに、始点と終点との間には、上記のノード００２〜ノード００７の系列およびノード０１０〜ノード０１５の系列とは並列に、ノード０１８〜ノード０２３が直線状に並べられている。また、状態遷移を表す枝は、単語または＜Ｓ＞、＜Ｉ＞、＜Ｄ＞、＜Ｅｍｉ１＞、＜Ｅｍｉ２＞、＜Ｅｍｉ３＞、＜ｅｐｓ＞といった記号が付されている。また、状態遷移を表す枝は、遷移元のノードから遷移先のノードに向かって伸びている。
【０１２３】
図示する状態遷移について一般化して説明すると、このＷＦＳＴにおいては、各遷移に、（Ｓｉ／Ｓｏ：ω）のパラメーターが設定されている。ここで、Ｓｉは、その状態遷移が受理する単語入力を表す。また、Ｓｏは、その状態遷移が出力する単語列を表す。出力される単語列は、文または文の一部である。また、ωは状態遷移重みを表す。つまり、各遷移には、３つ組のパラメーターが設定されている。なお、図９では、便宜上、状態遷移が有するパラメーターのすべてを示しているわけではなく、各状態遷移に対応して、３つ組のパラメーターのうちのＳｉまたはＳｏのいずれかのみを示している。
【０１２４】
ここで、同図上に記載された単語を一般化して単語ｓと表記する。なお、アルファベットの大文字と小文字とを区別している。同図において、単語ｓは、原稿の単語列が含んでいる単語である。ある状態遷移に単語ｓが付加されているとき、当該状態遷移はその単語ｓが入力されたときにのみ起こることを表している。つまり、ある状態において、その状態を遷移元とする状態遷移に単語ｓが付されているとき、認識単語列の中の単語として単語ｓが入力された場合にのみその状態遷移が起こる。つまり、単語ｓが記載された状態遷移は、音声認識された単語ｓを受理して進む遷移である。なお、状態遷移が起こるとその遷移先の状態が次の状態となる。
【０１２５】
図示する状態遷移において、ノード００２〜ノード００７の系列は、「先月／の／関東甲信／地方／は／・・・」という単語列に対応する。但し、ここで、スラッシュ「／」は単語の区切りである。また、ノード０１０〜ノード０１５の系列は、「今週／も／まとまった／雨／は／・・・」という単語列に対応する。また、ノード０１８〜ノード０２３の系列は、「気象庁／に／より／ます／と／・・・」という単語列に対応する。このように、ここで構築するＷＦＳＴは、全ての原稿文を自由に接続できるネットワークである。
【０１２６】
同図において、単語ｓが記載された遷移についてのパラメーターは、（ｓ／ε：０．０）で表される。つまり、この３つ組のパラメーターは、単語ｓを入力として受理し、出力がないことを表す。εは、単語がないことを表す記号である。つまり、出力他の語列が空である。また、３つ組のパラメーターは、遷移重みの値が０．０であることを表す。重みの値の設定方法はさまざまであるが、一例としては、ペナルティがない場合に遷移重みの値として０．０を用い、負の値の重みをペナルティとして用いることができる。状態遷移の定義に基づいて例えば現状態を推定する場合に、この遷移重みの値の所定の系列における総計をスコアとして用いることができる。一例として、同図において単語「先月」が付された状態遷移は、３つ組のパラメーターとしては、(先月／ε：０．０)で表される。
【０１２７】
同図において、＜Ｓ＞が付された状態遷移は、置換単語を受理するための遷移である。つまり、原稿の単語列が含んでいるある単語ｓの位置に対応する認識単語列の位置に入力した単語が、原稿のある単語ｓとは異なる任意の単語に置換されていたときに、その置換単語を受理するための遷移である。以下、原稿の単語列が含んでいるある単語ｓの位置において、この単語ｓとは異なる任意の単語のことを、任意の単語＊と表記する。アスタリスクは、ワイルドカードを表す表記である。この置換には、例えば「再開」が同音異義語の「再会」に翻字されて認識された場合も含まれる。
【０１２８】
同図において、＜Ｓ＞が付された状態遷移は、任意の単語＊を受理可能である。この＜Ｓ＞が記載された遷移についてのパラメーターは（＊／ε：ωs）で表される。この３つ組表現においては、＊は同遷移が受理できる任意の単語入力を表し、εはこの遷移で出力は無いことを意昧する。また、ωsは遷移重みの１つであって、この遷移に対して単語ｓとは異なる任意の単語＊が入力されたときに課すペナルティ（以下、置換ペナルティという）を意味する。この置換ペナルティωsは、ノードスコアを下げる数値で表され、例えば−１．０を用いる。例えば、＜Ｓ＞が付された状態遷移は、３つ組のパラメーターとしては、 (＊／ε：−１．０)と表すことができる。
【０１２９】
同図において、＜I＞が付された状態遷移は、挿入単語を受理するための遷移である。つまり、発話者に起因するなどして、発話内容に情報の追加や言いよどみによる分節などの繰り返しがあった場合、原稿どおり又は置換されたと認識された単語列に続く位置に挿入された単語を受理するための遷移である。また、音声認識装置２２０に起因して、原稿通りならば１単語と認識すべきところを、複数単語として認識するような認識誤りで生じて、原稿通りの１単語に続く位置に挿入された単語を受理するためにも、＜I＞が付された状態遷移を用いることができる。
【０１３０】
同図において、＜Ｉ＞が付された状態遷移は、任意の単語＊を受理可能である。この＜Ｉ＞が記載された遷移についてのパラメーターは、３つ組による表現で、（＊／ε：ωi）で表される。ここで、＊は任意の単語入力を表し、εは空の単語を表す。つまり、この状態遷移は、任意の単語を受理し、出力単語を持たない。また、ωiは遷移重みの１つであって、この遷移に対して任意の単語＊が入力されたときに課すペナルティ（以下、挿入ペナルティという）を意味する。この挿入ペナルティωiは、ノードスコアを下げる数値で表され、例えば−１．０を用いる。例えば、＜I＞が付された状態遷移は、３つ組のパラメーターで表すと、(＊／ε：−１．０)である。
なお、＜Ｉ＞が付された状態遷移における遷移先の状態は、同遷移における遷移元の状態と同じである。
【０１３１】
同図において、＜Ｄ＞が付された状態遷移は、脱落単語を受理するための遷移である。つまり、発話者に起因するなどして、発話内容の一部に句などの脱落があった場合、認識単語列において原稿から脱落した単語の位置を特定するための遷移である。また、音声認識装置２２０に起因して、原稿通りならば複数単語と認識すべきところを、単語が削除されて１単語として認識するような認識誤りで生じて、認識単語列において原稿から脱落した単語の位置を特定するための遷移である。
【０１３２】
同図において、＜Ｄ＞が付された状態遷移は、単語の入力が無くても起こり得る遷移である。この＜Ｄ＞が記載された遷移についての３つ組のパラメーターは、（ε／ε：ωd）で表される。ここで、スラッシュの前のεは、この遷移で受理する入力が無いことを表す。また、スラッシュの後のεは、この遷移で出力が無いことを意昧する。また、ωdは遷移重みの１つであって、この遷移で単語が脱落したときに課すペナルティ（以下、脱落ペナルティという）を意味する。この脱落ペナルティωdは、ノードスコアを下げる数値で表され、例えば−１．０を用いる。例えば、図９で＜Ｄ＞が記載された遷移は、３つ組のパラメーターで表すと、(ε／ε：−１．０)である。
なお、＜Ｄ＞が付された状態遷移における遷移元および遷移先の状態は、脱落する単語に関する状態遷移と同じである。例えば、ノード００２からノード００３への、＜Ｄ＞が付された状態遷移は、並列する単語「の」が脱落したときにもノード００２からノード００３へ遷移を可能とする（ただし、上記の脱落ペナルティを伴う）ものである。
【０１３３】
同図において、＜Ｅｍｉ１＞や＜Ｅｍｉ２＞や＜Ｅｍｉ３＞が付された状態遷移は、所定の単語列として文を出力するための遷移である。ここで出力される文が、音声認識処理によって認識された単語列の修正結果である。これらの＜Ｅｍｉ１＞や＜Ｅｍｉ２＞や＜Ｅｍｉ３＞が付された遷移についてのパラメーターは（ε／Ｌ：０．０）で表される。ここで、εはこの遷移において単語の入力が無いことを表す。また、Ｌはこの遷移で出力される単語列（文）がＬであることを表す。
【０１３４】
例えば、＜Ｅｍｉ１＞が付された状態遷移は、３つ組のパラメーターで表すと、(ε／先月の関東甲信地方は…：０．０)である。つまり、この場合、Ｌは、始点ノード００１からノード００２を経由してノード００７に至る各遷移に並べられた単語列「先月／の／関東甲信／地方／は／…」をすべて順番に（直列に）繋げた単語列である。なお、パラメーターにおける０．０は遷移重みの１つであって、この遷移に対して文を出力するときには、ペナルティが課されないことを意味する。なお、＜Ｅｍｉ２＞が付された状態遷移のパラメーターは、同様に、(ε／今週もまとまった雨は…：０．０)である。また、なお、＜Ｅｍｉ３＞が付された状態遷移のパラメーターは、同様に、(ε／気象庁によりますと…：０．０)である。
【０１３５】
同図において、＜ｅｐｓ＞が記載された遷移は、終点ノードと始点ノードを連結する遷移であり、イプシロン遷移（ε遷移）と呼ばれている。＜ｅｐｓ＞が付された状態遷移は、原稿テキスト集合に含まれる所定の単語列（文）が、連続して発話されるという拘束を与える遷移である。＜ｅｐｓ＞が付された状態遷移についてのパラメーターは（ε／ε：ωu）で表される。ここで、スラッシュの前のεは、この遷移で単語の入力が無いことを表す。また、スラッシュの後のεは、この遷移で出力が無いことを表す。また、ωuは遷移重みの１つであって、適切な重み（数値）を与えることにより、ＷＦＳＴは、より長く一致する文のスコアを高くすることができるようになる。
【０１３６】
［３．本形態におけるＷＦＳＴ］
図１０は、本形態において用いるＷＦＳＴの例を示す概略図である。図９を用いて説明した一般的なＷＦＳＴと、本形態で用いるＷＦＳＴの違いを中心に、以下、説明する。
【０１３７】
図１０に示すＷＦＳＴもまた、ノード（状態）と枝（状態遷移）から成る状態遷移図で表される。同図では、ノードを黒丸または黒四角の記号で表し、枝を矢印付きの線で表す。各ノードには、ノードを識別するための３桁の整数を付している。同図に示す状態遷移図においても、始点のノード６０１と終点のノード６０８が存在する。そして、例示する状態遷移図においては、始点のノード６０１から終点のノード６０８へ、並列する２本の系列が存在する。その第１の系列は、始点のノード６０１から、ノード６０２〜ノード６０７を経て、終点のノード６０８に至る。また第２の系列は、始点のノード６０１から、ノード６１２〜ノード６１７を経て、終点のノード６０８に至る。これらの各系列が、原稿テキストにおける文に対応する。ここでは、簡単のために２文のみを示しているが、現実には文の数に制約はない。そして、終点ノード６０８から始点ノード６０１に戻るための枝（前述の、イプシロン遷移）が存在する。
【０１３８】
各々の状態遷移は、遷移元の状態と、遷移先の状態と、入力記号（単語）と、出力記号（単語列）と、遷移重みの値で定義される。一例として、同図において、ノード６０２からノード６０３への状態遷移は、受理する入力単語がＷ２であり、出力する記号はε（つまり、出力単語はない）である。また別の例として、同図において、ノード６１４からノード６１５への状態遷移は、受理する記号がε（つまり受理する単語はない）であり、出力する記号はＣ３という単語列である。
【０１３９】
なお、同図においては、状態遷移の重みの表示を省略している。また、同図においては、音声認識誤りを受理するための遷移を省略している。つまり、置換単語を受理するための状態遷移や、挿入単語を受理するための状態遷移や、脱落を許容するための状態遷移の表示を省略している。
【０１４０】
同図に示すＷＦＳＴの特徴は、原稿文をチャンク（chunk，かたまり）に分割し、チャンクの切れ目における状態遷移として出力遷移を配置した構成としている点である。なお、出力遷移とは、出力シンボルが空ではない状態遷移である。つまり、文の最後だけではなく、文の途中における状態遷移でも単語列を出力する場合がある。同図における具体例としては、原稿文（Ｗ１，Ｗ２，Ｗ３，Ｗ４，Ｗ５）を、ｏ１とｏ２という複数のチャンクに分割している。チャンクｏ１は単語列（Ｗ１，Ｗ２，Ｗ３）であり、チャンクｏ２は単語列（Ｗ４，Ｗ５）である。そして、チャンクｏ１とｏ２との間に、入力記号がε（つまり、入力単語がない）であり出力記号がＣ１という出力遷移を設けている。なお、ノード６０７からノード６０８への状態遷移は、文末での出力遷移であり、その出力記号はＣ２である。同様に、原稿文（Ｗ６，Ｗ７，Ｗ８，Ｗ９，Ｗ１０）もまた、ｏ３（不図示）とｏ４（不図示）という複数のチャンクに分割している。チャンクｏ３は単語列（Ｗ６，Ｗ７，Ｗ８）であり、チャンクｏ４は単語列（Ｗ９，Ｗ１０）である。そして、チャンクｏ３の後には、単語列Ｃ３を出力する出力遷移が設けられている。また、チャンクｏ４の後には、単語列Ｃ４を出力する出力遷移が設けられている。
【０１４１】
上記のように、本形態では、文をチャンクに分割し、チャンクの終端に出力遷移を設けている。なお、文のチャンクへの分割のしかたは任意である。文中の文法的にあるいは意味的に切れ易い箇所でチャンクへの分割を行っても良いし（例えば、構文上の句の単位できるなど）、所定の単語数で機械的に複数のチャンクへの分割を行っても良い。また、読みやすさのために記者またはアナウンサーが改行している箇所で分割しても良い。また、原稿中の文の重複度と必要とする認識誤りの訂正能力に応じて適切な長さのチャンクに分割しても良い。また、許容される字幕の表示遅れに応じて、適切な長さのチャンクに分割しても良い。長い単語列をチャンクとして設定すると、修正精度は高くなるが、送出する字幕単語列の確定が遅くなる。短い単語列をチャンクとして設定すると、送出する字幕単語列の確定は早く行うことができるようになるが、修正精度は低下する。また、期待される音声認識の認識精度と原稿と読み上げ音声の一致度合いに応じて適切な長さのチャンクへの分割を行うようにしても良い。
【０１４２】
［４．ＷＦＳＴの構築方法］
次に、トランスデューサー構築装置７４０によるＷＦＳＴの構築方法について説明する。トランスデューサー構築装置７４０がＷＦＳＴを構築するに当たり、原稿テキスト記憶装置７００に含まれる原稿テキストは、予め文に分割しておく。なお、文の最後は句点によって区切られる場合には、句点を目印に分割することができる。また、原稿テキストの構文解析を行うことによって、構文ルールから文の切れ目を検出して文への分割を行うようにしても良い。また、人手によって目印がつけられた箇所で文への分割を行うようにしたりしても良い。
【０１４３】
本形態では、原稿テキスト記憶装置７００に記憶されているテキストは、ニュース番組で取り上げられる可能性のある読み原稿である。ここで用意される原稿は、複数のニュース項目のための原稿を含む。また、各ニュース項目は、複数の文を含む。本形態では、ニュース項目が読まれる順番、あるいは文が読まれる順番を予め特定しておく必要がない。読まれる可能性のある原稿をすべて用意して、原稿テキスト記憶装置７００に記憶させておけばよい。また、それらの原稿のうち、結果的に読まれないニュース項目や読まれない文があっても良い。
【０１４４】
なお、ＷＦＳＴの構築に先立って予め人手により原稿を整形しておくようにする。この整形により、必ず連続して読み上げられる単語列（文）を一つの文の単位としてまとめる。また、この整形により、原稿中において読み飛ばされる可能性のある部分を別の文として切り離しておく。
【０１４５】
また、文は、予めチャンクに分割しておく。チャンク（即ち、出力遷移を行うまでの単語列の単位）を長く設定すると修正精度は高くなるが、出力する単語列の確定が遅くなる。逆に、チャンクを短く設定すると、送出する字幕単語列の確定は速くなるが修正精度が低下する。よって、どのような単位を利用するかについては、期待される音声認識の認識精度と、原稿と読み上げ音声の一致度合いと、に応じて適宜設計すればよい。いかなる方法で文のチャンクへの分割を行うにしても、チャンクは、文よりは短い単位である。
そして、トランスデューサー構築装置７４０は、チャンクを受理した直後に出力遷移を配置するように、ＷＦＳＴを構成する。
【０１４６】
トランスデューサー構築装置７４０による具体的なＷＦＳＴ構築手順は、次の通りである。ＷＦＳＴの構築は、まず、ＷＦＳＴの始点から開始される。
トランスデューサー構築装置７４０は、原稿テキスト記憶装置７００から一単語ずつ読み込む度に、同単語を受理する重み０の遷移と新たなノードとを順次作成していく。ここで、重み０の遷移とは３つ組のパラメーターで表すと、(ｓ／ε：０．０)のことである。なお、ｓは単語である。そして、チャンクを一単位として、そのチャンクの後に出力遷移を追加してから、次のチャンクに含まれる各単語について同様の処理を繰り返す。なお、チャンクの終端が文の終端である場合には、最後のチャンクに関する出力遷移をＷＦＳＴの終点ノードに連結する。即ち、最後のチャンクに関する出力遷移の遷移先状態を、その終点ノードとする。
まだ更なる文が残っていたら、再び始点から始めて、上記の処理を繰り返す。
以下、原稿テキスト記憶装置７００に含まれる全ての文についての処理を終えるまで、同様に繰り返す。
【０１４７】
原稿テキスト記憶装置７００からすべての原稿テキストを読み込み終えた後、次に、トランスデューサー構築装置７４０は、終点ノードと始点ノードとをイプシロン遷移で連結する。既に述べたように、イプシロン遷移とは、３つ組のパラメーターで表すと（ε／ε：ωu）という状態遷移ことである。なお、トランスデューサー構築装置７４０は、このイプシロン遷移のための重みωuとして適切な値を与える。これにより、ＷＦＳＴは、より長く一致する文のスコアを高くすることができるようになる。またこれにより、ＷＦＳＴは、他の文の接頭辞と一致する文が原稿中に存在するような場合にも、適切に動作できるようになる。そして、最後に、トランスデューサー構築装置７４０は、各単語の遷移に、置換、脱落、挿入を受理する遷移を追加する。なお、図１０では、置換、脱落、挿入のための状態遷移を省略している。
【０１４８】
［５．音声認識の適応化］
原稿をもとに読み上げられる音声を音声認識装置７２０が実際に認識するにあたり、予め、この原稿に含まれる単語列をもとに音声認識の言語モデルを適応化しておくことが望ましい。これにより、原稿通りに読み上げられた場合の音声認識の精度を高くすることができる。
【０１４９】
［６．出力遷移からのトレースバック］
本形態では、トレースバックを開始するノードを、出力遷移の直前のノードのみに限定する。つまり、図１０に例示したＷＦＳＴの状態遷移図において、トレースバックの対象となるノードは黒四角の記号で示したノードのみである。そして、黒丸の記号で示しているノードをトレースバックの対象としない。つまり、トレースバックの対象となるノードは、各チャンクの終端に当たるノードのみである。
【０１５０】
ＷＦＳＴのすべてのノードを対象としてその最尤ノード（時刻ｔにおいてすべてのノードの中で最もスコアの高いノード）からトレースバックを行うのと比べて、本形態の上記の方法では、出力の遅延を短縮することができる。つまり、本形態では、音声認識処理の結果に応じた修正後の字幕の表示の遅延を短縮することができる。
なお、既に述べたＷＦＳＴの構築方法においては、文を予めチャンクに分割しておき、各チャンクの終端に続いて出力遷移を設けた。しかしながら、文をチャンクに分割しないようにして（言い換えれば、１文を１チャンクとして）、トレースバックを開始するノードを出力遷移の直前のノードのみに限定することも可能である。そしてこのような場合にも、すべてのノードを対象としてその最尤ノードからトレースバックを行うのと比べて、出力の遅延を短縮することができる。
【０１５１】
［７．字幕文出力の確定方法］
音声認識誤り修正装置６００が、出力する単語列を確定するための方法について説明する。
時刻ｔにおける出力遷移の直前の最尤ノード（言い換えれば、チャンクの終端に当たるノードの中の最尤ノード）であるｎ（チルダ）（ｔ）は、下の式（１）で表される。
【０１５２】
【数１】
0006406988.tif 000002
【０１５３】
式（１）において、Ｑは、トレースバックの対象となるノードの集合である。つまり、Ｑは、出力遷移の直前のノードの集合である。ｎは、集合Ｑに属するノードである。そして、Ｌｎ（ｔ）は、時刻ｔにおけるノードｎのスコアである。なお、このスコアＬｎ（ｔ）は、下の式（２）で表される。
【０１５４】
【数２】
0006406988.tif 000003
【０１５５】
式（２）において、ｅは状態遷移であり、ｅｆおよびｅｔは、それぞれ、状態遷移ｅの遷移元および遷移先のノードである。またｅｗは、状態遷移ｅの状態遷移重みの値である。また、ｅｉは、状態遷移ｅの入力記号である。そして、ｅｉは、単語Ｗ、ε（空入力）、＊（いずれの入力にもマッチするワイルドカード）のいずれかである。つまり、式（２）に示すとおり、時刻ｔにおけるノードｎのスコア（尤度）は、ノードｎを遷移先ノードとするすべての状態遷移の中で、時刻ｔ−１におけるその状態遷移ｅの遷移元ノードｅｆのスコアに、その状態遷移ｅの重み値ｅｗを加算したものである。
【０１５６】
上記の式（１）による最尤ノードを求めるために、音声認識誤り修正装置６００は、スコアＬｎ（ｔ）に関して、閾値による枝刈りを行いながら、効率的なビタビ探索を行う。
【０１５７】
そして、音声認識誤り修正装置６００は、式（１）により求められた最尤ノードにたどり着くまでに通過した状態遷移ｅを、順次トレースバックして、状態遷移の系列を得る。既に出力済みの単語の時刻ｔ−ｔ´までトレースバックした結果はｈｔ−ｔ´は、下の式（３）で表される。
【０１５８】
【数３】
0006406988.tif 000004
【０１５９】
式（３）において、｛ｅｔ−ｔ´，・・・｝は、ＷＦＳＴの始端を含まない状態遷移の集合である。また、｛・・・，ｅｔ｝は、ＷＦＳＴの終端を含まない状態遷移の集合である。そして、Ｏ（チルダ）ｔは、下の式（４）で表されるように、始端と終端とに挟まれた区間ｌｔｋ（つまり、ｌｔｋは文）の列である（ｋ＝１，２，・・・）。
【０１６０】
【数４】
0006406988.tif 000005
【０１６１】
式（４）において、ｒｔは、Ｏ（チルダ）ｔに含まれる区間ｌｔｋ（文）の数である。さらに、このｌｔｋは、下の式（５）に示すように、チャンクの列である。
【０１６２】
【数５】
0006406988.tif 000006
【０１６３】
式（５）において、ｍｔ，ｋは、区間ｌｔｋに含まれるチャンクの数である。
音声認識誤り修正装置６００は、この区間ｌｔｋごとに下の式（６）で表されるチャンクの列を出力する。つまり、下の式（６）で表されるものが、音声認識誤り修正装置６００によって出力される字幕文である。
【０１６４】
【数６】
0006406988.tif 000007
【０１６５】
式（６）において、Ｅ（チルダ）（ｏｔ，ｋｕ）は、誤り率に基づく誤りスコアである。また、Ｔは、誤りスコアに関する閾値であり、０＜Ｔ＜１である。誤りスコアＥ（チルダ）（ｏｔ，ｋｕ）は、下の式（７）によって求められる。
【０１６６】
【数７】
0006406988.tif 000008
【０１６７】
式（７）において、２入力の関数Ｅ（チルダ）（ｏ１，ｏ２）は、下の式（８）に示すように、Ｅ（チルダ）（ｏ１）とＥ（チルダ）（ｏ２）の、単語数の重みを付けた平均である。
【０１６８】
【数８】
0006406988.tif 000009
【０１６９】
式（８）において、Ｎ１とＮ２は、それぞれ、チャンクｏ１とｏ２に含まれる単語の数である。また、Ｅ（チルダ）（ｏ）は、チャンクｏにおける受理単語数Ｎｒと、誤りを受理したことによる遷移の通過数Ｎｅとから求めた誤り率（編集距離）であり、下の式（９）で表される。
【０１７０】
【数９】
0006406988.tif 000010
【０１７１】
つまり、式（７）に示した通り、区間ｌｔｋに含まれるチャンクｏｔ，ｋｕの誤りスコアであるＥ（チルダ）（ｏｔ，ｋｕ）は、次に述べるように定義される。即ち、Ｅ（チルダ）（ｏｔ，ｋｕ）は、チャンクｏｔ，ｋｕにおいて式（９）で計算される誤り率と、ひとつ前のチャンクｏｔ，ｋｕ−１で計算される誤りスコアとの単語数による重み付き平均の値に基づく。ただし、その単語数による重み付き平均の値が所定の閾値Ｔよりも小さい場合には、Ｅ（チルダ）（ｏｔ，ｋｕ）の値はゼロである（式（７）の右辺上段のケース）。一方、その単語数による重み付き平均の値が閾値Ｔ以上の場合にはその重み付き平均の値をそのままＥ（チルダ）（ｏｔ，ｋｕ）の値とする（式（７）の右辺下段のケース）。このように、Ｅ（チルダ）（ｏｔ，ｋｕ）の値は、ひとつ前のチャンクｏｔ，ｋｕ−１についてのＥ（チルダ）（ｏｔ，ｋｕ−１）の値に依存して定義されており、式（７）で再帰的に計算することにより出力を確定できる。
【０１７２】
なお、式（７）において場合分けして、閾値Ｔよりも低い場合の誤りスコアをカットオフして０にしていることにより、前のチャンクにおける誤りの程度が小さい場合には、後ろの方のチャンクまでその誤りスコアを波及させないようにしている。
なお、式（６）や式（７）に示した閾値Ｔの具体的な値は適宜定めればよいが、例えばＴ＝０．５とする、あるいは０．４≦Ｔ≦０．６の範囲内の値とすることが好適である。Ｔの値が大きすぎると（１に近づくと）高い誤り率を許容してしまうという不都合がある。他方で、Ｔの値が小さすぎると誤りに対して厳格になりすぎて、本来読み上げられている原稿に対して出力できる字幕の密度が低くなり過ぎるという不都合がある。したがって、前記の０．４≦Ｔ≦０．６の範囲が好適であり、特にＴ＝０．５とすることが好適である。
【０１７３】
［８．音声認識誤り修正装置の構成］
次に、音声認識誤り修正装置の構成について説明する。
図１１は、音声認識誤り修正装置６００の概略機能構成を示す機能ブロック図である。図示するように、音声認識誤り修正装置６００は、ＷＦＳＴ記憶部６１０と、ノードデータ更新部６２０と、ノードデータ記憶部６３０と、原稿探索部６４０と、出力部６５０とを含んで構成される。
【０１７４】
ＷＦＳＴ記憶部６１０（有限状態トランスデューサー情報記憶部）は、原稿テキストに対応して、音声認識結果として入力される単語を順次受理しながら状態遷移していく有限状態トランスデューサーであって、音声認識結果に含まれる単語の誤りをも受理しながら状態遷移していく有限状態トランスデューサーの、状態に関する情報、および状態遷移に関して遷移元状態と遷移先状態と入力シンボルと出力シンボルと遷移重みとを含む情報、とを記憶する。そして、ＷＦＳＴ記憶部６１０は、出力シンボルが空でない状態遷移であるところの出力遷移を状態遷移の一部として含んで記憶している。また、原稿テキストに含まれる文を複数のチャンクに分割し、チャンクに含まれる単語を入力シンボルとして受理する状態遷移のパスの後に出力遷移を設けたＷＦＳＴの、状態に関する情報および状態遷移に関する情報を記憶する。
【０１７５】
具体的には、ＷＦＳＴ記憶部６１０は、原稿テキスト記憶装置７００（図８）に基づいて予めトランスデューサー構築装置７４０が構築したＷＦＳＴを記憶している。具体的には、ＷＦＳＴ記憶部６１０は、状態遷移図（ネットワーク）と等価な情報を記憶する。その情報とは、状態（ノード）の識別情報およびその状態の属性情報と、状態遷移（枝）の識別情報およびその状態遷移の属性情報である。状態遷移の属性情報は、遷移元状態の識別情報と、遷移先状態の識別情報と、遷移に関する重みの値とを少なくとも含む。
【０１７６】
ノードデータ更新部６２０は、原稿テキストに対応する音声の認識結果である認識単語の入力を外部から受け付けるとともに、受け付けた認識単語に応じて、ＷＦＳＴにおける状態ごとの当該時刻（その時刻）でのスコアを算出し、算出された前記スコアを用いてノードデータ記憶部６３０を更新する。
具体的には、ノードデータ更新部６２０は、音声認識装置７２０が出力する認識単語列に含まれる単語の入力を受け付ける時刻毎に、ＷＦＳＴのネットワーク上を遷移可能な状態のスコアをノードデータとして計算および更新するものである。ノードデータ更新部６２０は、例えば、音声認識装置７２０から認識単語を１単語受け付ける都度、ＷＦＳＴ記憶部６１０に記憶されたＷＦＳＴを参照して逐次的にビタビ探索を行い、ノードデータ記憶部６３０に記憶されているノードデータを更新する。
【０１７７】
ノードデータ更新部６２０は、認識単語列の一部として入力される単語に応じて、状態遷移した場合のスコアを計算する。ノードデータ更新部６２０は、状態遷移の重みの値に基づいて、スコアを計算する。ＷＦＳＴの例として述べたように、対応原稿と一致する単語が原稿通りの順で入力された場合には、重みの値として「０」をスコアに加算する。対応原稿と異なる単語が入力された場合、重みの値として「−１］をスコアに加算する。この「−１」はペナルティの意味を有する。
【０１７８】
例えば、図９に示した例において、認識単語列として入力する単語列が、対応原稿と全く同じ単語列である場合、始点ノード００１から、単語「先月」を受理して対応原稿の単語に対応する遷移を通ってノード００２に進む。そして、この状態遷移に対応して、ノードデータ更新部６２０は、スコアに「０」を加算する。次に、ノード００２から、例えば単語「の」を受理してノード００３に進む。そして、この状態遷移に対応して、ノードデータ更新部６２０は、スコアに「０」を加算する。同様に、「関東甲信」、…を順次受理していくと、スコアには、各単語に対応する状態遷移の重みの値である「０」ずつ足していくことになる。
【０１７９】
しかし他方で、例えば図９に示した例において、認識単語列として入力する単語列が、対応原稿と異なる単語列である場合、異なる状態遷移をする。つまり、始点ノード００１から、例えば単語「先週」を受理すると、対応原稿の単語「先月」が置換されているので、置換に対応する遷移を通ってノード００２に進む。この場合、ノードデータ更新部６２０は、スコアにその状態遷移の重みの値である「−１」（ペナルティ）を加算する。また、挿入誤りや脱落誤りに対応する遷移を通った場合にも、同様にノードデータ更新部６２０は、スコアにペナルティの「−１」を加算する。
【０１８０】
このように、入力される認識単語がＷＦＳＴにおける状態遷移で受理する単語ｓと同じであった場合に、その遷移におけるスコアが最良となる。一方、置換、挿入、削除の編集に相当する状態遷移は、スコアが悪化する要因となる。ここで「編集」とは、本来あるべき単語を置換したり、削除したり、本来あるべき単語ではないものを挿入したりすることによって得られる結果を言う。例えば＜Ｄ＞が記載された状態遷移は、マッチする入力単語が無くても遷移できるが、＜Ｄ＞が記載された遷移だけを通るパスの場合、その遷移の数が多いほど、ペナルティが加算され、スコアが低くなる。ＷＦＳＴは、認識単語列に、誤りや言い変えが含まれると、その分だけスコアが悪くなるという結果を生む。
【０１８１】
ノードデータ記憶部６３０は、ＷＦＳＴにおける状態の尤度を表すスコアを記憶する。つまり、ノードデータ記憶部６３０は、ノードデータ更新部６２０によって計算されるノードデータを記憶するものである。ノードデータ更新部６２０は、上述した計算結果に基づき、ノードデータ記憶部６３０をタイムリーに更新する。ノードデータ記憶部６３０は、例えば、半導体メモリやハードディスク装置等の一般的な記憶手段を用いて構成される。
【０１８２】
原稿探索部６４０は、処理開始を示す起動信号を外部から受け付けると、ノードデータ記憶部６３０を参照することにより、その時点における最尤ノードを決定するとともに、ＷＦＳＴ記憶部６１０とノードデータ記憶部６３０とを参照して、最尤ノードから状態遷移を遡ることにより、状態遷移が確定済みの所定の時刻までのトレースバック処理を行い、当該トレースバック処理した状態遷移のパスを出力候補とするとともに、出力候補となったパスに関して、当該パスに誤りに関する状態遷移が含まれる割合に応じた誤りスコアを算出し、算出された誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に当該パスの出力候補を、確定出力とする。また、原稿探索部６４０は、チャンクごとに誤りスコアを算出するとともに、チャンクごとの誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に、当該チャンクに対応する出力遷移の出力シンボルを、確定出力とするものであり、且つ、原稿探索部６４０は、チャンクごとの誤りスコアを算出する際に、当該チャンクと当該チャンクの直前のチャンクの区間に関して誤りに関する状態遷移が含まれる割合に応じた誤りスコアを、当該チャンクの誤りスコアとして算出する。
【０１８３】
また、原稿探索部６４０は、出力遷移の遷移元状態に対応するノードの中で最尤であるノードをその時点における最尤ノードとして決定する。言い換えれば、原稿探索部６４０は、出力遷移の遷移元状態ではない状態に関しては、最尤ノードであるか否かを考慮しない。
【０１８４】
具体的には、原稿探索部６４０は、最終最良仮説を確定するための全原稿についての全認識単語列の認識結果の入力を待たず、予め定められた処理開始条件が満たされる都度、最尤の修正結果を求めるものである。原稿探索部６４０は、処理開始条件が満たされると、その時点でノードデータ記憶部６３０に記憶されているノードデータに基づいて、ＷＦＳＴのネットワーク上をトレースバックしながら、最終最良仮説を部分的に近似した仮説を誤り修正結果として逐次確定する。
【０１８５】
原稿探索部６４０は、ＷＦＳＴに含まれる対応原稿の単語列と、入力された認識単語列との編集距離に基づいて最終最良仮説を近似する。原稿探索部６４０は、ＷＦＳＴのネットワーク上で予め定められた範囲毎に区切ったパス間において、その先頭から末尾までのパス区間での編集距離がある程度小さければ、そのパス区間が信頼できるものとして確定して出力する。ここで、編集距離が短いということは、認識単語列と原稿の単語列とがほとんどマッチしているパスを通ってきたことを意味する。逆に、編集距離が長いパス区間は信頼度が低いので、その時点では確定せずに、次回のトレースバックのときにも利用する。いつまでも信頼度が低いパス区間は、原稿には元々記載されていない違うことを話した区間である、と推定される。よって、信頼度が低いパス区間を出力しない。
【０１８６】
原稿探索部６４０における処理開始条件とは、例えば、発話音声がない無音期間が所定の期間に達した場合、または、音声認識装置７２０が出力する認識単語列としての単語の入力数が所定の単語数に達した場合等である。上記の所定の期間は、特に限定されないが一例として３秒間とする。また、上記の所定の単語数は、特に限定されないが一例として２０単語とする。原稿探索部６４０に入力される起動信号は、上記の処理開始条件が成立したことを示す信号である。このときの起動信号は、例えば音声認識装置７２０が自動的にｏｎするようにしてもよいし、操作者による手動の操作によってｏｎするようにしても良い。この操作者は、ポーズ（所定の長さの無音）を認識したときや、所定の単語数を音声認識装置７２０が出力した認識したときに、起動信号をｏｎする操作を行う。音声認識装置７２０が自動的に起動信号をｏｎする場合には、音声認識の結果を利用してポーズを検出したり、音声認識結果として出力する単語の数をカウントしたりすることにより、起動信号を切り替えるきっかけとする。この構成により、認識単語が一単語入力される度に探索処理を開始する場合に比べて、処理負荷を低減できる。また、無音期間が所定の期間だけ継続していれば、その間、認識結果の単語が音声認識装置７２０側から渡されてこないので、装置の処理の負荷がその時点に集中することなく、ノードスコアを容易に比較することができる。
【０１８７】
上記の機能を実現するために、原稿探索部６４０は、さらに次の構成を有する。即ち、原稿探索部６４０は、最尤ノード検出部６４１と、トレースバック部６４２と、原稿分割部６４３と、出力候補記憶部６４４と、誤りスコア算出部６４５と、誤りスコア判別部６４６と、確定出力記憶部６４７と、確定時刻記憶部６４８とを含んで構成される。
【０１８８】
最尤ノード検出部６４１は、外部から受信する起動信号をトリガーとして動作し、その時点で記憶されているノードデータにおいてスコアが最大のノードを検出するものである。この起動信号は、上で述べたとおり、予め定められた処理開始条件が満たされたときに外部から供給されるものである。
【０１８９】
トレースバック部６４２は、最尤ノード検出部６４１で特定されたノードから、当該ノードに到達するまでのパスについて、ＷＦＳＴのネットワークを下流から上流に向かってたどる。このとき、トレースバック部６４２は、前回のトレースバックで確定した箇所まで、ネットワークを遡る。つまり、トレースバック部６４２は、前回確定して出力された単語系列の最後の入力単語に対応した時刻までトレースバックする。
【０１９０】
原稿分割部６４３は、トレースバックするパスの中で、出力遷移に対応する区間ごとに単語列を切り出す。ここで、出力遷移とは、既に説明したように記号の出力を伴う状態遷移である。トランスデューサー構築装置７４０がＷＦＳＴを構築するときに、チャンクの終端の直後に、出力遷移が設けられている。つまり、原稿分割部６４３によって分割された結果の区間は、前述のチャンクの単位である。原稿分割部６４３は、トレースバックされた結果得られるパス全体を分割し、分割した結果得られる各々の単語列を出力する。
【０１９１】
出力候補記憶部６４４は、原稿分割部６４３が分割した結果得られたパス区間に対応した出力遷移の出力シンボル（切り出された原稿）を、出力候補として記憶する。出力候補記憶部６４４は、例えば、半導体メモリやハードディスク装置等の一般的な記憶手段を用いて構成される。
【０１９２】
誤りスコア算出部６４５は、原稿分割部６４３によって分割して切り出された区間（チャンク）毎に、誤りスコアを算出する。誤りスコア算出部６４５は、既に説明した式（７）を用いて誤りスコアを算出する。
【０１９３】
誤りスコア判別部６４６は、誤りスコア算出部６４５によって算出された誤りスコアが所定の閾値Ｔより小さいか否かを判定する。つまり、誤りスコア判別部６４６は、既に説明した式（６）に含まれる条件に基づいて判別する。
【０１９４】
確定出力記憶部６４７は、誤りスコア判別部６４６による判定結果に基づいて確定された出力（確定出力と呼ぶ）を記憶する。具体的には、誤りスコア判別部６４６によって誤りスコアが閾値Ｔより小さいと判定された場合、確定出力記憶部６４７は、当該所定パス区間における出力遷移の出力シンボルを誤り修正結果として記憶する。その他の場合、確定出力記憶部６４７は、当該所定パス区間における出力遷移の出力シンボルを誤り修正結果として記憶しない。なお、確定出力記憶部６４７は、例えば半導体メモリやハードディスク装置等の一般的な記憶手段を用いて構成される。また、確定出力記憶部６４７の記憶構造はスタックであり、確定出力記憶部６４７は後入れ先出し（ＬＩＦＯ）の構造でデータを保持する。
【０１９５】
確定時刻記憶部６４８は、最新のトレースバック処理で確定した確定時刻を記憶する。確定時刻記憶部６４８は、例えば半導体メモリやハードディスク装置等の一般的な記憶手段である。確定時刻記憶部６４８は、今回トレースバックする全パス区間（切り出された全ての原稿）について、誤りスコア判別部６４６による判別処理が終了した時点で、スタックに積まれた出力シンボルに対応する最新の確定単語の時刻を確定時刻として記憶する。
【０１９６】
出力部６５０は、原稿探索部６４０によって誤り修正結果として確定された対応原稿（つまり、確定出力）を逐次出力するものである。出力部６５０は、ＷＦＳＴのネットワークを今回トレースバックするパスの中で、切り出されたすべての対応原稿の各パス区間に対して算出された誤りスコアについての判定処理が全て終了するまでに確定された出力シンボルのデータを出力する。具体的には、出力部は、確定出力記憶部６４７のスタックに積まれている出力シンボルのデータを、そのスタックが空になるまで出力する。
【０１９７】
この音声認識誤り修正装置６００は、間違って音声認識された単語を修正して出力するとともに、大幅に間違った認識結果を出力しない、という動作を行う。つまり、音声認識誤り修正装置６００による修正結果を、仮に事前に人が見ることができたとしたときに、「これでは文章として成立していない」、「意味が異なっている」と感じるほどの間違い部分を、音声認識誤り修正装置６００がその処理の中で検出し、その検出部分を出力しないという動作も、広義の誤り修正として含んでいる。これは、誤りスコアを算出し、その誤りスコアに基づく判別を行っていることによるものである。
【０１９８】
［９．音声認識誤り修正装置の動作手順］
図１２は、音声認識誤り修正装置６００による処理の手順を示すフローチャートである。なお、このフローチャートの処理の前提は、次の4点である。
（前提１）認識結果の単語入力を｛ω０，ω１，…，ωｋ，…，ωｊ，…｝とする。
（前提２）前回のトレースバックにより確定した部分の最後の入力単語をωｋとし、そのときの出力遷移をａＰ（時間軸に沿ったＰ番目の出力遷移）とする。
（前提３）認識結果の単語ωｊが入力された後、所定の無音が続いたことをトリガーに、逐次確定を行う場合を考える。
（前提４）ノードデータ更新部６２０は、無音になる前に最後に入力した単語ωｊを受理して遷移できるノードを全て計算する。
【０１９９】
以下では、このフローチャートを参照しながら、音声認識誤り修正装置６００による処理の流れについて説明する。
【０２００】
まずステップＳ５０１において、外部からの起動信号の入力をトリガーとして、最尤ノード検出部６４１は、その時点で記憶されているノードデータにおいて最もスコアの高いノードを、最尤ノードとして検出する。この検出ノードで表される状態は、トレースバック開始時点の最尤状態である。
【０２０１】
次にステップＳ５０２において、トレースバック部６４２は、ステップＳ５０１において検出された最尤ノードから、前回のトレースバック処理で確定された時刻まで、トレースバックする。具体的には、トレースバック部６４２は、検出された最尤ノードに到達したパスについてＷＦＳＴ上の単語履歴を逆向きに（時間をさかのぼる方向に）たどり、前回のトレースバックで確定し、出力された単語系列の最後の入力単語ωkを求める。また、トレースバック部６４２は、対応する状態遷移（受理する単語がωkである状態遷移）を求める。そして、それらの単語および状態遷移に対応する確定時刻までトレースバックする。なお、トレースバック部６４２は、確定時刻記憶部６４８を参照し、その確定時刻記憶部６４８に格納されている確定時刻を、上記の最後の入力単語ωkに対応した確定時刻とする。
なお、受理単語がωｋである状態遷移の代わりに、出力遷移ａＰにたどり着くまでトレースバックするようにしてもよい。
【０２０２】
次にステップＳ５０３において、原稿分割部６４３は、原稿を分割し、分割結果として得られた単語列をそれぞれ出力候補とする。具体的には、原稿分割部６４３は、今回トレースバックするパスの中で、２つの出力遷移間に挟まれたパス区間毎に原稿を分割する。そして、原稿分割部６４３は、得られたそれぞれの出力候補を、出力候補記憶部６４４に格納する。
なお、ここでの処理の方法として、出力遷移ａＰにたどり着くまで逆向きに（つまり、時間を遡る方向に）進みながら、出力可能な出力遷移ａＬ（時間軸に沿ったＬ番目（ただしＬ＞Ｐ）の出力遷移）を通過する度に原稿を分割してもよい。また、出力遷移ａＰの側から出力可能な出力遷移ａＬを通過する度に原稿を分割してもよい。
なお、出力可能な出力遷移ａＬとは、出力遷移のシンボルが出力候補になるものであるが、後に、誤りスコア判別部６４６によって棄却される出力遷移（つまり、出力部６５０からは結局出力されない出力遷移）をも含んでいる。
【０２０３】
次にステップＳ５０４において、誤りスコア算出部６４５は、出力候補の誤りスコアを算出する。具体的には、誤りスコア算出部６４５は、式（７）によってチャンクｏｔ，ｋｕの誤りスコアＥ（チルダ）（ｏｔ，ｋｕ）を算出する。
【０２０４】
次にステップＳ５０５において、誤りスコア判別部６４６は、出力候補のうちの一つを選択し、その出力候補に関して算出された誤りスコアが閾値Ｔ未満であるか否かを判別する。誤りスコアが閾値Ｔ未満である場合（ステップＳ５０５：ＹＥＳ）には、次のステップＳ５０６に進む。誤りスコアが閾値Ｔ以上である場合（ステップＳ５０５：ＮＯ）には、ステップＳ５０８に飛ぶ。
【０２０５】
次にステップＳ５０６に進んだ場合、誤りスコア判別部６４６は、ＷＦＳＴのネットワーク上の当該パス区間（チャンク）の出力遷移を確定し、その出力シンボルを誤り修正結果として確定する。
次にステップＳ５０７において、誤りスコア判別部６４６は、今回確定した出力シンボルのデータを、確定出力記憶部６４７に書き込む。前述のとおり、確定出力記憶部６４７は後入れ先出しの構造を有するスタックである。
これらのステップＳ５０６およびＳ５０７の処理は、ステップＳ５０５における分岐制御により、現在のチャンクの誤りスコアが閾値Ｔ未満である場合のみに実行される。
【０２０６】
次にステップＳ５０８に進むと、誤りスコア判別部６４６は、すべての出力候補を判別し終えたか否かを判断する。すべての出力候補の判別が終了している場合（ステップＳ５０８：ＹＥＳ）、次のステップＳ５０９に進む。すべての出力候補の判別が終了していない場合、すなわち依然として選択すべき出力候補がある場合（ステップＳ５０８：ＮＯ）、ステップＳ５０５に戻って次の出力候補を選択する。
【０２０７】
つまり、切り出されたすべての原稿に対応した各パス区間に対して算出された誤りスコアについての判定処理が終了した場合に、次のステップＳ５０９に進む。
ステップＳ５０９において、誤りスコア判別部６４６は、確定時刻記憶部６４８を更新する。つまり、誤りスコア判別部６４６は、スタックに積まれた出力シンボルに対応する確定単語の時刻が最も新しいものを今回のトレースバック処理で確定した確定時刻として確定時刻記憶部６４８に格納する。
【０２０８】
次にステップＳ５１０において、出力部６５０は、その時点で確定出力記憶部６４７に書き込まれている出力シンボルのデータを、確定出力記憶部６４７が空になるまで順次読み出し、出力する。これにより、スタックに積まれていたすべての出力データは、出力される。なお、出力部６５０は、ＷＦＳＴのネットワークの前方側に配置された原稿から順に（つまり、時刻の早い側から順に）出力する。
【０２０９】
つまり、出力部６５０は、毎回のトレースバック処理でスタックに積んだデータを、確定された原稿として逐次出力する。このとき、音声認識結果のうち、所定のパス区間の誤りスコアが閾値Ｔ以上である場合、信頼度が低いパスなので、当該パス区間の出力遷移の出力シンボルは、誤り修正結果としては採用されない。したがって、出力部６５０は、そのような信頼度の低いパス区間の出力シンボルを、出力しない。
【０２１０】
ステップＳ１０の処理が終了すると、音声認識誤り修正装置１００は、このフローチャート全体の処理を終了する。
【０２１１】
［１０．字幕文出力の具体例と評価］
以上、説明したように、本形態による音声認識誤り修正装置６００の処理の特徴は、（１）文をチャンクに分割すること、（２）チャンクの終端に出力遷移を設けること、（３）出力遷移の箇所からトレースバックすること、である。このような特徴的な処理をすることによる作用を、具体的な処理例とともに、次に説明する。
【０２１２】
図１３は、本形態による字幕文出力の確定方法の実例を示す概略図である。同図の（Ａ）および（Ｂ）は、それぞれ、入力される認識結果の単語列と、それらの単語に対応するＷＦＳＴの状態遷移と、その結果としての出力シンボルとの関係を示し、また算出される誤りスコアを付記している。
【０２１３】
まず、同図（Ａ）の例において、入力される単語列は「今日／の／関東／地域／は」である。これらの単語を受け付けると、ＷＦＳＴは、次のように遷移する。即ち、始端からスタートして、入力単語「今日」は、対応する原稿内の「今日」にマッチして、ペナルティの無い状態遷移が起こる。次の単語「の」は、対応する原稿内の「の」にマッチして、ペナルティの無い状態遷移が起こる。次の単語「関東」は、対応する原稿内の「関東」にマッチして、ペナルティの無い状態遷移が起こる。次の単語「地域」は、発話者による読み替えまたは音声認識装置７２０による認識誤りにより入力された単語である。したがって、対応する原稿内の「地方」にはマッチせず、置換の状態遷移が起こる。次の単語「は」は、対応する原稿内の「は」にマッチして、ペナルティの無い状態遷移が起こる。そして、「晴れ」と「です」は入力されていないが、脱落の状態遷移が起こると、黒四角で示すチャンクの終端の状態にたどり着く。そして、出力遷移における出力シンボルである「今日の関東地方は晴れです。」が、出力候補となる。ここで、このチャンクに関する誤り率は３／７である。即ち、誤りスコアは、３／７である。閾値Ｔを０．５とする場合、この誤りスコアは閾値Ｔよりも小さい。そして、音声認識誤り修正装置６００は、出力候補である「今日の関東地方は晴れです。」の出力を確定することができる。
【０２１４】
次に、同図（Ｂ）の例で示すＷＦＳＴのネットワークにおいては、一連の区間が、ａｂｃｄｅｆのチャンクと、ｇｈｉｊｋのチャンクとに分割されている。そして、各チャンクの終端に、出力遷移が設けられている。そして、入力される単語列はａｂｃｘｅｙｇｈである。これらの単語を受け付けると、ＷＦＳＴは、次のように遷移する。即ち、始端からスタートして、入力単語ａ，ｂ，ｃのそれぞれは、対応する原稿内のａ，ｂ，ｃにマッチして、これらの単語の各々に関するペナルティの無い状態遷移が起こる。次の入力単語ｘについては、原稿内の単語ｄの置換の状態遷移が起こる。次の入力単語ｅは、原稿内のｅにマッチして、ペナルティの無い状態遷移が起こる。そして、次の入力単語ｙについては、原稿内の単語ｆの置換の状態遷移が起こる。その遷移先がチャンクの終端の状態であり、その次の出力遷移における出力シンボルがａｂｃｄｅｆである。ここまでのチャンクの誤りスコアは、２／６である（正常な状態遷移が４つで、置換の状態遷移が２つなので、２／（４＋２））。
【０２１５】
続いて同図（Ｂ）内で、入力単語ｇ，ｈのそれぞれは、対応する原稿内のｇ，ｈにマッチして、これらの単語の各々に関するペナルティの無い状態遷移が起こる。ここで入力単語列は終わるが、対応する原稿内のｉ，ｊ，ｋについては脱落の状態遷移が起こり得る。ここで、原稿内のｇｈｉｊｋの列の区間だけについて謝り率は３／５であり、閾値Ｔ（＝０．５）を超えている。何故なら、ｇ，ｈが入力にマッチして、ｉ，ｊ，ｋが脱落しているからである。しかしながら、式（９）によって計算される誤りスコアは、前のチャンクにおける誤りスコアとの加重平均（チャンク内の単語数による加重平均）をとって、５／１１である。この誤りスコア５／１１は閾値Ｔより小さい。したがって、音声認識誤り修正装置１００は、出力候補ａｂｃｄｅｆを出力するとともに、次のチャンクに対応する出力候補ｇｈｉｊｋをも出力する。
【０２１６】
同図（Ａ）の例によって示した通り、音声認識誤り修正装置６００は、単語「は」より後の入力単語が仮にすべて誤っていた（音声認識装置７２０による認識誤りなど）としても、早期に対応する字幕文を出力することができる。これは、単語「は」より後の入力単語がすべて誤っていたとしても誤りスコアが閾値Ｔより小さいためである。
また、同図（Ｂ）の例によって示した通り、予めチャンクを分割しておいた場合には、式（９）の作用で、現在着目するチャンクの、前方の確定済のチャンクの誤りスコアを利用することによって、さらに早期に、現在着目するチャンクの出力を確定できる。
【０２１７】
［１１．誤りスコアに関する閾値Ｔの決め方］
もし音声認識装置の認識精度が９０％くらいであれば、誤りスコアの基礎となる単語の誤り率は１０％程度になる可能性がある。本形態で誤りスコア判別部６４６による判別に用いるための閾値Ｔとしては、音声認識の認識精度に応じて、単語一致率の信頼度分だけマージンを取って設定することが好ましい。ここで、単語一致率の信頼度は、ＷＦＳＴのネットワークの２つの出力遷移間の単語数に依存する。
【０２１８】
閾値Ｔを設定するためのその他の要因としては、原稿テキスト記憶装置７００に記憶される原稿の候補の文章としての重なりがどのくらいの割合であるのかという点がある。例えば、下記（Ｅ１）〜（Ｅ３）に示す文の場合、文章としての重なりが８０％くらいの割合で含まれている。
（Ｅ１）  今日  の  天気  は  晴れ  です
（Ｅ２）  今日  の  天気  は    雨  です
（Ｅ３）  今日  の  天気  は  曇り  です
このような場合、閾値Ｔも８０％くらいに設定してしまうと、所望の動きが実現できない。
【０２１９】
なお、ニュース原稿の文を適切にチャンクに分割して出力遷移を配置し、閾値Ｔを５０％とした条件で実験した場合、良好に動作することが確認できた。
【０２２０】
以上説明したように、本形態に係る音声認識誤り修正装置６００は、文の順序は変わり得るとは言え、原則として、原稿テキストに含まれる文が連続して発声されるという拘束を利用して、認識結果と原稿テキストとを対応付けることで、認識誤りを修正することができる。つまり、従来技術によるブロック照合方式の自動修正誤りを解消する。
【０２２１】
また、本形態による音声認識誤り修正装置６００は、認識単語の単語列が原稿テキスト内に含まれる単語列のどこと一番マッチしているのかを、従来技術による方式より長い範囲で照合している。つまり、従来のブロック照合方式が単語連鎖ブロックに相当する区間だけを照合するのに対して、音声認識誤り修正装置６００は、原稿の文章を遡りながらもっと長い文章全体で照合する。そのため、どこでマッチさせるのがよいのかが従来よりも明白に分かり、自動修正誤りを従来よりも低減できる。
【０２２２】
本形態による音声認識誤り修正装置６００は、文を複数のチャンクに分割し、チャンクの終端に出力遷移を設けている。これにより、文の途中であっても、確定させた単語列を出力することができる。
【０２２３】
また、本形態による音声認識誤り修正装置６００は、出力遷移が存在する箇所のみからトレースバックするように限定した。これにより、計算量を抑制することができる。
【０２２４】
以上、前提となる形態を説明したが、本形態はさらに次のような変形例でも実施することが可能である。また、複数の変形例を組み合わせて実施しても良い。
【０２２５】
［変形例１］音声認識誤り修正装置の構成
音声認識誤り修正装置６００が、内部にトランスデューサー構築装置７４０を備えるようにしてもよい。
【０２２６】
［変形例２］言い換えを受理するＷＦＳＴの構築
ＷＦＳＴの情報源となるアナウンス用原稿には、それが読まれるときに、読み飛ばされる句や、言い換えられる句、補足される句が含まれている場合がある。これらの一部には、定型で高い頻度で省略／言い換え／補足が行われる。例えば、ニュース番組の原稿では、取材元を表す「警視庁によりますと」などといった句は、読み飛ばされやすいことの多い句である。このような句が読み飛ばされたとしても、ニュース主文の文意に変わりはなく、言い換えればいわゆる５Ｗ１Ｈに関する変化はなく、ニュース番組としての実用上の問題はない。
【０２２７】
本変形例では、このような定型的な言い回しのバリエーションをＷＦＳＴに追加しておくことで、精度よく修正結果を出力できるようにする。上記の言い回しのバリエーションの追加は、原稿から構築したＷＦＳＴとは別に、言い回しのバリエーションを追加するための別のＷＦＳＴを構築しておき、原稿から構築したＷＦＳＴと合成することにより、効率よく行うことができる。なお、ＷＦＳＴの合成や、最小化や、決定化などを行うための公知のアルゴリズムを適用することができる。
【０２２８】
上記のような言い換え例を含んだＷＦＳＴを構築するためには、過去の同種の番組の原稿テキストと、実際に読み上げられた単語列との差分を分析し、頻度が高く、且つ言い換えによって文意に変更がないものを予め選別して収集しておく。そして、この選別された言い換え例ごとに、言い換えを合成するためのＷＦＳＴを構築しておき、原稿から構築したＷＦＳＴと、言い換え例のＷＦＳＴとを合成する演算（既存技術による演算）を施すことにより、言い換えに対応可能なＷＦＳＴを構築することができる。
【０２２９】
［変形例３］認識結果への付加
音声認識の結果では得られない記号等（句点や、読点や、その他の記号等）を、出力状態遷移における出力シンボル内に含めるようにしても良い。例えば、ニュース原稿に予めそれらの記号等を含めておき、そのニュース原稿に基づいてＷＦＳＴを構築するときに、出力シンボル内にそれらの記号等が残るようにする。そのようなＷＦＳＴを用いて音声認識誤り修正装置１００を稼働させることにより、それらの記号等を含んだ読みやすい字幕を出力することができる。
【０２３０】
［変形例４］認識結果に対応するその他の出力（多言語字幕）
上記の変形例３に加え、出力遷移における出力シンボルとして、原稿のテキストを他国語等に翻訳した結果の単語列を用いても良い。これにより、読み上げられた元の原稿とは異なる言語での字幕を出力することができる。また、複数のＷＦＳＴを同時に並行して稼働させることにより、複数ヶ国語の字幕を出力することもできる。また、出力遷移における出力シンボルとして、番組の進行をコントロールするためのキューに相当する記号を含めるようにしても良い。このキューが出力されることをトリガーとして、ハイブリッドキャストなどの番組連動サービスに対して、起動や場面転換等の指示情報を与えることもできる。これにより、より多彩な放送サービスを実現することができる。
【０２３１】
［変形例５］ＷＦＳＴの最小化
本変形例では、ＷＦＳＴを作成する際に、可能であればＷＦＳＴの最小化を行う。ＷＦＳＴの最小化とは、与えられた状態遷移図において、集約可能な複数の状態（ノード）を集約したり、集約可能な複数の状態遷移（枝）を集約したりすることである。ＷＦＳＴを集約すること自体は、既存技術によって行うことができる。ＷＦＳＴの最小化の一例は次の通りである。即ち、ＷＦＳＴのネットワークにおいて、共通する複数の部分ネットワークを同一の状態遷移の列として構成し直す。このようなＷＦＳＴの最小化を用いることにより、共通する単語列についての状態遷移を削減することができる。例えば、同じ接頭辞を有する単語列（文）を同一の遷移で共有できる。これにより、演算量を削減することができる。
【０２３２】
［変形例６］ＷＦＳＴの決定化
ＷＦＳＴを作成する際に、必要があればＷＦＳＴの決定化を行う。具体的には、ＷＦＳＴのネットワークにおいて、状態遷移の途中で、出力シンボルが決定する場合には、少しでも早く推定結果を出力するために、出力文の位置を前のほうに変更する。ＷＦＳＴの決定化を行うことにより、例えば、接頭辞がユニークとなる遷移に出力文を移動する。これにより、出力文を旱期に確定できるようになるなどの利点がある。ただし、ＷＦＳＴを作成する際にＷＦＳＴの決定化を行った場合、原稿探索部６４０による最尤仮説の探索処理でも対応できるように設定変更が必要である。つまり、ＷＦＳＴの決定化を行わない場合に比べて、誤りスコアを計算するためのパス区間を出力遷移の前後にシフトさせる必要がある。加えて、前後のパス区間の伸縮分を吸収できるように、閾値Ｔをより厳しい値（誤り率がより小さい値）に設定する必要がある。
【０２３３】
［変形例７］誤りスコアの求め方
本形態では、式（９）に示した誤り率（編集距離）に基づいて誤りスコアを計算した。これに限らず、原稿と認識結果の一致率、一致精度、脱落率、挿入率を利用したり、それらを併用したりすることによって、誤りスコアを算出するようにしても良い。
【０２３４】
以上、説明した方式２の構成を整理すると次の通りである。
［２−１］原稿テキストに対応して、音声認識結果として入力される単語を順次受理しながら状態遷移していく有限状態トランスデューサーであって、前記音声認識結果に含まれる単語の誤りをも受理しながら状態遷移していく前記有限状態トランスデューサーの、状態に関する情報、および状態遷移に関して遷移元状態と遷移先状態と入力シンボルと出力シンボルと遷移重みとを含む情報、とを記憶する有限状態トランスデューサー情報記憶部と、前記有限状態トランスデューサーにおける前記状態の尤度を表すスコアを記憶するノードデータ記憶部と、前記原稿テキストに対応する音声の認識結果である認識単語の入力を外部から受け付けるとともに、受け付けた前記認識単語に応じて、前記有限状態トランスデューサーにおける前記状態ごとの当該時刻でのスコアを算出し、算出された前記スコアを用いて前記ノードデータ記憶部を更新するノードデータ更新部と、処理開始を示す起動信号を外部から受け付けると、ノードデータ記憶部を参照することにより、その時点における最尤ノードを決定するとともに、前記有限状態トランスデューサー情報記憶部と前記ノードデータ記憶部とを参照して、前記最尤ノードまでの状態遷移を遡ることにより、状態遷移が確定済みの所定の時刻までのトレースバック処理を行い、当該トレースバック処理した状態遷移のパスを出力候補とするとともに、出力候補となった前記パスに関して、当該パスに前記誤りに関する状態遷移が含まれる割合に応じた誤りスコアを算出し、算出された前記誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に当該パスの出力候補を、確定出力とする原稿探索部と、前記原稿探索部によって求められた前記確定出力を出力する出力部と、を具備する音声認識誤り修正装置であって、前記有限状態トランスデューサー情報記憶部は、出力シンボルが空でない状態遷移であるところの出力遷移を前記状態遷移の一部として含んで記憶しており、前記原稿テキストに含まれる文を複数のチャンクに分割し、前記チャンクに含まれる単語を入力シンボルとして受理する状態遷移のパスの後に前記出力遷移を設けた前記有限状態トランスデューサーの、前記状態に関する情報および前記状態遷移に関する情報を記憶する、ことを特徴とする音声認識誤り修正装置。
【０２３５】
［２−２］前記原稿探索部は、前記チャンクごとに前記誤りスコアを算出するとともに、前記チャンクごとの前記誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に、当該チャンクに対応する前記出力遷移の出力シンボルを、前記確定出力とするものであり、且つ、前記原稿探索部は、前記チャンクごとの前記誤りスコアを算出する際に、当該チャンクと当該チャンクの直前のチャンクの区間に関して前記誤りに関する状態遷移が含まれる割合に応じた誤りスコアを、当該チャンクの誤りスコアとして算出する、ことを特徴とする前記［２−１］の音声認識誤り修正装置。
【０２３６】
［２−３］原稿テキストに対応して、音声認識結果として入力される単語を順次受理しながら状態遷移していく有限状態トランスデューサーであって、前記音声認識結果に含まれる単語の誤りをも受理しながら状態遷移していく前記有限状態トランスデューサーの、状態に関する情報、および状態遷移に関して遷移元状態と遷移先状態と入力シンボルと出力シンボルと遷移重みとを含む情報、とを記憶する有限状態トランスデューサー情報記憶部と、前記有限状態トランスデューサーにおける前記状態の尤度を表すスコアを記憶するノードデータ記憶部と、前記原稿テキストに対応する音声の認識結果である認識単語の入力を外部から受け付けるとともに、受け付けた前記認識単語に応じて、前記有限状態トランスデューサーにおける前記状態ごとの当該時刻でのスコアを算出し、算出された前記スコアを用いて前記ノードデータ記憶部を更新するノードデータ更新部と、処理開始を示す起動信号を外部から受け付けると、ノードデータ記憶部を参照することにより、その時点における最尤ノードを決定するとともに、前記有限状態トランスデューサー情報記憶部と前記ノードデータ記憶部とを参照して、前記最尤ノードまでの状態遷移を遡ることにより、状態遷移が確定済みの所定の時刻までのトレースバック処理を行い、当該トレースバック処理した状態遷移のパスを出力候補とするとともに、出力候補となった前記パスに関して、当該パスに前記誤りに関する状態遷移が含まれる割合に応じた誤りスコアを算出し、算出された前記誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に当該パスの出力候補を、確定出力とする原稿探索部と、前記原稿探索部によって求められた前記確定出力を出力する出力部と、を具備する音声認識誤り修正装置であって、前記有限状態トランスデューサー情報記憶部は、出力シンボルが空でない状態遷移であるところの出力遷移を前記状態遷移の一部として含んで記憶しており、前記原稿探索部は、前記出力遷移の遷移元状態に対応するノードの中で最尤であるノードをその時点における前記最尤ノードとして決定する、ことを特徴とする音声認識誤り修正装置。
【０２３７】
次に、上述した、前提となる形態の音声認識誤り修正装置（方式１および方式２）に基づいて、本発明の複数の実施形態を説明する。
【０２３８】
［第１実施形態］
第１実施形態による音声認識誤り修正装置は、上述した方式１の音声認識誤り修正装置に、さらに、原稿テキストの前処理を行う機能を有する前処理部を設けたものである。
図１４は、本実施形態による音声認識誤り修正装置の概略機能構成を示すブロック図である。同図に示すように、本実施形態による音声認識誤り修正装置８００は、既に説明した音声認識誤り修正装置１００（前提形態の方式１，図３）が備える構成に加えて、前処理部８１１を含んで構成される。
【０２３９】
前処理部８１１は、記憶手段に記憶されている原稿テキスト集合２００のデータを解析し、警告状況を検知した場合には、警告情報を出力する。警告状況とは、原稿探索手段１４０の動作において、誤りが生じやすいような原稿テキストが含まれている状況である。また、前処理部８１１は、警告状況を解消するための修正案を生成し、出力する。オペレーターは、前処理部８１１から提示された修正案にしたがって、あるいはその修正案を参考として、原稿テキストを修正する操作を行う。
【０２４０】
仮に、トランスデューサ構築装置２４０が、警告状況にある原稿テキストに基づいてそのままトランスデューサーを構築してしまうと、原稿探索手段１４０の動作で誤りが生じ、音声認識誤りを正しく修正できない可能性がある。しかしながら、前処理部８１１の処理によって適切に原稿テキストを前処理段階で修正することにより、原稿探索手段１４０での誤りを防ぐことができる。
【０２４１】
なお、具体的な警告状況の例や、それらの警告状況を解消するための前処理部８１１の処理については後で詳述する。
【０２４２】
［第２実施形態］
第２実施形態による音声認識誤り修正装置は、上述した方式２の音声認識誤り修正装置に、さらに、原稿テキストの前処理を行う機能を有する前処理部を設けたものである。
図１５は、本実施形態による音声認識誤り修正装置の概略機能構成を示すブロック図である。同図に示すように、本実施形態による音声認識誤り修正装置９００は、既に説明した音声認識誤り修正装置６００（前提形態の方式２，図１１）が備える構成に加えて、原稿テキスト記憶装置７００（原稿テキスト記憶部）と、トランスデューサー構築装置７４０と、前処理部９１１とを含んで構成される。
【０２４３】
前処理部９１１は、原稿テキスト記憶装置７００に記憶されている原稿テキストのデータを解析し、警告状況を検知した場合には、警告情報を出力する。警告状況とは、原稿探索部６４０の動作において、誤りが生じやすいような原稿テキストが含まれている状況である。また、前処理部９１１は、警告状況を解消するための修正案を生成し、出力する。オペレーターは、前処理部９１１から提示された修正案にしたがって、あるいはその修正案を参考として、原稿テキストを修正する操作を行う。
【０２４４】
仮に、トランスデューサー構築装置７４０が、警告状況にある原稿テキストに基づいてそのままトランスデューサーを構築してしまうと、原稿探索部６４０の動作で誤りが生じ、音声認識誤りを正しく修正できない可能性がある。しかしながら、前処理部９１１の処理によって適切に原稿テキストを前処理段階で修正することにより、原稿探索部６４０での誤りを防ぐことができる。
【０２４５】
なお、具体的な警告状況の例や、それらの警告状況を解消するための前処理部９１１の処理については後で詳述する。
【０２４６】
［第１実施形態および第２実施形態における前処理部（８１１または９１１）の動作］
前提となる形態（方式１、方式２）において述べたように、音声認識誤り修正装置（８００または９００）は、次の式（１０）を満たす修正結果を確定させ、出力する。
【０２４７】
【数１０】
0006406988.tif 000011
【０２４８】
式（１０）において、Ｏｔはトレースバックにより確定する候補となった文またはチャンクの集合である。また、ｏはＯｔに属する区間である。また、Ｅｏは区間ｏ内において誤りを受理する遷移の重みの合計から求めた誤り率である。なお例えば、Ｅｏが区間ｏ内において誤りを受理する遷移の通過回数から求めるようにしてもよい。また、Ｔは前記誤り率に関する閾値である。閾値Ｔは、許容する原稿と認識結果との不一致の度合いと、原稿がない発話（原稿に含まれていなかった単語列が実際に発話され認識されたもの）と原稿との一致度合いに基づき、適宜設定する。例えば、Ｔ＝０．５程度（０．４≦Ｔ≦０．６  を満たす所定のＴ）とすると、認識誤りの良好な修正結果が得られる。しかしながら、原稿内に、互いの類似度が０．５以上（言い換えれば、編集距離が０．５以下）の類似文の対があった場合には、適切な結果を得ることが困難となる。
【０２４９】
前処理部（８１１または９１１）は、原稿テキスト記憶部に記憶された原稿テキストに含まれる言語要素（単語、文字、音素等）の系列に関して、複数の系列間の類似度を表す距離を算出するとともに、算出された距離が所定の閾値を下回るか否かによって類似の系列を検出し、類似の系列が検出された場合には警告情報を出力し、検出された類似の系列のうちの少なくともいずれかについて原稿テキストを操作することによって類似を解消するための修正の提案を出力するとともに、外部から入力された指示にしたがって原稿テキストを修正する。
【０２５０】
つまり、前処理部（８１１または９１１）は、事前に原稿中の警告状況を発見し、警告情報を発する機能を有する。また、前処理部（８１１または９１１）は、発見した警告状況に関して修正案を提示する機能を有する。また、前処理部（８１１または９１１）は、修正案を提示した後、オペレーターの操作等に基づき原稿を修正する。もっとも典型的な場合においては、前処理部（８１１または９１１）が提示した修正案をオペレーターが承諾し、オペレーターが承諾を表す操作を行うと、前処理部（８１１または９１１）は提示した修正案にしたがって原稿を修正する。また、オペレーターの判断により、前処理部（８１１または９１１）が提示した修正案とは異なる修正を行うことも可能である。いずれにしても、前処理部（８１１または９１１）による原稿の解析と修正により、原稿中に含まれていた警告状況は解消される。
【０２５１】
警告状況の具体例は、次の４つである。
［１］重複項目の存在
［２］類似文の存在
［３］短文（短すぎる文）の存在
［４］文頭における類似チャンクの存在
これらの警告状況の各々の詳細については後述する。
【０２５２】
また、ここで、原稿の構成を形式的に定義する。
処理対象の原稿全体をＭとする。原稿Ｍの構成を、下の式（１１）のように定義する。
【０２５３】
【数１１】
0006406988.tif 000012
【０２５４】
式（１１）において、ｄ１，ｄ２，・・・は、ニュース項目である。なおｎＭは、原稿Ｍに含まれるニュース項目の数である。つまり、原稿Ｍは、ｎＭ個のニュース項目ｄｉ（１≦ｉ≦ｎＭ）で構成されている。
そして、ニュース項目ｄｉの構成は、下の式（１２）の通りである。
【０２５５】
【数１２】
0006406988.tif 000013
【０２５６】
式（１２）において、ｌ１，ｌ２，・・・は、文である。なお、式（１２）において、ｎｉは、ニュース項目ｄｉに含まれる文の数である。つまり、ニュース項目ｄｉは、ｎｉ個の文ｌｊ（１≦ｊ≦ｎｉ）で構成されている。
そして、文ｌｊの構成は、下の式（１３）の通りである。
【０２５７】
【数１３】
0006406988.tif 000014
【０２５８】
式（１３）において、ｃｊ１，ｃｊ２，・・・は、チャンクである。なお、式（１３）において、ｎｊは、文ｌｊに含まれるチャンクの数である。つまり、文ｌｊは、ｎｊ個のチャンクｃｊ１，ｃｊ２，・・・で構成されている。
【０２５９】
つまり、以上説明したように、原稿テキストの構成は次の通りである。即ち、原稿テキストの全体は、１つまたは複数の項目で構成される。ここで項目は、例えばニュース番組におけるニュース項目である。また、項目は、１つまたは複数の文で構成される。通常の文は、言語（日本語等）の文法に従って構文をなす１つのまとまりである。日本語の場合には、通常、文は、句点で区切られる。しかし、本実施形態において、文法上の複数の文を、便宜上、１つの文のまとまりと同等のものとして扱っても良い。例えば、後述するように、文を連結する場合がある。また、文は、１つまたは複数のチャンクで構成される。また、チャンクは、１つまたは複数の単語の列として構成される。単語は、１つまたは複数の文字からなる。なお、「系列」とは、言語要素の系列である。ここで述べた項目、文、チャンクは、いずれも系列である。
原稿テキストは、このような論理的構造を有するデータとして、記憶手段に格納されている。また、処理により、論理的構造を適宜変更することができるようになっている。論理的構造の変更とは、例えば、文を連結したり、チャンクの範囲を変更したりすることである。
【０２６０】
［１．前処理部による重複項目の検出］
第１の警告状況は、重複項目が存在することである。
このため、前処理部（８１１または９１１）は、項目間の距離が所定の閾値を下回る場合には、項目が重複していることを示す警告情報を出力する。具体的には次の通りである。
ニュース項目ｄｉの文の単語列を全て連結した単語列をｄ（ハット）ｉとして、その集合Ｍ（ハット）は、次の式（１４）で表される。
【０２６１】
【数１４】
0006406988.tif 000015
【０２６２】
前処理部（８１１または９１１）この集合Ｍ（ハット）を用いて、次の式（１５）および式（１６）により、類似度の高い項目の対を検出する。また、前処理部（８１１または９１１）は、その検出された対における項目間の距離を算出する。
【０２６３】
【数１５】
0006406988.tif 000016
【０２６４】
【数１６】
0006406988.tif 000017
【０２６５】
なお、式（１５）、式（１６）において、ｘとｙはそれぞれ集合Ｍ（ハット）の要素であるところの、ニュース項目の単語列である。また、Ｌ（ｘ，ｙ）は、系列間の編集距離である。なお、この編集距離としては、例えば、レーベンシュタイン距離（Levenshtein distance）の改良版を用いる。このレーベンシュタイン距離の改良版については後述する。
式（１５）に示すＤｄは、集合Ｍ（ハット）に含まれるニュース項目の単語列（ｘ，ｙ）間における相互の距離の最小値である。また、式（１６）に示すＰｄは、そのような最小の距離をなすニュース項目の単語列の対である。
【０２６６】
前処理部（８１１または９１１）は、集合Ｍにおいて、Ｄｄが所定の閾値（例えば、０．５）を下回った場合に、その距離Ｄｄをなすニュース項目対Ｐｄについての警告を出力する。閾値の設定が適切であれば、この警告は、原稿内に同一のニュース項目が存在することを表す。Ｄｄが上記の閾値を下回るような事象が生じる要因は、ニュース原稿のエラー、あるいはニュース原稿の整理が完了していない状況である。つまり、例えば、あるニュース項目の原稿文に修正が加えられたときに、その修正の前後の原稿が、集合Ｍ内に残ってしまっている場合などである。
【０２６７】
前処理部（８１１または９１１）から出力された上記警告に基づき、音声認識誤り修正装置（８００または９００）のオペレーターは、例えば、ニュース項目対Ｐｄのうちのいずれか一方を削除するなどといった適切な処置を行う。
また、処置後の（つまり更新された）新たな集合Ｍについても、前処理部（８１１または９１１）は、同様の処理を行い、ＤｄおよびＰｄを求める。そして、Ｄｄが上記閾値を下回った場合、上と同様に、警告を出力する。
そして、前処理部（８１１または９１１）は、Ｄｄが閾値を下回らなくなるまで、重複項目の検出と削除を繰り返し行う。
【０２６８】
図１６は、前処理部（８１１または９１１）によって検出される重複項目の第１の例を示す概略図である。同図において、「ｄｏｃ＝３２３」および「ｄｏｃ＝２２２」で識別されるニュース項目の対が、両者間の距離に基づき重複項目であるとして検出されたものである。「ｄｏｃ＝３２３」の項目は、文３２４から３２７までの４文を含んでいる。「ｄｏｃ＝２２２」の項目は、文２２３から２２９までの７文を含んでいる。両項目において、次の通り、文対が類似関係（同一関係にある場合も「類似」に含む）にある。即ち、文３２４と文２２３の類似度が高い。また、文３２５と文２２４の類似度が高い。また、文３２６と文２２５の類似度が高い。また、文３２７と、文２２７における「招致／推進部／は／２０２０／年／夏／の」以後の部分の類似性が高い。つまり、意味をも考慮すると、この項目対は、同一のニュースを表す重複項目であると考えられる。
【０２６９】
図１７は、前処理部（８１１または９１１）によって検出される重複項目の第２の例を示す概略図である。同図において、「ｄｏｃ＝８１」と「ｄｏｃ＝１１２」と「ｄｏｃ＝９９」で識別されるニュース項目が、各々の相互間の距離に基づき重複項目であるとして検出されたものである。「ｄｏｃ＝８１」の項目は、文８２から８４までの３文を含んでいる。「ｄｏｃ＝１１２」の項目は、文１１３から１１５までの３文を含んでいる。「ｄｏｃ＝９９」の項目は、文１００から１０２までの３文を含んでいる。これら項目において、次の通り、文同士が類似関係（同一関係にある場合も「類似」に含む）にある。即ち、文８２と文１１３と文１００の類似度が高い。また、文８３と文１１４と文１０１の類似度が高い。また、文８４と文１１５と文１０２の類似度が高い。また、各項目の文章の意味を考慮しても、これら３つの項目は、同一のニュースを表す重複項目であると考えられる。
【０２７０】
［２．前処理部による類似文の検出］
第２の警告状況は、原稿中に類似文が存在することである。
このため、前処理部（８１１または９１１）は、文間の距離が所定の閾値を下回る場合には、文が類似していることを示す警告情報を出力するとともに、類似している文のいずれかを、当該文の前の文または当該文の後の文に連結する修正の提案を出力する。具体的には次の通りである。
【０２７１】
前処理部（８１１または９１１）は、異なるニュース項目対の中に含まれる類似文を検出する。
文ｌｊに含まれるチャンクの単語列をすべて連結してなる単語列をｌ（チルダ）ｊとする。そして、Ｍ（チルダ）は、そのようなｌ（チルダ）ｊを要素とする集合である。つまり、集合Ｍ（チルダ）は、下の式（１７）で表される。
【０２７２】
【数１７】
0006406988.tif 000018
【０２７３】
集合Ｍ（チルダ）は、すべてのニュース項目に含まれる各文に対応する単語列を要素として有する。前処理部（８１１または９１１）は、この集合Ｍ（チルダ）をもとに、次の式（１８）および式（１９）により、類似度の高い文対を検出する。また、前処理部（８１１または９１１）は、検出された文対における文間の距離を求める。
【０２７４】
【数１８】
0006406988.tif 000019
【０２７５】
【数１９】
0006406988.tif 000020
【０２７６】
なお、式（１８）、式（１９）において、ｘとｙはそれぞれ集合Ｍ（チルダ）の要素であるところの、文の単語列である。また、Ｌ（ｘ，ｙ）は、系列間の編集距離であり、一例としてレーベンシュタイン距離の改良版を用いる。
【０２７７】
式（１８）に示すＤｌは、集合Ｍ（チルダ）に含まれる文の単語列（ｘ，ｙ）間における相互の距離の最小値である。また、式（１９）に示すＰｌは、そのような最小の距離をなす文の対である。
【０２７８】
前処理部（８１１または９１１）は、Ｄｌが所定の閾値（例えば、０．５）を下回った場合に、その距離Ｄｌをなす文対Ｐｌについての警告を出力する。この警告は、ニュース原稿内に類似の文の対があることを示すものである。なお、その対をなす各文は、同一のニュース項目に属している場合もあり、また、異なるニュース項目に属している場合もある。
【０２７９】
前処理部（８１１または９１１）によって検出された文対Ｐｌは、オペレーターの操作、あるいは機械による自動的な操作等に基づき、これらのいずれかの文、あるいは両方の文を、その前後の文と連結することにより、類似度を低めることができる。つまり、そのような連結により、対として検出された文間で充分な異なり（距離）を取ることができるようになる。そのような文の連結の方法として、良好な一例を次に説明する。
【０２８０】
文ｌ（チルダ）ｘと文ｌ（チルダ）ｙがともに集合Ｍ（チルダ）の要素であり、Ｐｌ＝（ｌ（チルダ）ｘ，ｌ（チルダ）ｙ）である場合の文の連結方法を説明する。つまり、文ｌ（チルダ）ｘと文ｌ（チルダ）ｙとが集合Ｍ（チルダ）内での最少距離をなす。文ｌ（チルダ）ｘまたは文ｌ（チルダ）ｙのいずれかについて文を連結する方法は、次の４通りがある。
（１）ｌ（チルダ）ｘ−１とｌ（チルダ）ｘを連結して新たな文とする。この連結後の文の集合をＭ（チルダ）０とする。
（２）ｌ（チルダ）ｘとｌ（チルダ）ｘ＋１を連結して新たな文とする。この連結後の文の集合をＭ（チルダ）１とする。
（３）ｌ（チルダ）ｙ−１とｌ（チルダ）ｙを連結して新たな文とする。この連結後の文の集合をＭ（チルダ）２とする。
（４）ｌ（チルダ）ｙとｌ（チルダ）ｙ＋１を連結して新たな文とする。この連結後の文の集合をＭ（チルダ）３とする。
なお、ｌ（チルダ）ｘ−１およびｌ（チルダ）ｘ＋１は、それぞれ、原稿内において文ｌ（チルダ）ｘの１つ前の文および１つ後の文である。
【０２８１】
前処理部（８１１または９１１）は、これらにより、４通りの文集合であるＭ（チルダ）０，Ｍ（チルダ）１，Ｍ（チルダ）２，Ｍ（チルダ）３を候補として生成する。前処理部（８１１または９１１）は、これら４通りの候補の文集合のそれぞれについて、式（１８）によるＤｌを計算する。そして、前処理部（８１１または９１１）は、Ｍ（チルダ）０，Ｍ（チルダ）１，Ｍ（チルダ）２，Ｍ（チルダ）３の中で、Ｄｌを最大とする連結方法を採用する。なお、放送において読み上げられる項目の順序に変更がある場合や、項目を単位とした原稿の差し替えが行われ得る場合には、前処理部（８１１または９１１）は、項目をまたいだ文の連結を行わないような制約の下で、上記の操作を行う。その場合には、つまり、前処理部（８１１または９１１）は、項目をまたがない文の連結のみを候補とする。
【０２８２】
また、あるＤｌの値を与える文対が複数存在した場合には、前処理部（８１１または９１１）は、次のような処理を行う。
即ち、前処理部（８１１または９１１）は、その複数の文対のうちの一つ（この対を、ｌ（チルダ）ｘとｌ（チルダ）ｙとする）について、ｌ（チルダ）ｘとｌ（チルダ）ｙを含む項目のみで集合Ｍ（チルダ）を構成する。そして、前処理部（８１１または９１１）は、そのＭ（チルダ）の中で最適な文の連結を探す。文の連結のしかた自体は、上述した通りである。
そして、前処理部（８１１または９１１）は、そのような操作を、上記複数の文対の各々について繰り返す。
【０２８３】
前処理部（８１１または９１１）は、集合Ｍ（チルダ）に関するＤｌが閾値を下回らないようになるまで、上述した文連結の操作を繰り返す。前処理部（８１１または９１１）は、文連結した結果による原稿の修正についての提案を出力する。そして、オペレーターからの操作に基づき、前処理部（８１１または９１１）は、原稿を修正し、類似文を解消する。
以上説明したように、前処理部（８１１または９１１）は、連結後の集合内最少距離が連結前よりも大きくなるよう、文同士を連結する操作を行う。
【０２８４】
図１８は、前処理部（８１１または９１１）によって検出された文対の例と、その文の一方を他の文と連結させる例を示す概略図である。同図に示すように、文１から１１までが、ひとつの項目に含まれている。この項目は、似ている文を含む項目の例である。そして、前処理部（８１１または９１１）が、式（１８）と式（１９）により、似ている文対として抽出したものが、文２と文３の対である。このような文対を含む原稿に基づいて音声認識誤り修正の処理を行った場合、文２に相当する一連の状態遷移と、文３に相当する一連の状態遷移とで、実際の正解の文が最尤として認定されない可能性がある。具体的には、文２と文３では、文頭からの「関東／から／の／代表／８／校／の／初戦／の／対戦」の単語列が共通である。前処理部（８１１または９１１）は、文２と文３が類似であるということを検出した後、前述の通り、複数の連結方法を候補とする。つまり、文１と文２を連結する場合と、文２と文３を連結する場合と、文３と文４を連結する場合である。前処理部（８１１または９１１）は、それらそれぞれの場合における集合Ｍ（チルダ）についてＤｌを計算し、Ｄｌの値が最も高くなる連結のしかたを採用し、これを提案として出力する。同図において、出力されている提案は、元の文１と文２とを連結して新たな文１とするものである。連結後の文１は、「今月６日に甲子園球場で開幕する夏の全国高校野球、きょうは組み合わせ抽選が行われました。関東からの代表８校の初戦の対戦相手が決まりました。」である。
【０２８５】
［３．前処理部による短文の検出］
第３の警告状況は、原稿中に短文（短すぎる文）が存在することである。
このため、前処理部（８１１または９１１）は、文に含まれる単語数が所定の閾値より小さい場合には、文が短すぎることを示す警告情報を出力する。具体的には次の通りである。
【０２８６】
前処理部（８１１または９１１）は、各文に含まれる単語数をカウントする。そして、集合Ｍに含まれる各文の単語数のうち、最も少ない単語数が予め定めた閾値を下回る場合に、その文に関する警告を出力する。それとともに、前処理部（８１１または９１１）は、その文を、前または後の文と連結する操作を行うことを提案として出力する。前の文と連結するか後の文と連結するかについては、連結後の集合Ｍにおける文のうちで最も少ない単語数が、より大きくなる方を採用する。また、ここでも、前述の通り、前処理部（８１１または９１１）は、項目の順序が入れ替えられたり項目自体が差し替えられたりする可能性がある場合には、項目をまたぐ文連結を行わないようにする。前処理部（８１１または９１１）は、オペレーターからの指示にしたがい、必要な修正を行う。
【０２８７】
集合Ｍ内で最も単語数の少ない文が、閾値以上の単語数を有するようになるまで、前処理部（８１１または９１１）は、上記の短文検出と修正の処理を繰り返す。これにより、短すぎる文が存在することによるエラーを防ぐことができる。
【０２８８】
［４．前処理部による類似文頭チャンクの検出］
第４の警告状況は、原稿中に類似の文頭チャンクが存在することである。
このため、前処理部（８１１または９１１）は、文の先頭に位置する文頭チャンク間の距離が所定の閾値を下回る場合には、文頭チャンクが類似していることを示す警告情報を出力するとともに、類似している前記文頭チャンクの少なくともいずれかを後方に延長する修正の提案を出力する。具体的には次の通りである。
【０２８９】
文をチャンクに分割して扱う場合、文の一番目のチャンク同士が文間で類似している場合も、認識結果の修正を謝る要因となり得る。ここで、集合Ｍに含まれる各文の一番目のチャンクの集合を対象として、前処理部（８１１または９１１）は、以下の操作を行う。
各文の一番目のチャンクの集合は、下の式（２０）で表される。
【０２９０】
【数２０】
0006406988.tif 000021
【０２９１】
そして、前処理部（８１１または９１１）は、下の式（２１）と式（２２）によるＤｃおよびＰｃを求める。
【０２９２】
【数２１】
0006406988.tif 000022
【０２９３】
【数２２】
0006406988.tif 000023
【０２９４】
Ｄｃは各文の第１チャンク間での距離の最小値である。また、ＰｃそのようなＤｃをなす第１チャンクの対である。そして、Ｄｃが予め定めた閾値（例えば、０．５）を下回った場合に、前処理部（８１１または９１１）は、チャンク対Ｐｃに関する警告を出力する。
また、前処理部（８１１または９１１）は、上で警告を発した対象のチャンク対について、修正するための案を作成する。そのための処理を次に説明する。
【０２９５】
チャンク対Ｐｃに含まれるチャンクｘおよびｙに関して、ｘ’およびｙ’は、それぞれ、ｘおよびｙを後ろ方向に１単語伸ばして得られるチャンクである。そして、前処理部（８１１または９１１）は、これらｘ’とｙ’を用いて、次の式（２３）を求める。
【０２９６】
【数２３】
0006406988.tif 000024
【０２９７】
そして、前処理部（８１１または９１１）は、式（２３）の値を実現するよう、ｘ’またはｙ’のいずれかを採用する。つまり、Ｌ(ｘ’，ｙ)＞Ｌ(ｘ，ｙ’)のときはｘ’を採用し、Ｌ(ｘ’，ｙ)＜Ｌ(ｘ，ｙ’)のときはｙ’を採用する。なお、Ｌ(ｘ’，ｙ)＝Ｌ(ｘ，ｙ’)であった場合には、短いほう（単語数の少ないほう）のチャンクを伸ばす。前処理部（８１１または９１１）は、文頭における類似チャンクを解消するための提案を出力する。そして、前処理部（８１１または９１１）は、オペレーターからの指示にしたがい、必要な修正を行う。
【０２９８】
そして、前処理部（８１１または９１１）は、所定の条件を満たすようになるまで、上記の操作を繰り返し、チャンクを伸ばしていく。所定の条件とは、例えば、Ｄｃが閾値を下回らない状況になることである。前処理部（８１１または９１１）は、その条件を満たすようになると、延長されたチャンクを修正案として出力する。このような操作により、前処理部（８１１または９１１）は、文間の第１チャンク同士の類似を解消する。
【０２９９】
図１９は、前処理部（８１１または９１１）によって検出された類似チャンクの例と、そのチャンクの延長を提案した例を示す概略図である。図示する例では、チャンク３８６と３９２が類似（同一である場合を含む）である。これらのチャンクは、異なる文に属するものである。この例では、このチャンク３８６と３９２は、同一の単語列であり、「今回の中間指針で群馬県の観光業が風評被害の対象として認められたことに」である。そして、前処理部（８１１または９１１）が上述した方法によって１単語ずつ伸ばしていき、両者の距離Ｄｃが閾値を下回らなくなったときの状態が、図内に示す「提案されたチャンクの延長」である。このように、前処理部（８１１または９１１）が文頭のチャンクの違いが充分に出るようにチャンクを延長することによって、音声認識誤り修正におけるエラーを防ぐことができる。
【０３００】
［５．系列間の編集距離］
上述したように、前処理部（８１１または９１１）による処理においては、編集距離Ｌ（ｘ，ｙ）を算出する。この編集距離としては、レーベンシュタイン距離の改良版を用いる。本実施形態で用いる改良版は、系列間の編集距離のしかたに特徴がある。具体的には、この改良版は、系列末における挿入と削除をカウントしない。これは、本実施形態においては、系列の先頭部分に近いところの一致度合いを如何に低減させるかが重要であり、系列の後半の一致度合いの低減はそれほど重要ではないためである。
【０３０１】
図２０は、系列間におけるレーベンシュタイン距離の改良版を算出するための計算手順を示すプログラムの疑似コードである。この疑似コードにおいて、文字列「／／」から行末まではプログラムのコメントであり、実行コードに影響を与えない。ソースコードの第１行目で定義している関数ＬｅｖｅｎｓｈｔｅｉｎＤｉｓｔａｎｃｅ（）は、２つの文字列型パラメーターｓｔｒ１およびｓｔｒ２を入力とする。関数ＬｅｖｅｎｓｈｔｅｉｎＤｉｓｔａｎｃｅ（）は整数値を返す。返される関数値は改良版のレーベンシュタイン距離の値である。ｌｅｎＳｔｒ１およびｌｅｎＳｔｒ２は、それぞれ、入力パラメーターである文字列の長さである。なお、ｌｅｎＳｔｒ１≦ｌｅｎＳｔｒ２である。コードの第４行目は、作業領域として用いる整数型配列ｄの宣言である。ｄのサイズは、第１次元（行）が（ｌｅｎＳｔｒ１＋１）であり、第２次元（列）が（ｌｅｎＳｔｒ２＋１）である。コードの第６行目は、整数型変数の宣言である。変数ｉ１とｉ２は、それぞれ、文字列ｓｔｒ１とｓｔｒ２を数え上げるためのものである。変数ｃｏｓｔは、両文字列間において対比する文字が一致するか否かに依るコストを一時的に格納するためのものである。なお、文字が一致するならばコスト０とし、不一致ならばコスト１とする。第７行目から第８行目までのｆｏｒ文によるループと、第９行目から第１０行目までのｆｏｒ文によるループは、配列ｄを初期化するものである。具体的には、配列ｄを第０行・第０列から始まる行列と見たとき、第０行目の各要素と、第０列目の各要素を初期化している。第１１行目から始まる、二重にネストされたｆｏｒ文は、文字列ｓｔｒ１とｓｔｒ２の各要素である文字同士を比較しながら、レーベンシュタイン距離を求めるためのテーブル（配列ｄ）に値を埋めていくものである。第１３行目のｉｆ文は、対応する文字同士が同一である場合には当該位置間のコストを０とし、不一致の場合には同コストを１とする。第１５行目の代入文の右辺のｍｉｎｉｍｕｍ（）関数は、パラメーターの中の最小値を返す関数である。この代入文により、両文字列間の比較において文字が挿入されている場合または文字が削除されている場合には、編集距離を１だけ増加（カウントアップ）させる。また、文字が置換されているか否かは、上記のコスト（変数ｃｏｓｔ）が表しており、その変数値を加算している。この配列ｄは、最小のコスト（編集操作）による文字列間の差異を表している。言い換えれば、この配列は、両文字列間を一致させるためのエネルギー最小のパスを示している。最後の行のｒｅｔｕｒｎ文は、改良されたレーベンシュタイン距離の値を返す。このプログラムが通常のレーベンシュタイン距離を算出するプログラムと異なる点は、系列末の挿入と削除をカウントしないことである。なお、ここで説明したアルゴリズムは、文字列だけでなく単語列にも同様に適用できる。
【０３０２】
図２１は、上記のプログラムによって、改良版のレーベンシュタイン距離を算出した実行例を示す概略図である。この実行例は、文字の系列を処理対象とするもので、ありｓｅｑ１＝ａｄｃｅｆｇ、ｓｅｑ２＝ａｂｃｄｅｆｇｈｉｊとし、これら２系列間の距離を求めるものである。同図に示す実行例は、ビタビノードのスコア行列である。つまり、図２１は、図２０に示した関数の処理を終えたときの配列ｄが格納している値を行列形式で示す。図２０に示したコードでは、「ｔｈｉｓｒｏｗ」の不要部分を取り除いて表示する。通常のレーベンシュタイン距離の算出では、図２１に示す行列の右下の値（つまり、「５」）が算出される。本実施形態で用いる改良版の距離の算出では、図示する行列の最下行における最小値（つまり、「２」）が算出される。これは、改良版の距離の算出におおいて、系列末の挿入を無視しているためである。
【０３０３】
なお、上記の第１実施形態および第２実施形態を、次のように変形しても良い。
前処理部（８１１または９１１）が、必ずしも、上で説明した４種類の警告状況（重複項目の存在、類似文の存在、短文（短すぎる文）の存在、文頭における類似チャンクの存在）のすべてに対応する必要はない。これらの一部のみに前処理部（８１１または９１１）が対応するようにしても良い。
また、必ずしも単語を言語単位としなくても良い。代わりに、文字や音素などを言語単位とし、このような言語単位の系列間の距離に基づいて同様の処理を行っても良い。
また、上で、いくつかの閾値（系列間の距離の閾値等）に言及した。これらの閾値は、すべて同じ値であっても良いし、それぞれが異なる値であっても良い。
【０３０４】
なお、上述した各実施形態における各装置の全部または一部の機能をコンピューターで実現するようにしても良い。その場合、それらの機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０３０５】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【０３０６】
本発明は、音声認識結果を利用した字幕等のコンテンツの作成に利用することができる。本発明は、例えば、放送事業や、その他のコンテンツ提供事業において、利用することが可能である。
【符号の説明】
【０３０７】
１００  音声認識誤り修正装置
１１０  ＷＦＳＴ記憶手段（対応原稿集合記憶手段，有限状態トランスデューサー情報記憶部）
１２０  ノードデータ更新手段
１３０  ノードデータ記憶手段
１４０  原稿探索手段
１４１  最大スコアノード検出手段
１４２  トレースバック手段
１４３  原稿分割手段
１４４  出力候補記憶手段
１４５  編集距離算出手段
１４６  編集距離判別手段
１４７  確定出力記憶手段
１４８  確定時刻記憶手段
１５０  原稿出力手段
２００  原稿テキスト集合（原稿テキスト記憶部）
２２０  音声認識装置
２４０  トランスデューサー構築装置
２４１  単語ネットワーク登録手段
２４２  編集ネットワーク登録手段
６００  音声認識誤り修正装置
６１０  ＷＦＳＴ記憶部（有限状態トランスデューサー情報記憶部）
６２０  ノードデータ更新部
６３０  ノードデータ記憶部
６４０  原稿探索部
６４１  最尤ノード検出部
６４２  トレースバック部
６４３  原稿分割部
６４４  出力候補記憶部
６４５  誤りスコア算出部
６４６  誤りスコア判別部
６４７  確定出力記憶部
６４８  確定時刻記憶部
６５０  出力部
７００  原稿テキスト記憶装置（原稿テキスト記憶部）
７２０  音声認識装置
７４０  トランスデューサー構築装置
７４１  単語ネットワーク登録部
７４２  編集ネットワーク登録部
８００，９００  音声認識誤り修正装置
８１１，９１１  前処理部
【図１】
0006406988.tif 000025
【図２】
0006406988.tif 000026
【図３】
0006406988.tif 000027
【図４】
0006406988.tif 000028
【図５】
0006406988.tif 000029
【図６】
0006406988.tif 000030
【図７】
0006406988.tif 000031
【図８】
0006406988.tif 000032
【図９】
0006406988.tif 000033
【図１０】
0006406988.tif 000034
【図１１】
0006406988.tif 000035
【図１２】
0006406988.tif 000036
【図１３】
0006406988.tif 000037
【図１４】
0006406988.tif 000038
【図１５】
0006406988.tif 000039
【図１６】
0006406988.tif 000040
【図１７】
0006406988.tif 000041
【図１８】
0006406988.tif 000042
【図１９】
0006406988.tif 000043
【図２０】
0006406988.tif 000044
【図２１】
0006406988.tif 000045