此博客均为对下面这个文档的复现,非原创!!!!

使用 pyltp — pyltp 0.2.0 文档

附录 — LTP4 4.1.4 文档

1.安装pyltp

首先激活你的虚拟环境,然后输入下面语句即可,如果出现问题的话可以更换为清华源。

pip install pyltp

然后下载你自己所需要的ltp模型,这里附上3.4.0版本的

http://model.scir.yunfutech.com/model/ltp_data_v3.4.0.zip

2.使用的简单举例

2.1分句

import pyltp
import torch
from pyltp import SentenceSplitter
sents = SentenceSplitter.split('元芳你怎么看?我就趴窗口上看呗!')  # 分句
print( '\n'.join(sents))

2.2分词:这个过程切记要注意设置utf-8编码

# -*- coding: utf-8 -*-
import os
#print(os.getcwd())
LTP_DATA_DIR = 'F:\Torrch_learn\pyltp\ltp_data_v3.4.0'  # ltp模型目录的路径
cws_model_path = os.path.join(LTP_DATA_DIR, 'cws.model')  # 分词模型路径,模型名称为`cws.model`
print(cws_model_path)from pyltp import Segmentor
segmentor = Segmentor()  # 初始化实例
segmentor.load(cws_model_path)  # 加载模型
words = segmentor.segment('元芳你怎么看')  # 分词
#print(list(words))
print( '\t'.join(words))
segmentor.release()  # 释放模型

2.3 使用分词外部词典

pyltp 分词支持用户使用自定义词典。分词外部词典本身是一个文本文件(plain text),每行指定一个词,编码同样须为 UTF-8,样例如下所示

苯并芘
亚硝酸盐
# -*- coding: utf-8 -*-
import os
LTP_DATA_DIR = 'F:\Torrch_learn\pyltp\ltp_data_v3.4.0'  # ltp模型目录的路径
cws_model_path = os.path.join(LTP_DATA_DIR, 'cws.model')  # 分词模型路径,模型名称为`cws.model`from pyltp import Segmentor
segmentor = Segmentor()  # 初始化实例
segmentor.load_with_lexicon(cws_model_path, 'F:\Torrch_learn\pyltp\ltp_data_v3.4.0⃐\lexicon.txt') # 加载模型,第二个参数是您的外部词典文件路径
words = segmentor.segment('亚硝酸盐是一种化学物质')
print ('\t'.join(words))
segmentor.release()

2.4 词性标注

# -*- coding: utf-8 -*-
import os
LTP_DATA_DIR = 'F:\Torrch_learn\pyltp\ltp_data_v3.4.0'  # ltp模型目录的路径
pos_model_path = os.path.join(LTP_DATA_DIR, 'pos.model')  # 词性标注模型路径,模型名称为`pos.model`from pyltp import Postagger
postagger = Postagger() # 初始化实例
postagger.load(pos_model_path)  # 加载模型words = ['元芳', '你', '怎么', '看']  # 分词结果
postags = postagger.postag(words)  # 词性标注
res = zip(words,list(postags))
for r in res:print(r)
print( '\t'.join(postags))
postagger.release()  # 释放模型

 2.5 命名体识别

LTP 采用 BIESO 标注体系。B 表示实体开始词,I表示实体中间词,E表示实体结束词,S表示单独成实体,O表示不构成命名实体。

LTP 提供的命名实体类型为:人名(Nh)、地名(Ns)、机构名(Ni)。

B、I、E、S位置标签和实体类型标签之间用一个横线 - 相连;O标签后没有类型标签

# -*- coding: utf-8 -*-
import os
LTP_DATA_DIR = 'F:\Torrch_learn\pyltp\ltp_data_v3.4.0'  # ltp模型目录的路径
ner_model_path = os.path.join(LTP_DATA_DIR, 'ner.model')  # 命名实体识别模型路径,模型名称为`pos.model`from pyltp import NamedEntityRecognizer
recognizer = NamedEntityRecognizer() # 初始化实例
recognizer.load(ner_model_path)  # 加载模型words = ['元芳', '你', '怎么', '看']
postags = ['nh', 'r', 'r', 'v']
netags = recognizer.recognize(words, postags)  # 命名实体识别
res = zip(words,list(netags))
for r in res:print(r)
print ('\t'.join(netags))
recognizer.release()  # 释放模型

2.6 依存句法分析

arc.head 表示依存弧的父节点词的索引。ROOT节点的索引是0,第一个词开始的索引依次为1、2、3…

arc.relation 表示依存弧的关系。

arc.head 表示依存弧的父节点词的索引,arc.relation 表示依存弧的关系

# -*- coding: utf-8 -*-
import os
LTP_DATA_DIR = '/path/to/your/ltp_data'  # ltp模型目录的路径
par_model_path = os.path.join(LTP_DATA_DIR, 'parser.model')  # 依存句法分析模型路径,模型名称为`parser.model`from pyltp import Parser
parser = Parser() # 初始化实例
parser.load(par_model_path)  # 加载模型words = ['元芳', '你', '怎么', '看']
postags = ['nh', 'r', 'r', 'v']
arcs = parser.parse(words, postags)  # 句法分析print "\t".join("%d:%s" % (arc.head, arc.relation) for arc in arcs)
parser.release()  # 释放模型

【PYLTP】pyltp(SentenceSplitter、Segmentor、Postagger、NamedEntityRecognizer、Parserr)个人理解(含可执行代码)相关推荐

  1. 中文句法分析及LTP使用

    目录 一.中文句法分析内容概述 二.基于Python的LTP句法分析 1.LTP基础 2.pyltp安装 3.pyltp实现句法分析 三.基于C++的LTP句法分析 1.LTP源码和模型 2.LTP的 ...

  2. 【NLP】pyltp工具介绍、安装和使用代码+示例

    [NLP]pyltp工具介绍.安装和使用pyltp 文章目录 [NLP]pyltp工具介绍.安装和使用pyltp 1. 介绍 2. 使用 2.1 分句 2.2 分词 2.3 词性标注 2.4 命名实体 ...

  3. 从0到1 | 手把手教你如何使用哈工大NLP工具——PyLTP!

    作者 | 杨秀璋 来源 | CSDN 博客(CSDN id:Eastmount) (本文经作者授权,此系列文章整理后微信平台首发于AI科技大本营) [导语]此文是作者基于 Python 构建知识图谱的 ...

  4. 自然语言处理(NLP)之pyltp的介绍与使用(中文分词、词性标注、命名实体识别、依存句法分析、语义角色标注)

    pyltp的简介   语言技术平台(LTP)经过哈工大社会计算与信息检索研究中心 11 年的持续研发和推广, 是国内外最具影响力的中文处理基础平台.它提供的功能包括中文分词.词性标注.命名实体识别.依 ...

  5. NLP入门:pyltp的介绍与使用

    ♚ 作者: jclian,喜欢算法,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远! pyltp的简介   语言技术平台(LTP)经过哈工大社会计算与信息检索研究中心 ...

  6. [python][转载]pyltp的使用教程

    1 LTP 简介 LTP提供了一系列中文自然语言处理工具,用户可以使用这些工具对于中文文本进行分词.词性标注.句法分析等等工作.从应用角度来看,LTP为用户提供了下列组件: 针对单一自然语言处理任务, ...

  7. Python下的自然语言处理利器-LTP语言技术平台 pyltp 学习手札

    1 什么是pyltp 语言技术平台(LTP) 是由 哈工大社会计算与信息检索研究中心 11 年的持续研发而形成的一个自然语言处理工具库,其提供包括中文分词.词性标注.命名实体识别.依存句法分析.语义角 ...

  8. pyltp包下载及使用

    pyltp包下载 1.下载wheel whl下载地址: windows下python3.5 windows下python3.6 下载好了以后, 在命令行下, cd到wheel文件所在的目录, 然后使用 ...

  9. python语音标注平台_Python下的自然语言处理利器-LTP语言技术平台 pyltp 学习手札...

    1 什么是pyltp 语言技术平台(LTP) 是由 哈工大社会计算与信息检索研究中心 11 年的持续研发而形成的一个自然语言处理工具库,其提供包括中文分词.词性标注.命名实体识别.依存句法分析.语义角 ...

最新文章

  1. 看linux书籍做的一些重要笔记(2011.07.03更新)
  2. 彻底理解JavaScript中回调函数 (推荐)
  3. java struts 框架_java struts 框架编程
  4. Codeforces 1196D RGB Substring
  5. 全境封锁UI游戏设计指南
  6. oracle optimizer_features_enable,Oracle Optimizer:迁移到使用基于成本的优化器—–系列2.1-数据库专栏,ORACLE...
  7. php中日期选择代码,实现JS日期时间选择器
  8. 01-图像ROI区域获取
  9. git 的安装以及使用:是一个开源的分布式版本控制系统,可以对项目进行版本管理。 早期是linux之父用来管理linux系统源代码的(linux是和windows一样操作系统 开源免费的操作...
  10. 华科PAMI黑科技,方向任意目标检测新算法
  11. windosw应用提示内存不足
  12. Understanding Unix/Linux Programming-事件驱动编程:编写一个视频游戏
  13. mysql怎么导入代码_mysql导入数据步骤mysqlimport
  14. 渗透测试工程师 面试官常见的50个问题 你能回答上几个?
  15. Cf#595 (Div. 3)E-DP题
  16. 关于核磁共振项目的硬件理解
  17. Go语言查缺补漏ing Day1
  18. qt creator编译qt工程时报错:undefined reference to
  19. 「Computer keyboard」- 在键盘中,手指的摆放位置 @20210331
  20. 创建一键部署的前后端(SpringBoot+Vue+nginx)项目镜像

热门文章

  1. 基于Python Tkinter的多线程局域网扫描器
  2. php取名字的姓,姓名拆分为姓氏和名字的方法[php版]
  3. Robotstudio基础教程之系统创建
  4. 新思路计算机二级c语言破解版,新思路计算机二级软件
  5. 游戏开发中的人工智能(五):以势函数实现移动
  6. php模板机制,ECMall模板解析语法与机制
  7. 日历表的jq简单写法
  8. u盘安装linux5.0,U盘安装Debian5.0.5基本系统
  9. 懒汉模式-双重同步锁机制
  10. Java使用POI生成柱状图导出到word文档(柱状图)