Gensim 具有使用 Word2vec 查找相似单词的内置功能。您可以使用 gensim 训练 Word2Vec 模型:
model = Word2Vec(sentences, size=100, window=5, min_count=5, workers=4)
您可以利用该most_similar 功能查找前 n 个相似词。它允许您输入正面和负面单词的列表来解决“好”和“坏”的问题。你可以玩弄它。
model.most_similar(positive=[], negative=[], topn=10, restrict_vocab=None)
文档中提供的示例:
model.most_similar(positive=['woman', 'king'], negative=['man'], topn=10, restrict_vocab=None)
[('queen', 0.50882536), ...]
topn = 要输入的正负词组合列表的最近邻数。
restrict_vocab = 一个可选整数,它限制搜索最相似值的向量范围。例如,restrict_vocab=10000 只会检查词汇顺序中的前 10000 个词向量。(如果您已按频率降序对词汇表进行排序,这可能很有意义。)
这是我正在谈论的文档的链接:http: //man.hubwiz.com/docset/gensim.docset/Contents/Resources/Documents/radimrehurek.com/gensim/models/word2vec.html
以下是如何从头开始训练 word2vec 模型的链接:https ://radimrehurek.com/gensim/models/word2vec.html
您还可以查看它附带的一些其他功能,这些功能允许您仅通过单个向量找到相似的单词,您可以在第二个链接中找到这些:
self.wv.similar_by_vector()
self.wv.similar_by_word()