JP5544693B2 - Data processing apparatus, data processing program, and data processing method - Google Patents
Data processing apparatus, data processing program, and data processing method Download PDFInfo
- Publication number
- JP5544693B2 JP5544693B2 JP2008214539A JP2008214539A JP5544693B2 JP 5544693 B2 JP5544693 B2 JP 5544693B2 JP 2008214539 A JP2008214539 A JP 2008214539A JP 2008214539 A JP2008214539 A JP 2008214539A JP 5544693 B2 JP5544693 B2 JP 5544693B2
- Authority
- JP
- Japan
- Prior art keywords
- character string
- address
- data
- character
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、データ処理装置、データ処理プログラムおよびデータ処理方法に関する。 The present invention relates to a data processing device, a data processing program, and a data processing method.
従来、コンピュータシステムでは、住所や、氏名、組織名などの所定のデータをデータベース等に記憶して管理している。この種のデータは、システム管理者や、利用者などの人間によって入力されることが多いため、入力される文字列の表記が統一されない場合がある。表記が不統一になる例としては、記載の一部省略や、異体字の使用などがある。例えば、同一の住所を入力する場合であっても、入力者Aは、「東京都千代田区麹町1丁目」と入力するが、入力者Bは、「東京都千代田区こうじ町1丁目」と入力することがある。 Conventionally, computer systems store and manage predetermined data such as addresses, names, and organization names in a database or the like. Since this type of data is often input by a system administrator or a user such as a user, the notation of the input character string may not be unified. Examples of inconsistent notation include partial omission of descriptions and the use of variant characters. For example, even if the same address is input, the input person A inputs “Kyomachi 1-chome, Chiyoda-ku, Tokyo”, but the input person B inputs “1 Koji-cho, Chiyoda-ku, Tokyo”. There are things to do.
かかる場合、コンピュータシステムは、本来同一の内容を示すデータを、異なるデータとして管理する状態になる。このことは、コンピュータシステムがデータの照合などを行う場合に、本来同一のデータを異なるデータであると認識してしまうという問題を招く。 In such a case, the computer system is in a state of managing data originally showing the same contents as different data. This leads to a problem that the same data is originally recognized as different data when the computer system collates data.
そこで、近年では、データを統一するための技術がいくつか提案されている。例えば、所定の住所マスタに登録されている住所と、修正対象の住所とをキーとなる文字列に分解し、分解した各文字列を比較して、所定の条件の下、統一化されたデータを表示する技術が提案されている。また、例えば、修正対象の住所を住所階層に分割し、所定の住所マスタから建物名が一致する住所を抽出し、修正対象の住所を抽出した住所に補正する技術が提案されている。 In recent years, several techniques for unifying data have been proposed. For example, an address registered in a predetermined address master and an address to be corrected are decomposed into key character strings, and the decomposed character strings are compared, and unified data under predetermined conditions A technique for displaying is proposed. Further, for example, a technique has been proposed in which an address to be corrected is divided into address hierarchies, an address having a matching building name is extracted from a predetermined address master, and the address to be corrected is corrected to the extracted address.
しかしながら、上記従来技術には、統一されたデータを抽出する処理における負荷が増大し、かかる処理を高速に行えないという問題があった。具体的には、従来技術では、修正対象の住所を、都道府県や市区郡などの階層ごとに分割し、分割した各住所について、所定の住所マスタに登録されている住所と照合する処理を繰り返して行っていた。一般に、住所は、5個以上の階層に分割されることが多いため、従来技術では、照合処理を5回以上行う必要があった。このため、従来技術では、データ修正処理を行う装置にかかる処理負荷が増大し、データを統一するための処理に時間がかかっていた。 However, the conventional technique has a problem that the load in the process of extracting the unified data increases, and the process cannot be performed at high speed. Specifically, in the prior art, the address to be corrected is divided into hierarchies such as prefectures and municipalities, and each divided address is checked against an address registered in a predetermined address master. I went repeatedly. In general, since an address is often divided into five or more hierarchies, it has been necessary to perform collation processing five times or more in the related art. For this reason, in the prior art, the processing load on the apparatus that performs the data correction processing increases, and it takes time to process the data.
開示の技術は、上述した従来技術による問題点を解消するためになされたものであり、所定のデータを修正するためのデータを低負荷かつ高速に抽出することができるデータ処理装置、データ処理プログラムおよびデータ処理方法を提供することを目的とする。 The disclosed technology has been made to solve the above-described problems caused by the conventional technology, and is a data processing apparatus and data processing program capable of extracting data for correcting predetermined data at a low load and at high speed And it aims at providing a data processing method.
上述した課題を解決し、目的を達成するために、本願に開示するデータ処理装置は、所定の文字列と、前記所定の文字列を識別するための文字列識別子とを記憶する文字列記憶手段と、前記所定の文字列に含まれる文字列である文字列要素と、該文字列要素が含まれる前記所定の文字列を示す文字列識別子の集合とを記憶する文字列要素記憶手段と、前記文字列要素記憶手段から、処理対象の文字列に含まれる文字列要素に対応付けて記憶されている文字列識別子の集合を抽出する抽出手段と、前記抽出手段によって抽出された文字列識別子の集合に最も多く含まれている文字列識別子を、前記処理対象の文字列と一致または類似する文字列である対応文字列を示す文字列識別子に特定する第一の特定手段とを備えたことを要件とする。 In order to solve the above-described problems and achieve the object, a data processing device disclosed in the present application stores a predetermined character string and a character string identifier for identifying the predetermined character string. A character string element storage means for storing a character string element which is a character string included in the predetermined character string, and a set of character string identifiers indicating the predetermined character string including the character string element, Extraction means for extracting a set of character string identifiers stored in association with character string elements included in the character string to be processed from the character string element storage means, and a set of character string identifiers extracted by the extraction means And a first specifying means for specifying a character string identifier most often included in a character string identifier indicating a corresponding character string that is a character string that matches or is similar to the character string to be processed. And
なお、本願に開示するデータ処理装置の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも、他の態様として有効である。 It should be noted that a method, an apparatus, a system, a computer program, a recording medium, a data structure, etc., in which any component, expression, or any combination of components disclosed in the present application is also effective as another aspect. is there.
本願に開示したデータ装置によれば、所定のデータを修正するためのデータを低負荷かつ高速に抽出することができるという効果を奏する。 According to the data device disclosed in the present application, it is possible to extract data for correcting predetermined data at a low load and at a high speed.
以下に、本願に開示するデータ処理装置、データ処理プログラムおよびデータ処理方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例では、本願に開示するデータ処理装置、データ処理プログラムおよびデータ処理方法が、データが統一されていない住所を表す文字列データを、表記が統一されている文字列データに修正(クレンジング)する例について説明する。ただし、本願に開示するデータ処理装置、データ処理プログラムおよびデータ処理方法は、氏名や、組織名、法人名、支店名などの住所以外のデータを、表記が統一されているデータに修正することもできる。特に、本願に開示するデータ処理装置、データ処理プログラムおよびデータ処理方法は、階層構造を持つデータを、表記が統一されているデータに修正することができる。 Hereinafter, embodiments of a data processing apparatus, a data processing program, and a data processing method disclosed in the present application will be described in detail with reference to the drawings. In the following embodiments, the data processing device, the data processing program, and the data processing method disclosed in the present application modify character string data representing an address whose data is not unified into character string data whose notation is unified. An example of (cleansing) will be described. However, the data processing apparatus, data processing program, and data processing method disclosed in the present application may correct data other than addresses such as name, organization name, corporation name, and branch name to data with a unified notation. it can. In particular, the data processing device, the data processing program, and the data processing method disclosed in the present application can correct data having a hierarchical structure to data having a unified notation.
まず、実施例1に係るデータ処理装置100によるデータ修正処理の概要について説明する。データ処理装置100は、表記が統一されている住所を表す文字列データ(以下、「正規住所データ」という)を所定の記憶部に記憶しておく。そして、データ処理装置100は、表記が統一されているか否かが不明である所定の住所を表す文字列データ(以下、「処理対象住所データ」という)を受け付けた場合に、所定の記憶部から、処理対象住所データに対応する正規住所データを取得する。そして、データ処理装置100は、処理対象住所データを、取得した正規住所データに書き換える。
First, an outline of data correction processing by the
なお、ここでいう「表記が統一されている住所を表す文字列データ」とは、システム管理者等によって予め決められている表記規則に則って表記された住所データを示す。また、「処理対象住所データに対応する正規住所データ」とは、処理対象住所データと一致する正規住所データ、または、処理対象住所データと最も類似する正規住所データを示す。以下では、「処理対象住所データに対応する正規住所データ」を「修正候補住所データ」と呼ぶこととする。 Here, “character string data representing an address whose notation is unified” indicates address data described according to a notation rule predetermined by a system administrator or the like. The “regular address data corresponding to the processing target address data” indicates the regular address data that matches the processing target address data, or the regular address data that is most similar to the processing target address data. Hereinafter, “regular address data corresponding to the processing target address data” is referred to as “correction candidate address data”.
図1を用いて、実施例1に係るデータ処理装置100によるデータ修正処理の概要について具体的に説明する。図1は、実施例1に係るデータ処理装置100によるデータ修正処理の概要を説明するための図である。データ処理装置100は、住所記憶部121と、住所要素記憶部122とを有する。住所記憶部121は、表記が統一されている正規住所データと、かかる正規住所データを識別するための住所IDとを対応付けて記憶する。
An outline of data correction processing by the
住所要素記憶部122は、住所データを形成する都道府県、市区郡、政令区町村などの住所データの要素(以下、「住所要素」という)と、かかる住所要素に対応する正規住所データの住所IDとを対応付けて記憶する。例えば、図1に示した例において、住所要素「神奈川県」は、住所記憶部121に記憶されている正規住所データのうち、住所ID「1」〜「499」に対応付けて記憶されている正規住所データに含まれる。かかる場合、住所要素記憶部122は、住所要素「神奈川県」と、住所ID「1」〜「499」とを対応付けて記憶する。
The address
なお、図1に示した住所記憶部121および住所要素記憶部122の構造はあくまで一例であって、住所記憶部121および住所要素記憶部122の詳細な構造については後述する。
The structures of the
そして、データ処理装置100は、処理対象住所データを受け付けた場合に、住所要素記憶部122に記憶されている住所要素によって形成されるオートマトンに対して、処理対象住所データを順次代入する。これにより、データ処理装置100は、住所要素記憶部122に記憶されている住所要素と、処理対象住所データに含まれる住所要素との文字列照合を行う。データ処理装置100は、かかる文字列照合の結果、住所要素記憶部122から、処理対象住所データに含まれる住所要素に対応付けて記憶されている住所IDを取得する。
When the
図1に示した例では、データ処理装置100は、処理対象住所データとして「神奈川県川崎市中原下小田中1丁目」を受け付けている。かかる場合、データ処理装置100は、住所要素記憶部122に記憶されている住所要素によって形成されるオートマトンに対して、文字列「神」、「奈」、「川」、「県」、「川」、「崎」、「市」、「中」、「原」、「下」、「小」、「田」、「中」、「1」、「丁」、「目」を順次代入して照合する。
In the example shown in FIG. 1, the
そして、データ処理装置100は、オートマトンに対して、文字列「神」、「奈」、「川」、「県」を順次代入した場合に、住所要素記憶部122に記憶されている住所要素「神奈川県」と一致したことを検出する。続いて、データ処理装置100は、住所要素「神奈川県」に対応付けて住所要素記憶部122に記憶されている住所ID「1−499」を取得する。同様にして、データ処理装置100は、住所要素記憶部122から、住所要素「川崎市」に対応する住所ID「1−100」と、住所要素「下小田中」に対応する住所ID「5−9」と、住所要素「1丁目」に対応する住所ID「1:5:101:・・・:500:・・・」とを取得する。
When the
続いて、データ処理装置100は、住所要素記憶部122から取得した住所IDの論理積を演算することにより、修正候補住所データを示す住所IDを特定する。図1に示した例では、データ処理装置100は、住所IDの論理積演算の結果、修正候補住所データを示す住所IDとして、住所ID「5」を特定する。続いて、データ処理装置100は、住所記憶部121から、特定した住所ID「5」に対応する正規住所データ「神奈川県川崎市中原区下小田中1丁目」を取得する。
Subsequently, the
続いて、データ処理装置100は、処理対象住所データ「神奈川県川崎市中原下小田中1丁目」を、取得した正規住所データ「神奈川県川崎市中原区下小田中1丁目」に書き換える。すなわち、処理対象住所データ「神奈川県川崎市中原下小田中1丁目」は、「中原」の後に文字列「区」が抜けていたが、データ処理装置100によるデータ修正処理により、「神奈川県川崎市中原区下小田中1丁目」に修正される。
Subsequently, the
このように、実施例1に係るデータ処理装置100は、住所要素記憶部122に記憶されている住所要素によって形成されるオートマトンを用いて、処理対象住所データに含まれる住所要素と、住所要素記憶部122に記憶されている住所要素との文字列照合を行う。これにより、データ処理装置100は、1回の文字列照合処理によって、住所要素記憶部122から、処理対象住所データに含まれる住所要素に対応付けて記憶されている住所IDを取得することができる。
As described above, the
また、データ処理装置100は、住所要素記憶部122から取得した住所IDの論理積を演算することにより、住所IDを絞り込むので、1回の演算処理を行うだけで修正候補住所データを示す住所IDを特定することができる。
In addition, the
すなわち、データ処理装置100は、1回の文字列照合処理と、1回の論理演算処理を行うだけで修正候補住所データを特定することができる。その結果、データ処理装置100は、低負荷かつ高速に処理対象住所データを修正候補住所データに修正することができる。
That is, the
なお、図1に示した例では、データ処理装置100が、住所IDの論理積を演算することにより、修正候補住所データを一意に特定する例を示したが、処理対象住所データによっては、住所IDを一意に特定できずに複数の住所IDを特定する場合がある。かかる場合、データ処理装置100は、特定した複数の住所IDが示す複数の正規住所データから、修正候補住所データを探索する。かかる探索処理については後述する。
In the example illustrated in FIG. 1, the
次に、実施例1に係るデータ処理装置100の構成について説明する。図2は、実施例1に係るデータ処理装置100の構成を示す図である。図2に示すように、データ処理装置100は、対象データ入出力部110と、記憶部120と、制御部130とを有する。
Next, the configuration of the
対象データ入出力部110は、処理対象住所データを所定の処理部へ出力したり、修正候補住所データを所定の処理部から受け付けたりする。例えば、対象データ入出力部110は、表記が統一されていない住所データが記憶されている所定の記憶部から住所データを1レコードずつ取得して、受付部131へ順次出力する。また、例えば、対象データ入出力部110は、ネットワークを介して、他の情報処理装置から表記が統一されていない処理対象住所データを受信して、受信した処理対象住所データを受付部131へ出力する。そして、対象データ入出力部110は、書換部134から、受付部131へ出力した処理対象住所データを修正するための修正候補住所データを受け付ける。
The target data input /
記憶部120は、各種情報を記憶する記憶デバイスであり、住所記憶部121と、住所要素記憶部122と、構成情報記憶部123と、ログ記憶部124とを有する。住所記憶部121は、上述したように、主に、正規住所データと、かかる正規住所データを識別するための住所IDとを対応付けて記憶する。
The
住所記憶部121の一例を図3に示す。図3に示すように、住所記憶部121は、住所ID、住所、郵便番号、フリガナといった項目を有する。項目「住所ID」は、住所を識別するための識別子を記憶する。項目「住所」は、表記が統一されている正規住所データを記憶する。項目「郵便番号」は、対応する項目「住所」に記憶されている正規住所データの郵便番号を記憶する。項目「フリガナ」は、対応する項目「住所」に記憶されている正規住所データのフリガナ(読み仮名)を記憶する。
An example of the
すなわち、図3に示した住所記憶部121の1行目は、住所ID「1」の正規住所データが「神奈川県川崎市中原区上小田中1丁目」であり、郵便番号が「211−0053」であり、フリガナが「カナガワケンカワサキシナカハラク・・・」であることを示している。また、図3に示した住所記憶部121の2行目は、住所ID「2」の正規住所データが「神奈川県川崎市中原区上小田中2丁目」であり、郵便番号が「211−0053」であり、フリガナが「カナガワケンカワサキシナカハラク・・・」であることを示している。
That is, in the first line of the
住所要素記憶部122は、上述したように、主に、階層的(都道府県、市区郡等ごと)に分割された住所データの要素である住所要素と、かかる住所要素に対応する正規住所データを示す住所IDとを対応付けて記憶する。
As described above, the address
住所要素記憶部122の一例を図4に示す。図4に示すように、住所要素記憶部122は、住所要素、住所ID、タイプといった項目を有する。項目「住所要素」は、都道府県や、市区郡、政令区町村、町名字、丁目字などの住所データを形成する要素を記憶する。項目「住所ID」は、図3に示した住所記憶部121が有する項目「住所ID」に対応し、住所要素に対応する正規住所データを示す住所IDを記憶する。項目「タイプ」は、対応する項目「住所要素」に記憶されている住所要素が、都道府県や、市区郡、政令区町村、町名字、丁目字などのいずれに該当するかを示す情報を記憶する。なお、図4中の住所IDに表記した「N−M」は、住所ID「N」〜「M」であることを示す。また、図4中の住所IDに表記した「N:M」は、住所ID「N」および「M」であることを示す。
An example of the address
すなわち、図4に示した住所要素記憶部122の1行目は、住所要素「神奈川県」に対応する正規住所データは、住所IDが「1」〜「499」であり、住所要素「神奈川県」は、タイプが「都道府県」であることを示している。また、図4に示した住所要素記憶部122の12行目は、住所要素「1丁目」に対応する正規住所データは、住所IDが「1」、「5」、「101」、・・・、「500」、・・・であり、住所要素「1丁目」は、タイプが「丁目字」であることを示している。
That is, the first line of the address
構成情報記憶部123は、主に、住所IDと、かかる住所IDが示す正規住所データを形成する住所要素のタイプとを対応付けて記憶する。構成情報記憶部123の一例を図5に示す。図5に示すように、構成情報記憶部123は、住所ID、構成情報といった項目を有する。項目「住所ID」は、図3に示した住所記憶部121が有する項目「住所ID」に対応する。項目「構成情報」は、対応する住所IDが示す正規住所データが、都道府県や、市区郡、政令区町村、町名字、丁目字などのいずれによって形成されているかを示す情報を記憶する。なお、図5に例示した構成情報記憶部123では、都道府県や、市区郡、政令区町村、町名字、丁目字などを「|」によって区切って項目「構成情報」に記憶する。
The configuration
すなわち、図5に示した構成情報記憶部123の1行目は、住所ID「1」が示す住所データは、都道府県、市区郡、政令区町村、町名字、丁目字によって形成されていることを示す。また、図5に示した構成情報記憶部123の6行目は、住所ID「500」が示す住所データは、都道府県、市区郡、政令区町村、丁目字によって形成されていることを示す。
That is, in the first line of the configuration
ログ記憶部124は、ログ情報を記憶し、例えば、テキストファイルや、データベースである。かかるログ記憶部124は、後述する書換部134によって、データ修正処理に関する各種ログ情報が記憶される。
The
ここで、図6を用いて、上述した住所要素記憶部122を生成する手法について説明する。図6は、住所要素記憶部122を生成する手法を説明するための図である。図6に示すように、データ処理装置100は、まず、住所記憶部121に記憶されている各種情報のように、各住所に住所IDを付与する(ステップS11)。
Here, a method of generating the address
続いて、データ処理装置100は、各住所データを住所要素に分解する。そして、データ処理装置100は、図6に示すように、住所要素が含まれる住所データを示す住所IDの範囲を、住所要素ごとに抽出する(ステップS12)。そして、データ処理装置100は、各住所要素と、抽出した住所IDとを対応づけることによって、図4に示したような住所要素記憶部122を生成する。ここでは、データ処理装置100が住所要素記憶部122を生成するものとして説明したが、外部で作成して、データ処理装置100に与えてもよい。
Subsequently, the
制御部130は、データ処理装置100を全体制御し、受付部131と、一次探索部132と、二次探索部133と、書換部134とを有する。受付部131は、対象データ入出力部110から出力された処理対象住所データを受け付ける。
The control unit 130 controls the
一次探索部132は、受付部131によって受け付けられた処理対象住所データを修正するための修正候補住所データを探索する。具体的には、一次探索部132は、抽出部132aと、一次特定部132bとを有する。
The
抽出部132aは、住所要素記憶部122に記憶されている住所IDのうち、処理対象住所データに含まれる住所要素に対応付けて記憶されている住所IDを抽出する。具体的には、抽出部132aは、住所要素記憶部122に記憶されている住所要素により形成されるオートマトンに対して、処理対象住所データを順次代入することによって文字列照合を行う。そして、抽出部132aは、住所要素記憶部122に記憶されている住所要素と、処理対象住所データに含まれる住所要素とが一致する住所IDを住所要素記憶部122から抽出する。
The
例えば、受付部131によって受け付けられた処理対象住所データが「神奈川県川崎市中原区下小田中1丁目」であり、住所要素記憶部122に記憶されている各種情報が、図4に示した状態であるものとする。かかる場合、抽出部132aは、住所要素記憶部122から、処理対象住所データに含まれる「神奈川県」に対応付けて記憶されている住所ID「1−499」を抽出する。同様に、抽出部132aは、住所要素記憶部122から、「川崎市」に対応付けて記憶されている住所ID「1−100」と、「中原区」に対応付けて記憶されている住所ID「1−20」とを抽出する。また、抽出部132aは、住所要素記憶部122から、「下小田中」に対応付けて記憶されている住所ID「5−9」と、「1丁目」に対応付けて記憶されている住所ID「1:5:101:・・・:500:・・・」とを抽出する。
For example, the processing target address data received by the receiving
このように、抽出部132aは、オートマトンを用いて文字列照合処理を行うので、1回の文字列照合処理によって、住所要素記憶部122から住所IDを抽出することができる。なお、抽出部132aは、例えば、文字列照合エンジン「SIGMA」を用いて、上記文字列照合処理を行う。
Thus, since the
一次特定部132bは、処理対象住所データを修正するための修正候補住所データを示す住所IDを特定する。具体的には、一次特定部132bは、抽出部132aによって抽出された住所IDの集合の論理積を演算することにより住所IDを特定する。言い換えれば、一次特定部132bは、抽出部132aによって抽出された住所IDの集合に最も多く含まれている住所IDを特定する。そして、一次特定部132bは、特定した住所IDが1個である場合、かかる住所IDを書換部134へ出力する。一方、一次特定部132bは、特定した住所IDが複数である場合、かかる複数の住所IDを二次探索部133へ出力する。
The
ここで、図7を用いて、一次特定部132bによる住所ID特定処理について具体的に説明する。図7は、一次特定部132bによる住所ID特定処理を説明するための図である。なお、図7に示した例では、上記例と同様に、受付部131によって受け付けられた処理対象住所データが「神奈川県川崎市中原区下小田中1丁目」であるものとする。図7の上段には、抽出部132aによって抽出された住所IDを示す。なお、ここでは、説明の便宜上、住所IDに加えて、住所要素とタイプとを図示する。
Here, the address ID specifying process by the primary specifying
図7に示した例において、一次特定部132bは、抽出部132aによって抽出された住所ID「1−499」、「1−100」、「1−20」、「5−9」および「1:5:101:・・・:500:・・・」の論理積を演算する。図7の下段には、各住所要素に対応する住所IDの範囲を、斜線を付した矩形の幅によって示す。図7の下段に示すように、一次特定部132bは、論理積演算の結果、抽出部132aによって抽出された住所IDの集合に最も多く含まれる住所IDとして、住所ID「5」を特定する。
In the example illustrated in FIG. 7, the
二次探索部133は、一次特定部132bから入力された複数の住所IDが示す複数の住所データから、修正候補住所データを探索する。具体的には、二次探索部133は、Nグラム法(「N文字インデックス法」とも呼ばれる)により、修正候補住所データを探索し、分割部133aと、二次特定部133bとを有する。
The
分割部133aは、処理対象住所データを所定の文字数ごとに分割する。なお、実施例1において、二次探索部133は、Nグラム法の一種であるバイグラムを用いるものとする。また、分割部133aは、分割後の各文字列が前後の文字列と1文字ずつ重複するように、処理対象住所データを分割するものとする。すなわち、分割部133aは、処理対象住所データを、1文字ずつ重複させながら2文字単位に分割する。
The dividing unit 133a divides the processing target address data every predetermined number of characters. In the first embodiment, the
図8を用いて、分割部133aによる処理対象住所データの分割処理について具体的に説明する。図8は、分割部133aによる処理対象住所データの分割処理を説明するための図である。図8に示した例では、処理対象住所データが「神奈川県川崎市中原区下小田1丁目」であるものとする。かかる場合、分割部133aは、図8に示すように、処理対象住所データを、「神奈」、「奈川」、「川県」、・・・、「田1」、「1丁」、「丁目」に分割する。
The dividing process of the processing target address data by the dividing unit 133a will be specifically described with reference to FIG. FIG. 8 is a diagram for explaining the division processing of the processing target address data by the division unit 133a. In the example illustrated in FIG. 8, it is assumed that the processing target address data is “1 Chome, Shimooda, Nakahara-ku, Kawasaki City, Kanagawa Prefecture”. In such a case, as shown in FIG. 8, the dividing unit 133a converts the processing target address data into “Kana”, “Nagawa”, “Kawa Prefecture”,..., “
二次特定部133bは、一次特定部132bから入力された複数の住所IDが示す複数の正規住所データから、修正候補住所データを特定する。具体的には、二次特定部133bは、住所記憶部121から、一次特定部132bから入力された複数の住所IDに対応付けて記憶されている正規住所データを住所IDごとに取得する。続いて、二次特定部133bは、分割部133aによって分割された文字列により形成されるオートマトンに対して、住所記憶部121から取得した正規住所データを順次代入する。これにより、二次特定部133bは、分割部133aによって分割された文字列と、住所記憶部121から取得した正規住所データに含まれる文字列とを順次照合する。
The secondary specifying unit 133b specifies correction candidate address data from a plurality of regular address data indicated by a plurality of address IDs input from the primary specifying
続いて、二次特定部133bは、住所記憶部121から取得した正規住所データのうち、分割部133aによって分割された文字列と一致する文字列の数が最も多い正規住所データを特定する。そして、二次特定部133bは、かかる照合処理(バイグラム)によって特定した正規住所データに対応する住所IDを書換部134へ出力する。
Subsequently, the secondary specifying unit 133b specifies the normal address data having the largest number of character strings that match the character strings divided by the dividing unit 133a among the normal address data acquired from the
ここで、図9を用いて、二次特定部133bによる住所データ特定処理について具体的に説明する。図9は、二次特定部133bによる住所データ特定処理を説明するための図である。図9では、図8に示した例と同様に、分割部133aによって処理対象住所データ「神奈川県川崎市中原区下小田1丁目」が分割されたものとする。また、二次特定部133bは、一次特定部132bから住所ID「1」および「5」を入力されたものとする。すなわち、二次特定部133bは、住所記憶部121から正規住所データ「神奈川県川崎市中原区上小田中1丁目」と、「神奈川県川崎市中原区下小田中1丁目」とを取得する。
Here, the address data specifying process by the secondary specifying unit 133b will be specifically described with reference to FIG. FIG. 9 is a diagram for explaining address data specifying processing by the secondary specifying unit 133b. In FIG. 9, as in the example shown in FIG. 8, it is assumed that the processing target address data “1-chome Shimooda, Nakahara-ku, Kawasaki-shi, Kanagawa” is divided by the dividing unit 133a. Also, it is assumed that the secondary identification unit 133b has received the address IDs “1” and “5” from the
かかる場合、二次特定部133bは、分割部133aによって分割された文字列により形成されるオートマトンに対して、正規住所データ「神奈川県川崎市中原区上小田中1丁目」を順次代入する。これにより、二次特定部133bは、分割部133aによって分割された文字列と、正規住所データ「神奈川県川崎市中原区上小田中1丁目」に含まれる文字列とを順次照合する。図9に示した例では、二次特定部133bは、分割部133aによって分割された文字列のうち、12個の文字列(「神奈」、「奈川」、「川県」、「県川」、「川崎」、「崎市」、「市中」、「中原」、「原区」、「小田」、「1丁」、「丁目」)が、正規住所データ「神奈川県川崎市中原区上小田中1丁目」に含まれる文字列と一致することを検出する。 In such a case, the secondary specifying unit 133b sequentially substitutes the regular address data “Kamiodachi 1-chome, Nakahara-ku, Kawasaki-shi, Kanagawa” for the automaton formed by the character string divided by the dividing unit 133a. As a result, the secondary specifying unit 133b sequentially collates the character string divided by the dividing unit 133a with the character string included in the legitimate address data “Kamiodaku 1-chome, Nakahara-ku, Kanagawa Prefecture”. In the example illustrated in FIG. 9, the secondary identification unit 133 b includes 12 character strings (“Kana”, “Nagawa”, “Kawa Prefecture”, “Kenagawa”) among the character strings divided by the dividing unit 133 a. , “Kawasaki”, “Saki City”, “Ichichu”, “Nakahara”, “Hara-ku”, “Oda”, “1”, “Chome”) is the official address data “Nakahara-ku, Kawasaki-shi, Kanagawa It is detected that it matches the character string included in “Odanaka 1-chome”.
続いて、二次特定部133bは、分割部133aによって分割された文字列により形成されるオートマトンに対して、正規住所データ「神奈川県川崎市中原区下小田中1丁目」を順次代入する。これにより、二次特定部133bは、分割部133aによって分割された文字列と、住所データ「神奈川県川崎市中原区下小田中1丁目」に含まれる文字列とを順次照合する。図9に示した例では、二次特定部133bは、分割部133aによって分割された文字列のうち、14個の文字列(「神奈」、「奈川」、「川県」、「県川」、「川崎」、「崎市」、「市中」、「中原」、「原区」、「区下」、「下小」、「小田」、「1丁」、「丁目」)が、正規住所データ「神奈川県川崎市中原区上小田中1丁目」に含まれる文字列と一致することを検出する。 Subsequently, the secondary specifying unit 133b sequentially substitutes the regular address data “1-chome Shimo-Odanaka, Nakahara-ku, Kawasaki-shi, Kanagawa” for the automaton formed by the character string divided by the dividing unit 133a. Thereby, the secondary specific | specification part 133b collates sequentially the character string divided | segmented by the division | segmentation part 133a, and the character string contained in address data "Kamozaki-shi, Nakahara-ku, Shimo-Odanaka 1-chome". In the example shown in FIG. 9, the secondary specifying unit 133 b includes 14 character strings (“Kana”, “Nagawa”, “Kawa Prefecture”, “Kenagawa”) among the character strings divided by the dividing unit 133 a. , “Kawasaki”, “Saki City”, “Munich”, “Nakahara”, “Hara Ward”, “Ward Shimo”, “Shimoko”, “Oda”, “1”, “Chome”) are regular It is detected that it matches the character string contained in the address data “Kamiodachi 1-chome, Nakahara-ku, Kawasaki-shi, Kanagawa”
続いて、二次特定部133bは、正規住所データ「神奈川県川崎市中原区上小田中1丁目」よりも、正規住所データ「神奈川県川崎市中原区下小田中1丁目」の方が、分割部133aによって分割された文字列と一致する文字列の数が多いと判定する。そして、二次特定部133bは、正規住所データ「神奈川県川崎市中原区下小田中1丁目」を、修正候補住所データに特定して、対応する住所ID「5」を書換部134へ出力する。
Subsequently, in the secondary identification unit 133b, the regular address data "1 Shimo-Odanaka 1-chome, Nakahara-ku, Kawasaki-shi, Kanagawa" is more divided than the regular address data "1-chome Nakagami-ku, Kawasaki-shi, Kanagawa" 133a It is determined that the number of character strings that match the character string divided by is large. Then, the secondary specifying unit 133b specifies the regular address data “1st Shimoodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa” as the correction candidate address data, and outputs the corresponding address ID “5” to the
このように、二次特定部133bは、オートマトンを用いて文字列照合処理を行うので、1回の文字列照合処理によって、修正候補住所データを特定することができる。なお、二次特定部133bは、抽出部132aと同様に、例えば、文字列照合エンジン「SIGMA」を用いて、上記文字列照合処理を行う。
Thus, since the secondary specific | specification part 133b performs a character string collation process using an automaton, it can identify correction candidate address data by one character string collation process. In addition, the secondary specific | specification part 133b performs the said character string collation process using the character string collation engine "SIGMA" similarly to the
書換部134は、処理対象住所データを、一次特定部132bまたは二次特定部133bによって特定された正規住所データに書き換えるとともに、データ修正処理に関する各種ログ情報をログ記憶部124に記憶させる。
The
具体的には、書換部134は、一次特定部132bから住所IDを受け付けた場合に、住所記憶部121から、かかる住所IDに対応付けて記憶されている正規住所データを取得する。続いて、書換部134は、所定の記憶部に記憶されている処理対象住所データを、住所記憶部121から取得した正規住所データ(修正候補住所データ)に書き換える。このとき、書換部134は、住所データ書換処理を実行した日時(年月日時分秒)や、処理対象住所データ、修正候補住所データ、処理対象住所データと修正候補住所データとの差分などをログ記憶部124に記憶させる。
Specifically, when the
また、書換部134は、二次特定部133bから住所IDを受け付けた場合に、受け付けた住所IDの数を判定する。二次特定部133bから1個の住所IDの数を受け付けた場合、書換部134は、所定の記憶部に記憶されている処理対象住所データを、二次特定部133bから受け付けた住所データ(修正候補住所データ)に書き換えるとともに、住所データ書換処理に関する各種ログ情報をログ記憶部124に記憶させる。
Moreover, the rewriting
一方、二次特定部133bから複数の住所IDを受け付けた場合、書換部134は、データ修正処理を行うことなく、住所データ書換処理を実行した日時や、処理対象住所データ、二次特定部133bによって特定された複数の住所IDなどをログ記憶部124に記憶させる。これにより、システム管理者等は、かかるログ情報に基づいて、処理対象住所データを、どの修正候補住所データに修正するかを即座に判断することができる。
On the other hand, when a plurality of address IDs are received from the secondary specifying unit 133b, the
なお、書換部134は、修正候補住所データを対象データ入出力部110へ出力することにより住所データを書き換えてもよい。例えば、処理対象住所データが他の情報処理装置が有する所定の記憶部に記憶されている場合、書換部134は、住所データを対象データ入出力部110に出力することにより、処理対象住所データを修正候補住所データに書き換えることが可能になる。また、対象データ入出力部110はネットワークを介して出力してもよい。
Note that the
また、書換部134は、処理対象住所データと修正候補住所データとの差分が存在する構成情報をログ記憶部124に記憶させてもよい。かかる場合、書換部134は、構成情報記憶部123から、修正候補住所データの構成情報を取得する。そして、書換部134は、構成情報記憶部123から取得した構成情報と、処理対象住所データを形成する構成情報とを比較することにより、処理対象住所データと修正候補住所データとの差分が存在する構成情報を特定する。なお、書換部134は、修正候補住所データの構成情報と、処理対象住所データを形成する構成情報との論理積を演算することにより、双方の構成情報の差異を算出してもよい。
Further, the
また、書換部134は、処理対象住所データと、修正候補住所データとを比較して、双方の住所データが一致しない場合に住所データ書換処理を行ってもよい。これにより、書換部134は、双方の住所データが一致する場合に住所データ書換処理を行わないので、より低負荷かつ高速に住所データ書換処理を行うことができる。
Further, the
また、書換部134は、住所データ書換処理を行わずに、処理対象住所データと、修正候補住所データとをログ記憶部124に記憶させる処理を行ってもよい。かかる場合、システム管理者等は、ログ記憶部124に記憶されているログ情報に基づいて、住所データ書換処理を行うか否かを判断することができる。そして、システム管理者等は、住所データ書換処理を行うと判断した場合に、住所データ書換処理を行うことができる。
Further, the
また、書換部134は、データ修正処理に関する各種ログ情報を所定の表示部に表示制御してもよい。例えば、利用者によって所定の入力フォーム(ブラウザなど)に住所を入力された場合に、対象データ入出力部110が入力された住所データを受け付けることにより、制御部130は、上述したデータ修正処理を行う。そして、書換部134は、利用者によって入力された住所データと修正候補住所データとが異なる場合に、修正候補住所データを表示部に表示制御する。これにより、利用者は、住所を入力する場合に、表記が統一されている住所をリアルタイムに確認することができる。また、データ処理装置100は、所定の記憶部に記憶されている住所データに対して修正処理を行うことなく、表記が統一されている住所データを記憶部に記憶させることができる。
Further, the
次に、実施例1に係るデータ処理装置100によるデータ修正処理の手順について説明する。図10は、実施例1に係るデータ処理装置100によるデータ修正処理手順を示すフローチャートである。なお、図10に示したデータ修正処理手順は、所定の日時かつ所定の時間にバッチ処理として動作したり、データ処理装置100が他の処理(例えば、Webアプリケーション起動処理)を実行している間にバックグラウンドで動作したりする。
Next, a procedure of data correction processing by the
また、図10では、データ処理装置100が、1個の処理対象住所データについてデータ修正処理を行う例について説明する。複数の処理対象住所データについてデータ修正処理を行う場合、データ処理装置100は、図10に示した処理手順を処理対象住所データの数だけ繰り返して行う。
FIG. 10 illustrates an example in which the
図10に示すように、データ処理装置100の対象データ入出力部110は、所定の記憶部から処理対象住所データを取得する(ステップS101)。なお、対象データ入出力部110は、ネットワークを介して他の情報処理装置から処理対象住所データを受信してもよい。続いて、受付部131は、対象データ入出力部110から処理対象住所データを受け付ける。
As shown in FIG. 10, the target data input /
続いて、抽出部132aは、住所要素記憶部122に記憶されている住所要素により形成されるオートマトンに対して、受付部131によって受け付けられた処理対象住所データを順次代入することによって文字列照合を行う(ステップS102)。そして、抽出部132aは、住所要素記憶部122から、処理対象住所データに含まれる住所要素に対応付けて記憶されている住所IDを抽出する(ステップS103)。
Subsequently, the
続いて、一次特定部132bは、抽出部132aによって抽出された住所IDの集合の論理積を演算することにより住所IDを特定する(ステップS104)。一次特定部132bによって特定された住所IDが1個である場合(ステップS105肯定)、書換部134は、住所記憶部121から、かかる住所IDに対応付けて記憶されている正規住所データを取得する(ステップS106)。続いて、書換部134は、所定の記憶部に記憶されている処理対象住所データを、住所記憶部121から取得した正規住所データ(修正候補住所データ)に書き換える(ステップS107)。
Subsequently, the primary specifying
また、書換部134は、住所データ書換処理に関する各種ログ情報をログ記憶部124に記憶させる(ステップS108)。なお、データ処理装置100が、他の情報処理装置からネットワークを介して処理対象住所データを受信した場合、書換部134は、ネットワークを介して、処理対象住所データを上記ステップS106の処理手順において取得された正規住所データに書き換える。
In addition, the
一方、一次特定部132bによって特定された住所IDが1個でない場合(ステップS105否定)、分割部133aは、処理対象住所データを所定の文字数ごとに分割する(ステップS109)。続いて、二次特定部133bは、住所記憶部121から、一次特定部132bによって特定された複数の住所IDに対応付けて記憶されている正規住所データを住所IDごとに取得する(ステップS110)。
On the other hand, when the address ID specified by the primary specifying
続いて、二次特定部133bは、分割部133aによって分割された文字列により形成されるオートマトンに対して、上記ステップS110において取得された正規住所データを順次代入することによって文字列照合を行う(ステップS111)。続いて、二次特定部133bは、上記ステップS110において取得された正規住所データのうち、分割部133aによって分割された文字列と一致する文字列の数が最も多い正規住所データに対応する住所IDを特定する(ステップS112)。 Subsequently, the secondary specifying unit 133b performs character string collation by sequentially substituting the regular address data acquired in step S110 with respect to the automaton formed by the character string divided by the dividing unit 133a ( Step S111). Subsequently, the secondary identification unit 133b includes the address ID corresponding to the regular address data having the largest number of character strings that match the character strings divided by the dividing unit 133a among the regular address data acquired in step S110. Is specified (step S112).
続いて、書換部134は、二次特定部133bによって特定された住所IDが1個である場合(ステップS113肯定)、所定の記憶部に記憶されている処理対象住所データを、二次特定部133bによって特定された正規住所データに書き換える(ステップS114)。また、書換部134は、住所データ書換処理に関する各種ログ情報をログ記憶部124に記憶させる(ステップS108)。
Subsequently, when the address ID specified by the secondary specifying unit 133b is one (Yes at Step S113), the
一方、二次特定部133bによって特定された住所IDが1個でない場合(ステップS113否定)、書換部134は、住所データ書換処理を実行した日時や、処理対象住所データ、二次特定部133bによって特定された複数の正規住所データなどをログ記憶部124に記憶させる(ステップS115)。
On the other hand, when the address ID specified by the secondary specifying unit 133b is not one (No at Step S113), the
次に、図11〜図13を用いて、データ処理装置100によるデータ修正処理の一例について説明する。図11〜図13は、実施例1に係るデータ処理装置100によるデータ修正処理の一例を説明するための図である。なお、以下に説明する3つの例において、住所記憶部121、住所要素記憶部122、構成情報記憶部123に記憶されている各種情報は、それぞれ図3、図4、図5に示した状態であるものとする。
Next, an example of data correction processing by the
まず、図11を用いて、処理対象住所データが「神奈川県川崎市下小田中1丁目」である場合におけるデータ処理装置100によるデータ修正処理について説明する。なお、この処理対象住所データ「神奈川県川崎市下小田中1丁目」を修正するための修正候補住所データは、「神奈川県川崎市中原区下小田中1丁目」である。すなわち、処理対象住所データ「神奈川県川崎市下小田中1丁目」は、表記が統一されている修正候補住所データと比較して「中原区」が抜けている。
First, the data correction processing by the
かかる場合、データ処理装置100の抽出部132aは、図11に示すように、オートマトンを用いた文字列照合処理の結果、住所要素記憶部122から、住所ID「1−499」、「1−100」、「5−9」および「1:5:101:・・・:500:・・・」を抽出する。
In this case, the
続いて、一次特定部132bは、抽出された住所IDの論理積を演算することにより、抽出された住所IDの中から、住所ID「5」を特定する。続いて、書換部134は、一次特定部132bによって住所IDが1個に特定されたため、住所記憶部121から、住所ID「5」に対応付けて記憶されている住所データ「神奈川県川崎市中原区下小田中1丁目」を取得する。そして、書換部134は、処理対象住所データ「神奈川県川崎市下小田中1丁目」を「神奈川県川崎市中原区下小田中1丁目」へ書き換える。
Subsequently, the primary specifying
また、書換部134は、構成情報記憶部123から、住所ID「5」に対応付けて記憶されている構成情報「都道府県|市区郡|政令区町村|町名字|丁目字」を取得する。そして、書換部134は、取得した構成情報と、処理対象住所データを形成する構成情報とが一致するか否かを判定する。ここでは、書換部134は、構成情報「政令区町村」が不一致であると判定する。
Further, the
そして、書換部134は、ログ記憶部124にログ情報を記憶させる。このとき、書換部134は、例えば、構成情報「政令区町村」を書き換えた旨、または、構成情報「政令区町村」を補完した旨のログ情報をログ記憶部124に記憶させる。また、例えば、書換部134は、処理対象住所データ「神奈川県川崎市下小田中1丁目」と、修正候補住所データ「神奈川県川崎市中原区下小田中1丁目」との差分をログ記憶部124に記憶させる。
Then, the
このように、データ処理装置100は、処理対象住所データに構成情報(図11の例では、政令区町村)が抜けている場合であっても、1回の文字列照合処理と、1回の演算処理によって、修正候補住所データを特定することができる。すなわち、データ処理装置100は、処理対象住所データに構成情報が抜けている場合であっても、低負荷かつ高速にデータ修正処理を行うことができる。
As described above, the
次に、図12を用いて、処理対象住所データが「神奈川県横川崎市中原区下小田中1丁目」である場合におけるデータ処理装置100によるデータ修正処理について説明する。なお、この処理対象住所データ「神奈川県横川崎市中原区下小田中1丁目」を修正するための修正候補住所データは、「神奈川県川崎市中原区下小田中1丁目」である。すなわち、処理対象住所データ「神奈川県横川崎市中原区下小田中1丁目」は、表記が統一されている住所データと比較して、「川崎市」の1文字前の「横」が余分に付与されている。
Next, the data correction processing by the
かかる場合、データ処理装置100の抽出部132aは、オートマトンを用いた文字列照合処理の結果、住所要素記憶部122から、住所ID「1−499」、「851−855」、「1−100」、「1−20」、「5−9」および「1:5:101:・・・:500:・・・」を抽出する。なお、住所ID「851−855」は、町名字「横川」を含む住所データの住所IDである。
In such a case, the
続いて、一次特定部132bは、抽出された住所IDの論理積を演算することにより、抽出された住所IDの中から、住所ID「5」を特定する。続いて、書換部134は、住所記憶部121から、住所ID「5」に対応付けて記憶されている住所データ「神奈川県川崎市中原区下小田中1丁目」を取得する。そして、書換部134は、処理対象住所データ「神奈川県横川崎市中原区下小田中1丁目」を「神奈川県川崎市中原区下小田中1丁目」へ書き換える。
Subsequently, the primary specifying
また、書換部134は、構成情報記憶部123から、住所ID「5」に対応付けて記憶されている構成情報「都道府県|市区郡|政令区町村|町名字|丁目字」を取得する。そして、書換部134は、取得した構成情報と、処理対象住所データを形成する構成情報とが一致するか否かを判定する。ここでは、書換部134は、構成情報記憶部123から取得した構成情報と、処理対象住所データを形成する構成情報とが一致すると判定する。
Further, the
そして、書換部134は、ログ記憶部124にログ情報を記憶させる。このとき、書換部134は、例えば、処理対象住所データ「神奈川県横川崎市中原区下小田中1丁目」と、修正候補住所データ「神奈川県川崎市中原区下小田中1丁目」との差分をログ記憶部124に記憶させる。また、書換部134は、かかる差分が存在する構成情報を特定して、特定した構成情報をログ記憶部124に記憶させる。
Then, the
このように、データ処理装置100は、処理対象住所データに余分な文字列が付与されている場合であっても、1回の文字列照合処理と、1回の演算処理によって、修正候補住所データを特定することができる。すなわち、データ処理装置100は、処理対象住所データに余分な文字列が付与されている場合であっても、低負荷かつ高速にデータ修正処理を行うことができる。
As described above, the
次に、図13を用いて、処理対象住所データが「神奈川県川崎市中原区小田中1丁目」である場合におけるデータ処理装置100によるデータ修正処理について説明する。なお、この処理対象住所データ「神奈川県川崎市中原区小田中1丁目」を修正するための修正候補住所データは、「神奈川県川崎市中原区下小田中1丁目」であるものとする。すなわち、処理対象住所データ「神奈川県川崎市中原区小田中1丁目」は、表記が統一されている住所データと比較して、「小田中」の1文字前の「下」が抜けている。
Next, the data correction processing by the
かかる場合、データ処理装置100の抽出部132aは、オートマトンを用いた文字列照合処理の結果、住所要素記憶部122から、住所ID「1−499」、「1−100」、「1−20」および「1:5:101:・・・:500:・・・」を抽出する。
In such a case, the
続いて、一次特定部132bは、抽出された住所IDの論理積を演算することにより、抽出された住所IDの中から、住所ID「1」および「5」を特定する。これは、抽出部132aによって抽出された住所IDの中で、最も多く含まれている住所IDが「1」と「5」であるからである。
Subsequently, the primary specifying
続いて、分割部133aは、処理対象住所データが「神奈川県川崎市中原区小田中1丁目」を1文字ずつ重複させながら2文字単位に分割する。具体的には、分割部133aは、処理対象住所データを「神奈」「奈川」「川県」「県川」「川崎」「崎市」「市中」「中原」「原区」「区小」「小田」「田中」「中1」「1丁」「丁目」に分割する。
Subsequently, the dividing unit 133a divides the processing target address data into units of two characters while overlapping each character “Odanaka 1-chome, Nakahara-ku, Kawasaki City, Kanagawa Prefecture” character by character. Specifically, the dividing unit 133a converts the address data to be processed into “Kan”, “Nagawa”, “Kawa Prefecture”, “Kenagawa”, “Kawasaki”, “Saki City”, “Middle City”, “Nakahara”, “Hara Ward”, “ “Oda” “Tanaka” “
続いて、二次特定部133bは、住所記憶部121から、住所ID「1」に対応付けて記憶されている住所データ「神奈川県川崎市中原区上小田中1丁目」と、住所ID「5」に対応付けて記憶されている住所データ「神奈川県川崎市中原区下小田中1丁目」とを取得する。続いて、二次特定部133bは、分割部133aによって分割された文字列により形成されるオートマトンを用いて、住所記憶部121から取得した住所データと、分割された文字列との文字列照合を行う。
Subsequently, the secondary specifying unit 133b stores the address data “Kamiodachi 1-chome, Nakahara-ku, Kawasaki-shi, Kanagawa” and the address ID “5” stored in the
ここでは、図13に示すように、二次特定部133bは、分割部133aによって分割された文字列のうち、14個の文字列が、住所ID「1」の住所データ「神奈川県川崎市中原区上小田中1丁目」に含まれる文字列と一致することを検出する。同様に、二次特定部133bは、分割部133aによって分割された文字列のうち、14個の文字列が、住所ID「5」の住所データ「神奈川県川崎市中原区下小田中1丁目」に含まれる文字列と一致することを検出する。 Here, as shown in FIG. 13, the secondary specifying unit 133b includes 14 character strings out of the character strings divided by the dividing unit 133a, and the address data “Nakahara, Kawasaki City, Kanagawa Prefecture”. It is detected that it matches the character string included in “Kamikami Odanaka 1-chome”. Similarly, the secondary identifying unit 133b includes 14 character strings out of the character strings divided by the dividing unit 133a in the address data “Shomoodanaka 1-chome, Nakahara-ku, Kawasaki-shi, Kanagawa”. Detects that it matches the contained string.
すなわち、図13に示した例では、住所ID「1」である住所データと、住所ID「5」である住所データとは、分割部133aによって分割された文字列と一致する文字列の数が等しい。したがって、書換部134は、処理対象住所データを書き換えることなく、住所データ書換処理を実行した日時や、処理対象住所データ、住所ID「1」である住所データ、住所ID「5」である住所データなどをログ記憶部124に記憶させる。
That is, in the example illustrated in FIG. 13, the address data with the address ID “1” and the address data with the address ID “5” have the number of character strings that match the character strings divided by the dividing unit 133 a. equal. Therefore, the
このように、データ処理装置100は、修正候補住所データを一意に特定できなかった場合であっても、特定した複数の修正候補住所データをログ記憶部124に記憶させる。これにより、システム管理者等は、かかるログ情報に基づいて、処理対象住所データを、どの修正候補住所データに書き換えるかを判断する候補を得ることができる。
As described above, the
なお、データ処理装置100は、処理対象住所データの市区郡や政令区町村などが入れ代わっている場合、構成情報記憶部123に記憶されている各種情報に基づいて、市区郡や政令区町村などの入れ代わりを検出することができる。処理対象住所データが「神奈川県中原区川崎市下小田中1丁目」である場合を例に挙げて説明する。かかる場合、データ処理装置100は、処理対象住所データを修正するための修正候補住所データの住所IDを「5」に特定する。
In addition, the
このとき、データ処理装置100は、構成情報記憶部123から、住所ID「5」に対応付けて記憶されている構成情報「都道府県|市区郡|政令区町村|町名字|丁目字」を取得する。そして、データ処理装置100は、取得した構成情報と、処理対象住所データの構成情報「都道府県|政令区町村|市区郡|町名字|丁目字」とを比較する。これにより、データ処理装置100は、処理対象住所データの市区郡と政令区町村とが入れ代わっていることを検出することができる。データ処理装置100は、このような市区郡や政令区町村などの入れ代わり情報をログ記憶部124に記憶させてもよい。
At this time, the
上述してきたように、実施例1に係るデータ処理装置100は、住所要素記憶部122に記憶されている住所要素によって形成されるオートマトンを用いて、かかる住所要素と、処理対象住所データに含まれる住所要素との文字列照合を行う。そして、データ処理装置100は、住所要素記憶部122から取得した住所IDの論理積を演算することにより住所IDを特定する。これにより、データ処理装置100は、1回の文字列照合処理と、1回の演算処理を行うことによって、修正候補住所データを特定することができる。その結果、データ処理装置100は、低負荷かつ高速に修正候補住所データを特定することができ、低負荷かつ高速にデータ修正処理を行うことができる。
As described above, the
また、データ処理装置100は、論理積演算の結果、複数の住所IDを特定した場合に、Nグラム法を用いて、修正対象住所データを特定する。これにより、データ処理装置100は、2回の文字列照合処理と、1回の演算処理を行うことによって、修正対象住所データを特定することができる。その結果、データ処理装置100は、低負荷かつ高速に修正対象住所データを特定することができ、低負荷かつ高速にデータ修正処理を行うことができる。
In addition, when a plurality of address IDs are specified as a result of the logical product operation, the
また、データ処理装置100は、Nグラム法を用いた文字列照合処理の結果、複数の住所データを特定した場合に、特定された複数の住所データをログ記憶部124に記憶させる。これにより、システム管理者等は、かかるログ情報に基づいて、処理対象住所データを、どの住所データに書き換えるか判断する候補を得ることができる。
In addition, when a plurality of address data is specified as a result of the character string matching process using the N-gram method, the
なお、上記実施例1では、住所要素記憶部122が、表記が統一されている住所要素(住所記憶部121に記憶されている住所データに含まれる住所要素)を記憶する例を示したが、住所要素記憶部122は、表記が統一されていない住所要素を記憶してもよい。例えば、住所要素記憶部122に表記が不統一になり易い住所要素を記憶させることにより、データ処理装置100は、表記が不統一になり易い住所要素を含む住所データを、表記が統一されている住所データへ容易に修正することができる。
In the first embodiment, the example in which the address
以下に、図14および図15を用いて具体的に説明する。図14は、表記が統一されていない住所要素を記憶する住所要素記憶部122の一例を示す図である。図14に示した例において、タイプに表記した「+」は、表記が統一されていない住所要素であることを示す。このようなタイプに「+」が表記されているレコードが追加されるケースは、例えば、表記が不統一になり易い住所要素が存在する場合である。
This will be specifically described below with reference to FIGS. 14 and 15. FIG. 14 is a diagram illustrating an example of an address
具体的には、図14に示した住所要素記憶部122では、表記が統一されている住所要素「麹町」(図14中の11行目)の表記が不統一になり易い文字列として、「麹町」の異体字(図14中の12行目)が追加されている。同様に、図14に示した住所要素記憶部122では、「麹町」を平仮名で表記した「こうじ町」(図14中の13行目)が追加されている。
Specifically, in the address
続いて、表記が統一されていない住所要素を記憶する住所要素記憶部122を用いたデータ処理装置100によるデータ修正処理の一例について説明する。図15は、表記が統一されていない住所要素を記憶する住所要素記憶部122を用いた場合におけるデータ修正処理の一例を説明するための図である。
Next, an example of data correction processing by the
図15に示した例において、処理対象住所データは、「東京都千代田区こうじ町1丁目」であるものとする。なお、この処理対象住所データ「東京都千代田区こうじ町1丁目」を修正するための修正候補住所データは、「東京都千代田区麹町1丁目」である。すなわち、処理対象住所データ「東京都千代田区こうじ町1丁目」は、表記が統一されている住所データと比較して「麹」の文字列が平仮名で表記されている。 In the example shown in FIG. 15, it is assumed that the processing target address data is “Kojicho 1-chome, Chiyoda-ku, Tokyo”. The correction candidate address data for correcting this processing target address data “Kojicho 1-chome, Chiyoda-ku, Tokyo” is “1-chome Kojimachi, Chiyoda-ku, Tokyo”. That is, in the address data to be processed “Kojicho 1-chome, Chiyoda-ku, Tokyo”, the character string “麹” is written in Hiragana compared to the address data whose notation is unified.
かかる場合、データ処理装置100の抽出部132aは、図15に示すように、オートマトンを用いた文字列照合処理の結果、住所要素記憶部122から、住所ID「500−1500」、「500−599」、「500−510」および「1:5:101:・・・:500:・・・」を抽出する。
In this case, the
続いて、一次特定部132bは、抽出された住所IDの論理積を演算することにより、抽出された住所IDの中から、住所ID「500」を特定する。続いて、書換部134は、住所記憶部121から、住所ID「500」に対応付けて記憶されている住所データ「東京都千代田区麹町1丁目」を取得する。そして、書換部134は、処理対象住所データ「東京都千代田区こうじ町1丁目」を「東京都千代田区麹町1丁目」へ書き換える。
Subsequently, the primary specifying
そして、書換部134は、ログ記憶部124にログ情報を記憶させる。このとき、書換部134は、住所要素記憶部122から取得した住所要素「こうじ町」に対応するタイプに「+」が含まれているので、構成情報「政令区町村」を書き換えた旨のログ情報をログ記憶部124に記憶させる。
Then, the
このように、住所要素記憶部122に表記が統一されていない住所要素を記憶しておくことにより、データ処理装置100は、表記が不統一になり易い住所要素を含む住所データを、表記が統一されている住所データへ容易に修正することができる。
As described above, by storing address elements whose notation is not unified in the address
ところで、上記実施例1では、データ処理装置100の一次特定部132bが、抽出部132aによって抽出された住所IDの集合の論理積を演算することにより住所IDを特定する例を示した。言い換えれば、上記実施例1では、一次特定部132bが、論理積を演算することにより、抽出部132aによって抽出された住所IDの集合に最も多く含まれる住所IDを特定する例を示した。
Incidentally, in the first embodiment, the example in which the
しかし、データ処理装置は、住所要素記憶部に記憶されている住所要素に重要度を付与しておいてもよい。そして、データ処理装置は、処理対象住所データに重要度の高い住所要素が含まれている場合に、かかる住所要素が含まれている住所データを修正候補住所データに特定するようにしてもよい。また、データ処理装置は、重要度の低い住所要素については、論理積演算から除外するようにしてもよい。そこで、実施例2では、住所要素記憶部に記憶されている住所要素に重要度を付与する例について説明する。 However, the data processing device may give importance to the address elements stored in the address element storage unit. Then, when the processing target address data includes a highly important address element, the data processing apparatus may specify the address data including the address element as the correction candidate address data. Further, the data processing apparatus may exclude address elements with low importance from the logical product operation. Therefore, in the second embodiment, an example in which importance is given to an address element stored in the address element storage unit will be described.
まず、実施例2に係るデータ処理装置200の構成について説明する。図16は、実施例2に係るデータ処理装置200の構成を示す図である。図16に示すように、データ処理装置200は、図2に示したデータ処理装置100と比較して、住所要素記憶部122の代わりに住所要素記憶部222を有し、一次特定部132bの代わりに一次特定部232bを有する。
First, the configuration of the
住所要素記憶部222の一例を図17に示す。図17に示すように、住所要素記憶部222は、図4に示した住所要素記憶部122と比較して、項目「重要度」を新たに有する。項目「重要度」は、対応する「住所要素」に記憶されている情報の重要度を記憶する。
An example of the address
図17に示した例において、住所要素記憶部222は、タイプが「都道府県」である住所要素「神奈川県」および「東京都」の重要度に「0」を記憶する。ここで、重要度「0」は、重要度が低いことを示すものとする。そして、重要度「0」は、後述する一次特定部232bにより実行される論理積演算から除外してよいことを示すものとする。
In the example illustrated in FIG. 17, the address
このような重要度「0」は、住所を特定する上で不要な住所要素に付与される。例えば、図17に示した例のように、タイプ「都道府県」に重要度「0」を付与する。これは、一般に、都道府県が不明であっても、市区郡、政令区町村、町名字、丁目字が明確であれば、住所を特定できるからである。 Such importance “0” is given to an address element that is unnecessary for specifying an address. For example, as in the example illustrated in FIG. 17, the importance “0” is assigned to the type “prefecture”. This is because, in general, even if the prefecture is unknown, the address can be specified if the municipality, government-designated city, town name, and chome character are clear.
また、図17に示した例において、住所要素記憶部222は、タイプが「特定名称」である住所要素「○○病院」の重要度に「1」を記憶する。ここで、重要度「1」は、重要度が高いことを示すものとする。そして、重要度「1」は、対応する住所要素(図17の例では、「○○病院」)が処理対象住所データに含まれている場合、後述する一次特定部232bによって、対応する住所ID(図17の例では、「101」)に特定されてよいことを示すものとする。
In the example illustrated in FIG. 17, the address
このような重要度「1」は、住所を一意に特定することができる住所要素(例えば、建物名や、ビル名、施設名)に付与される。例えば、図17に示した例のように、「○○病院」に重要度「1」を付与する。これは、「○○病院」が明確になれば、住所を一意に特定できるからである。 Such importance “1” is given to an address element (for example, a building name, a building name, or a facility name) that can uniquely identify an address. For example, as in the example illustrated in FIG. 17, importance “1” is assigned to “XX hospital”. This is because the address can be uniquely identified if “XX hospital” becomes clear.
一次特定部232bは、抽出部132aによって抽出された住所IDの集合に対して論理積および論理和を演算することにより住所IDを特定する。このとき、一次特定部232bは、抽出部132aによって抽出された住所IDのうち、重要度「0」に対応付けて住所要素記憶部222に記憶されている住所IDを除外して、論理積を演算する。また、一次特定部232bは、重要度が設定されていない住所IDの論理積を演算し、かかる論理積演算の結果と、重要度が「1」である住所IDとの論理和を演算する。
The primary specifying unit 232b specifies an address ID by calculating a logical product and a logical sum for the set of address IDs extracted by the extracting
ここで、図18および図19を用いて、データ処理装置200によるデータ修正処理の一例について説明する。図18および図19は、実施例2に係るデータ処理装置200によるデータ修正処理の一例を説明するための図である。なお、以下に説明する2つの例において、住所記憶部121、住所要素記憶部222に記憶されている各種情報は、それぞれ図3、図17に示した状態であるものとする。
Here, an example of data correction processing by the
まず、図18を用いて、処理対象住所データが「東京都川崎市中原区下小田中1丁目」である場合におけるデータ処理装置200によるデータ修正処理について説明する。なお、この処理対象住所データ「東京都川崎市中原区下小田中1丁目」を修正するための修正候補住所データは、「神奈川県川崎市中原区下小田中1丁目」である。すなわち、処理対象住所データ「東京都川崎市中原区下小田中1丁目」は、表記が統一されている住所データと比較して「神奈川県」と「東京都」とが異なる。
First, the data correction processing by the
かかる場合、データ処理装置200の抽出部132aは、図18に示すように、オートマトンを用いた文字列照合処理の結果、住所要素記憶部222から、住所ID「500−1500」、「1−100」、「1−20」、「5−9」および「1:5:101:・・・:500:・・・」を抽出する。
In this case, the
続いて、一次特定部232bは、抽出された住所IDの論理積を演算する。このとき、一次特定部232bは、重要度が「0」である住所ID「500−1500」を除外して、論理積を演算する。すなわち、一次特定部232bは、住所ID「1−100」、「1−20」、「5−9」および「1:5:101:・・・:500:・・・」の論理積を演算する。これにより、一次特定部232bは、住所ID「5」を特定する。続いて、書換部134は、住所記憶部121から、住所ID「5」に対応付けて記憶されている住所データ「神奈川県川崎市中原区下小田中1丁目」を取得する。そして、書換部134は、処理対象住所データ「東京都川崎市中原区下小田中1丁目」を「神奈川県川崎市中原区下小田中1丁目」へ書き換える。
Subsequently, the primary specifying unit 232b calculates a logical product of the extracted address IDs. At this time, the primary identification unit 232b calculates a logical product by excluding the address ID “500-1500” having the importance of “0”. That is, the primary specifying unit 232b calculates the logical product of the address IDs “1-100”, “1-20”, “5-9”, and “1: 5: 101:...: 500:. To do. Thereby, the primary specific | specification part 232b specifies address ID "5". Subsequently, the
このように、データ処理装置200は、重要度が低い住所要素に対応する住所IDを除外して論理積を演算するので、かかる演算処理をより高速に実行することができる。すなわち、データ処理装置200は、修正対象住所データをより低負荷かつ高速に特定することができる。
As described above, the
次に、図19を用いて、処理対象住所データが「神奈川県横浜市○○病院」である場合におけるデータ処理装置200によるデータ修正処理について説明する。なお、この処理対象住所データ「神奈川県横浜市○○病院」を修正するための修正候補住所データは、「神奈川県横浜市港北区新横浜1丁目○○病院」である。すなわち、処理対象住所データ「神奈川県横浜市○○病院」は、表記が統一されている住所データと比較して「港北区新横浜1丁目」が抜けている。
Next, data correction processing by the
かかる場合、データ処理装置200の抽出部132aは、図19に示すように、オートマトンを用いた文字列照合処理の結果、住所要素記憶部222から、住所ID「1−499」、「101−200」および「101」を抽出する。
In this case, the
続いて、一次特定部232bは、抽出された住所IDのうち、重要度が設定されていない住所IDについては論理積を演算し、重要度が設定されている住所IDについては論理和を演算する。図19に示した例では、一次特定部232bは、(「1−499」AND「101−200」)OR「101」を演算する。そして、一次特定部232bは、かかる演算処理の結果、修正候補住所データの住所IDを、住所ID「101」に特定する。 Subsequently, the primary specifying unit 232b calculates a logical product for the extracted address IDs for which the importance level is not set, and calculates a logical sum for the address ID for which the importance level is set. . In the example illustrated in FIG. 19, the primary specifying unit 232 b calculates (“1-499” AND “101-200”) OR “101”. And the primary specific | specification part 232b specifies address ID of correction candidate address data to address ID "101" as a result of this arithmetic processing.
続いて、書換部134は、住所記憶部121から、住所ID「101」に対応付けて記憶されている住所データ「神奈川県横浜市港北区新横浜1丁目○○病院」を取得する。そして、書換部134は、処理対象住所データ「神奈川県横浜市○○病院」を「神奈川県横浜市港北区新横浜1丁目○○病院」へ書き換える。
Subsequently, the
このように、データ処理装置200は、重要度が高い住所要素に対応する住所IDを優先的に修正候補住所データに特定する。これにより、データ処理装置200は、処理対象住所データに重要度が高い住所要素が含まれている場合に、修正候補住所データを高精度に特定することができる。
In this way, the
なお、上記実施例2では、2個の重要度(「0」または「1」)について説明したが、データ処理装置200は、住所要素記憶部222に3個以上の重要度を付与してもよい。かかる場合、一次特定部232bは、処理対象住所データに含まれる住所要素の重要度が高いほど、かかる住所要素に対応する住所IDを優先的に修正候補住所データに特定する。例えば、一次特定部232bは、重要度が所定の閾値よりも低い住所IDを除外するとともに、重要度が所定の閾値よりも高い住所IDについては論理和演算を行う。
In the second embodiment, two importance levels (“0” or “1”) have been described. However, the
また、図2および図16に示したデータ処理装置100および200の構成は、要旨を逸脱しない範囲で種々に変更することができる。例えば、データ処理装置100の制御部130の機能をソフトウェアとして実装し、これをコンピュータで実行することにより、データ処理装置100と同等の機能を実現することもできる。以下に、データ処理装置100の各種処理部の機能をソフトウェアとして実装したデータ処理プログラム1071を実行するコンピュータの一例を示す。
Further, the configurations of the
図20は、データ処理プログラム1071を実行するコンピュータ1000を示す図である。このコンピュータ1000は、各種演算処理を実行するCPU(Central Processing Unit)1010と、ユーザからのデータの入力を受け付ける入力装置1020と、各種情報を表示するモニタ1030と、記録媒体からプログラム等を読み取る媒体読取り装置1040と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインターフェース装置1050と、各種情報を一時記憶するRAM(Random Access Memory)1060と、ハードディスク装置1070とをバス1080で接続して構成される。
FIG. 20 is a diagram illustrating a
そして、ハードディスク装置1070には、図2に示した制御部130と同様の機能を有するデータ処理プログラム1071が記憶される。また、ハードディスク装置1070には、図2に示した記憶部120に記憶される各種データ(住所記憶部121、住所要素記憶部122および構成情報記憶部123)に対応するデータ処理関連データ1072が記憶される。また、ハードディスク装置1070には、図2に示したログ記憶部124に対応するログファイル1073が記憶される。なお、データ処理関連データ1072またはログファイル1073を、適宜分散させ、ネットワークを介して接続された他のコンピュータに記憶させておくこともできる。
The
そして、CPU1010がデータ処理プログラム1071をハードディスク装置1070から読み出してRAM1060に展開することにより、データ処理プログラム1071は、データ処理プロセス1061として機能するようになる。そして、データ処理プロセス1061は、データ処理関連データ1072から読み出した情報等を適宜RAM1060上の自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種データ処理を実行する。そして、データ処理プロセス1061は、所定の情報をログファイル1073に出力する。
Then, the
なお、上記のデータ処理プログラム1071は、必ずしもハードディスク装置1070に格納されている必要はなく、CD−ROM等の記憶媒体に記憶されたこのプログラムを、コンピュータ1000が読み出して実行するようにしてもよい。また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等を介してコンピュータ1000に接続される他のコンピュータ(またはサーバ)等にこのプログラムを記憶させておき、コンピュータ1000がこれらからプログラムを読み出して実行するようにしてもよい。
Note that the data processing program 1071 does not necessarily have to be stored in the
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。 The following supplementary notes are further disclosed with respect to the embodiments including the above examples.
(付記1)所定の文字列と、前記所定の文字列を識別するための文字列識別子とを記憶する文字列記憶手段と、
前記所定の文字列に含まれる文字列である文字列要素と、該文字列要素が含まれる前記所定の文字列を示す文字列識別子の集合とを記憶する文字列要素記憶手段と、
前記文字列要素記憶手段から、処理対象の文字列に含まれる文字列要素に対応付けて記憶されている文字列識別子の集合を抽出する抽出手段と、
前記抽出手段によって抽出された文字列識別子の集合に最も多く含まれている文字列識別子を、前記処理対象の文字列と一致または類似する文字列である対応文字列を示す文字列識別子に特定する第一の特定手段と
を備えたことを特徴とするデータ処理装置。
(Supplementary Note 1) Character string storage means for storing a predetermined character string and a character string identifier for identifying the predetermined character string;
A character string element storage means for storing a character string element that is a character string included in the predetermined character string; and a set of character string identifiers indicating the predetermined character string including the character string element;
Extraction means for extracting a set of character string identifiers stored in association with the character string elements included in the character string to be processed from the character string element storage means;
A character string identifier that is most frequently included in the set of character string identifiers extracted by the extracting unit is specified as a character string identifier that indicates a corresponding character string that is a character string that matches or is similar to the character string to be processed. A data processing apparatus comprising: a first specifying unit.
(付記2)前記第一の特定手段によって特定された文字列識別子が複数存在する場合に、前記処理対象の文字列を所定のサイズごとに分割する分割手段と、
前記第一の特定手段によって特定された文字列識別子が示す複数の文字列のうち、前記分割手段によって分割された文字列である分割文字列が最も多く含まれる文字列を前記対応文字列に特定する第二の特定手段とをさらに備えたことを特徴とする付記1に記載のデータ処理装置。
(Supplementary Note 2) When there are a plurality of character string identifiers specified by the first specifying means, a dividing unit that divides the character string to be processed by a predetermined size;
Among the plurality of character strings indicated by the character string identifier specified by the first specifying means, the character string containing the largest number of divided character strings that are character strings divided by the dividing means is specified as the corresponding character string. The data processing apparatus according to
(付記3)前記抽出手段は、前記文字列要素記憶手段に記憶されている文字列要素により形成されるオートマトンを用いて、前記処理対象の文字列に含まれる文字列要素と、前記文字列要素記憶手段に記憶されている文字列要素とを照合することにより、前記文字列要素記憶手段から、前記処理対象の文字列に含まれる文字列要素に対応付けて記憶されている文字列識別子の集合を抽出することを特徴とする付記1または2に記載のデータ処理装置。
(Additional remark 3) The said extraction means uses the automaton formed by the character string element memorize | stored in the said character string element memory | storage means, The character string element contained in the said character string to be processed, The said character string element A set of character string identifiers stored in association with the character string elements included in the character string to be processed from the character string element storage means by collating with the character string elements stored in the storage means The data processing apparatus according to
(付記4)前記第一の特定手段は、前記抽出手段によって抽出された文字列識別子の集合の論理積を演算することにより、前記対応文字列を示す文字列識別子を特定することを特徴とする付記1〜3のいずれか一つに記載のデータ処理装置。
(Supplementary note 4) The first specifying means specifies a character string identifier indicating the corresponding character string by calculating a logical product of a set of character string identifiers extracted by the extracting means. The data processing device according to any one of
(付記5)前記文字列要素記憶手段は、前記文字列要素と前記文字列識別子の集合とに対応付けて、該文字列要素の重要度をさらに記憶し、
前記第一の特定手段は、前記抽出手段によって抽出された文字列識別子の集合のうち、前記文字列要素記憶手段に記憶されている重要度が高い文字列識別子ほど、前記対応文字列を示す文字列識別子に特定することを特徴とする付記1〜4のいずれか一つに記載のデータ処理装置。
(Supplementary Note 5) The character string element storage unit further stores the importance of the character string element in association with the character string element and the set of character string identifiers,
The first specifying unit includes a character string identifier having a higher importance level stored in the character string element storage unit in the set of character string identifiers extracted by the extraction unit, and indicating the corresponding character string. The data processing device according to any one of
(付記6)前記第一の特定手段は、前記抽出手段によって抽出された文字列識別子の集合から前記重要度が所定の閾値よりも低い文字列識別子の集合を除外した文字列識別子の集合に最も多く含まれている文字列識別子を、前記対応文字列を示す文字列識別子に特定することを特徴とする付記5に記載のデータ処理装置。
(Supplementary note 6) The first specifying means is a set of character string identifiers obtained by excluding a set of character string identifiers whose importance is lower than a predetermined threshold from a set of character string identifiers extracted by the extraction means. The data processing apparatus according to
(付記7)前記第一の特定手段は、前記抽出手段によって抽出された文字列識別子のうち、前記重要度が所定の閾値よりも低い文字列識別子の集合の論理積を演算し、論理積演算の結果と、前記重要度が所定の閾値よりも高い文字列識別子の集合との論理和を演算することにより、前記対応文字列を示す文字列識別子を特定することを特徴とする付記5または6に記載のデータ処理装置。 (Additional remark 7) Said 1st specific means calculates the logical product of the set of the character string identifier whose said importance is lower than a predetermined threshold among the character string identifiers extracted by said extraction means, and performs logical product operation A character string identifier indicating the corresponding character string is specified by calculating a logical sum of the result of the above and a set of character string identifiers having a degree of importance higher than a predetermined threshold. The data processing apparatus described in 1.
(付記8)前記第一の特定手段によって文字列識別子が一意に特定された場合に、前記処理対象の文字列を、該文字列識別子に対応付けて前記文字列記憶手段に記憶されている文字列に書き換え、前記第一の特定手段によって特定された文字列識別子が複数存在する場合に、前記処理対象の文字列を、前記第二の特定手段によって特定された対応文字列に書き換える書換手段をさらに備えたことを特徴とする付記1〜7のいずれか一つに記載のデータ処理装置。
(Supplementary Note 8) When a character string identifier is uniquely specified by the first specifying means, the character string stored in the character string storage means is associated with the character string identifier in association with the character string identifier to be processed. Rewriting means for rewriting to a string, and when there are a plurality of character string identifiers specified by the first specifying means, the rewriting means for rewriting the character string to be processed to the corresponding character string specified by the second specifying means The data processing device according to any one of
(付記9)前記書換手段は、前記処理対象の文字列と前記対応文字列とが異なる場合に、前記処理対象の文字列を前記対応文字列に書き換えることを特徴とする付記8に記載のデータ処理装置。 (Supplementary note 9) The data according to supplementary note 8, wherein the rewriting means rewrites the processing target character string to the corresponding character string when the processing target character string is different from the corresponding character string. Processing equipment.
(付記10)前記対応文字列と、前記処理対象の文字列と、前記対応文字列と前記処理対象の文字列との差異とを、所定の表示部または所定の記憶部に出力するログ出力手段をさらに備えたことを特徴とする付記1〜9のいずれか一つに記載のデータ処理装置。
(Supplementary Note 10) Log output means for outputting the corresponding character string, the character string to be processed, and the difference between the corresponding character string and the character string to be processed to a predetermined display unit or a predetermined storage unit The data processing device according to any one of
(付記11)所定の文字列に含まれる文字列である文字列要素と、該文字列要素が含まれる前記所定の文字列を識別するための文字列識別子の集合とを記憶する文字列要素記憶手段から、処理対象の文字列に含まれる文字列要素に対応付けて記憶されている文字列識別子の集合を抽出する抽出手順と、
前記抽出手順によって抽出された文字列識別子の集合に最も多く含まれている文字列識別子を、前記処理対象の文字列と一致または類似する文字列である対応文字列を示す文字列識別子に特定する第一の特定手順と
をコンピュータに実行させることを特徴とするデータ処理プログラム。
(Supplementary Note 11) Character string element storage for storing a character string element which is a character string included in a predetermined character string and a set of character string identifiers for identifying the predetermined character string including the character string element An extraction procedure for extracting a set of character string identifiers stored in association with character string elements included in the character string to be processed from the means;
A character string identifier that is most frequently included in the set of character string identifiers extracted by the extraction procedure is specified as a character string identifier indicating a corresponding character string that is a character string that matches or is similar to the character string to be processed. A data processing program that causes a computer to execute the first specific procedure.
(付記12)前記第一の特定手順によって特定された文字列識別子が複数存在する場合に、前記処理対象の文字列を所定のサイズごとに分割する分割手順と、
前記第一の特定手順によって特定された文字列識別子が示す複数の文字列のうち、前記分割手順によって分割された文字列である分割文字列が最も多く含まれる文字列を前記対応文字列に特定する第二の特定手順とをさらにコンピュータに実行させることを特徴とする付記11に記載のデータ処理プログラム。
(Supplementary Note 12) When there are a plurality of character string identifiers specified by the first specifying procedure, a dividing procedure for dividing the character string to be processed by a predetermined size;
Among the plurality of character strings indicated by the character string identifier specified by the first specifying procedure, the character string containing the largest number of divided character strings that are character strings divided by the dividing procedure is specified as the corresponding character string. The data processing program according to
(付記13)前記文字列要素記憶手段は、前記文字列要素と前記文字列識別子の集合とに対応付けて、該文字列要素の重要度をさらに記憶し、
前記第一の特定手順は、前記抽出手順によって抽出された文字列識別子の集合のうち、前記文字列要素記憶手段に記憶されている重要度が高い文字列識別子ほど、前記対応文字列を示す文字列識別子に特定することを特徴とする付記11または12に記載のデータ処理プログラム。
(Supplementary note 13) The character string element storage means further stores the importance of the character string element in association with the character string element and the set of character string identifiers,
In the first specific procedure, a character string identifier having a higher importance stored in the character string element storage unit of the set of character string identifiers extracted by the extraction procedure is a character indicating the corresponding character string. 13. The data processing program according to
(付記14)前記第一の特定手順によって文字列識別子が一意に特定された場合に、前記所定の文字列と該所定の文字列の文字列識別子とを記憶する文字列記憶手段から、前記第一の特定手順によって特定された文字列識別子に対応付けて記憶されている文字列を取得し、前記処理対象の文字列を、取得した文字列に書き換え、前記第一の特定手順によって特定された文字列識別子が複数存在する場合に、前記処理対象の文字列を、前記第二の特定手順によって特定された対応文字列に書き換える書換手順をさらにコンピュータに実行させることを特徴とする付記11〜13のいずれか一つに記載のデータ処理プログラム。 (Supplementary Note 14) When a character string identifier is uniquely specified by the first specifying procedure, from the character string storage means for storing the predetermined character string and the character string identifier of the predetermined character string, The character string stored in association with the character string identifier specified by one specific procedure is acquired, the character string to be processed is rewritten to the acquired character string, and is specified by the first specific procedure Additional remarks 11-13, wherein when there are a plurality of character string identifiers, the computer further executes a rewriting procedure for rewriting the character string to be processed into the corresponding character string specified by the second specifying procedure. A data processing program according to any one of the above.
(付記15)前記対応文字列と、前記処理対象の文字列と、前記対応文字列と前記処理対象の文字列との差異とを、所定の表示部または所定の記憶部に出力するログ出力手順をさらにコンピュータに実行させることを特徴とする付記11〜14のいずれか一つに記載のデータ処理プログラム。
(Supplementary Note 15) A log output procedure for outputting the corresponding character string, the character string to be processed, and the difference between the corresponding character string and the character string to be processed to a predetermined display unit or a predetermined storage unit The data processing program according to any one of
(付記16)データ処理装置が、
所定の文字列に含まれる文字列である文字列要素と、該文字列要素が含まれる前記所定の文字列を識別するための文字列識別子の集合とを記憶する文字列要素記憶手段から、処理対象の文字列に含まれる文字列要素に対応付けて記憶されている文字列識別子の集合を抽出する抽出工程と、
前記抽出工程によって抽出された文字列識別子の集合に最も多く含まれている文字列識別子を、前記処理対象の文字列と一致または類似する文字列である対応文字列を示す文字列識別子に特定する第一の特定工程と
を含んだことを特徴とするデータ処理方法。
(Supplementary Note 16) The data processing device is
Processing from a character string element storage means for storing a character string element that is a character string included in the predetermined character string and a set of character string identifiers for identifying the predetermined character string including the character string element. An extraction step of extracting a set of character string identifiers stored in association with character string elements included in the target character string;
A character string identifier that is most frequently included in the set of character string identifiers extracted in the extraction step is specified as a character string identifier that indicates a corresponding character string that is a character string that matches or is similar to the character string to be processed. A data processing method comprising: a first specific step.
(付記17)前記第一の特定工程によって特定された文字列識別子が複数存在する場合に、前記処理対象の文字列を所定のサイズごとに分割する分割工程と、
前記第一の特定工程によって特定された文字列識別子が示す複数の文字列のうち、前記分割工程によって分割された文字列である分割文字列が最も多く含まれる文字列を前記対応文字列に特定する第二の特定工程とをさらに含んだことを特徴とする付記16に記載のデータ処理方法。
(Supplementary Note 17) When there are a plurality of character string identifiers specified by the first specifying step, a dividing step of dividing the processing target character string into predetermined sizes;
Among the plurality of character strings indicated by the character string identifier specified by the first specifying step, the character string containing the largest number of divided character strings that are character strings divided by the dividing step is specified as the corresponding character string. The data processing method according to appendix 16, further including a second specific step.
(付記18)前記文字列要素記憶手段は、前記文字列要素と前記文字列識別子の集合とに対応付けて、該文字列要素の重要度をさらに記憶し、
前記第一の特定工程は、前記抽出工程によって抽出された文字列識別子の集合のうち、前記文字列要素記憶手段に記憶されている重要度が高い文字列識別子ほど、前記対応文字列を示す文字列識別子に特定することを特徴とする付記16または17に記載のデータ処理方法。
(Supplementary Note 18) The character string element storage means further stores the importance of the character string element in association with the character string element and the set of character string identifiers,
In the first specifying step, a character string identifier having a higher importance level stored in the character string element storage unit of the set of character string identifiers extracted in the extraction step is a character indicating the corresponding character string. 18. The data processing method according to appendix 16 or 17, wherein the data is specified as a column identifier.
(付記19)前記第一の特定工程によって文字列識別子が一意に特定された場合に、前記所定の文字列と該所定の文字列の文字列識別子とを記憶する文字列記憶手段から、前記第一の特定工程によって特定された文字列識別子に対応付けて記憶されている文字列を取得し、前記処理対象の文字列を、取得した文字列に書き換え、前記第一の特定工程によって特定された文字列識別子が複数存在する場合に、前記処理対象の文字列を、前記第二の特定工程によって特定された対応文字列に書き換える書換工程をさらに含んだことを特徴とする付記16〜18のいずれか一つに記載のデータ処理方法。 (Supplementary note 19) When a character string identifier is uniquely specified by the first specifying step, from the character string storage means for storing the predetermined character string and a character string identifier of the predetermined character string, A character string stored in association with the character string identifier specified by one specifying step is acquired, the processing target character string is rewritten to the acquired character string, and the first specifying step specifies Any one of supplementary notes 16 to 18, further comprising a rewriting step of rewriting the character string to be processed with the corresponding character string specified in the second specifying step when there are a plurality of character string identifiers. The data processing method as described in any one.
(付記20)前記対応文字列と、前記処理対象の文字列と、前記対応文字列と前記処理対象の文字列との差異とを、所定の表示部または所定の記憶部に出力するログ出力工程をさらに含んだことを特徴とする付記16〜19のいずれか一つに記載のデータ処理方法。 (Supplementary Note 20) A log output step of outputting the corresponding character string, the character string to be processed, and the difference between the corresponding character string and the character string to be processed to a predetermined display unit or a predetermined storage unit The data processing method according to any one of supplementary notes 16 to 19, further comprising:
100 データ処理装置
110 対象データ入出力部
120 記憶部
121 住所記憶部
122 住所要素記憶部
123 構成情報記憶部
124 ログ記憶部
130 制御部
131 受付部
132 一次探索部
132a 抽出部
132b 一次特定部
133 二次探索部
133a 分割部
133b 二次特定部
134 書換部
200 データ処理装置
222 住所要素記憶部
232b 一次特定部
1000 コンピュータ
1010 CPU
1020 入力装置
1030 モニタ
1040 媒体読取り装置
1050 ネットワークインターフェース装置
1060 RAM
1061 データ処理プロセス
1070 ハードディスク装置
1071 データ処理プログラム
1072 データ処理関連データ
1073 ログファイル
1080 バス
DESCRIPTION OF
1020
1061
Claims (8)
入力文字列より前記入力文字列に含まれる複数の文字列要素を特定し、前記特定した複数の当該文字列要素の少なくとも1つを含む複数の文字列を前記文字列記憶手段から抽出する抽出手段と、
前記特定した複数の文字列要素と前記抽出された複数の文字列に含まれる文字列要素との対応関係に基づき、前記抽出された複数の文字列より、前記入力文字列と対応する対応文字列を特定する第一の特定手段と、を備え、
前記抽出手段は、前記複数の文字列の抽出を、前記入力文字列に含まれる文字列要素と、前記文字列記憶手段に記憶された文字列要素との1回の文字列照合処理によって行い、
前記第一の特定手段は、前記対応文字列の特定を、前記抽出された複数の文字列間での1回の特定処理によって行うことを特徴とするデータ処理装置。 Character string storage means for storing a plurality of character strings composed of a plurality of character string elements in association with character string elements that are character strings included in each of the plurality of character strings;
Extraction means for identifying a plurality of character string elements included in the input character string from the input character string, and extracting a plurality of character strings including at least one of the specified character string elements from the character string storage means When,
Corresponding character string corresponding to the input character string from the extracted character strings based on the correspondence relationship between the specified character string elements and the character string elements included in the extracted character strings and a first specifying means for specifying,
The extraction means performs extraction of the plurality of character strings by a single character string matching process between a character string element included in the input character string and a character string element stored in the character string storage means,
The data processing apparatus according to claim 1, wherein the first specifying unit specifies the corresponding character string by a single specifying process between the extracted character strings .
複数の対応文字列のうち、前記分割手段によって分割された文字列である分割文字列が最も多く含まれるものを前記対応文字列に特定する第二の特定手段と、
をさらに備えたことを特徴とする請求項1に記載のデータ処理装置。 A dividing unit that divides the input character string by a predetermined size when there are a plurality of corresponding character strings specified by the first specifying unit;
Second identifying means for identifying the corresponding character string that includes the largest number of divided character strings that are character strings divided by the dividing means among a plurality of corresponding character strings;
The data processing apparatus according to claim 1, further comprising:
前記第一の特定手段は、前記抽出手段によって抽出された複数の文字列のうち、重要度が高い文字列要素を含む文字列ほど、前記対応文字列に特定することを特徴とする請求項1または2に記載のデータ処理装置。 The character string storage means further stores the importance of the character string element in association with the character string element,
The first specifying means specifies a character string including a character string element having a higher importance among the plurality of character strings extracted by the extracting means as the corresponding character string. Or the data processing apparatus of 2.
前記特定した複数の文字列要素と前記抽出された複数の文字列に含まれる文字列要素との対応関係に基づき、前記抽出された複数の文字列より、前記入力文字列と対応する対応文字列を特定する第一の特定手順と、をコンピュータに実行させ、
前記抽出手順において、前記複数の文字列の抽出を、前記入力文字列に含まれる文字列要素と、前記文字列記憶手段に記憶された文字列要素との1回の文字列照合処理によって行い、
前記第一の特定手順において、前記対応文字列の特定を、前記抽出された複数の文字列間での1回の特定処理によって行うことを特徴とするデータ処理プログラム。 A plurality of character string elements included in the input character string are identified from the input character string, and a plurality of character strings including at least one of the identified plurality of character string elements are configured by a plurality of character string elements. An extraction procedure for extracting a plurality of character strings from a character string storage unit that stores the character strings in association with character string elements that are character strings included in each of the plurality of character strings;
Corresponding character string corresponding to the input character string from the extracted character strings based on the correspondence relationship between the specified character string elements and the character string elements included in the extracted character strings a first specifying step of specifying, a cause the computer to execute a
In the extraction procedure, extraction of the plurality of character strings is performed by a single character string matching process between a character string element included in the input character string and a character string element stored in the character string storage unit,
In the first identification procedure, the corresponding character string is identified by one identification process between the extracted character strings .
複数の対応文字列のうち、前記分割手順によって分割された文字列である分割文字列が最も多く含まれるものを前記対応文字列に特定する第二の特定手順と、
をさらにコンピュータに実行させることを特徴とする請求項6に記載のデータ処理プログラム。 A dividing procedure for dividing the input character string into predetermined sizes when there are a plurality of corresponding character strings specified by the first specifying procedure;
A plurality of corresponding character strings, a second specifying procedure for specifying, in the corresponding character string, a character string that is the most divided character string divided by the dividing procedure;
The data processing program according to claim 6, further causing a computer to execute.
前記コンピュータが備える特定手段が、前記特定した複数の文字列要素と前記抽出された複数の文字列に含まれる文字列要素との対応関係に基づき、前記抽出された複数の文字列より、前記入力文字列と対応する対応文字列を特定する特定工程と、を含み、
前記抽出工程において、前記複数の文字列の抽出を、前記入力文字列に含まれる文字列要素と、前記文字列記憶手段に記憶された文字列要素との1回の文字列照合処理によって行い、
前記特定工程において、前記対応文字列の特定を、前記抽出された複数の文字列間での1回の特定処理によって行うことを特徴とするデータ処理方法。 The extraction means included in the computer specifies a plurality of character string elements included in the input character string from the input character string, and a plurality of character strings including at least one of the specified plurality of character string elements An extraction step of extracting a plurality of character strings composed of character string elements from character string storage means for storing in association with character string elements that are character strings included in each of the plurality of character strings;
The specifying means provided in the computer is configured to input the input from the extracted character strings based on a correspondence relationship between the specified character string elements and the character string elements included in the extracted character strings. and the specific process that identifies the corresponding character string corresponding to the character string, only including,
In the extraction step, extraction of the plurality of character strings is performed by a single character string matching process between a character string element included in the input character string and a character string element stored in the character string storage unit,
In the specifying step, the corresponding character string is specified by a single specifying process between the extracted character strings .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008214539A JP5544693B2 (en) | 2008-08-22 | 2008-08-22 | Data processing apparatus, data processing program, and data processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008214539A JP5544693B2 (en) | 2008-08-22 | 2008-08-22 | Data processing apparatus, data processing program, and data processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010049574A JP2010049574A (en) | 2010-03-04 |
JP5544693B2 true JP5544693B2 (en) | 2014-07-09 |
Family
ID=42066588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008214539A Active JP5544693B2 (en) | 2008-08-22 | 2008-08-22 | Data processing apparatus, data processing program, and data processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5544693B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6470249B2 (en) * | 2016-12-20 | 2019-02-13 | ソフトバンク株式会社 | Data cleansing system, data cleansing method, and data cleansing program |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04270449A (en) * | 1991-02-04 | 1992-09-25 | Nippon Telegr & Teleph Corp <Ntt> | Address input device |
JPH07146878A (en) * | 1993-11-25 | 1995-06-06 | Nippon Telegr & Teleph Corp <Ntt> | Information retrieval device |
JP3003605B2 (en) * | 1996-12-25 | 2000-01-31 | 日本電気株式会社 | Word correction device and word correction method |
JPH11235554A (en) * | 1998-02-20 | 1999-08-31 | Toshiba Corp | Postal item address recognizing apparatus |
JP2001229182A (en) * | 2000-02-14 | 2001-08-24 | Hitachi Eng Co Ltd | Method and device for electronic map retrieval and recording medium with recorded electronic map retrieving program |
-
2008
- 2008-08-22 JP JP2008214539A patent/JP5544693B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010049574A (en) | 2010-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9645979B2 (en) | Device, method and program for generating accurate corpus data for presentation target for searching | |
JP2007079948A (en) | Technical term extraction apparatus, technical term extraction method and technical term extraction program | |
US8750571B2 (en) | Methods of object search and recognition | |
JP4706379B2 (en) | Address recognition device | |
CN115223188A (en) | Bill information processing method, device, electronic equipment and computer storage medium | |
JP5544693B2 (en) | Data processing apparatus, data processing program, and data processing method | |
JP2010134828A (en) | Database synthesizer, character recognition support system, and method of synthesizing database | |
US20150193459A1 (en) | Data file searching method | |
JP5669041B2 (en) | Document processing apparatus and document processing method | |
JP2020064396A (en) | Report creating device, method, and program | |
JP6604207B2 (en) | Relation information generation method, apparatus, and program | |
JP2003223453A (en) | Matching method for address information with position coordinates | |
JP3724036B2 (en) | Information input device | |
JP6123372B2 (en) | Information processing system, name identification method and program | |
CN112685304A (en) | Front-end information standard checking method, system, device and storage medium | |
JP2003223459A (en) | Managing method for address information | |
JP2015106216A (en) | Inhabitant address management system and inhabitant address management method | |
JP2006221047A (en) | Method of transferring map information system to different electronic map | |
US11868726B2 (en) | Named-entity extraction apparatus, method, and non-transitory computer readable storage medium | |
JP5380130B2 (en) | File search apparatus, file search method, and program | |
JP3972310B2 (en) | Information conversion apparatus and program | |
JP4069093B2 (en) | REPLACEMENT PATTERN GENERATION DEVICE, METHOD, AND PROGRAM | |
KR20120019706A (en) | System for recognizing adress of mailings | |
JP2016095723A (en) | Correspondence information creation program, correspondence information creation device, and correspondence information creation method | |
JP2011146019A (en) | Inconsistency detection device, program and method, correction support device, program and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110513 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121225 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130924 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140415 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140428 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5544693 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |