random.shuffle(someLazyMap)
我目前正在尝试训练我的Python NLTK词性标记器以正确标记德语文本。为了做到这一点我使用的ClassifiedBasedGermanTagger,距离:random.shuffle(someLazyMap)
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/
不为我工作的一部分是这样的:
tagged_sents = corp.tagged_sents() random.shuffle(tagged_sents)
我得到貌似错误这样的:
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
你对此有一个解决办法,甚至是写了一个解释,为什么它理应为君子工作该教程,以及为什么它显示错误˚F或者我?目前我正在使用Python 3.
非常感谢你提前。
回答:
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
回答:
晚了一点找到一个解决方案,但也许它可以帮助别人。
本教程的作者忘了作为NLTK书中所述的 “清单”: http://www.nltk.org/book/ch06.html#evaluation
所以不是
tagged_sents = corp.tagged_sents()
它必须是:
tagged_sents = list(corp.tagged_sents())
以上是 random.shuffle(someLazyMap) 的全部内容, 来源链接: utcz.com/qa/259941.html