JP6470249B2 - データクレンジングシステム、データクレンジング方法及びデータクレンジングプログラム - Google Patents

データクレンジングシステム、データクレンジング方法及びデータクレンジングプログラム Download PDF

Info

Publication number
JP6470249B2
JP6470249B2 JP2016246327A JP2016246327A JP6470249B2 JP 6470249 B2 JP6470249 B2 JP 6470249B2 JP 2016246327 A JP2016246327 A JP 2016246327A JP 2016246327 A JP2016246327 A JP 2016246327A JP 6470249 B2 JP6470249 B2 JP 6470249B2
Authority
JP
Japan
Prior art keywords
character string
token
candidate
dictionary
address
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
Application number
JP2016246327A
Other languages
English (en)
Other versions
JP2018101244A (ja
Inventor
昌市 西田
昌市 西田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SoftBank Corp
Original Assignee
SoftBank Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SoftBank Corp filed Critical SoftBank Corp
Priority to JP2016246327A priority Critical patent/JP6470249B2/ja
Publication of JP2018101244A publication Critical patent/JP2018101244A/ja
Application granted granted Critical
Publication of JP6470249B2 publication Critical patent/JP6470249B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、名寄せ処理やデータクリーニング処理など、入力された文字列から住所に関する情報を抽出し特定するデータクレンジングシステム、データクレンジング方法及びデータクレンジングプログラムに関する。
テキスト処理技術の一つとして、情報抽出技術が種々開発されている。これは、テキストを解析して指定したオブジェクトの情報を抜き出す技術であり、この情報抽出技術では、企業名、個人名、住所、電話番号などの情報を抽出し、情報抽出の結果は、既存の情報への付加情報或いは更新情報として活用される。この際、データ補正や重複データ判別のための処理を行い、データベース内に無秩序に格納されたデータを標準化する技術としてデータクレンジング(データクリーニング/名寄せ)がある。このデータクレンジングとは一般には顧客情報の一元化を意味するが、より広い意味では同一のオブジェクトに関する情報を一元化するための技術である。例えば複数の企業情報で社名と住所が一致している場合、それらを同一と判断することで、企業というオブジェクトの情報を一元的に管理することを可能とする。
ところで、上述した名寄せやデータクレンジングでは、一般的に、類似度によってキーワードに近いデータを検索する「あいまい検索機能」を、住所全体に対して行い、同一の住所を検出する処理を行う手法が採用されている。ところが、住所全体に対してあいまい検索を行うと、文字の意味や属性を無視して文字列の一致度のみで検索するため、明らかに違う住所がヒットしてしまう場合がある。例えば、「東京都○○区××4丁目22−19」と「東京都○○区××4丁目2−19」とは、住所としては全く別であるが、文字列としては1文字だけの違いであるため同様に検出される。また、「東京都○○区××4−22−19」と「東京都○○区××4丁目22−19」とは、住所としては同一であるが、あいまい検索では一致度が低く検出されない。このため、あいまい検索を用いたデータクレンジングでは、最低限、建物名以前までは意味が完全に一致するように処理する必要がり、住所を構成する文字の意味をコンピューターが理解できるように形態素解析を行い分解しておく必要がある。
従来の形態素解析を用いた方法としては、例えば、特許文献1に開示されたような読替え可能な文字列の対応を記録した読み替え辞書を用いて、文字列の読替えを行うプログラムがある。この特許文献1に開示された読み替え辞書とは、読替え可能な文字列の対応を記録した辞書データであり、コンピューターを用いた名寄せ処理における正規化辞書や、一種のシソーラスなどとして利用できる。この読替え辞書では、形態素解析により文字列に含まれる単語又は複合語として分解し、単語又は複合語の対応を抽出して読み替え辞書に登録しておき、それら単語又は複合語の対応を用いて文字列を読み替え、データ補正や重複データの判別を行う。
この特許文献1に開示されたプログラムでは、第1の文字列と第2の文字列とを取得し、取得した第1の文字列と第2の文字列とから、それぞれ単語又は複合語である文字列を抽出し、操作者の選択操作に応じて、選択された文字列の対を記憶部に記憶しておき、表記が類似しない文字列の対応を読替え可能な文字列の対応の候補として抽出可能とする。
特開2013−65068号公報
しかしながら、上述した特許文献1に開示されたプログラムでは、読み替え可能な単語や複合語を対応付けておき、読み替えの候補として提示するだけのものであることから、例えば、新宿区の「新宿(シンジュク)」と葛飾区にある「新宿(ニイジュク)」など表記が同じ地名については、区別されることなく候補として抽出されることとなり、さらに、市区町村を省略して表記されていたり、建物名や人名などが混在している場合には、誤った候補が抽出されたり、或いは無数の候補が抽出されたりすることとなり、正確なデータクレンジングが困難となる可能性がある。
そこで、本発明では、上記課題を解決するために、表記が同じ地名や、省略された表記、建物名や人名などが混在している場合であっても、正確なデータクレンジングが可能なデータクレンジングシステム、データクレンジング方法及びデータクレンジングプログラムを提供することを目的とする。
上記課題を解決するために、本発明は、
入力された文字列から、住所に関する情報を抽出し特定するデータクレンジングシステムであって、
前記文字列を取得する文字列取得部と、
前記入力された文字列を可能な文字の切り分け方を全て試行して分割し、分割された文字列について住所に関する単語を定義する辞書を参照し、辞書から検出された単語を、住所を構成する要素の候補である基本トークンとして追加するとともに、前記分割された文字列について前記辞書から該当する単語が検出されない場合には、当該分割された文字列の文字種別を解析し、解析された文字種別に応じた解析トークンとして追加する候補追加部と、
前記候補追加部によって追加された前記基本トークン及び解析トークンを、特定すべき住所の候補として分岐をさせつつ、上流の処理済みのトークンに接続して木構造を構築するツリー構築部と、
前記ツリー構築部が構築した木構造に含まれる分岐パターン毎に、各トークンの単語や文字種別に応じて付与された重み付けを加算したコストを計算するコスト計算部と、
計算されたコストに応じて、所定の分岐パターンを前記特定すべき住所の候補として選択する候補選択部と
を備え
前記ツリー構築部は、複数の文字列が辞書から取得された場合に分岐させることを特徴とする。
また、本発明は、入力された文字列から、住所に関する情報を抽出し特定するデータクレンジング方法であって、
候補追加部が、前記入力された文字列を可能な文字の切り分け方を全て試行して分割し、分割された文字列について住所に関する単語を定義する辞書を参照し、辞書から検出された単語を、住所を構成する要素の候補である基本トークンとして追加するとともに、前記分割された文字列について前記辞書から該当する単語が検出されない場合には、当該分割された文字列の文字種別を解析し、解析された文字種別に応じた解析トークンとして追加する候補追加ステップと、
ツリー構築部が、前記候補追加ステップで追加された前記基本トークン及び解析トークンを、特定すべき住所の候補として分岐をさせつつ、上流の処理済みのトークンに接続して木構造を構築するツリー構築ステップと、
前記ツリー構築ステップで構築した木構造に含まれる分岐パターン毎に、各トークンの単語や文字種別に応じて付与された重み付けを加算したコストを、コスト計算部が計算するコスト計算ステップと、
計算されたコストに応じて、所定の分岐パターンを前記特定すべき住所の候補として候補選択部が選択する候補選択ステップと
を備え
前記ツリー構築部は、複数の文字列が辞書から取得された場合に分岐させることを特徴とする。
これらの本発明によれば、入力文字列から分割した単語について、辞書を参照して、辞書中の単語や文字種別に応じて重み付をしつつ接続して木構造を構築して、木構造の分岐パターン毎のコストを計算して、候補を抽出するため、例えば、新宿区の「新宿(シンジュク)」と葛飾区にある「新宿(ニイジュク)」など表記が同じ地名があっても、実在する市区町村に応じて、区別して住所の構成要素の候補として抽出することができ、さらに、市区町村を省略して表記されていたり、建物名や人名などが混在している場合であっても、正確なデータクレンジングが可能となる。
上記発明における前記候補追加部は、各分岐点において、住所に関する単語を定義する辞書に該当する単語が検出された文字列に関するトークンに対応させて、前記辞書に該当する単語が検出された前記文字列を、前記辞書にない未知語としての重み付が付与された未知語トークンとして、さらに追加することが好ましい。この場合には、市区町村が省略されたり、誤記が混在している場合にも未知語としてコスト計算に含めておき、候補に含めることができる。
上記発明では、候補選択部によって選択された情報と、文字列取得部によって取得された文字列とを比較し、その合致の程度をマッチングレベルとして出力するマッチングレベル判定部をさらに備えることが好ましい。この場合には、クレンジング後のデータ同士を比較して、その結果をマッチングレベルとして出力することから、通信サービス等の審査などにおいて、マッチしている状態をレベルで分けて出力・表示することができ、例えば不正住所を記載した偽造証明書を使った不正な申し込みを検知することができる。
上記発明において前記候補追加部は、各分岐点において、前記住所に関する単語を定義する辞書に該当する単語が検出された文字列に関するトークンのうち所定の文字数のものについてのみ前記未知語トークンを生成することが好ましい。この場合には、未知語を追加することによる演算処理量の増加を最低限に抑えることができ、演算負荷の増大による処理遅延等を回避することができる。
なお、上述した本発明に係るデータクレンジングシステム及びデータクレンジング方法は、所定の言語で記述された本発明のデータクレンジングプログラムをコンピューター上で実行することにより実現することができる。すなわち、本発明のプログラムを、携帯端末装置やスマートフォン、ウェアラブル端末、モバイルPCその他の情報処理端末、パーソナルコンピュータやサーバーコンピューター等の汎用コンピューターのICチップ、メモリ装置にインストールし、CPU上で実行することにより、上述した各機能を有するシステムを構築して、本発明の方法を実施することができる。
すなわち、本発明のプログラムは、入力された文字列から、住所に関する情報を抽出し特定するデータクレンジングプログラムであって、コンピューターを、
前記文字列を取得する文字列取得部、
前記入力された文字列を可能な文字の切り分け方を全て試行して分割し、分割された文字列について住所に関する単語を定義する辞書を参照し、辞書から検出された単語を、住所を構成する要素の候補である基本トークンとして追加するとともに、前記分割された文字列について前記辞書から該当する単語が検出されない場合には、当該分割された文字列の文字種別を解析し、解析された文字種別に応じた解析トークンとして追加する候補追加部、
前記候補追加部によって追加された前記基本トークン及び解析トークンを、特定すべき住所の候補として分岐をさせつつ、上流の処理済みのトークンに接続して木構造を構築するツリー構築部と、
前記ツリー構築部が構築した木構造に含まれる分岐パターン毎に、各トークンの単語や文字種別に応じて付与された重み付けを加算したコストを計算するコスト計算部、及び
計算されたコストに応じて、所定の分岐パターンを前記特定すべき住所の候補として選択する候補選択部
として機能させ
前記ツリー構築部は、複数の文字列が辞書から取得された場合に分岐させるように機能することを特徴とする。
このような本発明のデータクレンジングプログラムでは、例えば、通信回線を通じて配布することが可能であり、また、コンピューターで読み取り可能な記録媒体に記録することにより、スタンドアローンの計算機上で動作するパッケージアプリケーションとして譲渡することができる。この記録媒体として、具体的には、フレキシブルディスクやカセットテープ等の磁気記録媒体、若しくはCD-ROMやDVD-ROM等の光ディスクの他、RAMカードなど、種々の記録媒体に記録することができる。そして、このプログラムを記録したコンピューター読み取り可能な記録媒体によれば、汎用のコンピューターや専用コンピューターを用いて、上述したシステム及び方法を簡便に実施することが可能となるとともに、プログラムの保存、運搬及びインストールを容易に行うことができる。
このような本発明によれば、名寄せやデータクリーニング等のデータクレンジング処理に際し、表記が同じ地名や、省略された表記、建物名や人名などが混在している場合であっても、正確な文字列を読み替えやデータ補正、重複データの判別を行うことができる。
特に、クレンジング後のデータ同士を比較し、マッチしている状態をレベルで分けるなどの処理を実行することで、通信サービス等の審査などにおいて、不正住所を記載した偽造証明書を使った不正な申し込みを検知することができる。
実施形態に係るデータクレンジングシステムを実現するための情報処理端末装置の全体構成を示す概念図である。 実施形態に係るデータクレンジングシステムのCPU上に構築される機能モジュールを示すブロック図である。 実施形態に係る処理の概略を示すフロー図である。 実施形態に係る各処理に関わるデータを示す説明図である。 実施形態に係るツリー生成処理を示すフロー図である。 実施形態に係る文字種別解析処理を示すフロー図である。 (a)は実施形態に係る住所マスターのデータ内容を示す表であり、(b)は辞書データのデータ内容を示す表である。 実施形態に係るコスト計算におけるルールを示す表である。 実施形態に係るツリー生成処理の説明図であり、(a)は文字分割処理を示す説明図であり、(b)は文字の接続処理を示す説明図である。 実施形態に係るツリー生成処理における次段階の説明図であり、(a)は文字分割処理を示す説明図であり、(b)は文字の接続処理を示す説明図である。 実施形態に係るツリー生成処理において、数字が含まれている場合の文字の接続処理を示す説明図である。 実施形態に係る生成されたツリーを示す説明図である。 実施形態に係るツリーから選出されたパターンを示す説明図である。 実施形態に係る形態素解析の結果を示す図表である。
(データクレンジングシステムの全体構成)
以下に添付図面を参照して、本発明に係るデータクレンジングシステムの実施形態を詳細に説明する。図1は、本実施形態に係るデータクレンジングシステムを実現するための情報処理端末装置の全体構成を示す概念図である。なお、説明中で用いられる「モジュール」とは、装置や機器等のハードウェア、或いはその機能を持ったソフトウェア、又はこれらの組み合わせなどによって構成され、所定の動作を達成するための機能単位を示す。
本実施形態に係る情報処理端末装置1は、汎用的なコンピューターや専用の装置で実現することができ、具体的には、図1に示すように、CPU102と、メモリ103と、入力インターフェース104と、ストレージ装置101と、出力インターフェース105と、通信インターフェース106とを備えている。なお、本実施形態では、これらの各デバイスは、CPUバス1aを介して接続されており、相互にデータの受け渡が可能となっている。
入力インターフェース104は、キーボードやポインティングデバイス、タッチパネルやボタン等の操作デバイスから操作信号を受信するモジュールであり、受信された操作信号はCPU402に伝えられ、OSや各アプリケーションに対する操作を行うことができる。出力インターフェース105は、ディスプレイやスピーカー等の出力デバイスから映像や音声を出力するために映像信号や音声信号を送出するモジュールである。
通信インターフェース106は、他の通信機器とデータの送受信を行うモジュールであり、通信方式としては、例えば、電話回線やISDN回線、ADSL回線、光回線などの公衆回線、専用回線、WCDMA(登録商標)及びCDMA2000などの第3世代(3G)の通信方式、LTEなどの第4世代(4G)の通信方式、及び第5世代(5G)以降の通信方式等の他、Wifi(登録商標)、Bluetooth(登録商標)などの無線通信ネットワークが含まれる。
CPU102は、各部を制御する際に必要な種々の演算処理を行う装置であり、各種プログラムを実行することにより、CPU102上に仮想的に各種モジュールを構築する。また、このCPU102上では、OS(Operating System)が起動・実行されており、このOSによって情報処理端末装置1の基本的な機能が管理・制御されている。さらに、このOS上では種々のアプリケーションが実行可能になっており、CPU102でOSプログラムが実行されることによって、情報処理端末装置1の基本的な機能が管理・制御されるとともに、CPU102でアプリケーションプログラムが実行されることによって、種々の機能モジュールがCPU上に仮想的に構築される。
本実施形態では、本発明のデータクレンジングプログラムを実行することにより、各種機能モジュールがCPU102上に構築される。具体的には、図2に示すように、文字列取得部102dと、候補追加部102aと、ツリー構築部102bと、コスト計算部102cと、候補選択部102eと、マッチングレベル判定部102fとが構築される。
文字列取得部102dは文字列を取得するモジュールであり、入力インターフェース104や通信インターフェース106から入力されたり、ストレージ装置101から読み出されたりして、住所に関する文字列が取得される。取得された入力文字列は候補追加部102aに受け渡される。候補追加部102aは、文字列取得部102dを通じて入力された文字列を分割し、分割された文字列について住所に関する単語を定義する辞書データ101bを参照し、辞書データ101bから検出された単語を、住所を構成する要素の候補である基本トークンとして追加するとともに、分割された文字列について辞書データ101bから該当する単語が検出されない場合には、当該分割された文字列の文字種別を解析し、解析された文字種別に応じた解析トークンとして追加するモジュールである。この候補追加部102aで追加された各種トークンはツリー構築部102bに受け渡される。
ツリー構築部102bは、候補追加部102aによって追加された基本トークン及び解析トークンを、特定すべき住所の候補として分岐をさせつつ接続して木構造を構築するモジュールであり、コスト計算部102cは、ツリー構築部102bが構築した木構造に含まれる分岐パターン毎に、各トークンの優先度に応じて付与された重み付けを加算したコストを計算するモジュールである。候補選択部102eは、計算されたコストに応じて、所定の分岐パターンを特定すべき住所の候補として選択するモジュールである。
メモリ103及びストレージ装置101は、データを記録媒体に蓄積するとともに、これら蓄積されたデータを各デバイスの要求に応じて読み出す装置であり、例えば、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)、メモリカード等により構成することができる。特に、本実施形態に係るストレージ装置101には、データクレンジング処理に必要なデータベースとして住所マスター101aと、形態素解析を行うための辞書データ101bとが格納されている。
住所マスター101aは、形態素解析後に住所の実在性を問い合わせるデータベースであり、図7(a)に示すように、6000万件以上存在している都道府県・市区町村・大字・字・街区・地番・建物名など、各単語(住所要素)を切り出して住所を分割する単位で格納されている。なお、例えば、「〜丁目」は字として登録されている。
また、辞書データ101bは、形態素解析をするうえで住所として認識できる単語(文字列)を予め定義し、参照可能に格納するテーブルデータである。この辞書データ101bは、形態素解析後に、住所マスター101aへ問合せを的確に行うために、住所マスター101aの情報のうち「都道府県」「市区町村」「大字」「字」の情報から生成されるまた、この辞書データ101bの各レコードは、図7(b)に示すように、「単語」と「本来の単語」、「品詞」、「住所コード」と関連付けて構成される。ここで、「本来の単語」とは、「葛飾区」を「葛飾」と略された場合や「霞ヶ関」「霞が関」のような表記揺れを訂正するために用いるデータである。また、「品詞」は処理の効率化、及び単語の出現位置の妥当性を検証するコスト計算のために用いられる。
また、本実施形態では、都道府県を判定した時点で、辞書データの選択を行うことで、検索効率を高めている。詳述すると、辞書データを都道府県毎に47分割し、一番最初の[都道府県]や[市区町村]から、利用する辞書を一つに絞り、ツリー構築の際に生成されるパターンの下図を47分の1に減少させている。例えば、処理対象の文字列のうち最初の3〜4文字だけを見て都道府県のどれに当てはまるかを判定し、どの都道府県の辞書データを使うか決定する。このとき、文字列の最初の文字で都道府県を判定できなくても、市区町村名でほぼ判断できるため、その時点で辞書を一つに絞って処理を進める選択することもできる。
上記マッチングレベル判定部102fは、候補選択部102eによって選択された情報と、文字列取得部102dによって取得された文字列とを比較し、その合致の程度をマッチングレベルとして出力するため、通信サービス等の審査などにおいて、マッチしている状態をレベルで分けて出力・表示することができ、例えば不正住所を記載した偽造証明書を使った不正な申し込みを検知することができる。
(データクレンジングシステムの動作)
以上説明したデータクレンジングシステムを動作させることによって、本発明のデータクレンジング方法を実施できる。図3は本実施形態に係るデータクレンジングシステムの全体的な処理概要を示すフロー図であり、図4は各処理に関わるデータを示す説明図である。ここでは「東京都葛飾区新宿4丁目22−19亀有警察」をクレンジング対象とした場合を例示する。
この場合、形態素解析の候補は、下記のように複数存在する。
(a)東京都 葛飾 区 新宿 4丁目 22 − 19 亀有 警察
(b)東京都 葛飾 区 新宿 4丁目 22 − 19 亀有警察
(c)東京都 葛飾区 新宿 4丁目 22 − 19 亀有 警察
(d)東京都 葛飾区 新宿 4丁目 22 − 19 亀有警察
本実施形態では、これら(a)〜(d)のうち(d)が適正であり、このように区切られるように処理が実行される。
先ず、データクレンジングの対象として入力された文字列を、文字列取得部102dにより取得し(S101)、この入力された文字列D01を分割し、分割された文字(単語)を、候補追加部102a及びツリー構築部102bによってノードとして接続してツリーD02を生成する(S102)。すなわち、この文字列の分割では、文字の切り分け方や、切り分けられた文字(文字列)の属性や種別に応じて、後方に接続される文字列の属性や種別が変動することから、その変動の可能性に応じて分岐された木構造が形成される。このステップS102では、可能な文字の切り分け方を全て試行し、切り分けられた文字(文字列)の属性や種別を辞書データを参照して、木構造を構成するノードの組合せを、特定すべき住所の候補一覧であるツリーD02として生成する。
次いで、このツリーに含まれるノードの組合せパターンについてそれぞれの確度であるコストをコスト計算部102cにより計算し(S103)、より確度の高いパターンを、候補選択部102eによって、特定すべき住所の候補として選択し(S104)、さらにマッチングレベル判定部102fによって
マッチングレベル等を計算し(S105)、解析結果D03として出力する。
なお、本実施形態において、「トークン」とは分割された文字に品詞や住所コードなど意味の情報を持たせたデータを意味し、ツリーのノードとして取り扱われる。また「ツリー」とはトークンをつなぎ合わせたデータ構造(木構造)の全体を意味し、「パターン」とはツリーを生成した後に現れる、ノードの組合せパターンによって複数形成される住所候補の一つ一つを意味する。さらに、図4に示すように、辞書データ101bは、形態素解析後に住所マスター101aへ問合せを的確に行えるように、住所マスター101aの情報のうち「都道府県」「市区町村」「大字」「字」の情報から生成される。
(1)ツリー生成
ここで上述したツリー生成について詳述する。図5は、上述したツリー生成処理の詳細を示すフロー図である。
同図に示すように、ツリー生成ステップS102では、文字切り出し(分割)処理(S201a)、辞書問合せ処理(S201b)、辞書にない未知語の品詞や種別を解析する処理(S201d)によってトークンを生成して、候補として追加する辞書検索ループと、この候補として追加されたトークンを絞り込む候補絞り込みステップS202と、絞り込まれたトークンを子ツリーとして順次接続して木構造を構築するツリー生成ループ(S203)とを含んでいる。
なお、各トークンとしては、辞書から検出された単語である基本トークンと、辞書から該当する単語が検出されない場合にその文字列の文字種別を解析して得られる解析トークンと、基本トークン又は解析トークンに対応させて未知語としての優先度が付与された未知語トークンとがある。各トークンには、引数として住所、オフセット、都道府県、親ノードが設定される。この住所とは、例えば「東京都港区〜〜ビル名A505」のように都道府県からビル名や部屋番号までの住所に関する全ての表記を指す。また、引数のオフセットは、入力された処理対象の文字列中における先頭からの文字数である。引数にはさらに、インデックスとして都道府県が含まれ、さらにはツリーのノードを形成する際の直上のノードである親ノードが設定されている。
図5に示す各処理について詳述する。
先ず、入力された住所に係る文字列を、都道府県・市区町村・大字・字・街区・地番・建物名といった要素単位に切り出して、入力文字列を分割する(S201a)。具体的には、図9(a)に示すように、処理対象となる文字列の先頭から1文字、先頭から2文字、先頭から3文字と文字数を増やしつつ切り出していく。
そして、切り出した個々の文字列について辞書データを参照する問合せ処理を実行していく(S201b)。そして、辞書データ中に合致する単語が検出された場合(S201cにおける「Y」)には、その分割文字を、木構造のノード候補である基本トークンとして追加する(S201e)。図9(a)に示した例では、「東京都葛飾区新宿4丁目22−19亀有警察署」を住所に関する文字列として、順次文字分割処理及び辞書問合せ処理を実行しており、既に「東京都」がトークンとして取得されて「処理済み」となり「処理対象」から除外され、「東京都」以降の文字列「葛飾区新宿4丁目22−19亀有警察署」を処理対象として、文字の切り出し及び辞書の問合せを行っている。
一方、辞書データ中に合致する単語が検出されない場合(S201cにおける「N」)には、辞書にない未知語として文字種別や品詞の解析を行う(S201d)。このステップS201dで解析され、未知語として優先度が付与された文字列は解析トークンとして、木構造のノード候補に追加される(S201e)。
また、ステップS201eでは、各トークンに対応する「未知語」を、未知語トークンとして追加する。なお、このとき未知語の中に、数値/漢数字/カナ/区切り文字等があればトークンとして追加し、なければ次の処理対象へ移行する。ここでは「葛飾区」に数値、漢数字等が存在しないため追加は行われない。
次いで、ステップS201の処理で追加された基本トークン又は解析トークンの絞り込みを行い(S202)、絞り込まれたトークンを、新たなトークンとして処理済みのトークンに接続する(S203)。このとき、図9(a)の例のように複数の文字列が取得された場合には、同図(b)に示すように、ツリーが分岐される。図示の時点では、このような処理の結果、処理対象について、「葛飾区」の「葛〜」で始まる単語を取得し、「市区町村」の属性が付された「葛飾」及び「葛飾区」が文字列として取得され、トークンE02a〜cとして親ノードである「東京都」のトークンE1に接続された状態を示している。
なお、図9(a)に示した例では、「葛飾(市区町村)」のトークンE02aには、引数として、住所が「東京都葛飾区新宿4丁目22−19亀有警察」、オフセットが”5”、都道府県が「東京都」、親ノードが「東京都」−「葛飾」として設定されている。また、「葛飾区(市区町村)」のトークンE02bには、引数として、住所が「東京都葛飾区新宿4丁目22−19亀有警察」、オフセットが”6”、都道府県が「東京都」、親ノードが「東京都」−「葛飾区」として設定されている。
また、ステップS202では、上述した「葛飾区新宿」の「亀有警察署」の場合、辞書から取得できたものだけでパターンを作ると、市区町村が「新宿」と「葛飾」の2つ出てきてしまい、後述のコスト計算の判断で誤った選択をしてしまう可能性があることから、辞書から取得できた「葛飾」と「葛飾区」に対応する未知語としての「葛飾」と「葛飾区」を用意する。このとき、全てのトークンに対する未知語トークンを残すとパターンが増えてしまい、大きくパフォーマンスが下がるため、所定の文字数の未知語トークンのみを追加することもできる。本実施形態では、未知語のうち、最も長い「葛飾区」だけを未知語トークンE02zとして残し、処理済のトークンE1である「東京都」に接続する。
ステップS203では、再帰呼び出し処理により、下流のツリーを接続していく(S203a)。ここでは、辞書から取得できた「葛飾」と「葛飾区」とを処理済みとしてそれぞれ除外し、これら除外された単語以降の各文字列を次の処理の処理対象として分岐させ、各々の処理対象について同様の処理を実行する。すなわち図12に示すように、「葛飾(市区町村)」のトークンE02aについてはそれ以降の文字列「区新宿4丁目22−19亀有警察署」を処理対象として、文字の切り出し及び辞書の問合せを行い、「葛飾区(市区町村)」のトークンE02bについては「新宿4丁目22−19亀有警察署」を処理対象として、文字の切り出し及び辞書の問合せを行う。図10(a)では、このような処理の結果、「葛飾区」以降の処理対象から、「市区町村」の属性が付された「新宿区」、及び「大字」の属性が服された「新宿」が文字列として取得された状態を示している。
その後、分割した文字の接続処理(S103)及び辞書にない未知語の品詞解析(S104)を行う。詳述すると、ステップS101及びS102の処理の結果、辞書から取得された文字を新たなトークンとして、上流の処理済みのトークンに接続する。このとき、図10(a)の例のように複数の文字列が辞書から取得された場合には、同図(b)に示すようにツリーが分岐され、それぞれのトークン以降の各文字列が次の処理の処理対象となる。
ここでも、各トークンに対応する未知語トークンを追加する。すなわち、図10(b)に示すように、辞書から取得できた「新宿(市区町村)」と「新宿(大字)」に対応する未知語としての「新宿(未知語)」を未知語トークンE03zとして用意する。図示した例では、未知語は「新宿」だけであるため、これに対する「新宿(未知語)」の未知語トークンE03cを、処理済みのトークンE02bである「葛飾区(市区町村)」に接続する。
なお、このとき未知語の中に、数値/漢数字/カナ/区切り文字等があればトークンとして追加し、なければ次の処理対象へ移行する。「新宿」には、数値、漢数字等が存在しないため追加は行われない。数値/漢数字/カナ/区切り文字等が含まれている例としては、図11に示す「東京都港区6本木1丁目3−38」のように、誤記により「大字」である「六本木」を「6本木」と入力された場合などが考えられる。
この場合、上流のトークンである「港区」まで分解できているとすると、「港区」以降の文字列「6本木1丁目3−38」を処理対象として、文字の切り出し及び辞書の問合せが行われる。この切り出し及び辞書の問合せは、ループ処理により繰り返し実行され、ループ1回目で先頭から一文字目である「6」を切り出し、品詞が数値であることから辞書データの問合せは行わない。
次いで、ループ2回目で先頭からの2文字である「6本」について問合せ、結果が「Null」であれば該当単語が検出されないとして、「六本」で問合せを行い、さらに、ループ3回目で先頭からの3文字である「6本木」について問合せ、結果が「Null」であれば該当単語が検出されないとして、「六本木」で問合せを行う。「六本木」は実在する地名であるため検索結果がヒットされ、ツリーの親ノードへ追加される。そして、ループ4回目以降では、辞書に該当単語が見つかってもループを継続させ、文字列の最後まで実行し、可能な限りのトークンを取得する。
そして、辞書から取得できた「六本木」に対応する未知語として「6本木」が用意される。未知語は「6本木」だけであるためこれを「未知語」のトークンとして残し、処理済のトークンである「港区」と繋げる。このとき、入力値が、例えば「一丁目3−6本木マンション」というように、番地の後に表記されたビル名を含む場合もあり、その場合には「6」及び「本木」で分解して正しい可能性もあることから、未知語の中に、数値/漢数字/カナ/区切り文字等があるため、数値の「6」もトークンとして追加する。
この結果、「六本木(大字)」のトークンには、引数として、住所が「東京都港区6本木1丁目3−38」、オフセットが”8”、都道府県が「東京都」、親ノードが「東京都」−「港」として設定されている。また、「6(数値)」のトークンには、引数として、住所が「東京都港区6本木1丁目3−38」、オフセットが”6”、都道府県が「東京都」、親ノードが「東京都」−「港区」として設定される。
また、辞書データで検索された単語をそのままツリー構造を構築すると、検出数が多いときには、パターンが最大数万程度にまで膨れ上がるケースが発生し得ることから、本実施形態では、生成され得るパターンを最大でも数百程度へ抑え、ツリー構造の効率化を図っている。
具体的には、「[市区町村]の後には[市区町村]が来ない」等、慣習上・法規上の明確なルールに関わるものは、コスト計算で計算せずツリー生成時点で排除する。また、「大字」を追加する際は、「市区町村」の住所コードと一致しているか確認して、合致しない場合にはツリーを生成しない。例えば、「港区」の後に「六本木」は、実在し、住所コード上にも存在するので、ツリー(トークン)を生成するが、「港区」の後に「初台(渋谷区)」は実在せず、住所コード上にも存在しないので、ツリーを生成しない。さらには、文字数が多いほどパターンが増加する傾向にあるため、30文字以上の住所は15文字程度に分割してそれぞれ処理する。
以上の処理を全ての未処理の部分に繰り返し適用することで(ステップS204における「N」)、入力文字列の最後の文字まで分解し、トークンを繋げていき、図12に示すように、トークンが接続されたそれぞれの分岐形態についてのパターンを生成し、ツリーを構築する。なお、実際にはパターンが100前後生成されるが、図示した例では、採用されないルートの殆どを省略して表記している。なお、図12の例では、主立ったパターンとして、図13に示すように、トークンE02bから分岐されたE03b〜E08bに至るパターンP1bと、トークンE03cから分岐されたE05c〜E08c2に至るパターンP1cと、トークンE03eから分岐されたE04e〜E08e2に至るパターンP1eと、トークンE03eから分岐されたE04f1〜E08fに至るパターンP1fとが表記されている。
(2)コスト計算
このようにしてツリーが生成された後、全パターンについてコスト計算を行い(図3中のステップS103)、住所として正しい可能性が最も高いパターンを選択する(同図中のステップS104)。
本実施形態では、図8に示すようなルールに従ってコスト計算を行う。同図中優先度1に示すように、都道府県、市区町村、大字、字の順に並んでいるなど、日本の住所記入慣習に従って入力されている可能性が高い場合にはコストを低くしたり、優先度2に示すように、数字の直後に漢数字が存在しているなど、番地等の数字を記載した後に、施設名称やビル名、人名が記載されている可能性が高く、純粋な住所表記以外の記載が混在している可能性が高いことからコストが高くしたりする。
さらに、優先度3のように、未知語の文字数が多いものは、文字数が適正に分解できていない可能性が高いことからコストを高くしたり、優先度4のように、数値が2つ以上含まれているものは、住所としての数字が含まれている可能性が高いためコストを低くしたり、優先度5のように、分解結果が数値又は記号、数字の順に並んでいるものは、「3−3」というように省略表記である可能性が高いためコストを低くしたり、さらに優先度6のように、同一の市区内に同一文字を含む地名が複数混在する場合には、記入者はより注意して省略語を避けて記載すると考えられるため、入力値と辞書の正式名称が完全一致となるときには、前方一致や後方一致などと比較してコストを低くする。
このようなルールに従って計算を行うと、図12に示すツリーのうち、図13に示すパターンP1bが最もコストが低くなり、形態素解析結果として採用される。この形態素解析結果は、住所マスター101aから生成された辞書データ101bに基づいているため、住所マスター101aとの比較がしやすい状態になっている。例えば、図14に示すように、形態素解析後の未知語部分を建物名として住所マスターと比較を行うと、建物名は「亀有警察署」が正しいことを確認することができる。
(3)文字種別解析
ここで、上述したステップS201cにおける文字種別解析についてさらに詳述する。本実施形態では、文字列がカナ、アルファベット、記号・空白又は数字であるかを判定し、併せて例外的な住所形式も判定し、その判定結果を返却値に付記する。この例外的な住所の判定としては、本実施形態では、京都における「通り名」の判定が含まれる。
すなわち、京都の通り名は、本来の住所では位置がわかりにくいため、交差点を構成する通りの名前2つ(〇〇通△△)とそこからの相対位置(上る、東入等)によって構成される住所が公式に用いられている。例えば、京都市役所の住所を例に挙げると、京都市役所の住所は、「京都市中京区寺町通御池上る上本能寺前町488」となっており、住所マスター上の住所では、「京都市中京区 上本能寺前町 488」となっており、通り名が「寺町通御池上る」である。通り名がなくとも住所を特定はできるため、住所マスター上は通り名は含まれていない。そのため形態素解析時点で判断し、通り名はマスター検索時やクレンジング結果保存時は無視するようにしている。
なお、××米軍基地といった既知や駐屯地等の住所は、丁目等が入っていないことが多く、「BOX80BOX20897APOAP96367」といった識別番号が個人に割り振られている場合があるなどの特徴がある。ただし、本実施形態では、特別な処理をせずに、「丁目がない」、「数値やアルファベットが多い」という情報に基づいて、通常通りの形態素解析を行ってトークンを生成し、後続の処理に引き継ぐことで、基地/駐屯地の判断を可能としている。
具体的には、図6に示すフローのような処理を行う。図6は、実施形態に係る文字種別解析処理を示すフロー図である。先ず、処理対象となる文字列を取得すると、文字種別が判別され、その種別に応じた処理が行われる(S300)。
文字列がカナの場合(S301)には、結果が1文字で「ノ」であった場合、区切り記号としての「ノ」を返却値に追加し(S302)、連続するカナを返却値に追加する(S303)。文字列がアルファベットの場合には(S304)、連続するアルファベットを返却する(S305)。文字列が記号や空白の場合は(S306)、品詞を「記号」又は「空白」を返却する(S307)。
文字列が数字の場合は(S308)、「〜丁目」の形であるか否かを正規表現により判定する(S309)。「〜丁目」の形である場合(S309における「Y」)には、「〜丁目」を字であるとして返却値に追加し、「〜丁目」の形でない場合(S309における「N」)には、漢数字かどうかの判定を行う(S312)。このステップS312で漢数字であると判定したときには(ステップS312における「N」)、連続する数値を返却する(S318)。一方、ステップS312において、漢数字であると判定したときには(ステップS313における「Y」)、さらに京都通り名か否かを正規表現で判定する(S314)。通り名であるときには(S315における「Y」)、京都通り名を追加し(S317)、通り名でないときには(S315における「N」)、「未知語」を追加して(S316)、連続する数値を返却する(S318)。
他方、文字列が上記のいずれでもない場合は(S319)、「京都通り名」であるか否かを正規表現により判定する(S320)。京都通り名であるときには(S321における「Y」)、京都通り名を返却し(S322)、通り名でないときには(S321における「N」)、結果が1文字で「の」であった場合、区切り記号としての「の」を返却値に追加して(S323)、「未知語」を返却値に追加して(S316)返却する。
(4)マッチングレベル判定
さらには、本実施形態では、候補選択部102eによって選択された情報と、文字列取得部102dによって取得された文字列とをマッチングレベル判定部102fで比較し、その合致の程度をマッチングレベルとして出力するため、通信サービス等の審査などにおいて、マッチしている状態をレベルで分けて出力・表示することができ、例えば不正住所を記載した偽造証明書を使った不正な申し込みを検知することができる。
例えば、建物名以外が完全一致、部屋番号以外が完全に一致、建物名、部屋番号以外が完全一致など、住所のどの部分がどの程度合致するのかを判定することができる。これにより、部屋番号は違うが同じ建物に住んで不正を働くケースを検出することができる。
(作用・効果)
このような本実施形態によれば、入力文字列から分割した単語について、辞書を参照して、辞書中の単語や文字種別に応じて重み付をしつつ接続して木構造を構築して、木構造の分岐パターン毎のコストを計算して、候補を抽出するため、表記が同じ地名があっても、実在する市区町村に応じて区別して住所の構成要素の候補として抽出することができ、さらに、市区町村を省略して表記されていたり、建物名や人名などが混在している場合であっても、正確なデータクレンジングが可能となる。
また、本実施形態では、各分岐点において、基本トークン又は解析トークンに対応された未知語トークンを追加するため、市区町村が省略されたり、誤記が混在している場合にも未知語としてコスト計算に含めておき、候補に含めることができる。特に、本実施形態では、各分岐点において、最も文字数の多い基本トークン又は解析トークンについてのみ未知語トークンを生成するため、未知語を追加することによる演算処理量の増加を最低限に抑えることができ、演算負荷の増大による処理遅延等を回避することができる。
さらには、本実施形態では、候補選択部102eによって選択された情報と、文字列取得部102dによって取得された文字列とを比較し、その合致の程度をマッチングレベルとして出力するため、通信サービス等の審査などにおいて、マッチしている状態をレベルで分けて出力・表示することができ、例えば不正住所を記載した偽造証明書を使った不正な申し込みを検知することができる。
D01…文字列
D02…ツリー
D03…解析結果
1…情報処理端末装置
1a…CPUバス
101…ストレージ装置
101a…住所マスター
101b…辞書データ
102…CPU
102a…候補追加部
102b…ツリー構築部
102c…コスト計算部
102d…文字列取得部
102e…候補選択部
102f…マッチングレベル判定部
103…メモリ
104…入力インターフェース
105…出力インターフェース
106…通信インターフェース

Claims (6)

  1. 入力された文字列から、住所に関する情報を抽出し特定するデータクレンジングシステムであって、
    前記文字列を取得する文字列取得部と、
    前記入力された文字列を可能な文字の切り分け方を全て試行して分割し、分割された文字列について住所に関する単語を定義する辞書を参照し、辞書から検出された単語を、住所を構成する要素の候補である基本トークンとして追加するとともに、前記分割された文字列について前記辞書から該当する単語が検出されない場合には、当該分割された文字列の文字種別を解析し、解析された文字種別に応じた解析トークンとして追加する候補追加部と、
    前記候補追加部によって追加された前記基本トークン及び解析トークンを、特定すべき住所の候補として分岐をさせつつ、上流の処理済みのトークンに接続して木構造を構築するツリー構築部と、
    前記ツリー構築部が構築した木構造に含まれる分岐パターン毎に、各トークンの単語や文字種別に応じて付与された重み付けを加算したコストを計算するコスト計算部と、
    計算されたコストに応じて、所定の分岐パターンを前記特定すべき住所の候補として選択する候補選択部と
    を備え
    前記ツリー構築部は、複数の文字列が辞書から取得された場合に分岐させることを特徴とするデータクレンジングシステム。
  2. 前記候補選択部によって選択された情報と、前記文字列取得部によって取得された文字列とを比較し、その合致の程度をマッチングレベルとして出力するマッチングレベル判定部をさらに備えることを特徴とする請求項1に記載のデータクレンジングシステム。
  3. 前記候補追加部は、各分岐点において、住所に関する単語を定義する辞書に該当する単語が検出された文字列に関するトークンに対応させて、前記辞書に該当する単語が検出された前記文字列を、前記辞書にない未知語としての重み付が付与された未知語トークンとして、さらに追加することを特徴とする請求項1又は2に記載のデータクレンジングシステム。
  4. 前記候補追加部は、各分岐点において、前記住所に関する単語を定義する辞書に該当する単語が検出された文字列に関するトークンのうち所定の文字数のものについてのみ前記未知語トークンを生成することを特徴とする請求項3に記載のデータクレンジングシステム。
  5. 入力された文字列から、住所に関する情報を抽出し特定するデータクレンジング方法であって、
    候補追加部が、前記入力された文字列を可能な文字の切り分け方を全て試行して分割し、分割された文字列について住所に関する単語を定義する辞書を参照し、辞書から検出された単語を、住所を構成する要素の候補である基本トークンとして追加するとともに、前記分割された文字列について前記辞書から該当する単語が検出されない場合には、当該分割された文字列の文字種別を解析し、解析された文字種別に応じた解析トークンとして追加する候補追加ステップと、
    ツリー構築部が、前記候補追加ステップで追加された前記基本トークン及び解析トークンを、特定すべき住所の候補として分岐をさせつつ、上流の処理済みのトークンに接続して木構造を構築するツリー構築ステップと、
    前記ツリー構築ステップで構築した木構造に含まれる分岐パターン毎に、各トークンの単語や文字種別に応じて付与された重み付けを加算したコストを、コスト計算部が計算するコスト計算ステップと、
    計算されたコストに応じて、所定の分岐パターンを前記特定すべき住所の候補として候補選択部が選択する候補選択ステップと
    を備え
    前記ツリー構築部は、複数の文字列が辞書から取得された場合に分岐させる
    ことを特徴とするデータクレンジング方法。
  6. 入力された文字列から、住所に関する情報を抽出し特定するデータクレンジングプログラムであって、コンピューターを、
    前記文字列を取得する文字列取得部、
    前記入力された文字列を可能な文字の切り分け方を全て試行して分割し、分割された文字列について住所に関する単語を定義する辞書を参照し、辞書から検出された単語を、住所を構成する要素の候補である基本トークンとして追加するとともに、前記分割された文字列について前記辞書から該当する単語が検出されない場合には、当該分割された文字列の文字種別を解析し、解析された文字種別に応じた解析トークンとして追加する候補追加部、
    前記候補追加部によって追加された前記基本トークン及び解析トークンを、特定すべき住所の候補として分岐をさせつつ、上流の処理済みのトークンに接続して木構造を構築するツリー構築部と、
    前記ツリー構築部が構築した木構造に含まれる分岐パターン毎に、各トークンの単語や文字種別に応じて付与された重み付けを加算したコストを計算するコスト計算部、及び
    計算されたコストに応じて、所定の分岐パターンを前記特定すべき住所の候補として選択する候補選択部
    として機能させ
    前記ツリー構築部は、複数の文字列が辞書から取得された場合に分岐させる
    ことを特徴とするデータクレンジングプログラム。
JP2016246327A 2016-12-20 2016-12-20 データクレンジングシステム、データクレンジング方法及びデータクレンジングプログラム Active JP6470249B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016246327A JP6470249B2 (ja) 2016-12-20 2016-12-20 データクレンジングシステム、データクレンジング方法及びデータクレンジングプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016246327A JP6470249B2 (ja) 2016-12-20 2016-12-20 データクレンジングシステム、データクレンジング方法及びデータクレンジングプログラム

Publications (2)

Publication Number Publication Date
JP2018101244A JP2018101244A (ja) 2018-06-28
JP6470249B2 true JP6470249B2 (ja) 2019-02-13

Family

ID=62715376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016246327A Active JP6470249B2 (ja) 2016-12-20 2016-12-20 データクレンジングシステム、データクレンジング方法及びデータクレンジングプログラム

Country Status (1)

Country Link
JP (1) JP6470249B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6925665B1 (ja) * 2020-04-27 2021-08-25 アットホームラボ株式会社 情報処理装置、情報処理方法及び情報処理プログラム
CN112417179A (zh) * 2020-11-23 2021-02-26 杭州橙鹰数据技术有限公司 地址处理方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000011096A (ja) * 1998-06-23 2000-01-14 Canon Inc 文字認識処理装置及び方法並びに記憶媒体
JP2003223459A (ja) * 2002-01-31 2003-08-08 Daikei Data Processing Co Ltd 住所情報の管理方法
JP5544693B2 (ja) * 2008-08-22 2014-07-09 富士通株式会社 データ処理装置、データ処理プログラムおよびデータ処理方法
WO2012125950A1 (en) * 2011-03-17 2012-09-20 Mastercard International Incorporated Systems and methods for creating standardized street addresses from raw address data

Also Published As

Publication number Publication date
JP2018101244A (ja) 2018-06-28

Similar Documents

Publication Publication Date Title
JP5605583B2 (ja) 検索方法、類似度計算方法、類似度計算及び同一文書照合システムと、そのプログラム
CN102395965B (zh) 用于在数据库中搜索对象的方法
TWI426399B (zh) 用於搜尋輸入資料及使與儲存資料相匹配的電腦化方法及裝置
KR101231560B1 (ko) 데이터 클러스터와 유의어의 탐색과 수정에 대한 방법 및 시스템
US6173252B1 (en) Apparatus and methods for Chinese error check by means of dynamic programming and weighted classes
JP2019502979A (ja) 構造化されたマルチフィールドファイルのレイアウトの自動解釈
US9183223B2 (en) System for non-deterministic disambiguation and qualitative entity matching of geographical locale data for business entities
CN110929125A (zh) 搜索召回方法、装置、设备及其存储介质
MX2012011923A (es) Asignacion de atributis aplicables para datos que describen la identidad personal.
WO2016121048A1 (ja) 文章生成装置及び方法
CN110457672A (zh) 关键词确定方法、装置、电子设备及存储介质
CN110489997A (zh) 一种基于模式匹配算法的敏感信息脱敏方法
JP4687089B2 (ja) 重複レコード検出システム、および重複レコード検出プログラム
JP6470249B2 (ja) データクレンジングシステム、データクレンジング方法及びデータクレンジングプログラム
US9317189B1 (en) Method to input content in a structured manner with real-time assistance and validation
JP4185399B2 (ja) 顧客データ管理装置、顧客データ管理方法および顧客データ管理用プログラムならびに顧客データ管理用プログラムを格納した記録媒体
CN111914859A (zh) 一种服务复用方法、计算设备及计算机可读存储介质
JP5594134B2 (ja) 文字列検索装置,文字列検索方法および文字列検索プログラム
CN111339756B (zh) 一种文本检错方法及装置
CN112269852A (zh) 生成舆情专题方法、系统及存储介质
JP4844737B2 (ja) 代表情報選択方法、代表情報選択システム及びプログラム
JP5326781B2 (ja) 抽出規則作成システム、抽出規則作成方法及び抽出規則作成プログラム
JP6807201B2 (ja) 情報処理装置
JP4915499B2 (ja) 同義語辞書生成システム、同義語辞書生成方法および同義語辞書生成プログラム
Ajitha et al. EFFECTIVE FEATURE EXTRACTION FOR DOCUMENT CLUSTERING TO ENHANCE SEARCH ENGINE USING XML.

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180515

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180717

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: 20190108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190117

R150 Certificate of patent or registration of utility model

Ref document number: 6470249

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250