2009-04-23 9 views
0

私はOodle、eBay motors、craigslistなどのオンライン車両の広告を検索する検索エンジンを構築しようとしています。私はまた、それらについての標準的な車両名と仕様の大きなデータベースを持っています。私がしたいことは、私が分類されたサイトを通して見つけた各レコードについて、どのような車両モデル、それが(データベースから)スタイルであるかを正確に判断できることです。たとえば、私のdb内のフォード・トラックの標準名は、 2003 Ford F150です。車両検索のための最良のデータマイニング方法は何ですか?

ただし、分類されたサイトでは、「2003 Ford F 150」または「2003 Ford f-150」または「03 Ford truck 150」と呼ばれることがあります。上記の標準名にこれらのテキストを正規化するための効果的なデータマイニング/テキスト分類アルゴリズムはありますか?

答えて

1

Levenshtein distanceを使用して、見つかった文字列をデータベースレコードと照合することができます。

もう一つの考え方は、文字列をトークン化し、車両名にterm vector modelを使用することです。この方法で、コサインの類似性を使用して関連性のある一致を見つけることができます。

0

使いやすさとサイズの両方を拡張することを目的とした検索エンジン全体を開発する場合は、クエリをサポートするために堅牢なものが必要です。

編集距離を使用する場合は、Bed-treesを使用して、インデックス構造に適した代替方法を提供してください。データセットのサイズに応じて、もう1つの良いアプローチは、Levenshtein automataを使用することです。 Levenshtein automatasは、オートコンプリート機能を提供するのにも威力を発揮します。これは、検索エンジンを開発してから必要となる可能性があります。

距離を編集するもう1つの方法は、Jaccardインデックスと組み合わせたnグラムを使用することです。この方法ではMinhash + LSHを使用できます。また、三角不等式を尊重する距離メトリック(1 - Jaccardインデックス)としてJaccardを使用することができます。したがって、VP-treeなどのメトリクスツリーで使用できます。

これらのアプローチの1つは確かにあなたを助けます。