昨天总结了一下分词概念以及一些现有的python开源工具,今天就来一波实战,顺便说一下jupyter真是好用~~

jieba分词

安装:pip install jieba
国内源安装更快:pip install jieba -i https://pypi.tuna.tsinghua.edu.cn/simple
导入jieba包
import jieba
全模式分词
wordseg_all = jieba.cut("我爱自然语言处理技术!", cut_all=True)
print("全模式: " + " ".join(wordseg_all))
Building prefix dict from the default dictionary ...
Dumping model to file cache C:\Users\yuquanle\AppData\Local\Temp\jieba.cache
Loading model cost 0.968 seconds.
Prefix dict has been built succesfully.


全模式: 我 爱 自然 自然语言 语言 处理 技术  
精确模式分词
wordseg = jieba.cut("我爱自然语言处理技术!", cut_all=False)
print("精确模式: " + " ".join(wordseg))
精确模式: 我 爱 自然语言 处理 技术 !
搜索引擎模式
wordseg_search = jieba.cut_for_search("我爱自然语言处理技术!")  
print("搜索引擎模式:" + " ".join(wordseg_search))
搜索引擎模式:我 爱 自然 语言 自然语言 处理 技术 !

 
 

SnowNLP分词

安装:pip install snownlp
国内源安装:pip install snownlp -i https://pypi.tuna.tsinghua.edu.cn/simple
导入snownlp包
from snownlp import SnowNLP
model = SnowNLP(u'我爱自然语言处理技术!')
print(model.words)
['我', '爱', '自然', '语言', '处理', '技术', '!']

 
 

THULAC分词

安装:pip install thulac
国内源安装:pip install thulac -i https://pypi.tuna.tsinghua.edu.cn/simple
导入thulac包
import thulac
默认模式:分词的同时进行词性标注
thulac_model = thulac.thulac()
wordseg = thulac_model.cut("我爱自然语言处理技术!")
print(wordseg)
Model loaded succeed
[['我', 'r'], ['爱', 'v'], ['自然', 'n'], ['语言', 'n'], ['处理', 'v'], ['技术', 'n'], ['!', 'w']]
只进行分词
seg_only_model = thulac.thulac(seg_only=True)
wordseg_only = seg_only_model.cut("我爱自然语言处理技术!")
print(wordseg_only)
Model loaded succeed
[['我', ''], ['爱', ''], ['自然', ''], ['语言', ''], ['处理', ''], ['技术', ''], ['!', '']]

 
 

NLPIR分词

安装:pip install pynlpir
国内源安装:pip install pynlpir -i https://pypi.tuna.tsinghua.edu.cn/simple
导入pynlpir包
如果发现加载报错,则需要更换license:https://github.com/NLPIR-team/NLPIR/tree/master/License/
真是开源的不彻底~~~
import pynlpir
打开分词器
pynlpir.open()
分词:这个工具会同时进行词性标注
s = "我爱自然语言处理技术!"
word_seg = pynlpir.segment(s)
print(word_seg)
[('我', 'pronoun'), ('爱', 'verb'), ('自然', 'adjective'), ('语言', 'noun'), ('处理', 'verb'), ('技术', 'noun'), ('!', 'punctuation mark')]

 
 

Stanford CoreNLP分词

安装:pip install stanfordcorenlp
国内源安装:pip install stanfordcorenlp -i https://pypi.tuna.tsinghua.edu.cn/simple
导入stanfordcorenlp包
from stanfordcorenlp import StanfordCoreNLP
先下载模型,然后导入
下载地址:
nlp_model = StanfordCoreNLP(r'stanford-corenlp-full-2018-02-27', lang='zh')
分词
s = '我爱自然语言处理技术!'
word_seg = nlp_model.word_tokenize(s)
print(word_seg)
['我爱', '自然', '语言', '处理', '技术', '!']

 
 

Hanlp分词

安装:pip install pyhanlp
国内源安装:pip install pyhanlp -i https://pypi.tuna.tsinghua.edu.cn/simple
导入pyhanlp包
from pyhanlp import *
s = '我爱自然语言处理技术!'
word_seg = HanLP.segment(s)
for term in word_seg:
    print(term.word)
我
爱
自然语言处理
技术
!

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

更多AI、ML、NLP干货资源请关注公众号:AI小白入门(ID: StudyForAI):

在这里插入图片描述

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐