以下に、本発明に係る帳票検索装置、帳票検索プログラムおよび帳票検索方法の実施例を図面に基づいて詳細に説明する。なお、本実施例によりこの発明が限定されるものではない。
図1は、本実施例1に係る帳票検索装置の構成を示す機能ブロック図である。図1に示すように、帳票検索装置1は、入力部10と、制御部20と、記憶部30と、出力部40とを備える。
ここで、帳票検索装置1の処理概要について説明する。帳票検索装置1は、記憶されている全電子帳票の中から検索対象を特定の見出し項目に限定して特定の電子帳票を検索する場合に、事前に項目定義情報を定義しなくても特定の電子帳票を検索できる。具体的には、帳票検索装置1は、電子帳票を検索する条件の一部を成す検索キーワードを含む文字列を、各電子帳票を構成する文字列の中から抽出して、抽出した文字列の描画位置に基づいて、当該文字列に対応する見出し候補を探索する。また、帳票検索装置1は、探索された見出し候補と、その見出し候補に対応する文字列とを対応付けた見出し候補情報を生成し、当該見出し候補情報をモニターに表示出力する。さらに、帳票検索装置1は、表示出力された見出し候補情報から所定の操作によって選択された見出し候補に関わる文字列を含む電子帳票を検索することができる。
なお、全電子帳票の中から検索対象となる見出し項目を限定して特定の電子帳票を検索することを、「項目限定検索」と呼ぶことにする。また、電子帳票は、以降「帳票」と略記するものとする。また、帳票検索装置1が行う処理については、順次詳述する。
入力部10は、各種要求を検出する機能部であり、キーワード入力部11および見出し選択部12を備える。
キーワード入力部11は、例えばユーザによって入力された検索キーワードを含む検索要求を検出すると、後述するキーワード抽出部21に出力する。ここで、検索キーワードとは、ユーザが帳票を検索する条件の一部を成すキーワードである。例えば、ユーザが「住所に川崎を含む帳票の検索」を行うとき、検索する条件は「住所に川崎を含むこと」であり、検索範囲は「住所」という項目となり、検索キーワードは「川崎」となる。
見出し選択部12は、後述する出力部40によって出力された見出し候補情報の中から、所定の操作によって選択された見出し候補を検出すると、検出した見出し候補を、後述する帳票検索部24に出力する。なお、所定の操作とは、例えば、ユーザが、キーボードの該当キーを押下すること、またはモニターがタッチパネルの場合には、タッチパネルの該当領域を触れることである。
制御部20は、帳票検索機能を制御する機能部であり、キーワード抽出部21と、見出し候補探索部22と、見出し候補一覧作成部23と、帳票検索部24とを備える。
記憶部30は、情報を記憶する機能部であり、帳票データ情報記憶部31と、帳票検索結果情報記憶部32とを備える。
キーワード抽出部21は、記憶部30に記憶されている全帳票データについて、各帳票データを構成する文字列の中から検索キーワードを含む文字列を抽出する。具体的には、キーワード抽出部21は、キーワード入力部11から検索キーワードを含む検索要求を取得すると、後述する帳票データ情報記憶部31から全ての帳票データを読み出す。また、キーワード抽出部21は、読み出した各帳票データを構成する文字列の中から検索キーワードを含む文字列を抽出して、抽出した文字列の描画位置および当該文字列の抽出元の帳票データを見出し候補探索部22に出力する。
ここで、帳票データ情報記憶部31に記憶される帳票データの構造について図2を参照しながら説明する。図2は、帳票データ情報記憶部31のデータ構造の一例を示す図である。図2に示すように、帳票データ情報記憶部31には、帳票の描画データが帳票ごとに記憶されている。
この描画データとは、帳票を構成する各要素の描画属性を指す。例えば、帳票を構成する要素が文字列31cの場合には、当該文字の文字コードとその描画位置、例えば描画座標が描画属性となる。帳票を構成する要素が直線31bの場合には、当該直線の始点および終点の描画位置が描画属性となる。帳票を構成する要素が円弧31dの場合には、当該円弧の中心位置(中心座標)、半径、開始角度および終了角度が描画属性となる。なお、描画位置は、例えば帳票が印刷された紙の左上を原点として、右方向をX座標、下方向をY座標とした場合には、X座標およびY座標から表される2次元座標としても良い。また、帳票が表形式である場合には、描画位置は、行数および列数から表される2次元行列としても良い。
図2の例では、帳票Aおよび帳票Bの帳票データがそれぞれ記憶され、各帳票データは、帳票を識別するための帳票識別子31aとその帳票の描画データとを含んで構成されている。なお、帳票Aは、後記する図3(A)に記載される帳票であるものとする。
図1に戻って、見出し候補探索部22は、帳票データから抽出された、検索キーワードを含む文字列の見出し候補を探索する。具体的には、見出し候補探索部22は、キーワード抽出部21によって抽出された文字列の描画位置および当該文字列の抽出元の帳票データを取得すると、抽出された文字列の描画位置に基づいて、当該文字列の抽出元の帳票データから当該文字列の見出し候補を探索する。
例えば、見出し候補探索部22は、X軸の順方向に配列された文字列であってキーワード抽出部21によって抽出された文字列と同一列上にある文字列のうち、当該抽出された文字列の描画位置から前方に描画位置を持つ他の文字列を探索して見出し候補とする。
また、見出し候補探索部22は、Y軸の順方向に配列された文字列であってキーワード抽出部21によって抽出された文字列と同一列上にある文字列のうち、当該抽出された文字列の描画位置から前方に描画位置を持つ他の文字列を探索して見出し候補とする。
なお、見出し候補探索部22は、表形式である場合には、キーワード抽出部21によって抽出された文字列の描画位置から行方向の最前方に描画位置を持つ他の文字列または列方向の最前方に描画位置を持つ他の文字列を探索して見出し候補としても良い。なお、見出し候補検索部22は、見出し候補の探索方法を、これらに限定するものではない。
ここで、見出し候補探索部22によって行われる見出し候補の探索方法について、図3を参照して説明する。図3は、見出し候補の探索方法を示す図である。(A)では、順方向に配列された文字列のうちX軸(横)方向の前方またはY軸(縦)方向の前方に配列された文字列を探索する方法について説明し、(B)では、帳票が表形式である場合の探索方法について説明する。なお、以降の説明では、検索キーワードは「川崎」であるものとする。
(A)では、見出し候補探索部22は、検索キーワード「川崎」を含む文字列「神奈川県川崎市・・・」の描画位置からX軸(横)方向の前方を探索し、その探索した結果に基づいて「住所」を見出し候補とする。具体的には、見出し候補探索部22は、検索キーワード「川崎」を含む描画データを用いて、検索キーワード「川崎」を含む文字列「神奈川県川崎市・・・」の描画座標のうちY座標の値と同じY座標の値を持ち、且つX軸上の前方座標のX座標の値を持つ文字列「住所」を検索して、見出し候補とする。
また、検索キーワード「川崎」を含む同じ文字列「神奈川県川崎市・・・」に関して、見出し候補探索部22は、検索キーワード「川崎」を含む文字列の描画位置からY軸(縦)方向の前方を探索し、その探索した結果に基づいて郵便番号を示す「123−4567」を見出し候補とする。具体的には、見出し候補探索部22は、検索キーワード「川崎」を含む描画データを用いて、検索キーワード「川崎」を含む文字列の描画座標のうちX座標の値により近いX座標の値を持ち、且つY軸上の前方座標のY座標の値を持つ文字列(「郵便番号」ではなく「123−4567」)を検索して、見出し候補とする。
(B)では、見出し候補探索部22は、検索キーワード「川崎」を含む文字列「川崎次郎」がある描画位置(セル)から行方向の最前方を探索し、その探索した結果に基づいて項番「3」を見出し候補とする。また、検索キーワード「川崎」を含む同じ文字列「川崎次郎」に関して、見出し候補探索部22は、検索キーワード「川崎」を含む文字列がある描画位置(セル)から列方向の最前方を探索し、その探索した結果に基づいて「氏名」を見出し候補とする。
さらに、見出し候補探索部22は、検索キーワード「川崎」を含む文字列「神奈川県川崎市」がある描画位置(セル)から行方向の最前方を探索し、その探索した結果に基づいて項番「2」を見出し候補とする。また、検索キーワード「川崎」を含む同じ文字列「神奈川県川崎市」に関して、見出し候補探索部22は、検索キーワード「川崎」を含む文字列がある描画位置(セル)から列方向の最前方を探索し、その探索した結果に基づいて「住所」を見出し候補とする。
これにより、検索キーワードを含む文字列に対応する見出し候補が限定されることになる。なお、上記の見出し候補の探索方法では、検索キーワードを含む文字列に対応する見出し候補が複数存在する場合もあるが、これ以降の処理によって、さらに検索要求に合致した見出し候補が限定されることになる。
図1に戻って、見出し候補探索部22は、探索した見出し候補と検索キーワードを含む文字列とをこれらの抽出元である帳票データごとに組にして、見出し候補一覧作成部23に出力する。
見出し候補一覧作成部23は、検索キーワードを含む文字列の見出し候補を一覧情報にして出力する。具体的には、見出し候補一覧作成部23は、見出し候補探索部22から帳票データごとに組にされた見出し候補と検索キーワードを含む文字列とを取得すると、帳票データの帳票識別子、見出し候補および検索キーワードを含む文字列を1つの一覧とした見出し候補一覧表を作成する。
また、見出し候補一覧作成部23は、ユーザが検索要求に合致した見出しを選択できるように、見出し候補一覧表を見出し候補ごとにチェック欄を設けた見出し候補情報に編集する。さらに、見出し候補一覧作成部23は、編集した見出し候補情報を出力部40に出力するとともに、見出し候補情報の編集元である見出し候補一覧表を帳票検索部24に出力する。
ここで、見出し候補一覧作成部23によって編集される見出し候補情報の例について、図4を参照して説明する。図4は、見出し候補情報の例を示す図である。なお、以降の説明では、検索キーワードに「川崎」が含まれる帳票から探索された見出し候補に関わる見出し候補情報であるものとする。
図4の例では、帳票A、帳票Bおよび帳票Cに検索キーワード「川崎」が含まれている。そして、検索キーワード「川崎」の見出し候補として、帳票Aでは「住所」が探索され、帳票Bでは「氏名」が探索され、帳票Cでは「住所」と「平成」とが探索されている。
このような状況下において、見出し候補一覧作成部23は、帳票Aに関して、見出し候補「住所」と検索キーワードを含む文字列「神奈川県川崎市・・・」とを見出し候補一覧表に追加する。また、見出し候補一覧作成部23は、帳票Bに関して、見出し候補「氏名」と検索キーワードを含む文字列「川崎次郎」とを見出し候補一覧表に追加する。さらに、見出し候補一覧作成部23は、帳票Cに関して、見出し候補「住所」および「平成」と検索キーワードを含む文字列「川崎市中原区・・・」とを見出し候補一覧表に追加する。
そして、見出し候補一覧作成部23は、見出し候補一覧表を編集して、見出し候補ごとにチェック欄を設けた見出し候補情報23aを作成する。見出し候補情報23aには、検索キーワード「川崎」を持つ帳票の数(3件)が含まれ、見出し候補ごとに検索キーワード「川崎」が探索された帳票の件数が含まれている。なお、見出し候補情報23aは、検索キーワード「川崎」を含む文字列の見出し候補が探索されなかった場合には、「見出し不明」とする見出し候補を含んでも良い。
これにより、見出し候補情報23aが、後述する出力部40によって出力されると、検索キーワード「川崎」に対応する見出し候補を、ユーザによって確認させることができる。
また、見出し候補情報の変形例について、図5を参照して説明する。図5は、見出し候補情報の変形例を示す図である。図5に示すように、見出し候補情報23bには、見出し候補とともに、当該見出し候補が存在する帳票データの縮小画像(サムネイル)が含まれている。
これにより、仮にユーザが、「住所に川崎を含む帳票」であったか「氏名に川崎を含む帳票」であったかを忘れてしまった場合であっても、見出し候補情報23bが後述する出力部40によって出力されると、どちらの場合であったかを想起させることができ、素早く検索要求に合致した見出し候補を確認することができる。
帳票検索部24は、見出し候補に対応する帳票を検索する。具体的には、帳票検索部24は、見出し選択部12から見出し候補を取得すると、見出し候補一覧作成部23から出力された見出し候補一覧表の中から当該見出し候補に対応する全帳票識別子を抽出する。また、帳票検索部24は、抽出した全帳票識別子に対応する各帳票データを帳票データ情報記憶部31から検索する。さらに、帳票検索部24は、検索した各帳票データを纏めて検索結果として帳票検索結果情報記憶部32に格納する。これにより、ユーザは、自己の検索要求に合致した帳票を見つけることができたことになる。
出力部40は、見出し候補情報を表示出力する。具体的には、出力部40は、見出し候補一覧作成部23から見出し候補情報を取得すると、取得した見出し候補情報を、モニターに表示出力する。これにより、ユーザは、自己の検索要求に合致した見出し候補を確認することができ、仮に誤った見出し候補があったとしても、正しい見出し候補を選択することによって、自己の検索要求に合致した帳票を検索することができる。
ここで、モニターに表示出力された見出し候補情報からユーザによって見出し候補が選択された結果を、図6を参照して説明する。図6は、ユーザによって見出し候補が選択された結果を示す図である。なお、見出し候補情報は、検索キーワードが「川崎」である場合であるものとする。
図6の例では、見出し候補情報には、検索キーワード「川崎」を含む帳票が3件存在していることが示されている。そして、それらの帳票には、検索キーワード「川崎」を含む文字列の見出し候補として、「見出し不明」以外に「住所」、「氏名」および「平成」が探索されたことが示されている。ここで、ユーザの検索要求が「住所に川崎を含む帳票の検索」である場合、ユーザは見出し候補「住所」をチェックすることにより自己の検索要求に合致した見出し候補を選択する。
これにより、ユーザは、仮に検索キーワードに対して複数の見出し候補が探索されたとしても、自己の検索要求に合致した見出し候補を限定して、自己の検索要求に合致した帳票に関する「項目限定検索」を行うことができる。
ところで、見出し候補探索部22が検索キーワードを含む文字列の見出し候補を複数の帳票から探索するとき、見出しとしては不適当な文字列を誤って見出し候補として探索する場合がある。このような場合であっても、誤って見出し候補として探索された文字列がユーザの検索要求に合致した帳票に含まれていることが認識されるものであれば、当該文字列を見出し候補とみなしても良い。
例えば、図7は、見出し候補の探索に誤りが生じた場合の例を示す図である。なお、図7の例では、検索キーワードが「川崎」である場合であるものとする。図7に示すように、帳票Aでは、見出し候補探索部22が、検索キーワード「川崎」の見出し候補として、誤って「神奈川県」を探索している。この場合に、見出し候補情報には、本来見出しとしては不適当である「神奈川県」が見出し候補として含まれることになる。
しかし、「神奈川県」が本来見出しとして適切な「住所」に属する文字列であることがユーザによって認識される場合には、「神奈川県」を見出し候補とみなしても良い。その結果、ユーザが、見出し候補「神奈川県」を選択することにより、ユーザ自身の検索要求に合致した帳票を検索することができる。
次に、実施例1に係る帳票検索装置1の処理手順を、図8を参照して説明する。図8は、実施例1に係る帳票検索装置の処理手順を示すフローチャートである。
まず、キーワード入力部11は、ユーザによって入力された検索キーワードを含む検索要求を検出すると(ステップS11)、検出した検索キーワードをキーワード抽出部21に出力する。
次に、キーワード抽出部21は、帳票データ情報記憶部31から全ての帳票データを読み出して、読み出した全帳票データの中から1個の帳票データを選択する(ステップS12)。
そして、キーワード抽出部21は、選択した帳票データを構成する文字列の中から検索キーワードを含む文字列を抽出する(ステップS13)。
さらに、見出し候補探索部22は、キーワード抽出部21によって抽出された文字列の描画位置に基づいて、当該文字列に対応する見出し候補を、帳票データから探索する(ステップS14)。例えば、見出し候補探索部22は、X軸の順方向に配列された文字列であってキーワード抽出部21によって抽出された文字列と同一列上にある文字列のうち、当該抽出された文字列の描画位置から前方に描画位置を持つ他の文字列を探索して見出し候補とする。また、見出し候補探索部22は、Y軸の順方向に配列された文字列であってキーワード抽出部21によって抽出された文字列と同一列上にある文字列のうち、当該抽出された文字列の描画位置から前方に描画位置を持つ他の文字列を探索して見出し候補とする。なお、見出し候補探索部22は、見出し候補の探索方法を、これに限定するものではない。
その後、見出し候補探索部22は、全ての帳票データについて処理したか否かを判定する(ステップS15)。見出し候補探索部22が、全ての帳票データについて処理していない場合には(ステップS15No)、未処理の帳票データについて処理するために、ステップS12に遷移する。
一方、見出し候補探索部22が、全ての帳票データについて処理した場合には(ステップS15Yes)、見出し候補一覧作成部23は、全ての帳票データから探索された見出し候補の一覧情報を作成して、出力部40に表示出力する(ステップS16)。
具体的には、見出し候補一覧作成部23は、帳票データの帳票識別子と見出し候補と検索キーワードを含む文字列とを一覧にした見出し候補一覧表を、見出し候補ごとにチェック欄を設けた見出し候補情報に編集し、編集した見出し候補情報を出力部40に表示出力する。
引き続き、見出し選択部12は、見出し候補情報から選択された見出し候補を検出して(ステップS17)、帳票検索部24に出力する。
そして、帳票検索部24は、見出し選択部12から取得された見出し候補に対応する帳票識別子を、見出し候補一覧作成部23によって作成された見出し候補一覧表から抽出する。そして、帳票検索部24は、抽出した帳票識別子に対応する帳票データを帳票データ情報記憶部31から検索して、検索した帳票データを纏めて検索結果として、帳票検索結果情報記憶部32に格納する(ステップS18)。
以上のように本実施例1によれば、帳票検索装置1は、帳票データ内の複数の文字列およびその文字列の描画位置を帳票ごとに記憶する帳票データ情報記憶部31を備え、この帳票データ情報記憶部31に記憶された各帳票データ内の文字列の中から、帳票を検索する条件の一部を成す検索キーワードを含む文字列およびその文字列の描画位置を抽出する。そして、帳票検索装置1は、抽出された文字列の描画位置に基づいて、当該文字列が抽出された帳票データから、当該文字列に対応する見出し候補を探索する。そして、帳票検索装置1は、探索された見出し候補と当該見出し候補に対応する文字列とを帳票データごとに対応付けた見出し候補情報を生成し、生成された見出し候補情報を表示出力する。さらに、帳票検索装置1は、表示出力された見出し候補情報の中から、所定の操作によって選択された見出し候補に関わる文字列を含む帳票データを、帳票データ情報記憶部31から検索する。
かかる構成によれば、帳票検索装置1は、帳票データ内の複数の文字列に対して見出しの文字列とこれに対応する文字列との関係を示す項目定義情報がなくても、検索要求に合致した帳票データを検索することができ、事前に項目定義情報を生成する手間がかからないという効果がある。特に、帳票データには、例えば「住所」、「お住まい」等の表記に揺れのある見出しが一般的に多数存在するため、これらを事前に項目定義情報に定義する手間がなくなり、事前に行うべき作業が軽減される。
また、帳票検索装置1は、検索キーワードに対応する見出し候補の探索を、仮に誤った場合であっても、検索要求に合致した見出し候補を1度選択させるだけで、検索要求に合致した帳票を検索することができ、事前に項目定義情報を生成する場合と比較して、格段に作業を軽減できるだけでなく、帳票の検索精度を向上させることができる。
さらに、帳票検索装置1は、項目定義情報を用いて、検索要求どおりの見出しの文字列を探索するか否か、さらに探索要求どおりの帳票を検索するか否かを、事前に確認する手間がなくなるため、事前に行うべき作業を軽減できる。
ところで、上記の実施例1では、帳票検索装置1は、検索キーワードに対応する見出し候補が帳票に存在する場合に、検索キーワードに対応する見出し候補を探索する場合を説明した。本発明はこれに限定されるものではなく、帳票検索装置2は、検索キーワードに対応する見出し候補が帳票に存在しない場合であっても、検索キーワードに対応する仮想的な見出し候補を推定しても良い。
そこで、実施例2では、帳票検索装置2が、検索キーワードに対応する見出し候補が帳票に存在しない場合であっても、検索キーワードに対応する仮想的な見出し候補を推定する場合を説明する。
まず、実施例2に係る帳票検索装置2の構成について図9を参照しながら説明する。図9は、実施例2に係る帳票検索装置の構成を示す機能ブロック図である。なお、図1に示す帳票検索装置1と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例1と実施例2とが異なるところは、制御部20に見出し候補推定部41を追加した点にある。
見出し候補推定部41は、帳票データから抽出された検索キーワードを含む文字列の見出し候補が存在しない場合に、当該文字列に対応する仮想的な見出し候補を推定する。具体的には、見出し候補推定部41は、文字列の描画位置と仮想的な見出し候補との関係があらかじめ定義された関係表を用いて、見出し候補探索部22から取得された検索キーワードを含む文字列の描画位置に対応する見出し候補を推定する。
例えば、見出し候補推定部41は、検索キーワードを含む文字列の描画位置が帳票のX軸(横)方向の中心且つY軸(縦)方向の最前方である場合には、「帳票タイトル」を見出し候補と推定する。また、見出し候補推定部41は、検索キーワードを含む文字列の描画位置が帳票のX軸(横)方向の後方且つY軸(縦)方向の前方である場合には、「帳票発行元」を見出し候補と推定する。さらに、見出し候補推定部41は、検索キーワードを含む文字列の描画位置が帳票のY軸(縦)方向の最後方である場合には、「帳票通し番号」を見出し候補と推定する。
また別の例として、見出し候補推定部41は、検索キーワードを含む文字列の描画位置が帳票の縦方向(Y軸)の前方1/4にあり、且つ、当該文字列のフォントが帳票を構成する他の文字列のフォントより大きいものである場合には、「帳票タイトル」を見出し候補と推定する。
また、見出し候補推定部41は、検索キーワードを含む文字列の描画位置に基づいて、当該文字列の仮想的な見出し候補が推定できない場合には、「見出し不明」を見出し候補と推定する。
また、見出し候補探索部41は、推定した見出し候補と検索キーワードを含む文字列とを検索キーワードの抽出元である帳票データごとに組にして、見出し候補一覧作成部23に出力する。
次に、実施例2に係る帳票検索装置2の処理手順を、図10を参照して説明する。図10は、実施例2に係る帳票検索装置2の処理手順を示すフローチャートである。なお、図10において、実施例1に係る帳票検索装置1の処理手順(図8)と同じ部分には同じ符号を付し、詳しい説明を省略する。
まず、キーワード入力部11は、ユーザによって入力された検索キーワードを含む検索要求を検出すると(ステップS11)、検出した検索キーワードをキーワード抽出部21に出力する。
次に、キーワード抽出部21は、帳票データ情報記憶部31から全ての帳票データを読み出して、読み出した全帳票データの中から1個の帳票データを選択する(ステップS12)。
そして、キーワード抽出部21は、選択した帳票データを構成する文字列の中から検索キーワードを含む文字列を抽出する(ステップS13)。
さらに、見出し候補探索部22は、キーワード抽出部21によって抽出された文字列の描画位置に基づいて、当該文字列に対応する見出し候補を、帳票データから探索する(ステップS14)。
そして、見出し候補探索部22は、キーワード抽出部21によって抽出された文字列の見出し候補が存在したか否かを判定する(ステップS21)。見出し候補探索部22は、キーワード抽出部21によって抽出された文字列の見出し候補が存在すると判定する場合には(ステップS21Yes)、ステップS15に遷移する。
一方、見出し候補探索部22は、キーワード抽出部21によって抽出された文字列の見出し候補が存在しないと判定する場合には(ステップS21No)、見出し候補推定部41が当該文字列の見出し候補を推定する(ステップS22)。
具体的には、見出し候補推定部41は、文字列の描画位置と仮想的な見出し候補との関係があらかじめ定義された関係表を用いて、キーワード抽出部21によって抽出された文字列の描画位置に対応する見出し候補を推定する。
例えば、見出し候補推定部41は、キーワード抽出部21によって抽出された文字列の描画位置が帳票のX軸(横)方向の中心且つY軸(縦)方向の最前方である場合には、「帳票タイトル」を見出し候補と推定する。また、見出し候補推定部41は、キーワード抽出部21によって抽出された文字列の描画位置が帳票のX軸(横)方向の後方且つY軸(縦)方向の前方である場合には、「帳票発行元」を見出し候補と推定する。さらに、見出し候補推定部41は、キーワード抽出部21によって抽出された文字列の描画位置が帳票のY軸(縦)方向の最後方である場合には、「帳票通し番号」を見出し候補と推定する。なお、見出し候補推定部41は、見出し候補の推定方法を、これらに限定するものではない。
その後、見出し候補探索部22は、全ての帳票データについて処理したか否かを判定する(ステップS15)。見出し候補探索部22が、全ての帳票データについて処理していない場合には(ステップS15No)、未処理の帳票データについて処理するために、ステップS12に遷移する。
一方、見出し候補探索部22が、全ての帳票データについて処理した場合には(ステップS15Yes)、見出し候補一覧作成部23は、全ての帳票データから探索された見出し候補の一覧情報を作成して、出力部40に表示出力する(ステップS16)。
具体的には、見出し候補一覧作成部23は、帳票データの帳票識別子、見出し候補および検索キーワードを含む文字列を一覧にした見出し候補一覧表を、見出し候補ごとにチェック欄を設けた見出し候補情報に編集し、編集した見出し候補情報を出力部40に表示出力する。
引き続き、見出し選択部12は、見出し候補情報から選択された見出し候補を検出して(ステップS17)、帳票検索部24に出力する。
そして、帳票検索部24は、見出し選択部12から取得された見出し候補に対応する帳票識別子を、見出し候補一覧作成部23によって作成された見出し候補一覧表から抽出する。そして、帳票検索部24は、抽出した帳票識別子に対応する帳票データを帳票データ情報記憶部31から検索して、検索した帳票データを纏めて検索結果として、帳票検索結果情報記憶部32に格納する(ステップS18)。
以上のように本実施例2によれば、帳票検索装置2は、帳票データ内の複数の文字列およびその文字列の描画位置を帳票データごとに記憶する帳票データ情報記憶部31を備え、この帳票データ情報記憶部31に記憶された各帳票データ内の文字列の中から帳票を検索する条件の一部を成す検索キーワードを含む文字列を抽出する。そして、帳票検索装置2は、抽出された文字列の描画位置に基づいて、当該文字列が抽出された帳票データから、当該文字列に対応する見出し候補を探索する。このとき、帳票検索装置2は、見出し候補が探索できなかった場合には、当該文字列に対応する仮想的な見出し候補を推定する。そして、帳票検索装置2は、探索または推定された見出し候補と当該見出し候補に対応する文字列とを帳票データごとに対応付ける見出し候補情報を生成し、生成された見出し候補情報を表示出力する。さらに、帳票検索装置1は、出力された見出し候補情報の中から所定の操作によって選択された見出し候補に対応付けられた文字列を含む帳票データを、情報データ情報31から検索する。
かかる構成によれば、帳票検索装置2は、帳票データに、検索キーワードに対応する見出し候補が存在しない場合であっても、仮想的な見出し候補を推定するため、見出し候補が存在する場合と同様に帳票検索処理を実行することができ、検索要求に合致した帳票を漏れがなく検索することができる。
ところで、上記の実施例1では、帳票検索装置1は、検索キーワードを含む文字列の見出し候補を探索した結果、探索に失敗した見出し候補がある場合であっても正しい見出し候補に訂正しない場合を説明した。本発明はこれに限定されるものではなく、帳票検索装置3は、検索キーワードを含む文字列の見出し候補を探索した結果、探索に失敗した見出し候補がある場合には正しい見出し候補に訂正しても良い。
そこで、実施例3では、帳票検索装置3が、検索キーワードを含む文字列の見出し候補を探索した結果、探索に失敗した見出し候補がある場合には正しい見出し候補に訂正する場合を説明する。
まず、実施例3に係る帳票検索装置3の構成について図11を参照しながら説明する。図11は、実施例3に係る帳票検索装置の構成を示す機能ブロック図である。なお、図1に示す帳票検索装置1と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例1と実施例3とが異なるところは、入力部10に見出し訂正部51、制御部20に見出し訂正情報作成部52および記憶部30に見出し訂正情報記憶部53を追加した点にある。
見出し訂正部51は、出力部40によって表示出力された見出し候補情報のうち探索に失敗した見出し候補を訂正するために、当該見出し候補に関わる複数の描画位置および当該見出し候補に対応する文字列に関わる複数の描画位置を検出して、見出し訂正情報作成部52に出力する。
具体的には、見出し訂正部51は、出力部40によって表示出力された見出し候補情報の中から、ユーザによって選択された、探索に失敗した見出し候補を検出する。そして、見出し訂正部51は、検出した見出し候補に関する帳票を出力部40に表示出力させるために、当該見出し候補を見出し訂正情報作成部52に出力する。また、見出し訂正部51は、出力部40によって表示出力された帳票からユーザによって選択された、正しい見出し候補および当該見出し候補に対応する文字列それぞれのデータ領域の矩形情報を検出して、見出し訂正情報作成部52に出力する。なお、矩形情報とは、データ領域を矩形としたときの当該矩形の頂点の描画位置を指すものとする。
ここで、出力部40に出力された見出し候補情報23dからユーザによって見出しが訂正される場合を、図12を参照して説明する。図12は、ユーザによって見出し訂正される場合を示す図である。なお、見出し候補情報23dは、検索キーワードが「川崎」である場合であるものとする。
図12の例では、帳票Aでは、検索キーワード「川崎」の見出し候補として、本来見出し候補として不適当である「神奈川県」が誤って探索されている。この場合に、ユーザは、誤って探索された見出し候補を含む「神奈川県 1件」(d1)を選択(例えばクリック)する。
すると、選択された見出し候補とそれに対応する文字列とを含む帳票Aが、モニターに表示出力される。そして、ユーザは、モニターに表示出力された帳票A上に配置されている文字列「神奈川県川崎市中原区・・・」(d3)およびそれに対応する正しい見出し候補「住所」(d2)のそれぞれのデータ領域を指定する。例えば、ユーザは、マウスクリックによって、各文字列を含む矩形の左上と右下の頂点を指定する。
図11に戻って、見出し候補一覧作成部23は、ユーザが検索要求に合致した見出しを選択できるように見出し候補一覧表を編集した見出し候補情報を出力部40に表示出力するとともに、見出し候補一覧表を見出し訂正情報作成部52および帳票検索部24に出力する。
見出し訂正情報作成部52は、探索に失敗した見出し候補に対応する帳票を出力部40に表示出力する。具体的には、見出し訂正情報作成部52は、見出し訂正部51によって探索に失敗した見出し候補を取得すると、当該見出し候補に対応する帳票データの帳票識別子を見出し候補一覧表から抽出して、抽出した帳票識別子に対応する帳票データを帳票データ情報記憶部31から検索する。また、見出し訂正情報作成部52は、検索された帳票データに含まれた各描画データに基づいて展開させた帳票を出力部40に表示出力する。
また、見出し訂正情報作成部52は、正しい見出し候補およびそれに対応する文字列のそれぞれのデータ領域の矩形情報を、帳票の訂正データとして見出し訂正情報記憶部53に格納する。
ここで、見出し訂正情報記憶部53に記憶される訂正データの構造について図13を参照しながら説明する。図13は、見出し訂正情報記憶部53のデータ構造の一例を示す図である。図13に示すように、見出し訂正情報記憶部53には、見出し訂正データが帳票ごとに記憶されている。
この見出し訂正データには、帳票識別子53aと、見出し文字列の矩形情報53bと、見出しに対応する文字列の矩形情報53cと、を含んでいる。帳票識別子53aは、訂正された見出し候補を含む帳票の識別子である。見出し文字列の矩形情報53bは、訂正された見出し候補のデータ領域の矩形情報であり、帳票上に配置された見出し候補文字列の左上および右下の矩形頂点の描画位置を示す。見出しに対応する文字列の矩形情報53cは、訂正された見出し候補に対応する文字列のデータ領域の矩形情報であり、帳票上に配置された当該文字列の左上および右下の矩形頂点の描画位置を示す。
なお、見出し情報作成部52は、帳票の訂正データを見出し訂正情報記憶部53に格納するものとして説明したが、帳票データ情報記憶部31に追加して格納するものとしても良い。
見出し候補探索部22は、帳票データから抽出された、検索キーワードを含む文字列の見出し候補を探索する。このとき、見出し候補探索部22は、当該検索キーワードを含む文字列の見出し候補が過去に訂正されている場合には、訂正された見出し候補を探索結果とする。
具体的には、見出し候補探索部22は、キーワード抽出部21によって抽出された文字列の描画位置および当該文字列の抽出元の帳票データを取得すると、見出し訂正情報記憶部53を参照して、当該帳票データの見出し訂正データがあるか否かを判定する。
また、見出し候補探索部22は、当該帳票データの見出し訂正データがあると判定された場合には、キーワード抽出部21によって抽出された文字列の描画位置が、当該見出し訂正データの「見出しに対応する文字列の矩形情報」53cの内部に存在するか否かを判定する。
また、見出し候補探索部22は、キーワード抽出部21によって抽出された文字列の描画位置が、当該見出し訂正データの「見出しに対応する文字列の矩形情報」53cの内部に存在する場合には、「見出しに対応する文字列の矩形情報」53cに対応する「見出し文字列の矩形情報」53bから見出し候補を探索する。例えば、見出し候補探索部22は、見出し訂正情報記憶部53に含まれる「見出し文字列の矩形情報」53bの内部に存在する文字列の描画位置を、抽出元の帳票データから探索して、探索した文字列を見出し候補とする。
次に、実施例3に係る帳票検索装置3の処理手順を、図14を参照して説明する。図14は、実施例3に係る帳票検索装置の処理手順を示すフローチャートである。なお、図14において、実施例1に係る帳票検索装置1の処理手順(図8)と同じ部分には同じ符号を付し、詳しい説明を省略する。
まず、キーワード入力部11は、ユーザによって入力された検索キーワードを含む検索要求を検出して(ステップS11)、検出した検索キーワードをキーワード抽出部21に出力する。
次に、キーワード抽出部21は、帳票データ情報記憶部31から全ての帳票データを読み出して、読み出した全帳票データの中から1個の帳票識別子に対応する帳票データを選択する(ステップS12)。
そして、キーワード抽出部21は、選択した帳票データを構成する文字列の中から検索キーワードを含む文字列を抽出する(ステップS13)。
さらに、見出し候補探索部22は、検索キーワードを含む文字列の見出し候補が過去に訂正されているか否か調べるために、キーワード抽出部21によって選択された帳票データの帳票識別子が見出し訂正情報記憶部53に記憶されているか否かを判定する(ステップS31)。
選択された帳票データの帳票識別子が見出し訂正情報記憶部53に記憶されている場合には(ステップS31Yes)、見出し候補探索部22は、抽出された検索キーワードを含む文字列の描画位置が、見出しに対応する文字列の矩形情報53cの内部に存在するか否かを判定する(ステップS32)。
抽出された検索キーワードを含む文字列の描画位置が、見出しに対応する文字列の矩形情報53cの内部に存在する場合には(ステップS32Yes)、見出し候補探索部22は、見出し訂正情報記憶部53に含まれる見出し文字列の矩形情報53bから見出し候補を探索する(ステップS33)。
一方、選択された帳票識別子が見出し訂正情報記憶部53に記憶されていない場合(ステップS31No)、または抽出された検索キーワードを含む文字列の描画位置が見出しに対応する文字列の矩形情報53cの内部に存在しない場合(ステップS32No)には、見出し候補探索部22は、キーワード抽出部21によって抽出された文字列の描画位置に基づいて、当該文字列に対応する見出し候補を、帳票データから探索する(ステップS14)。
その後、見出し候補探索部22は、全ての帳票データについて処理したか否かを判定する(ステップS15)。見出し候補探索部22が、全ての帳票データについて処理していない場合には(ステップS15No)、未処理の帳票データについて処理するために、ステップS12に遷移する。
一方、見出し候補探索部22が、全ての帳票データについて処理した場合には(ステップS15Yes)、見出し候補一覧作成部23は、全ての帳票データから探索された見出し候補の一覧情報を作成して、出力部40に表示出力する(ステップS16)。
そして、見出し訂正情報作成部52は、見出し候補一覧情報の中の探索に失敗した見出し候補を見出し訂正部51から取得すると、当該見出し候補に対応する帳票データに基づいて展開させた帳票を出力部40に表示出力する(ステップS34)。
そして、見出し訂正情報作成部52は、訂正された見出し候補およびそれに対応する文字列のそれぞれのデータ領域の矩形情報を見出し訂正部51から検出すると、これらの矩形情報を帳票の見出し訂正データとして見出し訂正情報記憶部53に格納する(ステップS35)。
引き続き、見出し選択部12は、見出し候補情報から選択された見出し候補を検出して(ステップS17)、帳票検索部24に出力する。
そして、帳票検索部24は、見出し選択部12から取得された見出し候補に対応する帳票識別子を、見出し候補一覧作成部23によって作成された見出し候補一覧表から抽出する。そして、帳票検索部24は、抽出した帳票識別子に対応する帳票データを帳票データ情報記憶部31から検索して、検索した帳票データを纏めて検索結果として、帳票検索結果情報記憶部32に格納する(ステップS18)。
以上のように本実施例3によれば、帳票検索装置3は、帳票データ内の複数の文字列およびその文字列の描画位置を帳票データごとに記憶する帳票データ情報記憶部31を備え、この帳票データ情報記憶部31に記憶された各帳票データ内の文字列の中から帳票を検索する条件の一部を成す検索キーワードを含む文字列を抽出する。そして、帳票検索装置3は、抽出された文字列の描画位置に基づいて、当該文字列が抽出された帳票データから、当該文字列に対応する見出し候補を探索する。そして、帳票検索装置3は、探索された見出し候補と当該見出し候補に対応する文字列とを対応付けた見出し候補情報を生成し、生成された見出し候補情報を出力する。さらに、帳票検索装置3は、出力された見出し候補情報のうち誤りがあった見出し候補を訂正するために、当該見出し候補の文字列に関わる複数の描画位置および当該見出し候補に対応する文字列に関わる複数の描画位置をユーザに選択させ、見出し訂正情報記憶部53に格納する。そして、帳票検索装置3は、出力された見出し候補情報の中から所定の操作によって選択された見出し候補に対応付けられた文字列を含む帳票データを、帳票データ情報記憶部31から検索する。
かかる構成によれば、帳票検索装置3は、見出し候補情報の中に誤った見出し候補が含まれている場合であっても、正しい見出し候補が見出し訂正情報記憶部53に記憶されているため、次回からの同一の検索キーワードの検索要求に対して、高い精度で正しい見出し候補を探索することができる。
ところで、上記の実施例1では、帳票検索装置1は、検索キーワードを含む文字列の見出し候補を探索した結果、探索した見出し候補の正当性の評価をしない場合を説明した。本発明はこれに限定されるものではなく、帳票検索装置4は、検索キーワードを含む文字列の見出し候補を探索した結果、探索した見出し候補の探索の正当性を評価しても良い。
そこで、実施例4では、帳票検索装置4が、検索キーワードを含む文字列の見出し候補を探索した結果、探索した見出し候補の探索の正当性を評価する場合を説明する。
まず、実施例4に係る帳票検索装置4の構成について図15を参照しながら説明する。図15は、実施例4に係る帳票検索装置の構成を示す機能ブロック図である。なお、図1に示す帳票検索装置1と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例1と実施例4とが異なるところは、制御部20に見出し候補評価部61および記憶部30に正規表現対応情報記憶部62を追加した点にある。
見出し候補評価部61は、見出し候補探索部22によって探索された見出し候補の探索の正当性を評価する。なお、探索の正当性とは、探索に誤りがなかったことの確からしさであるものとする。
具体的には、見出し候補の探索の正当性の評価方法として、見出し候補評価部61は、見出し候補探索部22から帳票データごとに組にされた見出し候補と検索キーワードを含む文字列とを取得すると、取得した見出し候補の文字列と同じ文字列が、当該見出し候補の描画位置以外に存在するか否か判定する。
そして、見出し候補評価部61は、取得した見出し候補の文字列と同じ文字列が、当該見出し候補の描画位置以外に存在すると判定する場合には、真の見出し候補が、取得した見出し候補と異なる描画位置に存在する文字列の可能性もあるため、取得した見出し候補における探索の正当性は低いものとする。一方、見出し候補評価部61は、取得した見出し候補の文字列と同じ文字列が、当該見出し候補の描画位置以外に存在しないと判定する場合には、取得した見出し候補における探索の正当性は高いものとする。
また、別の探索の確からしさの評価方法として、見出し候補評価部61は、見出し候補探索部22から帳票データごとに組にされた見出し候補と検索キーワードを含む文字列とを取得すると、検索キーワードを含む文字列が、それと組にされた見出し候補に対応する正規表現で表されているか否かを判定する。例えば、見出し候補評価部61は、見出し文字列に対応するデータの正規表現をあらかじめ記憶する正規表現対応情報記憶部62を用いて、検索キーワードを含む文字列が、それと組にされた見出し候補に対応する正規表現を満足するか否かを判定する。
ここで、正規表現対応情報記憶部62に記憶されるデータ構造について図16を参照しながら説明する。図16は、正規表現対応情報記憶部62のデータ構造の一例を示す図である。図16に示すように、正規表現対応情報記憶部62には、見出し文字列62aおよび対応するデータの正規表現62bが含まれており、見出し文字列62aごとに対になって記憶されている。
例えば、見出し文字列62aが「日付」である場合には、「日付」に対応するデータの正規表現は、「平成99年[1−12]月[1−31]日」である。ここで、正規表現内の「9」は任意の一桁の数字、[1−12]は1から12までの数字および[1−31]は1から31までの任意の数字を表す。
また、見出し文字列62aが「発注番号」である場合には、「発注番号」に対応するデータの正規表現は、「ZZZ99999−999−Z」である。ここで、正規表現内の「Z」は任意の1桁のアルファベット、「9」は任意の1桁の数字を表す。
また、見出し文字列62aが「電話番号」である場合には、「電話番号」に対応するデータの正規表現は、「0999999999」である。ここで、正規表現内の「9」は任意の1桁の数字を表す。
さらに、見出し文字列62aが「区分」である場合には、「区分」に対応するデータの正規表現は、「普通」、「当座」、「総合」、「定期」または「積立」である。
図15に戻って、見出し候補評価部61は、キーワードを含む文字列が、それと組にされた見出し候補に対応する正規表現を満たさないと判定する場合には、真の見出し候補である可能性が低いと判断して、見出し候補の探索の正当性が低いものとする。一方、見出し候補評価部61は、キーワードを含む文字列が、それと組にされた見出し候補に対応する正規表現を満たすと判定する場合には、真の見出し候補である可能性が高いと判断して、見出し候補の探索の正当性が高いものとする。
また、見出し候補評価部61は、探索の正当性の評価結果を含んだ見出し候補と検索キーワードを含む文字列とを、これらの抽出元である帳票データごとに組にして、見出し候補一覧作成部23に出力する。なお、見出し候補評価部61は、探索の正当性が低い見出し候補を除外して、見出し候補に関する組を見出し候補一覧作成部23に出力するものとしても良い。
その結果、見出し候補一覧作成部23は、探索の正当性の評価結果を含んだ見出し候補情報を出力部40に出力する。
ここで、見出し候補一覧作成部23によって編集される見出し候補情報23eの例について、図17を参照して説明する。図17は、見出し候補情報の例を示す図である。図17に示すように、見出し候補情報23eには、見出し候補「住所」の中に探索の正当性が低いものがあることを知らせる警告メッセージe1が出力されている。
なお、図17の例では、見出し候補情報23eには、探索の正当性が低い見出し候補があることを知らせる警告メッセージを出力するものとしたが、探索の正当性が低い見出し候補を含む帳票の帳票識別子を同時に出力するものとしても良い。
これにより、見出し候補一覧作成部23は、探索の正当性が低い見出し候補をユーザに知らせることができ、当該見出し候補を含んだ帳票の確認を促すことができる。
次に、実施例4に係る帳票検索装置4の処理手順を、図18を参照して説明する。図18は、実施例4に係る帳票検索装置の処理手順を示すフローチャートである。なお、図18において、実施例1に係る帳票検索装置1の処理手順(図8)と同じ部分には同じ符号を付し、詳しい説明を省略する。
まず、キーワード入力部11は、ユーザによって入力された検索キーワードを含む検索要求を検出すると(ステップS11)、検出した検索キーワードをキーワード抽出部21に出力する。
次に、キーワード抽出部21は、帳票データ情報記憶部31から全ての帳票データを読み出して、読み出した全帳票データの中から1個の帳票データを選択する(ステップS12)。
そして、キーワード抽出部21は、選択した帳票データを構成する文字列の中から検索キーワードを含む文字列を抽出する(ステップS13)。
さらに、見出し候補探索部22は、キーワード抽出部21によって抽出された文字列の描画位置に基づいて、当該文字列に対応する見出し候補を、帳票データから探索する(ステップS14)。
そして、見出し候補評価部61は、探索された見出し候補が探索に失敗したか否かの可能性、すなわち見出し候補の探索の正当性を評価する(ステップS41)。例えば、見出し候補評価部61は、探索された見出し候補の文字列と同じ文字列が、同じ帳票データ内の当該見出し候補の描画位置以外に存在するか否かによって判定する。
探索された見出し候補が探索に失敗した可能性がある場合には(ステップS42Yes)、見出し候補評価部61は、当該見出し候補が、探索の正当性が低い見出し候補であると判断し、目視確認の必要性のある帳票データと判定する。そして、見出し候補評価部61は、例えば、当該帳票データ、探索の正当性が低いという評価結果を含んだ見出し候補および当該見出し候補に対応する検索キーワードを含む文字列を組にして記憶部30に格納する(ステップS43)。
一方、探索された見出し候補が探索に失敗した可能性がない場合には(ステップS42No)、見出し候補評価部61は、当該見出し候補が、探索の正当性が高い見出し候補であると判断し、目視確認の必要性のない帳票データと判定する。そして、見出し候補評価部61は、例えば、当該帳票データ、探索の正当性が高いという評価結果を含んだ見出し候補および当該見出し候補に対応する検索キーワードを含む文字列を組にして記憶部30に格納する。
その後、見出し候補探索部22は、全ての帳票データについて処理したか否かを判定する(ステップS15)。見出し候補探索部22が、全ての帳票データについて処理していない場合には(ステップS15No)、未処理の帳票データについて処理するために、ステップS12に遷移する。
一方、見出し候補探索部22が、全ての帳票データについて処理した場合には(ステップS15Yes)、見出し候補一覧作成部23は、全ての帳票データから探索された、確からしさの評価結果を含んだ見出し候補の一覧情報を作成して、出力部40に表示出力する(ステップS16)。
引き続き、見出し選択部12は、見出し候補情報から選択された見出し候補を検出して(ステップS17)、帳票検索部24に出力する。
そして、帳票検索部24は、見出し選択部12から取得された見出し候補に対応する帳票識別子を、見出し候補一覧作成部23によって作成された見出し候補一覧表から抽出する。そして、帳票検索部24は、抽出した帳票識別子に対応する帳票データを帳票データ情報記憶部31から検索して、検索した帳票データを纏めて検索結果として、帳票検索結果情報記憶部32に格納する(ステップS18)。
以上のように本実施例4によれば、帳票検索装置4は、帳票データ内の複数の文字列および描画位置を帳票データごとに記憶する帳票データ情報記憶部31を備え、この帳票データ情報記憶部31に記憶された各帳票データ内の文字列の中から帳票を検索する条件の一部を成す検索キーワードを含む文字列を抽出する。そして、帳票検索装置3は、抽出された文字列の描画位置に基づいて、当該文字列が抽出された帳票データから、当該文字列に対応する見出し候補を探索する。そして、帳票検索装置4は、探索された見出し候補における探索の正当性を評価して、当該見出し候補における探索の正当性が低いと評価された場合には、当該見出し候補に対応する見出し候補情報に警告メッセージを含んで表示出力する。さらに、帳票検索装置4は、表示出力された見出し候補情報の中から所定の操作によって選択された見出し候補に関わる文字列を含む帳票データを、情報データ情報31から検索する。
かかる構成によれば、帳票検索装置4は、検索キーワードに対応する見出し候補を探索した後、探索の正当性が低い見出し候補をユーザに知らせることができ、当該見出し候補を含んだ帳票の確認を促すことができる。
ところで、上記の実施例1では、帳票検索装置1は、帳票データ情報記憶部31に、帳票を構成するデータの文字列や描画位置を含む描画データをあらかじめ記憶した帳票データ情報記憶部31を用いる場合を説明した。本発明はこれに限定されるものではなく、帳票検索装置5は、紙帳票を文書スキャナでスキャンされた画像データから作成された描画データを格納した帳票データ情報記憶部31を用いても良い。
そこで、実施例5では、帳票検索装置5が、紙帳票を文書スキャナでスキャンされた画像データから作成された描画データを格納した帳票データ情報記憶部31を用いる場合を説明する。
まず、実施例5に係る帳票検索装置5の構成について図19を参照しながら説明する。図19は、実施例5に係る帳票検索装置の構成を示す機能ブロック図である。なお、図1に示す帳票検索装置1と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例1と実施例5とが異なるところは、制御部20に帳票データ情報作成部71および記憶部30に帳票画像情報記憶部72を追加した点にある。
帳票データ情報作成部71は、例えばOCR技術を用いて、帳票画像情報記憶部72に含まれた各帳票の画像データから複数の描画データを抽出して、抽出した各描画データを帳票データ情報記憶部31の形式に変換して、帳票データを作成する。ここで、描画データは、例えば、文字列の文字コードおよび描画位置や、罫線の始点および終点の描画位置を指す。
また、帳票データ情報作成部71は、作成した帳票データを帳票データ情報記憶部31に格納する。
帳票画像情報記憶部72には、紙帳票を文書スキャナでスキャンされた画像データが帳票ごとに記憶されている。例えば、画像データは、JPEG(Joint Photographic Experts Group)、ビットマップまたはPDF(Portable Document Format)で表された帳票である。
以上のように本実施例5によれば、帳票検索装置5は、帳票内の複数の文字列およびその文字列の描画位置を帳票ごとに記憶する帳票データ情報記憶部31を備え、OCR技術を用いて帳票画像情報記憶部72に記憶されている画像データから複数の文字列およびその文字列の描画位置を含む描画情報を作成して、作成した描画情報を帳票データ情報記憶部31に帳票ごとに格納する。そして、帳票検索装置5は、この情報データ情報31に記憶された各帳票データ内の文字列の中から帳票を検索する条件の一部を成す検索キーワードを含む文字列を抽出する。そして、帳票検索装置5は、抽出された文字列の描画位置に基づいて、当該文字列が抽出された帳票データから、当該文字列に対応する見出し候補を探索する。そして、帳票検索装置5は、探索された見出し候補と当該見出し候補に対応する文字列とを対応付けた見出し候補情報を生成し、生成された見出し候補情報を表示出力する。さらに、帳票検索装置5は、表示出力された見出し候補情報の中から所定の操作によって選択された見出し候補に関わる文字列を含む帳票データを、情報データ情報31から検索する。
かかる構成によれば、帳票検索装置5は、帳票のファイル形式が例えばPDF等画像データであったとしても、画像データから作成された描画情報を帳票データ情報記憶部31に記憶しているため、帳票のファイル形式がテキストである場合と同様に帳票検索処理を実行することができ、検索要求に合致した帳票を漏れがなく検索することができる。
また、帳票検索装置5は、帳票データ内の複数の文字列に対して見出しの文字列とこれに対応する文字列との関係を示す項目定義情報がなくても、検索要求に合致した帳票データを検索することができ、事前に項目定義情報を生成する手間がかからないという効果がある。特に、帳票データには、例えば「住所」、「お住まい」等の表記に揺れのある見出しが一般的に多数存在するため、これらを事前に項目定義情報に定義する手間がなくなり、事前に行うべき作業が軽減される。
また、帳票検索装置5は、検索キーワードに対応する見出し候補の探索を、仮に誤った場合であっても、検索要求に合致した見出し候補を1度選択させるだけで、検索要求に合致した帳票を検索することができ、事前に項目定義情報を生成する場合と比較して、格段に作業を軽減できるだけでなく、帳票の検索精度を向上させることができる。
さらに、帳票検索装置5は、項目定義情報を用いて、検索要求どおりの見出しの文字列を探索するか否か、さらに探索要求どおりの帳票を検索するか否かを、事前に確認する手間がなくなるため、事前に行うべき作業を軽減できる。
なお、上記実施例において、見出し候補探索部22は、検索キーワードを含む文字列の描画位置に基づいて、見出し候補を探索するようにしたが、見出し候補となり得る文字列群を示す見出し文字列リストを事前に記憶部30に格納しておいても良い。見出し候補となり得る文字列は、例えば、「住所」、「現住所」、「お住まい」、「氏名」、「お名前」等がある。この場合、見出し候補探索部22は、検索キーワードを含む文字列の描画位置の周辺に存在する文字列のうち、当該見出し文字列リストに含まれる文字列を見出し候補とする。
また、上記実施例において、見出し候補探索部22は、検索キーワードを含む文字列の描画位置に基づいて、見出し候補を探索するようにしたが、人名辞書、住所辞書および商品名辞書等の辞書と、それらの辞書に対応する見出し候補の文字列を事前に記憶部30に格納しておいても良い。この場合、見出し候補探索部22は、検索キーワードがそれらの辞書に登録されている単語を含んでいるとき、その単語に対応する見出し文字列を検索キーワードを含む文字列の描画位置の周辺から探索して、探索した文字列を見出し候補とする。
以上、本発明の実施例について説明したが、本実施例によって本発明の技術的思想の範囲が限定されるものではなく、特許請求の範囲に記載した技術的範囲の範囲を逸脱しない限り、各種様々な実施例が実施可能であることは言うまでもない。また、本実施例に記載した効果は、これに限定されるものではない。
また、図示した帳票検索装置1の各構成要素は機能概念的に記載したものであって、必ずしも物理的に図示のように構成されるものではなく、その帳票検索装置1の具体的な態様は図示のものに限縮されるものでは到底ないことは言うまでもない。
なお、帳票検索装置1〜5にて行われる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)(またはMPU(Micro Processing Unit)、MCU(Micro Controller Unit)などのマイクロ・コンピュータ)および当該CPU(またはMPU、MCUなどのマイクロ・コンピュータ)にて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現されても良い。
また、帳票検索装置1〜5にて行われる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)(またはMPU(Micro Processing Unit)、MCU(Micro Controller Unit)などのマイクロ・コンピュータ)および当該CPU(またはMPU、MCUなどのマイクロ・コンピュータ)にて解析実行させるために、コンピュータ読み取り可能な記録媒体に記録されるものであっても良く、この場合でも、上記実施例と同様の効果が得られることは言うまでもない。
以上の実施例に係る実施形態に関し、さらに以下の付記を開示する。
(付記1)帳票内の複数の文字列およびその文字列の描画位置を帳票ごとに記憶する記憶手段と、
前記記憶手段に記憶された各帳票内の文字列の中から、帳票を検索する条件の一部を成す検索キーワードを含む文字列およびその文字列の描画位置を抽出する抽出手段と、
前記抽出手段によって抽出された文字列の描画位置に基づいて、当該文字列が抽出された帳票から、当該文字列に対応する見出し候補を探索する探索手段と、
前記探索手段によって探索された見出し候補と当該見出し候補に対応する文字列とを帳票ごとに対応付ける見出し候補情報を生成し、生成された見出し候補情報を出力する出力手段と、
前記出力手段によって出力された前記見出し候補情報の中から、所定の操作によって選択された見出し候補に関わる文字列を含む帳票を、前記記憶手段から検索する帳票検索手段と、
を有することを特徴とする帳票検索装置。
(付記2)前記探索手段は
所定順方向に配列された文字列であって前記抽出手段によって抽出された文字列と同一列上にある文字列のうち、当該抽出された文字列の描画位置から前方に配列された他の文字列を、見出し候補として探索することを特徴とする付記1に記載の帳票検索装置。
(付記3)前記探索手段は、
前記帳票が2次元の行および列によって描画位置が表されるとき、前記抽出手段によって抽出された文字列の描画位置から行方向の最前方の描画位置または列方向の最前方の描画位置の文字列を、見出し候補として探索することを特徴とする付記1に記載の帳票検索装置。
(付記4)前記所定の操作は、
前記出力手段によって出力された前記見出し候補情報の中から、見出し候補を選択させる選択操作であることを特徴とする付記1から付記3のいずれか1つに記載の帳票検索装置。
(付記5)前記探索手段によって探索された見出し候補における探索の正当性を評価する見出し候補評価手段を有し、
前記出力手段は、
前記見出し候補評価手段の評価の結果、前記探索手段によって探索された見出し候補における探索の正当性が低いと評価された場合に、前記見出し候補に対応する見出し候補情報に警告メッセージを含んで出力することを特徴とする付記1に記載の帳票検索装置。
(付記6)前記見出し候補評価手段は、
前記見出し候補と同一の文字列が、当該見出し候補を含む帳票に、当該見出し候補の描画位置以外に存在するか否かを判定して、前記見出し候補と同一の文字列が、当該見出し候補の描画位置以外に存在すると判定された場合に、当該見出し候補における探索の正当性が低いと評価することを特徴とする付記5に記載の帳票検索装置。
(付記7)前記見出し候補評価手段は、
前記検索キーワードを含む文字列が、前記見出し候補に対応する所定の正規表現であるか否かを判定して、前記検索キーワードを含む文字列が、前記見出し候補に対応する所定の正規表現でないと判定された場合に、当該見出し候補における探索の正当性が低いと評価することを特徴とする付記5に記載の帳票検索装置。
(付記8)前記出力手段によって出力された前記見出し候補情報のうち誤りがあった見出し候補を訂正するために、当該見出し候補の文字列に関わる複数の描画位置および当該見出し候補に対応する文字列に関わる複数の描画位置を選択させる訂正選択手段と、
前記訂正選択手段によって選択された見出し候補の文字列に関わる複数の描画位置を、当該見出し候補に対応する文字列に関わる複数の描画位置と対応付けて記憶する訂正情報記憶手段とを有することを特徴とする付記1に記載の帳票検索装置。
(付記9)前記探索手段は、
前記抽出手段によって抽出された文字列の描画位置が、前記訂正記憶手段に記憶された見出し候補に対応する文字列に関わる複数の描画位置から表される閉領域に含まれている場合には、当該文字列に対応付けられた見出し候補を探索することを特徴とする付記8に記載の帳票検索装置。
(付記10)帳票の画像データからOCR技術を用いて、複数の文字列およびその文字列の描画位置を含む描画情報を生成して、生成された描画情報を前記記憶手段に記憶する描画情報生成手段を有することを特徴とする付記1に記載の帳票検索装置。
(付記11)前記出力手段は、
前記見出し候補情報に各見出し候補情報に対応付けられた帳票の縮小画像を含むことを特徴とする付記1に記載の帳票探索装置。
(付記12)帳票内の複数の文字列およびその文字列の描画位置を帳票ごとに記憶媒体に記憶する記憶手順と、
前記記憶手順に記憶された各帳票内の文字列の中から、帳票を検索する条件の一部を成す検索キーワードを含む文字列およびその文字列の描画位置を抽出する抽出手順と、
前記抽出手順によって抽出された文字列の描画位置に基づいて、当該文字列が抽出された帳票から、当該文字列に対応する見出し候補を探索する探索手順と、
前記探索手順によって探索された見出し候補と当該見出し候補に対応する文字列とを帳票ごとに対応付ける見出し候補情報を生成し、生成された見出し候補情報を出力する出力手順と、
前記出力手順によって出力された前記見出し候補情報の中から、所定の操作によって選択された見出し候補に関わる文字列を含む帳票を、前記記憶手順によって記憶された前記記憶媒体から検索する帳票検索手順と、
をコンピュータに実行させることを特徴とする帳票検索プログラム。
(付記13)前記探索手順は、
所定順方向に配列された文字列であって前記抽出手段によって抽出された文字列と同一列上にある文字列のうち、当該抽出された文字列の描画位置から前方に配列された他の文字列を、見出し候補として探索することを特徴とする付記12に記載の帳票検索プログラム。
(付記14)前記探索手順は、
前記帳票が2次元の行および列によって描画位置が表されるとき、前記抽出手順によって抽出された文字列の描画位置から行方向の最前方の描画位置または列方向の最前方の描画位置の文字列を、見出し候補として探索することを特徴とする付記12に記載の帳票検索プログラム。
(付記15)前記所定の操作は、
前記出力手順によって出力された前記見出し候補情報の中から、見出し候補を選択させる選択操作であることを特徴とする付記12から付記14のいずれか1つに記載の帳票検索プログラム。
(付記16)前記探索手順によって探索された見出し候補における探索の正当性を評価する見出し候補評価手順を含み、
前記出力手順は、
前記見出し候補評価手段の評価の結果、前記探索手順によって探索された見出し候補における探索の正当性が低いと評価された場合に、前記見出し候補に対応する見出し候補情報に警告メッセージを含んで出力することを特徴とする付記12に記載の帳票検索プログラム。
(付記17)前記見出し候補評価手順は、
前記見出し候補と同一の文字列が、当該見出し候補を含む帳票に、当該見出し候補の描画位置以外に存在するか否かを判定して、前記見出し候補と同一の文字列が、当該見出し候補の描画位置以外に存在すると判定された場合に、当該見出し候補における探索の正当性が低いと評価することを特徴とする付記16に記載の帳票検索プログラム。
(付記18)前記見出し候補評価手順は、
前記検索キーワードを含む文字列が、前記見出し候補に対応する所定の正規表現であるか否かを判定して、前記検索キーワードを含む文字列が、前記見出し候補に対応する所定の正規表現でないと判定された場合に、当該見出し候補における探索の正当性が低いと評価することを特徴とする付記16に記載の帳票検索プログラム。
(付記19)前記出力手順によって出力された前記見出し候補情報のうち誤りがあった見出し候補を訂正するために、当該見出し候補の文字列に関わる複数の描画位置および当該見出し候補に対応する文字列に関わる複数の描画位置を選択させる訂正選択手順と、
前記訂正選択手順によって選択された見出し候補の文字列に関わる複数の描画位置を、当該見出し候補に対応する文字列に関わる複数の描画位置と対応付けて記憶媒体に記憶する訂正情報記憶手順とを含むことを特徴とする付記12に記載の帳票検索プログラム。
(付記20)前記探索手順は、
前記抽出手順によって抽出された文字列の描画位置が、前記訂正記憶手順によって記憶された前記記憶媒体に記憶された見出し候補に対応する文字列に関わる複数の描画位置から表される閉領域に含まれている場合には、当該文字列に対応付けられた見出し候補を探索することを特徴とする付記19に記載の帳票検索プログラム。
(付記21)帳票の画像データからOCR技術を用いて、複数の文字列およびその文字列の描画位置を含む描画情報を生成して、生成された描画情報を、前記記憶手順によって記憶された前記記憶媒体に記憶する描画情報生成手順を含むことを特徴とする付記12に記載の帳票検索プログラム。
(付記22)前記出力手順は、
前記見出し候補情報に各見出し候補情報に対応付けられた帳票の縮小画像を含むことを特徴とする付記12に記載の帳票検索プログラム。
(付記23)帳票検索装置が帳票を検索する帳票検索方法であって、
帳票内の複数の文字列およびその文字列の描画位置を帳票ごとに記憶媒体に記憶する記憶ステップと、
前記記憶ステップに記憶された各帳票内の文字列の中から、帳票を検索する条件の一部を成す検索キーワードを含む文字列およびその文字列の描画位置を抽出する抽出ステップと、
前記抽出ステップによって抽出された文字列の描画位置に基づいて、当該文字列が抽出された帳票から、当該文字列に対応する見出し候補を探索する探索ステップと、
前記探索ステップによって探索された見出し候補と当該見出し候補に対応する文字列とを帳票ごとに対応付ける見出し候補情報を生成し、生成された見出し候補情報を出力する出力ステップと、
前記出力ステップによって出力された前記見出し候補情報の中から、所定の操作によって選択された見出し候補に関わる文字列を含む帳票を、前記記憶ステップによって記憶された前記記憶媒体から検索する帳票検索ステップと、
を含むことを特徴とする帳票検索方法。
(付記24)前記探索ステップは、
所定順方向に配列された文字列であって前記抽出手段によって抽出された文字列と同一列上にある文字列のうち、当該抽出された文字列の描画位置から前方に配列された他の文字列を、見出し候補として探索することを特徴とする付記23に記載の帳票検索方法。
(付記25)前記探索ステップは、
前記帳票が2次元の行および列によって描画位置が表されるとき、前記抽出ステップによって抽出された文字列の描画位置から行方向の最前方の描画位置または列方向の最前方の描画位置の文字列を、見出し候補として探索することを特徴とする付記23に記載の帳票検索方法。
(付記26)前記所定の操作は、
前記出力ステップによって出力された前記見出し候補情報の中から、見出し候補を選択させる選択操作であることを特徴とする付記23から付記25のいずれか1つに記載の帳票検索方法。
(付記27)前記探索ステップによって探索された見出し候補における探索の正当性を評価する見出し候補評価ステップを含み、
前記出力ステップは、
前記見出し候補評価手段の評価の結果、前記探索ステップによって探索された見出し候補における探索の正当性が低いと評価された場合に、前記見出し候補に対応する見出し候補情報に警告メッセージを含んで出力することを特徴とする付記23に記載の帳票検索方法。
(付記28)前記見出し候補評価ステップは、
前記見出し候補と同一の文字列が、当該見出し候補を含む帳票に、当該見出し候補の描画位置以外に存在するか否かを判定して、前記見出し候補と同一の文字列が、当該見出し候補の描画位置以外に存在すると判定された場合に、当該見出し候補における探索の正当性が低いと評価することを特徴とする付記27に記載の帳票検索方法。
(付記29)前記見出し候補評価ステップは、
前記検索キーワードを含む文字列が、前記見出し候補に対応する所定の正規表現であるか否かを判定して、前記検索キーワードを含む文字列が、前記見出し候補に対応する所定の正規表現でないと判定された場合に、当該見出し候補における探索の正当性が低いと評価することを特徴とする付記27に記載の帳票検索方法。
(付記30)前記出力ステップによって出力された前記見出し候補情報のうち誤りがあった見出し候補を訂正するために、当該見出し候補の文字列に関わる複数の描画位置および当該見出し候補に対応する文字列に関わる複数の描画位置を選択させる訂正選択ステップと、
前記訂正選択ステップによって選択された見出し候補の文字列に関わる複数の描画位置を、当該見出し候補に対応する文字列に関わる複数の描画位置と対応付けて記憶する訂正情報記憶ステップとを含むことを特徴とする付記23に記載の帳票検索方法。
(付記31)前記探索ステップは、
前記抽出ステップによって抽出された文字列の描画位置が、前記訂正記憶ステップによって記憶された前記記憶媒体に記憶された見出し候補に対応する文字列に関わる複数の描画位置から表される閉領域に含まれている場合には、当該文字列に対応付けられた見出し候補を探索することを特徴とする付記30に記載の帳票検索方法。
(付記32)帳票の画像データからOCR技術を用いて、複数の文字列およびその文字列の描画位置を含む描画情報を生成して、生成された描画情報を、前記記憶ステップによって記憶された前記記憶媒体に記憶する描画情報生成ステップを含むことを特徴とする付記23に記載の帳票検索方法。
(付記33)前記出力ステップは、
前記見出し候補情報に各見出し候補情報に対応付けられた帳票の縮小画像を含むことを特徴とする付記23に記載の帳票検索方法。