0

その列の各セルがわずかにスペルミスのあるセルと同じになるような名前を持つ CSV ファイルの列があります。たとえば、「Nike」は「Nike inc.」と同じである可能性があります。「Nike Inc」と同じかもしれません。

現在のスクリプト

その値がプレフィックスまたはサフィックスとして列に2回以上発生する場合、各セルからプレフィックスとサフィックスを削除するプログラムをPythonで既に作成しました。次に、この列でアルファベット順に並べ替えた後、ある行を次の行と比較しました。

私の現在の問題

実際には他のセルの複製であるセルがまだ多くありますが、そのようには示されていません。これらの例は次のとおりです: a) 完全一致ではない (大文字と小文字だけで一致しない) b) 語幹 (接頭辞も接尾辞もなし) をアルファベット順の隣の語幹と比較しても検出されない

現在の質問

1) ID を世界中の名前にマッピングした経験がある人はいますか (つまり、アクセント、ユニコードなどすべてがここでも問題になりますが、これらのユニコードの問題のほとんどを解決することができました)、アルゴリズム開発について良いアイデアを持っていますか?ここにリストされていませんか?

2) 重複が検出されない場合がいくつかありますが、それらが重複であることがわかっている理由はわかっています。ある例では、周期を含まない兄弟細胞には存在しない細胞株の中央に周期がある。単純に余分な列を作成し、なぜそれを知っているかを知っている少数のインスタンスに基づいて、重複していると思われるセル値を出力するための 1 つの良い戦略はありますか?

3) どのように自分自身をチェックしますか? 1 つの方法は、潜在的な重複の最大数にフラグを立て、これらすべてを手動で調べることです。残念ながら、私たちのデータセットのサイズでは、それはあまりきれいでも実行可能でもありません...

ご協力いただきありがとうございます。

4

1 に答える 1

0

名前を音訳して、すべての国際記号を削除してから、soundexまたはhttp://en.wikipedia.org/wiki/Levenshtein_distance (例: http://pypi.python.org/pypi/Fuzzy )のような関数を使用することを検討してください。テキストの類似度を計算します。

于 2012-09-14T23:42:41.920 に答える