美文网首页
CoType: Joint Extraction of Type

CoType: Joint Extraction of Type

作者: 碎碎要学习 | 来源:发表于2018-12-14 20:53 被阅读0次

    Cotype

    Cotype是发表在2017年WWW上的关于实体和关系联合抽取的文章。这篇论文要解决的任务是解决实体和关系的抽取,传统的方法会将这两个任务独立处理,就是先进行实体识别,然后进行关系提取。而这样的处理方法会导致误差传播,所以就开始有很多学者开始研究将这两个任务联合处理。这篇论文也是出于这样的考虑决定进行联合抽取,同时结合远程监督的思想。

    接下来就是进行一个简单的问题描述:给出已经进行词性标注的文本集,以及相应的目标实体类型和关系类型,以及一个已知的知识库,然后从中进行实体和关系的识别。而在之前使用远程监督的方法中,一般都是将这两个任务独立进行,这样就导致了下面的几个问题:

    • 第一是会有领域依赖。因为命名实体指代的切分依赖于预训练的命名实体识别器。
    • 第二就是刚刚提到的存在误差传播,并且现有的方法大都无视了这两个任务之间存在的交叉依赖。
    • 第三就是远程监督带来的错误标签的问题。

    在这篇论文中,作者就分别针对这三个问题提出了相应的解决方案:

    • 首先是设计了一个与领域无关的文本切分算法来解决领域依赖
    • 然后对关系类型和相应的实体类型之间相互的约束进行建模,捕获这两个任务之间的交叉信息。
    • 对这些关系标签进行建模,得到最符合的标签,从而缓解错误标签的问题。

    最终提出了Cotype这个框架。

    Cotype这个框架主要流程如下:

    首先从文本中获取候选实体指代,然后根据这些候选的实体指代生成候选关系指代,接着将关系指代和实体指代分别与文本特征、类型等嵌入到两个向量空间里面去,最后得到实体和关系的类别。

    候选集的生成

    • 首先看候选集的生成,候选集生成主要分三部分:候选实体集的生成,候选关系集的生成,文本特征的生成。主要说一下候选实体集的生成,因为这一步就是本篇论文的亮点之一,一个与领域无关的文本切分算法。这个算法主要是参考论文Mining Quality Phrases from Massive Text Corpora,具体工作流程如下:
    1. 挖掘词序列和词性序列的频繁出现的一个模式。
    2. 提取特征,包括预料级别的一致性和句子级别的词性特征,将这些特征用来训练两个随机森林分类器,用来评估候选的短语和候选的词性模板的质量。
    3. 利用下面的切片评估函数,找到切片质量函数得分最高的片段。
    4. 利用已经切分好的文本计算修正的特征,重复2-4步,直到收敛。

    这个函数可以大概看一下,等号右边第一项是切片长度的先验概率,第二项为由b(t-1) - b(t) 长度生成的切片c为明明实体的可能性,第三项就是质量函数,在这篇论文中,质量函数为短语质量得分和pos质量得分的平均(这个是从第二步获取的)。

    • 关系候选集Z的生成。对于在同一句话的两个实体,构建两个关系(m1, m2, s) 和(m2, m1, s),然后使用使用远程监督的方法,从候选集Z中生成ZL,接着从由ML中的实体指代中生成的,但无法连接到知识库的关系指代中抽取30%来作为负例(标记为None关系),然后从没有连接到知识库的实体中抽取30%来标记None实体。

    • 文本特征的抽取

    文本抽取就是抽取文本中实体的文本特征,实体与实体的文本特征,例如说词性特征,中间词,实体距离。具体下图所示。

    联合Embedding

    这一部分体现了联合抽取中联合的部分,这篇论文提出的联合抽取的方法与其他一些联合抽取的论文不一样(例如Joint Extraction of Entities and Relations Based on a novel Tagging Scheme),这篇论文虽然也是联合抽取,但在整个过程存在不存在关系的实体,从实体识别方面来看的话,这个子任务不受关系抽取任务的影响。在这个进行联合Embedding的环节,主要包括了三个部分的工作:

    • 对关系类别的建模
    • 对实体类别的建模
    • 对关系-类别相互之间的信息进行建模

    关系类别的建模

    为了更好的对文本级别的关系指代的特征进行建模,这篇文章提出了两个假设:

    假设一:如果一个关系中拥有的两个实体指代之间共享很多相似的文本特征,那么它们更可能具有相似的类别,在向量空间中也更加接近。
    
    f2.png

    就像上图中第二列所示,S1_Barack Obama 和 S3_Barack Obama这两个实体指代,共享了相同的实体类别和以及文本特征中共同存在特征“HEAD_Obama” 和 “BETWEEN_president”,因此相应的两个关系指代(Barack Obama, US, S1)和(Barack Obama, United State, S3)很可能是同一个关系“president _of”

    f4.png

    用公式来表示假设一就用下面这个公式:
    \mathcal{L}_{ZF} = -\sum_{z_{i} \epsilon \mathcal{Z}_{L}} \sum_{f_{i} \epsilon \mathcal{F}_{z}} w_{ij}\cdot logp(f_{i}|z{i})
    假设一主要基于局部一致性假设,就是两个对象越紧密相连那么他们就越相似。然后这篇论文提出了另外一个分布式假设,即共享相似邻居的对象更加相似,但本文中,一个关系mention可能对应多个可能的关系类型候选,那么一些关系类型的链接可能是错误的,采用上述的两种假设,可能会产生不同关系类型的mention具有相似的低维向量表示。因此,这篇论文把关系指代和它候选的标签的连接是否为真加入到两个对象关联的一部分。为了这一想法,我们建模每一个关系指代和它的噪声候选标签,提出假设二

    假设二:一个关系指代的嵌入向量应该更加接近他最可能的关系类型。
    

    根据这一假设,我们假定r为一个d维向量,代表关系类别在低维空间的表示,那么z和r的相似程度通过点积的方式呈现,我们拓展最大边界损失用来对每一个relation mention定义一个类别损失:
    \mathscr{l}_{i}=max\{ 0, 1 - max_{r\epsilon \mathcal{R}_{i}}\phi(z_i, r) + max_{\acute{r}\epsilon\mathcal{R}_i}\phi(z_i, \acute{r})\}
    通过最小化这个损失来达到最优。

    然后对上面两个假设进行集成,得到目标函数如下:
    O_{Z} = \mathcal{L}_{ZF} + \sum_{i=1}^{\acute{N}_{L}}\acute{l}_i + \frac{\lambda}{2}\sum_{i=1}^{\acute{N}_{L}}||z_i||_2^2 + \frac{\lambda}{2}\sum_{k=1}^{K_{r}}||r_k||_2^2
    将文本特征加进来以后,会对关系类型的建模有很多的帮助,如下图左侧所示,由于使用了文本特征"CONTEXT_president",关系(Barack Obama, United States, S3)离president_of更近,而不是其他的关系,例如born_of, travel_to等

    f4.png

    对实体类别的建模

    对实体类别的建模与对关系类别的建模过程差不多,基于相同的假设,得到的目标函数如下:
    O_{M} = \mathcal{L}_{MF} + \sum_{i=1}^{\acute{N}_{L}}\acute{l}_i + \frac{\lambda}{2}\sum_{i=1}^{\acute{N}_{L}}||m_i||_2^2 + \frac{\lambda}{2}\sum_{k=1}^{K_{y}}||y_k||_2^2

    对关系实体交互的建模

    关系和实体之间存在多种交互关系,其中最为主要的一种是相互依赖的关系,即两个entity mention的类别对relation mention的类别有一定的提示作用。因此本篇论文参考transE的思想提出假设三:

    假设三:对于一个关系mention z={m1,m2,s},m1的嵌入向量应该近似于m2的嵌入向量加上z的词嵌入向量。
    

    就如图4右侧所示,当我们知道S4_US的类别为location类别的时候,(Obama, US, S4)的关系在关系的向量空间中应该更接近travel_to而不是president_of。

    基于这个假设,得到目标函数如下:
    O_{ZM}=\sum_{z_i\epsilon\mathcal{Z}_L}\sum_{v=1}^V max\{0,1+\tau(z_i)-\tau(z_v)\}
    其中,
    \tau(z) = ||m_1 + z - m_2||_2^2

    联合建模模型

    将上述三个目标函数相加,使他们最小。
    min_{\{z_i\},\{c_j\},\{r_k\},\{m_i\},\{\acute{c}_j\},\{y_k\}} O = O_M + O_Z + O_{ZM}

    模型学习和类型推断

    在进行推断的过程中,对于关系类别,采用最近邻的方式查找,对于实体的类别,采用自顶向下的方式查找。在查找的过程中,利用特征来表示mention,计算mention的嵌入向量同实体类别和关系类别的相似度

    f2-3.png

    具体算法如下图:

    a1.png

    实验

    数据集

    实验主要是在三个数据集上进行:

    • 1987-2007年的纽约时报的资料NYT
    • 从wikipedia文章中抽取的句子数据集Wiki-KBP
    • 医学文献的数据集BioInfer

    预处理

    使用刚刚说的生成训练集的方式生成候选的实体集和关系集,使用Freebase进行远程监督的处理,相应的关系实体类型也是从Freebase中获取,同时会丢弃那些在Freebase中没有的实体关系类型,以及使用Stanford的CoreNLP包进行文本特征的提取。

    个人思考

    这篇论文所用到与领域无关的分词算法的确是一个不错的点,可以缓解目前的领域依赖问题。但实验设计部分个人认为不太合适,毕竟整个算法同时输出实体类型的embedding和关系类型的embedding,这两个产物互相影响,所以在实验部分,拿这个算法和其他单独进行NER任务的模型进行比较似乎有失偏颇,因此实验部分不多做叙述。

    相应链接

    1. 论文代码

    2. CoType:Joint Extraction of Typed Entities and Relations

    3. Mining Quality Phrases from Massive Text Corpora

    4. Translating Embeddings for Modeling

    相关文章

      网友评论

          本文标题:CoType: Joint Extraction of Type

          本文链接:https://www.haomeiwen.com/subject/fadnhqtx.html