1

本当の質問があります。

次のようなスキーマを持つデータベースがあります。

アイテム

  • ID
  • 説明
  • その他ジャンク

鬼ごっこ

  • ID
  • 名前

item2tag

  • item_id
  • tag_id
  • カウント

基本的に、各アイテムはさまざまな数で最大 10 個のアイテムとしてタグ付けされます。50,000 個のアイテムと 50,000 個のタグがあり、items2tag には約 500,000 個のエントリがあります。1 つのアイテムを指定して、「最も類似した」アイテムを見つけたいと思います。

「最も似ている」とは、タグの組み合わせが最も似ているアイテムを意味します...何かが「面白い」の2倍「クール」である場合、他のすべてのものをほぼ2倍「クール」で見つけたいと思います彼らが「面白い」限り。もちろん、これは 2 つだけでなく 10 個のタグにも適用されます。

何か案は?

4

2 に答える 2

1

線形代数を見て、各項目に次元ベクトルを与え、項目間の距離を計算して最も近い項目を見つけることができますが、これはデータ セットが小さい場合でも非常に複雑です。

これが、Google が Map Reduce を思いついた理由です。これはおそらく最善の策ですが、それでも簡単ではありません。

-アダム

于 2008-11-25T07:40:56.037 に答える
0

アイテムとタグの関係をベクトルとして表現すると、最近傍検索のインスタンスが得られます。Collaborative Filteringの分野でポインタを見つけることができます。

于 2008-11-25T12:02:32.263 に答える