首页 > 解决方案 > 如何计算word2vec中的差异向量

问题描述

我有一个二进制 word2vec 文件,我正在使用gensim它来加载它。

虽然similarity在 gensim 中有两个单词之间的函数,但没有计算和返回差异向量的函数。

如何使用两个向量并获得差异向量?

而且我正在尝试将这些差异向量用作文档分类中的特征。计算每个单词和每个类之间的差异向量。这是正确的方法吗?

例如,如果类是sportpolitics

sport = [0.4,0.456,45,...] #wordvector of class
politics = [0.23,0.56...] #wordvector of class

我的话是football

football = [0.2,0.6,0.45,...] #wordvector of football

我想计算差异向量

(sport - football) = [some vector] # this as a feature for classification

标签: pythongensimword2veccalculationdocument-classification

解决方案


如何使用两个向量并获得差异向量?

您对简单地减去两个向量的预感似乎是正确的(来源:https ://blog.galvanize.com/add-and-subtract-words-like-vectors-with-word2vec-2/ )。如果我没记错的话,您可以使用 tensorflow 减去这些词向量 gensim 使用 tf.

而且我正在尝试将这些差异向量用作文档分类中的特征。计算每个单词和每个类之间的差异向量。这是正确的方法吗?

我不知道你的目标,但我会考虑训练你自己的神经网络,对单词/文档进行分类,我会看看新的包天赋来帮助你。https://github.com/zalandoresearch/flair/issues/787


推荐阅读