(57)【要約】【課題】精度よくテキストの誤りを補正する。【解決手段】実施形態のテキスト生成装置は、生成部と、補正部とを有する。生成部は、補正対象のテキストに基づき、当該テキストの文脈を示す文脈データを生成する。補正部は、教師データに対応するテキストの文字列、当該テキストの文脈データおよびメタ情報を入力とし、テキストの誤りを補正するように学習したニューラルネットワークに対して、補正対象のテキストの文字列、生成した文脈データおよび当該テキストに対応するメタ情報を入力し、補正対象のテキストの誤りを補正する。【選択図】図２
2020034704.tif 000002
【特許請求の範囲】
【請求項１】
補正対象のテキストに基づき、当該テキストの文脈を示す文脈データを生成する生成部と、
教師データに対応するテキストの文字列、当該テキストの文脈データおよびメタ情報を入力とし、前記テキストの誤りを補正するように学習したニューラルネットワークに対して、前記補正対象のテキストの文字列、生成した前記文脈データおよび当該テキストに対応するメタ情報を入力し、前記補正対象のテキストの誤りを補正する補正部と、
を有することを特徴とするテキスト生成装置。
【請求項２】
前記補正対象のテキストは、動画像のテロップであり、
前記メタ情報は、前記動画像におけるテロップの位置、動画像の属性および音声の内容を示す音声テキストのうちの少なくとも一つである、
ことを特徴とする請求項１に記載のテキスト生成装置。
【請求項３】
前記ニューラルネットワークは、前記補正対象のテキストの文字列について、並び順の順方向および逆方向の双方向から入力を受け付けて誤りを補正した文字列を出力する双方向ニューラルネットワークである、
ことを特徴とする請求項１または２に記載のテキスト生成装置。
【請求項４】
補正対象のテキストに基づき、当該テキストの文脈を示す文脈データを生成し、
教師データに対応するテキストの文字列、当該テキストの文脈データおよびメタ情報を入力とし、前記テキストの誤りを補正するように学習したニューラルネットワークに対して、前記補正対象のテキストの文字列、生成した前記文脈データおよび当該テキストに対応するメタ情報を入力し、前記補正対象のテキストの誤りを補正する、
処理をコンピュータに実行させることを特徴とするテキスト生成プログラム。
【請求項５】
補正対象のテキストに基づき、当該テキストの文脈を示す文脈データを生成し、
教師データに対応するテキストの文字列、当該テキストの文脈データおよびメタ情報を入力とし、前記テキストの誤りを補正するように学習したニューラルネットワークに対して、前記補正対象のテキストの文字列、生成した前記文脈データおよび当該テキストに対応するメタ情報を入力し、前記補正対象のテキストの誤りを補正する、
処理をコンピュータが実行することを特徴とするテキスト生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、テキスト生成装置、テキスト生成プログラムおよびテキスト生成方法に関する。
【背景技術】
【０００２】
従来、音声や字幕テロップなどを認識してテキストを生成する場合、認識時に誤りが含まれることがあるため、正しいテキストへの変換・校正を行うことがある。このテキスト変換・校正を行う従来技術としては、ＲＮＮ（Recurrent  Neural  Network）を用いる方法が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−７５７０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、テキストだけをＲＮＮに入力して誤りを判定しているため、例えばテキストの誤り補正の精度がテキストの内容に制限され、十分な精度が得られない場合があるという問題がある。
【０００５】
１つの側面では、精度よくテキストの誤りを補正できるテキスト生成装置、テキスト生成プログラムおよびテキスト生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
１つの案では、テキスト生成装置は、生成部と、補正部とを有する。生成部は、補正対象のテキストに基づき、当該テキストの文脈を示す文脈データを生成する。補正部は、教師データに対応するテキストの文字列、当該テキストの文脈データおよびメタ情報を入力とし、テキストの誤りを補正するように学習したニューラルネットワークに対して、補正対象のテキストの文字列、生成した文脈データおよび当該テキストに対応するメタ情報を入力し、補正対象のテキストの誤りを補正する。
【発明の効果】
【０００７】
本発明の実施態様によれば、テキストの誤りを精度よく補正できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態にかかるテキスト生成装置の機能構成例を示すブロック図である。
【図２】図２は、実施形態にかかるテキスト生成装置の動作例を示すフローチャートである。
【図３】図３は、教師データ生成にかかる機能構成例を説明するブロック図である。
【図４】図４は、教師データ生成にかかる処理例を示すフローチャートである。
【図５】図５は、メタ情報の一例を説明する説明図である。
【図６】図６は、メタ情報生成にかかる機能構成例を示すブロック図である。
【図７】図７は、メタ情報生成にかかる処理例を示すフローチャートである。
【図８】図８は、メタ情報生成により生成された情報の一例を説明する説明図である。
【図９】図９は、学習フェーズの一例を説明する説明図である。
【図１０】図１０は、推論フェーズの一例を説明する説明図である。
【図１１】図１１は、文脈データ生成の学習および推論を説明する説明図である。
【図１２】図１２は、文脈データ生成にかかる処理例を示すフローチャートである。
【図１３】図１３は、文脈データ学習にかかる処理例を示すフローチャートである。
【図１４】図１４は、誤り補正の学習および推論を説明する説明図である。
【図１５】図１５は、誤り補正にかかる処理例を示すフローチャートである。
【図１６】図１６は、実施形態にかかるテキスト生成装置のハードウエア構成の一例を示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、実施形態にかかるテキスト生成装置、テキスト生成プログラムおよびテキスト生成方法を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明するテキスト生成装置、テキスト生成プログラムおよびテキスト生成方法は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【００１０】
図１は、実施形態にかかるテキスト生成装置の機能構成例を示すブロック図である。図１に示すように、テキスト生成装置１は、テキスト生成処理部１０および記憶部２０を有し、補正対象のテキストに関する入力データを受け付け、補正対象のテキストに含まれる誤りを補正する情報処理装置である。
【００１１】
例えば、テキスト生成装置１は、ＰＣ（Personal  Computer）などであり、ＬＡＮ（Local  Area  Network）やインターネット等の通信ネットワーク（図示しない）を介して音声や字幕テロップなどを含む入力データを受け付ける。そして、テキスト生成装置１は、入力データに含まれる音声や動画像の字幕テロップより認識したテキストを補正対象とし、認識時に生じた誤りを補正してファイルやディスプレイなどに出力する。
【００１２】
なお、本実施形態では、動画像に含まれる字幕テロップをテキストとして認識し、認識したテキストを補正対象として認識時に生じた誤りを補正する場合を例示する。しかしながら、補正対象のテキストは、動画像の字幕テロップに特に限定しない。例えば、音声認識により音声からテキストに変換したものや、ネットワークの記事などを補正対象とし、テキストに含まれる誤りを補正（校正）してもよい。
【００１３】
テキスト生成処理部１０は、補正対象のテキストについて、誤りを補正したテキストを生成するなどの、テキスト生成装置１における処理を中央制御する処理部である。テキスト生成処理部１０は、教師データ作成部１１および誤り補正部１２を有する。
【００１４】
教師データ作成部１１は、補正対象のテキストに関する入力データをもとに、補正対象のテキスト（テロップ）の誤り訂正に要する教師データを生成する処理部である。ついで、教師データ作成部１１は、生成した教師データを教師データ格納部２２に格納する。
【００１５】
なお、補正対象のテキストに関する入力データには、例えば、テロップ（補正対象のテキスト）を含む動画像の情報、動画像に関連するメタ情報などがある。また、動画像に関連するメタ情報としては、例えば、動画像におけるテロップの位置情報、動画像の内容を示す属性情報、動画像に含まれる音声のテキスト情報などがある。
【００１６】
例えば、教師データ作成部１１は、入力データの動画像に含まれるテロップ、すなわち補正対象のテキストに基づき、公知の自然言語処理を行うことでテキストの文脈を示す文脈データを生成する。すなわち、教師データ作成部１１は、生成部の一例である。なお、教師データ作成部１１が生成する文脈データは、例えば、テキスト内の所定の単語と、その単語の前後／周辺に出現する単語との共起度合いを、出現単語の順序に従って並べた文脈ベクトルなどがある。
【００１７】
誤り補正部１２は、教師データ格納部２２に格納された教師データを取得し、ディープラーニング技術により学習したニューラルネットワークを用いて、補正対象のテキストの誤りを補正する処理を行う処理部である。すなわち、誤り補正部１２は、補正部の一例である。
【００１８】
具体的には、誤り補正部１２は、ニューラルネットワークの学習を行う学習フェーズにおいて、教師データに対応するテキストの文字列、そのテキストの文脈データおよびテキストに関するメタ情報をニューラルネットワークに入力して順伝播させる。ついで、誤り補正部１２は、順伝播を経たニューラルネットワークの出力と、正解（正解のテキスト）との比較をもとに逆伝播を行い、ニューラルネットワークの各ノードにおける重みパラメータを調整して学習済みのニューラルネットワークを得る。これにより、誤り補正部１２は、テキストに含まれる誤りを補正したものを出力するように学習済みのニューラルネットワークを得る。
【００１９】
この学習済みのニューラルネットワークに対して、誤り補正部１２は、教師データ格納部２２に格納された教師データを参照し、補正対象のテキストの文字列、テキストより生成した文脈データおよびテキストに対応するメタ情報を入力する。これにより、誤り補正部１２は、ニューラルネットワークの出力より、補正対象のテキストに含まれる誤りを補正した補正済みのテキストを得る。誤り補正部１２は、得られた補正済みのテキストデータ（補正済みのテロップ）を誤り補正済みテロップ格納部２３に格納する。
【００２０】
記憶部２０は、例えばＨＤＤ（Hard  Disk  Drive）などの記憶装置であり、入力データ格納部２１、教師データ格納部２２および誤り補正済みテロップ格納部２３を有する。入力データ格納部２１は、補正対象のテキストに関する入力データを格納する。教師データ格納部２２は、教師データ作成部１１が生成した教師データを格納する。誤り補正済みテロップ格納部２３は、誤り補正部１２による補正済みのテキストデータを格納する。
【００２１】
図２は、実施形態にかかるテキスト生成装置１の動作例を示すフローチャートである。なお、入力データ格納部２１には、補正対象のテキスト（テロップ）に関する入力データとして、テロップを含む動画（テロップ動画）と、動画に関するメタ情報とが事前に格納されているものとする。
【００２２】
図２に示すように、処理が開始されると、教師データ作成部１１は、入力データ格納部２１に格納されている全入力データを取得する（Ｓ１）。次いで、教師データ作成部１１は、取得した入力データをもとに、補正対象のテキスト（テロップ）の誤り訂正に要する教師データを生成し（Ｓ２）、生成した教師データを教師データ格納部２２に格納する（Ｓ３）。
【００２３】
ここで教師データ作成部１１における教師データの生成について、詳細に説明する。図３は、教師データ生成にかかる機能構成例を説明するブロック図である。図３に示すように、入力データ格納部２１には、補正対象のテロップに関するテロップ動画２１ａと、動画に関連するメタ情報２１ｂとが格納されている。
【００２４】
教師データ作成部１１は、教師データ作成制御部１１ａ、メタ情報分解部１１ｂ、メタ情報作成部１１ｃおよび文脈データ作成部１１ｄを有する。
【００２５】
教師データ作成制御部１１ａは、教師データの作成に関する処理を制御する処理部である。教師データ作成制御部１１ａは、教師データ作成にあたり、入力データ格納部２１よりテロップ動画２１ａおよびメタ情報２１ｂを取得する。次いで、教師データ作成制御部１１ａは、テロップ動画２１ａに関連するメタ情報２１ｂがある場合、取得したメタ情報２１ｂをメタ情報分解部１１ｂへ出力し、メタ情報分解部１１ｂにメタ情報２１ｂを分解して教師データを作成させる。また、教師データ作成制御部１１ａは、メタ情報２１ｂがない場合、メタ情報作成部１１ｃに対してテロップ動画２１ａを出力し、テロップ動画２１ａからメタ情報を作成して教師データを作成するように指示する。
【００２６】
メタ情報分解部１１ｂは、メタ情報２１ｂを分解し、誤り推定に必要な形式のデータに整形して、画像情報２２ａ、音声テキスト２２ｂ、テロップテキスト２２ｃなどの教師データを作成する処理部である。メタ情報分解部１１ｂは、作成した画像情報２２ａ、音声テキスト２２ｂ、テロップテキスト２２ｃを教師データ格納部２２に格納する。
【００２７】
メタ情報作成部１１ｃは、メタ情報２１ｂがない場合、テロップ動画２１ａに含まれる動画と音声とをもとにメタ情報を作成する処理部である。メタ情報作成部１１ｃは、作成したメタ情報をもとに、メタ情報分解部１１ｂと同様に画像情報２２ａ、音声テキスト２２ｂ、テロップテキスト２２ｃなどの教師データを作成する。メタ情報作成部１１ｃは、作成した画像情報２２ａ、音声テキスト２２ｂ、テロップテキスト２２ｃを教師データ格納部２２に格納する。
【００２８】
文脈データ作成部１１ｄは、テロップテキスト２２ｃの全テキストを用い、テロップの文脈を表す文脈データ２２ｄを作成する処理部である。文脈データ作成部１１ｄは、作成した文脈データ２２ｄを教師データ格納部２２に格納する。
【００２９】
図４は、教師データ生成にかかる処理例を示すフローチャートである。図４に示すように、処理が開始されると、教師データ作成制御部１１ａは、入力データ格納部２１を参照してテロップ動画２１ａを読み出し、テロップ動画２１ａを音声データと、動画に含まれるフレームごとの複数の画像ファイルとに分割する（Ｓ１０）。
【００３０】
次いで、教師データ作成制御部１１ａは、入力データ格納部２１を参照し、テロップ動画２１ａにタグなどで関連付けられたメタ情報２１ｂが存在するか否かを判定する（Ｓ１１）。メタ情報２１ｂが存在しない場合、教師データ作成制御部１１ａは、Ｓ１５へ処理を進める。
【００３１】
メタ情報２１ｂが存在する場合（Ｓ１１：ＹＥＳ）、教師データ作成制御部１１ａは、テロップ動画２１ａに関連するメタ情報２１ｂを読み出し、読み出したメタ情報２１ｂをメタ情報分解部１１ｂへ出力する。次いで、メタ情報分解部１１ｂは、メタ情報２１ｂから画像情報２２ａ、テロップテキスト２２ｃ、音声テキスト２２ｂを作成し（Ｓ１２）、作成した画像情報２２ａ、テロップテキスト２２ｃ、音声テキスト２２ｂを教師データ格納部２２に格納する（Ｓ１３）。次いで、文脈データ作成部１１ｄは、メタ情報作成部１１ｃが作成したテロップテキスト２２ｃから文脈データ２２ｄを生成し、教師データ格納部２２に格納する（Ｓ１４）。
【００３２】
図５は、メタ情報２１ｂの一例を説明する説明図である。図５に示すように、例えばメタ情報２１ｂには、テロップ動画２１ａのタイムコードで示される時間ごとに、テロップ位置、画像の内容を示す画像属性、テロップテキスト、音声の内容を示す音声テキストについての情報が記述されている。
【００３３】
メタ情報分解部１１ｂは、メタ情報２１ｂにおける時間ごとのテロップ位置、画像属性、テロップテキストおよび音声テキストを画像情報２２ａ、音声テキスト２２ｂおよびテロップテキスト２２ｃに分解する。例えば、メタ情報分解部１１ｂは、メタ情報２１ｂより時間を示すタイムコードとともに画像属性を分解して画像情報２２ａとし、教師データ格納部２２に格納する。また、メタ情報分解部１１ｂは、メタ情報２１ｂよりタイムコードとともに音声テキストを分解して音声テキスト２２ｂとし、教師データ格納部２２に格納する。また、メタ情報分解部１１ｂは、メタ情報２１ｂよりタイムコードとともにテロップ位置とテロップテキストを分解してテロップテキスト２２ｃとし、教師データ格納部２２に格納する。
【００３４】
メタ情報２１ｂが存在しない場合（Ｓ１１：ＮＯ）、教師データ作成制御部１１ａは、テロップ動画２１ａを読み出し、読み出したテロップ動画２１ａをメタ情報作成部１１ｃへ出力する。次いで、メタ情報作成部１１ｃは、テロップ動画２１ａに含まれる音声データと画像ファイルからメタ情報、すなわち画像情報、テロップテキスト、音声テキストを作成する（Ｓ１５）。
【００３５】
図６は、メタ情報生成にかかる機能構成例を示すブロック図である。図６に示すように、メタ情報作成部１１ｃは、メタ情報作成制御部１１１、画像分類エンジン１１２、音声認識エンジン１１３およびテロップ認識エンジン１１４を有する。
【００３６】
メタ情報作成制御部１１１は、メタ情報の作成に関する処理を制御する処理部である。メタ情報作成制御部１１１は、メタ情報の作成対象であるテロップ動画２１ａより、画像ファイルを画像分類エンジン１１２およびテロップ認識エンジン１１４に渡し、音声データを音声認識エンジン１１３に渡す。
【００３７】
画像分類エンジン１１２は、画像ファイルをもとに公知の画像認識処理を行って画像の属性を分類する処理部である。具体的には、画像分類エンジン１１２は、公知の画像認識処理により画像に含まれる物体を認識する。次いで、画像分類エンジン１１２は、認識した物体に該当する属性を判定し、画像の内容を示す属性ごとに分類したデータ（画像情報２２ａ）を作成して教師データ格納部２２に格納する。
【００３８】
音声認識エンジン１１３は、音声データをもとに公知の音声認識処理を行って音声を認識する処理部である。音声認識エンジン１１３は、認識した音声を音声テキスト２２ｂに変換し、教師データ格納部２２に格納する。
【００３９】
テロップ認識エンジン１１４は、画像ファイルをもとに公知の画像認識処理を行って画像に含まれるテロップを認識する処理部である。テロップ認識エンジン１１４は、公知の画像認識処理により画像におけるテロップの位置と、テロップのテキストを認識し、認識した位置およびテキストをテロップテキスト２２ｃとして教師データ格納部２２に格納する。
【００４０】
図７は、メタ情報生成にかかる処理例を示すフローチャートである。図７に示すように、処理が開始されると、メタ情報作成制御部１１１は、テロップ認識エンジン１１４により画像（各フレーム）におけるテロップの存在を確認し（Ｓ２０）、画像にテロップが存在するか否かを判定する（Ｓ２１）。
【００４１】
テロップが存在しない場合（Ｓ２１：ＮＯ）、メタ情報作成制御部１１１はＳ２０へ処理を戻し、テロップが存在するフレームが得られるまで処理を待機する。
【００４２】
テロップが存在する場合（Ｓ２１：ＹＥＳ）、メタ情報作成制御部１１１は、テロップ認識エンジン１１４によりフレームからテロップの位置を取得し（Ｓ２２）、取得した位置におけるテロップの文字列（テロップテキスト）を読み出す（Ｓ２３）。
【００４３】
次いで、メタ情報作成制御部１１１は、直前のフレームにおいて読み出したテロップの文字列が存在するか否かを判定し（Ｓ２４）、存在しない場合（Ｓ２４：ＮＯ）はＳ２７へ処理を進める。
【００４４】
直前のフレームにおいて読み出したテロップの文字列が存在する場合（Ｓ２４：ＹＥＳ）、メタ情報作成制御部１１１は、直前のテロップの文字列と今回のフレームより読み出したテロップの文字列とが一致するか否かを確認し、判定する（Ｓ２５，Ｓ２６）。一致する場合（Ｓ２６：ＹＥＳ）は同じテロップが続けて表示されているフレームであることから、メタ情報作成制御部１１１はＳ２０へ処理を戻す。
【００４５】
一致しない場合（Ｓ２６：ＮＯ）、メタ情報作成制御部１１１は、画像分類エンジン１１２により処理の対象となる画像（フレーム）から画像の属性を取得する（Ｓ２７）。次いで、メタ情報作成制御部１１１は、テロップ動画２１ａの音声データから該当する時刻の音声データを切り出し（Ｓ２８）、切り出した音声データを音声認識エンジン１１３へ出力する。次いで、音声認識エンジン１１３は、音声データから音声テキスト２２ｂを取得する（Ｓ２９）。
【００４６】
次いで、メタ情報作成制御部１１１は、Ｓ２２、Ｓ２７、Ｓ２９において取得したテロップ位置、画像の属性、音声テキストを画像情報２２ａおよび音声テキスト２２ｂとして教師データ格納部２２に格納する（Ｓ３０）。次いで、メタ情報作成制御部１１１は、Ｓ２３において読み出したテロップテキストをテロップテキスト２２ｃに追記する（Ｓ３１）。
【００４７】
次いで、メタ情報作成制御部１１１は、テロップ動画２１ａの最後のフレームまで処理が終了した場合に処理を終了する。なお、メタ情報作成制御部１１１は、最後のフレームまで処理が終了していない場合は次のフレームを処理対象としてＳ２０へ処理を戻す。
【００４８】
図８は、メタ情報生成により生成された情報の一例を説明する説明図である。図７に例示した処理をテロップ動画２１ａに対して実行することで、図８に示すように、テロップ動画２１ａの時間ごとに、画像情報２２ａ、テロップテキスト２２ｃおよび音声テキスト２２ｂを生成する。
【００４９】
図４に戻り、Ｓ１５に次いで、文脈データ作成部１１ｄは、テロップテキスト２２ｃの全テキストを用いてテロップ（テキスト）の文脈を表す文脈データ２２ｄを作成し（Ｓ１６）、教師データ格納部２２に格納する。
【００５０】
ここで、Ｓ１４、Ｓ１６における文脈データの生成について説明する。本実施形態では、文脈データの生成およびテキストの補正を、ディープラーニング技術により学習フェーズにおいて学習したニューラルネットワークを用いて行う。具体的には、文脈データの生成またはテキストの補正を行うように学習したニューラルネットワークを推論フェーズで適用することで、文脈データやテキストの補正結果をニューラルネットワークによる推論結果として得る。
【００５１】
図９は、学習フェーズの一例を説明する説明図である。図９に示すように、ディープラーニング学習（Ｓ１００）では、ニューラルネットワーク定義５３、学習済み重み（オプション）５４およびハイパーパラメタ５５を用いて初期のニューラルネットワークを構築する。次いで、ディープラーニング学習では、教師データ５１および正解データ５２を構築したニューラルネットワークに適用し、文脈データの生成またはテキストの補正を行うようにニューラルネットワークの学習を行う。
【００５２】
具体的には、ディープラーニング学習（Ｓ１００）では、教師データ５１をニューラルネットワークに順伝播して得られた推論結果と、正解データ５２との差分（損失）を求める。次いで、得られた差分をニューラルネットワークに逆伝播させ、ニューラルネットワークの各ノードのパラメータを変更して最適解に近づけていく。このようなディープラーニング学習（Ｓ１００）により、ニューラルネットワークにおける各ノードのパラメータが学習済み重み６０として得られる。
【００５３】
図１０は、推論フェーズの一例を説明する説明図である。図１０に示すように、ディープラーニング推論（Ｓ２００）では、学習フェーズで得られた学習済み重み６０と、ニューラルネットワーク定義６２とをもとにニューラルネットワークを構築する。次いで、ディープラーニング推論（Ｓ２００）では、文脈データの生成またはテキストの補正等の対象となるテストデータ６１をニューラルネットワークに適用する。これにより、文脈データまたは補正後のテキストなどの推論結果６３を得ることができる。
【００５４】
図１１は、文脈データ生成の学習および推論を説明する説明図である。図１１に示すように、文脈データを生成するための学習では、文脈に沿って出現する単語を示す教師データ５１と、正解の文脈データである正解データ５２とを用意する。
【００５５】
ディープラーニング学習（Ｓ１００）では、教師データ５１をニューラルネットワークに順伝播して得られた推論結果５６と、正解データ５２との損失（エラー）を損失関数により求める。次いで、得られた損失をニューラルネットワークに逆伝播させ、ニューラルネットワークの各ノードのパラメータを変更して最適解に近づけることで、文脈データを生成するための学習済み重み６０を得る。
【００５６】
また、ディープラーニング推論（Ｓ２００）では、文脈データの生成対象となるテキストについて、文脈に沿って出現する単語を示すテストデータ６１をニューラルネットワークに順伝播することで、文脈データを推論した推論結果６３を得る。なお、推論結果６３は、テキスト内の所定の単語と、その単語の前後／周辺に出現する単語との共起度合いを、出現単語の順序に従って並べた文脈ベクトルを示す。
【００５７】
図１２は、文脈データ生成にかかる処理例を示すフローチャートである。図１２に示すように、処理が開始されると、文脈データ作成部１１ｄは、ディープラーニング学習にかかる定義（ハイパーパラメタ５５、ニューラルネットワーク定義５３および学習済み重み（オプション）５４）を行う（Ｓ４０）。次いで、文脈データ作成部１１ｄは、学習済み重み６０（学習モデル）の有無を判定し（Ｓ４１）、未学習であり学習済み重み６０がない場合（Ｓ４１：ＮＯ）は前述したディープラーニング学習（Ｓ１００）による学習を実施する（Ｓ４２）。学習済であり学習済み重み６０がある場合（Ｓ４１：ＹＥＳ）、文脈データ作成部１１ｄはＳ４３へ処理を進める。
【００５８】
Ｓ４３において、文脈データ作成部１１ｄは、ディープラーニング学習で構築した学習済み重み６０をニューラルネットワークに設定し、文脈データの生成対象となるテロップデータ（テロップテキスト２２ｃの全テキスト）を読み込む（Ｓ４４）。次いで、文脈データ作成部１１ｄは、読み込んだテロップデータをニューラルネットワークの入力データ（テストデータ６１）として文脈データの推論を行い、推論結果６３（文脈データ）を出力する（Ｓ４５）。
【００５９】
ここで、文脈ベクトル学習（Ｓ４２）の詳細について説明する。図１３は、文脈データ学習にかかる処理例を示すフローチャートである。
【００６０】
図１３に示すように、文脈データ学習の処理が開始されると、文脈データ作成部１１ｄは、教師データ５１とするテキストに含まれる全単語を取得する（Ｓ５０）。
【００６１】
次いで、文脈データ作成部１１ｄは、取得した全単語をワンホットベクトルに変換し（Ｓ５１）、単語用のニューラルネットワークの初期値を設定する（Ｓ５２）。この単語用のニューラルネットワークは、例えば単語の特徴をベクトル化するＷｏｒｄ２Ｖｅｃなどである。
【００６２】
次いで、文脈データ作成部１１ｄは、全単語の中から所定の単語のワンホット表現を取得し（Ｓ５３）、単語用のニューラルネットワークに入力することでＷｏｒｄＶｅｃの推論を行う（Ｓ５４）。次いで、文脈データ作成部１１ｄは、ＷｏｒｄＶｅｃの推論結果と、正解データ５２に含まれる正解の単語ベクトルとを比較し、比較結果をもとに誤差逆伝播により単語用のＷｏｒｄ２Ｖｅｃ（単語用のニューラルネットワーク）の重みを更新する（Ｓ５５）。
【００６３】
次いで、文脈データ作成部１１ｄは、所定の終了条件（例えばニューラルネットワークへの入力が完了したか、損失関数によるエラーが所定の閾値を下回ったかなど）を満たし、単語用ニューラルネットワークの学習が完了したか否かを判定する（Ｓ５６）。単語用ニューラルネットワークの学習が完了していない場合（Ｓ５６：ＮＯ）、文脈データ作成部１１ｄは、Ｓ５４へ処理を戻し、教師データ５１の単語を使った学習を継続する。
【００６４】
単語用ニューラルネットワークの学習が完了した場合（Ｓ５６：ＹＥＳ）、文脈データ作成部１１ｄは、文脈用のニューラルネットワークの初期値を設定する（Ｓ５７）。次いで、文脈データ作成部１１ｄは、Ｗｏｒｄ２Ｖｅｃを使い文脈ベクトルを取得し（Ｓ５８）、文脈用ニューラルネットワークの推論を行う（Ｓ５９）。
【００６５】
次いで、文脈データ作成部１１ｄは、文脈用ニューラルネットワークの推論結果と、正解データ５２に含まれる正解とを比較し、比較結果をもとに誤差逆伝播により文脈用ニューラルネットワークの重みを更新する（Ｓ６０）。
【００６６】
次いで、文脈データ作成部１１ｄは、所定の終了条件（例えばニューラルネットワークへの入力が完了したか、損失関数によるエラーが所定の閾値を下回ったかなど）を満たし、文脈用ニューラルネットワークの学習が完了したか否かを判定する（Ｓ６１）。文脈用ニューラルネットワークの学習が完了していない場合（Ｓ６１：ＮＯ）、文脈データ作成部１１ｄは、Ｓ５９へ処理を戻し、文脈用ニューラルネットワークの学習を継続する。
【００６７】
文脈用ニューラルネットワークの学習が完了した場合（Ｓ６１：ＹＥＳ）、文脈データ作成部１１ｄは、単語用のニューラルネットワークの重みと、文脈用のニューラルネットワークの重みとを保存し（Ｓ６２、Ｓ６３）、処理を終了する。
【００６８】
図２に戻り、Ｓ３に次いで、誤り補正部１２は、教師データ格納部２２に格納された文脈データ２２ｄを取得する（Ｓ４）。次いで、誤り補正部１２は、教師データ格納部２２に格納された画像情報２２ａ、音声テキスト２２ｂおよびテロップテキスト２２ｃより、一テロップごとのメタ情報とテキストを取得する（Ｓ５）。具体的には、誤り補正部１２は、タイムスタンプが共通する一テロップの情報について、テロップ位置、画像属性、テロップテキスト、音声テキストを教師データ格納部２２より取得する。
【００６９】
次いで、誤り補正部１２は、取得した文脈データ２２ｄと、入力データ（テロップ位置、画像属性、テロップテキスト、音声テキスト）から、ディープラーニング技術により学習したニューラルネットワークを用いて誤り補正済みのテロップ（テキスト）を作成する（Ｓ６）。次いで、誤り補正部１２は、作成した誤り補正済みテロップをタイムコードなどとともに誤り補正済みテロップ格納部２３に格納する（Ｓ７）。
【００７０】
図１４は、誤り補正の学習および推論を説明する説明図である。図１４に示すように、テロップ（テキスト）の誤り補正の学習では、テロップ（テキスト）、音声、テロップ位置、画像（属性）、文脈データを示す教師データ５１と、正解のテキストである正解データ５２とを用意する。
【００７１】
ディープラーニング学習（Ｓ１００）では、教師データ５１をニューラルネットワークに順伝播して得られた推論結果５６と、正解データ５２との損失（エラー）を損失関数により求める。
【００７２】
なお、誤り補正用のニューラルネットワークは、テキストの文字列について、並び順の順方向および逆方向の双方向から入力を受け付けて誤りを補正した文字列を順方向に出力する双方向ニューラルネットワークとする。すなわち、教師データ５１におけるテロップについては、並び順の順方向および逆方向の双方向からニューラルネットワークに入力する。
【００７３】
次いで、得られた損失をニューラルネットワークに逆伝播させ、ニューラルネットワークの各ノードのパラメータを変更して最適解に近づけることで、テキストの誤りを補正するための学習済み重み６０を得る。
【００７４】
例えば、図示例では、「ＸＸＸＸ…ＢＩ  ＸＸ…」とするテキストに含まれる「ＢＩ」の誤りを、正解データ５２により「ＡＩ」とするように学習した学習済み重み６０が得られることとなる。
【００７５】
また、ディープラーニング推論（Ｓ２００）では、補正対象となるテキスト（テロップ）について、テキストとともに音声、テロップ位置、画像（属性）、文脈データを示すテストデータ６１をニューラルネットワークに順伝播させる。これにより、テキストに含まれる誤りを補正した推論結果６３を得る。
【００７６】
図１５は、誤り補正にかかる処理例を示すフローチャートである。図１５に示すように、処理が開始されると、誤り補正部１２は、ディープラーニング学習にかかる定義（ハイパーパラメタ５５、ニューラルネットワーク定義５３および学習済み重み（オプション）５４）を行う（Ｓ７０）。次いで、誤り補正部１２は、学習済み重み６０（学習モデル）の有無を判定し（Ｓ７１）、未学習であり学習済み重み６０がない場合（Ｓ７１：ＮＯ）は前述したディープラーニング学習（Ｓ１００）による学習を実施する（Ｓ７２）。学習済であり学習済み重み６０がある場合（Ｓ７１：ＹＥＳ）、誤り補正部１２はＳ７３へ処理を進める。
【００７７】
Ｓ７３において、誤り補正部１２は、ディープラーニング学習で構築した学習済み重み６０をニューラルネットワークに設定する（Ｓ７３）、次いで、誤り補正部１２は、教師データ格納部２２より、テロップテキスト２２ｃ、音声テキスト２２ｂ、位置（テロップ位置）、画像情報２２ａおよび文脈データ２２ｄを読み込む（Ｓ７４）。
【００７８】
次いで、誤り補正部１２は、テロップテキスト２２ｃについて、単語ごとのループ処理（Ｓ７５）を行う。具体的には、誤り補正部１２は、処理対象となる単語に関連するテロップテキスト２２ｃ、音声テキスト２２ｂ、位置（テロップ位置）、画像情報２２ａおよび文脈データ２２ｄを結合する（Ｓ７６）。次いで、誤り補正部１２は、結合したデータをニューラルネットワークの入力データ（テストデータ６１）として誤りを補正したテキストの推論を行う（Ｓ７７）。
【００７９】
上記のループ処理（Ｓ７５）についで、誤り補正部１２は、誤りを補正したテキストの推論結果６３を出力し（Ｓ７９）、処理を終了する。
【００８０】
図２に戻り、Ｓ７に次いで、誤り補正部１２は、一テロップごとの処理を全テキストに行い、全ての補正済みテロップを生成し終えたか否かを判定する（Ｓ８）。
【００８１】
全ての補正済みテロップを生成し終えていない場合（Ｓ８：ＮＯ）、誤り補正部１２は、Ｓ５へ処理を戻す。生成し終えた場合（Ｓ８：ＹＥＳ）、誤り補正部１２は、誤り補正済みのテロップ（テキスト）を誤り補正済みテロップ格納部２３に格納し、処理を終了する。
【００８２】
以上のように、テキスト生成装置１は、教師データ作成部１１と、誤り補正部１２とを有する。教師データ作成部１１は、補正対象のテキストに基づき、テキストの文脈を示す文脈データを生成する。誤り補正部１２は、教師データに対応するテキストの文字列、テキストの文脈データおよびメタ情報を入力とし、テキストの誤りを補正するように学習したニューラルネットワークに対して、補正対象のテキストの文字列、生成した文脈データおよびテキストに対応するメタ情報を入力し、補正対象のテキストの誤りを補正する。したがって、テキスト生成装置１では、補正対象のテキストだけでなく、テキストの文脈を示す文脈データおよびテキストに対応するメタ情報をニューラルネットワークに入力して誤りを補正するので、精度よくテキストの誤りを補正できる。
【００８３】
また、テキスト生成装置１における補正対象のテキストは、動画像のテロップであり、メタ情報は、動画像におけるテロップの位置、動画像の属性および音声の内容を示す音声テキストのうちの少なくとも一つである。したがって、テキスト生成装置１では、動画像におけるテロップの位置、動画像の属性および音声の内容を示す音声テキストのうちの少なくとも一つのメタ情報をもとに、動画像のテロップにおける誤りを精度よく補正することができる。
【００８４】
また、誤り補正部１２におけるニューラルネットワークは、補正対象のテキストの文字列について、並び順の順方向および逆方向の双方向から入力を受け付けて誤りを補正した文字列を出力する双方向ニューラルネットワークである。このように、テキスト生成装置１では、双方向ニューラルネットワークを用い、補正対象のテキストについて文字列の双方向の並び順をもとに誤りを補正するので、順方向または逆方向の一方向で補正する場合と比較して、より精度よく補正することができる。
【００８５】
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、任意に変更することができる。また、実施例で説明した具体例、分布、数値などは、あくまで一例であり、任意に変更することができる。
【００８６】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００８７】
また、テキスト生成装置１で行われる各種処理機能は、ＣＰＵ（Central  Processing  Unit）（またはＭＰＵ（Micro  Processing  Unit）、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ等で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。また、テキスト生成装置１で行われる各種処理機能は、クラウドコンピューティングにより、複数のコンピュータが協働して実行してもよい。
【００８８】
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータ（ハードウエア）の一例を説明する。図１６は、実施形態にかかるテキスト生成装置１のハードウエア構成の一例を示すブロック図である。
【００８９】
図１６に示すように、テキスト生成装置１は、各種演算処理を実行するＣＰＵ２０１と、データ入力を受け付ける入力装置２０２と、モニタ２０３と、スピーカ２０４とを有する。また、テキスト生成装置１は、記憶媒体からプログラム等を読み取る媒体読取装置２０５と、各種装置と接続するためのインタフェース装置２０６と、有線または無線により外部機器と通信接続するための通信装置２０７とを有する。また、テキスト生成装置１は、各種情報を一時記憶するＲＡＭ２０８と、ハードディスク装置２０９とを有する。また、テキスト生成装置１内の各部（２０１〜２０９）は、バス２１０に接続される。
【００９０】
ハードディスク装置２０９には、上記の実施形態で説明したテキスト生成処理部１０にかかる各種の処理を実行するためのプログラム２１１が記憶される。また、ハードディスク装置２０９には、上記の実施形態で説明した記憶部２０としての機能を提供し、プログラム２１１が参照する各種データ２１２が記憶される。入力装置２０２は、例えば、テキスト生成装置１の操作者から操作情報の入力を受け付ける。モニタ２０３は、例えば、操作者が操作する各種画面を表示する。インタフェース装置２０６は、例えば印刷装置等が接続される。通信装置２０７は、ＬＡＮ（Local  Area  Network）等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。
【００９１】
ＣＰＵ２０１は、ハードディスク装置２０９に記憶されたプログラム２１１を読み出して、ＲＡＭ２０８に展開して実行することで、テキスト生成処理部１０にかかる各種の処理を行う。なお、プログラム２１１は、ハードディスク装置２０９に記憶されていなくてもよい。例えば、テキスト生成装置１が読み取り可能な記憶媒体に記憶されたプログラム２１１を、テキスト生成装置１が読み出して実行するようにしてもよい。テキスト生成装置１が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこのプログラムを記憶させておき、テキスト生成装置１がこれらからプログラム２１１を読み出して実行するようにしてもよい。
【００９２】
以上の実施形態に関し、さらに以下の付記を開示する。
【００９３】
（付記１）補正対象のテキストに基づき、当該テキストの文脈を示す文脈データを生成する生成部と、
教師データに対応するテキストの文字列、当該テキストの文脈データおよびメタ情報を入力とし、前記テキストの誤りを補正するように学習したニューラルネットワークに対して、前記補正対象のテキストの文字列、生成した前記文脈データおよび当該テキストに対応するメタ情報を入力し、前記補正対象のテキストの誤りを補正する補正部と、
を有することを特徴とするテキスト生成装置。
【００９４】
（付記２）前記補正対象のテキストは、動画像のテロップであり、
前記メタ情報は、前記動画像におけるテロップの位置、動画像の属性および音声の内容を示す音声テキストのうちの少なくとも一つである、
ことを特徴とする付記１に記載のテキスト生成装置。
【００９５】
（付記３）前記ニューラルネットワークは、前記補正対象のテキストの文字列について、並び順の順方向および逆方向の双方向から入力を受け付けて誤りを補正した文字列を出力する双方向ニューラルネットワークである、
ことを特徴とする付記１または２に記載のテキスト生成装置。
【００９６】
（付記４）補正対象のテキストに基づき、当該テキストの文脈を示す文脈データを生成し、
教師データに対応するテキストの文字列、当該テキストの文脈データおよびメタ情報を入力とし、前記テキストの誤りを補正するように学習したニューラルネットワークに対して、前記補正対象のテキストの文字列、生成した前記文脈データおよび当該テキストに対応するメタ情報を入力し、前記補正対象のテキストの誤りを補正する、
処理をコンピュータに実行させることを特徴とするテキスト生成プログラム。
【００９７】
（付記５）前記補正対象のテキストは、動画像のテロップであり、
前記メタ情報は、前記動画像におけるテロップの位置、動画像の属性および音声の内容を示す音声テキストのうちの少なくとも一つである、
ことを特徴とする付記４に記載のテキスト生成プログラム。
【００９８】
（付記６）前記ニューラルネットワークは、前記補正対象のテキストの文字列について、並び順の順方向および逆方向の双方向から入力を受け付けて誤りを補正した文字列を出力する双方向ニューラルネットワークである、
ことを特徴とする付記４または５に記載のテキスト生成プログラム。
【００９９】
（付記７）補正対象のテキストに基づき、当該テキストの文脈を示す文脈データを生成し、
教師データに対応するテキストの文字列、当該テキストの文脈データおよびメタ情報を入力とし、前記テキストの誤りを補正するように学習したニューラルネットワークに対して、前記補正対象のテキストの文字列、生成した前記文脈データおよび当該テキストに対応するメタ情報を入力し、前記補正対象のテキストの誤りを補正する、
処理をコンピュータが実行することを特徴とするテキスト生成方法。
【０１００】
（付記８）前記補正対象のテキストは、動画像のテロップであり、
前記メタ情報は、前記動画像におけるテロップの位置、動画像の属性および音声の内容を示す音声テキストのうちの少なくとも一つである、
ことを特徴とする付記７に記載のテキスト生成方法。
【０１０１】
（付記９）前記ニューラルネットワークは、前記補正対象のテキストの文字列について、並び順の順方向および逆方向の双方向から入力を受け付けて誤りを補正した文字列を出力する双方向ニューラルネットワークである、
ことを特徴とする付記７または８に記載のテキスト生成方法。
【符号の説明】
【０１０２】
１…テキスト生成装置
１０…テキスト生成処理部
１１…教師データ作成部
１１ａ…教師データ作成制御部
１１ｂ…メタ情報分解部
１１ｃ…メタ情報作成部
１１ｄ…文脈データ作成部
１２…誤り補正部
２０…記憶部
２１…入力データ格納部
２１ａ…テロップ動画
２１ｂ…メタ情報
２２…教師データ格納部
２２ａ…画像情報
２２ｂ…音声テキスト
２２ｃ…テロップテキスト
２２ｄ…文脈データ
２３…誤り補正済みテロップ格納部
５１…教師データ
５２…正解データ
５３…ニューラルネットワーク定義
５４…学習済み重み（オプション）
５５…ハイパーパラメタ
５６…推論結果
６０…学習済み重み
６１…テストデータ
６２…ニューラルネットワーク定義
６３…推論結果
１１１…メタ情報作成制御部
１１２…画像分類エンジン
１１３…音声認識エンジン
１１４…テロップ認識エンジン
２０１…ＣＰＵ
２０２…入力装置
２０３…モニタ
２０４…スピーカ
２０５…媒体読取装置
２０６…インタフェース装置
２０７…通信装置
２０８…ＲＡＭ
２０９…ハードディスク装置
２１０…バス
２１１…プログラム
２１２…各種データ
【図１】
2020034704.tif 000003
【図２】
2020034704.tif 000004
【図３】
2020034704.tif 000005
【図４】
2020034704.tif 000006
【図５】
2020034704.tif 000007
【図６】
2020034704.tif 000008
【図７】
2020034704.tif 000009
【図８】
2020034704.tif 000010
【図９】
2020034704.tif 000011
【図１０】
2020034704.tif 000012
【図１１】
2020034704.tif 000013
【図１２】
2020034704.tif 000014
【図１３】
2020034704.tif 000015
【図１４】
2020034704.tif 000016
【図１５】
2020034704.tif 000017
【図１６】
2020034704.tif 000018