掌桥专利:专业的专利平台
掌桥专利
首页

一种基于预训练语言模型的开放域科学知识发现方法和装置

文献发布时间:2023-06-19 18:25:54


一种基于预训练语言模型的开放域科学知识发现方法和装置

技术领域

本发明属于自然语言处理和机器学习领域,具体涉及一种基于预训练语言模型的开放域科学知识发现方法和装置。

背景技术

预训练语言模型的发展将自然语言处理领域的研究提升到了一个新的阶段,无需人工标签,就可以从海量的语料中可以学习到通用的语言表示,并显著提升下游的任务。一些研究已经表明,预训练语言模型具有一定的存储信息、回答问题的能力,它们的参数中隐含了不同种类的知识,这种对知识的获取对于语言模型在各种下游任务中至关重要。然而,就像大多数神经系统一样,预训练语言模型中的知识是以扩散的方式进行编码,这使得它通常难以解释和更新。

鉴于预训练语言模型的发展,预训练语言模型被广泛用于科学领域的科学知识图谱的补充构建。科学知识图谱包含了由三元组(头实体、关系、尾实体)记载的各种科学知识,其中,头实体和尾实体可以为疾病、药物、基因、分子等生物医学、化学等各科学领域实体,关系为包含、作用于、类型等。

预训练中学习的知识可以通过微调或提示进行潜在的获取,提示是一种不需要任何添加就能直接获取这些知识的有效方法。提示可以分为人工创建的提示和自动学习的提示。虽然人工创建的提示很直观,而且确实可以在一定程度上三元组补全任务,但这种方法需要时间和经验,特别是对于一些复杂的补全任务,即使是有经验的提示设计者也可能无法手工发现最佳提示。自动学习的提示实现了提示模板设计过程的自动化,但未能充分的捕捉到科学的术语信息。

专利文献CN114706943A公开的一种意图识别的方法,利用预训练语言模型对增加有提示的输入文本进行意图识别。增加的提示没有捕捉科学的术语信息,导致学习过程中挖掘的嵌入知识准确性欠佳。

专利文献CN114661913A公开了一种基于预训练语言模型的实体关系抽取方法,通过筛选提示模板来解决于知识挖掘方案中提示模板标注需要人工参与,从而导致知识挖掘效率较差的缺陷,但是该方法仍然没有捕捉科学术语信息,也会导致学习过程中挖掘的嵌入知识准确性欠佳。

发明内容

鉴于上述,本发明的目的是提供一种基于预训练语言模型的开放域科学知识发现方法和装置,充分考虑到外部科学知识和可学习的知识表示,可以更好的获取到预训练语言模型中的知识,达到更好地探测预训练语言模型中知识的能力,提升预训练语言模型对知识的发现效率和准确性。

为实现上述发明目的,实施例提供的一种基于预训练语言模型的开放域科学知识发现方法,包括以下步骤:

从科学知识图谱中提取三元组(头实体、关系、尾实体),为每个关系利用外部科学知识构建第一提示语和第二提示语;

构建预训练语言模型的输入模板,所述输入模板包括头实体、第一提示语、第二提示语以及尾实体掩码;

将包含目标关系的所有三元组作为样本数据,将每个三元组的头实体、目标关系对应的第一提示语和第二提示语填充输入模板中,并将尾实体掩码处理,形成输入样本数据;

为每个目标关系构建单个预训练语言模型,利用目标关系对应的输入样本数据对预训练语言模型进行掩码任务的训练,优化第一提示语和第二提示语的嵌入表示;

利用优化的第一提示语和第二提示语的嵌入表示以及预训练语言模型进行包含目标关系的三元组中缺失实体的预测,实现开放域科学知识的发现。

优选地,利用外部科学知识构建的第一提示语和第二提示语与三元组中关系相关,第一提示语在输入模板中作为离散的tokens,第二提示语在输入模板中作为连续空间向量的初始化tokens。

优选地,目标关系对应的第一提示语填充在输入模板中以离散的形式存在,作为目标关系的离散tokens。

优选地,目标关系对应的第二提示语填充在输入模板中以连续向量的形式存在,作为目标关系的连续向量的初始化tokens。

优选地,利用预训练好的embedding对目标关系对应的第二提示语中的tokens进行嵌入表示,该嵌入表示作为目标关系的连续向量的初始化。

优选地,利用目标关系对应的输入样本数据对预训练语言模型进行掩码任务的训练,保持预训练语言模型的参数固定不变,采用以下损失函数并通过梯度修正法来最小化输入样本数据的负对数可能性,以更新第一提示语和第二提示语的嵌入表示;

其中,

优选地,利用优化的第一提示语和第二提示语的嵌入表示以及预训练语言模型进行包含目标关系的三元组中缺失实体的预测,包括:

将三元组中已知实体作为头实体,并将头实体、优化的第一提示语和第二提示语的嵌入表示填充输入模板中,以形成输入样本数据;

将输入样本数据输入至预训练语言模型,经过计算输出三元组中缺失实体的预测概率。

为实现上述发明目的,实施例提供了一种基于预训练语言模型的开放域科学知识发现装置,包括:

外部知识获取模块,用于从科学知识图谱中提取三元组(头实体、关系、尾实体),为每个关系利用外部科学知识构建第一提示语和第二提示语;

输入模板构建模块,用于构建预训练语言模型的输入模板,所述输入模板包括头实体、第一提示语、第二提示语以及尾实体掩码;

输入样本数据构建模块,用于将包含目标关系的所有三元组作为样本数据,将每个三元组的头实体、目标关系对应的第一提示语和第二提示语填充输入模板中,并将尾实体掩码处理,形成输入样本数据;

训练模块,用于为每个目标关系构建单个预训练语言模型,利用目标关系对应的输入样本数据对预训练语言模型进行掩码任务的训练,优化第一提示语和第二提示语的嵌入表示;

应用模块,用于利用优化的第一提示语和第二提示语的嵌入表示以及预训练语言模型进行包含目标关系的三元组中缺失实体的预测,实现开放域科学知识的发现。

与现有技术相比,本发明具有的有益效果至少包括:

在构建输入样本数据时,引入外部科学知识来作为目标关系的第一提示语和第二提示语,使得输入样本数据中包含了更多的科学相关的语义信息,在训练预训练语言模型时,融入连续空间的语义信息,不完全依赖于人工提示语的经验性,能够更有效地捕捉预训练语言模型中的知识信息,进而提升预训练语言模型对知识的发现效率和准确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。

图1是实施例提供的基于预训练语言模型的开放域科学知识发现方法的流程图;

图2是实施例提供的基于预训练语言模型的开放域科学知识发现方法的流程图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

为了使得预训练语言模型能够更好地学习到知识,达到更好的探测语言模型中知识的能力,提升预训练语言模型对知识的发现效率和准确性。实施例提供了一种基于预训练语言模型的开放域科学知识发现方法和装置。

如图1所示,实施例提供的基于预训练语言模型的开放域科学知识发现方法,包括以下步骤:

步骤1,从科学知识图谱中提取三元组,将三元组按照关系分类,并为每个关系利用外部科学知识构建第一提示语和第二提示语。

实施例中,从科学知识图谱中提取三元组包含(头实体h、关系r、尾实体t)包含了各种科学知识,其中,头实体包括疾病、药物、基因、分子等生物医学、化学等各科学领域实体,关系包括包含、作用于、类型等,尾实体包括疾病、药物、基因、分子等生物医学、化学等各科学领域实体。

实施例中,利用外部科学知识为每个关系构建两个提示语,其中,第一提示语t

步骤2,构建预训练语言模型的输入模板,所述输入模板包括头实体、第一提示语、第二提示语以及尾实体掩码。

客观事实之间不是相互独立的,数据驱动生成的提示语可以借鉴训练集中知识的分布,用于提取预训练语言模型中的知识,甚至可以在随机初始化的预训练语言模型中恢复客观事实。先前的一些方法(比如AutoPrompt)都是先在离散的词表中搜索出候选的较优的K个提示语,然后再进行挑选并验证,此时的搜索空间被限制在离散的空间中。如果替换为连续的向量,其可能并非是一个真实的token,而是连续的向量表示,此时缺少了离散的token的科学术语信息。为此,实施例使用科学术语构建第一提示语用作离散的tokens,还根据第二提示语添加连续空间向量作为初始化tokens,然后屏蔽三元组尾实体的token,去预测这些被屏蔽的token。因此,构建的输入模板为:

t

其中,[X]为三元组的头实体,[Term]

步骤3,将包含目标关系的所有三元组作为样本数据,将每个三元组的头实体、目标关系对应的第一提示语和第二提示语填充输入模板中,并将尾实体掩码处理,形成输入样本数据。

实施例中,将关注的关系作为目标关系,利用包含目标关系的所有三元组作为目标关系对应的预训练语言模型的样本数据。该样本数据通过输入模板转换为输入样本数据。具体地,目标关系对应的第一提示语和第二提示语填充输入模板中,在输入模板中,目标关系对应的第一提示语填充以离散的形式存在,作为目标关系的离散tokens。目标关系对应的第二提示语填充以连续向量的形式存在,作为目标关系的连续向量的初始化tokens。

在这个具有挑战性的非凸性优化问题中,良好的初始化连续向量是很重要的。因此,实施例考虑了一种更复杂的形式,即使用人工构建的第二提示语来决定每个目标关系的连续向量[P]的数量n以及位置,以及使用第二提示语中的tokens的预训练好的embedding初始化[P]。

同时将头实体填充到输入模板中,并对尾实体进行掩码mask处理,形成输入样本数据。

步骤4,为每个目标关系构建单个预训练语言模型,利用目标关系对应的输入样本数据对预训练语言模型进行掩码任务的训练,优化第一提示语和第二提示语的嵌入表示。

实施例中,每个目标关系对应一个个预训练语言模型,利用目标关系对应的输入样本数据对预训练语言模型进行掩码任务的训练,保持预训练语言模型的参数固定不变,采用以下损失函数并通过梯度修正法来最小化输入样本数据的负对数可能性,以更新第一提示语和第二提示语的嵌入表示;

其中,

通过预训练语言模型的知识掩码任务,来探索预训练语言模型的知识信息,并优化第一提示语和第二提示语的嵌入表示,该嵌入表示更有利于对三元组中缺失实体的预测。

步骤5,利用优化的第一提示语和第二提示语的嵌入表示以及预训练语言模型进行包含目标关系的三元组中缺失实体的预测,实现开放域科学知识的发现。

利用优化的第一提示语和第二提示语的嵌入表示以及预训练语言模型进行包含目标关系的三元组中缺失实体的预测,包括:

将三元组中已知实体作为头实体,并将头实体、优化的第一提示语和第二提示语的嵌入表示填充输入模板中,以形成输入样本数据,该输入样本数据为完形填空式语句。

将输入样本数据输入至预训练语言模型,经过计算输出三元组中缺失实体的预测概率,根据预测概率筛选缺失实体,该缺失实体来完善缺失三元组形成完整的三元组,实现开放域科学知识的发现。

基于同样的发明构思,如图2所示,实施例还提供了一种基于预训练语言模型的开放域科学知识发现装置,包括:

外部知识获取模块,用于从科学知识图谱中提取三元组,将三元组按照关系分类,为每个关系利用外部科学知识构建第一提示语和第二提示语;

输入模板构建模块,用于构建预训练语言模型的输入模板,所述输入模板包括头实体、第一提示语、第二提示语以及尾实体掩码;

输入样本数据构建模块,用于将包含目标关系的所有三元组作为样本数据,将每个三元组的头实体、目标关系对应的第一提示语和第二提示语填充输入模板中,并将尾实体掩码处理,形成输入样本数据;

训练模块,用于为每个目标关系构建单个预训练语言模型,利用目标关系对应的输入样本数据对预训练语言模型进行掩码任务的训练,优化第一提示语和第二提示语的嵌入表示;

应用模块,用于利用优化的第一提示语和第二提示语的嵌入表示以及预训练语言模型进行包含目标关系的三元组中缺失实体的预测,实现开放域科学知识的发现。

需要说明的是,上述实施例提供的基于预训练语言模型的开放域科学知识发现装置在进行基于预训练语言模型的开放域科学知识发现时,应以上述各功能模块的划分进行举例说明,可以根据需要将上述功能分配由不同的功能模块完成,即在终端或服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于预训练语言模型的开放域科学知识发现装置与基于预训练语言模型的开放域科学知识发现方法实施例属于同一构思,其具体实现过程详见基于预训练语言模型的开放域科学知识发现方法实施例,这里不再赘述。

以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

相关技术
  • 预训练语言模型的训练方法、语言模型的训练方法及装置
  • 一种开放域问答下基于KL正则化的检索器预训练方法
技术分类

06120115564064