美文网首页我爱编程
JieBa分词与词云

JieBa分词与词云

作者: Hana_5f9b | 来源:发表于2018-05-27 23:14 被阅读0次

目录

方法概述

分词——Jieba

词频分析与词云

方法概述

1、使用歌曲《山僧》的歌词片段为素材,进行分析。

经纶笔触 颓秃不至丰秀 可是笔墨处 抽丝做额首 又一生熬骨相诱 朱门清幽 你选如何走

使用jieba对文档进行分词操作。

参考:jieba官方文档

2、使用在线词频分析工具——图悦,制作词频统计和云图。

数据:《纪念日》(炎亚纶音乐专辑)全部歌词

分词——Jieba

(一)分词

1、在云服务上安装jieba

pip install jieba

2、编写shanseng.py文件

# encoding=gbk

import jieba

seg_list = jieba.cut("经纶笔触 颓秃不至丰秀 可是笔墨处 抽丝做额首 又一生熬骨相诱 朱门清幽 你选如何走", cut_all=True)

print("Full Mode: " + "/ ".join(seg_list))  # 全模式

seg_list = jieba.cut("经纶笔触 颓秃不至丰秀 可是笔墨处 抽丝做额首 又一生熬骨相诱 朱门清幽 你选如何走", cut_all=False)

print("Default Mode: " + "/ ".join(seg_list))  # 精确模式

seg_list = jieba.cut("经纶笔触 颓秃不至丰秀 可是笔墨处 抽丝做额首 又一生熬骨相诱 朱门清幽 你选如何走") 

print(", ".join(seg_list))      # 默认是精确模式,据说可以新词识别

seg_list = jieba.cut_for_search("经纶笔触 颓秃不至丰秀 可是笔墨处 抽丝做额首 又一生熬骨相诱 朱门清幽 你选如何走") 

print(", ".join(seg_list))  # 搜索引擎模式

3、在服务器上运行shanseng.py程序

使用XShell命令行进入到jieba目录下,输入:

python shanseng.py

4、运行结果

得到几种不同模式下的划分结果:

全模式 精确模式 默认精确模式 搜索引擎模式

对比发现,全模式下,jieba分词的划分结果最细致。其他三种模式在本例中划分结果相同。

(二)添加自定义词典

新词的出现会影响划分结果的准确性,如“颓秃”、“额首”、“熬骨”、“相诱”等。这些词都是默认词库中没有包含到的词,可以通过添加自定义词典的方式,来增强分词的准确性。

1、在jieba文件夹下新建userdict.txt

文档中编写希望设置添加的新词

颓秃

额首

熬骨

相诱

2、新建shanseng1.py文件

# encoding=utf-8

from __future__ import print_function, unicode_literals

import sys

sys.path.append("../")

import jieba

jieba.load_userdict("userdict.txt")

import jieba.posseg as pseg

test_sent = (

"经纶笔触 颓秃不至丰秀 可是笔墨处 抽丝做额首 又一生熬骨相诱 朱门清幽 你选如何走"

)

words = jieba.cut(test_sent)

print('/'.join(words))

3、执行

python shanseng1.py

4、执行结果

出现错误:

自定义词表必须以utf-8形式保存

解决方法:以utf-8格式另存文件

另存为utf-8编码格式的txt文件

再次运行:

自定义词典结果

从分词的结果可以看出,我们提前设置的新词,如“颓秃”、“额首”等,已经被分在了一起。

5、动态修改词典

修改shanseng1.py:

# encoding=gbk

from __future__ import print_function, unicode_literals

import sys

sys.path.append("../")

import jieba

jieba.load_userdict("userdict.txt")

import jieba.posseg as pseg

jieba.add_word('如何走')

test_sent = (

"经纶笔触 颓秃不至丰秀 可是笔墨处 抽丝做额首 又一生熬骨相诱 朱门清幽 你选如何走

"

)

words = jieba.cut(test_sent)

print('/'.join(words))

执行:

动态添加词典结果

可以看出,在上一步操作的基础上,“如何走”也被分在了一起。

(三)关键词提取

1、基于 TF-IDF 算法的关键词抽取

在jieba文件夹下新建news_extract_tags.py文件:

# -*- coding: utf-8 -*-

import sys

sys.path.append('../')

import jieba

from jieba import analyse  # 引入TF-IDF关键词抽取接口

from optparse import OptionParser

text = "经纶笔触 颓秃不至丰秀 可是笔墨处 抽丝做额首 又一生熬骨相诱 朱门清幽 你选如何走"

# 原始文本内容

keywords = analyse.extract_tags(text)

print ("keywords:")

for keyword in keywords:

    print (keyword + "/")

运行:

python news_extract_tags.py

关键词提取结果

关键词提取所使用停止词

意义:“在”、“里面”、“也”、“的”、“它”、“为”等无索引意义的副词、介词、冠词……

jieba.analyse.set_stop_words(file_name) # file_name为自定义语料库的路径

在jieba文件夹下的新建stop.txt

在其中添加人名和数字(一行一个词):

可是

如何

不至

在news_extract_tags.py中添加一句:

jieba.analyse.set_idf_path(“stop.txt”) 

执行结果:停止词不再出现在关键词中

词频分析与词云

工具:在线词频分析工具图悦

图悦分析结果

相关文章

  • JieBa分词与词云

    目录 方法概述 分词——Jieba 词频分析与词云 方法概述 1、使用歌曲《山僧》的歌词片段为素材,进行分析。 经...

  • 词云:jieba分词

    jieba是中文分词工具,安装很简单直接pip install jiebagithub:https://githu...

  • 利用Python生成词云

    用到的模块 matplotlib 用来画图 wordcloud 生成词云 jieba 中文分词 numpy ...

  • 我与Python相遇的每天_2020-5-28 词云图

    1. 绘制词云图 ·安装软件:jieba(分词)、wordcloud(词云) ·使用到的库:matplotlib...

  • 第3章 中文分词技术

    本章要点: 中文分词的概念与分类 常用分词的技术介绍 开源中文分词工具-Jieba简介 实战分词之高频词提取 中文...

  • python jieba和wordcloud生产词云

    一、概述 使用jieba分词和wordcloud生产 小说的词云库 二、效果图 三、流程 1、分词方法 2、获取中...

  • Python jieba分词

    1.安装jieba分词 2.切词的方法:jieba.cut() 和 jieba.cut_for_search() ...

  • python 数据词云展示实例(2)- jieba库的使用

    记录中文分词库jieba的使用、参数及样板 之前简单的介绍了jieba库的使用,python 数据词云展示实例(1...

  • jieba分词

    参考:Python 中文分词组件 jiabaPython中文分词 jieba 十五分钟入门与进阶jieba完整文档...

  • Python3 生成中文词云

    前提 Python 生成中文词云主要用到两个依赖库: jieba:中文分词工具 wordcloud:词云生成工具 ...

网友评论

    本文标题:JieBa分词与词云

    本文链接:https://www.haomeiwen.com/subject/dylijftx.html