JP2021114226A - 文書提示システム、文書提示方法及びプログラム - Google Patents

文書提示システム、文書提示方法及びプログラム Download PDF

Info

Publication number
JP2021114226A
JP2021114226A JP2020007403A JP2020007403A JP2021114226A JP 2021114226 A JP2021114226 A JP 2021114226A JP 2020007403 A JP2020007403 A JP 2020007403A JP 2020007403 A JP2020007403 A JP 2020007403A JP 2021114226 A JP2021114226 A JP 2021114226A
Authority
JP
Japan
Prior art keywords
document
search
extracted
item
presentation system
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
JP2020007403A
Other languages
English (en)
Inventor
悠貴 鳴海
Yuki NARUMI
悠貴 鳴海
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 JP2020007403A priority Critical patent/JP2021114226A/ja
Publication of JP2021114226A publication Critical patent/JP2021114226A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Image Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】請求書などの検索元文書と同一取引で使用された証憑文書として関連文書をグループ化する文書提示システム、文書提示方法及びプログラムを提供する。【解決手段】文書提示方法は、検索元文書を分類するための分類項目となる文字列を複数個抽出しS1001、検索元文書から抽出した分類項目に基づいて、検索処理により抽出された文書のグループ化処理を行いS1002、グループ化処理の結果に基づいて、保存した検索結果を更新しS1003、更新した検索結果を提示するための検索結果表示画面を生成し、情報処理端末に送信するS1004。【選択図】図10

Description

本発明は、文書提示システム、文書提示方法及びプログラムに関するものである。特に、スキャンされた証憑文書と同一取引で使用された関連文書を提示する、文書提示システムに関するものである。
従来から、請求書などの証憑文書については、記載された金額などについて誤りが発生していないかを確認する業務が存在する。多くの場合、例えば請求書が発行されるまでは、同一取引に関連して、見積書、注文書、納品書などの一連の証憑文書が順次発行される。
そこで、請求書と同一取引で使用された見積書、注文書、納品書などの証憑文書を収集して、金額などについて、これらの証憑文書に記載されている内容と合致しているかを確認することにより、請求書に誤りがないことを確認する作業が行われている。
このような作業を支援するために、証憑文書についてメタデータを付与してストレージに格納し、同一取引で使用された一連の文書を自動検索するファイル検索システムが提案されている。このような支援システムを利用することにより、ユーザは請求書などを確認する作業を行うために必要な一連の文書を収集することが容易となる。
また、このようなファイル検索システムにおいては、OCR(Optical Character Recognition)処理などの画像処理を行うことにより、アナログ文書であってもスキャンして得られた画像データからメタデータを自動付与することができるものがある。また、文書に記載された内容から、検索条件を自動的に設定したりすることができるものもある。
しかし、検索元文書に記載された情報のみを用いて同一取引で使用された証憑文書を検索する場合、検索の精度が十分でないため、同一取引で使用された文書以外の過検出が発生してしまうという問題がある。このため、検索結果の中から、同一取引で使用された文書を確定する作業をユーザが行う必要がある。
このような検索システムとして、例えば、特許文献1には、ユーザが入力した検索語を用いて適合度スコアを算出することにより、各検索文書を同一又は類似する文書のクラスタに分類する全文検索システムが開示されている。また、特許文献1では、適合度スコアが近くなくても類似する文書を同じクラスタに分類するために、各クラスタの代表文書の特徴語を用いてクラスタ同士をマージすることが開示されている。これにより、特許文献1によれば、ユーザが検索結果から目的の文書を確認する作業の効率化を図ることができる。
特開2010−9577号公報
しかしながら、検索元文書に関連する文書として検索処理により抽出された文書をグループ化する場合、ユーザが入力した検索語からでは、適切なグループ化が行われないことがある。
例えば、検索元文書が請求書である場合について考える。この場合、一定の請求期間内(例えば、1か月分)に発注された複数の商品が1枚の請求書に記載されており、請求書に記載された商品ごとに見積書や納品書などの証憑文書が発行されている場合が多い。このような場合、請求書に記載された商品名に基づいて見積書や納品書などの証憑文書をグループ化することが好ましい。
そこで、本発明は、文書から抽出された項目に基づいて複数の関連文書をグループ化して提示することで、確認作業を効率化することが可能な文書提示システムを提供することを目的とする。
本発明は、文書から複数の項目を抽出する抽出手段と、前記複数の項目のそれぞれに対応するグループを生成する生成手段と、検索元文書に関連する複数の関連文書のそれぞれについて、前記項目に対応する記載に基づいて、1又は複数の前記グループに割り当てる割当手段と、前記複数の項目のそれぞれに対応する前記グループごとに割り当てられた前記関連文書を提示するユーザインターフェースを生成する提示手段と、を有することを特徴とする文書提示システムである。
本発明によれば、ユーザによる文書の確認作業を効率化することができる。
文書提示システムの全体構成を示す図である。 画像形成装置のハードウェア構成を示すブロック図である。 情報処理端末のハードウェア構成を示すブロック図である。 クラウドサービスサーバとクラウドサービスサーバのハードウェア構成を示すブロック図である。 各装置において実行される処理のシーケンスを示す図である。 スキャン対象の文書の例である。 スキャン対象の文書と同一取引で使用された文書の例である。 検索元文書の取得から関連文書を抽出するまでの処理を説明するフローチャートである。 OCR関連処理の詳細を示すフローチャートである。 検索処理の詳細を示すフローチャートである。 実施例1における、複数の抽出文書をグループ化して表示する処理を説明するフローチャートである。 グループ化処理の詳細を示すフローチャートである。 各証憑文書の例である(その1)。 各証憑文書の例である(その2)。 検索結果表示画面の例である。 グループ修正処理後の検索結果表示画面の例である。 ブロックセレクション処理を説明するための図である。 実施例2における、複数の抽出文書をグループ化して表示する処理を説明するフローチャートである。 実施例3における、複数の抽出文書をグループ化して表示する処理を説明するフローチャートである。
以下に、図面を参照して、本発明を実施するための実施例について説明する。ただし、以下に説明する実施例はあくまで例示であり、本発明の範囲をそれらに限定する趣旨のものではない。また、以下の実施例で説明されている特徴の組み合わせのすべてが本発明の解決手段に必須のものとは限らない。
以下、本発明を実施例について図面を用いて説明する。
<実施例1>
<システムの全体構成>
図1は、本実施例において用いられる文書提示システム10の全体構成を示す図である。
図1に示すように、文書提示システム10は、画像形成装置100、PCなどの情報処理端末101、クラウドサービスサーバ102、クラウドストレージサーバ103などの装置を備える。
画像形成装置100は、イーサネット(登録商標)や無線LANなどからなるLAN104に接続され、さらに、インターネット105に接続されている。また、クラウドサービスサーバ102及びクラウドストレージサーバ103も、イーサネット(登録商標)や無線LANなどからなるLAN104に接続され、さらに、インターネット105に接続されている。すなわち、画像形成装置100、情報処理端末101、クラウドサービスサーバ102、クラウドストレージサーバ103は、ぞれぞれ、LAN104からインターネット105に接続され、相互に通信可能となっている。
画像形成装置100は、操作部、スキャナ部、プリンタ部を有する複合機(Multifunction Peripheral:MFP)である。本実施例の文書提示システム10では、画像形成装置100は紙文書をスキャンするための端末として利用される。
PC(Personal Computer)などの情報処理端末101は、操作部、表示部を有するパーソナルコンピュータである。本実施例の文書提示システム10では、情報処理端末101は、文書ファイルの検索の結果や、ユーザからの操作指示を受ける表示・操作端末として利用される。
クラウドサービスサーバ102は、演算部を有する処理サーバである。本実施例の文書提示システム10では、クラウドサービスサーバ102は文書ファイルの検索処理を実行する処理端末として利用される。ただし、文書ファイルの検索処理を実行する情報処理端末は、演算実行機能を有すればよく、クラウド上のサーバでなくてもよい。
クラウドストレージサーバ103は、記憶部を有するストレージサーバである。本実施例の文書提示システム10では、クラウドストレージサーバ103は、文書ファイルを保持するストレージ端末として利用される。ただし、文書ファイルを保持する情報処理端末は、記憶機能を有すればよく、クラウド上のサーバでなくてもよい。
なお、本発明を実施するにあたって、PCなどの情報処理端末101、クラウドサービスサーバ102、クラウドストレージサーバ103などの装置は、必ずしも必要ではない。例えば、クラウドストレージサーバ103の機能を、クラウドサービスサーバ102が備えるようにしてもよい。また、クラウドサービスサーバ102とクラウドストレージサーバ103機能を、PCなどの情報処理端末101が備えるようにしてもよい。
また、入力画像としては、画像形成装置100でスキャンされた画像を用いことに限られず、PCなどの情報処理端末101が事前に保持している画像を用いてもよい。また、クラウドストレージサーバ103は、汎用的なストレージのクラウドサービスであってもよいし、ファイルストレージオンプレミスサーバであってもよい。
<画像形成装置のハードウェア構成>
図2は、画像形成装置100のハードウェア構成例を示すブロック図である。
画像形成装置100は、制御部200、表示・操作部206、プリンタ部208、スキャナ部210を備える。
制御部200は、CPU201、ROM202、RAM203、HDD204、表示・操作I/F部205、プリンタI/F部207、スキャナI/F部209、ネットワークI/F部211の各ハードウェアを備える。制御部200内の各ハードウェアは、システムバス212を介して、互いに通信可能に接続されている。制御部200は、画像形成装置100全体の動作を制御する。
CPU201は、記憶装置(ROM202、RAM203、HDD204)に記憶された制御プログラムを読み出し実行することにより、画像形成装置100の各処理(読取制御や画像処理など)を実行する手段として機能する。
記憶装置は、制御プログラム、画像データなどを格納し保持する。
記憶装置は、不揮発性メモリであるROM202、揮発性メモリであるRAM203、大容量記憶領域であるHDD204などを備える。
ROM202は、制御プログラムなどを保持する不揮発性メモリである。制御プログラムは、CPU201により読み出され実行される。
RAM203は、CPU201の主メモリ、ワークエリア等の一時記憶領域として用いられる揮発性メモリである。
HDD204は、CPU201が処理を行う画像データなどを保存する大容量記憶領域として用いられる不揮発性メモリである。
表示・操作部I/F部205は、表示・操作部206と制御部200とを、システムバス212を介して接続する。表示・操作部206は、タッチパネル機能を有する液晶表示部やハードボタンなどを備える。
プリンタI/F部207は、プリンタ部208と制御部200とを、システムバス212を介して接続する。プリンタ部208は、CPU201で生成された画像データをプリンタI/F部207を介して受信し、受信した画像データを用いて記録紙へのプリント処理を行う。
スキャナI/F部209は、スキャナ部210と制御部200とを、システムバス212を介して接続する。スキャナ部210は、証憑文書などの文書を読み取って画像データを生成し、スキャナI/F部209を介して画像データを制御部200に入力する。
ネットワークI/F部211は、制御部200(画像形成装置100)を、LAN104に接続し、LAN104上の外部装置に画像データを送信したり、LAN104上の外部装置から各種情報を受信したりする。
以上のように、本実施例の画像形成装置100は、上記のハードウェア構成によって、各種の画像処理機能を提供することが可能である。
<情報処理端末のハードウェア構成>
図3は、PCなどの情報処理端末101のハードウェア構成例を示すブロック図である。
情報処理端末101は、制御部300、操作部307、表示部309を備える。
制御部300は、PCなどの情報処理端末101全体の動作を制御する。
制御部300は、CPU301、ROM302、RAM303、HDD304、ネットワークI/F305、操作部I/F306、表示部I/F308を備える。
CPU301は、ROM302に記憶された制御プログラムを読み出して各種制御処理を実行する。
RAM303は、CPU301の主メモリ、ワークエリア等の一時記憶領域として用いられる。
HDD304は、画像データや各種プログラムを記憶する。
ネットワークI/F305は、制御部300(PCなどの端末101)をLAN104に接続する。そして、ネットワークI/F305は、LAN104上の他の装置と制御部300との間で各種情報を送受信する。
操作部I/F部306は、操作部307と制御部300とを、システムバス310を介して接続する。操作部307は、入力及び操作の機能を有するマウスやキーボードなどを備える。
表示部I/F部308は、表示部309と制御部300とを、システムバス310を介して接続する。表示部309は、表示機能を有するディスプレイなどを備える。
<クラウドサービスサーバ及びクラウドストレージサーバのハードウェア構成>
図4は、クラウドサービスサーバ102及びクラウドストレージサーバ103のハードウェア構成例を示すブロック図である。クラウドサービスサーバ102とクラウドストレージサーバ103は、HDD404の記憶可能容量等が異なる以外は、基本的に同じ構成であるため、クラウドサービスサーバ102について説明する。
クラウドサービスサーバ102は、制御部400を有する。
制御部400は、クラウドサービスサーバ102全体の動作を制御する。制御部400は、CPU401、ROM402、RAM403、HDD404、ネットワークI/F部405を備える。
CPU401は、ROM402に記憶された制御プログラムを読み出して各種制御処理を実行する。
RAM403は、CPU401の主メモリ、ワークエリア等の一時記憶領域として用いられる。
HDD404は、文書ファイル、画像データや各種プログラムを記憶する。
ネットワークI/F405は、制御部400(クラウドサービスサーバ102)をLAN104に接続する。そして、ネットワークI/F405は、LAN104上の他の装置と制御部400との間で各種情報を送受信する。
なお、同一取引で使用された文書ファイルを検索する検索エンジンについては、クラウドストレージサーバ103内のCPU411によって実行される。
なお、前述のとおり、クラウドストレージサーバ103も、クラウドサービスサーバ102の同様のハードウェア構成を備える。すなわち、クラウドストレージサーバ103は、制御部410(CPU411、ROM412、RAM413、HDD414、ネットワークI/F部415)を備える。これらのハードウェアの機能は、クラウドサービスサーバ102のハードウェアと同様である。
<文書提示システムにおける処理全体のシーケンス>
次に、本実施例の文書提示システム10において実行される処理例の概略について説明する。
まず、画像形成装置100が、請求書などの証憑文書をスキャンして、画像データ(スキャン画像)を生成する(画像データ取得処理)。
次に、クラウドサービスサーバ102が、画像形成装置100から送信されたスキャン画像を受信し、OCR処理を実行することによりスキャン画像から文字列を抽出し、OCR結果に基づいて検索クエリを生成する(検索の前処理)。
次に、クラウドストレージサーバ103が、保存されている証憑文書の中から、検索クエリを用いて検索を実行し、検索結果として、検索元の証憑文書と同一取引で使用された一連の関連文書を抽出する(検索処理)。
次に、クラウドサービスサーバ102が、検索元の証憑文書から抽出した分類項目に基づいて、検索処理により抽出された文書をグループ化する(グループ化処理)。
以上のシーケンスにより、スキャン対象の証憑文書と同一取引で使用された一連の関連文書を抽出し分類項目ごとにグループ化することが可能となる。これにより、本実施例の文書提示システム10では、ユーザによる証憑文書の確認作業の支援を行うことができる。
次に、図5を用いて、本実施例の文書提示システム10において実行される各処理について説明する。図5は、文書提示システム10を構成する各装置において実行される文書ファイルの検索処理全体のシーケンスを示す図である。
まず、画像形成装置100が実行する画像データの取得処理について説明する。
ここで、図6A(1)に、検索元であるスキャン対象の文書(検索元文書)の例を示す。ここでは、検索元文書は、証憑文書の一種である「請求書」であるものとして説明する。
まず、ステップS500において、ユーザは、画像形成装置100の操作部206を操作して、請求書をスキャンさせる。
ステップS501において、画像形成装置100のCPU201は、スキャナ部210を駆動し、検索元文書の画像データ(スキャン画像)を生成し、RAM203に保存する。
ステップS502において、CPU201は、S501で生成したスキャン画像に対し、フィルタリング処理や色補正処理などの画像処理を実行する。
次に、ステップS503において、CPU201は、画像処理を実行したスキャン画像をクラウドサービスサーバ102に送信する。
次に、クラウドサービスサーバ102が実行する検索の前処理について説明する。
まず、ステップS504において、クラウドサービスサーバ102のCPU401は、画像形成装置100から送信されたスキャン画像を受信し、HDD404へ保存する。
ステップS505において、CPU401は、受信したスキャン画像に対してOCR処理を実行して、文字列を取得する。
ステップS506において、CPU401は、S505で取得した文字列から、検索を行うための1又は複数のキーワード(検索クエリ)を生成する。検索クエリは、例えば、検索元文書と同一取引で使用された証憑文書を検索するための一つ以上のキーワードから構成される検索条件である。
ステップS507において、CPU401は、S506で生成した検索クエリを用いて、クラウドストレージサーバ103の検索API(Application Programming Interface)等を使用し、クラウドストレージサーバ103に対して検索の指示をする。
次に、クラウドストレージサーバ103が実行する検索処理について説明する。
まず、ステップS508において、クラウドストレージサーバ103のCPU411は、クラウドサービスサーバ102から検索クエリを受信し、クラウドストレージサーバ103内の検索エンジンで解釈するための変換処理を行う。
ステップS509において、CPU411は、検索エンジンで解釈された検索クエリに基づいて、クラウドストレージサーバ103内のHDD414から、検索元であるスキャン対象の文書と同一取引で使用された関連文書を検索する。そして、抽出された文書をランキング付けした情報を含む検索結果を生成する。その際、図6A(1)のように、S500においてスキャンされた文書が「請求書」である場合、同一取引で使用された証憑文書として、「納品書」、「発注書」、「見積書」、などの種別類の文書がそれぞれ0枚から複数枚抽出される。ここで、図6B(1)〜(4)に、それぞれ、図6A(1)の「請求書」と同一取引で使用された「納品書」、「発注書」、「見積書」の例を示す。
ステップS510において、CPU411は、S509で生成した検索結果をクラウドサービスサーバ102に通知する。通知する形式としては、検索処理により抽出された証憑文書のデータ自体でもよいし、格納されている証憑文書のファイルパスでもよいし、文書ファイル名や作成者などの証憑文書の特徴が記載されたインデックス情報(プロパティ情報)だけであってもよい。
次に、クラウドサービスサーバ102が実行する検索の後処理について説明する。
まず、ステップS511において、クラウドサービスサーバ102のCPU401は、クラウドストレージサーバ103から検索結果を受信し、クラウドサービスサーバ102内のHDD404へ保存する。
ステップS512において、CPU401は、S509で抽出された各抽出文書に対してOCR処理を行い、文書内の文字列を取得する。検索結果として画像データを受信した場合は、画像データに対しOCR処理を行う。PDFファイル等のファイルを受信した場合は、ファイル内の画像データを抜き出してOCR処理を行う。また、文書内の文字列がテキストデータとして格納されている場合は、テキストデータを抽出するだけであってもよい。
ステップS513において、CPU401は、S512で取得した抽出文書内の文字列と、S505でスキャン画像から取得した検索元文書内の文字列と、の比較を行い、文書間の関連度スコアを算出する。関連度スコアを算出する手法については、公知の手法を採用することができる。例えば、各文書内の各文字列同士の距離を、レーベンシュタインによる算出手法で算出し、累積距離が少ない文書ほど関連度スコアが高いとすることができる。なお、関連度スコアは、検索処理により抽出された証憑文書の種別(納品書、発注書、見積書など)ごとに算出される。
次に、クラウドサービスサーバ102が実行する検索結果のグループ化処理について説明する。
まず、ステップS514において、クラウドサービスサーバ102のCPU401は、S504で受信した検索元文書のスキャン画像から、抽出文書を分類するための複数個の分類項目を抽出する。そして、CPU401は、分類項目ごとにグループを生成する。
ステップS515において、CPU401は、S509の検索処理により抽出された各文書について、S514で検索元文書から抽出した各分類項目に対応する文字列が存在するかを判断する。そして、抽出文書に分類項目に対応する文字列が存在する場合、その分類項目に対応して生成されたグループにその抽出文書を割り当てる(グループ化)。
ステップS516において、CPU401は、S515でグループ化された抽出文書ごとにS513で算出された関連度スコアに基づいて、S511で受信した検索結果のランキングを更新する。
ステップS517において、CPU401は、更新した検索結果をPC等の情報処理端末101でユーザが表示確認できるように、表示用の画面を生成する。例えば、クラウドサービスサーバ102内のWEBサーバ上にHTML形式のデータを用意し、PC等の情報処理端末101のブラウザアプリケーション等で閲覧が可能な形式の画面を生成する。
次に、ステップS518において、CPU401は、更新した検索結果をPC等の情報処理端末101に対して通知し、情報処理端末101の表示部309に表示するように指示する。
ステップS519において、PC等の情報処理端末101のCPU301は、クラウドサービスサーバ102からの指示に基づいて、ディスプレイ等の表示部309に検索結果を表示する。その際、CPU301は、検索処理により抽出された各文書を、S515で割り当てられたグループごとに、表示を行う。
以上の各ステップを処理することによって、検索元文書と同一取引で使用された証憑文書の抽出及び表示を行うことができる。
図7は、検索元文書の取得から関連文書を抽出するまでの処理の手順を説明するフローチャートである。本フローチャートは、図5のシーケンスにおけるステップS504〜S513の処理に相当する。なお、本フローチャートに示す処理は、クラウドサービスサーバ102のCPU401が、ROM402に格納されている処理プログラムをRAM403にロードすることにより実行される。
まず、ステップS701において、クラウドサービスサーバ102のCPU401は、LAN104を通じて画像形成装置100においてスキャンされた検索元である証憑文書の画像データ(スキャン画像)を取得する。
ステップS702において、CPU401は、ステップS701で取得したスキャン画像に対して、OCR関連処理を実行し、OCR結果として文字列を取得する。なお、OCR関連処理の詳細については後述する。
ステップS703において、CPU401は、ステップS702で取得したOCR結果から項目名と項目値を抽出して、メタデータを取得する。なお、項目名と項目値の抽出処理の詳細については後述する。また、メタデータとは、項目名と、その項目名に対応した項目値が対になったデータのこという。
ステップS704において、CPU401は、ステップS703で取得したメタデータを用いて、クラウドストレージサーバ103に対して検索処理の実行を指示する。そして、クラウドストレージサーバ103から通知される検索結果をHDD404へ保存する。なお、検索処理の詳細については後述する。
ステップS705において、CPU401は、ステップS704で保存した検索結果に含まれる、検索処理により抽出されたすべての抽出文書に関する情報を取得する。検索結果がファイルのデータ自体から構成される場合は、その文書の画像データを取得する。また、検索結果がクラウドストレージサーバ103に格納されている文書ファイルのファイルパスである場合は、ファイルパスを用いてクラウドストレージサーバ103に対して画像データの送信指示を行う。そして、クラウドストレージサーバ103から送信された画像データを受信することで、画像データを取得する。文書に関する情報を取得する手法にはその他にも様々なものがあるが、検索処理により抽出された文書を取得できるものであれば手法は問わない。
ステップS706において、CPU401は、ステップS705で取得した抽出文書に対してOCR関連処理を実行し、OCR結果を取得する。S706におけるOCR関連処理は、S702におけるOCR関連処理と同様である。なお、取得した文書の画像データに対してOCR関連処理が実行済みである場合は、ステップS706を省略してもよい。例えば、S702のOCR関連処理がされた状態で画像データがストレージサーバ103に保存されている場合は、ステップS706を省略してもよい。
ステップS707において、CPU401は、ステップS702で取得した検索元文書のOCR結果と、ステップS706で取得した抽出文書のOCR結果と、の関連度スコアを算出する。関連度スコアとは、スキャン対象である検索元の証憑文書と、検索処理により抽出された抽出文書と、が同一取引で使用された文書同士であることを示す度合いである。
関連度スコアは、ステップS703で取得した検索元文書内のメタデータの文字列と、ステップS706で取得した抽出文書のOCR結果による文字列と、の一致度などから算出する。具体的には、検索元文書の画像データと検索処理により抽出された抽出文書の画像データとに含まれる、会社名の文字列の一致度や、商品名の文字列の一致度などから算出する。例として、各文書内の各文字列同士の距離を、レーベンシュタインによる算出手法で算出し、累積距離が少ない文書ほど関連度スコアが高いものとすることができる。例えば、関連度スコアを0〜1の数値として、関連度が高いほど大きな数値で表現する。
具体例として、検索元文書である請求書に商品名という項目名として「ABCDE」という項目値が記載されており、検索処理により抽出された見積書に商品名として「FBCDE」が記載されている場合を考える。この場合、5文字からなる文字列のうち4文字が一致していることから、関連度スコアは「0.8」と算出される。また、文字列の一致度だけでなく、検索元文書から取得したメタデータと抽出文書から取得したメタデータに含まれている合計金額の数値の近さや、文書同士の発行日の日付の近さによって関連度を算出してもよい。
関連度スコアの算出には、ステップS702で取得したOCR結果を用いてもよいし、画像データから取得されるメタデータに限られず、それ以外のメタデータを用いてもよい。例えば、検索元である証憑文書がスキャンされた日時と、検索処理により抽出された文書がスキャンされた日時と、の差を用いて関連度スコアを算出してもよい。その他にもさまざまな手法はあるが、検索元の証憑文書と検索処理により抽出された証憑文書とが同一取引で使用された文書同士であることを示す度合いを算出できるものであればよい。
<OCR関連処理>
次に、図8を用いて、S702及びS706において実行されるOCR関連処理の詳細について説明する。図8は、1枚の画像データ(スキャン画像)に対して、OCR処理とその前処理とを含めたOCR関連処理を実行する処理手順を示すフローチャートである。
まず、ステップS801において、クラウドサービスサーバ102のCPU401は、傾き補正処理を行う。傾き補正処理では、画像データから傾き角度を検出し、検出した傾き角度だけ逆方向に画像データを回転することにより、傾き補正をした画像データを生成する。傾き補正の対象となる傾きは、画像形成装置100のスキャナ部210による読み取り時に、原稿フィーダ内のローラの摩耗などが原因でまっすぐに原稿が読み取られなかったり、原稿の印刷時にまっすぐに印字できなかったりすることにより発生する。
傾き角度の検出では、画像データ内に含まれるオブジェクトを検出し、水平方向あるいは鉛直方向に隣り合うオブジェクト群を連結する。そして、連結されたオブジェクトの中心位置を結んだ角度が、水平方向あるいは鉛直方向からどれだけ傾いているかを取得することで傾き角度を求める。
なお、傾き角度の検出は、上記の手法に限られるものではない。例えば、画像データ内に含まれるオブジェクトの中心座標を取得し、0.1度単位で中心座標群を回転させながら、中心座標群が水平方向あるいは垂直方向に並ぶ割合がもっとも高い角度を傾きとして求めてもよい。S801の傾き補正により画像データの傾きを補正することで、後述する回転補正(S802)、ブロックセレクション処理(S803)、OCR処理(S804)のそれぞれの精度を上げることが可能となる。
ステップS802において、CPU401は、ステップS801で生成した傾き補正処理後の画像データに対して、回転補正処理を行う。回転補正処理では、原稿内の文字が正立する向きになるように、90度単位で回転補正した画像データを生成する。
この際、ステップS801で取得した傾き補正処理後の画像を基準画像として、基準画像、90回転した画像、180度回転した画像、270度回転した画像、の4枚の画像データを用意する。そして、4枚の画像にデータ対して、高速処理可能な簡易的なOCR処理を実行して、一定値以上の確信度を持って認識された文字の数が最も多い画像データを回転補正後の画像データとして取得する。なお、回転補正処理の方法は上記に限られるものではない。
ステップS803において、CPU401は、ステップS802で生成した回転補正処理後の画像データに対し、ブロックセレクション処理を行う。ブロックセレクション処理とは、画像を前景領域と背景領域に分類した上で、前景領域をテキストブロックとそれ以外のブロックに分割する処理である。そして、テキストブロックごとに、白黒に二値化された画像データに基づいて、TEXT(文字領域)、LINE(線領域)、TABLE(表領域)、PHOTO(写真領域)、PICTURE(図面領域)などのブロック情報を取得する。ブロックセレクション処理で取得されたテキストブロックごとのブロック情報は、次のOCR処理で用いられる。
ステップS804において、CPU401は、ステップS803で取得した各テキストブロックに対してOCR処理を実行する。OCR処理により、OCR結果として、各テキストブロックに対応する文字列が抽出される。
<項目値と項目値の取得処理>
次に、S703において実行されるメタデータ(項目名と項目値)の抽出処理の詳細について説明する。
メタデータの抽出処理において、クラウドサービスサーバ102のCPU401は、S702のOCR関連処理で取得したOCR結果を用いて、スキャン画像内に記載されている項目名と項目値を取得する。ここで、項目名は、データの意味を指す「キー項目」を指す。また、項目値は、項目名に対応する具体的な内容を示す「バリュー値」を指す。また、項目名と、その項目名に対応した項目値が対になったデータを、メタデータと呼ぶ。
ここで、図6Aを用いて、項目名及び項目値について具体的に説明する。
図6A(1)は、証憑文書の一種である請求書の例である。また、図6A(2)は、図6A(1)に示した請求書において、各テキストブロックから項目名や項目値を構成する文字列が抽出される例を説明したものである。
図6A(2)の例では、例えば、テキストブロック602に示される「請求先会社名」という項目名について、その項目名の内容として会社名である「ABC(株)」という項目値が抽出される。その他、図6A(2)の例では、テキストブロック603に示される「請求元会社名」という項目名について「株式会社あいう」という項目値、テキストブロック605に示される「案件番号」という項目名について「1234」という項目値、などが抽出される。
項目名及び項目値を抽出する手法は様々ある。例えば、抽出したい項目値を保持しておき、その項目値と一致している文字列がOCR結果において抽出された場合、その文字列が記載されたテキストブロックの座標値をブロックセレクション処理の結果から取得することも可能である。また、文字列を取得したテキストブロックに最も近い右側、下側、右下側などのテキストブロックのOCR結果から項目名や項目値を抽出することも可能である。
また、スキャン画像に項目名が記載されていない場合には、文字列のパターンから項目値を判定することもできる。例えば、図6A(2)の例では、テキストブロック604に示すように、日付を示す「2019年4月25日」の文字列が「YYYY年M月DD日」の並びパターンになっていることを正規表現などの手法で推定する。その結果、テキストブロック604は、「(請求)日付」という項目名について、「2019年4月25日」という項目値であると判定することもできる。
その他、文字列の位置やフォントサイズの情報に基づいて、項目名と項目値を判定できるものもある。例えば、位置情報でスキャン画像の上部にあり、フォントサイズ情報で周囲の文字よりも大きい文字列は、「書類名」と推定することができる。図6A(2)の例では、テキストブロック601に示される、「請求書」という文字列は「書類名」という項目名についての項目値であると判定することができる。
具体的に抽出する情報としては、書類名に関する情報、会社の名称・電話番号・住所などの会社に関する情報、担当者や作成者などの個人に関する情報、請求日や納品日などの日付に関する情報、請求書番号などの情報、などがある。他にも、案件名に関する情報、合計金額などの金額に関する情報、その他内訳などの詳細情報、などもある。項目名及び項目値を抽出する手法は他にも様々あるが、OCR結果から項目名及び項目値を抽出できるものであればよい。
<検索処理>
次に、図9を用いて、S704において実行される検索処理の詳細について説明する。図9は、S703で抽出したメタデータ(項目名と項目値)を用いてクラウドストレージサーバ103に対して検索処理を指示し、検索結果を取得する処理手順を示すフローチャートである。なお、この処理はクラウドサービスサーバ102のCPU401により実行される。
ステップS901において、クラウドサービスサーバ102のCPU401は、HDD404から検索対象とする文書の種別を取得する。文書の種別とは、見積書、発注書、納品書などの証憑文書の種別のことである。なお、検索対象とする文書の種別は、事前に表示・操作部206や操作部307においてユーザにより設定されたものであってもよいし、予め所定の固定値として設定されたものであってもよい。他にも、スキャン画像の文字レイアウトと検索対象とする文書の種別の組み合わせをHDD404に保存しておき、スキャン画像の文字レイアウト情報に基づいて自動的に検索対象とする文書の種別を取得してもよい。また、検索対象とする文書の種別は一種類に限定されるものではない。例えば、見積書と発注書の2つの種別の文書を検索対象としてもよい。
ステップS902において、CPU401は、HDD404から検索クエリパターンを取得する。検索クエリパターンとは、検索クエリとなるメタデータの組み合わせを規定したものである。検索クエリパターンは、事前に表示・操作部206や操作部307においてユーザにより設定されたものであってもよいし、予め所定の固定値として設定されたものであってもよい。
ステップS903において、CPU401は、ステップS703で取得したメタデータ(項目名と項目値)とステップS902で取得した検索クエリパターンとに基づいて、検索クエリを生成する。
例えば、取得したメタデータが「会社名:ABC(株)」、「案件番号:1234」、「発行日:2019年4月25日」であり、検索クエリパターンが「会社名and案件番号and発行日」である場合について説明する。この場合、検索クエリとして、「ABC(株)and1234and2019年4月25日」が生成される。
なお、検索クエリのうち、金額や発行日などの数値や日付からなるものは、数値や日付の範囲検索ができるように生成してもよい。また、検索クエリは、項目値からそのまま生成するだけでなく、項目値の文字列の正規化を行ってから生成してもよい。例えば、項目名が会社名である項目値「ABC(株)」から「(株)」を消去して、「ABCand1234and2019年4月25日」のように検索クエリを生成してもよい。
なお、検索クエリパターンに対応するメタデータがスキャン画像に存在しない場合は、S903で生成した検索クエリ以外を用いて、ステップS904に処理を進めてもよい。例えば、検索クエリパターンが「会社名and案件番号and発行日」であり、スキャン画像から取得したメタデータに案件番号が含まれていない場合には、「会社名and発行日」という検索クエリパターンを用いて、ステップS904に処理を進めてもよい。
ステップS904において、CPU401は、ステップS904で生成した検索クエリに基づいて、クラウドストレージサーバ103に対して検索指示を行う。
例えば、メタデータとして、会社名が「ABC(株)」、案件番号が「1234」、発行日が「2019年3月1日から2019年4月25日」までの範囲である証憑文書を抽出するように検索処理の指示を行う。なお、検索指示はクラウドストレージサーバ103に保存されている証憑文書のメタデータに対して行ってもよいし、ファイル名に対して行ってもよいし、OCR結果に対して行ってもよい。
ステップS905において、CPU401は、ステップS905で行った検索指示に基づいて実行された検索処理により抽出された文書を検索結果としてクラウドストレージサーバ103から取得する。なお、取得する文書は、文書ファイルのデータ自体でもよいし、格納されているファイルのファイルパスでもよいし、ファイル名や作成者などのファイルの特徴が記載されたインデックス情報(プロパティ情報)だけであってもよい。
図10は、検索処理により抽出された複数の文書をグループ化して表示する処理を説明するフローチャートである。本フローチャートは、図5のシーケンスにおけるステップS514〜S517の処理に相当する。なお、本フローチャートに示す処理は、クラウドサービスサーバ102のCPU401が、ROM402に格納されている処理プログラムをRAM403にロードすることにより実行される。
まず、ステップS1001において、クラウドサービスサーバ102のCPU401は、S702で取得した検索元文書のスキャン画像のOCR処理から、各抽出文書を分類するための分類項目となる文字列を複数個抽出する。
抽出される分類項目としては、図6A(2)の例では、項目602〜606として示されるメタデータや、表構造607〜608内に示される商品のIDや名称などの項目等がある。分類項目を抽出する手法としては、公知のTF−IDF値を用いた特徴語の抽出などを用いることができるが、この手法に限られるものではない。ただし、抽出する分類項目として、図6A(2)において609に示されるような表の見出し語など、多数の文書に含まれる可能性のある文字列や、個数、金額、日付などの数字列は不適格であるため、除外するのが好ましい。
図6A(2)の例では、請求書の明細項目欄の中から、表構造608内に示されている3項目の商品名(「Product 1」、「Product 2」、「Product 3」)を、それぞれ、分類項目として抽出する。このように、表構造内に商品名などの情報がリスト状に並んだ形式で記載されている場合、表構造を解析して分類項目として抽出することで、各商品に対応する項目ごとにグループ化することが可能である。
表構造を解析する手法としては、まず、ステップS803で実行したブロックセレクション処理の結果から、文字領域(TEXT)と線領域(LINE)のブロック情報を取得する。
ここで、図14にブロックセレクション処理の結果の一例を示す。図14(1)は、ステップS802の回転補正処理後の画像を示している。また、図14(2)は、S803のブロックセレクション処理の結果を示している。
次に、連続する2つの線領域を選択し、これらのブロック情報から、2つの線領域に挟まれている文字領域のブロック数をカウントする。この際、同じ行内にある文字領域は、列方向の位置が異なっていても、1つの文字領域としてカウントする。
図14(2)の例では、LINE(1)とLINE(2)の2つの線領域に挟まれている領域の文字領域のブロック数は「1」とカウントする。
以下、連続する2つの線領域の選択を繰り返し、すべての線領域の組み合わせにおいて、2つの線領域に挟まれている文字領域のブロック数をカウントする。すべての線領域の組み合わせにおいて文字領域のブロック数のカウントが終了したら、カウントしたブロック数の最大値をスキャンされた文書の対応文書数として取得する。
図14(2)の例では、文字領域のブロック数の最大値は、LINE(2)とLINE(3)の2つの線領域に挟まれている領域の「3」となる。そのため、対応文書数は「3」となる。
なお、表構造解析の手法は、上記のものに限られるものではない。
ステップS1002において、CPU401は、S1001で検索元文書から抽出した分類項目に基づいて、検索処理により抽出された文書のグループ化処理を行う。すなわち、各抽出文書を分類項目ごとにグループ化する。なお、グループ化処理の詳細については、図11で後述する。
ステップS1003において、CPU401は、ステップS1002のグループ化処理の結果に基づいて、ステップS704でHDD404へ保存した検索結果を更新する。このとき、各グループ内における抽出文書の登録順序は、ステップS707で算出した関連度スコアに基づいて設定する。
ステップS1004において、CPU401は、ステップS1003で更新した検索結果を提示するためのユーザインターフェースである検索結果表示画面を生成し、LAN104を通じてPCなどの情報処理端末101に送信する。なお、検索結果表示画面についての詳細は、図13で後述する。
<グループ化処理>
次に、図11を用いて、ステップS1002において実行されるグループ化処理の詳細について説明する。図11は、S704の検索処理により抽出された文書に対して行われるグループへの割当処理と、その後のグループの修正処理を含む、グループ化処理を示すフローチャートである。
まず、ステップS1101において、クラウドサービスサーバ102のCPU401は、各抽出文書について、S706で取得したOCR結果に基づいて、ステップS1001で検索元文書から抽出した1又は複数の分類項目が含まれているかを判断する。(グループへの割当処理)
抽出文書内に1又は複数の分類項目に含まれていれば、S1102において、CPU401は、その抽出文書を該当する分類項目に対応する1又は複数のグループに割り当てる。抽出文書内にいずれの分類項目も含まれていなければ、S1103において、CPU401は、その抽出文書をその他のグループに割り当てる。
図12を用いて、ステップS1102で行われる抽出文書のグループへの割当処理について説明する。図12A(1)は、検索元のスキャン対象の文書である請求書1200の例を示している。また、図12A(2)、(3)、図12B(1)〜(3)は、請求書1200について検索処理により抽出された文書である各見積書1211〜1215の例を示している。
ここで、請求書1200について、表構造内にある項目1202(「Product 1」)、項目1023(「Product 2」)、項目1204(「Product 3」)の3つが分類項目として抽出されたとする。
この場合、図12A(2)の見積書1211は、分類項目「Product 1」のグループと分類項目Product 2」のグループの、2つのグループへ割り当てられる。図12A(3)の見積書1212は、分類項目「Product 3」のグループへ割り当てられる。図12B(1)の見積書1213は、分類項目「Product 1」のグループへ割り当てられる。図12B(2)の見積書1214は、分類項目「Product 2」のグループへ割り当てられる。図12B(3)の見積書1215は、分類項目「Product 3」のグループへ割り当てられる。
ステップS1104において、検索処理により抽出されたすべての文書に対してグループへの割当処理が終了したかを判断する。
まだグループへ割り当てられていない抽出文書があれば、ステップS1101に戻り、グループへの割当処理を繰り返す。すべての抽出文書についてグループへの割当処理が終了したら、ステップS1105に進む。
ステップS1105において、CPU401は、複数のグループに割り当てられた抽出文書があるか否かを判断する。
複数のグループに割り当てられた抽出文書がない場合、図11のフローチャートは終了する。複数のグループに割り当てられた抽出文書がある場合、ステップS1106に進む。
ステップS1106において、CPU401はグループの修正処理を行う。グループの修正処理としては、2以上のグループを1つのグループに結合する結合処理や、設定された条件以上の抽出文書が含まれるようなグループを除去する除去処理などがある。
例えば、図12の例では、図12A(1)に示す見積書1211は、分類項目「Product 1」のグループと分類項目「Product 2」のグループの、2つのグループに属することとなる。この場合、図12A(1)に項目1205として示すように、分類項目「Product 1」のグループと分類項目「Product 2」のグループとを結合し、分類項目「Product 1及びProduct 2」の結合グループとする。
図12の例では、グループの結合処理により、見積書1211、1213、1214は、分類項目「Product 1及びProduct 2」の結合グループへ割り当てられることになる。また、見積書1212、1215は、分類項目「Product 3」のグループへ割り当てられることになる。
また、図12Aの例では、請求書1200の表構造解析により、見出し語のような汎用性の高い文字列1201(「Description」)についても分類項目とされてしまうことがある。こうした汎用性の高い分類項目にはほとんどの文書が含まれるようになってしまうため、グループの除去処理として、このような分類項目のグループを除去する。
例えば、あるグループに割り当てられた文書群の50%以上が他のグループにも重複して割り当てられた場合、そのグループを除去する。ただし、除去するか否かを判断する閾値は、任意であり、50%に限られるものではない。
このように、グループの修正処理を行うことにより、検索処理により抽出された各文書を1つのグループにのみ割り当て、後述の検索結果表示画面において重複して表示されないようにする。
<検索結果表示画面>
次に、図13を用いて、ステップS1004で生成される検索結果表示画面について説明する。図13Aは、クラウドサービスサーバ102の表示部309に表示される検索結果表示画面1300aの例である。
検索結果表示画面1300aにおいて、表示欄1310には、検索元文書のスキャン画像がサムネイルとして表示される。表示欄1310では、項目欄1311に示されるように、検索元文書内で分類項目として抽出された文字列がハイライト表示され、各分類項目にグループ番号が付加されて表示される。
図13Aの例では、表示欄1310には、検索元文書として請求書1200のサムネイルが表示されている。
表示欄1320には、検索元文書と同一取引で使用された証憑文書として、検索処理により抽出された文書が、文書の種別(納品書、発注書、見積書等)ごとに表示される。種別の選択欄1321において種別を選択することにより、納品書・発注書・見積書などの種別の文書ごとに抽出文書を文書リスト欄1322に表示させることが可能である。
文書リスト欄1322には、抽出文書が、検索元文書の分類項目ごとにグループ化されて、項目欄1311に示されたグループ番号との対応が分かるように見出しが付与され、サムネイルとして表示される。
図13Aの例では、請求書1200と同一取引で使用された証憑文書のうち、見積書1211〜1215が、グループ番号1〜3の各分類項目(「Product 1」、「Product 2」、「Product 3」)ごとにグループ化されて、サムネイル表示されている。
表示欄1330には、文書リスト欄1322に表示された文書のうち、PCなどの情報処理端末101の操作部307においてユーザが選択した文書が、拡大されサムネイルとして表示される。
図13Aの例では、文書リスト欄1322に表示された見積書1211〜1215のうち、見積書1212が、拡大されてサムネイル表示されている。
図13Bは、グループの結合処理が行われた後の、検索結果表示画面1300bの例である。表示欄1310では、項目欄1312に示されるように、分類項目とした抽出された文字列がハイライト表示され、さらに、結合処理のグループ番号が改めて付加されて表示される。
文書リスト欄1322には、抽出文書が、結合処理の分類項目ごとにグループ化されて、項目欄1312に示されたグループ番号との対応が分かるように見出しが改めて付与され、サムネイルとして表示される。
図13Bの例では、見積書1211〜1215が、結合処理後のグループ番号1及び2の各分類項目「Product 1及びProduct 2」、「Product 3」ごとにグループ化されて、サムネイル表示されている。
以上のとおり、実施例1によれば、検索元文書に関連する証憑文書として検索処理により抽出された抽出文書を、検索元文書のスキャン画像から抽出した分類項目を用いてグループ化処理を行い、グループごとに表示する。さらに、1つの抽出文書が複数のグループに重複して割り当てられた場合、グループの結合処理を行った後にグループごとに表示する。
これにより、検索元文書と同一取引で使用された文書のユーザによる確認作業を効率化することが可能となる。
<実施例2>
実施例1では、検索元文書に関連する証憑文書として検索処理により抽出された抽出文書をグループ化する際に用いる分類項目を、検索元文書のスキャン画像の表構造解析により自動的に抽出した。
しかし、所望のグループ化を行われない場合など、他の分類項目を用いてグループ化処理を行いたい場合もある。このような場合、様々な分類項目を選択可能とし、グループ化処理を切り替え可能とした方がより望ましい。
そこで、実施例2においては、グループ化処理する際に用いられる分類項目をユーザ操作により選択可能とする。なお、以下では、主として実施例1と差異がある箇所について説明する。
図15は、実施例2において、検索処理により抽出された複数の文書をグループ化して表示する処理を説明するフローチャートである。本フローチャートは、図5のシーケンスにおけるステップS514〜S517の処理に相当する。なお、本フローチャートに示す処理は、クラウドサービスサーバ102のCPU401が、ROM402に格納されている処理プログラムをRAM403にロードすることにより実行される。以下では、主として、図10に示した実施例1のフローチャートとの相違について説明する。
まず、ステップS1501において、クラウドサービスサーバ102のCPU401は、検索元文書のスキャン画像についてS702で取得したOCR結果から、各抽出文書をグループ化するための分類項目候補となる文字列を複数個抽出する。
分類項目候補となる文字列は、商品の名称や作業の名称などの名詞が適格であり、接続詞や動詞などは不適格であるため除外するのが好ましい。実施例2では、まず、S702で取得した文字列を形態素解析することによって名詞のみを抽出する。さらに、その中でTFIDF(TF−IDF)値によって特徴語と判断された上位30個の文字列を分類項目候補とする。ただし、分類項目候補の抽出方法やその数は、上記に限定するものではない。
ステップS1502において、CPU401は、ステップS1501で抽出した分類項目候補の中から、ユーザによる操作に基づいて、グループ化に用いる分類項目を指定する。
本実施例では、PCなどの情報処理端末101の表示部309において、分類項目候補となる文字列がハイライト表示された検索元文書について、ユーザが操作部307を用いて所望の分類項目候補を選択する。
CPU401は、S1502で指定された分類項目候補に基づいて、ステップS1503〜S1505の処理を実行する。なお、ステップS1503〜S1505の処理は、実施例1で説明した図10のステップS1002〜S1004と同様であるため、詳細な説明は省略する。なお、S1505で生成される検索結果表示画面において、分類項目候補の指定を変更して、グループ化処理をやり直すことも可能である。
なお、実施例1のグループ化処理によって適切にグループ化できなかった場合など、他のグループ化処理の結果に応じて、本実施例のグループ化処理に切り替えることも可能である。
また、例えば、請求書を検索元文書として、見積書を検索する際は、実施例1のグループ化処理を行い、納品書を検索する際は、実施例2のように分類項目候補を選択することにより、グループ化処理を行うようにしてもよい。
以上のとおり、実施例2によれば、抽出文書のグループ化処理を行う際に、検索元文書のスキャン画像から抽出した分類項目候補からユーザが選択した分類候補を用いてグループ化処理を行う。
これにより、実施例1の効果に加えて、より適切なグループ化処理を行うことが可能となる。
<実施例3>
実施例1及び実施例2では、検索元文書に関連する証憑文書として検索処理により抽出された抽出文書をグループ化する際に用いる分類項目を、検索元文書のスキャン画像からに抽出した。
しかし、検索元文書内に、グループ化処理を行う際に用いる分類項目として適切な文字列が記載されているとは限らない。
そこで、実施例3では、検索元文書からのみではなく、検索処理により抽出された文書からも、分類項目を抽出可能とする。
図16は、実施例3において、検索処理により抽出された複数の文書をグループ化して表示する処理を説明するフローチャートである。本フローチャートは、図5のシーケンスにおけるステップS514〜S517の処理に相当する。なお、本フローチャートに示す処理は、クラウドサービスサーバ102のCPU401が、ROM402に格納されている処理プログラムをRAM403にロードすることにより実行される。以下では、主として、図10に示した実施例1のフローチャートとの差異について説明する。
まず、ステップS1601において、クラウドサービスサーバ102のCPU401は、検索処理により抽出された文書についてS706で取得したOCR結果から、各抽出文書をグループ化するための分類項目候補となる文字列を複数個抽出する。
抽出される分類項目としては、商品のIDや名称などの項目等がある。分類項目候補を抽出する手法としては、公知のTF−IDF値を用いた特徴語の抽出などを用いることができるが、この手法に限られるものではない。ただし、抽出する分類項目として、表の見出し語など、多数の文書に含まれる可能性のある文字列や、個数、金額、日付などの数字列は不適格であるため、除外するのが好ましい。
ステップS1602において、CPU401は、ステップS1601で抽出した分類項目候補の中から、ユーザによる操作に基づいて、グループ化に用いる分類項目を指定する。
本実施例では、PCなどの情報処理端末101の表示部309において、分類項目候補となる文字列がハイライト表示された抽出文書について、ユーザが操作部307を用いて所望の分類項目候補を選択する。
例えば、複数の納品書が表示されている状態において、ある納品書から「納品No」という文字列をユーザが選択した場合、「納品No」という記載の有無に基づいて、各納品書をグループ化することができる。
CPU401は、S1602で指定された分類項目候補に基づいて、ステップS1603〜S1605の処理を実行する。なお、ステップS1603〜S1605の処理は、実施例1で説明した図10のステップS1002〜S1004と同様であるため、詳細な説明は省略する。なお、S1505で生成される検索結果表示画面において、分類項目候補の指定を変更して、グループ化処理をやり直すことも可能である。
なお、実施例1や実施例2のグループ化処理によって適切にグループ化できなかった場合など、他のグループ化処理の結果に応じて、本実施例のグループ化処理に切り替えることも可能である。
また、例えば、請求書を検索元文書として、見積書を検索する際は実施例1のグループ化処理を行い、納品書を検索する際は実施例3のグループ化処理を行うようにしてもよい。
以上のとおり、実施例3によれば、抽出文書のグループ化処理を行う際に、検索処理により抽出された文書から抽出した分類項目候補からユーザが選択した分類候補を用いてグループ化処理を行う。
これにより、実施例1のグループ化処理により適切なグループ化が行われない場合においても、適切なグループ化処理を行うことが可能となる。
<その他の実施例>
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上述の実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形が可能であり、それらを本発明の範囲から除外するものではない。すなわち、上述した実施例及びその変形例を組み合わせた構成もすべて本発明に含まれるものである。
10 文書提示システム
100 画像形成装置
102 クラウドサービスサーバ

Claims (17)

  1. 文書から複数の項目を抽出する抽出手段と、
    前記複数の項目のそれぞれに対応するグループを生成する生成手段と、
    検索元文書に関連する複数の関連文書のそれぞれについて、前記項目に対応する記載に基づいて、1又は複数の前記グループに割り当てる割当手段と、
    前記複数の項目のそれぞれに対応する前記グループごとに割り当てられた前記関連文書を提示するユーザインターフェースを生成する提示手段と、
    を有することを特徴とする文書提示システム。
  2. 前記文書は、前記検索元文書である
    ことを特徴とする請求項1に記載の文書提示システム。
  3. 前記文書は、前記関連文書である
    ことを特徴とする請求項1に記載の文書提示システム。
  4. 前記文書は、前記検索元文書及び前記関連文書であり、
    前記抽出手段は、前記複数の項目を、前記検索元文書から抽出するか、前記関連文書から抽出するか、を切り替え可能である
    ことを特徴とする請求項1に記載の文書提示システム。
  5. さらに、前記検索元文書に関連する複数の関連文書を検索する検索手段を有し、
    前記関連文書は、前記検索手段により抽出された文書である
    ことを特徴とする請求項1乃至4のいずれか1項に記載の文書提示システム。
  6. 前記項目は、前記文書のスキャン画像から抽出される
    ことを特徴とする請求項1乃至5のいずれか1項に記載の文書提示システム。
  7. 前記項目は、前記文書の表構造から抽出される
    ことを特徴とする請求項6に記載の文書提示システム。
  8. 前記抽出手段は、前記項目を自動的に抽出する
    ことを特徴とする請求項1乃至7のいずれか1項に記載の文書提示システム。
  9. 前記抽出手段は、前記項目をユーザ操作に基づいて抽出する
    ことを特徴とする請求項1乃至8のいずれか1項に記載の文書提示システム。
  10. 前記関連文書に前記項目と同じ文字列が記載されている場合に、前記割当手段は前記関連文書を前記項目に対応するグループに割り当てる
    ことを特徴とする請求項1乃至9のいずれか1項に記載の文書提示システム。
  11. さらに、前記生成された複数のグループの修正処理を行う修正手段を有する
    ことを特徴とする請求項1乃至10のいずれか1項に記載の文書提示システム。
  12. 前記修正処理は、前記生成された複数のグループのうち、2以上のグループを1のグループに結合する結合処理である
    ことを特徴とする請求項11に記載の文書提示システム。
  13. 前記結合処理は、同じ関連文書が割り当てられた2以上の前記グループを1のグループに結合する処理である
    ことを特徴とする請求項12に記載の文書提示システム。
  14. 前記修正処理は、前記生成された複数のグループのうち、1以上のグループを除去する除去処理である
    ことを特徴とする請求項11に記載の文書提示システム。
  15. 前記除去処理は、予め設定された条件以上の前記関連文書が割り当てられた前記グループを除去する処理である
    ことを特徴とする請求項14に記載の文書提示システム。
  16. 文書から複数の項目を抽出する抽出手段と、
    前記複数の項目のそれぞれに対応するグループを生成する生成手段と、
    を有する文書提示システムにおける文書提示方法であって、
    検索元文書に関連する複数の関連文書のそれぞれについて、前記項目に対応する記載に基づいて、1又は複数の前記グループに割り当てるステップと、
    前記複数の項目のそれぞれに対応する前記グループごとに割り当てられた前記関連文書を提示するユーザインターフェースを生成するステップと、
    を有することを特徴とする文書提示方法。
  17. 請求項16に記載の文書提示方法をコンピュータにより実行させるためのプログラム。
JP2020007403A 2020-01-21 2020-01-21 文書提示システム、文書提示方法及びプログラム Pending JP2021114226A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020007403A JP2021114226A (ja) 2020-01-21 2020-01-21 文書提示システム、文書提示方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020007403A JP2021114226A (ja) 2020-01-21 2020-01-21 文書提示システム、文書提示方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2021114226A true JP2021114226A (ja) 2021-08-05

Family

ID=77077072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020007403A Pending JP2021114226A (ja) 2020-01-21 2020-01-21 文書提示システム、文書提示方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2021114226A (ja)

Similar Documents

Publication Publication Date Title
JP4118349B2 (ja) 文書選択等の方法及び文書サーバ
JP5181886B2 (ja) 電子書類の検索方法、検索システム及びコンピュータプログラム
US8532384B2 (en) Method of retrieving information from a digital image
US8429154B2 (en) Document search device, imaging forming apparatus, and document search system
CN101611406A (zh) 文档存档***
EP2884425B1 (en) Method and system of extracting structured data from a document
US20120046937A1 (en) Semantic classification of variable data campaign information
US20230206672A1 (en) Image processing apparatus, control method of image processing apparatus, and storage medium
JP5764080B2 (ja) Web検索システムおよびWeb検索方法
CN112000834A (zh) 文档处理方法、装置、***、电子设备及存储介质
US20170242851A1 (en) Non-transitory computer readable medium, information search apparatus, and information search method
Tolonen et al. The Anatomy of Eighteenth Century Collections Online (ECCO)
US20240211518A1 (en) Automated document intake system
US11657367B2 (en) Workflow support apparatus, workflow support system, and non-transitory computer readable medium storing program
JP2021114225A (ja) ファイル検索システム、ファイル検索方法及びプログラム
JP2021114224A (ja) ファイル検索システム、ファイル検索方法及びプログラム
JP2009075678A (ja) 画像処理装置、画像処理方法、画像処理プログラム及び記憶媒体
JP2021114226A (ja) 文書提示システム、文書提示方法及びプログラム
JP2020166811A (ja) 文書フォームの識別
JP6140835B2 (ja) 情報検索システムおよび情報検索方法
JP4952079B2 (ja) 画像処理装置、方法及びプログラム
Budig et al. Glyph miner: a system for efficiently extracting glyphs from early prints in the context of OCR
Jones et al. Abstract images have different levels of retrievability per reverse image search engine
JPH1021043A (ja) アイコン生成方法、ドキュメント検索方法及びドキュメント・サーバー
JP2017204054A (ja) 相性算出装置、相性算出方法、およびコンピュータプログラム