JP3603395B2 - マッチング装置およびマッチング方法 - Google Patents
マッチング装置およびマッチング方法 Download PDFInfo
- Publication number
- JP3603395B2 JP3603395B2 JP19034395A JP19034395A JP3603395B2 JP 3603395 B2 JP3603395 B2 JP 3603395B2 JP 19034395 A JP19034395 A JP 19034395A JP 19034395 A JP19034395 A JP 19034395A JP 3603395 B2 JP3603395 B2 JP 3603395B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- hierarchical
- code
- value
- distance
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 33
- 238000004364 calculation method Methods 0.000 claims description 37
- 238000010586 diagram Methods 0.000 description 14
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、データのマッチングの度合いを算出するマッチング装置およびマッチング方法に関連するものであり、特に、データ間の階層関係に基づくマッチング装置およびマッチング方法に関するものである。
【0002】
【従来の技術】
従来より、テキスト検索や自動分類の研究が活発に行なわれている。こうした分野において、シソーラスと呼ばれる単語間の上位/下位関係および類義語を定義した辞書の重要性がますます高まっている。
【0003】
テキスト検索においては、ユーザの入力した表現が検索対象中の表現と一致しないことがしばしば発生する。このため、検索された内容のヒット率を確保するために、類義語や上位/下位語を含めた検索が必要である。そこで、シソーラスを用いることにより検索要求の単語を展開する手法などがよく用いられる。
【0004】
一般的には、検索時に検索要求に基づきシソーラスの階層をたどり、得られた類義語または上位/下位語のそれぞれを用いて検索がなされる。このとき、検索のたびに毎回シソーラスの階層をたどったのでは検索速度が低下するため、例えば、特開平2−280274号公報の「データベース検索システムの包括検索方式」で述べられているように、あらかじめシソーラスの上位/下位などを含めた包括インデックスを作成し、検索時の速度低下を防ごうとする技術などが提案されている。
【0005】
しかしながら、このような包括インデックスを保持したとしても、包括インデックスに含まれる複数のデータベースキーに基づいた検索を行なう必要があるため、依然として単純一致検索に比べて速度の低下は発生する。また、こうした包括インデックス情報を予め作成しておく必要があるため、データ量やデータベース構築時のコストの増加を招くという問題もある。
【0006】
例えば、検索キーとキーワード間でシソーラスを考慮したマッチングを行ない、マッチング度合いによって検索結果とするか否かを判定することも考えられるが、従来のマッチング手法では、マッチングの計算に時間がかかり、検索で用いることができる技術ではなかった。
【0007】
一方、テキストの自動分類と呼ばれる分野では、なんらかの基準を用いてテキスト間の意味的な距離を用いることにより、テキストの分類が行なわれる。このとき、テキスト間の距離を求めるためにもシソーラスが用いられる。
【0008】
例えば、情報処理,Vol.36,No.2,1995.2,飯田,「人工知能におけるスーパーコンピューティング」,pp.164−168においては、句同士の間の距離を求める技術の一環として、概念階層を用いた単語間の距離計算方法が示されており、入力と用例間の意味距離が、あらかじめ付与された10進シソーラスコードの照合により計算されている。
【0009】
しかしながら、この計算法は共通の上位ノードへの距離のみによる計算であるため、木構造のリーフ(葉)であり、同一階層に並ぶ単語間の距離しか計算できない。単語はすべて同一レベルのリーフとして表現されるわけではないので、階層の途中の概念やリーフまでの階層数が異なる場合には適用できない。したがって、単語間の距離の比較においては、このような単純な方法では依然充分ではない。また、並列計算機を想定しているため、効率的な距離計算には連想メモリなど特殊な処理を必要とし、現在のところ一般的でない。
【0010】
このように、従来の技術においては、シソーラスにおける単語間のマッチングを効率的に行なうには、依然不十分な技術しか存在しなかった。
【0011】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたものであり、特に、シソーラスにおける単語間のマッチングを、高速かつ少ないデータサイズで効率的に行なうマッチング装置およびマッチング方法を提供することを目的とするものである。
【0012】
【課題を解決するための手段】
本発明は、データ間の階層関係に基づくマッチングを行なうマッチング装置において、階層関係をもつデータ群の各データを各階層の同じ親を有する各データに対して順次割り振った値とともに保持し入力されたデータまで階層をたどったときのそれぞれの階層のデータに割り振られた値を並べたコードに変換する階層データコード化手段と、与えられた少なくとも二つのデータについての階層関係におけるデータ間の近さを示す概念距離として前記二つのデータから前記階層データコード化手段より得られたコードの排他的論理和と各階層の値のマスクコードとの論理積が非ゼロになる最大のマスクコードから該マスクコードに対応づけられている値を前記概念距離として算出する距離算出手段を有することを特徴とするものである。
また本発明は、データ間の階層関係に基づくマッチングを行なうマッチング方法において、階層関係をもつデータ群の各データを各階層の同じ親を有する各データに対して順次割り振った値とともに階層データコード化手段に保持しており、与えられた少なくとも二つのデータについて前記階層データコード化手段により該データまで階層をたどったときのそれぞれの階層のデータに割り振られた値を並べたコードに変換し、得られたコードの排他的論理和と各階層の値のマスクコードとの論理積が非ゼロになる最大のマスクコードから該マスクコードに対応づけられている値を距離算出手段で算出し、該値を階層関係におけるデータ間の近さを示す概念距離とすることを特徴とするものである。
【0013】
さらに、請求項2および請求項5に記載の発明のように、与えられた少なくとも二つのデータについて前記階層データコード化手段より得られたコードと各階層の値のマスクコードとの論理積が非ゼロになる最小のマスクコードから各データの階層レベルを求めて前記データ間の階層レベルの差を算出する階層差算出手段を設けることができる。
【0014】
さらに、請求項3および請求項6に記載の発明のように、前記距離算出手段および前記階層差算出手段の結果に基づき優先度を算出する優先度算出手段を設けることができる。
【0015】
【作用】
本発明によれば、階層関係をもつデータ群の各データに対して、階層関係に応じたコードを保持させておく。そして、与えられた少なくとも二つのデータについて、各データまで階層をたどったときのそれぞれの階層のデータに割り振られた値を並べたコードに変換し、得られたコードの排他的論理和と各階層の値のマスクコードとの論理積が非ゼロになる最大のマスクコードから該マスクコードに対応づけられている値を算出し、その値を階層関係におけるデータ間の近さを示す概念距離とする。これにより、従来のように算術演算など、時間のかかる演算を行なうことなく距離計算を行なうことができ、データ間の階層関係に基づくマッチングが高速かつ容易に実現可能となる。また、請求項2および請求項3に記載の発明のように、用途に応じ、階層差算出手段や、さらに優先度算出手段を設けるなど、種々の構成をとることで、階層レベル差や優先度といったよりきめ細かな比較が可能となる。
【0016】
【発明の実施の態様】
図1は、本発明のマッチング装置の1つの実施の態様を示す概略構成図である。図中、1は入力部、2は階層関係コード化部、3はマッチング部、4は出力部である。入力部1は、比較すべきデータを与える。階層関係コード化部2は、入力に応じて、あらかじめ階層間の位置にしたがって付与されたコードを返す。マッチング部3は、入力部1から与えられた複数のデータを、階層関係コード化部2から得られるコードを用いてビット論理演算でマッチングを行なう。出力部4は、マッチング部3により得られた結果を出力する。
【0017】
図2は、本発明のマッチング装置の1つの実施の態様を類似語検索システムに適用した場合の一例を示すブロック構成図である。図中、10は検索要求入力部、11は端末、12はOCR、13は電話および音声認識部、14は記憶装置、15は赤外線・無線受信部、20はシソーラスコード化部、21はシソーラス、30はマッチング部、31は距離算出部、32は階層差算出部、33は優先度算出部、34は出力指示部、40は出力部、41は端末、42はファクシミリやプリンタ、43は電話やポケベル、44は赤外線・無線発信部、50はデータベース部、51はデータベースである。検索要求入力部10は、図1に示した入力部1に対応し、同様に、シソーラスコード化部20は階層関係コード化部2に、マッチング部30はマッチング部3に、出力部40は出力部4にそれぞれ対応する。データベース部50は、検索対象となる各種の文書を電子的に記憶する部分であり、文書はデータベース51に記憶される。
【0018】
検索要求入力部10は、例えば、端末11、OCR12、音声を入力するマイクなどを具備した電話および音声認識部13、メモリやディスク、テープ等の記憶装置14、携帯情報機器などからの赤外線や無線を受信する赤外線・無線受信部15などから構成されている。もちろん、これらのうちの一部でもよいし、これ以外の入力装置を用いるようにしてもよい。
【0019】
出力部40は、端末41のディスプレイ、ファクシミリ/プリンタ42、音声合成によりスピーカから出力する電話やポケベル43、携帯情報機器へ赤外線や無線を用いて情報を伝送する赤外線・無線発信部44などから構成される。もちろん、これらの一部で構成してもよいし、これ以外の出力装置を用いるようにしてもよく、いったんネットワーク等に接続された記憶装置に蓄えるように構成してもよい。
【0020】
シソーラスコード化部20は、入力された単語に応じて、シソーラス21の階層構造に応じて保持されたコードに変換する部分である。
【0021】
マッチング部30は、入力された単語とデータベース51中の文書のキーワードを比較し、検索要求に一致あるいは類似したキーワードを有する文書を出力指示する部分である。距離算出部31は、シソーラスコード化部20で変換された検索要求と文書のキーワードのコード同士を論理演算し、階層関係における距離を算出する部分である。階層差算出部32は、シソーラスコード化部20で変換された検索要求と文書のキーワードのコード同士を論理演算し、階層レベルの差を算出する部分である。優先度算出部33は、距離算出部および階層差算出部の結果に基づき、マッチング結果の優先度を算出する部分である。出力指示部34は、優先度算出部33で得られた結果に基づき、データベース部50から検索要求に一致または類似したキーワードを有する文書を取り出し、出力部40に出力を指示する。
【0022】
図3は、類似語検索システムの一例における全体の動作の一例を示すフローチャート、図4は、マッチングアルゴリズムの一例の概略を示すフローチャートである。まず、S61において、検索要求入力部10からユーザの検索要求RQが入力されると、S62において、シソーラスコード化部20でシソーラスコードへの変換が行なわれ、検索要求のシソーラスコードC1が得られる。
【0023】
続いて、S63において、検索対象となるデータベース51より一つの文書DQが取り出される。さらに、S64において、この文書のキーワードKWを順次取り出す。キーワードは、検索時にその場で文書中から抽出してもよいし、検索の高速性が必要であれば、あらかじめ文書に手動または自動で付与されたものを用いればよい。S65において、キーワードKWは、検索要求RQと同様に、シソーラスコード化部20でコード変換され、キーワードのシソーラスコードC2が得られる。
【0024】
検索要求のシソーラスコードC1とキーワードのシソーラスコードC2がともに得られると、S66において、コードのマッチングが行なわれる。まず、階層差算出部32は、S81において、検索要求のシソーラスコードC1の階層レベルを論理演算によって求め、検索要求の階層レベルL1とする。同様に、S82において、キーワードのシソーラスコードC2の階層レベルを論理演算によって求め、キーワードの階層レベルL2とする。S83において、検索要求の階層レベルL1とキーワードの階層レベルL2の差を求め、階層レベル差LDとする。続いて、距離算出部31は、S84において、検索要求のシソーラスコードC1とキーワードのシソーラスコードC2のビット排他論理和を計算し、概念距離CDとする。さらに、優先度算出部33は、S85において、抽出された階層レベル差LDと概念距離CDに応じて優先度PLを算出する。
【0025】
このようにしてコードのマッチングが行なわれると、得られた階層レベル差LD、概念距離CD、優先度PLなどが基準を満たしているか否かを、S67でチェックする。S68で基準を満たしていると判定されれば、出力指示部34は、S69で結果バッファBFに文書DQを出力する。もちろん、出力部40に直接出力指示を行なってもよい。
【0026】
S70において、現在処理中の文書に付与されているキーワードがすべて処理されたか否かを判定し、最後のキーワードの処理が終了するまで、S64〜S70の処理を繰り返し行なう。1つの文書について、すべてのキーワードの処理が終了すると、S71において、すべての文書について処理を行なったか否かを判定し、最後の文書の処理が終了するまで、S63〜S70の処理を繰り返し行なう。
【0027】
このような処理を行なうことによって、検索要求に一致あるいは類似したキーワードを有する文書が検索され、出力されることになる。上述のように、マッチング処理では階層差や概念距離を、論理演算を用いて行なっているので、高速にマッチング処理を行なうことができる。そのため、従来のようにシソーラス階層をたどったり、包括インデックスを用いることなどもなく、少ないデータサイズで高速な類似語検索を実現することができる。
【0028】
以下、具体例を用いて、上述の動作の一例を説明する。図5は、シソーラスの構成の具体例を示す説明図である。例えば、「自家用車」という単語は、「自動車」の下位概念であり、「スポーツカー」、「セダン」、「RV車」などの上位概念を表わす。それぞれの単語には、図中の角カッコ“[]”内に示すように、各階層の同じ親を有する各単語について、レベル1から始まるコードを順次割り振る。ここでは一つの階層につき2進4ビットを用い、16進数で示している。
【0029】
実際に各単語に割り当てられるコードの例の一部も、図中の丸カッコ“()”内に示している。例えば、「自家用車」という単語においては、
具体物[2]→機械[3]→乗物[A]→車両[2]→自動車[4]→自家用車[4]
という階層をたどり、さらに1レベルの下位データを持つため、これを[0]と表わし、「23A2440H」という4バイトの16進コードを割り当てる。ここで、末尾の‘H’は、16進数であることを示しており、16進の「23A2440」という値を示している。同様に、「自家用車」の下位に位置し、末端のデータである「セダン」という単語には、「23A2442H」というコードを割り当てる。ここでは各ノードが15個以下の8階層としたため、4ビット7レベルのコードを用いたが、もちろんこの割り当ては自由であり、シソーラスの構造に応じて設計すればよい。なお、この割り当ては、シソーラスの階層構造をトラバースすることにより容易に自動的化できるため、人手によるコード付与などの手間を排除することが可能である。
【0030】
図3のS61で入力された検索要求RQは、S62において、シソーラスコードC1へ変換される。図6は、シソーラスコードへの変換の一例を示す概念図である。ここでは、データ構造として特開平5−28194号公報の「データアクセス方式」に述べられているような、ハッシングを用いた例を示す。入力されたデータは、ハッシュ関数によって得られたハッシュ値をもとにハッシュテーブルを参照する。ここでは、ハッシュテーブルにはチェインインデックスへのポインタが格納されており、このポインタをもとにチェインインデックスを参照し、このチェインインデックスで衝突をチェックした後、変換データが参照される。変換データには、単語に対応するコードが格納されており、入力データに対応するコードが得られる。
【0031】
例えば、「セダン」というデータが入力されると、ハッシュ関数によりハッシュ値が得られ、これをもとにハッシュテーブルが参照され、さらにチェインインデックにより衝突がチェックされた後、シソーラスコードC1として「23A2442H」が得られる。また、図6に示したように、「オートバイ」と「バイク」などの同義語は、入力データとしては異なるが、変換により同一化されたコードとなる。このように、シソーラスにおける階層関係をたどる必要なしに、直接、データからコードを得ることができる。
【0032】
なお、ここではハッシュ法を用いた例について説明したが、BTreeなど、他のデータ構造を用いてもよいことはもちろんである。
【0033】
このようにして、入力された検索要求RQは、ハッシュ関数により変換され、ハッシュテーブルとチェインインデックスをたどることにより、シソーラスコードC1に変換される。続いて、S63で検索対象となるデータベース51より文書が1つ取り出され、さらにS64でこの文書のキーワードが取り出される。ここでは、キーワードKWとして「パソコン」が取り出されたとする。キーワードKWは、S65で上述と同様の方法によりシソーラスコード化部20でコード変換される。たとえばキーワードが「パソコン」の場合には、図5に示すように、「23EC220H」というシソーラスコードに変換される。
【0034】
検索要求のシソーラスコードC1と、キーワードのシソーラスコードC2がともに得られると、S66でコードのマッチングが行なわれる。マッチングは、大きく階層差算出部32におけるレベル差の計算と、距離算出部31における概念距離の計算に分けられる。
【0035】
まず、階層差算出部32は、S81,S82において、検索要求のシソーラスコードC1とキーワードのシソーラスコードC2の階層レベルを計算する。具体的には、次に示すような4ビット単位のマスクコードを用意し、検索要求のシソーラスコードC1およびキーワードのシソーラスコードC2とのANDを順次とり、非ゼロになるまで繰り返すことでレベルが決定される。なお、レベル1までのANDがすべて0であった場合、すなわちC1またはC2のコードが0の場合、それはシソーラスの根、この場合「概念」であるからレベルは0となる。
レベル7: 000000FH
レベル6: 00000F0H
レベル5: 0000F00H
レベル4: 000F000H
レベル3: 00F0000H
レベル2: 0F00000H
レベル1: F000000H
【0036】
「セダン」に関するコードは、上述のように「23A2442H」であったから、まず000000FHとのANDを取ると、
000000FH AND 23A2442H = 2H
となり、非ゼロであるのでレベル7の単語であることがわかり、終了する。
【0037】
「パソコン」に関するコードは、上述のように「23EC220H」であったから、まず000000FHとのANDを取ると、
000000FH AND 23EC220H = 0H
となり、ゼロであるので、さらに00000F0HとのANDを取る。すると、
00000F0H AND 23EC220H = 20H
となり、非ゼロであるので、レベル6の単語であることがわかり、終了する。
【0038】
ここでは、ANDによるマスクを用いた方法を述べたが、レベルに応じたビット数、例えば、レベル7の場合4ビットだけ右シフトし、下位桁あふれフラグをチェックするなどの方法でも、もちろん論理的に同一になる。いずれにせよ、これらのビット単位の論理演算は、一般に非常に高速に実行可能であるため、処理の高速化を実現することが可能である。
【0039】
こうして得られた階層レベルの差の絶対値をS83で計算し、階層レベル差LDとする。ここでは|7−6|=1となる。
【0040】
続いて、距離算出部31において、単語間の概念距離が計算される。概念距離は、コード間のビット排他的論理和(XOR)に基づいて求められる。ここでは、
23A2442H XOR 23EC220H = 4E662H
となる。こうして得られる値は、単語(概念)間のいわば近さを示す。概念距離はここで得られた値の範囲に応じて付与する。この付与には、上述の階層レベルチェックと同様に、次に示すマスクコードとのANDで非ゼロになる最大のものとして、容易に求められる。なお、XORの結果が全ビット0の場合、同一のコードであるから概念距離は0となる。
概念距離7: F000000H
概念距離6: 0F00000H
概念距離5: 00F0000H
概念距離4: 000F000H
概念距離3: 0000F00H
概念距離2: 00000F0H
概念距離1: 000000FH
【0041】
ここでは、ビット排他論理和の値が「4E662H」であるので、
F000000H AND 4E662H = 0H
0F00000H AND 4E662H = 0H
00F0000H AND 4E662H = 40000H
となり、概念距離=5であることがわかる。
【0042】
図7は、マッチング結果の具体例の説明図である。図7には、「セダン」を検索要求として、各キーワードと、そのキーワードのシソーラスコードC2、「セダン」のシソーラスコードC1「23A2442H」とのビット排他論理和の値、概念距離、レベル差、優先度について示している。優先度については、後で再びこの図を参照して説明する。
【0043】
図7に示すように、概念距離はレベル差とは直接関係ない。例えば、「セダン」に関し、1レベル上位(親子関係)である「自家用車」とのビット排他論理和の値は2H、その1レベル下で同じ上位語を持つ「スポーツカー」とは3Hとなり、これらは非常に近い関係であり、概念距離は1になる。
【0044】
一方、2レベル上位(祖父母関係)である「自動車」では、ビット排他論理和の値は42Hであるが、その1レベル下位(おじ/おば)にあたる「バス」とは52H、さらに1レベル下(いとこ)、すなわち同レベルの「ボンネットバス」では50Hとなり、これらとの概念距離は2になる。さらに、前述の「パソコン」に対しては、ビット排他論理和の値は4E662Hとなり、概念距離は5である。
【0045】
図8は、具体例における概念距離の一部を2次元にマッピングした概念図である。図8において、○はノードを示し、実線はシソーラス階層を示しており、高さが階層レベルを示している。ここで示したシソーラス階層は、図5に示したものの一部である。いま、「セダン」を基準とし、概念距離を2次元上の距離に対応させると、等しい概念距離のノードは、図8に示すように等距離の円弧上に配置して示すことができる。
【0046】
なお、上述の例では、概念距離の計算にあたり、マスクコードによるANDを用いたが、論理的に同一であればさまざまな方法で実現し得る。図9は、概念距離のORゲートによる算出法の説明図である。例えば、図9に示すように、同一階層に相当するビットのORをとり、ONとなる最上位ビットを概念距離とすることが考えられる。図9に示した例では、「セダン」と「パソコン」のシソーラスコードのビット排他論理和の値「4E662H」を4ビットごとにOR回路に入力し、出力として「0011111」を得る。この結果の最上位ビットの位置は5番目であるので、概念距離は5となる。この計算方法では、ワイヤードロジックにより簡単に回路を構成できるので、ハードウェア化に向いた方法ということができる。もちろん、他の方法を用いて演算してもよい。
【0047】
また、この例では、この後に優先度を算出するために、0〜7に限定した概念距離を導入している。実際に上述のようにして、ある概念距離をもつ表現間のXORの演算を行なうと、その結果は特定の範囲(概念距離2の場合10H〜FFH)のみをとるので、例えば、単語間のおおざっぱな距離を求める場合には、XORを計算した結果を直接用いてももちろんよい。
【0048】
さらに、この実施の態様では、シソーラスの全階層に4ビットの固定長を割り当てているが、リーフに近付くにつれてノード数が増えるなどシソーラスの構造はさまざまである。このような場合には、各階層ごとに異なるビット数を割り当てればよく、記憶容量が限られている場合でも、これを有効に利用することが可能である。加えて、シソーラスにおいてはすべてのリーフデータが同じ階層レベルになるとは限らないが、本発明は異なる階層レベルにまたがるデータが比較可能であるため、このような場合においても非常に有効である。
【0049】
続いて、優先度算出部33ではS85において、距離算出部31で算出された概念距離と、階層差算出部32で算出された階層レベル差に応じ、優先度を算出する。上述のように、概念距離と階層レベル差は直接関係はない。また、概念距離が同一でも、それらの間の類似度が異なることは多い。上述の図8に示すように、「セダン」に対して「自動車」と「ボンネットバス」はともに概念距離2であるが、類似度は「自動車」のほうが直接の孫であるため、類似度は高いと考えられる。一方、シソーラスの構成によっては上位ノードに対し下位ノードとして類義語が並ぶような場合もある。このような場合は同じ階層レベルの方が類似度が高くなる。このように、概念距離と階層レベル差を用いることにより、これらを別の軸として評価することができる。
【0050】
この例では、優先度として、次のような計算式を用いる。
優先度 = 総レベル数×2 − (概念距離×2 − レベル差)
ここで、この例では総レベル数は7としている。上述の図7に示した各キーワードでは、「セダン」に対し、次のような値が返される。
14:セダン(7×2 − (0×2 − 0) = 14)
13:自家用車
12:スポーツカー,自動車
11:バス,車両,・・・
10:ボンネットバス,オートバイ,・・・
・・・
5:パソコン,・・・
・・・
もちろん、上述の計算式のほか、種々の計算方法によって優先度を算出してもよい。
【0051】
続いて、図3のS67で、上述のようにして得られたマッチング結果を用いて、抽出基準のチェックを行なう。ここでは単純に優先度の値が12以上の場合、適合結果とする。上述の図7に示した各キーワードの例では、文書が「セダン」、「自家用車」、「スポーツカー」、「自動車」のいずれかのキーワードを有していれば、結果バッファBFに出力される。
【0052】
もちろん、この基準とする値は適宜設定すればよい。また、この抽出基準については、他の抽出基準を用いてもよい。例えば、必要に応じて文書全体を走査したのちに統計処理によって抽出基準に対して重みづけをするなどがある。
【0053】
このようにして、検索要求と1つのキーワードとのマッチング処理および文書の抽出が終了する。ここまでの処理が1つの文書に付されているすべてのキーワードについて繰り返し、さらに、それらをデータベース51中の各文書に対して順次行なうことで処理が進められる。
【0054】
以上の処理により、結果バッファBFには、ユーザからの検索要求「セダン」に類似したキーワードを含む文書、具体的には「セダン」、「スポーツカー」、「RV車」、「自家用車」、「自動車」などを含む文書が蓄積される。この結果に対し、出力指示部34は優先度に基づいた文書の出力指示を出力部40に対して行なう。出力部40は、検索結果を出力し、検索処理は終了する。
【0055】
上述の類似語検索システムでは、マッチング部30において、概念距離、階層レベル差、およびこれらから優先度を算出したが、例えば、概念距離のみを利用したり、概念距離と階層レベル差を利用するなど、これらのうちの一部の計算結果を利用してもよい。
【0056】
本発明は、階層関係を持つデータ間の比較処理一般に適用でき、上述の類似語検索システムへの適用のみに限定されるものではないことは言うまでもない。以下、本発明のマッチング装置の1つの実施の態様を文書自動分類システムに適用した場合について述べる。
【0057】
現在、自動分類においては、標本データを用いた自動分類が一般的な技術のひとつである。しかし、シソーラス展開を含めることは、コストの問題から従来は困難であった。本発明のマッチング装置を、標準データとのマッチングに適用することにより、低コストで自動分類が可能となる。
【0058】
例えば、次のようなキーワードを持つ標本データ群(一部)に対して、ある文書を自動分類することを考える。
[標本1]
キーワード: 携帯,電話,自動車,PHS
カテゴリ: 移動体電話
[標本2]
キーワード: 端末,反射,抵抗,遅延
カテゴリ: ターミネータ
[標本3]
キーワード: 携帯,端末,PDA,ネットワーク
カテゴリ: 携帯端末
【0059】
入力文書も同様にキーワードを持つとする。これは、あらかじめ付与されたものでも、その場で抽出したものでもかまわない。
[入力文書]
キーワード: モーバイル,端末,通信
【0060】
ここで、シソーラス展開を含めた入力文書と各標本のキーワード間の類似度を求める。類似度の計算には、上述の類似語検索システムの場合と同様の方法を用いることができる。さらに、入力文書の各キーワードとの類似度がもっとも低いもの同士の和を求める。標本1〜3において計算した例を示す。
(標本1)
モーバイル:携帯=1,端末:PHS=4,通信:電話=2 合計7
(標本2)
モーバイル:遅延=6,端末:端末=0,通信:遅延=3 合計9
(標本3)
モーバイル:携帯=1,端末:端末=0,通信:ネットワーク=2 合計3
【0061】
こうして得られた和のもっとも小さい標本が、入力文書との類似度がもっとも高いと考えられるため、入力された文書を当該カテゴリに分類する。この例では、標本3において計算された和が最も小さいので、入力文書は標本3のカテゴリ「携帯端末」に分類される。以上の処理を入力文書すべてに対して順次行なことで自動分類が行なわれる。
【0062】
なお、上述の各システムへの適用例においては、シソーラスを用いた例について述べたが、階層構造をなすデータは一般に広く用いられているため、本発明はファイルディレクトリなど、シソーラス以外のデータ間のマッチングにも適用することができる。
【0063】
【発明の効果】
以上の説明から明らかなように、本発明によれば、シソーラスのような階層構造をなすデータ間での比較が、AND、XORといった単純なビット論理演算をベースとする簡単な処理のみで高速に実行することが可能となる。また、ビット論理演算処理をベースとすることにより、ソフトウェアによる実現はもちろん、ハードウェア化も容易である。
【0064】
本発明により、従来の共通上位ノードまでの階層数といった単純な処理では困難であった、階層の途中にまたがるようなデータ間の場合でも比較可能となった。加えて、階層レベル差を用いることにより、データの種類に応じたきめ細かな比較基準を設け、優先度づけを行なうことができる。
【0065】
このように、従来困難であったシソーラス展開を含むマッチング処理が簡単に、しかも高速に実行できるので、本発明のマッチング処理を適用した例えば類似テキスト検索やテキスト自動分類などが、高速かつ低コストで実現可能となるという効果がある。
【図面の簡単な説明】
【図1】本発明のマッチング装置の1つの実施の態様を示す概略構成図である。
【図2】本発明のマッチング装置の1つの実施の態様を類似語検索システムに適用した場合の一例を示すブロック構成図である。
【図3】類似語検索システムの一例における全体の動作の一例を示すフローチャートである。
【図4】マッチングアルゴリズムの一例の概略を示すフローチャートである。
【図5】シソーラスの構成の具体例を示す説明図である。
【図6】シソーラスコードへの変換の一例を示す概念図である。
【図7】マッチング結果の具体例の説明図である。
【図8】具体例における概念距離の一部を2次元にマッピングした概念図である。
【図9】概念距離のORゲートによる算出法の説明図である。
【符号の説明】
1…入力部、2…階層関係コード化部、3…マッチング部、4…出力部、10…検索要求入力部、11…端末、12…OCR、13…電話および音声認識部、14…記憶装置、15…赤外線・無線受信部、20…シソーラスコード化部、21…シソーラス、30…マッチング部、31…距離算出部、32…階層差算出部、33…優先度算出部、34…出力指示部、40…出力部、41…端末、42…ファクシミリ/プリンタ、43…電話・ポケベル、44…赤外線・無線発信部、50…データベース部、51…データベース。
Claims (6)
- データ間の階層関係に基づくマッチングを行なうマッチング装置において、階層関係をもつデータ群の各データを各階層の同じ親を有する各データに対して順次割り振った値とともに保持し入力されたデータまで階層をたどったときのそれぞれの階層のデータに割り振られた値を並べたコードに変換する階層データコード化手段と、与えられた少なくとも二つのデータについての階層関係におけるデータ間の近さを示す概念距離として前記二つのデータから前記階層データコード化手段より得られたコードの排他的論理和と各階層の値のマスクコードとの論理積が非ゼロになる最大のマスクコードから該マスクコードに対応づけられている値を前記概念距離として算出する距離算出手段を有することを特徴とするマッチング装置。
- さらに、与えられた少なくとも二つのデータについて前記階層データコード化手段より得られたコードと各階層の値のマスクコードとの論理積が非ゼロになる最小のマスクコードから各データの階層レベルを求めて前記データ間の階層レベルの差を算出する階層差算出手段を有することを特徴とする請求項1に記載のマッチング装置。
- さらに、前記距離算出手段および前記階層差算出手段の結果に基づき優先度を算出する優先度算出手段を有することを特徴とする請求項2に記載のマッチング装置。
- データ間の階層関係に基づくマッチングを行なうマッチング方法において、階層関係をもつデータ群の各データを各階層の同じ親を有する各データに対して順次割り振った値とともに階層データコード化手段に保持しており、与えられた少なくとも二つのデータについて前記階層データコード化手段により該データまで階層をたどったときのそれぞれの階層のデータに割り振られた値を並べたコードに変換し、得られたコードの排他的論理和と各階層の値のマスクコードとの論理積が非ゼロになる最大のマスクコードから該マスクコードに対応づけられている値を距離算出手段で算出し、該値を階層関係におけるデータ間の近さを示す概念距離とすることを特徴とするマッチング方法。
- データ間の階層関係に基づくマッチングを行なうマッチング方法において、階層関係をもつデータ群の各データを各階層の同じ親を有する各データに対して順次割り振った値とともに階層データコード化手段に保持しており、与えられた少なくとも二つのデータについて前記階層データコード化手段により該データまで階層をたどったときのそれぞれの階層のデータに割り振られた値を並べたコードに変換し、得られたコードの排他的論理和と各階層の値のマスクコードとの論理積が非ゼロになる最大のマスクコードから該マスクコードに対応づけられている値を距離算出手段で算出して階層関係におけるデータ間の近さを示す概念距離とし、さらに、前記データについて前記階層データコード化手段により変換されたコードと各階層の値のマスクコードとの論理積が非ゼロになる最小のマスクコードから各データの階層レベルを求めて前記データ間の階層レベルの差を階層差算出手段で算出することを特徴とするマッチング方法。
- データ間の階層関係に基づくマッチングを行なうマッチング方法において、階層関係をもつデータ群の各データを各階層の同じ親を有する各データに対して順次割り振った値とともに階層データコード化手段に保持しており、与えられた少なくとも二つのデータについて前記階層データコード化手段により該データまで階層をたどったときのそれぞれの階層のデータに割り振られた値を並べたコードに変換し、得られたコードの排他的論理和と各階層の値のマスクコードとの論理積が非ゼロになる最大のマスクコードから該マスクコードに対応づけられている値を距離算出手段で算出して階層関係におけるデータ間の近さを示す概念距離とし、さらに、前記データについて前記階層データコード化手段により変換されたコードと各階層の値のマスクコードとの論理積が非ゼロになる最小のマスクコードから各データの階層レベルを求めて前記データ間の階層レベルの差を階層差算出手段で算出し、前記概念距離および前記階層レベルの差に基づいて優先度を優先度算出手段で算出することを特徴とするマッチング方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19034395A JP3603395B2 (ja) | 1995-07-26 | 1995-07-26 | マッチング装置およびマッチング方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19034395A JP3603395B2 (ja) | 1995-07-26 | 1995-07-26 | マッチング装置およびマッチング方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0944507A JPH0944507A (ja) | 1997-02-14 |
| JP3603395B2 true JP3603395B2 (ja) | 2004-12-22 |
Family
ID=16256624
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19034395A Expired - Fee Related JP3603395B2 (ja) | 1995-07-26 | 1995-07-26 | マッチング装置およびマッチング方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3603395B2 (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3543469B2 (ja) * | 1996-02-07 | 2004-07-14 | 富士ゼロックス株式会社 | 文書情報検索装置 |
| JP2002041885A (ja) * | 2000-07-27 | 2002-02-08 | Ribnet Co Ltd | 賃貸不動産物件又は売買不動産物件の情報交換システム |
| CN1235408C (zh) * | 2001-02-12 | 2006-01-04 | 皇家菲利浦电子有限公司 | 生成和匹配多媒体内容的散列 |
| JP5076706B2 (ja) * | 2007-07-26 | 2012-11-21 | 富士ゼロックス株式会社 | 遠隔会議システム |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0528199A (ja) * | 1991-07-18 | 1993-02-05 | Canon Inc | 文書検索装置 |
| JPH0573615A (ja) * | 1991-09-17 | 1993-03-26 | Kobe Nippon Denki Software Kk | 階層構造型情報の管理方式 |
| JP2913969B2 (ja) * | 1991-12-16 | 1999-06-28 | 株式会社日立製作所 | 事例検索システムおよびその検索方法 |
| JPH07141381A (ja) * | 1993-11-19 | 1995-06-02 | Sharp Corp | 電子辞書表示装置 |
-
1995
- 1995-07-26 JP JP19034395A patent/JP3603395B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0944507A (ja) | 1997-02-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112464641B (zh) | 基于bert的机器阅读理解方法、装置、设备及存储介质 | |
| US6539373B1 (en) | Contextual searching by determining intersections of search results | |
| US9355171B2 (en) | Clustering of near-duplicate documents | |
| US8244767B2 (en) | Composite locality sensitive hash based processing of documents | |
| US20020073068A1 (en) | System and method for rapidly identifying the existence and location of an item in a file | |
| WO1998039715A9 (en) | System and method for rapidly identifying the existence and location of an item in a file | |
| JP2002520712A (ja) | データ検索システムと方法およびサーチ・エンジンにおけるその使用 | |
| US6735600B1 (en) | Editing protocol for flexible search engines | |
| Bachteler et al. | Similarity filtering with multibit trees for record linkage | |
| CN102867049A (zh) | 一种基于单词查找树实现的汉语拼音快速分词方法 | |
| JP7082542B2 (ja) | 軌跡検索装置及び軌跡検索プログラム | |
| CN101996257A (zh) | 可重构路由交换平台构件的检索方法 | |
| JP3603395B2 (ja) | マッチング装置およびマッチング方法 | |
| CN119938884A (zh) | 一种大语言模型的文档检索增强方法、装置及设备 | |
| CN117573096B (zh) | 一种融合抽象语法树结构信息的智能代码补全方法 | |
| CN118689963A (zh) | 工单信息查询方法、装置、计算机设备和存储介质 | |
| CN112416431B (zh) | 一种基于编码序列表示的源代码片段成对比较方法 | |
| US20050060314A1 (en) | System and methods involving a data structure searchable with O(logN) performance | |
| JP3632359B2 (ja) | 情報検索装置 | |
| Hernández-Ketchul et al. | String representation of trivalent 2-stratifolds with trivial fundamental group | |
| US6785699B1 (en) | Prefix comparator | |
| CN101425061A (zh) | 概念关联网络的数据标签建构方法与系统 | |
| JP4895988B2 (ja) | 文書分類装置の余分構造減退方法 | |
| JPH09245045A (ja) | 鍵検索方法および装置 | |
| CN110134758A (zh) | 一种面向连续空间-模糊关键字查询的索引方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040217 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040416 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040525 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040723 |
|
| 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: 20040907 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040920 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071008 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081008 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091008 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101008 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |