NLP算法-基于 Jieba 的词频统计

本文介绍了词频统计,它是自然语言处理基础技术,关键在于区分词。还阐述基于Jieba的词频统计,包括其三种分词模式,分词后可通过字典统计词频。最后给出编程要求和测试示例,要完成文本词频统计并输出前三结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是词频统计

在一份给定的文件里,词频(term frequency,TF)指的是某一个给定的词语在该文件中出现的次数。一个词语出现的次数越多,越表明是该文件的核心词汇,该词语对于快速理解文章具有重要的意义。词频统计是自然语言处理技术中最基础的技术之一,在词频统计中,如何区分词是很关键的一环。
在这里插入图片描述

基于Jieba的词频统计

1、分词器

在前面的学习,我们已经介绍过在 Jieba 模块中支持三种分词模式,它们分别为:

  • 精确模式:试图将句子最精确地切开,适合文本分析;
  • 全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
  • 搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

在进行词频统计之间,我们可以通过 Jieba 模块对文本进行分词,将一个句子中的各个词语分开,从而便于我们对词语进行统计。

import jieba
text = input()
words1 = jieba.cut(text, cut_all=True) # 全模式分词
words2 = jieba.cut(text, cut_all=False)  # 精确模式分词
words3 = jieba.lcut_for_search(text)  # 搜索引擎模式分词

2、分词后的统计

在拿到 Jieba 分词后的数据后就要对数据进行统计,所谓统计就是看一个词在这篇文章中出现了多少次。我们可以通过使用字典的键来存储出现的词,值存储词出现的次数来实现。

data = {} # 字典
for chara in words:
    if len(chara) < 2:
        continue
    if chara in data:
        data[chara] += 1 # 再次出现则加 1
    else:
        data[chara] = 1  # 首次出现则为 1

测试说明

编程要求
实现基于 Jieba 的词频统计,完成对 text 文本的词频统计并输出词频前三的词频统计结果。
其中 text 文本通过 input 从后台获取。

测试输入
联合国妇女署旗舰报告指出女性取得的进展,但是呼吁政府采取急切的行动,在世界每个国家消除导致女性比男性落后和弱势的不公正待遇。《世界女性进展:追求公正》是联合国妇女署在2011年初成立后发布的第一个主要报告。报告指出了女性进展的积极方面——例如已有139个国家和地区将性别平等纳入宪法——但是太多时候,不管在家庭还是工作场合,女性仍然面临不公正,暴力或不平等的遭遇。[ 详细 ]与联合国妇女署、搜狐公益一起,睁大眼睛,找出在个人和公共生活中,你能为性别平等所做的点滴!做出承诺,在你的人生里,成为一个支持性别平等的有责任感的公民!

预期输出:
[(‘比较’, 3), (‘一个’, 3), (‘苹果’, 3)]

demo

import jieba
text= input()
words = jieba.lcut(text)   #  搜索引擎模式分词
data={} # 词典

# 任务:完成基于 Jieba 模块的词频统计
for chara in words:
    if len(chara) < 2:
        continue
    if chara in data:
        data[chara] += 1 # 再次出现则加 1
    else:
        data[chara] = 1  # 首次出现则为 1

data = sorted(data.items(), key=lambda x: x[1], reverse=True)  # 排序
print(data[:3],end="")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AlbertOS

还会有大爷会打钱?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值