2

私は、いくつかの Web サイトから携帯電話に関するデータを収集する Web アプリに取り組んでいます。問題は、Web サイトで携帯電話の名前が少し異なることです。たとえば、Web サイトでは、これら 2 つのモバイルの名前に次のバリエーションを使用しています。

HTC One X+ (ブラック); HTC One X+ ブラック; HTC One X プラス; HTC One X Plus、ブラック

Samsung Galaxy S3 (ペブル ブルー、16GB); Samsung Galaxy S III (ブルー); Samsung Galaxy S3 I9300 16GB ペブル ブルー; Samsung I9300 Galaxy S III (16 GB); Samsung Galaxy S3 (I9300)、ペブル ブルー

クローラーを使用してこれらの Web サイトからこのデータを読み取るため、これらの異なる文字列をすべて同じ製品に解決するプログラムが必要です。

何か案は?問題があれば、私は python を使用しています。

4

2 に答える 2

3

これにはさまざまなアプローチを使用できます(そして、ほとんどの効率のためにそれらを組み合わせます):

  1. 括弧内はすべて無視できます。
  2. 「黒」、「青」、「白」など、自動的にドロップする単語を定義します。
  3. 名前をレーベンシュタイン距離で比較し、この距離をクラスタリングに使用します。
  4. 表面の類似性 (mbatchkarov に感謝)
于 2013-03-03T19:10:46.217 に答える
1

difflib モジュールが大いに役立つと確信しています

于 2013-03-03T22:35:08.400 に答える