NLP自然语言处理(一)——jieba分词(R vs. python)

Life is short, you need Python - Bruce Eckel
Package Index, Python 3.5.3 documentation
回复
头像
523066680
Administrator
Administrator
帖子: 573
注册时间: 2016年07月19日 12:14
联系:

NLP自然语言处理(一)——jieba分词(R vs. python)

帖子 523066680 »

出处:https://zhuanlan.zhihu.com/p/25559029
已经在微信公众号获得了转载许可

仅提取 Python 的部分,测试环境, Python 3.5.2, 测试脚本保存为 utf8 编码格式
> pip install jieba
一、jiaba中文分词
import jieba
seg_list = jieba.cut(u"这是一段测试文本",cut_all = False)
print("Full mode: "+ ",".join(seg_list)) #默认精确模式
二、词性标注
#词性标注
import jieba.posseg as pseg
words = pseg.cut("我爱北京天安门")
for word,flag in words:
print('%s, %s' %(word,flag))
三、关键词提取

python实现关键词提取可运用TF-IDF方法和TextRank方法。allowPOS参数为限定范围词性类型。
#关键词提取
import jieba.analyse
content = u'会议邀请到美国密歇根大学(University of Michigan, Ann Arbor)环境健康科学系副教授奚传武博士作题为“Multibarrier approach for safe drinking waterin the US : Why it failed in Flint”的学术讲座,介绍美国密歇根Flint市饮用水污染事故的发生发展和处置等方面内容。讲座后各相关单位同志与奚传武教授就生活饮用水在线监测系统、美国水污染事件的处置方式、生活饮用水老旧管网改造、如何有效减少消毒副产物以及美国涉水产品和二次供水单位的监管模式等问题进行了探讨和交流。本次交流会是我市生活饮用水卫生管理工作洽商机制运行以来的又一次新尝试,也为我市卫生计生综合监督部门探索生活饮用水卫生安全管理模式及突发水污染事件的应对措施开拓了眼界和思路。'
#基于TF-IDF
keywords = jieba.analyse.extract_tags(content,topK = 5,withWeight = True,allowPOS = ('n','nr','ns'))
for item in keywords:
print item[0],item[1]
#基于TF-IDF结果
# 饮用水 0.448327672795
# Flint 0.219353532163
# 卫生 0.203120821773
# 水污染 0.186477211628
# 生活 0.170049997544
基于TextRank
#基于TextRank
keywords = jieba.analyse.textrank(content,topK = 5,withWeight = True,allowPOS = ('n','nr','ns'))
for item in keywords:
print item[0],item[1] #基于TextRank结果:
# 饮用水 1.0
# 美国 0.570564785973
# 奚传武 0.510738424509
# 单位 0.472841889334
# 讲座 0.443770732053
专栏:乐享数据DataScientists的博客专栏
公众号:乐享数据DataScientists
回复

在线用户

正浏览此版面之用户: 没有注册用户 和 1 访客