中科院汉语分词系统是一个非常好用的分词工具,和结巴分词类似,但是比结巴分词功能更加强大,而且更加个性化。

中科院分词的使用步骤如下:

  1. 导入中科院分词模块 初始化pynlpir分词库。
  2. 在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中科院分词的使用相关推荐

  1. python调用各个分词包

    目前分词的难点 (1)分词规范:公说公有理婆说婆有理 (2)歧义切分:歧义本身就是一个问题,暂时没有得到解决 (3)未登录词:语言是一个神奇的事情,总会有创意的人想出创意的词来表达特定的含义,而且这这 ...

  2. python怎么安装jieba库-python环境jieba分词的安装

    我的python环境是Anaconda3安装的,由于项目需要用到分词,使用jieba分词库,在此总结一下安装方法. 安装说明 ======= 代码对 Python 2/3 均兼容 * 全自动安装:`e ...

  3. Python实现中文分词--正向最大匹配和逆向最大匹配

    编译原理实验二:Python实现中文分词–正向最大匹配和逆向最大匹配 最大匹配法:最大匹配是指以词典为依据,取词典中最长单词为第一个次取字数量的扫描串,在词典中进行扫描(为提升扫描效率,还可以跟据字数 ...

  4. ictclas java_ICTCLAS50 基于中科院分词作的java 工具,内容详细各个函数都有实现 含有word解析文档 Develop 238万源代码下载- www.pudn.com...

    文件名称: ICTCLAS50下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 2983 KB 上传时间: 2013-05-15 下载次数: 11 提 供 者: 安 ...

  5. 自然语言处理系列十七》中文分词》分词工具实战》Python的Jieba分词

    注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书<分布式机器学习实战>(人工智能科学与技术丛书)[陈敬雷编著][清华大学出版社] 文章目录 自然语言处理系列十七 分词工 ...

  6. python使用结巴分词(jieba)创建自己的词典/词库

    原文地址:https://ptorch.com/news/204.html 为什么需要在python使用结巴分词(jieba)创建自己的词典/词库,因为很多时候分词给我们的结果了能刚好相反,如:不回家 ...

  7. 使用Python做中文分词和绘制词云

    使用Python做中文分词和绘制词云 李小璐出轨云词图 作为一门编程语言,Python的编写简单,支持库强大,应用场景多,越来越多的人开始将它作为自己的编程入门语言. Python一个比较重要的场景是 ...

  8. python环境jieba分词的安装

    我的python环境是Anaconda3安装的,由于项目需要用到分词,使用jieba分词库,在此总结一下安装方法. 安装说明 ======= 代码对 Python 2/3 均兼容 * 全自动安装:`e ...

  9. 基于Python的中英文分词基础:正则表达式和jieba分词器

    基于Python的中英文分词基础:正则表达式和jieba分词器 前言介绍 英文字符串处理 Python中的str 正则表达式 Python中的正则表达式模块 re 小练习 字符串中出现频次最多的字母 ...

最新文章

  1. intrigue more
  2. std中稳定排序算法_敏哥:深挖亚马逊A9算法中的广告搜索排序
  3. Android 数据存储之文件存储小记
  4. matlab多种分配方案_基于MATLAB的水资源优化分配问题动态规划解法
  5. Oracle 配置监听和本地网络服务
  6. Qt文档阅读笔记-Qt 3D: Simple C++ Example解析
  7. php 获取视频首帧,从视频中提取特定帧的最快方法(PHP/ffmpeg/anything)
  8. 7-2 整除分块 (15 分)
  9. 计算机图形学中向量点乘和叉乘的用途_图形学笔记(一):基础知识
  10. Robochameleon——Quick Start Guide
  11. html5boder属性,你未必知道的CSS小知识:border属性比你想象的要复杂
  12. 2015-2020年各类国际会议与期刊基于图像的三维对象重建论文综述(7)——Datasets
  13. Hadoop 参数配置优化
  14. 大数据Hadoop学习记录(3)----基于JAVA语言的HDFS文件过滤与合并
  15. Atitit lucence 使用总结 目录 1. 基本概念 1 1.1.   Index:索引库,文档的集合组成索引。 1 2. 建立索引 2 2.1. Api查询 2 2.2. Dsl查询 3
  16. Sharding-jdbc视频:当Sharding-jdbc遇到Spring Boot
  17. xampp套件使用php,php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手),xampp安装使用...
  18. Web自动化漏洞检测工具:Xray
  19. 不看别后悔,关于小儿夜啼、踹被、食欲差和积食,虫妈原创,55首发
  20. 动态链接库和静态链接库

热门文章

  1. 将用户添加到sudoers_在CentOS系统中将用户添加到Sudoers文件的方法
  2. Codeforces 1181
  3. 解决:EXCEL复制粘贴,精度丢失
  4. java web 页面提速
  5. SQL中删除重复的行(重复数据),只保留一行 转
  6. C#去除字符串的最后一个字符
  7. javac 编译异常总结
  8. No error message available, result code: E_FAIL(0x80004005)
  9. scala list 接受java string_「软帝学院」Java零基础学习详解
  10. python index函数时间复杂度_如何确定Python中递归循环的时间复杂度?