我有数百万个句子,想要得到短语向量,这样我就可以计算短语相似度。但问题是,我不知道如何使用word2vec来获取短语向量,或者有人知道其他工具?
发布于 2017-03-20 21:18:53
要做到这一点,最简单的方法是简单地将每个相应的单词向量元素相加,并重新规范化结果,给出一个句子向量。
在C#中,执行以下操作:
var vec = new double[dims];
foreach (var key in sentence)
{
var tmp = model[key];
for (var i = 0; i < dims; i++)
vec[i] += tmp[i];
}
double len = 0;
for (var i = 0; i < dims; i++)
len += vec[i] * vec[i];
len = Math.Sqrt(len);
var normal = new double[dims];
for (var i = 0; i < dims; i++)
normal[i] = vec[i] / len;
return normal;发布于 2017-03-22 12:55:41
为了找到短语相似度,你必须使用词向量(使用word2vec算法训练)来组合短语向量。
下面是如何使用word2vec获取短语向量:How to calculate phrase similarity between phrases
https://stackoverflow.com/questions/42882849
复制相似问题