2014-02-26 19 views
1

我想通過按照書中的說明學習NLTK。該代碼是:nltk tagged_words意外的參數

from nltk.corpus import brown 
brown_news_tagged = brown.tagged_words(categories='news', tagsets='universal') 

但是,我得到的錯誤是:tagged_words() got an unexpected keyword argument 'tagsets'

+0

您使用哪本書? – summea

+0

http://nltk.googlecode.com/svn/trunk/doc/book/ch05.html – andi

+0

@andi那本書是否包含'tagsets ='universal''? – summea

回答

3

這裏是爲什麼這可能發生的幾個原因:

  • 你正在經歷已經更新書爲的Python 3
  • NLTK傳統requires的Python 2.x的
  • 有支持的Python 3

如果選擇使用Python 3和NLTK 3.0 alpha版本,則可以通過使用命令行上輸入以下命令驗證tagset參數的可用性的alpha version of NLTK 3.0

python3 
>>> from nltk.corpus import brown 
>>> import inspect 
>>> inspect.getargspec(brown.tagged_words) 

運行這些命令後,我們可以看到,tagset參數/參數可用:

ArgSpec(args=['self', 'fileids', 'categories', 'tagset'], varargs=None, keywords=None, defaults=(None, None, None)) 

回首NLTK book在第5章中,我們也可以看到,相對於提供給universal選項的例子確實使用tagset奇異而不是複數),以獲得想要的結果。

0

正確的參數(我認爲)爲Python 2.7.8是[現在?] simplify_tags=...

+1

as summea&others指出了它,simplify_tags不起作用,並且已被替換爲tagset ='通用「(我正在使用Python 2.7.11) –