如何在gensim中的word2vec模型中嵌入用户名

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

我有一些志愿者论文,格式为:

volunteer_names, essay
["emi", "jenne", "john"], [["lets", "protect", "nature"], ["what", "is", "nature"], ["nature", "humans", "earth"]]
["jenne", "li"], [["lets", "manage", "waste"]]
["emi", "li", "jim"], [["python", "is", "cool"]]
...
...
...

我想根据他们的论文写作来识别相似的用户。我觉得word2vec更适合解决此类问题。但是,由于我也想在模型中嵌入用户名,因此我不确定该怎么做。我在互联网上找到的示例仅使用单词(请参见示例代码)。

import gensim 
sentences = [['first', 'sentence'], ['second', 'sentence']]
# train word2vec on the two sentences
model = gensim.models.Word2Vec(sentences, min_count=1)

在那种情况下,我想知道在word2vec中是否有特殊的方法可以做到这一点,或者我可以简单地将用户名视为输入到模型中的单词。请让我知道您对此的想法。

如果需要,我很乐意提供更多详细信息。

python gensim word2vec
1个回答
2
投票

Word2vec从周围的单词推断单词表示形式:相似的单词通常在相似的公司中出现,最终得到相似的向量。通常,考虑5个单词的窗口。因此,如果您想破解Word2vec,则需要确保学生姓名会足够频繁地出现(也许在句子的开头和结尾或类似的地方)。

或者,您可以查看Doc2vec。在训练过程中,每个文档都获得一个ID,并学习该ID的嵌入,它们像在单词嵌入中一样位于查找表中。如果将学生姓名用作文档ID,则会获得学生嵌入。如果您有一位学生的多篇文章,我想您需要稍微修改一下Gensim,以免每篇文章都有唯一的ID。

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