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

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

▶ 株式会社日立製作所の特許一覧

特開2024-122769文書解析システム、文書解析方法、または、文書解析プログラム
<>
  • 特開-文書解析システム、文書解析方法、または、文書解析プログラム 図1
  • 特開-文書解析システム、文書解析方法、または、文書解析プログラム 図2
  • 特開-文書解析システム、文書解析方法、または、文書解析プログラム 図3
  • 特開-文書解析システム、文書解析方法、または、文書解析プログラム 図4
  • 特開-文書解析システム、文書解析方法、または、文書解析プログラム 図5
  • 特開-文書解析システム、文書解析方法、または、文書解析プログラム 図6
  • 特開-文書解析システム、文書解析方法、または、文書解析プログラム 図7
  • 特開-文書解析システム、文書解析方法、または、文書解析プログラム 図8
  • 特開-文書解析システム、文書解析方法、または、文書解析プログラム 図9
  • 特開-文書解析システム、文書解析方法、または、文書解析プログラム 図10
  • 特開-文書解析システム、文書解析方法、または、文書解析プログラム 図11
  • 特開-文書解析システム、文書解析方法、または、文書解析プログラム 図12
  • 特開-文書解析システム、文書解析方法、または、文書解析プログラム 図13
  • 特開-文書解析システム、文書解析方法、または、文書解析プログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024122769
(43)【公開日】2024-09-09
(54)【発明の名称】文書解析システム、文書解析方法、または、文書解析プログラム
(51)【国際特許分類】
   G06F 16/383 20190101AFI20240902BHJP
【FI】
G06F16/383
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023030496
(22)【出願日】2023-02-28
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】小澤 遼
(72)【発明者】
【氏名】助田 浩子
(72)【発明者】
【氏名】淺原 彰規
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
5B175FA01
5B175FB03
5B175FB04
(57)【要約】
【課題】 文書内での書類間の順序に(一定の流儀には従いながらも)許容される幅がある文書について、当該文書がどのような種類の書類で構成されているかを解析する際に、判定結果が示す書類間の種類の順序を、許容される範囲内にすることを、本開示の目的とする。
【解決手段】 文書解析システム100は種類判定部104と前後判定情報更新部105を備える。種類判定部104は、ある書類部分103の特徴量を示す情報を入力して、当該ある書類部分103が属する書類102の種類を判定する。書類部分103の特徴量を示す情報には、当該書類部分103からみて前の位置または後の位置が属する書類の種類の判定情報である前後判定情報109が含まれる。前後判定情報更新部105は、種類判定部104による判定情報に基づいて、前後判定情報109を更新する。
【選択図】 図1
【特許請求の範囲】
【請求項1】
文書を示す文書データを解析するための文書解析システムであって、
前記文書は1つまたは複数の書類からなり、かつ、前記書類は1つまたは複数の書類部分からなり、かつ、前記文書は複数の前記書類部分を含み、
前記文書解析システムは種類判定部と前後判定情報更新部を備え、
前記種類判定部は、ある書類部分の特徴量を示す情報を入力して、当該ある書類部分が属する書類の種類を判定するものであり、
前記書類部分の前記特徴量を示す情報には、前記文書データに基づいて生成された当該書類部分を説明する情報である説明情報と、前記文書における当該書類部分からみて前の位置または後の位置が属する書類の種類の判定情報である前後判定情報が含まれるものであり、
前記前後判定情報更新部は、前記種類判定部による前記文書に含まれる書類部分のそれぞれが属する書類の種類の判定情報に基づいて、当該文書に含まれる書類部分のそれぞれについて、前記前後判定情報を更新するものである、文書解析システム。
【請求項2】
請求項1に記載された文書解析システムであって、
前記文書解析システムは、さらに、特徴量記憶部を備え、
前記特徴量記憶部は、前記書類部分毎に、当該書類部分の前記特徴量を示す情報を記憶するものであり、
前記種類判定部は、ある書類部分が属する書類の種類を初めて判定する場合には、当該ある書類部分に対する前記前後判定情報として意味のある情報を含まない、当該ある書類部分の前記特徴量を示す情報を、前記特徴量記憶部から入力し、当該ある書類部分が属する書類の種類を判定するものであり、
前記前後判定情報更新部は、前記種類判定部による書類部分のそれぞれが属する書類の種類の判定情報に基づいて、前記書類部分のそれぞれについて、前記前後判定情報を更新し、更新後の前記前後判定情報を前記特徴量記憶部に格納するものであり、
前記種類判定部は、ある書類部分が属する書類の種類を判定することが初めてでない場合には、当該ある書類部分に対する前記前後判定情報として意味のある情報を含む、当該ある書類部分の特徴量を示す情報を、前記特徴量記憶部から入力し、当該ある書類部分が属する書類の種類を判定するものである、文書解析システム。
【請求項3】
請求項1に記載の文書解析システムであって、
前記文書解析システムは、さらに、特徴量記憶部と、モデルパラメータ記憶部と、学習データ記憶部と、学習部と、判定情報記憶部と、不整合検出部と、類似事例抽出部と、特化型学習データ記憶部を備え、
前記特徴量記憶部は、前記書類部分毎に、当該書類部分の前記特徴量を示す情報を記憶するものであり、
前記種類判定部による処理の少なくとも一部は、前記モデルパラメータ記憶部に記憶された1つまたは複数のモデルパラメータにより規定されるものであり、
前記学習データ記憶部は、前記モデルパラメータを定めるための前記学習部による前記種類判定部に関する学習処理に用いられる学習データの複数のレコードを記憶するものであり、
前記学習データのレコードのそれぞれは、当該レコードに対応付けられる前記書類部分について、前記説明情報と、前記文書における当該書類部分からみて前の位置または後の位置が属する書類の種類の情報である前後教師情報を含む、当該書類部分の特徴量を示す情報を記憶するものであり、
前記判定情報記憶部は、前記種類判定部による前記書類部分の属する書類の種類の判定情報を記憶するものであり、
前記不整合検出部は、前記判定情報記憶部が記憶する前記書類部分の属する書類の種類の判定情報に関して、不整合があるか否かを検出するものであり、
前記類似事例抽出部は、前記不整合検出部が、ある書類部分に関連して前記不整合を検出した場合に、前記特徴量記憶部に記憶されている当該ある書類部分の前記特徴量を示す情報に類似した特徴量を示す情報を有するレコードを、前記学習データ記憶部から抽出して、抽出した1つまたは複数のレコードを前記特化型学習データ記憶部に記憶するものであり、
前記学習部は、前記特化型学習データ記憶部に記憶される前記1つまたは複数のレコードを用いて、前記種類判定部に関する学習処理を実行して、前記モデルパラメータ記憶部に記憶された1つまたは複数の前記モデルパラメータを更新するものである、文書解析システム。
【請求項4】
請求項1、2または3のいずれかに記載の文書解析システムであって、
前記文書は、契約に関わる文書、受注に関わる文書、または、与信審査に関わる文書であり、
前記書類部分は1つのページである、文書解析システム。
【請求項5】
請求項1、2または3のいずれかに記載の文書解析システムであって、
前記文書における、ある書類部分からみて前の位置とは、当該ある書類部分からみて前の書類部分の位置、及び/または、当該ある書類部分が属すると判定される書類からみて前にあると判定される書類の位置であり、
前記文書における、ある書類部分からみて後の位置とは、当該ある書類部分からみて後の書類部分の位置、及び/または、当該ある書類部分が属すると判定される書類からみて後にあると判定される書類の位置である、文書解析システム。
【請求項6】
請求項1、2または3のいずれかに記載の文書解析システムであって、
前記文書解析システムは、前記種類判定部による前記書類部分の属する書類の種類の判定情報を記憶する判定情報記憶部として、前記文書に含まれる書類部分が属する書類の種類を前記種類判定部が初めて判定する際に、前記種類判定部による判定情報を記憶する1次判定情報記憶部と、当該文書に含まれる書類部分が属する書類の種類を前記種類判定部が2回目に判定する際に、前記種類判定部による判定情報を記憶する2次判定情報記憶部を備えるものであり、
前記文書解析システムは、さらに、比較表示出力制御部を備え、
前記比較表示出力制御部は、前記1次判定情報記憶部が記憶する1次判定情報と、前記2次判定情報記憶部が記憶する2次判定情報を、並べて表示するか、並べた態様で出力するためのものである、文書解析システム。
【請求項7】
請求項3に記載の文書解析システムであって、
前記特徴量記憶部は、さらに、前記書類部分毎に、当該書類部分が前記書類の先頭であると判断されるか否かを示す情報である区切先頭情報を記憶するものであり、
前記不整合検出部は、前記種類判定部による判定対象となった前記文書について、前記判定情報記憶部が記憶する当該文書に含まれる書類部分のそれぞれが属する書類の種類の判定情報により導かれる、当該文書に含まれるいずれの前記書類部分が前記書類の先頭となると判定されるかという情報と、前記特徴量記憶部が記憶する当該文書に含まれる前記書類部分のそれぞれに対応する前記区切先頭情報の間の不整合を、当該文書に含まれる前記書類部分のそれぞれについて検出するものである、文書解析システム。
【請求項8】
請求項3に記載の文書解析システムであって、
前記文書解析システムは、さらに、書類区切検出部を備え、
前記書類区切検出部は、前記文書データに対応する前記文書における前記書類の先頭になる前記書類部分を判定して、判定結果に基づいて、前記書類部分毎に、当該書類部分が前記書類の先頭であると判断されるか否かを示す区切先頭情報を生成して、前記特徴量記憶部に前記区切先頭情報を格納するものであり、
前記特徴量記憶部は、前記書類部分毎に記憶する当該書類部分の前記特徴量を示す情報として、前記説明情報と、前記前後判定情報と、前記区切先頭情報を記憶するものであり、
前記学習データのレコードのそれぞれは、当該レコードに対応付けられる前記書類部分について、前記説明情報と、前記前後教師情報と、当該書類部分が前記書類の先頭であると判断されるか否かを示す区切教師情報を記憶するものであり、
前記類似事例抽出部は、前記不整合検出部が、ある書類部分に関連して前記不整合を検出した場合に、前記特徴量記憶部に記憶されている当該ある書類部分の前記特徴量を示す情報に類似した特徴量を示す情報を有するレコードとして、当該レコードに記憶される前記説明情報と前記前後教師情報と前記区切教師情報のうちの一部または全部の情報が、前記特徴量記憶部に記憶されている当該ある書類部分の前記特徴量を示す情報に含まれる、前記説明情報と前記前後判定情報と前記区切先頭情報のそれぞれの情報に、一致するか、類似度が閾値以上となるか、類似度が閾値より大きくなるという条件を満たすレコードを抽出して、抽出した1つまたは複数のレコードを前記特化型学習データ記憶部に記憶するものである、文書解析システム。
【請求項9】
請求項7または8に記載の文書解析システムであって、
前記文書解析システムは、さらに、不整合表示出力制御部を備え、
前記不整合表示出力制御部は、前記不整合検出部が前記文書において不整合を検出した場合に、前記判定情報記憶部が記憶する当該文書に含まれる書類部分のそれぞれが属する書類の種類の判定情報と、前記特徴量記憶部が記憶する当該文書に含まれる前記書類部分のそれぞれに対応する前記区切先頭情報を、ともに表示するか、ともに出力するためのものである、文書解析システム。
【請求項10】
請求項3に記載の文書解析システムであって、
前記学習データのレコードのそれぞれは、さらに、当該レコードに対応付けられる前記書類部分が属する書類の種類の正解情報を含むものであり、
前記学習データのレコードのそれぞれが含む前記前後教師情報は、前記文書に含まれる書類部分のそれぞれの前記正解情報から一意に導かれるものである、文書解析システム。
【請求項11】
請求項3に記載の文書解析システムであって、
前記文書解析システムは、さらに、学習データ更新部を備え、
前記学習データ更新部は、前記学習データ記憶部に記憶されている学習データのレコードの一部または全てを入れ換えるか更新するものである、文書解析システム。
【請求項12】
請求項3に記載の文書解析システムであって、
前記種類判定部は、複数基準判定部と判定統合部を備えるものであり、
前記複数基準判定部は、複数の独自基準判定部からなり、
前記独自基準判定部のそれぞれは、前記特徴量記憶部から入力される情報に対して当該独自基準判定部において用いる基準に基づく判定を行うものであり、
前記判定統合部は、前記独自基準判定部のそれぞれの判定情報を統合して、前記書類部分が属する書類の種類を判定するものであり、
前記モデルパラメータは、少なくとも、前記判定統合部における判定処理を規定するものである、文書解析システム。
【請求項13】
コンピュータを、請求項1、2、3、7、8、10、11または12のいずれかに記載の文書解析システムとして機能させるための文書解析プログラム。
【請求項14】
文書を示す文書データを解析するためにコンピュータが実行する文書解析方法であって、
前記文書は1つまたは複数の書類からなり、かつ、前記書類は1つまたは複数の書類部分からなり、かつ、前記文書は複数の前記書類部分を含み、
前記文書解析方法は種類判定ステップと前後判定情報更新ステップを備え、
前記種類判定ステップは、ある書類部分の特徴量を示す情報を入力して、当該ある書類部分が属する書類の種類を判定するステップであり、
前記書類部分の前記特徴量を示す情報には、前記文書データに基づいて生成された当該書類部分を説明する情報である説明情報と、前記文書における当該書類部分からみて前の位置または後の位置が属する書類の種類の判定情報である前後判定情報が含まれるものであり、
前記前後判定情報更新ステップは、前記種類判定ステップによる前記文書に含まれる書類部分のそれぞれが属する書類の種類の判定情報に基づいて、当該文書に含まれる書類部分のそれぞれについて、前記前後判定情報を更新するステップである、文書解析方法。
【請求項15】
コンピュータに、文書を示す文書データを解析させるための文書解析プログラムであって、
前記文書は1つまたは複数の書類からなり、かつ、前記書類は1つまたは複数の書類部分からなり、かつ、前記文書は複数の前記書類部分を含み、
前記文書解析プログラムは、コンピュータに、種類判定ステップと前後判定情報更新ステップを実行させるためのものであり、
前記種類判定ステップは、ある書類部分の特徴量を示す情報を入力して、当該ある書類部分が属する書類の種類を判定するステップであり、
前記書類部分の前記特徴量を示す情報には、前記文書データに基づいて生成された当該書類部分を説明する情報である説明情報と、前記文書における当該書類部分からみて前の位置または後の位置が属する書類の種類の判定情報である前後判定情報が含まれるものであり、
前記前後判定情報更新ステップは、前記種類判定ステップによる前記文書に含まれる書類部分のそれぞれが属する書類の種類の判定情報に基づいて、当該文書に含まれる書類部分のそれぞれについて、前記前後判定情報を更新するステップである、文書解析プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、文書を示す文書データを対象に、当該文書データを解析する文書解析システム、文書解析方法、または、文書解析プログラムの技術に関するものである。ここで、1つの文書が1つまたは複数の書類からなり、1つの書類が1つまたは複数の書類部分(例えば、ページ)からなり、1つの文書が複数の文書部分(例えば、ページ)を含む。
【背景技術】
【0002】
文書データを解析することに関連する先行技術として次のものがある。特許文献1には、読み取った原稿画像から特徴量を算出し、算出した特徴量に基づいて文書区切を判定する先行技術が開示されている。特許文献2には、文書画像からレイアウト情報を抽出し、抽出したレイアウト情報に基づいて文字の部分を認識し、これらのレイアウト情報と文字認識の情報を表示する先行技術が開示されている。特許文献3には、文書画像におけるページ毎のページ特徴を算出した上で、あるページの特徴が前のページの特徴からみて一定値以上変化している場合に、このページ間に区切位置を設定する先行技術が開示されている。非特許文献1には、論文画像から、論文上に設定する矩形領域毎に、当該矩形領域の文書内役割(例えば、論文タイトル、節タイトル)を判定する先行技術が開示されている。非特許文献2には、文書画像からのテキスト情報とレイアウト情報を一緒に取り扱った機械学習モデルにより、文書理解のための処理を行う先行技術が開示されている。ただし、非特許文献2に開示された先行技術を、受注に関する文書のように多種多様なフォーマットの書類を有する文書に適用するには、膨大な学習データを必要とする。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002-24258号公報
【特許文献2】特開平4-147391号公報
【特許文献3】特開2009-169675号公報
【非特許文献】
【0004】
【非特許文献1】岩月憲一,加藤恒昭,山口和紀,”レイアウト認識に基づく論文構成要素の抽出”,インタラクティブ情報アクセスと可視化マイニング研究会第12回研究会研究発表予稿集,人工知能学会,2016年3月17日,pp.61-68
【非特許文献2】Yiheng Xu et al., "Layout LM : Pre-training of Text and Layout for Document Image Understanding", Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD '20), ACM, August 2020, pp.1192-1200
【発明の概要】
【発明が解決しようとする課題】
【0005】
企業活動(営業活動)のデジタル化の一環として、ある種の文書(例えば、契約に関する文書(契約関連文書)、受注に関する文書、与信審査に関する文書)をデジタルデータ(ファイルデータ)として管理することにより、企業の売上等のモニタリングまたは制御を行うことが望まれる。そのためには、(これらの文書を単なるファイルデータ(例えば、PDFデータ)として管理するだけでは不十分であり、)これらの文書から経営における本質的な内容を抽出し、その内容に基づいて企業活動(営業活動)の内容の検索、解析または予測を可能にすることが望ましい。そして、当該本質的な内容の中で、文書解析の最初の段階で知りたいことは、これらの文書がどのような種類の書類で構成されているかである。
【0006】
ここで、これらの文書を構成する書類のそれぞれは多種多様なフォーマットである。同じ種類(例えば、契約書、注文書または仕様書といった種類)の書類であっても、多種多様なフォーマットがあり得る。また、文書のなかにおいて、契約書、請求書または仕様書などの互いに異なった種類の書類群が、一定の流儀には従いながらも、書類間の順序として許容される一定の幅をもって配列される(非定型に綴じられている)ことが一般的である。さらに、それぞれの種類の書類の分量は1ページで収まるときもあれば数十ページに及ぶこともある。以上のことから、これらの文書がどのような書類の種類で構成されているかを判定したいものの、予め固定的に定めた規則に則って妥当な判定結果を得ることは期待出来ない。
【0007】
加えて、これらの文書(文書データ)に対する判定結果において、(文書のなかでの)書類間の種類の順序が、(上記した一定の流儀からみて)あるべきものとなっていること、または、許容される範囲内であること(あるいは、その旨が配慮されていること)が望ましい。例えば、契約書、請求書、仕様書等の書類が含まれることが想定されている文書の判定結果として、契約書、請求書、仕様書等の並び順(書類の種類の並び順)が、上記した一定の流儀からみて自然であることが望ましい。
【0008】
しかしながら、上述した先行技術のいずれも、文書データに対する判定結果において、(文書のなかでの)書類間の種類の順序への配慮がされるものではない。以上を踏まえて、文書がどのような種類の書類で構成されているかを解析するにあたって、文書データに対する解析結果において、(文書のなかでの)書類間の種類の順序への配慮を行うこと(妥当な解析結果を得ること)を実現することを、本開示の目的とする。
【課題を解決するための手段及び発明の効果】
【0009】
上記目的を達成するために、本開示が備えうる特徴、及び、当該特徴に対応する作用効果は、例えば次のとおりである。
文書を示す文書データを解析するための文書解析システムである。前記文書は1つまたは複数の書類からなり、かつ、前記書類は1つまたは複数の書類部分からなり、かつ、前記文書は複数の前記書類部分を含む。前記文書解析システムは種類判定部と前後判定情報更新部を備える。前記種類判定部は、ある書類部分の特徴量を示す情報を入力して、当該ある書類部分が属する書類の種類を判定する。前記書類部分の前記特徴量を示す情報には、前記文書データに基づいて生成された当該書類部分を説明する情報である説明情報と、前記文書における当該書類部分からみて前の位置または後の位置が属する書類の種類の判定情報である前後判定情報が含まれる。前記前後判定情報更新部は、前記種類判定部による前記文書に含まれる書類部分のそれぞれが属する書類の種類の判定情報に基づいて、当該文書に含まれる書類部分のそれぞれについて、前記前後判定情報を更新する。
【0010】
上記の文書解析システムによって、書類部分の特徴量を示す情報に基づいて当該書類部分が属する書類の種類を判定するに際して、当該書類部分からみて前の位置または後の位置が属する書類の種類の判定情報である前後判定情報も用いて、当該判定をすることが出来る。よって、判定結果(判定情報)における、(文書のなかでの)書類間の種類の順序が、(一定の流儀からみて)あるべきものとなっていること、または、許容される範囲内であること(その旨が配慮されていること)、つまりは妥当な解析結果を得ることを実現出来る。
【0011】
また、同様の趣旨の文書解析方法や文書解析プログラムも、上記と同様の作用効果を得ることが出来る。さらに、文書解析プログラムでは、プログラムをハードウェアに適用する態様とすることが出来て、多くの場合で費用を削減することが出来る。また、文書解析プログラムでは、文書解析のための処理・動作に関する設計変更も行いやすくなる。
【0012】
上記以外の本開示が備えうる特徴、及び、当該特徴に対応する作用効果は、この明細書、特許請求の範囲または図面に開示される。
【図面の簡単な説明】
【0013】
図1】本開示の全ての実施形態に共通する機能構成を示す。
図2】本開示の実施形態に係るシステムのシステム構成を示す。
図3】本開示の実施形態を実現するためのコンピュータアーキテクチャを示す。
図4】本開示の第1の実施形態の機能構成を示す。
図5】本開示の第1の実施形態の処理・動作のフローチャートを示す。
図6】文書データベース(DB)及び文書データ例のPDFファイルを示す。
図7】ページ特徴量データベース(DB)を示す。
図8】ページ(1次・2次)判定情報データベース(DB)を示す。
図9】比較表示出力の内容を示す。
図10】本開示の第2の実施形態の機能構成を示す。
図11】本開示の第2の実施形態の処理・動作のフローチャートを示す。
図12】不整合表示出力の内容を示す。
図13】モデルパラメータ・データベース(DB)を示す。
図14】学習データ・データベース(DB)(特化型も含む。)を示す。
【発明を実施するための形態】
【0014】
本開示における「装置」または「部」のそれぞれは、ハードウェア的に一つにまとまったものであってもよいし、複数の部分に分かれていて、当該部分どうしが連携して役割を果たすものであってもよい。幾つかの「装置」や「部」がハードウェア的に統合されてもよい。
また、本開示における「装置」または「部」のそれぞれは、(後述の図3のように)コンピュータにソフトウェア(プログラム)を実行させることにより実現させてよい。また、これらの「装置」や「部」の機能の一部を、ハードウェア(例えば、論理回路(ハードワイヤードロジック)やFPGA)で実現して、残りの機能を、ソフトウェア(プログラム)を実行することにより実現してもよい。さらに、これらの「装置」や「部」のそれぞれの機能の全てをハードウェア的に実現してもよい。ここで、コンピュータにソフトウェア(プログラム)を実行させることにより、本開示における「装置」や「部」のそれぞれを実現させる場合に、当該コンピュータは、少なくとも、情報処理装置(CPU等)と記憶装置(メモリ)を備えて、当該記憶装置(メモリ)にソフトウェア(プログラム)を記憶して、当該ソフトウェア(プログラム)を情報処理装置(CPU等)が実行するものであってよい。
さらに、本開示における「プログラム」とは、ソフトウェアとハードウェア資源とが協働することによって、使用目的に応じた特有の情報処理装置又はその動作方法が構築されるような、当該ソフトウェアに該当するもの一般を包含する概念に含まれるものであればよい。つまり、本発明における「プログラム」は、特定の種類や態様のプログラムに限定されない。また、「プログラム」は当初は圧縮形式で記録されるものでもよい。
本開示においては、処理・動作をフローチャートにて説明することもある。フローチャートで示される処理・動作のステップの一部または全部を、ハードウェア的に(例えば、論理回路(ハードワイヤードロジック)やFPGAを用いることにより)実現することも出来る。
【0015】
以下、本開示の実施形態を図面を参照して詳細に説明する。複数の図面で同じ参照番号を用いているものは、同じまたは同様のものであることを示す。
【0016】
1.本開示の全ての実施形態に共通する事項
1-1.本開示の全ての実施形態に共通する機能構成
図1は、本開示の全ての実施形態に共通する機能構成を示すものである。
【0017】
図1の上部の(1)は、解析対象の文書の態様を示す。文書101は1つまたは複数の書類102からなる。図1の(1)では、文書101が書類102aと書類102bと103cからなり、この順で配列されている。なお、文書内の書類の数は1以上の任意の整数である。また、文書101内の書類102の種類も図1の(1)に例示されるものに限らない。
図1の(1)において、書類102のそれぞれは1つまたは複数の書類部分103からなる。図1の(1)では、書類102aが3つの書類部分103からなり、書類102bが2つの書類部分からなり、書類102cが4つの書類部分103からなる。なお、書類102内の書類部分103の数は1以上の任意の整数である。
文書101は複数の書類部分103を含む。なお、書類部分103はページであることが望ましいことが多い。例えば、契約に関わる文書、受注に関わる文書、または、与信審査に関わる文書においては、ページの途中で書類の種類が変わることはまれという特性がある。この特性を踏まえて、文書をページ毎に扱うことで、文書の上記の特性に合致し、かつ、効率的な処理を行うことが出来る。そのため、これ以降は書類部分103がページの例で説明するものの、本来は、書類部分103はページであることが必須ではない。
【0018】
図1の下部の(2)は、文書データを解析するための文書解析システム100を示す。文書解析システム100は種類判定部104と前後判定情報更新部105を備える。
種類判定部104は、あるページ103の特徴量を示す情報106を入力して、当該あるページ103が属する書類102の種類107を判定する。図1の(2)には、種類判定部104が、ページ「k」の特徴量を示す情報106を入力して、ページ「k」が属する書類102の種類107を判定する様子が示されている。この種類判定部104による判定は、文書101内のページ103のそれぞれに対して行われる。
ページ103の特徴量を示す情報106には、文書データに基づいて生成された当該ページ103を説明する情報である説明情報(説明変数、例えば、当該ページ103のレイアウト情報やテキスト情報)108と、文書101における当該ページ103からみて前の位置または後の位置が属する書類102の種類107の判定情報である前後判定情報109が含まれる。つまり、種類判定部104への入力には、前後判定情報109が含まれる。
前後判定情報更新部105は、文書101内のページ103のそれぞれが属する書類102の種類107の判定情報に基づいて、当該文書101内のページ103のそれぞれについて、前後判定情報109を更新する。図1の(2)は、前後判定情報更新部105が、ページ「k」の特徴量を示す情報106に含まれる前後判定情報109を更新するにあたって、ページ「k」より前の位置にあるページ「k-1」以前のページのそれぞれの判定情報、及び/または、ページ「k」より後の位置にあるページ「k+1」以降のページのそれぞれの判定情報を用いることを示す。なお、図1の(2)は、ページ103の特徴量を示す情報106や、ページ103が属する書類102の種類107の判定情報として、ページ「k-3」~「k+3」の範囲内のみ示しているが、これはあくまでも紙面の都合である。実際にはこの範囲のページ103のみに限られない。この前後判定情報更新部105による前後判定情報109の更新は、文書101内のページ103のそれぞれに対して行われる。
【0019】
以上のように、文書解析システム100は、ページ103の特徴量を示す情報106に基づいて当該ページ103が属する書類102の種類107を判定するに際して、当該ページ103からみて前の位置または後の位置(図1の(2)の例においては、前後の位置にあるページ103)が属する書類102の種類107の判定情報である前後判定情報109も入力として用いることが出来る。よって、当該判定を行うに際して、(文書のなかでの)書類102間の種類の順序への配慮を行うこと(妥当な判定結果を得ること)を実現出来る。
【0020】
1-2.本開示の実施形態に係るシステムのシステム構成
図2は、本開示の実施形態に係るシステムのシステム構成を示すものである。本開示では、主に、2つの実施形態を説明するが、図2に示されたシステム構成は、実施形態のいずれにも用いることが出来る。なお、これ以降、「データベース」を「DB」と略記する。
【0021】
文書解析システム100は文書データ格納装置201と特徴量生成装置202と判定装置203と表示出力制御装置204と不整合部分修正装置205と学習データ更新装置206を有する。文書解析システム100は、端末207とネットワークを介して相互通信可能とされていてもよい。文書データ格納装置201は文書DB210と特徴量記憶部211と判定情報記憶部213と学習データ記憶部216と特化型学習データ記憶部218を備える。特徴量記憶部211はページ特徴量DB212を備える。判定情報記憶部213はページ1次判定情報DB214(1次判定情報記憶部)とページ2次判定情報DB215(2次判定情報記憶部)を備える。学習データ記憶部216は学習データDB217を備える。特化型学習データ記憶部218は特化型学習データDB219を備える。特徴量生成装置202は文書読取部221とページ分割部222と特徴量抽出部223と書類区切検出部224を備える。判定装置203は種類判定部104と前後判定情報更新部105とモデルパラメータ記憶部233を備える。種類判定部104は複数基準判定部231と判定統合部232を備える。モデルパラメータ記憶部233はモデルパラメータDB234を備える。表示出力制御装置204は、比較表示出力制御部241と不整合表示出力制御部242を備える。不整合部分修正装置205は不整合検出部252と類似事例抽出部253と学習部251を備える。学習データ更新装置206は学習データ更新部261を備える。
【0022】
図2のシステム構成に示される装置・部・DBのうち、モデルパラメータ記憶部233(モデルパラメータDB234)、不整合部分修正装置205(不整合検出部252、類似事例抽出部253、学習部251)、学習データ記憶部216(学習データDB217)、特化型学習データ記憶部218(特化型学習データDB219)、学習データ更新装置206(学習データ更新部261)、及び、不整合表示出力制御部242は、第2の実施形態の処理に用いるものであり、第1の実施形態では必ずしも用いるものではない。第1の実施形態だけを実現するためには、これらの装置・部・DBは、システム構成内には含まなくてもよい。
【0023】
図2に示される装置・部・DBの機能や、行う処理・動作については、後述の「2-2.本開示の第1の実施形態の処理」「3-2.本開示の第2の実施形態の処理」にて説明する。
【0024】
図3は、本開示の実施形態実現するためのコンピュータアーキテクチャを示す。図2の文書解析システム100全体、1つまたは複数の装置、1つまたは複数の部、または、1つの部内の一部分が、図3で示されるコンピュータアーキテクチャで実現されてもよい。
【0025】
図3に示される文書解析システム100、各装置、各部、または、各部の部分では、情報処理装置(例えば、CPU)301と、記憶装置(例えば、メモリ)302と、不揮発性記録媒体(例えば、不揮発性メモリ、不揮発性ディスク装置)303と、外付け記録媒体用ドライブ(例えば、ディスクドライブ)304と、出力装置(例えば、印刷機、ディスプレイ)306と、入力装置(例えば、マウス、キーボード)306と、通信装置(例えば、有線通信用通信装置、無線通信用通信装置)308と、外部入出力用ポート309の一部または全部が、相互接続部(例えば、バス、クロスバスイッチ)310にて相互接続されていてよい。
不揮発性記録媒体303には、文書解析プログラム320a、各種DB321、及び、各種情報322が記憶される。なお、これに代えて、当該プログラム、テーブル、または、各種の情報の一部または全部を、図3の外部から取得(アクセス)する態様でもよい。
外付け記録媒体用ドライブ304には、外付け記録媒体(例えば、可搬性記録ディスク)305を接続することが出来る。なお、この外付け記録媒体305に文書解析プログラムや各種DBや各種情報が記録されていて、当該外付け記録媒体305から不揮発性記録媒体303や記憶装置(メモリ)302に、これらのものを転送し記憶してもよい。
また、文書解析プログラムや各種DBや各種情報が、通信装置308、外部入出力用ポート309または入力装置307経由でもたらされて、不揮発性記録媒体303や記憶装置(メモリ)302に記憶されてもよい。
【0026】
文書解析システム、システム内装置、システム内の各部、または、各部の部分が、一つまたは一連の部(または、部の部分)として機能する(一つまたは一連の処理(ステップ)を実行する)ために、まず、文書解析プログラム320aは、(例えば不揮発性記録媒体303から)記憶装置(例えば、メモリ)302にローディングされる。ローディングされた後の文書解析プログラムは図3では320bで示される。そして、情報処理装置(例えば、CPU)301が、(必要に応じて、不揮発性記録媒体303に存在するテーブルや各種の情報も用いて、)記憶装置(例えば、メモリ)302上の文書解析プログラム320bを実行する。文書解析プログラム320bの実行により、一つまたは一連の部(または、部の部分)の機能が実現される(一つまたは一連の処理(ステップ)が実行される)。この際に、記憶装置(例えば、メモリ)302に一時的に形成される各種バッファ323も適宜用いてよい。
【0027】
2.本開示の第1の実施形態
2-1.本開示の第1の実施形態の機能構成
図4は、本開示の第1の実施形態の機能構成を示す。文書解析システム100は、種類判定部104と前後判定情報更新部105と特徴量記憶部211を備える。このうち、種類判定部104と前後判定情報更新部105は、図1のものと同様の機能を有する。特徴量記憶部211は、ページ103毎に、当該ページ103の特徴量を示す情報106を記憶する。ここで、ページ103の特徴量を示す情報106は、図1のものと同様の内容である。また、図4には、ページ103が属する書類102の種類107も示されているが、これも図1のものと同様のものである。
【0028】
図4の(1)は、あるページ103が属する書類102の種類107を初めて判定する場合の種類判定部104の処理・動作が示す。当該あるページ103が含まれる文書101について、書類部分103のそれぞれが属する書類102の種類107の判定が一度も行われていない場合には、当該あるページ103の特徴量を示す情報106内の前後判定情報109としては意味のある情報がまだ存在しない(図4の(1)は、このことを「意味のない情報402」として示す。)。そのため、種類判定部104は、当該あるページ103に対する前後判定情報109として意味のある情報を含まない、当該あるページ103の特徴量を示す情報106を、特徴量記憶部211から入力する。種類判定部104は、入力した当該あるページ103の特徴量を示す情報106に基づいて、当該判定を行う。ここでは、種類判定部104は、少なくとも、文書データに基づいて生成された当該あるページ103を説明する説明情報(説明変数、例えば、当該あるページ103のレイアウト情報やテキスト情報)108に基づいて、当該判定を行うことになる。
【0029】
図4の(2)は、文書101内のページ103のそれぞれが属する書類102の種類107の判定情報が得られた後の、前後判定情報更新部105の処理・動作を示す。前後判定情報更新部105は、文書101内のページ103のそれぞれについて、当該ページ103の特徴量を示す情報106に含まれる前後判定情報109を更新し、更新後の前後判定情報109を特徴量記憶部211に格納する(図4の(2)は、この更新・格納を「前後判定情報更新403」として示す。)
例えば、ページ「k」の特徴量を示す情報106に含まれる前後判定情報109を更新するために、前後判定情報更新部105は、ページ「k-1」以前のページのそれぞれとページ「k+1」以降のページのそれぞれに関する、ページ103が属する書類102の種類107が示す情報のうちの、全部または一部を用いる。なお、図4の(2)は、ページ「k-3」~「k+3」の範囲内のみ示すが、これはあくまでも紙面の都合である。実際にはこの範囲のページ103のみに限られない。
【0030】
図4の(3)は、(例えば図4の(2)の後のような)あるページ103が属する書類102の種類107を判定することが初めてではない場合の種類判定部104の処理・動作を示す。当該あるページ103が含まれる文書101について、ページ103のそれぞれが属する書類102の種類107の判定を少なくとも一度は行われた後であれば、当該あるページ103の特徴量を示す情報106内の前後判定情報109として、意味のある情報が既に存在する。そのため、種類判定部104は、当該あるページ103に対する前後判定情報109として意味のある情報を含む、当該あるページ103の特徴量を示す情報106を、特徴量記憶部211から入力する。種類判定部104は、入力した当該あるページ103の特徴量を示す情報106に基づいて、当該判定を行う。ここでは、種類判定部104は、少なくとも、文書データに基づいて生成された当該あるページ103を説明する説明情報(説明変数)108と、前後判定情報109に基づいて、当該判定を行う。
【0031】
図4に示したように、あるページ103が属する書類102の種類107を判定することが初めてであっても(前後判定情報109として意味のある情報がまだ存在しなくても)、種類判定部104は、文書データに基づいて生成された当該あるページ103を説明する情報である説明情報(説明変数、例えば、当該あるページ103のレイアウト情報やテキスト情報)108に少なくとも基づいて、当該判定を行うことが出来る。その一方で、あるページ103が属する書類102の種類107を判定することが初めてではない場合は、種類判定部104は、意味のある情報となっている前後判定情報109も入力して判定を行う。これにより、種類判定部104は、書類102の種類107の前後関係についても加味した当該判定を行うことが出来る。つまり、図4によれば、ページ103が属する書類102の種類107の判定を段階的に改善すること(より正確な判定結果を得ること)が出来る。
【0032】
2-2.本開示の第1の実施形態の処理
図5は、本開示の第1の実施形態の処理・動作のフローチャートを示す。図5における長方形のボックスが処理・動作のステップを示す。以下、図5のフローチャートを説明する。説明の都合上、図1図2図4図6図7図8及び図9を適宜参照する。
【0033】
図5のステップ501(S501)にて、文書読取部221は、文書DB210から、文書解析システム100が解析対象とする文書に関する文書データを読み取る。文書DB210が記憶する文書データに対応する文書101は、図1の(1)に示される態様のものでよい。ページ分割部222は、文書読取部221が読み取った文書データを、ページ単位で分割する。つまりは、ページ分割部222は、1ページずつに裁断したデータを生成する。
【0034】
図6は、文書DB、及び、文書DBに格納される文書データの一例であるPDFファイルを示す。なお、後述のように、文書DB210に記憶される文書データは、PDFファイルに限られるものではなく、文書を示すデータであればよい。
【0035】
図6の上部の(1)は、文書DB210における文書管理の態様を示す。文書DB210では、ファイル情報601により文書データを管理してよい。図6の(1)のファイル情報601においては、文書データ毎に、ファイルID602とファイル名603とファイル本体604が相互に紐付けられる。このうち、相互に紐付けられる1つのファイルID602と1つのファイル名603は、1つのレコードとして取り扱われてよい。このレコードには、ファイルID602とファイル名603とともに、文書データに関するメタデータも含まれてもよい。メタデータは、例えば、文書作成(または、契約成立、受注受付、与信審査要求)に関係する日時・金額(料金、契約金額、受注金額、与信の最大金額)・当事者情報(契約相手、受注相手、与信の関係者の情報)・対象サービス内容(契約サービス内容・受注対象のサービス内容・与信に伴うサービス内容)・備考情報がありうる。
【0036】
図6の下部の(2)は、文書DB210に格納された文書データを閲覧用ソフトを用いて、表示装置にて表示した例を示す。ここでは、PDFファイル605をPDF閲覧用ソフトウェアを用いて表示した例を示す。PDFファイル605が示す文書101は、複数のページからなる。図6の(2)では、ページ番号として、「p1」「p2」「p3」が示されている。それぞれのページには、適宜、表題651、名義652(例えば、書類の種類が契約書であれば、契約の当事者を示す情報)、捺印653(捺印画像をOCRにて取り込んだものであってもよいし、文書101に正当なデジタル署名があることを示す情報であってもよい。)、条項654(例えば、書類の種類が契約書であれば、契約における取り決めを具体的に示すもの)、表655(テーブル、グラフなど)が含まれうる。
【0037】
図5において、ステップ501(S501)の後に、ステップ502(S502)にて、特徴量抽出部223は、分割後の個々のページ103に対応するデータから、個々のページ103を説明する情報である説明情報(説明変数)(例えば、文字やレイアウトに関する説明変数)を複数のルールのそれぞれに従って抽出し、抽出した説明情報(説明変数)をページ特徴量DB212に格納する。ここでルールとしては、例えば、ページ103のレイアウト解析におけるルール、ページ103に対応するデータに埋め込まれた文字情報に適用する自然言語処理におけるルール、ページ103の全体あるいは部分に対する画像処理におけるルールがありうる。他の解析手法におけるルールがあってもよい。また、個々のルール毎に、当該ルールを適用するデータの範囲を示す粒度を異なるものにしてもよい。例えば、1つのページ103全体を対象とする粒度、1つの文を対象とする粒度、1つの句を対象とする粒度などがありうる。特徴量抽出部223は、抽出した説明情報(説明変数)をページ103のそれぞれに紐づけつつ、ページ特徴量DB212に格納する。
【0038】
図7は、ページ特徴量DBを示す。ページ特徴量DB212は、ページ103毎にレコードを有する。ページ特徴量DB212のレコードのそれぞれは、レコードID701、ファイル情報601、ページ103の特徴量を示す情報106を備える。
ページ特徴量DB212のレコード内の、ファイル情報601は、ファイルID602とファイル名603を有するとともに、ページID702を有する。なお、このページID702は、ページ分割部222が、文書データをページ103に対応するデータ毎に分割(裁断)する際に、分割(裁断)後のデータのそれぞれに割り振る番号であってもよいし、分割(裁断)前から割り振られていた番号であってもよい。
ページ特徴量DB212のレコード内の、ページ103の特徴量を示す情報106は、複数の説明変数108(説明変数(1)108a~説明変数(F)108f)と、前後判定情報109を構成する諸情報(前ページ書類種類109a、後ページ書類種類109b、前区切書類種類109c、後区切書類種類109d)と、区切先頭フラグ110aを有する。
複数の説明変数108(説明変数(1)108a~説明変数(F)108f)は、特徴量抽出部223が、ページ103に対応するデータから抽出したものである。特徴量抽出部223が用いるルール毎に、説明情報(説明変数)が存在する。そのため、ページ特徴量DB212のレコードは、複数の説明情報(説明変数)108a~fを有する。(なお、理論的には、ルールが1つで、1つのレコードに説明情報(説明変数)が1つでありうる。)
【0039】
ページ特徴量DB212のレコード内の、前ページ書類種類109aは、当該レコードに対応するページ103の前のページ103(例えば、直前のページ103)が属する書類102の種類107の判定情報である。同様に、当該レコード内の、後ページ書類種類109bは、当該レコードに対応するページ103の後のページ103(例えば、直後のページ103)が属する書類102の種類107の判定情報である。
ページ特徴量DB212のレコード内の、前区切書類種類109cは、当該レコードに対応するページ103が属すると判定された書類102(この判定された1つの書類102のことを「区切」ともいう。)の前の書類(区切)102(例えば、直前の書類(区切)102)の種類107の判定情報である。同様に当該レコード内の、後区切書類種類109dは、当該レコードに対応するページ103が属すると判定された書類(区切)102の後の書類(区切)102(例えば、直後の書類(区切)102)の種類107の判定情報である。
前後判定情報109を構成する諸情報である前ページ書類種類109a、後ページ書類種類109b、前区切書類種類109c、及び、後区切書類種類109dのそれぞれの情報はいずれも、種類判定部104による判定情報に伴って定まるものである。そのため、解析対象の文書データについて、種類判定部104による判定が一度も行われたことがない状況では、前後判定情報109を構成する諸情報であるこれらの情報は、意味のない情報となっている。(あるいは、情報が欠落(欠損)しているとも言える。または、意味のある情報が格納されるまでは、前後判定情報109を構成する諸情報であるこれらの情報は、所定の値やランダムに定められた値であってもよい。)
【0040】
前後判定情報109として上記したもの(前ページ書類種類109a、後ページ書類種類109b、前区切書類種類109c、及び、後区切書類種類109d)を用いることにより、ある書類部分(ページ)からみて前の位置と後の位置として、文書101において扱いやすい位置情報を用いることが出来るとともに、当該ある書類部分(ページ)103が属する書類102の種類107の判定情報の正確性を向上させることが出来る。
【0041】
ページ特徴量DB212のレコード内の、区切先頭フラグ110aは、当該レコードに対応するページ103が書類(区切)102の先頭であると判定されたか否かを示す情報である。図7では、対応するページ103が書類(区切)102の先頭であると判定された場合について、区切先頭フラグ110aとしてチェック印が示されている。(なお、実際に区切先頭フラグ110aを実装する際には、例えば1ビット情報としてよい。)
区切先頭フラグ110aが生成されるのは、図5のステップ503(S503)においてである。図5において、ステップ502(S502)の後に、ステップ503(S503)にて、書類区切検出部224は、区切先頭フラグ110aを生成し、ページ特徴量DB212に格納する。このために、書類区切検出部224は、ページ103の特徴量を示す情報106(例えば、複数の説明変数108a~f)を、ページ特徴量DB212から読み出す(または、特徴量抽出部223から直接受け取る)。書類区切検出部224は、当該ページ103の特徴量を示す情報106(そのうち、少なくとも、当該説明変数108a~f)を用いて、文書101内のページ103のそれぞれについて、当該ページ103が書類(区切)102の先頭であるか否かを判定し、その判定情報を区切先頭フラグ110aに反映させる。
【0042】
図5において、ステップ503(S503)の後に、ステップ504(S504)(種類判定ステップ)にて、種類判定部104は、ページ特徴量DB212から、ページ103の特徴量を示す情報106を入力して、ページ103が属する書類102の種類を判定する。(図2に点線で示すように、種類判定部104は、ページ1次判定情報DB214やページ2次判定情報DB215の情報(判定対象となるページ103自体等に対する以前の判定情報(当該ページ103が属する書類102の種類の判定情報))も入力としてよい。)
図2に示されるように、種類判定部104は、ページ特徴量DB212等からの入力を受け付ける複数基準判定部231と、当該複数基準判定部231の判定情報を入力とする判定統合部232を備えてよい。複数基準判定部231は、複数の独自基準判定部を備えて良い。独自基準判定部のそれぞれは、ページ特徴量DB212等から入力される情報(例えば、ページ103の特徴量を示す情報106)に対して、当該独自基準判定部において用いる基準に基づく判定を行ってよい。判定統合部232は、独自基準判定部のそれぞれからの判定情報を統合して、ページ103が属する書類102の種類を判定してよい。例えば、判定統合部232が行う判定情報の統合は、独自基準判定部のそれぞれの判定情報を重み付けして和をとり、その和に対して所定の関数を適用するものであってよい。あるいは、当該統合は、判定情報の多数決を取るようなものであってもよい。
ある文書データに対して、図5のステップ504(S504)を開始する時点においては、ページ特徴量DB212は、当該ある文書データに関して、前後判定情報109を構成する諸情報(前ページ書類種類109a、後ページ書類種類109b、前区切書類種類109c、後区切書類種類109d)として、意味のある情報を含まない。(あるいは、前後判定情報109を構成する諸情報が欠落(欠損)している。または、これらの諸情報は、所定の値やランダムに定められた値であってもよい。)そのため、図5のステップ504(S504)では、種類判定部104は、ページ特徴量DB212からの意味のある情報は、複数の説明情報(説明変数)108(説明変数(1)108a~説明変数(F)108f)と、区切先頭フラグ110aである状況で、ページ103が属する書類102の種類の判定を行う。
【0043】
例えば、種類判定部104内の複数基準判定部231(内の独自基準判定部のそれぞれ)は、ページ103のそれぞれに対して独自基準判定部のそれぞれに対応する個別の基準での判定情報を出力する。ここでの基準は、「フォントサイズが特定のフォントサイズ以上の文字情報が含まれるならば、契約書と判定する」といった演繹ベースのものでもよいし、「説明変数に含まれるテキスト情報に対して機械学習に基づく自然言語処理を用いて判定する」といった帰納ベースのものでもよい。ここで更に、独自基準判定部のいずれかが機械学習にて構築されたモデルにより処理を行うものであれば、当該モデルは、教師あり機械学習・教師無し機械学習(例えば、クラスタリング)・強化学習(例えば、評価値の最適化を行う機械学習)のいずれかにより構築されてよい。独自基準判定部による判定情報は、ページ103が属する書類102の種類であってもよく、当該種類そのものではなくて、何らかのスコア(数値)であってもよい。なお、独自基準判定部のそれぞれが扱う特徴量は、ページ103に含まれるタイトル、ページ103の冒頭部分、ページ103に含まれるキーワード(、または、キーワードの出現頻度)、前後判定情報109のそれぞれの特徴量であってもよい。
【0044】
種類判定部104内の判定統合部232は、複数基準判定部231(内の独自基準判定部のそれぞれ)からの判定情報を入力として、判定情報を統合あるいはアンサンブルする方式などにより、ページ103が属する書類102の種類の判定情報を出力する。判定統合部232は、独自基準判定部のそれぞれからの判定情報に対して重み付けを行う(さらに、重み付けの後で加算し、加算値に所定の関数を適用する)ものであってよい。そして、当該重み付けが機械学習や演繹ベースにより調整されてよい。ページ103が属する書類102の種類の判定情報は、当該種類に関する単一の判定情報でもよいし、当該種類の集合に対する単一の確率分布情報でもよい。なお、判定統合部232が単一の確率分布情報を出力する場合には、ありうる当該種類毎の確率を列挙する態様であってよい。(例えば、契約書である確率50%、注文書である確率20%、仕様書である確率30%という態様であってよい。)
図5のステップ504(S504)において、種類判定部104(内の判定統合部232)は、ページ103が属する書類102の種類107の判定情報(例えば、単一の判定情報、あるいは、単一の確率分布情報)を、ページ1次判定情報DB214に格納する。
【0045】
図8は、ページ1次判定情報DB及びページ2次判定情報DBに共通する態様を示す。ページ1次判定情報DB214及びページ2次判定情報DB215のレコードのそれぞれはページ103に対応するものであり、レコードID701とファイル情報601と判定情報(ページ103が属する書類102の種類107の判定情報)を含む。ファイル情報601は、ファイルID602とファイル名603とページID702を含む。ページ1次判定情報DB214のレコード内の種類107の判定情報は、当該レコードに対応するページ103が属する書類102の種類107の初めての判定情報を示す。ページ2次判定情報DB215のレコード内の種類107の判定情報は、当該種類の二回目以降の判定情報を示す。種類107の判定情報には、前述した単一の判定情報、または、単一の確率分布情報を格納してよい。
【0046】
図5のステップ504(S504)の後で、ステップ505(S505)(前後判定情報更新ステップ)にて、前後判定情報更新部105は、前後判定情報109を構成する諸情報(前ページ書類種類109a、後ページ書類種類109b、前区切書類種類109c、後区切書類種類109d)を生成し、ページ特徴量DB212に格納する。前述のように、ステップ504(S504)にて、解析対象の文書データに関する文書101内のページ103のそれぞれに対して、当該ページ103が属する書類102の種類107の判定情報が得られている。そのため、ステップ505(S505)では、前後判定情報更新部105は、当該ページ103のそれぞれに対して、前後判定情報109を構成する諸情報(前ページ書類種類109a、後ページ書類種類109b、前区切書類種類109c、後区切書類種類109d)を生成することが可能となる。前後判定情報更新部105は、生成した諸情報を、図7の109a、109b、109c、109dのそれぞれの項目に格納する。なお、前後判定情報更新部105は、解析対象の文書101に含まれるページ103の全てに関して、前後判定情報109を構成する諸情報の全ての更新(格納)を行うことは必須ではない。前後判定情報更新部105は、後述のステップ506(S506)における処理上の必要の程度に応じて、ページ103と前後判定情報109を構成する諸情報を適宜選択して、選択的に更新(格納)することも出来る。
【0047】
図5のステップ505(S505)の後で、ステップ506(S506)(種類判定ステップ)にて、種類判定部104は、再び、ページ特徴量DB212等からページ103の特徴量を示す情報106等を入力して、ページ103が属する書類102の種類の判定を行ってよい。ステップ504(S504)とは違い、ステップ506(S506)では、解析対象の文書データに関して、ページ特徴量DB212のレコードは、前後判定情報109を構成する諸情報(前ページ書類種類109a、後ページ書類種類109b、前区切書類種類109c、後区切書類種類109d)として、意味のある情報を有している。(なお、部分的に、意味のある情報を有さない項目があってもよい。)ステップ506(S506)では、種類判定部104は、ページ特徴量DB212のレコードにおける、複数の説明情報(説明変数)(説明変数(1)108a~説明変数(F)108f)と区切先頭フラグ110aのみならず、前後判定情報109を構成する諸情報(前ページ書類種類109a、後ページ書類種類109b、前区切書類種類109c、後区切書類種類109d)として意味のある情報を入力して、ページ103が属する書類102の種類の判定を行う。なお、入力される情報において意味がある範囲の違いを除けば、ステップ504(S504)とステップ506(S506)において、種類判定部104の処理・動作、種類判定部104の内部構造、種類判定部104が出力する判定情報の態様は、同様のものである。
図5のステップ506(S506)にて、種類判定部104(内の判定統合部232)は、ページ103が属する書類102の種類107の判定情報(例えば、単一の判定情報、または、単一の確率分布情報)を、ページ2次判定情報DB215に格納する。
【0048】
以上のように、図5のステップ504(S504)における判定情報をページ1次判定情報DB214に格納する一方で、図5のステップ506(S506)における判定情報をページ2次判定情報DB215に格納してもよい。つまりは、判定情報の上書きをしなくてもよい。これにより、第1の実施形態は、前後判定情報109を構成する諸情報(前ページ書類種類109a、後ページ書類種類109b、前区切書類種類109c、後区切書類種類109d)を、ページ103が属する書類102の種類107の判定処理の入力として用いること(ページ103が属する書類102の種類107に関する、ページ103間の前後関係を考慮すること)による、判定情報の改善の程度を可視化することが出来る。例えば、比較表示出力制御部241が、ページ1次判定情報DB214とページ2次判定情報DB215のそれぞれが保持する、ページ103の属する書類102の種類107の判定情報のそれぞれを対比できるような態様で出力または表示するように所定の装置等を制御してよい。
【0049】
図9は、比較表示出力の内容を示す。比較表示出力制御部241が、図9に示される比較表示出力の内容900を出力または表示するよう制御することにより、文書解析システム100内外の何らかの装置に、当該内容900が出力または表示される。図9で示される例は、「p4(第4ページ)」と「p5(第5ページ)」について、1回目の判定では「契約書」に含まれるページであるとされたが、2回目の判定では「委任状」に含まれるページであると修正された様子を示す。文書解析システム100を利用する者が内容900に接して、当該文書解析システム100による判定情報の妥当性の検証を容易に行えるようになる。
【0050】
なお、図5では、種類判定部104が、一つの文書101について、ページ103が属する書類102の種類107の判定を2回(ステップ504(S504)とステップ506(S506))行うことが示されているが、種類判定部104が当該判定を3回以上行ってよい。その場合、n回目(nは2以上の自然数)の判定に対応するステップ506(S506)で得られたページ103のそれぞれが属する書類102の種類107の情報を用いて、前後判定情報更新部105が、図5のステップ505(S505)と同様の処理により、前後判定情報109を構成する諸情報(前ページ書類種類109a、後ページ書類種類109b、前区切書類種類109c、後区切書類種類109d)を上書き更新する。その上で、種類判定部104が、n+1回目の判定に対応するステップ506(S506)の処理を実行する。このように、種類判定部104と前後判定情報更新部105を交互に用いれば、ページ103が属する書類102の種類の判定の精度がより改善することが期待出来る。
【0051】
3.本開示の第2の実施形態
3-1.本開示の第2の実施形態の機能構成
図10は、本開示の第2の実施形態の機能構成を示す。
【0052】
文書解析システム100は、種類判定部104と特徴量記憶部211とモデルパラメータ記憶部233と、学習データ記憶部216と、学習部251と、判定情報記憶部213と、不整合検出部252と、類似事例抽出部253と、特化型学習データ記憶部218を備える。(なお、図10には図示されていないものの、文書解析システム100は、図1における前後判定情報更新部105も備える。)このうち、種類判定部104と前後判定情報更新部105は、図1のものと同様の機能を有する。特徴量記憶部211は、ページ103毎に、当該ページ103の特徴量を示す情報106を記憶する。ここで、ページ103の特徴量を示す情報106は、図1のものと同様の内容である。また、図10には、ページ103が属する書類102の種類107も示されているが、これも図1のものと同様のものである。
種類判定部104による処理の少なくとも一部は、モデルパラメータ記憶部233に記憶された1つまたは複数のモデルパラメータにより規定される。学習データ記憶部216は、(モデルパラメータを定めるための)学習部251による種類判定部104に関する学習処理のための学習データの複数のレコードを記憶する。学習データのレコードのそれぞれは、当該レコードに対応付けられるページ103の特徴量を示す情報を有する。ページ103の特徴量を示す情報は、説明情報(説明変数、例えば、当該あるページ103のレイアウト情報やテキスト情報)108と、文書101における当該ページ103からみて前の位置または後の位置が属する書類102の種類の情報である前後教師情報1009を含む。
判定情報記憶部213は、種類判定部104によるページ103の属する書類102の種類107の判定情報を記憶する。不整合検出部252は、判定情報記憶部213が記憶するページ103が属する書類102の種類107の判定情報に関して、不整合があるか否かを検出する。(なお、図10で点線で示されるように、不整合の検出のために、他の情報110の一部または全部としての区切先頭情報(区切先頭フラグ)を用いてもよい。)
類似事例抽出部253は、あるページ103に関連して不整合が検出された場合に、(特徴量記憶部211に記憶されている)当該あるページ103の特徴量を示す情報106に類似した特徴量を示す情報を有するレコードを、学習データ記憶部216から抽出し、抽出した1つまたは複数のレコードを特化型学習データ記憶部218に記憶する。(ここで、類似事例抽出部253が、当該あるページ103の特徴量を示す情報106に類似した特徴量を有するレコードとして、前後判定情報109の内容と同一または類似する前後教師情報1009を有するレコードを学習データ記憶部216から抽出し、当該レコードを特化型学習データ記憶部218に記憶することも出来る。この場合は、ページ103が属する書類102の種類107に関するページ103間の前後関係が、不整合を検出したページ103の特徴量と同一または類似する特徴量を有するレコードを抽出することになる。)
学習部251は、特化型学習データ記憶部218に記憶される1つまたは複数のレコードを用いて、種類判定部104に関する学習処理を実行して、モデルパラメータ記憶部233に記憶された1つまたは複数のモデルパラメータを更新する。
【0053】
図10に示したように、ページ103の属する書類102の種類107の判定情報に関する不整合の検出を、種類判定部104に関する学習処理の契機とすることが出来る。そして、このように不整合を検出した場合に、種類判定部による処理の少なくとも一部を規定するモデルパラメータを更新すべく、種類判定部に関する学習処理を実行することが出来る。この際に、不整合が検出されたページ103の特徴量を示す情報106に類似した特徴量を有するレコード(例えば、ページ103が属する書類102の種類107に関して、不整合を検出したページ103付近の前後関係(前後判定情報109)と類似した前後関係を意味する特徴量を示す情報(前後教師情報1009)を有するレコード)を、学習データ記憶部216から抽出して、不整合事例に特化した学習データの部分集合を特化型学習データ記憶部218に形成することが出来る。そのため、このような学習データの部分集合を用いた種類判定部104に関する学習処理(モデルパラメータの更新)により、不整合の解消を効率的に行えることが期待出来る。
【0054】
3-2.本開示の第2の実施形態の処理
図11は、本開示の第2の実施形態の処理・動作のフローチャートを示す。図11の長方形のボックスが処理・動作のステップを示し、菱形のボックスが条件分岐のステップを示す。
図11のフローチャートの各ステップのうち、図5にもあるステップの動作は図5のものと同様であるので、説明を概ね省略する。なお、ステップ504(S504)とステップ506(S506)にて、種類判定部104が処理を行う際に、当該種類判定部104による処理の少なくとも一部は、モデルパラメータ記憶部233(モデルパラメータDB234)に記憶された1つまたは複数のモデルパラメータにより規定される。例えば、種類判定部104に含まれる判定統合部232が、複数基準判定部231に含まれる独自基準判定部のそれぞれからの判定情報を重み付けし、ページ103が属する書類102の種類107の判定を行うものであり、当該重み付けがモデルパラメータにより規定されるものでもよい。
なお、図11のフローチャートには、図5のフローチャートにあったステップ505(S505)が図示されていないが、(例えば、ステップ504(S504)の直後・ステップ1101(S1101)の直前の位置に)ステップ505(S505)はあってもよい。その場合は、ページ特徴量DB212にて前後判定情報109が格納(更新)される。
以下、図11のフローチャートのうち、ステップ1101(S1101)~ステップ1107(S1107)を説明する。説明の都合上、図1図2図7図8図10図12図13及び図14を適宜参照する。なお以下では、不整合の検出対象を、判定情報記憶部213に含まれるページ1次判定情報DB214に記憶された情報としている。しかしながら、不整合の検出対象を、判定情報記憶部213に含まれるページ2次判定情報DB215に記憶された情報とすることも出来る。その場合は、以下の説明のうち、ページ1次判定情報DB214に言及している箇所を、ページ2次判定情報DB215に読み替えればよい。
【0055】
図11のステップ1101(S1101)は、ステップ1102(S1102)からステップ1107(S1107)までのループ処理の先頭を示す。当該ループ処理は、ページ103が属する書類102の種類107の判定がされた文書101(文書データ)における、個々のページ103毎に繰り返し実行される。(例えば、文書101における先頭のページから始めて末尾のページに至るまで、順に、ループ処理を行う。)ページ103のそれぞれに対して、ページ特徴量DB212内のレコードID701と、ページ1次判定情報DB214内のレコードID701が共通の値であれば、ページ103毎の繰り返し実行は、レコードID701毎の繰り返し実行と言い換えてよい。
【0056】
図11のステップ1102(S1102)にて、不整合検出部252は、1つのページ103について、ページ1次判定情報DB214から、当該1つのページ103が属する書類102の種類107の判定情報を読み取る。(なお、以前のループ処理にて、当該1つのページ103の直前のページ103が属する書類102の種類107の判定情報を読み取っていたら、当該判定情報は保持しておく。)また、不整合検出部252は、同じ1つのページ103について、ページ特徴量DB212から、区切先頭フラグ110aを読み出す。
【0057】
図11のステップ1102(S1102)の後に、ステップ1103(S1103)にて、不整合検出部252は、ページ103が属する書類102の種類107の判定情報及び区切先頭フラグ110aを用いて、不整合があるか否かを検出する。具体的には、不整合検出部252は、1つのページ103について、文書101内のページ103のそれぞれが属する書類102の種類107の判定情報から導かれる、当該1つのページ103が書類(区切)102の先頭であるか否かという判定と、区切先頭フラグ110aが示す当該1つのページ103が書類(区切)102の先頭であるか否かという判定が不一致であるときに、当該1つのページ103における不整合を検出する。例えば、ページ1次判定情報DB214から読み出した、「p4」が属する書類102の種類107の判定情報が「契約書」を示し、「p4」の一つ前のページ103である「p3」が属する書類102の種類107の判定情報も「契約書」を示す場合には、「p4」は書類102の先頭でないと判定される。その一方で、ページ特徴量DB212から読み出した「p4」についての区切先頭フラグ110aが、当該「p4」は書類(区切)102の先頭である旨を示していたとする。この場合は、「p4」が書類(区切)102の先頭であるか否かについて不整合が存在すると判定される。
【0058】
図12は、不整合表示出力の内容を示す。図12の上部は、図11のステップ1103(S1103)にて、不整合検出部252が検出する不整合の例を示す。図12の上部が示す例では、4番目のページ103である「p4」について、区切先頭フラグ110aは「p4」が書類(区切)102の先頭であることを示すのに対し、文書101内のページ103のそれぞれが属する書類102の種類107の判定情報からは「p4」が書類の先頭ではない(契約書の途中のページである)ことが導かれる。つまり、「p4」について不整合がある。8番目のページ103である「p8」について、区切先頭フラグ110aは「p8」が書類(区切)102の先頭ではないことを示すのに対し、ページ103のそれぞれが属する書類102の種類107の判定情報からは「p8」が書類の先頭である(仕様書の先頭のページである)ことが導かれる。つまり、「p8」について不整合がある。
【0059】
上記の態様の不整合検出部により、種類判定部が出力した書類部分(ページ)のそれぞれが属する書類の種類の判定情報における不整合を、簡易に検出することが出来る。具体的には、区切先頭情報(区切先頭フラグ)を別途用意した上で、この区切先頭情報(区切先頭フラグ)により示される、書類(区切)の先頭であると判断される書類部分(ページ)と、書類部分(ページ)のそれぞれが属する書類の種類の判定情報により示される、書類(区切)の先頭であると判定される書類部分(ページ)の間の不整合を検出することが出来る。
【0060】
なお、不整合の確認のために、不整合表示出力制御部242が、不整合表示出力の内容1200(図12上部)を出力または表示するよう制御することにより、文書解析システム100内外の何らかの装置に当該内容1200を出力するか、または、表示させてもよい。
【0061】
図11のステップ1103(S1103)において、1つのページ103について不整合が検出されなかった場合には、ステップ1107(S1107)に遷移し、当該不整合が検出された場合には、ステップ1104(S1104)に遷移する。
【0062】
図11のステップ1104(S1104)にて、類似事例抽出部253は、(学習データ記憶部216内の)学習データDB217の部分集合である(特化型学習データ記憶部218内の)特化型学習データDB219を構築するための、学習データDB217のレコードの抽出条件を決定する。特化型学習データDB219の構築は、当該特化型学習データDB219を用いた種類判定部104に関する学習処理により(モデルパラメータ記憶部233内の)モデルパラメータDB234内のモデルパラメータを更新して、不整合を解消することを目的としている。この目的のために、特化型学習データDB219に、不整合が検出されたページ103と類似する事例を示すレコードを集める。
そこで、図11のステップ1104(S1104)にて、類似事例抽出部253は、(特徴量記憶部211内の)ページ特徴量DB212から、不整合が検出されたページ103の特徴量を示す情報106を読み出す。(不整合なページ103対応のレコードID701に関する、ページ特徴量DB212のレコードに含まれる、ページ103の特徴量を示す情報106を読み出す、と言い換えてもよい。)そして、類似事例抽出部253は、読み出したページ103の特徴量を示す情報106に含まれる、複数の説明情報(説明変数)(説明変数(1)108a~説明変数(F)108f)、前後判定情報を構成する諸情報(前ページ書類種類109a、後ページ書類種類109b、前区切書類種類109c、後区切書類種類109d)、区切先頭フラグ110aの各項目から1つまたは複数の項目を選択する(全ての項目を選択してもよい)。類似事例抽出部253は、選択した項目のそれぞれについて、不整合が検出されたページ103における当該選択した項目の内容と一定の関係(例えば、一致する、類似度が閾値以上となる、または、類似度が閾値より大きくなるなどの関係)を有する内容を、部分条件の一つとして定める。例えば、複数の説明情報(説明変数)(説明変数(1)108a~説明変数(F)108f)のいずれかを当該選択した項目とした場合に、当該選択した項目が数値情報であれば「当該選択した項目の数値に関して、平均値Mとし、所定値σを幅とする、M-σからM+σまでの数値であること」を、部分条件の一つとしてよい。具体的な事例で言えば、例えば、不整合が検出されたページ103の特徴量を示す情報106に含まれる説明変数3の値が30であった場合に、部分条件の一つとして「説明変数3が20(30-10)以上40(30+10)以下」と定めてよい。例えば、説明情報(説明変数)(説明変数(1)108a~説明変数(F)108f)のいずれかを当該選択した項目とした場合に、当該選択した項目が文字情報であれば「当該選択した項目の文字情報に対する類似度が所定の閾値以上であること」や「当該選択した項目の文字情報に対する類似度が所定の閾値より大きいこと」を、部分条件の一つとしてよい。例えば、前後判定情報を構成する諸情報である、前ページ書類種類109a、後ページ書類種類109b、前区切書類種類109c、後区切書類種類109dのうちのいずれかを当該選択した項目とした場合には、「当該選択した項目が示す書類102の種類107と一致すること」を、部分条件の一つとしてよい。例えば、区切先頭フラグ110aを当該選択した項目とした場合には、「当該選択した項目の値(フラグがオンであるかオフであるかを示す値)と一致すること」を、部分条件の一つとしてよい。類似事例抽出部253は、選択した項目のそれぞれについて定めた部分条件のそれぞれを用いて、学習データDB217の部分集合である特化型学習データDB219を構築するための、学習データDB217のレコードの抽出条件を決定する。例えば、類似事例抽出部253は、選択した項目のそれぞれに対応する部分条件のそれぞれの間で条件の積をとることや、条件の和をとることや、抽出条件のそれぞれに一般的な論理演算を設定することにより、レコードの抽出条件を決定することが出来る。類似事例抽出部253は、決定された抽出条件をモデルパラメータDB234に格納してもよい。
【0063】
図13は、モデルパラメータDBを示す。種類判定部104に関する学習処理を行う毎に、(モデルパラメータ記憶部233内の)モデルパラメータDB234のレコードが追加される。モデルパラメータDB234は、再学習条件パラメータ1301とモデルパラメータ1302を含む。再学習条件パラメータ1301は条件ID1311と抽出条件1312を含む。モデルパラメータ1302は、種類判定部104の行う処理の少なくとも一部を規定する1つまたは複数のモデルパラメータを含む。例えば、1つまたは複数のモデルパラメータの少なくとも一部は、種類判定部104に含まれる判定統合部232において用いる重み付け(例えば、複数基準判定部231に含まれる独自基準判定部のそれぞれからの判定情報に対する重み付け)を示してもよい。種類判定部104において、モデルパラメータの更新により判定統合部232の挙動を変更することで、不整合に対する調整を行いやすい。
図13は、条件ID1311が「2」であるレコードの抽出条件1312の項目にて、図11のステップ1104(S1104)で決定される抽出条件の例を示す。この抽出条件の例では、「区切先頭フラグが有効(書類(区切)の先頭である)」と「前区切書類種類が”T_1”である」と「説明変数1に”サービス仕様書”の文字を含む」と「説明変数3が20以上40以下である」の4つの部分条件の積が抽出条件であることを示す。
【0064】
図11のステップ1104(S1104)の後で、ステップ1105(S1105)にて、類似事例抽出部253は、ステップ1104(S1104)にて決定された抽出条件を用いて、学習データDB217の部分集合である特化型学習データDB219を構築する。
【0065】
図14は、学習データDBを示す。学習データDB217は、ページ103毎にレコードを備える。学習データDB217のレコードは、学習データID1401とファイル情報601とページ103の特徴量を示す情報106bと(目的関数である)ページ103が属する書類102の種類(教師)107bを有する。ファイル情報601は、ファイルID602とファイル名603とページID702を含む。ページ103の特徴量を示す情報106bは、複数の説明情報(説明変数)(説明変数(1)108a~説明変数(F)108f)と前後教師情報を構成する諸情報(前ページ書類種類(教師)1009a、後ページ書類種類(教師)1009b、前区切書類種類(教師)1009c、後区切書類種類(教師)1009d)と区切先頭フラグ(教師)1010a(区切教師情報)からなる。
図14の学習データDB217のレコード内の、複数の説明情報(説明変数)(説明変数(1)108a~説明変数(F)108f)は、図7のページ特徴量DB212のレコード内の同名のものへの手法と同様な手法で、特徴量抽出部223により生成されてよい。
図14の学習データDB217のレコード内の、(目的関数である)ページ103が属する書類102の種類(教師)107bは、教師データ(正解データ、正解情報)である。この教師データは人手(あるいはオラクル(託宣))により定めてよい。学習データDB217のレコード内の、前後教師情報1009を構成する諸情報(前ページ書類種類(教師)1009a、後ページ書類種類(教師)1009b、前区切書類種類(教師)1009c、後区切書類種類(教師)1009d)と区切先頭フラグ(教師)1010aは、教師データ(正解データ、正解情報)として与えられる(目的関数である)ページ103が属する書類102の種類(教師)107bの情報の集合から一意に定めてよい。
【0066】
学習データに教師データ(正解データ、正解情報)を含ませると、種類判定部に関する学習処理として教師あり学習を含めた学習処理を行うことが出来る。ここで、教師データ(正解データ、正解情報)には、ある種の文書(例えば、契約に関する文書(契約関連文書)、受注に関する文書、与信審査に関する文書)における「一定の流儀」を直接的に反映することが出来るため、種類判定部に関する学習処理を妥当なものとしやすくなる。
【0067】
仮に、ある文書101内のページ103の全てについて、学習データDB217内のページ103(レコード)毎の区切先頭フラグ(教師)1010aの値と、ページ特徴量DB212内のページ103(レコード)毎の区切先頭フラグ110aの値が、完全一致する場合には、書類区切検出部224の判定精度が100%(全て正解)ということになる。
【0068】
図11のステップ1105(S1105)では、類似事例抽出部253は、図14の学習データDB217の各レコードにおける、複数の説明情報(説明変数)(説明変数(1)108a~説明変数(F)108f)と前後教師情報1009を構成する諸情報(前ページ書類種類(教師)1009a、後ページ書類種類(教師)1009b、前区切書類種類(教師)1009c、後区切書類種類(教師)1009d)と区切先頭フラグ(教師)1010aの各項目のうちの選択された一つまたは複数の項目について、ステップ1104(S1104)で決定した抽出条件に一致するようなレコードを抽出する。類似事例抽出部253は、抽出したレコードを、特化型学習データDB219に格納する。
特化型学習データDB219の態様は、図14に示される学習データDB217と同様でよい。ただし、学習データDB217のレコードのうち、ステップ1104(S1104)で決定した抽出条件に一致するレコードのみが抽出されて、特化型学習データDB219に格納される。
【0069】
上記のように、ある書類部分(ページ)に関連して不整合を検出した場合に、不整合に伴って実行される種類判定部に関する学習処理に用いるのにふさわしい学習データのレコードを抽出して、特化型学習データ記憶部に記憶することが出来る。つまり、種類判定部に関する学習処理を実行すれば、不整合が解消されることが期待出来る。
【0070】
図11のステップ1105(S1105)の後に、ステップ1106(S1106)にて、学習部251は、(特化型学習データ記憶部218内の)特化型学習データDB219のレコードを学習データとして用いて、種類判定部104に関する学習処理を行い、(モデルパラメータ記憶部233内の)モデルパラメータDB234内の1つまたは複数のモデルパラメータ1302を更新する。種類判定部104に関する学習処理は、図14の特化型学習データDB219のレコードのページ103の特徴量を示す情報106bの項目群を種類判定部104に入力し、種類判定部104からの出力される判定情報と、特化型学習データDB219のレコードの(目的関数である)ページ103が属する書類102の種類(教師)107bの項目を比較して、その後の処理を行うことにより実現されてよい。つまり、学習部251は教師あり学習を行ってよい。
図13に示したように、学習部251による、種類判定部104の学習処理を行う毎に、モデルパラメータDB234のレコードが追加されていく。
【0071】
これに代えて、種類判定部104が行う一部または全部の処理について、学習部251は、教師なし学習(例えば、クラスタリング)や、強化学習や、演繹ベースのルールの改善を行ってもよい。
【0072】
図11のステップ1106(S1106)の後か、図11のステップ1103(S1103)にて不整合を検出しなかった場合の後に、不整合検出部252は、ステップ1107(S1107)にて、不整合の有無を判定する対象となるページ103(レコードID701)の全てについてステップ1102(S1102)からステップ1107(S1107)のループ処理が済んだか否かを判定する。まだ済んでいなければ、処理はステップ1101(S1101)に戻り、次のページ103(レコードID701)について、ループ処理を行う。不整合の有無を判定する対象となるページ103(レコードID701)の全てについて当該ループ処理が済んだのであれば、ステップ506(S506)に進む。
【0073】
図11では、ページ1次判定情報DB214に関して不整合を検出している。しかしながら、ページ2次判定情報DB215についても不整合を検出して、図11と同様の学習処理を行ってよい。つまり、図11に示される学習処理は、何度でも行うことが出来る。
【0074】
第2の実施形態は、図9の比較表示出力の内容900や、図12の不整合表示出力の内容1200を、文書解析システム100を利用する者に対して、出力または表示することが出来る。あるいは、図9図12を併せた内容を、文書解析システム100を利用する者に対して、出力または表示することが出来る(図12の上部と下部を一括して出力または表示してもよい。)。そのため、文書解析システム100を利用する者は、第2の実施形態のステップ1102(S1102)からステップ1107(S1107)のループ処理(不整合検出処理、不整合を解消するための学習処理)の妥当性を検証することが容易になる。例えば、当該ループ処理の実行の前に実施されたページ103が属する書類102の種類107の判定の結果よりも、当該ループ処理の実行の後に実施された当該判定の結果のほうが妥当であれば、当該ループ処理が不整合の解消に有効であることを確認出来る。その一方で、当該ループ処理の実行の前に実施されたページ103が属する書類102の種類107の判定の結果よりも、当該ループ処理の実行の後に実施された当該判定の結果のほうが、ページ103が属する書類102の種類107の判定の正解率が下がれば、当該ループ処理に用いた設定等のいずれか(例えば、抽出条件の設定)に問題・課題があることを認識出来る。
【0075】
文書解析システム100を利用する者に出力または表示されるものとして、図9の比較表示出力の内容900と、図12の不整合表示出力の内容1200を例示したが、文書解析システム100は、当該文書解析システム100が行う処理・動作の過程で取り扱う諸情報、または、処理プロセスの履歴情報を適宜選択して、出力または表示してもよい。また、文書解析システム100は、諸情報を出力または表示する際に、当該文書解析システム100の出力(例えば、判定情報)の妥当性を検証するにあたって重点的に確認すべき箇所を明示するような説明図面(説明画面)や、(仮に当該文書解析システム100の判定の精度に問題・課題がある場合に)当該問題・課題が当該文書解析システム100内のどの箇所(装置・部・プログラム・データ等)に由来するのかを示唆する説明図面(説明画面)を出力または表示してもよい。このように構成すれば、文書解析システム100を利用する者が、当該文書解析システム100に対する評価・検証を行いやすくなり、問題・課題を認識しやすくなる。
【0076】
第2の実施形態では、学習データ更新部261が、(学習データ記憶部216内の)学習データDB217に記憶される学習データのレコードの一部または全てを入れ換えるか更新してもよい。例えば、ある種の文書(例えば、契約に関する文書(契約関連文書)、受注に関する文書、与信審査に関する文書)における上記した「一定の流儀」が変わるケースや、取り扱う文書の性質が大きく変更されるケースにおいても、学習データの入れ換えや更新(、及び、入れ換え後または更新後の再学習処理)により対処することが出来る。
【0077】
4.その他(変形例)
上記では、本開示の第1の実施形態と第2の実施形態を説明したが、以下に示すような変形例も可能である。
【0078】
(A)解析対象の文書
上記の各実施形態の説明では、解析対象の文書の例として、契約に関する文書(契約関連文書)、受注に関する文書、与信審査に関する文書を示し、文書内の書類の例として、契約書、注文書、仕様書、委任状を示し、文書データの例として、PDFファイルを示している。
しかしながら、本開示は、文書内の書類について、同じ種類の書類であっても、多種多様なフォーマットがあり得るような文書や、文書に含まれる書類間の順序に(一定の流儀には従いながらも)ある程度の許容される幅があるような、言わば書類群が非定型に綴られたりする文書を始めとして、どのような文書でも適用することが出来る。
また、本開示は、特徴量を何らかの手法で抽出出来るファイルデータであれば広範に適用可能である。例えば、テキスト情報や座標情報などを有する図形情報という観点では、テキスト情報が埋め込まれているタイプのPDFデータのみならず、(図表を含みうる)ワードファイル、パワーポイントファイル、エクセルファイルも、本開示の文書解析システム100は取り扱い得る。また、例えば、画像情報という観点では、テキストを画像としてのみ取り込めるタイプのPDFファイルのみならず、各種の画像ファイル(例えば、PNGデータ、JPEGデータ、BMPデータ、GIFデータ)も、本開示の文書解析システム100は取り扱い得る。これらの種類のデータが混在した文書データも、本開示を適用可能である。
このように、本開示の文書解析システム(、文書解析方法、文書解析プログラム)を広範な文書に適用することが出来る。
【0079】
(B)書類部分
上記の各実施形態の説明では、書類部分103の例としての「ページ」を示している。契約に関する文書(契約関連文書)、受注に関する文書、与信審査に関する文書などにおいては、ページの途中で書類の種類が変わる(ページの途中に、ある書類の先頭がある)ケースが少ないと想定されるゆえ、ページに着目した取り扱いは有用である。
しかしながら、本開示は、書類部分103がページとは異なるものにも適用出来る。例えば、文書の性質上、ページの途中で書類の種類が変わる(ページの途中に、ある書類の先頭がある)ことが想定される場合、ページよりも細かい単位(例えば、行)を、本開示でいう「書類部分」としてよい。逆に、書類部分103をページよりも大きい単位としてよい。
このように、本開示の文書解析システム(、文書解析方法、文書解析プログラム)は、様々な単位(例えば、行や、ページよりも大きい単位)に注目して、処理を行うことが出来る。
【0080】
(C)各部の処理の実現手法
上記の各実施形態の説明では、主に、種類判定部104内の判定統合部232にて用いる重み付け(複数基準判定部231内の独自基準判定部のそれぞれからの判定情報に対する重み付け)を示すモデルパラメータを、教師あり機械学習で調整する例を示している。
しかしながら、文書解析システム100内の、判定統合部232、複数基準判定部231内の独自基準判定部のそれぞれ、特徴量抽出部223、書類区切検出部224の処理を実現するためには、様々な手法を用いることが出来る。例えば、(1)教師あり機械学習により構築されるモデルを実装する手法、(2)教師無し機械学習(例えば、クラスタリング)により構築されるモデルを実装する手法、(3)強化学習(例えば、評価値を最適化するような学習)により構築されるモデルを実装する手法、(4)演繹ベースのルールにより構築されるモデルを実装する手法、のいずれかを用いてもよい。
また、第2の実施形態で示した再学習(あるいは、ルールの再設定)は、判定統合部232、複数基準判定部231内の独自基準判定部のそれぞれの任意のものを対象にしてよい。
このように、本開示の文書解析システム(、文書解析方法、文書解析プログラム)は、幅広い処理実現手法を用いることが出来るので、柔軟に設計することが出来る。
【0081】
(D)前後判定情報109の更新タイミング
上記の第1の実施形態の説明では、説明をわかりやすくするために、(図4の(1)に示すように、)種類判定部104が、ある文書101内のページ103の全てについて、当該ページ103が属する書類102の種類107の判定を全て済ませた後で、(図4の(2)に示すように、)前後判定情報更新部105が、当該ある文書101内のページ103の全てについて前後判定情報109を更新し、当該更新の全てが済んでから、(図4の(3)に示すように、)種類判定部104が、次の判定を行うかのように示している。
しかしながら、(図4の(1)に示される、)種類判定部104による、ひとつの文書101内のページ103の全てに対する判定処理の完了を待つことなく、(図4の(2)において、)前後判定情報更新部105は、更新後の前後判定情報109を決定可能となったページ103について、ページ特徴量DB212にて前後判定情報109を更新してよい。また、(図4の(2)に示される、)前後判定情報更新部105による、ひとつの文書101内の全てのページ103についての前後判定情報109の更新処理の完了を待つことなく、(図4の(3)において、)種類判定部104による判定処理を開始してもよい。
このように、種類判定部104と前後判定情報更新部105の間で処理時間のオーバーラップを行うことにより、本開示の文書解析システム(、文書解析方法、文書解析プログラム)は、処理時間を短縮することが出来る。
【0082】
(E)前後判定情報109を設けないで判定情報記憶部213で代替
上記の各実施形態の説明では、ページ103の特徴量を示す情報106に前後判定情報109を含ませて、前後判定情報109を適宜更新することが示されている。
しかしながら、ページ103の特徴量を示す情報106に前後判定情報109の項目を設けないことが可能である。その場合は、種類判定部104への入力のうち、前後判定情報109に含まれていた情報は、判定情報記憶部213(ページ1次判定情報DB214、ページ2次判定情報DB215)から取得して、種類判定部104へ入力されることになる。
このように構成すれば、種類判定部104への情報の入力や、類似事例抽出部253による学習データのレコードの抽出において若干煩雑な処理を要する代わりに、前後判定情報109の記憶や更新に関わるコストを削減出来る。
【0083】
(F)ループ処理
上記の第2の実施形態の説明では、図11のステップ1102(S1102)からステップ1107(S1107)までを一つのループとして処理を行う旨を示している。
しかしながら、これに代えて、文書101内のページ103の全てについて、ステップ1102(S1102)と不整合検出処理を先に済ませた後、ステップ1103(S1103)からステップ1106(S1106)のループ処理で再学習処理を実行する態様でもよい。
このように、技術的に矛盾しない範囲内で、フローチャートを柔軟に定めることが出来る。
【0084】
(G)文書解析システムと端末
上記の各実施形態の説明では、図2のように、端末207と文書解析システム100が相互通信可能に接続された上で、文書解析システム100が文書101に対応する文書データの解析処理の実行や判定結果の出力・表示の制御を行うかのように示している。
しかしながら、文書101に対応する文書データの解析処理の実行や判定結果の出力・表示の制御の一部を端末207が行ってもよい。
また、文書解析システム100を用いる者が直接操作する端末と文書解析システム100を一体化してもよい。昨今のハードウェアの能力の高さを鑑みれば、単一のパーソナルコンピュータ、単一のスマートフォン、単一のタブレット等が文書解析システム100の役割を果たしうる。その場合は、各種DBについては、ネットワーク経由でリモート(クラウド)に存在するものにアクセスする態様でもよい。
以上のように、柔軟にシステム構成を定めることが出来る。
【0085】
5.実施形態や変形例の組み合わせ
上記で示した、本開示の実施形態や、実施形態の変形例のそれぞれに示される技術的事項は、技術的な矛盾が生じない限り、適宜組み合わせることが出来る。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14