2012-04-15 13 views
0

これは、計算言語学/ファジーストリングマッチングについて尋ねるのは2回目ですが、今度はステミングの問題ではありません。ファジーストリングの比較 - ショートネームの名前の検出

私の最初の問題は、ファジーストリングマッチングを使用してデータベースを重複排除することでした。今、文字列が別の文字列の省略形であるかどうかを検出する必要があります。たとえば:

  • JOHN ADRIAN FREEMANウェルターは、Microsoft Office
  • JAFウェルターやJAFWelterに等しいが
  • MS OFFICEに等しい建物は私が現在使用していますBLDG

に等しいです。私の最初の問題のSimMetricsのネット版。だから、私の問題を解決できる方法がSimMetricsにありますか?何もない場合は、これを解決する最善の方法は何ですか?

  • ハミング距離
  • レーベンシュタイン距離
  • ニードル-Wunch距離や売り手アルゴリズム
  • スミス - ウォーターマン距離
  • 後藤距離やスミス - ウォーターマン:ここ

    はSimMetricsで実装メトリックです-Gotoh distance

  • ブロック距離またはL1距離またはCityブロック距離
  • モンジュElkan距離
  • JARO距離メトリック
  • JAROウィンクラー
  • SOUNDEX距離メトリック
  • マッチング係数
  • ダイスの係数
  • ジャカード類似性またはジャカード係数やタニモト係数
  • オーバーラップ係数
  • ユークリッド距離またはL2距離
  • コサイン類似
  • 変距離
  • ヘリンガー距離またはバタチャリヤ距離
  • 情報半径(ジェンセン・シャノン発散)
  • 調和平均
  • スキュー発散
  • 混同確率
  • タウ
  • Fellegi and Sunters(SFS)メトリック
  • TFIDFまたはTF/IDF
  • なFastA
  • BLASTP
  • 最大は私がこれらのアルゴリズムのすべてとその慣れていないんだ
  • Ukkonenアルゴリズム

  • Q-グラムと一致します。私がすでに使っているものはLeveshtein Distance、Needleman-Wunch、Jaro-Winkler、SoundEx、TF/IDFです。そして、私はこれらのアルゴリズムは、この短い名前の問題を解決するのに十分ではないと思う。

  • +0

    あなたはこれをどうやってやったのか少し詳しく説明できますか?私の最初の問題はデータベースの重複排除でしたファジーストリングマッチングを使用して、私はすでにそれを達成した ' – zaitsman

    答えて

    2

    ほとんどの場合、カスタムメソッドが必要です。ここに私が試してみたものです:

    1)JOHN ADRIAN FREEMANウェルターが

    ここJAFウェルターやJAFWelterに等しく、あなたが略語を取得するために単語の最初の文字を使用することができます。すべての出現が最後の単語がいっぱいであるようなものであるなら、これはあなたに一意の決断を与えるでしょう、そうでなければ同じsbbreviation(例えば、JAFW:外国語としてのJava)

    2)Microsoft Officeが

    ここMS OFFICEに等しい、あなたが知られている単語の辞書を必要とマイクロソフトマイクロソフトから一緒に置くことができることを認識する建物はBLDG。ここ

    に等しく、あなたは言葉とCUSの辞書が必要になります)、これらの

    3上の最初のアプローチを使用します(両方とも辞書であると仮定した場合)タムの略語(私はすべての単語の省略形を計算できるルール/アルゴリズムを見つけることはできません)

    +0

    あなたの返信ありがとう。実際、私はあなたの答えに似たアルゴリズムをnoで作っていました。しかし、閾値を低く設定すると偽陽性を高く設定すると常に偽陰性を表示するので、私は捨て去った。私はそれだけでそれを改善します。 – Jinnean

    関連する問題