标签: doc2vec

gensim doc2vec"intersect_word2vec_format"命令

只需阅读gensim页面上的doc2vec命令即可.

我很好奇命令"intersect_word2vec_format".

我对这个命令的理解是它允许我将预训练的word2vec模型中的矢量值注入我的doc2vec模型,然后使用预训练的word2vec值训练我的doc2vec模型,而不是从我的文档语料库中生成单词矢量值.结果是我获得了更准确的doc2vec模型,因为我使用的是预训练的w2v值,这是从我相对较小的文档语料库中生成的更大的数据库中生成的.

我对这个命令的理解是正确还是不正确?;-)

nlp gensim doc2vec

1
推荐指数
1
解决办法
2408
查看次数

如何在Gensim中的doc2vec中获取文档向量

我知道要使用doc2vec中的给定标签获取文档向量print(model.docvecs['recipe__11'])

我的文档向量是食谱(标签以开头recipe__),报纸(标签以开头news__)或配料(标签以开头ingre__

现在,我想检索配方的所有文档向量。我的配方文件的格式是recipe__<some number>(例如,配方__23,配方__34)。我想知道是否有可能使用一种模式(例如,以开头的标签recipe__)获得多个文档向量

请帮我!

python gensim doc2vec

1
推荐指数
1
解决办法
1074
查看次数

doc2vec/gensim - 在时代中改变句子的问题

我想上手word2vecdoc2vec使用优秀的教程,在这里这里,并试图使用代码样本.我只添加了line_clean()删除标点符号,停用词等的方法.

但是我line_clean()在训练迭代中调用的方法遇到了麻烦.我理解对全局方法的调用搞砸了,但我不知道如何解决这个问题.

Iteration 1
Traceback (most recent call last):
  File "/Users/santino/Dev/doc2vec_exp/doc2vec_exp_app/doc2vec/untitled.py", line 96, in <module>
    train()
  File "/Users/santino/Dev/doc2vec_exp/doc2vec_exp_app/doc2vec/untitled.py", line 91, in train
    model.train(sentences.sentences_perm(),total_examples=model.corpus_count,epochs=model.iter)
  File "/Users/santino/Dev/doc2vec_exp/doc2vec_exp_app/doc2vec/untitled.py", line 61, in sentences_perm
    shuffled = list(self.sentences)
AttributeError: 'TaggedLineSentence' object has no attribute 'sentences'
Run Code Online (Sandbox Code Playgroud)

我的代码如下:

import gensim
from gensim import utils
from gensim.models.doc2vec import TaggedDocument
from gensim.models import Doc2Vec
import os
import random
import numpy
from sklearn.linear_model import LogisticRegression
import logging
import sys …
Run Code Online (Sandbox Code Playgroud)

python gensim word2vec doc2vec

1
推荐指数
1
解决办法
584
查看次数

doc2vec不准确的余弦相似度

我已经训练了400万条记录的doc2vec模型.我想从我的数据中找到一个新句子,但是我的结果非常糟糕.

数据样本:

Xolo Era (Black, 8 GB)(1 GB RAM).
Sugar C6 (White, 16 GB)(2 GB RAM).
Celkon Star 4G+ (Black & Dark Blue, 4 GB)(512 MB RAM).
Panasonic Eluga I2 (Metallic Grey, 16 GB)(2 GB RAM).
Itel IT 5311(Champagne Gold).
Itel A44 Pro (Champagne, 16 GB)(2 GB RAM).
Nokia 2 (Pewter/ Black, 8 GB)(1 GB RAM).
InFocus Snap 4 (Midnight Black, 64 GB)(4 GB RAM).
Panasonic P91 (Black, 16 GB)(1 GB RAM).
Run Code Online (Sandbox Code Playgroud)

在传递这些数据之前,我已经完成了预处理,包括1)停止删除单词.2)特殊字符和数值删除.3)小写数据.我也在测试过程中执行了相同的步骤.

我用于培训的代码:

sentences=doc2vec.TaggedLineDocument('training_data.csv') # i have used TaggedLineDocument …
Run Code Online (Sandbox Code Playgroud)

python machine-learning gensim word2vec doc2vec

1
推荐指数
1
解决办法
1564
查看次数

如何在 doc2vec 中找到文档中最相似的术语/单词?

我已经应用 Doc2vec 将文档转换为向量。之后,我在聚类中使用向量并找出与每个集群的质心最近/最相似的 5 个文档。现在我需要找到这些文档中最主要或最重要的术语,以便我可以弄清楚每个集群的特征。我的问题是有什么方法可以找出 Doc2vec 中文档的最主导或最相似的术语/单词。我正在使用 python 的 gensim 包来实现 Doc2vec

python cluster-analysis gensim word2vec doc2vec

0
推荐指数
1
解决办法
2806
查看次数

Gensim Doc2Vec Most_Similar

我在使用 Gensim 的 Doc2Vec 模型中的 most_similar 方法时遇到了麻烦。当我运行 most_similar 时,我只得到前 10 个标记文档的相似性(基于它们的标签——总是从 0-9)。对于此代码,我有 topn=5,但我使用了 topn=len(documents) 并且我仍然只获得前 10 个文档的相似度

标记文件:

tokenizer = RegexpTokenizer(r'\w+')
taggeddoc=[]

for index,wod in enumerate(model_data):
    wordslist=[]
    tagslist=[]
    tokens = tokenizer.tokenize(wod)

    td = TaggedDocument(gensim.utils.to_unicode(str.encode(' '.join(tokens))).split(), str(index)) 
    taggeddoc.append(td)

documents=taggeddoc
Run Code Online (Sandbox Code Playgroud)

实例化模型:

model=gensim.models.Doc2Vec(documents, dm=0, dbow_words=1, iter=1, alpha=0.025, min_alpha=0.025, min_count=10)
Run Code Online (Sandbox Code Playgroud)

训练模型:

for epoch in range(100):
    if epoch % 10 == 0:
        print("Training epoch {}".format(epoch))
    model.train(documents, total_examples=model.corpus_count, epochs=model.iter)
    model.alpha -= 0.002
    model.min_alpha = model.alpha
Run Code Online (Sandbox Code Playgroud)

问题在这里(我认为):

new = model_data[100].split()
new_vector = model.infer_vector(new)
sims = model.docvecs.most_similar([new_vector], topn=5) …
Run Code Online (Sandbox Code Playgroud)

python nlp gensim deep-learning doc2vec

0
推荐指数
1
解决办法
2829
查看次数

如何通过 Gensim TaggedDocument() 正确标记文献列表

我想标记一个文档列表 by Gensim TaggedDocument(),然后将这些文档作为Doc2Vec().

我已阅读有关TaggedDocument 此处的文档,但我不明白参数wordstags.

我试过了:

texts = [[word for word in document.lower().split()]
          for document in X.values]

texts = [[token for token in text]
          for text in texts]

model = gensim.models.Doc2Vec(texts, vector_size=200)
model.train(texts, total_examples=len(texts), epochs=10)
Run Code Online (Sandbox Code Playgroud)

但我得到了错误'list' object has no attribute 'words'

nlp gensim doc2vec

0
推荐指数
1
解决办法
1014
查看次数