gpt4 book ai didi

python - gensim Doc2Vec 单词不在词汇表中

转载 作者:太空宇宙 更新时间:2023-11-04 00:00:24 25 4
gpt4 key购买 nike

我正在使用包含约 1600 个文档的 txt 文件“full_texts.txt”训练一个 doc2vec gensim 模型。训练完模型后,我希望对单词和句子使用相似性方法。

然而,由于这是我第一次使用 gensim ,我无法得到解决方案。如果我想通过单词寻找相似性,我尝试如下所述,但我得到一个错误单词在词汇表中不存在,另一个问题是我如何检查整个文档的相似性?我已经阅读了很多关于它的问题,比如这个 one并查找documentation但仍然不确定我做错了什么。

from gensim.models import Doc2Vec
from gensim.models.doc2vec import TaggedLineDocument
from gensim.models.doc2vec import TaggedDocument

tagdocs = TaggedLineDocument('full_texts.txt')
d2v_mod = Doc2Vec(min_count=3,vector_size = 200, workers = 2, window = 5, epochs = 30,dm=0,dbow_words=1,seed=42)
d2v_mod.build_vocab(tagdocs)
d2v_mod.train(tagdocs,total_examples=d2v_mod.corpus_count,epochs=20)

d2v_mod.wv.similar_by_word('overdraft',topn=10)
KeyError: "word 'overdraft' not in vocabulary"

最佳答案

您确定 'overdraft' 在您的语料库中至少出现 min_count=3 次吗? (例如,grep -c "overdraft"full_texts.txt 返回什么?)

(另请注意,对于 Doc2Vec 而言,1600 个文档是一个非常小的语料库;已发表的作品通常至少使用数万个文档,通常使用数百万个文档。)

一般来说,如果担心基本功能的运行,好的想法是:

  • 遵循可信赖的示例 - gensim docs/notebooks 目录包括几个演示 doc2vec 功能的 Jupyter/IPython 笔记本,包括最小介绍 doc2vec-lee.ipynb,还有viewable online (但最好在本地运行,这样你就可以修改细节来学习)

  • 在 INFO 级别启用日志记录,并密切观察输出以确保报告的各种进度步骤(包括字数/文档计数和训练持续时间)表明一切正常工作

  • 探索预期行为的结果模型。例如,所学词汇中是否存在预期的单词? d2v_mod.wv 中的“ overdraw ”。学习了多少文档标签? len(d2v_mod.docvecs)。等等

关于python - gensim Doc2Vec 单词不在词汇表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55884548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com