0

計算言語学/あいまい文字列マッチングについて質問するのはこれで 2 回目ですが、今回はステミングについてではありません。

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

  • JOHN ADRIAN FREEMAN WELTER は JAF Welter または JAFWelter と同等です
  • MICROSOFT OFFICE は MS OFFICE と同じです
  • BUILDING は BLDG に等しい

私は現在、最初の問題に SimMetrics の .Net バージョンを使用しています。それで、私の問題を解決できる方法が SimMetrics にありますか? ない場合、これを解決する最善の方法は何ですか?

SimMetrics に実装されているメトリックは次のとおりです。

  • ハミング距離
  • レーベンシュタイン距離
  • Needleman-Wunch 距離またはセラーズ アルゴリズム
  • スミス・ウォーターマン距離
  • 後藤距離またはスミス・ウォーターマン・後藤距離
  • ブロック距離 or L1 距離 or シティブロック距離
  • モンジュ・エルカン距離
  • ジャロ距離メトリック
  • ジャロ・ウィンクラー
  • SoundEx 距離測定
  • マッチング係数
  • サイコロの係数
  • Jaccard Similarity または Jaccard Coefficient または Tanimoto 係数
  • オーバーラップ係数
  • ユークリッド距離または L2 距離
  • コサイン類似度
  • 変分距離
  • ヘリンジャー距離またはバタチャリヤ距離
  • 情報半径 (Jensen-Shannon ダイバージェンス)
  • 調和平均
  • スキュー発散
  • 混乱確率
  • タウ
  • Fellegi and Sunters (SFS) メトリック
  • TFIDF または TF/IDF
  • ファストA
  • ブラストP
  • 最大一致
  • qグラム
  • ウッコネン アルゴリズム

私はこれらすべてのアルゴリズムに精通しているわけではありません。ここで既に使用したのは、Leveshtein Distance、Needleman-Wunch、Jaro-Winkler、SoundEx、および TF/IDF です。そして、これらのアルゴリズムは、この短縮名の問題を解決するには不十分だと思います

4

1 に答える 1

2

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

  1. JOHN ADRIAN FREEMAN WELTER は JAF Welter または JAFWelter と同等です

ここでは、単語の最初の文字を使用して略語を取得できます。すべての出現が最後の単語が完全であるようなものである場合、これによりおそらく一意の解決策が得られます。そうでない場合、同じ略語を持つ他の単語シーケンスが見つかる可能性があります (例: JAFW: Java as Foreign word)

  1. MICROSOFT OFFICE は MS OFFICE と同じです

ここでは、既知の単語の辞書が必要であり、MicrosoftがMicroSoftからまとめられることを認識し(両方が辞書にあると仮定して)、これらに対して最初のアプローチを使用します。

  1. BUILDING は BLDG に等しい

ここでは、単語の辞書とカスタムの略語が必要になります (すべての単語の略語を計算できる 1 つのルール/アルゴリズムは見つからないと思います)。

于 2012-04-15T12:08:43.020 に答える