jieba安装_Jieba库实现词性标注及小说人物角色抽取
公众号: 小叶叶学Python
4年人力资源从业经验,情报学硕士,主要内容涵盖python、数据分析和人力资源相关内容
本文运用自然语言处理技术,对中文小说《神雕侠侣》人物角色进行抽取,为使用通过社会网络分析法对人物关系进行分析奠定基础,使文学研究者、社会学家和普通读者对小说人物关系和背景有更全面的认识
自然语言处理技术
自然语言处理(NLP)是一门融语言学、计算机科学、数学于一体的科学。国外学者于20世纪40年代末至50年代初开始NLP相关的研究,近年来,随着人工智能和计算机技术的发展,自然语言处理(NLP)已经成为一个重要的人工智能发展方向,目前已广泛的应用于机器翻译、问答系统、文本分类、信息检索、自动文本摘要等领域。中文的自然语言处理相对于英文还是有诸多差异的,英文是以空格来区分词语,每一个单词即是一个词语,而中文则是以字为字符单位,以词语来表达意思,而且存在一词多义、多词一义等情况,所以相对于英文来说,中文的自然语言处理更为艰难。分词、词性标注、句法分析是中文自然语言处理的三大基本任务,本文主要应用分词、词性标注两类处理技术。
jieba库基本介绍
jieba库概述
jieba是优秀的中文分词第三方库 中文文本需要通过分词获得单个的词语 jieba是优秀的中文分词第三方库,需要额外安装 jieba库提供三种分词模式,最简单只需掌握一个函数
jieba分词的原理
Jieba分词依靠中文词库 利用一个中文词库,确定汉字之间的关联概率 汉字间概率大的组成词组,形成分词结果 除了分词,用户还可以添加自定义的词组
jieba库的优点
支持三种分词模式:
精确模式,试图将句子最精确地切开,适合文本分析;
全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
安装jieba:
命令行安装方法
pip3 install jieba
jupyter notebook中的安装方法
!pip3 install jieba
!pip3 install jieba
Requirement already satisfied: jieba in d:\ancanda3\lib\site-packages (0.39)
jieba库常用函数
分词
代码 | 功能 |
---|---|
jieba.cut(s) | 精确模式,返回一个可迭代的数据类型 |
jieba.cut(s,cut_all=True) | 全模式,输出文本s中所有可能单词 |
jieba.cut_for_search(s) | 搜索引擎模式,适合搜索建立索引的分词 |
jieba.lcut(s) | 精确模式,返回一个列表类型,常用 |
jieba.lcut(s,cut_all=True) | 全模式,返回一个列表类型,常用 |
jieba.lcut_for_search(s) | 搜索引擎模式,返回一个列表类型,常用 |
jieba.add_word(w) | 向词典中增加新词 |
词性标注
Jieba0.39版本提供55种词性标注,部分符号及含义如表1所示。由表1可知,人名被标注为nr,因此对小说进行分词和词性标注后的文本进行进一步提取,提取出词性为nr的词作为人物角色名称,即可构建角色列表。
import jieba
text = '我来到北京清华大学'
wordlist = jieba.lcut(text)
wordlist
Building prefix dict from the default dictionary ...
Dumping model to file cache C:\Users\z\AppData\Local\Temp\jieba.cache
Loading model cost 1.717 seconds.
Prefix dict has been built succesfully.
['我', '来到', '北京', '清华大学']
jieba分词的简单应用
使用 jieba 分词对一个文本进行分词,统计长度大于2,出现次数最多的词语,这里以《神雕侠侣》为例
import jieba
txt = open("神雕侠侣-网络版.txt","r",encoding="utf-8").read()
words = jieba.lcut(txt) # 使用精确模式对文本进行分词
counts = {} # 通过键值对的形式存储词语及其出现的次数
for word in words:
if len(word) == 1: # 单个词语不计算在内
continue
else:
counts[word] = counts.get(word, 0) + 1# 遍历所有词语,每出现一次其对应的值加 1
items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True) # 根据词语出现的次数进行从大到小排序
for i in range(len(items)):
word, count = items[i]
print("{0:<5}{1:>5}".format(word, count))
从小说中抽取出现的人名及次数
词性标注
Jieba0.39版本提供55种词性标注,部分符号及含义如表1所示。由表1可知,人名被标注为nr,因此对小说进行分词和词性标注后的文本进行进一步提取,提取出词性为nr的词作为人物角色名称,即可构建角色列表。
import jieba.posseg as psg
sent='中文分词是文本处理不可或缺的一步!'
seg_list=psg.cut(sent)
for w in seg_list:
if w.flag == "n":
print(w.flag)
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\z\AppData\Local\Temp\jieba.cache
Loading model cost 1.535 seconds.
Prefix dict has been built succesfully.
n
n
jieba词性标注的简单应用
使用 jieba 分词对一个文本进行分词及词性标注,统计词性为nr,出现次数最多的词语,这里以《神雕侠侣》为例
import jieba
import jieba.posseg as psg
txt = open("神雕侠侣-网络版.txt","r",encoding="utf-8").read()
words = psg.cut(txt) # 使用精确模式对文本进行分词
counts = {} # 通过键值对的形式存储词语及其出现的次数
for word in words:
if len(word.word) == 1: # 单个词语不计算在内
continue
else:
if word.flag == "nr": # 仅统计词性为nr的词语
counts[word] = counts.get(word, 0) + 1# 遍历所有词语,每出现一次其对应的值加 1
items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True) # 根据词语出现的次数进行从大到小排序
fi = open("人物角色提取.txt","w",encoding="utf-8")
for i in range(len(items)):
word,pos = items[i][0]
count = items[i][1]
a = word + ","+ str(count)
fi.write(a + "\n")
fi.close()
提取后的文件内容如下图所示
近期文章
Python网络爬虫与文本数据分析
代码不到40行的超燃动态排序图
使用Python自动生成事件分析图谱
如何使用Adaboost预测下一次营销活动的效果
使用networkx及matplotlib库实现社会网络分析及可视化
计算社会经济学
Loughran&McDonald金融文本情感分析库
使用分析师报告中含有的情感信息预测上市公司股价变动
日期数据操作第1期 datetime库
日期数据操作第2期 pandas库
史上最大规模1.4亿中文知识图谱开源下载
【公开视频课】Python语法快速入门
【公开视频课】ython爬虫快速入门
文本数据分析文章汇总(2016-至今)
当文本分析遇到乱码(ง'⌣')ง怎么办?
当pandas遇上数据类型问题
如何理解pandas中的transform函数
一行pandas代码生成哑变量
Python最被低估的库,用好了效率提升10倍!
公众号后台回复关键词“20191204”,即可获得课件资源,请在如果觉得有用,欢迎转发支持~
jieba安装_Jieba库实现词性标注及小说人物角色抽取相关推荐
- jieba 同义词_Jieba库实现词性标注及小说人物角色抽取
4年人力资源从业经验,情报学硕士,主要内容涵盖python.数据分析和人力资源相关内容 本文运用自然语言处理技术,对中文小说<神雕侠侣>人物角色进行抽取,为使用通过社会网络分析法对人物关系 ...
- Jieba库实现词性标注及小说人物角色抽取
公众号: 小叶叶学Python 4年人力资源从业经验,情报学硕士,主要内容涵盖python.数据分析和人力资源相关内容 本文运用自然语言处理技术,对中文小说<神雕侠侣>人物角色进行抽取,为 ...
- 2.5.jieba分词工具、Jieba安装、全模式/精确模式、添加自定义词典、关键词抽取、词性标注、词云展示
2.5.jieba分词工具 2.5.1.Jieba安装 2.5.2.全模式/精确模式 2.5.3.添加自定义词典 2.5.4.关键词抽取 2.5.5.词性标注 2.5.6.词云展示 2.5.jieba ...
- 自动安装第三方库python,python第三方库自动安装脚本
#python第三方库自动安装脚本,需要在cmd中运行此脚本 #BatchInstall.py import os libs = {"numpy","matplotlib ...
- pycharm安装第三方库:Try to run this command from the system terminal. Make sure that you use the问题,亲测已解决
pycharm安装第三方库:报错Try to run this command from the system terminal. Make sure that you use the correct ...
- python实现全自动安装第三方库,从此跟pip说拜拜!!「建议收藏」
前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 今天再分享一个骚操作:Python自动安装第三方库,全自动不需要你动! 再也不怕在自己安装得时候不得要领,报错了~懒人必备吖 ...
- qpython3安装第三方库_【工具篇】python pip安装第三方库
python安装第三方库其实挺简单的, 一句话总结:pip install 库名 (如pip install jieba 安装结巴库) 但会有一些安装的细节, 本文将详细展开如何pip安装第三方库的详 ...
- 第三方库实现中文词频分析和词语可视化(jieba,wordcloud库)
jieba,wordcloud库实现中文词频分析和词语可视化 文章目录 前言: 一.实验题目: 二.实验准备: 三.实验内容 1.全部代码: 2.实验结果: 3.难点分析: 结语: 前言: 这篇文章是 ...
- Anaconda中的Spyder安装第三方库
在Spyder的Console控制台中进行pip安装: 在安装命令之前输入"!" 例如:安装wordcloud 和 jieba 两个库 !pip install wordcloud ...
最新文章
- 微信小程序城市定位(百度地图API)
- 直接运行可执行文件linux终端一闪而过
- 计算机计组成原理课后,计算机组成原理课后习题课(0001).doc
- Geoserver中切割离线瓦片TileLayer预览时放大之后缺失
- Flink 分别读取kafka和mysql作为source
- Python中曲率与弯曲的转换_1000R曲率更具沉浸感!三星T55曲面显示器评测
- 全球数十亿条用户记录被泄露,姓名住址全曝光,Oracle或已引发今年最大的数据安全事件...
- 台达杯自动化大赛设计方案
- springboot jar包部署_Spring Boot项目基于Jar部署和打包详解教程
- Android手机健康类APP市场分析
- 韦东山Linux嵌入式学习——硬件复习
- GB/T 18487电动汽车充电领域国家标准解析 篇一(充电术语和定义)
- lisp画弯箭头_下篇-大神总结:CAD制图的43个技巧,都学会你就逆天了!
- SDS新书的来龙去脉 amp;amp; SDS序言 - 倪光南:众筹出书也是一种创新
- 更换ICCID码破解Apple运营商锁策略分析
- 【第109期】那碗“我拒绝”的毒鸡汤,坑了多少游戏策划?
- 【历史上的今天】9 月 13 日:计算机先驱诞生日;第一台装载硬盘的超级计算机;《超级马里奥兄弟》发布
- Springboot+采用协同过滤算法的家政服务平台的设计与实现 毕业设计-附源码260839
- SSL数字证书下载流程是怎么样的
- [T-ARA][TIAMO]
热门文章
- python列表是顺序表还是链表_Python数据结构与算法(链表使用详解)
- python设置一个初始为0的计数器_如何为python列表的每个元素实现一个计数器?...
- linux原子方式,linux – 以原子方式移动目录
- java类的加载顺序题目_Java 类的加载顺序(题)
- mysql ----DML(掌握)
- 计算机网络与安全维护实训报告,计算机网络与安全管理专业实习报告
- 6个座位办公室最佳位置_办公室座位最佳位置(讲解)
- vue引入如何使用不同字体
- 优雅的使用springboot集成任务调度
- Windows开机自动运行软件目录