少し検索しましたが、達成しようとしているものとまったく同じものは見つかりませんでした。
基本的に、私は 2 人のユーザーの投票習慣の類似点を見つけようとしています。
私は、行われた個々の投票を格納するテーブルを持っています。
voteID
itemID (the item the vote is attached to)
userID (the user who voted)
direction (whether the user voted the post up, or down)
たとえば、ユーザー A と B の間の類似性を計算するには、次の 2 つのことを調べます。
- 共通の票数。つまり、両者が同じ投稿に投票した回数です (この時点では方向は関係ありません)。
- 一般投票で同じ方向に投票した回数。
(次に、大まかな類似性評価を達成するために、単純に #2 を #1 のパーセンテージとして計算します)。
私の質問は、どうすれば 2 人のユーザーの投票セットの交差を見つけることができるかということです。(つまり、非常に非効率的な方法ですべての投票をループすることなく、ポイント#1を適切に計算するにはどうすればよいですか。)それらが異なるテーブルにある場合、INNER JOINで十分だと思います...しかし、それは明らかに機能しません同じテーブルで(またはそうなるでしょうか?)。
どんなアイデアでも大歓迎です。