(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024026469
(43)【公開日】2024-02-28
(54)【発明の名称】学習装置、生成装置、出力装置、学習方法、生成方法、プログラム、及び学習済み機械学習モデルの製造方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20240220BHJP
G06F 40/56 20200101ALI20240220BHJP
【FI】
G06N20/00 130
G06F40/56
【審査請求】有
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023216105
(22)【出願日】2023-12-21
(62)【分割の表示】P 2022503103の分割
【原出願日】2020-12-09
(31)【優先権主張番号】PCT/JP2020/008390
(32)【優先日】2020-02-28
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】西田 京介
(72)【発明者】
【氏名】田中 涼太
(72)【発明者】
【氏名】吉田 仙
(72)【発明者】
【氏名】富田 準二
(57)【要約】
【課題】視覚情報を考慮した機械読解を実現すること。
【解決手段】一実施形態に係る学習装置は、視覚的な領域が含まれるデータと、前記データに関連する第1の情報とを入力として、機械学習モデルのモデルパラメータを用いて、前記領域の特徴を表す情報から、前記第1の情報に対応する第2の情報を生成する生成部と、前記第2の情報と、前記第2の情報の正解を表す第3の情報とに基づいて、前記モデルパラメータを学習する学習部と、を有することを特徴とする。
【選択図】
図1
【特許請求の範囲】
【請求項1】
視覚的な領域が含まれるデータと、前記データに関連する第1の情報とを入力として、機械学習モデルのモデルパラメータを用いて、前記領域の特徴を表す情報から、前記第1の情報に対応する第2の情報を生成する生成部と、
前記第2の情報と、前記第2の情報の正解を表す第3の情報とに基づいて、前記モデルパラメータを学習する学習部と、
を有することを特徴とする学習装置。
【請求項2】
前記生成部は、
前記領域の特徴を表す情報と前記第1の情報との特徴量を作成し、前記特徴量から前記第2の情報を生成する、請求項1に記載の学習装置。
【請求項3】
前記領域には、画像又は図表が少なくとも含まれる、請求項1又は2に記載の学習装置。
【請求項4】
前記第1の情報は、前記データに関連する内容を表すテキスト情報である、請求項1乃至3の何れか一項に記載の学習装置。
【請求項5】
視覚的な領域が含まれるデータと、前記データに関連する第1の情報とを入力として、機械学習モデルのモデルパラメータを用いて、前記領域と、前記第1の情報に対応する第2の情報との関連度を算出する算出部と、
前記関連度と、前記関連度の正解を表す情報とに基づいて、前記モデルパラメータを学習する学習部と、
を有することを特徴とする学習装置。
【請求項6】
視覚的な領域が含まれるデータと、前記データに関連する第1の情報とを入力として、学習済みの機械学習モデルのモデルパラメータを用いて、前記領域の特徴を表す情報から、前記第1の情報に対応する第2の情報を生成する生成部、
を有することを特徴とする生成装置。
【請求項7】
視覚的な領域が含まれるデータと、前記データに関連する第1の情報とを入力として、学習済みの機械学習モデルのモデルパラメータを用いて、前記領域に関して、前記領域と前記第1の情報に対応する第2の情報との関連度に基づく所定の評価値を出力する出力部、
を有することを特徴とする出力装置。
【請求項8】
視覚的な領域が含まれるデータと、前記データに関連する第1の情報とを入力として、機械学習モデルのモデルパラメータを用いて、前記領域の特徴を表す情報から、前記第1の情報に対応する第2の情報を生成する生成手順と、
前記第2の情報と、前記第2の情報の正解を表す第3の情報とに基づいて、前記モデルパラメータを学習する学習手順と、
をコンピュータが実行することを特徴とする学習方法。
【請求項9】
視覚的な領域が含まれるデータと、前記データに関連する第1の情報とを入力として、学習済みの機械学習モデルのモデルパラメータを用いて、前記領域の特徴を表す情報から、前記第1の情報に対応する第2の情報を生成する生成手順、
をコンピュータが実行することを特徴とする生成方法。
【請求項10】
視覚的な領域が含まれるデータと、前記データに関連する第1の情報とを入力として、機械学習モデルのモデルパラメータを用いて、前記領域の特徴を表す情報から、前記第1の情報に対応する第2の情報を生成する生成部、
前記第2の情報と、前記第2の情報の正解を表す第3の情報とに基づいて、前記モデルパラメータを学習する学習部、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項11】
視覚的な領域が含まれるデータと、前記データに関連する第1の情報とを入力として、学習済みの機械学習モデルのモデルパラメータを用いて、前記領域の特徴を表す情報から、前記第1の情報に対応する第2の情報を生成する生成部、
としてコンピュータを機能させることを特徴とするプログラム。
【請求項12】
視覚的な領域が含まれるデータと、前記データに関連する第1の情報とを入力として、機械学習モデルのモデルパラメータを用いて、前記領域の特徴を表す情報から、前記第1の情報に対応する第2の情報を生成する生成手順と、
前記第2の情報と、前記第2の情報の正解を表す第3の情報とに基づいて、前記モデルパラメータを学習する学習手順と、
をコンピュータが実行することを特徴とする、学習済み機械学習モデルの製造方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、生成装置、出力装置、学習方法、生成方法、プログラム、及び学習済み機械学習モデルの製造方法に関する。
【背景技術】
【0002】
与えられた文書の集合に基づいて、質問に対する回答を生成する「機械読解」を人工知能により正確に行うことができれば、質問応答や知的エージェント対話等の幅広いサービスに応用することができる。機械読解には抽出型と生成型があるが、生成型の機械読解を行うための従来技術として、例えば、非特許文献1に開示された技術が知られている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Kyosuke Nishida, Itsumi Saito, Kosuke Nishida, Kazutoshi Shinoda, Atsushi Otsuka, Hisako Asano, Junji Tomita: Multi-style Generative Reading Comprehension. ACL (1) 2019: 2273-2284
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の機械読解技術はテキストのみを扱っており、文書中におけるテキストの位置や大きさ等の視覚的な情報を扱うことができなかった。このため、複数個のテキストがレイアウトされた文書(例えば、HTML(HyperText Markup Language)文書やPDF(Portable Document Format)文書等)を機械読解により理解する場合、テキストの内容以外の情報はすべて欠落した状態で扱われていた。
【0005】
本発明の一実施形態は、上記の点に鑑みてなされたもので、視覚的な情報を考慮した機械読解を実現することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、一実施形態に係る学習装置は、視覚的な領域が含まれるデータと、前記データに関連する第1の情報とを入力として、機械学習モデルのモデルパラメータを用いて、前記領域の特徴を表す情報から、前記第1の情報に対応する第2の情報を生成する生成部と、前記第2の情報と、前記第2の情報の正解を表す第3の情報とに基づいて、前記モデルパラメータを学習する学習部と、を有することを特徴とする。
【発明の効果】
【0007】
視覚情報を考慮した機械読解を実現することができる。
【図面の簡単な説明】
【0008】
【
図1】第一の実施形態に係る質問応答装置の全体構成(学習時)の一例を示す図である。
【
図2】第一の実施形態に係る学習処理の一例を示すフローチャートである。
【
図3】第一の実施形態に係るモデルパラメータ更新処理の一例を示すフローチャートである。
【
図4】特徴領域の抽出の一例を説明するための図である。
【
図5】第一の実施形態に係る視覚効果付き言語理解処理の一例を示すフローチャートである。
【
図6】第一の実施形態に係る回答テキスト生成確率算出処理の一例を示すフローチャートである。
【
図7】第一の実施形態に係る質問応答装置の全体構成(推論時)の一例を示す図である。
【
図8】第一の実施形態に係る推論処理の一例を示すフローチャートである。
【
図9】第一の実施形態に係る回答テキスト生成処理の一例を示すフローチャートである。
【
図10】第二の実施形態に係る質問応答装置の全体構成(学習時)の一例を示す図である。
【
図11】第二の実施形態に係るモデルパラメータ更新処理の一例を示すフローチャートである。
【
図12】第二の実施形態に係る視覚効果付き言語理解処理の一例を示すフローチャートである。
【
図13】第二の実施形態に係る回答テキスト生成確率算出処理の一例を示すフローチャートである。
【
図14】第二の実施形態に係る質問応答装置の全体構成(推論時)の一例を示す図である。
【
図15】第二の実施形態に係る推論処理の一例を示すフローチャートである。
【
図16】第二の実施形態に係る回答テキスト生成処理の一例を示すフローチャートである。
【
図17】一実施形態に係る質問応答装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の一実施形態について説明する。
【0010】
・第一の実施形態
本実施形態では、テキストを含む画像とこの画像に関連する質問テキストとが与えられたときに、この画像中の視覚的な情報(例えば、画像中におけるテキストの位置や大きさ等)を考慮した回答テキストを生成することができる質問応答装置10について説明する。また、本実施形態に係る質問応答装置10は、画像中におけるテキストの位置や大きさだけでなく、画像中に含まれるグラフや写真等の視覚的な情報(言い換えれば、テキストの理解を助ける補助的な情報)も考慮して回答テキストを生成することができる。
【0011】
なお、上述したように、質問応答装置10にはテキストが含まれる画像が与えられるものとするが、これに限られず、テキストが含まれる任意のデータが与えられた場合にも、本実施形態を同様に適用することが可能である。したがって、例えば、HTMLやPDF等のフォーマットに依存することなく、テキストが含まれるデータであれば同様に適用することが可能である。テキストが含まれるデータとしては、例えば、テキストが含まれるHTML文書(Webページ)、テキストが含まれるPDF文書、説明文等が含まれる風景画像、文書データ等が挙げられる。
【0012】
ここで、本実施形態に係る質問応答装置10は、ニューラルネットワークモデルにより機械読解を実現する。このため、本実施形態に係る質問応答装置10には、このニューラルネットワークモデルのパラメータ(以下、「モデルパラメータ」ともいう。)を学習する学習時と、学習済みモデルパラメータを用いたニューラルネットワークモデルにより機械読解を行う推論時とがある。そこで、以降では、質問応答装置10の学習時と推論時について説明する。
【0013】
[学習時]
まず、学習時について説明する。学習時における質問応答装置10には、テキストを含む画像とこの画像に関連する質問テキストとこの質問テキストに対する正解を表す正解回答テキストとが含まれる訓練データの集合(訓練データセット)が入力される。
【0014】
<学習時おける質問応答装置10の全体構成>
学習時における質問応答装置10の全体構成について、
図1を参照しながら説明する。
図1は、第一の実施形態に係る質問応答装置の全体構成(学習時)の一例を示す図である。
【0015】
図1に示すように、学習時における質問応答装置10は、特徴領域抽出部101と、テキスト認識部102と、テキスト解析部103と、視覚効果付言語理解部104と、回答テキスト生成部105と、パラメータ学習部106と、パラメータ記憶部107とを有する。
【0016】
特徴領域抽出部101は、入力された画像から特徴領域を抽出する。テキスト認識部102は、特徴領域抽出部101により抽出された特徴領域のうち、テキストが含まれる特徴領域に対してテキスト認識を行って、テキストを出力する。テキスト解析部103は、テキスト認識部102により出力されたテキストと、入力された質問テキストとをそれぞれトークン系列に分割する。また、テキスト解析部103は、正解回答テキストもトークン系列に分割する。
【0017】
視覚効果付言語理解部104はニューラルネットワークで実現され、パラメータ記憶部107に記憶されている学習中モデルパラメータを用いて、テキスト解析部103により得られたトークン系列を符号化する。これにより、視覚的な情報が考慮された符号化系列が得られる。すなわち、画像中の視覚的な効果も考慮した言語理解が得られる。
【0018】
回答テキスト生成部105はニューラルネットワークで実現され、パラメータ記憶部107に記憶されている学習中モデルパラメータを用いて、視覚効果付言語理解部104により得られた符号化系列から回答テキストの生成確率を表す確率分布を算出する。
【0019】
パラメータ学習部106は、回答テキスト生成部105により生成された回答テキストと、入力された正解回答テキストとの損失を用いて、パラメータ記憶部107に記憶されている学習中モデルパラメータを更新する。これにより、モデルパラメータが学習される。
【0020】
パラメータ記憶部107には、視覚効果付言語理解部104及び回答テキスト生成部105を実現するニューラルネットワークモデルの学習中モデルパラメータ(つまり、学習対象のモデルパラメータ)が記憶される。なお、学習中モデルパラメータとは、学習済みでないモデルパラメータのことを意味する。
【0021】
<学習処理>
次に、本実施形態に係る学習処理について、
図2を参照しながら説明する。
図2は、第一の実施形態に係る学習処理の一例を示すフローチャートである。なお、以降では、一例として、確率的勾配降下法により学習中モデルパラメータを学習する場合について説明する。ただし、確率的勾配降下法以外の他の最適化手法により学習中モデルパラメータが学習されてもよい。
【0022】
まず、パラメータ学習部106は、エポック数を表す変数neを1に初期化する(ステップS101)。
【0023】
次に、パラメータ学習部106は、入力された訓練データセットを、最大でNb個の訓練データが含まれるミニバッチに分割する(ステップS102)。Nbは予め設定される値であり、任意の値を設定することが可能であるが、例えば、Nb=60等とすることが考えられる。
【0024】
次に、質問応答装置10は、ミニバッチ毎にモデルパラメータ更新処理を実行する(ステップS103)。モデルパラメータ更新処理の詳細については後述する。
【0025】
次に、パラメータ学習部106は、ne>Ne-1であるか否かを判定する(ステップS104)。Neは予め設定されるエポック数であり、任意の値を設定することが可能であるが、例えば、Ne=15等とすることが考えられる。
【0026】
上記のステップS104でne>Ne-1であると判定された場合、パラメータ学習部106は学習処理を終了する。これにより、パラメータ記憶部107に記憶されているモデルパラメータの学習が完了する。
【0027】
一方で、上記のステップS104でne>Ne-1でないと判定された場合、パラメータ学習部106は、neに1を加算(ステップS105)して、上記のステップS102に戻る。これにより、エポック数Ne分、上記のステップS102及びステップS103が繰り返し実行される。
【0028】
≪モデルパラメータ更新処理≫
次に、上記のステップS103のモデルパラメータ更新処理の詳細について、
図3を参照しながら説明する。
図3は、第一の実施形態に係るモデルパラメータ更新処理の一例を示すフローチャートである。なお、以降では、或るミニバッチに関するモデルパラメータ更新処理について説明する。
【0029】
まず、パラメータ学習部106は、ミニバッチ中の訓練データを1件読み込む(ステップS201)。
【0030】
次に、特徴領域抽出部101は、読み込まれた訓練データに含まれる画像からK個の特徴領域を抽出する(ステップS202)。特徴領域とは視覚的な特徴に基づく領域のことであり、本実施形態では矩形領域で表されるものとする。また、k番目の特徴領域は、左上座標、右下座標、幅、高さ及び面積を含む位置情報(計7次元)と、矩形画像表現(D次元)と、領域タイプ(C種類)とを持つ画像トークンikとして表されるものとする。ただし、位置情報は特徴領域の位置を特定可能であれば任意の情報が用いられてもよい(例えば、幅、高さ及び面積の少なくとも1つの情報はなくてもよいし、左上座標及び右下座標の代わりに、右上座標及び左下座標が用いられてもよいし、中心座標が用いられてもよい、)。また、矩形画像表現又は領域タイプのいずれかの情報はなくてもよい。なお、例えば、特徴領域がポリゴン(多角形領域)である場合には、このポリゴンを囲む矩形領域を改めて特徴領域とすればよい。
【0031】
ここで、本実施形態では、領域タイプとして、例えば、「画像」、「データ(図表)」、「段落/本文」、「サブデータ」、「見出し/タイトル」、「キャプション」、「サブタイトル/著者名」、「リスト」、「その他テキスト」の9種類を扱うものとする。また、「画像」及び「データ(図表)」以外は、テキストを含む領域タイプであるものとする。ただし、これらの領域タイプは一例であって、他の領域タイプが設定されてもよい。例えば、「画像」と「データ(図表)」とを1つにまとめた領域タイプ「画像情報」が設定されてもよいし、「段落/本文」と「サブデータ」と「見出し/タイトル」と「キャプション」と「サブタイトル/著者名」と「リスト」と「その他テキスト」とを1つにまとめた領域タイプ「テキスト情報」が設定されてもよい。このように領域タイプには、特徴領域にテキストが含まれないことを示す領域タイプと、特徴領域にテキストが含まれることを示す領域タイプとの2種類が少なくとも設定されていればよい。
【0032】
特徴領域抽出部101による特徴領域の抽出の一例を
図4に示す。
図4に示す例では、テキストを含む画像1000から特徴領域1100、特徴領域1200、特徴領域1300、特徴領域1400及び特徴領域1500の5つの特徴領域が抽出された場合を示している。また、
図4に示す例では、特徴領域1100の領域タイプは「画像」、特徴領域1200の領域タイプは「段落/本文」、特徴領域1300の領域タイプは「見出し/タイトル」、特徴領域1400の領域タイプは「リスト」、特徴領域1500の領域タイプは「リスト」である。
【0033】
なお、このような特徴領域の抽出には、例えば、参考文献1「Shaoqing Ren, Kaiming He, Ross B. Girshick, Jian Sun: Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks. NIPS 2015: 91-99」に記載されているFaster R-CNN等を用いることが可能である。ただし、視覚的な特徴に基づく領域を抽出可能な手法であれば、他の手法(例えば、オブジェクト識別技術等)を用いることも可能である。これ以外にも、例えば、入力された画像から人手で特徴領域が抽出(つまり、例えば、左上座標や右下座標、領域タイプ等を人手で設定した画像トークンが作成)されてもよい。
【0034】
次に、テキスト認識部102は、上記のステップS202で抽出された特徴領域のうち、テキストが含まれることを示す領域タイプの特徴領域に対してテキスト認識を行って、テキストを出力する(ステップS203)。なお、このテキスト認識には、例えば、参考文献2「Google: Tesseract Manual. 2018. インターネット<URL:https://github.com/tesseract-ocr/tesseract/blob/master/doc/tesseract.1.asc>」に記載されているTesseract等を用いることが可能である。
【0035】
次に、テキスト解析部103は、上記のステップS203で出力されたテキストをテキストトークン系列に分割する(ステップS204)。以降では、或るk番目の特徴領域にテキストが含まれるものとして、このテキストを分割したテキストトークン系列を
【0036】
【数1】
と表す。L
kはk番目の特徴領域に含まれるテキストのトークン数である。このような分割には、例えば、参考文献3「Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, and Ilya Sutskever: Language models are unsupervised multitask learners. Technical report, OpenAI, 2019.」に記載されているByte-level BPE等を用いることが可能である。
【0037】
なお、上記のByte-level BPEを用いることでテキストはサブワードトークン系列に分割されるが、サブワードトークンの代わりに、例えば、空白等で区切られた単語の系列がテキストトークン系列として用いられてもよい。
【0038】
次に、テキスト解析部103は、上記のステップS204と同様に、読み込まれた訓練データに含まれる質問テキストを質問トークン系列(x1
q,x2
q,・・・,xJ
q)に分割する(ステップS205)。Jは質問テキストのトークン数である。なお、質問トークン系列は、サブワードのトークン系列である。
【0039】
次に、質問応答装置10は、視覚効果付き言語理解処理を実行して、視覚的な情報が考慮された符号化系列を得る(ステップS206)。ここで、視覚効果付き言語理解処理の詳細について、
図5を参照しながら説明する。
図5は、第一の実施形態に係る視覚効果付き言語理解処理の一例を示すフローチャートである。
【0040】
まず、視覚効果付言語理解部104は、画像トークンとテキストトークン系列と質問トークン系列とを用いて、以下の入力トークン系列
【0041】
【数2】
を作成する(ステップS301)。[CLS],[SEP],[EOS]はテキストトークンの一種として扱われる特殊トークンである。本実施形態では、[CLS]='<s>',[SEP]='</s>',[EOS]='</s>'を用いるものとする。なお、k番目の特徴領域にテキストが含まれない場合、k番目のテキストトークン系列
【0042】
【数3】
の長さは0となる。又は、k番目の特徴領域にテキストが含まれない場合、上記のステップS206でk番目のテキストトークン系列を処理しないようにしてもよい。
【0043】
以降では、入力トークン系列の長さをLとする。このLは所定の長さ(例えば、L=512等)となるように調整されることが一般的である。もし入力トークン系列の長さがLを超える場合、各特徴領域に含まれるテキストのうち、最も長いテキストを削除したり、各テキストを均等に削除したり等することで、入力トークン系列の長さLが所定の長さとなるようにする。一方で、入力トークン系列の長さLが所定の長さに不足する場合は、特殊なトークンでパディングすればよい。
【0044】
次に、視覚効果付言語理解部104は、入力トークン系列中の先頭のトークンを処理対象に設定する(ステップS302)。
【0045】
次に、視覚効果付言語理解部104は、処理対象として設定されているトークンがテキストトークンであるか否かを判定する(ステップS303)。ここで、テキストトークンとは、質問トークン系列に含まれるトークン、テキストトークン系列に含まれるトークン及び[CLS],[SEP],[EOS]等の特殊トークンのこと(つまり、サブワードトークンのこと)である。
【0046】
上記のステップS303で処理対象トークンがテキストトークンであると判定された場合、視覚効果付言語理解部104は、処理対象トークンを符号化する(ステップS304)。ここで、本実施形態では、BERT(Bidirectional Encoder Representations from Transformers)を含むニューラルネットワークモデルにより視覚効果付言語理解部104が実現されるものとして、視覚効果付言語理解部104は、以下により処理対象トークンを符号化するものとする。
【0047】
h=LayerNorm(TokenEmb(x)+PositionEmb(x)+SegmentEmb(x))
xは処理対象トークン(つまり、サブワードトークン)、hは符号化後の処理対象トークンを表す。なお、BERTについては、例えば、参考文献4「Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova, "BERT: Pre-training of Deep Bidirectional Transformers for Language」を参照されたい。
【0048】
TokenEmbは、ニューラルネットワークモデルにより、サブワードトークンを対応するG次元のベクトルに変換する処理である。本実施形態では、参考文献5「Mike Lewis, Yinhan Liu, Naman Goyal, Marjan Ghazvininejad, Abdelrahman Mohamed, Omer Levy, Ves Stoyanov, Luke Zettlemoyer: BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension, arXiv, 2019.」により学習済みの埋め込みベクトル(G=1024)をニューラルネットワークモデルのモデルパラメータの初期値とし、学習対象のモデルパラメータとする。なお、参考文献5以外の事前学習済み言語モデルのパラメータを学習対象としてもよい。
【0049】
PositionEmbは、ニューラルネットワークモデルにより、入力トークン系列中における処理対象トークンの位置に応じてG次元のベクトルに変換する処理である。本実施形態では、参考文献6「Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Advances in neural information processing systems, pp. 5998-6008, 2017.」に記載されている手法を用いる。
【0050】
SegmentEmbは、入力トークン系列中における処理対象トークンのセグメントに応じてG次元のベクトルに変換する処理である。本実施形態では、セグメントを区別せずに、変換後のベクトルをG次元の零ベクトルとして扱う。セグメントとは、BERTに入力されるテキストを区別するための情報である。本実施形態では、画像トークンikがセグメントの役割を果たすため、SegmentEmbではセグメントを区別していない。なお、BERTではSegmentEmbが必要であるため、本実施形態でもSegmentEmbを用いているが、BERTを用いない場合には、SegmentEmbは不要である。
【0051】
LayerNormは、G次元のベクトルを入力として、参考文献7「Jimmy Lei Ba, Jamie Ryan Kiros, Geoffrey E. Hinton: Layer Normalization. Arxiv, 2016.」に記載されている正規化手法によりG次元のベクトルを出力する。
【0052】
一方で、上記のステップS303で処理対象トークンがテキストトークンでないと判定された場合(つまり、処理対象トークンが画像トークンである場合)、視覚効果付言語理解部104は、処理対象トークンを以下により符号化する(ステップS305)。
【0053】
h=LayerNorm(ImgfEmb(i)+LocationEmb(i)+SegmentEmb(i))
iは処理対象トークン(つまり、画像トークン)、hは符号化後の処理対象トークンを表す。また、SegmentEmb及びLayerNormは上記のステップS304で説明した通りである。
【0054】
ImgfEmbは、画像トークンに含まれる矩形画像表現を全結合層で構成されるフィードフォワードネットワークモデルによりD次元からG次元に変換する処理である。本実施形態では、1層の全結合層で構成されるフィードフォワードネットワークモデルを用いるものとして、このフィードフォワードネットワークモデルのモデルパラメータを学習対象のモデルパラメータとする。
【0055】
LocationEmbは、画像トークンに含まれる位置情報を全結合層で構成されるフィードフォワードネットワークモデルにより7次元からD次元に変換する処理である。本実施形態では、1層の全結合層で構成されるフィードフォワードネットワークモデルを用いるものとして、このフィードフォワードネットワークモデルのモデルパラメータを学習対象のモデルパラメータとする。
【0056】
上記のステップS304又はステップS305に続いて、視覚効果付言語理解部104は、処理対象トークンが、入力トークン系列の最終トークンであるか否かを判定する(ステップS306)。
【0057】
上記のステップS306で処理対象トークンが最終トークンでないと判定された場合、視覚効果付言語理解部104は、入力トークン系列中で現在の処理対象トークンの次のトークンを処理対象に設定し(ステップS307)、上記のステップS303に戻る。これにより、入力トークン系列中の各トークンが符号化され、符号化系列H=(h1,h2,・・・,hL)が得られる。なお、hrは入力トークン系列中のr(r=1,2,・・・,L)番目のトークンを符号化したものである。
【0058】
一方で、上記のステップS306で処理対象トークンが最終トークンであると判定された場合、視覚効果付言語理解部104は、入力トークン系列の符号化系列HをM層のTransformerEncoderによりH'に変換する(ステップS308)。すなわち、視覚効果付言語理解部104は、H'=TransformerEncoder(H)とする。なお、TransformerEncoderについては、例えば、上記の参考文献5等を参照されたい。本実施形態では、M=12、上記の参考文献5により学習済みのTransformerEncoderを初期値として、このTransformerEncoderのパラメータを学習対象のモデルパラメータとする。
【0059】
図3に戻る。ステップS206に続いて、質問応答装置10は、回答テキストの生成確率算出処理を実行して、回答テキストの生成確率を表す確率分布を算出する(ステップS207)。ここで、回答テキストの生成確率算出処理の詳細について、
図6を参照しながら説明する。
図6は、第一の実施形態に係る回答テキスト生成確率算出処理の一例を示すフローチャートである。
【0060】
まず、テキスト解析部103は、上記のステップS204と同様に、読み込まれた訓練データに含まれる正解回答テキストを正解回答トークン系列
【0061】
【数4】
に分割する(ステップS401)。L
Tは正解回答トークン系列のトークン数であり、所定の値である(したがって、正解回答トークン系列は、必要に応じて、トークン数がL
Tとなるまでパディングやトークンの削除等が行なわれている。)。なお、正解回答トークン系列は、サブワードのトークン系列である。
【0062】
次に、視覚効果付言語理解部104は、上記のステップS401で得られた正解回答トークン系列を用いて、正解出力トークン系列
【0063】
【数5】
を作成する(ステップS402)。以降では、この正解出力トークン系列をY
*と表す。
【0064】
次に、視覚効果付言語理解部104は、t=2として、正解出力トークン系列Y*中の先頭のトークンを処理対象(t-1番目の処理対象トークン)に設定する(ステップS403)。
【0065】
次に、視覚効果付言語理解部104は、
図5のステップS304と同様に、以下により処理対象トークンを符号化する(ステップS404)。
【0066】
hy*=LayerNorm(TokenEmb(y*)+PositionEmb(y*)+SegmentEmb(y*))
y*は処理対象トークン(つまり、サブワードトークン)、hy*は符号化後の処理対象トークンを表す。
【0067】
以降では、t-1番目までの処理対象トークンの符号化結果を表す符号化系列をHy*=(h1
y*,h2
y*,・・・,ht-1
y*)と表す。
【0068】
次に、視覚効果付言語理解部104は、視覚効果付き言語理解処理で得られた符号化系列H'と、上記のステップS404で得られた符号化系列Hy*=(h1
y*,h2
y*,・・・,ht-1
y*)とをM層のTransformerDecoderにより変換する(ステップS405)。すなわち、視覚効果付言語理解部104は、ht
y=TransformerDecoder(Hy*,H')とする。
【0069】
なお、TransformerDecoderについては、例えば、上記の参考文献5等を参照されたい。本実施形態では、M=12、上記の参考文献5により学習済みのTransformerDecoderを初期値として、このTransformerDecoderのパラメータを学習対象のモデルパラメータとする。なお、参考文献5以外の事前学習済み言語モデルのパラメータを学習対象としてもよい。
【0070】
次に、回答テキスト生成部105は、t番目の単語が生成される確率分布p(yt|y<t*)を算出する(ステップS406)。予め設定された出力語彙(語彙数V)における単語ytの確率分布は、p(yt|y<t*)=softmax(Wht
y+b)により算出される。ここで、W∈RV×G、b∈RVは学習対象のモデルパラメータである。なお、語彙数Vとしては任意の値を設定することが可能であるが、例えば、50257等とすることが考えられる。
【0071】
次に、視覚効果付言語理解部104は、正解単語yt
*が最終単語であるか否かを判定する(ステップS407)。最終単語とは、t=LT番目の単語又は文末を示す特殊単語[EOS]のことである。なお、正解単語yt
*が文末を示す単語で、かつ、t<LTである場合、回答テキスト生成部105は、t+1からLTまでを特殊な単語でパディングする。
【0072】
上記のステップS407で正解単語yt
*が最終単語でないと判定された場合、視覚効果付言語理解部104は、tに1を加算(ステップS408)し、ステップS404に戻る。これにより、上記のステップS404~ステップS406が繰り返し実行される。
【0073】
図3に戻る。ステップS207に続いて、パラメータ学習部106は、
図6のステップS406で算出された確率分布p(y
t|y
<t*)を用いて、損失Lossを算出する(ステップS208)。パラメータ学習部106は、例えば、以下により損失Lossを算出すればよい。
【0074】
【数6】
Tは正解回答トークン系列の実際の長さ(つまり、パディング等が行なわれる前の長さ)である。p(y
t
*|y
<t
*)は単語y
t
*(つまり、正解の単語)が生成される確率を表す。
【0075】
次に、パラメータ学習部106は、ミニバッチ中の全ての訓練データを読み込んだか否かを判定する(ステップS209)。
【0076】
上記のステップS209でミニバッチ中に未だ読み込んでない訓練データが存在すると判定された場合、パラメータ学習部106は、未だ読み込んでいない訓練データ1件読み込んで(ステップS210)、上記のステップS202に戻る。これにより、ミニバッチに含まれる各訓練データに対して、上記のステップS202~ステップS208が繰り返し実行される。
【0077】
一方で、上記のステップS209でミニバッチ中の全ての訓練データを読み込んだと判定された場合、パラメータ学習部106は、各訓練データに関して上記のステップS208で算出された損失Lossを用いて、モデルパラメータを更新する(ステップS211)。すなわち、既知の最適化手法により、損失Lossが最小となるように、モデルパラメータを更新する。
【0078】
以上により、本実施形態に係る質問応答装置10では、テキストを含む画像とこの画像に関連する質問テキストとが与えられたときに、この画像中の視覚的な情報を考慮した回答テキストが生成されるようにモデルパラメータが学習される。すなわち、視覚的な情報を考慮した機械読解が可能なようにモデルパラメータが学習される。
【0079】
[推論時]
次に、推論時について説明する。推論時における質問応答装置10には、テキストを含む画像とこの画像に関連する質問テキストとが含まれるテストデータが入力される。
【0080】
<推論時における質問応答装置10の全体構成>
推論時における質問応答装置10の全体構成について、
図7を参照しながら説明する。
図7は、第一の実施形態に係る質問応答装置の全体構成(推論時)の一例を示す図である。
【0081】
図7に示すように、推論時における質問応答装置10は、特徴領域抽出部101と、テキスト認識部102と、テキスト解析部103と、視覚効果付言語理解部104と、回答テキスト生成部105と、パラメータ記憶部107とを有する。これら各部のうち、特徴領域抽出部101、テキスト認識部102及びテキスト解析部103は、学習時と同様である。一方で、視覚効果付言語理解部104及び回答テキスト生成部105は、パラメータ記憶部107に記憶されている学習済みモデルパラメータを用いる。また、回答テキスト生成部105は、視覚効果付言語理解部104により得られた符号化系列から算出した確率分布を用いて回答テキストを生成する。
【0082】
<推論処理>
次に、本実施形態に係る推論処理について、
図8を参照しながら説明する。
図8は、第一の実施形態に係る推論処理の一例を示すフローチャートである。なお、以降では、質問応答装置10に与えられたテストデータが読み込まれたものとする。
【0083】
まず、特徴領域抽出部101は、
図3のステップS202と同様に、読み込まれたテストデータに含まれる画像からK個の特徴領域を抽出する(ステップS501)。
【0084】
次に、テキスト認識部102は、
図3のステップS203と同様に、上記のステップS501で抽出された特徴領域のうち、テキストが含まれることを示す領域タイプの特徴領域に対してテキスト認識を行って、テキストを出力する(ステップS502)。
【0085】
次に、テキスト解析部103は、
図3のステップS204と同様に、上記のステップS502で出力されたテキストをテキストトークン系列に分割する(ステップS503)。
【0086】
次に、テキスト解析部103は、
図3のステップS205と同様に、読み込まれたテストデータに含まれる質問テキストを質問トークン系列に分割する(ステップS504)。
【0087】
次に、質問応答装置10は、視覚効果付き言語理解処理を実行して、視覚的な情報が考慮された符号化系列を得る(ステップS505)。視覚効果付き言語処理は、
図3のステップS206と同様であるため、その説明を省略する。以降では、符号化系列H'が得られたものとして説明を続ける。
【0088】
次に、質問応答装置10は、回答テキスト生成処理を実行して、回答テキストを生成する(ステップS506)。ここで、回答テキスト生成処理の詳細について、
図9を参照しながら説明する。
図9は、第一の実施形態に係る回答テキスト生成処理の一例を示すフローチャートである。
【0089】
まず、回答テキスト生成部105は、出力トークン系列の先頭のトークンを[CLS]とする(ステップS601)。なお、この時点では、出力トークン系列に含まれるトークンは[CLS]のみである。
【0090】
次に、視覚効果付言語理解部104は、t=2として、出力トークン系列の先頭のトークンを処理対象(t-1番目の処理対象トークン)に設定する(ステップS602)。
【0091】
次に、視覚効果付言語理解部104は、
図6のステップS404と同様に、以下により処理対象トークンを符号化する(ステップS603)。
【0092】
hy=LayerNorm(TokenEmb(y)+PositionEmb(y)+SegmentEmb(y))
yは処理対象トークン(つまり、サブワードトークン)、hyは符号化後の処理対象トークンを表す。
【0093】
以降では、t-1番目までの処理対象トークンの符号化結果を表す符号化系列をHy=(h1
y,h2
y,・・・,ht-1
y)と表す。
【0094】
次に、視覚効果付言語理解部104は、
図6のステップS405と同様に、視覚効果付き言語理解処理で得られた符号化系列H'と、上記のステップS603で得られた符号化系列H
yとをM層のTransformerDecoderにより変換する(ステップS604)。すなわち、視覚効果付言語理解部104は、h
t
y=TransformerDecoder(H
y,H')とする。これにより、H
y'= (h
1
y,h
2
y,・・・,h
t-1
y,h
t
y)が得られる。
【0095】
次に、回答テキスト生成部105は、t番目の単語が生成される確率分布p(yt|y<t)を算出する(ステップS605)。予め設定された出力語彙(語彙数V)における単語ytの確率分布は、p(yt|y<t)=softmax(Wht
y+b)により算出される。ここで、W∈RV×G、b∈RVは学習済みモデルパラメータである。
【0096】
次に、回答テキスト生成部105は、上記のステップS605で算出された確率分布p(yt|y<t)に基づいて、t番目の単語を生成する(ステップS606)。回答テキスト生成部105は、確率が最大となる単語をt番目の単語として生成してもよいし、確率分布に従ってサンプリングすることでt番目の単語を生成してもよい。
【0097】
次に、回答テキスト生成部105は、上記のステップS606で生成されたt番目の単語を出力トークン系列の末尾に連結する(ステップS607)。
【0098】
次に、視覚効果付言語理解部104は、上記のステップS606で生成されたt番目の単語が最終単語であるか否かを判定する(ステップS608)。最終単語とは文末を示す特殊単語[EOS]のことである。
【0099】
上記のステップS608でt番目の単語が最終単語でないと判定された場合、視覚効果付言語理解部104は、tに1を加算(ステップS609)し、ステップS603に戻る。これにより、上記のステップS603~ステップS607が繰り返し実行され、単語系列が得られる。
【0100】
以上により、本実施形態に係る質問応答装置10では、テキストを含む画像とこの画像に関連する質問テキストとが与えられたときに、この画像中の視覚的な情報を考慮した回答テキスト(単語系列)を生成することができる。
【0101】
・第二の実施形態
本実施形態では、特徴領域抽出部101により抽出された特徴領域が、質問に対して回答するために必要な情報であるか否かも考慮して回答テキストを生成する場合について説明する。
【0102】
なお、本実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と同様の構成要素についてはその説明を省略するものとする。
【0103】
[学習時]
まず、学習時について説明する。学習時における質問応答装置10に入力される訓練データには、テキストを含む画像、質問テキスト及び正解回答に加えて、正解特徴領域集合が含まれるものとする。正解特徴領域集合とは、当該画像から抽出された特徴領域のうち、正解回答を得るために必要な特徴領域の集合のことである。
【0104】
<学習時における質問応答装置10の全体構成>
学習時における質問応答装置10の全体構成について、
図10を参照しながら説明する。
図10は、第二の実施形態に係る質問応答装置10の全体構成(学習時)の一例を示す図である。
【0105】
図10に示すように、学習時における質問応答装置10は、特徴領域抽出部101と、テキスト認識部102と、テキスト解析部103と、視覚効果付言語理解部104と、回答テキスト生成部105と、パラメータ学習部106と、関連特徴領域判定部108と、パラメータ記憶部107とを有する。第二の実施形態では、主に、質問応答装置10が関連特徴領域判定部108を有する点が第一の実施形態と異なる。
【0106】
関連特徴領域判定部108はニューラルネットワークで実現され、パラメータ記憶部107に記憶されている学習中モデルパラメータを用いて、特徴領域抽出部101により抽出された特徴領域が、質問に対して回答するために必要な情報であるか否かを表す確率を算出する。したがって、パラメータ記憶部107に記憶されている学習中モデルパラメータには、関連特徴領域判定部108を実現するニューラルネットワークモデルの学習中モデルパラメータも含まれる。
【0107】
また、パラメータ学習部106は、関連特徴領域判定部108により算出された確率と正解特徴領域集合も用いて損失を計算し、パラメータ記憶部107に記憶されている学習中モデルパラメータを更新する。
【0108】
<学習処理>
次に、本実施形態に係る学習処理について説明する。学習処理の全体的な流れは、
図2で説明した学習処理と同様でよいため、以降では、
図2のステップS103のモデルパラメータ更新処理の詳細について説明する。ただし、エポック数N
e及びミニバッチに含まれる最大訓練データ数N
bを第一の実施形態と異ならせてもよい。例えば、ミニバッチに含まれる最大訓練データ数N
bを、N
b=32等としてもよい。
【0109】
≪モデルパラメータ更新処理≫
図2のステップS103のモデルパラメータ更新処理の詳細について、
図11を参照しながら説明する。
図11は、第二の実施形態に係るモデルパラメータ更新処理の一例を示すフローチャートである。なお、以降では、或るミニバッチに関するモデルパラメータ更新処理について説明する。
【0110】
まず、パラメータ学習部106は、ミニバッチ中の訓練データを1件読み込む(ステップS701)。
【0111】
次に、特徴領域抽出部101は、読み込まれた訓練データに含まれる画像からK個の特徴領域を抽出する(ステップS702)。本実施形態では第一の実施形態と同様に特徴領域が矩形領域で表されるものとして、k番目の特徴領域は、左上座標及び右下座標を含む位置情報(計4次元)と、矩形画像表現(D次元)と、領域タイプ(C種類)とを持つものとする。ただし、位置情報は特徴領域の位置を特定可能であれば任意の情報が用いられてもよいし、矩形画像表現又は領域タイプのいずれかの情報はなくてもよい。この他、第一の実施形態と同様に、例えば、特徴領域がポリゴン(多角形領域)である場合には、このポリゴンを囲む矩形領域を改めて特徴領域とすればよい。
【0112】
また、領域タイプも、第一の実施形態と同様の9種類を扱うものとする。ただし、これら9種類の領域タイプは一例であり、他の領域タイプが設定されてもよいことは言うまでもない。本実施形態でも、第一の実施形態と同様に、特徴領域にテキストが含まれないことを示す領域タイプと、特徴領域にテキストが含まれることを示す領域タイプとの2種類が少なくとも設定されていればよい。
【0113】
なお、特徴領域の抽出には、第一の実施形態と同様に、例えば、上記の参考文献1に記載されたFaster R-CNN等を用いればよい。また、本実施形態では、例えば、D=2048等とする。
【0114】
次に、テキスト認識部102は、上記のステップS702で抽出された特徴領域のうち、テキストが含まれることを示す領域タイプの特徴領域に対してテキスト認識を行って、当該テキスト認識の結果である単語が含まれる領域である単語領域で構成される単語領域系列を出力する(ステップS703)。以降では、各単語領域は矩形領域であるものとして、当該単語領域の左上座標及び右下座標を含む位置情報(計4次元)と、テキスト認識で得られた単語とを持つものとする。テキスト認識は、第一の実施形態と同様に、例えば、上記の参考文献2に記載されているTesseract等を用いればよい。なお、単語領域は、テキスト認識の結果である単語を含むような、特徴領域の部分領域である。
【0115】
次に、特徴領域抽出部101は、上記のステップS703で得られた各単語領域に対して、当該単語領域の矩形画像表現(D次元)を出力する(ステップS704)。なお、この矩形画像表現は、上記のステップS702で特徴領域の矩形画像表現を得たときと同様の方法で出力すればよい。これにより、各単語領域は、当該単語領域の左上座標及び右下座標を含む位置情報(計4次元)と、テキスト認識で得られた単語と、当該単語領域の矩形画像表現(D次元)とを持つことになる。
【0116】
次に、テキスト解析部103は、上記のステップS704で得られた単語領域系列をサブワードトークン系列に分割する(ステップS705)。以降では、或るk番目の特徴領域から得られた単語領域系列を分割したサブワードトークン系列を、
【0117】
【数7】
と表す。L
kはk番目の特徴領域に含まれるサブワードトークン数である。このような分割には、第一の実施形態と同様に、例えば、上記の参考文献3に記載されているByte-level BPE等を用いればよい。ただし、第一の実施形態と同様に、サブワードトークンの代わりに、例えば、空白等で単語を区切った単語系列を用いてもよい。
【0118】
なお、1つの単語領域が持つ単語が、複数のサブワードに分割された場合、各サブワードの単語領域は分割前の単語の単語領域と同じとする。
【0119】
次に、テキスト解析部103は、読み込まれた訓練データに含まれる質問テキストをサブワードトークン系列(x1
q,x2
q,・・・,xJ
q)に分割する(ステップS706)。Jは質問テキストのサブワードトークン数である。
【0120】
次に、質問応答装置10は、視覚効果付き言語理解処理を実行して、視覚的な情報が考慮された符号化系列を得る(ステップS707)。ここで、視覚効果付き言語理解処理の詳細について、
図12を参照しながら説明する。
図12は、第二の実施形態に係る視覚効果付き言語理解処理の一例を示すフローチャートである。
【0121】
まず、視覚効果付言語理解部104は、単語領域系列のサブワードトークン系列と、質問テキストのサブワードトークン系列とを用いて、以下の入力トークン系列
【0122】
【数8】
を作成する(ステップS801)。ここで、本実施形態では、i
kはサブワードトークンの一種として扱われる特殊トークンを表し、k番目の特徴領域が持つ領域タイプに応じたトークンであるものとする。例えば、k番目の特徴領域が持つ領域タイプが「画像」の場合は[I]、「データ(図表)」の場合は[D]、「段落/本文」の場合は[P/B]、「サブデータ」の場合は[S]、「見出し/タイトル」の場合は[H/T]、「キャプション」の場合は[C]、「サブタイトル/著者名」の場合は[S/B]、「リスト」の場合は[L]、「その他テキスト」の場合は[O]であるものとする。なお、以降では、i
kを領域トークン、x
j
qを質問トークン、x
j
kを文書トークンともいう。
【0123】
なお、k番目の特徴領域にテキストが含まれない場合、k番目の特徴領域から得られた単語領域系列のサブワードトークン系列の長さは0(つまり、Lk=0)となる。
【0124】
以降では、第一の実施形態と同様に、入力トークン系列の長さをLとする。もし入力トークン系列の長さがLを超える場合、各特徴領域に含まれるテキストのうち、最も長いテキストを削除したり、各テキストを均等に削除したり等することで、入力トークン系列の長さLが所定の長さとなるようにする。一方で、入力トークン系列の長さLが所定の長さに不足する場合は、特殊なトークンでパディングすればよい。
【0125】
次に、視覚効果付言語理解部104は、入力トークン系列中の各トークン(サブワードトークン)を符号化する(ステップS802)。ここで、本実施形態では、視覚効果付言語理解部104は、各トークンxを以下により符号化するものとする。
【0126】
h=LayerNorm(TokenEmb(x)+PositionEmb(x)+SegmentEmb(x)+ROIEmb(x)+LocationEmb(x))
TokenEmbは、サブワードトークン(特殊トークンも含む)を対応するG次元のベクトルに変換する処理である。本実施形態では、第一の実施形態と同様に、上記の参考文献5により事前学習済みの埋め込みベクトル(G=1024)を初期値とし、学習対象のモデルパラメータとする。なお、参考文献5以外の事前学習済み言語モデルのパラメータを学習対象としてもよい。ただし、学習されていない特殊トークンについては、正規分布N(0,0.02)に従う乱数にて初期化する。
【0127】
PositionEmbは、入力トークン系列中におけるサブワードトークンの位置に応じてG次元のベクトルに変換する処理である。本実施形態では、上記の参考文献5により学習済みの埋め込みベクトル(G=1024)を初期値とし、学習対象のモデルパラメータとする。ただし、第一の実施形態と同様に、上記の参考文献6に記載されている手法を用いて、G次元のベクトルに変換してもよい。
【0128】
SegmentEmbは、サブワードトークンが属するセグメントに応じてG次元ベクトルに変換する処理である。本実施形態では、セグメントとして領域タイプの9種類と質問の計10種類を用いる。そして、それぞれのセグメントに対して埋め込みベクトル(G=1024)を用意した上で、正規分布N(0,0.02)に従う乱数にて初期化し、学習対象のモデルパラメータとする。
【0129】
ROIEmbは、サブワードトークンに対応する矩形画像表現からG次元のベクトルに変換する処理である。矩形画像表現は、入力された画像中の或る矩形領域を、特徴領域抽出部101を実現するニューラルネットワークに入力することで得られるD次元ベクトルである。サブワードトークンが領域トークンikである場合はk番目の特徴領域が持つ矩形画像表現のことであり、サブワードトークンが文書トークンxj
kである場合はk番目の特徴領域から得られたi番目の単語領域が持つ矩形画像表現のことである。一方で、サブワードトークンが文書トークンxj
kである場合は、ROIEmbの出力はG次元の零ベクトルであるものとする。本実施形態では、D=2048として、ROIEmbは全結合層で構成されるフィードフォワードネットワークによりG次元(G=1024)のベクトルに変換するものとする。また、本実施形態では、当該フィードフォワードネットワークは1層の全結合層で構成されており、そのパラメータを正規分布N(0,0.02)に従う乱数で初期化し、学習対象のモデルパラメータとする。
【0130】
LocationEmbは、サブワードトークン(ただし、領域トークン又は文書トークンいずれか)に対応する領域(特徴領域又は単語領域)が持つ位置情報を全結合層で構成されるフィードフォワードネットワークにより4次元からG次元(G=1024)のベクトルに変換する処理である。LocationEmbは、当該領域が持つ位置情報のx座標を、入力された画像の幅で割ると共に、当該領域が持つ位置情報のy座標を当該画像の高さで割ることで正規化した後に、フィードフォワードネットワークに入力する。本実施形態では、当該フィードフォワードネットワークは1層の全結合層で構成されており、そのパラメータを正規分布N(0,0.02)に従う乱数で初期化し、学習対象のモデルパラメータとする。なお、サブワードトークンが領域トークン及び文書トークン以外である場合は、LocationEmbの出力はG次元の零ベクトルであるものとする。
【0131】
LayerNormは、第一の実施形態と同様に、G次元のベクトルを入力として、上記の参考文献7に記載されている正規化手法によりG次元のベクトルを出力する。
【0132】
以上により、入力トークン系列中のr番目のサブワードトークンを符号化したものをhrと表せば、符号化系列H=(h1,h2,・・・,hL)が得られる。なお、各hrはG次元のベクトルであるため、Hはベクトル系列である。
【0133】
次に、視覚効果付言語理解部104は、上記のステップS802で得られた符号化系列HをM層のTransformerEncoderによりベクトル系列H'に変換する(ステップS803)。すなわち、視覚効果付言語理解部104は、H'=TransformerEncoder(H)とする。なお、TransformerEncoderについては、例えば、上記の参考文献5等を参照されたい。本実施形態では、M=12、上記の参考文献5により学習済みのTransformerEncoderを初期値として、このTransformerEncoderのパラメータを学習対象のモデルパラメータとする。
【0134】
次に、関連特徴領域判定部108は、特徴領域が回答生成に必要な領域であるか否かを表す確率を算出する(ステップS804)。すなわち、入力トークン系列中のサブワードトークンx(ただし、領域トークン又は文書トークンのいずれか)に対応するH'の要素をh'とすれば、関連特徴領域判定部108は、当該サブワードトークンxに対応する特徴領域が正解回答に必要である確率を以下により算出する。
【0135】
p=sigmoid(w1
τh'+b1)
ここで、w1∈RG、b1∈Rは学習対象のモデルパラメータであり、τは転置を表す。
【0136】
次に、関連特徴領域判定部108は、上記のステップS804で得られた確率を用いて、ベクトル系列H'をベクトル系列H''に変換する(ステップS805)。すなわち、関連特徴領域判定部108は、hr''=hr'arによりベクトル系列H'をベクトル系列H''に変換する。ここで、hr''はベクトル系列H''のr番目の要素、hr'はベクトル系列H'のr番目の要素である。また、arは重みであり、その値は、入力トークン系列中のr番目のサブワードトークンが領域トークンik又は文書トークンxj
kである場合はpk、それ以外の場合は1.0とする。なお、pkは領域トークンikに対して上記のステップS804で算出された確率である。
【0137】
図11に戻る。ステップS707に続いて、質問応答装置10は、回答テキストの生成確率算出処理を実行して、回答テキストの生成確率を表す確率分布を算出する(ステップS708)。ここで、、回答テキストの生成確率算出処理の詳細について、
図13を参照しながら説明する。
図13は、第二の実施形態に係る回答テキスト生成確率算出処理の一例を示すフローチャートである。
【0138】
まず、テキスト解析部103は、
図6のステップS401と同様に、読み込まれた訓練データに含まれる正解回答テキストを正解回答トークン系列
【0139】
【数9】
に分割する(ステップS901)。L
Tは正解回答トークン系列のトークン数であり、所定の値である(したがって、正解回答トークン系列は、必要に応じて、トークン数がL
Tとなるまでパディングやトークンの削除等が行なわれている。)。なお、正解回答トークン系列は、サブワードのトークン系列である。
【0140】
次に、視覚効果付言語理解部104は、繰り返し数を表すインデックスをtとして、tを0に初期化する(ステップS902)。以降では、或るt回目の繰り返し時における処理について説明する。
【0141】
視覚効果付言語理解部104は、以下によりデコーダ入力トークン系列y<tを作成する(ステップS903)。
【0142】
y<t=([CLS],y1
*,・・・,yt-1
*)=(y0,y1,・・・,yt-1)
ただし、t=0のときはy<t=([CLS])とする。また、最終ステップであるt=LT+1のときはyt=[EOS]とする。
【0143】
次に、視覚効果付言語理解部104は、デコーダ入力トークン系列y<tに含まれる各サブワードトークンyを以下により符号化する(ステップS904)。
【0144】
hy=LayerNorm(TokenEmb(y)+PositionEmb(y))
これにより、サブワードトークンytを符号化したものをht
yとすれば、符号化系列Hy=(h0
y,h1
y,・・・,ht-1
y)が得られる。
【0145】
次に、視覚効果付言語理解部104は、上記のステップS904で得られた符号化系列HyをM層のTransformerDecoderによりHy'に変換する(ステップS905)。すなわち、視覚効果付言語理解部104は、Hy'=TransformerDecoder(Hy,H'')とする。これにより、Hy'=(h0
y',h1
y',・・・,ht-1
y')が得られる。
【0146】
なお、TransformerDecoderについては、例えば、上記の参考文献5等を参照されたい。本実施形態では、M=12、上記の参考文献5により学習済みのTransformerDecoderを初期値として、このTransformerDecoderのパラメータを学習対象のモデルパラメータとする。なお、参考文献5以外の事前学習済み言語モデルのパラメータを学習対象としてもよい。
【0147】
次に、回答テキスト生成部105は、t番目の単語が生成される確率分布p(yt|y<t)を算出する(ステップS906)。予め設定された出力語彙(語彙数V)における単語ytの確率分布は、p(yt|y<t)=softmax(Wht-1
y'+b)により算出される。ここで、W∈RV×G、b∈RVは学習対象のモデルパラメータである。なお、語彙数Vとしては任意の値を設定することが可能であるが、例えば、50257等とすることが考えられる。
【0148】
次に、視覚効果付言語理解部104は、t=LT+1であるか否かを判定する(ステップS907)。
【0149】
上記のステップS907でt=LT+1でないと判定された場合、視覚効果付言語理解部104は、tに1を加算(ステップS908)し、ステップS903に戻る。これにより、上記のステップS903~ステップS906がt=0,1,・・・,LT+1に対して繰り返し実行される。
【0150】
図11に戻る。ステップS708に続いて、パラメータ学習部106は、
図13のステップS906で算出された確率分布p(y
t|y
<t)と、読み込んだ訓練データに含まれる正解特徴領域集合とを用いて、損失Lossを算出する(ステップS709)。パラメータ学習部106は、例えば、以下により損失Lossを算出すればよい。
【0151】
【数10】
Tは正解回答トークン系列の実際の長さ(つまり、パディング等が行なわれる前の長さ)である、また、r
k
*は正解特徴領域集合が決まる値であり、k番目の特徴領域が正解回答に必要なときは1、そうでないときは0となる。λはハイパーパラメータであり、本実施形態では、λ=1.0とした。
【0152】
以降のステップS710~ステップS712は、
図3のステップS209~ステップS211と同様であるため、その説明を省略する。
【0153】
以上により、本実施形態に係る質問応答装置10では、テキストを含む画像とこの画像に関連する質問テキストと正解特徴領域集合とが与えられたときに、この画像中の視覚的な情報を考慮した回答テキストが生成されるようにモデルパラメータが学習される。すなわち、視覚的な情報を考慮した機械読解が可能なようにモデルパラメータが学習される。
【0154】
[推論時]
次に、推論時について説明する。推論時における質問応答装置10には、テキストを含む画像とこの画像に関連する質問テキストとが含まれるテストデータが入力される。
【0155】
<推論時における質問応答装置10の全体構成>
推論時における質問応答装置10の全体構成について、
図14を参照しながら説明する。
図14は、第二の実施形態に係る質問応答装置10の全体構成(推論時)の一例を示す図である。
【0156】
図14に示すように、推論時における質問応答装置10は、特徴領域抽出部101と、テキスト認識部102と、テキスト解析部103と、視覚効果付言語理解部104と、回答テキスト生成部105と、関連特徴領域判定部108と、パラメータ記憶部107とを有する。これら各部のうち、特徴領域抽出部101、テキスト認識部102及びテキスト解析部103は、学習時と同様である。一方で、視覚効果付言語理解部104、回答テキスト生成部105及び関連特徴領域判定部108は、パラメータ記憶部107に記憶されている学習済みモデルパラメータを用いる。また、回答テキスト生成部105は、視覚効果付言語理解部104により得られた符号化系列から算出した確率分布を用いて回答テキストを生成する。なお、関連特徴領域判定部108は、特徴領域抽出部101により抽出された特徴領域が、質問に対して回答するために必要な情報であるか否かを表す確率から計算又は決定されるスコア(関連特徴領域スコア)を出力してもよい。
【0157】
<推論処理>
次に、本実施形態に係る推論処理について、
図15を参照しながら説明する。
図15は、第二の実施形態に係る推論処理の一例を示すフローチャートである。なお、以降では、質問応答装置10に与えられたテストデータが読み込まれたものとする。
【0158】
まず、特徴領域抽出部101は、
図11のステップS702と同様に、読み込まれたテストデータに含まれる画像からK個の特徴領域を抽出する(ステップS1001)。
【0159】
次に、テキスト認識部102は、
図11のステップS703と同様に、上記のステップS1001で抽出された特徴領域のうち、テキストが含まれることを示す領域タイプの特徴領域に対してテキスト認識を行って、単語領域系列を出力する(ステップS1002)。
【0160】
次に、特徴領域抽出部101は、
図11のステップS704と同様に、上記のステップS1002で得られた各単語領域に対して、当該単語領域の矩形画像表現(D次元)を出力する(ステップS1003)。これにより、左上座標及び右下座標を含む位置情報(計4次元)と、テキスト認識で得られた単語と、矩形画像表現(D次元)とを持つ単語領域の系列が得られる。
【0161】
次に、テキスト解析部103は、
図11のステップS705と同様に、上記のステップS1003で得られた単語領域系列をサブワードトークン系列に分割する(ステップS1004)。
【0162】
次に、テキスト解析部103は、
図11のステップS706と同様に、読み込まれたテストデータに含まれる質問テキストをサブワードトークン系列(x
1
q,x
2
q,・・・,x
J
q)に分割する(ステップS1005)。
【0163】
次に、質問応答装置10は、視覚効果付き言語理解処理を実行して、視覚的な情報が考慮された符号化系列を得る(ステップS1006)。視覚効果付き言語理解処理は、
図11のステップS707と同様であるため、その説明を省略する。以降では、ベクトル系列H''が得られたものとして説明を続ける。
【0164】
次に、質問応答装置10は、回答テキスト生成処理を実行して、回答テキストを生成する(ステップS1007)。ここで、回答テキスト生成処理の詳細について、
図16を参照しながら説明する。
図16は、第二の実施形態に係る回答テキスト生成処理の一例を示すフローチャートである。
【0165】
まず、視覚効果付言語理解部104は、繰り返し数を表すインデックスをtとして、tを0に初期化する(ステップS1101)。以降では、或るt回目の繰り返し時における処理について説明する。
【0166】
視覚効果付言語理解部104は、デコーダ入力トークン系列をy<t=([CLS])と初期化する(ステップS1102)。すなわち、視覚効果付言語理解部104は、t=0のときのデコーダ入力トークン系列y<tを[CLS]のみが含まれる系列とする。
【0167】
以降では、或るt回目の繰り返し時における処理について説明する。
【0168】
視覚効果付言語理解部104は、
図13のステップS904と同様に、デコーダ入力トークン系列y
<tに含まれる各サブワードトークンyを以下により符号化する(ステップS1103)。
【0169】
hy=LayerNorm(TokenEmb(y)+PositionEmb(y))
これにより、サブワードトークンytを符号化したものをht
yとすれば、符号化系列Hy=(h0
y,h1
y,・・・,ht-1
y)が得られる。
【0170】
次に、視覚効果付言語理解部104は、
図13のステップS905と同様に、上記のステップS1103で得られた符号化系列H
yをM層のTransformerDecoderによりH
y'に変換する(ステップS1104)。すなわち、視覚効果付言語理解部104は、H
y'=TransformerDecoder(H
y,H'')とする。これにより、H
y'=(h
0
y',h
1
y',・・・,h
t-1
y')が得られる。
【0171】
次に、回答テキスト生成部105は、
図13のステップS906と同様に、t番目の単語が生成される確率分布p(y
t|y
<t)を算出する(ステップS1105)。予め設定された出力語彙(語彙数V)における単語y
tの確率分布は、p(y
t|y
<t)=softmax(Wh
t-1
y'+b)により算出される。ここで、W∈R
V×G、b∈R
Vは学習済みモデルパラメータである。
【0172】
次に、回答テキスト生成部105は、上記のステップS1105で算出された確率分布p(yt|y<t)に基づいて、t番目の単語を生成する(ステップS1106)。回答テキスト生成部105は、確率が最大となる単語をt番目の単語として生成してもよいし、確率分布に従ってサンプリングすることでt番目の単語を生成してもよい。
【0173】
次に、回答テキスト生成部105は、上記のステップS1106で生成されたt番目の単語をデコーダ入力トークン系列y<tの末尾に連結する(ステップS1107)。
【0174】
次に、視覚効果付言語理解部104は、上記のステップS1106で生成されたt番目の単語が最終単語であるか否かを判定する(ステップS1108)。
【0175】
上記のステップS1108でt番目の単語が最終単語でないと判定された場合、視覚効果付言語理解部104は、tに1を加算(ステップS1109)し、ステップS1103に戻る。これにより、上記のステップS1103~ステップS1107が繰り返し実行され、単語系列が得られる。
【0176】
以上により、本実施形態に係る質問応答装置10では、テキストを含む画像とこの画像に関連する質問テキストとが与えられたときに、この画像中の視覚的な情報を考慮した回答テキスト(単語系列)を生成することができる。
【0177】
[本実施形態の評価]
次に、特徴領域が、質問に対して回答するために必要な情報であるか否かを考慮することに対する評価について説明する。
【0178】
本実施形態を評価するため、ベースラインと性能比較を行った。本実施形態のモデルとしては、上記の参考文献5に記載されているBARTを事前学習済みモデルに用いたモデルと、参考文献8「Raffel, C.; Shazeer, N.; Roberts, A.; Lee, K.; Narang, S.; Matena, M.; Zhou, Y.; Li,W.; and Liu, P. J. 2020. Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. J. Mach. Learn. Res. 21(140): 1-67.」に記載されているT5を事前学習済みモデルに用いたモデルとを使用した。以下、BARTを使用したモデルを「LayoutBART」、T5を使用したモデルを「LayoutT5」という。また、特に、BERTとしてLARGEを使用したものをそれぞれ「LayoutBARTLARGE」、「LayoutT5LARGE」と表記する。
【0179】
また、ベースラインには参考文献9「Hu, R.; Singh, A.; Darrell, T.; and Rohrbach, M. 2020. Iterative Answer Prediction with Pointer-Augmented Multi-modal Transformers for TextVQA. In CVPR, 9992-10002.」に記載されているM4Cと呼ばれるモデルを採用した。M4Cは質問文、特徴領域、OCRトークン(本実施形態の文書トークンに相当)のトークンを入力として質問文に対する回答を生成するモデルであり、高い性能が実現可能であることが確認されている。
【0180】
評価指標としては、BLEU、METEOR、ROUGE-L、CIDEr及びBERTscoreの5つを用いた。予め準備した実験用の訓練データセットを用いてモデルの学習を行った上で、テストデータを用いて、上記の4つの評価指標を算出した。以下の表1にその結果を示す。
【0181】
【表1】
上記の表1に示されるように、LayoutBART及びLayoutT5では、全ての評価指標でM4Cよりも高い性能を実現できていることがわかる。また、上記の表1に示されるように、BERTとしてBASEよりもLARGEを使用した方が、より高い性能を実現できることもわかる。以上により、本実施形態の手法は、テキストを含む画像と質問テキストとが与えられた際にその回答テキストを生成するタスクで従来手法よりも高い性能を実現できることがわかる。
【0182】
<ハードウェア構成>
最後に、第一及び第二の実施形態に係る質問応答装置10のハードウェア構成について、
図17を参照しながら説明する。
図17は、一実施形態に係る質問応答装置10のハードウェア構成の一例を示す図である。
【0183】
図17に示すように、一実施形態に係る質問応答装置10は一般的なコンピュータ又はコンピュータシステムで実現され、入力装置201と、表示装置202と、外部I/F203と、通信I/F204と、プロセッサ205と、メモリ装置206とを有する。これらの各ハードウェアは、それぞれがバス207を介して通信可能に接続されている。
【0184】
入力装置201は、例えば、キーボードやマウス、タッチパネル等である。表示装置202は、例えば、ディスプレイ等である。なお、質問応答装置10は、入力装置201及び表示装置202のうちの少なくとも一方を有していなくてもよい。
【0185】
外部I/F203は、外部装置とのインタフェースである。外部装置には、記録媒体203a等がある。質問応答装置10は、外部I/F203を介して、記録媒体203aの読み取りや書き込み等を行うことができる。記録媒体203aには、質問応答装置10が有する各機能部(特徴領域抽出部101、テキスト認識部102、テキスト解析部103、視覚効果付言語理解部104、回答テキスト生成部105、パラメータ学習部106及び関連特徴領域判定部108)を実現する1以上のプログラムが格納されていてもよい。
【0186】
なお、記録媒体203aには、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
【0187】
通信I/F204は、質問応答装置10が通信ネットワークに接続するためのインタフェースである。なお、質問応答装置10が有する各機能部を実現する1以上のプログラムは、通信I/F204を介して、所定のサーバ装置等から取得(ダウンロード)されてもよい。
【0188】
プロセッサ205は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の各種演算装置である。質問応答装置10が有する各機能部は、例えば、メモリ装置206に格納されている1以上のプログラムがプロセッサ205に実行させる処理により実現される。
【0189】
メモリ装置206は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。質問応答装置10が有するパラメータ記憶部107は、例えば、メモリ装置206を用いて実現可能である。なお、パラメータ記憶部107は、質問応答装置10と通信ネットワークを介して接続される記憶装置(例えば、データベースサーバ等)を用いて実現されていてもよい。
【0190】
第一及び第二の実施形態に係る質問応答装置10は、
図17に示すハードウェア構成を有することにより、上述した学習処理や推論処理を実現することができる。なお、
図17に示すハードウェア構成は一例であって、質問応答装置10は、他のハードウェア構成を有していてもよい。例えば、質問応答装置10は、複数のプロセッサ205を有していてもよいし、複数のメモリ装置206を有していてもよい。
【0191】
以上の実施形態に関し、更に以下の付記を開示する。
【0192】
(付記1)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
視覚的な領域が含まれるデータと、前記データに関連する第1の情報とを入力として、機械学習モデルのモデルパラメータを用いて、前記領域の特徴を表す情報から、前記第1の情報に対応する第2の情報を生成し、
前記第2の情報と、前記第2の情報の正解を表す第3の情報とに基づいて、前記モデルパラメータを学習する、学習装置。
(付記2)
前記プロセッサは、
前記領域の特徴を表す情報と前記第1の情報との特徴量を作成し、前記特徴量から前記第2の情報を生成する、付記1に記載の学習装置。
(付記3)
前記領域には、画像又は図表が少なくとも含まれる、付記1又は2に記載の学習装置。
(付記4)
前記第1の情報は、前記データに関連する内容を表すテキスト情報である、付記1乃至3の何れか一項に記載の学習装置。
(付記5)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
視覚的な領域が含まれるデータと、前記データに関連する第1の情報とを入力として、機械学習モデルのモデルパラメータを用いて、前記領域と、前記第1の情報に対応する第2の情報との関連度を算出し、
前記関連度と、前記関連度の正解を表す情報とに基づいて、前記モデルパラメータを学習する、学習装置。
(付記6)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
視覚的な領域が含まれるデータと、前記データに関連する第1の情報とを入力として、学習済みの機械学習モデルのモデルパラメータを用いて、前記領域の特徴を表す情報から、前記第1の情報に対応する第2の情報を生成する、生成装置。
(付記7)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
視覚的な領域が含まれるデータと、前記データに関連する第1の情報とを入力として、学習済みの機械学習モデルのモデルパラメータを用いて、前記領域に関して、前記領域と前記第1の情報に対応する第2の情報との関連度に基づく所定の評価値を出力する、出力装置。
(付記8)
学習処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記学習処理は、
視覚的な領域が含まれるデータと、前記データに関連する第1の情報とを入力として、機械学習モデルのモデルパラメータを用いて、前記領域の特徴を表す情報から、前記第1の情報に対応する第2の情報を生成し、
前記第2の情報と、前記第2の情報の正解を表す第3の情報とに基づいて、前記モデルパラメータを学習する、非一時的記憶媒体。
(付記9)
生成処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記生成処理は、
視覚的な領域が含まれるデータと、前記データに関連する第1の情報とを入力として、学習済みの機械学習モデルのモデルパラメータを用いて、前記領域の特徴を表す情報から、前記第1の情報に対応する第2の情報を生成する、非一時的記憶媒体。
【0193】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【0194】
本願は、日本国に2020年2月28日に出願された基礎出願PCT/JP2020/008390に基づくものであり、その全内容はここに参照をもって援用される。
【符号の説明】
【0195】
10 質問応答装置
101 特徴領域抽出部
102 テキスト認識部
103 テキスト解析部
104 視覚効果付言語理解部
105 回答テキスト生成部
106 パラメータ学習部
107 パラメータ記憶部
108 関連特徴領域判定部