hanlp训练模型_python如何使⽤HanLP,LTP,jieba中⽂分词
上期⽂章我们分享了NLP ⾃然语⾔处理的基础知识,本期我们分享⼏个⽐较流⾏的中⽂分词库,且这些中⽂分词库绝⼤部分是Java程序编写的,在linux系统上很容易使⽤,但是在windows环境下,如何使⽤python来使⽤这些分词库??
HanLP
HanLP中⽂分词包
HanLP 是由⼀系列模型与算法组成的 Java ⼯具包,⽬标是普及⾃然语⾔处理在⽣产环境中的应⽤。HanLP 具备功能完善、性能⾼效、架构清晰、语料时新、可⾃定义的特点。在提供丰富功能的同时,HanLP 内部模块坚持低耦合、模型坚持惰性加载、服务坚持静态提供、词典坚持明⽂发布,使⽤⾮常⽅便,同时⾃带⼀些语料处理⼯具,帮助⽤户训练⾃⼰的语料。
当然python 环境下,hanlp名称为pyhanlp,Python下安装直接在cmd命令框中输⼊pip install pyhanlp 即可,软件会⾃动安装所依赖的其他库,安装完成后,在cmd命令框中输⼊hanlp segment ,使⽤命令hanlp segment进⼊交互分词模式,输⼊⼀个句⼦并回车,HanLP 会输出分词结果,前提是你的电脑开发环境已经安装好。
此时,软件会先下载hanlp所需要的语⾔模型,⼤概1.2G,由于服务器都是国内的,所以下载速度会很快
模型下载
模型下载完成后,hanlp会检测电脑系统上⾯是否有Java环境,毕竟HanLP 是由⼀系列模型与算法组成的 Java ⼯具包
Java环境下载
若没有安装Java,按照软件提⽰的⽹站下载安装⾃⼰系统的版本即可。
若⼀切没有问题,便可以输⼊⼀段话,进⾏分词操作
中⽂分词
依存句法分析,命令为hanlp parse,同样⽀持交互模式和重定向,在cmd命令框中输⼊指令,并输⼊⼀段话
中⽂分词
pyhanlp的python使⽤⽅法
安装pyhanlp后,以上我们可以使⽤在cmd命令框中输⼊指令进⾏操作,当然我们同样也可以使⽤python 编程进⾏操作
分词使⽤
from pyhanlp import *print(HanLP.segment("我们都是⼀家⼈。"))>>> [我们/rr, 都/d, 是/vshi, ⼀家⼈/n, 。/w]
依存分析使⽤java调用python模型
from pyhanlp import *print(HanLP.parseDependency("我们都是中国⼈。"))>>> 1 我们我们 r r_ 3 主谓关系 _ _>>> 2 都都 d d _ 3 状中结构  _ _>>> 3 是是 v v _ 0 pyhanlp可视化
pyhanlp提供了⼀个很好的可视化界⾯,可以直接在官⽹上进⾏可视化操作,当然在本地,只要⼀句命令就能启动⼀个web服务在cmd命令框⾥,直接输⼊hanlp serve即可,然后软件提⽰8765端⼝的本地⽹络地址
可视化界⾯
中⽂分词可视化
jieba中⽂分词库
jieba库是⼀款优秀的 Python 第三⽅中⽂分词库,jieba ⽀持三种分词模式:精确模式、全模式和搜索引擎模式
精确模式:试图将语句最精确的切分,不存在冗余数据,适合做⽂本分析全模式:将语句中所有可能是词的词语都切分出来,速度很快,但是存在冗余数据搜索Window环境下,在cmd命令框中输⼊: pip install jieba 进⾏安装即可
import jiebaseg_str = "我们都是中国⼈,我爱我的祖国。"print("/".join(jieba.lcut(seg_str))) # 精简模式,返回⼀个列表类型的结果print("/".join(jieba.lcut(seg_str, cut_
jieba分词
我们/都/是/中国/⼈/,/我/爱/我/的/祖国/。我们/都/是/中国/国⼈/,/我/爱/我/的/祖国/。我们/都/是/中国/⼈/,/我/爱/我/的/祖国/。
LTP中⽂分词库
LTP(哈⼯⼤)提供了⼀系列中⽂⾃然语⾔处理⼯具,⽤户可以使⽤这些⼯具对于中⽂⽂本进⾏分词、词
性标注、句法分析等等⼯作。
从应⽤⾓度来看,LTP为⽤户提供了下列组件:针对单⼀⾃然语⾔处理任务,⽣成统计机器学习模型的⼯具针对单⼀⾃然语⾔处理任务,调⽤模型进⾏分析的编程接⼝LTP的python接⼝是pyltp,直接在cmd命令框中直接输⼊pip install pyltp安装即可,ltp的安装不会⾃动下载模型,可以到 ltp.ai/download.html下载这⾥需要注意:
模型下载
这⾥需要下载对应的模型版本,否则会出现模型⽆法运⾏
python 操作pyltp
LTP提供的模型包括:(在ltp_data⽂件夹)
import pyltpfrom pyltp import Segmentorsegmentor = Segmentor()segmentor.load('ltp_data_v3.4.0/ltp_data_v3.4.del')#加载分词库ltpword = segmentor.
以上我们便打造了⼀个LTP的分词任务,当然,你也可以加载其他模型,进⾏不同的分词任务,且可以加载⼤量的⽂本,只需要
segmentor.segment⽂件⾥⾯输⼊打开的⽂件便可
LTP可视化
下期预告:
本期我们分享了中⽂分词的⼏个库,下期我们分享英⽂分词库以及基本的操作
关于中⽂的⼏个分词库,其⽤法还有很多,我们后期慢慢分享!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。