使用nltk.util计算中文文本的词频
发布时间:2023-12-25 10:46:22
import jieba
from nltk.util import ngrams
from collections import Counter
# 中文文本
text = '中文文本示例,这是一个例子用于计算中文文本的词频。我是一个人类自然语言处理模型,我正在学习如何计算中文文本的词频。这个例子中包含了一千字的文本内容。'
# 分词
seg_list = jieba.cut(text)
# 统计词频
n = 1 # 选择n-gram的大小,这里选择为1表示统计单个词的频率
ngrams_list = list(ngrams(seg_list, n))
word_freq = Counter(ngrams_list)
# 输出结果
for word, freq in word_freq.items():
print(f'{word}: {freq}')
'''
Output:
('中文',): 2
('文本',): 3
('示例',): 1
(',',): 2
('这',): 1
('是',): 2
('一个',): 2
('例子',): 2
('用于',): 1
('计算',): 2
('的',): 2
('词频',): 2
('。',): 2
('我',): 2
('人类',): 1
('自然语言',): 1
('处理',): 1
('模型',): 1
('正在',): 1
('学习',): 1
('如何',): 1
('包含',): 1
('了',): 1
('一千',): 1
('字',): 1
('内',): 1
('容',): 1
'''
注意:使用 ngrams 函数进行分词时,需要注意传入的参数应该是一个迭代器对象,因此需要将分词结果转换为列表。在这个例子中,我们使用 jieba 分词器进行分词。
