説明

項目判定システムおよび項目判定プログラム

【課題】複数の文字列の各々の項目種別を的確に判定する技術を提供する。
【解決手段】レコード抽出部12により複数のレコードからなるリスト情報から一のレコードが抽出され、文字列分割部13により前記レコードが各々の文字列に分割され、文字情報取得部14により前記分割された文字列の文字情報が取得される。項目種別判定部15は、前記文字列から特定文字列を特定し、前記レコードにおいて当該特定文字列に隣接する文字列である隣接文字列を当該特定文字列に関連する関連文字列として特定する。その後、項目種別判定部15は、当該特定文字列の文字情報と当該関連文字列の文字情報とに基づき当該特定文字列と当該関連文字列の項目種別を判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、レコードを構成する複数の文字列の各々の項目種別を判定する項目判定技術に関する。
【背景技術】
【0002】
従来、帳票や紙媒体に出力された表(以下、表等と称する)をデジタル画像として読み取り、OCR(Optical Character Recognition)技術を用いて文字データ化する処理が行われている。このような場合には、この文字データを有効に活用するためには、各々の文字データがいかなる項目のデータであるかが判定されなければならない。そのため、表等から取得した文字データの項目種別を判定する技術に関する様々な検討が行われている。例えば、文書画像に対して文字認識を行い、文字認識結果から抽出すべき項目名に該当する文字列を抽出し、文書画像において項目名に該当する文字列の近傍位置からその項目名に対応する項目値の文字列を抽出し、その項目値の文字列を項目名と対応付ける技術がある(特許文献1参照)。この技術では、項目名の近傍に存在する文字列をその項目名に対応する項目値であるとして取得することにより、項目名と項目値の関連付けを行うことができる。
【0003】
【特許文献1】特開2007−233913号公報(段落番号0009、図4)
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の技術では、文書画像内に項目名の存在が必須であり、項目名が存在しない場合には、項目名と項目値とを関連付けることはできない。
【0005】
本発明の課題は、上記実状に鑑み、複数の文字列の各々の項目種別を的確に判定する技術を提供することである。
【課題を解決するための手段】
【0006】
前記課題を解決するために、本発明の項目判定システムは、レコードを構成する複数の文字列の各々の項目種別を判定する項目判定システムにおいて、複数のレコードからなるリスト情報から前記レコードを取得するレコード抽出部と、前記レコードを各々の文字列に分割する文字列分割部と、前記分割された文字列の文字情報を取得する文字情報取得部と、前記文字列から特定文字列を特定し、前記レコードにおいて当該特定文字列に隣接する文字列である隣接文字列を当該特定文字列に関連する関連文字列として特定すると共に、当該特定文字列の文字情報と当該関連文字列の文字情報とに基づき当該特定文字列と当該関連文字列の項目種別を判定する項目種別判定部と、を備えている。
【0007】
この構成では、レコードから取得された文字列から特定文字列を特定し、前記レコード中において特定文字列と隣接する隣接文字列が特定文字列と関連のある関連文字列として特定され、特定文字列の文字情報と関連文字列の文字情報とに基づき、各々の項目種別が判定される。通常、レコード中では、関連のある項目は隣接して配置されることが多い。そのため、項目種別を判定するに際して、特定文字列の文字情報と特定文字列に関連する関連文字列の文字情報を用いることにより、特定文字列の文字情報のみに基づいて項目種別を判定する場合に比べ、精度の高い項目種別の判定を行うことができる。
【0008】
また、本発明の項目判定システムの好適な実施形態の一つでは、特定の項目種別に対応する文字情報と当該特定の項目種別に関連する関連項目種別に対応する文字情報とを関連付けて記録する判定基準記録部を備え、前記項目種別判定部は、前記特定文字列の文字情報と関連文字列の文字情報に基づき前記判定基準記録部から前記特定の項目種別と前記関連項目種別とを検索し、当該検索結果に応じて当該特定文字列の項目種別と当該関連文字列の項目種別とを判定する。
【0009】
さらに、特定の項目種別の文字列と関連項目種別の文字列とは相互に変換が可能な場合がある。例えば、“氏名”と“氏名かな”や“郵便番号”と“住所”である。このような場合には、変換された文字列に基づき関連文字列を特定すると、項目種別の判定精度を向上させることができる。そのため、本発明の項目判定システムの好適な実施形態の一つでは、前記文字情報は、前記文字列を変換することにより得られる変換情報を含み、前記項目種別判定部は、前記特定文字列と前記隣接文字列の前記変換情報とに基づき前記文字列と前記隣接文字列とが関連する文字列であると特定する。
【0010】
上述した本発明による項目判定システムの技術的特徴は、同様の項目判定プログラムにも適用可能である。例えば、レコードを構成する複数の文字列の各々の項目種別を判定する項目判定システムのための項目判定プログラムにおいて、複数のレコードからなるリスト情報から前記レコードを取得する機能と、前記レコードを各々の文字列に分割する機能と、前記分割された文字列の文字情報を取得する機能と、前記文字列から特定文字列を特定し、前記レコードにおいて当該特定文字列に隣接する文字列である隣接文字列を当該特定文字列に関連する関連文字列として特定すると共に、当該特定文字列の文字情報と当該関連文字列の文字情報とに基づき当該特定文字列と当該関連文字列の項目種別を判定する項目種別判定機能と、をコンピュータに実現する。当然ながら、このような項目判定プログラムも上述した項目判定システムで述べた作用効果を得ることができ、さらに上述した付加的技術を組み込むことも可能である。
【発明を実施するための最良の形態】
【0011】
〔第1実施形態〕
以下、図面を用いて本発明の第1実施形態を説明する。本実施形態における本発明の項目判定システムは、汎用コンピュータでなる端末Cにより構成されており、ディスプレイや入力機器(キーボード、マウス等)を備えている。
【0012】
図1は、本発明の項目判定システムを構成する端末Cの機能ブロック図を示している。端末Cは、リスト情報Lを取得するリスト情報取得部11、リスト情報取得部11により取得されたリスト情報Lから一のレコードを抽出するレコード抽出部12、レコード抽出部12により抽出されたレコードを文字列に分割する文字列分割部13、文字列分割部13により分割された各々の文字列の文字情報を取得する文字情報取得部14、文字情報取得部14により取得された文字情報に基づき文字列の項目種別を判定する項目種別判定部15、項目種別判定部15により判定された項目種別に基づき文字列と項目種別とを関連付けた統合情報を生成する統合情報生成部16、項目種別の判定基準を記録する判定基準記録部22を備えている。
【0013】
通常、リスト情報取得部11、レコード抽出部12、文字列分割部13、文字情報取得部14、項目種別判定部15、統合情報生成部16は、その処理を実行する手段(プログラムやモジュール等)がハードウェアに読み込まれることでその処理が実行されるが、これらをハードウェアとの組み合わせにより構成しても良いし、ロジック等を組み合わせたハードウェアのみで構成しても構わない。
【0014】
なお、図4に示すように、本発明におけるリスト情報Lとは、1以上のレコードRの集合であり、レコードRとは複数の文字列Sにより構成された情報である。例えば、リスト情報Lが住所録の場合には、各人の住所データ群がレコードRであり、各レコードRは住所データ群を構成する住所、氏名、電話番号等を表す文字列Sから構成されている。以下の説明では、リスト情報Lを住所録として説明するが、当然ながら、本発明は、他の情報に対しても適用可能である。
【0015】
リスト情報取得部11は、リスト情報Lを取得する。元々の情報が、紙等に印字された印刷媒体の場合には、スキャナ等によりデジタル画像データが取得され、公知のOCRにより、文字データとしてのリスト情報Lが取得される。また、元々の情報が電子データの場合には、そのままの電子データをリスト情報Lとして取得する。前者の場合には、OCRの有する罫線認識機能により罫線位置が認識され、罫線位置に対応する文字として“,”が用いられる。すなわち、“,”が文字列Sに対するセパレータとして使用される。例えば、図2に示す住所録からは、図4に示すような“青空 太郎,あおぞら たろう,532-0003,大阪府・・・1−2,おおさかふ・・・1−2,06-6123-4567\n大空 花子,おおぞら はなこ,100-8915,東京都・・・3−4,とうきょうと・・・3−4,03-3456-7890\n・・・”がリスト情報Lとして取得される。なお、同一行の認識文字の最後に“\n”(改行文字)を付加しており、この改行文字はレコードRのデリミタとして用いられる。取得したリスト情報Lは、レコード抽出部12に送られる。なお、本実施形態では、上述のセパレータを用いるが、これに限定されるものではなく、タブ文字や所定の組み合わせ文字列等、本発明の目的を達する限りにおいて他の文字等を用いることができる。
【0016】
レコード抽出部12は、リスト情報取得部11により取得されたリスト情報Lから一のレコードRを抽出する。上述のように、リスト情報LがOCRを用いて取得された場合には、各々のレコードRは改行文字により区切られているため、レコード抽出部12はリスト情報Lの先頭もしくは改行文字の次の文字から改行文字までを一のレコードとして抽出する。また、リスト情報Lが電子データとして取得された場合には、電子データには様々なフォーマットが存在するため、その電子データのフォーマットに従いレコードRを抽出する。例えば、電子データがCSV(Comma-Separated Values)形式の場合には、上述同様、リスト情報Lの先頭もしくは改行文字の次の文字から改行文字までを一のレコードとして抽出する。抽出したレコードRは、文字列分割部13に送られる。
【0017】
文字列分割部13は、レコード抽出部12により抽出された一のレコードRをセパレータに基づき各々の文字列Sに分割する。このとき、各々の文字列Sには、レコードR中における文字列Sの位置を表す項目情報が付加される。
【0018】
文字情報取得部14は、公知の手法により、各々の文字列Sの文字情報を取得する。なお、本実施形態における文字情報とは、漢字、かな、数字、英字等の文字種別を用いる。この場合には、文字種別毎に文字コードの範囲が特定できるため、文字コードに基づき文字種別を取得することができる。文字情報取得部14は、文字列S、文字列Sの項目情報および文字列Sの文字情報を項目種別判定部15に送る。
【0019】
項目種別判定部15は、文字情報取得部14から取得した文字列Sから特定文字列を特定し、レコードR中においてその特定文字列に隣接する文字列(以下、隣接文字列と称する)を特定文字列に関連する関連文字列として特定する。さらに、特定文字列の文字情報、関連文字列の文字情報および判定基準記録部22に記録されている判定基準に基づき、特定文字列および関連文字列の項目種別を判定する。判定結果は、文字列Sと共に統合情報生成部16に送られる。
【0020】
統合情報生成部16は、文字列Sとその項目種別に基づき統合情報を生成する。統合情報とは、文字列Sとその文字列の項目種別が関連付けられた情報の総称である。
【0021】
以下、図3のフローチャートを用いて本発明の項目判定システムの処理の流れを説明する。なお、本実施形態では、図2に示す住所録の項目種別を判定するものとし、項目種別は、氏名、氏名ふりがな、郵便番号、住所、住所ふりがな、電話番号とする。
【0022】
まず、リスト情報取得部11は、リスト情報Lを取得する(#01)。図2の住所録が紙に印字されているとすると、操作者は、スキャナ(図示せず)に住所録が印字された用紙を載置した後、端末Cを操作し、デジタル画像データを取得する。取得されたデジタル画像データは、公知のOCR技術により文字データに変換される。このとき、OCRの機能により、図2の住所録中に存在する罫線が認識され、認識結果中では文字データ“,”として表される(図4上段参照)。なお、この“,”は以降の処理において、文字列Sのセパレータとして利用される。また、同一行に存在する文字の認識結果である文字データの後ろには改行文字“\n”が挿入される。このようにして取得されたリスト情報Lは、レコード抽出部12に送られる。
【0023】
リスト情報Lを取得したレコード抽出部12は、リスト情報Lの構造に基づき、一のレコードRを抽出する(#02)。本実施形態では、上述の処理により、改行文字“\n”がレコードRのデリミタとして機能している。したがって、レコード抽出部12は、リスト情報Lの先頭もしくは前回のレコードRの抽出処理後の残りのデータの先頭から改行文字“\n”までをレコードRとして抽出する。具体的には、1回目のレコード抽出では、“青空 太郎,あおぞら たろう,532-0003,大阪府・・・1−2,おおさかふ・・・1−2,06-6123-4567”が抽出され、2回目のレコードでは“大空 花子,おおぞら はなこ,100-8915,東京都・・・3−4,とうきょうと・・・3−4,03-3456-7890”が抽出される(図4の中段参照)。このようにして抽出された一のレコードRは、文字列分割部13に送られる。
【0024】
文字列分割部13は、レコード抽出部12から取得したレコードRを文字列Sに分割する(#03)。上述したように、本実施形態では、“,”が文字列Sのセパレータとして用いられているため、文字列分割部13は、セパレータ“,”に基づきレコードRを文字列Sに分割する(図4の下段参照)。このとき、文字列分割部13は、分割した文字列Sに対して、項目情報を付加する。本実施形態における項目情報とは、文字列SがレコードR中において何番目に位置するかを表す情報であり、例えば、文字列“青空 太郎”の項目情報は1、文字列“03-3456-7890”の項目情報は6となる。このようにして得られた文字列Sおよび項目情報は、文字情報取得部14に送られる。なお、以下の説明では、項目情報iを持つ文字列Sを文字列Si(i=1,2,・・・,6)と表記する。1番目のレコードRに対する処理ループでは、S1=“青空 太郎”、S2=“あおぞら たろう”、S3=“532-0003”、S4=“大阪府・・・1−2”、S5=“おおさかふ・・・1−2”、S6=“06-6123-4567”となる。
【0025】
文字列分割部13から文字列Siおよびそれらの項目情報を取得した文字情報取得部14は、公知の手法により、各々の文字列Siの文字情報を取得し(#04)、文字列Siおよび項目情報と共に項目種別判定部15に送る。なお、本実施形態では、文字情報として文字種別を用い、文字列Siの文字情報をIiとすると、上述の例では、I1=“漢字”、I2=“かな”、I3=“数字”、I4=“漢字+数字”、I5=“かな+数字”、I6=“数字”となる。
【0026】
項目種別判定部15では、まず一の文字列Sを特定文字列として特定する(#05)。本実施形態では、未処理の文字列Sのうち最も小さな項目情報を持つ文字列Sを特定文字列とする。すなわち、最初の処理ループでは、文字列S1=“青空 太郎”が特定文字列として特定される。
【0027】
次に、項目種別判定部15は、隣接文字列を特定文字列に関連する文字列S(以下、関連文字列と称する)として特定する(#06)。上述の例では、文字列S2=“あおぞら たろう”が関連文字列として特定される。なお、本実施形態では、隣接とは、完全に隣り合うことを指すが、所定間隔離れている場合にも隣接として扱って構わない。
【0028】
さらに、項目種別判定部15は、特定文字列の文字情報、関連文字列の文字情報および判定基準記録部22に記録されている判定基準に基づき、特定文字列の項目種別および関連文字列の項目種別を判定する(#07)。判定基準記録部22には、特定の項目種別に対応する文字情報とその特定の項目種別に関連する項目種別(以下、関連項目種別と称する)に対応する文字情報とが記録されている。ここで、関連とは、特定の項目種別の文字列と関連項目種別の文字列とがレコードR中において隣接する可能性が高い関係を言う。例えば、氏名と氏名ふりがな、郵便番号と住所等の関係である。ここで、判定基準記録部22に図5に示す判定基準が記録されているとする。上述の例では、特定文字列の文字情報が“漢字”、関連文字列の文字情報が“かな”として取得されているため、これらの文字情報を用いて判定基準を検索すると、第1文字情報が“漢字”、第2文字情報が“かな”である判定基準として、“氏名”−“氏名ふりがな”の関係が検索される。したがって、特定文字列の項目種別は“氏名”、関連文字列の項目種別は“氏名かな”と判定される。
【0029】
次に、項目種別判定部15は、未処理の文字列Sが存在するか否かを判定する(#08)。未処理の文字列が存在する場合(#08のYes分岐)には、次の特定文字列の特定を行う(#05)。上述の例の場合には、文字列S1およびS2の項目種別の判定が終了しているため、特定文字列として文字列S3、関連文字列として文字列S4が特定される(#06、#07)。この場合の文字情報I3およびI4は、それぞれ“数字”および“漢字+数字”であり、特定文字列および関連文字列の項目種別は、それぞれ“郵便番号”および“住所”と判定される。
【0030】
上述の処理は、未処理の文字列Sが存在しなくなるまで(#08のNo分岐)繰り返される。なお、上述の処理では、特定文字列とも関連文字列とも特定されていない文字列を次の特定文字列としたが、全ての文字列Sが必ず一度は特定文字列として特定されるような構成としても構わない。これらの処理により、文字列S1からS5までの項目種別が“氏名”、“氏名かな”、“郵便番号”、“住所”、“住所かな”として特定される。特定された項目種別は、文字列Sと共に統合情報生成部16に送られる。
【0031】
一のレコードRに対しての項目判定処理が完了すると、未処理のレコードRが存在するか否かが判定され(#09)、未処理レコードRが存在する場合(#09のYes分岐)には、次のレコードRが取得される(#02)。上述の例では、レコードRとして“大空 花子,おおぞら はなこ,987-6543,東京都・・・3−4,とうきょうと・・・3−4,03-3456-7890”が取得され、上述の処理が実行される。
【0032】
一方、全てのレコードRの処理が完了すると(#09のNo分岐)、統合情報生成部16は統合情報を生成する。
【0033】
〔第2実施形態〕
次に、本発明による項目判定システムの第2実施形態を説明する。図6は、本実施形態における機能ブロック図であり、文字情報の定義を記録する文字情報記録部21を備えている点で第1実施形態と異なっている。
【0034】
本実施形態における文字情報記録部21には、文字情報の定義として文字種別条件情報が記録されており、文字情報取得部14は、文字種別条件情報に基づき文字列Sの文字情報を取得する。本実施形態における文字種別条件情報とは、上述の文字種別をさらに細分化するための条件である。例えば、人名漢字の文字コードが文字種別条件情報として記録されており、公知の手法により、文字列Sの文字の文字情報(文字種別)が漢字として取得された際に、さらに文字種別条件情報に基づき、人名漢字か否かの情報を文字情報に含めることができる。なお、文字種別の細分化は、人名漢字に限定されるものではなく、漢字を漢数字等に、その他・外国語を英語、フランス語、韓国語、ロシア語、アラビア語等の各言語文字や記号を数学記号、音楽記号(♯、♭等)、情報通信関連文字(@等)等に細分化することもでる。
【0035】
次に、本実施形態の処理の流れを説明するが、第1実施形態と同様の処理の説明は省略する。まず、#01から#03までの処理により一のレコードRが取得され、文字列Siに分割される。
【0036】
文字列Siは、文字情報取得部14に送られ、第1実施形態と同様に、公知の方法により文字種別が判定され、文字情報として取得される。さらに、文字情報取得部14は、文字情報記録部21に記録されている文字種別条件情報に基づき、詳細な文字種別を判定し、文字情報に付加する(#04)。例えば、文字列S1=“青空 太郎”は、人名漢字“郎”を含んでいるため、文字列S1の文字情報は、“人名漢字を含む漢字”として取得される。このようにして取得された文字情報は、文字列Siと共に項目種別判定部15に送られる。
【0037】
文字列Siと文字情報を取得した項目種別判定部15は、判定基準記録部22に記録されている判定基準に基づき、各文字列Siの項目種別を判定する(#05〜#07)。上述のように、本実施形態における文字情報は、第1実施形態における文字情報に比べて細分化されている。したがって、本実施形態で用いる判定基準の文字情報も細分化されている。例えば、図5の1番目の判定基準は、第1文字情報が“漢字”に代えて“人名漢字を含む漢字”となる。このとき、特定文字列としてS1=“青空 太郎”、関連文字列としてS2=“あおぞら たろう”が特定されているとすると、上述のようにS1の文字情報は“人名漢字を含む漢字”であり、S2の文字情報は“かな”であるため、これらの文字種別は、“氏名”と“氏名かな”であると判定される。
【0038】
本実施形態では、第1実施形態に比べて細分化した文字種別を文字情報として用い、細分化した文字種別に応じた判定基準を用いることにより、より的確に文字種別を判定することができる。
【0039】
〔第3実施形態〕
次に、図面を用いて本発明による項目判定システムの第3実施形態を説明する。本実施形態における機能ブロック図は、第1実施形態と同様であるため、詳細な説明は省略する。なお、本実施形態における文字情報は、文字数であり、判定基準記録部22には、図7に示すような判定基準が記録されている。
【0040】
次に、図3のフローチャートを用いて、本実施形態における処理の流れを説明するが、第1実施形態と同様の処理の説明は省略する。
【0041】
まず、#01から#03までの処理により一のレコードRが取得され、文字列Siに分割される。1回目の処理ループの場合のレコードRは“青空 太郎,あおぞら たろう,532-0003,大阪府・・・1−2,おおさかふ・・・1−2,06-6123-4567”であり、分割された文字列は、S1=“青空 太郎”、S2=“あおぞら たろう”、S3=“532-0003”、S4=“大阪府・・・1−2”、S5=“おおさかふ・・・1−2”、S6=“06-6123-4567”である。
【0042】
文字列分割部13から上述の文字列を取得した文字情報取得部14は、各々の文字列の文字情報を取得する(#04)。上述したように、本実施形態では文字情報として文字数を用いる。そのため、文字情報取得部14は、公知の方法により各文字列Siの文字数を計数する。このとき、空白やハイフン等の記号は計数されない。上述の例では、I1=4、I2=7、I3=7、I4=15、I5=27、I6=10となる。なお、本実施形態では、空白やハイフン等の記号は計数しないが、計数する構成としてもよく、その場合には、判定基準を適切に修正しておけばよい。
【0043】
次に、#05および#06の処理により、特定文字列としてS1=“青空 太郎”、関連文字列としてS2=“あおぞら たろう”が特定される。さらに、項目種別判定部15は、特定文字列の文字情報I1=4および関連文字列の文字情報I1=7に基づき、判定基準記録部22を検索することにより、第1行目の判定基準を取得する。したがって、文字列S1=“青空 太郎”の項目種別は“氏名”、文字列S2=“あおぞら たろう”の項目種別は“氏名かな”と判定される(#07)。
【0044】
未処理文字列が存在する場合(#08のYes分岐)には、処理は#05に戻り、上述の処理が行われ、特定文字列がS3=“532-0003”、関連文字列がS4=“大阪府・・・1−2”と特定された際には、文字列S3=“532-0003”の項目種別は“郵便番号”、文字列S4=“大阪府・・・1−2”の項目種別は“住所”と判定される。
【0045】
全文字列Sの処理が完了すると(#08のNo分岐)、未処理レコードの有無が判定され(#09)、未処理レコードが存在する場合(#09のYes分岐)には、処理が#02に戻り、上述の処理が繰り返される。
【0046】
〔第4実施形態〕
次に、本発明による項目判定システムの第4実施形態を説明する。本実施形態における機能部は第2実施形態と同様であるが、文字情報が変換情報である点において第2実施形態と異なっている。なお、本実施形態における変換情報とは、所定の変換ルールに基づき変換された文字列とそのときの変換種別の対であり、文字情報記録部21には所定の変換ルールが記録されている。本実施例では、図8に示すような、漢字−かな、住所−郵便番号、住所−電話番号の相互の変換ルールを用いているが、他の変換ルールを用いても構わず、判定する項目種別により適宜変更可能である。また、本実施形態における隣接とは、レコードRにおいて完全に隣り合う場合だけでなく、所定範囲離れている場合も含んでいる。
【0047】
以下に、図3のフローチャートに基づいて本実施形態における処理の流れを説明する。1回目の処理ループでは、#01から#03までの処理により、S1=“青空 太郎”、S2=“あおぞら たろう”、S3=“532-0003”、S4=“大阪府・・・1−2”、S5=“おおさかふ・・・1−2”、S6=“06-6123-4567”が得られる。
【0048】
文字情報取得部14は、文字情報記録部21に記録されている所定の変換ルールに基づき、各々の文字列Siの文字情報を取得する。例えば、文字列S1=“青空 太郎”の場合には、被変換文字列を“青空”および“太郎”として、図8の変換ルールを検索すると、変換文字列“あおぞら”および“たろう”が得られ、そのときの変換種別は“氏名→氏名かな”である。したがって、文字列S1の文字情報I1は、変換文字列と変換種別の対[“あおぞら たろう”,“氏名→氏名かな”]として得られる。同様に、文字列S4=“大阪府・・・1−2”の場合には、“532-0003”および“おおさかふ・・・1−2”が文字情報として取得され、そのときの変換種別はそれぞれ“住所→郵便番号”、“住所→住所かな”である。なお、文字列S4のように、複数の変換文字列が得られる場合には、得られた変換文字列の集合を文字情報とし、以下の説明では“{”および“}”により集合を表す。なお、文字情報記録部21を用いずに、文字変換ソフトウェアを用いて被変換文字列を変換し、その変換結果に基づき、変換種別を取得する構成としても構わない。
【0049】
上述の処理により取得された文字情報I1=[“あおぞら たろう”,“氏名→氏名かな”]、I2=[“青空 太郎”,“氏名かな→氏名”]、I3=[“大阪府・・・”,“郵便番号→住所”]、I4={[“532-0003”,“住所→郵便番号”],[“おおさかふ・・・1−2”,“住所→住所かな”]}、I5=[“大阪府・・・1−2”,“住所かな→住所”]、I6=[“大阪府”,“電話番号→住所”]は、項目情報判定部14に送られる。
【0050】
上述の文字情報Iiを取得した項目種別判定部15は、特定文字列を特定し(#05)、特定文字列と隣接文字列の文字情報に基づき関連文字列を特定する(#06)。具体的には、特定文字列の項目情報との差が所定範囲以内の項目情報を持つ隣接文字列のうち、特定文字列と一致する変換情報(文字情報)を持つものが関連文字列として特定される。なお、関連文字の特定は、一致する場合だけでなく、変換情報が含まれる場合や所定の文字数以上が一致する等を条件として行っても構わない。
【0051】
なお、文字情報が集合の場合には、集合の各要素に対して比較が行われる。また、関連文字列を特定する際に、特定文字列の変換情報(文字情報)と隣接文字列とを比較しても構わない。
【0052】
その後、項目種別判定部15は、特定文字列の文字情報と関連文字列の文字情報とに基づき、特定文字列および関連文字列の項目種別を判定する(#07)。具体的には、特定文字列の文字情報の変換文字列と、関連文字列が比較され、一致する場合には、その文字情報の変換種別に基づき特定文字列の項目種別と関連文字列の項目種別が判定される。例えば、特定文字列がS1=“青空 太郎”、関連文字列がS2=“あおぞら たろう”として特定された場合には、文字情報I1の変換文字列“あおぞら たろう”と関連文字列S2とが比較され、これらは一致する。このとき、文字情報I1の変換種別“氏名→氏名かな”に基づき、文字列S1の項目種別は“氏名”、文字列S2の項目種別は“氏名かな”として判定される。
【0053】
未処理文字列が存在する場合(#08のYes分岐)には、処理は#05に戻り、上述の処理が行われる。全文字列Sに対する処理が完了すると、各々の文字列Siの項目種別はそれぞれ、“氏名”、“氏名かな”、“郵便番号”、“住所”、“住所かな”、“電話番号”と判定される。
【0054】
全文字列Sの処理が完了すると(#08のNo分岐)、未処理レコードの有無が判定され(#09)、未処理レコードが存在する場合(#09のYes分岐)には、処理が#02に戻り、上述の処理が繰り返される。
【0055】
〔第5実施形態〕
次に、図面を用いて本発明による項目判定システムの第5実施形態を説明する。図9は本実施形態における機能ブロックであり、項目種別判定部15が、さらに、項目種別を予測する項目種別予測部15aおよび、予測結果判定部15bを備えている点において第2実施形態と異なっている。以下の説明では、第2実施形態と同様の機能部の説明は省略する。
【0056】
また、本実施形態の判定基準記録部22には、図10の第1判定基準および図11に示す第2判定基準が記録されている。第1判定基準は、項目種別予測部15aが文字情報に基づき項目種別を予測するために用いる判定基準であり、第2判定基準は、予測結果判定部15bが、項目種別予測部15aによる予測の適否を判定するための基準である。
【0057】
項目種別予測部15aは、特定文字列の文字情報、関連文字列の文字情報および第1判定基準に基づき、特定文字列の項目種別と関連文字列の項目種別の予測を行う。なお、本実施形態では文字情報として、文字種別および文字数の対を用いているが、これに限定されるものではなく、上述した文字情報の一つ又はそれらの任意の組み合わせ、および他の文字情報を用いても構わない。
【0058】
予測結果判定部15bは、文字情報および第2判定基準に基づき、項目種別予測部15aにより予測された項目種別の適否を判定する。なお、項目種別予測部15aによる項目種別の予測は、一の文字列に対して複数の項目種別を予測する構成としてもよく、この場合には、予測結果判定部15bが、一の項目種別を判定結果とする。
【0059】
以下に、本実施形態における処理の流れを説明する。全体の処理の流れは、図3に示した処理の流れと同様であり、図3における#07の項目種別判定処理が異なっているため、図12のフローチャートを用いて、項目種別判定処理の流れを説明する。
【0060】
項目種別判定部15は、文字列分割部13により分割された文字列Siおよび文字情報取得部14により取得された文字情報Iiを取得する。例えば、文字列S1=“青空 太郎”、S2=“あおぞら たろう”、S3=“532-0003”、S4=“大阪府・・・1−2”、S5=“おおさかふ・・・1−2”、S6=“06-6123-4567”、文字情報I1=[“漢字”,4]、I2=[“かな”,7]、I3=[“数字”,7]、I4=[“漢字+数字”,15]、I5=[“かな+数字”,27]、I6=[“数字”,10]が取得される。また、項目種別判定部15は、特定文字列と関連文字列を特定し、これらを項目種別予測部15aに送る。例えば、特定文字列として文字列S1=“青空 太郎”、関連文字列として文字列S2=“あおぞら たろう”およびこれらの文字情報I1、I2が、項目種別予測部15aに渡される。
【0061】
特定文字列および関連文字列を取得した項目種別予測部15aは、特定文字列の文字情報および関連文字列の文字情報に基づき、第1判定基準を検索する(#21)。具体的には、第1文字情報と特定文字列の文字情報とが一致し、第2文字情報と関連文字列の文字情報とが一致する判定基準を検索する。該当する判定基準が検索されない場合(#22のNo分岐)には、処理は#05に戻り、新たな特定文字列が特定される。なお、判定基準が検索されない場合に、その旨を記録または管理者へ通知しても構わない。
【0062】
一方、判定基準が検索された場合(#22のYes分岐)には、予測結果が予測結果判定部15bに送られる。上述の例では、特定文字列の文字種別(文字情報)が“漢字”、関連文字列の文字種別(文字情報)が“かな”であるため、[“氏名”,“氏名かな”]、[“住所”,“住所かな”]の2組の項目種別が検索される。したがって、特定文字列の項目種別は“氏名”もしくは“住所”、関連文字列の項目種別は“氏名かな”もしくは“住所かな”と予測される(#23)。
【0063】
予測結果を取得した予測結果判定部15bは、項目種別予測部15aの予測結果に基づき、第2判定基準から対応する判定基準を抽出し、文字列Siもしくは文字情報Iiがその判定基準を充足するか否かが判定される(#24、#25)。上述の例では、特定文字列の項目種別は、“氏名”もしくは“住所”と予測されているため、予測結果判定部15bは、第2判定基準から項目種別が“氏名”もしくは“住所”である判定基準を検索する。この場合には、判定基準“6文字以下”および“10文字以上20文字以下”が検索される。予測結果判定部15bは、この検索された判定基準と、特定文字列の文字数(文字情報)である“4”とを比較すると、判定基準“6文字以下”を充足する(#24のYes分岐)ため、特定文字列の項目種別は“氏名”であると判定する。
【0064】
また、関連文字列の項目種別は、“氏名かな”もしくは“住所かな”と予測されているが、特定文字列の項目種別は“氏名”であると判定されているため、予測結果判定部15bは、第2判定基準から項目種別が“氏名かな”である判定基準を検索する。この場合には、判定基準“5文字以上”が検索される。予測結果判定部15bは、この判定基準と関連文字列の文字数(文字情報)である“7”とを比較すると、判定基準を充足する(#25のYes分岐)ため、関連文字列の項目種別は“氏名かな”であると判定する。
【0065】
したがって、特定文字列の項目種別は“氏名”、関連文字列の項目種別は“氏名かな”として確定される。
【0066】
一方、特定文字列または特定文字列の文字情報が検索された判定基準を充足しない場合(#24のNo分岐)もしくは関連文字列または関連文字列の文字情報が検索された判定基準を充足しない場合(#25のNo分岐)には、項目種別予測部15aの予測は棄却される(#27)。このとき、予測が棄却された旨の情報を記録又は管理者へ通知する構成としても構わない。
【0067】
上述の説明では、第2判定基準の充足を判定する際に、文字列Siの文字情報を用いていたが、判定基準により文字列Siを用いることも可能である。例えば、郵便番号の場合には、数字の前に“〒”(郵便マーク)が記載されている場合があるため、文字列Siにこの郵便マークが含まれているか否かを判定基準とすることができる。
【0068】
〔第6実施形態〕
次に、図面を用いて本発明による項目判定システムの第6実施形態を説明する。図13は本実施形態における機能ブロックであり、予測結果判定部15bに代えて文字列を所定の変換ルールに基づき変換する文字列変換部15cを備えている点において第5実施形態と異なっている。なお、本実施形態の文字情報記録部21には、図8の変換ルールが記録されている。
【0069】
文字列変換部15cは、文字列を項目種別予測部15aの予測結果に応じた項目種別の文字列に変換する。文字列の変換に際して、文字列変換部15cは、文字情報記録部21の変換ルールを用いる。
【0070】
以下に、本実施形態における処理の流れを説明する。全体の処理の流れは、図3に示した処理の流れと同様であり、図3における#07の項目種別判定処理が異なっているため、図14のフローチャートを用いて、項目種別判定処理の流れを説明する。また、#31から#33の処理は#21から#23の処理と同様であるので、説明は省略する。
【0071】
まず、特定文字列がS1=“青空 太郎”、関連文字列がS2=“あおぞら たろう”として特定された場合には、特定文字列の項目種別は“氏名”もしくは“住所”、関連文字列の項目種別は“氏名かな”もしくは“住所かな”と予測される(#31〜#33)。特定文字列、関連文字列およびこれらに対する予測結果が文字列変換部15cに送られる。
【0072】
文字列変換部15cは、まず特定文字列に対する予測結果に基づき、特定文字列を変換し(#34)、項目種別判定部15は、変換された文字列と関連文字列とを比較することにより、項目種別を仮判定する(#35)。また、文字列変換部15cは、関連文字列に対する予測結果に基づき、関連文字列を変換し(#36)、項目種別判定部15は、変換された文字列と特定文字列とを比較することにより、項目種別を仮判定する(#37)。最後に、項目種別判定部15は、2つの仮判定のうち、一致する結果を最終的な項目種別の判定結果とする(#38)。なお、仮判定の結果が一致しない場合には、その旨を記録又は管理者へ通知する構成としても構わない。
【0073】
上述の例では、特定文字列の項目種別は“氏名”もしくは“住所”と予測されているため、文字列変換部15cは、文字情報記録部21から対応するルールとして、“氏名”から“氏名かな”への変換ルールを取得し、その変換ルールにしたがい特定文字列を変換することにより、文字列“あおぞら たろう”を取得する。この変換された文字列は関連文字列と一致するため、特定文字列の項目種別は“氏名”、関連文字列の項目種別は“氏名かな”であると仮判定される。なお、特定文字列を住所とした場合の変換ルールは存在しないため、特定文字列の項目種別は“住所”ではないと判定される。
【0074】
次に、文字列変換部15cは、関連文字列に対しても上述と同様の処理を行うと、変換された文字列として“青空 太郎”が取得され、特定文字列と一致するため、関連文字列の項目種別は“氏名かな”、特定文字列の項目種別は“氏名”と仮判定される。したがって、2つの仮判定結果が一致するため、特定文字列の項目種別は“氏名”、関連文字列の項目種別は“氏名かな”と判定される。
【0075】
〔別実施形態〕
(1)上述の判定基準として正規表現を用いることも可能である。例えば、住所の判定基準として、“/.*[都道府県].*[市区郡].*/”を用いることができる。この例では、任意に文字列の後に“都道府県”のいずれかの文字があり、その後に任意の文字列があり、さらに“市区郡”のいずれかの文字と任意の文字列が後続する文字列を表している。このような正規表現を用いることにより、判定基準の表現に柔軟性が増し、好適である。なお、正規表現は、上述の実施形態の判定基準に代えてまたは共に用いても構わない。
【0076】
(2)上述の第2実施形態では、文字情報記録部21に文字コードに基づく文字種別条件情報を記録しておき、文字情報取得部14は、文字種別条件情報に基づき各々の文字に対する細分化した各文字種別を取得したが、図15に示す文字種別条件情報を用いて文字列Sに対しての細分化した文字種別を取得することもできる。例えば、文字列S=“大阪府大阪市・・・”であれば、文字数が30文字以内であり、正規表現“/.*[都道府県].*[市区郡].*/”にマッチするため、文字列Sの文字種別は住所漢字として取得される。なお、本実施形態の場合には、図5の判定基準において、文字情報(文字種別)が文字種別条件情報における文字種別に置換された判定基準が用いられる。
【0077】
(3)上述の実施形態では、スタンドアロン型により本発明の項目判定システムを構築していたが、クライアント−サーバ型等、他の構成を用いることも可能である。クライアント−サーバ型の場合には、各機能部の配置形態は種々可能である。例えば、リスト情報取得部11以外の機能部をサーバに配置する、リスト情報取得部11およびレコード取得部12以外の機能部をサーバに設置する等、サーバやネットワークの負荷等に応じて適宜変更可能である。また、統合情報として、表形式の電子データ等を用いた場合には、その電子データはサーバから端末Cに送信される。
【図面の簡単な説明】
【0078】
【図1】本発明による項目判定システムの第1実施形態における機能ブロック図
【図2】本発明による項目判定システムで用いられる住所録の例
【図3】本発明による項目判定システムの第1実施形態の処理の流れを表すフローチャート
【図4】本発明による項目判定システムの実施形態におけるリスト情報からレコードへの分割およびレコードから文字列への分割を模式的に表す図
【図5】本発明による項目判定システムの第1実施形態における判定基準の例
【図6】本発明による項目判定システムの第2実施形態における機能ブロック図
【図7】本発明による項目判定システムの第3実施形態における判定基準の例
【図8】本発明による項目判定システムの第4実施形態における変換ルールの例
【図9】本発明による項目判定システムの第5実施形態における機能ブロック図
【図10】本発明による項目判定システムの第5実施形態における第1判定基準の例
【図11】本発明による項目判定システムの第5実施形態における第2判定基準の例
【図12】本発明による項目判定システムの第5実施形態の処理の流れを表すフローチャート
【図13】本発明による項目判定システムの第6実施形態における機能ブロック図
【図14】本発明による項目判定システムの第6実施形態の処理の流れを表すフローチャート
【図15】本発明による項目判定システムの別実施形態における文字種別条件情報の例
【符号の説明】
【0079】
C:端末
11:リスト情報取得部
12:レコード抽出部
13:文字列分割部
14:文字情報取得部
15:項目種別判定部
16:統合情報生成部
21:文字情報記録部
22:判定基準記録部

【特許請求の範囲】
【請求項1】
レコードを構成する複数の文字列の各々の項目種別を判定する項目判定システムにおいて、
複数のレコードからなるリスト情報から前記レコードを取得するレコード抽出部と、
前記レコードを各々の文字列に分割する文字列分割部と、
前記分割された文字列の文字情報を取得する文字情報取得部と、
前記文字列から特定文字列を特定し、前記レコードにおいて当該特定文字列に隣接する文字列である隣接文字列を当該特定文字列に関連する関連文字列として特定すると共に、当該特定文字列の文字情報と当該関連文字列の文字情報とに基づき当該特定文字列と当該関連文字列の項目種別を判定する項目種別判定部と、を備えたことを特徴とする項目判定システム。
【請求項2】
特定の項目種別に対応する文字情報と当該特定の項目種別に関連する関連項目種別に対応する文字情報とを関連付けて記録する判定基準記録部を備え、
前記項目種別判定部は、前記特定文字列の文字情報と関連文字列の文字情報に基づき前記判定基準記録部から前記特定の項目種別と前記関連項目種別とを検索し、当該検索結果に応じて当該特定文字列の項目種別と当該関連文字列の項目種別とを判定することを特徴とする請求項1記載の項目判定システム。
【請求項3】
前記文字情報は、前記文字列を変換することにより得られる変換情報を含み、
前記項目種別判定部は、前記特定文字列と前記隣接文字列の前記変換情報とに基づき前記文字列と前記隣接文字列とが関連する文字列であると特定することを特徴とする請求項1記載の項目判定システム。
【請求項4】
レコードを構成する複数の文字列の各々の項目種別を判定する項目判定システムのための項目判定プログラムにおいて、
複数のレコードからなるリスト情報から前記レコードを取得する機能と、
前記レコードを各々の文字列に分割する機能と、
前記分割された文字列の文字情報を取得する機能と、
前記文字列から特定文字列を特定し、前記レコードにおいて当該特定文字列に隣接する文字列である隣接文字列を当該特定文字列に関連する関連文字列として特定すると共に、当該特定文字列の文字情報と当該関連文字列の文字情報とに基づき当該特定文字列と当該関連文字列の項目種別を判定する項目種別判定機能と、をコンピュータに実現させる項目判定プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2010−3000(P2010−3000A)
【公開日】平成22年1月7日(2010.1.7)
【国際特許分類】
【出願番号】特願2008−159419(P2008−159419)
【出願日】平成20年6月18日(2008.6.18)
【特許番号】特許第4266240号(P4266240)
【特許公報発行日】平成21年5月20日(2009.5.20)
【出願人】(599108242)Sky株式会社 (257)
【Fターム(参考)】