当前位置:   article > 正文

信息抽取(五)实体命名识别之嵌套实体识别哪家强,我做了一个简单的对比实验_crf通常假设实体之间不存在嵌套。

crf通常假设实体之间不存在嵌套。


嵌套实体识别

  1. 嵌套实体识别是实体命名识别中一个子问题,何为嵌套实体即“北京天安门”中“北京”是地点实体,“北京天安门”同样也是地点实体,两者存在嵌套关系。使用CRF等传统标注方法无法对嵌套实体进行区分,因此存在一定的局限性。
  2. 目前流行构建实体矩阵,即用一个矩阵 W t s e ( t y p e , l e n , l e n ) W_{tse}(type,len,len) Wtse(type,len,len)来代表语料中的所有实体及其类型,其中任一元素 N t , e , s N_{t,e,s} Nt,e,s表示类行为 t t t,起点为 s s s,结尾为 e e e的实体。通过这样的标注方式我们可以对任何嵌套实体进行标注,从而解决训练和解码的问题。
  3. 本文笔者将对比目前接触到的部分实体矩阵的构建方法在CMeEE数据集(医学NER,有一定嵌套实体)上的表现。

实体矩阵构建框架

  1. 为了方便后续对比说明,这里定义几个同一的变量与符号,上文中 N t e s N_{tes} Ntes表示类行为 t t t,起点为 s s s,结尾为 e e e的实体。在本实验中,我们均适用bert-base-chinese作为encoder, h i h_i hi表示最后一层隐藏层中第 i i i个token的embedding,则 h s h_s hs h e h_e he分别表示经过encoder之后实体Start和End token的embedding,则我们有公式 N t , e , s = p ( h s , h e , t ) N_{t,e,s} = p(h_s,h_e,t) Nt,e,s=p(hs,he,t),其中 p ( x ) p(x) p(x)就表示我们所需要对比的实体矩阵构建头(姑且这么称呼)。
  2. 在对比实验中,除了不同实体矩阵构建头对应的batch_size,learning_rate不同,所使用的encoder、损失函数、评估方式以及训练轮次均保持一致。
  3. 本文选取了GlobalPointer、TPLinker(Muti-head selection)、Tencent Muti-head、Deep Biaffine(双仿射)共四种实体矩阵构建方法进行比较。

方法比较

GlobalPointer

  1. GlobalPointer出自苏神的博客GlobalPointer:用统一的方式处理嵌套和非嵌套NER
  2. 计算公式: p ( h s , h e , t ) = q s , t T k e , t p(h_s,h_e,t) =q_{s,t}^Tk_{e,t} p(hs,he,t)=qs,tTke,t,其中 q s , t = W s , t h s + b s , t q_{s,t} =W_{s,t}h_s+b_{s,t} qs,t=Ws,th
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/355698
推荐阅读
相关标签
  

闽ICP备14008679号