问题标签 [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.

0 投票
3 回答
8609 浏览

machine-learning - 文档相似性:向量嵌入与 Tf-Idf 性能?

我有一组文档,其中每个文档都随着时间的推移而快速增长。任务是在任何固定时间找到相似的文档。我有两种可能的方法:

  1. 向量嵌入(word2vec、GloVe 或 fasttext),对文档中的词向量进行平均,并使用余弦相似度。

  2. Bag-of-Words:tf-idf 或其变体,例如 BM25。

其中之一会产生明显更好的结果吗?有人对 tf-idf 与平均 word2vec 的文档相似度进行了定量比较吗?

是否有另一种方法可以在添加更多文本时动态优化文档的向量?

0 投票
1 回答
35385 浏览

python - Doc2Vec 获取最相似的文档

我正在尝试构建一个文档检索模型,该模型返回按查询或搜索字符串的相关性排序的大多数文档。为此,我使用 gensim 中的模型训练了一个 doc2vec 模型Doc2Vec。我的数据集采用 pandas 数据集的形式,其中每个文档都以字符串形式存储在每一行。这是我到目前为止的代码

我苦苦挣扎的部分是寻找与查询最相似/最相关的文档。我使用了,infer_vector但后来意识到它将查询视为文档,更新模型并返回结果。我尝试使用most_similarandmost_similar_cosmul方法,但作为回报,我得到了单词和相似度分数(我猜)。我想要做的是当我输入搜索字符串(查询)时,我应该得到最相关的文档(id)​​以及相似度得分(余弦等)。我如何完成这部分?

0 投票
2 回答
1223 浏览

python - Gensim docvecs.most_similar 返回不存在的 ID

我正在尝试创建一种算法,该算法能够显示类似于特定文档的前 n 个文档。为此,我使用了 gensim doc2vec。代码如下:

sims var 应该给我 10 个元组,第一个元素是文档的 id,第二个元素是分数。问题是某些 id 与我的训练数据中的任何文档都不对应。

一段时间以来,我一直在尝试从我的训练数据中没有的 id 中理解,但我没有看到任何逻辑。

Ps:这是我用来创建我的 train_corpus 的代码

作为辅助数组的每个位置,位置 0 是一个数组,位置 0 是一个 int(我想成为 id),位置 1 是一个描述

提前致谢。

0 投票
1 回答
1091 浏览

java - 如何使用 Java 找到两个文本文档之间的余弦相似度?

我需要比较大量包含特定主题标签的推文,以显示其中内容最多的推文。同样,我需要找到它们之间的成对余弦相似度,并将具有最高成对余弦相似度的推文显示为输出。我已经阅读了很多关于向量空间模型、tf-idf 向量、word2vec/doc2vec 等的内容,但无法完全掌握任何内容。我需要使用 Java 实现相同的功能。scikit-learn 的 TfidfVectorizer 或 NLTK 的同义词集有什么替代品吗?

0 投票
1 回答
591 浏览

python - Gensim:加载预训练的 doc2vec 模型时出错?

我正在使用以下方法加载预训练的 Doc2Vec 模型:

我收到以下错误:

AttributeError:“模块”对象没有属性“call_on_class_only”

有谁知道如何修理它。该模型使用 gensim 0.13.3 进行训练,我使用的是 gensim 0.12.4。

0 投票
1 回答
649 浏览

python-2.7 - 在 20newsgroups 数据集上训练 Doc2Vec。获取异常AttributeError:'str'对象没有属性'words'

这里有一个类似的问题Gensim Doc2Vec Exception AttributeError: 'str' object has no attribute 'words',但它没有得到任何有用的答案。

我正在尝试在 20newsgroups 语料库上训练 Doc2Vec。这是我构建词汇的方法:

然后我训练模型并保存结果:

当我尝试加载模型时出现问题: 屏幕

我试过了:

  • 使用 LabeledSentence 而不是 TaggedDocument

  • 产生 TaggedDocument 而不是将它们附加到列表中

  • 将 min_count 设置为 1,因此不会忽略任何单词(以防万一)

问题也出现在 python2 和 python3 上。

请帮我解决这个问题。

0 投票
1 回答
323 浏览

word2vec - 为什么两个句子之间预训练的 fasttex 模型的 cosine_similarity 高,根本不相关?

我想知道为什么使用 wiki(韩语)预训练的“fasttext 模型”似乎效果不佳!:(

模型 = fasttext.load_model("./fasttext/wiki.ko.bin")

model.cosine_similarity("테스트 테스트 이건 테스트 문장", "지금 아무 관계 없는 글 정말로 정말로")

(英文) model.cosine_similarity("test test this is test sentence", "now not all relative docs really really")

0.99....?? 那些句子根本不是相对的意思。因此,我认为余弦相似度必须更低。然而它是 0.997383...

将孤句与 fasttext 进行比较是不可能的吗?那么它是使用 doc2vec 的唯一方法吗?

0 投票
2 回答
5571 浏览

python - Doc2Vec 句子聚类

我有多个包含多个句子的文档。我想使用doc2vec通过使用sklearn来聚类(例如 k-means)句子向量。

因此,这个想法是将相似的句子组合成几个集群。但是,我不清楚是否必须分别训练每个文档,然后在句子向量上使用聚类算法。或者,如果我可以从 doc2vec 推断出一个句子向量,而无需训练每个新句子。

现在这是我的代码片段:

基本上,我现在正在做的是对文档中每个标记的句子进行训练。但是,如果有想法可以以更简单的方式完成。

最终,包含相似单词的句子应该聚集在一起并打印出来。此时单独训练每个文档,并没有清楚地揭示集群内的任何逻辑。

希望有人可以引导我朝着正确的方向前进。谢谢。

0 投票
1 回答
4846 浏览

gensim - Doc2Vec 是否学习标签的表示?

我使用 Doc2Vec 标签作为我的文档的唯一标识符,每个文档都有不同的标签并且没有语义含义。我正在使用标签来查找特定文档,以便计算它们之间的相似性。

标签会影响我的模型的结果吗?

在本教程中,他们讨论了一个参数train_lbls=false,将其设置为 false 时,没有为标签(标签)学习表示。

该教程有些过时了,我猜该参数不再存在,Doc2Vec 如何处理标签?

0 投票
1 回答
1699 浏览

python - “Doc2Vec”对象没有属性“wv”

当我从 pkl 文件加载 doc2vec 模型时,出现此错误。

你能帮忙解决错误吗?