(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-20
(45)【発行日】2024-05-28
(54)【発明の名称】書類識別装置、書類識別方法及びコンピュータプログラム
(51)【国際特許分類】
G06F 16/33 20190101AFI20240521BHJP
G06F 16/21 20190101ALI20240521BHJP
【FI】
G06F16/33
G06F16/21
(21)【出願番号】P 2020063731
(22)【出願日】2020-03-31
【審査請求日】2023-01-27
(73)【特許権者】
【識別番号】000002897
【氏名又は名称】大日本印刷株式会社
(74)【代理人】
【識別番号】100114557
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】西川 侑吾
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】特開2002-304400(JP,A)
【文献】特開2017-224276(JP,A)
【文献】特開2020-042320(JP,A)
【文献】特開2012-108575(JP,A)
【文献】特開2019-139525(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
複数の項目と項目について記述された内容を表す項目値とを含む書類データを取得する取得部と、
前記項目値を、記憶部を参照して項目毎に異なる固有表現に置換する置換部と、
置換した固有表現を含む項目データと固有表現を含む正解データとを用いて、取得した書類データを識別する識別部と
を備え
、
前記識別部は、
前記置換部により前記項目値が置換された書類データに関して項目名及び固有表現の出現頻度を要素に含む文書ベクトルを生成し、
生成した文書ベクトルと、識別済みの書類の文書ベクトルとを比較し、
比較結果に基づき、前記書類データを識別する
書類識別装置。
【請求項2】
前記記憶部は、書類の所有者毎に項目値と置換する固有表現とを関連付けたデータベースを記憶し、
前記置換部は、書類の所有者毎に前記項目値を置換する
請求項1に記載の書類識別装置。
【請求項3】
前記記憶部は、項目名と、関連する項目値を置換する固有表現とを関連付けたルールを記憶する
請求項1に記載の書類識別装置。
【請求項4】
取得した書類データから前記ルールを用いて、書類の所有者毎に項目値と置換する固有表現とを関連付けたデータベースを生成する生成部
を更に備える請求項3に記載の書類識別装置。
【請求項5】
複数の項目と項目について記述された内容を表す項目値とを含む書類データを取得する取得部と、
前記項目値を、記憶部を参照して項目毎に異なる固有表現に置換する置換部と、
置換した固有表現を含む項目データと固有表現を含む正解データとを用いて、取得した書類データを識別する識別部と
を備え、
前記置換部は、取得した書類データに含まれる項目名及び項目値の入力に応じて、前記項目値を、項目毎に異なる固有表現に置換して出力するよう構成された学習モデルを用いて、前記書類データに含まれる項目値を固有表現に置換す
る
書類識別装置。
【請求項6】
前記識別部は、
前記
置換部により前記項目値が置換された書類データに関して項目名及び固有表現の出現頻度を要素に含む文書ベクトルを生成し、
生成した文書ベクトルと、識別済みの書類の文書ベクトルとを比較し、
比較結果に基づき、前記書類データを識別する
請求項
5に記載の書類識別装置。
【請求項7】
前記識別部による識別結果と、前記項目データとに基づき、前記識別部により識別した書類データの適否を審査する審査部
を更に備える請求項1から請求項6の何れか1つに記載の書類識別装置。
【請求項8】
前記審査部は、前記書類データに含まれる項目が、設定した条件を満たすか否かを判断することにより、前記書類データの適否を審査する
請求項7に記載の書類識別装置。
【請求項9】
複数の項目と項目について記述された内容を表す項目値とを含む書類データを取得し、
前記項目値を、記憶部を参照して項目毎に異なる固有表現に置換し、
前記項目値が置換された書類データに関して項目名及び固有表現の出現頻度を要素に含む文書ベクトルを生成し、
生成した文書ベクトルと、識別済みの書類の文書ベクトルとを比較し、
比較結果に基づき、取得した書類データを識別する
処理をコンピュータにより実行する書類識別方法。
【請求項10】
複数の項目と項目について記述された内容を表す項目値とを含む書類データを取得し、
取得した書類データに含まれる項目の項目名及び項目値の入力に応じて、前記項目値を、項目毎に異なる固有表現に置換して出力するよう構成された学習モデルを用いて、前記書類データに含まれる項目値を、項目毎に異なる固有表現に置換し、
置換した固有表現を含む項目データと固有表現を含む正解データとを用いて、取得した書類データを識別する
処理をコンピュータにより実行する書類識別方法。
【請求項11】
コンピュータに、
複数の項目と項目について記述された内容を表す項目値とを含む書類データを取得し、
前記項目値を、記憶部を参照して項目毎に異なる固有表現に置換し、
前記項目値が置換された書類データに関して項目名及び固有表現の出現頻度を要素に含む文書ベクトルを生成し、
生成した文書ベクトルと、識別済みの書類の文書ベクトルとを比較し、
比較結果に基づき、取得した書類データを識別する
処理を実行させるためのコンピュータプログラム。
【請求項12】
コンピュータに、
複数の項目と項目について記述された内容を表す項目値とを含む書類データを取得し、
取得した書類データに含まれる項目の項目名及び項目値の入力に応じて、前記項目値を、項目毎に異なる固有表現に置換して出力するよう構成された学習モデルを用いて、前記書類データに含まれる項目値を、項目毎に異なる固有表現に置換し、
置換した固有表現を含む項目データと固有表現を含む正解データとを用いて、取得した書類データを識別する
処理を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、書類識別装置、書類識別方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
従来より様々な業務において、紙の書類が用いられている。また、紙の書類を電子化し、コンピュータ上で取り扱えるようにして業務の効率を上げる努力がなされている。
【0003】
紙の書類を電子化する際には、スキャナ装置を用いてビットマップイメージを作成するが、ビットマップメージの状態で取り扱うと容量が大きく、また再利用が困難である。このため、OCR(Optical Character Recognition)技術を用いて、ビットマップイメージをテキスト化し、情報の取り扱いを容易にするシステムが提案されている。
【0004】
また、特許文献1には、テキスト化された文書に関して、項目同士の類似度を算出し、少なくとも一部が類似する文書を抽出するシステムが開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に開示された技術では、項目の配置や順序の相違、項目の内容を表す項目値の相違などによって、抽出精度が低下する。
【0007】
本発明は、斯かる事情に鑑みてなされたものであり、項目の配置や順序の相違、項目の内容を表す項目値の相違などによる識別精度の低下を抑えることができる書類識別装置、書類識別方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
一態様に係る書類識別装置は、複数の項目と項目について記述された内容を表す項目値とを含む書類データを取得する取得部と、前記項目値を、記憶部を参照して項目毎に異なる固有表現に置換する置換部と、置換した固有表現を含む項目データと固有表現を含む正解データとを用いて、取得した書類データを識別する識別部とを備える。
【0009】
一態様に係る書類識別方法は、複数の項目と項目について記述された内容を表す項目値とを含む書類データを取得し、前記項目値を、記憶部を参照して項目毎に異なる固有表現に置換し、置換した固有表現を含む項目データと固有表現を含む正解データとを用いて、取得した書類データを識別する処理をコンピュータにより実行する。
【0010】
一態様に係るコンピュータプログラムは、コンピュータに、複数の項目と項目について記述された内容を表す項目値とを含む書類データを取得し、前記項目値を、記憶部を参照して項目毎に異なる固有表現に置換し、置換した固有表現を含む項目データと固有表現を含む正解データとを用いて、取得した書類データを識別する処理を実行させる。
【発明の効果】
【0011】
本願によれば、項目の配置や順序の相違、項目の内容を表す項目値の相違などによる識別精度の低下を抑えることができる。
【図面の簡単な説明】
【0012】
【
図1】実施の形態1に係る書類識別装置の内部構成を示すブロック図である。
【
図2】書類識別装置が実行する処理の概要を説明する説明図である。
【
図4】実施の形態1における項目置換の手順を説明する説明図である。
【
図5】各書類について生成される文書ベクトルの一例を示す概念図である。
【
図7】書類識別装置が実行する処理手順を説明するフローチャートである。
【
図8】書類の識別処理手順を説明するフローチャートである。
【
図9】書類の審査処理手順を説明するフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
(実施の形態1)
図1は実施の形態1に係る書類識別装置1の内部構成を示すブロック図である。実施の形態1に係る書類識別装置1は、パーソナルコンピュータ、サーバ装置等の情報処理装置であり、制御部11、記憶部12、入力部13、通信部14、操作部15、及び表示部16を備える。
【0014】
制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などを備える。制御部11が備えるROMには、上記ハードウェア各部の動作を制御するための制御プログラム等が記憶される。制御部11内のCPUは、ROMに記憶された制御プログラム及び後述する記憶部12に記憶された各種プログラムを実行し、上記ハードウェア各部の動作を制御することにより、装置全体を本願の書類識別装置として機能させる。制御部11が備えるRAMには、各種プログラムの実行中に一時的に利用されるデータが記憶される。
【0015】
なお、制御部11は上記の構成に限定されるものではなく、シングルコアCPU、マルチコアCPU、GPU(Graphics Processing Unit)、マイコン、揮発性又は不揮発性のメモリ等を含む1又は複数の処理回路若しくは制御回路であればよい。また、制御部11は、日時情報を出力するクロック、計測開始指示を与えてから計測終了指示を与えるまでの経過時間を計測するタイマ、数をカウントするカウンタ等の機能を備えていてもよい。
【0016】
記憶部12は、SSD(Solid State Drive)、ハードディスク装置などにより構成される。記憶部12には、制御部11に実行させる各種プログラムが記憶される。記憶部12に記憶されるプログラムは、書類を識別する処理を書類識別装置1に実行させるためのコンピュータプログラムを含む。また、記憶部12に記憶されるプログラムは、書類を審査する処理を書類識別装置1に実行させるためのコンピュータプログラムを含む。
【0017】
なお、記憶部12に記憶されるコンピュータプログラムは、当該コンピュータプログラムを読み取り可能に記録した記録媒体Mにより提供されてもよい。記録媒体Mは、例えば、SD(Secure Digital)カード、マイクロSDカード、コンパクトフラッシュ(登録商標)などの可搬型のメモリである。この場合、制御部11は、不図示の読取装置を用いて記録媒体Mからプログラムを読み取り、読み取ったプログラムを記憶部12にインストールすればよい。また、記憶部12に記憶されるプログラムは、通信部14を介した通信により提供されてもよい。この場合、制御部11は、通信部14を通じてプログラムを取得し、取得したプログラムを記憶部12にインストールすればよい。
【0018】
また、記憶部12には、上述したコンピュータプログラムの実行時に参照されるデータが記憶される。記憶部12は、例えば、書類に含まれる項目に関して、項目の属性を示す項目名と、項目について記述された内容を表す項目値とを関連付けて記憶するユーザデータベース121(以下、ユーザDB121)を備えてもよい。また、記憶部12は、審査書類を審査する際に参照される審査ルールを規定した審査ルールデータベース122(以下、審査ルールDB122)を備えてもよい。
【0019】
入力部13は、スキャナ装置、撮像装置などの画像入力デバイスを接続するインタフェースを備える。本実施の形態に係る書類識別装置1は、入力部13に接続されたスキャナ装置、撮像装置などの画像入力デバイスを通じて、提出された書類の画像を取得する。
【0020】
通信部14は、インターネット網などの通信網(不図示)に接続するための通信インタフェースを備え、外部へ通知すべき各種情報を送信すると共に、外部から送信される各種情報を受信する。
【0021】
操作部15は、キーボード、タッチパネルなどの入力インタフェースを備えており、各種の操作や設定を受付ける。制御部11は、操作部15にて受付けた操作に基づき適宜の処理を行い、操作部15にて受付けた設定を記憶部12に記憶させる。
【0022】
表示部16は、液晶表示パネル、有機EL(Electro Luminescence)表示パネル等の表示デバイスを備えており、制御部11から出力される制御信号に基づいて、書類識別装置1の操作者に通知すべき情報を表示する。
【0023】
なお、本実施の形態では、書類識別装置1の内部にユーザDB121及び審査ルールDB122を備える構成としたが、書類識別装置1からアクセス可能であれば、書類識別装置1の外部にユーザDB121及び審査ルールDB122を備える構成であってもよい。
【0024】
また、本実施の形態では、書類の識別処理及び審査処理の双方を書類識別装置1において実行する構成について説明するが、書類識別装置1において書類の識別処理のみを実行し、審査処理については別の処理装置において実行する構成としてもよい。
【0025】
図2は書類識別装置1が実行する処理の概要を説明する説明図である。書類識別装置1は、入力部13に接続されたスキャナ装置などの画像入力デバイスを通じて、書類の画像を取得する。書類識別装置1における識別対象の書類は、例えば、住民票、免許証、パスポート、健康保健証、学生証、印鑑登録証明書などの本人確認に用いられる書類である。識別対象の書類は、本人確認に用いられる書類に限らず、処方箋、診断書、見積書、請求書など、記述すべき内容が定められた項目を含む任意の書類であればよい。
【0026】
図2の例では、書類識別装置1は、「大日本太郎」の住民票、「印刷花子」の住民票及び免許証、「市ケ谷次郎」の住民票の書類画像を取得した状態を示している。識別対象の書類は、書類の種類に応じて様々なフォーマットを有する。識別対象の書類は、同一種類の書類であっても、発行元が異なれば、フォーマットが異なる場合もある。また、識別対象の書類は、発行元が異なっても、同一のフォーマットが用いられる場合もある。
【0027】
書類識別装置1は、取得した書類画像をテキスト化する。書類画像のテキスト化には、既存のOCR(Optical Character Recognition)技術が用いられる。書類識別装置1は、書類画像をテキスト化することにより、書類に含まれる各項目に関し、項目の属性を表す項目名と、項目について記述された内容を表す項目値とを含む項目データを取得する。例えば、「大日本太郎」の住民票をテキスト化した場合、「氏名」、「現住所」、「世帯主」、「生年月日」、…という項目名と、それぞれに対応する「大日本太郎」、「東京都Z区○○町1-2-3」、「大日本一郎」、「昭和55年5月5日」、…という項目値とを含む項目データが得られる。「印刷花子」の住民票及び免許証、並びに「市ケ谷次郎」の住民票をテキスト化した場合も同様であり、項目名及び項目値を含む項目データが得られる。
【0028】
書類識別装置1は、記憶部12を参照し、取得した項目データのうち、項目値に該当する文字列を、項目毎に異なる固有表現に置換する。固有表現は、項目名に応じて定まる文字列を表す。例えば、「氏名」という項目名に対し、「大日本太郎」という項目値が得られた場合、書類識別装置1は、項目値に含まれる姓の部分の文字列「大日本」を<本人・姓>という固有表現に置換し、名の部分の文字列「太郎」を<本人・名>という固有表現に置換する。他の項目値に対しても同様であり、書類識別装置1は、書類画像に含まれる各項目値を、項目毎に異なる固有表現にそれぞれ置換する。
【0029】
なお、
図2の例において、書類識別装置1は、氏名のうち、姓の部分の文字列と名の部分の文字列とをそれぞれ個別に固有表現で置換する構成としたが、氏名を表す文字列を一括りにして、固有表現(例えば、<本人・氏名>)に置換してもよい。また、置換すべき固有表現が定まらない場合、書類識別装置1は、固有表現に置換しない状態で項目値を残してもよい。
【0030】
書類識別装置1は、固有表現に置換した後の項目データに基づき、書類を識別する。例えば、「大日本太郎」の住民票と、「印刷花子」の住民票とを比較すれば、住民票のフォーマットは同一であるものの、そこに含まれる項目値は異なるので、両者をテキスト化したテキストデータ同士を単純に比較した場合、項目値の相違に起因して、両者を異種の書類として誤認する可能性がある。また、「大日本太郎」の住民票と、「市ケ谷次郎」の住民票とを比較すれば、住民票のフォーマットが異なっているため、項目値だけでなく、項目名や項目が並んでいる順序も異なる。したがって、両者をテキスト化したテキストデータ同士を単純に比較したとしても、両者を同一種類の書類として認識することは困難となる。これに対し、書類識別装置1は、固有表現に置換した後の項目データを用いるので、項目値が異なる場合であっても、また、項目名や項目が並んでいる順序が異なる場合であっても、同一種類の書類であれば、類似性を見出すことが容易となり、同一種類の書類として認識することが可能となる。
【0031】
本実施の形態では、スキャナ装置などにより読み取った書類画像(書類データ)に基づき、書類を識別する構成について説明する。代替的に、書類識別装置1は、文書作成ソフトなどにより作成された書類データを取得し、取得した書類データに基づき書類を識別する構成としてもよい。書類識別装置1は、外部装置にて作成された書類データを入力部13又は通信部14より取得すればよい。なお、文書作成ソフトなどにより作成された書類データにはテキストデータが含まれるので、OCRによるテキスト化は不要であり、書類識別装置1は、取得した書類データに基づき、項目置換処理、及び識別処理を実行すればよい。
【0032】
以下、書類識別装置1が実行する項目置換処理について説明する。
書類識別装置1は、項目データに含まれる項目値を固有表現に置換する際、実施の形態1ではユーザDB121を用いる。
図3はユーザDB121の一例を示す概念図である。ユーザDB121は、多種・多数の書類から取得した項目データに関し、例えば書類の所有者毎に項目名及び項目値を関連付けて記憶する。ユーザDB121には、書類画像から得られる項目データに含まれる項目名及び項目値がそのまま登録されてもよく、編集した項目名及び項目値が登録されてもよい。
図3の例は、住民票のテキストから取得した「氏名」という項目名、及び「大日本太郎」という項目値に対し、項目名「本人・姓」に関連付けて項目値「大日本」、項目名「本人・名」に関連付けて項目名「太郎」をユーザDB121に登録した状態を示している。書類識別装置1は、多種・多数の書類から取得した項目データについて、項目名及び項目値を関連付けて記憶することにより、
図3に示すようなユーザDB121を構築する。
【0033】
なお、ユーザDB121に登録する項目名は任意に設定すればよい。例えば、
図3に示すユーザDB121では、本人の氏名と世帯主の氏名とに異なる項目名を設定しているが、本人及び世帯主の姓に対して、同一の項目名(例えば「本人・姓」)を設定してもよい。また、
図3では、便宜的に項目値、項目名の順に各値を登録したデータベースを示しているが、項目名、項目値の順に各値を登録したデータベースであってもよい。
【0034】
図4は実施の形態1における項目置換の手順を説明する説明図である。書類識別装置1は、ユーザDB121を参照して、項目データに含まれる項目値を固有表現に置換する。書類識別装置1は、書類画像をテキスト化して得られる文字列毎、若しくは形態素解析により得られる形態素毎に、ユーザDB121を検索し、項目値の欄に該当する文字列(若しくは形態素)が見つかった場合、対応する項目名に応じた固有表現に置換する。例えば、項目置換前のテキストに含まれる「大日本」という文字列を
図4に示すユーザDB121の項目値の欄から検索した場合、該当する文字列が見つかる。このため、書類識別装置1は、項目値「大日本」を、項目値に対応する項目名に応じた固有表現(この場合、<本人・姓>)に置換する。他の項目値についても同様であり、ユーザDB121に登録されている項目値については、それぞれ固有表現に置換することができる。
【0035】
なお、項目置換前のテキストに含まれる文字列が項目値の欄から見つからなかった場合、書類識別装置1は、その文字列を置換せずに出力すればよい。
図4の例では、項目置換前のテキストに含まれる「住民票」、「氏名」、「現住所」、「世帯主」、「生年月日」等の文字列は、ユーザDB121の項目値の欄に含まれていないため、書類識別装置1は、項目置換前の文字列と同一の文字列を出力した状態を示している。
【0036】
また、項目置換は、項目データに含まれる項目値の削除を含んでもよい。すなわち、項目置換後の項目データには、項目名に対応する項目値が削除されている項目が存在してもよい。
【0037】
書類識別装置1は、ユーザDB121に参照して、項目置換前のテキストに含まれる文字列(形態素)を置換することにより、項目名及び項目値を区別して認識することなく、各項目データに含まれる項目値を固有表現に置換することができる。
【0038】
実施の形態1における書類識別装置1は、ユーザDB121を参照して、項目値を固有表現に置換する構成としたが、ルールベースで項目値を固有表現に置換してもよい。例えば、項目置換前のテキストから「氏名」という文字列を見つけた場合、次の文字列を<本人・姓>、更に次の文字列を<本人・名>という固有表現に置換し、「現住所」又は「住所」という文字列を見つけた場合、<住所>という固有表現に置換するといった置換ルールを作成しておく。書類識別装置1は、書類画像をテキスト化した後、事前に作成しておいた置換ルールを参照することにより、各項目値を固有表現に置換することができる。置換ルールは、例えば、書類識別装置1の記憶部12に記憶される。
【0039】
書類識別装置1は、上述した置換ルールを用いて、項目値と項目名(置換する固有表現)とを関連付けたユーザDB121を生成してもよい。
【0040】
以下、書類識別装置1が実行する書類識別処理について説明する。
書類識別装置1は、固有表現に置換した後の項目データを用いて、書類の特徴を表す文書ベクトルを生成し、他の書類について生成された文書ベクトルと比較することにより、書類を識別する。
【0041】
図5は各書類について生成される文書ベクトルの一例を示す概念図である。書類識別装置1は、項目名及び固有表現の出現頻度を要素に含む文書ベクトルを生成する。例えば、「大日本太郎」の住民票に関して、項目名及び固有表現の出現頻度を算出した結果、「住民」、「票」、「氏名」、「<本人・姓>」、「<本人・名>」、「現」、「住所」、「<住所>」、…の出現頻度が、それぞれ、1回、1回、1回、4回、1回、1回、3回、3回、…である場合、書類識別装置1は、1,1,1,4,1,1,3,3,…を要素に含む文書ベクトルを生成する。「印刷花子」の住民票及び免許証、並びに「市ケ谷次郎」の住民票についても同様であり、書類識別装置1は、項目名及び固有表現の出現頻度を要素に含む文書ベクトルを生成することができる。なお、
図5の例において、「大日本太郎」、「印刷花子」及び「市ケ谷次郎」より提出された住民票の書類は、何れも住民証として識別された書類(正解データ)であり、「印刷花子」より提出された免許証の書類は、免許証として識別された書類(正解データ)であるとする。識別済みの書類から得られる文書ベクトルは、例えば記憶部12に記憶される。
【0042】
未識別書類の書類画像が入力された場合、書類識別装置1は、上記と同様の手順にて、書類画像のテキスト化、項目置換処理、文書ベクトルの生成処理を順次実行し、未識別書類の特徴を表す文書ベクトルを生成する。この結果、書類識別装置1は、例えば、0,0,1,1,1,0,1,2,…を要素に含む文書ベクトルを取得する。
【0043】
書類識別装置1は、識別済みの書類(正解データ)より得られる文書ベクトルと、未識別書類から生成した文書ベクトルとを比較し、未識別書類を識別する。書類識別装置1は、例えば文書ベクトル間の類似度としてコサイン類似度を用いることができる。コサイン類似度は、以下の数1により算出される。
【0044】
【0045】
ここで、ベクトルqは識別済み書類の文書ベクトルであり、q1 ,q2 ,q3 ,…,qn は文書ベクトルqの要素である。また、ベクトルdは未識別書類の文書ベクトルであり、d1 ,d2 ,d3 ,…,dn は文書ベクトルdの要素である。
【0046】
図5に示す「大日本太郎」の住民票と未識別書類との間で、コサイン類似度を算出した場合、0.849となり、「印刷花子」の免許証と未識別書類との間で、コサイン類似度を算出した場合、1となる。すなわち、住民票と免許証とでは、免許証の方が類似度が高くなるため、書類識別装置1は、未識別書類を免許証として識別することができる。
【0047】
なお、本実施の形態では、文書間の類似度を表す指標としてコサイン類似度を用いる構成としたが、コサイン類似度に限らず、他の類似度を表す指標を用いてもよい。
【0048】
書類識別装置1は、審査ルールDB122を参照し、識別した書類の適否を審査してもよい。
図6は審査ルールDB122の一例を示す概念図である。
図6に一例として示す審査ルールは、本人確認に関する審査ルールであり、審査対象書類を免許証、住民票、又はパスポートとしている。また、
図6に示す審査ルールは、「<本人・姓><本人・名>で文字列検索」という審査項目、「<住民票>で文字列検索」という審査項目、及び「今日の日付と<発行日>との差が1年以内」という審査項目を含んでいることを示している。
【0049】
図6に示す審査ルールに従えば、識別した書類が免許証、住民票、又はパスポートの何れかであり、かつ、各審査項目を満たす場合(すなわち、項目データに<本人・姓>及び<本人・名>という固有表現の文字列が含まれ、項目データに<住所>という固有表現の文字列が含まれ、かつ、今日の日付と<発行日>との差が1年以内である場合)、書類識別装置1は、その書類が本人確認書類として有効であると判断することができる。
【0050】
審査ルールにおける審査内容、対象書類、審査項目、審査項目の数は、
図6に示したものに限らず、任意に設定される。
【0051】
以下、書類識別装置1が実行する処理手順について説明する。
図7は書類識別装置1が実行する処理手順を説明するフローチャートである。書類識別装置1の制御部11は、入力部13を通じて、識別対象の書類の画像を取得し(ステップS101)、OCR技術を用いて、取得した書類画像をテキスト化する(ステップS102)。なお、書類識別装置1の記憶部12には、書類画像をテキスト化するためのOCRプログラムが記憶されているものとする。制御部11は、OCRプログラムを記憶部12から読み出して実行することにより、書類画像をテキスト化する。
【0052】
書類画像をテキスト化することにより、項目名及び項目値を含む項目データが得られる。なお、項目名に該当する文字列を項目名として認識する処理、及び項目値に該当する文字列を項目値として認識する処理は、必ずしも必要ではなく、単に文字列として抽出されるとよい。
【0053】
制御部11は、項目データに含まれる項目値を固有表現に置換する(ステップS103)。制御部11は、例えばユーザDB121を参照することにより、書類の所有者毎に項目値を固有表現に置換することができる。また、上述したように、制御部11は、ルールベースで項目値を固有表現に置換してもよい。
【0054】
次いで、制御部11は、固有表現に置換した後の項目データと、固有表現を含む正解データとを用いて、書類を識別する(ステップS104)。例えば、制御部11は、未識別書類の項目データに含まれる項目名及び固有表現の出現頻度を算出し、項目名及び固有表現の出現頻度を要素とする文書ベクトルを生成する。制御部11は、未識別書類から生成した文書ベクトルと、識別済み書類(正解データ)から得られる文書ベクトルとの類似度(例えば、コサイン類似度)を判定することにより、未識別書類を識別することができる。
【0055】
次いで、制御部11は、識別した書類を審査する(ステップS105)。制御部11は、審査ルールDB122から、所望の審査ルールを読み出し、審査ルールに規定されている書類であるか否か、及び審査ルールに含まれる各審査項目を満たすか否かを判断することにより、書類の適否を判断すればよい。
【0056】
次いで、制御部11は、識別結果及び審査結果を出力する(ステップS106)。例えば、制御部11は、識別結果及び審査結果を示す情報を表示部16へ出力し、表示部16に識別結果及び審査結果を表示させる。また、制御部11は、識別結果及び審査結果を示す情報を通信部14へ出力し、業務担当者などが所持する所定の端末装置に識別結果及び審査結果を通知してもよい。
【0057】
図7のフローチャートでは、書類の識別処理の後に、書類の審査処理を実行する手順としたが、書類の識別処理のみを実行し、ステップS105の審査処理を省略してもよい。この場合、制御部11は、ステップS106において、識別結果のみを出力すればよい。
【0058】
図8は書類の識別処理手順を説明するフローチャートである。上述したフローチャートのステップS103において、未識別書類に関して、項目値を固有表現に置換した項目データが生成される。書類識別装置1の制御部11は、未識別書類の項目データに含まれる項目名及び固有表現の出現頻度を算出することにより、未識別書類について文書ベクトルを生成する(ステップS121)。
【0059】
次いで、制御部11は、生成した未識別書類の文書ベクトルを、識別済みの各種書類(正解データ)の文書ベクトルと比較する(ステップS122)。識別済みの各種書類の文書ベクトルは、事前に生成され記憶部12に記憶されていてもよく、ステップS122で生成されてもよい。
【0060】
次いで、制御部11は、文書ベクトルの比較結果に基づき、未識別書類を識別する(ステップS123)。すなわち、制御部11は、未識別書類の文書ベクトルと最も類似する文書ベクトルを有する書類を特定することにより、未識別書類を識別すればよい。
【0061】
図9は書類の審査処理手順を説明するフローチャートである。書類識別装置1の制御部11は、審査ルールDB122から、所望の審査ルールを読み出す(ステップS141)。
【0062】
次いで、制御部11は、上述したステップS104で識別した書類が、審査ルールに規定されている書類であるか否かを判断する(ステップS142)。例えば、審査ルールに規定されている書類が、住民票、免許証、又はパスポートであれば、制御部11は、ステップS104で識別した書類が、住民票、免許証、又はパスポートの何れかであるか否かを判断する。
【0063】
制御部11は、ステップS104で識別した書類が審査ルールに規定されている書類であると判断した場合(S142:YES)、各審査項目で規定されている要件を満たすか否かを判断する(ステップS143)。制御部11は、識別した書類の項目データに基づき、各審査項目で規定されている要件を満たすか否かを判断すればよい。
【0064】
制御部11は、各審査項目で規定されている要件を全て満たすと判断した場合(S143:YES)、審査対象の書類が審査ルールに適合した書類であると判断する(ステップS144)。
【0065】
一方、制御部11は、ステップS142において審査ルールに規定されていない書類であると判断した場合(S142:NO)、またはステップS143において要件を満たさない審査項目があると判断した場合(S143:NO)、審査対象の書類が審査ルールに適合しない書類であると判断する(ステップS145)。
【0066】
以上のように、本実施の形態における書類識別装置1は、書類をテキスト化した後に、項目データに含まれる項目値を固有表現に置換し、固有表現に置換された項目データを用いて、書類を識別するので、項目値の相違によって識別精度が低下することはなく、精度良く書類を識別することができる。
【0067】
(実施の形態2)
実施の形態2では、機械学習の学習モデルを用いて、項目データに含まれる項目値を固有表現に置換する構成について説明する。
【0068】
実施の形態2に係る書類識別装置1は、
図10に示す学習モデル123を用いて、項目データに含まれる項目値を固有表現に置換する。学習モデル123は、書類識別装置1の記憶部12に記憶されてもよく、書類識別装置1から通信によりアクセス可能な外部装置に記憶されてもよい。
【0069】
図10は学習モデル123の一例を示す模式図である。
図10に示す学習モデル123は、RNN(Recurrent Neural Network)、LSTM(Long Short-Term Memory)などにより構築される学習モデルである。学習モデル123は、入力層、中間層(隠れ層)、及び出力層を有する。入力層は、項目データの先頭から末尾に亘って順に出現する文字列(項目名及び項目値)の入力をそれぞれ受け付ける複数のノードを有する。出力層は、入力層の各ノードに対応して、各ノードに入力される文字列の次に出現する文字列をそれぞれ推定して出力する複数のノードを有する。中間層は、入力層の各ノードへの入力値(文字列)に対して出力層の各ノードにおける出力値(文字列)を演算するための複数のノードを有する。中間層の各ノードは、過去の入力値に関する中間層での演算結果を用いて次の入力値に関する演算を行うことで、直前までに出現する一又は複数の文字列から次の文字列を推定する。
【0070】
なお、学習モデル123の構成は
図10に示されるものに限定されない。例えば、中間層の数は1つである必要はなく、複数であってもよい。また、各層が備えるノードの数は適宜設定されてもよい。
【0071】
また、
図10の例では、文書画像のテキスト化から得られる項目データを入力値とする学習モデル123を示しているが、学習モデル123は項目毎に学習した学習モデルであってもよい。この場合、学習モデル123の入力層には、項目名及び項目値を1組ずつ入力し、出力層から出力値(項目名を構成する文字列、及び固有表現を構成する文字列)を取得すればよい。
【0072】
書類識別装置1は、文書画像をテキスト化して得られる項目データを用いて、
図10に示されるような学習モデル123を生成する。書類識別装置1は、学習段階において、例えば、実施の形態1において説明した手法により項目値を固有表現に置換した項目データ、若しくは作業者の手作業により項目値を固有表現に置換して作成した学習用項目データを学習モデル123に与えることにより、機械学習を行う。なお、項目名を構成する文字列については置換を行わないため、入力と同じ文字列が正解値として与えられる。
【0073】
書類識別装置1は、学習モデル123により推定した文字列と、学習用項目データにより与えられる正解値(文字列)とを比較し、出力層の各ノードから出力される出力値が正解値に近づくように、各ノードにおけるパラメータを調整することによって学習を進める。書類識別装置1は、多数の学習用項目データを用いて、繰り返し学習を行うことにより、項目名を構成する文字列については、入力と同じ文字列を出力し、項目値を構成する文字列については、固有表現を出力するような学習モデル123を生成する。
【0074】
なお、本実施の形態では、書類識別装置1において学習モデル123を生成する構成としたが、外部サーバにおいて学習モデル123を生成してもよいことはもちろんのことである。
【0075】
また、本実施の形態では、RNN,LSTMなどにより構築される学習モデル123について説明したが、N-gramモデル、SVM(Support Vector Machine)、ベイジアンネットワーク、決定木など、他のアルゴリズムに従って学習した学習モデルであってもよい。
【0076】
書類識別装置1は、学習済みの学習モデル123を用いて、項目置換処理を実行する。例えば、書類識別装置1は、「大日本太郎」の住民票をテキスト化し、住民/…/氏名/大日本/太郎/現…といった項目データが得られた場合、項目データに含まれる文字列を学習モデル123の入力層に与える。書類識別装置1は、学習により調整された各ノード間のパラメータを参照して、各ノードにおける演算を実行し、出力層の各ノードから出力値を取得する。書類識別装置1は、出力層の各ノードから、項目名を構成する文字列については、入力と同じ文字列を取得し、項目値を構成する文字列については、固有表現に置換された文字列を取得する。
【0077】
なお、項目データに含まれる項目値を置換した後の処理は実施の形態1と同様である。すなわち、書類識別装置1は、項目置換後の項目データに基づき、書類を識別する処理を実行する。また、書類識別装置1は、識別結果と項目データとを用いて、書類の審査を実行してもよい。
【0078】
今回開示された実施形態は、全ての点において例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【0079】
1 書類識別装置
11 制御部
12 記憶部
13 入力部
14 通信部
15 操作部
16 表示部
121 ユーザデータベース
122 審査ルールデータベース
123 学習モデル
M 記録媒体