IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社シナモンの特許一覧

特開2023-70942情報処理システム、情報処理方法及びプログラム
<>
  • 特開-情報処理システム、情報処理方法及びプログラム 図1
  • 特開-情報処理システム、情報処理方法及びプログラム 図2
  • 特開-情報処理システム、情報処理方法及びプログラム 図3
  • 特開-情報処理システム、情報処理方法及びプログラム 図4
  • 特開-情報処理システム、情報処理方法及びプログラム 図5
  • 特開-情報処理システム、情報処理方法及びプログラム 図6
  • 特開-情報処理システム、情報処理方法及びプログラム 図7
  • 特開-情報処理システム、情報処理方法及びプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023070942
(43)【公開日】2023-05-22
(54)【発明の名称】情報処理システム、情報処理方法及びプログラム
(51)【国際特許分類】
   G06F 16/332 20190101AFI20230515BHJP
   G06F 40/279 20200101ALI20230515BHJP
   G06F 16/35 20190101ALI20230515BHJP
   G06N 20/00 20190101ALI20230515BHJP
   G06F 40/216 20200101ALI20230515BHJP
【FI】
G06F16/332
G06F40/279
G06F16/35
G06N20/00
G06F40/216
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2021183432
(22)【出願日】2021-11-10
【新規性喪失の例外の表示】新規性喪失の例外適用申請有り
(71)【出願人】
【識別番号】519112818
【氏名又は名称】株式会社シナモン
(74)【代理人】
【識別番号】110002790
【氏名又は名称】One ip弁理士法人
(72)【発明者】
【氏名】トゥアン・アイン・ドゥオン・グエン
(72)【発明者】
【氏名】ヒエウ・グエン・ミー
(72)【発明者】
【氏名】グエン・ホン・ソン
(72)【発明者】
【氏名】ミィン‐ティエン・グエン
【テーマコード(参考)】
5B091
5B175
【Fターム(参考)】
5B091EA01
5B175DA01
5B175FA03
5B175GA03
(57)【要約】
【課題】効率的にQAモデルの学習をすることができるようにする。
【解決手段】情報処理システムであって、テキストから抽出するべき複数の項目を記憶する項目記憶部と、項目のそれぞれに対する埋め込み処理により埋め込みベクトルを作成する埋め込み処理部と、テキストの少なくとも一部を単語に分解し、分解した単語に係るベクトルを作成するベクトル作成部と、アテンション処理によりベクトル及び埋め込みベクトルから開始位置及び終了位置を推測するアテンション処理部と、を備えることを特徴とする。
【選択図】図1
【特許請求の範囲】
【請求項1】
テキストから抽出するべき複数の項目を記憶する項目記憶部と、
前記項目のそれぞれに対する埋め込み処理により埋め込みベクトルを作成する埋め込み処理部と、
前記テキストの少なくとも一部を単語に分解し、分解した前記単語に係るベクトルを作成するベクトル作成部と、
アテンション処理により前記ベクトル及び前記埋め込みベクトルから開始位置及び終了位置を推測するアテンション処理部と、
を備えることを特徴とする情報処理システム。
【請求項2】
請求項1に記載の情報処理システムであって、
前記アテンション処理部は、一部または全部の複数の前記項目のそれぞれについて前記埋め込みベクトルと前記ベクトルとについて前記アテンション処理を同時に実行すること、
を特徴とする情報処理システム。
【請求項3】
テキストから抽出するべき複数の項目を記憶するコンピュータが、
前記項目のそれぞれに対する埋め込み処理により埋め込みベクトルを作成するステップと、
前記テキストの少なくとも一部を単語に分解するステップと、
分解した前記単語に係るベクトルを作成するステップと、
アテンション処理により前記ベクトル及び前記埋め込みベクトルから開始位置及び終了位置を推測するステップと、
を実行する情報処理方法。
【請求項4】
テキストから抽出するべき複数の項目を記憶するコンピュータに、
前記項目のそれぞれに対する埋め込み処理により埋め込みベクトルを作成するステップと、
前記テキストの少なくとも一部を単語に分解するステップと、
分解した前記単語に係るベクトルを作成するステップと、
アテンション処理により前記ベクトル及び前記埋め込みベクトルから開始位置及び終了位置を推測するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
BERTによるQAモデルが知られている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】"BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,Proceedings of NAACL-HLT 2019,Jacob Devlin 外3名,Association for Computational Linguistics,2019年6月7日,p.4171-4186,[online],[2021年8月13日検索],インターネット<URL:https://aclanthology.org/N19-1423.pdf>
【非特許文献2】”Effective Approaches to Attention-based Neural Machine Translation ”,Thang Luong, Hieu Pham, Christopher D. Manning, Proceedings of the Conference on Empirical Methods in Natural Language Processing,[online],[2021年8月13日検索],インターネット<URL:https://www.aclweb.org/anthology/D15-1166/>
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、BERTによるQAモデルでは1つの問いごとにコンテキストを与えて学習をする必要があり学習及び推論のコストが高かった。
【0005】
本発明はこのような背景を鑑みてなされたものであり、効率的にQAモデルの学習をすることのできる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するための本発明の主たる発明は、情報処理システムであって、テキストから抽出するべき複数の項目を記憶する項目記憶部と、前記項目のそれぞれに対する埋め込み処理により埋め込みベクトルを作成する埋め込み処理部と、前記テキストの少なくとも一部を単語に分解し、分解した前記単語に係るベクトルを作成するベクトル作成部と、アテンション処理により前記ベクトル及び前記埋め込みベクトルから開始位置及び終了位置を推測するアテンション処理部と、を備えることを特徴とする。
【0007】
その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。
【発明の効果】
【0008】
本発明によれば、効率的にQAモデルの学習をすることができる。
【図面の簡単な説明】
【0009】
図1】スキャンする書類の一例を示す図である。
図2】BERTで提案されているファインチューニング処理を説明する図である。
図3】本実施形態の情報処理システムによるファインチューニング処理について説明する図である。
図4】開始位置に係る学習モデルのフローを説明する図である。
図5】本実施形態に係る情報処理システムを実装する情報処理装置20のハードウェア構成例を示す図である。
図6】情報処理装置20のソフトウェア構成例を示す図である。
図7】項目記憶部231の一例を示す図である。
図8】本実施形態の情報処理システムの学習の流れを説明する図である。
【発明を実施するための形態】
【0010】
<システムの概要>
以下、本発明の一実施形態に係る情報処理システムについて説明する。本実施形態の情報処理システムは、紙の書類をスキャンした画像から情報を抽出しようとするものである。図1はスキャンする書類の一例を示す図である。図1の例では、入札公告の内容を表す書類1の例を示している。本実施形態の情報処理システムでは、図1に示すような書類1をスキャンしたスキャン画像から、OCR(Optical Character Recognition)により文字列を検出する。本実施形態の情報処理システムは、検出した文字列から、自然言語処理(Natural Language Processing;NLP)の技法を用いて特定の項目の値を抽出する。例えば、図1に示す入札公告の書類1からは、「平成29年9月22日」という公告日2や、「旧XX鉱山処理施設で使用する電気」という入札件名2などの、当該入札に関する項目を抽出することができる。以下、詳細について説明する。
【0011】
<BERT>
図2は、BERTで提案されているファインチューニング処理を説明する図である。書類(例えば、図1に示す書類1)から抽出するべき項目を問い(Question)とし、その問いに対する回答(Answer)を推論するQAタスクを想定する。学習済みの言語モデルに対する入力ベクトルとして、入札するべき項目iについての問いTiと、コンテキストとなる単語(形態素)w1・・・wnとを、[SEP]トークンで区切って連結したベクトルを作成する。例えば、T1は「公告日」とすることができ、OCRにより抽出した文章が「入札に付します。平成29年9月22日・・・」であった場合には、単語w1は「入札」、w2は「に」などとすることができる。QAモデルからの出力は、問いiにつき、各単語jに係るエンコードされたベクトル(エンコードベクトル)hijである。例えば、hi1は、w1「入札」に対するエンコードベクトルである。このベクトルを線形関数(Linear)に与え、その出力をさらにソフトマックス関数(Softmax)に与え、最終的な出力は、問いiに係る回答のテキストの開始位置si及び終了位置eiとなる。
【0012】
BERTのQAモデルによる推論の有効性は一般に知られている。BERTのQAモデルのファインチューニングでは、問いとコンテキストとの関係はエンコーダにより直接学習される。したがって、問いの数だけ、問いとコンテキストとの組み合わせをファインチューニングの学習に与える必要があり、学習には長い時間がかかる。また、ファインチューニング後のモデルを用いた推論についても時間がかかる。さらには、複数の問い間の関係については当然ながら考慮されない。
【0013】
<本開示のアプローチ>
本実施形態では、異なるアプローチを取るようにした。図3は、本実施形態の情報処理システムによるファインチューニング処理について説明する図である。
【0014】
本実施形態では、使用する学習済みの言語モデルはBERTと同様であるが、言語モデルに与える入力ベクトルには問いTiを含めず、コンテキストに係る単語w1・・・wnのみを与える。単語のベクトルから言語モデルを用いてエンコードベクトルh1・・・hnが作成される。
【0015】
一方で、問いT1・・・Tm(例えば、「公告日」や「入札件名」など)に埋め込み(エンベディング)処理を行い、埋め込みベクトルv1・・・vmを作成する。
【0016】
エンコードベクトルhj(j=1・・・n)と、問いiの埋め込みベクトルvi(i=1・・・m)とを、2つの一般アテンション(General Attention;非特許文献2参照)の処理(開始位置アテンションi及び終了位置アテンションi)に与えて、開始位置siと終了位置eiとを求める。
【0017】
このように、本実施形態では、問いのシグナルとコンテキストとの関係は、一般アテンションレイヤーにより捕捉される。各問いにつき2つのアテンションレイヤーが存在する。本実施形態では、問いの埋め込みレイヤーは問いのシグナルを表すために用いられる。問いとコンテキストとの関係を学習するために、複数の一般アテンションレイヤーを用いる。
【0018】
これにより、全ての問いが同時にエンコードされために、学習及び推論にかかる時間を大幅に短縮することができる。また、学習モデルは複数の問いの間の関係を学習することもできる。さらに、各問いの埋め込みベクトルviとエンコードベクトルhとについて、アテンション処理iを同時に実行することができる。
【0019】
また、問いのシグナルとコンテキストとはアテンションにより関連付けられるため、エンコーダはコンテキストを表すことに注力することになる。したがって、エンコーダは複数のタスクの学習に用いることができる。
【0020】
図4は、開始位置に係る学習モデルのフローを説明する図である。図4では、「入札に付します。平成29年9月22日。」というコンテキストを一例として示している。そして問いは「公告日」を想定する。学習モデルへの入力シーケンスは、形態素(単語)を空白文字で区切って次のようなものになる。
[CLS]入札 に 付し ます 。 平成 29 年 9 月 22 日 。[SEP]
【0021】
入力ベクトルは、2つのタグ[CLS]及び「SEP」を追加するn+2個の要素となる。すなわち、w0=[CLS]、w1=入札、w2=に、・・・、wn-1=日、wn=。、wn+1=[SEP」が得られる。
【0022】
ここで、各単語に対する学習モデルによるエンコードされた出力は768要素のベクトルになる。例えば、、h6(平成)=[-8.6816e-01, -1.2022e-01, 4.2634e-01, ...]のようになる。
【0023】
一方、埋め込みベクトルは、各問いについて768の要素を含む。したがって、埋め込みマトリックスのサイズは、問いの数×768になる。問い「公告日」のインデックスが6であるとし、埋め込みベクトルv6(公告日)=[-6.2180e-03, -2.6125e-02, -8.5172e-03, ...]のように表すことができる。
【0024】
エンコードベクトルの全ての単語(h0・・・hn+1)と、埋め込みベクトルviとが、開始位置(又は終了位置)の一般アテンションに与えられて、対応する解答の開始(又は終了)位置を得ることができる。図4の例では、インデックス6の問い「公告日」に係る開始位置の信頼度は、p0([CLS])が0.01、p1(入札)が0.03、・・・p6(平成)が0.9のようになっており、第6位置の0.9が最大である場合、その位置(6)が公告日についての開始位置の回答となる。同様にして終了位置についてのアテンションは13となり、回答は「平成29年9月22日」となる。
【0025】
このように、本実施形態の情報処理システムによれば、各問いについての信頼度ベクトルは同様にかつ同時に推論することができる。
【0026】
<ハードウェア構成>
図5は、本実施形態に係る情報処理システムを実装する情報処理装置20のハードウェア構成例を示す図である。情報処理装置20は、例えばワークステーションやパーソナルコンピュータのような汎用コンピュータとしてもよいし、あるいはクラウド・コンピューティングによって論理的に実現されてもよい。なお、図示された構成は一例であり、これ以外の構成を有していてもよい。また、本実施形態の情報処理システムは、1台のコンピュータにより実装してもよいし、複数台のコンピュータにより実装してもよい。
【0027】
情報処理装置20は、CPU201、メモリ202、記憶装置203、通信インタフェース204、入力装置205、出力装置206を備える。記憶装置203は、各種のデータやプログラムを記憶する、例えばハードディスクドライブやソリッドステートドライブ、フラッシュメモリなどである。通信インタフェース204は、公衆電話回線網や携帯電話回線網、無線通信路、イーサネット(登録商標)などにより構築される通信ネットワーク(例えばインターネットなど)に接続するためのインタフェースであり、例えばイーサネット(登録商標)に接続するためのアダプタ、公衆電話回線網に接続するためのモデム、無線通信を行うための無線通信機、シリアル通信のためのUSB(Universal Serial Bus)コネクタやRS232Cコネクタなどである。入力装置205は、データを入力する、例えばキーボードやマウス、タッチパネル、ボタン、マイクロフォンなどである。出力装置206は、データを出力する、例えばディスプレイやプリンタ、スピーカなどである。なお、後述する情報処理装置20の各機能部はCPU201が記憶装置203に記憶されているプログラムをメモリ202に読み出して実行することにより実現され、情報処理装置20の各記憶部はメモリ202及び記憶装置203が提供する記憶領域の一部として実現される。
【0028】
<ソフトウェア構成>
図6は、情報処理装置20のソフトウェア構成例を示す図である。情報処理装置20は、項目記憶部231,学習モデル記憶部232、画像入力部211、OCR処理部212、埋め込み処理部213、エンコード処理部214、アテンション処理部215、位置決定部216、出力部217を備える。
【0029】
項目記憶部231は、書類から抽出するべき項目(抽出項目)に係る情報(以下、抽出項目情報という。)を記憶する。図7は、項目記憶部231の一例を示す図である。項目記憶部231は、書類の種類に対応付けて1つ又は複数の抽出項目情報を記憶することができる。抽出項目情報には、書類の種類を表す書類ID、番号、項目名、及び項目のタイプを含めることができる。タイプは、例えば、数値やテキストのようなデータ型であってもよいし、年、住所、電話番号などのユーザ定義型であってもよい。図7の例では、「入札」の書類に関する抽出項目の例として「調達時期」、「都道府県」、「入札名」、「指示名」、「供給場所」、「公告日」などが示されており、それぞれ「年」や「テキスト」、「日付」などのタイプが設定されている
【0030】
学習モデル記憶部232は、テキストから抽出項目を抽出するための学習モデルを記憶する。本実施形態では、学習モデルには、自然言語処理において用いられる事前学習された言語モデルを含むことができる。さらに、後述するように、言語モデルをファインチューニングすることにより作成されるモデル(以下、チューニングモデル)も含まれる。本実施形態では、言語モデルにコンテキストと問いとを与えることにより、当該テキストから当該問いに対する回答の位置(開始位置及び終了位置)を推測するようにチューニングモデルを作成する。
【0031】
画像入力部211は、書類をスキャンしたスキャン画像の入力を受け付ける。画像入力部211は、例えば、カメラやスキャナなどの機器からスキャン画像を受信するようにしてもよいし、スキャン画像を画像ファイルとして入力を受け付けるようにしてもよい。
【0032】
OCR処理部212は、画像入力部から文字列を読み取る。OCR処理部212は、一般的なOCR(Optical Character Recognition)の手法を用いて、画像から文字列を読み取ることができる。OCR処理部212は、例えば、図1の例において、書類1からコンテキスト4に表される文字列を読み取ることができる。
【0033】
埋め込み処理部213は、文字列をベクトルに圧縮する処理(エンベディング処理)を行う。エンベディング処理には、例えば、Word2Vecなどの手法を用いることができる。埋め込み処理部213は、スキャン書類の種類に対応する項目を項目記憶部231から読み出し、各項目名についてWord2Vecなどのエンベディング処理により埋め込みベクトルvを作成することができる。本実施形態では、ベクトルvは768個の要素を含むことを想定している。
【0034】
エンコード処理部214(ベクトル作成部)は、与えられた文章(テキスト)に含まれる形態素からベクトルを作成する。エンコード処理部214は、例えば、トランスフォーマ(Transformer)のエンコーダを用いて文章をエンコードすることができる。エンコード処理部214は、文章(テキスト)を形態素解析処理により単語(形態素)に分解し、分解した単語をベクトルとしてエンコード処理を行うことができる。なお、本実施形態では、エンコード処理部214によるベクトルの作成処理は、トランスフォーマのエンコーダを用いるものとしたが、これに限らず、単語をベクトル表現に表すものであればよい。エンコード処理部214は、BERTと同様に、先頭のタグ([CLS])及び最後のタグ([SEP])の間に、単語を空白文字で連結したシーケンスとして、既存のエンコーダに渡すことでエンコード処理を行うことができる。エンコード処理部214に与える文章(コンテキスト)は、OCR処理部212が読み取ったテキスト全部であってもよいし、当該テキストから一部を抽出したものであってもよい。エンコード処理部214は、コンテキストを構成するn個の単語に、先頭及び最後の2つのタグを加えてn+2個の要素からなるエンコードベクトルhを作成する。
【0035】
アテンション処理部215は、一般アテンション処理を行う。アテンション処理部215は、非特許文献2に提案されている一般アテンション処理を実現することができる。本実施形態では、開始位置のアテンション処理と、終了位置のアテンション処理との2つのアテンション処理を行う。アテンション処理では、埋め込み処理部213が作成した埋め込みベクトルvのそれぞれ(vi)と、エンコード処理部214が作成したエンコードベクトル(h0~hn+1)とに基づいて、コンテキストの各単語の確からしさ(信頼度)p0~pn+1を計算する。すなわち、開始位置についての信頼度p0~pn+1と、終了位置についての信頼度p0~pn+1とが計算される。開始位置及び終了位置のアテンション処理は、複数の問いについて同時に処理を行うことができる。例えば、同じ「日付」の問いであっても、文脈の異なる日付(例えば開催日と予約日との違い)を区別する場合などにおいては、該当箇所の一部が重なることがあり、アテンション処理を同時に行うことで、これらを最適化した重み計算を行うことができる。これにより問い間の関係性を学習結果に反映することができる。
【0036】
位置決定部216は、アテンション処理部215により計算された開始位置についての信頼度pの最も高いもののインデックス(0~n+1)を開始位置として決定することができる。また、位置決定部216は、アテンション処理部215により計算された終了位置についての信頼度pの最も高いもののインデックス(0~n+1)を終了位置として決定することもできる。
【0037】
出力部217は、問いに対する回答を出力することができる。推論時において、出力部217は、OCR処理部212が読み取った文字列の全部又は一部のコンテキストに含まれる、上記開始位置に対応する単語から、上記終了位置に対応する単語までの単語を連結して回答を作成して、作成した回答を出力することができる。
【0038】
<動作>
図8は、本実施形態の情報処理システムの学習の流れを説明する図である。
【0039】
情報処理装置20は、スキャン画像を取得し(S301)、スキャン画像にOCR処理を行って文字列を取得し(S302)、取得した文字列の全部又は一部からコンテキストを作成する(S303)。情報処理装置20は、コンテキストを形態素解析により単語に分割し、分割した単語を空白文字により連結し、先頭のタグ[CLS」及び最後のタグ[SEP」を追加したシーケンスを作成して事前学習モデルに与え、エンコードベクトルhを作成する(S304)。
【0040】
情報処理装置20は、スキャン画像の書類の種類に対応する抽出項目を項目記憶部231から読み出し(S305)、読み出した抽出項目のそれぞれについて、エンベディング処理により埋め込みベクトルviを作成する(S306)。
【0041】
情報処理装置20は、埋め込みベクトルviと、エンコードベクトルhとを、開始位置及び終了位置のアテンション処理に与えて信頼度を計算し(S307)、信頼度の最も高いもののインデックスを開始位置si又は終了位置eiとして決定する(S308)。
【0042】
以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【0043】
例えば、本実施形態では1台のコンピュータである情報処理装置20により情報処理システムを構成するものとしたが、これに限らず、複数台の情報処理装置20により実現することができる。例えば、記憶部を備えるデータベースサーバを情報処理装置20と別体に設置することができる。
【0044】
また、各問い(抽出項目)についてのアテンション処理は並列処理可能であるため、複数台の情報処理装置20によりアテンション処理を並列処理するようにしてもよい。
【0045】
<開示事項>
なお、本開示には、以下のような構成も含まれる。
[項目1]
テキストから抽出するべき複数の項目を記憶する項目記憶部と、
前記項目のそれぞれに対する埋め込み処理により埋め込みベクトルを作成する埋め込み処理部と、
前記テキストの少なくとも一部を単語に分解し、分解した前記単語に係るベクトルを作成するベクトル作成部と、
アテンション処理により前記ベクトル及び前記埋め込みベクトルから開始位置及び終了位置を推測するアテンション処理部と、
を備えることを特徴とする情報処理システム。
[項目2]
項目1に記載の情報処理システムであって、
前記アテンション処理部は、一部または全部の複数の前記項目のそれぞれについて前記埋め込みベクトルと前記ベクトルとについて前記アテンション処理を同時に実行すること、
を特徴とする情報処理システム。
[項目3]
テキストから抽出するべき複数の項目を記憶するコンピュータが、
前記項目のそれぞれに対する埋め込み処理により埋め込みベクトルを作成するステップと、
前記テキストの少なくとも一部を単語に分解するステップと、
分解した前記単語に係るベクトルを作成するステップと、
アテンション処理により前記ベクトル及び前記埋め込みベクトルから開始位置及び終了位置を推測するステップと、
を実行する情報処理方法。
[項目4]
テキストから抽出するべき複数の項目を記憶するコンピュータに、
前記項目のそれぞれに対する埋め込み処理により埋め込みベクトルを作成するステップと、
前記テキストの少なくとも一部を単語に分解するステップと、
分解した前記単語に係るベクトルを作成するステップと、
アテンション処理により前記ベクトル及び前記埋め込みベクトルから開始位置及び終了位置を推測するステップと、
を実行させるためのプログラム。
【符号の説明】
【0046】
20 情報処理装置
211 画像入力部
212 OCR処理部
213 埋め込み処理部
214 エンコード処理部
215 アテンション処理部
216 位置決定部
217 出力部
231 項目記憶部
232 学習モデル記憶部
図1
図2
図3
図4
図5
図6
図7
図8