我正在使用doc2vec模型,如下所示构造我的文档向量。
from gensim.models import doc2vec
from collections import namedtuple
dataset = json.load(open(input_file))
docs = []
analyzedDocument = namedtuple('AnalyzedDocument', 'words tags')
for description in dataset:
tags = [description[0]]
words = description[1]
docs.append(analyzedDocument(words, tags))
model = doc2vec.Doc2Vec(docs, vector_size = 100, window = 10, min_count = 1, workers = 4, epochs = 20)
我已经看到gensim doc2vec还包括单词向量。假设我有一个为单词创建的单词向量deep learning
。我的问题是;是否有可能在gensim中获取documents
最接近deep learning
单词向量的python?
如果需要,我很乐意提供更多详细信息。
一些Doc2Vec
模式将在“相同空间”中共同训练doc向量和word向量。然后,如果您有一个用于的单词向量'deep_learning'
,则可以在该向量附近索取文档,结果可能对您有用。例如:
similar_docs = d2v_model.docvecs.most_similar(
positive=[d2v_model.wv['deep_learning']]
)
但:
这只会与您的模型'deep_learning'
作为一个词所学到的意思一样好
一组适合该类别'deep_learning'
(和其他类别)的已知良好文档的培训可能会更好-无论您是手工整理这些文件,还是尝试从其他来源进行引导(例如Wikipedia类别“深度学习”或其他策划/搜索-您信任的结果集)。
将类别简化为一个汇总点(一个向量)可能不如拥有多个适合该类别的示例(许多点)那样差。(相关文档可能不是汇总点周围的整洁球体,而是填充了doc-vector高维空间的奇异形状区域。)如果每个类别都有很多不错的示例,则可以训练分类器以然后为其他未分类的文档添加标签,或在与培训类别的关系中进行排名。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句