使用jieba分词走进自然语言理解


中文分词是中文自然语言理解的第一步,一个优秀的分词系统取决于足够的语料和完善的模型,这里推荐jieba中文分词,jieba分词开源免费、使用简单、功能丰富,并且支持多种编程语言实现。
jieba提供了3种分词模式:

  • 全模式
  • 精确模式
  • 搜索引擎模式

一、全模式:把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解决歧义

import jieba
#join是split的逆操作
#即使用一个拼接符将一个列表拼成字符串
seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
print("Full Mode: " + "/ ".join(seg_list))  # 全模式

运行结果:
jieba全模式

二、精确模式:试图将句子最精确的切开,适合文本分析。

seg_list = jieba.cut("我来到北京清华大学", cut_all=False)
print("Default Mode: " + "/ ".join(seg_list))  # 精确模式
seg_list = jieba.cut("他来到了京东新总部大楼")  # 不加cut_all参数默认是精确模式
print(", ".join(seg_list))

运行结果:jieba精确模式

三、搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词

seg_list = jieba.cut_for_search("小亮硕士毕业于中国科学技术大学,后在新南威尔士大学深造")  # 搜索引擎模式
print(", ".join(seg_list))

jieba搜索引擎模式

四、关键字提取

jieba实现了TF-IDF(TF通过词频,IDF通过逆文本频率指数)和TextRank这两种关键字提取算法。

import jieba.analyse

content = u'绵羊料理是美食区的新垣结羊,料理界的押韵狂魔。她用对待科研的态度对待美食,她探究每一道料理背后的人文故事;反复的尝试,一次次的厨房翻车,只为对每一道料理工序的精益求精。欢快的bgm搭配色彩鲜活的画面,绵羊用美食与视频的双重精致,表达着对生活的最高敬意。'

keywords = jieba.analyse.extract_tags(content, topK=20, withWeight=True, allowPOS=('n', 'nr', 'ns'))
for item in keywords:\
	print item[0], item[1]

在这里插入图片描述

keywords = jieba.analyse.textrank(content, topK=20, withWeight=True, allowPOS=('ns', 'n', 'vn', 'v'))
for item in keywords:\
	print item[0], item[1]

在这里插入图片描述

import jieba.posseg as pseg
words = pseg.cut(content)
for word, flag in words:\
	print('%s, %s' % (word, flag))

在这里插入图片描述

五、总结

中文分词的模型实现主要分为两大类:①基于规则②基于统计

基于规则是根据一个已有的词典,采用前向最大匹配、后项最大匹配、双向最大匹配等人工设定的规则来进行分词。

基于统计是从大量人工标注语料中总结词的概率分布以及词之间的常用搭配,使用有监督学习训练分词模型。

jieba分词结合了基于规则基于统计两类方法。首先基于前缀词典进行词图扫描,可以快速构建包含全部分词结果的有向无环图,这个图中包含多条分词路径;基于语料标注,使用动态规划的方法可以找出最大概率路径,并将其作为最终的分词结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客范儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值