基于python的几种中文分词-词性获取
根据当前网络上关于中文分词的python包,先取以下四种方式:
- jieba分词;
- 清华大学的THULAC;
- HanLP;
- pynlpir.
1.测试环境
系统:win10;
python版本:python3.6;
已经配好的环境变量。
2.安装与使用
2.1 jieba分词
安装:在dos窗口中:pip install jieba
安装即可
使用:在python程序中引入即可:import thulac
获取分词词语词性:
#通过jieba分词获取词的属性
import jieba.posseg as peg
in_str='''我与父亲不相见已二年余了,我最不能忘记的是他的背影。'''
words=peg.cut(in_str)
result1=""
for word,flag in words:
temp="%s_%s "%(word,flag)
result1=result1+temp
print(result1)
结果:
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\JACKPI~1\AppData\Local\Temp\jieba.cache
Loading model cost 1.475 seconds.
Prefix dict has been built succesfully.
我_r 与_p 父亲_n 不_d 相见_v 已_d 二年_m 余_m 了_ul ,_x 我_r 最_d 不能_v 忘记_v 的_uj 是_v 他_r 的_uj 背影_n 。_x
[Finished in 2.8s]
2.2 清华大学的THULAC
安装:再dos窗口:pip install thulac
安装即可
使用:在python程序中引入即可:import thulac
获取分词词语词性:
import thulac
in_str='''我与父亲不相见已二年余了,我最不能忘记的是他的背影。'''
thu1=thulac.thulac()#默认模式
result2=thu1.cut(in_str,text=True)
print(result2)
结果:
Model loaded succeed
我_r 与_p 父亲_n 不_d 相见_v 已_d 二_m 年_q 余_m 了_u ,_w 我_r 最_d 不_d 能_v 忘记_v 的_u 是_v 他_r 的_u 背影_n 。_w
[Finished in 4.4s]
2.3 HanLP
安装:在dos窗口:pip install pyhanlp
安装即可
使用:在python程序中引入:from pyhanlp import HanLP
获取分词词语词性:
from pyhanlp import HanLP
in_str='''我与父亲不相见已二年余了,我最不能忘记的是他的背影。'''
result_demo1=HanLP.segment(in_str)
result3=""
for i in range(0,len(result_demo1)):
temp=str(result_demo1.get(int(i))).replace("/","_")
result3=result3+str(temp)+" "
print(result3)
结果:
我_rr 与_cc 父亲_n 不_d 相见_vi 已_d 二_m 年_qt 余_ng 了_ule ,_w 我_rr 最_d 不能_v 忘记_v 的_ude1 是_vshi 他_rr 的_ude1 背影_n 。_w
[Finished in 1.1s]
2.4 pynlpir
安装:在dos窗口:pip install pynlpir
安装即可
使用:在python程序中引入:import pynlpir
获取分词词语词性:
import pynlpir
pynlpir.open()
result_demo=pynlpir.segment(in_str)
result4=""
for list in result_demo:
temp="%s_%s "%(list[0],list[1])
result4=result4+temp
print(result4)
结果:
我_pronoun 与_preposition 父亲_noun 不_adverb 相见_verb 已_adverb 二_numeral 年_classifier 余_numeral 了_modal particle ,_punctuation mark 我_pronoun 最_adverb 不_adverb 能_verb 忘记_verb 的_particle 是_verb 他_pronoun 的_particle 背影_noun 。_punctuation mark
[Finished in 0.2s]