Python: подсчет конкретных слов в файле корпуса - PullRequest
0 голосов
/ 19 декабря 2011

Я хотел бы посчитать конкретные слова в каждом файле моего корпуса ... вот мой код ... он работает нормально.

num=   nltk.FreqDist(
      (target,fileid)
       for fileid in reader.fileids()
       for w in reader.words(fileid)
       for target in ['have'])

, но результаты такие: FreqDist: '2009.txt': 141205, '20 .txt': 43201, '2.txt': 41232, '4.txt': 40859, '5.txt': 40805, .....

Я бы хотелчтобы увидеть все значения по одному подряд.как ..

'2009.txt' 141205

'20 .txt '43201

Я пробовал этот код дополнительно

  for results in num:
      print results

Но он показываеттолько 'have', '' 200.txt '... номер FreqDist не отображается.

Кроме того, я попытался также nltk.ConditionalFreqDist () .. Это занимает FOREVER ..

Iне знаю почему .. Пожалуйста, помогите мне.Я потратил почти 4-5 часов на решение этой проблемы.

Заранее спасибо.

1 Ответ

2 голосов
/ 19 декабря 2011

Я не знаком с NLTK, но, похоже, вы пересекаете объект, похожий на диктовку.

Что насчет этого?

for file, n in num.iteritems():
    print file, n
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...