首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Doc2Vec输入格式

Doc2Vec输入格式
EN

Stack Overflow用户
提问于 2018-06-22 16:29:52
回答 1查看 689关注 0票数 0

在ubuntu上运行gensim Doc2Vec

Doc2Vec用错误拒绝我的输入

AttributeError:'list‘对象没有属性’word‘

代码语言:javascript
运行
复制
    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)

我已经尝试过从this SO question和许多具有相同结果的变体

documents = [brown.tagged_sents()}添加哈希函数

如果语料库是我可以利用的.txt文件

代码语言:javascript
运行
复制
    documents=TaggedLineDocument(documents)

但这往往是不可能的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-22 18:49:34

Gensim的Doc2Vec要求每个文档的形式是一个具有words属性的对象,该属性是一个字符串标记列表,一个tags属性是一个标记列表。这些标记通常是字符串,但是具有大型数据集的专家用户可以使用简单的ints(从0开始)来节省一些内存。

包含的类TaggedDocument具有正确的“形状”,并在大多数Gensim文档/教程示例中使用--但考虑到wordstags属性的“鸭子类型”,任何具有wordstags属性的对象都可以。

但一张简单的单子是不会的。

如果我理解正确的话,brown.tagged_sents()将返回元组列表(单词,部分词性标记),这甚至不是作为words工作的单词列表标记,也不提供任何Doc2Vec需要的完整文档标记,作为接受训练的文档向量的键。

另外:您不太可能想要使用min_count=1。丢弃非常低频的词通常会使保留的Word2Vec/Doc2Vec矢量更好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50992153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档