论文解读丨Zero-Shot场景下的信息结构化提取

摘要:在信息结构化提取领域,前人一般需要基于人工标注的模板来完成信息结构化提取。论文提出一种zero-shot的基于图卷积网络的解决方案,可以解决训练集和测试集来自不同垂直领域的问题。

本文分享自华为云社区《论文解读系列十六:Zero-Shot场景下的信息结构化提取》,作者:一笑倾城。

论文解读丨Zero-Shot场景下的信息结构化提取

摘要

在信息结构化提取领域,前人一般需要基于人工标注的模板来完成信息结构化提取。论文提出一种zero-shot的基于图卷积网络的解决方案,可以解决训练集和测试集来自不同垂直领域的问题。

论文解读丨Zero-Shot场景下的信息结构化提取

Figure 1. 训练和推理数据来源的垂直领域不一样。

问题定义

论文解读丨Zero-Shot场景下的信息结构化提取

Figure 2. OpenIE和ClosedIE的直观理解。

Relatin Extraction

  • Close Relation Extraction (ClasedIE)
    RR表示类别集合,包含无类别,模型直接为每个实体分配类别即可。
  • Open Relation Extraction(OpenIE)
    RR表示类别集合,模型作两类分类,判断一个实体是否是另一个实体的key。

Zero-Shot Extraction

Zero-Shot按难度分可以区分如下:

  • Unseen-Website Zero-shot Extraction
    即同一垂直领域的不同版式,比如,都是来自电影的网页。只是推理测试的时候使用的网页排版与训练不一样。
  • Unseen-Websiste Zero-shot Extraction
    即不同垂直领域的不同版式,比如,训练是来自电影的网页,而推理测试的时候使用的可能是招聘类网站的网页。

论文提出的解决方案其实是发掘出图网络中全部的key-value对,由于发掘key-value这个任务本身是版式不依赖的,从而起到了跨领域的版式结构解析。

概念

  • relation: 指key
  • object:指value
  • relationship: 指key -> value

编码器(特征构建)

节点信息的构建由图GG来完成,包括一系列的节点NN(实体),和节点之间的边E(Edges)。

基于设计的规则来构建实体之间的关系

以下情况下,会构建节点之间的边(key-value对经常是上下关系或左右关系):

  • 水平情况:水平邻居,而且中间没有其它节点;
  • 垂直情况:垂直邻居,而且中间没有其它节点;
  • 同级情况:同级节点;

使用图网络来实体之间的关系进进建模

基于Graph Attention Network (GAT)来对节点关系进行建模,节点初始(输入)特征:

  • 视觉特征:网页中对节点的视觉类描述;
  • 文本特征:OpenIE是对预训练Bert进行特征平均,CloseIE则是统计该节点字符串出现的频率(似乎对跨领域更友好);

预训练机制

论文设计了辅助的损失函数L_{pre}Lpre​进行三类分类的监督:{key, value, other}。同时为了防止训练过程过拟合,预训练完成后,OpenIE任务中的图网络权重不会更新。

关系预测网络

OpenIE

判断一对节点是否满足第一个节点字符串内容是第二个节点字符串内容的key:

  • 使用the candidate pair identification algorithm来获取潜在的字符串对;
  • 两个节点的原始输入特征+GNN输出特征+两个节点的关系特征作为分类器输入;
  • 全连接网络进行分类;

ClosedIE

交叉熵多类分类

实验

  • 确实是跨领域任务更加困难。

论文解读丨Zero-Shot场景下的信息结构化提取

  • CloseIE:确实是网址越多,效果越好。

论文解读丨Zero-Shot场景下的信息结构化提取

  • 确认各个因素对网络模型效果的影响。

论文解读丨Zero-Shot场景下的信息结构化提取

 

点击关注,第一时间了解华为云新鲜技术~

上一篇:protoc-gen-go: unable to determine Go import path for "person.proto"


下一篇:[jnhs]hibernate只能创建一张/表不创建表com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'kaihu.t_client_info' doesn't exist和org.hibernate.exception.SQLGrammarException: could not execute statement