nltk书中有一个问题
“使用 state_union 语料库阅读器阅读国情咨文演讲的文本。计算每个文档中男性、女性和人物的出现次数。随着时间的推移,这些词的使用发生了什么变化?”
我想我可以使用像 state_union('1945-Truman.txt').count('men') 这样的函数
然而,这个 State Union 语料库中有 60 多个文本,我觉得必须有一种更简单的方法来查看每个文本的单词数,而不是对每个文本一遍又一遍地重复此功能。
您可以使用.words()
语料库中的函数返回字符串列表(即标记/单词):
>>> from nltk.corpus import brown
>>> brown.words()
[u'The', u'Fulton', u'County', u'Grand', u'Jury', ...]
然后使用Counter()
对象来计算实例数,请参阅https://docs.python.org/2/library/collections.html#collections.Counter https://docs.python.org/2/library/collections.html#collections.Counter:
>>> wordcounts = Counter(brown.words())
但请注意,计数器区分大小写,请参阅:
>>> from nltk.corpus import brown
>>> from collections import Counter
>>> brown.words()
[u'The', u'Fulton', u'County', u'Grand', u'Jury', ...]
>>> wordcounts = Counter(brown.words())
>>> wordcounts['the']
62713
>>> wordcounts['The']
7258
>>> wordcounts_lower = Counter(i.lower() for i in brown.words())
>>> wordcounts_lower['The']
0
>>> wordcounts_lower['the']
69971
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)