本文来自于一次交流的的记录,{}内的为个人体会。

基本概念

  • 实事知识:实体-关系-实体的三元组。比如,
  • 知识图谱:大量实时知识组织在一起,可以构建成知识图谱。
  • 关系抽取:由于文本中蕴含大量事实知识,需要从非结构化文本中自动地抽取出事实知识
  • 完整的关系抽取抽取系统包括以下,其中,关系分类最核心
    • 命名实体识别 (Named Entity Recongnition, NER)
    • 实体链接 (Entity Linking)
    • 关系分类 (Relation Classification)

关系抽取的任务难点

  • 如何处理句子的结构信息

    • 在复杂句,长难句的实体关系如何
  • 如何更好的利用实体信息
    • 实体的位置信息
    • 实体的类型信息
  • 如何更好地建立关系语义
    • 对于隐晦的表达,如何抽取出真实关系

如何处理结构信息处理

  • 引入dependecy parsing 信息, 将pasing信息建模成feature 2004
  • 基于最短依存路径的 (Xu Yan, et al. Classifying relations via long short tem memory netwworks along shortest dependency paths EMNLP 2015) 简化实体关系,抽取核心的关系
  • 使用GCN建模依存关系:使用图网络,在最短依存路径基础上,对关系的关注更高效,更全面: Zhang Yuhao, et al. Graph convolution over pruned dependency tress imporoves relation extraction. arXiv:1809.10185(2018)

如何更好地利用实体信息

位置信息

  • position embendding: Zeng,Daojan, et al. Relation classfication via convolutional deep neural network.2014
  • 进一步利用positional embendding指导attention: Zhang et al. Position-aware Attention and Supervised Data ...
  • BERT 等与训练模型,在fintue时引入位置信息:Soares et al. Matching the Blanks: Distributional Similarity for Relation Learning. 2019

类型信息

  • 在feature-based方法中,将类型作为feature:在与训练模型出现以前,SOTA关系 抽取模型(LSTM-ATT, GCN, AGGCN)在预处理时直接将实体替换成实体类型。 {相当于简化实体的复杂度}这类方法的鲁棒性不行,在实体名字改变之后,往往效果下降的很厉害。
  • 预训练模型可以更好地建模实体信息
  • 实体信息和上下文信息都很重要。实体的类型信息在关系抽取时的表现比实体本身更好{换句话说,过于关注实体信息本身,而减弱对类型、上下文信息的关注,会降低关系抽取效果}。:Peng, Hao, et al. Learning from context ofr names? an empirical study on neural realation extraction. EMNLP2020 —— 本文采用随机Mask实体,减少模型对实体信息的依赖。

如何更好地建立关系语义

已有大量的基于CNN ,RNN, transformers的工作

预训练语言模型建模关系语义的问题

  • 预训练表示中包含复杂的语义,并非针对关系抽取设计
  • 关系类别是人工定义的,很难隐式地学习

    当前,大量的工作已经投入在了预训练模型上

    面向关系表示的预训练 Soares, Livio Baldini, et al. Mathcing the blanks:Distributional Similarity for Relation Learning. 2019

    同时,传统关系抽取任务已经的sota已经92%了。

传统关系抽取的局限性和当前关系抽取的方向

  • 封闭世界假设 : 远程监督关系抽取,开放域关系抽取
  • 大数据假设:少样本关系抽取
  • 单句关系假设:文档级关系抽取

远程监督关系抽取

动机:

  1. 大规模人工标注很贵
  2. 通过远程监督(distant supervision) 得到大量标注数据

包级别的关系抽取

远程监督的标注存在大量噪音,因此解决远程监督监督的核心问题是如何降噪

于是假设:包含一堆实体的多个句子中,至少有一句表达该实体的关系,因此可以使用 multi-instance learning,即使用包级别的算法抽取关系

基于Multi-instance learning的降噪方法:

  • soft denoise methods

    • PCNN+ATT Lin, Yankai, et al. Neural relation extraction with selective attention over instances. ACL2015
  • hard denoise methods

    RL-based noise selection: Qin, Pengda. Robust distant supervision relation extraction via deep ...

    该方案问题: 由于使用包级别的关系抽取,无法获得句子级别的标签预测

句子级别的关系抽取

如何使用员监督数据实现句子级别关系抽取的挑战的核心问题是如何降噪:负例学习(Negative Trainning)

SENT:Sentence-level Distant Realation Extraction via Negative Training. ACL 2021

开放域关系抽取 (Open RE)

Openset(开集)

开放域关系抽取:不对关系类型做约束,旨在从开放域的无监督文本中自动发现新的关系

基于聚类的开放域关系发现:Wu Ruidong, et al. Open relation extraction : Relational knowledge transfer from supervised data to unsupervised data. EMNLP2019

  • 使用Relation Siamese Network判断两个句子是否表达同一种关系
  • 用作聚类算中的距离度量

少样本(Few-shot) 关系抽取

通过领域外经验和少量目标高效学习

  • 基于原型网络的少样本关系抽取:

    Snell Prototypical networks for few-shot learning. Advances in neural information processing system 30(2017)

    Large Margin Prototypical Network for Few-shot Relation Classification with Fine-grained Features. CIKM 2019
  • Prompt-tuning:在低资源场景下如何更好地利用预训练网络,通过贴近预训练形式,能够减少预训练模型和下游人物的gap,通常更多地复用预训练模型的参数,这样对样本的数量依赖更小。
    • 将下游任务重构为何预训练任务相似的形式

      Han, Xu et al. Ptr: Prompt tuning with rules for text classification. arXiv:2105.11259 2021

文档级关系抽取

传统关系抽取的假设:实体关系的表达局限在一个单句中,而实际情况下,很多信息也存在在更大的范围外,级文档级关系抽取

文档级关系抽取的挑战:

  • 文档中存在大量的实体和关系

典型做法:

  • 基于层级网络的文档级关系抽取,通过不同层级的网络实现token level-> sentence level -> document level的层次化特征抽取. Tang, et al. Hin: Hierarchical inference network for document-level relation extraction
  • 基于图神经网络的文档级抽取,通过两层mention-实体图构建更好的表示. Double Graph Based Reasoning for Document-level Relation Extraction. EMNLP2020

个人体会

尽管是NLP 关系抽取的调研,但其实和图像模式识别的很多问题的是相似的。

比如,噪声问题、少样本问题,这些也都指向机器学习更普遍的问题,即样本与标签越来越成为模型瓶颈,也越来越受到研究者的关注。

一次关于关系抽取(RE)综述调研的交流心得的更多相关文章

  1. 学习笔记CB003:分块、标记、关系抽取、文法特征结构

    分块,根据句子的词和词性,按照规则组织合分块,分块代表实体.常见实体,组织.人员.地点.日期.时间.名词短语分块(NP-chunking),通过词性标记.规则识别,通过机器学习方法识别.介词短语(PP ...

  2. NLP(二十一)人物关系抽取的一次实战

      去年,笔者写过一篇文章利用关系抽取构建知识图谱的一次尝试,试图用现在的深度学习办法去做开放领域的关系抽取,但是遗憾的是,目前在开放领域的关系抽取,还没有成熟的解决方案和模型.当时的文章仅作为笔者的 ...

  3. 【关系抽取-R-BERT】定义训练和验证循环

    [关系抽取-R-BERT]加载数据集 [关系抽取-R-BERT]模型结构 [关系抽取-R-BERT]定义训练和验证循环 相关代码 import logging import os import num ...

  4. 人工智能论文解读精选 | PRGC:一种新的联合关系抽取模型

    NLP论文解读 原创•作者 | 小欣   论文标题:PRGC: Potential Relation and Global Correspondence Based Joint Relational ...

  5. 【关系抽取-R-BERT】加载数据集

    认识数据集 Component-Whole(e2,e1) The system as described above has its greatest application in an arraye ...

  6. 【关系抽取-R-BERT】模型结构

    模型的整体结构 相关代码 import torch import torch.nn as nn from transformers import BertModel, BertPreTrainedMo ...

  7. 关系抽取--Relation Extraction: Perspective from Convolutional Neural Networks

    一种使用CNN来提取特征的模型,通过CNN的filter的大小来获得不同的n-gram的信息,模型的结构如下所示: 输入 输入使用word2vec的50维词向量,加上 position embeddi ...

  8. 中文电子病历命名实体识别(CNER)研究进展

    中文电子病历命名实体识别(CNER)研究进展 中文电子病历命名实体识别(Chinese Clinical Named Entity Recognition, Chinese-CNER)任务目标是从给定 ...

  9. 【调研与分析】标杆学习、知识管理和竞争情报的关系——From Team

    注: 1)红色实线箭头表示可以直接使用:例如竞争情报业务输出产品之一的标杆文档可以直接作为公司标杆学习中外部标杆的资料: 2)蓝色虚线箭头表示转化后使用或者间接利用的关系:例如专题调研可以帮助建立内部 ...

随机推荐

  1. Java课程设计---创建数据库工具类

    1.传统的数据库操作 package com.java.mysql; import java.sql.Connection; import java.sql.DriverManager; import ...

  2. Mysql基础学习第二天

    Mysql基础学习第二天 函数 函数:是指一段可以直接被另一段程序调用的程序或代码. 字符串函数 数值函数 日期函数 流程函数 字符串函数 MySQL内置很多字符串函数,常用的几个如下: 函数 功能 ...

  3. Activity通过bundle传递数据

    从AActivity.java向BActivity.java传递数据: 建立AActivity.java文件建立bundle: 1 public class AActivity extends App ...

  4. Chapter04 运算符(Operator)

    Chapter04 运算符 目录 Chapter04 运算符 4.1 算数运算符 4.2 关系运算符 4.3 逻辑运算符 4.4 赋值运算符 4.5 三元运算符 4.6 运算符的优先级 4.7 标识符 ...

  5. 07-Spring整合Mybatis

    Spring之整合Mybatis 整合核心思路 由很多框架都需要和Spring进行整合,而整合的核心思想就是把其他框架所产生的对象放到Spring容器中,让其成为Bean. 比如Mybatis,Myb ...

  6. zookeeper的JAVA API使用

    1.创建连接 2.创建节点 3.监听信息 Watcher.class 4.获取节点 Stat stat = new Stat(); zk.getData(Path,true,stat); 5.修改节点 ...

  7. 清华大学ucore操作系统课笔记

    操作系统 清华大学ucore操作系统课笔记 全文思维导图 1. 操作系统概述 1.1 什么是操作系统? 操作系统的定义 没有公认的精确定义 一个控制程序 一个系统软件 控制程序执行过程,防止错误和计算 ...

  8. 简单实现一个快速传输电子书到kindle的小项目

    前言 最近翻出来好久没有看的kindle,准备继续我的阅读之路.当然,也是因为发现了一个非常好的获取电子书资源的网站,又燃起了我的阅读兴趣. 然而,往kindle里传输电子书的方式一共有四种: 直接在 ...

  9. tp 5 三级联动查询(自写)

    思路: 1.定义路由 2.查询顶级分类(pid=0)发送至制图 3.循环展示 4.给顶级分类下拉框绑定内容改变事件(JS:onchange.JQ:change) 5.获取到选中的option的valu ...

  10. 【ASP.NET Core】MVC 控制器的模型绑定(宏观篇)

    欢迎来到老周的水文演播中心. 咱们都知道,MVC的控制器也可以用来实现 Web API 的(它们原本就是一个玩意儿),区别嘛也就是一个有 View 而另一个没有 View.于是,在依赖注入的服务容器中 ...