【问题标题】:how to preserve number of records in word2vec?如何保留word2vec中的记录数?
【发布时间】:2017-11-28 03:20:29
【问题描述】:
我的数据框中有 45000 条文本记录。我想将这 45000 条记录转换为词向量,以便我可以在词向量上训练分类器。我不是在标记这些句子。我只是将每个条目拆分为单词列表。
用 300 个特征训练 word2vec 模型后,模型的形状只有 26000 个。如何保留所有 45000 条记录?
在分类器模型中,我需要所有这 45000 条记录,以便它可以匹配 45000 个输出标签。
【问题讨论】:
标签:
python-3.x
nlp
word2vec
【解决方案1】:
如果您将每个条目拆分为一个单词列表,那本质上就是“标记化”。
Word2Vec 只学习每个单词的向量,而不是每个文本示例(“记录”)——因此没有什么要“保留”,没有为 45,000 条记录创建向量。但是如果记录中有 26,000 个唯一词(在应用 min_count 之后),最后您将有 26,000 个向量。
Gensim 的 Doc2Vec('
段落向量算法)可以为每个文本示例创建一个向量,因此您可能想尝试一下。
如果您只有词向量,为更大的文本创建向量的一种简单方法是将所有单个词向量加在一起。进一步的选择包括在使用单位范数词向量或许多量级的原始词向量之间进行选择;然后是否对总和进行单位范数;以及是否以其他任何重要因素(例如 TF/IDF)对单词进行加权。
请注意,除非您的文档很长,否则对于 Word2Vec 或 Doc2Vec,这是一个非常小的训练集。