Jieba进行词频统计与关键词提取

文章目录

  • 1 词频统计
    • 1.1 简单词频统计
    • 1.2 加入停用词
  • 2 关键词提取
    • 2.1 关键词提取原理
    • 2.2 关键词提取代码

1 词频统计

1.1 简单词频统计

  1. 导入jieba库并定义文本
import jieba
text = "Python是一种高级编程语言,广泛应用于人工智能、数据分析、Web开发等领域。"
  1. 对文本进行分词
words = jieba.cut(text)

这一步会将文本分成若干个词语,并返回一个生成器对象words,可以使用for循环遍历所有的词语。
3. 统计词频

word_count = {}
for word in words:if len(word) > 1:word_count[word] = word_count.get(word, 0) + 1

这一步通过遍历所有的词语,统计每个词语出现的次数,并保存到一个字典word_count中。在统计词频时,可以通过去除停用词等方式进行优化,这里只是简单地过滤了长度小于2的词语。
4. 结果输出

for word, count in word_count.items():print(word, count)

image.png

1.2 加入停用词

为了更准确地统计词频,我们可以在词频统计中加入停用词,以去除一些常见但无实际意义的词语。具体步骤如下:

  1. 定义停用词列表
import jieba# 停用词列表
stopwords = ['是', '一种', '等']
  1. 对文本进行分词,并过滤停用词
text = "Python是一种高级编程语言,广泛应用于人工智能、数据分析、Web开发等领域。"
words = jieba.cut(text)
words_filtered = [word for word in words if word not in stopwords and len(word) > 1]
  1. 统计词频并输出结果
word_count = {}
for word in words_filtered:word_count[word] = word_count.get(word, 0) + 1
for word, count in word_count.items():print(word, count)

加入停用词后,输出的结果是:
image.png
可以看到,被停用的一种这个词并没有显示出来。

2 关键词提取

2.1 关键词提取原理

与对词语进行单纯计数的词频统计不同,jieba提取关键字的原理是基于TF-IDF(Term Frequency-Inverse Document Frequency)算法。TF-IDF算法是一种常用的文本特征提取方法,可以衡量一个词语在文本中的重要程度。

具体来说,TF-IDF算法包含两个部分:

  1. Term Frequency(词频):指一个词在文本中出现的次数,通常用一个简单的统计值表示,例如词频、二元词频等。词频反映了一个词在文本中的重要程度,但是忽略了这个词在整个语料库中的普遍程度。
  2. Inverse Document Frequency(逆文档频率):指一个词在所有文档中出现的频率的倒数,用于衡量一个词的普遍程度。逆文档频率越大,表示一个词越普遍,重要程度越低;逆文档频率越小,表示一个词越独特,重要程度越高。

TF-IDF算法通过综合考虑词频和逆文档频率,计算出每个词在文本中的重要程度,从而提取关键字。在jieba中,关键字提取的具体实现包括以下步骤:

  1. 对文本进行分词,得到分词结果。
  2. 统计每个词在文本中出现的次数,计算出词频。
  3. 统计每个词在所有文档中出现的次数,计算出逆文档频率。
  4. 综合考虑词频和逆文档频率,计算出每个词在文本中的TF-IDF值。
  5. 对TF-IDF值进行排序,选取得分最高的若干个词作为关键字。

举个例子
F(Term Frequency)指的是某个单词在一篇文档中出现的频率。计算公式如下:
T F = ( 单 词 在 文 档 中 出 现 的 次 数 ) / ( 文 档 中 的 总 单 词 数 ) TF = (单词在文档中出现的次数) / (文档中的总单词数) TF=()/()
例如,在一篇包含100个单词的文档中,某个单词出现了10次,则该单词的TF为 10 / 100 = 0.1 10/100=0.1 10/100=0.1
IDF(Inverse Document Frequency)指的是在文档集合中出现某个单词的文档数的倒数。计算公式如下:
I D F = l o g ( 文 档 集 合 中 的 文 档 总 数 / 包 含 该 单 词 的 文 档 数 ) IDF = log(文档集合中的文档总数 / 包含该单词的文档数) IDF=log(/)
例如,在一个包含1000篇文档的文档集合中,某个单词在100篇文档中出现过,则该单词的IDF为 l o g ( 1000 / 100 ) = 1.0 log(1000/100)=1.0 log(1000/100)=1.0
TFIDF是将TF和IDF相乘得到的结果,计算公式如下:
T F I D F = T F ∗ I D F TFIDF = TF * IDF TFIDF=TFIDF

需要注意的是,TF-IDF算法只考虑了词语在文本中的出现情况,而忽略了词语之间的关联性。因此,在一些特定的应用场景中,需要使用其他的文本特征提取方法,例如词向量、主题模型等。

2.2 关键词提取代码

import jieba.analyse# 待提取关键字的文本
text = "Python是一种高级编程语言,广泛应用于人工智能、数据分析、Web开发等领域。"# 使用jieba提取关键字
keywords = jieba.analyse.extract_tags(text, topK=5, withWeight=True)# 输出关键字和对应的权重
for keyword, weight in keywords:print(keyword, weight)

在这个示例中,我们首先导入了jieba.analyse模块,然后定义了一个待提取关键字的文本text。接着,我们使用jieba.analyse.extract_tags()函数提取关键字,其中topK参数表示需要提取的关键字个数,withWeight参数表示是否返回关键字的权重值。最后,我们遍历关键字列表,输出每个关键字和对应的权重值。
这段函数的输出结果为:
image.png
可以看到,jieba根据TF-IDF算法提取出了输入文本中的若干个关键字,并返回了每个关键字的权重值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/51283.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关键词提取(keyword extraction)技术

目录 1 统计方法(Statistical Method)1.1 TF1.2 TFIDF1.3 YAKE 2 图方法(Graph Based Approaches)2.1 PageRank2.2 TextRank2.2 SingleRank2.3 TopicRank2.4 PositionRank 3 语义模型(Semantic Models) 1 统…

TextRank关键词提取算法

参考:百度AI Studio课程_学习成就梦想,AI遇见未来_AI课程 - 百度AI Studio - 人工智能学习与实训社区 (baidu.com) 1.关键词提取算法分类 1.有监督 将关键词提取问题转换成二分类问题,判断每个候选关键词是否为关键词该类算法,需…

全网最详细中英文ChatGPT-GPT-4示例文档-从0到1快速入门关键词提取应用——官网推荐的48种最佳应用场景(附python/node.js/curl命令源代码,小白也能学)

从0到1快速入门关键词提取应用场景 Introduce 简介setting 设置Prompt 提示Sample response 回复样本API request 接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例 其它资料下载 ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字&a…

马斯克的Starship,除了“大”还有什么呢?

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 种种迹象表明,由ChatGPT引发的算力军备竞赛已经悄然而至了。 终于,到了检验人类最大火箭发射的时候了。 2023年4月17日,SpaceX将其大型深空火箭Starship发射升空,发射地点为Sp…

细思极恐!GPT-4太强,发明者们也不懂!智能到底是怎么突然「涌现」的?

本文来源 新智元 编辑:LRS 【新智元导读】不可解释的智能,未来该如何发展? 2023年至今,ChatGPT和GPT-4始终霸占在热搜榜上,一方面外行人都在惊叹于AI怎么突然如此强大,会不会革了「打工人」的命&#xf…

ChatGPT真的像说的那么神,什么都能做吗?

神到不至于,但确实给我的工作生活带来不少便利! 我用的是LintCode刷题网里面自带的这个ChatGPT,不花钱就能直接用! 像用它来解决不会的LeetCode题,动动手指解析秒出,对于我这种经常刷题的人来说就比较方便…

textarea输入换行字符提交给后台后,前台获取数据没有换行

解决方案&#xff1a; 需要提交数据库之前把textarea中的换行字符转换为<br>存储到数据库。 当读取的时候在把<br> 替换成textarea的换行符\n就好了 注意&#xff1a;使用replace 方法的时候需要用正则表达式&#xff0c;否则只能替换第一个换行 例如&#xff…

input按回车换行

需求描述&#xff1a;页面是table里面嵌入input,用户要求按回车去下一个input 之前由于用到elementUI的,用于改变许多类型&#xff0c;之后就自己用原生的input去实现 具体代码&#xff1a; <inputtype"number":ref"ipt index":class"ipt index…

enter无法换行

第一种方法&#xff1a;按住window Insert第二种方法&#xff1a;按住Fn Insert

Notepad++显示所有字符:空格换行

因项目需要&#xff0c;写了一个脚本&#xff0c;在windows下&#xff0c;可以正常运行。Push到设备后&#xff0c;报错。 经过Debug, 发现将脚本中的CRLF&#xff0c;改为LF, OK notepad 显示全字符&#xff0c;设置方法&#xff1a; 英文版&#xff1a;View -> Show Sy…

天猫精灵,还缺点啥?

我也是99买的天猫精灵&#xff0c;马大侠在下一盘大棋。也用了京东的叮咚&#xff08;感觉应该是合作开发而已&#xff0c;纯是为了应景&#xff0c;你有我有全都有而已&#xff09;&#xff0c;体验感不行&#xff0c;而且居然这个青春版还不能语音控制了&#xff0c;只能手机…

天猫精灵打开电脑 语音控制电脑

“天猫精灵” “哎&#xff0c;我在&#xff01;” “打开电脑” 上了一天班&#xff0c;回到家就想静静的玩会游戏&#xff0c;吼一句天猫精灵&#xff0c;立马帮你开机&#xff0c;多么舒服装x的体验。然而现实是骨感的&#xff0c;精灵无此功能&#xff0c;网上有人让弄个智…

亲测超好用的一款流程图制作软件(内含制图技巧分享)

什么是流程图&#xff1f;流程图是思维导图的一种图形模式&#xff0c;通过固定的流程和图形组合而成&#xff0c;通常应用于IT业、建筑业、数字统计行业中。因为思维导图慢慢热门起来&#xff0c;所以其他领域也都开始慢慢学习这款思维工具&#xff0c;并通过思维导图工具整理…

7款流程图制作软件大盘点!轻松绘制流程图

流程图可能是我们使用最广泛的一种图形图表&#xff0c;几乎在各个领域都会用到&#xff0c;诸如系统流程图、产品流程图、数据流程图……借助流程图&#xff0c;我们可以将事物的结构、任务的进程、甚至是算法的思路都有效视觉化。 流程图的广泛应用&#xff0c;也直接催生出…

如何做流程图?这几个实用的制作流程图方法分享给你

说到流程图的制作&#xff0c;相信大家都并不陌生&#xff0c;在日常的工作和学习中&#xff0c;我们都会根据需求接触到各种各样的流程图&#xff0c;有时还要自己动手绘制流程图并使用&#xff0c;但你是否会因为不会绘制流程图而感到苦恼呢&#xff1f;没关系&#xff0c;今…

ChatGPT一分钟做流程图

ChatGPT一分钟做流程图它能不能帮我们制作流程图呢&#xff1f;必须是可以的&#xff0c;今天我们再来介绍一个如何用ChatGPT快速制作流程图的方法。 下面以PowerBI分析流程为例&#xff0c;先向ChatGPT进行提问&#xff1a; 你是一个高级数据分析师&#xff0c;熟悉数据分析…

chatgpt赋能python:用Python计算球的表面积

用Python计算球的表面积 简介 球是一个三维几何体&#xff0c;它的表面积是一个重要的物理量。计算球的表面积通常需要使用高等数学公式&#xff0c;而Python可以很方便地进行数学计算&#xff0c;因此在计算球的表面积时&#xff0c;Python也是一种十分有用的工具。 本文将…

chatgpt赋能python:**Python计算s=a+aa+aaa的方法**

Python 计算 saaaaaa 的方法 Python 是一种高级编程语言&#xff0c;它的简单易学、可读性强、语法简单、运行效率高等特点受到了越来越多的程序员的关注和喜爱。在 Python 中&#xff0c;我们可以使用简单的代码计算多种复杂的数学问题。下面&#xff0c;我们将介绍如何使用 …

chatgpt赋能python:Python最大公约数计算代码

Python最大公约数计算代码 Python是一种高级编程语言&#xff0c;广泛应用于科学、工程和大数据分析领域。它具有简单易学、灵活性强、代码可读性高等优点&#xff0c;因此在软件开发和数据分析等领域得到了广泛的应用。Python不仅有丰富的库和工具&#xff0c;还有许多开发者…

chatgpt赋能python:Python中如何使用三角函数

Python中如何使用三角函数 三角函数是学习高等数学和物理学中不可缺少的一部分。在Python中&#xff0c;我们可以轻松地使用三角函数来计算角度、距离和速度等参数。本文将介绍Python中的三角函数&#xff0c;包括sin、cos和tan&#xff0c;以及如何使用它们进行计算。 1. 什…