【发布时间】:2019-09-30 15:18:34
【问题描述】:
我是 python 和编程新手,需要您的帮助。
我正在尝试使用 nltk.word_tokenize 和 Counter 计算文本中最常见的单词。当我得到文本所有元素的列表并想计算所有元素时,Counter 只计算字母。
这是代码:
from nltk.tokenize import word_tokenize
word_counter = Counter()
test3 = "hello, hello, how are you? It's me - Boris"
words = word_tokenize(test3)
print(words)
['hello', ',', 'hello', ',', 'how', 'are', 'you', '?', 'It', "'s", 'me', '-', 'Boris']
for word in words:
word_counter.update(word)
print(word_counter)
输出:
Counter({'o': 5, 'e': 4, 'l': 4, 'h': 3, ',': 2, 'r': 2, 's': 2, 'w': 1, 'a': 1, 'y': 1, 'u': 1, '?': 1, 'I': 1, 't': 1, "'": 1, 'm': 1, '-': 1, 'B': 1, 'i': 1})
我该如何解决?我浏览了一些主题,他们用text.split() 解决了它,但它不如nltk 精确。
谢谢!
【问题讨论】:
-
Counter(words)?