2013-09-17 1 views
0

Я пытаюсь решить следующую проблему:NLTK книги ch.2.8 # 4, LazyCorpusLoader

Чтения в текстах государства адреса Союза, используя читатель state_union мозолистого. В каждом документе учитываются случаи мужчин, женщин и людей. Что случилось с использованием этих слов с течением времени?

Это происходит из http://nltk.org/book/ch02.html

Моей проблемы: Все функции я знаю, считать вхождения слов выход сообщений об ошибках.

Вот пример:

from nltk.corpus import state_union 

len(state_union) 
--------------------------------------------------------------------------- 
TypeError         Traceback (most recent call last) 
<ipython-input-4-cb4ef2bb9247> in <module>() 
----> 1 len(state_union) 

TypeError: object of type 'LazyCorpusLoader' has no len() 

state = state_union 

len(state) 

ответ

0

Как ошибочные состояния, state_union не имеет len(). Вы можете использовать state_union.raw() для исходных данных, state_union.words() для слов и state_union.sents для предложений.

len(state_union.words()) предоставит вам количество слов.

+0

Теперь я пытаюсь решить проблему выше, но я не могу понять, как получить счет от каждой отдельной речи. Вот некоторые вещи, которые я пробовал: для FILEID в названиях: печати fileid.count ("люди"), fileid.count ("женщины"), fileid.count ("люди") и для fileid в заголовках: print state_union.words(). count ("men") – user2786243

+0

Подсказка: 'state_union.words (fileids = fid)' будет давать слова для определенного fid. И каждый фид содержит одну речь. Вы также можете попробовать использовать 'nltk.ConditionalFreqDist' (посмотреть его). –

Смежные вопросы