LTP4.2.11.post2调用实践与旧版本对比

之前使用LTP4.1.15时使用的语句一般是

from ltp import LTP
ltp = LTP()

SEN = ['他叫汤姆去拿外衣。']
seg,hidden = ltp.seg(SEN)
pos=ltp.pos(hidden)
dep=ltp.dep(hidden)
print(seg,'\n')
print(pos,'\n')
print(dep,'\n')

输出分词,词性标注,依存句法分析结果,而且输出格式是列表

LTP4.2.11.post2调用时做出了改变,如果直接使用语句ltp.seg()进行调用,会报错

显示ltp没有.seg功能,查询资料原来是新版本LTP的api改变了,查找sit-packages后发现调用方法使用的是pipline:

ltp.pipeline("他叫汤姆去拿外衣。").to_tuple()
from ltp import LTP
ltp = LTP()
words, pos, ner = ltp.pipeline("他叫汤姆去拿外衣。").to_tuple()
print(words, pos, ner)

输出结果为列表

观察版本做出的改变:1.输入上,旧版必须要求列表输入;新版本字符串和列表都可以;

2.调用方式上;

3.输出上:旧版本为列表,新版本的列表形式不太一样,

例如对于依存句法分析上,

旧版本输出节点信息和标注结果:[[(1, 2, 'SBV'), (2, 0, 'HED'), (3, 4, 'ATT'), (4, 8, 'ATT'), (5, 8, 'ATT'), (6, 5, 'POB'), (7, 5, 'RAD'), (8, 2, 'VOB'), (9, 2, 'WP')]] ;

新版本采用{}方式存储节点和标注,是分开的:[{'head': [2, 0, 4, 11, 11, 7, 5, 5, 11, 11, 2, 2], 'label': ['SBV', 'HED', 'ATT', 'ATT', 'ATT', 'ATT', 'POB', 'RAD', 'ATT', 'ATT', 'VOB', 'WP']}] 

语义角色标注也有这样的差别,新版本对于节点标注内容没有之前版本明晰了。

调用的一个小实践,记录一下,后续还要用新版本的做自然语言处理的其他任务。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值