2015-04-02 26 views
4

我只是关注NLTK书的第5章,tagged_words()中的'simplify_tags'参数似乎是意想不到的。我使用Python 3.4,PyCharm和标准的NLTK包。NLTK - TypeError:tagged_words()得到了一个意想不到的关键字参数'simplify_tags'

In[4]: nltk.corpus.brown.tagged_words() 
Out[4]: [('The', 'AT'), ('Fulton', 'NP-TL'), ...] 
In[5]: nltk.corpus.brown.tagged_words(simplify_tags = True) 
Traceback (most recent call last): 
    File "C:\Python34\lib\site-packages\IPython\core\interactiveshell.py", line 2883, in run_code 
    exec(code_obj, self.user_global_ns, self.user_ns) 
    File "<ipython-input-5-c4f914e3e846>", line 1, in <module> 
    nltk.corpus.brown.tagged_words(simplify_tags = True) 
TypeError: tagged_words() got an unexpected keyword argument 'simplify_tags' 

没有simplify_tags,运行此函数没有问题。我赞赏任何建议或意见。谢谢!

+0

你认为这是一个有效的命名参数?您是否正在使用nltk书的[最新版本](http://www.nltk.org/book/)? – 2015-04-02 18:01:47

+0

@DavidKelley谢谢!我正在关注最新版本(现在仍在更新)。 – 2015-04-02 19:43:05

回答

2

问题已解决。我现在正在跟踪本书的latest version,它仍在更新中,它使用tagset ='universal'参数。

5

是的,如上所述,最新版本的简化标签是将它们映射到通用标记集(https://code.google.com/p/universal-pos-tags/)。

>>> from nltk.corpus import brown 
>>> brown.tagged_words(tagset='universal') 
[(u'The', u'DET'), (u'Fulton', u'NOUN'), ...] 
>>> brown.tagged_words(tagset='universal')[:10] 
[(u'The', u'DET'), (u'Fulton', u'NOUN'), (u'County', u'NOUN'), (u'Grand', u'ADJ'), (u'Jury', u'NOUN'), (u'said', u'VERB'), (u'Friday', u'NOUN'), (u'an', u'DET'), (u'investigation', u'NOUN'), (u'of', u'ADP')] 

但是做笔记仍存在有simplify_tags参数的一个文集的读者,看到https://github.com/nltk/nltk/blob/develop/nltk/corpus/reader/ipipan.py#L23

可能是在管道的ipipan语料阅读器移动到通用标记集。另外,请注意并非所有语料库阅读器都能够映射到unviersal标记集,有些在TODO列表中,例如, https://github.com/nltk/nltk/blob/develop/nltk/corpus/reader/tagged.py#L260

相关问题