指代消解原理

2024-05-01 02:44
文章标签 原理 指代 消解

本文主要是介绍指代消解原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

指代,在下文采用简称或者代称来代替上文已经出现的某一词语,语言学中把这种现象叫做指代现象。

指代,是语言学中的一种语言现象,使用指代词来代替文本中已经出现的某个语言单元的表达方式。将代表同一实体的不同表述划分到一个等价集合的过程称为指代消解。指代消解在信息抽取、智能问答等任务中,具有十分重要的作用。

人称代词:【李明】怕高妈妈一人呆在家里寂寞,【他】便将家里的电视搬了过来。
指示代词:【很多人都想创造一个美好的世界留给孩子】,【这】可以理解,但不完全正确
有定描述:【贸易制裁】似乎成了【美国政府在对华关系中惯用的大棒】。然而,这【大棒】果真如美国政府所希望的那样灵验吗?

指代消解:形式上,将代表同一实体的不同指称划分到一个等价集合(指代链)的过程称为指代消解。

概念

照应语Anaphor,指代上文语言单元的词语;

先行语Antencedent,指代词所指向的语言单元。

实体,Entity,客观存在的一个或一类物体。

指称,Mention,指代某个实体的表述。

实体可以使用名字来表示,也可以使用名词、代词、短语来表示,代表同一实体的 不同表达方式都称为指称。

指代分两种:

1)回指:照应语和先行语之间存在语义关联,指代关系依赖上下文,不同语境下照应语指代不同实体。

2)共指,两个指称语表示现实世界的同一实体,指代关系独立于上下文客观存在。

中文指代类别:

1)代词指代,你我他、这个、那个等

2)名词短语指代

场景

  • 全文理解:完整的文章中有大量的指代,要理解文章内容需要知道每一个代词指向的是哪一个实体。
  • 文本摘要:使用代词会使行文更加自然,而不是全文均为实体自身名称。
  • 问答系统:比如搜索“谁娶了Claudia Ross”,出来“He married Claudia Ross in 1971”,则系统必须消解“He”是谁。
  • 信息抽取:当关系抽取或者事件抽取时,缺乏关键实体或论元时,关系或事件无法成立,特别在一些公文或法律文书中,类似“原告”、“被告”并不是常规的实体,因此需要将指向对应的实体上。

发展

(1)基于启发式规则

        Hobbs算法:基于句法解析树,对实体短语和先行语之间的关系进行指代判别。RAP算法:依靠句法分析特征和动态关注状态解决第三人称代词和反身代词的指代消解问题。基于规则的指代消解方案,大多利用句法分析和语义角色信息,通过指定严密的规则约束来达到匹配指代词和先行语的目的。

(2)基于统计模型

    基于统计的方阿飞中,先行语和指代词之间的共现频率为重要的考虑指标,同时融合二者之间的词汇、语法、句法、语义一致性等特征进行指代关系判断。

(3)基于机器学习分类模型

        1)指称对模型

        将指代消解任务转化为判断先行与与指代词之间是否匹配的分类任务。

        2)实体-指称模型

        同一指代链中各指代语指向概念相同的同一实体,实体-指称模型不再是判断两个实体是否是指代关系,而是判断当前实体是否能够并入指代链当中的过程。

        3)排序模型

        指代词选择多个候选先行语中概率最高的一个,建立指代关系。

        基于中心理论构建tournament模型,对两个候选先行语进行比较,选择二者概率较大的建立指代关系。另外还有有监督的最大熵排序指代消解算法。排序算法能够为当前实体找到候选指代链中的选择最优,但是该模型不能解决当前实体是否是指代词的问题。

        

基于深度学习模型

        Clark基于高维度指代链特征,学习clstering-paire特征,学习合并不同的指代链,并形成最终的指代决策。

        Lee等人提出端到端的深度学习指代消解模型,zhang等人采用双仿射注意力机制,在端到端指代消解模型当中对指称识别和指代关系构建两个子任务进行联合。

        Aralikatte将指代消解任务转化为阅读理解任务,2020年Wu等人将阅读理解任务融入到端到端的指代消解模型。

这篇关于指代消解原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/950544

相关文章

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

JAVA封装多线程实现的方式及原理

《JAVA封装多线程实现的方式及原理》:本文主要介绍Java中封装多线程的原理和常见方式,通过封装可以简化多线程的使用,提高安全性,并增强代码的可维护性和可扩展性,需要的朋友可以参考下... 目录前言一、封装的目标二、常见的封装方式及原理总结前言在 Java 中,封装多线程的原理主要围绕着将多线程相关的操

kotlin中的模块化结构组件及工作原理

《kotlin中的模块化结构组件及工作原理》本文介绍了Kotlin中模块化结构组件,包括ViewModel、LiveData、Room和Navigation的工作原理和基础使用,本文通过实例代码给大家... 目录ViewModel 工作原理LiveData 工作原理Room 工作原理Navigation 工

Java的volatile和sychronized底层实现原理解析

《Java的volatile和sychronized底层实现原理解析》文章详细介绍了Java中的synchronized和volatile关键字的底层实现原理,包括字节码层面、JVM层面的实现细节,以... 目录1. 概览2. Synchronized2.1 字节码层面2.2 JVM层面2.2.1 ente

MySQL的隐式锁(Implicit Lock)原理实现

《MySQL的隐式锁(ImplicitLock)原理实现》MySQL的InnoDB存储引擎中隐式锁是一种自动管理的锁,用于保证事务在行级别操作时的数据一致性和安全性,本文主要介绍了MySQL的隐式锁... 目录1. 背景:什么是隐式锁?2. 隐式锁的工作原理3. 隐式锁的类型4. 隐式锁的实现与源代码分析4

MySQL中Next-Key Lock底层原理实现

《MySQL中Next-KeyLock底层原理实现》Next-KeyLock是MySQLInnoDB存储引擎中的一种锁机制,结合记录锁和间隙锁,用于高效并发控制并避免幻读,本文主要介绍了MySQL中... 目录一、Next-Key Lock 的定义与作用二、底层原理三、源代码解析四、总结Next-Key L

Spring Cloud Hystrix原理与注意事项小结

《SpringCloudHystrix原理与注意事项小结》本文介绍了Hystrix的基本概念、工作原理以及其在实际开发中的应用方式,通过对Hystrix的深入学习,开发者可以在分布式系统中实现精细... 目录一、Spring Cloud Hystrix概述和设计目标(一)Spring Cloud Hystr

MySQL中的MVCC底层原理解读

《MySQL中的MVCC底层原理解读》本文详细介绍了MySQL中的多版本并发控制(MVCC)机制,包括版本链、ReadView以及在不同事务隔离级别下MVCC的工作原理,通过一个具体的示例演示了在可重... 目录简介ReadView版本链演示过程总结简介MVCC(Multi-Version Concurr

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制