在Stanford Information Retreival的书中,我试图弄清楚如何将查询转换为单位向量。考虑查询q =嫉妒八卦。该查询在图6.12和6.13的三个坐标上变为单位向量⃗v(q)=(0,0.707,0.707)。如何实现(0,0.707,0.707)?
这是标准的向量归一化。如果向量与0的距离[在您的情况下]恰好是1,则认为该向量已标准化(0,0,0)
。
规范化通过以下方式完成:
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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句