JP2021089618A - 情報処理装置、制御方法、プログラム - Google Patents
情報処理装置、制御方法、プログラム Download PDFInfo
- Publication number
- JP2021089618A JP2021089618A JP2019220059A JP2019220059A JP2021089618A JP 2021089618 A JP2021089618 A JP 2021089618A JP 2019220059 A JP2019220059 A JP 2019220059A JP 2019220059 A JP2019220059 A JP 2019220059A JP 2021089618 A JP2021089618 A JP 2021089618A
- Authority
- JP
- Japan
- Prior art keywords
- character string
- image
- area
- data
- information processing
- 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
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 39
- 238000000034 method Methods 0.000 title claims description 27
- 230000007246 mechanism Effects 0.000 abstract description 3
- 238000012015 optical character recognition Methods 0.000 description 54
- 238000012545 processing Methods 0.000 description 33
- 238000012937 correction Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 21
- 230000005540 biological transmission Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 13
- 238000013500 data storage Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000013523 data management Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000009125 cardiac resynchronization therapy Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Landscapes
- Character Discrimination (AREA)
Abstract
【課題】本発明は、文字列の領域を含む画像において取得した文字列の妥当性を確認できる仕組みを提供することを目的とする。【解決手段】文字列の領域を含む複数の画像に対する文字列および当該文字列の領域を記憶する情報処理装置であって、第1の画像に対する文字列および当該文字列の領域を取得する取得手段と、前記第1の画像に対する文字列の領域と前記記憶する複数の画像に対する文字列の領域とに基づき、前記複数の画像から前記第1の画像に対応する第2の画像を決定する決定手段と、前記第1の画像の所定の文字列と前記第2の画像の所定の文字列とを比較した結果に基づいて識別表示する表示制御手段とを備えることを特徴とする。【選択図】図4
Description
本発明は、文字列の領域を含む画像における情報を確認する技術に関する。
OCR(Optical Character Recognition。光学文字認識)を使ってテキスト情報を画像より抽出する技術が広く知られているが、アナログ情報をデジタル情報に変換するという性質上、OCRの精度は100%ではない。そのため、OCRの結果を確認・訂正する手順が必要とされている。また、OCRの対象のドキュメントが、請求書のような業務帳票である場合、OCRで読み取ったデータを最終的に会計システムに登録する前に、担当部門の上長等の承認者による承認が必要となっている。具体的には、請求書のケースでは、承認者は請求書画像から読み取った請求内容(特に請求元、請求対象、請求金額)を承認時に確認している。
特許文献1には、OCR結果の確からしさを確認するために、認識処理の各処理(前処理、認識処理、解析処理)の状況を取得し、取得した処理状況により評価した信頼性情報に基づいて、認識候補の確からしさを評価、分類する技術が示されている。
しかし、通常の業務の流れとして、承認者が承認する前に、業務担当者が目視でOCR結果の確認を行い、認識結果に誤りがある場合には訂正を行う。この作業にはOCR認識誤りの見落としや訂正時の入力ミス等のリスクが存在する。また、業務担当者が故意に不正な変更を加えるリスクも考えられる。
特許文献1に記載の方法では、OCR認識結果の確からしさを確認することはできるが、OCR認識結果そのものが変更された場合に、その変更内容が妥当か否かをすぐに確認することはできない。
そこで、本発明は、文字列の領域を含む画像において取得した文字列の妥当性を確認できる仕組みを提供することを目的とする。
本発明は、文字列の領域を含む複数の画像に対する文字列および当該文字列の領域を記憶する情報処理装置であって、第1の画像に対する文字列および当該文字列の領域を取得する取得手段と、前記第1の画像に対する文字列の領域と前記記憶する複数の画像に対する文字列の領域とに基づき、前記複数の画像から前記第1の画像に対応する第2の画像を決定する決定手段と、前記第1の画像の所定の文字列と前記第2の画像の所定の文字列とを比較した結果に基づいて識別表示する表示制御手段とを備えることを特徴とする。
本発明によれば、文字列の領域を含む画像において取得した文字列の妥当性を確認できる仕組みを提供できるようになる。
以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本発明における情報処理システム1のシステム構成の一例を示す図である。
情報処理システム1は、複合機100、クライアントPC200、業務サーバ300、DBサーバ400、OCRサーバ500、メールサーバ600が、LAN10(Local Area Network)等のネットワークにて通信可能に接続されて構成される。
それぞれの情報処理機器の機能については、図4にて後述する。
以上で図1のシステム構成図の説明を終了する。
以下、図2を用いて、図1に示したクライアントPC200、業務サーバ300、DBサーバ400、OCRサーバ500、メールサーバ600に適用可能な情報処理装置のハードウェア構成の一例について説明する。
図2は、情報処理装置のハードウェア構成の一例を示すブロック図である。
図2において、2001はCPUで、システムバス2004に接続される各デバイスやコントローラを統括的に制御する。また、ROM2002あるいは外部メモリ2011には、CPU2001の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
2003はRAMで、CPU2001の主メモリ、ワークエリア等として機能する。CPU2001は、処理の実行に際して必要なプログラム等をROM2002あるいは外部メモリ2011からRAM2003にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
また、2005は入力コントローラで、キーボード(KB)2009や不図示のマウス等のポインティングデバイス等からの入力を制御する。2006はビデオコントローラで、ディスプレイ2010等の表示器への表示を制御する。なお、表示器はCRTや、液晶ディスプレイ等の様々な種類が存在する。
2007はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶する外部記憶装置(ハードディスク(HD))や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるCFカードメモリ等の外部メモリ2011へのアクセスを制御する。
2008は通信I/Fコントローラで、ネットワーク(例えば、図1に示したLAN10)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
なお、CPU2001は、例えばRAM2003内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ2010上での表示を可能としている。また、CPU2001は、ディスプレイ2010上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するための後述する各種プログラムは、外部メモリ2011に記録されており、必要に応じてRAM2003にロードされることによりCPU2001によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ2011に格納されており、これらについての詳細な説明も後述する。
以上で図2のハードウェア構成図の説明を終了する。
以下、図3を用いて、図1に示した複合機100に適用可能な情報処理装置のハードウェア構成の一例について説明する。
図3は、情報処理装置のハードウェア構成の一例を示すブロック図である。
図3において、3020はコントローラユニットで、画像入力デバイスとして機能するスキャナ3060や、画像出力デバイスとして機能するプリンタ3050と接続する一方、LAN(例えば、図1に示したLAN10)や公衆回線(WAN)(例えば、PSTNまたはISDN等)と接続することで、画像データやデバイス情報の入出力を行う。
コントローラユニット3020において、3001はCPUで、システム全体を制御するプロセッサである。3002はRAMで、CPU3001が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。
3003はROMで、システムのブートプログラムや各種制御プログラムが格納されている。3004は外部記憶装置(ハードディスクドライブ(HDD))で、システムを制御するための各種プログラム,画像データ等を格納する。
3007は操作部インタフェース(操作部I/F)で、操作部(UI)3030とのインタフェース部であり、操作部3030に表示する画像データを操作部3030に対して出力する。また、操作部I/F3007は、操作部3030から本システム使用者が入力した情報(例えば、ユーザ情報等)をCPU3001に伝える役割をする。なお、操作部3030はタッチパネルを有する表示部を備え、該表示部に表示されたボタンを、ユーザが押下(指等でタッチ)することにより、各種指示を行うことができる。
3005はネットワークインタフェース(Network I/F)で、ネットワーク(LAN)に接続し、データの入出力を行う。3006はモデム(MODEM)で、公衆回線に接続し、FAXの送受信等のデータの入出力を行う。
3009は外部インタフェース(外部I/F)で、USB、IEEE1394,プリンタポート,RS−232C等の外部入力を受け付けるI/F部であり、本実施形態においては認証で必要となるICカードの読み取り用のカードリーダ3040が外部I/F3009に接続されている。そして、CPU3001は、この外部I/F3009を介してカードリーダ3040によるICカードからの情報読み取りを制御し、該ICカードから読み取られた情報を取得可能である。尚、ICカードに限らず、ユーザを特定することが可能な記憶媒体であればよい。この場合、記憶媒体にはユーザを識別するための識別情報が記憶される。この識別情報は、記憶媒体の製造番号でも、ユーザが企業内で与えられるユーザコードであってもよい。
以上のデバイスがシステムバス3010上に配置される。
以上のデバイスがシステムバス3010上に配置される。
3008はイメージバスインタフェース(IMAGE BUS I/F)であり、システムバス3010と画像データを高速で転送する画像バス3015とを接続し、データ構造を変換するバスブリッジである。
画像バス3015は、PCIバスまたはIEEE1394で構成される。画像バス3015上には以下のデバイスが配置される。
3011はラスタイメージプロセッサ(RIP)で、例えば、PDLコード等のベクトルデータをビットマップイメージに展開する。3012はプリンタインタフェース(プリンタI/F)で、プリンタ3050とコントローラユニット3020を接続し、画像データの同期系/非同期系の変換を行う。また、3013はスキャナインタフェース(スキャナI/F)で、スキャナ3060とコントローラユニット3020を接続し、画像データの同期系/非同期系の変換を行う。
3014は画像処理部で、入力画像データに対し補正、加工、編集や、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、これに加えて、画像処理部3014は、画像データの回転や、多値画像データに対してはJPEG、2値画像データはJBIG、MMR、MH等の圧縮伸張処理を行う。
スキャナ3060は、原稿となる紙上の画像を照明し、CCDラインセンサで走査することで、ラスタイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダのトレイにセットし、装置使用者が操作部3030から読み取り起動指示することにより、CPU3001がスキャナ3060に指示を与え、フィーダは原稿用紙を1枚ずつフィードし原稿画像の読み取り動作を行う。
プリンタ3050は、ラスタイメージデータを用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、CPU3001からの指示によって開始する。なお、プリンタ3050には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットがある。
操作部3030は、LCD表示部を有し、LCD上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部I/F3007を介してCPU3001に伝える。また、操作部3030は、各種操作キーとして、例えば、スタートキー、ストップキー、IDキー、リセットキー等を備える。
ここで、操作部3030のスタートキーは、原稿画像の読み取り動作を開始する時などに用いる。スタートキーの中央部には、緑と赤の2色LEDがあり、その色によってスタートキーが使える状態にあるかどうかを示す。また、操作部3030のストップキーは、稼働中の動作を止める働きをする。また、操作部3030のIDキーは、使用者のユーザIDを入力する時に用いる。リセットキーは、操作部からの設定を初期化する時に用いる。
カードリーダ3040は、CPU3001からの制御により、ICカード(例えば、ソニー社のFeliCa(登録商標))内に記憶されている情報を読み取り、該読み取った情報を外部I/F3009を介してCPU3001へ通知する。
以上で図3のハードウェア構成図の説明を終了する。
図4を用いて、本実施形態の各装置の機能について説明する。
まず、複合機100の処理を実行するための機能について説明する。
複合機100はスキャン部101、ファイル送信部102から構成される。
スキャン部101は、複合機100のスキャナ3060を制御して、原稿となる紙上の画像をデジタル化し、任意の画像形式に変換して、任意のサーバの任意のフォルダに送信する機能を提供する。ファイル形式について、例えば、JPEG(Joint Photographic Expert Group)、TIFF(Taged Image File Format)、PDF(Portable Document Format)、XPS(XML Paper Specification)、OOXML(Office Open XML)などがある。
ファイル送信部102は、FTP、SMB、WebDAVなどのプロトコルを使って、任意のサーバに対してファイルを送信する。
次に、クライアントPC200の処理を実行するための機能について説明する。
クライアントPC200はブラウザ部201から構成される。
ブラウザ部201は、任意のサーバ上で実行されているWebアプリケーションにHTTPないしはHTTPSプロトコルでリクエストを送信し、サーバから返されるHTMLメッセージのレスポンスを、クライアントPC200上の画面にUIとして表示する。
次に、業務サーバ300の処理を実行するための機能について説明する。
業務サーバ300は画面表示部301、データ送受信部302、業務データ管理部303、業務データ比較部304から構成される。
画面表示部301は、クライアントPC200のブラウザ部201等からのHTTP・HTTPSプロトコルを使ったリクエストを受け付け、レスポンスとして画面情報をHTMLデータにして返却する。
データ送受信部302は、DBサーバ400のデータ送受信部402に対して、請求書データ1410のリクエストを送信する。また、DBサーバ400のデータ送受信部402から請求書データ1410のレスポンスを受信する。さらに、DBサーバ400のデータ送受信部402に対して、請求書データ1410の各フィールド読取領域1412とファイルID1420に紐づく領域データ1600(図18)のリクエストを送信する。また、DBサーバ400のデータ送受信部402から領域データ1600のレスポンスを受信する。
業務データ管理部303は、データ送受信部302で取得した請求書データ1410を参照し、画面表示部301で返却する画面情報の切り替えを行う。また、データ送受信部302で送信する請求書データ1410を書き換える。
業務データ比較部304は、データ送受信部302で取得した請求書データ1410と、請求書データ1410の各フィールド読取領域1412とファイルID1420から取得できる領域データ1600の抽出情報1603や左上X座標1604、左上Y座標1605、幅1606、高さ1607の値を比較する。
次に、DBサーバ400の処理を実行するための機能について説明する。
DBサーバ400はデータ管理部401、データ送受信部402、業務データ記憶部410から構成される。
データ管理部401はデータ送受信部402で取得した請求書データ1410を業務データ記憶部410に書き込んだり、業務データ記憶部410の請求書データ1410を書き換えたりする。
データ送受信部402は業務サーバ300のデータ送受信部302で取得したリクエストに対して請求書データ1410をレスポンスとして返却する。また、OCRサーバ500からOCRで抽出されたテキスト情報を受信する。
次に、OCRサーバ500の処理を実行するための機能について説明する。
OCRサーバ500はメール監視部501、OCR部502、ネットワーク共有フォルダ部503から構成される。
メール監視部501はメールサーバ600のメール管理部601を監視し、新規のメールが存在するかを確認したり、添付ファイルが存在するかを確認したりする。添付ファイルが存在する場合にはネットワーク共有フォルダ部503にファイルを保存する。
OCR部502はネットワーク共有フォルダ部503に保存されたファイルを読み込み、OCRを行って画像からテキスト情報を抽出する。抽出したテキスト情報をDBサーバ400のデータ送受信部402に送信する。
ネットワーク共有フォルダ部503は複合機100のファイル送信部102から受信したファイルを保存したり、OCRサーバ500のメール監視部501で存在を確認した添付ファイルを保存したりする。
次に、メールサーバ600の処理を実行するための機能について説明する。
メールサーバ600はメール管理部601、メール送受信部602から構成される。
メール管理部601は受信したメール及び送信したメールの管理を行う。OCRサーバ500のメール監視部501からの監視を受け、新規のメールが存在する場合には該当のメール情報をOCRサーバ500のメール監視部501に引き渡す。
メール送受信部602はメールを受信したり、メールを送信したりする。
次に、図5、図6、図7、図8、図9、図10、図11を参照しながら、本発明に係る各ステップでの処理について説明する。
まず、図5を参照しながら、OCRステップの処理について説明する。
OCRサーバ500はネットワーク共有フォルダに保存されたファイルに対してOCRを行う(ステップS507)。このネットワーク共有フォルダにファイル保存するフローは2通り存在する。
1つ目はメールの添付ファイルをネットワーク共有フォルダに保存するフローである。OCRサーバ500ではメールサーバ600に新規メールが存在するかを監視する(ステップS500)。新規メールが存在する場合にはメールサーバ600に対してメール取得の要求を行う(ステップS501)。メールサーバ600はOCRサーバ500のメール取得要求に対し、メールの返却を行う(ステップS502)。OCRサーバ500はメールサーバ600から返却されたメールを受信する(ステップS503)。OCRサーバ500はメールに添付ファイルが存在するか確認する(ステップS504)。添付ファイルが存在しない場合、OCRサーバ500は引き続きメールサーバ600の監視を行う。添付ファイルが存在する場合には添付ファイルをネットワーク共有フォルダに保存する(ステップS506)。
2つ目は複合機のスキャンファイルをネットワーク共有フォルダに保存するフローである。複合機100でスキャンされたファイルをOCRサーバ500に送信する(ステップS505)。OCRサーバ500では受信したスキャンファイルをネットワーク共有フォルダに保存する(ステップS506)。
OCRサーバ500は前段のステップS506でネットワーク共有フォルダに保存されたファイルに対して非定型OCRを行う(ステップS507)。非定型OCRで、ファイルから「住所」や「宛先」などの文字列を読み取り、その周辺にある情報をOCRデータとして出力する。非定型OCR完了後、OCRしたデータ及び対象となったファイルをDBサーバ400に送信する(ステップS508)。
DBサーバ400はOCRサーバ500から送信されたOCRデータと対象となったファイルを受信する(ステップS509)。DBサーバ400は受信したOCRデータを図10の請求書データ1410のレコードとして業務データ記憶部410に保存し、対象となったデータを図10のファイル1430として保存する(ステップS510)。
次に、図6、図7を参照しながらVerificationステップの処理について説明する。
クライアントPC200はブラウザを起動する(ステップS600)。ブラウザから本システムにアクセスすることで、クライアントPC200はログイン画面を業務サーバ300にリクエストする(ステップS601)業務サーバはログイン画面を生成する(ステップS602)。クライアントPC200は生成されたログイン画面をブラウザに描画する(ステップS603)。
クライアントPC200はブラウザからログイン画面で入力を受け付け、業務サーバ300に入力情報を送信する(ステップS604)。業務サーバ300は図16のユーザデータ1400と入力情報を照会し、認証を行う(ステップS605)。
認証後、業務サーバ300はログインユーザーに紐づく請求書リストの取得をDBサーバ400に対してリクエストする(ステップS606)。DBサーバ400はログインユーザーのユーザーIDと図16の請求書データ1410の担当者ID1417が一致する請求書データを業務データ記憶部410から取得して請求書リストを返却する(ステップS607)。業務サーバ300は取得した請求書リストから請求書リスト画面を生成し、クライアントPC200に返却する(ステップS608)。クライアントPC200は返却された請求書リスト画面をブラウザに描画する(ステップS609)。
クライアントPC200はブラウザから請求書選択を受け付け、業務サーバ300に選択された請求書の情報を送信する(ステップS610)。業務サーバ300では受信した請求書の情報をDBサーバ400に引き渡し、請求書詳細情報を要求する(ステップS611)。DBサーバ400は受信した請求書の情報をキーとして業務データ記憶部410から該当する請求書の請求書データ1410を抽出する。抽出した請求書データ1410のファイルID1420とファイル1450のファイルID1451が一致するファイル1450も併せて抽出する。DBサーバ400は抽出した請求書データ1410とファイル1450を請求書の詳細情報として業務サーバ300に返却する(ステップS612)。業務サーバ300は取得した請求書の詳細情報を基に図12の請求書詳細画面1200を生成して、クライアントPC200に返却する(ステップS613)。クライアントPC200は請求書詳細画面をブラウザに表示する(ステップS614)。
クライアントPC200はブラウザから領域訂正、または、手入力訂正を受け付ける。
ここで、領域訂正・手入力訂正について記載する。
領域訂正は非定型OCR処理の読み取り領域の誤りを訂正するものである。クライアントPC200のブラウザに表示された図12の請求書詳細画面1200は請求データの入力項目にカーソルを合わせると、請求書詳細画面1210のようにスキャンファイルに読み取り対象となった領域を強調表示する。スキャンファイルに強調表示された読み取り領域が請求データの対象項目と一致しない場合に、OCR処理の読み取り領域の誤りを訂正する。これが領域訂正である。
手入力訂正はOCR処理の読み取り結果のデータに誤りがある場合に、直接読み取り結果を訂正するものである。OCR処理の読み取り領域は請求データの対象項目と一致しているが、OCRした結果、スキャンファイルの値と請求データの値が一致しないことがある。例として、数字の「1」と「7」や「0」と「6」など、誤った数値を読み取る場合などが挙げられる。このような場合に、読み取り結果をスキャンファイルに一致させるよう、請求データを直接訂正する。これが手入力訂正である。
クライアントPC200はブラウザに表示している請求書詳細画面1200から領域訂正を受け付ける(ステップS700)。領域訂正を受け付けた場合、クライアントPC200は訂正前の領域と訂正後の領域のデータをブラウザ内で保持する(ステップS701)。
クライアントPC200はブラウザに表示している請求書詳細画面1200から手入力訂正を受け付ける(ステップS702)。手入力訂正を受け付けた場合、クライアントPC200は訂正フラグを有効化する(ステップS703)。
請求書詳細画面1200の承認依頼ボタンが押下されると、クライアントPC200は図16の請求書データ1410のデータを業務サーバ300に送信する(ステップS704)。
次に、図8、図9を参照しながらCompare Layoutステップの処理について説明する。Compare Layoutステップの処理を行うタイミングは、Verificationステップの処理の後に続けて行う場合と、後述するApprovalステップの処理の前に行う場合のどちらでもよい。
業務サーバ300はクライアントPC200から請求書データ1410を受信する(ステップS800)。
業務サーバ300は請求書データ1410の各フィールド読取領域1412とファイルID1420に紐づく領域データ1600の抽出情報1603が"From"である請求書の取得をDBサーバ400に対してリクエストする(ステップS801)。Fromは、請求書に記載されている請求書発行元のことを指す。Fromは請求書レイアウトを比較するにあたって重要な情報であるため、Fromの情報を抽出している。
DBサーバ400は領域データ1600の抽出情報1603が"From"である請求書データを業務データ記憶部410から取得して請求書データを返却し(ステップS802)、業務サーバ300は返却された請求書データを取得する(ステップS811)。
例えば、A社の請求書のファイルデータ1455の中身が図17のレイアウト1501となっており、B社の請求書のファイルデータ1456の中身が図17のレイアウト1502となっているとする。このとき、A社の請求書のファイル1460のファイルID1453と、A社の領域データ1610のファイルID1611が紐づいており、B社の請求書のファイル1470のファイルID1454とB社の領域データ1620のファイルID1621が紐づいているとする。また、A社の領域データ1610の各フィールド読取領域1612とファイルID1611が、A社の請求書データ1430の各フィールド読取領域1431とファイルID1432が紐づいており、B社の領域データ1620の各フィールド読取領域1622とファイルID1621が、B社の請求書データ1440の各フィールド読取領域1441とファイルID1442に紐づいているとする。
DBサーバ400にA社の請求書データ1430とB社の請求書データ1440と、A社の請求書のファイル1460とB社の請求書のファイル1470と、抽出情報1603が"From"であるA社の領域データ1610とB社の1620がDBサーバ400に格納されている場合、請求書のファイル1450のファイルID1451と紐づいている領域データ1600のうち、抽出情報1603が"From"である領域データ1600のファイルID1601と、各フィールド読取領域1602と、請求書データ1410のファイルID1420と各フィールド読取領域1412を紐づけることで、抽出情報1603が"From"である領域データ1600を持つA社の請求書データ1430とB社の請求書データ1440のリストが返却される。
業務サーバ300はステップS800で受信した請求書データと、ステップS811で取得した請求書データに対して、抽出情報1603が"From"である領域データ1600の左上X座標1604、左上Y座標1605、幅1606、高さ1607の値を用いて、領域の情報を比較する(ステップS803)。
例えば、左上X座標1604、左上Y座標1605、幅1606、高さ1607の各値を比較し、各値の誤差がそれぞれ値の10%以下となる場合に、領域の情報が等しいと判断するという方法がある。また、本実施例では簡便的に抽出情報1603が"From"である領域データ1600で比較しているが、他の領域データやその組合せで比較してもよい。
座標を使用してレイアウトを比較する方法以外にも、特徴点を使用してレイアウトを比較する方法もある。これらは、既知の技術として知られている。
ステップS803では、ステップS811で取得した請求書データのうち、ステップS800で受信した請求書データとレイアウトが一致しているものをチェック用請求書データとして取得する。ステップS800で受信した請求書データと、チェック用請求書データの各フィールド値1411はステップS805、ステップS808で使用する。
ステップS812では、業務サーバ300はステップS803でチェック用請求書データ、つまりステップS800で受信した請求書データとレイアウトが一致している請求書データが取得できたかを判断する。取得できた場合はステップS804に進み、取得できなかった場合はステップS813に進む。
ステップS813では、ステップS800で受信した請求書データ1410のアラートタイプ1414の値を1にする。
ステップS804では、業務サーバ300はステップS800で受信した請求書データ1410のうち、抽出情報1603が"From"である領域のフィールド訂正フラグが有効であるかを判別する。
ステップS804で判定した結果、フィールド訂正フラグが有効でない場合、業務サーバ300はステップS800で受信した請求書データと、ステップS803で取得した請求書データのうち、ステップS800で受信した請求書データの抽出情報1603が"From"である領域データ1600が等しい請求書データに対して、フィールド値1411が等しいか比較する(ステップS805)。
ステップS805で判定した結果、フィールド値が等しくない場合、業務サーバ300はステップS800で受信した請求書データ1410のアラートタイプ1414の値を1にする(ステップS806)。このパターンは、OCR結果からFromの情報が訂正されていない、かつ、A社のいつもの請求書レイアウトと異なる場合が考えられる。例えば、図13の請求書詳細画面1230において、スキャンファイルのレイアウト1503が、A社のいつものレイアウト1501と異なっており、請求データの入力項目1221を変更しなかった場合などが挙げられる。このパターンは、この会社からの請求書のいつもの請求書レイアウトと異なるが問題ないかどうか確認するために、アラートタイプを1に設定する。
ステップS805で判定した結果、フィールド値が等しい場合、業務サーバ300はステップS800で受信した請求書データ1410のアラートタイプ1414の値を0にする(ステップS807)。このパターンは、OCR結果からFromの情報が訂正されていない、かつ、いつものこの会社の請求書レイアウトと同じ場合。例えば、図12の請求書詳細画面1200のように、始めからスキャンファイルと請求データが一致しており、変更する必要がない場合などが挙げられる。このパターンは特に問題ないため、アラートタイプを0に設定する。
ステップS804で判定した結果、フィールド訂正フラグが有効である場合、業務サーバ300はステップS800で受信した請求書データと、ステップS803で取得した請求書データのうち、ステップS800で受信した請求書データの抽出情報1603が"From"である領域データ1600が等しい請求書データに対して、フィールド値1411が等しいか比較する(ステップS808)。
ステップS808で判定した結果、フィールド値が等しくない場合、業務サーバ300はステップS800で受信した請求書データ1410のアラートタイプ1414の値を2にする(ステップS809)。このパターンは、いつものA社の請求書レイアウトと同じにも関わらず、VerificationステップでA社と違う会社名に書き換えている場合が考えられる。例えば、図12の請求書詳細画面1200において、意図的に請求データの入力項目1201を変更し、請求書詳細画面1220の請求データの入力項目1201のような誤った値に変更した場合などが挙げられる。このパターンは、不正の可能性も考えられるため、アラートタイプを2に設定する。
ステップS808で判定した結果、フィールド値が等しい場合、業務サーバ300はステップS800で受信した請求書データ1410のアラートタイプ1414の値を0にする(ステップS810)。このパターンは、いつものA社の請求書レイアウトにも関わらずOCRが誤って他の社名を認識してしまった場合に、Verificationステップでユーザーが正しい会社名に訂正するような場合が考えられる。例えば、図13の請求書詳細画面1220において、請求データの入力項目1221を変更し、請求書詳細画面1200の請求データの入力項目1201のような正しい値に変更した場合などが挙げられる。このパターンは特に問題ないため、アラートタイプを0に設定する。
ステップS800で受信した請求書データ1410に対して、フィールド訂正フラグの確認とフィールド値の比較が終わった後、業務サーバ300は請求書データ1410をDBサーバ400に送信する(ステップS900)。
DBサーバ400は受信した請求書データ1410で業務データ記憶部410の該当する請求書データ1410を更新する(ステップS901)。
業務サーバ300は承認依頼完了画面を生成し、クライアントPC200に送信する(ステップS902)。
クライアントPC200はブラウザに承認依頼完了画面を表示する(ステップS903)。
次に、図10、図11を参照しながらApprovalステップの処理について説明する。
ステップS1000からステップS1005までは図6のステップS600からステップS605までと同様の処理となるため、割愛する。
ステップS1005の認証後、業務サーバ300はログインユーザーに紐づく承認依頼リストの取得をDBサーバ400に対してリクエストする(ステップS1006)。DBサーバ400はログインユーザーのユーザーIDと図16の請求書データ1410の承認者ID1418が一致する請求書データを業務データ記憶部410から取得して承認依頼リストを返却する(ステップS1007)。業務サーバ300は取得した承認依頼リストから承認依頼リスト画面を生成し、クライアントPC200に返却する(ステップS1008)。クライアントPC200は返却された承認依頼リスト画面をブラウザに描画する(ステップ1009)。
クライアントPC200はブラウザから承認依頼選択を受け付け、業務サーバ300に選択された承認依頼の情報を送信する(ステップS1010)。業務サーバ300では受信した承認依頼の情報をDBサーバ400に引き渡し、承認依頼詳細情報を要求する(ステップS1011)。DBサーバ400は受信した請求書の情報をキーとして業務データ記憶部410から該当する請求書の請求書データ1410を抽出する。抽出した請求書データ1410のファイルID1420に一致するファイル1430も併せて抽出する。DBサーバ400は抽出した請求書データ1410とファイル1430を承認依頼の詳細情報として業務サーバ300に返却する(ステップS1012)。業務サーバ300は取得した承認依頼詳細情報から承認依頼詳細画面を生成する。この際、業務サーバ300はアラートタイプから生成する承認依頼詳細画面を変更する。
業務サーバ300は承認依頼詳細情報の各フィールドのアラートタイプの値を判定する(ステップS1100)。
ステップS1100で判定した結果、アラートタイプの値が1の場合、図14の1300のように、請求データのうち正しい値に修正されていない箇所1301を点線で囲む(ステップS1101)。アラートタイプの値が1の場合は、値が訂正されていない、かつ、A社のいつもの請求書レイアウトと異なる場合、または、ステップS812でステップS800で受信した請求書データとレイアウトが一致している請求書データが取得できなかった場合である。これにより、承認依頼詳細画面を参照するユーザーは、会社名が異なるのではないか、ということを確認することができる。
ステップS1100で判定した結果、アラートタイプの値が2の場合、図15の1320のように、請求データのうち異なる値に修正した箇所を実線で囲む(ステップS1102)。アラートタイプの値が2の場合は、いつものA社の請求書レイアウトと同じにも関わらず、VerificationステップでA社と違う会社名に書き換えている場合である。これにより、入力誤りや意図的に変更された値であるのではないか、ということを確認しやすくなる。点線や実線で囲むという処理は、アラート表現の1つであるため、アイコンを使って表示したり、誤りであると思われる内容をメッセージとして表示したりするなど、他の方法でアラートを表現してもよい。
アラートタイプの値が0の場合、図14の1310のように、承認依頼詳細情報が正しいため、アラートを上げない。
このように、Compare Layoutステップで、訂正の有無や抽出情報1603が等しい請求書データ1410に対するフィールド値1411を比較し、アラートタイプを設定し、承認依頼詳細画面の表示を変更することで、承認依頼詳細画面を参照するユーザーは重点的に確認すべき箇所を目視で瞬時に判別でき、確認すべき理由もアラートタイプによって伝えることが出来る。また、訂正時の入力誤りや不正な数値の修正の見落としに気づきやすくなり、ユーザーの利便性が向上する。
業務サーバ300は上記のステップS1100からステップS1102までを経て、承認依頼詳細画面を生成し、クライアントPC200に送信する(ステップS1103)。
クライアントPC200はブラウザ上に業務サーバから承認依頼詳細画面を受信し、図15の承認依頼詳細画面1330をブラウザに描画する(ステップS1104)。
クライアントPC200は承認依頼詳細画面の承認ボタンまたは否認ボタンから承認または否認を受け付け、業務サーバ300に送信する(ステップS1105)。
業務サーバ300は受信した承認または否認のステータスをDBサーバ400に送信する(ステップS1106)。
DBサーバ400は受信した承認または否認のステータスによって、業務データ記憶部410に格納されている請求書データ10100のステータス10109を更新する(ステップS1107)。
業務サーバ300は承認または否認に従い、承認または否認完了画面を生成して、クライアントPC200に送信する(ステップS1108)。
クライアントPC200は受信した承認または否認完了画面をブラウザ上に描画する(ステップS1109)。
上記により、画像(本実施例では請求書データ)のレイアウトの差異を考慮しながら、画像から認識および変更された結果が妥当かを確認できるようになる。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、本発明におけるプログラムは、各フローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は各フローチャートの処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図4の各装置の処理方法ごとのプログラムであってもよい。
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハーfドディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク、ソリッドステートドライブ等を用いることができる。
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
1 情報処理システム
10 ネットワーク(LAN)
100 複合機
200 クライアントPC
300 業務サーバ
400 DBサーバ
500 OCRサーバ
600 メールサーバ
10 ネットワーク(LAN)
100 複合機
200 クライアントPC
300 業務サーバ
400 DBサーバ
500 OCRサーバ
600 メールサーバ
Claims (9)
- 文字列の領域を含む複数の画像に対する文字列および当該文字列の領域を記憶する情報処理装置であって、
第1の画像に対する文字列および当該文字列の領域を取得する取得手段と、
前記第1の画像に対する文字列の領域と前記記憶する複数の画像に対する文字列の領域とに基づき、前記複数の画像から前記第1の画像に対応する第2の画像を決定する決定手段と、
前記第1の画像の所定の文字列と前記第2の画像の所定の文字列とを比較した結果に基づいて識別表示する表示制御手段と
を備えることを特徴とする情報処理装置。 - 前記表示制御手段は、前記第1の画像の所定の文字列と前記第2の画像の所定の文字列とが異なる場合に識別表示することを特徴とする請求項1に記載の情報処理装置。
- 前記表示制御手段は、前記第1の画像の所定の文字列と前記第2の画像の所定の文字列とが一致する場合に正常として表示することを特徴とする請求項1または2に記載の情報処理装置。
- 前記第1の画像から認識した文字列の変更を受け付ける受付手段と、
前記取得した第1の画像に対する前記所定の文字列が変更された文字列か否かを判定する判定手段とを更に備え、
前記表示制御手段は、前記判定した結果を識別表示することを特徴とする請求項1〜3のいずれか1項に記載の情報処理装置。 - 前記第1の画像に対する前記所定の文字列の領域と前記第2の画像に対する前記所定の文字列の領域とが同一または近傍であることを特徴とする請求項1〜4に記載の情報処理装置。
- 前記表示制御手段は、前記第1の画像に対応する第2の画像が決定されなかった場合に識別表示することを特徴とする請求項1〜5のいずれか1項に記載の情報処理装置。
- 前記複数の画像に対する文字列および当該文字列の領域は、予め記憶されている履歴情報であることを特徴とする請求項1〜6のいずれか1項に記載の情報処理装置。
- 文字列の領域を含む複数の画像に対する文字列および当該文字列の領域を記憶する情報処理装置の制御方法であって、
取得手段が、第1の画像に対する文字列および当該文字列の領域を取得する取得ステップと、
決定手段が、前記第1の画像に対する文字列の領域と前記記憶する複数の画像に対する文字列の領域とに基づき、前記複数の画像から前記第1の画像に対応する第2の画像を決定する決定ステップと、
表示制御手段が、前記第1の画像の所定の文字列と前記第2の画像の所定の文字列とを比較した結果に基づいて識別表示する表示制御ステップと
を備えることを特徴とする情報処理装置の制御方法。 - 文字列の領域を含む複数の画像に対する文字列および当該文字列の領域を記憶する情報処理装置において実行可能なプログラムであって、
前記情報処理装置を、
第1の画像に対する文字列および当該文字列の領域を取得する取得手段と、
前記第1の画像に対する文字列の領域と前記記憶する複数の画像に対する文字列の領域とに基づき、前記複数の画像から前記第1の画像に対応する第2の画像を決定する決定手段と、
前記第1の画像の所定の文字列と前記第2の画像の所定の文字列とを比較した結果に基づいて識別表示する表示制御手段
として機能させるためのプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019220059A JP2021089618A (ja) | 2019-12-05 | 2019-12-05 | 情報処理装置、制御方法、プログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019220059A JP2021089618A (ja) | 2019-12-05 | 2019-12-05 | 情報処理装置、制御方法、プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2021089618A true JP2021089618A (ja) | 2021-06-10 |
Family
ID=76220217
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019220059A Pending JP2021089618A (ja) | 2019-12-05 | 2019-12-05 | 情報処理装置、制御方法、プログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2021089618A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2023028965A (ja) * | 2021-08-20 | 2023-03-03 | 株式会社マネーフォワード | 証憑構造分析システム、証憑構造分析方法及び証憑構造分析プログラム |
-
2019
- 2019-12-05 JP JP2019220059A patent/JP2021089618A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2023028965A (ja) * | 2021-08-20 | 2023-03-03 | 株式会社マネーフォワード | 証憑構造分析システム、証憑構造分析方法及び証憑構造分析プログラム |
| JP7241822B2 (ja) | 2021-08-20 | 2023-03-17 | 株式会社マネーフォワード | 証憑構造分析システム、証憑構造分析方法及び証憑構造分析プログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN100463483C (zh) | 图像处理系统 | |
| JP2020170465A (ja) | 情報処理装置、制御方法、プログラム | |
| JP4958118B2 (ja) | 画像形成装置、情報処理システムと、その処理方法およびプログラム | |
| JP6803109B2 (ja) | 認証システム、その制御方法、及びプログラム、並びに、認証サーバ、その制御方法、及びプログラム | |
| JP4650852B2 (ja) | 画像形成装置および認証情報管理システム、認証情報管理方法、認証情報管理プログラム | |
| JP5158654B2 (ja) | 画像処理システム、及びその制御方法、プログラム、プログラムを記録した記録媒体 | |
| JP4961535B2 (ja) | 画像形成装置、制御方法、プログラム | |
| JP4846830B2 (ja) | 画像形成装置とその情報処理方法及びプログラム | |
| JP6813784B2 (ja) | 画像処理装置とその処理方法及びプログラム | |
| JP2021089618A (ja) | 情報処理装置、制御方法、プログラム | |
| JP2015164021A (ja) | 画像処理システムとその処理方法及びプログラム | |
| JP6813783B2 (ja) | 画像処理装置とその処理方法及びプログラム | |
| JP5979292B2 (ja) | 画像形成装置、画像形成装置の制御方法、及びコンピュータプログラム。 | |
| JP4936404B2 (ja) | 画像形成装置、管理サーバ、情報処理システムと、その処理方法およびプログラム | |
| JP6860793B2 (ja) | 認証システム、その制御方法、及びプログラム、並びに、認証サーバ、その制御方法、及びプログラム | |
| JP2022111122A (ja) | サーバ、制御方法、プログラム | |
| JP5505285B2 (ja) | 画像処理システム、画像処理方法、画像処理装置及びコンピュータプログラム | |
| JP5316891B2 (ja) | ファクシミリ装置及びその制御方法、プログラム。 | |
| JP6931160B2 (ja) | 情報処理装置、制御方法、プログラム | |
| JP5870518B2 (ja) | 画像形成装置、画像形成装置の制御方法、及びコンピュータプログラム。 | |
| JP6631249B2 (ja) | 情報処理装置、情報処理システム、制御方法、及びプログラム | |
| JP4978930B2 (ja) | 情報処理装置、情報処理方法、プログラム | |
| JP2011010038A (ja) | 画像形成装置、処理方法及びプログラム | |
| JP5375884B2 (ja) | 認証装置、認証方法、及びコンピュータプログラム | |
| JP2015106844A (ja) | 文書補正管理システム、画像処理サーバ、文書補正管理システムの制御方法、画像処理サーバの制御方法、文書補正管理システムのプログラム、画像処理サーバのプログラム、及び記録媒体 |