16

「関連商品」をよく目にします。たとえば、ブログには関連する投稿があり、本には関連する本があります。私の質問は、それらの関連性をどのようにコンパイルするかです。タグだけの場合、同じタグが付いていない関連アイテムをよく目にします。たとえば、「ピンク」を検索する場合、関連するアイテムに「紫」のタグを付けることができます。

誰かが何か考えを持っていますか?

4

8 に答える 8

30

2つのアイテムの類似度を計算する方法はたくさんありますが、簡単な方法については、Jaccard係数を見てください。

http://en.wikipedia.org/wiki/Jaccard_index

これは次のとおりです。J(a、b)=交差(a、b)/和集合(a、b)

So lets say you want to compute the coefficient of two items:

Item A, which has the tags  "books, school, pencil, textbook, reading"
Item B, which has the tags  "books, reading, autobiography"

intersection(A,B) = books, reading
union(A,B) = books, school, pencil, textbook, reading, autobiography

so J(a,b) = 2/6 = .333

So the most related item to A would be the item which results in the highest Jaccard Coefficient when paired with A.
于 2010-01-28T08:40:14.323 に答える
4

いくつかの方法があります:

  1. それらを手動で接続します。フィールドitem_idrelated_item_id、を含むテーブルを作成し、接続を挿入するためのインターフェイスを作成します。関連しているが類似性がないか、同じカテゴリ/タグに属していない(またはカテゴリ化されていないエントリテーブル内の)2つのアイテムを関連付けるのに便利です。例:浴槽とゴム製のアヒル
  2. 同じカテゴリに属する​​か、類似したタグを持ついくつかのアイテムをプルアップします。これらのアイテムは同じカテゴリにあるため、ある程度関連している必要があるという考え方です。例:ページ表示LCDモニターでは、「関連アイテム」セクションにランダムLCDモニター(同じ価格帯/メーカー/解像度)があります。
  3. 現在のアイテムの名前(および/または説明)をテーブル内の他のアイテムと照合するテキスト検索を実行します。あなたはその考えを理解します。
于 2010-01-28T08:42:00.227 に答える
2

タグに基づいて関連アイテムの簡単なリストを取得するには、基本的なソリューションは次のようになります。

3つのテーブル、1つはアイテム、1つはタグ、もう1つは接続。接続テーブルは2つの列で構成され、残りのテーブルのIDごとに1つです。接続テーブルのエントリは、それぞれのIDを行に配置することにより、タグとアイテムをリンクします。

次に、関連アイテムのリストを取得します。

元のアイテムと少なくとも1つのタグを共有するすべてのアイテムをフェッチします。必ずアイテムと一緒にタグを取得してから、簡単な評価メカニズムを使用して、元のアイテムと最も多くのタグを共有しているアイテムを特定してください。各タグは、関係の関連性を1つ増やします。

タグ付けの習慣によっては、大きな包括的なタグが関連性を混同しないように、いくつかのカウンターメカニズムを追加するのが賢明かもしれません。これを実現するために、アプライアンスの特定のしきい値を下回るタグにより大きな重みを与えることができます。私にとって一般的にうまく機能しているしきい値は、total_number_of_tag_appliances / total_number_of_tagsであり、これはアプライアンスの平均数になります。タグappliance-countが平均よりも小さい場合、関係の関連性は2倍になります。

于 2012-03-06T14:01:53.493 に答える
1

タグ以上のものにすることができます。たとえば、段落に表示される各作品の平均、次にタイトルなどにすることができます。

于 2010-01-28T08:02:27.650 に答える
1

私は彼らがアプリケーションにもっと素晴らしい機能を追加するためにオントロジーを使用していると言うでしょう。

于 2010-06-07T10:30:49.210 に答える
0

「この本を購入した人も購入した」に基づくこともできます

とにかく、あなたはあなたのアイテムの間にいくらかの接続が必要になるでしょう、そしてそれらは主に人間によって作られます

于 2010-01-28T08:20:56.093 に答える
0

これは、PostgreSQLとRuby on Railsを使用したJaccardインデックスの実装(GIST)です...

于 2011-07-12T20:55:07.630 に答える
0

これは、バイグラムに基づく2つのテキスト間のジャッカードインデックスの実装です。 https://packagist.org/packages/darkopetreski/textcategorization

于 2017-03-13T11:14:47.547 に答える