问题标签 [doc2vec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - gensim/docs/notebooks/doc2vec-lee.ipynb 结果不可重复
根据这个 github 教程:gensim/docs/notebooks/doc2vec-lee.ipynb 我应该得到大约 96% 的准确率。
这是在 jupyter 4.3.1 笔记本上使用 gensim 0.13.4 的代码,全部来自 Anaconda Navigator。
在模型评估教程中:
他们的输出是:
我正进入(状态
为什么我没有得到任何接近他们准确性的东西?
python - 什么是 gensim 的“docvecs”?
上图来自于介绍 Doc2Vec 的论文Distributed Representations of Sentences and Documents 。我正在使用 Gensim 的 Word2Vec 和 Doc2Vec 实现,它们很棒,但我正在寻找一些问题的清晰度。
- 对于给定的 doc2vec 模型
dvm
,什么是dvm.docvecs
?我的印象是,它是包含所有词嵌入和段落向量的平均或连接向量d
。这是正确的,还是d? - 假设
dvm.docvecs
不是d
,可以自己访问 d 吗?如何? - 作为奖励,如何
d
计算?论文只说:
在我们的段落向量框架中(参见图 2),每个段落都映射到一个唯一向量,由矩阵 D 中的一列表示,每个单词也映射到一个唯一向量,由矩阵 W 中的一列表示。
感谢任何线索!
python - 在 Python 中从 Doc2Vec 中提取特征
对于一个小项目,我需要提取从 gensim 中的 Doc2Vec 对象获得的特征。
我用过对vector = model.infer_vector(words)
吗?
python - Doc2Vec:将训练文档重新投影到模型空间
我对 Doc2Vec 的一个方面有点困惑。基本上,我不确定我所做的是否有意义。我有以下数据集:
wheretrain_doc_n
是一个简短的文档,属于某个标签。有 2400 个标签,每个标签有 100 个训练文档。eval_doc_0
是评估文档,我想最终预测它们的标签(使用分类器)。
我用这些训练文档和标签训练了一个 Doc2Vec 模型。训练模型后,我使用infer_vector
.
结果是一个矩阵:
我的问题如下:如果我在 and 上运行一个简单的交叉验证X_train
,y_train
我有一个不错的准确性。一旦我尝试对我的评估文档进行分类(即使只使用 50 个随机抽样的标签),我的准确度就会非常差,这让我质疑我解决这个问题的方式。
我按照本教程进行文档培训。
我的方法是否有意义,尤其是在使用 重新投影所有培训文档时infer_vector
?
machine-learning - 为 doc2vec 加载预训练的 word2vec 模型
我正在使用 gensim 从文档中提取特征向量。我已经从 Google 下载了预训练模型,GoogleNews-vectors-negative300.bin
并使用以下命令加载了该模型:
我的目的是从文档中获取特征向量。一句话,很容易得到对应的向量:
但是,我不知道如何为文档执行此操作。能否请你帮忙?
python - Doc2Vec:区分句子和文档
我只是在玩 gensim 的 Doc2Vec,分析 stackexchange 转储以分析问题的语义相似性以识别重复项。
Doc2Vec-Tutorial上的教程似乎将输入描述为标记的句子。
但原始论文:Doc2Vec-Paper声称该方法可用于推断段落/文档的固定长度向量。
有人可以解释在这种情况下句子和文档之间的区别,以及我将如何推断段落向量。
由于一个问题有时可以跨越多个句子,我想,在训练期间,我会给同一个问题产生的句子赋予相同的标签,但是我将如何在未见过的问题上进行推断向量呢?
还有这个笔记本:Doc2Vec-Notebook
似乎是关于 TRAIN 和 TEST 文档的训练向量,有人可以解释这背后的基本原理吗?我也应该这样做吗?
python - 使用 doc2vec 和 LogisticRegression 对输入文本进行分类
我正在尝试使用 python 中的 doc2vec 将用户输入文本分为两类。我有以下代码来训练模型,然后对输入文本进行分类。问题是,我找不到任何分类字符串的方法。我是新手,请忽略错误。
以下是课程参考链接
http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.SGDClassifier.html#sklearn.linear_model.SGDClassifier.predict https://radimrehurek.com/gensim/models/doc2vec.html
python - 如何使用“可迭代”对象构建 Doc2Vec 模型
由于我在此页面中提出的问题,我的代码内存不足。然后,我编写了第二个代码来获得一个 iterable alldocs
,而不是一个 all-in-memory alldocs
。我根据this page的解释更改了我的代码。我不熟悉流概念,我无法解决我得到的错误。
此代码读取给定路径的所有文件夹的所有文件。每个文件的上下文由两行文件名及其上下文组成。例如:
线索网09-en0010-07-00000
鸽子 gif 剪贴画 鸽子 剪贴画 图片 图像 hiox 免费 鸟类 印度 网络 图标 剪贴画 添加 偶然发现
线索web09-en0010-07-00001
google 书签 yahoo 书签 php 脚本 java 脚本 jsp 脚本 授权脚本 html 教程 css 教程
第一个代码:
第二个代码:(我没有考虑与DB相关的部分)
这是错误:
回溯(最后一次调用):文件“/home/flashkar/git/doc2vec_annoy/Doc2Vec_Annoy/KNN/testiterator.py”,第 44 行,模型 = Doc2Vec(allDocs, size = 300, window = 5, min_count = 2, >workers = 4) 文件“/home/flashkar/anaconda/lib/python2.7/site->packages/gensim/models/doc2vec.py”,第 618 行,在init self.build_vocab(documents, trim_rule=trim_rule) 文件 >"/home/flashkar/anaconda/lib/python2.7/site->packages/gensim/models/word2vec.py",第 523 行,在 build_vocab self.scan_vocab(sentences , progress_per=progress_per, >trim_rule=trim_rule) # 初始调查文件“/home/flashkar/anaconda/lib/python2.7/site->packages/gensim/models/doc2vec.py”,第 655 行,在 scan_vocab 中为 document_no,枚举中的文档(文档):文件>“/home/flashkar/git/doc2vec_annoy/Doc2Vec_Annoy/KNN/testiterator.py”,第 40 行,在迭代中 产生 LabeledSentence(tokens[:],tpl 1 ) IndexError: list index out of范围
gensim - 当文档被迭代地添加到模型中时,doc2vec 模型中不存在单词
我编写了以下代码以迭代方式构建 Doc2vec 模型。正如我在此页面中所读到的,如果文档中的令牌数量超过 10000,那么我们需要拆分令牌并为每个段重复标签。
对于我的大多数文档,令牌的长度都超过 10000。我尝试通过编写以下代码来拆分我的令牌。但是我得到了错误,显示在我的模型中不考虑 10000 之后的令牌。
我使用以下代码测试我的模型,然后出现此错误:
作为学校的结果,我得到了一个向量,但我在费城得到了这个错误。philadelphia 在指数 10000 之后的代币中。
python-2.7 - 加载 doc2vec 模型时出现 EOFError
我无法在我的计算机上加载 doc2vec 模型,并且出现以下错误。但是,当我在其他计算机上加载该模型时,我可以使用该模型。因此,我知道该模型是正确构建的。
我应该怎么办。
这是代码:
这是错误: