基于文档向量的情绪预测效果很好,如示例所示: https ://github.com/RaRe-Technologies/gensim/blob/develop/docs/notebooks/doc2vec-IMDB.ipynb http://linanqiu.github.io /2015/10/07/word2vec-sentiment/
我想知道向量中有什么模式使这成为可能。我认为这应该是向量的相似性使得这成为可能。Gensim 相似度度量依赖于余弦相似度。因此,我尝试了以下方法:
随机初始化一个固定的“比较”向量,得到“比较”向量与训练和测试集中所有其他向量的余弦相似度,使用训练集的相似度和标签来估计逻辑回归模型,用测试集。
看起来像这样,其中 train/test_arrays 包含文档向量和 train/test_labels 标签为 0 或 1。(注意,文档向量是从 genism doc2vec 获得的并且经过良好训练,如果直接用作逻辑回归):
fix_vec = numpy.random.rand(100,1)
def cos_distance_to_fix(x):
return scipy.spatial.distance.cosine(fix_vec, x)
train_arrays_cos = numpy.reshape(numpy.apply_along_axis(cos_distance_to_fix, axis=1, arr=train_arrays), newshape=(-1,1))
test_arrays_cos = numpy.reshape(numpy.apply_along_axis(cos_distance_to_fix, axis=1, arr=test_arrays), newshape=(-1,1))
classifier = LogisticRegression()
classifier.fit(train_arrays_cos, train_labels)
classifier.score(test_arrays_cos, test_labels)
事实证明,这种方法行不通,仅将测试集预测为 50%....所以,我的问题是,向量中有什么“信息”,如果不是,则使基于向量的预测有效向量的相似性?还是我的方法根本无法正确捕获向量的相似性?