哈工大LTP的依存分析

# 可视化

    网址:http://ltp.ai/demo.html

LTP提供的模型有tiny、small和base。根据安装的LTP版本,模型的版本也需要匹配,否则可能会出现不兼容的情况

注:web demo运行的是base模型;在线的SDP解码是Graph和Tree混合解码,具体可以看一下4.0.X的源码

 

# 本地安装(Python版)

    1. pip install ltp

    2. 运行代码后报错

Microsoft Visual C++ Redistributable is not installed, this may lead to the DLL load failure.It can be downloaded at https://aka.ms/vs/16/release/vc_redist.x64.exe

    3. 根据报错里提供的网址下载 vc_redist.x64.exe 安装即可

    4.1 报错

AttributeError: 'Version' object has no attribute 'major'

    解决:packaging 包版本太低了,用命令pip install --upgrade packaging 更新 packaging 

    4.2 报错

KeyError: 'transformer_config'

    解决:模型问题,参见链接 。打开C:\Anaconda3\Lib\site-packages\ltp下的frontend.py文件(4.1.x版本,老版本文件为ltp.py),修改如下(先把模型下载下来,然后修改路径)

model_map = {'base': 'http://39.96.43.154/ltp/v2/base.tgz','small': 'http://39.96.43.154/ltp/v2/small.tgz',# 'tiny': 'http://39.96.43.154/ltp/v2/tiny.tgz''tiny': 'w:/ltp/tiny.tgz'
}

注意:LTP 4.1.X 与旧版本 v1,v2 模型不兼容[来源],LTP 4.0.X 与 v3 也不兼容

联网自动下载的模型缓存在 C:\Users\用户名\.cache\torch\ltp

    4.3 报错 

sdp = ltp.sdp(hidden,graph=False)
3)TypeError: sdp() got an unexpected keyword argument 'graph'

    解决:4.1.X 没有该参数了,只支持依存图

 

    ## 其他

      除了安装ltp,之前有个版本pyltp,调用接口参数似乎更方便 [链接] [链接] [链接] [链接]

      案例:基于哈工大LTP句子主干提取

 

# LTP:依存句法分析与语义依存分析的区别

    虽然两者都借用了依存结构,但是依存句法分析与语义依存分析之间具有显著的区别。句法依存按照句法结构功能建立依存关系并为依存结构标注句法关系,更强调介词、助词等对句法结构划分的作用。而语义依存如前所说,注重实词之间语义事实上或逻辑上的关系。而句法的结构往往随着字面词语的变化而不同,相反语义则能够跨越句子表层的变化直达语义的本质 [来源]

    与句法依存分析相比,语义依存分析能表达更深刻的语义信息,对于中文这种意合的语言尤为适合 [来源] 在中文界,最有影响力的标注方案是BH-SDP,由北京语言大学和哈尔滨工业大学联合制定 [来源]

    区别于依存句法分析的树形结构,语义分析结果为一个有向无环图,称为语义依存图(Semantic Dependency Graph)[来源]

    ① 同一说法的不同表述

    虽然三个句子拥有不同的句子结构, 产生了不同的句法分析结果, 但是三个句子中语言单元之间的语义关系并没有发生变化, 从"吃"这个词来看, 它的主体, 客体...都没有发生变化 

对于表达同一意思的不同结构的句子来说,其依存句法分析的结果是不一样的,但是其语义依存分析的结果是一样的 [链接]

    ② 非实词在句子结构分析中的作用

    第一,句法依存某种程度上更重视非实词(如介词)在句子结构分析中的作用,而语义依存更倾向在具有直接语义关联的实词之间建立直接依存弧,非实词作为辅助标记存在。

    第二,两者依存弧上标记的语义关系完全不同,语义依存关系是由论元关系引申归纳而来,可以用于回答问题,如我在哪里喝汤,我在用什么喝汤。但是句法依存却没有这个能力(或者说句法分析树的结果是间接的,而语义依存图的结果是直接的。

 

# LTP:语义依存分析(依存树)和语义依存分析(依存图)的区别

    传统的基于转移的依存分析算法,其最终得到得是一个依存树,这对依存分析存在一定限制,因此,最近几年提出的基于转移的语义依存图的解析,对依存分析进行了扩展 [链接]

与语义依存树不同,在依存图中,每个词的父节点个数是不确定的。这种不确定性使得用基于图的方法解决该问题变得很困难,因此我们选择了基于转移的方法,通过修改现有转移系统中的转移动作来直接生成语义依存图 [来源]

    在语义依存树基础上做了突破,使得对连动、兼语、概念转位等汉语中常见的现象的分析更全面深入 [链接]

    在原来的语义依存树中,受限于树结构,只能刻画出“有”与“儿子”之间的属事(Belg)关系。而在语义依存图中,除了该关系之外,还刻画出了“儿子”与“上”之间的施事(Agt)关系。语义依存图对语义关系更完整的覆盖,为获取句中实词之间的语义关系提供了更方便的工具。例如在“他有个儿子才上小学。”这句话中,如果要回答“谁在上小学”这个问题,语义依存图能够直接提供答案,而语义依存树则不能。 

    语义依存树与语义依存图的主要区别在于,在依存树中,任何一个成分都不能依存于两个或两个以上的成分,而在依存图中则允许句中成分依存于两个或两个以上的成分。且在依存图中允许依存弧之间存在交叉,而依存树中不允许 [链接] 

    与语义依存树分析相比,语义依存图能更全面、灵活的表示句子中的语义关系 [来源] 

问题:为什么上面描述的和LTP在线演示出来的效果不一致

 

# 嵌套关系

    用来标记一个事件降级充当了另一个事件的成分

如句子“爷爷看见小孙女在操作计算机”,划线部分为一个降级事件充当动词“看见”的“客事”角色dCont  [来源]

 

# 附录

    LTP 使用的是863词性标注集

    语义依存分析的标注方案是BH-SDP

    哈工大 LTP 标注文档介绍

 词性标注集pos/tag依存句法分析标注集dep语义依存分析标注集sdp
LTP863词性标注集BH-DEPBH-SDP
SpaCy基于Google Universal POS Tag set扩展采用了 ClearNLP 的依存分析标签-
DDParser百度构建的标注集DuCTB-
HanLPCTB、PKU、863、UDSD、UDSemEval16、DM、PAS、PSD
stanford corenlpPenn Chinese Treebank Tag Set(CTB)没找到说明采用的标注集 [链接]-
jieba和 ictclas 兼容的标记法不支持不支持

 

# 工具学习系列

  • 哈工大LTP的依存分析
  • 百度DDParser的依存分析
  • HanLP的依存分析
  • Spacy的依存分析

 

# 参考资料

    中文语义依存分析语料库

    哈工大SCIR:语言技术平台(LTP)发布新功能:中文语义依存图分析

    哈工大SCIR:中文语义依存分析—通往中文语义理解的一条蹊径

    哈工大SCIR:基于转移的语义依存图分析 (原理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/47065.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

哈工大2020软件构造Lab3实验报告

本项目于4.21日实验课验收 更新完成 如果有所参考 请点点关注 点点赞GitHub Follow一下谢谢 2020春计算机学院《软件构造》课程Lab3实验报告 Software Construction 2020 SpringLab-3 Reusability and Maintainability oriented Software ConstructionCSDN博客 文章目录 本项目…

哈工大2020软件构造Lab4实验报告

为了鄙视代写抄袭伸手党,删除了一些“容易抄袭”的部分 有问题/询问省略部分——欢迎QQ交流!!!!! 本项目于5.19日实验课完成 (该更新的)更新完成 如果有所参考 请点点关注 点点赞Git…

HIT csapp LAB1报告

实验报告 实 验(一) 目 录 第1章 实验基本信息 1.1 实验目的 1.2 实验环境与工具 1.2.1 硬件环境 1.2.2 软件环境 1.2.3 开发工具 1.3 实验预习 第2章 实验环境建立 2.1 Windows下 hello程序的编辑与运行(5分) …

[HITML]哈工大2020秋机器学习Lab4实验报告

Gtihub仓库 2020年春季学期 计算学部《机器学习》课程 Lab4 实验报告 姓名学号班号电子邮件手机号码 1 实验目的 实现一个PCA模型,能够对给定数据进行降维(即找到其中的主成分) 2 实验要求及实验环境 2.1 实验要求 测试: 首…

[HITML]哈工大2020秋机器学习Lab3实验报告

GitHub仓库 2020年春季学期 计算学部《机器学习》课程 Lab3 实验报告 姓名学号班号电子邮件手机号码 1 实验目的 实现一个k-means算法和混合高斯模型,并且用EM算法估计模型中的参数。 2 实验要求及实验环境 2.1 实验要求 测试:用高斯分布产生k个高…

SwiftUI——提供多种小组件(Widget)供用户选择

有时候app需要提供多种widget供用户选择/使用,那么可以使用以下方法,不过需要注意,每个app最多可以包含5种小组件(Widget): 首先做几个小组件: //省略之前的Provider和SimpleEntey部分 //第一个…

iOS轻量级组件化管理工具,让你轻轻松松添加自己的小组件.

2019独角兽企业重金招聘Python工程师标准>>> TXRouter 轻量级组件化管理工具,让你轻轻松松添加自己的小组件.该工具原理简单、制作轻松、思路清晰等优点. TXRouter优点 比MGJRouter更加简单、使用更加方便原理简单、制作轻松、思路清晰 TXModel缺点 不能高大上定义U…

iOS14 Widget小组件开发实践1——了解Widget

iOS14带来了新的UI组件:WidgetKit,人称小组件(用过安卓的都能理解),这货的前身其实就是iOS10时候引入的Today Extension。 Widget为应用程序提供了这样一种功能:其可以让用户在主屏幕上展示App中用户所关心…

如何用iOS14 Widget小组件自定义玩法

一.了解Widget iOS14带来了新的UI组件:WidgetKit,人称小组件(用过安卓的都能理解),这货的前身其实就是iOS10时候引入的Today Extension。 Widget为应用程序提供了这样一种功能:其可以让用户在主屏幕上展示App中用户所关心的信息。例如一款天气软件,其可以附带一个Widg…

iOS14 Widget开发踩坑(二)修正版-多个小组件

iOS14 Widget开发踩坑(二)修正版-多个小组件 前言添加多个小组件情况1.对于已经写好的一个小组件情况2.对于新建好还没写的小组件 Widgets的限制突破小组件个数限制的方法参考文献 前言 2020年12月3日 经过进一步的学习 发现了文章中还有很多错误&#…

IOS小组件(1):概述

IOS小组件(1):概述 引言小组件是什么?小组件概述小组件开发备注小组件实现原理结语引言 本系列文章作者是安卓开发,以安卓开发的视角学习IOS小组件,记录一下踩坑记录,如有讲得不对的地方,路过大佬多包涵。如果你是想深入学习小组件,建议您顺着笔者的编号顺序阅读本系列…

ios中在app应用内刷新小组件数据

需求: 我们需要在app应用内刷新时间线,让桌面小组件加载最新的内容。即app内修改了共享数据后,需要通知桌面小组件强制刷新,显示改变后的内容。 当某种情况影响到小组件的当前时间线时,您的 App 可以指示 WidgetKit …

android 仿苹果 小组件,仿ios14桌面小部件

仿ios14桌面小部件,这是一款面向广大安卓手机用户推出的高仿iOS14桌面插件软件,大家可以使用这款软件快速完成自己想要的桌面显示,多种插件一键点击轻松完成设置过程,让大家体验到同款iOS14桌面强大的功能,非常有意思的…

iOS14 小组件 开发1

前言:小组件的开发和我们正常情况开发App的逻辑是一样的,正常情况分为:网络请求,数据模型,view,渲染.只不过是小组件的开发使用了 swiftUI 语言来编写,所以要对SwiftUI的空间有所了解. 好!那我们接下来开始我们的小组件开发吧. 首先,创建Widget Extension 然后选择证书,起个名…

Android-为应用添加widget小组件

最近在实现为应用程序添加小组件的功能,记录一下开发过程。 1.添加一个小组件模板 设置组件类名称,其他属性按需求设置,这些属性在生成的文件中也可修改 ​​​​​​ 工程main目录下会生成类文件,res目录下生成资源文件&#x…

iOS 15 新增多个实用小组件

iOS 14 上线加入的桌面小组件功能非常受欢迎,因此苹果iOS 15新系统对小组件功能进行深度优化,并加入了多个实用又有趣的小组件。用户可以简单通过上下滑动来选择、重新排列、智能堆栈小组件,也可以对它们进行删除、智能旋转,还可以…

Widget小组件

目录 技能点 Widget背调 a. 设计定位 b. Widget小组件限制 c. Widget小组件 开发须知 d. 什么是 SwiftUI App Group 数据共享 a. 配置 App Groups 1、开发者账号配置,并更新pp证书 2、Xcode配置 b. 缓存数据共享-代码实现 1、文件存储 2. 沙盒存储&…

iOS_小组件widget基本功能

创建 在当前工程里新建target 选择Today Extension 独立应用 widget虽做为应用的扩展, 但却是两个完全独立的应用 widget上线需要单独申请 AppID 和 Bundle Identifier , 需要配置 证书 和 Provisioning Profiles(配置文件) 第三方pod导入, 也的重新导入一份 target MMWidg…

iOS 14-Widget小组件2—实现

Widget 实现 认识与配置实现效果图支持显示方式交互数据共享刷新策略网络加载屏幕适配支持多个小部件布局例子源码其他问题参考认识与配置 上一篇文章已经做了比较详细的介绍与创建配置iOS 14-Widget小组件1—初识 实现效果图 支持显示方式 @main 入口添加.supportedFamilie…

自定义开发苹果手机显示汽车小组件

实时获取汽车数据信息实时获取汽车定位信息(点击地址进入高德)显示当前位置的天气情况可定制显示当前城市是否限行可定制当前城市油价信息实时刷新最新数据 感兴趣的可以私聊加群