JP2016045414A - 音声認識誤り修正装置 - Google Patents

音声認識誤り修正装置 Download PDF

Info

Publication number
JP2016045414A
JP2016045414A JP2014170540A JP2014170540A JP2016045414A JP 2016045414 A JP2016045414 A JP 2016045414A JP 2014170540 A JP2014170540 A JP 2014170540A JP 2014170540 A JP2014170540 A JP 2014170540A JP 2016045414 A JP2016045414 A JP 2016045414A
Authority
JP
Japan
Prior art keywords
transition
output
state
word
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014170540A
Other languages
English (en)
Other versions
JP6358744B2 (ja
Inventor
庄衛 佐藤
Shoe Sato
庄衛 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Nippon Hoso Kyokai NHK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Hoso Kyokai NHK filed Critical Nippon Hoso Kyokai NHK
Priority to JP2014170540A priority Critical patent/JP6358744B2/ja
Publication of JP2016045414A publication Critical patent/JP2016045414A/ja
Application granted granted Critical
Publication of JP6358744B2 publication Critical patent/JP6358744B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

【課題】簡易なシステム構成で、より精度の高い音声認識誤り修正装置を提供する。
【解決手段】音声認識誤り修正装置が備える有限状態トランスデューサー情報記憶部は、出力シンボルが空でない状態遷移であるところの出力遷移を状態遷移の一部として含んで記憶しており、原稿テキストに含まれる文を複数のチャンクに分割し、チャンクに含まれる単語を入力シンボルとして受理する状態遷移のパスの後に出力遷移を設けた有限状態トランスデューサーの、状態に関する情報および状態遷移に関する情報を記憶する。つまり、文の途中のチャンクの切れ目に、出力遷移を有する。
【選択図】図4

Description

本発明は、音声認識誤り修正装置に関する。
近年、テレビ等の番組における字幕テキストの付与を自動的に行う技術について研究されている。
非特許文献1には、生放送のニュース番組への字幕付与を目的としたアプローチの一つに、スペインのCARTVの例が記載されている。非特許文献1に記載されたシステムは、ニュース項目とその順番、読み原稿が与えられていることを前提とし、読み原稿の単語を一列の音素列とし、入力音声で強制アライメントを施して原稿の読み上げ部分を特定している。強制アライメントとは発話内容の音素列が与えられたときに、各音素と発話音声区間の対応を得るアルゴリズムである。このシステムでは、原稿のどの部分を読んでいるのかを音素単位で特定できるため、早期に字幕文を確定して番組映像と整合性の高い字幕を出力することができる。
また、特許文献1には、単語単位で認識単語列と読み原稿を比較して音声認識誤りを修正する技術が開示されている。特許文献1に記載されたテキスト修正装置では、長さNの単語連鎖ブロックで、音声認識結果の単語列と原稿内の単語列を比較することを特徴としている。
特開2012−128188号公報
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年
非特許文献1に記載されたシステムが採用するアルゴリズムでは、発話音声と音素列に不一致がある場合には著しく精度が低下するという問題がある。
一方、ニュース番組の多くは、ニュース項目とその順番を事前に特定することは難しい。番組の放送中にニュース項目の順序が変更されることも多い。非特許文献1に記載されたCARTVの例では、ニュース編集コンピューターシステム(NRCS)と連携した大規模なシステムを構築しているため、ニュース項目や項目順が更新される度にアライメントに用いるための音素列を更新する手法を取っている。
しかし、非特許文献1がそのような手法を取っていても、NRCSでの管理に基づく音素列の更新が間に合わなかったり、原稿の読み飛ばしや言い換えがあったりした場合には、適切なアライメントができなくなる。そこで、アライメント位置を修正するために、番組進行の目安となるラップタイムや、インサート映像の再生タイミングを取得して利用しており、複雑で大規模なシステムを構築することが必要となっている。さらに、番組内には、インサート映像のインタビューなど、NRCSでは発話内容を管理していない部分もある。したがって、そのような部分でアライメントが進行しないようにするため、上記のインサート映像を管理して、その再生情報をもとにアライメントヘの入力を停止するなどといった複雑な制御も必要となる。
例えば、自動字幕制作システムを必要とする地方放送局においては、このような複雑なシステムの構築と維持は困難であり、より簡易なシステムが求められる。
また、特許文献1の技術では、上記のような複雑なシステムの構成を必要とはしないものの、認識単語仮説列の文境界を推定していないため、不適切な原稿区間と音声認識結果の単語列とを照合してしまう結果、文境界やブロック境界に認識誤りがあったり、原稿の読み飛ばしや言い換えがあったり、原稿にない発話の追加があったりした場合、ブロック境界において、単語が欠落したり、同じ単語が2回出力されるなどの自動修正の誤りが生じる。このような自動修正誤りは、音声認識結果による単語仮説列の境界(文境界)が未知であるかぎり、音声認識結果と原稿との対応をとる区間の単位を文や他の単位としても同様に生じる。
本発明は、上記のような事情を考慮して為されたものであり、簡易なシステム構成でより精度の高い音声認識誤り修正装置を提供するものである。
また特に、本発明は、発話者が原稿を最後まで読み上げる前であっても、途中の適切な段階で出力文(修正後の文)を確定することをも可能にする音声認識誤り修正装置を提供するものである。
上記の課題を解決するため、本発明の一態様による音声認識誤り修正装置は、原稿テキストに対応して、音声認識結果として入力される単語を順次受理しながら状態遷移していく有限状態トランスデューサーであって、前記音声認識結果に含まれる単語の誤りをも受理しながら状態遷移していく前記有限状態トランスデューサーの、状態に関する情報、および状態遷移に関して遷移元状態と遷移先状態と入力シンボルと出力シンボルと遷移重み(遷移にかかるコスト)とを含む情報、とを記憶する有限状態トランスデューサー情報記憶部と、前記有限状態トランスデューサーにおける前記状態の尤度を表すスコアを記憶するノードデータ記憶部と、前記原稿テキストに対応する音声の認識結果である認識単語の入力を外部から受け付けるとともに、受け付けた前記認識単語に応じて、前記有限状態トランスデューサーにおける前記状態ごとの当該時刻でのスコアを算出し、算出された前記スコアを用いて前記ノードデータ記憶部を更新するノードデータ更新部と、処理開始を示す起動信号を外部から受け付けると、ノードデータ記憶部を参照することにより、その時点における最尤ノードを決定するとともに、前記有限状態トランスデューサー情報記憶部と前記ノードデータ記憶部とを参照して、前記最尤ノードまでの状態遷移を遡ることにより、状態遷移が確定済みの所定の時刻までのトレースバック処理を行い、当該トレースバック処理した状態遷移のパスを出力候補とするとともに、出力候補となった前記パスに関して、当該パスに前記誤りに関する状態遷移が含まれる割合に応じた誤りスコアを算出し、算出された前記誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に当該パスの出力候補を、確定出力とする原稿探索部と、前記原稿探索部によって求められた前記確定出力を出力する出力部と、を具備する音声認識誤り修正装置であって、前記有限状態トランスデューサー情報記憶部は、出力シンボルが空でない状態遷移であるところの出力遷移を前記状態遷移の一部として含んで記憶しており、前記原稿テキストに含まれる文を複数のチャンクに分割し、前記チャンクに含まれる単語を入力シンボルとして受理する状態遷移のパスの後に前記出力遷移を設けた前記有限状態トランスデューサーの、前記状態に関する情報および前記状態遷移に関する情報を記憶する、ことを特徴とする。
この特徴を有する音声認識誤り修正装置において、文は複数のチャンクに分割されている。またそのチャンクに含まれる単語を入力シンボルとして受理した後、出力遷移を実行し、出力シンボルを出力する。つまり、文の途中に出力遷移が存在する。したがって、この音声認識誤り修正装置は、文の途中においても確定した出力シンボルを出力し得る。
なお、上記の遷移重みは、状態遷移に関するコストを表す数値データである。一例として、遷移重みがゼロのときにコスト最小であり、負の遷移重みの値が小さくなるほど(つまり、その負値の絶対値が大きいほど)コストが大きくなるように、遷移重みを定義する。しかし、遷移重みについて、この定義の符号を逆転させたり、またその他の定義を用いたりしても良い。状態遷移ごとにその重みが設定されていることにより、この重みを用いて。最尤ノードを求める際のスコアを算出することができる。
また、本発明の一態様は、上記の音声認識誤り修正装置において、前記原稿探索部は、前記チャンクごとに前記誤りスコアを算出するとともに、前記チャンクごとの前記誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に、当該チャンクに対応する前記出力遷移の出力シンボルを、前記確定出力とするものであり、且つ、前記原稿探索部は、前記チャンクごとの前記誤りスコアを算出する際に、当該チャンクと当該チャンクの直前のチャンクの区間に関して前記誤りに関する状態遷移が含まれる割合に応じた誤りスコアを、当該チャンクの誤りスコアとして算出する、ことを特徴とする。
また、本発明の一態様による音声認識誤り修正装置は、原稿テキストに対応して、音声認識結果として入力される単語を順次受理しながら状態遷移していく有限状態トランスデューサーであって、前記音声認識結果に含まれる単語の誤りをも受理しながら状態遷移していく前記有限状態トランスデューサーの、状態に関する情報、および状態遷移に関して遷移元状態と遷移先状態と入力シンボルと出力シンボルと遷移重み(遷移にかかるコスト)とを含む情報、とを記憶する有限状態トランスデューサー情報記憶部と、前記有限状態トランスデューサーにおける前記状態の尤度を表すスコアを記憶するノードデータ記憶部と、前記原稿テキストに対応する音声の認識結果である認識単語の入力を外部から受け付けるとともに、受け付けた前記認識単語に応じて、前記有限状態トランスデューサーにおける前記状態ごとの当該時刻でのスコアを算出し、算出された前記スコアを用いて前記ノードデータ記憶部を更新するノードデータ更新部と、処理開始を示す起動信号を外部から受け付けると、ノードデータ記憶部を参照することにより、その時点における最尤ノードを決定するとともに、前記有限状態トランスデューサー情報記憶部とノードデータ記憶部とを参照して、前記最尤ノードまでの状態遷移を遡ることにより、状態遷移が確定済みの所定の時刻までのトレースバック処理を行い、当該トレースバック処理した状態遷移のパスを出力候補とするとともに、出力候補となった前記パスに関して、当該パスに前記誤りに関する状態遷移が含まれる割合に応じた誤りスコアを算出し、算出された前記誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に当該パスの出力候補を、確定出力とする原稿探索部と、前記原稿探索部によって求められた前記確定出力を出力する出力部と、を具備する音声認識誤り修正装置であって、前記有限状態トランスデューサー情報記憶部は、出力シンボルが空でない状態遷移であるところの出力遷移を前記状態遷移の一部として含んで記憶しており、前記原稿探索部は、前記出力遷移の遷移元状態に対応するノードの中で最尤であるノードをその時点における前記最尤ノードとして決定する、ことを特徴とする。
この特徴を有する音声認識誤り修正装置は、出力遷移の遷移元状態であるノードの中だけから最尤ノードを決定する。これにより、音声認識誤り修正装置は、より少ない計算量で処理を行うことができるとともに、対応する原稿の誤り度合いが既入力の認識結果だけで閾値を超える場合に早期に出力を確定できる。つまり、音声認識誤り修正装置は、迅速に、出力の決定に至る処理を行うことができる。
本発明によれば、複雑な構成のシステムを必要とせず、音声認識結果の誤りを修正することができる。
また、本発明によれば、従来技術を用いたときにブロック境界に起因して生じていた自動修正誤りの発生を低減することができる。
また、本発明によれば、修正後の認識結果を早く確定させて出力することが可能となる。
本発明の実施形態による音声認識誤り修正装置を含むシステムの構成の概略を示すブロック図である。 WFST(重み付き有限状態トランスデューサー)の例を示す状態遷移図である。 本実施形態において用いるための特徴を備えたWFSTの例を示す状態遷移図である。 同実施形態による音声認識誤り修正装置の概略機能構成を示す機能ブロック図である。 同実施形態による音声認識誤り修正装置による処理の手順を示すフローチャートである。 同実施形態による字幕文出力の確定方法の実例を示す概略図である。
次に、本発明の一実施形態について、図面を参照しながら説明する。本実施形態は、音声認識結果などの誤りの混入が不可避な単語列と、その単語列の情報源となった原稿などの対応を早期に確定する技術を用いる。これにより、音声認識結果に含まれる誤りを自動修正する。
[1.本実施形態を適用したシステムの構成]
図1は、本実施形態に係る音声認識誤り修正装置を含むシステムの構成の概略を示すブロック図である。図示するように、当該システムは、音声認識誤り修正装置100と、原稿テキスト記憶装置200と、音声認識装置220と、トランスデューサー構築装置240とを含んで構成される。
同図に示すシステムは、放送局におけるニュース番組に音声認識を用いて字幕を付与する場合に適用するための音声認識誤り修正装置100を含む。このような番組における発話音声は、概ね事前に用意された原稿テキストに基づいているという特徴がある。ところで、大規模なキー放送局では、字幕を放送するために、音声認識結果に含まれる認識誤りを人手で修正するためのオペレーターを配置している場合がある。一方で、地方放送局では、様々な事情によりそのようなオペレーターを配置することが難しいことが多い。本実施形態によれば、そのような地方放送局においても、オペレーターを配置することなく、音声認識謝りの修正を行うことができるようになる。
音声認識誤り修正装置100は、音声認識装置220が出力する認識結果の単語列(認識単語列)を入力として受け付け、予め記憶した対応原稿の単語列を推定することで、認識単語列に含まれる誤りを修正するものである。
ここで、音声認識誤り修正装置100が推定処理のために予め記憶した情報は、原稿テキスト記憶装置200に記憶されている原稿テキストを予め読み込んで構築された対応原稿の集合である。この対応原稿の集合は、状態を表すノードと、ノード間の状態遷移を表す枝(アーク)とをネットワーク(有向グラフ)として有する重み付き有限状態トランスデューサー(Weighted Finite State Transducer:以下、「WFST」、または単に「有限状態トランスデューサー」という)で表される。
音声認識誤り修正装置100は、WFSTのネットワーク上で最良(最尤)仮説を逐次調べ、WFST上の対応原稿の単語列と認識単語列との編集距離を基準に、全ての認識結果の単語列の入力を待たずに最終最良仮説を近似して部分的に修正結果を逐次確定する。
音声認識誤り修正装置100は、音声認識装置220から認識結果の単語が入力されるのに対応して、WFSTを用いて、入力単語を受理可能な遷移を求めてそのスコアを計算し、累積スコアに対する閾値を用いて枝刈りを行いながら、ビタビアルゴリズム(Viterbi Algorithm)による探索(ビタビ探索)を用いる。なお、ビタビアルゴリズムは、既存の技術であり、受信系列に対して送信符号に最も近い符号系列、即ち最大尤度の符号系列を推定する際に、トレリス線図を用いた探索を行う、効果的な方法である。
通常のビタビ探索では、全ての入力が観測されてから、最もスコアが良くなるパスをトレースバックして最良仮説を出力する。そのため、通常の探索方法では、全ての入力が観測され終わる前に、古い入力から順に逐次修正結果を出力するといったことはできない。例えば、テレビ放送番組の放送音声を認識した結果から字幕を制作してリアルタイムでテレビ画面の画像に重畳する場合を想定すると、通常のビタビ探索による最尤系列は番組の最後まで単語を入力しないと確定することができない。これでは番組が終了してしまうことになるので、このような運用に対して通常のビタビ探索は不適である。
一方、本実施形態による音声認識誤り修正装置100は、ビタビ探索を用いつつも、適時に、最尤系列を逐次近似してトレースバックする。すなわち、予め定められた処理開始条件が満たされる度に、その時点で最もスコアが良くなるパスをトレースバックして、確定できる出力遷移を決定するので、修正結果を逐次出力することができる。ここでトレースバックされるパスは、最良仮説の近似であるが、各出力遷移に対応する入力単語列と、原稿の単語列との編集距離を信頼度の基準にして同パスを確定するか否かを決定して近似精度の向上をはかる。なお、その詳細については後で説明する。
原稿テキスト記憶装置200は、原稿テキストのデータを記憶する。原稿テキストは、複数の記事を含む。各記事は、複数の文を含む。
原稿テキスト記憶装置200は、人が話す予定の内容をテキストに書き起こしたものの全体を記憶する。原稿テキスト記憶装置200は、例えば文、文章、段落といった単語列の区切りの単位や、そのテーマやトピック等の内容分類に応じて、多数の細分化された個別の内容を表すテキストを記憶する。このような個別の内容を、以下では単に原稿と呼ぶ。また、単語列の単位は一例として文である。
原稿テキスト記憶装置200は、例えばハードディスク装置や半導体メモリ等の一般的な記憶手段を用いて構築されている。原稿テキスト記憶装置200は、いわゆるクラウドサービスとして、通信ネットワーク等を通してアクセスされるものであっても良い。
音声認識装置220は、原稿テキスト記憶装置200に含まれる原稿201を人(アナウンサー等)が読み上げた発話音声を認識し、認識結果の単語列を出力する。
音声認識装置220は、生の音声データが入力された場合に、隠れマルコフモデル(HMM)による音響モデルと、言語モデルとを利用して、音声データを認識し、その認識した結果を認識単語列として生成するものである。本実施形態において、音声認識装置220は、特に限定されず、公知の技術を用いたものを採用することができる。
なお、後述するように、放送におけるニュース番組では、各ニュース項目に対して複数のバージョンの原稿が入稿されており、どのバージョンをどの順番で放送するのかは事前に確定できない。そのような状況で、音声認識装置220は、音声認識を行い、その発話音声に対して、そもそも、対応する原稿が存在するのか否かを即座に調べることが求められる。そのため、音声認識に用いる言語モデルは、高精度に音声認識結果と原稿との対応をとるために、原稿テキスト記憶装置200に記憶されているテキストデータを用いて予め適応化しておき、原稿通りに読み上げた場合の認識精度が高くなるようにしておくことが好ましい。
トランスデューサー構築装置240は、音声認識誤り修正装置100で利用する対応原稿の集合(対応原稿集合)としてWFSTを構築するものである。トランスデューサー構築装置240は、音声認識の対象となる読み上げ原稿、つまり、原稿テキスト記憶装置200に含まれる原稿文から、音声認識誤り修正装置100で利用するためのWFSTを事前に構築する。WFSTは、入力シンボルと出力シンボル、遷移重みを有する有限状態機械であり、単語と文などの異なる粒度の入出力を効率よく扱うことができる。このWFSTの構築については後で説明する。
トランスデューサー構築装置240は、図示するように、単語ネットワーク登録部241と、編集ネットワーク登録部242とを含んで構成される。
単語ネットワーク登録部241は、原稿テキスト記憶装置200に含まれる原稿テキストを読み出し、予め定められた所定単位(例えば文単位)ごとに、以下に述べる一連の処理を行う。即ち、単語ネットワーク登録部241は、WFSTのネットワークの始点ノードから開始して、原稿テキスト記憶装置200から原稿テキストに含まれる単語を読み込む度に、その単語を受理するための状態遷移(入力遷移)の枝と新たなノードとを作成する。単語ネットワーク登録部241は、原稿内の所定単位(例えば文単位)の最後に至るまで、順次、読み込んだ各単語について上記の枝とノードの作成を行う。
そして、WFSTのネットワークにおいて、読み込んだ単語列の出力遷移の枝を追加して終点ノードに連結する。
編集ネットワーク登録部242は、単語ネットワーク登録部241で作成されたWFSTのネットワークのノード間に、単語の置換に対応して任意の単語を受理する状態遷移を表す枝と、単語の挿入に対応して任意の単語を受理する状態遷移を表す枝と、単語の削除に対応して入力が無くても出力側に遷移する状態遷移を表す枝とを追加するものである。
なお、本実施形態では、システムは、例えば下記の(A1)〜(A7)の条件下で動作する。
(A1)原稿テキスト記憶装置200に記憶されている原稿文のうちの複数の原稿文が音声認識対象として読みあげられる。
(A2)1つのニュース項目に対するニュース原稿も、いくつかの更新された版(バージョン)が用意されていて、どのバージョンの原稿が何時のニュース番組で読まれるのかを事前に確定することはできない。
(A3)複数の原稿文がどのような順番で読まれるのか事前には分かっていない。
(A4)原稿テキスト記憶装置200に含まれる原稿文の中には、読みあげられずにスキップされるものもある。
(A5)読む人(アナウンサー、キャスター、記者等)によっては、元の原稿をそのまま忠実に読むのではなく、視聴者への伝わりやすさ等を考慮して敢えて言い回しを変えてしまう場合や、読み誤りが生じる場合などがある。
(A6)音声認識装置220の認識誤りに起因する意昧不明な字幕を送出して視聴者に誤解を与えたり不快にさせたりすることを回避することを優先課題としたい。そのため、意味不明な認識結果の場合には送出せず、代わりに、事前に編集者により校正され内容が確認されている、発話内容に最も近いと自動推定された原稿(事前原稿)を字幕として送出する。
(A7)インタビュー部分などであって認識結果に対応する原稿が元々存在しない場合、自動推定は不可能なので、元原稿が無いインタビュー部分などについては字幕を送出しない。
[2.一般的なWFSTの例]
図2は、一般的なWFSTの例を示す概略図である。WFSTは、状態遷移の定義として表現される。状態遷移は、状態を表すノードと、状態遷移を表す枝と、を有する。なお、状態遷移のことを単に遷移という場合もある。図示するWFSTでは、入力シンボルを単語、出力シンボルを所定の単語列とする。また、この所定の単語列は、文である。同図において、ノードは楕円形で示している。また、枝は矢印付きの線で表している。つまり、枝は、方向を有している。
同図では、楕円形の各ノードに、ノードを識別するための3桁の数字を付している。始点ノードはノード001であり、終点ノードはノード008である。この例では、始点と終点との間には、ノード002〜ノード007が直線状に並べられている。また、始点と終点との間には、上記のノード002〜ノード007の系列とは並列に、ノード010〜ノード015が直線状に並べられている。さらに、始点と終点との間には、上記のノード002〜ノード007の系列およびノード010〜ノード015の系列とは並列に、ノード018〜ノード023が直線状に並べられている。また、状態遷移を表す枝は、単語または<S>、<I>、<D>、<Emi1>、<Emi2>、<Emi3>、<eps>といった記号が付されている。また、状態遷移を表す枝は、遷移元のノードから遷移先のノードに向かって伸びている。
図示する状態遷移について一般化して説明すると、このWFSTにおいては、各遷移に、(S/S:ω)のパラメーターが設定されている。ここで、Sは、その状態遷移が受理する単語入力を表す。また、Sは、その状態遷移が出力する単語列を表す。出力される単語列は、文または文の一部である。また、ωは状態遷移重みを表す。つまり、各遷移には、3つ組のパラメーターが設定されている。なお、図2では、便宜上、状態遷移が有するパラメーターのすべてを示しているわけではなく、各状態遷移に対応して、3つ組のパラメーターのうちのSまたはSのいずれかのみを示している。
ここで、同図上に記載された単語を一般化して単語sと表記する。なお、アルファベットの大文字と小文字とを区別している。同図において、単語sは、原稿の単語列が含んでいる単語である。ある状態遷移に単語sが付加されているとき、当該状態遷移はその単語sが入力されたときにのみ起こることを表している。つまり、ある状態において、その状態を遷移元とする状態遷移に単語sが付されているとき、認識単語列の中の単語として単語sが入力された場合にのみその状態遷移が起こる。つまり、単語sが記載された状態遷移は、音声認識された単語sを受理して進む遷移である。なお、状態遷移が起こるとその遷移先の状態が次の状態となる。
図示する状態遷移において、ノード002〜ノード007の系列は、「先月/の/関東甲信/地方/は/・・・」という単語列に対応する。但し、ここで、スラッシュ「/」は単語の区切りである。また、ノード010〜ノード015の系列は、「今週/も/まとまった/雨/は/・・・」という単語列に対応する。また、ノード018〜ノード023の系列は、「気象庁/に/より/ます/と/・・・」という単語列に対応する。このように、ここで構築するWFSTは、全ての原稿文を自由に接続できるネットワークである。
同図において、単語sが記載された遷移についてのパラメーターは、(s/ε:0.0)で表される。つまり、この3つ組のパラメーターは、単語sを入力として受理し、出力がないことを表す。εは、単語がないことを表す記号である。つまり、出力他の語列が空である。また、3つ組のパラメーターは、遷移重みの値が0.0であることを表す。重みの値の設定方法はさまざまであるが、一例としては、ペナルティがない場合に遷移重みの値として0.0を用い、負の値の重みをペナルティとして用いることができる。状態遷移の定義に基づいて例えば現状態を推定する場合に、この遷移重みの値の所定の系列における総計をスコアとして用いることができる。一例として、同図において単語「先月」が付された状態遷移は、3つ組のパラメーターとしては、(先月/ε:0.0)で表される。
同図において、<S>が付された状態遷移は、置換単語を受理するための遷移である。つまり、原稿の単語列が含んでいるある単語sの位置に対応する認識単語列の位置に入力した単語が、原稿のある単語sとは異なる任意の単語に置換されていたときに、その置換単語を受理するための遷移である。以下、原稿の単語列が含んでいるある単語sの位置において、この単語sとは異なる任意の単語のことを、任意の単語*と表記する。アスタリスクは、ワイルドカードを表す表記である。この置換には、例えば「再開」が同音異義語の「再会」に翻字されて認識された場合も含まれる。
同図において、<S>が付された状態遷移は、任意の単語*を受理可能である。この<S>が記載された遷移についてのパラメーターは(*/ε:ωs)で表される。この3つ組表現においては、*は同遷移が受理できる任意の単語入力を表し、εはこの遷移で出力は無いことを意昧する。また、ωsは遷移重みの1つであって、この遷移に対して単語sとは異なる任意の単語*が入力されたときに課すペナルティ(以下、置換ペナルティという)を意味する。この置換ペナルティωsは、ノードスコアを下げる数値で表され、例えば−1.0を用いる。例えば、<S>が付された状態遷移は、3つ組のパラメーターとしては、 (*/ε:−1.0)と表すことができる。
同図において、<I>が付された状態遷移は、挿入単語を受理するための遷移である。つまり、発話者に起因するなどして、発話内容に情報の追加や言いよどみによる分節などの繰り返しがあった場合、原稿どおり又は置換されたと認識された単語列に続く位置に挿入された単語を受理するための遷移である。また、音声認識装置220に起因して、原稿通りならば1単語と認識すべきところを、複数単語として認識するような認識誤りで生じて、原稿通りの1単語に続く位置に挿入された単語を受理するためにも、<I>が付された状態遷移を用いることができる。
同図において、<I>が付された状態遷移は、任意の単語*を受理可能である。この<I>が記載された遷移についてのパラメーターは、3つ組による表現で、(*/ε:ωi)で表される。ここで、*は任意の単語入力を表し、εは空の単語を表す。つまり、この状態遷移は、任意の単語を受理し、出力単語を持たない。また、ωiは遷移重みの1つであって、この遷移に対して任意の単語*が入力されたときに課すペナルティ(以下、挿入ペナルティという)を意味する。この挿入ペナルティωiは、ノードスコアを下げる数値で表され、例えば−1.0を用いる。例えば、<I>が付された状態遷移は、3つ組のパラメーターで表すと、(*/ε:−1.0)である。
なお、<I>が付された状態遷移における遷移先の状態は、同遷移における遷移元の状態と同じである。
同図において、<D>が付された状態遷移は、脱落単語を受理するための遷移である。つまり、発話者に起因するなどして、発話内容の一部に句などの脱落があった場合、認識単語列において原稿から脱落した単語の位置を特定するための遷移である。また、音声認識装置220に起因して、原稿通りならば複数単語と認識すべきところを、単語が削除されて1単語として認識するような認識誤りで生じて、認識単語列において原稿から脱落した単語の位置を特定するための遷移である。
同図において、<D>が付された状態遷移は、単語の入力が無くても起こり得る遷移である。この<D>が記載された遷移についての3つ組のパラメーターは、(ε/ε:ωd)で表される。ここで、スラッシュの前のεは、この遷移で受理する入力が無いことを表す。また、スラッシュの後のεは、この遷移で出力が無いことを意昧する。また、ωdは遷移重みの1つであって、この遷移で単語が脱落したときに課すペナルティ(以下、脱落ペナルティという)を意味する。この脱落ペナルティωdは、ノードスコアを下げる数値で表され、例えば−1.0を用いる。例えば、図2で<D>が記載された遷移は、3つ組のパラメーターで表すと、(ε/ε:−1.0)である。
なお、<D>が付された状態遷移における遷移元および遷移先の状態は、脱落する単語に関する状態遷移と同じである。例えば、ノード002からノード003への、<D>が付された状態遷移は、並列する単語「の」が脱落したときにもノード002からノード003へ遷移を可能とする(ただし、上記の脱落ペナルティを伴う)ものである。
同図において、<Emi1>や<Emi2>や<Emi3>が付された状態遷移は、所定の単語列として文を出力するための遷移である。ここで出力される文が、音声認識処理によって認識された単語列の修正結果である。これらの<Emi1>や<Emi2>や<Emi3>が付された遷移についてのパラメーターは(ε/L:0.0)で表される。ここで、εはこの遷移において単語の入力が無いことを表す。また、Lはこの遷移で出力される単語列(文)がLであることを表す。
例えば、<Emi1>が付された状態遷移は、3つ組のパラメーターで表すと、(ε/先月の関東甲信地方は…:0.0)である。つまり、この場合、Lは、始点ノード001からノード002を経由してノード007に至る各遷移に並べられた単語列「先月/の/関東甲信/地方/は/…」をすべて順番に(直列に)繋げた単語列である。なお、パラメーターにおける0.0は遷移重みの1つであって、この遷移に対して文を出力するときには、ペナルティが課されないことを意味する。なお、<Emi2>が付された状態遷移のパラメーターは、同様に、(ε/今週もまとまった雨は…:0.0)である。また、なお、<Emi3>が付された状態遷移のパラメーターは、同様に、(ε/気象庁によりますと…:0.0)である。
同図において、<eps>が記載された遷移は、終点ノードと始点ノードを連結する遷移であり、イプシロン遷移(ε遷移)と呼ばれている。<eps>が付された状態遷移は、原稿テキスト集合に含まれる所定の単語列(文)が、連続して発話されるという拘束を与える遷移である。<eps>が付された状態遷移についてのパラメーターは(ε/ε:ωu)で表される。ここで、スラッシュの前のεは、この遷移で単語の入力が無いことを表す。また、スラッシュの後のεは、この遷移で出力が無いことを表す。また、ωuは遷移重みの1つであって、適切な重み(数値)を与えることにより、WFSTは、より長く一致する文のスコアを高くすることができるようになる。
[3.本実施形態におけるWFST]
図3は、本実施形態において用いるWFSTの例を示す概略図である。図2を用いて説明した一般的なWFSTと、本実施形態で用いるWFSTの違いを中心に、以下、説明する。
図3に示すWFSTもまた、ノード(状態)と枝(状態遷移)から成る状態遷移図で表される。同図では、ノードを黒丸または黒四角の記号で表し、枝を矢印付きの線で表す。各ノードには、ノードを識別するための3桁の整数を付している。同図に示す状態遷移図においても、始点のノード101と終点のノード108が存在する。そして、例示する状態遷移図においては、始点のノード101から終点のノード108へ、並列する2本の系列が存在する。その第1の系列は、始点のノード101から、ノード102〜ノード107を経て、終点のノード108に至る。また第2の系列は、始点のノード101から、ノード112〜ノード117を経て、終点のノード108に至る。これらの各系列が、原稿テキストにおける文に対応する。ここでは、簡単のために2文のみを示しているが、現実には文の数に制約はない。そして、終点ノード108から始点ノード101に戻るための枝(前述の、イプシロン遷移)が存在する。
各々の状態遷移は、遷移元の状態と、遷移先の状態と、入力記号(単語)と、出力記号(単語列)と、遷移重みの値で定義される。一例として、同図において、ノード102からノード103への状態遷移は、受理する入力単語がWであり、出力する記号はε(つまり、出力単語はない)である。また別の例として、同図において、ノード114からノード115への状態遷移は、受理する記号がε(つまり受理する単語はない)であり、出力する記号はCという単語列である。
なお、同図においては、状態遷移の重みの表示を省略している。また、同図においては、音声認識誤りを受理するための遷移を省略している。つまり、置換単語を受理するための状態遷移や、挿入単語を受理するための状態遷移や、脱落を許容するための状態遷移の表示を省略している。
同図に示すWFSTの特徴は、原稿文をチャンク(chunk,かたまり)に分割し、チャンクの切れ目における状態遷移として出力遷移を配置した構成としている点である。なお、出力遷移とは、出力シンボルが空ではない状態遷移である。つまり、文の最後だけではなく、文の途中における状態遷移でも単語列を出力する場合がある。同図における具体例としては、原稿文(W,W,W,W,W)を、oとoという複数のチャンクに分割している。チャンクoは単語列(W,W,W)であり、チャンクoは単語列(W,W)である。そして、チャンクoとoとの間に、入力記号がε(つまり、入力単語がない)であり出力記号がCという出力遷移を設けている。なお、ノード107からノード108への状態遷移は、文末での出力遷移であり、その出力記号はCである。同様に、原稿文(W,W,W,W,W10)もまた、o(不図示)とo(不図示)という複数のチャンクに分割している。チャンクoは単語列(W,W,W)であり、チャンクoは単語列(W,W10)である。そして、チャンクoの後には、単語列Cを出力する出力遷移が設けられている。また、チャンクoの後には、単語列Cを出力する出力遷移が設けられている。
上記のように、本実施形態では、文をチャンクに分割し、チャンクの終端に出力遷移を設けている。なお、文のチャンクへの分割のしかたは任意である。文中の文法的にあるいは意味的に切れ易い箇所でチャンクへの分割を行っても良いし(例えば、構文上の句の単位できるなど)、所定の単語数で機械的に複数のチャンクへの分割を行っても良い。また、読みやすさのために記者またはアナウンサーが改行している箇所で分割しても良い。また、原稿中の文の重複度と必要とする認識誤りの訂正能力に応じて適切な長さのチャンクに分割しても良い。また、許容される字幕の表示遅れに応じて、適切な長さのチャンクに分割しても良い。長い単語列をチャンクとして設定すると、修正精度は高くなるが、送出する字幕単語列の確定が遅くなる。短い単語列をチャンクとして設定すると、送出する字幕単語列の確定は早く行うことができるようになるが、修正精度は低下する。また、期待される音声認識の認識精度と原稿と読み上げ音声の一致度合いに応じて適切な長さのチャンクへの分割を行うようにしても良い。
[4.WFSTの構築方法]
次に、トランスデューサー構築装置240によるWFSTの構築方法について説明する。トランスデューサー構築装置240がWFSTを構築するに当たり、原稿テキスト記憶装置200に含まれる原稿テキストは、予め文に分割しておく。なお、文の最後は句点によって区切られる場合には、句点を目印に分割することができる。また、原稿テキストの構文解析を行うことによって、構文ルールから文の切れ目を検出して文への分割を行うようにしても良い。また、人手によって目印がつけられた箇所で文への分割を行うようにしたりしても良い。
本実施形態では、原稿テキスト記憶装置200に記憶されているテキストは、ニュース番組で取り上げられる可能性のある読み原稿である。ここで用意される原稿は、複数のニュース項目のための原稿を含む。また、各ニュース項目は、複数の文を含む。本実施形態では、ニュース項目が読まれる順番、あるいは文が読まれる順番を予め特定しておく必要がない。読まれる可能性のある原稿をすべて用意して、原稿テキスト記憶装置200に記憶させておけばよい。また、それらの原稿のうち、結果的に読まれないニュース項目や読まれない文があっても良い。
なお、WFSTの構築に先立って予め人手により原稿を整形しておくようにする。この整形により、必ず連続して読み上げられる単語列(文)を一つの文の単位としてまとめる。また、この整形により、原稿中において読み飛ばされる可能性のある部分を別の文として切り離しておく。
また、文は、予めチャンクに分割しておく。チャンク(即ち、出力遷移を行うまでの単語列の単位)を長く設定すると修正精度は高くなるが、出力する単語列の確定が遅くなる。逆に、チャンクを短く設定すると、送出する字幕単語列の確定は速くなるが修正精度が低下する。よって、どのような単位を利用するかについては、期待される音声認識の認識精度と、原稿と読み上げ音声の一致度合いと、に応じて適宜設計すればよい。いかなる方法で文のチャンクへの分割を行うにしても、チャンクは、文よりは短い単位である。
そして、トランスデューサー構築装置240は、チャンクを受理した直後に出力遷移を配置するように、WFSTを構成する。
トランスデューサー構築装置240による具体的なWFST構築手順は、次の通りである。WFSTの構築は、まず、WFSTの始点から開始される。
トランスデューサー構築装置240は、原稿テキスト記憶装置200からを一単語ずつ読み込む度に、同単語を受理する重み0の遷移と新たなノードとを順次作成していく。ここで、重み0の遷移とは3つ組のパラメーターで表すと、(s/ε:0.0)のことである。なお、sは単語である。そして、チャンクを一単位として、そのチャンクの後に出力遷移を追加してから、次のチャンクに含まれる各単語について同様の処理を繰り返す。なお、チャンクの終端が文の終端である場合には、最後のチャンクに関する出力遷移をWFSTの終点ノードに連結する。即ち、最後のチャンクに関する出力遷移の遷移先状態を、その終点ノードとする。
まだ更なる文が残っていたら、再び始点から始めて、上記の処理を繰り返す。
以下、原稿テキスト記憶装置200に含まれる全ての文についての処理を終えるまで、同様に繰り返す。
原稿テキスト記憶装置200からすべての原稿テキストを読み込み終えた後、次に、トランスデューサー構築装置240は、終点ノードと始点ノードとをイプシロン遷移で連結する。既に述べたように、イプシロン遷移とは、3つ組のパラメーターで表すと(ε/ε:ωu)という状態遷移ことである。なお、トランスデューサー構築装置240は、このイプシロン遷移のための重みωuとして適切な値を与える。これにより、WFSTは、より長く一致する文のスコアを高くすることができるようになる。またこれにより、WFSTは、他の文の接頭辞と一致する文が原稿中に存在するような場合にも、適切に動作できるようになる。そして、最後に、トランスデューサー構築装置240は、各単語の遷移に、置換、脱落、挿入を受理する遷移を追加する。なお、図3では、置換、脱落、挿入のための状態遷移を省略している。
[5.音声認識の適応化]
原稿をもとに読み上げられる音声を音声認識装置220が実際に認識するにあたり、予め、この原稿に含まれる単語列をもとに音声認識の言語モデルを適応化しておくことが望ましい。これにより、原稿通りに読み上げられた場合の音声認識の精度を高くすることができる。
[6.出力遷移からのトレースバック]
本実施形態では、トレースバックを開始するノードを、出力遷移の直前のノードのみに限定する。つまり、図3に例示したWFSTの状態遷移図において、トレースバックの対象となるノードは黒四角の記号で示したノードのみである。そして、黒丸の記号で示しているノードをトレースバックの対象としない。つまり、トレースバックの対象となるノードは、各チャンクの終端に当たるノードのみである。
WFSTのすべてのノードを対象としてその最尤ノード(時刻tにおいてすべてのノードの中で最もスコアの高いノード)からトレースバックを行うのと比べて、本実施形態の上記の方法では、出力の遅延を短縮することができる。つまり、本実施形態では、音声認識処理の結果に応じた修正後の字幕の表示の遅延を短縮することができる。
なお、既に述べたWFSTの構築方法においては、文を予めチャンクに分割しておき、各チャンクの終端に続いて出力遷移を設けた。しかしながら、文をチャンクに分割しないようにして(言い換えれば、1文を1チャンクとして)、トレースバックを開始するノードを出力遷移の直前のノードのみに限定することも可能である。そしてこのような場合にも、すべてのノードを対象としてその最尤ノードからトレースバックを行うのと比べて、出力の遅延を短縮することができる。
[7.字幕文出力の確定方法]
音声認識誤り修正装置100が、出力する単語列を確定するための方法について説明する。
時刻tにおける出力遷移の直前の最尤ノード(言い換えれば、チャンクの終端に当たるノードの中の最尤ノード)であるn(チルダ)(t)は、下の式(1)で表される。
Figure 2016045414
式(1)において、Qは、トレースバックの対象となるノードの集合である。つまり、Qは、出力遷移の直前のノードの集合である。nは、集合Qに属するノードである。そして、L(t)は、時刻tにおけるノードnのスコアである。なお、このスコアL(t)は、下の式(2)で表される。
Figure 2016045414
式(2)において、eは状態遷移であり、eおよびeは、それぞれ、状態遷移eの遷移元および遷移先のノードである。またeは、状態遷移eの状態遷移重みの値である。また、eは、状態遷移eの入力記号である。そして、eは、単語W、ε(空入力)、*(いずれの入力にもマッチするワイルドカード)のいずれかである。つまり、式(2)に示すとおり、時刻tにおけるノードnのスコア(尤度)は、ノードnを遷移先ノードとするすべての状態遷移の中で、時刻t−1におけるその状態遷移eの遷移元ノードeのスコアに、その状態遷移eの重み値eを加算したものである。
上記の式(1)による最尤ノードを求めるために、音声認識誤り修正装置100は、スコアL(t)に関して、閾値による枝刈りを行いながら、効率的なビタビ探索を行う。
そして、音声認識誤り修正装置100は、式(1)により求められた最尤ノードにたどり着くまでに通過した状態遷移eを、順次トレースバックして、状態遷移の系列を得る。既に出力済みの単語の時刻t−t´までトレースバックした結果はht−t´は、下の式(3)で表される。
Figure 2016045414
式(3)において、{et−t´,・・・}は、WFSTの始端を含まない状態遷移の集合である。また、{・・・,e}は、WFSTの終端を含まない状態遷移の集合である。そして、O(チルダ)は、下の式(4)で表されるように、始端と終端とに挟まれた区間l (つまり、l は文)の列である(k=1,2,・・・)。
Figure 2016045414
式(4)において、rは、O(チルダ)に含まれる区間l (文)の数である。さらに、このl は、下の式(5)に示すように、チャンクの列である。
Figure 2016045414
式(5)において、mt,kは、区間l に含まれるチャンクの数である。
音声認識誤り修正装置100は、この区間l ごとに下の式(6)で表されるチャンクの列を出力する。つまり、下の式(6)で表されるものが、音声認識誤り修正装置100によって出力される字幕文である。
Figure 2016045414
式(6)において、E(チルダ)(ot,k )は、誤り率に基づく誤りスコアである。また、Tは、誤りスコアに関する閾値であり、0<T<1である。誤りスコアE(チルダ)(ot,k )は、下の式(7)によって求められる。
Figure 2016045414
式(7)において、2入力の関数E(チルダ)(o,o)は、下の式(8)に示すように、E(チルダ)(o)とE(チルダ)(o)の、単語数の重みを付けた平均である。
Figure 2016045414
式(8)において、NとNは、それぞれ、チャンクoとoに含まれる単語の数である。また、E(チルダ)(o)は、チャンクoにおける受理単語数Nと、誤りを受理したことによる遷移の通過数Nとから求めた誤り率(編集距離)であり、下の式(9)で表される。
Figure 2016045414
つまり、式(7)に示した通り、区間l に含まれるチャンクot,k の誤りスコアであるE(チルダ)(ot,k )は、次に述べるように定義される。即ち、E(チルダ)(ot,k )は、チャンクot,k において式(9)で計算される誤り率と、ひとつ前のチャンクot,k u−1で計算される誤りスコアとの単語数による重み付き平均の値に基づく。ただし、その単語数による重み付き平均の値が所定の閾値Tよりも小さい場合には、E(チルダ)(ot,k )の値はゼロである(式(7)の右辺上段のケース)。一方、その単語数による重み付き平均の値が閾値T以上の場合にはその重み付き平均の値をそのままE(チルダ)(ot,k )の値とする(式(7)の右辺下段のケース)。このように、E(チルダ)(ot,k )の値は、ひとつ前のチャンクot,k u−1についてのE(チルダ)(ot,k u−1)の値に依存して定義されており、式(7)で再帰的に計算することにより出力を確定できる。
なお、式(7)において場合分けして、閾値Tよりも低い場合の誤りスコアをカットオフして0にしていることにより、前のチャンクにおける誤りの程度が小さい場合には、後ろの方のチャンクまでその誤りスコアを波及させないようにしている。
なお、式(6)や式(7)に示した閾値Tの具体的な値は適宜定めればよいが、例えばT=0.5とする、あるいは0.4≦T≦0.6の範囲内の値とすることが好適である。Tの値が大きすぎると(1に近づくと)高い誤り率を許容してしまうという不都合がある。他方で、Tの値が小さすぎると誤りに対して厳格になりすぎて、本来読み上げられている原稿に対して出力できる字幕の密度が低くなり過ぎるという不都合がある。したがって、前記の0.4≦T≦0.6の範囲が好適であり、特にT=0.5とすることが好適である。
[8.音声認識誤り修正装置の構成]
次に、音声認識誤り修正装置の構成について説明する。
図4は、音声認識誤り修正装置100の概略機能構成を示す機能ブロック図である。図示するように、音声認識誤り修正装置100は、WFST記憶部110と、ノードデータ更新部120と、ノードデータ記憶部130と、原稿探索部140と、出力部150とを含んで構成される。
WFST記憶部110(有限状態トランスデューサー情報記憶部)は、原稿テキストに対応して、音声認識結果として入力される単語を順次受理しながら状態遷移していく有限状態トランスデューサーであって、音声認識結果に含まれる単語の誤りをも受理しながら状態遷移していく有限状態トランスデューサーの、状態に関する情報、および状態遷移に関して遷移元状態と遷移先状態と入力シンボルと出力シンボルと遷移重みとを含む情報、とを記憶する。そして、WFST記憶部110は、出力シンボルが空でない状態遷移であるところの出力遷移を状態遷移の一部として含んで記憶している。また、原稿テキストに含まれる文を複数のチャンクに分割し、チャンクに含まれる単語を入力シンボルとして受理する状態遷移のパスの後に出力遷移を設けたWFSTの、状態に関する情報および状態遷移に関する情報を記憶する。
具体的には、WFST記憶部110は、原稿テキスト記憶装置200(図1)に基づいて予めトランスデューサー構築装置240が構築したWFSTを記憶している。具体的には、WFST記憶部110は、状態遷移図(ネットワーク)と等価な情報を記憶する。その情報とは、状態(ノード)の識別情報およびその状態の属性情報と、状態遷移(枝)の識別情報およびその状態遷移の属性情報である。状態遷移の属性情報は、遷移元状態の識別情報と、遷移先状態の識別情報と、遷移に関する重みの値とを少なくとも含む。
ノードデータ更新部120は、原稿テキストに対応する音声の認識結果である認識単語の入力を外部から受け付けるとともに、受け付けた認識単語に応じて、WFSTにおける状態ごとの当該時刻(その時刻)でのスコアを算出し、算出された前記スコアを用いてノードデータ記憶部130を更新する。
具体的には、ノードデータ更新部120は、音声認識装置220が出力する認識単語列に含まれる単語の入力を受け付ける時刻毎に、WFSTのネットワーク上を遷移可能な状態のスコアをノードデータとして計算および更新するものである。ノードデータ更新部120は、例えば、音声認識装置220から認識単語を1単語受け付ける都度、WFST記憶部110に記憶されたWFSTを参照して逐次的にビタビ探索を行い、ノードデータ記憶部130に記憶されているノードデータを更新する。
ノードデータ更新部120は、認識単語列の一部として入力される単語に応じて、状態遷移した場合のスコアを計算する。ノードデータ更新部120は、状態遷移の重みの値に基づいて、スコアを計算する。WFSTの例として述べたように、対応原稿と一致する単語が原稿通りの順で入力された場合には、重みの値として「0」をスコアに加算する。対応原稿と異なる単語が入力された場合、重みの値として「−1]をスコアに加算する。この「−1」はペナルティの意味を有する。
例えば、図2に示した例において、認識単語列として入力する単語列が、対応原稿と全く同じ単語列である場合、始点ノード001から、単語「先月」を受理して対応原稿の単語に対応する遷移を通ってノード002に進む。そして、この状態遷移に対応して、ノードデータ更新部120は、スコアに「0」を加算する。次に、ノード002から、例えば単語「の」を受理してノード003に進む。そして、この状態遷移に対応して、ノードデータ更新部120は、スコアに「0」を加算する。同様に、「関東甲信」、…を順次受理していくと、スコアには、各単語に対応する状態遷移の重みの値である「0」ずつ足していくことになる。
しかし他方で、例えば図2に示した例において、認識単語列として入力する単語列が、対応原稿と異なる単語列である場合、異なる状態遷移をする。つまり、始点ノード001から、例えば単語「先週」を受理すると、対応原稿の単語「先月」が置換されているので、置換に対応する遷移を通ってノード002に進む。この場合、ノードデータ更新部120は、スコアにその状態遷移の重みの値である「−1」(ペナルティ)を加算する。また、挿入誤りや脱落誤りに対応する遷移を通った場合にも、同様にノードデータ更新部120は、スコアにペナルティの「−1」を加算する。
このように、入力される認識単語がWFSTにおける状態遷移で受理する単語sと同じであった場合に、その遷移におけるスコアが最良となる。一方、置換、挿入、削除の編集に相当する状態遷移は、スコアが悪化する要因となる。ここで「編集」とは、本来あるべき単語を置換したり、削除したり、本来あるべき単語ではないものを挿入したりすることによって得られる結果を言う。例えば<D>が記載された状態遷移は、マッチする入力単語が無くても遷移できるが、<D>が記載された遷移だけを通るパスの場合、その遷移の数が多いほど、ペナルティが加算され、スコアが低くなる。WFSTは、認識単語列に、誤りや言い変えが含まれると、その分だけスコアが悪くなるという結果を生む。
ノードデータ記憶部130は、WFSTにおける状態の尤度を表すスコアを記憶する。つまり、ノードデータ記憶部130は、ノードデータ更新部120によって計算されるノードデータを記憶するものである。ノードデータ更新部120は、上述した計算結果に基づき、ノードデータ記憶部130をタイムリーに更新する。ノードデータ記憶部130は、例えば、半導体メモリやハードディスク装置等の一般的な記憶手段を用いて構成される。
原稿探索部140は、処理開始を示す起動信号を外部から受け付けると、ノードデータ記憶部130を参照することにより、その時点における最尤ノードを決定するとともに、WFST記憶部110とノードデータ記憶部130とを参照して、最尤ノードから状態遷移を遡ることにより、状態遷移が確定済みの所定の時刻までのトレースバック処理を行い、当該トレースバック処理した状態遷移のパスを出力候補とするとともに、出力候補となったパスに関して、当該パスに誤りに関する状態遷移が含まれる割合に応じた誤りスコアを算出し、算出された誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に当該パスの出力候補を、確定出力とする。また、原稿探索部140は、チャンクごとに誤りスコアを算出するとともに、チャンクごとの誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に、当該チャンクに対応する出力遷移の出力シンボルを、確定出力とするものであり、且つ、原稿探索部140は、チャンクごとの誤りスコアを算出する際に、当該チャンクと当該チャンクの直前のチャンクの区間に関して誤りに関する状態遷移が含まれる割合に応じた誤りスコアを、当該チャンクの誤りスコアとして算出する。
また、原稿探索部140は、出力遷移の遷移元状態に対応するノードの中で最尤であるノードをその時点における最尤ノードとして決定する。言い換えれば、原稿探索部140は、出力遷移の遷移元状態ではない状態に関しては、最尤ノードであるか否かを考慮しない。
具体的には、 原稿探索部140は、最終最良仮説を確定するための全原稿についての全認識単語列の認識結果の入力を待たず、予め定められた処理開始条件が満たされる都度、最尤の修正結果を求めるものである。原稿探索部140は、処理開始条件が満たされると、その時点でノードデータ記憶部130に記憶されているノードデータに基づいて、WFSTのネットワーク上をトレースバックしながら、最終最良仮説を部分的に近似した仮説を誤り修正結果として逐次確定する。
原稿探索部140は、WFSTに含まれる対応原稿の単語列と、入力された認識単語列との編集距離に基づいて最終最良仮説を近似する。原稿探索部140は、WFSTのネットワーク上で予め定められた範囲毎に区切ったパス間において、その先頭から末尾までのパス区間での編集距離がある程度小さければ、そのパス区間が信頼できるものとして確定して出力する。ここで、編集距離が短いということは、認識単語列と原稿の単語列とがほとんどマッチしているパスを通ってきたことを意味する。逆に、編集距離が長いパス区間は信頼度が低いので、その時点では確定せずに、次回のトレースバックのときにも利用する。いつまでも信頼度が低いパス区間は、原稿には元々記載されていない違うことを話した区間である、と推定される。よって、信頼度が低いパス区間を出力しない。
原稿探索部140における処理開始条件とは、例えば、発話音声がない無音期間が所定の期間に達した場合、または、音声認識装置220が出力する認識単語列としての単語の入力数が所定の単語数に達した場合等である。上記の所定の期間は、特に限定されないが一例として3秒間とする。また、上記の所定の単語数は、特に限定されないが一例として20単語とする。原稿探索部140に入力される起動信号は、上記の処理開始条件が成立したことを示す信号である。このときの起動信号は、例えば音声認識装置220が自動的にonするようにしてもよいし、操作者による手動の操作によってonするようにしても良い。この操作者は、ポーズ(所定の長さの無音)を認識したときや、所定の単語数を音声認識装置220が出力した認識したときに、起動信号をonする操作を行う。音声認識装置220が自動的に起動信号をonする場合には、音声認識の結果を利用してポーズを検出したり、音声認識結果として出力する単語の数をカウントしたりすることにより、起動信号を切り替えるきっかけとする。この構成により、認識単語が一単語入力される度に探索処理を開始する場合に比べて、処理負荷を低減できる。また、無音期間が所定の期間だけ継続していれば、その間、認識結果の単語が音声認識装置220側から渡されてこないので、装置の処理の負荷がその時点に集中することなく、ノードスコアを容易に比較することができる。
上記の機能を実現するために、原稿探索部140は、さらに次の構成を有する。即ち、原稿探索部140は、最尤ノード検出部141と、トレースバック部142と、原稿分割部143と、出力候補記憶部144と、誤りスコア算出部145と、誤りスコア判別部146と、確定出力記憶部147と、確定時刻記憶部148とを含んで構成される。
最尤ノード検出部141は、外部から受信する起動信号をトリガーとして動作し、その時点で記憶されているノードデータにおいてスコアが最大のノードを検出するものである。この起動信号は、上で述べたとおり、予め定められた処理開始条件が満たされたときに外部から供給されるものである。
トレースバック部142は、最尤ノード検出部141で特定されたノードから、当該ノードに到達するまでのパスについて、WFSTのネットワークを下流から上流に向かってたどる。このとき、トレースバック部142は、前回のトレースバックで確定した箇所まで、ネットワークを遡る。つまり、トレースバック部142は、前回確定して出力された単語系列の最後の入力単語に対応した時刻までトレースバックする。
原稿分割部143は、トレースバックするパスの中で、出力遷移に対応する区間ごとに単語列を切り出す。ここで、出力遷移とは、既に説明したように記号の出力を伴う状態遷移である。トランスデューサー構築装置240がWFSTを構築するときに、チャンクの終端の直後に、出力遷移が設けられている。つまり、原稿分割部143によって分割された結果の区間は、前述のチャンクの単位である。原稿分割部143は、トレースバックされた結果得られるパス全体を分割し、分割した結果得られる各々の単語列を出力する。
出力候補記憶部144は、原稿分割部143が分割した結果得られたパス区間に対応した出力遷移の出力シンボル(切り出された原稿)を、出力候補として記憶する。出力候補記憶部144は、例えば、半導体メモリやハードディスク装置等の一般的な記憶手段を用いて構成される。
誤りスコア算出部145は、原稿分割部143によって分割して切り出された区間(チャンク)毎に、誤りスコアを算出する。誤りスコア算出部145は、既に説明した式(7)を用いて誤りスコアを算出する。
誤りスコア判別部146は、誤りスコア算出部145によって算出された誤りスコアが所定の閾値Tより小さいか否かを判定する。つまり、誤りスコア判別部146は、既に説明した式(6)に含まれる条件に基づいて判別する。
確定出力記憶部147は、誤りスコア判別部146による判定結果に基づいて確定された出力(確定出力と呼ぶ)を記憶する。具体的には、誤りスコア判別部146によって誤りスコアが閾値Tより小さいと判定された場合、確定出力記憶部147は、当該所定パス区間における出力遷移の出力シンボルを誤り修正結果として記憶する。その他の場合、確定出力記憶部147は、当該所定パス区間における出力遷移の出力シンボルを誤り修正結果として記憶しない。なお、確定出力記憶部147は、例えば半導体メモリやハードディスク装置等の一般的な記憶手段を用いて構成される。また、確定出力記憶部147の記憶構造はスタックであり、確定出力記憶部147は後入れ先出し(LIFO)の構造でデータを保持する。
確定時刻記憶部148は、最新のトレースバック処理で確定した確定時刻を記憶する。確定時刻記憶部148は、例えば半導体メモリやハードディスク装置等の一般的な記憶手段である。確定時刻記憶部148は、今回トレースバックする全パス区間(切り出された全ての原稿)について、誤りスコア判別部146による判別処理が終了した時点で、スタックに積まれた出力シンボルに対応する最新の確定単語の時刻を確定時刻として記憶する。
出力部150は、原稿探索部140によって誤り修正結果として確定された対応原稿(つまり、確定出力)を逐次出力するものである。出力部150は、WFSTのネットワークを今回トレースバックするパスの中で、切り出されたすべての対応原稿の各パス区間に対して算出された誤りスコアについての判定処理が全て終了するまでに確定された出力シンボルのデータを出力する。具体的には、出力部は、確定出力記憶部147のスタックに積まれている出力シンボルのデータを、そのスタックが空になるまで出力する。
この音声認識誤り修正装置100は、間違って音声認識された単語を修正して出力するとともに、大幅に間違った認識結果を出力しない、という動作を行う。つまり、音声認識誤り修正装置100による修正結果を、仮に事前に人が見ることができたとしたときに、「これでは文章として成立していない」、「意味が異なっている」と感じるほどの間違い部分を、音声認識誤り修正装置100がその処理の中で検出し、その検出部分を出力しないという動作も、広義の誤り修正として含んでいる。これは、誤りスコアを算出し、その誤りスコアに基づく判別を行っていることによるものである。
[9.音声認識誤り修正装置の動作手順]
図5は、音声認識誤り修正装置100による処理の手順を示すフローチャートである。なお、このフローチャートの処理の前提は、次の4点である。
(前提1)認識結果の単語入力を{ω,ω,…,ω,…,ω,…}とする。
(前提2)前回のトレースバックにより確定した部分の最後の入力単語をωとし、そのときの出力遷移をa(時間軸に沿ったP番目の出力遷移)とする。
(前提3)認識結果の単語ωが入力された後、所定の無音が続いたことをトリガーに、逐次確定を行う場合を考える。
(前提4)ノードデータ更新部120は、無音になる前に最後に入力した単語ωを受理して遷移できるノードを全て計算する。
以下では、このフローチャートを参照しながら、音声認識誤り修正装置100による処理の流れについて説明する。
まずステップS1において、外部からの起動信号の入力をトリガーとして、最尤ノード検出部141は、その時点で記憶されているノードデータにおいて最もスコアの高いノードを、最尤ノードとして検出する。この検出ノードで表される状態は、トレースバック開始時点の最尤状態である。
次にステップS2において、トレースバック部142は、ステップS1において検出された最尤ノードから、前回のトレースバック処理で確定された時刻まで、トレースバックする。具体的には、トレースバック部142は、検出された最尤ノードに到達したパスについてWFST上の単語履歴を逆向きに(時間をさかのぼる方向に)たどり、前回のトレースバックで確定し、出力された単語系列の最後の入力単語ωkを求める。また、トレースバック部142は、対応する状態遷移(受理する単語がωkである状態遷移)を求める。そして、それらの単語および状態遷移に対応する確定時刻までトレースバックする。なお、トレースバック部142は、確定時刻記憶部148を参照し、その確定時刻記憶部148に格納されている確定時刻を、上記の最後の入力単語ωkに対応した確定時刻とする。
なお、受理単語がωである状態遷移の代わりに、出力遷移aにたどり着くまでトレースバックするようにしてもよい。
次にステップS3において、原稿分割部143は、原稿を分割し、分割結果として得られた単語列をそれぞれ出力候補とする。具体的には、原稿分割部143は、今回トレースバックするパスの中で、2つの出力遷移間に挟まれたパス区間毎に原稿を分割する。そして、原稿分割部143は、得られたそれぞれの出力候補を、出力候補記憶部144に格納する。
なお、ここでの処理の方法として、出力遷移aにたどり着くまで逆向きに(つまり、時間を遡る方向に)進みながら、出力可能な出力遷移a(時間軸に沿ったL番目(ただしL>P)の出力遷移)を通過する度に原稿を分割してもよい。また、出力遷移aの側から出力可能な出力遷移aを通過する度に原稿を分割してもよい。
なお、出力可能な出力遷移aとは、出力遷移のシンボルが出力候補になるものであるが、後に、誤りスコア判別部146によって棄却される出力遷移(つまり、出力部150からは結局出力されない出力遷移)をも含んでいる。
次にステップS4において、誤りスコア算出部145は、出力候補の誤りスコアを算出する(ステップS4)。具体的には、誤りスコア算出部145は、式(7)によってチャンクot,k の誤りスコアE(チルダ)(ot,k )を算出する。
次にステップS5において、誤りスコア判別部146は、出力候補のうちの一つを選択し、その出力候補に関して算出された誤りスコアが閾値T未満であるか否かを判別する。誤りスコアが閾値T未満である場合(ステップS5:YES)には、次のステップS6に進む。誤りスコアが閾値T以上である場合(ステップS5:NO)には、ステップS8に飛ぶ。
次にステップS6に進んだ場合、誤りスコア判別部146は、WFSTのネットワーク上の当該パス区間(チャンク)の出力遷移を確定し、その出力シンボルを誤り修正結果として確定する。
次にステップS7において、誤りスコア判別部146は、今回確定した出力シンボルのデータを、確定出力記憶部147に書き込む。前述のとおり、確定出力記憶部147は後入れ先出しの構造を有するスタックである。
これらのステップS6およびS7の処理は、ステップS5における分岐制御により、現在のチャンクの誤りスコアが閾値T未満である場合のみに実行される。
次にステップS8に進むと、誤りスコア判別部146は、すべての出力候補を判別し終えたか否かを判断する。すべての出力候補の判別が終了している場合(ステップS8:YES)、次のステップS9に進む。すべての出力候補の判別が終了していない場合、すなわち依然として選択すべき出力候補がある場合(ステップS8:NO)、ステップS5に戻って次の出力候補を選択する。
つまり、切り出されたすべての原稿に対応した各パス区間に対して算出された誤りスコアについての判定処理が終了した場合に、次のステップS9に進む。
ステップS9において、誤りスコア判別部146は、確定時刻記憶部148を更新する。つまり、誤りスコア判別部146は、スタックに積まれた出力シンボルに対応する確定単語の時刻が最も新しいものを今回のトレースバック処理で確定した確定時刻として確定時刻記憶部148に格納する。
次にステップS10において、出力部150は、その時点で確定出力記憶部147に書き込まれている出力シンボルのデータを、確定出力記憶部147が空になるまで順次読み出し、出力する。これにより、スタックに積まれていたすべての出力データは、出力される。なお、出力部150は、WFSTのネットワークの前方側に配置された原稿から順に(つまり、時刻の早い側から順に)出力する。
つまり、出力部150は、毎回のトレースバック処理でスタックに積んだデータを、確定された原稿として逐次出力する。このとき、音声認識結果のうち、所定のパス区間の誤りスコアが閾値T以上である場合、信頼度が低いパスなので、当該パス区間の出力遷移の出力シンボルは、誤り修正結果としては採用されない。したがって、出力部150は、そのような信頼度の低いパス区間の出力シンボルを、出力しない。
ステップS10の処理が終了すると、音声認識誤り修正装置100は、このフローチャート全体の処理を終了する。
[10.字幕文出力の具体例と評価]
以上、説明したように、本実施形態による音声認識誤り修正装置100の処理の特徴は、(1)文をチャンクに分割すること、(2)チャンクの終端に出力遷移を設けること、(3)出力遷移の箇所からトレースバックすること、である。このような特徴的な処理をすることによる作用を、具体的な処理例とともに、次に説明する。
図6は、本実施形態による字幕文出力の確定方法の実例を示す概略図である。同図の(A)および(B)は、それぞれ、入力される認識結果の単語列と、それらの単語に対応するWFSTの状態遷移と、その結果としての出力シンボルとの関係を示し、また算出される誤りスコアを付記している。
まず、同図(A)の例において、入力される単語列は「今日/の/関東/地域/は」である。これらの単語を受け付けると、WFSTは、次のように遷移する。即ち、始端からスタートして、入力単語「今日」は、対応する原稿内の「今日」にマッチして、ペナルティの無い状態遷移が起こる。次の単語「の」は、対応する原稿内の「の」にマッチして、ペナルティの無い状態遷移が起こる。次の単語「関東」は、対応する原稿内の「関東」にマッチして、ペナルティの無い状態遷移が起こる。次の単語「地域」は、発話者による読み替えまたは音声認識装置220による認識誤りにより入力された単語である。したがって、対応する原稿内の「地方」にはマッチせず、置換の状態遷移が起こる。次の単語「は」は、対応する原稿内の「は」にマッチして、ペナルティの無い状態遷移が起こる。そして、「晴れ」と「です」は入力されていないが、脱落の状態遷移が起こると、黒四角で示すチャンクの終端の状態にたどり着く。そして、出力遷移における出力シンボルである「今日の関東地方は晴れです。」が、出力候補となる。ここで、このチャンクに関する誤り率は3/7である。即ち、誤りスコアは、3/7である。閾値Tを0.5とする場合、この誤りスコアは閾値Tよりも小さい。そして、音声認識誤り修正装置100は、出力候補である「今日の関東地方は晴れです。」の出力を確定することができる。
次に、同図(B)の例で示すWFSTのネットワークにおいては、一連の区間が、abcdefのチャンクと、ghijkのチャンクとに分割されている。そして、各チャンクの終端に、出力遷移が設けられている。そして、入力される単語列はabcxeyghである。これらの単語を受け付けると、WFSTは、次のように遷移する。即ち、始端からスタートして、入力単語a,b,cのそれぞれは、対応する原稿内のa,b,cにマッチして、これらの単語の各々に関するペナルティの無い状態遷移が起こる。次の入力単語xについては、原稿内の単語dの置換の状態遷移が起こる。次の入力単語eは、原稿内のeにマッチして、ペナルティの無い状態遷移が起こる。そして、次の入力単語yについては、原稿内の単語fの置換の状態遷移が起こる。その遷移先がチャンクの終端の状態であり、その次の出力遷移における出力シンボルがabcdefである。ここまでのチャンクの誤りスコアは、2/6である(正常な状態遷移が4つで、置換の状態遷移が2つなので、2/(4+2))。
続いて同図(B)内で、入力単語g,hのそれぞれは、対応する原稿内のg,hにマッチして、これらの単語の各々に関するペナルティの無い状態遷移が起こる。ここで入力単語列は終わるが、対応する原稿内のi,j,kについては脱落の状態遷移が起こり得る。ここで、原稿内のghijkの列の区間だけについて謝り率は3/5であり、閾値T(=0.5)を超えている。何故なら、g,hが入力にマッチして、i,j,kが脱落しているからである。しかしながら、式(9)によって計算される誤りスコアは、前のチャンクにおける誤りスコアとの加重平均(チャンク内の単語数による加重平均)をとって、5/11である。この誤りスコア5/11は閾値Tより小さい。したがって、音声認識誤り修正装置100は、出力候補abcdefを出力するとともに、次のチャンクに対応する出力候補ghijkをも出力する。
同図(A)の例によって示した通り、音声認識誤り修正装置100は、単語「は」より後の入力単語が仮にすべて誤っていた(音声認識装置220による認識誤りなど)としても、早期に対応する字幕文を出力することができる。これは、単語「は」より後の入力単語がすべて誤っていたとしても誤りスコアが閾値Tより小さいためである。
また、同図(B)の例によって示した通り、予めチャンクを分割しておいた場合には、式(9)の作用で、現在着目するチャンクの、前方の確定済のチャンクの誤りスコアを利用することによって、さらに早期に、現在着目するチャンクの出力を確定できる。
[11.誤りスコアに関する閾値Tの決め方]
もし音声認識装置の認識精度が90%くらいであれば、誤りスコアの基礎となる単語の誤り率は10%程度になる可能性がある。本実施形態で誤りスコア判別部146による判別に用いるための閾値Tとしては、音声認識の認識精度に応じて、単語一致率の信頼度分だけマージンを取って設定することが好ましい。ここで、単語一致率の信頼度は、WFSTのネットワークの2つの出力遷移間の単語数に依存する。
閾値Tを設定するためのその他の要因としては、原稿テキスト記憶装置200に記憶される原稿の候補の文章としての重なりがどのくらいの割合であるのかという点がある。例えば、下記(E1)〜(E3)に示す文の場合、文章としての重なりが80%くらいの割合で含まれている。
(E1) 今日 の 天気 は 晴れ です
(E2) 今日 の 天気 は 雨 です
(E3) 今日 の 天気 は 曇り です
このような場合、閾値Tも80%くらいに設定してしまうと、所望の動きが実現できない。
なお、ニュース原稿の文を適切にチャンクに分割して出力遷移を配置し、閾値Tを50%とした条件で実験した場合、良好に動作することが確認できた。
以上説明したように、本実施形態に係る音声認識誤り修正装置100は、文の順序は変わり得るとは言え、原則として、原稿テキストに含まれる文が連続して発声されるという拘束を利用して、認識結果と原稿テキストとを対応付けることで、認識誤りを修正することができる。つまり、従来技術によるブロック照合方式の自動修正誤りを解消する。
また、本実施形態による音声認識誤り修正装置100は、認識単語の単語列が原稿テキスト内に含まれる単語列のどこと一番マッチしているのかを、従来技術による方式より長い範囲で照合している。つまり、従来のブロック照合方式が単語連鎖ブロックに相当する区間だけを照合するのに対して、音声認識誤り修正装置100は、原稿の文章を遡りながらもっと長い文章全体で照合する。そのため、どこでマッチさせるのがよいのかが従来よりも明白に分かり、自動修正誤りを従来よりも低減できる。
本実施形態による音声認識誤り修正装置100は、文を複数のチャンクに分割し、チャンクの終端に出力遷移を設けている。これにより、文の途中であっても、確定させた単語列を出力することができる。
また、本実施形態による音声認識誤り修正装置100は、出力遷移が存在する箇所のみからトレースバックするように限定した。これにより、計算量を抑制することができる。
なお、上述した実施形態における音声認識誤り修正装置、原稿テキスト記憶装置、音声認識装置、トランスデューサー構築装置の機能をコンピューターで実現するようにしても良い。その場合、これらの機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
以上、実施形態を説明したが、本発明はさらに次のような変形例でも実施することが可能である。また、複数の変形例を組み合わせて実施しても良い。
[変形例1]音声認識誤り修正装置の構成
音声認識誤り修正装置100が、内部にトランスデューサー構築装置240を備えるようにしてもよい。
[変形例2]言い換えを受理するWFSTの構築
WFSTの情報源となるアナウンス用原稿には、それが読まれるときに、読み飛ばされる句や、言い換えられる句、補足される句が含まれている場合がある。これらの一部には、定型で高い頻度で省略/言い換え/補足が行われる。例えば、ニュース番組の原稿では、取材元を表す「警視庁によりますと」などといった句は、読み飛ばされやすいことの多い句である。このような句が読み飛ばされたとしても、ニュース主文の文意に変わりはなく、言い換えればいわゆる5W1Hに関する変化はなく、ニュース番組としての実用上の問題はない。
本変形例では、このような定型的な言い回しのバリエーションをWFSTに追加しておくことで、精度よく修正結果を出力できるようにする。上記の言い回しのバリエーションの追加は、原稿から構築したWFSTとは別に、言い回しのバリエーションを追加するための別のWFSTを構築しておき、原稿から構築したWFSTと合成することにより、効率よく行うことができる。なお、WFSTの合成や、最小化や、決定化などを行うための公知のアルゴリズムを適用することができる。
上記のような言い換え例を含んだWFSTを構築するためには、過去の同種の番組の原稿テキストと、実際に読み上げられた単語列との差分を分析し、頻度が高く、且つ言い換えによって文意に変更がないものを予め選別して収集しておく。そして、この選別された言い換え例ごとに、言い換えを合成するためのWFSTを構築しておき、原稿から構築したWFSTと、言い換え例のWFSTとを合成する演算(既存技術による演算)を施すことにより、言い換えに対応可能なWFSTを構築することができる。
[変形例3]認識結果への付加
音声認識の結果では得られない記号等(句点や、読点や、その他の記号等)を、出力状態遷移における出力シンボル内に含めるようにしても良い。例えば、ニュース原稿に予めそれらの記号等を含めておき、そのニュース原稿に基づいてWFSTを構築するときに、出力シンボル内にそれらの記号等が残るようにする。そのようなWFSTを用いて音声認識誤り修正装置100を稼働させることにより、それらの記号等を含んだ読みやすい字幕を出力することができる。
[変形例4]認識結果に対応するその他の出力(多言語字幕)
上記の変形例3に加え、出力遷移における出力シンボルとして、原稿のテキストを他国語等に翻訳した結果の単語列を用いても良い。これにより、読み上げられた元の原稿とは異なる言語での字幕を出力することができる。また、複数のWFSTを同時に並行して稼働させることにより、複数ヶ国語の字幕を出力することもできる。また、出力遷移における出力シンボルとして、番組の進行をコントロールするためのキューに相当する記号を含めるようにしても良い。このキューが出力されることをトリガーとして、ハイブリッドキャストなどの番組連動サービスに対して、起動や場面転換等の指示情報を与えることもできる。これにより、より多彩な放送サービスを実現することができる。
[変形例5]WFSTの最小化
本変形例では、WFSTを作成する際に、可能であればWFSTの最小化を行う。WFSTの最小化とは、与えられた状態遷移図において、集約可能な複数の状態(ノード)を集約したり、集約可能な複数の状態遷移(枝)を集約したりすることである。WFSTを集約すること自体は、既存技術によって行うことができる。WFSTの最小化の一例は次の通りである。即ち、WFSTのネットワークにおいて、共通する複数の部分ネットワークを同一の状態遷移の列として構成し直す。このようなWFSTの最小化を用いることにより、共通する単語列についての状態遷移を削減することができる。例えば、同じ接頭辞を有する単語列(文)を同一の遷移で共有できる。これにより、演算量を削減することができる。
[変形例6]WFSTの決定化
WFSTを作成する際に、必要があればWFSTの決定化を行う。具体的には、WFSTのネットワークにおいて、状態遷移の途中で、出力シンボルが決定する場合には、少しでも早く推定結果を出力するために、出力文の位置を前のほうに変更する。WFSTの決定化を行うことにより、例えば、接頭辞がユニークとなる遷移に出力文を移動する。これにより、出力文を旱期に確定できるようになるなどの利点がある。ただし、WFSTを作成する際にWFSTの決定化を行った場合、原稿探索部140による最尤仮説の探索処理でも対応できるように設定変更が必要である。つまり、WFSTの決定化を行わない場合に比べて、誤りスコアを計算するためのパス区間を出力遷移の前後にシフトさせる必要がある。加えて、前後のパス区間の伸縮分を吸収できるように、閾値Tをより厳しい値(誤り率がより小さい値)に設定する必要がある。
[変形例7]誤りスコアの求め方
本実施形態では、式(9)に示した誤り率(編集距離)に基づいて誤りスコアを計算した。これに限らず、原稿と認識結果の一致率、一致精度、脱落率、挿入率を利用したり、それらを併用したりすることによって、誤りスコアを算出するようにしても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
本発明は、音声認識結果を利用した字幕等のコンテンツの作成に利用することができる。本発明は、例えば、放送事業や、その他のコンテンツ提供事業において、利用することが可能である。
100 音声認識誤り修正装置
110 WFST記憶部(有限状態トランスデューサー情報記憶部)
120 ノードデータ更新部
130 ノードデータ記憶部
140 原稿探索部
141 最尤ノード検出部
142 トレースバック部
143 原稿分割部
144 出力候補記憶部
145 誤りスコア算出部
146 誤りスコア判別部
147 確定出力記憶部
148 確定時刻記憶部
150 出力部
200 原稿テキスト記憶装置
220 音声認識装置
240 トランスデューサー構築装置
241 単語ネットワーク登録部
242 編集ネットワーク登録部

Claims (3)

  1. 原稿テキストに対応して、音声認識結果として入力される単語を順次受理しながら状態遷移していく有限状態トランスデューサーであって、前記音声認識結果に含まれる単語の誤りをも受理しながら状態遷移していく前記有限状態トランスデューサーの、状態に関する情報、および状態遷移に関して遷移元状態と遷移先状態と入力シンボルと出力シンボルと遷移重みとを含む情報、とを記憶する有限状態トランスデューサー情報記憶部と、
    前記有限状態トランスデューサーにおける前記状態の尤度を表すスコアを記憶するノードデータ記憶部と、
    前記原稿テキストに対応する音声の認識結果である認識単語の入力を外部から受け付けるとともに、受け付けた前記認識単語に応じて、前記有限状態トランスデューサーにおける前記状態ごとの当該時刻でのスコアを算出し、算出された前記スコアを用いて前記ノードデータ記憶部を更新するノードデータ更新部と、
    処理開始を示す起動信号を外部から受け付けると、ノードデータ記憶部を参照することにより、その時点における最尤ノードを決定するとともに、前記有限状態トランスデューサー情報記憶部と前記ノードデータ記憶部とを参照して、前記最尤ノードまでの状態遷移を遡ることにより、状態遷移が確定済みの所定の時刻までのトレースバック処理を行い、当該トレースバック処理した状態遷移のパスを出力候補とするとともに、出力候補となった前記パスに関して、当該パスに前記誤りに関する状態遷移が含まれる割合に応じた誤りスコアを算出し、算出された前記誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に当該パスの出力候補を、確定出力とする原稿探索部と、
    前記原稿探索部によって求められた前記確定出力を出力する出力部と、
    を具備する音声認識誤り修正装置であって、
    前記有限状態トランスデューサー情報記憶部は、出力シンボルが空でない状態遷移であるところの出力遷移を前記状態遷移の一部として含んで記憶しており、前記原稿テキストに含まれる文を複数のチャンクに分割し、前記チャンクに含まれる単語を入力シンボルとして受理する状態遷移のパスの後に前記出力遷移を設けた前記有限状態トランスデューサーの、前記状態に関する情報および前記状態遷移に関する情報を記憶する、
    ことを特徴とする音声認識誤り修正装置。
  2. 前記原稿探索部は、前記チャンクごとに前記誤りスコアを算出するとともに、前記チャンクごとの前記誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に、当該チャンクに対応する前記出力遷移の出力シンボルを、前記確定出力とするものであり、且つ、前記原稿探索部は、前記チャンクごとの前記誤りスコアを算出する際に、当該チャンクと当該チャンクの直前のチャンクの区間に関して前記誤りに関する状態遷移が含まれる割合に応じた誤りスコアを、当該チャンクの誤りスコアとして算出する、
    ことを特徴とする請求項1に記載の音声認識誤り修正装置。
  3. 原稿テキストに対応して、音声認識結果として入力される単語を順次受理しながら状態遷移していく有限状態トランスデューサーであって、前記音声認識結果に含まれる単語の誤りをも受理しながら状態遷移していく前記有限状態トランスデューサーの、状態に関する情報、および状態遷移に関して遷移元状態と遷移先状態と入力シンボルと出力シンボルと遷移重みとを含む情報、とを記憶する有限状態トランスデューサー情報記憶部と、
    前記有限状態トランスデューサーにおける前記状態の尤度を表すスコアを記憶するノードデータ記憶部と、
    前記原稿テキストに対応する音声の認識結果である認識単語の入力を外部から受け付けるとともに、受け付けた前記認識単語に応じて、前記有限状態トランスデューサーにおける前記状態ごとの当該時刻でのスコアを算出し、算出された前記スコアを用いて前記ノードデータ記憶部を更新するノードデータ更新部と、
    処理開始を示す起動信号を外部から受け付けると、ノードデータ記憶部を参照することにより、その時点における最尤ノードを決定するとともに、前記有限状態トランスデューサー情報記憶部と前記ノードデータ記憶部とを参照して、前記最尤ノードまでの状態遷移を遡ることにより、状態遷移が確定済みの所定の時刻までのトレースバック処理を行い、当該トレースバック処理した状態遷移のパスを出力候補とするとともに、出力候補となった前記パスに関して、当該パスに前記誤りに関する状態遷移が含まれる割合に応じた誤りスコアを算出し、算出された前記誤りスコアに基づいて誤りの度合いが所定の閾値より小さい場合に当該パスの出力候補を、確定出力とする原稿探索部と、
    前記原稿探索部によって求められた前記確定出力を出力する出力部と、
    を具備する音声認識誤り修正装置であって、
    前記有限状態トランスデューサー情報記憶部は、出力シンボルが空でない状態遷移であるところの出力遷移を前記状態遷移の一部として含んで記憶しており、
    前記原稿探索部は、前記出力遷移の遷移元状態に対応するノードの中で最尤であるノードをその時点における前記最尤ノードとして決定する、
    ことを特徴とする音声認識誤り修正装置。
JP2014170540A 2014-08-25 2014-08-25 音声認識誤り修正装置 Active JP6358744B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014170540A JP6358744B2 (ja) 2014-08-25 2014-08-25 音声認識誤り修正装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014170540A JP6358744B2 (ja) 2014-08-25 2014-08-25 音声認識誤り修正装置

Publications (2)

Publication Number Publication Date
JP2016045414A true JP2016045414A (ja) 2016-04-04
JP6358744B2 JP6358744B2 (ja) 2018-07-18

Family

ID=55636013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014170540A Active JP6358744B2 (ja) 2014-08-25 2014-08-25 音声認識誤り修正装置

Country Status (1)

Country Link
JP (1) JP6358744B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112151020A (zh) * 2019-06-28 2020-12-29 北京声智科技有限公司 语音识别方法、装置、电子设备及存储介质
CN113468871A (zh) * 2021-08-16 2021-10-01 北京北大方正电子有限公司 文本纠错方法、装置及存储介质
JP2022548718A (ja) * 2019-10-16 2022-11-21 アイフライテック カンパニー,リミテッド 復号化ネットワーク構築方法、音声認識方法、装置、設備及び記憶媒体

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012128188A (ja) * 2010-12-15 2012-07-05 Nippon Hoso Kyokai <Nhk> テキスト修正装置およびプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012128188A (ja) * 2010-12-15 2012-07-05 Nippon Hoso Kyokai <Nhk> テキスト修正装置およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
佐藤庄衛、外5名: "原稿WFSTを利用した誤認識修正アルゴリズム", 日本音響学会 2014年 春季研究発表会講演論文集CD−ROM, JPN6018018282, 12 March 2014 (2014-03-12), pages 65 - 66, ISSN: 0003799882 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112151020A (zh) * 2019-06-28 2020-12-29 北京声智科技有限公司 语音识别方法、装置、电子设备及存储介质
JP2022548718A (ja) * 2019-10-16 2022-11-21 アイフライテック カンパニー,リミテッド 復号化ネットワーク構築方法、音声認識方法、装置、設備及び記憶媒体
CN113468871A (zh) * 2021-08-16 2021-10-01 北京北大方正电子有限公司 文本纠错方法、装置及存储介质

Also Published As

Publication number Publication date
JP6358744B2 (ja) 2018-07-18

Similar Documents

Publication Publication Date Title
CN107657947B (zh) 基于人工智能的语音处理方法及其装置
JP4580885B2 (ja) シーン情報抽出方法、シーン抽出方法および抽出装置
CN109635270B (zh) 双向概率性的自然语言重写和选择
CN107305541B (zh) 语音识别文本分段方法及装置
US8275618B2 (en) Mobile dictation correction user interface
CN106570180B (zh) 基于人工智能的语音搜索方法及装置
US20060149551A1 (en) Mobile dictation correction user interface
US8214209B2 (en) Speech recognition system, method, and computer readable medium that display recognition result formatted in accordance with priority
WO1998025216A1 (en) Indirect manipulation of data using temporally related data, with particular application to manipulation of audio or audiovisual data
CA3158353A1 (en) Audio-outputting method and system thereof
US8892435B2 (en) Text data processing apparatus, text data processing method, and recording medium storing text data processing program
JP5296598B2 (ja) 音声情報抽出装置
JP6406988B2 (ja) 音声認識誤り修正装置
CN113225612B (zh) 字幕生成方法、装置、计算机可读存储介质及电子设备
JP6358744B2 (ja) 音声認識誤り修正装置
JP4528705B2 (ja) 文字認識装置および文字認識方法
JP2005167452A (ja) 映像シーン区間情報抽出方法,映像シーン区間情報抽出装置,映像シーン区間情報抽出プログラムおよびそのプログラムを記録した記録媒体
Levin et al. Automated closed captioning for Russian live broadcasting
US11869491B2 (en) Abstract generation device, method, program, and recording medium
JP6508808B2 (ja) 音声認識誤り修正装置
US20200364402A1 (en) Method and apparatus for improved automatic subtitle segmentation using an artificial neural network model
JP6232282B2 (ja) 音声認識誤り修正装置
JP2004302175A (ja) 音声認識システム、音声認識方法及び音声認識プログラム
JP2008241970A (ja) 話者適応装置、話者適応方法及び話者適応プログラム
JP5243886B2 (ja) 字幕出力装置、字幕出力方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180510

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180522

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180618

R150 Certificate of patent or registration of utility model

Ref document number: 6358744

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250