首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >random.shuffle(someLazyMap)

random.shuffle(someLazyMap)
EN

Stack Overflow用户
提问于 2017-12-03 15:40:47
回答 2查看 487关注 0票数 1

我目前正在尝试训练我的Python NLTK词性标记器来正确地标记德语文本。为了做到这一点,我使用了ClassifiedBasedGermanTagger,它来自:

https://github.com/ptnplanet/NLTK-Contributions/tree/master/ClassifierBasedGermanTagger

和来自该网站的培训语料库:

http://www.ims.uni-stuttgart.de/forschung/ressourcen/korpora/TIGERCorpus/download/start.html (TIGER语料库版本2.2 (2012年7月))

我发现有一个写得很好的教程,教你如何做到这一点。所以现在我要做的就是重新创建代码:

https://datascience.blog.wzb.eu/2016/07/13/accurate-part-of-speech-tagging-of-german-texts-with-nltk/

对我不起作用的部分是:

代码语言:javascript
复制
tagged_sents = corp.tagged_sents() 
random.shuffle(tagged_sents)

我得到的错误如下所示:

代码语言:javascript
复制
File "C:\somedude\lib\random.py", line 274, in shuffle
    x[i], x[j] = x[j], x[i]
TypeError: 'LazyMap' object does not support item assignment

你有没有解决这个问题的办法,或者甚至可以解释为什么它对编写该教程的先生有效,为什么它对我显示了一个错误?目前我使用的是Python 3。

提前感谢你们所有人。

EN

回答 2

Stack Overflow用户

发布于 2018-02-02 19:04:12

有点晚了,但也许这对其他人有帮助。

本教程的作者忘记了NLTK一书中提到的“列表”:http://www.nltk.org/book/ch06.html#evaluation

因此,不是

tagged_sents = corp.tagged_sents()

它必须是:

list= tagged_sents (corp.tagged_sents())

票数 3
EN

Stack Overflow用户

发布于 2017-12-03 15:51:17

代码语言:javascript
复制
tagged_sents = list(range(<some number>,<some number>))  # make sure some_nums is a list/mutable sequence
random.shuffle(tagged_sents)

你可以在这里找到解决方案

https://teamtreehouse.com/community/randomshuffle-crashes-when-passed-a-range-somenums-randomshufflerange5250

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

https://stackoverflow.com/questions/47616332

复制
相关文章

相似问题

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