擅长:python、mysql、java
<p>通过对单词向量求平均值来为一段文本(句子/段落/文档)创建向量是一种简单的方法。(它不擅长捕捉意义的细微差别,但很容易做到。)</p>
<p>使用gensim库,可以简单到:</p>
<pre><code>import numpy as np
from gensim.models.keyedvectors import KeyedVectors
wv = KeyedVectors.load_word2vec_format('GoogleNews-vectors-negative300.bin.gz', binary=True)
text = "the quick brown fox jumped over the lazy dog"
text_vector = np.mean([wv[word] for word in text.split()], axis=0)
</code></pre>
<P>是否使用原始词向量,或单位向量归一化或其他加权的词向量,都是可以考虑的。在</p>
<p>相互兼容的词向量将具有相同的维数,因此不存在尝试平均大小不同的向量的问题。在</p>
<p>其他技术,如“Paragraph Vectors”(gensim中的<code>Doc2Vec</code>)可能会在某些小体上为某些目的提供更好的文本向量。在</p>
<p>其他利用词向量来比较文本相似度的技术,比如“单词移动距离”(WMD),可能会比比较单个摘要向量给出更好的成对文本相似度得分。(大规模杀伤性武器不会将文本缩减为单个矢量,而且计算成本可能很高。)</p>