基于python3.6,ltp3.4.0和nltk的ltp词性标注,命名实体识别和句法依存树

ltp词性标注

from pyltp import *


sent = "在|包含|问题|的|所有|解|的|解空间树|中|,|按照|深度优先|搜索|的|策略|,|从|根节点|出发|深度|探索|解空间树|。"
words = sent.split("|")
# print(words)
postagger = Postagger()# 实例化词性标注类
postagger.load("E:\\ltp_data_v3.4.0\\pos.model")
postags = postagger.postag(words)
for word, postag in zip(words, postags):
    print(word+"/"+postag, end=" ")

运行结果:
在这里插入图片描述
标注的标签与原词用“/”分隔,每个标签都有其语法的意义。例如,'n”表示名词,“v”表示动词。

ltp命名实体识别

from pyltp import *


sent = "欧洲 东部 的 罗马尼亚 , 首都 是 布加勒斯特 , 也 是 一 座 世界性 的 城市 。"
words = sent.split(" ")
postagger = Postagger()
postagger.load("E:\\ltp_data_v3.4.0\\pos.model")
postags = postagger.postag(words)
recognizer = NamedEntityRecognizer()
recognizer.load("E:\\ltp_data_v3.4.0\\ner.model")
netags = recognizer.recognize(words, postags)
for word, postag, netag in zip(words, postags, netags):
    print(word+"/"+postag+"/"+netag, end=" ")

运行结果:
在这里插入图片描述
在这里插入图片描述

ltp句法依存树

import nltk
from nltk.tree import Tree  # 导入nltk tree结构
from nltk.grammar import DependencyGrammar  # 依存句法包
from nltk.parse import *
from pyltp import *


words = "中国 的 首都 是 北京 。".split(" ")
# 词性标注
postagger = Postagger()
postagger.load("E:\\ltp_data_v3.4.0\\pos.model")
postags = postagger.postag(words)
# 将词性标注和分词结果都加入分析器中句法解析
parser = Parser()
parser.load("E:\\ltp_data_v3.4.0\\parser.model")
arcs = parser.parse(words, postags)

arclen = len(arcs)
conll = ""
# 构建Conll标准的数据结构

for i in range(arclen):
    if arcs[i].head == 0:
        arcs[i].relation = "ROOT"
    conll += "\t"+words[i]+"("+postags[i]+")"+"\t"+postags[i]+"\t"+str(arcs[i].head)+"\t"+arcs[i].relation+"\n"
print(conll)
# 转换为依存句法图
conlltree = DependencyGraph(conll)
tree = conlltree.tree()
tree.draw()

运行结果:
在这里插入图片描述
句法树是一棵依存关系树,根节点为其谓语动词“是”,主语是“首都”,“中国”是修饰“首都”的定语,句子的宾语是“北京”。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值