2013-01-24 30 views
0

我寫了這個小腳本來查找我的語料庫中10個最常用單詞的上下文。但它不起作用,我不知道我在做什麼錯誤。tien_frequentste(mijn_corpus)定義在它自己的工作。查找語料庫類別中的單詞上下文不起作用

tienfrequentste = tien_frequentste(mijncorpus) 
def context (corpus, most_freq): 
    for category in corpus.categories(): 
    print "Context voor" , category, ":" 
     for word in most_freq: 
      print nltk.Text(corpus.words(categories=category)).concordance(word) 

UPDATE:
我得到一個錯誤信息的回溯
context(corpus, most_freq)
category in corpus.categories()
self.init()
in_init。 和AttributeError:'NoneType' object has no attribute 'group'
不知道這些錯誤的意思..

Traceback (most recent call last): 
File "/Users/...document.py", line 92, in <module> context (mijn_corpus, tienfrequentste) 

File "/Users/...document.py", line 87, in context for category in corpus.categories(): File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nltk.corpus.reader.api.py, line 317, in categories self.init(). 

File "/Users/...document.py", line 87, in context for category in corpus.categories(): File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nltk.corpus.reader.api.py, line 289, in_init category = re.match(self._pattern, file id).group(1) 

attributeError: 'Nonetype' object has no attribute "group" 
+0

它只是不工作?你是否越來越錯誤?你提供的信息越多越容易幫助 –

+0

@Gareth Webber我編輯了我的問題,並提供了有關錯誤消息的信息。 – JohnDoe

+0

爲什麼不直接在這裏複製粘貼錯誤,知道確切的引用會更容易理解這個問題 – pradyunsg

回答

0

貴語料庫有類別和是most_freq字符串列表?以下示例有效:

from nltk.corpus import reuters 
for category in reuters.categories(): 
print "context voor", category, " : " 
for word in ["get", "have", "do"]: 
    print nltk.Text(reuters.words(categories=category)).concordance(word) 
0

錯誤來自將語料庫文件分配到類別的正則表達式。它正在絆倒與正則表達式模式不匹配的文件名。如果您使用帶有類別的標準NLTK語料庫,則必須在語料庫目錄中放置額外的文件。如果您使用自己的語料庫,則配置錯誤。

順便提一句,concordance()打印其輸出並返回None。如果您使用print,則會看到大量的None值。

相關問題