Doc2Vec 输入格式
Doc2Vec input format
运行 gensim Doc2Vec 在 ubuntu
Doc2Vec 拒绝我的输入并出现错误
AttributeError: 'list' object has no attribute 'words'
import gensim from gensim.models
import doc2vec as dtv
from nltk.corpus import brown
documents = brown.tagged_sents()
d2vmodel = > dtv.Doc2Vec(documents, size=100, window=1, min_count=1, workers=1)
我已经试过了
和许多具有相同结果的变体
文档=[brown.tagged_sents()}
添加哈希函数
如果语料库是 .txt 文件,我可以利用
documents=TaggedLineDocument(documents)
但这通常是不可能的
Gensim 的 Doc2Vec
要求每个文档都采用对象形式,其中 words
属性 是字符串标记列表,tags
属性 那是一个标签列表。这些标签通常是字符串,但是拥有大型数据集的专家用户可以使用从 0 开始的纯整数来节省一点内存。
A class TaggedDocument
包含在右侧 'shape' 中,并在大多数 Gensim documentation/tutorial 示例中使用 - 但给定 Python的 'duck typing',任何具有 words
和 tags
属性的对象都可以。
但普通列表不会。
如果我理解正确,brown.tagged_sents()
将 return 列表(单词,词性标签)元组,这甚至不是单词列表的那种-tokens 可以用作 words
,并且不提供 Doc2Vec
需要的任何完整文档标签作为接受训练的文档向量的键。
另外:您不太可能想要使用 min_count=1
。丢弃频率非常低的词通常会使保留的 Word2Vec
/Doc2Vec
向量更好。
运行 gensim Doc2Vec 在 ubuntu
Doc2Vec 拒绝我的输入并出现错误
AttributeError: 'list' object has no attribute 'words'
import gensim from gensim.models
import doc2vec as dtv
from nltk.corpus import brown
documents = brown.tagged_sents()
d2vmodel = > dtv.Doc2Vec(documents, size=100, window=1, min_count=1, workers=1)
我已经试过了
文档=[brown.tagged_sents()} 添加哈希函数
如果语料库是 .txt 文件,我可以利用
documents=TaggedLineDocument(documents)
但这通常是不可能的
Gensim 的 Doc2Vec
要求每个文档都采用对象形式,其中 words
属性 是字符串标记列表,tags
属性 那是一个标签列表。这些标签通常是字符串,但是拥有大型数据集的专家用户可以使用从 0 开始的纯整数来节省一点内存。
A class TaggedDocument
包含在右侧 'shape' 中,并在大多数 Gensim documentation/tutorial 示例中使用 - 但给定 Python的 'duck typing',任何具有 words
和 tags
属性的对象都可以。
但普通列表不会。
如果我理解正确,brown.tagged_sents()
将 return 列表(单词,词性标签)元组,这甚至不是单词列表的那种-tokens 可以用作 words
,并且不提供 Doc2Vec
需要的任何完整文档标签作为接受训练的文档向量的键。
另外:您不太可能想要使用 min_count=1
。丢弃频率非常低的词通常会使保留的 Word2Vec
/Doc2Vec
向量更好。