(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024134887
(43)【公開日】2024-10-04
(54)【発明の名称】情報処理システム、帳票作成方法、プログラム
(51)【国際特許分類】
G06V 30/00 20220101AFI20240927BHJP
G06Q 10/00 20230101ALI20240927BHJP
【FI】
G06V30/00 Z
G06Q10/00
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023045318
(22)【出願日】2023-03-22
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100107515
【弁理士】
【氏名又は名称】廣田 浩一
(72)【発明者】
【氏名】井上 慶一
【テーマコード(参考)】
5B064
5L049
【Fターム(参考)】
5B064AA01
5B064DA11
5L049CC28
(57)【要約】 (修正有)
【課題】画像データから抽出したキーワードや値を所定の用語や所定の単位の値に変換した帳票を作成する情報処理システムを提供すること。
【解決手段】サービス提供システムにおいて、情報処理システム10は、キーワードと用語が対応付けられた第1の定義情報に基づいて、キーワードを用語に変換する変換部42を有する帳票管理部18が、用語と、値を予め定められた単位の値に換算する単位換算処理部19が換算した値とを含む帳票を作成する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
電子機器により指定された画像データからキーワード及び値を抽出する情報処理システムであって、
前記キーワードと用語が対応付けられた第1の定義情報に基づいて、前記キーワードを前記用語に変換する変換部と、
前記値を予め定められた単位の値に換算する単位換算処理部と、
前記用語と前記単位換算処理部が換算した前記値を含む帳票を作成する帳票管理部と、
を有する情報処理システム。
【請求項2】
前記帳票管理部は、前記キーワードと帳票のテンプレートが対応付けられた第2の定義情報に基づいて、前記キーワードに基づいて1つ以上の前記帳票のテンプレートを決定し、
1つ以上の前記帳票のテンプレートを電子機器に送信する通信部を有し、
前記帳票管理部は、前記電子機器が選択を受け付けた前記帳票のテンプレートに基づいて前記用語、及び、前記単位換算処理部が換算した前記値を含む帳票を作成する請求項1に記載の情報処理システム。
【請求項3】
前記画像データから更に単位を表す文字列が抽出されており、
前記単位換算処理部は、前記単位が予め定められた第1の単位である場合、該第1の単位に対応付けられている前記値を予め定められた第2の単位の値に換算する請求項1又は2に記載の情報処理システム。
【請求項4】
前記第1の単位で表された値を、前記第2の単位の値に換算する換算式を入力する換算式登録画面を生成するUI提供部を有し、
前記帳票管理部は、前記電子機器が表示した前記換算式登録画面に対し入力された前記換算式を、記憶部に保存しておき、
前記単位換算処理部は、前記記憶部から取得した前記換算式に基づいて、前記値を予め定められた単位の値に換算する請求項3に記載の情報処理システム。
【請求項5】
画像データから抽出された前記キーワードを表示するキーワード一覧画面を生成するアプリ画面生成部を有し、
前記帳票管理部は、前記電子機器が表示した前記キーワード一覧画面において修正された後のキーワードが前記用語である場合に、前記用語に修正前のキーワードを対応付けて記憶部に保存しておき、
同じ前記用語に対応付けられた同じ修正前のキーワードの数が閾値以上になった場合に、前記用語に対応付けて、前記修正前のキーワードを前記キーワードとして前記第1の定義情報に追加する請求項1に記載の情報処理システム。
【請求項6】
前記キーワードと前記用語のペアの入力欄を表示する用語登録画面を生成するUI提供部を有し、
前記帳票管理部は、前記電子機器が表示した前記用語登録画面において入力された、前記キーワードと前記用語のペアを対応付けて前記第1の定義情報に登録する請求項1に記載の情報処理システム。
【請求項7】
予め定められた前記第1の単位は「ヶ月」であり、前記第2の単位は「円」であり、
前記単位換算処理部は、賃料を表すキーワードに対応付けられた値に、前記第1の単位に対応付けられた値を乗じて、敷金又は礼金を前記第2の単位の値に換算する請求項3に記載の情報処理システム。
【請求項8】
電子機器により指定された画像データからキーワード及び値を抽出する情報処理システムが行う帳票作成方法であって、
変換部が、前記キーワードと用語が対応付けられた第1の定義情報に基づいて、前記キーワードを前記用語に変換する処理と、
単位換算処理部が、前記値を予め定められた単位の値に換算する処理と、
帳票管理部が、前記用語と前記単位換算処理部が換算した前記値を含む帳票を作成する処理と、
を有する帳票作成方法。
【請求項9】
電子機器により指定された画像データからキーワード及び値を抽出する情報処理システムを、
前記キーワードと用語が対応付けられた第1の定義情報に基づいて、前記キーワードを前記用語に変換する変換部と、
前記値を予め定められた単位の値に換算する単位換算処理部と、
前記用語と前記単位換算処理部が換算した前記値を含む帳票を作成する帳票管理部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、帳票作成方法、及びプログラムに関する。
【背景技術】
【0002】
画像データから文字列を認識する光学的文字認識技術が知られている。またこの文字列から予め定められたキーワードや値などを抽出する技術が知られている。キーワードや値などが抽出されると、予め用意されている帳票へこれらの転記などが可能になる。
【0003】
光学的文字認識技術により誤変換された文字を補正する技術が知られている(例えば特許文献1参照)。特許文献1には、テキストデータに変換された文字列のうち補正が必要なものを自動的に補正し、帳票作成する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術のように、画像データから抽出したキーワードや値を帳票に転記するだけでは、キーワードや値を所定の用語や所定の単位の値に変換した帳票を作成できないという問題があった。
【0005】
本発明は、上記課題に鑑み、画像データから抽出したキーワードや値を所定の用語や所定の単位の値に変換した帳票を作成する技術を提供する。
【課題を解決するための手段】
【0006】
上記課題に鑑み、本発明は、電子機器により指定された画像データからキーワード及び値を抽出する情報処理システムであって、前記キーワードと用語が対応付けられた第1の定義情報に基づいて、前記キーワードを前記用語に変換する変換部と、前記値を予め定められた単位の値に換算する単位換算処理部と、前記用語と前記単位換算処理部が換算した前記値を含む帳票を作成する帳票管理部と、を有する。
【発明の効果】
【0007】
本発明は、画像データから抽出したキーワードや値を所定の用語や所定の単位の値に変換した帳票を作成する技術を提供できる。
【図面の簡単な説明】
【0008】
【
図3】サービス提供システムの一例のシステム構成を示す図である。
【
図4】情報処理システム及び端末装置の一例のハードウェア構成を示す図である。
【
図5】機器の一例である画像形成装置のハードウェア構成図である。
【
図6】サービス提供システムの一例の機能構成を示す図である。
【
図7】一例の標準用語テーブルと類義語テーブルを示す図である。
【
図8】情報の登録、アプリの実行、類義語候補テーブルの整理等の処理の流れを説明する一例のアクティビティ図である。
【
図9】開発者が標準用語テーブル、類義語テーブル、及び換算定義を登録する詳細な一例のシーケンス図である。
【
図10】端末装置が表示する一例の用語登録画面を示す図である。
【
図11】端末装置が表示する一例の換算式登録画面を示す図である。
【
図12】標準用語テーブルと類義語テーブルに登録される標準用語と類義語の形式を示す図である。
【
図13】換算定義に保存される一例の換算式の形式を示す図である。
【
図14】ユーザーが帳票作成するアプリを実行する一例のシーケンス図である。
【
図15】ワークフローが含む処理を模式的に示す図である。
【
図16】ファイルをOCRにより文字認識して抽出されたキーワード、値、単位等の一例の抽出結果を示す図である。
【
図17】情報処理システムが類義語と単位を帳票用に変換した一例の変換結果を示す図である。
【
図18】機器が表示する一例の抽出結果画面を示す図である。
【
図19】ユーザーが類義語の候補を類義語候補テーブルに登録する処理を説明する一例のシーケンス図である。
【
図20】一例の類義語候補テーブルを示す図である。
【
図21】ユーザーが帳票作成するアプリを実行する一例のシーケンス図である。
【
図22】一例のテンプレートテーブル、対応テーブル、標準用語テーブルを示す図である。
【
図23】機器が表示する一例のテンプレートリスト画面を示す図である。
【
図24】ワークフローアプリとそれを構成するコンポーネントについて説明する図である。
【発明を実施するための形態】
【0009】
以下、本発明を実施するための形態の一例として、サービス提供システムとサービス提供システムが行う帳票作成方法について図面を参照しながら説明する。
【0010】
<OCR処理される画像データの補足>
例えば、不動産賃貸仲介の仕事では、マンションやアパート(以下、賃貸物件という)を借りたいと思う人に対し、その物件情報の書類を元に契約の際に必要な初期費用の見積書を作成するという業務がある。
【0011】
図1は、物件情報の書類の一例を、
図2は、初期費用の見積書の一例を示す。初期費用は、物件情報の書類に記載された敷金、礼金、家賃、及び火災保険などの費用から計算できる。しかし、
図1に示すように、敷金や礼金は金額でなく家賃の月数により記載されている場合が多いため、情報処理システムがOCR(Optical Character Recognition/Reader)で敷金や礼金に対応する数字を抜き出せば見積書を作成できるわけではない。すなわち、敷金や礼金を初期費用に正しく反映させるには、情報処理システムが「敷金の月数×家賃」、「礼金の月数×家賃」を計算する必要がある。
【0012】
また、不動産賃貸仲介業者が、物件書類に記載の項目を見積書に合った表現に修正したい場合(例えば、物件情報に記載の管理費を共益費に変更したい)も手動で書き直さなければならない。
【0013】
これらのように、元の画像データの情報を加工する必要がある場合、情報処理システムが単純にOCRでキーワードやキーワードに対応付けられた数値を抽出するだけでは適切な帳票を作成できない。
【0014】
そこで、本実施形態の情報処理システムは以下の処理を実行し、自動で適切な帳票(見積書等)の作成を可能にする。
(i) 管理者が標準用語とその類義語、及び、数値で表されている値の単位の換算式を登録しておく。
(ii) 情報処理システムは登録された換算式を実行して、OCR処理により抽出した値の単位を変換する。
(iii) 情報処理システムは、OCR処理により抽出したキーワードが類義語と一致する場合、キーワードの表記を帳票に合う標準用語に変更する。
【0015】
したがって、本実施形態では、OCRで抜き出したキーワードを元に見積書などの帳票を作成する業務において、キーワードをその帳票にふさわしい用語に変換し、合計金額など元の画像データの数値から加工する必要がある値を自動で算出できる。本実施形態は、これまで単純にOCRでキーワードを抜き出すだけでは対応できなかった帳票を作成でき、これにより、帳票作成の負担を更に軽減できる。
【0016】
<用語について>
アプリケーションとは、ユーザーがサービスを受けるために機器や情報処理装置で実行されるプログラムである。アプリケーションには、Webブラウザとサーバー側のプログラムが協調して実行するWebアプリと、サーバーを必須とせずに(通信はしてもよい)情報処理装置が実行するネイティブアプリがある。Webアプリの場合、アプリケーションは一連の処理を順番に実行するワークフローアプリの場合がある。本実施形態では、アプリケーションを単にアプリという場合がある。
【0017】
アプリケーションは1つ以上の処理を含む。処理は、アプリケーションが目的の成果物を出力できるようにある程度の機能がまとめられた情報処理であればよい。本実施形態では、コンポーネントが実行する情報処理又はコンポーネントが処理に相当する。
【0018】
ワークフローアプリとは、複数の処理が決まった順番で実行されるアプリケーションをいう。ワークフローアプリを単にワークフローや処理フローという場合がある。
【0019】
画像データとは、少なくとも一部に画像を含むデータであればテキストデータを含んでもよい。画像とは、事象を視覚的に表すもので、視覚化される対象は問わない。画像データはファイル形式で送受信されてよい。
【0020】
キーワードとは、画像データから光学的文字認識により抽出される文字列、数値、単位の内、例えば文字列である。値とは、画像データから光学的文字認識により抽出される文字列、数値、単位の内、例えば数値である。
【0021】
単位とは、料金、価格、長さ、重さ、量などの数量を計算するときの基準となるものである。
【0022】
用語とは、帳票に使用されうる予め定められた語である。
【実施例0023】
<システム構成>
本実施形態に係るサービス提供システム100のシステム構成について、
図3を参照しながら説明する。
図3は、本実施形態に係るサービス提供システム100の一例のシステム構成を示す図である。
【0024】
図3に示すサービス提供システム100は、情報処理システム10と、機器20と、を有する。情報処理システム10と機器20は、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。また、情報処理システム10,機器20、及び、端末装置30は、ネットワークN1を介して、外部システムである外部サービスシステム40と通信できる。機器20と端末装置30は、企業などの施設に配置されており、ネットワークN2に接続されている。ここで、機器20と端末装置30は、それぞれ電子機器の一例である。ネットワークN2は、LAN、Wi-Fi(登録商標)、広域イーサネット(登録商標)、4G、5G、6G等の携帯電話網、などでよい。
【0025】
情報処理システム10は、一台以上の情報処理装置で実現され、ネットワークN1を介して、クラウドサービス等の外部サービスシステム40と連携した一連の処理により実現される各種のサービスを提供する。本実施形態に係る情報処理システム10が提供するサービスの具体例については後述する。情報処理システム10は、クラウドコンピューティングにより実現されてもよいし、単一の情報処理装置によって実現されてもよい。クラウドコンピューティングとは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される形態をいう。情報処理システム10は、インターネット上に存在しても、オンプレミスに存在してもよい。なお、一連の処理は1つのアプリケーションにより提供され、一連の処理を「処理フロー」「ワークフロー」ともいう。
【0026】
機器20は、ユーザーが使用する各種の電子機器である。本実施形態では、機器20は原稿の読み取り機能(スキャン機能)を有していればよい。機器20は、スキャナ、画像処理装置、画像形成装置、MFP(Multifunction Peripheral)と呼ばれていてもよい。また、機器20は、原稿から画像データを生成するものであれば、デジタルカメラやデジタルカメラを有する装置でもよい。機器20は、例えば、PC(パーソナルコンピュータ)、プロジェクタ、電子黒板、テレビ会議端末等でもよい。また、機器20はPCにスキャナが接続されたシステムでもよい。ユーザーは、機器20を用いて、情報処理システム10又は外部サービスシステム40が提供する各種のサービス(アプリケーション)を利用することができる。
【0027】
なお、以降では、複数の機器20について、各々を区別するときは、「機器20A」、「機器20B」等と添え字を用いて記載する。
【0028】
端末装置30は、例えば、管理者又はユーザーが使用するデスクトップPC、ノート型PC、スマートフォン、タブレット端末等である。管理者は、端末装置30を操作して、ワークフローを作成したり、ワークフローの利用権限をユーザーに割り振ったりすることができる。管理者又はユーザーは端末装置30を操作して、情報処理システム10又は外部サービスシステム40が提供する各種のサービスを利用することができ、更に、アプリケーションの設定を行うことができる。
【0029】
なお、以降では、複数の端末装置30について、各々を区別するときは、「端末装置30A」、「端末装置30B」等と添え字を用いて記載する。
【0030】
外部サービスシステム40は、情報処理システム10がアプリケーションを実行する際にデータの保存、読出、又は加工を行うことで、サービスを提供する一台以上の情報処理装置である。外部サービスシステム40の「外部」とは、情報処理システム10とは別のシステムであることをいう。すなわち、情報処理システム10と外部サービスシステム40は異なる企業により運営される場合がある。例えば、同じユーザーであっても外部サービスシステム40と情報処理システム10ではアカウントが異なる。ただし、外部サービスシステム40が情報処理システム10と業務提携していたり関連会社の関係にあったりしてもよい。
【0031】
外部サービスシステム40の一例には、例えば、クラウドサービス、ASP(Application Service Provider)等があり、ネットワークを介して提供される各種の外部サービスが含まれてよい。例えば、サービスの一例としてストレージサービスがある。外部サービスシステム40は、インターネット上に存在しても、オンプレミスに存在してもよい。
【0032】
なお、以降では、複数の外部サービスシステム40について、各々を区別するときは、図示されている「外部サービスシステム40A、40B」と記載する。
【0033】
<ハードウェア構成例>
図4、
図5を参照して、本実施形態に係るサービス提供システム100に含まれる情報処理システム10及び端末装置30のハードウェア構成について説明する。
【0034】
<<情報処理システム及び端末装置>>
図4は、本実施形態に係る情報処理システム10及び端末装置30の一例のハードウェア構成を示す図である。
図4に示されているように、情報処理システム10及び端末装置30はコンピュータ500によって構築されており、CPU501、ROM502、RAM503、HD(Hard Disk)504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514、メディアI/F516を備えている。
【0035】
これらのうち、CPU501は、情報処理システム10及び端末装置30全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、ネットワークN2を利用してデータ通信をするためのインターフェースである。バスライン510は、
図4に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0036】
また、キーボード511は、文字、数値、又は各種指示などの入力に使用される複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ514は、着脱可能な記録媒体の一例としてのDVD-RW513に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWドライブ514は、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
【0037】
<<機器>>
図5は、機器20の一例である画像形成装置のハードウェア構成図である。
図5に示されているように、画像形成装置は、コントローラ910、近距離通信回路920、エンジン制御部930、操作パネル940、ネットワークI/F950を備えている。
【0038】
これらのうち、コントローラ910は、コンピュータの主要部であるCPU901、システムメモリ(MEM-P)902、ノースブリッジ(NB)903、サウスブリッジ(SB)904、ASIC(Application Specific Integrated Circuit)906、記憶部であるローカルメモリ(MEM-C)907、HDDコントローラ908、及び、記憶部であるHD909を有し、NB903とASIC906との間をAGP(Accelerated Graphics Port)バス921で接続した構成となっている。
【0039】
これらのうち、CPU901は、画像形成装置の全体制御を行う制御部である。NB903は、CPU901と、MEM-P902、SB904、及びAGPバス921とを接続するためのブリッジであり、MEM-P902に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
【0040】
MEM-P902は、コントローラ910の各機能を実現させるプログラムやデータの格納用メモリであるROM902a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM902bとからなる。なお、RAM902bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0041】
SB904は、NB903とPCIデバイス、周辺デバイスとを接続するためのブリッジである。ASIC906は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス921、PCIバス922、HDDコントローラ908及びMEM-C907をそれぞれ接続するブリッジの役割を有する。このASIC906は、PCIターゲット及びAGPマスタ、ASIC906の中核をなすアービタ(ARB)、MEM-C907を制御するメモリコントローラ、ハードウェアロジックなどにより画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)、並びに、スキャナ部931、プリンタ部932、及びファクシミリ部との間でPCIバス922を介したデータ転送を行うPCIユニットとからなる。なお、ASIC906は、USB(Universal Serial Bus)のインターフェースや、IEEE1394(Institute of Electrical and Electronics Engineers 1394)のインターフェースを有していてよい。
【0042】
MEM-C907は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD909は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。HD909は、CPU901の制御にしたがってHD909に対するデータの読出又は書込を制御する。AGPバス921は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P902に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
【0043】
また、近距離通信回路920には、近距離通信回路のアンテナ920aが備わっている。近距離通信回路920は、NFC、Bluetooth(登録商標)等の通信回路である。
【0044】
更に、エンジン制御部930は、スキャナ部931、プリンタ部932及びファクシミリ部933を有している。また、操作パネル940は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部940a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなるハードキー940bを備えている。コントローラ910は、画像形成装置全体の制御を行い、例えば、描画、通信、操作パネル940からの入力等を制御する。スキャナ部931又はプリンタ部932には、誤差拡散やガンマ変換などの画像処理部分が含まれている。
【0045】
なお、画像形成装置は、操作パネル940のアプリ切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。画像形成装置は、ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
【0046】
また、ネットワークI/F950は、ネットワークN2を利用してデータ通信をするためのインターフェースである。近距離通信回路920及びネットワークI/F950は、PCIバス922を介して、ASIC906に電気的に接続されている。
【0047】
<機能について>
次に、
図6を参照し、本実施形態に係るサービス提供システム100の機能構成について説明する。
図6は、本実施形態に係るサービス提供システム100の一例の機能構成を示す図である。
【0048】
<<機器>>
機器20は、サービス提供システムを利用するクライアントである。本実施形態では、ユーザーが機器20で物件情報などの原稿を機器20にスキャンさせる。スキャンにより生成された画像データ(ファイル)は外部サービスシステム40に保存されている。ユーザーがアプリを実行することで、情報処理システム10がファイルに基づいて、OCR及び帳票の作成を行う。
【0049】
機器20は、通信部21と、表示制御部22と、操作受付部23と、画像データ生成部24と、ファクシミリ処理部25と、電子メール処理部26とを有する。これら各機能部は、機器20にインストールされた1以上のプログラムに含まれる命令を
図5に示したCPU901が実行することで実現される機能又は手段である。例えば、通信部21、表示制御部22及び操作受付部23はWebブラウザにより実現され、その他は個別のアプリケーション(ネイティブアプリ)により実現される。
【0050】
通信部21は、情報処理システム10との間で各種の情報を送受信する。本実施形態では、通信部21は、アプリ一覧画面等の画面情報を情報処理システム10から受信し、アプリケーションの実行要求や画像データ等を情報処理システム10に送信する。
【0051】
表示制御部22は、各種の画面の画面情報を解釈してパネル表示部940aに表示する。操作受付部23は、パネル表示部940aに表示された各種画面におけるユーザーの各種操作を受け付ける。
【0052】
画像データ生成部24は、操作受付部23が選択を受け付けたアプリケーションが画像データを生成するものである場合、スキャナ部931で原稿を読み取って(スキャンし)て画像データを生成する。画像データはメタデータと共にPDFファイルなどに加工される。
【0053】
ファクシミリ処理部25は、ファクシミリ部933によるファクシミリの受信及び送信に関する処理を行い、ファクシミリを受信した場合に予め対応付けられているアプリケーションの実行を情報処理システム10に要求する。なお、ファクシミリ処理部25は、ファクシミリの送信元(FAX番号)に対応したアプリケーションを要求してもよい。
【0054】
電子メール処理部26は、電子メールの送受信に関する処理を行い、電子メールを受信した場合に予め対応付けられているアプリケーションの実行を情報処理システム10に要求する。なお、電子メール処理部26は、電子メールの送信元(メールアドレス)に対応したアプリケーションを要求してもよい。
【0055】
<<端末装置>>
端末装置30は、アプリを作成する開発者により使用される。開発者は、例えば画面情報、アプリ情報、帳票情報等を情報処理システム10に登録しておく。端末装置30ではWebブラウザが実行されるが、ネイティブアプリが実行されてもよい。
【0056】
端末装置30は、通信部31と、表示制御部32と、操作受付部33とを有する。これら各機能部は、端末装置30にインストールされた1以上のプログラムに含まれる命令をCPU501が実行することで実現される機能又は手段である。なお、このプログラムはWebブラウザが実行するWebアプリでもよいし、専用のネイティブアプリでもよい。
【0057】
通信部31は、情報処理システム10との間で各種の情報を送受信する。本実施形態では各種の画面情報等を情報処理システム10から受信し、開発者が設定した情報を情報処理システム10に送信する。
【0058】
表示制御部32は、各種の画面の画面情報を解釈してディスプレイ506に表示する。操作受付部33は、ディスプレイ506に表示された各種画面における開発者の各種操作を受け付ける。
【0059】
<<情報処理システム>>
情報処理システム10は、通信部11、アプリ画面生成部12、アプリ管理部13、アプリ登録部14、I/Oロジック処理部15、UI提供部16、認証認可部17、帳票管理部18、単位換算処理部19、及び候補追加判断部41を有している。情報処理システム10が有する各機能部は、情報処理システム10にインストールされた1以上のプログラムに含まれる命令を
図4に示したCPU501が実行することで実現される機能又は手段である。
【0060】
また、情報処理システム10は、画面情報記憶部49、アプリ情報記憶部50、及び、帳票情報記憶部60を有している。情報処理システム10が有する各記憶部は、
図4に示したRAM503、HD504等に構築される。なお、これら各記憶部は、情報処理システム10でなくネットワーク上に構築されてもよい。
【0061】
通信部11は、機器20や端末装置30との間で各種の情報を送受信する。本実施形態では、通信部11はアプリケーションの画面定義を機器20に送信し、ワークフローで処理される画像データ等を受信する。
【0062】
アプリ画面生成部12と機器20はWebアプリを実行する。Webアプリとは、Webブラウザ上で動作するプログラミング言語(例えばJavaScript(登録商標))によるプログラムとWebサーバー側のプログラムが協調することによって動作するアプリケーションである。これに対し、機器20や端末装置30にインストールされなければ実行されないアプリケーションをネイティブアプリという。本実施形態に関しても、機器20で実行されるアプリケーションはWebアプリでもネイティブアプリでもよい。また、機器20はWebアプリとネイティブアプリの両方を実行し、両者が協働してワークフローの実行を受け付けてもよい。
【0063】
アプリ画面生成部12は、Webアプリの画面を機器20が表示するための画面定義63をアプリ情報記憶部50から取得する。画面定義63は、HTML、XML、スクリプト言語、及びCSS(Cascading Style Sheet)等で記述されたプログラムであり、主にHTMLによりWebページの構造が特定され、スクリプト言語によりWebページの動作が規定され、CSSによりWebページのスタイルが特定される。
【0064】
アプリ管理部13は、アプリ情報記憶部50に管理されている画面定義63や処理内容64を「アプリ1」というようなアプリIDと紐付けて管理している。画面定義63は、アプリを実行する機器20が表示する画面を表示させる。画面定義63は、表示するデータとそのレイアウトを保持している。処理内容64は情報処理システム10が順番に実行する処理の内容と順番を示す。処理内容64は、例えば外部サービスシステム40(ドキュメントサービス51や、ストレージサービス52)をどのように利用するかを示す。
【0065】
UI提供部16は、アプリ開発や帳票情報登録に必要な情報の入力、閲覧をするための画面情報62を持ち、それを端末装置30のWebブラウザに提供する。画面情報62の内容は画面定義63と同様でよい。
【0066】
アプリ登録部14は、端末装置30のWebブラウザに表示される画面に開発者が入力したアプリ情報を画面定義63と処理内容64に整形してアプリ管理部13に渡す。アプリ管理部13は画面定義63と処理内容64をアプリ情報記憶部50に保存する。
【0067】
認証認可部17はユーザーを認証する。認証が成功するとユーザーが情報処理システム10にログインでき、情報処理システム10はユーザーを一意に特定できる。なお、認証処理は情報処理システム10の外部で実行されてもよい。
【0068】
I/Oロジック処理部15は、アプリ情報に含まれる処理内容64を解析し、外部サービスシステム40が提供するドキュメントサービス51やストレージサービス52に処理を要求する。ドキュメントサービス51とは、ドキュメントを処理するサービス群であって、OCR処理や、キーワード抽出、フォーマット変換、画像のサイズ変換などを行う。ストレージサービス52は、クラウドストレージサービス群であって、ファイルのアップロード先やダウンロード元のストレージである。ストレージサービス52は有償無償のサービスが利用可能でよい。
【0069】
帳票管理部18は、帳票情報記憶部60に記憶された各種の情報を管理する。帳票情報記憶部60は更にテーブル情報記憶部43と換算定義44を有している。テーブル情報記憶部43は、標準用語テーブル45、類義語テーブル46、類義語候補テーブル47、及びテンプレートテーブル48を有する。換算定義44は異なる単位間で値を換算する換算式を定義する。帳票管理部18は、ユーザーからの入力に応じてこれらテーブルと換算式を更新する。また、帳票管理部18は、OCRで抽出されたキーワードを帳票の決まった項目に転記することで帳票を作成する。
【0070】
帳票管理部18は、変換部42を有している。変換部42は、画像データから文字認識されたキーワードと一致する類義語がある場合、標準用語テーブル45と類義語テーブル46を参照して、キーワードを標準用語へ変換する。標準用語テーブル45と類義語テーブル46は第1の定義情報の一例である。
【0071】
単位換算処理部19は、換算定義44に基づいて、画像データから文字認識されたキーワードが予め定められた単位である場合に、この単位で表された値を、対応する換算式に基づいて別の単位の値に変換する。
【0072】
候補追加判断部41は、ユーザーから登録のあった類義語の候補が信頼できるか否か判断し、信頼できる場合に類義語の候補を類義語テーブル46に登録する。
【0073】
<<標準用語、類義語>>
図7を参照して、標準用語テーブル45と類義語テーブル46を説明する。
図7(a)は標準用語テーブル45を示し、
図7(b)は類義語テーブル46を示す。標準用語テーブル45には、idに対応付けて標準用語が登録されている。
【0074】
類義語テーブル46は、類義語を識別するidと、この類義語に対応付けられてる標準用語のid(standard_term_id)と、類義語と、を有している。例えば、類義語テーブル46のid=1~3の「賃料」「家賃」「借料」という類義語は、標準用語テーブル45のid=1の「賃料」と対応付けられている。したがって、画像データから文字認識されたキーワードに「賃料」「家賃」「借料」のいずれかがあれば、変換部42が標準用語である「賃料」に変換できる。
【0075】
なお、類義語候補テーブル47とテンプレートテーブル48については後に詳細に説明する。
【0076】
<処理の流れ>
図8は、情報の登録、アプリの実行、類義語候補テーブルの整理等の処理の流れを説明するアクティビティ図である。なお、
図8では、フローが3つ(情報登録、アプリ実行、類義語候補テーブルの整理)に分かれており、それぞれは連続で実行されるわけではない。
【0077】
<<情報登録>>
開発者は端末装置30でWebアプリを実行し、Webアプリに対し標準用語及び類義語を入力する。端末装置30の操作受付部33が入力を受け付ける(S1)。端末装置30の通信部31は標準用語及び類義語を情報処理システム10に送信する。
【0078】
情報処理システム10の通信部11が標準用語及び類義語を受信し、帳票管理部18が帳票情報記憶部60の標準用語テーブル45と類義語テーブル46に保存する(S2)。
【0079】
次に、開発者は、Webアプリに対し単位の換算式を入力する。端末装置30の操作受付部33が入力を受け付ける(S3)。端末装置30の通信部31は単位の換算式を情報処理システム10に送信する。
【0080】
情報処理システム10の通信部11が単位の換算式を受信し、帳票管理部18が帳票情報記憶部60の換算定義44に保存する(S4)。
なお、情報登録の詳細なシーケンス図を
図9に示す。
【0081】
<<アプリを実行して帳票作成>>
まず、ユーザーは機器20で帳票を作成するアプリを実行する。ユーザーは機器20に物件情報の書類などの原稿をスキャンしたり、予めスキャン済みの画像データを選択したりする(S11)。画像データは例えばPDFファイルに格納されてよい。機器20の通信部21はファイル又はファイルの識別情報を情報処理システム10に送信する。
【0082】
情報処理システム10の通信部11がファイル又はファイルの識別情報を受信し、I/Oロジック処理部15がドキュメントサービス51を使用し、画像データから帳票に使用するキーワード、値、単位を抽出する(S12)。
【0083】
変換部42は、キーワードを標準用語に変更する必要があれば変更し、単位換算処理部19は、値の単位を換算する必要があれば換算する(S13)。情報処理システム10の通信部11は標準用語と単位が換算された値を機器20に送信する。
【0084】
機器20の通信部21は標準用語と換算後の値を受信する。表示制御部22は標準用語と換算後の値を表示するので、ユーザーが標準用語に正しく変換されているか、値が帳票に対し適切か、確認する。文字認識されなかったキーワードや値がある場合、又は、誤変換されたキーワードや値がある場合、ユーザーがWebブラウザ上で修正する(S14)。機器20の通信部21は修正結果を情報処理システム10に送信する。
【0085】
情報処理システム10の通信部11はキーワードや値の修正結果を受信し、帳票管理部18が帳票を作成する(S15)。情報処理システム10の通信部11は作成した帳票を端末装置30に送信してもよいし、外部サービスシステム40に保存してもよい。
【0086】
ユーザーが類義語の候補(例えば抽出された修正前のキーワード)を登録する場合、機器20の通信部21は標準用語(ユーザーが修正した)と類義語の候補(修正前のキーワード)を情報処理システム10に送信する(S16)。
【0087】
情報処理システム10の通信部11は標準用語と類義語の候補を受信し、これらを対応付けて類義語候補テーブル47登録する(S17)。
なお、アプリ実行の詳細なシーケンス図を
図14に示す。
【0088】
<<類義語候補テーブルの整理>>
例えば一定時間ごとに、情報処理システム10の候補追加判断部41が、類義語候補テーブル47を整理する。候補追加判断部41は、類義語候補テーブル47のうち同じ標準用語に対応付けられた同じ類義語の候補の数が閾値以上か判断する(S18)。
【0089】
同じ標準用語に対応付けられた類義語の候補のうち同名のものの数が閾値以上である場合、この類義語の候補を信頼してよいと判断し、候補追加判断部41は、類義語の候補を類義語テーブル46に追加する(S19)。
【0090】
候補追加判断部41は、追加した類義語の候補を類義語候補テーブル47から削除する(S20)。
【0091】
<帳票情報の登録>
次に、
図9を参照し、開発者が帳票情報を登録する処理の詳細を説明する。
図9は、開発者が標準用語テーブル45、類義語テーブル46、及び換算定義44を登録する詳細なシーケンス図の一例である。
【0092】
S31:開発者は端末装置30でWebアプリを実行し、用語登録画面を表示させる操作を行う。端末装置30の操作受付部33が操作を受け付ける(S1)。
【0093】
S32:端末装置30の通信部31は、帳票情報を情報処理システム10に要求する。情報処理システム10の通信部11は要求を受信し、帳票管理部18が通信部11を介して帳票情報を端末装置30に送信する。この帳票情報は、登録済みの標準用語と類義語である。
【0094】
S33:端末装置30の通信部31は帳票情報を受信すると用語登録画面を情報処理システム10に要求する。情報処理システム10の通信部11は要求を受信し、UI提供部16が通信部11を介して用語登録画面の画面情報に端末装置30に送信する。
【0095】
S34:端末装置30の通信部31は用語登録画面の画面情報を受信すると、表示制御部32が用語登録画面に登録済みの標準用語と類義語を設定して表示させる。用語登録画面の一例を
図10に示す。
【0096】
S35:開発者は、用語登録画面に新たに標準用語及び類義語を入力する。端末装置30の操作受付部33が入力を受け付ける。
【0097】
S36:開発者は、用語登録画面に対し、標準用語及び類義語を情報処理システム10に登録する操作を行う。端末装置30の操作受付部33が操作を受け付ける。
【0098】
S37:端末装置30の通信部31は、登録要求と共に、標準用語及び類義語を情報処理システム10に送信する。情報処理システム10の通信部11は登録要求を受信し、帳票管理部18が標準用語テーブル45に標準用語を、類義語テーブル46に類義語をそれぞれ登録する。
【0099】
S38:次に、開発者は、換算式登録画面に単位の換算式を入力する。端末装置30の操作受付部33が入力を受け付ける。換算式登録画面の一例を
図11に示す。
【0100】
S39:開発者は、換算式登録画面に対し、単位の換算式を情報処理システム10に登録する操作を行う。端末装置30の操作受付部33が操作を受け付ける。
【0101】
S40:端末装置30の通信部31は、登録要求と共に、単位の換算式を情報処理システム10に送信する。情報処理システム10の通信部11は登録要求を受信し、帳票管理部18が換算定義44に単位とその換算式を登録する。
【0102】
図10は、端末装置30が表示する用語登録画面200を示す。用語登録画面200は、標準用語欄201と類義語欄202という2つの入力欄が対になった画面を有している。開発者は、標準用語欄201に標準用語を入力し、類義語欄202に1つ以上の類義語を入力する。類義語は「、」区切りで複数入力できる。用語登録画面200は、追加ボタン203を有している。開発者が追加ボタン203を押下すると、1対の標準用語欄201と類義語欄202とが、用語登録画面200に追加で表示される。開発者は任意に標準用語と類義語を追加できる。
【0103】
開発者が保存ボタン204を押下すると、端末装置30の通信部31が標準用語と類義語の登録要求を情報処理システム10に送信する(
図9のステップS36)。
【0104】
図11は、端末装置30が表示する換算式登録画面210を示す。換算式登録画面210は、画像データにおいてキーワードに対応付けられたある単位の値(例えば画像データにおいてキーワードに隣接している)を別の単位の値に換算させる換算式の入力画面である。換算式登録画面210は、換算先標準用語欄211、2つ以上の換算元標準用語欄212,213を有する。換算先標準用語欄211は、画像データから文字認識された標準用語214の変換後の単位215を有する。換算元標準用語欄212,213は、画像データから文字認識された標準用語216,218と標準用語に対応付けられた単位217,219を有する。標準用語に対応付けられた単位とは、画像データにおいて標準用語に例えば隣接した値である。
【0105】
開発者は、換算先標準用語欄211、換算元標準用語欄212、及び換算元標準用語欄213間の値の関係を、+,-,×,÷,= のような簡単な演算子220,221のアイコンを使って登録する。標準用語と単位間のこの関係が変換式である。換算先標準用語欄211、換算元標準用語欄212,213の標準用語はプルダウン表示されたリストから選択可能である。また、演算子のアイコン一覧は換算式登録画面210に表示されており、開発者はそこからドラック&ドロップ等で移動させ、
図11のような換算式を組み立てることができる。
【0106】
図12は、標準用語テーブル45と類義語テーブル46に登録される標準用語と類義語の形式を示す。つまり、
図12は端末装置30から情報処理システム10に送信される標準用語と類義の形式である。
図12ではJSON形式の標準用語と類義語を示すが、XML形式やCSV(Comma Separated Values)など形式は問わない。
図12では"name"231が標準用語を、"synonym"232が類義語を示す。標準用語は標準用語テーブル45に登録され、類義語は類義語テーブル46に登録される。
【0107】
図13は、帳票情報記憶部60の換算定義44に保存される換算式の形式を示す。
図13は、逆ポーランド記法で換算式を表現している。JSON形式の配列の順番通りに、「円」の単位の(敷金)が、(敷金、単位はヶ月)(賃料、単位は円)(×)で換算されることを表す。(×)は乗算を表す。この記法だとカッコを使わずに計算の順序を表現できる。
【0108】
formula245は換算式を表し、name241は標準用語を表し、type242は配列の要素の型(valueは値、operatorは演算子)を表しており、unit243は単位、を表す。standard_term_id244は標準用語のidである。なお、operator_idは演算子をidで示す(3はかけ算)。
【0109】
図13の換算式は、"カ月"単位(第1の単位の一例)で示される"敷金"の数値と、"¥(日本円)"単位で示される"賃料"の値とを乗算することで、"¥(日本円)"単位(第2の単位の一例)で示される"敷金"の値を算出することを表している。上記の換算式によれば、例えばファイルにおいて"敷金"が「1カ月」、"賃料"が「\54,000」と記載されていた場合には、帳票における"敷金"として\54,000に換算して表記することができる。
【0110】
なお、後述する
図14の「単位を換算する」ステップS67において、単位換算処理部19は画像データに記載されている単位に基づいて換算の要否を判断することができる。上記の換算式によれば、例えば画像データにおいて"敷金"が"カ月"単位で示される場合にのみ換算が必要であると判断し、画像データにおいて"敷金"が"¥(日本円)"単位で示される場合には換算は不要であると判断する。
【0111】
<帳票作成するアプリの登録>
次に、
図14を参照して標準用語テーブル45、類義語テーブル46、及び換算定義44を用いたアプリの実行の流れを説明する。
図14は、ユーザーが帳票作成するアプリを実行するシーケンス図の一例である。
【0112】
S51:ユーザーは機器20又は端末装置30に対し帳票作成するアプリを選択する。機器20の操作受付部23が選択を受け付ける。以下の処理は機器20又は端末装置30のいずれでも可能だが、ユーザーが機器20を使用するものとして説明する。
【0113】
S52:機器20の通信部21は、選択されたアプリのアプリ情報を情報処理システム10に要求する。情報処理システム10の通信部11は要求を受信し、アプリ管理部13が通信部11を介してアプリ情報を機器20に送信する。
【0114】
S53:機器20の通信部21はアプリ情報を受信するとアプリ画面を情報処理システム10に要求する。情報処理システム10の通信部11は要求を受信し、アプリ画面生成部12が通信部11を介して、帳票作成するアプリのアプリ画面を表示するための画面定義を機器20に送信する。
【0115】
S54:表示制御部22は画面定義に基づいて帳票作成するアプリのアプリ画面を表示させる。
【0116】
S55:次にユーザーはアプリ画面に対し、ファイル一覧を表示させる操作を入力する。機器20の操作受付部23が操作を受け付ける。なお、ユーザーはファイルを選択するのでなく、機器20に原稿を読み取らせて画像データを含むファイルを帳票作成処理の対象にしてもよい。
【0117】
S56:機器20の通信部21は、ストレージサービス52上にあるファイル一覧を情報処理システム10に要求する。
【0118】
S57:情報処理システム10の通信部11は要求を受信し、I/Oロジック処理部15がストレージサービス52にファイル一覧を要求する。I/Oロジック処理部15が取得したファイル一覧は機器20に送信される。
【0119】
S58:機器20の通信部21はファイル一覧を受信すると、ファイル一覧画面の画面情報を情報処理システム10に要求する。情報処理システム10の通信部11は要求を受信し、アプリ画面生成部12が通信部11を介してファイル一覧画面を表示するための画面定義を機器20に送信する。
【0120】
S59:機器20の通信部21はファイル一覧の画面情報を受信すると、表示制御部22が画面定義とファイル一覧に基づいてファイル一覧を表示させる。
【0121】
S60:次にユーザーはファイル一覧画面からOCRの対象となる画像データを含むファイルを選択する。機器20の操作受付部23が選択を受け付ける。
【0122】
S61:機器20の通信部21は、ファイルの識別情報を指定して、キーワードの抽出を情報処理システム10に要求する。
【0123】
S62:情報処理システム10の通信部11は要求を受信し、I/Oロジック処理部15がアプリの処理内容に基づいて、ストレージサービス52からファイルの識別情報で特定されるファイルを取得する。
【0124】
S63:次に、I/Oロジック処理部15は、アプリの処理内容に基づいて、ドキュメントサービス51にファイルを送信し、OCR実行を要求する。I/Oロジック処理部15はOCR処理により抽出された文字列をドキュメントサービス51から取得する。
【0125】
S64:次に、I/Oロジック処理部15は、アプリの処理内容に基づいて、ドキュメントサービス51に文字列を送信し、名詞(キーワード)、数値(値)、単位等の抽出を要求する。I/Oロジック処理部15はドキュメントサービス51からキーワード、値、単位等を取得する。
【0126】
S65:次に、I/Oロジック処理部15は、アプリの処理内容に基づいて、帳票管理部18にキーワード、値、単位等を送信し、帳票への変換を要求する。
【0127】
S66:変換部42は、キーワードを類義語テーブル46で検索し、適合する類義語があれば標準用語テーブル45を参照して標準用語に変換する。
【0128】
S67:次に、帳票管理部18は、キーワード、値、単位と共に値の単位の換算を単位換算処理部19に要求する。単位換算処理部19はキーワードに基づいて"敷金"が"カ月"単位で示されているか否か判断する。"敷金"が"カ月"単位で示されている場合、単位換算処理部19は換算式を用いて、"敷金"の値(1ヶ月)を"¥(日本円)"単位に換算する。情報処理システム10の通信部11は標準用語に変換されたキーワード、単位が換算された値等を機器20に送信する。
【0129】
S68:機器20の通信部21はキーワード一覧、単位が換算された値等を受信すると、キーワード一覧画面の画面情報を情報処理システム10に要求する。情報処理システム10の通信部11は要求を受信し、アプリ画面生成部12が通信部11を介してキーワード一覧画面を表示するための画面定義を機器20に送信する。
【0130】
S69:機器20の通信部21はキーワード一覧画面の画面定義を受信すると、表示制御部22が画面定義と、キーワード一覧、及び単位が換算された値等に基づいてキーワード一覧画面を表示させる。
【0131】
S70:ユーザーはキーワード一覧画面に対し、必要に応じて誤認識や認識されていないキーワードを編集(修正を含む)する。
【0132】
S71:編集が終わると、ユーザーが帳票を作成するアプリを実行する。機器20の操作受付部23が操作を受け付ける。
【0133】
S72:機器20の通信部21は、キーワード、単位が換算された値等と共に帳票の作成を情報処理システム10に要求する。
【0134】
S73:情報処理システム10の通信部11は要求を受信し、I/Oロジック処理部15が帳票のテンプレートファイルをストレージサービス52から取得する。
【0135】
S74:I/Oロジック処理部15は、ドキュメントサービス51にテンプレートファイルとキーワード、単位が換算された値等を送信し、帳票の作成を要求する。ドキュメントサービス51は、テンプレートファイルに記載済みの標準用語からキーワードと同じものを探し、キーワードに対応付けられていた値と単位を標準用語に例えば隣接させてテンプレートファイルに転記することで帳票を作成する。作成された帳票は機器20に送信されてもよいし、外部サービスシステム40に保存されてもよい。
【0136】
図15を参照してワークフローについて補足する。
図14のシーケンス図では、I/Oロジック処理部15が様々なストレージサービス52やドキュメントサービス51へ処理を要求しているがこれは以下のようなワークフローをアプリが持つため可能である。
【0137】
図15は、ワークフローが含む処理を模式的に示す。
図15(a)のワークフローは、
図14のシーケンス図でユーザーが「帳票の元データになるファイルを選択する」をした場合に実行される(ステップS60~S67)。
図15(b)はユーザーが「アプリを実行する」を実行した場合に実行される(S71~S74)。したがって、
図14で実行されるアプリは二つのワークフローを持っている。
【0138】
これらのワークフローを持つアプリは開発者が作成しているものとする。
図15(a)のワークフローは、ファイルをダウンロードする、ファイルをOCRする、文字列を抽出する、標準用語への変換、といった決められた処理を実行するコンポーネントと呼ばれるもので構成されている。
図15(b)のワークフローは、ファイルをダウンロードする、帳票を作成する、といった決められた処理を実行するコンポーネントと呼ばれるもので構成されている。
【0139】
ワークフローの作成は画面上でグラフィカルに作成することができ、コンポーネントはアイコンで表現され、アイコン同士をつなぐ矢印で実行する処理の順番を決めている。したがって開発者はワークフローを作成しやすくなっている。
【0140】
なお、
図15に示すコンポーネントは一例であり、
図24に記載するとおり、開発者は他のコンポーネントを追加、又は入替することができる。ここで、
図15のワークフローにおいて「ダウンロード」コンポーネントはINコンポーネントの一例であり、OCR、キーワード抽出、標準用語変換、及び帳票作成はPROCESSコンポーネントの一例である。また、開発者が、
図15のワークフローにOUTコンポーネントを追加することで、フロー実行により生成したファイルを外部装置などに送信してもよい。
【0141】
<アプリの実行結果>
図16~
図18を参照してアプリの実行結果について説明する。
図16は、ファイルをOCRにより文字認識して抽出されたキーワード、値、単位等の抽出結果を示す。
図16のキーワード、値、単位等の抽出結果には、類義語である「管理費」251が含まれる。また、変換式の対象となる「ヶ月」253、254が含まれる。「ヶ月」253、254の値は共に「1」252,254である。したがって、変換部42は「管理費」251を標準用語に変換し、単位換算処理部19が敷金と礼金の単位を日本円に変換する。
【0142】
図17は、情報処理システム10が類義語と単位を帳票用に変換した変換結果を示す。
図16と比べると、類義語である「管理費」251が標準用語である「共益費」261に変換されている。また、敷金、礼金の値が「54000」262,264に変換され、単位が「¥」263,265に変換されている。敷金と礼金の変換式は以下のとおりである。
敷金(日本円)=賃料(日本円)×敷金(ヶ月)
礼金(日本円)=賃料(日本円)×礼金(ヶ月)
図17のように情報処理システム10が変換したキーワード及び単位の変換後の値は、
図18に示すように機器20のWebブラウザに表示される。
【0143】
図18は、機器20が表示するキーワードの抽出結果画面270を示す。抽出結果画面270は、標準用語欄271と値欄272をペアで有する。キーワードの抽出結果画面270においては、類義語が標準用語に変換済みであり、変換式により値の単位が換算済みである。
図18(a)はユーザーによる修正前の抽出結果画面270であり、
図18(b)はユーザーによる修正後の抽出結果画面270である。
【0144】
図18(a)には、借り賃273という標準用語でないキーワードが残っている。このキーワードは類義語テーブル46に登録されていないため標準用語に変換されていない。そこで、ユーザーは抽出結果画面270で、借り賃273を賃料274という標準用語に変換する。
【0145】
図18(a)(b)を比較すると、借り賃273というキーワードが賃料274という標準用語に変換されている。このように、借り賃のように標準用語でも類義語でもないキーワードはユーザーが修正できる。
【0146】
図18に示したように、確認・修正後、ユーザーがアプリを実行すると
図14のステップS71、S72が実行され、帳票が作成される。
【0147】
<登録されていない類義語を登録する処理>
図18のようにユーザーが類義語テーブル46に登録されていないキーワードを標準用語に修正すると、類義語の候補が情報処理システム10に登録される。
図19を参照し、ユーザーが登録されていない類義語を類義語候補テーブル47に登録する処理を説明する。
図19は、ユーザーが類義語の候補を類義語候補テーブル47に登録する処理を説明するシーケンス図である。
【0148】
S81:ユーザーは例えば機器20に対し、情報処理システム10にログインする操作を行う。機器20の操作受付部23が操作を受け付ける。ログインする操作とはユーザーIDとパスワードの入力、ICカードのタッチ、又は、指紋などの生体認証情報など、認証情報の入力である。
【0149】
S82:機器20の通信部21は、認証要求と認証情報を情報処理システム10に要求する。情報処理システム10の通信部11は要求を受信し、認証認可部17がユーザーを認証し、認証結果(成功、失敗)を、通信部11を介して機器20に送信する。
【0150】
S83:ログインしたユーザーはアプリを実行できる。アプリの実行の処理は
図14にて説明した。
【0151】
S84:機器20がファイルから抽出されたキーワードを抽出結果画面270に表示するので、操作受付部23はユーザーが、類義語テーブル46に登録されていないキーワードを標準用語に修正したか否か判断する。ここでは修正した(追加した)標準用語があったとして説明する。なお、この時点では、類義語テーブル46に登録されていないキーワードが標準用語に修正されたかどうかは不明でよい。すなわち、修正されたキーワードがあればよい。
【0152】
S85:キーワードが修正された場合、機器20の通信部21は修正前と後のキーワードと共に、修正後のキーワードが標準用語テーブル45に含まれているか情報処理システム10に問い合わせる。情報処理システム10の通信部11は問い合わせを受信し、帳票管理部18は、修正後のキーワードが標準用語テーブル45に存在するか判断する。判断結果は機器20に送信される。ここでは、修正後のキーワードが標準用語テーブル45に含まれていないものとする。含まれている場合はステップS86の処理は不要になる。
【0153】
S86:修正後のキーワードが標準用語テーブル45に存在しない場合、機器20の通信部21は修正前のキーワードを類義語の候補として登録するよう情報処理システム10に要求する。情報処理システム10の通信部11は要求を受信し、帳票管理部18は、修正前のキーワードを類義語候補テーブル47に登録すると共に、修正前のキーワードを修正後のキーワードである標準用語に対応付ける。
【0154】
ここで類義語の候補としたのは、1ユーザーの意見だけではその類義語の信頼性を判断できないためである。そこで、複数のユーザーが同様の類義語を候補として登録していたら、候補追加判断部41は信頼性があると判断する。例えば10ユーザー以上が、同じ標準用語について同じ類義語の候補を登録していたら、信頼性有りと判断される。このために、
図19ではユーザーがアプリを起動する際に情報処理システム10がユーザー認証することで、ユーザーを特定する。
【0155】
図20は、類義語候補テーブル47を示す。類義語候補テーブル47は、id、user_id、standard_term_id、nameの各項目を有している。nameの項目が類義語の候補である。また、standard_term_idは修正後のキーワードと一致した標準用語のidである。
図20に示すように、user_idによりどのユーザーが登録したものなのか記録できる。
図20では、「借り賃」という類義語の候補を3人のユーザーが登録していることが分かる。
【0156】
そして、上記の
図8の「類義語候補テーブルの整理」の処理に示したように、一定時間ごとにバッチ処理を情報処理システム10が定期的に実行する。候補追加判断部41は、登録回数が閾値以上の類義語の候補があるか確認する。このような類義語の候補があれば、帳票管理部18が類義語の候補を類義語テーブル46に追加し、類義語候補テーブル47から削除する。
【0157】
この「類義語候補テーブルの整理」は
図14のシーケンスとは非連続であり、
図14のシーケンスはユーザーがキーワードを修正した時点で終了している。
【0158】
<主な効果>
本実施形態では、画像データからOCRで抜き出したキーワードを元に見積書などの帳票を作成する業務において、キーワードをその帳票にふさわしい用語に変換し、合計金額など元の画像データの数値から加工する必要がある項目を自動で算出できる。本実施形態は、これまで単純にOCRでキーワードを抜き出すだけでは対応できなかった帳票を作成でき、これにより、帳票作成の負担を更に軽減できる。
ユーザー(例えば不動産会社)の業務によっては、常に1種類の帳票を作成するのでなく、必要に応じて様々な帳票を作成することがある。例えば不動産業界でいうと、家やアパートの内見や仮押さえの際には、顧客が契約すると初期費用にいくら掛かるかをユーザーが顧客に伝えるためにそれらの費用を概算した見積書を作成する。そして、顧客とユーザーが契約を結ぶ際には初期費用及び家賃などを継続的に支払っていくものを互いに共有するための契約書を作成する必要がある。
本実施例ではこのようなケースに対応するために、ユーザーがOCRさせたファイルに関連する帳票テンプレートの一覧を情報処理システム10がユーザー提示する。ユーザーは必要な帳票テンプレートを選択できる。
S91:ステップS69でユーザーが必要に応じてキーワードを編集すると、ユーザーはアプリに対し、テンプレートの一覧を取得する操作を行うことができる。機器20の操作受付部が操作を受け付ける。
S92:機器20の通信部21は、抽出結果画面270(ユーザーが修正した標準用語を含む)に表示したキーワードを指定し、元のファイルに関係するテンプレートの一覧を情報処理システム10に要求する。
テンプレートテーブル48は、テンプレートid、対応業種id、業種、名称、パスの各項目を有している。テンプレートidはテンプレートの識別情報である。対応業種idはテンプレートが対応する業種をidで示す。業種はテンプレートが対応する業種名である。名称は帳票名である。パスはテンプレートが保存されている場所を示す。
画像データを含むファイルに標準用語が含まれている(機器20から送信されたキーワードに相当)ので、帳票管理部18は、standard_term_idを標準用語テーブル45から取得する。次に、帳票管理部18は、取得したstandard_term_idに対応する対応業種idを対応テーブル61にて特定し、対応業種id別に数をカウントする。帳票管理部18は、数が多い上位のいくつかの対応業種idに対応するテンプレートをテンプレートテーブル48から取得し、これらをテンプレートの候補に決定する。
管理者は、各処理を実行する処理(コンポーネント)を組み合わせワークフローとしてその一連の処理を実行するワークフローアプリ110を作成することができる。ここで、コンポーネントの一例として、データの入力や生成及び取得にかかる処理を実行するINコンポーネント、データの加工や変換など所定の処理を実行するPROCESSコンポーネント、データの出力や送信にかかる処理を実行するOUTコンポーネントが含まれる。ワークフローアプリは、複数のINコンポーネント、複数のPROCESSコンポーネント、及び、複数のOUTコンポーネントによって構成することができ、複数のコンポーネントによって1つのワークフローアプリを構成することもできる。
INコンポーネントは、デバイス101(機器20又は端末装置30等)から処理対象のデータを取得する処理が含まれる。例えば、デバイス101がMFPやカメラである場合、原稿や被写体をスキャン又は撮影することで電子データを取得する処理が含まれる。デバイス101がプロジェクタやディスプレイである場合は表示中の画像データを取得する処理が含まれる。デバイス101がセンサである場合はセンサの検出値を取得する処理が含まれる。デバイス101がストレージサーバや記憶媒体の場合はデータを受信又は読み取る処理が含まれる。また、INコンポーネントは、ワークフローアプリを実現する情報処理システム10内のデータを取得できるが、別のワークフローアプリ又はサーバーなどの記憶装置からデータを取得してもよい。例えば、INコンポーネントは、ワークフローアプリとは別のアプリ103又は、ワークフローアプリを実現する情報処理システム10とは別のシステム102に対して、該別のアプリ103又は別のシステム102で管理しているデータを要求することができる。別のアプリ103は、要求に応じて該別のアプリで管理しているデータや、該別のアプリに対応するサーバーからデータを取得して要求元のINコンポーネントに対して送信することができる。なお、INコンポーネントは、画像データからテキストデータを生成するなどデータ形式を変換することでデータを生成する処理も含まれる。
OUTコンポーネントは、デバイス101からデータを出力する処理が含まれる。例えば、デバイス101がMFPである場合、電子データを媒体に印刷する処理が含まれる。デバイス101がプロジェクタやディスプレイである場合、画像データを表示又は音声出力する処理が含まれる。デバイス101がストレージサーバや記憶媒体の場合はデータを送信又は記憶させる処理が含まれる。その他、OUTコンポーネントには、所定の宛先にデータや処理の結果を通知する処理が含まれる。また、OUTコンポーネントは、ワークフローアプリを実現する情報処理システム10内にデータを出力できるが、ワークフローアプリとは別のアプリ103又はワークフローアプリを実現する情報処理システム10とは別のシステム102にデータを出力してもよい。例えば、OUTコンポーネントは、該別のアプリ103又は該別のシステム102に対して、該別のアプリ103又は別のシステム102でデータ又は処理の結果を管理するよう要求することができる。別のアプリ103は、要求に応じて、受信したデータ又は処理の結果を管理し、又は該別のアプリ103に対応するサーバーで記憶するためにデータ又は処理の結果を送信することができる。
INコンポーネントではMFPが原稿をスキャンすることで画像データを生成する。PROCESSコンポーネントは画像データに対して文字認識処理を実行することで数値又はテキストなどのデータに変換する。OUTコンポーネントは、変換したデータを他のシステムの一例である業務管理システムに送信する。業務管理システムは、ワークフローアプリから受信したデータを分類、又は予め設定された入力様式に基づいて整理すること管理データを生成できる。なお、PROCESSコンポーネントにおいて情報処理システム10がデータの分類及び管理データの生成を実行してもよい。この場合、OUTコンポーネントでは分類結果及び管理データを業務管理システムへ送信し、業務管理システムはワークフローアプリから受信した分類結果及び管理データを所定の領域に記憶するだけでよい。
また、INコンポーネントでは業務管理システムが管理するデータを取得する。例えば、INコンポーネントは、設定情報や、数値又はテキストなどのデータを取得する。ここで、INコンポーネントは設定に応じて所定のデータを業務管理システムに要求してもよいし、業務管理システムからの要求に応じて業務管理システムが管理する所定のデータを受信してもよい。PROCESSコンポーネントは、設定情報に基づいて数値又はテキストを整理又は加工することで管理データを生成する。OUTコンポーネントは、管理データを業務管理システムに送信する。業務管理システムは、ワークフローアプリから受信した管理データを所定の領域に記憶する。
ここで、業務管理システムとワークフローアプリとは、それぞれ異なる事業者によって提供される場合があり、それぞれ異なるサーバーによって構成される場合がある。このため、ワークフローアプリは、業務管理システムへデータ送信又は受信する場合、業務管理システムを構成するサーバーと通信することでデータを送信又は受信することができる。
例えば、機器20又は端末装置30が情報処理システム10の処理を含めて実行してもよい。すなわち、機器20又は端末装置30が、情報処理システム10の機能を有し、機器20又は端末装置30が帳票を作成してもよい。
また、本実施形態では、ファイルが物件情報である場合を説明したが、ファイルに記載されている情報は問わない。例えば、情報処理システム10は、重さの単位をグラムからキログラム、ポンド(又はこの逆)に変換したり、長さの単位をセンチメートルからメートル、フィート(又はこの逆)に変換したり、角度の単位を度からラジアン(又はこの逆)に変換したりしてよい。この他の単位も変換できる。
また、本実施形態では、画像データから光学的文字認識により抽出された文字列を加工したが、画像データからすでに文字列が抽出されていてもよい。あるいは、情報処理システム10は、光学的文字認識を経ずに作成されているテキストデータを含むファイルから帳票を作成してもよい。
また、実施例に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、情報処理システム10は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。