使用自定义训练的 word2vec 模型

问题描述 投票:0回答:1

我有一个语料库是CSV文件或者文本文件的形式。我想用它来训练 word2vec 模型。然后我想使用训练好的模型来向量化一个包含类和类描述的CSV文件,即每个类将对应一个向量。如何使用 python 来完成?

到目前为止,我已经研究过训练一个自定义的 word2vec 模型,但它们都给出了单个单词的向量作为输出。我想传递一个描述并得到一个向量作为输出

python nlp word2vec
1个回答
0
投票

如果你只有词向量,并且你想要一个更长的多词文本的向量,一个快速简单的选择是将较长文本中所有词的词向量平均在一起。

在 Gensim 库中,

.get_mean_vector()
模型类上有一个辅助方法
KeyedVectors
(用于存储/访问一组词向量),可以让您提供一个词列表,并取回所有词的平均值他们的词向量。

文档:https://radimrehurek.com/gensim/models/keyedvectors.html#gensim.models.keyedvectors.KeyedVectors.get_mean_vector

例子:

    mean_vector = w2v_model.get_mean_vector(list_of_words)

这样一个多词文本向量,来自词向量的平均值,可能非常适合广泛的“时事性”目的,但本质上不能捕捉通过仔细排序/语法安排创造的那种意义——因为它完全是忘记订购。

(举一个例子,

'not'
这个词对huans如何感知文本的影响根据它的位置而有很大的不同:它是颠倒单个形容词,还是整个谓词,还是其他东西?所有的简单平均值单词不能使用
'not'
来翻转正确的东西,它只是混合了一点点
'not'
最普遍的影响。你需要更复杂的深度/循环模型,理解排序/语法,对于这样的细粒度建模。)

© www.soinside.com 2019 - 2024. All rights reserved.