赞
踩
最近在学习和整理关系抽取的模型,在学习的过程中对关系抽取有了进一步的认识。小白的学习之路漫长开始。转入今天的正题。
(1)TPLinker是一种关系抽取的新范
(2)TPLinker是单阶段抽取模型,
(3)TPLinker实体和关系公用同一个解码,同时避免偏差暴露,同时抽取实体和关系,并不是先抽实体再抽关系,累加实体抽取错误的误差,保证了训练和预测的一致性。
(4)TPLinker模型可以处理SingleEntityOverlap (SEO), and EntityPairOverlap (EPO) ,同时可以处理实体嵌套问题
TPLinker使用bert和Handshaking Kernel,Handshaking Kernel是核心。
TPLinker的模型结构图:
TPLinker模型需要对关系三元组(subject, relation, object)进行手动Tagging,过程分为三部分:
(1)entity head to entity tail (EH-TO-ET)
(2)subject head to object head (SH-to-OH)
(3)subject tail to object tail (ST-to-OT)
标记示例见下图,EH-TO-ET用紫色表示,SH-to-OH用红色表示,ST-to-OT用蓝色表示。
由于这种Tagging标记方式为Handshaking Tagging,矩阵是稀疏的,故将下三角标记的1对称到上三角部分,并且标记为2。这种标记方式可以处理实体重嵌套,例如New York City和New York。
解码过程抽取出实体和实体间对应的关系,过程如下:
(1)构建实体EH-TO-ET字典D,其中字典D的key是实体头,value为实体
(2)解码ST-to-OT,构建字典E;再解码SH-to-OH且在字典D中尽可能查找满足实体头的所有实体subject和object
(3)验证上述找到的subject 和object实体对儿的尾部是否在E中,如果在E中,得到实体subject,objdect和关系三元组
解码过程包括抽取实体和关系,这里考虑了实体的type,解码过程如下:
(1) 根据handshaking kernel的结果得到所有handshaking tagging的结果,即[(start, end, idstag)]
(2) 根据得到的handshaking tagging的结果解码得到EH-TO-ET,即(entity_start, entity_end, entity_type),同时构建head_ind2entities字典,字典的key是entity_head index,value 是entity token span
(3) 根据得到的handshaking tagging的结果解码得到ST-TO-OT或者OT-TO-ST,即(sub_tail, obj_tail, rel_type)
(4) 根据handshaking tagging的结果解码得到SH-TO-OH,ST-TO-OT, sub_head, obj_head, rel_type, 验证sub_head,obj_head是否在head_ind2entities中,如果sub_head, obj_head在head_ind2entities中,验证(sub_tail, obj_tail, rel_type)是否在(3)中的结果,如果在,则返回关系三元组
通过Handshaking Tagging得到实体对,实体对的特征表示为:
实体对所属关系的模型表示:
模型损失函数
其中,N是句子的长度, E,H,T分别表示EH-TO-ET,SH-to-OH,ST-to-OT,
l
^
∗
\hat l^{*}
l^∗是真是的标签
TPLinker跟其他模型的实验结果对比如下图:
最近在用TPLinker模型做中文关系抽取,数据处理为以下格式:
{ "id": 9, "text": "在导师阵容方面,英达有望联手《中国喜剧王》选拔新一代笑星", "relation_list": [ { "subject": "中国喜剧王", "object": "英达", "subj_char_span": [ 15, 20 ], "obj_char_span": [ 8, 10 ], "predicate": "嘉宾", "subj_tok_span": [ 15, 20 ], "obj_tok_span": [ 8, 10 ] } ], "entity_list": [ { "text": "英达", "type": "人物", "char_span": [ 8, 10 ], "tok_span": [ 8, 10 ] }, { "text": "中国喜剧王", "type": "电视综艺", "char_span": [ 15, 20 ], "tok_span": [ 15, 20 ] } ] }
最近一段时间在学习关系抽取,主要看了TPLinker,CasRel,苏神的bert4keras这三个联合抽取模型,并且用baidurelation2020比赛数据集做了简单的对比实验(GPU显存比较小,batch和max length设置的比较小),三个模型训练的轮数不太够,epoch均为20。通过对比实验发现,苏神的bert4keras的实验效果和CasRel的结果相近,三个模型在部分数据上表现的不一样,这里只取一个对比例子,
TPLinker模型结果 { "text": "除了闪瞎人员的超级英雄演员阵容,还有几位大名鼎鼎的幕后工作者,比如“漫威之父”斯坦·李(幕前彩蛋也没少客串),《银河护卫队》系列的导演詹姆斯·古恩(他同时也是“浣熊火箭”),漫威影业的主席凯文·费奇等等", "id": "test_13", "relation_list": [ { "subject": "银河护卫队", "object": "詹姆斯·古恩", "subj_tok_span": [ 56, 61 ], "obj_tok_span": [ 67, 73 ], "subj_char_span": [ 56, 61 ], "obj_char_span": [ 67, 73 ], "predicate": "导演" }, { "subject": "浣熊火箭", "object": "詹姆斯·古恩", "subj_tok_span": [ 80, 84 ], "obj_tok_span": [ 67, 73 ], "subj_char_span": [ 80, 84 ], "obj_char_span": [ 67, 73 ], "predicate": "导演" } ] } { "text": "夏志清毕业于上海沪江大学(这是一所美国教会学校),兄弟俩在北大既无背景也无后盾", "id": "test_15", "relation_list": [ { "subject": "夏志清", "object": "上海沪江大学", "subj_tok_span": [ 0, 3 ], "obj_tok_span": [ 6, 12 ], "subj_char_span": [ 0, 3 ], "obj_char_span": [ 6, 12 ], "predicate": "毕业院校" } ] } { "text": "《遗忘》是台湾女歌手邓丽君演唱的一首歌曲,这首歌曲首次原先在1979年9月20日收录在专辑《难忘的一天》中于台湾等地发行,同年11月15日收录在专辑《甜蜜蜜》中于香港等地发行", "id": "test_24", "relation_list": [ { "subject": "遗忘", "object": "难忘的一天", "subj_tok_span": [ 1, 3 ], "obj_tok_span": [ 42, 47 ], "subj_char_span": [ 1, 3 ], "obj_char_span": [ 46, 51 ], "predicate": "所属专辑" }, { "subject": "遗忘", "object": "甜蜜蜜", "subj_tok_span": [ 1, 3 ], "obj_tok_span": [ 69, 72 ], "subj_char_span": [ 1, 3 ], "obj_char_span": [ 75, 78 ], "predicate": "所属专辑" }, { "subject": "遗忘", "object": "邓丽君", "subj_tok_span": [ 1, 3 ], "obj_tok_span": [ 10, 13 ], "subj_char_span": [ 1, 3 ], "obj_char_span": [ 10, 13 ], "predicate": "歌手" } ] }
CasRel模型结果
{ "text": "除了闪瞎人员的超级英雄演员阵容,还有几位大名鼎鼎的幕后工作者,比如“漫威之父”斯坦·李(幕前彩蛋也没少客串),《银河护卫队》系列的导演詹姆斯·古恩(他同时也是“浣熊火箭”),漫威影业的主席凯文·费奇等等", "relation": [ [ "银河护卫队", "导演", "詹姆斯·古恩" ] ] } { "text": "夏志清毕业于上海沪江大学(这是一所美国教会学校),兄弟俩在北大既无背景也无后盾", "relation": [ [ "夏志清", "毕业院校", "沪江大学" ], [ "夏志清", "毕业院校", "上海沪江大学" ] ] } { "text": "《遗忘》是台湾女歌手邓丽君演唱的一首歌曲,这首歌曲首次原先在1979年9月20日收录在专辑《难忘的一天》中于台湾等地发行,同年11月15日收录在专辑《甜蜜蜜》中于香港等地发行", "relation": [ [ "遗忘", "歌手", "邓丽君" ], [ "遗忘", "所属专辑", "难忘的一天" ] ] }
苏神的bert4keras的结果
{ "text": "除了闪瞎人员的超级英雄演员阵容,还有几位大名鼎鼎的幕后工作者,比如“漫威之父”斯坦·李(幕前彩蛋也没少客串),《银河护卫队》系列的导演詹姆斯·古恩(他同时也是“浣熊火箭”),漫威影业的主席凯文·费奇等等", "bert4keras_relation": [ [ "银河护卫队", "导演", "詹姆斯·古恩" ] ] } { "text": "夏志清毕业于上海沪江大学(这是一所美国教会学校),兄弟俩在北大既无背景也无后盾", "bert4keras_relation": [ [ "夏志清", "毕业院校", "沪江大学" ], [ "夏志清", "毕业院校", "上海沪江大学" ] ] } { "text": "《遗忘》是台湾女歌手邓丽君演唱的一首歌曲,这首歌曲首次原先在1979年9月20日收录在专辑《难忘的一天》中于台湾等地发行,同年11月15日收录在专辑《甜蜜蜜》中于香港等地发行", "bert4keras_relation": [ [ "甜蜜蜜", "歌手", "邓丽君" ], [ "遗忘", "所属专辑", "难忘的一天" ], [ "遗忘", "所属专辑", "甜蜜蜜" ], [ "遗忘", "歌手", "邓丽君" ], [ "难忘的一天", "歌手", "邓丽君" ] ] }
如有错误,欢迎指出。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。