(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として適切な値を与える。これにより、ＷＦＳＴは、より長く一致する文のスコアを高くすることができるようになる。またこれにより、ＷＦＳＴは、他の文の接頭辞と一致する文が原稿中に存在するような場合にも、適切に動作できるようになる。そして、最後に、トランスデューサー構築装置７４０は、各単語の遷移に、置換、脱落、挿入を受理する遷移を追加する。なお、図１０では、置換、脱落、挿入のための状態遷移を省略している。
【０１４７】
［５．音声認識の適応化］
原稿をもとに読み上げられる音声を音声認識装置７２０が実際に認識するにあたり、予め、この原稿に含まれる単語列をもとに音声認識の言語モデルを適応化しておくことが望ましい。これにより、原稿通りに読み上げられた場合の音声認識の精度を高くすることができる。
【０１４８】
［６．出力遷移からのトレースバック］
本形態では、トレースバックを開始するノードを、出力遷移の直前のノードのみに限定する。つまり、図１０に例示したＷＦＳＴの状態遷移図において、トレースバックの対象となるノードは黒四角の記号で示したノードのみである。そして、黒丸の記号で示しているノードをトレースバックの対象としない。つまり、トレースバックの対象となるノードは、各チャンクの終端に当たるノードのみである。
【０１４９】
ＷＦＳＴのすべてのノードを対象としてその最尤ノード（時刻ｔにおいてすべてのノードの中で最もスコアの高いノード）からトレースバックを行うのと比べて、本形態の上記の方法では、出力の遅延を短縮することができる。つまり、本形態では、音声認識処理の結果に応じた修正後の字幕の表示の遅延を短縮することができる。
なお、既に述べたＷＦＳＴの構築方法においては、文を予めチャンクに分割しておき、各チャンクの終端に続いて出力遷移を設けた。しかしながら、文をチャンクに分割しないようにして（言い換えれば、１文を１チャンクとして）、トレースバックを開始するノードを出力遷移の直前のノードのみに限定することも可能である。そしてこのような場合にも、すべてのノードを対象としてその最尤ノードからトレースバックを行うのと比べて、出力の遅延を短縮することができる。
【０１５０】
［７．字幕文出力の確定方法］
音声認識誤り修正装置６００が、出力する単語列を確定するための方法について説明する。
時刻ｔにおける出力遷移の直前の最尤ノード（言い換えれば、チャンクの終端に当たるノードの中の最尤ノード）であるｎ（チルダ）（ｔ）は、下の式（１）で表される。
【０１５１】
【数１】
0006508808.tif 000002
【０１５２】
式（１）において、Ｑは、トレースバックの対象となるノードの集合である。つまり、Ｑは、出力遷移の直前のノードの集合である。ｎは、集合Ｑに属するノードである。そして、Ｌｎ（ｔ）は、時刻ｔにおけるノードｎのスコアである。なお、このスコアＬｎ（ｔ）は、下の式（２）で表される。
【０１５３】
【数２】
0006508808.tif 000003
【０１５４】
式（２）において、ｅは状態遷移であり、ｅｆおよびｅｔは、それぞれ、状態遷移ｅの遷移元および遷移先のノードである。またｅｗは、状態遷移ｅの状態遷移重みの値である。また、ｅｉは、状態遷移ｅの入力記号である。そして、ｅｉは、単語Ｗ、ε（空入力）、＊（いずれの入力にもマッチするワイルドカード）のいずれかである。つまり、式（２）に示すとおり、時刻ｔにおけるノードｎのスコア（尤度）は、ノードｎを遷移先ノードとするすべての状態遷移の中で、時刻ｔ−１におけるその状態遷移ｅの遷移元ノードｅｆのスコアに、その状態遷移ｅの重み値ｅｗを加算したものである。
【０１５５】
上記の式（１）による最尤ノードを求めるために、音声認識誤り修正装置６００は、スコアＬｎ（ｔ）に関して、閾値による枝刈りを行いながら、効率的なビタビ探索を行う。
【０１５６】
そして、音声認識誤り修正装置６００は、式（１）により求められた最尤ノードにたどり着くまでに通過した状態遷移ｅを、順次トレースバックして、状態遷移の系列を得る。既に出力済みの単語の時刻ｔ−ｔ´までトレースバックした結果はｈｔ−ｔ´は、下の式（３）で表される。
【０１５７】
【数３】
0006508808.tif 000004
【０１５８】
式（３）において、｛ｅｔ−ｔ´，・・・｝は、ＷＦＳＴの始端を含まない状態遷移の集合である。また、｛・・・，ｅｔ｝は、ＷＦＳＴの終端を含まない状態遷移の集合である。そして、Ｏ（チルダ）ｔは、下の式（４）で表されるように、始端と終端とに挟まれた区間ｌｔｋ（つまり、ｌｔｋは文）の列である（ｋ＝１，２，・・・）。
【０１５９】
【数４】
0006508808.tif 000005
【０１６０】
式（４）において、ｒｔは、Ｏ（チルダ）ｔに含まれる区間ｌｔｋ（文）の数である。さらに、このｌｔｋは、下の式（５）に示すように、チャンクの列である。
【０１６１】
【数５】
0006508808.tif 000006
【０１６２】
式（５）において、ｍｔ，ｋは、区間ｌｔｋに含まれるチャンクの数である。
音声認識誤り修正装置６００は、この区間ｌｔｋごとに下の式（６）で表されるチャンクの列を出力する。つまり、下の式（６）で表されるものが、音声認識誤り修正装置６００によって出力される字幕文である。
【０１６３】
【数６】
0006508808.tif 000007
【０１６４】
式（６）において、Ｅ（チルダ）（ｏｔ，ｋｕ）は、誤り率に基づく誤りスコアである。また、Ｔは、誤りスコアに関する閾値であり、０＜Ｔ＜１である。誤りスコアＥ（チルダ）（ｏｔ，ｋｕ）は、下の式（７）によって求められる。
【０１６５】
【数７】
0006508808.tif 000008
【０１６６】
式（７）において、２入力の関数Ｅ（チルダ）（ｏ１，ｏ２）は、下の式（８）に示すように、Ｅ（チルダ）（ｏ１）とＥ（チルダ）（ｏ２）の、単語数の重みを付けた平均である。
【０１６７】
【数８】
0006508808.tif 000009
【０１６８】
式（８）において、Ｎ１とＮ２は、それぞれ、チャンクｏ１とｏ２に含まれる単語の数である。また、Ｅ（チルダ）（ｏ）は、チャンクｏにおける受理単語数Ｎｒと、誤りを受理したことによる遷移の通過数Ｎｅとから求めた誤り率（編集距離）であり、下の式（９）で表される。
【０１６９】
【数９】
0006508808.tif 000010
【０１７０】
つまり、式（７）に示した通り、区間ｌｔｋに含まれるチャンクｏｔ，ｋｕの誤りスコアであるＥ（チルダ）（ｏｔ，ｋｕ）は、次に述べるように定義される。即ち、Ｅ（チルダ）（ｏｔ，ｋｕ）は、チャンクｏｔ，ｋｕにおいて式（９）で計算される誤り率と、ひとつ前のチャンクｏｔ，ｋｕ−１で計算される誤りスコアとの単語数による重み付き平均の値に基づく。ただし、その単語数による重み付き平均の値が所定の閾値Ｔよりも小さい場合には、Ｅ（チルダ）（ｏｔ，ｋｕ）の値はゼロである（式（７）の右辺上段のケース）。一方、その単語数による重み付き平均の値が閾値Ｔ以上の場合にはその重み付き平均の値をそのままＥ（チルダ）（ｏｔ，ｋｕ）の値とする（式（７）の右辺下段のケース）。このように、Ｅ（チルダ）（ｏｔ，ｋｕ）の値は、ひとつ前のチャンクｏｔ，ｋｕ−１についてのＥ（チルダ）（ｏｔ，ｋｕ−１）の値に依存して定義されており、式（７）で再帰的に計算することにより出力を確定できる。
【０１７１】
なお、式（７）において場合分けして、閾値Ｔよりも低い場合の誤りスコアをカットオフして０にしていることにより、前のチャンクにおける誤りの程度が小さい場合には、後ろの方のチャンクまでその誤りスコアを波及させないようにしている。
なお、式（６）や式（７）に示した閾値Ｔの具体的な値は適宜定めればよいが、例えばＴ＝０．５とする、あるいは０．４≦Ｔ≦０．６の範囲内の値とすることが好適である。Ｔの値が大きすぎると（１に近づくと）高い誤り率を許容してしまうという不都合がある。他方で、Ｔの値が小さすぎると誤りに対して厳格になりすぎて、本来読み上げられている原稿に対して出力できる字幕の密度が低くなり過ぎるという不都合がある。したがって、前記の０．４≦Ｔ≦０．６の範囲が好適であり、特にＴ＝０．５とすることが好適である。
【０１７２】
［８．音声認識誤り修正装置の構成］
次に、音声認識誤り修正装置の構成について説明する。
図１１は、音声認識誤り修正装置６００の概略機能構成を示す機能ブロック図である。図示するように、音声認識誤り修正装置６００は、ＷＦＳＴ記憶部６１０と、ノードデータ更新部６２０と、ノードデータ記憶部６３０と、原稿探索部６４０と、出力部６５０とを含んで構成される。
【０１７３】
ＷＦＳＴ記憶部６１０（有限状態トランスデューサー情報記憶部）は、原稿テキストに対応して、音声認識結果として入力される単語を順次受理しながら状態遷移していく有限状態トランスデューサーであって、音声認識結果に含まれる単語の誤りをも受理しながら状態遷移していく有限状態トランスデューサーの、状態に関する情報、および状態遷移に関して遷移元状態と遷移先状態と入力シンボルと出力シンボルと遷移重みとを含む情報、とを記憶する。そして、ＷＦＳＴ記憶部６１０は、出力シンボルが空でない状態遷移であるところの出力遷移を状態遷移の一部として含んで記憶している。また、原稿テキストに含まれる文を複数のチャンクに分割し、チャンクに含まれる単語を入力シンボルとして受理する状態遷移のパスの後に出力遷移を設けたＷＦＳＴの、状態に関する情報および状態遷移に関する情報を記憶する。
【０１７４】
具体的には、ＷＦＳＴ記憶部６１０は、原稿テキスト記憶装置７００（図８）に基づいて予めトランスデューサー構築装置７４０が構築したＷＦＳＴを記憶している。具体的には、ＷＦＳＴ記憶部６１０は、状態遷移図（ネットワーク）と等価な情報を記憶する。その情報とは、状態（ノード）の識別情報およびその状態の属性情報と、状態遷移（枝）の識別情報およびその状態遷移の属性情報である。状態遷移の属性情報は、遷移元状態の識別情報と、遷移先状態の識別情報と、遷移に関する重みの値とを少なくとも含む。
【０１７５】
ノードデータ更新部６２０は、原稿テキストに対応する音声の認識結果である認識単語の入力を外部から受け付けるとともに、受け付けた認識単語に応じて、ＷＦＳＴにおける状態ごとの当該時刻（その時刻）でのスコアを算出し、算出された前記スコアを用いてノードデータ記憶部６３０を更新する。
具体的には、ノードデータ更新部６２０は、音声認識装置７２０が出力する認識単語列に含まれる単語の入力を受け付ける時刻毎に、ＷＦＳＴのネットワーク上を遷移可能な状態のスコアをノードデータとして計算および更新するものである。ノードデータ更新部６２０は、例えば、音声認識装置７２０から認識単語を１単語受け付ける都度、ＷＦＳＴ記憶部６１０に記憶されたＷＦＳＴを参照して逐次的にビタビ探索を行い、ノードデータ記憶部６３０に記憶されているノードデータを更新する。
【０１７６】
ノードデータ更新部６２０は、認識単語列の一部として入力される単語に応じて、状態遷移した場合のスコアを計算する。ノードデータ更新部６２０は、状態遷移の重みの値に基づいて、スコアを計算する。ＷＦＳＴの例として述べたように、対応原稿と一致する単語が原稿通りの順で入力された場合には、重みの値として「０」をスコアに加算する。対応原稿と異なる単語が入力された場合、重みの値として「−１］をスコアに加算する。この「−１」はペナルティの意味を有する。
【０１７７】
例えば、図９に示した例において、認識単語列として入力する単語列が、対応原稿と全く同じ単語列である場合、始点ノード００１から、単語「先月」を受理して対応原稿の単語に対応する遷移を通ってノード００２に進む。そして、この状態遷移に対応して、ノードデータ更新部６２０は、スコアに「０」を加算する。次に、ノード００２から、例えば単語「の」を受理してノード００３に進む。そして、この状態遷移に対応して、ノードデータ更新部６２０は、スコアに「０」を加算する。同様に、「関東甲信」、…を順次受理していくと、スコアには、各単語に対応する状態遷移の重みの値である「０」ずつ足していくことになる。
【０１７８】
しかし他方で、例えば図９に示した例において、認識単語列として入力する単語列が、対応原稿と異なる単語列である場合、異なる状態遷移をする。つまり、始点ノード００１から、例えば単語「先週」を受理すると、対応原稿の単語「先月」が置換されているので、置換に対応する遷移を通ってノード００２に進む。この場合、ノードデータ更新部６２０は、スコアにその状態遷移の重みの値である「−１」（ペナルティ）を加算する。また、挿入誤りや脱落誤りに対応する遷移を通った場合にも、同様にノードデータ更新部６２０は、スコアにペナルティの「−１」を加算する。
【０１７９】
このように、入力される認識単語がＷＦＳＴにおける状態遷移で受理する単語ｓと同じであった場合に、その遷移におけるスコアが最良となる。一方、置換、挿入、削除の編集に相当する状態遷移は、スコアが悪化する要因となる。ここで「編集」とは、本来あるべき単語を置換したり、削除したり、本来あるべき単語ではないものを挿入したりすることによって得られる結果を言う。例えば＜Ｄ＞が記載された状態遷移は、マッチする入力単語が無くても遷移できるが、＜Ｄ＞が記載された遷移だけを通るパスの場合、その遷移の数が多いほど、ペナルティが加算され、スコアが低くなる。ＷＦＳＴは、認識単語列に、誤りや言い変えが含まれると、その分だけスコアが悪くなるという結果を生む。
【０１８０】
ノードデータ記憶部６３０は、ＷＦＳＴにおける状態の尤度を表すスコアを記憶する。つまり、ノードデータ記憶部６３０は、ノードデータ更新部６２０によって計算されるノードデータを記憶するものである。ノードデータ更新部６２０は、上述した計算結果に基づき、ノードデータ記憶部６３０をタイムリーに更新する。ノードデータ記憶部６３０は、例えば、半導体メモリやハードディスク装置等の一般的な記憶手段を用いて構成される。
【０１８１】
原稿探索部６４０は、処理開始を示す起動信号を外部から受け付けると、ノードデータ記憶部６３０を参照することにより、その時点における最尤ノードを決定するとともに、ＷＦＳＴ記憶部６１０とノードデータ記憶部６３０とを参照して、最尤ノードから状態遷移を遡ることにより、状態遷移が確定済みの所定の時刻までのトレースバック処理を行い、当該トレースバック処理した状態遷移のパスを出力候補とするとともに、出力候補となったパスに関して、当該パスに誤りに関する状態遷移が含まれる割合に応じた誤りスコアを算出し、算出された誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に当該パスの出力候補を、確定出力とする。また、原稿探索部６４０は、チャンクごとに誤りスコアを算出するとともに、チャンクごとの誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に、当該チャンクに対応する出力遷移の出力シンボルを、確定出力とするものであり、且つ、原稿探索部６４０は、チャンクごとの誤りスコアを算出する際に、当該チャンクと当該チャンクの直前のチャンクの区間に関して誤りに関する状態遷移が含まれる割合に応じた誤りスコアを、当該チャンクの誤りスコアとして算出する。
【０１８２】
また、原稿探索部６４０は、出力遷移の遷移元状態に対応するノードの中で最尤であるノードをその時点における最尤ノードとして決定する。言い換えれば、原稿探索部６４０は、出力遷移の遷移元状態ではない状態に関しては、最尤ノードであるか否かを考慮しない。
【０１８３】
具体的には、原稿探索部６４０は、最終最良仮説を確定するための全原稿についての全認識単語列の認識結果の入力を待たず、予め定められた処理開始条件が満たされる都度、最尤の修正結果を求めるものである。原稿探索部６４０は、処理開始条件が満たされると、その時点でノードデータ記憶部６３０に記憶されているノードデータに基づいて、ＷＦＳＴのネットワーク上をトレースバックしながら、最終最良仮説を部分的に近似した仮説を誤り修正結果として逐次確定する。
【０１８４】
原稿探索部６４０は、ＷＦＳＴに含まれる対応原稿の単語列と、入力された認識単語列との編集距離に基づいて最終最良仮説を近似する。原稿探索部６４０は、ＷＦＳＴのネットワーク上で予め定められた範囲毎に区切ったパス間において、その先頭から末尾までのパス区間での編集距離がある程度小さければ、そのパス区間が信頼できるものとして確定して出力する。ここで、編集距離が短いということは、認識単語列と原稿の単語列とがほとんどマッチしているパスを通ってきたことを意味する。逆に、編集距離が長いパス区間は信頼度が低いので、その時点では確定せずに、次回のトレースバックのときにも利用する。いつまでも信頼度が低いパス区間は、原稿には元々記載されていない違うことを話した区間である、と推定される。よって、信頼度が低いパス区間を出力しない。
【０１８５】
原稿探索部６４０における処理開始条件とは、例えば、発話音声がない無音期間が所定の期間に達した場合、または、音声認識装置７２０が出力する認識単語列としての単語の入力数が所定の単語数に達した場合等である。上記の所定の期間は、特に限定されないが一例として３秒間とする。また、上記の所定の単語数は、特に限定されないが一例として２０単語とする。原稿探索部６４０に入力される起動信号は、上記の処理開始条件が成立したことを示す信号である。このときの起動信号は、例えば音声認識装置７２０が自動的にｏｎするようにしてもよいし、操作者による手動の操作によってｏｎするようにしても良い。この操作者は、ポーズ（所定の長さの無音）を認識したときや、所定の単語数を音声認識装置７２０が出力した認識したときに、起動信号をｏｎする操作を行う。音声認識装置７２０が自動的に起動信号をｏｎする場合には、音声認識の結果を利用してポーズを検出したり、音声認識結果として出力する単語の数をカウントしたりすることにより、起動信号を切り替えるきっかけとする。この構成により、認識単語が一単語入力される度に探索処理を開始する場合に比べて、処理負荷を低減できる。また、無音期間が所定の期間だけ継続していれば、その間、認識結果の単語が音声認識装置７２０側から渡されてこないので、装置の処理の負荷がその時点に集中することなく、ノードスコアを容易に比較することができる。
【０１８６】
上記の機能を実現するために、原稿探索部６４０は、さらに次の構成を有する。即ち、原稿探索部６４０は、最尤ノード検出部６４１と、トレースバック部６４２と、原稿分割部６４３と、出力候補記憶部６４４と、誤りスコア算出部６４５と、誤りスコア判別部６４６と、確定出力記憶部６４７と、確定時刻記憶部６４８とを含んで構成される。
【０１８７】
最尤ノード検出部６４１は、外部から受信する起動信号をトリガーとして動作し、その時点で記憶されているノードデータにおいてスコアが最大のノードを検出するものである。この起動信号は、上で述べたとおり、予め定められた処理開始条件が満たされたときに外部から供給されるものである。
【０１８８】
トレースバック部６４２は、最尤ノード検出部６４１で特定されたノードから、当該ノードに到達するまでのパスについて、ＷＦＳＴのネットワークを下流から上流に向かってたどる。このとき、トレースバック部６４２は、前回のトレースバックで確定した箇所まで、ネットワークを遡る。つまり、トレースバック部６４２は、前回確定して出力された単語系列の最後の入力単語に対応した時刻までトレースバックする。
【０１８９】
原稿分割部６４３は、トレースバックするパスの中で、出力遷移に対応する区間ごとに単語列を切り出す。ここで、出力遷移とは、既に説明したように記号の出力を伴う状態遷移である。トランスデューサー構築装置７４０がＷＦＳＴを構築するときに、チャンクの終端の直後に、出力遷移が設けられている。つまり、原稿分割部６４３によって分割された結果の区間は、前述のチャンクの単位である。原稿分割部６４３は、トレースバックされた結果得られるパス全体を分割し、分割した結果得られる各々の単語列を出力する。
【０１９０】
出力候補記憶部６４４は、原稿分割部６４３が分割した結果得られたパス区間に対応した出力遷移の出力シンボル（切り出された原稿）を、出力候補として記憶する。出力候補記憶部６４４は、例えば、半導体メモリやハードディスク装置等の一般的な記憶手段を用いて構成される。
【０１９１】
誤りスコア算出部６４５は、原稿分割部６４３によって分割して切り出された区間（チャンク）毎に、誤りスコアを算出する。誤りスコア算出部６４５は、既に説明した式（７）を用いて誤りスコアを算出する。
【０１９２】
誤りスコア判別部６４６は、誤りスコア算出部６４５によって算出された誤りスコアが所定の閾値Ｔより小さいか否かを判定する。つまり、誤りスコア判別部６４６は、既に説明した式（６）に含まれる条件に基づいて判別する。
【０１９３】
確定出力記憶部６４７は、誤りスコア判別部６４６による判定結果に基づいて確定された出力（確定出力と呼ぶ）を記憶する。具体的には、誤りスコア判別部６４６によって誤りスコアが閾値Ｔより小さいと判定された場合、確定出力記憶部６４７は、当該所定パス区間における出力遷移の出力シンボルを誤り修正結果として記憶する。その他の場合、確定出力記憶部６４７は、当該所定パス区間における出力遷移の出力シンボルを誤り修正結果として記憶しない。なお、確定出力記憶部６４７は、例えば半導体メモリやハードディスク装置等の一般的な記憶手段を用いて構成される。また、確定出力記憶部６４７の記憶構造はスタックであり、確定出力記憶部６４７は後入れ先出し（ＬＩＦＯ）の構造でデータを保持する。
【０１９４】
確定時刻記憶部６４８は、最新のトレースバック処理で確定した確定時刻を記憶する。確定時刻記憶部６４８は、例えば半導体メモリやハードディスク装置等の一般的な記憶手段である。確定時刻記憶部６４８は、今回トレースバックする全パス区間（切り出された全ての原稿）について、誤りスコア判別部６４６による判別処理が終了した時点で、スタックに積まれた出力シンボルに対応する最新の確定単語の時刻を確定時刻として記憶する。
【０１９５】
出力部６５０は、原稿探索部６４０によって誤り修正結果として確定された対応原稿（つまり、確定出力）を逐次出力するものである。出力部６５０は、ＷＦＳＴのネットワークを今回トレースバックするパスの中で、切り出されたすべての対応原稿の各パス区間に対して算出された誤りスコアについての判定処理が全て終了するまでに確定された出力シンボルのデータを出力する。具体的には、出力部は、確定出力記憶部６４７のスタックに積まれている出力シンボルのデータを、そのスタックが空になるまで出力する。
【０１９６】
この音声認識誤り修正装置６００は、間違って音声認識された単語を修正して出力するとともに、大幅に間違った認識結果を出力しない、という動作を行う。つまり、音声認識誤り修正装置６００による修正結果を、仮に事前に人が見ることができたとしたときに、「これでは文章として成立していない」、「意味が異なっている」と感じるほどの間違い部分を、音声認識誤り修正装置６００がその処理の中で検出し、その検出部分を出力しないという動作も、広義の誤り修正として含んでいる。これは、誤りスコアを算出し、その誤りスコアに基づく判別を行っていることによるものである。
【０１９７】
［９．音声認識誤り修正装置の動作手順］
図１２は、音声認識誤り修正装置６００による処理の手順を示すフローチャートである。なお、このフローチャートの処理の前提は、次の4点である。
（前提１）認識結果の単語入力を｛ω０，ω１，…，ωｋ，…，ωｊ，…｝とする。
（前提２）前回のトレースバックにより確定した部分の最後の入力単語をωｋとし、そのときの出力遷移をａＰ（時間軸に沿ったＰ番目の出力遷移）とする。
（前提３）認識結果の単語ωｊが入力された後、所定の無音が続いたことをトリガーに、逐次確定を行う場合を考える。
（前提４）ノードデータ更新部６２０は、無音になる前に最後に入力した単語ωｊを受理して遷移できるノードを全て計算する。
【０１９８】
以下では、このフローチャートを参照しながら、音声認識誤り修正装置６００による処理の流れについて説明する。
【０１９９】
まずステップＳ５０１において、外部からの起動信号の入力をトリガーとして、最尤ノード検出部６４１は、その時点で記憶されているノードデータにおいて最もスコアの高いノードを、最尤ノードとして検出する。この検出ノードで表される状態は、トレースバック開始時点の最尤状態である。
【０２００】
次にステップＳ５０２において、トレースバック部６４２は、ステップＳ５０１において検出された最尤ノードから、前回のトレースバック処理で確定された時刻まで、トレースバックする。具体的には、トレースバック部６４２は、検出された最尤ノードに到達したパスについてＷＦＳＴ上の単語履歴を逆向きに（時間をさかのぼる方向に）たどり、前回のトレースバックで確定し、出力された単語系列の最後の入力単語ωkを求める。また、トレースバック部６４２は、対応する状態遷移（受理する単語がωkである状態遷移）を求める。そして、それらの単語および状態遷移に対応する確定時刻までトレースバックする。なお、トレースバック部６４２は、確定時刻記憶部６４８を参照し、その確定時刻記憶部６４８に格納されている確定時刻を、上記の最後の入力単語ωkに対応した確定時刻とする。
なお、受理単語がωｋである状態遷移の代わりに、出力遷移ａＰにたどり着くまでトレースバックするようにしてもよい。
【０２０１】
次にステップＳ５０３において、原稿分割部６４３は、原稿を分割し、分割結果として得られた単語列をそれぞれ出力候補とする。具体的には、原稿分割部６４３は、今回トレースバックするパスの中で、２つの出力遷移間に挟まれたパス区間毎に原稿を分割する。そして、原稿分割部６４３は、得られたそれぞれの出力候補を、出力候補記憶部６４４に格納する。
なお、ここでの処理の方法として、出力遷移ａＰにたどり着くまで逆向きに（つまり、時間を遡る方向に）進みながら、出力可能な出力遷移ａＬ（時間軸に沿ったＬ番目（ただしＬ＞Ｐ）の出力遷移）を通過する度に原稿を分割してもよい。また、出力遷移ａＰの側から出力可能な出力遷移ａＬを通過する度に原稿を分割してもよい。
なお、出力可能な出力遷移ａＬとは、出力遷移のシンボルが出力候補になるものであるが、後に、誤りスコア判別部６４６によって棄却される出力遷移（つまり、出力部６５０からは結局出力されない出力遷移）をも含んでいる。
【０２０２】
次にステップＳ５０４において、誤りスコア算出部６４５は、出力候補の誤りスコアを算出する。具体的には、誤りスコア算出部６４５は、式（７）によってチャンクｏｔ，ｋｕの誤りスコアＥ（チルダ）（ｏｔ，ｋｕ）を算出する。
【０２０３】
次にステップＳ５０５において、誤りスコア判別部６４６は、出力候補のうちの一つを選択し、その出力候補に関して算出された誤りスコアが閾値Ｔ未満であるか否かを判別する。誤りスコアが閾値Ｔ未満である場合（ステップＳ５０５：ＹＥＳ）には、次のステップＳ５０６に進む。誤りスコアが閾値Ｔ以上である場合（ステップＳ５０５：ＮＯ）には、ステップＳ５０８に飛ぶ。
【０２０４】
次にステップＳ５０６に進んだ場合、誤りスコア判別部６４６は、ＷＦＳＴのネットワーク上の当該パス区間（チャンク）の出力遷移を確定し、その出力シンボルを誤り修正結果として確定する。
次にステップＳ５０７において、誤りスコア判別部６４６は、今回確定した出力シンボルのデータを、確定出力記憶部６４７に書き込む。前述のとおり、確定出力記憶部６４７は後入れ先出しの構造を有するスタックである。
これらのステップＳ５０６およびＳ５０７の処理は、ステップＳ５０５における分岐制御により、現在のチャンクの誤りスコアが閾値Ｔ未満である場合のみに実行される。
【０２０５】
次にステップＳ５０８に進むと、誤りスコア判別部６４６は、すべての出力候補を判別し終えたか否かを判断する。すべての出力候補の判別が終了している場合（ステップＳ５０８：ＹＥＳ）、次のステップＳ５０９に進む。すべての出力候補の判別が終了していない場合、すなわち依然として選択すべき出力候補がある場合（ステップＳ５０８：ＮＯ）、ステップＳ５０５に戻って次の出力候補を選択する。
【０２０６】
つまり、切り出されたすべての原稿に対応した各パス区間に対して算出された誤りスコアについての判定処理が終了した場合に、次のステップＳ５０９に進む。
ステップＳ５０９において、誤りスコア判別部６４６は、確定時刻記憶部６４８を更新する。つまり、誤りスコア判別部６４６は、スタックに積まれた出力シンボルに対応する確定単語の時刻が最も新しいものを今回のトレースバック処理で確定した確定時刻として確定時刻記憶部６４８に格納する。
【０２０７】
次にステップＳ５１０において、出力部６５０は、その時点で確定出力記憶部６４７に書き込まれている出力シンボルのデータを、確定出力記憶部６４７が空になるまで順次読み出し、出力する。これにより、スタックに積まれていたすべての出力データは、出力される。なお、出力部６５０は、ＷＦＳＴのネットワークの前方側に配置された原稿から順に（つまり、時刻の早い側から順に）出力する。
【０２０８】
つまり、出力部６５０は、毎回のトレースバック処理でスタックに積んだデータを、確定された原稿として逐次出力する。このとき、音声認識結果のうち、所定のパス区間の誤りスコアが閾値Ｔ以上である場合、信頼度が低いパスなので、当該パス区間の出力遷移の出力シンボルは、誤り修正結果としては採用されない。したがって、出力部６５０は、そのような信頼度の低いパス区間の出力シンボルを、出力しない。
【０２０９】
ステップＳ１０の処理が終了すると、音声認識誤り修正装置１００は、このフローチャート全体の処理を終了する。
【０２１０】
［１０．字幕文出力の具体例と評価］
以上、説明したように、本形態による音声認識誤り修正装置６００の処理の特徴は、（１）文をチャンクに分割すること、（２）チャンクの終端に出力遷移を設けること、（３）出力遷移の箇所からトレースバックすること、である。このような特徴的な処理をすることによる作用を、具体的な処理例とともに、次に説明する。
【０２１１】
図１３は、本形態による字幕文出力の確定方法の実例を示す概略図である。同図の（Ａ）および（Ｂ）は、それぞれ、入力される認識結果の単語列と、それらの単語に対応するＷＦＳＴの状態遷移と、その結果としての出力シンボルとの関係を示し、また算出される誤りスコアを付記している。
【０２１２】
まず、同図（Ａ）の例において、入力される単語列は「今日／の／関東／地域／は」である。これらの単語を受け付けると、ＷＦＳＴは、次のように遷移する。即ち、始端からスタートして、入力単語「今日」は、対応する原稿内の「今日」にマッチして、ペナルティの無い状態遷移が起こる。次の単語「の」は、対応する原稿内の「の」にマッチして、ペナルティの無い状態遷移が起こる。次の単語「関東」は、対応する原稿内の「関東」にマッチして、ペナルティの無い状態遷移が起こる。次の単語「地域」は、発話者による読み替えまたは音声認識装置７２０による認識誤りにより入力された単語である。したがって、対応する原稿内の「地方」にはマッチせず、置換の状態遷移が起こる。次の単語「は」は、対応する原稿内の「は」にマッチして、ペナルティの無い状態遷移が起こる。そして、「晴れ」と「です」は入力されていないが、脱落の状態遷移が起こると、黒四角で示すチャンクの終端の状態にたどり着く。そして、出力遷移における出力シンボルである「今日の関東地方は晴れです。」が、出力候補となる。ここで、このチャンクに関する誤り率は３／７である。即ち、誤りスコアは、３／７である。閾値Ｔを０．５とする場合、この誤りスコアは閾値Ｔよりも小さい。そして、音声認識誤り修正装置６００は、出力候補である「今日の関東地方は晴れです。」の出力を確定することができる。
【０２１３】
次に、同図（Ｂ）の例で示すＷＦＳＴのネットワークにおいては、一連の区間が、ａｂｃｄｅｆのチャンクと、ｇｈｉｊｋのチャンクとに分割されている。そして、各チャンクの終端に、出力遷移が設けられている。そして、入力される単語列はａｂｃｘｅｙｇｈである。これらの単語を受け付けると、ＷＦＳＴは、次のように遷移する。即ち、始端からスタートして、入力単語ａ，ｂ，ｃのそれぞれは、対応する原稿内のａ，ｂ，ｃにマッチして、これらの単語の各々に関するペナルティの無い状態遷移が起こる。次の入力単語ｘについては、原稿内の単語ｄの置換の状態遷移が起こる。次の入力単語ｅは、原稿内のｅにマッチして、ペナルティの無い状態遷移が起こる。そして、次の入力単語ｙについては、原稿内の単語ｆの置換の状態遷移が起こる。その遷移先がチャンクの終端の状態であり、その次の出力遷移における出力シンボルがａｂｃｄｅｆである。ここまでのチャンクの誤りスコアは、２／６である（正常な状態遷移が４つで、置換の状態遷移が２つなので、２／（４＋２））。
【０２１４】
続いて同図（Ｂ）内で、入力単語ｇ，ｈのそれぞれは、対応する原稿内のｇ，ｈにマッチして、これらの単語の各々に関するペナルティの無い状態遷移が起こる。ここで入力単語列は終わるが、対応する原稿内のｉ，ｊ，ｋについては脱落の状態遷移が起こり得る。ここで、原稿内のｇｈｉｊｋの列の区間だけについて謝り率は３／５であり、閾値Ｔ（＝０．５）を超えている。何故なら、ｇ，ｈが入力にマッチして、ｉ，ｊ，ｋが脱落しているからである。しかしながら、式（９）によって計算される誤りスコアは、前のチャンクにおける誤りスコアとの加重平均（チャンク内の単語数による加重平均）をとって、５／１１である。この誤りスコア５／１１は閾値Ｔより小さい。したがって、音声認識誤り修正装置１００は、出力候補ａｂｃｄｅｆを出力するとともに、次のチャンクに対応する出力候補ｇｈｉｊｋをも出力する。
【０２１５】
同図（Ａ）の例によって示した通り、音声認識誤り修正装置６００は、単語「は」より後の入力単語が仮にすべて誤っていた（音声認識装置７２０による認識誤りなど）としても、早期に対応する字幕文を出力することができる。これは、単語「は」より後の入力単語がすべて誤っていたとしても誤りスコアが閾値Ｔより小さいためである。
また、同図（Ｂ）の例によって示した通り、予めチャンクを分割しておいた場合には、式（９）の作用で、現在着目するチャンクの、前方の確定済のチャンクの誤りスコアを利用することによって、さらに早期に、現在着目するチャンクの出力を確定できる。
【０２１６】
［１１．誤りスコアに関する閾値Ｔの決め方］
もし音声認識装置の認識精度が９０％くらいであれば、誤りスコアの基礎となる単語の誤り率は１０％程度になる可能性がある。本形態で誤りスコア判別部６４６による判別に用いるための閾値Ｔとしては、音声認識の認識精度に応じて、単語一致率の信頼度分だけマージンを取って設定することが好ましい。ここで、単語一致率の信頼度は、ＷＦＳＴのネットワークの２つの出力遷移間の単語数に依存する。
【０２１７】
閾値Ｔを設定するためのその他の要因としては、原稿テキスト記憶装置７００に記憶される原稿の候補の文章としての重なりがどのくらいの割合であるのかという点がある。例えば、下記（Ｅ１）〜（Ｅ３）に示す文の場合、文章としての重なりが８０％くらいの割合で含まれている。
（Ｅ１）  今日  の  天気  は  晴れ  です
（Ｅ２）  今日  の  天気  は    雨  です
（Ｅ３）  今日  の  天気  は  曇り  です
このような場合、閾値Ｔも８０％くらいに設定してしまうと、所望の動きが実現できない。
【０２１８】
なお、ニュース原稿の文を適切にチャンクに分割して出力遷移を配置し、閾値Ｔを５０％とした条件で実験した場合、良好に動作することが確認できた。
【０２１９】
以上説明したように、本形態に係る音声認識誤り修正装置６００は、文の順序は変わり得るとは言え、原則として、原稿テキストに含まれる文が連続して発声されるという拘束を利用して、認識結果と原稿テキストとを対応付けることで、認識誤りを修正することができる。つまり、従来技術によるブロック照合方式の自動修正誤りを解消する。
【０２２０】
また、本形態による音声認識誤り修正装置６００は、認識単語の単語列が原稿テキスト内に含まれる単語列のどこと一番マッチしているのかを、従来技術による方式より長い範囲で照合している。つまり、従来のブロック照合方式が単語連鎖ブロックに相当する区間だけを照合するのに対して、音声認識誤り修正装置６００は、原稿の文章を遡りながらもっと長い文章全体で照合する。そのため、どこでマッチさせるのがよいのかが従来よりも明白に分かり、自動修正誤りを従来よりも低減できる。
【０２２１】
本形態による音声認識誤り修正装置６００は、文を複数のチャンクに分割し、チャンクの終端に出力遷移を設けている。これにより、文の途中であっても、確定させた単語列を出力することができる。
【０２２２】
また、本形態による音声認識誤り修正装置６００は、出力遷移が存在する箇所のみからトレースバックするように限定した。これにより、計算量を抑制することができる。
【０２２３】
以上、前提となる形態を説明したが、本形態はさらに次のような変形例でも実施することが可能である。また、複数の変形例を組み合わせて実施しても良い。
【０２２４】
［変形例１］音声認識誤り修正装置の構成
音声認識誤り修正装置６００が、内部にトランスデューサー構築装置７４０を備えるようにしてもよい。
【０２２５】
［変形例２］言い換えを受理するＷＦＳＴの構築
ＷＦＳＴの情報源となるアナウンス用原稿には、それが読まれるときに、読み飛ばされる句や、言い換えられる句、補足される句が含まれている場合がある。これらの一部には、定型で高い頻度で省略／言い換え／補足が行われる。例えば、ニュース番組の原稿では、取材元を表す「警視庁によりますと」などといった句は、読み飛ばされやすいことの多い句である。このような句が読み飛ばされたとしても、ニュース主文の文意に変わりはなく、言い換えればいわゆる５Ｗ１Ｈに関する変化はなく、ニュース番組としての実用上の問題はない。
【０２２６】
本変形例では、このような定型的な言い回しのバリエーションをＷＦＳＴに追加しておくことで、精度よく修正結果を出力できるようにする。上記の言い回しのバリエーションの追加は、原稿から構築したＷＦＳＴとは別に、言い回しのバリエーションを追加するための別のＷＦＳＴを構築しておき、原稿から構築したＷＦＳＴと合成することにより、効率よく行うことができる。なお、ＷＦＳＴの合成や、最小化や、決定化などを行うための公知のアルゴリズムを適用することができる。
【０２２７】
上記のような言い換え例を含んだＷＦＳＴを構築するためには、過去の同種の番組の原稿テキストと、実際に読み上げられた単語列との差分を分析し、頻度が高く、且つ言い換えによって文意に変更がないものを予め選別して収集しておく。そして、この選別された言い換え例ごとに、言い換えを合成するためのＷＦＳＴを構築しておき、原稿から構築したＷＦＳＴと、言い換え例のＷＦＳＴとを合成する演算（既存技術による演算）を施すことにより、言い換えに対応可能なＷＦＳＴを構築することができる。
【０２２８】
［変形例３］認識結果への付加
音声認識の結果では得られない記号等（句点や、読点や、その他の記号等）を、出力状態遷移における出力シンボル内に含めるようにしても良い。例えば、ニュース原稿に予めそれらの記号等を含めておき、そのニュース原稿に基づいてＷＦＳＴを構築するときに、出力シンボル内にそれらの記号等が残るようにする。そのようなＷＦＳＴを用いて音声認識誤り修正装置１００を稼働させることにより、それらの記号等を含んだ読みやすい字幕を出力することができる。
【０２２９】
［変形例４］認識結果に対応するその他の出力（多言語字幕）
上記の変形例３に加え、出力遷移における出力シンボルとして、原稿のテキストを他国語等に翻訳した結果の単語列を用いても良い。これにより、読み上げられた元の原稿とは異なる言語での字幕を出力することができる。また、複数のＷＦＳＴを同時に並行して稼働させることにより、複数ヶ国語の字幕を出力することもできる。また、出力遷移における出力シンボルとして、番組の進行をコントロールするためのキューに相当する記号を含めるようにしても良い。このキューが出力されることをトリガーとして、ハイブリッドキャストなどの番組連動サービスに対して、起動や場面転換等の指示情報を与えることもできる。これにより、より多彩な放送サービスを実現することができる。
【０２３０】
［変形例５］ＷＦＳＴの最小化
本変形例では、ＷＦＳＴを作成する際に、可能であればＷＦＳＴの最小化を行う。ＷＦＳＴの最小化とは、与えられた状態遷移図において、集約可能な複数の状態（ノード）を集約したり、集約可能な複数の状態遷移（枝）を集約したりすることである。ＷＦＳＴを集約すること自体は、既存技術によって行うことができる。ＷＦＳＴの最小化の一例は次の通りである。即ち、ＷＦＳＴのネットワークにおいて、共通する複数の部分ネットワークを同一の状態遷移の列として構成し直す。このようなＷＦＳＴの最小化を用いることにより、共通する単語列についての状態遷移を削減することができる。例えば、同じ接頭辞を有する単語列（文）を同一の遷移で共有できる。これにより、演算量を削減することができる。
【０２３１】
［変形例６］ＷＦＳＴの決定化
ＷＦＳＴを作成する際に、必要があればＷＦＳＴの決定化を行う。具体的には、ＷＦＳＴのネットワークにおいて、状態遷移の途中で、出力シンボルが決定する場合には、少しでも早く推定結果を出力するために、出力文の位置を前のほうに変更する。ＷＦＳＴの決定化を行うことにより、例えば、接頭辞がユニークとなる遷移に出力文を移動する。これにより、出力文を旱期に確定できるようになるなどの利点がある。ただし、ＷＦＳＴを作成する際にＷＦＳＴの決定化を行った場合、原稿探索部６４０による最尤仮説の探索処理でも対応できるように設定変更が必要である。つまり、ＷＦＳＴの決定化を行わない場合に比べて、誤りスコアを計算するためのパス区間を出力遷移の前後にシフトさせる必要がある。加えて、前後のパス区間の伸縮分を吸収できるように、閾値Ｔをより厳しい値（誤り率がより小さい値）に設定する必要がある。
【０２３２】
［変形例７］誤りスコアの求め方
本形態では、式（９）に示した誤り率（編集距離）に基づいて誤りスコアを計算した。これに限らず、原稿と認識結果の一致率、一致精度、脱落率、挿入率を利用したり、それらを併用したりすることによって、誤りスコアを算出するようにしても良い。
【０２３３】
以上、説明した方式２の構成を整理すると次の通りである。
［２−１］原稿テキストに対応して、音声認識結果として入力される単語を順次受理しながら状態遷移していく有限状態トランスデューサーであって、前記音声認識結果に含まれる単語の誤りをも受理しながら状態遷移していく前記有限状態トランスデューサーの、状態に関する情報、および状態遷移に関して遷移元状態と遷移先状態と入力シンボルと出力シンボルと遷移重みとを含む情報、とを記憶する有限状態トランスデューサー情報記憶部と、前記有限状態トランスデューサーにおける前記状態の尤度を表すスコアを記憶するノードデータ記憶部と、前記原稿テキストに対応する音声の認識結果である認識単語の入力を外部から受け付けるとともに、受け付けた前記認識単語に応じて、前記有限状態トランスデューサーにおける前記状態ごとの当該時刻でのスコアを算出し、算出された前記スコアを用いて前記ノードデータ記憶部を更新するノードデータ更新部と、処理開始を示す起動信号を外部から受け付けると、ノードデータ記憶部を参照することにより、その時点における最尤ノードを決定するとともに、前記有限状態トランスデューサー情報記憶部と前記ノードデータ記憶部とを参照して、前記最尤ノードまでの状態遷移を遡ることにより、状態遷移が確定済みの所定の時刻までのトレースバック処理を行い、当該トレースバック処理した状態遷移のパスを出力候補とするとともに、出力候補となった前記パスに関して、当該パスに前記誤りに関する状態遷移が含まれる割合に応じた誤りスコアを算出し、算出された前記誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に当該パスの出力候補を、確定出力とする原稿探索部と、前記原稿探索部によって求められた前記確定出力を出力する出力部と、を具備する音声認識誤り修正装置であって、前記有限状態トランスデューサー情報記憶部は、出力シンボルが空でない状態遷移であるところの出力遷移を前記状態遷移の一部として含んで記憶しており、前記原稿テキストに含まれる文を複数のチャンクに分割し、前記チャンクに含まれる単語を入力シンボルとして受理する状態遷移のパスの後に前記出力遷移を設けた前記有限状態トランスデューサーの、前記状態に関する情報および前記状態遷移に関する情報を記憶する、ことを特徴とする音声認識誤り修正装置。
【０２３４】
［２−２］前記原稿探索部は、前記チャンクごとに前記誤りスコアを算出するとともに、前記チャンクごとの前記誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に、当該チャンクに対応する前記出力遷移の出力シンボルを、前記確定出力とするものであり、且つ、前記原稿探索部は、前記チャンクごとの前記誤りスコアを算出する際に、当該チャンクと当該チャンクの直前のチャンクの区間に関して前記誤りに関する状態遷移が含まれる割合に応じた誤りスコアを、当該チャンクの誤りスコアとして算出する、ことを特徴とする前記［２−１］の音声認識誤り修正装置。
【０２３５】
［２−３］原稿テキストに対応して、音声認識結果として入力される単語を順次受理しながら状態遷移していく有限状態トランスデューサーであって、前記音声認識結果に含まれる単語の誤りをも受理しながら状態遷移していく前記有限状態トランスデューサーの、状態に関する情報、および状態遷移に関して遷移元状態と遷移先状態と入力シンボルと出力シンボルと遷移重みとを含む情報、とを記憶する有限状態トランスデューサー情報記憶部と、前記有限状態トランスデューサーにおける前記状態の尤度を表すスコアを記憶するノードデータ記憶部と、前記原稿テキストに対応する音声の認識結果である認識単語の入力を外部から受け付けるとともに、受け付けた前記認識単語に応じて、前記有限状態トランスデューサーにおける前記状態ごとの当該時刻でのスコアを算出し、算出された前記スコアを用いて前記ノードデータ記憶部を更新するノードデータ更新部と、処理開始を示す起動信号を外部から受け付けると、ノードデータ記憶部を参照することにより、その時点における最尤ノードを決定するとともに、前記有限状態トランスデューサー情報記憶部と前記ノードデータ記憶部とを参照して、前記最尤ノードまでの状態遷移を遡ることにより、状態遷移が確定済みの所定の時刻までのトレースバック処理を行い、当該トレースバック処理した状態遷移のパスを出力候補とするとともに、出力候補となった前記パスに関して、当該パスに前記誤りに関する状態遷移が含まれる割合に応じた誤りスコアを算出し、算出された前記誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に当該パスの出力候補を、確定出力とする原稿探索部と、前記原稿探索部によって求められた前記確定出力を出力する出力部と、を具備する音声認識誤り修正装置であって、前記有限状態トランスデューサー情報記憶部は、出力シンボルが空でない状態遷移であるところの出力遷移を前記状態遷移の一部として含んで記憶しており、前記原稿探索部は、前記出力遷移の遷移元状態に対応するノードの中で最尤であるノードをその時点における前記最尤ノードとして決定する、ことを特徴とする音声認識誤り修正装置。
【０２３６】
次に、上述した、前提となる形態の音声認識誤り修正装置（方式１および方式２）に基づいて、本発明の複数の実施形態を説明する。
【０２３７】
［第１実施形態］
第１実施形態による音声認識誤り修正装置は、上述した方式１の音声認識誤り修正装置に、さらに、原稿の更新に合わせてＷＦＳＴを動的に更新する機能を設けたものである。
図１４は、本実施形態による音声認識誤り修正装置の概略機能構成を示すブロック図である。同図に示すように、本実施形態による音声認識誤り修正装置８００は、既に説明した音声認識誤り修正装置１００（前提形態の方式１，図３）が備える構成に加えて、トランスデューサー更新部８０１を含んで構成される。また、この音声認識誤り修正装置８００には、構築後のトランスデューサーを更新する元となる更新原稿８１０のデータが供給される。更新原稿８１０は、テキストを含むデータであり、例えば、報道番組等におけるニュース項目の差し替え原稿である。
【０２３８】
トランスデューサー更新部８０１は、この更新原稿８１０を読み込むとともに、更新原稿８１０にしたがってＷＦＳＴ記憶手段１１０およびノードデータ記憶手段１３０を更新する。このとき、トランスデューサー更新部８０１は、原稿探索手段１４０によって進行中の探索処理の支障にならないように、ＷＦＳＴ記憶手段１１０およびノードデータ記憶手段１３０を更新する。なお、トランスデューサー更新部８０１による更新処理の詳細については、後述する。
【０２３９】
［第２実施形態］
第２実施形態による音声認識誤り修正装置は、上述した方式２の音声認識誤り修正装置に、さらに、原稿の更新に合わせてＷＦＳＴを動的に更新する機能を設けたものである。
図１５は、本実施形態による音声認識誤り修正装置の概略機能構成を示すブロック図である。同図に示すように、本実施形態による音声認識誤り修正装置９００は、既に説明した音声認識誤り修正装置６００（前提形態の方式２，図１１）が備える構成に加えて、トランスデューサー更新部９０１を含んで構成される。また、この音声認識誤り修正装置９００には、構築後のトランスデューサーを更新する元となる更新原稿９１０のデータが供給される。更新原稿９１０は、テキストを含むデータであり、例えば、報道番組等におけるニュース項目の差し替え原稿である。
【０２４０】
トランスデューサー更新部９０１は、この更新原稿９１０を読み込むとともに、更新原稿９１０にしたがってＷＦＳＴ記憶部６１０およびノードデータ記憶部６３０を更新する。このとき、トランスデューサー更新部９０１は、原稿探索部６４０によって進行中の探索処理の支障にならないように、ＷＦＳＴ記憶部６１０およびノードデータ記憶部６３０を更新する。なお、トランスデューサー更新部９０１による更新処理の詳細については、後述する。
【０２４１】
［第１実施形態および第２実施形態におけるＷＦＳＴの構築と更新（変更）］
ここで、トランスデューサー更新部（８０１または９０１）によるＷＦＳＴの更新について説明する。ＷＦＳＴの更新は、音声認識処理進行中などにおける原稿の変更によって発生する。原稿の変更が行われるのは、例えば、ニュース原稿の一部が、文単位、フレーズ単位、単語単位などで差し替えられる場合である。差し替えとは、表現（単語や文なお）の挿入、削除、置換などを含む。また、差し替えとは、複数の文を１つの文に統合したり、逆に１つの文を複数の文に分割したりする場合を含む。なお、以下で、第１実施形態によるトランスデューサー更新部８０１と第２実施形態によるトランスデューサー更新部９０１とに共通の事項については、まとめて説明する。
【０２４２】
音声認識誤り修正装置（８００または９００）は、ＷＦＳＴの各ノードｎについて、時刻ｔに、音声認識結果の単語ｈｔが入力される都度、そのノードスコアＬｔ（ｎ）とそのスコアを与えた遷移ａを記録して探索を進める。ノードスコアＬｔ（ｎ）は、下の式（１０）で与えられる。
【０２４３】
【数１０】
0006508808.tif 000011
【０２４４】
式（１０）において、ｎ’（ａ）は遷移ａの遷移元のノードであり、Ｓａは遷移ａの遷移重みであり、ａｎはノードｎに流入する遷移の集合である。
また、そのノードスコアＬｔ（ｎ）に対応する遷移がＡｔ（ｎ）であり、下の式（１１）で表される。
【０２４５】
【数１１】
0006508808.tif 000012
【０２４６】
進行中の探索を妨げないために、トランスデューサー更新部（８０１または９０１）は、各ノードのスコア履歴を保存しながらＷＦＳＴを更新する。なおここで、スコア履歴とは、（Ｌｔ’（ｎ），Ａｔ’（ｎ））で表される情報である。但し、ｔ’＝１，２，・・・，ｔ  である。即ちスコア履歴とは、１からｔまでの各々の時刻における、ノードスコアと、遷移のペアの情報である。
【０２４７】
ここで、例えば原稿文中の数字が１箇所更新された場合などに、既存のＷＦＳＴ中に同じプレフィクスを有する文があり、それらの状態のスコア履歴を既に用いて探索が進行している可能性もある。したがって、同じプレフィックスを有する文の状態とスコア履歴を利用できる形で、原稿文の更新に伴う遷移の追加を行えるようにすることが望ましい。そこで、プレフィックスを共通にする文同士が状態を共有できるように、ＷＦＳＴを木構造とする。
【０２４８】
なお、プレフィックスとは、先頭から所定箇所までの一連の遷移に含まれる入力単語の列にあたる。言い換えれば、プレフィックスとは、原稿文における先頭から所定箇所までの単語列にあたる。
【０２４９】
図１６、図１７、図１８は、木構造としたＷＦＳＴの例を示す概略図である。これら３つの図の全体が、一つのＷＦＳＴを示している。この一つのＷＦＳＴを便宜上３つの図に分割して示している。ここで「木構造」という意味は、上流ノード側から見て、終端ノード（最も右のノード）を除いては、枝同士の合流がないことを表す。
【０２５０】
同図に示すＷＦＳＴは、次の４つの原稿文に基づいて構築されたものである。
原稿文１：最高気温が２５度以上の夏日でした
原稿文２：最高気温が２５度５分の都心
原稿文３：銀座の甘味どころでこのメニューが登場
原稿文４：夏の味覚かき氷です
【０２５１】
これらの原稿文とＷＦＳＴにおける状態遷移との関係は、次の通りである。即ち、原稿文１は、ノード番号で表すと、０００−００２−００３−００４−００５−００６−００７−００８−００９−０１０−０１１−０１２−００１という一連の遷移に対応している。また、原稿文２は、０００−００２−００３−００４−００５−００６−０１３−０１４−０１５−０１６−０１７−００１という一連の遷移に対応している。また、原稿文３は、０００−００２−０１８−０１９−０２０−０２１−０２２−０２３−０２４−０２５−０２６−０２７−００１という一連の遷移に対応している。また、原稿文４は、０００−００２−０２８−０２９−０３０−０３１−０３２−０３３−００１という一連の遷移に対応している。
【０２５２】
原稿文１および２において、先頭の「最高気温が２５度」という単語列が共有されているため、図示するＷＦＳＴは、この単語列をプレフィックスとして、原稿文１と原稿文２に共通の遷移として構成している。つまり、原稿文１と原稿文２に関して、上記の０００−００２−００３−００４−００５−００６という一連の遷移が共有されている。ただし、構築するＷＦＳＴにおいて遷移を共有するのはプレフィックスの部分に関してだけであり、文の途中から、下流の共通の状態に遷移するような枝の合流は、設けない。
【０２５３】
この原稿が更新された場合の、トランスデューサー更新部（８０１または９０１）によるＷＦＳＴの更新方法について説明する。更新された原稿は、次の通りである。
原稿文１ａ：最高気温が２５度以上の夏日でした
原稿文２ａ：最高気温が２４度５分の都心
原稿文３ａ：銀座の甘味どころでかき氷が登場
つまり、原稿文１と１ａとの間には変更がなく、原稿文２と２ａとの間では「２５度」が「２４度」に変更され、原稿文３と４を統合して原稿文３ａとされた。
【０２５４】
この原稿の更新に伴い、トランスデューサー更新部（８０１または９０１）は、更新後の原稿を１単語ずつ読み込み、次の処理を行う。即ち、更新前において同単語の遷移がある場合には、トランスデューサー更新部（８０１または９０１）は、ＷＦＳＴを更新しない。今回読み込んだ単語の遷移が更新前のＷＦＳＴにおいてはなかった場合には、トランスデューサー更新部（８０１または９０１）は、ＷＦＳＴ上で新たな遷移を作成する。なお、トランスデューサー更新部（８０１または９０１）は、新たな遷移を作成する場合には、その新たに枝分かれする遷移から文末までの一連の遷移を作成する。つまり、文末におけるイプシロン遷移を除けば、ＷＦＳＴは木構造を維持する。言い換えれば、下流方向において遷移による複数の枝の合流を行わないようにする。
また、トランスデューサー更新部（８０１または９０１）は、更新原稿によって出力遷移にたどり着いたノードを記録しておく。
【０２５５】
図１９、図２０、図２１は、更新原稿に基づいてノードを追加した後のＷＦＳＴを示す概略図である。ここでも、これら３つの図の全体が、一つのＷＦＳＴを示している。この段階では、原稿の更新によって必要となった新たなノードおよび遷移は追加されているが、原稿の更新によって不要となったノードや遷移は削除されていない。
【０２５６】
同図に示すように、原稿の更新によって新たに追加されたノードは、ノード０３４からノード０４０までに至る一連のノードと、ノード０４１からノード０４４までに至る一連のノードである。ノード０３４からノード０４０までに至る一連のノードは、原稿文２ａに含まれる「２４／度／５／分／の／都心」という単語列に対応する。また、ノード０４１からノード０４４までに至る一連のノードは、原稿文３ａに含まれる「かき氷／が／登場」という単語列に対応する。また、出力遷移にたどり着いたノードは、ノード０１２，０４０，０４４である。また、更新後の原稿に対応させると、ノード０１７，０２７，０３３にはたどり着かない。
【０２５７】
音声認識誤り修正装置は、上記の更新後には、これらのノード０１７，０２７，０３３にはたどり着かないことを前提として探索を進める必要がある。そのための枝刈りの方法として、次に２種類の方法を説明する。
【０２５８】
（第１の枝刈り方法）
第１の枝刈り方法は、第１実施形態または第２実施形態のいずれにも適用可能である。この第１の枝刈り方法においては、トランスデューサー更新部（８０１または９０１）は、たどり着かないノード０１７，０２７，０３３に至る枝を削除する。具体的には、トランスデューサー更新部（８０１または９０１）は、ノード０１３から０１７までに至る一連のノードと、それらのノードに関する遷移とを削除する。これらのノードは、更新前の原稿に含まれていた「５／分／の／都心」という入力と、「最高気温が２５度５分の都心。」という出力に関するものであり、更新後にはこの入力単語列が原稿内には含まれない。また、トランスデューサー更新部（８０１または９０１）は、ノード０２３から０２７までに至る一連のノードと、それらのノードに関する遷移とを削除する。これらのノードは、更新前の原稿に含まれていた「この／メニュー／が／登場」という入力と、「銀座の甘味どころでこのメニューが登場。」という出力に関するものであり、更新後にはこの入力単語列が原稿内には含まれない。また、トランスデューサー更新部（８０１または９０１）は、ノード０２９から０３３までに至る一連のノードと、それらのノードに関する遷移とを削除する。これらのノードは、更新前の原稿に含まれていた「夏／の／味覚／かき氷／です」という入力と、「夏の味覚かき氷です。」という出力に関するものであり、更新後にはこの入力単語列が原稿内には含まれない。
【０２５９】
図２２、図２３、図２４は、この第１の枝刈り方法によって、不必要なノードおよび遷移を削除した後のＷＦＳＴを示す概略図である。これら３つの図の全体が、一つのＷＦＳＴを示している。なお、削除されたノードがあるため、ノードの番号は再度振り直されている。
【０２６０】
同図が示すＷＦＳＴは、更新後の原稿文１ａ〜３ａにそれぞれ対応した、一連の遷移の系列を有する。原稿文１ａに対応する一連の遷移は、ノード番号で表すと、ノード０００−００２−００３−００４−００５−００６−００７−００８−００９−０１０−０１１−０１２−００１を通るものである。また、原稿文２ａに対応する一連の遷移は、ノード０００−００２−００３−００４−０１８−０１９−０２０−０２１−０２２−０２３−０２４−００１を通るものである。また、原稿文３ａに対応する一連の遷移は、ノード０００−００２−０１３−０１４−０１５−０１６−０１７−０２５−０２６−０２７−００１を通るものである。なお、原稿文１ａと２ａとが、共通のプレフィックスを有し、そのプレフィックスに対応する遷移の部分を共有していることは、既に述べたとおりである。
【０２６１】
（第２の枝刈り方法）
第２の枝刈り方法を適用できるのは、第２実施形態におけるトランスデューサー更新部９０１のみである。第２実施形態の音声認識誤り修正装置９００は、既に説明したように、トレースバックを開始するノードを限定している。その限定されたノードの集合Ｑについての情報を音声認識誤り修正装置９００は予め記憶している。この第２の枝刈り方法においては、トランスデューサー更新部９０１は、ＷＦＳＴの状態遷移図からノードや遷移を削除するのではなく、トレースバックを開始するノードを限定することにより、実質的に状態遷移図から枝刈りをしたのと同様の効果を生じさせる。つまり、トレースバックを開始する候補であるノードの集合Ｑから、上記の枝刈り対象となったノードを除去する。具体的には、ノード集合Ｑに、ノード０１３から０１７までの一連のノードと、ノード０２３から０２７までの一連のノードと、ノード０２９から０３３までの一連のノードとの中のいずれかが含まれていても、それらのノードを集合Ｑから除外する。
【０２６２】
この第２の枝刈り方法を用いれば、ＷＦＳＴのデータにおいて実際にノードや遷移を削除する必要がないため、第１の枝刈り方法よりも高速に、不要な枝を刈ることが可能となる。
不要な遷移の枝を刈る２種類の方法は、以上に述べたとおりである。
【０２６３】
次に、上記の方法でトランスデューサー更新部（８０１または９０１）がＷＦＳＴを更新した場合のスコア履歴について説明する。時刻ｔにおいて、音声認識誤り修正装置（８００または９００）は、最新の認識結果単語ｈｔを音声認識装置から受け取る。上記時刻ｔよりも前の時刻（ｔ−ｕ）に上記のＷＦＳＴの更新が起こった場合のスコア履歴は次に述べる通りである。
【０２６４】
図２５は、時刻（ｔ−ｕ）における各ノードのスコア履歴を示す概略図、つまりＷＦＳＴ更新直前の各ノードに関する履歴の記憶状況を示す概略図である。である。同図に示すノードおよび遷移は、更新前のＷＦＳＴ（図１６，図１７，図１８に示したもの）に基づくものである。なお、図２５は、ＷＦＳＴ全体の中の一部のノードのみを示している。つまり、「甘味」−０２０−「どころ」−０２１−「で」−０２２−「この」−０２３−「メニュー」−０２４−「が」−０２５−［登場］−０２６という一連のノードおよび遷移である。この時刻においては、ここに示した各ノードにおける、時刻（ｔ−ｕ）、（ｔ−ｕ−１）、（ｔ−ｕ−２）、（ｔ−ｕ−３）、・・・のスコア履歴が記憶されている。上述したＷＦＳＴの更新方法では、更新後の文と更新前の文との間で共通のプレフィックスの部分にあたるノードをそのまま利用できる。つまり、トランスデューサー更新部（８０１または９０１）は、このプレフィックス部分にあたるスコア履歴（ノード０２０，０２１，０２２におけるスコア履歴）を維持したまま、そのプレフィックスの後ろの部分に新たな遷移を追加する。
【０２６５】
図２６は、上記図２５の時刻（ｔ−ｕ）よりも後の、時刻ｔにおけるトランスデューサー更新部（８０１または９０１）による更新後のＷＦＳＴのスコア履歴を示す概略図である。つまり、ＷＦＳＴ更新後に所定時間経過した時刻における各ノードに関する履歴の記憶状況を示す概略図である。図２６に示すノードおよび遷移は、更新後のＷＦＳＴ（図２２，図２３，図２４に示したもの）に基づくものである。前述の通り、ノード番号は振り直されている。なお、図２６は、ＷＦＳＴ全体の中の一部のノードのみを示している。つまり、「甘味」−０１５−「どころ」−０１６−「で」−０１７−「かき氷」−０１８−「が」−０１９−［登場］−０２０という一連のノードおよび遷移である。これらのノードのうち、ノード０１５，０１６，０１７については、時刻ｔから遡って、時刻（ｔ−ｕ−１）以前の履歴をも記憶している。また、ノード０１８，０１９，０２０については、時刻ｔ、（ｔ−１）、・・・、（ｔ−ｕ）の履歴を記憶している。トランスデューサー更新部（８０１または９０１）がこのような更新方法をとるため、つまり、更新前と共通のプレフィックスをそのまま利用できるようにしているため、探索は次のように進行する。即ち、たとえ時刻（ｔ−ｕ）に認識結果「どころ」が入力されて、ノード０１６が最尤ノードになっていたとしても、時刻（ｔ−ｕ）以後の入力単語による遷移から、ノード０１６の時刻（ｔ−ｕ）のスコア履歴にたどり着くことが可能である。
【０２６６】
つまり、ここで述べる実施形態の方法によれば、進行中の探索を妨げることなく、ＷＦＳＴを編集することが可能である。
【０２６７】
以下に、上で説明した第１実施形態および第２実施形態における特徴的な構成をまとめる。
トランスデューサー更新部（８０１または９０１）は、原稿データについての更新原稿データを取得し、この更新原稿データに基づいて、有限状態トランスデューサー情報記憶部（ＷＦＳＴ記憶手段１１０またはＷＦＳＴ記憶部６１０）における状態に関する情報および状態遷移に関する情報を更新する。これにより、オンラインでの原稿変更への対応を行える。
【０２６８】
また、原稿の更新によって状態遷移図のツリー構造内に不要な枝が生じた場合にも、第１の枝刈り方法または第２の枝刈り方法を用いることにより、削除された原稿文に基づく状態および状態遷移を探索することはない。これにより、処理効率が上がるとともに、既に削除された原稿文に対応した誤った修正結果を出力してしまうことを防ぐことができる。
【０２６９】
また第１の枝刈り方法を用いる場合、トランスデューサー更新部（８０１または９０１）は、上記の更新原稿データに基づいて、更新後の原稿テキストにおいて不要となった状態および状態遷移については有限状態トランスデューサー情報記憶部から削除する。
【０２７０】
また第２の枝刈り方法を用いる場合、第２実施形態によるトランスデューサー更新部９０１は、更新原稿データに基づいて、更新後の原稿テキストにおいて不要となった状態に対応するノードを、トレースバック開始の対象とする集合から除外する。
その前提として、第２実施形態においては、既に述べたように、ＷＦＳＴ記憶部６１０は、出力シンボルが空でない状態遷移であるところの出力遷移を状態遷移の一部として含んで記憶するとともに、前記出力遷移の遷移元状態に対応するノードの集合を特定する情報を記憶している。また、原稿探索部６４０は、ＷＦＳＴ記憶部６１０に記憶されている出力遷移の遷移元状態に対応するノードの集合の情報を参照し、前記集合に含まれるノードの中で最尤であるノードをその時点における最尤ノードとして決定する。つまり、トレースバックを開始するノードの候補を、限定している。
この構成により、ＷＦＳＴ記憶部６１０から、不要となった状態および状態遷移を削除することなく、正しい探索を続けることができる。つまり、原稿の更新に伴うＷＦＳＴの更新を、正しく且つ高速に行うことができる。
【０２７１】
また、トランスデューサー更新部（８０１または９０１）は、更新原稿データに基づいて、更新後の原稿テキストに含まれる文のうち先頭から共通の単語列を有する複数の文について、共通の単語列の部分について状態および状態遷移を共通のものとするよう状態に関する情報および前記状態遷移に関する情報を更新するとともに、更新原稿データを取得する前に前記ノードデータ記憶部に記憶された前記スコアのうち、更新後の原稿テキストに含まれる単語列に対応する前記スコアを削除せず維持する。
これにより、状態遷移の木構造に新たに枝が付け加えられた場合にも、原稿の更新前に蓄積していたスコアの履歴情報を維持し、その後の探索処理において利用できる。つまり、ＷＦＳＴをオンラインで更新しても、進行中の探索処理を正しく続けることができる。
【０２７２】
第１実施形態におけるＷＦＳＴ記憶手段１１０および第２実施形態におけるＷＦＳＴ記憶部６１０は、それぞれ、原稿テキストに含まれる文のうち先頭から共通の単語列を有する複数の文について、共通の単語列の部分について状態および状態遷移を共通のものとするよう状態に関する情報および状態遷移に関する情報を記憶する。つまり、ＷＦＳＴ記憶手段１１０およびＷＦＳＴ記憶部６１０は、ツリーの構造（終端の状態における合流を除く）を有する状態遷移図に相当する情報を記憶する。これにより、複数の文に共通のプレフィックス部分に対応する状態および状態間の遷移を、文ごとに設けず、共通の状態として記憶する。これにより、先頭部分が共通の複数の文が原稿内に含まれている場合にも、効率よく処理を行うことができる。
【０２７３】
なお、上述した各実施形態における各装置の全部または一部の機能をコンピューターで実現するようにしても良い。その場合、それらの機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０２７４】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【０２７５】
本発明は、音声認識結果を利用した字幕等のコンテンツの作成に利用することができる。本発明は、例えば、放送事業や、その他のコンテンツ提供事業において、利用することが可能である。
【符号の説明】
【０２７６】
１００  音声認識誤り修正装置
１１０  ＷＦＳＴ記憶手段（対応原稿集合記憶手段，有限状態トランスデューサー情報記憶部）
１２０  ノードデータ更新手段
１３０  ノードデータ記憶手段
１４０  原稿探索手段
１４１  最大スコアノード検出手段
１４２  トレースバック手段
１４３  原稿分割手段
１４４  出力候補記憶手段
１４５  編集距離算出手段
１４６  編集距離判別手段
１４７  確定出力記憶手段
１４８  確定時刻記憶手段
１５０  原稿出力手段
２００  原稿テキスト集合
２２０  音声認識装置
２４０  トランスデューサー構築装置
２４１  単語ネットワーク登録手段
２４２  編集ネットワーク登録手段
６００  音声認識誤り修正装置
６１０  ＷＦＳＴ記憶部（有限状態トランスデューサー情報記憶部）
６２０  ノードデータ更新部
６３０  ノードデータ記憶部
６４０  原稿探索部
６４１  最尤ノード検出部
６４２  トレースバック部
６４３  原稿分割部
６４４  出力候補記憶部
６４５  誤りスコア算出部
６４６  誤りスコア判別部
６４７  確定出力記憶部
６４８  確定時刻記憶部
６５０  出力部
７００  原稿テキスト記憶装置
７２０  音声認識装置
７４０  トランスデューサー構築装置
７４１  単語ネットワーク登録部
７４２  編集ネットワーク登録部
８００，９００  音声認識誤り修正装置
８０１，９０１  トランスデューサー更新部
８１０，９１０  更新原稿
【図１】
0006508808.tif 000013
【図２】
0006508808.tif 000014
【図３】
0006508808.tif 000015
【図４】
0006508808.tif 000016
【図５】
0006508808.tif 000017
【図６】
0006508808.tif 000018
【図７】
0006508808.tif 000019
【図８】
0006508808.tif 000020
【図９】
0006508808.tif 000021
【図１０】
0006508808.tif 000022
【図１１】
0006508808.tif 000023
【図１２】
0006508808.tif 000024
【図１３】
0006508808.tif 000025
【図１４】
0006508808.tif 000026
【図１５】
0006508808.tif 000027
【図１６】
0006508808.tif 000028
【図１７】
0006508808.tif 000029
【図１８】
0006508808.tif 000030
【図１９】
0006508808.tif 000031
【図２０】
0006508808.tif 000032
【図２１】
0006508808.tif 000033
【図２２】
0006508808.tif 000034
【図２３】
0006508808.tif 000035
【図２４】
0006508808.tif 000036
【図２５】
0006508808.tif 000037
【図２６】
0006508808.tif 000038