0
10の質問に対する回答に基づいてユーザーを比較したいと考えています。私の元の考えは、各質問を整数[1,5]に解決することでしたが、この考え方は常に働くことはありません。たとえば、次のようにユーザーを比較する際の類似性の程度が良い
vec1 = [1,1,1,1,1,1,1,1,1,1]
vec2 = [5,5,5,5,5,5,5,5,5,5]
get_cos_sim(vec1, vec2) = 1
ので、ユーザーは完全に異なり答えたにも関わらず、ベクトルは同じです。
各質問に対する回答の類似性に基づいて、同様のユーザーを取得したいと考えています。したがって、ある質問について、Aの回答が1に解決され、Bの回答が2に解決された場合、回答の類似度はAとCの回答よりも高くなります。
私はそれについて考えましたが、問題は2つの要素ベクトル '[0、5]'と '[5、0]'を取ります。ユーザーは質問に根本的に異なる回答をしましたが、アルゴは各ベクトルごとに10を返します。私はユークリッド距離を考えていた。 –
右は逆です。そのベクトルの類似度は、0.1 – OregonTrail
[5,0]、[5,0]の類似度は無限大になります。 [3,1]、[5,2]の類似度は0.333になります。 – OregonTrail