自然语言处理基础技术工具篇之Jieba

声明:转载请注明出处,谢谢:https://www.jianshu.com/p/25f65bc93038
另外,更多实时更新的个人学习笔记分享,请关注:


知乎https://www.zhihu.com/people/yuquanle/columns
公众号:StudyForAI
CSDN地址http://blog.csdn.net/m0_37306360


没想到坚持学习以及写作总结已经超过半个月了,谢谢大家的关注、点赞、收藏~~

前面谈了nlp的基础技术,我始终觉得,入门学习一件事情最好的方式就是实践,加之现在python如此好用,有越来越多的不错nlp的python库,所以接下来的一段时间里,让我们一起来感受一下这些不错的工具(代码我均使用jupyter编辑)

先来罗列一波:jieba、hanlp、snownlp、Stanfordcorenlp、spacy、pyltp、nltk、Textblob等等…今天从jieba开始吧,let's begin~~

希望能继续得到大家的指点、关注、点赞以及收藏哈哈哈

Jieba简介

“结巴”中文分词,做最好的 Python 中文分词组件。主要功能包括分词、词性标注、关键词抽取等。

Github地址:https://github.com/fxsjy/jieba

Jieba工具Demo

安装:pip install jieba

1.分词

支持三种分词模式(默认是精确模式):

精确模式,试图将句子最精确地切开,适合文本分析;

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

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

import jieba
segfull_list = jieba.cut("我爱自然语言处理技术!", cut_all=True)
print("Full Mode: " + " ".join(segfull_list)) # 全模式

segdef_list = jieba.cut("我爱自然语言处理技术!", cut_all=False)
print("Default Mode: " + " ".join(segdef_list)) # 精确模式

seg_search_list = jieba.cut_for_search("我爱自然语言处理技术!") # 搜索引擎模式
print("Search Mode:" + " ".join(seg_search_list))
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\yuquanle\AppData\Local\Temp\jieba.cache
Loading model cost 0.830 seconds.
Prefix dict has been built succesfully.

Full Mode: 我 爱 自然 自然语言 语言 处理 技术
Default Mode: 我 爱 自然语言 处理 技术 !
Search Mode:我 爱 自然 语言 自然语言 处理 技术 !

2.基于TF-IDF算法关键词抽取

参数:

sentence:待分析文本;

topK:返回几个 TF/IDF 权重最大的关键词,默认值为 20

withWeight:是否一并返回关键词权重值,默认值为 False

allowPOS:仅包括指定词性的词,默认值为空,即不筛选

import jieba.analyse
sentence = "我爱自然语言处理技术!"
tags = jieba.analyse.extract_tags(sentence, withWeight=True, topK=2, allowPOS=())
print(tags)
[('自然语言', 3.4783139164), ('处理', 1.8036185524533332)]

3.基于 TextRank 算法的关键词抽取

参数:

allowPOS:默认过滤词性

jieba.analyse.textrank(sentence, topK=1, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v'))

['技术']

4.词性标注

import jieba.posseg as pseg
sentence = "我爱自然语言处理!"
words = pseg.cut(sentence)
for word, flag in words:
print('%s %s' % (word, flag))

我 r
爱 v
自然语言 l
处理 v
! x

5.分词(tokenize)

result = jieba.tokenize(u'我爱自然语言处理')
for tk in result:
print("word %s\t\t start: %d \t\t end:%d" % (tk[0],tk[1],tk[2]))

word 我 start: 0 end:1
word 爱 start: 1 end:2
word 自然语言 start: 2 end:6
word 处理 start: 6 end:8

另外,代码我已经上传github:https://github.com/yuquanle/StudyForNLP/blob/master/NLPtools/JiebaDemo.ipynb

更多个人笔记请关注:

公众号:StudyForAI(小白人工智能入门学习)

知乎专栏:https://www.zhihu.com/people/yuquanle/columns

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342