在Stanford Information Retreival book中,我试图弄清楚如何将查询转换为单位向量。考虑查询q =嫉妒八卦。该查询在图6.12和6.13的三个坐标上变成单位矢量⃗v(q)=(0,0.707,0.707)。如何实现(0,0 .707,0.707)?
答案 0 :(得分:2)
这是标准的矢量归一化。如果向量与0 [(0,0,0)
在你的情况下]的距离恰好为1,则称为normalized,正如您所看到的那样,该向量中的情况(最多为舍入差异)。< / p>
归一化由以下人员完成:
Let the vector be x = (x_1,x_2,...,x_n)
let s = x_1^2 + x_2^2 + ... + x_n^2 [sum of squares]
let the normalized vector n = x/sqrt(s) = (x_1/sqrt(s), x_2/sqrt(s), ..., x_n/sqrt(s))
在你的例子中,查询“嫉妒的八卦”产生非正规化的向量(0,1,1)
(因为字典由3个词组成的感情,嫉妒,八卦)。通过调用上述算法,您得到s=2
,因此规范化的向量为n=(0/sqrt(2), 1/sqrt(2), 1/sqrt(2)) ~= (0,0.707,0.707)