基于python的几种中文分词-词性获取

基于python的几种中文分词-词性获取

根据当前网络上关于中文分词的python包,先取以下四种方式:

  1. jieba分词;
  2. 清华大学的THULAC;
  3. HanLP;
  4. 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]

猜你喜欢

转载自blog.csdn.net/meiqi0538/article/details/80294542