(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024117093
(43)【公開日】2024-08-29
(54)【発明の名称】情報処理装置、ファイル管理システム、プログラム及びファイル管理方法
(51)【国際特許分類】
G06F 16/583 20190101AFI20240822BHJP
【FI】
G06F16/583
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023022972
(22)【出願日】2023-02-17
(71)【出願人】
【識別番号】000005049
【氏名又は名称】シャープ株式会社
(74)【代理人】
【識別番号】100147304
【弁理士】
【氏名又は名称】井上 知哉
(74)【代理人】
【識別番号】100148493
【弁理士】
【氏名又は名称】加藤 浩二
(72)【発明者】
【氏名】松尾 篤史
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA02
5B175FA01
5B175FB03
5B175GA03
(57)【要約】
【課題】項目値の適否判定結果をユーザに提示する情報処理装置、ファイル管理システム、プログラム及びファイル管理方法等の提供。
【解決手段】情報処理装置は、原稿に基づくファイルを取得する取得部と、予め設定された項目名を表す文字列をキーワードとして記憶する記憶部と、ファイルのテキスト情報からキーワードと、キーワードに対応する項目名の項目値を表す文字列を検出し、項目値が適切か否かを判定し、項目値が適切でないと判定された場合、ファイルに対応付けてアラート情報を出力する処理を行う処理部と、を含む。
【選択図】
図3
【特許請求の範囲】
【請求項1】
原稿に基づくファイルを取得する取得部と、
予め設定された項目名を表す文字列をキーワードとして記憶する記憶部と、
前記ファイルのテキスト情報から前記キーワードと、前記キーワードに対応する前記項目名の項目値を表す文字列を検出し、前記項目値が適切か否かを判定し、前記項目値が適切でないと判定された場合、前記ファイルに対応付けてアラート情報を出力する処理を行う処理部と、
を含む情報処理装置。
【請求項2】
請求項1において、
前記処理部は、
前記ファイルの属性毎に、前記項目名と、適切な前記項目値を表す文字列パターンを対応付けた情報を取得し、前記文字列パターンに基づいて、前記項目値が適切か否かを判定する情報処理装置。
【請求項3】
請求項1又は2において、
前記処理部は、
前記項目値として、人物または組織の名称を表す情報が取得された場合に、前記人物又は前記組織が実在するか、または、前記人物又は前記組織と、前記ファイルを利用するユーザが関係を有するかに基づいて、前記項目値が適切か否かを判定する情報処理装置。
【請求項4】
請求項1又は2において、
前記処理部は、
前記項目値として、タイミングを表す情報が取得された場合に、前記ファイルの属性に基づいて基準タイミングを決定し、前記項目値によって表される前記タイミングと、前記基準タイミングの関係に基づいて、前記項目値が適切か否かを判定する情報処理装置。
【請求項5】
請求項1又は2において、
前記処理部は、
前記項目値として、数量を表す数値情報が取得された場合に、前記ファイルの属性に基づいて基準値を決定し、前記数値情報と前記基準値の関係に基づいて、前記項目値が適切か否かを判定する情報処理装置。
【請求項6】
請求項1又は2において、
前記処理部は、
過去に前記項目値として取得された履歴項目値の情報を取得し、前記ファイルから検出された前記項目値と、前記履歴項目値の関係に基づいて、前記項目値が適切であるか否かを判定する情報処理装置。
【請求項7】
請求項1または2において、
前記処理部は、
前記項目名に対応する適切な前記項目値が正解データとして付与された訓練データに基づく機械学習によって生成された学習済モデルを取得し、前記学習済モデルに基づいて、前記項目値が適切か否かを判定する情報処理装置。
【請求項8】
請求項1又は2において、
前記処理部は、
画像データとして取得された前記ファイルに対して、OCR(Optical Character Recognition/Reader)処理を行うことによって、前記テキスト情報を取得する情報処理装置。
【請求項9】
請求項1または2において、
前記処理部は、
前記ファイルにおける前記キーワードの位置と、前記ファイルの属性に対応するレイアウト情報とに基づいて、前記項目名に対応する前記項目値を検出する情報処理装置。
【請求項10】
請求項1または2において、
前記処理部は、
前記ファイルに前記キーワードが含まれない場合、及び、前記ファイルに前記キーワードが含まれるが、前記キーワードに対応する前記項目名の前記項目値が含まれない場合、前記ファイルに対応付けて前記アラート情報を出力する情報処理装置。
【請求項11】
原稿に基づくファイルを取得する画像読取り装置と、
前記画像読取り装置から前記ファイルを取得し、取得した前記ファイルの出力処理を行う情報処理装置と、
を含み、
前記情報処理装置は、
予め設定された項目名を表す文字列をキーワードとして記憶し、
前記ファイルのテキスト情報から前記キーワードと、前記キーワードに対応する項目名の項目値を表す文字列を検出し、
前記項目値が適切か否かを判定し、
前記項目値が適切でないと判定された場合、前記ファイルに対応付けてアラート情報を出力する、
ファイル管理システム。
【請求項12】
原稿に基づくファイルを取得する取得部と、
処理部としてコンピュータを機能させ、
前記処理部は、
予め設定された項目名を表す文字列をキーワードとして取得し、
前記ファイルのテキスト情報から前記キーワードと、前記キーワードに対応する項目名の項目値を表す文字列を検出し、
前記項目値が適切か否かを判定し、
前記項目値が適切でないと判定された場合、前記ファイルに対応付けてアラート情報を出力する処理を行う、
プログラム。
【請求項13】
原稿に基づくファイルを取得し、
予め設定された項目名を表す文字列をキーワードとして取得し、
前記ファイルのテキスト情報から前記キーワードと、前記キーワードに対応する項目名の項目値を表す文字列を検出し、
前記項目値が適切か否かを判定し、
前記項目値が適切でないと判定された場合、前記ファイルに対応付けてアラート情報を出力する処理を行う、
ファイル管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、ファイル管理システム、プログラム及びファイル管理方法等に関する。
【背景技術】
【0002】
従来、原稿に対応するファイルデータの処理を行う手法が知られている。例えば特許文献1には、帳票画像に含まれる項目名と項目値の関係を評価する帳票認識装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の手法は、項目値らしさを表す項目値尤度を算出することを開示するにとどまり、項目値が適切な内容であるか否かを判定しない。
【0005】
本開示のいくつかの態様によれば、項目値の適否判定結果をユーザに提示する情報処理装置、ファイル管理システム、プログラム及びファイル管理方法等を提供できる。
【課題を解決するための手段】
【0006】
本開示の一態様は、原稿に基づくファイルを取得する取得部と、予め設定された項目名を表す文字列をキーワードとして記憶する記憶部と、前記ファイルのテキスト情報から前記キーワードと、前記キーワードに対応する前記項目名の項目値を表す文字列を検出し、前記項目値が適切か否かを判定し、前記項目値が適切でないと判定された場合、前記ファイルに対応付けてアラート情報を出力する処理を行う処理部と、を含む情報処理装置に関係する。
【0007】
本開示の他の態様は、原稿に基づくファイルを取得する画像読取り装置と、前記画像読取り装置から前記ファイルを取得し、取得した前記ファイルの出力処理を行う情報処理装置と、を含み、前記情報処理装置は、予め設定された項目名を表す文字列をキーワードとして記憶し、前記ファイルのテキスト情報から前記キーワードと、前記キーワードに対応する項目名の項目値を表す文字列を検出し、前記項目値が適切か否かを判定し、前記項目値が適切でないと判定された場合、前記ファイルに対応付けてアラート情報を出力する、ファイル管理システムに関係する。
【0008】
本開示のさらに他の態様は、原稿に基づくファイルを取得する取得部と、処理部としてコンピュータを機能させ、前記処理部は、予め設定された項目名を表す文字列をキーワードとして取得し、前記ファイルのテキスト情報から前記キーワードと、前記キーワードに対応する項目名の項目値を表す文字列を検出し、前記項目値が適切か否かを判定し、前記項目値が適切でないと判定された場合、前記ファイルに対応付けてアラート情報を出力する処理を行う、プログラムに関係する。
【0009】
本開示のさらに他の態様は、原稿に基づくファイルを取得し、予め設定された項目名を表す文字列をキーワードとして取得し、前記ファイルのテキスト情報から前記キーワードと、前記キーワードに対応する項目名の項目値を表す文字列を検出し、前記項目値が適切か否かを判定し、前記項目値が適切でないと判定された場合、前記ファイルに対応付けてアラート情報を出力する処理を行う、ファイル管理方法に関係する。
【図面の簡単な説明】
【0010】
【
図6】情報処理装置における処理を説明するフローチャートである。
【
図9】ファイル属性と項目名の対応関係を表す情報(プロファイル)の例である。
【
図10】必須の項目名が存在しないと判定されるファイルデータの例である。
【
図11】項目名に対応する項目値が存在しないと判定されるファイルデータの例である。
【
図12】ファイルに対応付けてアラート情報を表示する画面例である。
【
図13】項目名と適切な項目値の対応関係を表す情報(プロファイル)の例である。
【
図14】項目名と適切な項目値の対応関係を表す情報(プロファイル)の他の例である。
【
図15】項目値が適切でないと判定されるファイルデータの例である。
【
図16】項目名と適切な項目値の対応関係を表す情報(プロファイル)の他の例である。
【
図17A】履歴項目値の取得に用いられるファイルデータの例である。
【
図17B】履歴項目値との比較処理が行われるファイルデータの例である。
【
図18】ファイルデータの再発行が行われる例を示す図である。
【
図19】ファイルデータの再発行が行われる他の例を示す図である。
【
図20A】履歴項目値の取得に用いられるファイルデータの例である。
【
図20B】履歴項目値との比較処理が行われるファイルデータの例である。
【
図20C】アラート情報の出力後に取得されるファイルデータの例である。
【発明を実施するための形態】
【0011】
以下、本実施形態について図面を参照しつつ説明する。図面については、同一又は同等の要素には同一の符号を付し、重複する説明は省略する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本開示の必須構成要件であるとは限らない。
【0012】
1.システム構成例
図1は、本実施形態に係る情報処理装置200を含むファイル管理システム10の構成例を示す図である。ファイル管理システム10は、画像形成装置100と、情報処理装置200と、サーバ300を含む。ただし、ファイル管理システム10の構成は
図1の例に限定されず、一部の構成を省略する、あるいは他の構成を追加する等の種々の変形実施が可能である。
【0013】
図1に示すように、画像形成装置100、情報処理装置200及びサーバ300は、ネットワークNWを介して接続される。例えば、画像形成装置100と、情報処理装置200は、同一の構内(たとえば、同一建物や同一フロア)に配置され、構内ネットワーク(LAN:Local Area Network)を介して接続されてもよい。また、サーバ300は、インターネットのような広域ネットワーク(WAN:Wide Area Network)に接続され、LANが、図示しないルータのような異なるネットワーク同士を相互接続するネットワーク機器を介して、WANに接続されることによって、
図1に示すネットワークNWが構成されてもよい。ただし、ネットワークNWの態様はこれに限定されない。
【0014】
画像形成装置100は、画像データを処理する装置である。例えば画像形成装置100は、複写機能、印刷機能、スキャナ機能、FAX機能、通信機能などを備えた複合機(MFP:Multifunction Peripheral)であってもよい。MFPは、例えば多数のユーザが利用する共用装置である。
【0015】
情報処理装置200は、パソコン、タブレット端末、スマートフォン、その他の携帯端末などの電子機器である。情報処理装置200は、例えば1人のユーザが所有するユーザ端末であり、そのユーザのみが使用できる機器である。ただし、情報処理装置200が複数のユーザによって共有されることも妨げられない。
【0016】
サーバ300は、画像形成装置100や情報処理装置200から送信されてきた情報を記憶する装置である。また、サーバ300は、画像形成装置100や情報処理装置200の要求に基づいて、サーバ300に記憶されている情報を送信する装置である。ここでのサーバ300は、1つのサーバであってもよいし、複数のサーバを含んでもよい。例えばサーバ300は、データベースサーバとアプリケーションサーバを含んでもよい。データベースサーバは、画像形成装置100や情報処理装置200から送信されてきた情報を記憶する。アプリケーションサーバは、これらの情報に基づいて種々の処理を行う。また、以下の説明において画像形成装置100や情報処理装置200が実行する処理の少なくとも一部が、アプリケーションサーバによって実行されてもよい。なおここでの複数のサーバは、物理サーバであってもよいし仮想サーバであってもよい。また仮想サーバが用いられる場合、当該仮想サーバは1つの物理サーバに設けられてもよいし、複数の物理サーバに分散して配置されてもよい。以上のように、本実施形態におけるサーバ300の具体的な構成は種々の変形実施が可能である。
【0017】
また本実施形態におけるサーバ300は、NAS(Network Attached Storage)やクラウドストレージ等、ネットワークNWに接続される記憶装置により実現されてもよい。
【0018】
図2は、画像形成装置100の構成例を示す図である。画像形成装置100は、処理部110、記憶部120、通信部130、画像形成部140、操作部150及び表示部160を含む。ただし、画像形成装置100の構成は
図2に限定されず、一部の構成を省略する、あるいは他の構成を追加する等の変形実施が可能である。また構成の省略、追加等の変形実施が可能である点は、後述する
図3、
図4等においても同様である。
【0019】
処理部110は、画像形成装置100の各構成要素の動作制御を含む種々の処理を実行する。本実施形態の処理部110は、下記のハードウェアによって構成される。ハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、ハードウェアは、回路基板に実装された1又は複数の回路装置や、1又は複数の回路素子によって構成できる。1又は複数の回路装置は例えばIC(Integrated Circuit)、FPGA(field-programmable gate array)等である。1又は複数の回路素子は例えば抵抗、キャパシター等である。
【0020】
また処理部110は、下記のプロセッサによって実現されてもよい。本実施形態の画像形成装置100は、情報を記憶するメモリと、メモリに記憶された情報に基づいて動作するプロセッサと、を含む。情報は、例えばプログラムと各種のデータ等である。メモリは、記憶部120であってもよいし、他のメモリであってもよい。プロセッサは、ハードウェアを含む。プロセッサは、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)等、各種のプロセッサを用いることが可能である。メモリは、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリなどの半導体メモリであってもよいし、レジスタであってもよいし、ハードディスク装置(HDD:Hard Disk Drive)等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリはコンピュータによって読み取り可能な命令を格納しており、当該命令をプロセッサが実行することによって、処理部110の機能が処理として実現される。ここでの命令は、プログラムを構成する命令セットの命令でもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
【0021】
記憶部120は、処理部110のワーク領域であって、種々の情報を記憶する。記憶部120は、種々のメモリによって実現が可能であり、メモリは、SRAM、DRAM、ROM(Read Only Memory)、フラッシュメモリなどの半導体メモリであってもよいし、レジスタであってもよいし、磁気記憶装置であってもよいし、光学式記憶装置であってもよい。例えば記憶部120は、画像形成部140によって形成された画像データ(本実施形態ではファイルデータとも記載)を記憶してもよい。
【0022】
通信部130は、ネットワークNWを介した通信を行うためのインターフェイスであり、画像形成装置100が無線通信を行う場合、例えばアンテナ、RF(radio frequency)回路、及びベースバンド回路を含む。ただし画像形成装置100は有線通信を行ってもよく、その場合の通信部130は、イーサネットコネクタ等の通信インターフェイス及び、当該通信インターフェイスの制御回路等を含んでもよい。通信部130は、処理部110による制御に従って動作してもよいし、処理部110とは異なる通信制御用のプロセッサを含んでもよい。通信部130は、例えばIEEE802.11やIEEE802.3に規定された方式に従った通信を行ってもよい。ただし具体的な通信方式はこれに限定されず、既存のあらゆる規格、及びそれらを発展させた規格に基づく通信方式を利用できる。
【0023】
画像形成部140は、スキャナなどによって入力されたデータから、出力できる形態の画像情報を形成する部分である。例えば、画像形成装置100が印刷機能を実行する場合、画像形成部140は、読み込んだ画像データを、印刷できる形式の画像情報に変換する。なお画像形成装置100がスキャン機能を実行する場合に用いられるスキャナは、SPF(Single Pass Feeder)等の原稿送り装置を用いて原稿を読み取るものであってもよいし、読取り部を搭載したキャリッジを駆動させることによって原稿台にセットされた原稿を読み取るものであってもよい。
【0024】
操作部150は、ユーザ操作を受け付けるインターフェイスである。操作部150は、画像形成装置100に設けられるボタン等であってもよい。表示部160は、種々の情報を表示するインターフェイスであり、液晶ディスプレイであってもよいし、有機ELディスプレイであってもよいし、他の方式のディスプレイであってもよい。また操作部150と表示部160は、一体として構成されるタッチパネルであってもよい。
【0025】
図3は、情報処理装置200の構成例を示す図である。情報処理装置200は、処理部210、記憶部220、通信部230、操作部240、表示部250を含む。
【0026】
処理部210は、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むハードウェアによって構成される。また処理部210は、プロセッサによって実現されてもよい。プロセッサは、CPU、GPU、DSP等、各種のプロセッサを用いることが可能である。情報処理装置200のメモリに格納された命令をプロセッサが実行することによって、処理部210の機能が処理として実現される。
【0027】
処理部210は、ファイル取得部211、OCR処理部212、項目名検出部213、項目値検出部214、判定部215、出力処理部216を含む。
【0028】
ファイル取得部211は、通信部230を介して、情報処理装置200とは異なる外部機器からファイルデータを取得する。ここでの外部機器は、例えば画像形成装置100である。例えばファイル取得部211は、画像形成装置100がスキャン機能を用いて形成した画像データであるファイルデータを、当該画像形成装置100から取得する処理を行う。
【0029】
OCR処理部212は、ファイルデータに対するOCR(Optical Character Recognition/Reader)処理を実行することによって、当該ファイルデータに対応するテキスト情報を取得する。なおOCR処理については公知であるため、詳細な説明は省略する。
【0030】
項目名検出部213は、テキスト情報から項目名を検出する処理を行う。例えば、本実施形態におけるファイルとは、帳票等の原稿に基づくデータであり、当該原稿には、項目名と、当該項目名に対応する値である項目値が記載される。項目名検出部213は、ファイルデータのテキスト情報から、ユーザによって指定された項目名を検出する処理を行ってもよい。
【0031】
項目値検出部214は、テキスト情報から項目値を検出する処理を行う。項目値検出部214は、例えばテキスト情報から、項目名検出部213によって検出された項目名に対応する項目値を検出する処理を行ってもよい。
【0032】
判定部215は、項目名及び項目値の検出結果に基づく判定処理を行う。例えば判定部215は、必須の項目名が存在するか否か、必須の項目名に対応する項目値が存在するか否か、及び、項目値が適切であるか否か等の判定を行ってもよい。判定部215における判定の詳細については後述する。
【0033】
出力処理部216は、ファイル取得部211によって取得されたファイルデータの出力処理を行う。また出力処理部216は、ファイルデータに対応付けて、判定部215における判定結果を表す情報を出力してもよい。ここでの出力とは、例えば表示部250における表示処理である。ただし本実施形態における出力処理は表示処理に限定されない。例えば情報処理装置200は不図示のスピーカーを含み、出力処理部216は、当該スピーカーを用いた音声の出力処理を行ってもよい。また情報処理装置200は不図示の発光部(例えばLED:light-emitting diode)や、振動部(例えばモーター)を含んでもよい。そして出力処理部216は、発光部の発光や、振動部の振動による出力処理を行ってもよい。その他、出力処理の具体的な態様は、種々の変形実施が可能である。
【0034】
記憶部220は、処理部210のワーク領域であって、SRAM、DRAM、ROM等の種々のメモリによって実現される。記憶部220は、画像形成装置100から取得したファイルデータを記憶する。
【0035】
また記憶部220は、プロファイルを記憶してもよい。ここでのプロファイルとは、ファイルデータの処理における規則を表す情報であり、例えばファイル属性、項目名データ(キーワード)、項目値データ等を対応付けた情報であってもよい。ファイル属性とは、「見積書」や「請求書」等、ファイルデータの元となる原稿の属性を表す情報である。項目名データとは、対象の属性を有するファイルデータに含まれるべき1または複数の項目名を表す情報である。項目名データは、例えば
図8を用いて後述するように、項目名を表す文字列であるキーワードであってもよい。項目値データとは、対象の項目名に対応付けられるべき項目値を特定する情報であり、適切な項目値の候補の集合であってもよいし、項目値が適切か否かを判定する基準であってもよい。プロファイルの例については、
図9、
図13、
図14、
図16等を用いて後述する。
【0036】
通信部230は、ネットワークNWを介した通信を行うためのインターフェイスである。ここでの通信は、有線であってもよいし無線であってもよい。また具体的な通信方式は限定されず、既存のあらゆる規格、及びそれらを発展させた規格に基づく通信方式を利用できる。
【0037】
操作部240は、ユーザ操作を受け付けるインターフェイスである。操作部240は、情報処理装置200に設けられるボタン等であってもよいし、マウス等のポインティングデバイスであってもよいし、キーボードであってもよい。表示部250は、種々の情報を表示するインターフェイスであり、液晶ディスプレイであってもよいし、有機ELディスプレイであってもよいし、他の方式のディスプレイであってもよい。また操作部240と表示部250は、一体として構成されるタッチパネルであってもよい。
【0038】
図4は、サーバ300の構成例を示す図である。サーバ300は、処理部310、記憶部320、通信部330を含む。
【0039】
処理部310は、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むハードウェアによって構成される。また処理部310は、プロセッサによって実現されてもよい。プロセッサは、CPU、GPU、DSP等、各種のプロセッサを用いることが可能である。サーバ300のメモリに格納された命令をプロセッサが実行することによって、処理部310の機能が処理として実現される。
【0040】
記憶部320は、処理部310のワーク領域であって、SRAM、DRAM、ROM等の種々のメモリによって実現される。記憶部320は、画像形成装置100や情報処理装置200から取得したファイルデータを記憶する。
【0041】
通信部330は、ネットワークNWを介した通信を行うためのインターフェイスである。ここでの通信は、有線であってもよいし無線であってもよい。また具体的な通信方式は限定されず、既存のあらゆる規格、及びそれらを発展させた規格に基づく通信方式を利用できる。
【0042】
以上で説明したように、本実施形態に係る情報処理装置200は、原稿に基づくファイルを取得する取得部(例えば通信部230)と、予め設定された項目名を表す文字列をキーワード(プロファイル)として記憶する記憶部220と、処理部210を含む。そして処理部210(項目名検出部213及び項目値検出部214)は、ファイルのテキスト情報からキーワードと、キーワードに対応する項目名の項目値を表す文字列を検出する。さらに処理部210(判定部215)は、項目値が適切か否かを判定する。そして処理部210(出力処理部216)は、項目値が適切でないと判定された場合、ファイルに対応付けてアラート情報を出力する処理を行う。
【0043】
本実施形態の手法によれば、項目値の有無にとどまらず、項目値が適切か否かを判定できる。例えば後述するように、判定部215は、項目値として取得された名称、タイミング、数量等が所定の条件を満たすか否かを判定してもよい。そのため、不適切なファイルが取得されていなかを適切に判定できる。さらに本実施形態の手法では、項目値が適切でないと判定された場合に、その旨がアラート情報として出力される。具体的な出力例については、
図12を用いて後述する。アラート情報が出力されることによって、誤りが疑われるファイルの確認をユーザに促すこと等が可能になる。
【0044】
また本実施形態の手法は、情報処理装置200に適用されるものに限定されない。例えば本実施形態の手法は、
図1に示したように、原稿に基づくファイルを取得する画像読取り装置(画像形成装置100)と、画像読取り装置からファイルを取得し、取得したファイルの出力処理を行う情報処理装置200と、を含むファイル管理システム10に適用できる。情報処理装置200は、予め設定された項目名を表す文字列をキーワードとして記憶し、ファイルのテキスト情報からキーワードと、キーワードに対応する項目名の項目値を表す文字列を検出し、項目値が適切か否かを判定し、項目値が適切でないと判定された場合、ファイルに対応付けてアラート情報を出力する。
【0045】
また、本実施形態のファイル管理システム10が行う処理の一部又は全部は、プログラムによって実現されてもよい。ファイル管理システム10が行う処理とは、狭義には情報処理装置200の処理部210が行う処理であるが、画像形成装置100やサーバ300が実行する処理を含んでもよい。
【0046】
本実施形態に係るプログラムは、例えばコンピュータによって読み取り可能な媒体である非一時的な情報記憶媒体(情報記憶装置)に格納できる。情報記憶媒体は、例えば光ディスク、メモリーカード、HDD、或いは半導体メモリなどによって実現できる。半導体メモリは例えばROMである。処理部210等は、情報記憶媒体に格納されるプログラムに基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体は、処理部210等としてコンピュータを機能させるためのプログラムを記憶する。コンピュータは、入力装置、処理部、記憶部、出力部を備える装置である。具体的には本実施形態に係るプログラムは、
図6等を用いて後述する各ステップを、コンピュータに実行させるためのプログラムである。
【0047】
例えばプログラムは、原稿に基づくファイルを取得する取得部(例えばファイル取得部211)と、処理部(例えばOCR処理部212、項目名検出部213、項目値検出部214、判定部215及び出力処理部216)としてコンピュータを機能させる。ここでの処理部は、予め設定された項目名を表す文字列をキーワードとして取得し、ファイルのテキスト情報からキーワードと、キーワードに対応する項目名の項目値を表す文字列を検出し、項目値が適切か否かを判定し、項目値が適切でないと判定された場合、ファイルに対応付けてアラート情報を出力する処理を行う。
【0048】
また本実施形態の手法は、以下の各ステップを実行するファイル管理方法に適用できる。ファイル管理方法は、原稿に基づくファイルを取得するステップと、予め設定された項目名を表す文字列をキーワードとして取得するステップと、ファイルのテキスト情報からキーワードと、キーワードに対応する項目名の項目値を表す文字列を検出するステップと、項目値が適切か否かを判定するステップと、項目値が適切でないと判定された場合、ファイルに対応付けてアラート情報を出力する処理を行うステップと、を含む。
【0049】
また以上では画像形成装置100(MFP)から原稿の読み取り結果であるファイルデータを取得し、情報処理装置200において当該ファイルデータに関する判定処理及び出力処理を行う例を説明した。ただし本実施形態の手法はこれに限定されない。
【0050】
図5は、本実施形態に係るファイル管理システム10の他の構成例を示す図である。例えば、ファイル管理システム10は、情報処理装置200にファイルデータを送信する外部機器として、第2情報処理装置410、携帯端末装置420、撮像装置430等の画像形成装置100以外の装置を含んでもよい。なお
図5では省略されているが、ファイル管理システム10がサーバ300等の他の機器を含んでもよい点は、
図1の例と同様である。
【0051】
例えば第2情報処理装置410は、情報処理装置200とは異なるユーザによって使用されるPC等である。第2情報処理装置410は、画像形成装置100や他のスキャナからファイルデータを取得してもよい。あるいは第2情報処理装置410は、原稿に対応するデータを作成するアプリケーションソフトウェアを記憶しており、当該アプリケーションソフトウェアに従って動作することによってファイルデータを作成してもよい。ここでのアプリケーションソフトウェアは、例えば帳票等のテンプレートに従ってデータを作成可能な文書作成ソフトや表計算ソフト等であってもよい。なおこの例から分かるように、本実施形態における「原稿に基づくファイル」とは、スキャナ等を用いて紙原稿をデジタル化したデータに限定されず、所定の原稿様式を満たすようにアプリケーションソフトウェアで作成されたデジタルデータを含んでもよい。
【0052】
また携帯端末装置420及び撮像装置430は、それぞれ撮像部(イメージセンサ)を含む機器であり、原稿を撮像した画像データを取得してもよい。
【0053】
情報処理装置200は、画像形成装置100、第2情報処理装置410、携帯端末装置420、撮像装置430等、種々の外部機器からファイルデータを取得し、当該ファイルデータを対象として判定処理及び出力処理を実行する。このようにすれば、ファイルの取得元である外部機器の種類によらない汎用的なファイル管理システム10を実現することが可能になる。
【0054】
さらに情報処理装置200の出力態様も、アラート情報を含む出力に限定されない。例えば情報処理装置200は、ファイルデータの印刷、ファクシミリ送信、電子メール添付、ファイル形式変換、ネットワークプリント等の各種処理を実行可能であってもよい。このようにすれば、ファイルの取得元の汎用性を高くすることだけでなく、ファイルの出力態様を多様化させることも可能になる。その他、本実施形態に係るファイル管理システム10の構成については種々の変形実施が可能である。
【0055】
2.処理の流れ
図6は、情報処理装置200の処理を説明するフローチャートである。この処理が開始されると、まずステップS101において、ファイル取得部211は、通信部230を介して画像形成装置100等の外部機器からファイルデータを取得し、当該ファイルデータを記憶部220に記憶する。
【0056】
ステップS102において、処理部210(OCR処理部212)は、画像データとして取得されたファイルに対して、OCR(Optical Character Recognition/Reader)処理を行うことによって、ファイルデータに対応するテキスト情報を取得する。テキスト情報は、例えばファイルデータ(画像データ)と対応付けて記憶部220に記憶される。
【0057】
ステップS103において、処理部210は、ファイルが監視対象フォルダに記憶されたかを判定する。例えばファイル取得部211は、監視対象フォルダと、それ以外のフォルダを含む複数のフォルダから、ファイルの保存先を決定する。ここで監視対象フォルダとは、本実施形態の情報処理装置200(ファイル管理システム10)において内容を監視する対象となるファイルが保存されるフォルダである。例えば、重要度が相対的に高いファイルが監視対象フォルダに保存される。
【0058】
図7は、例えば情報処理装置200の表示部250に表示される画面例であって、監視対象フォルダの設定画面の例である。
図7の例では、「監視するフォルダの場所」というテキストともに、フォルダを特定する情報の入力欄が表示される。
図7の例では、フォルダを特定する情報として、当該フォルダのパスである「C:/Users/Sxxxxx」が表示されている。例えば情報処理装置200のユーザは、
図6に示す処理の開始前(例えば情報処理装置200にインストールされるアプリケーションの初期設定時等)に、
図7に示す画面を用いることによって、監視対象フォルダを設定する。
【0059】
例えばステップS101の処理において、ファイル取得部211は、ファイルデータの重要度に基づいて、取得したファイルデータの保存先を決定する処理を行ってもよい。ここでの重要度とは、ファイルの取得タイミングに基づいて決定されてもよいし、ファイル名に基づいて決定されてもよい。またファイル取得部211は、画像形成装置100において原稿の読取りを実行したユーザや、当該ユーザの担当する顧客等の情報を取得し、当該情報に基づいてファイルの重要度を判定してもよい。またOCR処理によって取得されたテキスト情報に基づいて、顧客やファイル属性等の情報が求められ、これに基づいてファイルデータの保存先が決定、変更されてもよい。あるいは、ファイルデータの保存先は画像形成装置100を利用するユーザが入力し、ファイル取得部211は当該入力に基づいて保存先を決定してもよい。
【0060】
ファイルデータが監視対象フォルダに保存されていない場合(ステップS103:No)、後述するステップS104-S110の処理が省略され、ステップS111において、通常の出力処理が実行される。通常の出力処理とは、例えばアラート情報を伴わない表示処理である。
【0061】
あるいは、ファイルデータが監視対象フォルダに保存されていない場合(ステップS103:No)、ステップS111の通常出力処理も省略され、
図6に示す処理が終了してもよい。この場合、監視対象フォルダとは異なるフォルダに保存されたファイルデータは、例えばファイル管理システム10を利用するユーザが能動的に閲覧操作を実行した場合に出力対象となる。
【0062】
ファイルデータが監視対象フォルダに保存されている場合(ステップS103:Yes)、当該ファイルデータが適切なデータであるか否かに関する判定処理等が実行される。まずステップS104において、項目名検出部213は、記憶部220に記憶されたプロファイルを読み出す処理を行う。ここでのプロファイルとは、例えばファイルデータの属性(以下、ファイル属性)と、当該ファイル属性において必須となる項目名を表す文字列(キーワード)を対応付けた情報であってもよい。
【0063】
図8は、情報処理装置200の表示部250に表示される画面例であって、キーワードの入力画面を例示する図である。
図8の例では、
図7に示した監視対象フォルダの設定とともに、キーワードを入力することが可能な画面を示している。ただし、監視対象フォルダの設定と、キーワードの設定が異なる画面を用いて行われてもよい。
【0064】
図8に示すように、表示部250は、アラート情報の出力処理に用いられるキーワードを入力するテキストボックスを表示してもよい。ユーザが情報処理装置200の操作部240を用いて当該テキストボックスに文字列を入力することによって、キーワードが設定される。
図8の例であれば、項目名「支払条件」が検出処理の対象として設定され、記憶部220は、「支払条件」をキーワードとして記憶する。なお、
図8の例では省略しているが、キーワード検出の実行対象となるファイル属性(例えば「請求書」「見積書」等)の入力が可能であってもよい。例えば情報処理装置200のユーザは、
図6に示す処理の開始前に、
図8に示す画面を用いることによって、キーワードを設定する。
【0065】
図9は、記憶部220に記憶されるプロファイルの一例であって、ファイル属性と、必須の項目名を対応付けた情報の例である。
図9の例では、ファイル属性が「請求書」である場合、必須の項目名を表すキーワードとして「銀行名」、「口座番号」、「支店名」、「支店番号」の4つが対応付けられている。またファイル属性が「見積書」である場合、必須の項目名を表すキーワードとして「支払条件」が対応付けられている。なお
図9はプロファイルの一例であり、具体的なファイル属性及びキーワードについては種々の変形実施が可能である。
【0066】
ステップS105において、項目名検出部213は、処理対象のファイルのファイル属性を特定する。ファイル属性は、OCR処理結果であるテキスト情報に基づいて決定されてもよいし、ユーザが別途入力してもよい。項目名検出部213は、ファイル属性とステップS104で取得したプロファイルに基づいて、検索すべきキーワードを特定する。そして項目名検出部213は、テキスト情報から項目名に対応するキーワードを検出する処理を行う。項目名検出部213は、キーワードと完全一致する文字列を検出してもよいし、類似度が所定以上と判定される文字列を検出してもよい。
【0067】
ステップS106において、判定部215は、項目名検出部213での検出結果を取得し、必須の項目名に対応するキーワードが検出されたか否かを判定する。なおキーワードが複数存在する場合、判定部215は、その全てが検出されたかを判定してもよい。少なくとも1つのキーワードが検出されなかった場合(ステップS106:No)、対象のテキスト情報では必須の項目名が欠落していることを表す。
【0068】
図10は、必須の項目名が欠落している場合のファイルデータの例である。
図10のファイルデータは、見積書に基づくデータである。従って、
図9のプロファイルを用いる場合、「支払条件」が必須の項目名として特定されている。これに対して、
図10のファイルデータでは、「受渡期間」、「納品物件」、「納品場所」、「有効期限」等の項目名は存在するものの、「支払条件」という項目名が存在しない。この場合、
図10のファイルデータは見積書として必要な項目名が欠けており、経理処理を行えない可能性がある。従って
図10のファイルデータを対象とした処理では、キーワード「支払条件」が検出されなかったとして、ステップS106においてNoと判定される。必須の項目名が存在しないファイルについては、当該ファイルが誤りである可能性を考慮し、ステップS112においてユーザにアラートが通知される。アラート情報の出力例については後述する。
【0069】
キーワードが検出された場合(ステップS106:Yes)、テキスト情報内に項目名が存在することを表す。従って情報処理装置200は、より詳細な判定を実行する。具体的には、ステップS107において、項目値検出部214は、項目名に対応する値である項目値を、テキスト情報から検出する処理を実行する。
【0070】
例えば処理部210(項目値検出部214)は、ファイルにおけるキーワードの位置と、ファイルの属性に対応するレイアウト情報とに基づいて、項目名に対応する項目値を検出する処理を行ってもよい。レイアウト情報とは、項目名と項目値のファイルデータ上での位置関係を規定する情報である。例えば、
図10と同様の見積書を用いる場合、「受渡期間」、「納品物件」、「納品場所」、「有効期限」等の項目に対応する項目値は、項目名の右側に「:」を挟んで記載されることが分かる。従って、レイアウト情報として、このような項目名と項目値の関係を規定する情報が用いられてもよい。例えば「見積書」において「支払条件」というキーワードが検出されている場合、当該キーワードの右側の領域を読み取った結果である文字列が、「支払条件」の項目値として検出される。ただし、項目名と項目値の位置関係は左右に並ぶものに限定されず、具体的な検出処理は種々の変形実施が可能である。また、項目値の検出処理において、特許文献1等の従来手法と同様の手法が用いられてもよい。
【0071】
ステップS108において、判定部215は、項目値検出部214での検出結果を取得し、項目名に対応する項目値が検出されたか否かを判定する。項目値が検出されなかった場合(ステップS108:No)とは、項目名自体は存在するが、適切な値が入力されていないことを表す。
【0072】
図11は、項目値が存在しない場合のファイルデータの例である。
図11のファイルデータは、
図10と同様に、見積書に基づくデータである。
図11の例では、「支払条件」という必須の項目名は存在するが、その右側の「:」以降の部分が空白になっており、「支払条件」に対応する項目値が存在しない。この場合、
図11のファイルデータは見積書として必要な項目値が欠けており、経理処理を行えない可能性がある。従って
図11のファイルデータを対象とした処理では、「支払条件」に対応する項目値が検出されなかったとして、ステップS108においてNoと判定される。必須の項目値が存在しないファイルについては、当該ファイルが誤りである可能性を考慮し、ステップS112においてユーザにアラートが通知される。アラート情報の出力例については後述する。
【0073】
項目名(キーワード)と項目値の両方が検出された場合(ステップS106及びS108:Yes)、必須の項目名が存在し、且つ、項目値も入力済みであることを表す。しかし、項目値自体が入力済みであったとしても、当該ファイルデータが適切なデータであるとは限らない。例えば、請求書に記載される銀行名として、存在しない銀行の名称や、取引先でない銀行の名称が入力されている場合、当該請求書は誤っている可能性がある。従ってステップS109において、判定部215は、項目値が適切であるか否かを判定する。ステップS109の判定処理の詳細については、
図13以降を用いて後述する。
【0074】
ステップS110において、出力処理部216は、判定部215の判定結果に基づいて、ファイルデータの出力態様を決定する。具体的には出力処理部216は、ステップS109における判定において、項目値が適切と判定されているか否かを参照する。
【0075】
項目値が適切でないと判定された場合(ステップS110:No)、上述したように、項目値は入力済みであるものの、値が適切でないため対象のファイルが誤っている可能性がある。従って出力処理部216は、ファイルに対応付けてアラート情報を出力する。
【0076】
図12は、アラート情報を出力する処理を例示する図であり、情報処理装置200の表示部250に表示される画面例である。
図12に示す画面では、画面左側の領域RE1を用いて表示対象となるフォルダの選択が可能である。ここでは「最近受信したファイル」が記憶されるフォルダが監視対象フォルダである例を説明する。例えば表示部250は、監視対象フォルダに対応付けて、当該監視フォルダ内に保存され、且つ、ユーザによって閲覧されていないファイルデータの数を表す情報を表示してもよい。
図12の例では、監視対象フォルダ内の1ファイルが未閲覧であることが示されている。
【0077】
領域RE1において何れかのフォルダが選択されると、当該フォルダ内のファイルが領域RE2に表示される。例えば表示部250は、監視対象フォルダ内のファイルのサムネイルデータを領域RE2に表示してもよい。そしてアラート情報とは、ユーザにファイルに異常がある可能性を通知する情報であり、例えば
図12に示す三角形と「!」マークからなる表示オブジェクトであってもよい。例えば出力処理部216は、ファイルと対応付けてアラート情報を出力する処理として、対象ファイルのサムネイル画像に、上記表示オブジェクトを重畳させて表示する処理を行ってもよい。ただしアラート情報の表示態様はこれに限定されず、種々の変形実施が可能である。例えばアラート情報は、ファイルデータのうち、適切でないと判定された具体的な項目値の位置や内容を表す情報を含んでもよい。
【0078】
また上述したように、処理部210(出力処理部216)は、ファイルにキーワードが含まれない場合(S106:No)、及び、ファイルにキーワードが含まれるが対応する項目値が含まれない場合(S106:Yes且つS108:No)、ファイルに対応付けてアラート情報を出力してもよい。例えば出力処理部216は、これらの場合にも
図12に示した例と同様の表示を行う。ただし出力処理部216は、キーワードが含まれない場合と、項目値が含まれない場合と、項目値が適切でない場合のそれぞれについて、異なるアラート情報を表示してもよい。例えば出力処理部216は、アラート出力の要因に応じてアラート情報の表示態様を変更してもよい。
【0079】
また項目値が適切であると判定された場合(ステップS110:Yes)、ステップS111において、出力処理部216は、アラート情報を含まない通常の出力処理を実行する。例えば出力処理部216は、
図12に示す画面から、アラート情報に対応する表示オブジェクト(三角と「!」)が除かれた画面を表示する処理を行う。
【0080】
3.項目値の適否判定
次に
図6のステップS109に示した、項目値が適切であるか否かの判定処理について詳細に説明する。例えば情報処理装置200の処理部210は、ファイルの属性毎に、項目名と、適切な項目値を表す文字列パターンを対応付けた情報に基づいて、項目値が適切か否かを判定してもよい。例えば記憶部220がファイル属性と、適切な項目値を対応付けた情報(より具体的には、ファイル属性毎の適切な項目値リスト等)を記憶し、処理部210は記憶部220から当該情報を読み出してもよい。ただし処理部210は、記憶部220以外から当該情報を取得してもよい。
【0081】
本実施形態の手法によれば、単に項目値を検出するだけでなく、当該項目値が適切か否かを判定できる。そのため、例えば誤った帳票(経理業務のルールに従っていない帳票等)に対応するファイルデータが取得された可能性がある場合に、当該ファイルデータの確認をユーザに促すこと等が可能になる。ここでの文字列パターンは、例えば実在する名称や、過去の履歴等、種々の手法により決定できる。また適切な項目値を表す情報は文字列パターン以外であってもよい。以下、具体的な判定処理について説明する。
【0082】
3.1 名称
図13は、項目値が適切か否かの判定に用いられる情報の例であって、ファイル属性、必須の項目名、及び適切な項目値との関係例を示す図である。
図13に示す情報のうち、ファイル属性及び項目名については、
図9を用いて上述した例と同様である。また
図13に示す情報は、本実施形態におけるプロファイルに含まれてもよい。
【0083】
例えば記憶部220は、ファイル属性が「請求書」である場合の項目名「銀行名」に対応する適切な項目値の情報として、
図13に示すように具体的な銀行名のリスト情報を記憶してもよい。
図13の例では、リスト情報は、AAA銀行、BBB銀行等の銀行名の情報を含む。
【0084】
例えば判定部215は、
図6のステップS109の処理において、項目値検出部214が検出した「銀行名」に対応する項目値と、リスト情報の比較処理を行う。判定部215は、ファイルデータから検出された項目値がリスト情報に含まれる場合に、当該項目値が適切であると判定し、項目値がリスト情報に含まれない場合に項目値が適切でないと判定する。
【0085】
ここでリスト情報は、実在する銀行名の集合を表す情報であってもよい。ここでの銀行名は、例えば情報処理装置200のユーザが所属する組織及びその取引先が存在する1または複数の国の全銀行リストであってもよい。あるいは、リスト情報は、全銀行リストから、政府機関等によって取引停止等のペナルティーが科されている銀行が除外された銀行の集合であってもよい。
【0086】
この場合、処理部210は、銀行名が実在するか否かという観点から、項目値の適否を判定することが可能になる。例えば、取引範囲内に実在しない銀行が項目値として記載されていた場合(架空の銀行が記載された、既存の銀行を記載しようとしたが記入ミスがあった等)に、当該項目値に基づいてアラート情報を出力することによってユーザに確認を促すことが可能である。
【0087】
また
図13に示す項目名「支店名」についても同様である。例えば記憶部220は、ファイル属性が「請求書」である場合の項目名「支店名」に対応する適切な項目値の情報として、
図13に示すように具体的な支店名のリスト情報を記憶してもよい。例えばリスト情報は、所定範囲内に実在する支店の名称の集合である。この場合、処理部210は、支店名が実在するか否かという観点から、項目値の適否を判定することが可能になる。
【0088】
また、本実施形態における処理の対象は銀行や支店に限定されず、他の組織(公的機関、民間企業、NGO、NPO等)に拡張されてもよい。また本実施形態における処理の対象は組織に限定されず、個人であってもよい。従って、記憶部220は、人物または組織の名称を表す項目名に対して、実在する人物や組織の名称リストを記憶してもよい。
【0089】
この場合、処理部210は、ファイルデータから検出された項目値として、人物または組織の名称を表す情報が取得された場合に、当該人物又は組織が実在するかという観点から、項目値の適否を判定できる。これにより、実在しない人物や組織等を対象として経理等の処理が実行されてしまうことを抑制できる。
【0090】
また本実施形態では、リスト情報は、情報処理装置200のユーザが関係を有するか否かという観点から作成された情報であってもよい。ここで関係があるとは、例えば商取引の関係を有することであってもよいし、資本関係を有することであってもよいし、他の関係を表してもよい。
【0091】
例えば、項目名「銀行名」に対応する適切な項目値のリスト情報として、ユーザ自身の口座やユーザの取引先の口座が開設されている銀行の集合を表す情報が用いられてもよい。これは支店名等、他の人物や組織を対象とする場合も同様であり、例えば処理部210は、ユーザ入力や、予め作成された取引先、関連企業等を特定する情報に基づいて、ユーザが関係を有する企業等のリスト情報を作成する。
【0092】
この場合、処理部210は、項目値として、人物または組織の名称を表す情報が取得された場合に、当該人物又は組織と、ファイルを利用するユーザが関係を有するかに基づいて、項目値が適切か否かを判定する。これにより、ユーザと無関係と想定される組織や人物を対象として経理等の処理が実行されてしまうことを抑制できる。
【0093】
また本実施形態の処理は、人物や組織の名称に限定されず、これらを特定する情報、例えば人物等に対して割り振られるIDや番号等に拡張されてもよい。
図13の例では、ファイル属性が「請求書」である場合の項目名「口座番号」に対応する適切な項目値の情報として、具体的な7桁の番号のリスト情報が記憶される。このようにしても、当該IDや番号が実在する番号であるか否かという観点から、項目値の適否を判定することが可能になる。
【0094】
また
図13では、1つの項目名毎に、適切な項目値のリスト情報が用いられる例を説明した。ただし、複数の項目名が組み合わせて用いられてもよい。例えば、銀行ごとに設置している支店の数や名称は異なる。そのため、AAA銀行にはaaa支店が存在するが、BBB銀行にはaaa支店が存在しないといったケースも考えられる。この場合、リスト情報は(銀行名の項目値,支店名の項目値)=(AAA銀行,aaa支店)のように、複数の項目名の組み合わせにより、適切な項目値を表すデータが管理されてもよい。当然、組み合わされる項目名は3以上であってもよく、例えば銀行名、支店名及び口座番号の組み合わせによって適切な項目値を表すデータが管理されてもよい。
【0095】
3.2 タイミング
図14は、項目値が適切か否かの判定に用いられる情報の例であって、ファイル属性、項目名、及び適切な項目値が満たすべきタイミングの条件を示す図である。例えば記憶部220は、ファイル属性が「見積書」である場合の項目名「有効期限」に対応する適切な項目値の情報として、
図14に示すように「発行日から2ヶ月以上」という基準タイミングの条件を表す情報を記憶してもよい。
【0096】
ここでの基準タイミングは例えばユーザが所属する組織内でのルールに基づいて決定されてもよいし、商取引上の慣習や規則に基づいて決定されてもよい。例えば情報処理装置200は、ユーザ入力またはルールを表す情報に基づいて、ファイル属性と項目名の組み合わせ毎に基準タイミングを対応付けた情報を生成し、当該情報を記憶部220に記憶させる。
【0097】
例えば判定部215は、
図6のステップS109の処理において、項目値検出部214が検出した「有効期限」に対応する項目値と、基準タイミングの比較処理を行う。例えば以上の説明では省略していたが、項目名検出部213はファイルデータから「発行日」という項目名を検出し、項目値検出部214は「発行日」の項目値として年月日を表す情報を取得してもよい。そして判定部215は、「発行日」の項目値と、「有効期限」の項目値を比較することによって、有効期限が発行日から2ヶ月以上先の年月日となっているかを判定する。
【0098】
図15は、見積書に対応する具体的なファイルデータの例である。
図15に示すファイルデータに基づき、項目名「発行日」に対応する項目値として「2022年4月10日」が取得される。また項目値「有効期限」に対応する項目値として「2022年5月10日」が取得される。
【0099】
図15の例では、判定部215は、有効期限が発行日から1ヶ月先の年月日となっているため、
図14に示した基準タイミングの条件を満たしていないと判定する。即ち、判定部215は、「有効期限」の項目値が適切でないと判定し(
図6のステップS110:No)、アラート情報を出力する(ステップS112)。
【0100】
また以上では有効期限を例に説明を行ったが、上記処理は項目値としてタイミングを表す情報が取得される他のケースにも適用が可能である。具体的には、処理部210は、項目値として、タイミングを表す情報が取得された場合に、ファイルの属性に基づいて基準タイミングを決定し、項目値によって表されるタイミングと、基準タイミングの関係に基づいて、項目値が適切か否かを判定する。本実施形態の手法によれば、タイミングに起因して適切な処理を行うことが容易でない(見積書の例であれば顧客側に見積もり内容を判断する十分な時間が与えられない)可能性がある場合に、ユーザに確認を促すことが可能になる。なお項目値であるタイミングが満たすべき具体的な条件は、対象の原稿の属性(見積書、請求書等)に応じて変化する可能性があるところ、本実施形態の処理ではファイル属性の情報も用いられるため(例えば
図14)、適切な基準タイミングを設定できる。また基準タイミングは、ファイル属性のみだけでなく、
図14に示すように、ファイル属性と項目名の組み合わせに基づいて決定されてもよい。
【0101】
3.3 数値
図16は、項目値が適切か否かの判定に用いられる情報の例であって、ファイル属性、項目名、及び適切な項目値が満たすべき基準値の条件を示す図である。例えば記憶部220は、ファイル属性が「見積書」である場合の項目名「提供単価」に対応する適切な項目値の情報として、
図16に示すように「¥500,000未満」という基準値(金額)の条件を表す情報を記憶してもよい。また記憶部220は、ファイル属性が「見積書」である場合の項目名「発注数量」に対応する適切な項目値の情報として、
図16に示すように「100個未満」という基準値(数量)の条件を表す情報を記憶してもよい。
【0102】
ここでの基準値は例えばユーザが所属する組織内でのルールに基づいて決定されてもよい。例えば、社内稟議の関係上、対象の見積書で扱うことのできる上限金額や上限量が決まっている場合、
図16に示すように、これらの値が基準値(上限値)として設定されてもよい。あるいは商品のロットの関係から、発注可能な商品数が100個以上しか許容されない場合、基準値(下限値)として100という値が設定されてもよい。また基準値の条件は上限または下限に限定されず、この両方が用いられてもよい。また基準値の条件として、例えば100個以上、10個単位の商品数のみが許容されるといった、より複雑な条件が設定されてもよい。
【0103】
例えば判定部215は、
図6のステップS109の処理において、項目値検出部214が検出した「提供単価」に対応する項目値と、基準値の比較処理を行う。例えば判定部215は、「提供単価」の項目値と、
図16に示す基準値(¥500,000未満)を比較し、項目値が条件を満たす場合に、当該項目値が適切であると判定する。
【0104】
また以上の説明から分かるように、上記処理は提供単価や発注数量に限定されず、種々の数量(金額や物量)に適用が可能である。具体的には、処理部210は、項目値として、数量を表す数値情報が取得された場合に、ファイルの属性に基づいて基準値を決定し、数値情報と基準値の関係に基づいて、項目値が適切か否かを判定する。本実施形態の手法によれば、原稿に記載された数値が誤っている可能性がある場合に、ユーザに確認を促すことが可能になる。なお項目値である数量が満たすべき具体的な条件は、対象の原稿の属性(見積書、請求書等)に応じて変化する可能性があるところ、本実施形態の処理ではファイル属性の情報も用いられるため(例えば
図16)、適切な基準値を設定できる。また基準値は、ファイル属性のみだけでなく、
図16に示すように、ファイル属性と項目名の組み合わせに基づいて決定されてもよい。
【0105】
3.4 履歴
また処理部210は、過去に項目値として取得された履歴項目値の情報を取得し、ファイルから検出された項目値と、履歴項目値の関係に基づいて、項目値が適切であるか否かを判定してもよい。
【0106】
例えば
図13に示した例において、各項目名に対応する適切な項目値のリスト情報は、過去にファイルデータから読み取られた項目値である履歴項目値の集合を表す情報であってもよい。例えば、項目名「銀行名」に対応するリスト情報であれば、過去に「AAA銀行」、「BBB銀行」、「CCC銀行」、「DDD銀行」が記載されたファイルデータが取得済みである場合、これらが履歴項目値としてリスト情報に追加されることによって、
図13に示すリスト情報が取得される。判定部215は、処理対象となる新たなファイルデータが取得された場合に、当該ファイルデータから検出された項目値が、履歴項目値の集合であるリスト情報に含まれる場合に、当該項目値が適切であると判定する。「口座番号」や「支店名」等の他の項目名についても同様である。
【0107】
図17A、
図17Bは履歴項目値に基づく処理の一例を示す図であり、請求書に対応するファイルデータの一部を抜粋した例である。
図17A及び
図17Bに示す範囲には、発行日、顧客名、口座情報が記載されており、口座情報には、銀行名、口座番号、支店名、支店番号が含まれる。
【0108】
例えば
図17Aに示すように、XXX株式会社を顧客とする2022年4月10日付けの請求書として、「口座番号」の項目値が「0000000」であるファイルデータが取得されたとする。この場合、「口座番号」の履歴項目値として「0000000」が登録される。例えば処理部210は、ファイル属性「請求書」、及び項目名「口座番号」に対応する適切な項目値のリスト情報に「0000000」を追加する処理を行う。なお、処理部210は、
図17Aに示す請求書が経理処理の対象となった(破棄されなかった)ことを条件として、「0000000」を履歴項目値に追加してもよい。
【0109】
その後、
図17Bに示すように、同じXXX株式会社を顧客として、2022年5月10日付けの請求書を表すファイルデータが取得された。この段階では、上記の通り、履歴項目値に「0000000」が追加されている。しかし
図17Bに示す例では、「口座番号」の項目値として、履歴項目値とは異なる「1111111」が検出される。従って判定部215は、検出された項目値が履歴項目値と異なるため、適切でないと判定し、アラート情報を出力する。
【0110】
以上のように、履歴項目値との比較処理を行うことによって、項目値が誤っている可能性があることを適切にユーザに通知できる。上記の例であれば、口座番号の入力ミスの可能性があることをユーザに通知することが可能である。なお、以上では履歴項目値を用いてリスト情報を作成する例を説明したがこれには限定されない。例えば履歴項目値に基づいて基準タイミングやその条件を表す情報(例えば
図14)、あるいは、基準値やその条件を表す情報(
図16)が作成されてもよい。
【0111】
3.5 学習
また本実施形態の手法では、判定部215における判定に機械学習等の学習処理が用いられてもよい。ここでの学習処理は、ニューラルネットワークを用いた手法であってもよいし、SVM(Support Vector Machine)を用いた手法であってもよいし、他の手法であってもよい。
【0112】
例えば処理部210は、項目名に対応する適切な項目値が正解データとして付与された訓練データに基づく機械学習によって生成された学習済モデルを取得し、学習済モデルに基づいて、項目値が適切か否かを判定してもよい。ここでの学習は、情報処理装置200の処理部210において実行されてもよいし、他の学習装置において実行されてもよい。記憶部220は学習済モデルを記憶し、判定部215は当該学習済モデルを読み出すことによって
図6のステップS109等の判定処理を実行する。
【0113】
ここで学習処理(狭義には教師あり学習)を行うためには、学習対象である項目値が適切な項目値であるか否かが特定されていることが望ましい。そうでなければ、例えば不適切な項目値を、誤って適切な項目値として学習してしまう可能性があり、この場合には学習済モデルを用いた判定処理の精度が低下してしまう。そのため、例えば処理部210は、信頼できるユーザ(例えば帳票作成の専門家等)によるラベル付け(アノテーション)を受け付ける処理を行ってもよい。例えば処理部210は、表示部250にアノテーション用の画面を表示し、信頼できるユーザに対して、表示された項目値が適切であるか否かの入力を促す処理を行う。信頼できるユーザが適切であると判定した項目値を正解データ(正の学習データ)とすることによって、適切な学習済モデルを生成することが可能になり、結果として判定処理の精度向上も可能になる。
【0114】
ただし、正解データはアノテーションによって取得されるものに限定されず、本実施形態に係るファイル管理システム10を使用する中で自動的に正解データが収集されてもよい。
【0115】
図18は、正解データを収集する処理を説明する図であって、具体的なファイルデータの一例を示す図である。例えば、
図18の上部は、
図11に示した例と同様であり、必須の項目名である「支払条件」は存在するものの、当該「支払条件」に対応する項目値が存在しない。従って上述したように、判定部215は、アラート情報を出力する(
図6のステップS112)。
【0116】
アラート情報が出力された場合、情報処理装置200のユーザが対象のファイルデータを参照し、内容を確認することが想定される。そして、ユーザによってファイルデータが誤っていると判断された場合、ファイルデータの再発行が行われると考えられる。例えば、見積書を作成したユーザ(情報処理装置200のユーザと同じであってもよいし異なってもよい)は、「支払条件」の記載漏れを指摘されるため、支払条件に適切な項目値を記載し、且つ、それ以外の項目名については同じ内容が記載された見積書を再発行する。そして、情報処理装置200のファイル取得部211は、当該見積書に対応するファイルデータを取得する。
【0117】
図18の下部が再発行された見積書に対応するファイルデータである。
図18に示すように、再発行後のファイルデータには「支払条件」に対応する項目値として、「請求書発行後60日以内に支払、銀行振込」という項目値が含まれる。この場合、当該項目値はユーザが確認を行った上で入力した値であり、信頼性が高い。従って処理部210は、アラート情報の出力後、同じ内容のファイルデータが再取得された場合に、再取得後の項目値を適切な項目値であると判定してもよい。例えば学習処理において、「請求書発行後60日以内に支払、銀行振込」が正解データとして使用される。
【0118】
このようにすれば、信頼性の高い正解データを自動的に取得できるため、学習処理に関するユーザ負担を軽減しつつ、判定処理の精度向上が可能になる。なお、ファイルデータが再発行されたものであるか否かは、例えば、アラート情報が出力された旧ファイルデータと、新たに取得された新ファイルデータの一致度合いに基づいて自動的に判定されてもよい。例えば処理部210は、アラート情報の出力対象となった項目名及び項目値を除いた部分において、旧ファイルデータと新ファイルデータが一致する場合に、この2つは同じ原稿に対応する、即ち、旧ファイルデータが破棄された結果として新ファイルデータが再発行されたと判定してもよい。なお、ここでの一致は完全一致に限定されず、相違度合いが所定閾値以下の場合を含んでもよい。
【0119】
図19は、正解データを収集する処理を説明する図であって、具体的なファイルデータの他の例を示す図である。
図19の上部は
図15の例と同様であり、有効期限が発行日から2ヶ月以上という基準タイミングの条件(
図14)が満たされないため、アラート情報が出力される。
【0120】
そして当該アラート情報に基づいて見積書が再発行され、
図19の下部に示すファイルデータが取得されたとする。なお、
図19では2つのファイルデータの発行日が同じ(2022年4月10日)例を示しているが、再発行に時間を要する場合等であれば、発行日は異なってもよい。
図19に示すように、再発行後のファイルデータでは「有効期限」に対応する項目値が「2022年7月10日」に変更された結果、発行日(2022年4月10日)との差が3ヶ月となっている。
【0121】
この場合、発行日から3ヶ月のタイミングを表す項目値はユーザが確認を行った上で入力した値であり、信頼性が高い。従って処理部210は、再発行後の項目値を適切な項目値であると判定し、当該項目値を正解データとして、基準タイミングの更新処理を実行してもよい。例えば、
図19の例であれば、現在の基準タイミングを表す2ヶ月という期間に比べて、正解データが表す期間(3ヶ月)が長い。従って、正解データを用いた学習処理を行うことによって、基準タイミングが2ヶ月よりも長くなるような更新処理が行われると考えられる。また、再発行が行われた後でも発行日との差が2ヶ月未満である場合、当該項目値は現在の基準タイミングの条件は満たさないものの、信頼できる適切な項目値であると考えられる。よってこの場合、処理部210は、基準タイミングが2ヶ月よりも短くなるような更新処理を行ってもよい。
【0122】
以上では、学習処理を用いた基準タイミングの更新処理について説明したが、同様の処理は、数量(金額、物量等)の基準値の更新処理に適用が可能である。
【0123】
また
図20A~
図20Cは、正解データを収集する処理を説明する図であって、具体的なファイルデータの他の例を示す図である。
図20A及び
図20Bは、
図17A及び
図17Bと同様であり、項目名「口座番号」の項目値が「00000000」であった履歴がある状態において(
図20A)、同じ顧客を対象として、「口座番号」の項目値として履歴項目値と異なる「1111111」が検出された(
図20B)。この場合、上述したように、検出された項目値が履歴項目値と異なるため、アラート情報が出力される。
【0124】
これに対して、処理部210は、同じ請求書に対応するファイルデータを取得しなかったとする。この場合、ユーザに確認を促した後でも請求書の再発行が行われなかったことになるため、項目値「1111111」は誤りではなく、顧客の口座番号が「0000000」から「1111111」に変更された可能性がある。
【0125】
さらに
図20Cに示すように、同じ顧客を対象とした異なる請求書に対応するファイルデータが取得され、当該ファイルデータにおける「口座番号」の項目値は、
図20Bと同じ「1111111」であったとする。この場合、項目値「1111111」は継続的に使用されているため誤りではなく、顧客の口座番号が「0000000」から「1111111」に変更された蓋然性が高い。
【0126】
従って処理部210は、(1)所与の項目値についてアラート情報を出力しても当該項目値が修正されたファイルデータが再発行されなかった、及び(2)その後、異なるファイルデータにおいて同じ項目値が検出された、という2つの条件が満たされた場合、当該項目値が適切な項目値であると判定してもよい。
図20A~
図20Cの例であれば、処理部210は、「口座番号」に対応する「1111111」が適切な項目値であると判定する。
【0127】
この場合、処理部210は、適切な項目値を正解データとする学習処理を行ってもよい。あるいは処理部210は、履歴項目値から「0000000」を削除するとともに、「1111111」を追加する処理を行ってもよい。
【0128】
なお、上記のように本実施形態について詳細に説明したが、本実施形態の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本開示の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本開示の範囲に含まれる。またファイル管理システム、画像形成装置、情報処理装置、サーバの構成及び動作等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【0129】
10…ファイル管理システム、100…画像形成装置、110…処理部、120…記憶部、130…通信部、140…画像形成部、150…操作部、160…表示部、200…情報処理装置、210…処理部、211…ファイル取得部、212…OCR処理部、213…項目名検出部、214…項目値検出部、215…判定部、216…出力処理部、220…記憶部、230…通信部、240…操作部、250…表示部、300…サーバ、310…処理部、320…記憶部、330…通信部、410…第2情報処理装置、420…携帯端末装置、430…撮像装置、NW…ネットワーク、RE1,RE2…領域