(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-26
(45)【発行日】2024-08-05
(54)【発明の名称】情報処理装置、及びプログラム
(51)【国際特許分類】
G06V 30/412 20220101AFI20240729BHJP
【FI】
G06V30/412
(21)【出願番号】P 2022207648
(22)【出願日】2022-12-23
(62)【分割の表示】P 2020073658の分割
【原出願日】2020-04-16
【審査請求日】2023-03-10
(73)【特許権者】
【識別番号】514323028
【氏名又は名称】株式会社ミラボ
(74)【代理人】
【識別番号】100122275
【氏名又は名称】竹居 信利
(72)【発明者】
【氏名】谷川 一也
(72)【発明者】
【氏名】坂井 淳一
(72)【発明者】
【氏名】増田 慎一
(72)【発明者】
【氏名】大山 凌希
【審査官】淀川 滉也
(56)【参考文献】
【文献】特開2011-237905(JP,A)
【文献】特開2018-197996(JP,A)
【文献】特開2019-070933(JP,A)
【文献】特開2019-169026(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/412
(57)【特許請求の範囲】
【請求項1】
文書に含まれる文字列を転記して入力する操作を支援する情報処理装置であって、
文書をスキャンして得られた文書情報を取得する取得手段と、
前記取得した文書情報から、文字認識処理により文字列情報を抽出する抽出手段と、
前記抽出した文字列情報を所定の規則に基づいて分割または統合する分割統合手段と、
前記分割または統合して得られた文字列情報のうち、その長さが予め定めた条件を満足する文字列情報を入力情報の候補として設定する候補設定手段と、
前記文書から転記するべき情報の入力欄へ、ユーザが文字列を入力する際に、前記候補設定手段が設定した入力情報の候補を提示する提示手段と、
を含む情報処理装置。
【請求項2】
文書に含まれる文字列を転記して入力する操作を支援する情報処理装置であって、
文書をスキャンして得られた文書情報を取得する取得手段と、
前記取得した文書情報から、文字認識処理により文字列情報を抽出する抽出手段と、
前記抽出した文字列情報を所定の規則に基づいて分割または統合する分割統合手段と、
前記分割または統合して得られた文字列情報が、入力欄ごとに予め定められた所定の候補パターンに合致するときに、当該分割または統合して得られた文字列情報を入力欄ごとの入力情報の候補として設定する候補設定手段と、
前記文書から転記するべき情報の入力欄へ、ユーザが文字列を入力する際に、当該入力欄に関連して前記候補設定手段が設定した入力情報の候補を提示する情報処理装置。
【請求項3】
請求項
2に記載の情報処理装置であって、
前記候補設定手段は、予め文字列を登録した候補辞書を参照し、前記分割または統合して得られた文字列情報に類似すると判断される文字列が、前記候補辞書に登録されているときに、当該文字列情報または前記候補辞書に登録された、当該文字列情報に類似する文字列を入力情報の候補として設定する情報処理装置。
【請求項4】
請求項3に記載の情報処理装置であって、
前記候補辞書に登録される文字列には、当該文字列が入力され得る入力欄を特定する情報が関連付けられており、
前記候補設定手段は、前記文書から転記するべき情報の入力欄へ、ユーザが文字列を入力する際に、当該入力欄を特定する情報に関連付けて登録された文字列であって、前記分割または統合して得られた文字列情報に類似すると判断される文字列が、前記候補辞書に登録されているときに、当該文字列情報または前記候補辞書に登録された、当該文字列情報に類似する文字列を入力情報の候補として設定する情報処理装置。
【請求項5】
請求項1から4のいずれか一項に記載の情報処理装置であって、
前記提示手段は、さらに、前記文書から転記するべき情報の入力欄へ、ユーザが文字列を入力する際に、当該入力欄に関連して前記候補設定手段が設定した入力情報の候補とともに、予め記憶している事前候補を含めて入力情報の候補として提示する情報処理装置。
【請求項6】
文書に含まれる文字列を、ユーザが予め定められた入力欄に転記して入力する操作を支援する情報処理装置を、
文書をスキャンして得られた文書情報を取得する取得手段と、
前記取得した文書情報から、文字認識処理により文字列情報を抽出する抽出手段と、
前記抽出した文字列情報を所定の規則に基づいて分割または統合する分割統合手段と、
前記分割または統合して得られた文字列情報のうち、その長さが予め定めた条件を満足する文字列情報を入力情報の候補として設定する候補設定手段と、
前記文書から転記するべき情報の入力欄へ、ユーザが文字列を入力する際に、前記候補設定手段が設定した入力情報の候補を提示する提示手段と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報入力を支援する情報処理装置、及びプログラムに関する。
【背景技術】
【0002】
光学的に読み取った文書を参照して、フォームに入力する作業を支援する技術が望まれている。一例として、読み取った文書に対して文字認識の処理(OCR)を実行し、文字認識により得られた文字列の情報を、フォームのどの入力欄に関連付けるかを、ドラッグアンドドロップにより設定する技術が存在する(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記従来の技術は、定型のフォームの帳票を処理する場合には効果的であるが、現実には共通の目的の帳票であってもフォームが異なっている場合がある。例えば各地の行政機関で用いられる保育所の利用申し込み書は、記載するべき内容の相違はあまりないものの、一般にそのフォームが互いに異なっているため、各情報の記入欄の位置は、地方行政機関ごとに区々となっている。
【0005】
このような、フォームが互いに異なる多種類の帳票からの入力を支援するためには、上記従来例の技術では対応できない。
【0006】
本発明は上記実情に鑑みて為されたもので、互いに異なる多種類のフォームの帳票に基づく情報入力を支援できる情報処理装置、及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【0007】
上記従来例の問題点を解決する本発明の一態様は、情報処理装置であって、スキャンされて得られた文書情報を取得する取得手段と、前記取得した文書情報から、文字認識処理により文字列情報を抽出する抽出手段と、前記抽出した文字列情報を所定の規則に基づいて分割または統合する分割統合手段と、前記分割または統合して得られた文字列情報を入力情報の候補として、ユーザが入力欄へ文字列を入力する際に提示する提示手段と、を含むこととしたものである。
【発明の効果】
【0008】
本発明によると、互いに異なる多種類のフォームの帳票に基づく情報入力を支援できる。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施の形態に係る情報処理装置の例を表す構成ブロック図である。
【
図2】本発明の実施の形態に係る情報処理装置の例を表す機能ブロック図である。
【
図3】本発明の実施の形態に係る情報処理装置の処理の対象となる文書情報の例を表す説明図である。
【
図4】本発明の実施の形態に係る情報処理装置の処理の例を表すフローチャート図である。
【
図5】本発明の実施の形態に係る情報処理装置が表示するユーザインタフェースの例を表す説明図である。
【発明を実施するための形態】
【0010】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理装置1は、
図1に例示するように、制御部11、記憶部12、操作部13、表示部14、及び入出力部15を含んで構成される。またこの情報処理装置1は、スキャナ装置2に接続される。
【0011】
制御部11は、CPU等のプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態ではこの制御部11は、スキャナ装置2にてスキャンされて得られた文書情報を取得する。この文書情報は、画像データであるものとする。また制御部11は、当該取得した文書情報から、文字認識処理により文字列情報を抽出する。制御部11は、ここで抽出した文字列情報を所定の規則に基づいて分割し、分割または統合して得られた文字列情報(分割文字列情報と呼ぶ)を入力情報の候補として、ユーザが入力欄へ文字列を入力する際に提示する処理に供する。この制御部11の詳しい動作の内容については後に述べる。
【0012】
記憶部12は、ディスクデバイスやメモリデバイスを含んで構成される。この記憶部12には、制御部11によって実行されるプログラムが保持される。このプログラムは、コンピュータ可読、かつ非一時的な記録媒体に格納されて提供され、この記憶部12にインストールされたものであってもよい。またこの記憶部12は、制御部11のワークメモリとしても動作する。
【0013】
本実施の形態の一例では、この記憶部12には予め、帳票の種類ごとに帳票から抽出するべき情報の項目を表す帳票関係情報が関連付けて記録されているものとする。具体的に、レシートを対象の帳票とする場合、レシートを特定する情報に関連付けて、店舗の名称、店舗の住所、店舗の電話番号、購入品目、購入数、単価、金額などの項目を特定する情報が帳票関係情報として記憶される。
【0014】
操作部13は、キーボードやマウス等を含む。この操作部13は、ユーザの操作を受け入れて、当該操作の内容を表す情報を、制御部11に出力する。表示部14は、ディスプレイ等であり、制御部11から入力される指示に従って情報を表示出力する。
【0015】
入出力部15は、例えばUSBのインタフェース等であり、本実施の形態の例では、スキャナ装置2に接続される。この入出力部15は、スキャナ装置2が光学的に読み取って得た文書情報を、制御部11に出力する。
【0016】
次に制御部11の動作例について説明する。
図2に例示するように、本実施の形態の一例では、制御部11は、機能的には、文書取得部21と、文字列抽出部22と、分割統合処理部23と、候補設定部24と、情報入力部25とを含んで構成される。
【0017】
ここで文書取得部21は、スキャナ装置2にてスキャンされて得られた文書情報の入力を受け入れる。既に述べたように、ここで文書取得部21が取得する文書情報は、レシート等の帳票を光学的に読み取って得た画像データであるものとする。
【0018】
文字列抽出部22は、文書取得部21が取得した文書情報から、文字認識処理により文字列情報を抽出する。この文字認識処理は、いわゆるOCR(光学的文字認識)でよい。文字列抽出部22は、文書情報上で認識した文字列の画像部分に外接する外接矩形領域を特定する情報と、当該外接矩形領域内の文字列情報とを出力する。
【0019】
分割統合処理部23は、文字列抽出部22が抽出した文字列情報を、所定の規則に基づいて複数の分割文字列情報に分割または統合する。具体的な例として、文書情報が
図3に例示するような、レシートを光学的に読み取って得た画像データであり、文字列抽出部22が認識した外接矩形領域ごとの文字列情報が、それぞれ、
(1)XXストア
(2)X県Y市Z-A
(3)M月D日H時m分
(4)雑
(5)貨
(6)1点 @240
(7)240
(8)α錠剤
(9)1点…@500
(10)500
(11)小計
(12)740
(13)税
(14)10%
(15)74
(16)合計
(17)814
となっているものとする。
【0020】
分割統合処理部23は、文書情報において主走査方向(文字列の配列される方向)をX軸、副走査方向をY軸として、文字列情報を含む外接矩形領域について、Y軸方向の位置でクラスタリングする(第1のクラスタリング)。なお、ここで外接矩形領域の位置は、外接矩形の中心(2つの対角線の交点)の座標でよい。またクラスタリングの方法は問われないが、例えば属するクラスタを決定していない外接矩形領域Pを一つ選択して、当該外接矩形領域をX軸方向左右に延長した延長領域に重なり合う他の外接矩形領域Q,Rがある場合に、この外接矩形領域P,Q,Rを一つのクラスタとする(P,Q,Rが一つのクラスタに属する)ことと設定するなどの処理を、クラスタに属していない外接矩形領域がなくなるまで繰り返して行えばよい。
【0021】
また分割統合処理部23は、上記第1のクラスタリングにより、互いに同じクラスタに属する外接矩形領域が複数ある場合には、位置のX座標の小さい順(あるいは大きい順)に外接矩形領域を並べ替える。分割統合処理部23は当該並べ替えた外接矩形領域Ri(i=1,2…)ごとに、隣接する外接矩形領域Ri+1までのX軸方向の距離が所定の分割しきい値を上回るか否かを判断する。そして分割統合処理部23は、隣接する外接矩形領域RiとRi+1とのX軸方向の距離が分割しきい値を上回る場合には、外接矩形領域RiとRi+1との間でクラスタを分割する(第2のクラスタリング)。これにより一対の外接矩形領域間に比較的大きい空白部分がある場合は、当該一対の外接矩形領域が互いに異なるクラスタに属するものと判断される。 ここで互いに隣接する外接矩形領域間の距離は、位置のX座標の小さい順に並べ替えた場合、外接矩形領域Riの右辺のX座標(傾いている場合はその最大値)と、隣接する外接矩形領域Ri+1の左辺のX座標(傾いている場合はその最小値)との差で表すものとする。
【0022】
また、分割統合処理部23は、第2のクラスタリングの処理により、互いに隣接する外接矩形領域RiとRi+1とのX軸方向の距離が所定の分割しきい値を上回らない場合は、外接矩形領域RiとRi+1とのそれぞれに含まれる文字列を統合(主走査方向の順に文字列を連結)する。つまり、分割統合処理部23は、第1のクラスタリングによって得られたクラスタごとに、当該クラスタに含まれる外接矩形領域のうち、互いに分割しきい値未満の距離にある外接矩形領域内文字列を所定の順序で(外接矩形領域の位置がY軸上方にあるほど先、同じY座標であればX軸方向に左にあるほど先に)連接して、連接後の文字列の情報を、分割文字列情報として記憶部12に記憶する(統合処理)。
【0023】
図3の例の文書情報に対しては、外接矩形領域「(4)雑」と、外接矩形領域「(5)貨」との間には約1文字分の空白があり、外接矩形領域「(5)貨」と、外接矩形領域「(6)1点…@240」との間には約3文字分の空白がある。そこで、しきい値である上記所定の値を2文字分以上と設定しておくと、分割統合処理部23の処理により、外接矩形領域「(4)雑」と、外接矩形領域「(5)貨」とが統合され、また、外接矩形領域「(5)貨」と、外接矩形領域「(6)1点…@240」とは、別のクラスタとして分割されて、
クラスタ1.「XXストア」
クラスタ2.「X県Y市Z-A」
クラスタ3.「M月D日H時m分」
クラスタ4.「雑 貨」
クラスタ5.「1点…@240」
クラスタ6.「240」
クラスタ7.「α錠剤」
クラスタ8.「1点…@500」
クラスタ9.「500」
クラスタ10.「小計」
クラスタ11.「740」
…
といったように、OCR等により得られた文字列情報が、複数のクラスタに分割され、クラスタごとの分割文字列情報が得られる。
【0024】
候補設定部24は、分割または統合して得られた分割文字列情報を入力情報の候補として、ユーザが入力欄へ文字列を入力する際に提示する。具体的にこの候補設定部24は、分割統合処理部23が記憶部12に記憶したクラスタごとの分割文字列情報のうち、予め定めた条件を満足する分割文字列情報を、入力文字列候補として設定する。
【0025】
ここで予め定めた条件は、例えば、分割文字列情報の長さ(分割文字列情報に含まれる文字数)としてもよい。例えば候補設定部24は、クラスタごとの分割文字列情報のうち、含まれる文字数が「2」以上、かつ「10」以下のとき、当該分割文字列情報を、入力文字列候補として設定する。
【0026】
情報入力部25は、文書取得部21が文書情報を取得するごとに、当該文書情報から転記するべき情報の入力欄を表示して、ユーザに対して情報の入力を促す。ここで表示される入力欄は、複数あってよく、表示される各入力欄の種類(どのような情報を入力するかを示す表題や、入力されるべき情報の条件を規定する情報等)は、予め定めておくものとする。またこの情報入力部25は、情報入力の完了を指示するためのボタン(例えば「登録」ボタン)などを表示する。
【0027】
一例として、ここでは「購入店舗」、「購入日」、「購入項目」、「金額」の各種類の情報の入力欄が表示されるものとする。なお、「購入項目」、「金額」は、複数回、繰り返して表示される。ユーザは入力欄を指定して(例えば入力欄をクリックするなどして情報を入力する入力欄をフォーカスして)、キーボードを操作する等して情報を入力する。
【0028】
情報入力部25は、ユーザが入力欄を指定したときに、候補設定部24が入力文字列候補として設定した文字列を、入力する文字列の候補として選択可能な状態で表示する。ユーザが表示された入力文字列候補の一つを選択すると、情報入力部25は、指定された入力欄に選択された入力文字列候補を入力した状態とする。
【0029】
また、ユーザが表示された入力文字列候補の一つを選択することなく、指定した入力欄に文字列を入力したときには、情報入力部25は、入力文字列候補の表示を取りやめてもよい。
【0030】
また、この情報入力部25は、ユーザが指定した入力欄に文字列を入力したときに、当該入力した文字列に前方一致(あるいは部分一致)する入力文字列候補がある場合には、当該入力文字列候補を、入力する文字列の候補として選択可能な状態で表示してもよい。
【0031】
情報入力部25は、ユーザから情報入力の完了が指示されると、各入力欄に入力された情報をデータベースに登録する等の所定の処理を実行して、処理を終了する。このとき、情報入力部25は、記憶部12に格納された入力文字列候補を削除してもよい。
【0032】
[動作]
本実施の形態の例に係る情報処理装置1は、以上の構成を備えており、次のように動作する。情報処理装置1のユーザは、スキャナ装置2を操作して紙面等の媒体(レシート等)に形成された画像を光学的に読み取らせる。スキャナ装置2は、レシート等を光学的に読み取って得た画像データを、文書情報として情報処理装置1に出力する。
【0033】
情報処理装置1は、当該スキャナ装置2が出力する文書情報を受け入れると、
図4に例示した処理を開始し、当該受け入れた文書情報から、光学的文字認識処理により、文書情報上で認識した文字列の画像部分に外接する外接矩形領域を特定する情報と、当該外接矩形領域内の文字列情報とを得る(S1)。
【0034】
情報処理装置1は、ステップS1で得た文字列情報を、所定の規則に基づいて複数の分割文字列情報に分割する(S2)。ここで所定の規則は、既に述べた例のように、文字列が配列される方向に比較的近い外接矩形領域内の文字列を連結し(統合処理)、比較的遠い外接矩形領域内の文字列同士は分割するとの規則とすればよい。また、この規則では、文字列が配列される方向と直交する方向にある外接矩形領域内の文字列は分割することとする。
【0035】
この規則により、情報処理装置1は、例えば
図3に例示した文書情報から、既に示したように、
クラスタ1.「XXストア」
クラスタ2.「X県Y市Z-A」
クラスタ3.「M月D日H時m分」
クラスタ4.「雑 貨」
クラスタ5.「1点…@240」
クラスタ6.「240」
クラスタ7.「α錠剤」
クラスタ8.「1点…@500」
クラスタ9.「500」
クラスタ10.「小計」
クラスタ11.「740」
…
といったように分割文字列情報を得る。
【0036】
情報処理装置1は、分割して得られたクラスタごとの分割文字列情報のうち、予め定めた条件を満足する分割文字列情報を、入力文字列候補として記憶する(S3)。ここで条件は、分割文字列情報の長さとし、文字数が「2」以上、かつ「10」以下のとき、当該分割文字列情報を、入力文字列候補として設定することとする。
【0037】
情報処理装置1は、
図5に例示するように受け入れた文書情報から転記するべき情報の入力欄(X)を表示する(S4)。ここでは情報処理装置1は、「購入店舗」、「購入日」、「購入項目」、「金額」の入力欄を表示し、また入力の完了を指示するためのボタン(例えば「登録」ボタン)などを表示するものとする。さらに情報処理装置1は、この入力欄とともに、受け入れた文書情報(画像データ)を表示する(
図5(Y))。そして情報処理装置1は、ユーザからの情報の入力を待機する(S5)。
【0038】
ユーザは、この後、入力欄を指定して、指定した入力欄に対応する情報を、文書情報を参照しつつ入力する。情報処理装置1は、ユーザにより入力欄が指定されると(S5:Yes)、ステップS3で記憶した入力文字列候補の一覧を表示し(S6)、ユーザの選択または文字列入力を待機する(S7)。
【0039】
ここでユーザがステップS6で表示した一覧から入力文字列候補の一つを選択すると(S7:選択)、情報処理装置1は、ステップS5で指定された入力欄に、選択された入力文字列候補を入力した状態とし(S8)、ステップS5に戻って処理を続ける。
【0040】
一方、ステップS7において、ユーザがキーボードを操作するなどして直接、文字列の入力を行う場合(S7:直接入力)、情報処理装置1は、ステップS3で記憶した入力文字列候補の一覧のうちから入力された文字列に前方一致する入力文字列候補を選択し(S9)、当該選択した入力文字列候補を表示する(S10)。
【0041】
ここでユーザがステップS10で表示した一覧から入力文字列候補の一つを選択すると(S11:選択)、情報処理装置1は、ステップS5で指定された入力欄に、選択された入力文字列候補を入力した状態とし(S12)、ステップS5に戻って処理を続ける。
【0042】
一方、ステップS11において、ユーザがキーボードを操作するなどして直接的な文字列の入力を継続する場合(S11:直接入力)、情報処理装置1は、ステップS9に戻って処理を続ける。
【0043】
なお、このステップS7からS12の処理の間に、ユーザが別の入力欄を指定すると、情報処理装置1は、処理S6に戻って処理を続ける(A)。
【0044】
またステップS6からS12の処理の間に、ユーザが入力の完了を指示したときには、情報処理装置1は、各入力欄に入力された情報をデータベースに登録する等の所定の処理を実行し(B,S21)、記憶している入力文字列候補を削除する(S22)。
【0045】
またここでの処理において、情報処理装置1は、一度選択された入力文字列候補が再度候補として表示されないよう制御してもよい。具体的にこの例では、入力文字列候補ごとに既に選択された(入力欄に入力された)か否かを表すフラグを関連付けて記憶しておく。このとき、初期値は未選択である旨の値(例えばFalse)としておく。
【0046】
この例では、情報処理装置1は、ステップS7またはステップS11にて入力文字列候補が選択されると、当該選択された入力文字列候補に関連付けたフラグを、既に選択されたことを表す値(例えばTrue)に設定する。そして情報処理装置1は、ステップS6における一覧表示、あるいはステップS9における選択の際に、未選択を表すフラグに関連付けられた入力文字列候補を一覧表示し、あるいは、未選択を表すフラグに関連付けられた入力文字列候補のうち入力された文字列に前方一致する入力文字列候補を選択する。
【0047】
[入力文字列候補とする条件]
またここまでの説明では、情報処理装置1の制御部11は、候補設定部24としての動作を行う際に、分割または統合して得られた分割文字列情報のうち、入力文字列候補として設定する分割文字列情報を、分割文字列情報の長さ(分割文字列情報に含まれる文字数)に基づいて設定することとしていた。しかしながら入力文字列候補の条件は、これに限られない。
【0048】
本実施の形態の一例では、候補設定部24は、分割文字列情報の長さに代えて、またそれとともに、所定のパターンに合致するか否かを入力文字列候補の条件としてもよい。この例では、候補設定部24は、所定のパターンに合致する(あるいは所定のパターンに合致しない)分割文字列情報を、入力文字列候補として設定することとしてもよい。このパターンは、例えばいわゆる正規表現とすることができる。候補設定部24は、例えば、
「*県*市*」
等予め列挙した候補パターンに合致する分割文字列情報を入力文字列候補として設定する。また候補設定部24は、別に列挙した、
「*点…@*」
等の非候補パターンに合致する分割文字列情報を入力文字列候補として設定しないよう制御してもよい。ここで「*」は、任意の1文字に合致することを表す正規表現であるとする。また、列挙された候補パターンや非候補パターンに合致しない分割文字列情報については、予め、入力文字列候補として設定するか否かを定めておき、候補設定部24は、当該定めに従って入力文字列候補として設定する(あるいは設定しない)こととすればよい。
【0049】
また、ここで候補パターンや非候補パターンは、情報入力部25としての処理において表示する入力欄ごとに設定されてもよい。
【0050】
例えば、「住所」の入力欄については、候補パターンとして、
「*[都道府県]*[市区町村]*[町]*」
などと設定し、また、「購入項目」については、非候補パターンとして
「[0-9]+」
などと設定しておく。ここで[ABC]または[A-C]は、A,B,Cのいずれかに合致するものとし、「+」は直前の種類の文字を1以上配列したパターンであることを示す。つまり、「[0-9]+」は数値のみからなることを意味する。
【0051】
この例の場合、候補設定部24は、分割または統合して得られた分割文字列情報のそれぞれについて、入力欄ごとに予め定められた候補パターンあるいは非候補パターンに合致するかを調べる。そして候補設定部24は、候補パターンに合致する(あるいは非候補パターンに合致しない)場合に、当該分割文字列情報に、当該候補パターンまたは非候補パターンに対応する入力欄を特定する情報(入力欄の名称等)を関連付けて、入力文字列候補として記憶する。
【0052】
この例では、例えば、
クラスタ1.「XXストア」 購入店舗,購入項目
クラスタ2.「X県Y市Z-A」 住所
クラスタ3.「M月D日H時m分」 購入日
クラスタ4.「雑 貨」 購入店舗,購入項目
クラスタ5.「1点…@240」 (なし)
クラスタ6.「240」 購入金額
…
というように、入力欄ごとに入力文字列候補が設定される。
【0053】
この場合、情報入力部25は、ユーザが入力欄を指定したときに、入力文字列候補として設定された文字列のうち、指定された入力欄を特定する情報に関連付けられている入力文字列候補を、入力する文字列の候補として選択可能な状態で表示する。
【0054】
ユーザが表示された入力文字列候補の一つを選択すると、情報入力部25は、指定された入力欄に選択された入力文字列候補を入力した状態とする。
【0055】
また情報入力部25は、ユーザが入力文字列候補を選択せずに、指定した入力欄に文字列を入力したときに、当該入力した文字列に前方一致(あるいは部分一致)する入力文字列候補であって、指定された入力欄を特定する情報に関連付けられている入力文字列候補がある場合には、当該入力文字列候補を、入力する文字列の候補として選択可能な状態で表示してもよい。この場合も、ユーザが表示された入力文字列候補の一つを選択すると、情報入力部25は、指定された入力欄に選択された入力文字列候補が入力された状態とする(ユーザが途中まで入力していた情報は置き換えられる)。
【0056】
なお、ここでは入力文字列候補を設定する際に、入力先の候補となる入力欄を特定することとしていたが、本実施の形態はこの例に限られない。例えば、入力文字列候補については入力欄を特定することなく設定しておき、ある入力欄に対して入力する文字列の候補を表示する際に、設定された入力文字列候補のうち、当該入力欄に関連付けて予め定められているパターン(上述のように正規表現で表されているものでよい)に合致する入力文字列候補を選択して表示してもよい。
【0057】
[入力文字列候補の他の例]
また入力文字列候補は、OCRにより得られた文字列情報に基づいて候補設定部24が設定したものに限らなくてもよい。情報処理装置1は、予めユーザや管理者等から設定された文字列情報を、入力文字列候補(以下、候補設定部24が設定したものと区別するため、事前候補と呼ぶ)として記憶しておき、ユーザが入力欄を指定したときに、候補設定部24が設定した入力文字列候補とともに、当該予め記憶している事前候補を含めて、入力する文字列の候補として選択可能な状態で表示してもよい。
【0058】
この場合も、事前候補に対しては入力先の候補となる入力欄を特定する情報が関連付けられていてもよい。情報入力部25は、ユーザが入力欄を指定したときに、入力文字列候補として設定された文字列、及び事前候補の文字列のうち、指定された入力欄を特定する情報に関連付けられている入力文字列候補及び事前候補を、入力する文字列の候補として選択可能な状態で表示する。
【0059】
[他の入力方法]
また本実施の形態では情報入力部25は、
図5に例示したように文書情報を表示する際、分割統合処理部23が得たクラスタごとに、当該クラスタに属する分割文字列情報に係る外接矩形領域を重ね合わせて表示してもよい。この外接矩形領域はクラスタに含めた文字列情報(分割前の文字列情報)の各外接矩形領域にさらに外接する矩形領域とする。
【0060】
そして情報入力部25は、このクラスタごとの外接矩形領域と、入力欄とを関連付ける操作をユーザが行ったときに、当該外接矩形領域のクラスタに対応する分割文字列情報を、入力欄に入力した状態とする。
【0061】
一例としてこの外接矩形領域と、入力欄とを関連付ける操作は、マウス等のポインティングデバイスによるドラッグアンドドロップ操作でよい。このとき情報入力部25は、関連付けた入力欄に既に入力された文字列があるときには、当該文字列に外接矩形領域のクラスタに対応する分割文字列情報を連接して、入力欄に入力することとしてもよい。さらにこのときには、ユーザが修飾キー(例えばシフトキー)を押下しながらドラッグアンドドロップした場合、関連付けた入力欄に既に入力された文字列を、外接矩形領域のクラスタに対応する分割文字列情報で置き換えて、入力欄に入力してもよい。
【0062】
[辞書の利用]
また本実施の形態の例では、候補設定部24が候補パターン(または非候補パターン)として、予め設定された候補辞書(あるいは非候補辞書)に登録された文字列を用いてもよい。この例では、候補設定部24は、分割文字列情報のうち、予め設定された候補辞書に登録された文字列と類似すると判断される文字列情報を、入力文字列候補とする。また候補設定部24は、分割文字列情報のうち、予め設定された非候補辞書に登録された文字列と類似すると判断される文字列情報を、入力文字列候補としないよう制御してもよい。
【0063】
ここで文字列が類似するか否かは、例えばレーベンシュタイン距離(編集距離)など、広く知られた方法を採用して判断してよい。また、この例において候補設定部24は、分割文字列情報のうち、予め設定された候補辞書に登録された文字列と類似すると判断したときに、当該分割文字列情報を入力文字列候補とする代わりに、類似すると判断された、候補辞書に登録された文字列を入力文字列候補としてもよい。
【0064】
また候補辞書(または非候補辞書)に登録される各文字列には、それぞれ対応する入力欄を特定する情報がさらに関連付けられていてもよい。この例では、候補設定部24は、候補辞書に登録された文字列(候補文字列)に類似する分割文字列情報を見出したときに、類似する候補文字列に関連付けられている、入力欄を特定する情報と、分割文字列情報(あるいは候補文字列)とを関連付けて、入力文字列候補として記憶する。
【0065】
このような場合は、既に述べたように、情報入力部25は、ユーザが入力欄を指定したときに、入力文字列候補として設定された文字列のうち、指定された入力欄を特定する情報に関連付けられている入力文字列候補を、入力する文字列の候補として選択可能な状態で表示する。
【0066】
さらに候補辞書への登録は、実際の入力が行われたときに為されてもよい。具体的に情報入力部25は、ユーザが指定した入力欄に文字列を入力したとき、あるいは情報入力の完了が指示されたときに、各入力欄に入力された文字列を候補辞書に登録する。あるいは、各入力欄について、入力欄を特定する情報と、対応する入力欄に入力された文字列を関連付けて候補辞書に登録することとすればよい。
【0067】
[実施形態の効果]
このように本実施の形態によると、スキャナ装置2により読み取られた画像データ(文書情報)からOCR等の文字認識処理で抽出され、さらに所定の単位に分割または統合して得られた文字列情報(分割文字列情報)を、入力欄への情報入力の際のオートコンプリートの候補として設定する。これにより読み取られた文書情報のフォームが複数種類あったとしても、当該互いに異なるフォームの帳票に基づく情報入力を支援できる。
【符号の説明】
【0068】
1 情報処理装置、2 スキャナ装置、11 制御部、12 記憶部、13 操作部、14 表示部、15 入出力部、21 文書取得部、22 文字列抽出部、23 分割統合処理部、24 候補設定部、25 情報入力部。