以下、本発明の実施の形態について図面を参照して説明する。ここでは本発明を、ニュース番組等の音声から字幕を生成する際に、番組の音声を音声認識技術によって変換して得られる文字データに対して適用し、字幕生成装置として構成している。
[字幕生成装置(文字データ修正装置)の構成]
図1は本発明における字幕生成装置(文字データ修正装置)の構成を示したブロック図である。字幕生成装置1は入力されたニュース番組等の音声の字幕化を行うもので、さらに、番組の音声を音声認識技術により文字データに変換し、この文字データ中の誤りを含む文字列を、オペレータの音声によって選択して修正するものである。ここでは、字幕生成装置1は、入力手段10と、番組音声認識手段11と、符号付加手段12と、表示手段13と、指令音声認識手段14と、認識結果解析手段15と、文字列選択手段17と、修正手段18と、記憶手段19と、出力手段20とを備えている。また、ここでは、字幕生成装置1は、文字や画像を表示するための表示装置2、音声を入力する入力手段であるマイク3、キー操作により文字等を入力する入力手段であるキーボード4とを外部に接続している。
入力手段10は、字幕化する番組音声を外部から入力するものである。入力された番組音声は番組音声認識手段11へ出力される。
番組音声認識手段11は、入力手段10から入力される番組音声を、言語・音響モデル19dに基づいて音声認識し、文字データとして出力するものである。なお、音声認識は公知の音声認識技術を用いて実現することができる。そして、ここで認識された文字データは符号付加手段12へ出力される。
符号付加手段12は、番組音声認識手段11の認識結果である文字データを複数の文字群に区分し、各文字群に符号を付加して、この文字群と、文字群に対応する符号とを関連付けた符号対応データを作成するものである。ここでは、文字データを形態素単位に分割し、この形態素を文字群とした。また、符号付加手段12は、形態素解析部12aと、符号対応データ生成部12bとを備えている。なお、番組音声認識手段11が形態素を単位として出力する場合は、形態素解析部12aは不要である。
形態素解析部12aは、番組音声認識手段11から入力される文字データを形態素単位に分割するものである。ここでは、形態素解析部12aは、言語・音響モデル19dに記憶されている形態素辞書に基づいて、文字データを形態素解析することで、形態素単位に分割する。また、形態素解析部12aは、この文字データを後記する表示装置2に表示できるデータ量の単位(以下、表示単位という)に分割する。そのため、この文字データは表示単位に分割され、さらに形態素単位に分割される。そして、形態素解析部12aは、最初の表示単位の文字データを符号対応データ生成部12bへ出力する。それ以外の表示単位の文字データは、後記する修正手段からの信号に基づいて、一表示単位ずつ、符号対応データ生成部12bへ出力する。
なお、ここでは番組音声認識手段11の認識結果である文字データを、形態素単位に分割しているが、他の単位で分割しても良く、例えば句単位や文単位などに分割しても良い。
符号対応データ生成部12bは、形態素解析部12aから入力された文字データの形態素と符号Yi(i=1,2,3,…)とを対応させ、符号対応データを作成するものである。すなわち、符号対応データ生成部12bは、形態素解析部12aから形態素が入力されると、その形態素を文字群Xi(i=1,2,3,…)とし、これを符号対応データとする。なお、iは、表示単位の文字データの形態素が形態素解析部12aから入力される順番i(i=1,2,3,…)であり、表示単位の文字データ内で、文字群Xiがi番目に位置することを示すものである。そして、その文字群Xiと、予め記憶手段19のコマンドデータ19bに符号データとして登録してある符号Yiとを対応させることで、符号Yiと関連付けてある文字群Xiからなる符号対応データを、記憶手段19に符号対応データ19a(文字群記憶手段)として記憶する。この時、符号対応データ19aに、別の表示単位の文字データの符号対応データが記憶されている場合には、それを全て消去した後に、新しい符号対応データを記憶する。また、この符号対応データは表示手段13の符号合成部13aへ出力される。またここでは、文字群Xiと符号Yiとを対応させておき、この表示単位の文字データの文字群Xiのみを符号対応データとしているが、この符号対応データは文字群Xiと符号Yiとを関連付けたものであれば良く、例えば、この文字群Xiと符号Yiとを対応するように合成したデータを符号対応データとしても良い。
なお符号Yiは、後記する表示装置2に表示した際に、表示画面のデータ内で識別可能な文字(列)であり、記憶手段19のコマンドデータ19bに符号データとして予め登録しておく。例えば、コマンドデータ19bに符号Y1=「1」=「ichi」、Y2=「2」=「ni」、Y3=「3」=「san」…のように符号Yi(i=1,2,3,…,n)を登録する。ここで、登録する符号Yiの個数nは、表示画面に表示される文字データの文字群に付加するのに十分な個数である必要がある。また符号Yiは、表示画面のデータ内で識別可能であれば、他の文字(列)でも良く、例えば、「a」、「b」、「c」…等の文字や、「A1」、「A2」、「A3」…等の複数の文字を組み合わせたものでも良い。
ここで、図2を参照(適宜図1参照)して、文字データを形態素単位に分割し、符号Yiを付加する例について説明する。図2は文字データに符号Yiを付加し、符号対応データを作成する例を示した説明図である。
形態素解析部12aに、図2の文字データA1が入力されると、形態素解析部12aは、文字データA1を形態素解析し、形態素単位に分割する。図2では、形態素の区分けを「/」で示してある。さらに形態素解析部12aは、文字データA1を表示単位のデータB1、B2、…に分割する。図2の例では、形態素解析部12aは、「発展途上国への……などの意見が出ました。」の文字データを表示単位のデータと判断し、一つの単位に分割している。そして形態素解析部12aは、まず表示単位の文字データB1を符号対応データ生成部12bに出力する。なお、出力しなかった残りの文字データB2、B3(図示せず)、…は、出力した文字データB1を後記する修正手段18が修正し、その修正した文字データを外部に出力した後に、一表示単位ずつ形態素解析部12aから出力される。
また符号対応データ生成部12bは、形態素解析部12aから入力される文字データの形態素を文字群Xiとした符号対応データC1を生成する。ここでiは、形態素が形態素解析部12aから入力される順番i(i=1,2,3,…)である。符号対応データ生成部12bは、図2のように、「発展/途上/国/へ/の……など/の/意見/が/出/ました。」の文字データを形態素解析部12aから入力し、この文字データを、文字群X1=「発展」、X2=「途上」、X3=「国」、……、X47=「出」、X48=「ました。」に変換して、符号対応データC1を生成する。この符号対応データC1の各文字群Xiは、コマンドデータ19bの符号データに登録された符号Yiと対応している。ここで、コマンドデータ19bの符号データにはY1=「1」、Y2=「2」、Y3=「3」、…、Y47=「47」、Y48=「48」、…が登録されているとする。そのため、文字群X1=「発展」は符号Y1=「1」と、文字群X2=「途上」は符号Y2=「2」と対応しており、同様にi=1〜48までの全ての文字群Xiと符号Yiとが対応している。そして符号対応データ生成部12bは、符号対応データC1を記憶手段19に符号対応データ19aとして記憶する。
図1に戻って説明を続ける。表示手段13は入力されたデータを解析して、表示可能な出力形式に変換して表示装置2へ出力するものである。表示手段13は符号合成部13aと文字合成部13bとを備える。
符号合成部13a(符号合成手段)は、符号対応データ生成部12bから入力される符号対応データと、記憶手段19のコマンドデータ19bに記憶された符号データとを解析して、表示画面上に文字群Xiと符号Yiとを対応させて表示する表示データを生成し、表示可能な出力形式に変換して出力するものである。ここで、符号合成部13aは、符号対応データとコマンドデータ19bの符号データとから文字群Xiと各文字群Xiに対応する符号Yiとを認識する。そして、文字群Xiを形態素解析部12aから入力された順に並べ、表示画面上の文字群Xiに対応する位置に、その文字群Xiに付加された符号Yiを合成して表示する表示データを生成する。このように生成された表示データを、表示可能な出力形式に変換して表示装置2に出力する。このように、符号Yiを、画面上で文字群Xiと対応する位置に合成して表示することで、オペレータは各文字群Xiに付加された符号Yiを認識することができる。
ここで、図3を参照(適宜図1参照)して、文字データに符号Yiを合成して表示装置2に表示する例について説明する。図3は、図2のデータを表示手段によって処理し、表示装置に表示した画面例である。
符号合成部13aには、図2の符号対応データC1が入力される。そして符号合成部13aは、この符号対応データC1から文字群X1=「発展」、X2=「途上」、X3=「国」、…を認識し、文字群Xiを形態素解析部12aから入力された順に、「発展/途上/国/…」のように並べて表示する表示データを生成する。この時、各文字群Xiの間には各文字群Xiの区分を明確にするために「/」を挿入する。この区分を明確にする方法は、文字群Xiの区分が分かるものであれば他の方法でも良く、例えば、各文字群Xiの間にスペースを挿入したり、あるいは隣接する文字群Xiの文字を異なる色で表示するように設定しても良い。
そして、記憶手段19のコマンドデータ19bに登録された符号データから、文字群Xiに付加された符号Yiとして、Y1=「1」、Y2=「2」、Y3=「3」、…を認識し、図3に示すように、表示画面上の文字群Xiの下の位置に、それぞれの文字群Xiに対応する符号Yiを合成する。図3では、文字群X1の「発展」の下に符号Y1の「1」を、文字群X2の「途上」の下に符号Y2の「2」を合成し、残りのX3からX48までの文字群についても同様に合成している。なお、この符号Yiを合成する位置は、各文字群Xiに対応する位置であれば文字群Xiの下以外の位置であっても良い。
図1に戻って説明を続ける。文字合成部13bは、後記する文字列選択手段17、修正手段18、あるいは認識結果解析手段15から入力された文字等を表示画面上に合成するものである。それによって、文字列選択手段17によって選択された文字列や、修正手段18で修正する際にキーボード4から入力された文字列等を表示画面上に表示することができ、オペレータの修正操作を支援することができる。
ここで、図4を参照(適宜図1参照)して、後記する文字列選択手段17と修正手段18から入力された文字等を表示画面上に合成して、表示装置2に表示する例について説明する。図4は文字列選択手段で文字群が選択された画面例を示した図である。図4(a)は文字列選択手段17によって、文字群「全戸」(文字群X9)が選択された場合の画面例であり、図4(b)は文字列選択手段17によって、文字群「文部」(文字群X28)、「か」(文字群X29)、「楽章」(文字群X30)が選択された場合の画面例である。
図4(a)に示すように、文字合成部13bは、文字列選択手段17によって選択された文字群「全戸」(文字群X9)が入力されると、表示装置2の表示画面の所定位置(ここでは選択文字列表示欄F1)に合成して出力する。また、文字列選択手段17から入力された文字群Xiの表示画面上の文字データ内での位置をオペレータが認識できるように、文字合成部13bは、表示画面上の文字群Xiの周囲を四角で囲い、文字群Xiを強調して表示している。図4(a)では、文字列選択手段17から文字群X9が入力された際には、文字合成部13bが、表示画面に文字群X9の周囲を四角で囲って文字群Xiを強調する囲いF2を、表示画面上に合成するようにしている。また、文字列選択手段17から入力された文字群Xiを表示画面の文字データ内で強調して表示する方法は、この文字群Xiと他の文字群Xiとが区別できるものであれば良く、例えば、表示画面の文字データ内で、文字列選択手段17から入力された文字群Xiを、他の文字群Xiと異なる色(図示せず)で表示するようにしても良い。
さらに、修正手段18に、選択した文字列に対応する正しい文字列として、「全国」がキーボード4から入力された場合には、修正手段18はその文字列「全国」を文字合成部13bに出力し、文字合成部13bは、その文字列を表示装置2の表示画面の所定位置(ここでは修正文字列表示欄F3)に合成して出力する。また、図示しないが、修正手段18が文字群X9の書き換え(修正)を行い、修正手段18から、文字群X9を「全国」に修正するという情報が入力された場合には、文字合成部13bは、文字データ内の文字群X9を「全国」に置き換えて表示する。
また、図4(b)に示すように、文字合成部13bは、文字列選択手段17で選択された文字群「文部」(文字群X28)、「か」(文字群X29)、「楽章」(文字群X30)が入力されると、表示装置2の表示画面の所定位置(ここでは選択文字列表示欄F1)に、これらの文字群から構成される文字列「文部か楽章」を合成して出力する。
そして、修正手段18に、選択した文字列に対応する正しい文字列として、「文部科学省」がキーボード4から入力された場合には、修正手段18はその文字列「文部科学省」を文字合成部13bに出力し、文字合成部13bは、その文字列を表示装置2の表示画面の所定位置(ここでは修正文字列表示欄F3)に合成して出力する。また、図示しないが、修正手段18が文字群X28、X29、X30の書き換え(修正)を行い、文字群X28を「文部科学省」に、X29を「」(データなし)に、X30を「」(データなし)に修正するという情報が修正手段18から入力された場合には、文字合成部13bは、文字データ内の文字群X28を、「文部科学省」に置き換え、そして文字群X29、X30は消去して表示する。
図1に戻って説明を続ける。指令音声認識手段14(音声認識手段)は、マイク3から入力されるオペレータの音声(指令音声)を、コマンドデータ19bと言語・音響モデル19dとに基づいて認識し、文字データとして出力するものである。この指令音声は、コマンドデータ19bに予め登録された符号Yi、特定文字あるいは修正操作を示す文字(列)からなる文字列をオペレータが発声したものである。この指令音声認識手段14における音声認識は、公知の音声認識技術を用いて実現することができる。そして、ここで認識した認識結果は、認識結果解析手段15へ出力される。
ここで、特定文字は、一つの文字あるいは複数の文字からなる所定の文字(列)であり、コマンドデータ19bに特定文字データとして予め登録してある。そして、符号のみ、特定文字のみ、あるいは符号との組み合わせで、修正対象情報を構成することができる。この修正対象情報は、選択する文字列を構成する文字群Xiを特定するものであり、ここではこの文字群Xiに対応する符号Yi、あるいはその符号Yiを表す、符号Yiと特定文字のうちの少なくとも一つからなる組み合わせによって、文字群Xiを特定している。この符号と特定文字の組み合わせのパターンは、定型化してあり、この組み合わせパターンと、その組み合わせによって表される符号Yiとを対応させて、指令テンプレート19cに予め登録してある。この組み合わせパターンとしては、例えば、文字データ内で連続する複数の文字群Xi(i=j〜k)に対応する符号Yi(i=j〜k)を表す組み合わせを、選択する文字列内で一番先に位置する文字群Xjに対応する符号Yjと、特定文字「から」と、最後に位置する文字群Xkに対応する符号Ykとを組み合わせた「YjからYk」で定型化しても良いし、また、表示画面に表示された全ての文字群Xiに対応する符号Yiを表す組み合わせを、特定文字「全部」で定型化しても良い。この符号と特定文字の組み合わせは、一つあるいは複数の符号Yiを特定できるように定型化されたものであれば良く、適宜、他の組み合わせや特定文字を指令テンプレート19cおよびコマンドデータ19bに登録することができる。
また、修正操作を示す文字(列)は、所定の修正操作を特定する文字(列)であり、コマンドデータ19bに修正操作データとして予め登録してある。そして、この修正操作を示す文字(列)のみ、あるいは修正対象情報との組み合わせで、修正操作情報を構成することができる。また、この修正操作情報は所定の修正操作の指令を示すものである。ここで、修正操作とは、後記する文字列選択手段によって選択する文字列に対して、またはその文字列の前後などに行う、所定の修正の操作あるいは修正を支援する操作である。修正操作を示す文字(列)としては、例えば、選択した文字列の削除を示す修正操作を示す文字列を「削除」としたり、また選択した文字列のコピーを示すものを「コピー」、選択した文字列の前への文字を挿入できるようにする操作を示すものを「挿入」、選択した文字列に行った修正を元に戻す操作を示すものを「元に戻す」とするなど、様々な修正操作を特定する文字(列)を、コマンドデータ19bおよび指令テンプレート19cに適宜登録することができる。また、この修正操作を示す文字(列)と修正対象情報との組み合わせを定型化して、この修正対象情報の示す文字群Xiに対して、所定の修正操作を行う指令を表すこととし、指令テンプレート19cに登録しても良い。
認識結果解析手段15は、指令音声認識手段14から入力された認識結果を解析して、この認識結果が、修正対象として選択する文字群Xiに対応する符号Yiを示す、修正対象情報を含む場合は、この修正対象情報が示す符号Yiを解析し、解析結果を文字列選択手段17に出力するものである。また、認識結果が所定の修正操作を示す修正操作情報を含む場合は、修正操作情報から修正操作の指令を解析し、修正手段18に出力する。認識結果解析手段15は、指令解析部15a、修正対象解析部15bおよび修正操作解析部15cを備える。
指令解析部15aは、指令音声認識手段14による認識結果から、修正対象情報と修正操作情報とを識別するものである。すなわち、指令音声認識手段14による認識結果を、コマンドデータ19bに基づいて解析して、認識結果を符号Yi、特定文字あるいは修正操作を示す文字(列)と対応させて分割し、この符号Yi、特定文字あるいは修正操作を示す文字(列)と一致する語彙を単位(以下、指令構成単位という)として、予め定めた指令テンプレート19c(指令パターン記憶手段)とパターンマッチングを行うことで、認識結果から修正対象情報と修正操作情報を識別する。指令テンプレート19cには、修正対象情報を構成する、符号Yiと特定文字のうちの少なくとも一つからなる組み合わせのパターン(修正対象情報パターン)と、修正操作情報を構成する、修正操作を示す文字(列)のみ、あるいは、修正操作を示す文字(列)と修正対象情報の組み合わせからなるパターン(修正操作情報パターン)とが記憶されている。そして、認識結果の文字列の一部あるいは全部がこの修正対象情報パターンと一致する場合には、指令解析部15aは、一致する文字列を修正対象情報と認識し、この修正対象情報のパターンマッチング結果を修正対象解析部15bに出力する。また、認識結果の文字列が前記の修正操作情報パターンと一致する場合には、指令解析部15aは、一致する文字列を修正操作情報と認識し、この修正操作情報のパターンマッチング結果を修正操作解析部15cに出力する。
また、修正対象情報パターンとも、修正操作情報パターンとも一致しない場合には、予め設定してある応答文を表示手段13の文字合成部13bに通知して、オペレータに対して、指令を認識できなかったことを知らせる応答文を表示装置2に表示させる。
修正対象解析部15b(修正対象解析手段)は、指令解析部15aから入力された修正対象情報のパターンマッチング結果を、コマンドデータ19bと指令テンプレート19cに基づいて解析し、修正対象情報パターンと一致した文字列の示す符号Yiを検出するものである。ここで指令テンプレート19cには、修正対象情報パターンと、そのパターンの示す符号Yiとが記憶されている。そのため、指令テンプレート19cに従って解析することで、指令解析部15aから入力された、修正対象情報パターンと一致した文字列の示す符号Yiを検出することができる。そして、修正対象解析部15bは、検出した符号Yiを修正対象情報として文字列選択手段17に出力する。なお、ここでは符号Yiを修正対象情報として文字列選択手段17に出力するようにしたが、修正対象情報として出力するものは、文字列選択手段17で選択する文字列を構成する文字群Xiを特定するものであれば良く、例えば、修正対象解析部15bで、修正対象情報パターンと一致した文字列の示す符号Yiを解析し、その符号Yiに付されたiを、修正対象情報として文字列選択手段17に出力するようにしても良い。
また、修正操作解析部15c(修正操作解析手段)は、指令解析部15aから入力された修正操作情報のパターンマッチング結果を、コマンドデータ19bと指令テンプレート19cに基づいて解析し、修正操作情報の示す修正操作の指令を検出するものである。ここで、指令テンプレート19cには、修正操作情報パターンとそのパターンの示す修正操作の指令とが予め登録されているため、修正操作解析部15cは、指令テンプレート19cに基づいて、指令解析部15aから入力された修正操作情報の示す、修正操作の指令を検出することができる。そして、修正操作解析部15cは、検出した修正操作の指令を修正操作情報として修正手段18に出力する。
ここで、図5と図6を参照(適宜図1参照)して、認識結果解析手段15が認識結果から修正対象情報と修正操作情報とを識別し、解析する手法について具体的に説明する。図5は、修正対象情報からなる認識結果から、指令を解析する例を説明するための説明図である。図6は、修正対象情報と修正操作情報とからなる認識結果から、指令を解析する例を説明するための説明図である。
図5では、指令音声認識手段14によって、「3」と認識された認識結果D1が指令解析部15aに入力されている。ここで、指令解析部15aは、コマンドデータ19bに基づいて解析を行い、修正対象情報および修正操作情報を構成する特定の語彙からなる指令構成単位に分割する。具体的には、図5の指令構成単位解析結果D2に示すように、認識結果D1の「3」を、コマンドデータ19bに記憶してある符号Yi、特定文字あるいは修正操作を示す文字(列)と対応させる。ここで、コマンドデータ19bの符号データに、符号「3」が予め登録されているとする。そのため指令解析部15aは、認識結果D1の「3」を符号「3」と一致させる。そしてこの「3」を、修正対象情報および修正操作情報を構成する指令構成単位とする。さらに、指令解析部15aは、各指令構成単位(ここでは「3」のみ)と指令テンプレート19cとのパターンマッチングを行う。
例えば、指令テンプレート19cの修正対象情報パターンに、「[符号]」(パターンP1)が登録されているとする。ここで[符号]はコマンドデータ19bに登録されている符号Yiのいずれか一つを表している。そのため、指令解析部15aは、指令音声認識手段14から入力された認識結果D1の「3」を、指令テンプレート19cの修正対象情報パターンに登録されている「[符号]」(パターンP1)と一致させる。そして、この認識結果D1の「3」を修正対象情報と識別し、このパターンマッチング結果D3を修正対象解析部15bに出力する。
修正対象解析部15bは、このパターンマッチング結果D3を、コマンドデータ19bと指令テンプレート19cに基づいて解析し、修正対象情報パターンと一致した文字列の示す符号Yiを検出する。ここで、指令テンプレート19cには、修正対象情報パターンP1の[符号]は、前記のパターンマッチングで[符号]と一致した符号そのものを示すことが登録されているとする。そこで修正対象解析部15bは、認識結果D1の「3」の示す符号が「3」(修正対象情報解析結果D4)であることを検出し、修正対象情報として符号「3」を文字列選択手段17に出力する。
また、図6では、指令音声認識手段14によって、「1から3削除」と認識した認識結果E1が指令解析部15aに入力されている。ここで、指令解析部15aは、コマンドデータ19bに基づいて解析を行い、図6の指令構成単位解析結果E2に示すように、認識結果E1の「1から3削除」を、コマンドデータ19bに記憶してある符号Yi、特定文字あるいは修正操作を示す文字(列)と対応させる。ここで、コマンドデータ19bの、符号データには符号「1」と「3」が、特定文字データには特定文字「から」が、修正操作を示す文字(列)を記憶した修正操作データには、「削除」が予め登録されているとする。そこで、指令解析部15aは、認識結果E1の「1から3削除」を、符号「1」、特定文字「から」、符号「3」、および、修正操作を示す文字(列)「削除」と一致させて分割する。そしてこの「1」と「から」と「3」と「削除」を指令構成単位とする。さらに、指令解析部15aは、これらの単位と指令テンプレート19cとのパターンマッチングを行う。
例えば、指令テンプレート19cの修正対象情報パターンに、「[符号]*[から]*[符号]」(パターンP2)が登録されているとする。また、指令テンプレート19cの修正操作情報パターンに、「[修正対象情報]*[削除]」(パターンP5)が登録されているとする。ここで[修正対象情報]は、指令テンプレート19cに登録されている修正対象情報パターンのいずれか一つを表している。そして、前記解析結果の「1」「から」「3」「削除」は、この一部の「1」「から」「3」が、指令テンプレート19cの修正対象情報パターンに登録されている「[符号]*「から」*「符号」」(パターンP2)と一致する。また、「1」「から」「3」「削除」は、修正操作情報パターンの「[修正対象情報]*[削除]」(パターンP5)と一致する。そのため、指令解析部15aは、指令音声認識手段14から入力された認識結果のうち、「1から3」を修正対象情報と識別し、このパターンマッチングの結果を修正対象解析部15bに出力し、また、「1から3削除」を修正操作情報と識別し、このパターンマッチング結果E3を修正操作解析部15cに出力する。
修正対象解析部15bは、修正対象情報パターンP2の「[符号]*[から]*[符号]」と一致した修正対象情報「1から3」を、コマンドデータ19bと指令テンプレート19cに基づいて解析し、この修正対象情報「1から3」の示す符号Yiを検出する。ここで、指令テンプレート19cには、修正対象情報パターンP2[符号]*[から]*[符号]が、先の符号から後の符号までの全ての符号を示すことが登録されているとする。また、コマンドデータ19bには符号データとして、符号が「1」、「2」、「3」、「4」、…の順で登録されているとする。そこで、修正対象解析部15bは、修正対象情報「1から3」の示す符号が「1」と「2」と「3」(修正対象情報解析結果E4)であることを検出し、修正対象情報として「1」と「2」と「3」を、文字列選択手段17に出力する。
また、修正操作解析部15cは、修正操作情報パターンP5の「[修正対象情報]*[削除]」と一致した修正操作情報「1から3削除」を、コマンドデータ19bと指令テンプレート19cに基づいて解析し、修正操作情報の示す修正操作の指令を検出する。ここで、指令テンプレート19cには、修正操作情報パターンP5「[修正対象情報]*[削除]」は、「文字列選択後に、その文字列を削除する」指令を示すことが登録されているとする。そこで、修正操作解析部15cは、修正操作情報「1から3削除」の示す修正操作が、「文字列選択後に、その文字列を削除する」(修正操作情報解析結果E5)という指令であることを検出し、修正操作情報として「文字列選択後に、その文字列を削除する」という指令を修正手段18に出力する。
図1に戻って説明を続ける。文字列選択手段17は、符号対応データ19aとコマンドデータ19bの符号データに基づいて、修正対象解析部15bから入力された修正対象情報(符号Yi)に対応する文字群Xiを取得するものである。文字列選択手段17は、取得した文字群Xiを修正手段18に出力する。また、この文字群Xiは表示手段13の文字合成部13bへ出力される。
ここで、文字列選択手段17が、修正対象解析部15bから入力された修正対象情報に対応する文字群Xiを取得する手法を、具体的に説明する。例えば、修正対象解析部15bから、修正対象情報として符号「9」が文字列選択手段17に入力された場合、文字列選択手段17は、コマンドデータ19bの符号データに基づいて、符号「9」を解析する。ここで、コマンドデータ19bの符号データには符号Y9=「9」が登録されているとする。そこで、文字列選択手段17は、符号「9」が、符号Y9であることを認識する。そして、符号Yiは文字群Xiに対応するので、文字列選択手段17は、符号Y9に対応する文字群X9を、符号対応データ19aから取得する。ここで、符号対応データ19aには、文字群X9=「全戸」が記憶されているとする。そのため、文字列選択手段17は、符号対応データ19aから、符号「9」に対応する文字群X9「全戸」を取得し、この文字群X9「全戸」を修正手段18と文字合成部13bに出力する。
また、例えば、修正対象解析部15bから修正対象情報として、符号「28」と「29」と「30」とが入力された場合、文字列選択手段17は、コマンドデータ19bの符号データに基づいて、符号「28」と「29」と「30」を解析する。ここで、コマンドデータ19bの符号データには符号Y28=「28」と、符号Y29=「29」と、符号Y30=「30」が登録されているとする。そこで、文字列選択手段17は、符号「28」と「29」と「30」とがそれぞれ、符号Y28とY29とY30とであることを認識する。そして、符号Yiは文字群Xiに対応するので、文字列選択手段17は、符号Y28とY29とY30に対応する文字群X28とX29とX30を、符号対応データ19aから取得する。ここで、符号対応データ19aには文字群X28=「文部」、文字群X29=「か」および文字群X30=「楽章」が記憶されているとする。そのため、文字列選択手段17は、符号対応データ19aから、符号「28」と「29」と「30」にそれぞれ対応する文字群X28の「文部」と、文字群X29の「か」と、文字群X30の「楽章」を取得し、これらの文字群を修正手段18と文字合成部13bに出力する。
図1に戻って説明を続ける。修正手段18は、文字列選択手段17から入力された文字群Xiを、キーボード4からの入力、あるいは、修正操作解析部15cからの入力に従って書き換える(修正する)ものである。また、キーボード4から文字データの入力があった場合には、修正手段18は、この文字データを文字合成部13bに出力する。そして、修正手段18が、キーボード4からの入力、あるいは、修正操作解析部15cからの入力に従って、文字群Xiを書き換えた(修正した)場合には、修正した文字群Xiのデータを文字合成部13bに出力する。これによって、文字合成部13bは、キーボード4からの入力内容や修正を行った後の文字データを、表示装置2に表示できるので、オペレータは表示画面からそれらを確認することができる。
そして表示画面の文字データの修正が終了したら、表示画面の文字データの修正を終了する指令(テイク)が、オペレータの操作によってキーボード4から入力され、その指令(信号)に基づいて、修正手段18は、修正した文字データを出力手段20に出力する。また同時に、符号付加手段12の形態素解析部12aに、未修正の表示単位の文字データがある場合には、次の表示単位の文字データを符号対応データ生成部12bに出力させる信号を出力する。この信号により、形態素解析部12aは適正なタイミングで表示単位の文字データを出力することができる。また、表示画面の文字データの修正を終了した後に、次の表示単位の文字データを形態素解析部12aから出力させる方法は、上記の方法によらなくても良く、例えば、字幕生成装置1が、所定時間おきに信号を発生するタイミング回路(図示せず)を備える構造とし、この信号により修正手段18は修正操作を終了して、字幕を出力し、形態素解析部12aに、次の表示単位の文字データを符号対応データ生成部12bに出力させる信号を出力するようにしても良い。
記憶手段19は、字幕生成装置1において、音声認識や音声認識結果の解析等に必要となる種々のデータを記憶するもので、半導体メモリ、ハードディスク等の一般的な記録媒体である。ここでは、記憶手段19に、符号対応データ19a、コマンドデータ19b、指令テンプレート19cおよび言語・音響モデル19dを記憶することとした。なお、これらのデータは、一つの記憶手段に記憶する必要はなく、複数の記憶手段に記憶することとしても良い。
符号対応データ19a(文字群記憶手段)は、符号対応データ生成部12bによって生成された符号対応データを記憶するものである。この符号対応データ19aは、文字列選択手段17によって参照され、文字列選択手段17は、指令音声認識結果に含まれる修正対象情報が示す符号Yiに対応する文字群Xiを、符号対応データ19aから取得する。
コマンドデータ19bは、修正対象情報および修正操作情報を構成する、符号Yiと特定文字、修正操作を示す文字(列)を記憶したものである。このコマンドデータ19bは表示手段13の符号合成部13aによって参照され、この符号合成部13aは、コマンドデータ19bに登録された符号Yiを、表示装置2の表示画面に合成して表示する。また、このコマンドデータ19bは、指令音声認識手段14によって参照され、指令音声を認識する際に用いられる。この指令音声は、コマンドデータ19bに登録されている特定の語彙のみで構成されているので、指令音声認識手段14は、コマンドデータ19bに基づいて音声認識を行うことで、音声認識率を向上させることができる。
さらに、コマンドデータ19bは、認識結果解析手段15によって参照され、指令音声認識手段14で認識された認識結果に含まれる、修正対象情報と修正操作情報の解析に用いられる。また、コマンドデータ19bは、文字列選択手段17によって参照され、認識結果解析手段15から入力された修正対象情報(符号Yi)を解析する際に用いられる。
指令テンプレート19c(指令パターン記憶手段)は、修正対象情報を構成する、符号と特定文字のうちの少なくとも一つからなる組み合わせパターン(修正対象情報パターン)と、修正操作情報を構成する、修正操作を示す文字(列)のみ、あるいは、修正操作を示す文字(列)と修正対象情報の組み合わせからなるパターン(修正操作情報パターン)とを記憶したものである。さらに、前記の修正対象情報パターンと、その組み合わせパターンの示す符号Yiとを対応させて記憶し、また、前記の修正操作情報パターンと、その組み合わせパターンの修正操作情報が示す修正操作の指令とを対応させて記憶している。この指令テンプレート19cは、認識結果解析手段15によって参照され、指令解析部15aが、指令音声認識手段14で認識された認識結果から、修正対象情報と修正操作情報とを識別する際に用いられる。また、修正対象解析部15bが修正対象情報パターンと一致した文字列の示す符号Yiを解析する際に用いられ、同様に、修正操作解析部15cが、修正操作情報の示す修正操作の指令を解析する際に用いられる。
言語・音響モデル19dは、発音データに基づいて生成された音声の単語辞書と、個々の単語のつながりを確率により表現したモデルとを含んだデータである。さらに、この言語・音響モデル19dは、形態素の辞書を含んでおり、番組音声認識手段11と、指令音声認識手段14が音声認識と形態素解析を行う際に用いられる。
また、字幕生成装置を使用するオペレータを、特定のオペレータに限定できる場合には、記憶手段19は、番組音声認識手段11によって参照される第1の言語・音響モデル19dと、指令音声認識手段14によって参照される第2の言語・音響モデル(図示せず)とを記憶することとし、この指令音声認識手段14によって参照される第2の言語・音響モデルを、特定のオペレータに適応させたものとしても良い。これによって、指令音声認識手段14における音声認識結果の認識率を向上させることができる。
出力手段20は、修正手段18から入力された修正後の文字データを、字幕として外部へ出力するものである。
以上、本発明に係る字幕生成装置(文字データ修正装置)1の構成について説明したが、本発明はこれに限定されるものではない。例えば、番組音声を入力するのではなく、文字データが、入力手段10を介して符号付加手段12に入力されるようにし、入力された文字データを修正する装置として構成してもよく、また、タッチパネルやマウス等のポインティングデバイスを外部に接続し、指令音声が認識されない場合に、このポインティングデバイスからの入力に基づいて、文字列選択手段によって文字列を選択できるようにしても良い。
なお、字幕生成装置(文字データ修正装置)1は、一般的なコンピュータにプログラムを実行させ、コンピュータ内の演算装置や記憶装置を動作させることで実現することができる。このプログラム(文字データ修正プログラム)は、通信回線を介して配布することもできるし、また、CD−ROM等の記録媒体に記録して配布することも可能である。
[字幕生成装置(文字データ修正装置)の動作]
次に、図7および図8を参照(適宜図1参照)して、本発明における字幕生成装置(文字データ修正装置)1の動作について説明する。図7は、字幕生成装置(文字データ修正装置)が番組の音声から字幕を生成する動作(字幕生成動作)を示したフローチャートである。図8は、字幕生成装置(文字データ修正装置)が、表示画面に表示された番組の音声認識結果の文字データを修正し、出力する動作(文字データの修正・出力動作)を示したフローチャートである。
(字幕生成動作)
図7を参照(適宜1参照)して、字幕生成装置1が、ニュース番組等の音声を文字データに変換し、この文字データに含まれる誤りを修正して字幕を生成する動作について説明する。
字幕生成装置1は、入力手段10を介して、外部からニュース番組等の音声を入力する(ステップS10)。そしてこの音声は番組音声認識手段11に入力され、番組音声認識手段11が、この音声を音声認識して文字データに変換する(ステップS11)。この文字データは符号付加手段12の形態素解析部12aに出力される。
そして、符号付加手段12の形態素解析部12aは、この文字データ(番組音声の認識結果)を形態素解析し、形態素単位に分割する(ステップS12)。さらに、形態素解析部12aは、文字データを表示装置2に表示できる所定のデータ量の単位(表示単位)に分割する(ステップS13)。そして、形態素解析部12aは、この表示単位に分割した文字データの、最初の表示単位のデータを、符号対応データ生成部12bに出力する。
符号対応データ生成部12bは、形態素解析部12aで分割した形態素と、符号Yi(i=1,2,3,…)とを関連付けた符号対応データを生成する(ステップS14)。つまり、符号対応データ生成部12bは、形態素解析部12aから形態素が入力されると、その形態素を文字群Xi(i=1,2,3,…)とする。なおiは、形態素が形態素解析部12aから入力される順番i(i=1,2,3,…)であり、iが同じ値の文字群Xiと符号Yiとを対応させるようにして、文字群Xiと符号Yiとを関連付けている。そして、この文字群Xiからなる符号対応データを、記憶手段19の符号対応データ19aに記憶する(ステップS15)。さらに、符号対応データ生成部12bは、生成した符号対応データを表示手段13の符号合成部13aに出力する。
表示手段13の符号合成部13aは、文字群Xiに区分された文字データを、表示装置2の表示画面に表示し、さらに表示画面の文字群Xiに対応する位置に、符号Yiを合成して表示する表示データを生成する(ステップS16)。そして、符号合成部13aは、この表示データを表示装置2に出力し、表示装置2の表示画面に、文字群Xiに区分された文字データと、各文字群Xiに対応する位置に合成した符号Yiとを表示させる(ステップS17)。
また、表示装置2に表示された文字データは、後記する文字データの修正・出力動作によって、誤りを修正されて字幕として出力される(ステップS18)。そして、符号付加手段12の形態素解析部12aによって表示単位に分割された文字データにおいて、符号対応データ生成部12bに出力されていない文字データがある場合には、字幕生成装置1は文字データの修正が終了していないと判断し(ステップS19でNo)、ステップS14に戻り、引き続き残りの表示単位の文字データについて、形態素と符号とを関連付けたデータを生成し、記憶手段19に記憶する動作以降の操作を行う。
一方、符号付加手段12の形態素解析部12aによって、表示単位に分割された文字データの全てが符号対応データ生成部12bに出力され、ステップS14〜S19の操作を経て、字幕として出力された場合には、字幕生成装置1は、全ての文字データの修正が終了したと判断し(ステップS19でYes)、動作を終了する。
以上の動作により、字幕生成装置1は、外部から入力したニュ−ス番組等の音声を認識し、さらに認識結果を形態素解析し、記憶手段19に各形態素(文字群Xi)と符号Yiとを関連付けて記憶し、表示画面に文字群Xiと符号Yiとを対応させて表示することができる。さらに、表示された文字データの修正を行い、字幕として出力することができる。そして、全ての文字データの修正が終わるまで上記の字幕生成の動作を行うことができる。
また、ここでは番組音声の音声認識と、認識結果の形態素解析を行い、認識結果を表示単位に分割する操作(ステップS10〜S13)を行った後に、表示単位の文字データごとに、表示画面に表示して、誤りを修正する操作(ステップS14〜S19)を繰り返し行う構成としたが、番組音声が継続して入力され、音声入力と並行して字幕を生成して出力する場合には、音声が入力されるのに合わせて適宜ステップS10〜S13の操作を行い、並行してステップS14〜S19の操作を行うようにしても良い。さらにここでは、ステップS18において、表示装置2に表示された文字データの修正が終了すると同時に、修正した表示単位の文字データを出力することで、全ての文字データの修正の終了を待たずに、早期に文字データ(字幕)送出し、リアルタイムで字幕生成を行える構成としているが、ステップS18において、表示装置2に表示された文字データの修正が終了した後に、この修正した文字データを記憶手段19に記憶するようにし、ステップS19において、全ての文字データの修正が終了した後に、記憶手段19に記憶した全ての修正した文字データを一括して出力する構成としても良い。
(文字データの修正・出力動作)
次に図8を参照(適宜図1参照)して、字幕生成装置1が、表示装置2に表示された文字データに含まれる誤りを選択し、誤りを修正して字幕を出力する、文字データの修正・出力動作(図7のステップS18)について説明する。
字幕生成装置1は、指令音声認識手段14によって、マイク3を介して入力されたオペレータの音声(指令音声)を音声認識し、文字データに変換する(ステップS21)。この指令音声認識手段14によって認識される指令音声は、コマンドデータ19bに記憶された特定の語彙(符号、特定文字、あるいは修正操作を示す文字(列))のみから構成され、また、オペレータを特定の話者に特定できるので、指令音声認識手段14における音声認識は、公知の音声認識技術を用いて実現することができるが、さらに、話者適応の技術によって特定の話者や利用環境にこの音声認識のシステムを適用させることで、より高度な認識率が得られる。この話者適応の技術は、「音声情報処理」(春日正夫他著、コロナ社、P.132−P.134)等の公知の技術によって実現できる。この指令音声の認識結果は認識結果解析手段15の指令解析部15aに出力される。
そして、認識結果解析手段15の指令解析部15aは、コマンドデータ19bに登録されている符号、特定文字、あるいは修正操作を示す文字(列)を単位(指令構成単位)として、コマンドデータ19bに登録されている符号、特定文字、あるいは修正操作を示す文字(列)と、指令音声の認識結果とを対応させて、認識結果を指令構成単位に分割する(ステップS22)。さらに、指令構成単位として分割した符号、特定文字、あるいは修正操作を示す文字(列)の組み合わせパターンと、指令テンプレート19cに登録された修正対象情報パターンおよび修正操作情報パターンとをパターンマッチングし、指令音声の認識結果から修正対象情報と修正操作情報を識別する(ステップS23)。
そして、音声認識結果の一部あるいは全部が修正対象情報パターンと一致する場合(ステップS24でYes)は、指令解析部15aは、修正対象情報パターンと一致する文字列を修正対象情報と認識し、修正対象解析部15bに出力する。修正対象解析部15bは、コマンドデータ19bと指令テンプレート19cに基づいて、その修正対象情報パターンと一致する文字列を解析し、その文字列が示す符号Yiを検出する(ステップS25)。そして、文字列選択手段17は、その符号Yiに対応する文字群Xiを、符号対応データ19aから取得する(ステップS26)。これによって、文字列選択手段17は、オペレータの指令音声によって、一つあるいは複数の文字群Xiからなる文字列を選択することができる。また、文字列選択手段17は、取得した文字群Xiを文字合成部13bに出力する。文字合成部13bは、文字列選択手段17から入力された文字群Xiを、表示装置2の表示画面の所定位置に合成して表示する(ステップS27)。さらに、文字列選択手段17は、修正手段18に取得した文字群Xiを出力する。
そして、指令音声の音声認識結果が修正操作情報を含んでおらず(ステップS28でNo)、かつ、指令音声が指令音声認識手段14に入力されない場合(ステップS29でNo)は、修正手段18はキーボード4から入力された文字列を文字合成部13bに出力する。文字合成部13bは、修正手段18から入力された文字列を、表示装置23の表示画面の所定位置に合成して表示する(ステップS30)。また、修正手段18は、キーボード4からの入力に従って、文字列選択手段17から入力された文字群Xiを書き換える(修正する)(ステップS31)。その後、後記するステップS37以降の操作を行う。
また、指令音声認識手段の音声認識結果が修正操作情報を含んでおらず(ステップS28でNo)、かつ、指令音声が指令音声認識手段14に入力された場合(ステップS29でYes)は、ステップS21に戻り、オペレータの音声認識以降の動作を行う。
一方、指令音声の音声認識結果が修正対象情報を含み(ステップS24でYes)、かつ、修正操作情報を含んでいる場合(ステップS28でYes)は、ステップS25〜S27で、修正する文字列を選択して、その文字列を表示画面に表示する操作を行った後に、修正操作解析部15cが、指令テンプレート19cに基づいて解析し、その修正操作情報の示す修正操作の指令を検出する(ステップS33)。そして、修正手段18は、ステップS26で、文字列選択手段17が選択した文字群Xiに対して、その修正操作を行う(ステップS34)。さらに、修正手段18は修正した文字群Xiを文字合成部13bに出力し、文字合成部13bは、修正手段18から入力された文字群Xiを、表示画面に表示している文字群Xiと置き換えて表示する(ステップS35)。その後、後記するステップS37以降の操作を行う。
さらに、指令音声の音声認識結果が修正対象情報を含まず(ステップS24でNo)、かつ、修正操作情報を含んでいる場合(ステップS32でYes)は、修正操作解析部15cが、指令テンプレート19cに基づいて、その修正操作情報の示す修正操作の指令を検出する(ステップS33)。そして、修正手段18は、既に文字列選択手段17で選択した文字群Xiに対して、その修正操作を行う(ステップS34)。修正手段18は修正した文字群Xiを文字合成部13bに出力し、文字合成部13bは、修正手段18から入力された文字群Xiを、表示画面に表示している文字群Xiと置き換えて表示する(ステップS35)。その後、後記するステップS37以降の操作を行う。
また、指令音声の音声認識結果が修正対象情報を含まず(ステップS24でNo)、かつ、修正操作情報を含んでいない場合(ステップS32でNo)は、文字合成部13bが、指令音声を認識できなかったことを通知する応答文を、表示装置2の表示画面の所定位置に合成する(ステップS36)。その後、後記するステップS37以降の操作を行う。
そして、キーボード4等からオペレータによって、表示画面の文字データの修正を終了し修正した文字データを出力する指令(テイク)が、入力された場合には(ステップS37でYes)、修正手段18は、表示装置2の表示画面に表示された文字データの修正が終了したと判断し、その指令(信号)に基づいて、修正結果を反映させた文字データを字幕データとして出力手段20に出力する。そして、出力手段20はこの字幕データを外部に出力する(ステップS38)。また、表示画面の文字データの修正を終了する指令(テイク)が入力されない場合には(ステップS37でNo)、ステップS21に戻って、オペレータの指令音声の音声認識以降の動作を行う。
以上の動作によって、字幕生成装置1は、オペレータが発声する音声を認識し、その認識結果から、修正対象となる文字列を示す指令と、修正操作の指令とを認識することができる。そのため、オペレータの音声によって、修正対象となる文字列を選択する操作と、修正操作とを行うことができる。さらに、オペレータが表示画面に表示された符号を発声するという簡単な操作で、字幕生成装置1は、表示画面に表示された文字データから、修正対象となる文字列を特定でき、その文字列を選択することができる。