欢迎访问宙启技术站
智能推送

使用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 分词器进行分词。