JP2023166260A - 情報処理装置、情報処理方法及びプログラム固有表現抽出装置 - Google Patents

情報処理装置、情報処理方法及びプログラム固有表現抽出装置 Download PDF

Info

Publication number
JP2023166260A
JP2023166260A JP2022077185A JP2022077185A JP2023166260A JP 2023166260 A JP2023166260 A JP 2023166260A JP 2022077185 A JP2022077185 A JP 2022077185A JP 2022077185 A JP2022077185 A JP 2022077185A JP 2023166260 A JP2023166260 A JP 2023166260A
Authority
JP
Japan
Prior art keywords
document
named entity
information processing
learning data
candidate
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.)
Pending
Application number
JP2022077185A
Other languages
English (en)
Inventor
洋介 五十嵐
Yosuke Igarashi
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2022077185A priority Critical patent/JP2023166260A/ja
Publication of JP2023166260A publication Critical patent/JP2023166260A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

【課題】 文書のテキストのトークン数が自然言語処理モデルの上限トークン長を超える場合であっても、文書全体の処理結果に不整合を起こさずに固有表現の抽出を行うことを目的とする。【解決手段】 文書を読み取って得られた文書画像からテキストデータを取得して、トークンの集合であるトークン列に変換し、当該トークン列を、所定のトークン数以下で構成されるブロックの単位に分割する。そして、学習済みのニューラルネットワークモデルを用いて、ブロック毎に固有表現を推論し、ブロック毎の推論結果をマージして、マージ結果から文書画像単位での固有表現候補の集合である文書固有表現候補を生成する。そして、文書固有表現候補に基づき、前記文書における固有表現を決定する。【選択図】 図3

Description

本発明は、文書から固有表現を抽出する技術に関する。
従来、文書を読み取って電子化(ファイル化)する際に、当該文書に含まれるテキストの情報を取得して、適切なファイル名を自動付与する技術がある。自動付与されるファイル名を構成する要素には、ファイル作成日時、文書に記載された組織名や人名、文書番号、文書発行日などがある。これらは自然言語処理分野の応用技術である固有表現抽出技術により得ることができる。近年、自然言語処理において主流となっているSeq2SeqやTransformersに代表されるニューラルネットワークモデルは、文書内のテキストをトークンと呼ばれる単位に分割したトークン列を入力として推論処理を行う。この際、トークン列の長さが、予め規定された上限トークン長未満であれば固定値でパディングされて、上限トークン長を超えていれば上限トークン長以下に収まるように複数のトークン列に分割されて、モデルに入力されることになる。そして、特許文献1は、文書内の長いテキストを、章や節、段落などのセクションに分割し、各セクションに対して推論処理を行う手法を開示する。
特開2021-64143号公報
上記特許文献1のような手法によって文書内のテキストを所定のセクションに分割し、セクション毎に固有表現抽出を行う場合、各セクションは他のセクションの情報を考慮しないため、誤抽出が生じる場合があった。例えば、発行日や支払期限日など複数の日付が記入された請求書の場合、セクションの区切り位置によっては、発行日を表す正しい日付に加えて、支払期限日を表す日付までが発行日として抽出されることが起こり得た。
本開示は係る問題に鑑みてなされたものであり、文書内のテキストを分割して推論処理を行う場合においても、高精度に固有表現を抽出できるようにすることを目的とする。
本開示に係る情報処理装置は、文書を読み取って得られた文書画像からテキストデータを取得する文字認識手段と、前記テキストデータをトークンの集合であるトークン列に変換するテキスト変換手段と、前記トークン列を、所定のトークン数以下で構成される複数のブロックに分割する分割手段と、学習済みのニューラルネットワークモデルを用いて、前記ブロック毎に固有表現を推論する推論手段と、前記ブロック毎の前記推論の結果をマージするマージ手段と、前記マージの結果から、前記文書画像の単位での、固有表現の集合である文書固有表現候補を生成する生成手段と、前記文書固有表現候補に基づき、前記文書における固有表現を決定する決定手段と、を有することを特徴とする。
本開示によれば、文書内のテキストを分割して推論処理を行う場合においても、高精度に固有表現を抽出できる。
情報処理装置のハードウェア構成を示す図。 情報処理装置のソフトウェア構成を示す図。 文書画像から固有表現を抽出する処理の流れを示すフローチャート。 (a)は文書画像の一例を示す図、(b)は文書固有表現候補の一例を示す図。 (a)~(c)は、固有表現候補の生成の具体例を示す図。 文書固有表現候補の生成処理の詳細を示すフローチャート。 文書固有表現候補の選択処理の詳細を示すフローチャート。 (a)及び(b)は、学習データセットに含まれる学習データを説明する図。 関数hxの説明図。 (a)及び(b)は、それぞれ関数s(x)及び関数r(x)を説明する図。 変形例2に係る、推論結果の一例を示す図。
以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するため必須の手段であるとは限らない。
[実施形態1]
<ハードウェア構成>
図1は、本実施形態に係る、固有表現抽出装置としての情報処理装置のハードウェア構成を示す図である。情報処理装置100は、制御部101、ROM102、RAM103、HDD104、表示部105、入力部106及びスキャナ107を有する。
制御部101は、ROM102に記憶された制御プログラムを読み出して各種処理を実行する。RAM103は、制御部101の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD104は、各種データや各種プログラム等を記憶する。なお、後述する情報処理装置100の機能や処理は、制御部101がROM102またはHDD104に格納されているプログラムを読み出し、このプログラムを実行することにより実現される。表示部105は、各種情報を表示する。入力部106は、キーボードやマウスを有し、ユーザによる各種操作を受け付ける。なお、表示部105と入力部106は、タッチパネルのように一体に設けられてもよい。また、表示部105は、プロジェクタによる投影を行うものであってもよく、入力部106は、投影された画像に対する指先の位置をカメラで認識するものであってもよい。スキャナ107は、紙面を読み取ってスキャン画像を生成する。なお、スキャナ107は、接触型スキャナに限らず、書画カメラやスマートフォンを非接触型スキャナとして用いてもよい。
本実施形態においては、スキャナ107が、帳票等の紙文書を読み取って文書画像を生成し、当該文書画像を後述する文字認識部212によりテキストデータに変換してHDD104などの記憶装置に記憶する。
[用語]
本実施形態で用いる用語について、以下のように定義する。
・文字列:複数の連続する文字
・トークン:文字列をより短い文字列の集合に分割した時、分割して得られた各文字列
・トークン列:複数の連続するトークン
各トークンには、推論処理によって「B-Date」、「I-Date」、「I-ID」、「O」などのラベル種別が割り当てられる。ラベル種別は固有表現抽出技術の分野で一般に用いられるIOB形式で表記される。また、ラベル種別は一つのトークンに対して複数割り当てられる場合があり、この時に割り当てられた各ラベル種別をそれぞれラベル候補とする。さらに、各トークンに割り当てられた一つ以上のラベル候補をまとめてラベルとする。ラベルが持つラベル候補を単に候補と記載する場合がある。
「B-」や「I-」に続く文字列“Date”や“ID”は固有表現種別と呼ぶ。連続するラベルであるラベル列に対して、形式のルールを適用することで、該ラベル列(及びそれを構成するトークン列、文字列)の固有表現種別が得られる。一つのトークン列に対して複数の固有表現種別が割り当てられる場合があるが、そのようなトークン列と各固有表現種別の組をそれぞれ固有表現候補とする。さらに、一つのトークン列に割り当てられた一つ以上の固有表現候補をまとめて固有表現とする。固有表現が持つ固有表現候補を単に候補と記載する場合がある。
<ソフトウェア構成>
図2は、本実施形態に係る、情報処理装置100のソフトウェア構成(機能構成)を示す図である。情報処理装置100は、図示される各モジュールを実現するプログラムは、ROM102またはHDD104に記憶される。プログラムの制御、各モジュールに対する指示、管理、及びモジュール間のデータの受け渡しは不図示の制御部により行われる。以下、図2に示す各モジュールについて説明する。
情報処理装置100は、画像取得部211、文字認識部212、テキスト変換部213、ブロック生成部214、推論部215、マージ部216、候補生成部217、選択部218を有する。
画像取得部211は、固有表現抽出の処理対象となる文書画像(スキャナ107で文書を読み取って生成したスキャン画像)を取得する。
文字認識部212は、文書画像内の文字に対応する画像領域(文字領域)に対してOCR(Optical Character Recognition)を行うことによって、文書内に存在する文字の情報(テキストデータ)を取得する。このテキストデータは、各文字領域の座標に基づき例えば左から右、上から下に走査して、文字領域毎の認識文字列(認識された複数の連続する文字)を順に結合することで得られる。取得したテキストデータはテキスト変換部2134に渡される。
テキスト変換部213は、入力されたテキストデータに対して形態素解析を行い、形態素毎に分かち書きを行ってトークンに分解し、トークンの集合であるトークン列に変換する。トークンは、ニューラルネットワークモデルに入力する言語情報の最小単位である。ここでは、トークンの単位を形態素としているがこれに限定されない。例えば、トークンの単位として、文節単位や単語単位、文字単位を採用してもよい。これにより例えば、入力されたテキストデータが「発行日:2017年6月11日」であるとき、「/発行/日/:/2017/年/6/月/11/日/」といった9個のトークンから成るトークン列に変換される。なお、“/”はトークンの区切りを示す記号である。得られたトークン列はロック生成部214に渡される。
ブロック生成部214は、入力されたトークン列を、所定のトークン数以下で構成される集合(塊)になるように分割して、複数のブロックを生成する。生成されるブロックの長さ(1つのブロックを構成するトークンの数)は、推論処理に用いる学習済みモデル(以下、「推論モデル」と表記)221に入力可能な上限トークン長(上限トークン数)である。例えば入力トークン列を構成するトークン数が580個、推論モデル221の上限トークン数が256個であったとする。この場合、入力トークン列は、各ブロックが256個のトークンから成る3つのブロックに分割されることになる。生成されたブロックのデータは推論部215に渡される。
推論部215は、HDD104から推論モデル221を読み込み、入力されたブロックそれぞれを推論モデル221に入力して、ブロックを構成するトークンそれぞれについて、固有表現のラベルを推論する処理を行う。推論モデル221としては、例えばBERT(Bidirectional Encoder Representations from Transformers)やXLNetなどが挙げられる。推論モデル221がニューラルネットワーク構造を持つ場合、ネットワーク構成、ネットワーク間の重み、及び各種パラメータを有する。本実施形態において推論モデル221は、固有表現抽出技術の分野で一般に用いられるIOB形式のラベルを推論する。IOB形式では、固有表現を意味する文字列の先頭トークンにラベル種別「B-<任意文字列>」、2番目以降のトークンにラベル種別「I-<任意文字列>」を付与し、何れの固有表現でもないトークンに対してはラベル種別「O(Other)」を付与する。そしてBラベルから連続する同種のIラベルの領域を同ラベル種別が表す固有表現種別の文字列とする。例えば、上述の「/発行/日/:/2017/年/6/月/11/日/」のブロックに対する推論処理によって、トークン「2017」にラベル種別「B-Date」、続けて末尾の「日」まで連続してラベル種別「I-Date」が付与されたとする。この場合、文字列“2017年6月11日”と固有表現種別「Date」の組が固有表現として取得される。さらに推論部215は、トークン毎に付与されたラベルから固有表現候補を推論する。例えば、文字列“2017年6月11日”に対し、第1の固有表現候補として「Date」、第2の固有表現候補として「Other(固有表現なし)」を推論する。このように、一つの文字列に対して複数の固有表現候補を生成する。固有表現候補の生成の詳細は後述する。
マージ部216は、ブロック毎の推論の結果をマージする。これにより、一つの文書画像のテキストデータ全体に対する推論結果であって、各文字列について複数の固有表現候補を有する推論結果が得られる。
候補生成部217は、マージした結果から、文書画像単位での、固有表現の集合である文書固有表現候補を生成する。通常、文書固有表現候補は複数生成される。なお、文書固有表現候補内の各固有表現は複数の候補を持たない。例えば、第1の文書固有表現候補として「Date:2017年6月11日」及び「ID:A1001」を、第2の文書固有表現候補として「Date:2017年6月11日」及び「ID:AB-1234」といった具合に生成される。
選択部218は、生成された複数の文書固有表現候補それぞれと、学習データセット222に含まれる各学習データとを各固有表現のレイアウトに基づき比較して、適切な文書固有表現候補を選択する。学習データセット222には複数の学習データが含まれ、各学習データは文書画像1枚分の正しい固有表現のセットを有する。選択部218の処理の詳細は後述する。
<固有表現抽出処理>
次に、本実施形態における、文書画像から固有表現を抽出する処理の流れについて、図3のフローチャートを参照して説明する。図3のフローチャートに示す一連の処理は、不図示のUI画面を介したユーザ指示に基づき、スキャナ107で文書が読み取られてその文書画像が文字認識部212に入力されることで開始する。なお、以下の説明において記号「S」はステップを意味する。
まず、S301にて、文字認識部212は、入力された文書画像内の各文字領域に対しOCR処理を行ってテキストデータを取得する。図4(a)は、請求書を読み取って得られた文書画像400を示している。いま、文書画像400に対するOCR処理によって、「ご請求書|発行日:|2017年6月11日|・・・|お支払い期限|2018年7月11日|御請求金額|¥6,318」のテキストデータが得られたものとして、以降各処理の説明を行うこととする。なお、このテキストデータにおいて、文字「|」は、異なる文字領域の文字列を結合する場合に挿入する区切り文字を表す。
次に、S302にて、テキスト変換部213は、取得されたテキストデータをトークンに分解してトークン列に変換する。上述のテキストデータの場合、「/請求/書/・・・」といった具合に分かち書きによって分解され、複数のトークンから成るトークン列に変換されることになる。
次に、S303にて、ブロック生成部214は、変換されたトークン列を所定のトークン長以下になるように複数のブロックに分割する。ここでは、上記具体例のトークン列が、第1ブロック「・・・/お/支払/い/期限/|/」と、第2ブロック「/2018/年/・・・」の2つに分割されたものとする。図4(a)において、破線401は、第1ブロックと第2ブロックとの境界を表している。
次に、S304にて、推論部215は、複数のブロックそれぞれを推論モデル221に入力して、トークン毎にラベルを推論し、IOB形式の定義に従って固有表現に変換する。ここで、上記具体例の場合、第1ブロックの末尾にある文字列“お支払い期限”は、第2ブロックの先頭にある文字列“2018年7月11日”の意味を説明するキーワードである。しかしながら、分割によりそれらが別々のブロックに属することになっている。そのため、推論モデル221は、第2ブロックを処理する際、キーワード無しで文字列“2018年7月11日”のラベルを推論しなければならなくなっている。さらに、推論モデル221は、各ラベルの推論結果に複数の候補があれば、それに基づき固有表現単位の候補も複数生成する。ここで、固有表現候補の生成方法について、具体例を用いて詳しく説明する。
≪固有表現候補の生成≫
図5(a)は、ブロックの途中で同種のBラベルが第2候補として推論された場合の処理例である。テーブル500は、文字列“2021-01-04”を分かち書きして得られたトークン列「/2021/-/01/-/04/」の推論結果を示している。テーブル500の各列が一つのトークンに対応している。各トークンは、それぞれ識別子501、文字列502、トークンの第1位推論結果である第1位ラベル503、第2位推論結果である第2位ラベル504、IOB形式に従い生成される固有表現の第1候補505と第2候補506の属性を有する。以後、各列をトークン{識別子}と呼ぶ。第1位ラベル503によれば、先頭トークンT1_1がBラベルで始まり、末尾トークンT1_5までIラベルが連続するため、第1候補505が示すようにトークン列全体が固有表現「Date」となる。ここで、トークンT1_3の第2位ラベル504が「B-Date」となっている。そのため、トークンT1_3の推論結果を「B-Date」とした場合、第2候補506の通り、トークンT1_1からT1_2までで一つの固有表現「Date」となり、さらにトークンT1_3からT1_5までがまた別の固有表現「Date」となる。
図5(b)は、同種のIラベルが連続するトークン列に対する処理例である。テーブル510において、トークンT2_1からT2_5はいずれも第1位ラベルが「I-To」である。IOB形式に従えば、先頭がBラベルではないためこれらは固有表現ではなく、第1候補は「Other」となる。これに対して推論部215は、同種のIラベルが連続する場合、ラベルに対応する固有表現を新たな候補として生成する。これは先頭トークンの推論誤りの可能性を考慮した処理である。これにより、テーブル510に示すとおり、第1候補が「Other」、第2候補が「To」となる。なお、テーブル510に示す推論結果では、各トークンに対して付されるラベルが、Bラベルの存在を前提とするIラベルだけになっている理由は主に2つある。1つ目の理由は、文字領域毎の文字列を走査・結合する際の順番が誤って学習されるケースがあることである。例えば、ある学習データにおいて1つの固有表現が複数の文字領域に跨っている場合、それらに対応する文字列の走査・結合の順序を誤ると、Iラベルの前にOラベルが有ると学習されたり、別種のIラベルが連続すると学習される場合がある。そのような学習によって得られた推論モデルの場合、テーブル510のような推論結果になることがある。2つ目の理由は、いわゆる過学習が起きた場合である。仮に、Iラベルの直前に同種のBラベルしか来ないような学習データだけを用いて学習を行ったとしても、そのルールを常に正しく学習できるわけではない。ルールを覚えこませるために過剰に学習させると推論精度が低下する過学習となってしまい、それによって得られた推論モデルの場合も、テーブル510のような推論結果になることがある。
図5(c)は、異なる種類のラベルが連続するトークン列に対する処理例である。テーブル520において、トークンT3_1からT3_2を前半部、トークンT3_3からT3_4を後半部とする。処理対象のトークン列を通常のIOB形式により変換したものが第1候補であり、前半部については「To」、後半部については「I-From」の連続であるため「Other」となっている。さらに図5(b)で説明した処理を行って得られた結果が第2候補であり、前半部については「To」、後半部については「I-From」が連続するため「From」となっている。第3候補及び第4候補は、Iラベルが連続するトークン列全体を一つの固有表現として変換した固有表現候補である。第3候補は、トークン列全体を前半部の推論ラベルである「To」としたもの、第4候補は後半部の推論ラベルである「From」としたものである。
なお、文書画像400において、文字列“ファミリ”については「I-From」と推論され、文字列“大内”については「To」と推論されているのは、推論モデルは前後に存在する文字列との意味的な関係を学習するためである。一例として、トークン列上で会社名が連続しているときは、先に出現する会社名については「From」らしさが高く、後に出現する会社名については「To」らしさが高くなるように学習することがある。この場合、明示的なキーワードは不要である。また、別の例として、直後に人名らしき何らかの文字列と“様”の文字列があれば「To」らしさが高くなるように学習されることがある。このような理由から、会社名を表す文字列であっても、推論結果に違いが生じることがある。
図3のフローの説明に戻る。
次に、S305にて、マージ部216は、ブロック毎に得られた推論結果をマージする。これにより、ブロック単位で得られた推論結果が1つにまとめられる。
次に、S306にて、候補生成部217は、マージ結果に基づき、文書画像単位での固有表現候補の集合である文書固有表現候補を生成する。図6は、本ステップにおける文書固有表現候補を生成する処理の詳細を示すフローチャートである。以下、図6のフローを参照して説明する。
≪文書固有表現候補の生成処理≫
まず、S601では、推論部215によって生成された固有表現候補が取得される。ここでは、前述の図5で示した3つのテーブル500、510、520で示す固有表現候補が取得されたものとする。
次に、S602では、S601で取得した固有表現候補を組み合わせて、文書固有表現候補が生成される。いま、テーブル500とテーブル510では第1候補と第2候補の2つの固有表現候補、テーブル520では第1候補~第4候補まで4つの固有表現候補が得られている。これらの組み合わせにより、2×2×4=16個の文書固有表現候補が生成されることになる。
図4(b)は、図4(a)の文書画像400のトークン列を前半と後半の2つのブロックに分け、それぞれブロックの推論結果をマージして得られた文書固有表現候補の一例である。テーブル410は、各行が一つの固有表現を表し、識別子411、固有表現種別412、文字列413、x座標414、y座標415の各列を属性として持つ。識別子411は、固有表現毎にユニークなIDである。固有表現種別412は、抽出された固有表現の種別を表す。ここでは「IssDate」、「ID」、「From」、「To」の4種類の固有表現が存在する。「IssDate」は文書の発行日付を表す。文字列413は、各固有表現に対応する入力文字列である。x座標414とy座標415は、文書画像400における各文字領域の外接矩形の中心座標を示し、文書画像の左上を0、右下を1とするように正規化されている。以後、各行を固有表現{識別子}で呼称する。固有表現NE1_1からNE1_5の座標は、それぞれ図4(a)に示した固有表現の文字領域403aから403eに対応する。テーブル410において、固有表現NE1_1と固有表現NE1_5は、いずれも「IssDate」となっている。しかしながら、固有表現NE1_5に対応する文字領域403eは、隣接した左側にキーワード“お支払い期限”があり、本来は文書の発行日ではなく支払い期限を表す日付であるため、「IssDate」と推論するのは誤りである。このように誤った推論が起きる理由は複数ある。いま、前提として、存在する固有表現は「IssDate」、「ID」、「From」、「To」の4種のみであり、図4において文字領域403eは固有表現ではないことを表すOラベル(Other)が推論されるのが正解であるとする。上記4種の固有表現で推論モデルを十分に学習させた場合、「IssDate」について{トークン列が日付の書式}や{トークン列上で直前にキーワード“発行日”がある}といった傾向が学習されると考えられる。そのため、日付の書式である文字領域403eは、Oラベルよりは「IssDate」と推論される可能性が高くなる。さらに、TransformersベースのBERTでは、トークン列上の何番目のトークンか、についても学習するところ、「IssDate」は一般的に文書画像の右上に出現しやすい。そのため、トークン列上で最初に出現する日付の書式で記載された文字列は「IssDate」と推論される可能性がより高くなる。そうした中で、境界401の位置で分割されたとき、境界401より後ろにあるトークン列の先頭トークンとして推論モデルに入力される文字領域403eは、「IssDate」であると推論されることが起きることになる。
図6のフローの説明に戻る。
そして、S603では、S602で生成した文書固有表現候補に対して、固有表現種別の出現数に基づきその一部を書き換えることによって、新たな文書固有表現候補を追加生成する。例えば、「IssDate」を1つ、「From」を2つ、「To」を1つ有する文書固有表現候補があるとする。この場合において、例えば、『文書画像中に出現する「From」の上限数は1個』ということが分かっているとき、2つある固有表現「From」のうち一方を「Other」に変換した文書固有表現候補をさらに生成する。なお、追加生成処理を行う際の条件として、上述の『文書画像中に出現する「From」の上限数は1個』はあくまで一例であり、対象となる文書の種類に応じて決まるものである。また、例えば『「From」と「To」は同数であること』など異なる固有表現種別の組み合わせを、追加生成処理を行うための条件としてもよい。
以上が、文書固有表現候補の生成処理の内容である。図3のフローの説明に戻る。
最後に、S307にて、選択部218は、S306で生成された複数の文書固有表現候補の中から適切な文書固有表現候補を選択して、テキストデータに含まれる固有表現を決定する。図7は、本ステップにおける文書固有表現候補の選択処理の詳細を示すフローチャートである。以下、図7のフローを参照して説明する。
S701では、S306で生成された複数の文書固有表現候補のうち注目する文書固有表現候補と、学習データセット222に含まれる各学習データとが一対一で比較され、両者の類似度を表すスコアSが算出される。ここで、学習データについて具体例を用いて説明する。
≪学習データ≫
図8の(a)及び(b)は、学習データセット222に含まれる学習データを説明する図である。図8(a)のテーブル800は学習データを示し、図8(b)は学習データとしてのテーブル800を説明のために画像化した学習データ画像810を示している。S701では、学習データセット222に含まれる各学習データと生成された複数の文書固有表現候補それぞれとが比較され、適切な文書固有表現候補が1つ選択されることになる。いま、学習データとしてのテーブル800は、文書画像1枚分の正しい固有表現のセットを有する。各行が一つの固有表現を表し、識別子801、固有表現種別802、x座標803、y座標804の各列を有する。なお、これら各列は、図4(b)に示した文書固有表現候補としてのテーブル410の同名の列と同義である。学習データ画像810は、テーブル800における各固有表現の文字領域を図示したものである。文字領域811a~811dは、それぞれ固有表現GT1_1からGT1_4に対応する。なお、各固有表現の有する座標情報はx座標とy座標のみであるが、学習データ画像810では説明のために、x座標とy座標で特定される位置をその中心座標位置とした矩形領域で表現している。
上述のような学習データと、文書固有表現候補との類似度を表すスコアSが、例えば下記の式(1)を用いて算出されることになる。
・・・式(1)
上記式(1)において、entityは固有表現種別の集合(例えば{IssDate、ID、From、To})を表す。以下、文書固有表現候補内の固有表現を「入力固有表現」、学習データ内の固有表現を「学習固有表現」とそれぞれ呼ぶこととする。例えば、前述の図4(b)のテーブル410におけるNE1_1の固有表現は入力固有表現であり、図8(a)のテーブル800におけるGT1_1の固有表現は学習固有表現である。また、s(x)及びr(x)は、固有表現種別xを引数とする関数である。そして、cは任意の実数でありr(x)の値を調整するパラメータである。Nxは固有表現種別がxの入力固有表現の個数であり、nxは固有表現種別がxの学習固有表現の個数である。px iは固有表現種別がxの第i入力固有表現の位置ベクトルであり、gx jは固有表現種別xの第j学習固有表現の位置ベクトルである。各位置ベクトルは、テーブル410及びテーブル800で示したx座標とy座標とで特定される。例えば、x=IssDateとした場合、テーブル410ではNx=2であり、NE1_1の固有表現とNE1_5の固有表現をそれぞれ第1、第2入力固有表現として、px 1=(0.6,0.1)、px 2=(0.6,0.6)となる。同様に、テーブル800においては、Mx=1、GT1_1の固有表現を第1学習固有表現として、gx 1=(0.58,0.1)となる。
関数hxは、同種の入力固有表現間の距離を引数として、その距離が学習データセット内で頻出する値であれば小さい値を、稀な値であれば大きい値を返す。図9は、関数hxを説明する図である。ヒストグラム900は横軸を距離、縦軸を頻度とし、最大頻度が1になるように正規化されている。ヒストグラム900は固有表現種別毎に作成される。例えば固有表現「IssDate」について作成する場合、IssDateの学習固有表現間距離とその頻度をカウントし、さらに頻度を正規化する。関数hxは、入力引数をヒストグラム900の距離とした時の頻度の逆数を返す。例えばヒストグラム900は、距離の大きいビン901の頻度が大きく、距離の小さいビン902の頻度は小さい。つまり、ヒストグラム900を構成する固有表現種別は、同一文書画像内に複数個が近接して存在することは稀で、一定以上の距離を空けて存在することが多いことを意味する。関数の戻り値は頻度の逆数とするため、距離がビン901に入る場合の戻り値は小さく、ビン902に入る場合の戻り値は大きくなる。
関数s(x)は、入力固有表現毎に、同種かつ最近傍の学習固有表現との距離を求め、それを総和した値の逆数で定義される。つまり、s(x)は、入力固有表現と学習固有表現の種別と位置が類似しているほど値が大きくなる類似度の役割となる。なお学習固有表現数が0の場合、s(x)は0(最小値)となる。そして、関数r(x)は、入力固有表現間の距離の頻度に応じて値を返す関数hxの戻り値の総和で定義される。つまりr(x)は、各入力固有表現の位置に応じたペナルティをスコアSに与える。図10の(a)及び(b)は、それぞれ関数s(x)及び関数r(x)を説明する図である。(a)及び(b)の双方において、文書固有表現候補と学習データを一つずつ抜き出して、それらの同種の固有表現を図示している。いま、図10(a)の例では、学習固有表現1001、学習固有表現1002、入力固有表現1003が存在している。関数s(x)によれば、入力固有表現1003に対して同種かつ最近傍である学習固有表現1001が選択され、両者間の距離1004が計算される。このように入力固有表現に対して学習固有表現が多い場合は、距離の計算に用いられない学習固有表現が生じる。そして、図10(b)の例では、学習固有表現1010、入力固有表現1011、入力固有表現1012が存在している。関数s(x)では入力固有表現毎に最近傍の学習固有表現が探索されるため、入力固有表現1011に対して学習固有表現1010が、入力固有表現1012に対しても学習固有表現1010が選択され、距離1013及び距離1014が計算される。さらに関数r(x)において、入力固有表現間の種別と距離に基づくペナルティを算出するために、入力固有表現1011及び入力固有表現1012間の距離1015が計算される。
上述のようにして、S306で生成されたすべての文書固有表現候補について類似度を表すスコアの算出が完了すればS702に進む。そして、S702にて、最大のスコア値を持つ文書固有表現候補が1つ選択され、文書画像単位のテキストデータに含まれる固有表現として出力される。
以上が本実施形態における、文書画像から固有表現を抽出する処理の流れである。
<変形例1>
文書固有表現候補と学習データとの比較において、両者の類似度を表すスコアSの定義は、上記式(1)に限定されない。例えば、上記式(1)における関数s(x)を、以下に示す式(2)で定義してもよく、その他種々の変形が可能である。
・・・式(2)
上記式(2)において、a及びbは調整可能なパラメータである。nx>0であれば上記式(2)の(1)を適用し、nx=0であれば上記式(2)の(2)を適用する。
上記式(2)の(1)において、nxを0より大きい定数とした場合、入力固有表現と学習固有表現の位置が完全に一致する時にs(x)=Nxaと最大値となる。そして、そこから入力固有表現の位置が変化した分だけ(最近傍の学習固有表現が同じであれば)、s(x)は小さくなる。a=0とした場合、Nx=0の時にs(x)は最大となる。これは、固有表現を何も出力しないことが高スコアとなってしまうことを意味する。そのため、aを0より大きい値(例えば0.1)にして検出数の影響を調整する。
学習固有表現数nx=0の場合には、上記式2の(2)を適用する。対象とする学習データが固有表現種別xを持たないのに入力固有表現が存在した時のペナルティを、パラメータb(例えば0.3)を用いて調整する。
<変形例2>
固有表現候補の生成に用いる推論モデル221は複数でもよい。具体的には、複数の異なる推論モデルを用いて固有表現の推論を行って、各推論モデルの出力する推論結果のうち、位置が重なり、かつ種別が異なる或いは位置が一致しないものを、固有表現候補としてもよい。ここで、複数の推論モデルを用いて固有表現候補を生成する手順について、具体例を参照して説明する。
図11に示すテーブル1100は、本変形例に係る、文字列“株式会社ABCソフト開発部田中真殿”を分かち書きしたトークン列「/株式/会社/ABC/ソフト/開発/部/田中/真/殿/」の推論結果を示している。テーブル1100における各列が各トークンに対応している。識別子1101は各トークンを区別する識別子である。トークン1102はトークン文字列である。モデルA出力1103、モデルB出力1104、モデルC出力1105は、3つの推論モデルA~Cそれぞれによる固有表現の推論結果である。説明の簡単化のために各推論モデルが出力する固有表現は複数候補を持たないものとしたが、上述の実施形態1で説明した方法で複数候補を持たせてもよい。
いま、推論モデルAは、トークンT4_1からT4_3までを「ORG」、トークンT4_4からT4_6までを「ORG」、トークンT4_7からT4_8までを「PERSON」、T4_9を「O(Other)」と推論している。また、推論モデルBは、トークンT4_1からT4_6までを「ORG」と推論し、トークンT4_7からT4_9までを「PERSON」と推論している。そして、推論モデルCは、トークンT4_1からT4_4を「ORG」、トークンT4_5からT4_6を「ORG」、T4_7からT4_8を「ORG」と推論し、T4_9を「O(Other)」と推論している。ここで、各推論モデルの出力について、推論された固有表現の位置が重なり、かつ種別が異なる或いは位置が一致しないトークン列を取得する。テーブル1100では、トークンT4_1からT4_6のトークン列と、トークンT4_7からT4_9のトークン列がこれに該当する。この場合において、トークンT4_1からT4_6のトークン列は、推論された固有表現の位置が重なり、かつ、位置が一致しないトークン列として取得されている。また、トークンT4_7からT4_9のトークン列は、推論された固有表現の位置が重なり、かつ、種別が異なるトークン列として取得されている。こうして取得された各トークン列について、各推論モデルの推論結果を固有表現候補とする。つまり、トークン列T4_1からT4_6については第1候補1106、第2候補1107、第3候補1108が生成され、トークン列T4_7からT4_9については第1候補1109、第2候補1110、第3候補1111が生成されることになる。
<変形例3>
文書固有表現候補と学習データセット222に含まれる各学習データとの比較を行うに際して、文書種別の情報を用いて比較対象とする学習データをフィルタリングしてもよい。これにより、比較する学習データ数が減るため計算量を削減できる。
本変形例の場合、固有表現抽出部210は、図2には不図示の文書種別判定部をさらに有する。文書種別判定部は、文書画像から画像特徴量を算出し、文書種別を教師ラベルとして学習された機械学習モデルにより文書種別を推論する。また学習データセット222に含まれる各学習データは、さらに文書種別の情報を有する。ここで、文書種別は、例えば請求書や見積書といった帳票の種類を表す名称等である。
本変形例においては、前述の図7が示す文書固有表現候補の選択処理のフローにおけるS701に先立って、文書種別判定部によって文書画像の文書種別を推論し、推論された文書種別と同じ文書種別の学習データを特定する。そして、特定された学習データだけを用いて、S701の類似度スコアの算出を行うようにする。なお、このように学習データを絞り込む際に、同一の文書種別の学習データのみに限定するのではなく、類似する文書種別の学習データまでを比較対象の学習データとしてもよい。例えば「請求書」と「見積書」を類似帳票グループとして予め同じグループに割り当てておき、文書画像の文書種別が「請求書」だった場合に、「請求書」と「見積書」の学習データを用いて類似度スコアを算出するようにしてもよい。これにより学習データを過剰にフィルタリングすることを防ぐことができる。
以上のとおり本実施形態によれば、文書画像単位のテキストデータに対応するトークン列を分割して得たブロック毎に固有表現の推論を行った後、推論結果をマージして文書固有表現候補を複数作成し、その中から適切なものを選択する。これにより、変換されたトークン列のトークン数が自然言語処理モデルの上限トークン数を超える場合であっても、文書全体の処理結果に不整合を起こさずに固有表現の抽出を行うことができる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワークまたは記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本実施形態の開示は、以下の構成及び方法を含む。
(構成1)
文書を読み取って得られた文書画像からテキストデータを取得する文字認識手段と、
前記テキストデータをトークンの集合であるトークン列に変換するテキスト変換手段と、
前記トークン列を、所定のトークン数以下で構成される複数のブロックに分割する分割手段と、
学習済みのニューラルネットワークモデルを用いて、前記ブロック毎に固有表現を推論する推論手段と、
前記ブロック毎の前記推論の結果をマージするマージ手段と、
前記マージの結果から、前記文書画像の単位での、固有表現の集合である文書固有表現候補を生成する生成手段と、
前記文書固有表現候補に基づき、前記文書における固有表現を決定する決定手段と、
を有することを特徴とする情報処理装置。
(構成2)
前記決定手段は、前記生成手段にて生成された複数の前記文書固有表現候補の中から、各固有表現のレイアウトに基づきいずれかの文書固有表現候補を選択して、前記文書における固有表現を決定する、ことを特徴とする構成1に記載の情報処理装置。
(構成3)
各学習データが文書画像1枚分の正しい固有表現の情報を有する学習データセットを記憶する記憶手段を有し、
前記決定手段は、前記複数の文書固有表現候補それぞれと前記学習データセットに含まれる前記学習データそれぞれとを比較して、前記学習データとの類似度が最も高い文書固有表現候補を選択する、
ことを特徴とする構成2に記載の情報処理装置。
(構成4)
前記学習データセットに含まれる各学習データは、さらに文書種別の情報を有し、
前記決定手段は、前記学習データセットに含まれる各学習データのうち、前記文書画像の文書種別と同一又は類似する文書種別を持つ学習データを用いて、前記比較を行う、
ことを特徴とする構成3に記載の情報処理装置。
(構成5)
前記決定手段は、以下の式を用いて、前記学習データと前記複数の文書固有表現候補それぞれとの類似度を表すスコアSを算出し、
上記の式において、
entityは固有表現種別の集合を表し、
s(x)及びr(x)は、固有表現種別xを引数とする関数であり、
cはr(x)の値を調整するパラメータであり、
前記複数の文書固有表現候補のうち前記スコアSの値が最大になる文書固有表現候補を1つ選択する、
ことを特徴とする構成3又は4に記載の情報処理装置。
(構成6)
前記式において、s(x)及びr(x)は、それぞれ以下の式で定義されることを特徴とする構成5に記載の情報処理装置。
(構成7)
前記式において、s(x)及びr(x)は、それぞれ以下の式で定義されることを特徴とする構成5に記載の情報処理装置。
(構成8)
前記推論手段は、
1つのブロックに対して複数の異なる前記学習済みのニューラルネットワークモデルを用いて固有表現を推論し、
前記複数の異なる前記学習済みのニューラルネットワークモデルそれぞれが出力する固有表現の位置が重なり、かつ、種別が異なる或いは位置が一致しない固有表現を推論結果とする
ことを特徴とする構成1乃至7のいずれか一項に記載の情報処理装置。
(方法1)
文書を読み取って得られた文書画像からテキストデータを取得する文字認識ステップと、
前記テキストデータをトークンの集合であるトークン列に変換するテキスト変換ステップと、
前記トークン列を、所定のトークン数以下で構成される複数のブロックに分割する分割ステップと、
学習済みのニューラルネットワークモデルを用いて、前記ブロック毎に固有表現を推論する推論ステップと、
前記ブロック毎の前記推論の結果をマージするマージステップと、
前記マージの結果から、前記文書画像の単位での、固有表現の集合である文書固有表現候補を生成する生成ステップと、
前記文書固有表現候補に基づき、前記文書における固有表現を決定する決定ステップと、
を含むことを特徴とする情報処理方法。
(構成9)
コンピュータを、構成1乃至8のいずれか一項に記載の情報処理装置を実行させるためのプログラム。

Claims (10)

  1. 文書を読み取って得られた文書画像からテキストデータを取得する文字認識手段と、
    前記テキストデータをトークンの集合であるトークン列に変換するテキスト変換手段と、
    前記トークン列を、所定のトークン数以下で構成される複数のブロックに分割する分割手段と、
    学習済みのニューラルネットワークモデルを用いて、前記ブロック毎に固有表現を推論する推論手段と、
    前記ブロック毎の前記推論の結果をマージするマージ手段と、
    前記マージの結果から、前記文書画像の単位での、固有表現の集合である文書固有表現候補を生成する生成手段と、
    前記文書固有表現候補に基づき、前記文書における固有表現を決定する決定手段と、
    を有することを特徴とする情報処理装置。
  2. 前記決定手段は、前記生成手段にて生成された複数の前記文書固有表現候補の中から、各固有表現のレイアウトに基づきいずれかの文書固有表現候補を選択して、前記文書における固有表現を決定する、ことを特徴とする請求項1に記載の情報処理装置。
  3. 各学習データが文書画像1枚分の正しい固有表現の情報を有する学習データセットを記憶する記憶手段を有し、
    前記決定手段は、前記複数の文書固有表現候補それぞれと前記学習データセットに含まれる前記学習データそれぞれとを比較して、前記学習データとの類似度が最も高い文書固有表現候補を選択する、
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記学習データセットに含まれる各学習データは、さらに文書種別の情報を有し、
    前記決定手段は、前記学習データセットに含まれる各学習データのうち、前記文書画像の文書種別と同一又は類似する文書種別を持つ学習データを用いて、前記比較を行う、
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記決定手段は、以下の式を用いて、前記学習データと前記複数の文書固有表現候補それぞれとの類似度を表すスコアSを算出し、
    上記の式において、
    entityは固有表現種別の集合を表し、
    s(x)及びr(x)は、固有表現種別xを引数とする関数であり、
    cはr(x)の値を調整するパラメータであり、
    前記複数の文書固有表現候補のうち前記スコアSの値が最大になる文書固有表現候補を1つ選択する、
    ことを特徴とする請求項3に記載の情報処理装置。
  6. 前記式において、s(x)及びr(x)は、それぞれ以下の式で定義されることを特徴とする請求項5に記載の情報処理装置。
  7. 前記式において、s(x)及びr(x)は、それぞれ以下の式で定義されることを特徴とする請求項5に記載の情報処理装置。
  8. 前記推論手段は、
    1つのブロックに対して複数の異なる前記学習済みのニューラルネットワークモデルを用いて固有表現を推論し、
    前記複数の異なる前記学習済みのニューラルネットワークモデルそれぞれが出力する固有表現の位置が重なり、かつ、種別が異なる或いは位置が一致しない固有表現を推論結果とする
    ことを特徴とする請求項1に記載の情報処理装置。
  9. 文書を読み取って得られた文書画像からテキストデータを取得する文字認識ステップと、
    前記テキストデータをトークンの集合であるトークン列に変換するテキスト変換ステップと、
    前記トークン列を、所定のトークン数以下で構成される複数のブロックに分割する分割ステップと、
    学習済みのニューラルネットワークモデルを用いて、前記ブロック毎に固有表現を推論する推論ステップと、
    前記ブロック毎の前記推論の結果をマージするマージステップと、
    前記マージの結果から、前記文書画像の単位での、固有表現の集合である文書固有表現候補を生成する生成ステップと、
    前記文書固有表現候補に基づき、前記文書における固有表現を決定する決定ステップと、
    を含むことを特徴とする情報処理方法。
  10. コンピュータに、請求項9に記載の情報処理方法を実行させるためのプログラム。
JP2022077185A 2022-05-09 2022-05-09 情報処理装置、情報処理方法及びプログラム固有表現抽出装置 Pending JP2023166260A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022077185A JP2023166260A (ja) 2022-05-09 2022-05-09 情報処理装置、情報処理方法及びプログラム固有表現抽出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022077185A JP2023166260A (ja) 2022-05-09 2022-05-09 情報処理装置、情報処理方法及びプログラム固有表現抽出装置

Publications (1)

Publication Number Publication Date
JP2023166260A true JP2023166260A (ja) 2023-11-21

Family

ID=88836813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022077185A Pending JP2023166260A (ja) 2022-05-09 2022-05-09 情報処理装置、情報処理方法及びプログラム固有表現抽出装置

Country Status (1)

Country Link
JP (1) JP2023166260A (ja)

Similar Documents

Publication Publication Date Title
CN110750959B (zh) 文本信息处理的方法、模型训练的方法以及相关装置
Coquenet et al. Dan: a segmentation-free document attention network for handwritten document recognition
US8224090B2 (en) Apparatus and method for analyzing and determining correlation of information in a document
US20100023319A1 (en) Model-driven feedback for annotation
Wilkinson et al. Neural Ctrl-F: segmentation-free query-by-string word spotting in handwritten manuscript collections
JP7155758B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN109344830A (zh) 语句输出、模型训练方法、装置、计算机设备及存储介质
JPH11250041A (ja) 文書処理装置および文書処理方法
US11763588B2 (en) Computing system for extraction of textual elements from a document
US20240086452A1 (en) Tracking concepts within content in content management systems and adaptive learning systems
US20240296691A1 (en) Image reading systems, methods and storage medium for performing geometric extraction
JP4787955B2 (ja) 対象文書からキーワードを抽出する方法、システムおよびプログラム
Romero et al. Modern vs diplomatic transcripts for historical handwritten text recognition
CN115344668A (zh) 一种多领域与多学科科技政策资源检索方法及装置
CN113673294B (zh) 文献关键信息的提取方法、装置、计算机设备和存储介质
Pinheiro et al. ChartText: Linking Text with Charts in Documents
KR20110039900A (ko) 지능형 인식 라이브러리 및 관리 도구를 활용한 고문서 이미지 데이터 인식 및 처리 방법
CN116822634A (zh) 一种基于布局感知提示的文档视觉语言推理方法
CN116821302A (zh) 一种位置注意力知识嵌入网络的图文匹配方法
JP2023166260A (ja) 情報処理装置、情報処理方法及びプログラム固有表現抽出装置
Krichen et al. Online analysis of children handwritten words in dictation context
Ishihara et al. Analyzing visual layout for a non-visual presentation-document interface
Alzuru et al. Cooperative human-machine data extraction from biological collections
JP7322468B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP7365845B2 (ja) 学習装置、学習方法、及びプログラム