2017-07-14 8 views
1

私はさまざまなソースからの多数のドキュメントを持っています。多くの企業は会社名を参照していますが、情報をわずかに異なる方法で保管している可能性があります。名前は文書内のフィールドです。MarkLogic - 類似の名前または重複する名前を検出しています

私は何かのように、同じ名前のバリエーションを検出できるようにしたいと思います:

  • Ajaxを設立株式会社
  • アヤックス(株)(株)
  • アヤックスカンパニー株式会社
  • アヤックス会社
  • アヤックス会社(旧アヤックス無制限)
  • など

MarkLogicには、「類似」の名前のドキュメントを照会する機能はありますか?私が探しているはずの技術的な用語があるかどうかはわかりません。好ましくは、ノードクライアントAPIまたはサーバサイドjsのいずれかに対して。

答えて

2

あなたが試す、または組み合わせることができ、いくつかのオプションがあります。他の人のいずれかにこれらの用語のいずれかの検索を拡大する

  • 使用シソーラスの拡張が。 owl:sameAsトリプルを使用する場合はセマンティクスを使用するか、MarkLogic thsr libraryを使用できます。
  • 上記のシソーラスまたはオントロジで逆引き検索を使用してデータを正規化します。検索された一致にタグを付ける可能性があり、正規化された用語を検索の属性として追加します。同じように検索語を正規化します。
  • ingestの名前の各トークンと実際の名前の代わりに検索するための検索語句にspell:double-metaphoneを使用します。

検索用語の拡張は、この場合、特に「Company」や「Incorporated」のような単なるスペルの違いについて話しているので、最も単純明快です。

HTH!

+0

私は正規化を行う必要があると思います(他の理由から)。これを行うコードのサンプルがどこにあるのかわかりますか? –

+0

おそらく、['cts:highlight'](http://docs.marklogic.com/cts:highlight)はあなたのものです。これを使用して、ドキュメント内の一致を見つけて繰り返したり、見つかったテキストをタグ付けしたり置き換えたりすることができます。ここで説明するように、あなたはそれでかなり野生のものを行うことができます:https://stackoverflow.com/a/29094683/918496 – grtjn

関連する問題