1.本发明属于自然语言处理中的关系抽取领域,尤其涉及一种快速构建重叠关系抽取文本数据的方法。
背景技术:2.随着大数据的发展和机器算力的增强,越多越多的非结构化语义数据结构开始为人们所重视,知识图谱便是其中的一种形式。在知识图谱构建中,需要从非结构化的文本中抽取出结构化的语义关系,这就是关系抽取。而在关系抽取的任务中,重叠关系又是近年来逐渐遇到的新问题,如何从一个或多个文本序列中同时抽取出实体或关系位置存在重叠的多个语义关系,成为一个值得重视的话题。
3.目前,通用的关系抽取数据集大多缺少对重叠关系的研究,目前唯一对重叠关系有涉及的关系抽取数据集——nyt,其中蕴含的重叠关系数量较少,复杂度较低,脏数据较多并且存在定义不清的问题。基于深度学习的机器学习任务需要大量的任务数据,重叠关系数据的缺失在客观上制约任务的研究和应用进展。
4.目前常用的关系抽取数据集构建方法主要分为两种。第一种是基于人工标注的评测数据集。典型数据集主要有:semeval,ace2005,ace2003-2004。这类数据集主要依靠人工标注,成本高昂,且ace数据集有版权保护,不利于落地大规模多样化的工业应用。
5.第二种,则是基于维基语料,使用远程监督结合少量人工的方法半自动化构建的数据集。这类数据集构建的速度较快,成本较低,但他们对于重叠关系的研究还比较少。
6.【论文1】distantsupervisionforrelationextractionwithoutlabeleddata
7.该算法的核心思想是将文本与大规模知识图谱进行实体对齐,利用知识图谱已有的实体间关系对文本进行标注。远程监督基于的基本假设是:如果从知识图谱中可获取三元组r(e1,e2)(注:r代表关系,e1、e2代表两个实体),且e1和e2共现与句子s中,则s表达了e1和e2间的关系r,标注为训练正例。远程监督算法是目前主流的关系抽取系统广泛采用的方法,也是该领域的研究热点之一。该算法很好地解决了数据标注的规模问题,但它基于的基本假设过强,会引入大量噪音数据。
8.【论文2】fewrel:alarge-scalesupervisedfew-shotrelationclassificationdatasetwithstate-of-the-artevaluation
9.这种方法结合人工标注的wiki数据和远程监督的方法,半自动化地构建出了当前最大的精标关系抽取数据集。
技术实现要素:10.发明目的:为了克服重叠关系抽取数据构建难的问题,本发明提供一种快速构建重叠关系抽取文本数据的方法,该方案能够在较短的时间内完成重叠关系抽取数据的构建。本发明包括以下步骤:
的准确率。
45.(2)在关系抽取模型中,引入了人工互动的环节,提高了数据质量。
46.(3)重新精确定义了重叠关系数据的类型,提供了一个可以进行研究的数据集, 为重叠关系研究做好了数据铺垫。
47.从应用层面来说,本发明具有如下优点:
48.(1)可以用于其他场景的关系抽取数据集的构建。
49.(2)在人机互动环节中,高效地优化了自动化技术和人类劳动力之间的效率匹配。
50.(3)方法简单、可复制性、可扩展性强。
附图说明
51.下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/ 或其他方面的优点将会变得更加清楚。
52.图1是本发明方法流程图。
53.图2是实体链接方案的实现示意图。
54.图3是关系分类(抽取)模型示意图。
55.图4是实体链接的模型示意图。
56.图5是结合模型预测和人工标注的示意图。
57.图6是seo关系类型结构示意图。
58.图7是epo关系类型结构示意图。
59.图8是elo关系类型结构示意图。
具体实施方式
60.本发明包括以下步骤:
61.步骤1,构建领域词典;
62.步骤2,获得文本;
63.步骤3,分句并组装数据;
64.步骤4,将锚文本加入候选实体集;
65.步骤5,提取文本中的非锚文本实体,同时调整样本的数据分布;
66.步骤6,查询实体在维基知识图谱中的实体编号,所述编号作为实体的唯一标识;
67.步骤7,查询实体之间的关系,并用所述关系对分句进行关系标注。
68.步骤1包括:采用命名实体识别工具进行词性标注,提取出其中和数据集领域相 关的词汇,所述数据集(本发明构建的目标数据集)是待构建的目标领域重叠关系抽 取任务数据集。
69.步骤1具体包括:获取目标领域的领域文本,以逗号为分隔符对文本进行分句, 在得到的分句中统计n-gram(n元语法模型)频率,取频率在所有n-gram中占前x1的n-gram的n-gram作为词典的词条候选集;x1取值一般为10%;
70.将得到的n-gram作为输入送入到在维基百科上预训练好的bert模型,得到第一类 词向量,同时将维基百科数据库中的词条也送入bert模型,得到第二类词向量;将两 类词向量放在一起进行聚类,以维基百科数据库中的词条为中心选取聚类之后得到以 所述维
基词条为中心的n-gram分布,分别对维基中心词条及其周围的n-gram进行人工 过滤,得到最终的领域词典,所述领域词典包含了一个映射关系:维基百科数据库中 的词条到前述n-gram之间的一对多的关系。
71.步骤2包括:
72.以步骤1中得到的维基词条为候选词,以2020年7月的维基语料为语料库,遍历 候选词,每一个词都相应地抓取维基百科页面的描述以及正文的第一句,得到的文本 和符号的集合作为基础语料。由于维基百科类语料具备一定的文本特征,比如:【中心 词——描述——分段描述】这样的结构,因此可以按照此语法结构自动化地构建重叠 关系。在这一步骤中,将得到《词条,词条描述,分段标题,分段正文》这样的数据结 构。
73.步骤3包括:由人工设定句法模板,句法模板的形式如:《句子;中心词:{中心词 的开始位置,中心词的结束位置},中心词的词性,实体词1:实体词1的词性,实体 词2:实体词2的词性
…
》。截取步骤2得到的基础语料中的描述部分和正文文本的第 一句话作为候选文本,用词性标注工具对文本进行词性打标,句法模板匹配度高的则 判定是有效文本,通过如下公式计算句法模板匹配度d:如下公式计算句法模板匹配度d:
74.其中a0、a1分别为中心词在句法模板中的开始位置和结束位置,d0、d1分别为文 本中词条名出现的开始位置和结束位置,θ为头实体设定比例值,n为实体词的数量, ei为第i个实体的类别,e
′i为句法模板中第i个实体的类别。d的值大于0.5时,便判 句法定模板匹配度高。
75.步骤4包括:
76.锚文本是维基语料中以超链接的形式标注好的词语序列,这部分词语序列直接作 为候选实体。
77.步骤5包括:非锚文本实体,指的是句子中在锚文本之外的词语序列中可能存在 的实体,提取非锚文本实体的方法包括:用命名实体识别工具对步骤3中得到的数据 中的句子进行打标,统计实体类型出现的频率,呈现出长尾分布,使得数据集中随着 样本数量的增加,每个样本带来的收益偏向递减,采用统计重加权的方法调整数据集, 使得头部实体和长尾实体的分布能够更好的有助于后续训练。具体的做法为:按照句 子中实体类型组合对样本进行分类,得到样本的类别,随后使用box-cox(一种广义 幂变换方法)变换调整数据分布。
78.步骤6包括:
79.步骤6-1,读取输入字串;
80.步骤6-2,提及检测:把输入文本按照n-gram(n元语法模型)的方式进行拆解, 根据步骤1中得到的实体词n-gram映射得到提及;
81.步骤6-3,结合wikidata维基知识图谱、wiki alias维基别名和eda英文数据增强 工具对步骤6-2生成的提及做候选实体生成,在维基知识图谱中查询实体对应的编号, 生成的数据格式为【正确实体及其编号;候选实体1;候选实体2;候选实体3;...】;
82.步骤6-4,基于wikidata维基知识图谱做实体消歧:将步骤6-3生成的候选实体、 正确实体和步骤3中根据句法模板匹配得到的句子以【词语序列;正确实体;候选实 体1;候选实体2;候选实体3;...】的字符序列格式送入到基于bert的实体消歧模 型中进行计算;
模型中的计算过程如图3:所述实体消歧模型的输入为【分句的词语序 列;提及】,经过bert模型(一种现有的大规模预训练模型)后,取输出的512个数值 向量中的第一个向量作为提及的向量表示;将所述第一个向量与步骤1中聚类过程中 使用的向量和得到的候选实体的数值向量进行匹配,得到候选实体与输入提及之间的 关系矩阵;
83.步骤6-5,根据关系矩阵,选取概率得分最高的一行对应的实体作为正确实体。
84.步骤7包括:基于远程监督的假设,对步骤6中得到的正确实体之间的关系进行 标注,当两个实体之间在wikidata维基知识图谱中存在关系时,便判定句子所表达的 语义关系符合维基知识图谱中存在的对应关系,具体做法如图4,具体包括如下步骤:
85.步骤7-1,将步骤4得到的候选实体和步骤5得到的经过box-cox操作之后的句子 为输入序列,通过一层神经网络得到实体的表示的数值向量;
86.步骤7-2,将分句作为输入序列,通过一层神经网络得到分句表示的数值向量;
87.步骤7-3,将实体表示的数值向量和分句表示的数值向量以点积注意力的方式求凸 组合结果,通过一层softmax预测出关系分类的概率;
88.步骤7-4,取概率最大的那一行作为实体和分句对的关系。
89.本发明还包括步骤8:
90.在使用关系预测模型预测句子语义关系的基础上,引入人工互动,提高标注效率。
91.具体过程如图5:
92.步骤8-1,经过步骤1~步骤7,得到一批粗标的数据结果;
93.步骤8-2,设计查询函数对已标注的数据进行采样,本发明采用基于置信度最低的 方法对数据进行采样,也就是选择最大概率最小的样本进行标注,并采样百分之十的 数据查看正确率;
94.步骤8-3,将人工标注的数据重新送进步骤1~步骤8的流程,当采样出来的数据 正确率大于百分之九十五时,流程终止。
95.本方案结合当前重叠关系抽取的数据集,提出了更为精准的重叠关系定义,首次 引入了环状关系,并为此快速构建了数据集。如表1所示:
96.表1
97.关系类型说明seo实体重叠,关系不重叠epo头尾实体均重叠,关系重叠elo关系重叠成环状
98.本发明实现方案为:
99.以现有维基数据为种子数据,将维基数据中的实体和实体标识以键值对的形式存 储到mongodb数据库中,通过实体链接模型对文本进行实体打标,实体均来自存储于 数据库的维基实体。随后在数据中挖掘出维基数据中已经存在的关系,由于维基页面 本身就是一个实体,因此只要将页面的实体作为头实体,其中打标出的实体会以较大 的概率和头实体产生关系,环状关系抽取的实现便基于此假设。在整个技术方案中, 涉及到两个环节的技术创新。
100.具体流程(如图1):
101.(1)根据所选择的垂直领域,自动化+人工地构建抓取词典。其中,自动化方案 为:
采用ner工具进行词性标注,提取出其中和领域相关词性的词汇。这一步提取出 的数据结构为【句子;词性;《标注开始标识位,标注结尾标识位》】结构化的三元组。 首先获取目标领域的领域文本,以逗号为分隔符对文本进行分句,在得到的分句中统 计n-gram频率,其次取频率较高的n-gram作为词典的词条候选集。紧接着将得到的 n-gram作为输入送入到在维基百科上预训练好的bert模型,得到词向量。同时将维基 百科中的词条也送入bert模型,得到词向量。将两类词向量放在一起进行聚类,以维 基词条为中心选取聚类之后得到n-gram,分别进行人工过滤,得到最终的词典,该词 典包含了一个包含现有人工标注知识的维基词条到特定领域文本中依靠统计方法得出 的n-gram之间的映射关系。
102.(2)词典中的词语,有的存在维基页面,有的不存在维基页面。将存在维基页面 的词汇全部过滤出来,获得维基页面文本内容,按照【id;词;文本】的结构存储于数 据库当中。再者以步骤1中得到的维基条目作为词条,以2020年7月的维基语料为语 料库,抓取维基百科页面的描述以及正文的第一段作为基础语料。由于维基百科类语 料具备一定的文本特征,比如:【中心词——描述——分段描述】这样的结构,因此可 以按照此语法结构自动化地构建重叠关系。在这一步骤中,将得到《词条,词条描述, 分段标题,分段正文》这样的数据结构。
103.如果经检索发现词不存在维基页面,则需要通过搜索查询技术判定是否存在模糊 匹配的情形,在这里本方案采用的是elasticsearch。
104.(3)由于每个条目对应的维基页面篇幅较长,不利于模型训练,因此在这一步需 要对文本进行压缩处理。在本方案中,文本压缩的方法为:由人工设定句法模板,模 板的形式如:《句子;中心词:{中心词的开始位置,中心词的结束位置},中心词的词性, 实体词1:实体词1的词性,实体词2:实体词2的词性
…
》。截取语料中的描述部分 和正文文本的第一句话作为候选文本,用词性标注工具对文本进行词性打标,【模板匹 配度】高的则认为是有效文本。这里的匹配度由如下公式表示:
105.模板匹配度:其中a0、a1分别为中心词在模板中 的开始和结束位置,d0、d1分别为文本中词条名出现的开始和结束位置,θ为头实体 设定比例值,n为实体词的数量。d的值大于0.5时,便认为该句子匹配的模板。将按 分句加入到设定长度的序列栈中,当序列长度超过栈的容量时,便停止匹配。
106.(4)锚文本是维基百科中已经使用人工标注好的页面链接,在wikidata中均有对 应的实体,提取出锚文本之后,通过链接找到其对应的实体编号,作为候选实体。
107.(5)光有锚文本的实体远远不够,还需要提取文本中的有效实体。本方案采用了 【序列标注+检索】的方法,提取文本中的非锚文本实体,同时调整样本的数据分布。 具体的做法是:用命名实体识别工具对分句文本进行达标,统计实体类型出现的频率, 呈现出长尾分布,使得数据集中随着样本数量的增加,每个样本带来的收益偏向递减。 在该步骤过程中,采用统计重加权的方法调整数据集,使得头部实体和长尾实体的分 布能够更好的有助于后续训练。具体的做法为:按照句子中实体类型组合对样本进行 分类,得到样本的类别。随后使用box-cox变换调整数据分布。
108.(6)得到实体的字面token后,需要查询到该字面token在维基域中对应的实体 编号。这里主要采用实体链接的技术完成该过程。接下来会在实体链接部分重点阐述 该部分
的技术。
109.(7)实体标注完成后,基于远程监督的假设,对实体之间的关系进行标注。由于 维基类文本百科含量高,描述事实的歧义度较低,因此在关系标注过程中,远程监督 的正确率相对较高,容易得到大规模的有效数据。关于远程监督中与人工的互动,在 (4.2.2)中会进行详细讨论。
110.实体链接模型:
111.在实体链接模型中,主要采用了消歧表与模型相结合的方法。消歧表是一种用静 态表格的方式建立文本提及到实体符号映射的方法。根据论文的方法,在2021年7月 份的维基数据中大规模搜索出一个基本消歧表作为本方案的基础消歧表。为了让链接 模型学习到更强的纠错能力,本方案对消歧表进行了进一步的创新,即使用eda增强 方法对消歧表进行了数据增强,提高了模型在提及检测这一环节的表现能力。
112.实体链接模型的第二个环节是实体消歧,即在同一文本提及映射到多个实体的情 况下,需要根据输入文本的语境和上下文信息,选择出正确的实体。论文“zexuanzhong,danqi chen.2020.a frustrating easy approach for entity and relation extraction. in proceedings of the 2021conference of the north american chapter of the associationfor computational linguistics:human language technologies”中的实验部分认为,在消 歧过程中,提及(mention)的类型信息起到了关键作用。受这一实验结果的启发,本 方案在实体消歧的环节引入了维基分类的类型信息(该分类由一个简单的分类器完成, 准确率达到0.98),因此本方案的实体消歧模型实际上需要两个模型协作完成。
113.具体环节(结合图2):
114.(1)在用户命令行(或文件读取)接口中读取输入字串。
115.(2)结合命名实体识别工具、提及纠错模型以及前期构建的用户词典进行提及检 测,作为候选实体生成的种子对象。
116.(3)结合wikidata,wiki alias以及eda工具对上一步生成的提及做候选实体生成。 生成的数据格式为【正确实体;候选实体1;候选实体2;候选实体3;...】
117.(4)基于wikidata知识库做实体消歧。具体的做法为:将前期生成的候选实体和 正确实体以【词语序列;正确实体;候选实体1;候选实体2;候选实体3;...】的数 值向量格式送入到bert模型中,经过模型中的参数进行计算之后,输出各个候选实 体的分值。
118.(5)根据模型预测的结果对实体打分进行排序,选择排名最高的实体作为正确实 体。
119.在远程监督中高效地引入人类知识:
120.实体链接完成之后,接下来需要进行的则是关系打标的任务。在远程监督假设中, 当两个实体之间在wikidata知识库中存在关系时,便判定句子所表达的语义关系就是 wikidata知识库中表达的关系。这种做法的好处是能够快速在大规模的层次对数据进行 关系打标,缺点是打标的结果存在大量的噪音。在本方案中,使用维基数据的情况下, 远程监督的正确率比较高,这是因为维基数据是人工标注的百科数据,且语义关系多 为百科类事实类关系,歧义度比较少。如果采用其他类型的数据作为输入,比如文学 类数据,其歧义度就会大幅上升,需要引入人工降噪的过程。为了增强本方案的健壮 性,在此环节基于离
137.经过bert的计算之后,得到一个长度为256位的数值向量,该向量将会与步骤一 中构建词典时产生的数值向量进行匹配,发现与“某国国家足球队”该实体对应的数 值向量的点积最高,于是正确连接到了某国国家足球队这个实体上。对于n/a的类型, 模型可以直接分类n/a的类别标签上。6.关系分类
138.在上一步的预测出来之后,得到了【某人,某国国家足球队】这一对实体,在维 基知识图谱中,已有【某人是某国人,某人是某国国家队队长】这两个关系,此时该 数据便可自动打上“国籍”和“队长”这两个关系的标签。此时还希望关系分类模型 能学到这个关系,因为接下来还需要使用关系分类模型去预测其他的数据。
139.(7)人工和机器预测结合。模型通过学习球员和国家队之间的数据后,已经掌握 了对“球员,国家,国家队”之间关系的预测能力。这时,如果出现了一批新的数据, 或者出现了新的标注,自动化预测就会出现偏差。比如“张某去观看了某国国家队的 比赛”,由于张某的实体类型和国家队的实体类与“某人”句极为相似,模型会倾向于 把张某预测为某国国家队的队员,从而出现错误。本发明采用选择最大概率最小的样 本进行标注的方法来收集可能错误的数据。假如第一个数据预测为“国家队员”类的 概率为0.9,第二个数据预测为该类的概率只有0.5,那么就选择概率低的数据出来作为 标注数据。
140.(8)迭代。以上步骤结束后,会在产生的数据中抽样出一批数据,检查正确率。 当正确率高于0.95时,整个流程结束,数据生产完毕。
141.本发明提供了一种快速构建重叠关系抽取文本数据的方法,具体实现该技术方案 的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领 域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰, 这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用 现有技术加以实现。