如何利用python实现词频图?

如题所述

第1个回答  2024-09-12
在处理语言文本时,词频分析是一个常见任务,通常涉及将文本中的句子分解成单词,并根据词频进行排序。Python 提供了一个强大的工具库,jieba,来实现这一功能。

首先,确保你已经正确安装了jieba库。有三种方式可以安装:

1. **全自动安装**:使用命令`easy_install jieba`或`pip install jieba`或`pip3 install jieba`。

2. **半自动安装**:下载源代码,解压缩后运行`python setup.py install`。

3. **手动安装**:将jieba文件放置在当前目录或site-packages目录下。

jieba库提供了几个主要的分词方法:

- **jieba.cut**:接受四个参数:待分词的字符串、是否采用全模式、是否使用HMM模型、是否使用paddle模式。默认返回生成器,可通过`list`转换为列表或使用`jieba.lcut`方法。

- **jieba.cut_for_search**:与`cut`类似,但更适合搜索引擎构建倒排索引,粒度更细。同样返回生成器,可通过`list`或`jieba.lcut_for_search`方法获取列表。

- **jieba.Tokenizer**:用于创建自定义分词器,允许同时使用不同词典,使用默认词典`jieba.dt`。

分词示例如下:

输出:

建立前缀字典从默认字典... 加载模型从缓存 C:\Users\FURONG~1\AppData\Local\Temp\jieba.cache 加载模型耗时 0.705 秒。成功建立前缀字典。Paddle 模式:我/来到/北京/清华大学 Paddle 模式:乒乓球/拍卖/完/了 Paddle 模式:中国/科学技术/大学 全模式:我/来到/北京/清华大学 他, 来到, 了, 网易, 杭研, 大厦 小明, 硕士, 毕业, 于, 中国, 科学, 学院, 科学院, 中国科学院, 计算, 计算所, ,, 后, 在, 日本, 京都, 大学, 日本京都大学, 深造

可以加载自定义词典,格式与`dict.txt`(jieba库安装时自带的词典)相同,一个词占一行,每行分三部分。更改分词器的`tmp_dir`和`cache_file`属性,可以指定缓存文件所在的文件夹和文件名,用于受限的文件系统。加载自定义词典示例和动态修改词典的`add_word`、`del_word`方法。

词性标注示例如下:

我 r 爱 v 北京 ns 天安门 ns

词性和专名类别标签如下表,其中词性标签24个(小写字母),专名类别标签4个(大写字母):

接下来,以小说判官.txt为例进行实例分析,以识别人物、名词、地名,对小说有初步了解。以下是分词代码、按词频排序、制作柱图和词云图的步骤。

人物部分:

序号 词性 词频 柱图 1 闻时 1405 ------------------------------ 2 谢问 1092 ----------------------- ...

名词部分:

序号 词性 词频 柱图 1 时候 777 ------------------------------ 2 有点 449 ----------------- ...

地名部分:

序号 词性 词频 柱图 1 夏樵 803 ------------------------------ 2 东西 550 -------------------- ...

完整代码如下,详细说明请参考jieba官方文档和示例代码。
相似回答
大家正在搜