(57)【特許請求の範囲】
【請求項１】
文字列で構成される候補データが記憶されているデータベースと、
入力された入力データに対する修正候補を前記データベースから抽出する際に、
前記入力データの文字数と、
前記入力データと前記候補データとの編集距離と、
前記入力データと前記候補データとの前方一致文字数と、
前記入力データと前記候補データとの最長共通部分列の文字数と、に基づき近似率を算出する算出部と、
前記算出部で算出された近似率が所定値以上のデータを前記修正候補として抽出する抽出部と、を有し、
前記近似率は、前記入力データの文字数をＬG、前記編集距離をｄ、前記前方一致文字数をＮpre、前記最長共通部分列の文字数をＩLCSとすると、
(ＬG−ｄ)/(ＬG＋１)＋Ｎpre/(ＬG＋１)２＋ＩLCS/(ＬG＋１)３ 
である
ことを特徴とするデータ処理装置。
【請求項２】
文字列で構成される候補データが記憶されているデータベースと、
入力された入力データに対する修正候補を前記データベースから抽出する際に、
前記入力データの文字数と、
前記入力データと前記候補データとの編集距離と、
前記入力データと前記候補データとの前方一致文字数と、
前記入力データと前記候補データとの最長共通部分列の文字数と、に基づき近似率を算出する算出部と、
前記算出部で算出された近似率が所定値以上のデータを前記修正候補として抽出する抽出部と、を有し、
前記近似率は、前記入力データの文字数をＬG、前記編集距離をｄ、前記前方一致文字数をＮpre、前記最長共通部分列の文字数をＩLCSとした場合、前記編集距離が０のとき１となり前記編集距離が１以上のとき０となる変数δｄ０とすると、
(ＬG＋δｄ０−ｄ)/(ＬG＋１)＋Ｎpre(１−δｄ０)/(ＬG＋１)２＋ＩLCS(１−δｄ０)/(ＬG＋１)３ 
である
ことを特徴とするデータ処理装置。
【請求項３】
前記データ処理装置は、さらに、
前記抽出部で抽出された修正候補を、クライアントに提示する候補提示部を有し、前記候補提示部は、前記修正候補を提示する際に、文字列で数字部分のみが異なる候補は、同類としてまとめる
ことを特徴とする請求項１または請求項２に記載のデータ処理装置。
【請求項４】
データ処理装置は、データベースと、処理部とを有し、
前記データベースには、文字列で構成される候補データが記憶されており、
前記処理部は、
入力された入力データに対する修正候補を前記データベースから抽出する際に、前記入力データの文字数をＬG、前記入力データと前記候補データとの編集距離をｄ、前記入力データと前記候補データとの前方一致文字数をＮpre、前記入力データと前記候補データとの最長共通部分列の文字数をＩLCSとすると、
(ＬG−ｄ)/(ＬG＋１)＋Ｎpre/(ＬG＋１)２＋ＩLCS/(ＬG＋１)３ 
とする近似率を算出し、
前記算出された近似率が所定値以上のデータを前記修正候補として抽出する
ことを特徴とするデータ処理方法。
【請求項５】
データ処理装置は、データベースと、処理部とを有し、
前記データベースには、文字列で構成される候補データが記憶されており、
前記処理部は、
入力された入力データに対する修正候補を前記データベースから抽出する際に、前記入力データの文字数をＬG、前記入力データと前記候補データとの編集距離をｄ、前記入力データと前記候補データとの前方一致文字数をＮpre、前記入力データと前記候補データとの最長共通部分列の文字数をＩLCSとした場合、前記編集距離が０のとき１となり前記編集距離が１以上のとき０となる変数δｄ０とすると、
(ＬG＋δｄ０−ｄ)/(ＬG＋１)＋Ｎpre(１−δｄ０)/(ＬG＋１)２＋ＩLCS(１−δｄ０)/(ＬG＋１)３ 
である近似率を算出し、
前記算出された近似率が所定値以上のデータを前記修正候補として抽出する
ことを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置に関し、特に型番の誤入力に対し修正候補を適切に抽出する技術に関する。
【背景技術】
【０００２】
一般に、顧客が商品カタログを参照して、商品を発注する際に商品の型番で発注することが多い。発注を受けた受注サーバは、注文で誤入力（例えば、カタログにない商品が指定されること）があった場合、文字列類似度を用いた検索でカタログのデータベースから正しい商品名の候補を抽出する。
【０００３】
修正候補となる類似するデータを抽出するために、誤入力と、データベースに登録されたデータとの間の編集距離を用いる方法がある。特許文献１では、編集距離を実際に計算する前に、類似度の低いものを予め計算の対象から除外し、対象を絞り込んでから編集距離を算出することにより、修正候補を抽出する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開ＷＯ２００７／１３２５６４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
商品の型番の場合、元々似た文字列で構成されている場合が多くある。このため、特許文献１の場合、編集距離を実際に計算する前に、類似度の低いものを予め計算の対象から除外しているが、この除外により修正候補（修正するための正解候補）が多々欠落する場合がある。また、編集距離が同じものが多数ある場合、どれが誤入力と類似しているのか判断できない場合がある。
【０００６】
本発明は、前記した課題を解決するためになされたものであり、入力データに対して修正するための正解候補を適切に抽出することを効率よく支援できるデータ処理装置およびデータ処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記目的を達成するため、本発明のデータ処理装置は、文字列で構成される候補データが記憶されているデータベースと、入力された入力データに対する修正候補をデータベースから抽出する際に、入力データの文字数と、入力データと候補データとの編集距離と、入力データと候補データとの前方一致文字数と、入力データと候補データとの最長共通部分列の文字数と、に基づき近似率を算出する算出部と、算出された近似率が所定値以上のデータを修正候補として抽出する抽出部と、を有することを特徴とする。
また、近似率を算出する際に、寄与率の高い順に、編集距離、前方一致文字数、最長共通部分列の文字数とすることを特徴とする。本発明のその他の態様については、後記する実施形態において説明する。
【発明の効果】
【０００８】
本発明によれば、入力データに対して修正するための正解候補を適切に抽出することを効率よく支援できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係るデータ処理装置を示す図である。
【図２】カタログ型番ＤＢの一例を示す図である。
【図３】３次元空間のマンハッタン距離としての近似率の数学的解釈を示す図である。
【図４】入力判定処理を示すフローチャートである。
【図５】誤入力処理を示すフローチャートである。
【図６】修正候補例の抽出を示す図であり、（ａ）は入力データの例であり、（ｂ）はカタログ型番の候補データを近似率が高い順に並べ替え後の近似率結果情報である。
【図７】クライアントの表示画面の一例を示す図である。
【図８】候補提示部の提示方法の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面を参照して詳細に説明する。
図１は、本発明の実施形態に係るデータ処理装置を示す図である。クライアント２００から入力された商品の型番を認証するためのデータ処理装置１００は、商品カタログのデータベース７０と、入力された入力データがデータベース７０に格納されているか否か検索し、入力データがデータベース７０に格納されていなかった場合に、入力データと類似する候補データをデータベース７０から抽出する処理部１０と、抽出する際に使用される抽出条件情報などを入力する入力部８１、処理結果を表示する表示部８２、およびネットワーク３００を介してクライアント２００などと通信を行う通信部８５から構成される。
【００１１】
データベース７０は、ＨＤＤ（Hard disk drive）装置などにより構成される。処理部１０は、ＣＰＵ（Central Processing Unit）によって、ＲＡＭ（Random Access Memory）やＨＤＤ上のプログラムを実行することで実現される。入力部８１は、キーボードやマウスなどのコンピュータに指示を入力するための装置であり、プログラム起動などの指示を入力する。表示部８２は、ディスプレイなどであり、データ処理装置１００による処理の実行状況や実行結果などを表示する。通信部８５は、ネットワーク３００を介して、他のサーバなどと各種データやコマンドを交換する。
【００１２】
データベース７０には、商品カタログの詳細情報である商品名、商品の型番、メーカ名、価格、納期、製品の特徴などの情報であるカタログＤＢ７１、カタログＤＢ７１のうち所定の分類ごとに商品の型番を分類した情報であるカタログ型番ＤＢ７２（図２参照）、算出部３０が算出した近似率の結果情報である近似率結果情報７３（図６参照）、算出部３０が後記する近似率を定義する際に使用する情報（例えば、重み係数）である抽出条件情報７４などが格納されている。
【００１３】
処理部１０は、入力された入力データがデータベース７０に格納されているか否かを検索する検索部２０（入力判定処理部）と、入力データがデータベース７０に格納されていなかった場合に、入力データとデータベース７０のデータとの近似率を算出する算出部３０と、算出部で算出された近似率に基づいて修正候補を抽出する抽出部４０と、抽出部４０で抽出された候補データを提示する候補提示部５０の複数のプログラムを有する。
【００１４】
算出部３０は、入力データと候補データとの編集距離を算出する編集距離算出部３１と、入力データと候補データとの前方一致の文字数を算出する前方一致文字数算出部３２と、入力データと候補データとの最長共通部分列の文字数を算出する最長共通部分列文字数算出部３３と、入力データの文字数と、編集距離算出部３１で算出された編集距離と、前方一致文字数算出部３２で算出された前方一致文字数と、最長共通部分列文字数算出部３３で算出された最長共通部分列の文字数と、に基づき近似率を算出する近似率算出部３４と、を有する。
【００１５】
図２は、カタログ型番ＤＢの一例を示す図である。カタログ型番ＤＢ７２には、多数の商品の型番であるデータが登録されている。例えば、８１８１、８１−Ａ−１、８１１８・・・である。図２の場合、ハイフン（−）を除いたデータの文字数順に型番が並べられている。
【００１６】
＜近似率の算出＞
本実施形態では、算出部３０が入力データに対する候補データの近似率を算出する。近似率の算出には、複数の指標を用いる。すなわち、型番の誤入力に対する修正候補を抽出する際に、候補の順序付けを行うために、下記の３つの指標を用いる。各指標には、表１のようなメリット、デメリットがある。
（Ａ）編集距離：ｄ
（Ｂ）前方一致の文字数：Ｎｐｒｅ
（Ｃ）最長共通部分列の文字数：ｌＬＣＳ
【００１７】
【表１】
0006348787.tif 000002
【００１８】
例えば、型番の場合、類似するデータの集まりであるので、（Ａ）の編集距離（ｄ）によれば、２つの文字列のどこが違っているかによらず差異を評価できる点は有利であるが、編集距離が同じものが多くあるときには、候補の順序付けをするのが難点である。
【００１９】
このため、本実施形態では、それぞれの指標について、３次元でのマンハッタン距離を考えることで誤入力の入力データと候補データとの近さの定義を試みた。３つの指標を距離とし、ＬＧを入力データの文字数とすると、
（Ａ）の編集距離は、値が小さいほど入力データと候補データは近い、
（Ｂ）に基づく前方一致の距離は、ＬＧ−Ｎｐｒｅの値が小さいほど入力データと候補データは近い、
（Ｃ）に基づく最長共通部分列の距離は、ＬＧ−ｌＬＣＳの値が小さいほど入力データと候補データは近い、と考えられる。
【００２０】
図３は、３次元空間のマンハッタン距離としての近似率の数学的解釈を示す図であり、（ａ）はスケールファクタ（重み係数）の導入前、（ｂ）はスケールファクタの導入後である。図３（ａ）のスケールファクタの導入前においては、各指標の取り扱いがほぼ均等であり、編集距離（ｄ）と前方一致の文字数（Ｎｐｒｅ）と、最長共通部分列の文字数（ｌＬＣＳ）に係る各距離は、ほぼ同じである。これに対し、図３（ｂ）のスケールファクタ導入後は、編集距離（ｄ）に重点をおいた場合である。
【００２１】
どの次元（どの指標）を重視するかで、その次元のスケールファクタが異なる。例えば、スケールファクタを目盛りの幅と考えると、同じ距離１でもその物差し（ものさし）の目盛りの幅が異なる。
ここでは、
最重要視する次元の目盛りの距離１の目盛り幅は1/(LG+1) 、
次に重要視する次元の目盛りの距離１の目盛り幅は1/(LG+1)2 ，
最後の次元の目盛りの距離1の目盛り幅は1/(LG+1)3
となる。
【００２２】
以上の考察から、クライアント２００に候補を提示する際は，入力データの文字数ＬＧから各距離の値を引いたものを用いて「近いほど値が大きい」指標でソートして提示する。あわせて、３軸のどれを重視するかを状況に合わせて選んで重み付けできる。
【００２３】
例えば，近いほど値が１００％になる指標として以下の近似率を定義すると、（１）式となる。すなわち、近似率が１に近いほど入力データと候補データとは近くなる。
【数１】
0006348787.tif 000003
【００２４】
なお、（１）式の第２項のＮpre/(ＬG＋１)２は、Ｎpre≦ＬGなので、１/(ＬG＋１)未満となる。また、（１）式の第３項のＩLCS/(ＬG＋１)３ は、ＩLCS≦ＬGなので、１/(ＬG＋１)２未満となる。
【００２５】
具体的な数値を示すと、
LG=9, d=0, Npre=9, lLCS=9（文字数９の入力データと完全一致の場合）とすると、
近似率 = 9/10 + 9/100 + 9/1000 = 0.9 + 0.09 + 0.009 = 0.999  となる。
同様に、
LG=5, d=0, Npre=5, lLCS=5（文字数５の入力データと完全一致の場合）とすると、
近似率 = 5/6 + 5/36 + 5/216 = 0.8333 + 0.1388 + 0.0231 = 0.995  となる。
同様に、
LG=15, d=0, Npre=15, lLCS=15（文字数１５の入力データと完全一致の場合）とすると、
近似率 = 15/16 + 15/256 + 15/4096 = 0.93750 + 0.05859 + 0.00366 = 0.99975  となる。
【００２６】
文字数９の入力データ、編集距離が１の例を示すと、
LG=9, d=1, Npre=5, lLCS=6の場合、
近似率 = 8/10 + 5/100 + 6/1000 = 0.8 + 0.05 + 0.006 = 0.856  となる。
同様に、
LG=9, d=1, Npre=4, lLCS=7の場合、
近似率 = 8/10 + 4/100 + 7/1000 = 0.8 + 0.04 + 0.007 = 0.847  となる。
LG=9, d=1, Npre=4, lLCS=3の場合、
近似率 = 8/10 + 4/100 + 3/1000 = 0.8 + 0.04 + 0.003 = 0.843  となる。
【００２７】
文字数５の入力データ、編集距離が１の例を示すと、
LG=5, d=1, Npre=3, lLCS=2の場合、
近似率 = 4/6 + 3/36 + 2/216 = 0.6666 + 0.0833 + 0.0092 = 0.759  となる。
LG=5, d=1, Npre=2, lLCS=3の場合、
近似率 = 4/6 + 2/36 + 3/216 = 0.6666 + 0.0555 + 0.0138 = 0.736  となる。
LG=5, d=1, Npre=2, lLCS=2の場合、
近似率 = 4/6 + 2/36 + 2/216 = 0.6666 + 0.0555 + 0.0092 = 0.731  となる。
【００２８】
文字数１５の入力データ、編集距離が２の例を示すと、
LG=15, d=2, Npre=5, lLCS=6の場合、
近似率 = 13/16 + 5/256 + 6/4096 = 0.8125 + 0.0195 +0.00146 = 0.8334  となる。
LG=15, d=2, Npre=4, lLCS=7の場合、
近似率 = 13/16 + 4/256 + 7/4096 = 0.8125 + 0.0156 + 0.0017 = 0.8298  となる。
LG=15, d=2, Npre=4, lLCS=6の場合、
近似率 = 13/16 +4/256 + 6/4096 = 0.8125 + 0.0156 + 0.00146 = 0.8296  となる。
【００２９】
本実施形態では、前記（１）式により、近似率が１（すなわち、１００％）を超えないように設定しているが、これに限定されるものではない。例えば、近似率は、入力データの文字数をＬG、編集距離をｄ、前方一致文字数をＮpre、最長共通部分列の文字数をＩLCS、重み係数をＡ，Ｂ，Ｃとすると、
近似率＝Ａ(ＬG−ｄ)＋ＢＮpre＋ＣＩLCS                   ・・・（２）
であってもよい。
【００３０】
（入力判定処理）
図４は、入力判定処理を示すフローチャートである。適宜図１を参照して説明する。入力判定処理Ｓ１１０は、検索部２０がクライアント２００から発注データを受理すると、発注データに含まれる型番を対象データとして、データベース７０に格納されているか否かを検索する処理である。入力データは、例えば、「８１０１Ａ−８１」である。
【００３１】
検索部２０は、該当するカタログ型番ＤＢ７２をメモリに読込み、作業用のリストに格納する（処理Ｓ１１１）。
【００３２】
検索部２０は、入力データの先頭から文字ごとに（処理Ｓ１１２）、処理Ｓ１１３〜処理Ｓ１１５を繰り返す。まず、対象データの単位文字に該当する単位文字がリストにあるか否かを判定し（処理Ｓ１１３）、該当する単位文字がある場合（処理Ｓ１１３，Ｙｅｓ）、リストを絞り込み（処理Ｓ１１４）、次の文字へ進む（処理Ｓ１１５）。該当する文字がない場合（処理Ｓ１１３，Ｎｏ）、誤入力処理Ｓ１３０に進む。
【００３３】
例えば、入力データが「８１０１Ａ−８１」の場合、図２に示したカタログ型番ＤＢ７２には該当するものがないので、誤入力処理Ｓ１３０に進む。本実施形態では、入力データとカタログ型番ＤＢ７２とを比較する際には、ハイフン（−）等を省略して該当文字があるか否かを判定している。なお、受注処理は、受注処理を担当する受注サーバ（不図示）が担当するが、説明は省略する。
【００３４】
（誤入力処理）
図５は、誤入力処理を示すフローチャートである。図６は、修正候補例の抽出を示す図であり、（ａ）は入力データの例であり、（ｂ）は図２に示したカタログ型番７２の候補データを近似率が高い順に並べ替え後の近似率結果情報７３である。適宜図１を参照して説明する。
【００３５】
誤入力処理Ｓ１３０は、対象データがデータベース７０に格納されていなかった場合に、対象データに類似する候補データをデータベース７０から抽出する処理である。事例として、入力データを「８１０１Ａ−８１」とし、候補データを図２に示すカタログ型番７２を用いて説明する。なお、二つの文字列の比較に際し、ハイフン（−）は比較対象から除外して比較するとする。
【００３６】
算出部３０は、該当するカタログ型番ＤＢ７２をメモリに読込み、作業用のリストに格納する（処理Ｓ１３１）。
【００３７】
編集距離算出部３１は、入力データと、作業用リストのデータとの距離（以下、編集距離という）を算出する（処理Ｓ１３２）。編集距離は、情報理論において、二つの文字列がどの程度異なっているかを示す数値である。編集距離として、レーベンシュタイン（Levenshtein）距離、Damerau-Levenshtein距離などを利用する。具体的には、文字の挿入や削除、置換によって、一つの文字列を別の文字列に変形するのに必要な手順の最小回数として与えられる。例えば、入力データの文字列が「８１０１Ａ８１」、候補データの文字列が「８１８１」の場合、入力データの３文字目、４文字目、５文字目を削除すると候補データになるので、編集距離は「３」となる。
【００３８】
前方一致文字数算出部３２は、入力データと、作業用リストのデータとの前方一致文字数を算出する（処理Ｓ１３３）。例えば、入力データの文字列が「８１０１Ａ８１」、候補データの文字列が「８１８１」の場合、入力データおよび候補データの1文字目、２文字目が同一であるので、前方一致文字数は「２」となる。
【００３９】
最長共通部分列文字数算出部３３は、入力データと、作業用リストのデータとの最長共通部分列の文字数を算出する（処理Ｓ１３４）。ここで、部分列(Subsequence) は系列のいくつかの要素を取り出してできた系列のことをいい、二つの系列の共通の部分列を共通部分列 (Common Subsecuence)という。共通部分列のうち、もっとも長いものを最長共通部分列 ＬＣＳ：Longest Common Subsequence)という。
【００４０】
例えば、入力データの文字列が「８１０１Ａ８１」、候補データの文字列が「８１８１」の場合、入力データの１文字目および２文字目の部分列「８１」の２文字と、入力データの６文字目および７文字目の部分列「８１」の２文字が共通であるので、共通部分列の文字数は「４」である。一方、候補データの１文字目および２文字目の部分列「８１」の２文字と、候補データの３文字目および４文字目の部分列「８１」の２文字が共通であるので、共通部分列の文字数は「４」である。よって、最長共通部分列の文字数は、「４」である。
【００４１】
近似率算出部３４は、前記（１）式に基づいて近似率を算出する（処理Ｓ１３４）。例えば、候補データが「８１８１」の場合の近似率は、「５７．０」％である。
【００４２】
算出部３０は、候補データを近似率の高い順に並べ替えを実施し、近似率結果情報７３（図１参照）として出力する（処理Ｓ１３６）。図６（ｂ）は、候補データの並べ替え後の近似率結果情報７３である。編集距離が「１」の候補データとして「８１１１−Ａ８１」がある。編集距離が「２」の候補データとして「８１１２８１」、「Ｔ１０−１５−８１」がある。また、編集距離が「３」の候補として、「８１０−１３−２８」、「８１０−１３−２７」、「８１０−１３−２６」、・・・がある。
【００４３】
編集距離が「２」の「８１１２８１」、「Ｔ１０−１５−８１」を比較してみると、「８１１２８１」の前方一致文字数が「２」であり、「Ｔ１０−１５−８１」の前方一致文字数が「０」と異なるため、「８１１２８１」の方が、近似率が高くなる。これは、表１で前記したように、前方一致文字数のメリットとして、一般的には、ユーザが入力する際には、一般に誤入力は文字列の後方ほど起きやすいため人間の感覚に近いことが示されている。また、「Ｔ１０−１５−８１」の候補データの場合、前方一致文字数のデメリットとして、前方で誤入力が起きた場合には全く使えない欠点が、編集履歴の指標により改善されて、順位的には近似率が３位と高い。本実施形態では、前方で誤入力が起きた場合には全く使えないというデメリットを改善できていることを示している。
【００４４】
また、編集距離が「３」と同一、前方一致文字数が「４」と同一の場合においても、「８１０−１３−２８」の場合、最長共通部分列の文字数が「５」であり、他の候補データの最長共通部分列の文字数より高いため、近似率が４位と高くなっている。
【００４５】
図５に戻り、抽出部４０は、近似率結果情報７３を参照して、算出部３０で算出された近似率が所定値以上のデータを、前記修正候補として抽出する（処理Ｓ１３７）。例えば、近似率の高い上位４位までの修正候補データを抽出する。
【００４６】
候補提示部５０は、抽出部４０で抽出された修正候補を、クライアント２００または表示部８２に出力する（処理Ｓ１３８）。出力例は、図７を参照して後記する。
【００４７】
そして、候補提示部５０は、修正候補データがクライアント２００で選択されたか否かを判定し（処理Ｓ１３９）、選択された場合（処理Ｓ１３９，Ｙｅｓ）、一連の処理を終了する。一方、修正候補データが選択されない場合（処理Ｓ１３９，Ｎｏ）、入力判定処理Ｓ１１０に戻り、処理を終了する。
【００４８】
なお、図５に示す処理１３２、処理１３３、処理１３４は、並列処理をすることにより計算速度を向上することができる。
【００４９】
図７は、クライアントの表示画面の一例を示す図である。図７には、候補提示部５０（図１参照）が提示するクライアント２００の表示画面を示す。表示画面には、例えば、
「８１０１Ａ−８１という型番は存在しません。もしかしてこちらではないですか？
８１１１−Ａ８１、８１１２８１、Ｔ１０−１５−８１、８１０−１３−２８という表示がされる。顧客は、発注の入力間違いがあるとすばやく気づくことができ、例えば、８１１１−Ａ８１が入力される。
【００５０】
（候補提示部）
図８は、候補提示部の提示方法の一例を示す図であり、（ａ）は入力データの例であり、（ｂ）は抽出部４０が抽出した抽出結果情報７８であり、（ｃ）は候補提示部５０が提示する際に再編集した編集結果情報７９である。候補提示部５０は、前記したようにクライアント２００に修正候補のデータを提示する機能を有するが、提示する際に顧客が見やすいように提示する機能も有する。すなわち、候補提示部５０は、近似率が同じであれば、同類はまとめて表示することでユーザの可読性と選択のしやすさを向上させる。まとめは数字部分のみが異なる重複候補をまとめる。このとき、ワイルドカードとして、任意の数値の文字列を示す「■」（黒四角）を用いる。
【００５１】
図８（ａ）に示す入力データ中に「？」（疑問符）は、ワイルドカードの例であり、任意の１文字を意味する。図８（ｂ）に示す抽出結果情報７８を参照すると、行７８１〜７８５は近似率が６８．５％と同一であり、行７８７〜７８９は近似率６０．２％と同一である。これに対し、図８（ｃ）においては、ワイルドカードの「■」を用いて、行７８１行７８２、行７８６を行７９１にまとめている。同様に、行７８３〜７８５を行７９２にまとめ、行７８７および行７８９を行７９３にまとめている。候補提示部５０は、クライアント２００に、図８（ｃ）に基づく候補データ（ＡＢＮＺ■−１．０−１００、ＡＢＮＺ■−１．５−１００、ＡＢＮＺＳ５−■−１００、ＡＢＮＺ１−６．０−１００）を提示することができる。
【００５２】
本実施形態では、図２において英数字の例について示したが、これに限定されるものではない。例えば、英数字以外の文字を使用している型番として下記がある。
ＳＪＲ−４０２３Ｓ−３０５Ｗ−ジクツキ
ＴＩＣ０．３（アオ）
ＴＩＣ０．３（アカ）
ＳＮＳＳ−＃１０−２４Ｘ１・１／４
ＳＮＳＳ−＃１０−３２Ｘ１・１／４
％ＭＤＤＣＰ−ＮＡＴＯ−ＤＥＰＬ１０−８１７．９−ＮＨＣ（Ｅ８４）−ズメンＮＯ．０３−１２０７−０７２９
【００５３】
本実施形態では、クライアント２００からの入力について説明したが、管理者が入力部８１を介して、対象データを入力してもよい。
【００５４】
本実施形態では、近似率を算出する際に、（１）式において３つの指標を用いたがこれに限定されるわけではない。４つ目の指標に対し、重み係数として1/(LG+1)４を適用するとよい。この場合３つの指標で近似率が同じであっても、４つ目の指標により順位付けが可能となる。
【００５５】
＜近似率の拡張＞
ここでは、（１）式をさらに汎用的にした近似率である（３）式について説明する。
【数３】
0006348787.tif 000004
なお、ＬG   ：入力データの文字数
ｄ    ：編集距離
Ｎｐｒｅ：前方一致の文字数
ｌＬＣＳ：最長共通部分列の文字数
δｄ０  ：変数（ｄ＝０のとき１、ｄ＞０のとき０）
ｋ０   ：変数（データベースの特性により設定）
【００５６】
ここで、
ｄ＝０のとき、｛  ｝の中は１になるので近似率はｋ０となる。
ｄ＞０のとき、｛  ｝の中は１未満になるので近似率はｋ０未満になる。
ｄが大きいとき、近似率は負になる場合がある。そのときは近似率を０とする。
【００５７】
（３）式に示す近似率の特徴は、下記である。
（Ｉ）変数δｄ０を導入することにより、入力データと編集距離が完全一致の場合においても、近似率がｋ０と設定できる。例えば、
LG=9, d=0, Npre=9, lLCS=9, δd0=1（文字数９の入力データと完全一致の場合）とすると、近似率 = k0(10/10 + 0/100 + 0/1000) = k0  となる。
同様に、LG=5, d=0, Npre=5, lLCS=5, δd0=1（文字数５の入力データと完全一致の場合）とすると、近似率 = k0(6/6 + 0/36 + 0/216) = k0  となる。
同様に、LG=15, d=0, Npre=15, lLCS=15, δd0=1（文字数１５の入力データと完全一致の場合）とすると、近似率 =k0(16/16 + 0/256 + 0/4096)= k0  となる。
【００５８】
（II）変数ｋ０を導入して、入力データのうち特定の文字列を優先的に上位に（近似率が１に近く）なるように設定できる。あるいは、入力データのうち特定の文字列を下位に（近似率が０に近く）なるように設定できる。例えば、入力データにカタカナが含まれないときはｋ０＝０．９９９とし、入力データにカタカナが含むときはｋ０＝０．９９とする。この場合、入力データのうち英数字のみの文字列をカタカナを含む文字列よりも相対的に上位に位置付けすることができる。
【００５９】
（３）式でｋ０＝１と設定した場合、入力データに対する候補データの近似率は、
０≦  近似率  ≦１
の範囲にあり、わかりやすい値として管理することができる。
【００６０】
入力データに対する候補データとして数百万件を対象とすることがある。本実施形態のデータ処理装置を適用することにより、入力誤りを早期に発見できるとともに、類似する型番を提示することができるため、インターネットビジネスの向上に有効な手段となる。また、本実施形態では、カタログの型番を対象データとして示したがこれに限定されるのではなく、文字列であれば、本実施形態のデータ処理方法を適用することができる。
【符号の説明】
【００６１】
１０    処理部
２０    検索部
３０    算出部
３１    編集距離算出部
３２    前方一致文字数算出部
３３    最長共通部分列文字数算出部
３４    近似率算出部
４０    抽出部
５０    候補提示部
７０    データベース
７１    カタログＤＢ
７２    カタログ型番ＤＢ
７３    近似率結果情報
７４    抽出条件情報
１００    データ処理装置
２００    クライアント
３００    ネットワーク
Ｓ１１０    入力判定処理
Ｓ１３０    誤入力処理
【図１】
0006348787.tif 000005
【図２】
0006348787.tif 000006
【図３】
0006348787.tif 000007
【図４】
0006348787.tif 000008
【図５】
0006348787.tif 000009
【図６】
0006348787.tif 000010
【図７】
0006348787.tif 000011
【図８】
0006348787.tif 000012