作者: jclian,喜欢算法,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远!
pyltp的简介
语言技术平台(LTP)经过哈工大社会计算与信息检索研究中心 11 年的持续研发和推广, 是国内外最具影响力的中文处理基础平台。它提供的功能包括中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注等。
语言技术平台架构
pyltp 是 LTP 的 Python 封装,同时支持Python2和Python3版本。Python3的安装方法为:
官网下载网址:
官方使用说明文档:
在使用该模块前,需要下载完整的模型文件,文件下载地址为:
pyltp 的所有输入的分析文本和输出的结果的编码均为 UTF-8。模型的数据文件如下:
模型数据
其中,cws.model用于分词模型,lexicon.txt为分词时添加的用户字典,ner.model为命名实体识别模型,parser.model为依存句法分析模型,pisrl.model为语义角色标注模型,pos为词性标注模型。
pyltp的使用
pyltp的使用示例项目结构如下:
示例项目
分句
分句指的是将一段话或一片文章中的文字按句子分开,按句子形成独立的单元。示例的Python代码sentenct_split.py如下:
输出结果如下:
分词
分词指的是将一句话按词语分开,按词语形成独立的单元。示例的Python代码words_split.py如下:
输出的结果如下:
词性标注
词性标注指的是一句话分完词后,制定每个词语的词性。示例的Python代码postagger.py如下:
输出结果如下:
词性标注结果可参考网址:https://ltp.readthedocs.io/zh_CN/latest/appendix.html。
命名实体识别
命名实体识别(NER)指的是识别出一句话或一段话或一片文章中的命名实体,比如人名,地名,组织机构名。示例的Python代码ner.py如下:
输出的结果如下:
命名实体识别结果可参考网址:https://ltp.readthedocs.io/zh_CN/latest/appendix.html
依存句法分析
依存语法 (Dependency Parsing, DP) 通过分析语言单位内成分之间的依存关系揭示其句法结构。 直观来讲,依存句法分析识别句子中的“主谓宾”、“定状补”这些语法成分,并分析各成分之间的关系。示例的Python代码parser.py代码如下:
输出结果如下:
依存句法分析结果可参考网址:https://ltp.readthedocs.io/zh_CN/latest/appendix.html
语义角色标注
语义角色标注是实现浅层语义分析的一种方式。在一个句子中,谓词是对主语的陈述或说明,指出“做什么”、“是什么”或“怎么样,代表了一个事件的核心,跟谓词搭配的名词称为论元。语义角色是指论元在动词所指事件中担任的角色。主要有:施事者(Agent)、受事者(Patient)、客体(Theme)、经验者(Experiencer)、受益者(Beneficiary)、工具(Instrument)、处所(Location)、目标(Goal)和来源(Source)等。示例的Python代码rolelabel.py如下:
输出结果如下:
总结
本文介绍了中文NLP的一个杰出工具pyltp,并给出了该模块的各个功能的一个示例,希望能给读者一些思考与启示。本文到此结束,感谢大家阅读。
热 门 推 荐
点击成为社区注册会员「在看」一下,一起PY!
领取专属 10元无门槛券
私享最新 技术干货