2011-01-04 14 views
0

私は、(何らかの質問にしたがって)一部の人に関する情報(人の体重、身長、年齢など)を検索するアプリケーションを作成しました。商品とお客様の個人情報の一致

一方、私は製品リスト(非常に大きいかもしれません)を持っていて、製品情報によれば、私は人情報と製品の間で最良の一致を見つける必要があります (私が持っている製品情報は水分です窒素部分とEXT。)製品の数が動的であるので、私は(DBからの製品リストを読み取るフローチャートアルゴリズムまたは幅優先探索を使用することができない

...)


は、より詳しい情報を回答として追加しました

詳細情報:製品フィールドごとに一致するテーブルがいくつかあります。私はperson_Xという人物が値A =>を持つので、一致する商品がproduct_1であることを知ることができます。

これは単純で、私はハッシュテーブルを使うことができますが、すべてのフィールドに応じて最適なマッチングが必要です。

ヒューリスティックを使用すると、この場合は良い結果が得られますが、すべての人の項目がすべて測定値を持っている場合には、>と私は製品項目の数値も持っています...しかし、新しい製品を持っていて、すべての製品をスキャンするのは大変な作業になり、時間がかかります。

私は(もしあれば)何か良い方法を探しています。

+3

この質問は曖昧です。それ以上の情報を私たちに与えることができない場合や、それを明確にすることができない場合は、単にあなたを助けることはできません。残念ながら、私はまだテレパシーをマスターしていません。 :P –

+0

私は間違いを犯し、この質問を(別のものではなく)閉じるために投票しました。どのようにこれを取り消すことができますか? –

+0

明確ではないことを教えてください。 – Yanshof

答えて

1

"The Nearest neighbour problem"と非常によく似ているかもしれません。

各フィールド/属性を数値に変換できるとします。そして、各人物と各製品は、N次元空間内の点として表現することができる。したがって、あなたの2つの属性が体重と身長であれば、身長をx、体重をbとする(x、y)点にすることができます。

"ベスト"を定義する方法を決定する必要があります。これは2点間の距離を定義し、メトリックと呼ばれます。したがって、(x1、y1)と(x2、y2)の間の距離は、非常に単純なメトリックの場合、(x1-x2)+(y1-y2)

スペースとメトリックを決定したら、問題を解決するためにウィキペディアのページ(上記リンク先)に記載されているアルゴリズムを使用できます。

1

まず、人との「マッチング」を可能にする属性が必要です。だから、あなたはまた、それのためにいくつかの種類の指標が必要です。次に、メトリックと定義された属性に基づいて、特定の人物と最も一致する製品を見つけることができます。また、サポートや信頼などのデータマイニング技術を試すこともできます。私は分かりませんが、より詳しいアドバイスについては、より多くの情報を提供する必要があります。

関連する問題