依存句法分析pythonpyltp实现
staroom依存句法分析 python & pyltp实现
本⽂⽤python,借助pyltp实现依存句法分析。
有关的详细介绍可以查阅其官⽅⽹站。
说明:使⽤前需要先下载ltp的模型⽂件,下载地址:
整体思路是先分词,在词性标注,最后依存句法分析
# -*- coding: utf-8 -*-
英语论文答辩开场白
讪笑是什么意思import os
## 加载模型⽂件
LTP_DATA_DIR = 'D:\SpyderWorkspace\parr\ltp_data' # ltp模型⽬录的路径
ctr
pos_model_path = os.path.join(LTP_DATA_DIR, 'del') # 词性标注模型路径,模型名称为`del`
cws_model_path = os.path.join(LTP_DATA_DIR, 'del') # 分词模型路径,模型名称为`del`
par_model_path = os.path.join(LTP_DATA_DIR, 'del') # 依存句法分析模型路径,模型名称为`del`
## 分词
from pyltp import Segmentor
gmentor = Segmentor() # 初始化实例
gmentor.load_with_lexicon(cws_model_path,'') # 加载模型
words = ('栈是只允许⼀端删除和插⼊的线性表')) # 分词
print(words)
石家庄新东方英语学校>javabean是什么
## 词性标注
from pyltp import Postagger
postagger = Postagger() # 初始化实例
postagger.load(pos_model_path) # 加载模型
postags = postagger.postag(words) # 词性标注
tags= list(''.join(postags))回复邮件
#print (tags)
## 依存句法分析
from pyltp import Parr
advice
parr = Parr() # 初始化实例
parr.load(par_model_path) # 加载模型
arcs = parr.par(words, postags) #句法分析
fairytale歌词print ('arcs 的结果:','\t'.join("%d:%s" % (arc.head, lation) for arc in arcs))
上南中学
结果:
['栈', '是', '只', '允许', '⼀', '端', '删除', '和', '插⼊', '的', '线性表']
arcs 的结果: 2:SBV 0:HED 4:ADV 2:VOB 6:ATT 7:ADV 11:ATT 9:LAD 7:COO 7:RAD 4:VOB
其中arc.head代表⽗节点的索引,lation代表依存弧的关系