python实战,中文自然语言处理,应用jieba库来统计文本词频

模块介绍

安装:pip install jieba 即可

jieba库,主要用于中文文本内容的分词,它有3种分词方法:

1. 精确模式, 试图将句子最精确地切开,适合文本分析:

2. 全模式,把句子中所有的可以成词的词语都扫描出来,速度非常快,但是不能解决歧义;

3. 搜索引擎模式,在精确模式的基础上,对长词再词切分,提高召回率,适合用于搜索引擎分词。

我们用个小例子演示下

这上面的小例子中我们看到了一个问题,如果我们只是简简单单的将所有词切分出来,然后去统计它们出现的次数,那么你会发现,其中的“是”,“的”等等词语以及各种标点符号是出现频率最高的,那么这里有2种方式,1是直接去掉长度为1的所有词语,比如上面所说的“是”,“的”或者标点符号等等,还有一种呢,是用到了TF-IDF技术

TF-IDF (term frequency-inverse document frequency)是一种用于信息检索(information retrieval)与文本挖掘(text mining)的常用加权技术,比较容易理解的一个应用场景是当我们手头有一些文章时或者微博评论,我们希望计算机能够自动地进行关键词提取。而TF-IDF就是可以帮我们完成这项任务的一种统计方法。它能偶用于评估一个词语对于一个文集或一个语料库中的其中一份文档的重要程度。这个方法又称为"词频-逆文本频率"。

不好理解的话,我们一样来写一个小例子:

withWeight=True 参数为是否返回权重值,默认是关闭的,我们直接打印出所有词和它对于的权重,就可以用于计算了!

小说词频分析

简单的写个小demo,分析小说的词频,并将前10个打印出来!篇幅有限,就以《天龙八部》的第1章为例,大概有4万多个字符,直接上代码了!

在第425行,进行分词,然后将结果进行遍历(426-433行),遍历中,剔除单个字符,每个词语和它所出现的次数写入字典,第434、435行将字典转化为元组所组成的列表,并依据出现次数进行排序,然后遍历列表,取出前10名。

第二段代码(441-445行)是依据权重取出了关键词,可以看出,这章小说,主要讲的就是段誉的事情了,不论是权重还是词频都是他最高。。。

文本内容有大概400多行,就折叠了,大家可以直接套用代码,自己试试。

后记

今天的分享就这些了,python的自然语言处理其实还有好多内容,比如停止词的使用,词性等等好多,大家如果有兴趣,可以来找我一起深入学习!

原文发布于微信公众号 - 云飞学python(P542110741)

原文发表时间:2018-08-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏hanlp学习笔记

hanlp安装和使用

在https://github.com/hankcs/HanLP/releases中下载data然后覆盖HanLP-1.3.4.zip解压后的data

25030
来自专栏Python、Flask、Django

关于召回率、准确率、F测度值的一个小程序

11230
来自专栏数据魔术师

运筹学教学 | 十分钟快速掌握最短路算法(附C++代码及算例)

最近被BOSS抽查 运筹学 基本功课, 面对BOSS的突然发问, 机智的小编果断选择了—— 拿 · 出 · 课 · 本 然后BOSS 微微一笑 : “来,实现下...

84680
来自专栏菩提树下的杨过

UML:类图复习-鸡生蛋,蛋生鸡

这是前一阵《高级软件工程》课堂上,老师随堂出的一道讨论题,随手贴在这里: ps: 今天是520,正好聊一些OoXx,关于爱的扯淡话题:) 题目:“鸡生蛋,蛋孵鸡...

21690
来自专栏码神联盟

智能对话 | 使用 Java实现 智能对话机器人 -- 附源码

目前人工智能与深度学习顺应了互联网时代潮流,人机对话已经成为目前人工智能领域中非常热门的处理技术。其中基于深度学习的人机对话交换系统(智能机器人)是人工智能最有...

2.4K20
来自专栏数据派THU

一文带你入门图论和网络分析(附Python代码)

本文从图的概念以及历史讲起,并介绍了一些必备的术语,随后引入了networkx库,并以一个航班信息数据集为例,带领读者完成了一些基本分析。

59420
来自专栏北京马哥教育

使用 Python 分析 14 亿条数据

Google Ngram viewer是一个有趣和有用的工具,它使用谷歌从书本中扫描来的海量的数据宝藏,绘制出单词使用量随时间的变化。举个例子,单词 Pytho...

9700
来自专栏web前端教室

javascript 算法初识

最近有空,想学习下算法。一直感觉它很高深的样子,尤其我数学又不好。 但我还是想学学看,万一能学到点东西呢,,, 先来了解下算法的定义:是指解题方案的准确而完整的...

21060
来自专栏IT派

使用 Python 分析 14 亿条数据

Google Ngram viewer是一个有趣和有用的工具,它使用谷歌从书本中扫描来的海量的数据宝藏,绘制出单词使用量随时间的变化。举个例子,单词 Pytho...

10420
来自专栏后台全栈之路

《ArcGIS 地理信息系统教程》概念笔记

之前研究了 GIS,接触到了很多 GIS 的概念。因此找了《 ArcGIS 地理信息系统教程(第 4 版)》来看。书的版本比较老了,不过一些基本概念还是想通的,...

33060

扫码关注云+社区

领取腾讯云代金券