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

基本概念

  • 实事知识:实体-关系-实体的三元组。比如,
  • 知识图谱:大量实时知识组织在一起,可以构建成知识图谱。
  • 关系抽取:由于文本中蕴含大量事实知识,需要从非结构化文本中自动地抽取出事实知识
  • 完整的关系抽取抽取系统包括以下,其中,关系分类最核心
    • 命名实体识别 (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. visual studio 快捷键重置及设置

    https://blog.csdn.net/glw0223/article/details/93195009

  2. js数组用法

    去面试的时候问到我一个问题,你能说出来多少种数组的方法跟用法,我当时只说出来十一个,回来以后才想起来还有很多种,现在整理一下,没有排名,想起那个写那个 1:forEach 从头遍历数组,没有返回值,有 ...

  3. 矩池云上编译安装dlib库

    方法一(简单) 矩池云上的k80因为内存问题,请用其他版本的GPU去进行编译,保存环境后再在k80上用. 准备工作 下载dlib的源文件 进入python的官网,点击PyPi选项,搜索dilb,再点击 ...

  4. php使用cvs导出百万条数据,大量数据

    MySQL CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(45) NOT NULL DEFAUL ...

  5. PHP 开发者如何做好密码保护 & Laravel 底层密码存储和验证实现

    随着在线攻击的增多,密码安全越来越重要.作为开发者我们要担负起安全管理.计算哈希和存储用户密码的责任,不管应用是简单的游戏还是绝密商业文件的仓库,都要做到这一点.PHP内置了一些工具,让保护密码变得更 ...

  6. 网易互娱23届实习笔试_3x3锯齿数独

    一.输入: 输入一个3x3数独,字符'.'代表空输入三个宫的域,每个宫包括三个位置,[0,0]表示0行0列 二.输出要求: 1.每个宫里最终123各出现一次, 2.数独中的行列里不出现重复字符: 输出 ...

  7. 2.6 C++STL queue详解

    文章目录 2.6.1 引入 2.6.2 代码示例 2.6.3 代码运行结果 总结 2.6.1 引入 首先,在STL中 queue 和 stack 其实并不叫容器(container),而是叫适配器(a ...

  8. ArcMap操作随记(1)

    1.用python代码,将属性表中属性进行合并 代码:'ID'+str(!FID!) 2.地类编码与地类的转换 以python为例 显示代码块(预逻辑脚本代码): def getType(value) ...

  9. Ansible 使用配置

    1.配置 /etc/ansible/hosts 文件,添加被管控主机ip #vim /etc/ansible/hosts   文件末尾添加组[group1]和被管控主机的IP [group1] 192 ...

  10. Linux不常用参数(持续更新)

    一.系统级别 1.1 > 使其他机器无法ping通你的主机 echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all---------------- ...