如何在gensim的word2vec模型中嵌入用户名
How to embed user names in word2vec model in gensim
我有一些志愿论文,格式如下:
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 中是否有特殊的方法可以做到这一点,或者我可以简单地将用户名视为输入到模型的单词。请让我知道您对此的看法。
如果需要,我很乐意提供更多详细信息。
Word2vec 从周围的词中推断出词表示:相似的词经常出现在相似的公司中,最终具有相似的向量。通常,考虑一个 window 的 5 个单词。所以,如果你想破解 Word2vec,你需要确保学生名字出现的频率足够高(可能在句子的开头和结尾或类似的地方)。
或者,您可以查看 Doc2vec。在训练期间,每个文档都会获得一个 ID 并学习该 ID 的嵌入,它们在查找 table 中,就好像它们是词嵌入一样。如果您使用学生姓名作为文档 ID,您将获得学生嵌入。如果你有一个学生的多篇论文,我想你需要对 Gensim 进行一些修改,不要让每篇论文都有唯一的 ID。
我有一些志愿论文,格式如下:
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 中是否有特殊的方法可以做到这一点,或者我可以简单地将用户名视为输入到模型的单词。请让我知道您对此的看法。
如果需要,我很乐意提供更多详细信息。
Word2vec 从周围的词中推断出词表示:相似的词经常出现在相似的公司中,最终具有相似的向量。通常,考虑一个 window 的 5 个单词。所以,如果你想破解 Word2vec,你需要确保学生名字出现的频率足够高(可能在句子的开头和结尾或类似的地方)。
或者,您可以查看 Doc2vec。在训练期间,每个文档都会获得一个 ID 并学习该 ID 的嵌入,它们在查找 table 中,就好像它们是词嵌入一样。如果您使用学生姓名作为文档 ID,您将获得学生嵌入。如果你有一个学生的多篇论文,我想你需要对 Gensim 进行一些修改,不要让每篇论文都有唯一的 ID。