CCKS2019评测总体情况介绍
知识图谱(KnowledgeGraph)以概念、实体及其关系的方式建模世界知识,提供了一种更好地描述、组织、管理和理解信息的能力。近年来,由于其有效性,知识图谱被应用于越来越多的应用场景中,解决各种各样的问题。
知识图谱应用具有一个完备的技术体系。在将知识图谱应用于解决实际任务的过程中,往往需要应用到多种知识图谱相关的技术。在上述过程中,了解知识图谱的各种相关技术,评估当前技术的性能水平,了解不同技术的优缺点,参考可行的改进和发展方向,对知识图谱的成功应用至关重要。
CCKS2019评测竞赛由中国中文信息学会语言与知识计算专委会举办,其旨在为研究者和应用开发人员提供一个测试技术、算法、及系统的平台,共包含了6个评测任务,分别为:任务一、面向中文电子病历的医疗实体识别及属性抽取;任务二、面向中文短文本的实体链指;任务三、人物关系抽取;任务四、面向金融领域的事件主体抽取;任务五、公众公司公告信息抽取;任务六、中文知识图谱问答。
CCKS2019评测任务覆盖了实体、关系、事件三类知识图谱的基本知识单元,包括了识别、抽取、链接等关键任务,同时也包含问答这个知识图谱最具代表性的应用。上述任务共吸引了1666支队伍报名参加,698支队伍提交有效结果。
本届评测的参赛队伍从不同策略、不同技术、不同资源的角度对当前知识图谱任务进行攻关。本报告系统整理介绍了参赛队伍(特别是优胜队伍)使用的技术、资源和策略。相信本报告可以为提供构建知识图谱系统的技术参考,评估当前知识图谱技术水平,揭示未来的发展方向提供一份有价值的参考。以下将按任务对评测进行详细介绍。
1任务一:面向中文电子病历的命名实体识别
1.1任务介绍
随着医院信息技术的发展,积累了越来越大规模的电子病历数据,其中以自由文本形式的非结构化数据是电子病历最主要的部分,如出院小结、病程记录等,其中蕴含着大量详尽而有价值的医疗知识及健康信息[1]。从这些海量的电子病历文本中识别出与医疗相关的实体名称,并将它们归类到预定义类别,如疾病、治疗、症状、药品等,是电子病历数据挖掘与信息抽取的关键步骤,这一任务通常称之为面向电子病历的命名实体识别[2]。它不仅是NLP相关任务如信息检索、信息抽取以及问答系统等的重要基础工作[3],同时对诸多实际临床应用如合并症分析、综合症监测、不良药物事件检测以及药物相互作用的分析等具有巨大促进作用[4]。
国际上先后出现了一些围绕电子病历命名实体识别的公开评测及标注数据集,主要有i2b2[5],ShAReCLEFeHealth[6]以及SemEval[7],但这些评测大多面向英文电子病历。为了更好的促进中文电子病历相关研究的发展,填补国内面向中文电子病历命名实体识别评测竞赛及标注数据集的空白,清华大学知识工程实验室联合医渡云北京科技有限公司、哈尔滨工业大学(深圳)组织了这次评测任务。
任务定义本任务是全国知识图谱与语义计算大会(CCKS)围绕中文电子病历语义化开展的系列评测的一个延续,包括两个子任务:
医疗命名实体识别:CCKS2017[8],2018[1]评测任务的延续,对2018年度数据集做了标注修订。形式化定义如下:
实体提及和所属类别对的集合:
其中
是出现在文档
中的医疗实体提及(mention),
和
分别表示
在
中的起止位置,
表示所属的预定义类别。要求实体提及之间不重叠,即
本任务预定义类别包括:疾病和诊断、检查、检验、手术、药物、解剖部位六大类。
医疗实体及属性抽取(跨院迁移):在医疗实体识别的基础上,对预定义实体属性进行抽取。该子任务为迁移学习任务,即在只提供目标场景少量标注数据的情况下,通过其他场景的标注数据及非标注数据进行目标场景的识别任务。形式化定义如下:
其中
为
中出现的属于
答案实体(字符串,无需位置信息),每个类别可包含0或多个实体。
组织安排本任务由清华大学知识工程实验室统筹组织,创建了专门的评测交流讨论组:[email protected]。时间安排如下:
l 评测任务发布:4月1日
l 报名时间:4月1日—7月10日
l 训练数据发布(第一批):5月6日
l 训练数据发布(第二批):6月2日
l 测试样例数据发布:7月20日
l 测试数据发布及测试结果提交:7月30日
l 评测论文提交:8月15日
评测结果在biendata网站1上进行在线提交,采用实时打榜的方式进行。最终由任务组织者综合考虑网站得分、结果可复现性(要求参赛队提交代码及文档)、方法模型及外部资源(词典、非本评测提供的标注数据等)等因素给出最终成绩排名。
参赛情况本次评测共吸引了来自院校科研
机构、工业界及医疗机构的200多支队伍参赛。参赛情况如表1所示。
表1参赛情况
表2子任务1数据集描述
表3子任务2数据集描述
1.3典型模型与系统
通过对本次评测所提交的11篇论文进行分析,将所采用的典型方法、模型总结如下。
序列标注模型:无论子任务1还是2,都是对预定义类别(属性)的实体进行识别和归类,因此,所有参赛队都将任务视为序列标注问题,采用的主体模型都是CRF、BiLSTM等传统的序列标注模型。
混合模型:融合方法是主流,大部分参赛队以多种方式融合了多个模型,如CRF,BiLSTM+CRF,以及BiLSTM+CNN+CRF等,相比于单一模型获得了很大的性能提升。
预训练语言模型:基于Bert、ELMo等语言模型在自然语言处理任务中的卓越表现,大多数参
赛队在文本预训练中引入Bert等语言模型,评测结果证明这些语言模型的引入能够有效提升医疗命名实体识别的性能。
特征工程及规则定义:尽管表示学习方法在通用领域中取得了很大的成功,但是针对临床医疗领域的具体任务,特征工程依然不可或缺,所有的参赛队都进行了大量的特征定义,包括词性标注、拼音特性、词根、偏旁部首以及词典特征等,并搭配使用人工定义规则进行预处理及后处理来提升性能,间接反映出单纯采用嵌入表示、无特征工程的方法在实际的临床医疗文本中并不适用,一个重要的原因在于无法获得高质量大规模的公开电子病历语料进行表示学习训练。
1.4评测性能及结果分析
最终评测结果如表4、表5所示(排名前6)。
表4子任务1评测结果
表5子任务2评测结果
通过对参赛队所提交的代码,文档及评测论文的对比审核,评测结果分析如下。
1.子任务1排名前10的参赛队,得分非常接近,如排名第一、第二的参赛队F1分差只有0.00028,他们所采用的模型主体部分都是BiLSTM+CRF,方法差异性较小。由于单纯依
靠模型和算法很难获得显著的性能提升,参赛队大多依靠模型之外的规则定义、特征工程等人工干预提升性能。排名第一的参赛队更是通过对训练标注数据集进行人工标注修正后,合并两个数据集进行混合训练,取得了最好的成绩。
2.子任务2的整体性能要远低于子任务1,一个根本的原因在于它是一个迁移学习任务,给出的训练数据集与最终的测试数据集来自于完全不同的实际场景,而所有的参赛队都没有考虑场景迁移问题,且对评测中给出的
1000条非标注数据也没有进行充分利用,导致性能较差。
3.与往年评测[8][1]相比,一个显著的改进是随着2018年以来语言模型(languagemodel)在自然语言处理任务中的卓越表现,所有的参赛队在预训练中都引入了Bert,ELMo等模型,结果表明这些语言模型能有效提升识别性能。
4.由于医疗实体名称的特殊性,词典的构造至关重要,在所提交的评测论文中,都借助大量外部词典资源,如ICD-10疾病编码,国际标准手术编码,药品名称大全,解剖学词库等,并从“寻医问药”、“好大夫”等网站上收集大量的专业术语,构建多个类型的术语词典进行匹配。
5.由于医疗文本的特殊性,所有的参赛队都摒弃了分词预处理环节,借助评测提供的训练集和测试集以及外部语料库,如百度百科等,直接训练字嵌入向量(characterembed-ding),而将分词和命名实体识别任务进行联合建模(jointmodel)的方法还没有出现。本任务共收录了6篇评测论文(两个子任务各3篇),有兴趣的读者可参见CCKS2019评测论文集4。
1.5任务总结
本评测是围绕中文电子病历语义化开展的一系列评测的起点,为后续即将推出的医疗实体结构化、医疗实体标准化以及医疗实体关系抽取、医疗知识图谱构建等任务打下坚实基础。
从参赛结果看出,相比于面向英文电子病历的国际评测,如i2b2以及ShAReCLEFeHealth,参赛队大多都取得了良好的成绩。一个主要的原因是中英文数据集上实体分布不同,中文数据集中实体重现率更高。但在方法和模型的创新上稍显不足,我们认为基于中文电子病历命名实体识别工作仍值得进一步研究。
我们希望通过组织这次评测,推动该领域的研究进展和技术实用化,活跃学术氛围,促进各个单位和团体的交流,希望在以后的评测中能够做得更好。
2任务二:面向中文短文本的实体链指
2.1任务介绍
面向中文短文本的实体链指(EntityLink-ing),是自然语言处理领域的基础任务之一,即对于给定的一个中文短文本(如搜索Query、微博文本、用户对话内容、文章标题等)识别出其中的实体,并与给定知识库中的对应实体进行关联的过程。实体链指包括实体识别(NER)和实体消歧(NED)两个子任务。
实体链指可用于搜索、推荐、广告、对话等
多种场景下的知识解析任务,同时可以在很多任务中发挥辅助作用,如应用于文本理解、意图理解、舆情分析、对话NLU等任务中,用于提升任务精度。
传统的实体链指任务主要是针对长文档,长文档拥有较长的上下文信息能辅助实体的歧义消解并完成链指。相比之下,针对中文短文本的实体链指存在很大的挑战,主要原因如下:
(1)中文短文本语料口语化严重,导致实体歧义消解困难;
(2)短文本上下文语境不丰富,须对上下文语境进行精准理解;
(3)存在命名多样性、实体多歧义的问题,相比于英文,中文由于语言自身特点,在短文本的实体链指问题上更有挑战。
本次实体链指评测共吸引来自4个国家的
345支队伍,862名参赛者报名参加;分别来自
165个院校和67家企业,最终共有154支队伍提交结果,整个比赛周期内累计提交评测结果1203次。
2.2数据集及评估方法
(1)知识库:
本任务的参考知识库来自百度百科知识库的约39万个实体。知识库中的每个实体都包含一个实体id(subject_id),字符串名称(subject),上位概念(type)及与此实体相关的一系列属性和属性值
代表知识库的一条记录,每条记录的格式为一个Json格式。subject_id的值为一个正整数,说明subject总是对应知识库中的一个实体。
知识库数据分布如表6所示。
标注数据集由训练集、验证集、评测集组成。其中训练集中包括9万条短文本标注数据,验证集包括1万条短文本数据,评测集包含3万条短文本数据,所有数据通过人工众包方式标注生成。
标注数据集主要来自于真实的互联网网页标题数据,是用户检索Query对应的有展现及点击的网页,短文本平均长度为21.73中文字符,覆盖了不同领域(如人物、电影、电视、小说、软件、组织机构、事件等垂类)的实体以及通用概念。
(3)评估方法:
我们以F1分值作为评价指标,对于给定的中文短文本,实体链指策略输出的结果中包含给定中文短文本中出现的所有命名实体的链指结果。我们通过将输出结果与人工标准集合进行比较来计算准确率(Precision),召回率(Recall)和F1分值(F1score)。
具体计算过程如下所示:
给定短文本输入(用Text表示,其属于golden标注集),此Text中有N个实体mention:
(2)数据集:
标注数据集由训练集、验证集、评测集组成。其中训练集中包括9万条短文本标注数据,验证集包括1万条短文本数据,评测集包含3万条短文本数据,所有数据通过人工众包方式标注生成。
标注数据集主要来自于真实的互联网网页标题数据,是用户检索Query对应的有展现及点击的网页,短文本平均长度为21.73中文字符,覆盖了不同领域(如人物、电影、电视、小说、软件、组织机构、事件等垂类)的实体以及通用概念。
(3)评估方法:
我们以F1分值作为评价指标,对于给定的中文短文本,实体链指策略输出的结果中包含给定中文短文本中出现的所有命名实体的链指结果。我们通过将输出结果与人工标准集合进行比较来计算准确率(Precision),召回率(Recall)和F1分值(F1score)。
具体计算过程如下所示:
给定短文本输入(用Text表示,其属于golden标注集),此Text中有N个实体mention:
每个实体mention链接到知识库的实体id为:
,实体标注系统输出标注结果如下:
,则实体标注的准确率定义如下:
2.3典型模型与系统
实体链指任务主要可拆解为实体识别和实体消歧两个关键子任务,实体链指的传统做法是采
用管道的方式,先进行实体识别,然后将实体识别的结果作为实体消歧的输入;另外一种做法是采用端到端(end2end)的方式训练一个端到端模型,输入是一段文本,输出即是实体链指的结果,本次评测绝大多数选手采用的是第一种方法。
下面对本次评测使用频率较高且相对典型的模型与方法进行介绍:
(1)实体识别:
方法一:基于CRF[9]进行序列标注的实体识别方法
如图1所示,(a)基于embedding+LSTM[10]+CRF的实体识别方法;(b)在ERNIE[11]/BERT[12]等
语言模型进行微调(fine-tune)+CRF的实体识别方法。
方法二:基于双指针标注的实体识别方法
如图2所示,主要采用双指针标注的方式,通过建模并标注实体的开始位置和终止位置。
(2)实体消歧:
方法一:基于多分类的实体消歧方法:
如图3所示,将输入短文本和待消歧实体的描述文本分别输入到ERNIE/BERT,将输入短文本CLS(SpecialClassificationEmbedding,用于分类的向量,会聚集所有的分类信息,一般是整体序列的向量表示)位置输出向量和实体文本CLS位置的输出向量连接到一起得到实体的向量表示,经过Dropout层和全连接层,最后进行Softmax多分类。
方法二:基于二分类的实体消歧方法:
如图4所示,将输入短文本和待消歧实体的描述文本拼接,输入到BERT,将CLS位置输出向量以及候选实体对应开始和结束位置对应的特征向量连接到一起,经过全连接层,最后Sigmoid激活得到候选实体的概率得分。
方法三:基于排序的实体消歧方法:
如图5所示,使用语义匹配的思路,计算待消歧文本(输入文本)和知识库中候选实体间的相似度,通过神经网络对它们分别建模并得到各自的向量表示,然后通过相似度度量方法进行匹配度打分,选择得分最高的候选实体输出。
2.4评测性能及结果分析
如表7所示,表7展示了本次评测Top10团队的相关信息和得分情况,其中Top7团队的F1值都达到了0.79以上,Top5团队均在模型中引入BERT、ERNIE等预训练语言模型并取得了良好的效果,同时Top10队伍中亦有多个团队通过各种形式引入知识来提升整体模型的效果,如基于知识图谱的实体嵌入(entityembedding)和实体mention嵌入(mentionembedding)等,知识增强对模型效果的提示发挥着非常关键的作用。
同时,我们也发现,模型融合仍是提升算法效果的重要手段,Top5团队都采用了模型融合来提升整体效果。
通过本次评测,参赛选手对实体链指技术做了很多有益探索。知识增强在实体链指中发挥了巨大作用,如基于知识图谱的知识嵌入技术、基于知识图谱的实体动态概念预测技术等,以上技术充分利用了知识来辅助实体消歧任务。
模型融合可以体现集体智慧,也是在比赛中被大家普遍采用的方式,我们发现在评测中获得名次较高的队伍都不同程度的使用了模型融合方法来提升效果。
目前大部分的思路仍然将实体链指任务拆分成实体识别、实体消歧的两个独立的步骤,每个步骤作为一个独立的技术任务,最后进行串联,而近年来提出的利用深度神经网络的端到端解决方案,可以利用实体识别和实体消歧间的信息交互进行整体建模,可能是进一步提升效果的新思路。
随着预训练语言模型(BERT、ERNIE等)的快速发展,一些基于预训练语言模型的零样本学习的实体链指方案[13]也被提出,而其本身也是充分利用知识来解决样本问题和跨领域的泛化问题。
分析与研究表明,实体链指任务面临着开放域、行业场景、少样本学习等带来的新挑战,结合相应的问题场景,探索更多更好的知识增强技术,运用神经网络的强大学习建模能力进一步提升实体链指技术效果可能是未来研究的主要方向。
3任务三:人物关系抽取
3.1任务介绍
作为CCKS2019的一项评测任务,人物关系抽取的目标是,从给定的句子中识别出指定人物实体对的关系。根据评价方式的不同,本次评测任务又分为两个子任务:Sent-Track和Bag-Track。在Sent-Track中,关系预测是在句子级别上进行的。而在Bag-Track中,关系预测是在包级别上进行的,所有包含相同实体的句子组成一个包。在本次评测任务中,一共有358支队伍报名参加,其中147支队伍提交了有效成绩。
人物关系抽取是一个非常有潜力的研究方向。一方面,关系抽取作为信息抽取的一个重要子任务,是智能问答、信息检索等许多智能应用的重要基础,和知识图谱的构建有着密切的联系;另一方面,人作为社会的重要组成单位,研究人与人之间的关系是十分必要和有价值的。[14]
目前,有监督的关系抽取方法[15,16,17,18]被广泛使用,并且表现出了非常好的性能。但是,有监督的方法往往需要大量的标注数据用于训练,人工标注训练数据是十分耗时费力的。为了解决这个问题,Mintz等人[19]提出了远程监督的概念。他们认为,如果两个实体<
s,
t>在知识库中具有关系
,那么所有包含这两个实体的句子都会在某种程度上表达他们的这种关系。通过远程监督的方法,我们可以通过对齐知识库和文本,自动地构建大量标注数据。
然而,通过远程监督方法生成的数据不可避免地存在错误标注的问题,特别是测试数据的错误会导致在比较模型性能时出现错误评估的问题。
为了解决这个问题,我们可以让标注人员对测试数据进行标注。本次评测任务中,我们使用一个专门用于人物关系抽取的中文数据集(Inter-PersonalRelationshipExtraction,IPRE)[20]。在这个数据集中,验证集和测试集是经过人工标注的,训练集是远程监督自动生成的。
3.2数据集及评估方法
本次评测任务的文本数据主要来自于互联网网页文本,通过远程监督自动标注和人工标注相结合的方法生成标注数据。由于目前没有像Freebase这样的中文知识库提供足够多的人物关系三元组用于文本对齐,我们需要从维基风格的网页上抽取三元组。通过实体的类别、名字长度等多种方式对网页中的所有实体进行过滤,最后我们构建了一个包含942,344个人物实体的人名表。根据人名表,我们进一步挑选网页信息框(infobox)中三元组,这些三元组中的实体都在人名表中出现。我们对三元组中出现的关系表达进行合并和去噪,并定义了一组包含34种人物关系的集合。最后,我们将这些三元组对齐文本,得到了超过41,000个句子和4,214个包。
表8IPRE中数据的划分与标注
如表8所示,在得到远程监督生成的数据后,我们将其按7:1:2的比例切分成训练集、验证集和测试集。其中,验证集和测试集是经过人工标注的。为了模拟真实的关系抽取场景,我们对各个部分的数据集引入了大量自动构建的NA数据。NA关系是一种特殊的关系,表示实体对不存在指定的人物关系表中的关系。因此,验证集和训练集中的NA数据除了少部分来源于人工标注,大部分是来源于后期数据构建时引入的自动构建数据。
在Sent-Track和Bag-Track两个子任务中,我们都使用F%值作为评价指标。在计算F%值时,我们不考虑NA。具体来说,如果一个句子或包被预测有多个关系,那么它是否预测有NA关系不会影响F%值的计算。记WwW是系统预测结果中所有句子或包的非NA关系数量,Wtx是标准答案中非NA关系的数量,g是预测正确的关系数量,则Sent-Track和Bag-Track的评价指标可定义为:
在本次评测中,Sent-Track和Bag-Track都有一个公开成绩排行榜(A榜)和非公开成绩排行榜(B榜)。所有的测试数据一开始就全部发布,测试数据按1:1的比例切分成了两部分。对于参赛队伍提交的每份预测结果,我们在其中固定的50%测试集数据和全部测试集数据上计算F1值,分别记为A分和B分。在比赛期间,我们只根据A分显示A榜,而对应的B分进行排名得到B榜。B榜在比赛结束后公布,作为各个参赛队伍的最终成绩。
表9Sent-Track和Bag-Track前十名成绩
3.3典型模型与系统自从BERT[12]发布后,它很快超过ELMo[21],成为目前NLP领域最火的一个语言模型,在许多NLP任务中表现出了非常好的性能。和传统的训练词向量的方法不同,例如Skip-Gram[22]和GloVe[23],BERT可以提供更丰富、语义更强的上下文表示。在这次评测任务中,在BERT输出后简单地添加一个全连接层进行分类或者用BERT的代替词向量作为输入的两种主流方法都取得了非常好的成绩。考虑到BERT可能会过拟合实体的名称,LEKG队在使用BERT时用两个固定的名字“刘伟明”、“李静”替代了句子中的给定的人物实体对。由于Sent-Track和Bag-Track使用同样的数据集,并且包级别的关系抽取方法有更好的抗噪性,许多队伍将Bag-track的预测结果转换成了Sent-track的预测结果。任务转换的关键在于检查包中的句子是否表达了包的这种关系。训练一个二分类器或者使用特征模板匹配的方式都是非常好的选择。在本次评测任务中,NEU_DM1队和格物致知队都使用了这种转换技巧,他们的实验结果表明这个方法是简单有效的。特征工程是提高关系抽取系统性能的一种简单有效的方法,需要对原数据进行仔细的分析。就人物关系而言,由于数据本身的特点,有一些特征如性别、姓氏,可以有效地利用进行人物关系的识别和预测。目前一些基于中文人名进行人
5https://pypi.org/project/ngende
物性别预测的开源工具5已经取得了不错的效果,姓氏也可以用于血亲关系尤其是父子关系的预测上来。此外,也可以通过一些句子中的关键词对关系的预测结果进行纠正,如“夫”、“妻”等。
考虑到数据分布的不平衡性,一些队伍如NEU_DM1队删除了近一半的关系,以减少这部分数据对整体预测结果的影响,他们的实验结果也证明这种思路是有效的。此外,为了扩充训练语料,RE小分队队使用翻译工具6对训练数据进行翻译,再将翻译的结果再翻译回中文从而扩充训练数据。针对数据不平衡的问题,格物致知队则使用下采样和上采样相结合的方法数据进行预处理,从而在一定程度上缓解了这个问题。
3.4评测性能及结果分析
在表9中,我们给出了Sent-Track和Bag-Track前十名的成绩。值得注意的是,因为我们的排名策略,最后排名有一些变化。
正如前面提到的那样,预测结果中是否有NA关系不会影响F%值的计算,并且评测数据中各关系的分类也是不平衡的。这就导致,如果一个关系抽取系统对其中几个大类的预测有非常好的性能时,在整体数据上的性能也同样会很好。在测试集数据中,“现夫”、“现妻”、“生父”、“生母”、“儿子”、“恋人”、“老师”这七种关系占据了大多数。在Sent-Track中,2300个标准答案中有2000个属于这七类;在Bag-Track中,740个标准答案中有560个属于这七类。
我们分别分析了Sent-Track和Bag-Track前三名的结果,他们都在一定程度上放弃了对一些小类别关系的预测,而把重点放在一些大类关系的预测上。我们通过F%值比较了每个系统在各关系上性能,所有的系统都在这七类关系中的大多数关系上取得了很好的效果。大致可以看出,这几类的关系的预测结果和整体的预测结果是正相关
图6Top-N系统预测结果融合的上界
关的。值得注意的是,这几个系统都在“恋人”关系的预测上表现得非常差。我们随机的采样了测试集中一些能体现“恋人”关系的句子,尽管这些句子中大都有“相恋”、“男友”、“女友”这些关键词,但系统更倾向于把它们预测为NA。另外,前三名的系统更喜欢把NA预测为“生父”。人工检查表明许多只能表达“父母-子女”关系的句子被错误地预测成了“生父”。当然,测试集中引入的远程监督生成的NA数据中也产生了一定的影响。
为了给以后的研究提供一个参考上界,我们融合了前十名队伍系统的预测结果。对于每个包或句子,只要其中一支队伍给出了正确答案,我们就认为是正确的。如图6所示,我们可以看出,随着融合的结果增加,F1值的提升明显。令人惊讶的是Sent-Track的上界最后超过了Bag-Track的上界。这可能是因为一个包往往有多个关系,相比于只有一个关系的句子预测,包预测的难度更大一些。
3.5任务总结
CCKS2019人物关系抽评测由Sent-Track和Bag-Track两个子任务组成。任务目标是识别所给句子中两个人物实体的关系。今年,来自不同单位组织的358支队伍参加了比赛。其中,Sent-Track和Bag-Track两个子任务中最好的系统的F1值分别达到了54.3%和63.0%。本次评测任务所使用的数据集及其标准答案可以在https://github.com/SUDA-HLT/IPRE下载。
4任务四:面向金融领域的事件主体抽取
4.1任务介绍
任务背景:事件抽取是信息抽取的重要任务,也是知识图谱自动构建、文本语义理解、自动问答、舆情监控等多种自然语言处理任务的基础。事件知识、特别是事件的类型和主体知识,在金融领域中具有重要作用,能为风险预警、智能投顾等应用提供重要决策参考。在风险预警方面,风险事件的主体识别可以辅助事件热度、事件演化和事件影响的监控,从而进行相应的决策和响应。在智能投顾方面,事件是投资分析和资产管理的重要决策因子,事件主体的识别能辅助发现潜在客户,为智能推荐和投顾提供支持。
任务定义:在此背景下,该评测任务旨在从互联网上真实存在的新闻数据中抽取特定类型事件的主体。即给定一段文本T,和事件类型S,从文本T中抽取事件类型为S的事件主体E(如果事件主体为多个,输出事件主体E的集合)。形式化表示如下:
输入:一段文本T和事件类型S
输出:事件主体E(E的集合)
示例:
输入:”公司A涉嫌违规交易,其下属子公司B和公司C遭到了调查”,“交易违规”
输出:“公司A”
任务难点:事件抽取一直以来是信息抽取中的难点问题,面向金融领域的事件主体抽取同样面临着诸多难点和挑战:1.语言表达的多样性,金融领域事件主体的实体类型一般为公司、机构或者人物,然而,数据来源广泛、表述风格不一的文本中,事件主体经常会以别称、简称或者代称的形式出现,语言表达的多样性对事件主体的识别提出了挑战。2.多事件表达的干扰性,一段文本会经常提到多个事件,一个实体也会同时参与到多个事件中。因此,如何从同时含有多个事件的文本中精确的找到特定类型事件的主体是一个挑战。3.事件主体的共现性,在金融领域的文本中会经常涉及多个相同类型事件的比较和统一表述,因此在同一段文本中同一类型的事件主体会有多个的情况,如何同时精准的识别出同一类型事件的多个主体是该任务的又一挑战。
任务的组织及参赛情况:该评测任务采用Biendata在线评测平台,任务共分为A榜、B榜两个阶段,A榜测试阶段共持续3个月,A榜阶段发布了训练集和测试集A,每支队伍每天可以提交不超过3次的测试结果,在线测试平台可以实时更新队伍的最新排名。B榜阶段共持续4天,B榜阶段发布了测试集B,每支队伍每天可以提交不超过3次的测试结果,在线测试平台可以实时更新队伍的最新排名,最终排名以B榜阶段测试成绩和提交报告说明为准。该次比赛共计吸引了1169名参赛者,487支参赛队伍,包括:清华大学、北京大学、上海交通大学、复旦大学、浙江大学、哈尔滨工业大学、北京航空航天大学、北京邮电大学、哥伦比亚大学、曼彻斯特大学、香港理工大学、悉尼大学、芝加哥大学、香港城市大学等高校;中国科学院计算技术研究所、中国科学院软件技术研究所、中国科学院上海高等研究院、中国航空综合技术研究所、中国运载火箭技术研究院等科研机构;微众银行、平安科技、民生科技、腾讯、百度、谷歌创新工场、美团、字节跳动、京东、微软、IBM、国泰君安、网易等互联网和金融企业,具体参赛人员单位比例如图7所示。
图7参赛人员单位统计
4.2数据集及评估方法
数据集来源:该评测数据集的文本内容来自于互联网上金融领域的相关新闻语料。数据爬取后首先进行数据清洗和数据过滤,主要是去掉无效的字符和内容。
数据集构建方法:该评测数据由专业的标注人员从文本段中标注出事件类型和对应的事件主体(同一段文本中若出现多个事件类型和多个事件主体分别标注成<单一事件类型,多个事件主体>的组合)。标注数据经过多个标注人员的标注和投票,最后进行抽样校验。
数据统计:该评测数据集中共定义了“业绩下滑”、“提现困难”、“交易违规”等21个事件类型,如果事件不属于预定义的21个事件类型则标注为“其它”类型。训练集、A榜阶段测试集和B榜阶段测试集中的样本分布如表10所示,各数据集中不同事件类型的样本分布如表11所示。在表10和表11中Train代表训练集、Eval代表A榜测试集,Test代表B榜测试集,Test_pure代表B榜测试集中去处噪音数据的样本数量统计。
表10不同数据集样本数量统计
评估方法:本次任务采用精确率(Precision,P)、召回率(Recall,R)、F1值(F1-measure,F1)来评估事件主体的识别效果。
事件主体精确率=识别事件主体与标注相同/识别事件主体总数量
事件主体召回率=识别事件主体与标注相同/标注事件主体总数量
事件主体F1值=(2事件主体精确率事件主体召回率)/(事件主体精确率+事件主体召回率)
4.3典型模型与系统
本次评测中参赛队伍将面向金融领域的事件主体抽取任务建模成序列标注和阅读理解两种任务,最终排名靠前的队伍会在上述两种建模任务基础上利用模型集成,提升系统的鲁棒性和性能。下面分别介绍基于序列标注的方法和基于阅读理解的方法,然后再简要介绍模型集成的方法。
表11各数据集中不同事件类型的样本数量统计
基于序列标注的方法:在该类方法中,参赛选手将面向金融领域的事件主体抽取任务建模成序列标注任务。输入为待抽取文本和事件类型,该类方法针对输入文本中的每个字进行标注,判断其是否为符合条件的事件主体,一般采用BIO的标注模式。在进行序列标注时,有两种建模事件类型的方法,一种是将22(含其他类)个事件类别进行向量化表示,然后将其拼接到字向量后作为序列标注的输入;另一种是将事件类型的描述文本直接和输入文本进行拼接,然后直接输入到序列标注模型中,不进行额外特殊处理。在参赛的队伍中,采用最多的序列标注模型为BiLSTM+CRF[24]和Bert[12]模型。
基于阅读理解的方法:在该类方法中,参赛选手将面向金融领域的事件主体抽取任务建模成
阅读理解任务。将输入文本看作阅读理解任务中的文档,将事件类型看作阅读理解任务中的问题。典型的方法是基于BERT的阅读理解模型,在该类方法中首先在事件类型(问题)前面添加specialclassificationtoken[CLS]标记,然后问题和段落连接在一起,中间使用specialtokens[SEP]分开。序列通过tokenEmbedding、segmentem-bedding和positionalembedding输入到BERT。最后,通过全连接层和softmax函数将BERT的最终隐藏状态转换为答案跨度的概率。
基于模型集成的方法:基于阅读理解的方法和基于序列标注的方法各有优势,基于序列标注的方法能充分捕捉多个事件主体之间的依存关系,基于阅读理解的方法能更好的挖掘文本和事件类型的语义关系。在单一模型中,不同的模型参数或模型设置也会得到不同的性能,为了充分利用多模型的优势,增加系统的鲁棒性,很多参赛队伍都采用了模型集成的方法,主要分为两类方法,一类是基于阅读理解的模型和基于序列标注模型的融合,一类是不同参数的单一模型融合。在此次比赛中,模型融合的方法多采用结果融合的方法,即取多个模型结果的并集。
4.4评测性能及结果分析
此次评测的A榜和B榜TOP20结果如表12和表13所示。详细比赛结果参见:
https://www.biendata.com/competition/ccks_2019_4/
表12A榜TOP20队伍成绩
通过对上述A榜和B榜的分析,我们发现:1)在单一模型中,基于阅读理解的方法性能普比基于序列标注方法的性能高,造成这种现象原因可能是该次比赛中一个事件对应多个主体的样本少于一个事件对应一个主体的样本。(2)基于模型集成的方法更鲁棒,基于模型集成的方法在B榜上性能的降幅小于基于单一模型的方法的性能降幅。
事件知识在金融领域有着不可或缺的地位,面向金融领域的事件主体发现是一个富有挑战的任务,该任务可以建模成序列标注任务,也可以建模成阅读理解任务,大规模预训练语言模型的引入会使相关方法进一步提升性能。在该任务建模过程中要重点考虑事件类型的编码方式以及事件类型和表述文本之间的语义关系。除了事件主体以外,事件发生的时间、涉及的金额和产品对于金融风控和智能投顾也有借鉴意义,未来可以尝试将该任务进一步扩展,抽取出事件主体以外的更多事件知识。
5任务五:公众公司公告信息抽取
5.1任务介绍
随着金融科技的发展和全球资本市场的不断扩大,在金融领域,每一天都有海量的数据产生,而与之形成强烈对比的是有限的人力以及人脑所能处理信息的极限能力。因此,依靠传统的人工方式已经无法应对投研分析、风险控制、金融监管和事件关联等需求,而亟需引入新的技术来提高信息处理效率,包括大数据分析、自然语言处理、知识图谱等技术,都已经开始被积极用于金融分析和金融监管领域。在监管方面,每一家公众公司都具有相关信息披露义务,由此也产生了大量的公告阅读和信息抽取需求。据不完全统计,以沪深股市为例,2017年共披露公告44万余篇,2018年共27万余篇,并且随着上市公司数量的增加这一数字也在逐年增加。每年3月底、4月底、8月底、10月底为定期报告披露高峰期,最多的一天所发布公告达10297篇。
本次评测的主要目标是针对公告文件(均以
PDF方式发布)中的信息抽取。作为知识图谱构建的基础,结构化数据是必不可少的。由此,如何通过自动化的技术来从各类公告中抽取信息,将非结构化数据转化为结构化数据是知识图谱领域所面临的一大挑战。
任务定义
本评测包含有两个子任务:
(1)表格中的信息点提取:本任务给定某公众公司的年报PDF文件,参赛者需从文件的结构化财务报表(包括合并资产负债表、母公司资产负债表、合并利润表、合并现金流量表和母公司现金流量表等)中提取相关的信息点,并输出该表格对应的结构化数据。
(2)文本段落中的信息点提取:本任务要求参赛者从公告中提取相关的重要信息点,采用的数据皆为“人事变动”类型的公告,其中可能包含有离职高管、继任者等人物的相关信息,参赛者需要从公告中提取出相关的信息点,并输出对应的结构化数据。
两个任务的类型相似,其统一形式化定义可以被表示为:
任务难点
本任务为公众公司公告信息提取,两个任务均需要先从结构化的数据中定位有效信息段落,再将关键信息进行提取并结构化。其主要难点在于:
PDF文件的信息定位和提取。PDF类型的文件是按字符和位置存储的,缺少其内容的结构化信息,段落和表格之间没有明显、清晰的边界。该特性增大了对其信息自动抽取的难度,同时也提高了对性能的要求。因此,如何准确地保留PDF文档中的显式的结构化信息,如段落、表格等,并减少噪声是解决该问题的重点和难点;
表格信息提取。与传统的文档信息抽取不同,表格的前后文本内容中也包含了相关的信息,要深入挖掘表格的信息,需要结合其上下文的内容,进行综合分析。
信息的不确定性。并非每个公告都会包含所有有关数据,如部分人事变动仅有离职者而没有继任者,模型在尽可能提取相关信息的同时,还需要考虑特定键值是否缺失的情况。
任务组织
本次测评由东南大学认知智能研究所组织,时间安排如下:
•评测任务发布:4月1日
•报名时间:4月1日—4月20日
•训练及验证数据发布:4月20日
•评测文件提交:7月20日
•评测时间:7月25日
•评测论文提交:8月15日
本次评测依托bien-data平台展开,评测网
站链接为:https://biendata.com/competi-
tion/ccks_2019_5/。本次测评训练数据为公开发布的公众公司定期报告文件。组织者将提供训练数据集和验证集(包括公告PDF原文和对应的结构化数据),供参赛选手训练算法模型和参与验证排名。评测数据为训练数据集和验证集同一类型公告,为防止作弊和人工介入,评测数据将包含非公开发布的年报和公告PDF文件(人为制造),评测数据不提前进行发布。参赛者须提供可调用的API,组织者将基于评测数据在指定评测时间统一调用API来给出最终分数。
评测过程中,组织者对参赛者的API调用处理时间和结果返回时间设置上限,若一条评测数据未能在限定时间内返回结果,该评测数据及对应的信息点将按抽取失败计入评价指标计算中。
参赛情况
本次测评共有98支队伍,共318名参赛者参加。其中企业参赛队、研究机构参赛队分别有xx、xx支。经过测评,提交有效结果的队伍有xx支,其中有6支队伍提交了测评论文。
5.2数据集及评估方法数据描述
本次测评训练数据为公开发布的公众公司定期报告文件。组织者将提供训练数据集和验证集(包括公告PDF原文和对应的结构化数据),供参赛选手训练算法模型和参与验证排名。评测数据为训练数据集和验证集同一类型公告,为防止作弊和人工介入,评测数据将包含非公开发布的年报和公告PDF文件(人为制造),同时,评测数据不提前进行发布。参赛者须提供可调用的API,组织者将基于评测数据在指定评测时间统一调用API来给出最终分数。
评价指标
两个子任务的评价均采用传统的正确率(Precision)、召回率(Recall)和F1值作为评价指标。将文本集合记为T={t1,t2,t3,…,tn},对于文本ti,记该文本中的信息点个数共Gi,记模型提取出的信息点个数共Ai,其中的正确信息点个数记为Ni,相关计算公式如下:
本次评测的参赛者共提交7篇论文。由于PDF数据的特殊性,大部分队伍将解决该问题的方案分成了两个模块,即,先是从PDF中自动抽取相关的信息,再对这些信息做进一步的分析与挖掘。通过对这两个模块分别进行训练和优化,模型得以输出更为准确的结构化数据。分析这些论文后,我们将其采用的典型方法与模型总结如下:
5.3.1PDF信息自动抽取模型
解决PDF信息自动抽取主要有两种思路,概述如下。第一种是先将PDF文件转换为图片,再找到所需区域,并对其进行限定和提取。有队伍利用BFS算法对表格内内容进行定位和提取[25],并准确定位到表格提取的难点-跨页表格中信息的准确识别,通过构建页眉页脚识别模型,有效地解决了该任务难点;也有队伍采用OpenCV接口和FasterR-CNN算法,分别检测有线条和无线条的表格,同样获得了不错的效果[28];
第二种方法基于工具将PDF文件转换为设定的格式以获取结构化信息。有队伍使用AcrobatDCSDK,将PDF文档转换为XML文件,成功识别了大部分的文字和表格[27],但该方法会将部分表格错误地识别为图片,降低了模型的效果。
5.3.2混合模型
任务二可被作为序列标注问题来进行建模,按照该思路,需要先解决命名实体识别问题。大部分队伍都采用了BiLSTM-CRF[24]的神经网络模型完成命名实体识别。首先基于词向量进行字/词嵌入操作,再通过BiLSTM层提取文本特征,最后通过CRF层给每个单位打上标签。混合模型的效果相较于单个模型有显然的提高。
5.3.3预训练语言模型
近来,基于大量无监督文本的深度神经网络预训练模型大幅地提升了各个NLP任务的模型效果。在本评测任务中,参赛者通过使用包括BERT[12]在内的多种预训练模型,显著地提升了模型的效果。其中,在解决任务二时,有队伍通过使用BERT,基于上市公司公告进行了预训练,构建了针对证券公告领域的语料模型caBERT[26],并针对“人事变动”类型公告进行了fine-tune。通过使用BERT-CRF和caBERT,其模型的F1值比使用最常用的BiLSTM-CRF模型提高了13.14%。最终,该模型达到95.78%的F1值,在该单向任务中排名第一。
表14子任务1(年报抽取)评测结果
表15子任务2(人事公告抽取)评测结果
5.4评测性能及结果分析
最终评测结果的前八名如表14、15所示。通过对参赛队所提交的测试借口调用、结果验证、文档及评测论文的对比审核,评测结果分析如下。
1)大部分参赛队伍的接口都出现调用超时的情况。经过逐一和参赛队伍校对,包括获取源代码进行本地测试,发现其中模型计算效率较差是造成很多测试样例信息点抽取失败的原因。如何快速的进行PDF文件解析以及抽取信息点,保证抽取速度,依然是较大的挑战。测试成绩较好的队伍,都不同程度对基于神经网络的模型进行了压缩和优化。
2)两项任务的总冠军和任务二的单项冠军, 都针对不同领域在句法和文法上的差异基于Bert预训练生成领域词向量,将序列-触发词作为共同输入来触发对应元数据信息点的抽取,从而提高PDF文件信息点抽取的召回率和准确率。这一点具有一定的理论和实际应用价值。值得相关任务借鉴采纳。
3)基于OpenCV和FasterR-CNN的表格信息抽取方法,能够有效提高扫描件的线条检测精度,以及无线条表格的单元格识别准确度。在此基础上,结合“表格定位+表格结构识别+信息点抽取”的三步骤策略识别出来表格区域中的信息点,是提高表格信息点抽取模型效果的有效途径。
5.5任务总结
PDF格式的文档因其优秀的展示效果,在多种场景下被广泛地采用,如:科学论文、官方文件、演示文稿等,显然地,该类文档中含有海量的高质量信息。然而因其侧重不同,该类文档中的数据并未被结构化存储,在过去,人们若要提取出PDF文档中的信息,一般只能通过人工方式手动进行提取。这种方法效率低下,且提取后的信息还需要重新编辑、排版。因此,如何准确高效地自动提取PDF文件中的信息,并将其结构化储存,是知识图谱领域中的一个重要课题。
本评测希望通过将PDF信息抽取与下游任务相结合,为后续的相关任务打下基础。同时,在本次任务中,我们所采用的数据来自上市企业披露的相关文件。批量地提取并分析这类文件的信息,可以显著地提高相关领域从业人员的工作效率和工作质量。
在本任务中,参赛者们采用了不同思路的方案解决了其中的难点,同时也使用了不同的模型建构思路提升了系统的效果。本次比赛促进了对PDF中元数据抽取的相关领域研究,拓宽了学术界的视野。我们在后面的工作中,会继续分析垂直行业的具体需求,提出更有实用意义和研究价值的评测人物,以促进知识图谱领域技术的进步。
6任务六:中文知识图谱问答
6.1任务介绍
任务定义
本评测任务是,对于给定的一句中文问题,问答系统从给定知识库中选择若干实体或属性值作为该问题的答案。问题均为客观事实型,不包含主观因素。理解并回答问题的过程中可能需要进行实体识别、关系抽取等子任务。这些子任务的训练可以使用额外的资源,但是最终的答案必须来自给定的知识库,并且使用的额外资源必须明确说明来源。为了方便参赛队伍训练模型,我们专门为本次测评构建了专门的中文自然语言问答数据。参赛队伍可以自由选择是否使用提供的训练数据。
为了保证比赛公平、公开、公正,参赛队伍的成绩将实时公布并排名,比赛截止后,参赛队伍必须提供最好结果的实现代码以及相关数据,供赛方进行复现。否则,将被取消最终资格。
任务难点
本任务为开放领域的自然语言问答,宏观而言,这是一个从理解自然语言,再利用获取到的信息匹配知识库中数据的过程。其主要难点有:
语义消歧,在自然语言中,词语的意思往往是多种多样的,要结合具体的上下文来确定词语的含义。并且有时就算结合了上下文信息,歧义也依旧存在。在中文中尤其如此。
句法的模糊性。自然语言的文法通常是模棱两可的,针对一个句子通常可能会解析出多种依赖结构,而我们必须要仰赖语意及前后文的信息才能在其中选择一种最为适合的句法结构。
问题逻辑的复杂性。当自然问题涉及复杂的逻辑推理和联系时,需要知识库中距离更远的信息。
任务组织与参赛情况
本次测评由北京大学计算机科学技术研究所与恒生电子股份有限公司共同组织,共有165个队伍参加。其中企业参赛队、研究机构参赛队分别有33、74至。经过测评,提交有效结果的队伍有28支,其中有4支队伍提交了测评论文。
6.2数据集及评估方法
数据来源
本次测评任务使用北京大学开发的PKUBASE作为指定的知识图谱。其被用于数据集的生成,并且选手最终给出的问题答案必须来自于该知识库。PKUBASE采用当前应用最广泛的RDF结构,用户可以使用结构化的SPARQL语言对其进行查询。因此,在训练数据集中,也包括了人工给出的问题对应的SPARQL查询。选手可以下载数据集后使用相应的知识库管理系统对数据进行存储和查询,我们也提供了在线的PKUBASE查询终端,供选手通过浏览器或者API进行在线访问。详情可见http://pku-base.gstore-pku.com/
数据生成
本次测评任务构建了专门的中文自然语言问答数据集。数据集问题与答案生成过程大致分为如下几步:第一步,人工确定自然语言问题模板。我们认为,利用PKUBASE这样RDF格式的开放知识库生成问题及其答案,首先要将自然语言问题与SPARQL查询关联起来。因此,我们首先确定了几种典型的SPARQL查询图的模板,利用这些查询图的模板,补全对应的实体与谓词信息,再进一步生成自然语言问题。这一步是由在自然语言问答与开放知识库领域具有专业知识的人员来完成。我们用到的问题模板包括单跳型、双跳型、三跳型以及星型。我们将其中的“单跳问题”模板称为简单问题模板,而其余的均为复杂问题模板。需要注意的是,虽然我们利用SPARQL查询作为生成问题的中间状态,我们并不强制要求参赛队伍再开发系统时将问题转化成SPARQL查询,再得到答案。
第二步,人工利用问题模板生成中文自然语言问题。这个过程就是将模板转化为具体的SPARQL查询,再转化成自然语言问题。我们邀请了共计22位来自北京大学的工作人员,他们均为中文母语者,具有较高的中文语言水平,并且对RDF和SPARQL查询有所了解与研究,因此可以保证得到的问题的质量。我们要求每位工作人员需要编写100道自然语言问题,并且给出对应的答案。其中,简单问题与复杂问题的比例为1:1,五种不同模板的比例为5:2:1:1:1。
在这一过程中,我们建议工作人员首先根据模板,从PKUBASE中任意搜索实体,根据实体周围的谓词补全模板,同时设置中间变量与查询变量,并且只能设置一个查询变量。以简单问题为例,工作人首先查询所有与“<湖上草>”这一实体相连的实体及其谓词,并发现存在“<柳如是_(明末“秦淮八艳”之一)><主要作品><湖上草>”这一三元组,满足简单问题的模板。这时,三元组中的主语“<柳如是_(明末“秦淮八艳”之一)>”可以被视为查询变量,进而得到如下的SPARQL查询:
select?xwhere{
?x<主要作品><湖上草>.
}
然后,工作人员将SPARQL查询改写为自然语言问题,例如上述SPARQL可以改写成“《湖上草》是谁的诗歌?”,也可以改写成“谁写了《湖上草》?”。我们要求工作人员在改写过程中,对同样的模板尽量使用不同的句式,并且加入指代、歧义等自然语言现象,以保证数据集的质量和复杂程度。最后,问题的答案直接使用对应的SPARQL查询得到的结果来充当。
数据清洗与分割
为了保证数据质量,我们对生成的3847组中文自然语言问答数据进行了数据整理与清洗。具体方法是,首先对所有SPARQL查询进行验证,将每一条查询提交给我们提供的在线查询终端,测试其是否能正常返回答案,以保证其格式正确,并且能够从PKUBASE中得出准确的答案。然后,人工对3847条自然语言问题进行审核,保证其符合中文语言规范和语言习惯。
经过数据清洗后,我们总计得到了3830组符合要求的中文问答数据,并且其简单问题与复杂问题的比例仍旧保持在了1:1左右,五种模板的比例保
持在5:2:1:1:1左右。随后,我们采用随机抽取的方法将2083组数据划分为训练集、验证集与测试集。其中,训练集包含2298组,验证集与测试集各766组,并且保证问题类别与问题模板的比例与前文提及的一致。
评价方法
本任务的评价指标包括宏观准确率(MacroPrecision),宏观召回率(MacroRecall),AveragedF1值。最终排名以AveragedF1值为基准。设Q为问题集合,Ai为选手对第i个问题给出的答案集合,Gi为第i个问题的标准答案集合,相关计算公式如下:
6.3典型模型与系统
大多数取得较好表现的队伍将生成答案的系统分成多个功能模块,分别训练或优化每个模块并构建pipeline以完成最终的查询语句生成或答案选取。诸多功能模块中,最常被使用的包括核心实体识别、关系识别、问题类型识别、路径匹配与排序等,针对这些核心模块的优化方法成为了部分队伍能获得优异表现的主要原因。
本次比赛,表现较好的几个系统可以大致分为两类,其一为通过实体识别、关系抽取获得答案,其二为通过实体识别、路径匹配选择答案,接下来将分别概述这二者。
6.3.1基于实体与关系识别的模型
模型的流程图如图8所示。此类模型的第一步是通过NER等方法获得问句中实体的mention,再通过主办方提供的数据库中mention2ent及其他信息链接mention到数据库中对应实体列表,通过多种设计的打分函数最终选取一个或多个与问句最相关的实体作为核心实体,用于之后生成关系、查询语句等。在NER模型方面,有的队伍使用了在线训练好的模型[29],也有队伍使用BERT-BiLSTM-CRF并微调以提高其在此任务中的表现[30];在实体打分函数方面,简单到实体长度,复杂到实体与问句语义相关性(须通过模型训练)均被不同队伍使用。
获得中心实体后,此类系统先得到该实体在数据库中的邻居子图,并抽取出邻居子图中所有的关系作为候选。对于这些关系,系统同样使用设计好的打分函数来评估每一者与问题的契合性,这些打分方式包括关系本身与问题语义相似性及对应询问路径中相关结点与问句的相似性等,使用到的模型也包括BERT、BiLSTM[29]等。
同时,此类模型也大多采用一个问题类型识别模块以提高表现。数据集中的问题可以分为单跳问题与多跳问题,多跳问题在查询图结构上也有多种形式;通过训练,问题类型识别模型能够将问句分类到相应的查询图结构模板上。这些有了这些模板信息,便可以根据之前获得的关系取打分高的一个
(如果问题类型为单跳)或多个(如果类型为多跳)作为结果,将其与中心实体对应的查询路径填入最终查询数据库得到答案。
图8基于实体与关系识别的模型总体流程
6.3.2基于路径匹配的模型
模型的流程图如图9所示。与上一类模型类似,此类模型同样具有识别中心实体、问题类型的模块。不同的是,本方法并不直接选取最优关系,而是直接获取所有能匹配上问题类型模板的,在中心实体周边的查询路径;之后,通过各类基于问句与查询路径特征来给后者打分,并选取最优查询路径的模型,最终答案便可以求得。
一般而言,即便利用各类启发性剪枝,通过上述流程产生的候选查询路径是众多的,尤其当问题为多跳、查询路径较长时,因此,优化查询路径的打分方式对于此类系统是至关重要的。在本次比赛中,表现较为突出的模型包括BERT语义匹配模型[30]、PairwiseLambdaRank[31]等。
图9基于路径匹配的模型
除此之外,完全基于规则的传统系统也出现在本次比赛中,部分队伍亦使用Ensemble融合多个系统结果以试图达到单个系统无法企及的性能,各类不同的系统各有优劣,启发我们进一步探索。
6.4评测性能及结果分析
6.4.1、最终结果
经过数月代码提交与测评验证,jchl队最终名列第一,下表16为本次比赛最终排列前10名的队伍。
分析模型给出回答的错误原因往往是理解当前模型弱点的直接方式。下表17总结出了我们发现的几种主要回答错误类别,同时给出了可能的错误原因及典型致错问题示例。
可见,问句本身的复杂性仍然是导致错误的主要原因,自然语言的不确定性使得对实体、关系、类别的识别在很多问题上具有困难。对此,各参赛队使用多种模型提取上下文句义信息,结合多种基于规则的匹配方法综合判断,在处理问句复杂性的方面做出了值得借鉴的改进。
相比往年比赛结果,本次比赛在得分上有着较大程度的提高,这得益于语言模型BERT[12]的提出及其预训练模型在诸多下游任务中的应用,相比起LSTM、TextCNN等上一代模型,BERT尤其在实体、关系、问句类型识别上能达到更高的准确率。可见,积极应用自然语言处理领域的新兴模型、技术是有利于进一步提高问答系统性能的。另一方面,在本次比赛得分较高的队伍均采用模块化系统的思路,端到端的直接生成查询方法并未受到重视,这有可能是因为当前数据集问句量还不够庞大,并不足以提供足够的隐含信息让模型来学习和理解;对于KBQA任务,虽然模块化系统是直接的思路,也降低了训练的数据要求,但诸多在其他领域的研究发现端到端的模型利于计算机发现更多潜在的、人为难以识别的模式,反而有益于提高模型的性能。随着CCKS中文问答数据集的不断丰富,将端到端模型尝试应用与中文问答任务是值得期待的。
最后,大多数参赛队伍均将查询路径限定在2跳内,一些队伍还将查询路径模板进一步缩减,这一方法对于给定数据集可能是有效地:减小路径模板数有助于相应模型训练出更高的识别准确率,同时降低了计算开销;如果复杂问题占比较少,少数模板就可以覆盖大多数问题,这一做法可以用较少损失换取在简单问题上较大的性能提升,进而取得更高得分。然而,为了得到面向开放领域的通用知识问答系统,对复杂问题占比较少的假设并不一定成立,仅考虑2跳以内的问句也许会严重影响系统在实际应用中的性能。因此,增强模型面对更加复杂多样问题的健壮性是进一步提高模型性能的必要条件。
6.5任务总结
针对开放领域的知识图谱问答,本次比赛的参赛者们提出了各类模型架构;面对此任务的难点,各队提出了不同解决方案,相比于往年评测结果切实地提高了问答系统地整体表现。本次比赛地拓展了学界对中文问答的认知,促进了中文知识图谱问答系统的继续发展。
继去年赛方首次提出中文知识图谱自然语言问答数据集后,此数据集进一步修正与扩充,增加了大量金融领域问题,这使得数据集复杂性增加,更加切合开放领域、复杂问题的实际情况,进而促进相关领域研究不断发展。
总之,本次测评取得一定的效果,我们会后续不断扩充中文知识图谱数据集的规模和多样性,为参赛者提供更有挑战更有意义的问题,也希望在今后的测评中各研究团队能继续突破,再创佳绩。
7总结及展望
综合上述各个任务的综述,我们可以看到,目前已有非常丰富的知识图谱技术和工具,这些技术在很多方面都达到了应用的性能水平。具体地,我们可以看到:
1.给定合适的监督语料和应用场景,当前知识图谱技术性能水平已经达到实用水平。我们可以看到,在本次评测中,排名前列的系统都取得了相当高的技术水平。且这些系统大部分基于深度学习技术,同时具有易于构建和易于使用的特点;
2.大规模预训练模型和模型集成是达到高性能的关键。在多个任务中,排名前列的系统基本都采用了大规模预训练模型(如BERT和Elmo)然后微调的模式。同时,多个系统通过集成学习进一步提升了系统的性能;
3.领域知识资源可以帮助构建有效的模型,特别是在面向特定领域时。例如,在医疗命名实体识别中,医疗实体词典可以有效的降低对语料的需求并提升系统的性能。
同时,我们也看到,虽然知识图谱技术已经取得了长足的进展,但是知识图谱仍有许多值得研究的方向和问题:
1.低资源的知识图谱技术需要进一步研究。虽然在有监督的情况下知识图谱技术性能水平优秀,但是在缺乏语料的情况下知识图谱距离实用仍有一定距离。考虑到语料标注的成本,在低资源情况下构建高性能知识图谱系统是一个非常值得研究的方向;
2.在将知识图谱技术应用到实际任务中时,需要充分考虑领域、语料、任务等方面的差异。
在本次评测中,当训练语料与测试数据集基于不同应用场景时,性能会有一个显著的下降。在实际应用中,训练语料场景和实际语料场景不一致往往是更为常见的场景。例如,在规范文本中训练,在口语文本中应用。这就需要我们研究可以考虑领域、语料和任务差异的鲁棒知识图谱技术,如迁移学习技术、无监督学习技术等;
3.中文具有独有的特点,需要在设计知识图谱技术时充分考虑。中文具有没有分词标记、意合等特点,中文知识图谱技术往往比英文知识图谱技术更具挑战。
在未来工作中,CCKS将持续举办评测,并针对知识图谱技术的方向和水平持续改进。相信CCKS系列评测可以为提供构建知识图谱系统的技术参考,评估当前知识图谱技术水平,揭示未来的发展方向持续提供一个有价值的平台,并最终服务于知识图谱技术的介绍、交流、应用和推广。