python pynlpir中科院分词的使用
中科院汉语分词系统是一个非常好用的分词工具,和结巴分词类似,但是比结巴分词功能更加强大,而且更加个性化。
中科院分词的使用步骤如下:
- 导入中科院分词模块 初始化pynlpir分词库。
- 在pynlpir库中提供了open()函数用来初始化pynlpir分词库
1、需要下载【pynlpir】库
2、【open()】函数介绍:
open()函数的原型如下:
pynlpir.open(data_dir=pynlpir.nlpir.PACKAGE_DIR, encoding=pynlpir.ENCODING, encoding_errors=pynlpir.ENCODING_ERRORS, license_code=None)
参数说明如下:
data_dir:表示分词数据目录对应的绝对路径,默认值为pynlpir.nlpir.PACKAGE_DIR。
encoding:表示针对中文的编码格式,默认为utf_8,也可以为gbk、big5。
encoding_errors:表示所需的编码错误处理方案,默认为strict,也可以为ignore、replace。
license_code:表示使用中科院分词的许可证编码,仅商业用户需要
import pynlpir #导入pynlpir库pynlpir.open() #初始化pynlpir分词库
content = "真正的程序员的程序不会在第一次就正确运行,但是他们愿意守着机器进行若干个小时的调试改错。"
#获取语句中的关键字
key_words = pynlpir.get_key_words(content, weighted=False)
for word in key_words:print (word)
pynlpir.close() #关闭pynlpir,释放内存
3、【segment()】函数介绍:
中科院分词提供了segment()函数进行分词,并返回分词后的列表。函数原型如下:
【pynlpir.segment(s, pos_tagging=True, pos_names='parent', pos_english=True)】
参数说明如下:
s:需要分词的中文,必须是Unicode编码或者UTF-8编码的字符串。
pos_tagging:表示是否包含部分的词性标注,值为False时表示只做分词,而不显示词性(形容词、名词等)。
pos_names:参数在pos_tagging为True时才生效,只能是parent、child和all三个值,默认是parent,表示获取该词性的最顶级词性,child表示获取该词性的最具体的信息,all表示获取该词性相关的所有词性信息。
pos_english:表示词性标注结果是否以中文的形式显示,为False表示以中文的形式显示
import pynlpir #导入pynlpir库
pynlpir.open() #初始化pynlpir分词库
content = "真正的程序员的程序不会在第一次就正确运行,但是他们愿意守着机器进行若干个小时的调试改错。"
#不输出词性
words = pynlpir.segment(content,pos_tagging=False)
for word in words:print (word,"/")
print ("\n****输出词性****")
#获取分词处理后每个词语以及其最顶级的词性,并以中文输出词性
words = pynlpir.segment(content,pos_tagging=True, pos_names='parent', pos_english=False)
for word in words:print ("词:", word[0],"词性:", word[1])
pynlpir.close() #关闭pynlpir,释放内存
4、【get_key_words()】函数介绍:
函数原型:【pynlpir.get_key_words(s ,max_words=50, weighted=False)】
参数说明如下:
s:需要分词的中文,必须是Unicode编码或者UTF-8编码的字符串。
max_words:表示最多能够查找的关键字,默认为50。
weighted:表示是否返回关键字的权重,默认不返回
import pynlpir #导入pynlpir库
pynlpir.open() #初始化pynlpir分词库
content = "真正的程序员的程序不会在第一次就正确运行,但是他们愿意守着机器进行若干个小时的调试改错。"
#不输出权重
words = pynlpir.get_key_words(content,weighted=False)
for word in words:print (word)
print ("\n****关键字带权重****")
words = pynlpir.get_key_words(content,max_words=50,weighted=True)
for word in words:print ("关键字:",word[0],"权重:",word[1])
pynlpir.close() #关闭pynlpir,释放内存
5、实际使用:
在实际使用中,往往需要针对某一段文字统计其中关键字出现的次数。
’通过对次数的统计可以知道哪些关键字经常出现。
使用中科院分词进行关键字统计的步骤如下: 定义一个字典对象,用来保存关键字和其出现的次数。初始化该列表数据,关键字出现的次数设置为初始值0。
使用get_key_words()函数获取关键字的列表数据。
使用segment()函数对该段文字进行分词处理,从而得到返回的分词列表数据。 循环遍历分词列表数据,判断其中的元素是否属于关键字,如果属于关键字则将字典对象中对应关键字出现的次数加1
import pynlpir #导入pynlpir库
pynlpir.open() #初始化pynlpir分词库
content = "真正的程序员的程序不会在第一次就正确运行,但是他们愿意守着机器进行若干个小时的调试改错。"
wordDict = {} #定义字典对象,保存关键字及出现的次数
key_words = pynlpir.get_key_words(content, weighted=False) #获取关键字
for word in key_words:wordDict[word] = 0
words = pynlpir.segment(content, pos_tagging=False, pos_english=False)
for word in words:if key_words.count(word) > 0:wordDict[word] = wordDict[word] + 1 #关键字次数加1
for item in wordDict:print (item,"出现次数为:",wordDict[item]) #输出关键字及出现的次数
pynlpir.close() #关闭pynlpir,释放内存
愿本文对你的文章分析能有一个非常有效的帮助。
python pynlpir中科院分词的使用相关推荐
- python调用各个分词包
目前分词的难点 (1)分词规范:公说公有理婆说婆有理 (2)歧义切分:歧义本身就是一个问题,暂时没有得到解决 (3)未登录词:语言是一个神奇的事情,总会有创意的人想出创意的词来表达特定的含义,而且这这 ...
- python怎么安装jieba库-python环境jieba分词的安装
我的python环境是Anaconda3安装的,由于项目需要用到分词,使用jieba分词库,在此总结一下安装方法. 安装说明 ======= 代码对 Python 2/3 均兼容 * 全自动安装:`e ...
- Python实现中文分词--正向最大匹配和逆向最大匹配
编译原理实验二:Python实现中文分词–正向最大匹配和逆向最大匹配 最大匹配法:最大匹配是指以词典为依据,取词典中最长单词为第一个次取字数量的扫描串,在词典中进行扫描(为提升扫描效率,还可以跟据字数 ...
- ictclas java_ICTCLAS50 基于中科院分词作的java 工具,内容详细各个函数都有实现 含有word解析文档 Develop 238万源代码下载- www.pudn.com...
文件名称: ICTCLAS50下载 收藏√ [ 5 4 3 2 1 ] 开发工具: Java 文件大小: 2983 KB 上传时间: 2013-05-15 下载次数: 11 提 供 者: 安 ...
- 自然语言处理系列十七》中文分词》分词工具实战》Python的Jieba分词
注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书<分布式机器学习实战>(人工智能科学与技术丛书)[陈敬雷编著][清华大学出版社] 文章目录 自然语言处理系列十七 分词工 ...
- python使用结巴分词(jieba)创建自己的词典/词库
原文地址:https://ptorch.com/news/204.html 为什么需要在python使用结巴分词(jieba)创建自己的词典/词库,因为很多时候分词给我们的结果了能刚好相反,如:不回家 ...
- 使用Python做中文分词和绘制词云
使用Python做中文分词和绘制词云 李小璐出轨云词图 作为一门编程语言,Python的编写简单,支持库强大,应用场景多,越来越多的人开始将它作为自己的编程入门语言. Python一个比较重要的场景是 ...
- python环境jieba分词的安装
我的python环境是Anaconda3安装的,由于项目需要用到分词,使用jieba分词库,在此总结一下安装方法. 安装说明 ======= 代码对 Python 2/3 均兼容 * 全自动安装:`e ...
- 基于Python的中英文分词基础:正则表达式和jieba分词器
基于Python的中英文分词基础:正则表达式和jieba分词器 前言介绍 英文字符串处理 Python中的str 正则表达式 Python中的正则表达式模块 re 小练习 字符串中出现频次最多的字母 ...
最新文章
- intrigue more
- std中稳定排序算法_敏哥:深挖亚马逊A9算法中的广告搜索排序
- Android 数据存储之文件存储小记
- matlab多种分配方案_基于MATLAB的水资源优化分配问题动态规划解法
- Oracle 配置监听和本地网络服务
- Qt文档阅读笔记-Qt 3D: Simple C++ Example解析
- php 获取视频首帧,从视频中提取特定帧的最快方法(PHP/ffmpeg/anything)
- 7-2 整除分块 (15 分)
- 计算机图形学中向量点乘和叉乘的用途_图形学笔记(一):基础知识
- Robochameleon——Quick Start Guide
- html5boder属性,你未必知道的CSS小知识:border属性比你想象的要复杂
- 2015-2020年各类国际会议与期刊基于图像的三维对象重建论文综述(7)——Datasets
- Hadoop 参数配置优化
- 大数据Hadoop学习记录(3)----基于JAVA语言的HDFS文件过滤与合并
- Atitit lucence 使用总结 目录 1. 基本概念	1 1.1. Index:索引库,文档的集合组成索引。	1 2. 建立索引	2 2.1. Api查询	2 2.2. Dsl查询	3
- Sharding-jdbc视频:当Sharding-jdbc遇到Spring Boot
- xampp套件使用php,php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手),xampp安装使用...
- Web自动化漏洞检测工具:Xray
- 不看别后悔,关于小儿夜啼、踹被、食欲差和积食,虫妈原创,55首发
- 动态链接库和静态链接库
热门文章
- 将用户添加到sudoers_在CentOS系统中将用户添加到Sudoers文件的方法
- Codeforces 1181
- 解决:EXCEL复制粘贴,精度丢失
- java web 页面提速
- SQL中删除重复的行(重复数据),只保留一行 转
- C#去除字符串的最后一个字符
- javac 编译异常总结
- No error message available, result code: E_FAIL(0x80004005)
- scala list 接受java string_「软帝学院」Java零基础学习详解
- python index函数时间复杂度_如何确定Python中递归循环的时间复杂度?