基于知识蒸馏的属性识别方法、终端设备及存储介质与流程

文档序号:27000991发布日期:2021-10-19 22:05阅读:166来源:国知局
基于知识蒸馏的属性识别方法、终端设备及存储介质与流程

1.本发明涉及知识图谱领域,尤其涉及一种基于知识蒸馏的属性识别方法、终端设备及存储介质。


背景技术:

2.随着信息技术的快速发展,人们对快速、准确地获取信息的需求也愈加强烈,问答系统也应运而生。其中基于知识图谱的问答系统(knowledge base question answering,kbqa)因其精细管理性、高效复用性和精准理解性,目前受到广泛的关注。
3.构建基于知识图谱的问答系统的一个必要环节就是对问题进行关键信息解析,也就是要素识别,包括:实体识别、属性识别、标签识别、关系识别等。大规模知识图谱往往具有上万个属性,使用复杂度低、结构简单的小模型进行属性识别时具有准确率低、识别效果差等缺点;使用高复杂度的大模型进行属性识别时可以满足效果要求,但大模型参数量大,需要较长的推理计算时间,预测速度慢,影响问答系统效率,不满足生产部署要求。


技术实现要素:

4.为了解决上述问题,本发明提出了一种基于知识蒸馏的属性识别方法、终端设备及存储介质。
5.具体方案如下:
6.一种基于知识蒸馏的属性识别方法,包括以下步骤:
7.s1:采集不同领域的问答数据,并对每条问答数据的属性进行标注,将所有问答数据和其对应的属性组成训练集;
8.s2:构建教师网络模型,用于根据输入的问答数据输出其属性所属类别的概率,通过训练集对教师网络模型进行训练,得到最终的教师网络模型;
9.s3:根据不同领域的知识图谱,提取各实体对应的所有属性;
10.s4:对训练集中各问答数据进行实体识别,并根据识别的实体和实体对应的所有属性,得到各问答数据可能对应的所有属性,将各问答数据可能对应的所有属性作为各问答数据的先验知识;
11.s5:构建学生网络模型,用于根据输入的问答数据输出其属性所属类别的概率,并基于知识蒸馏和先验知识,通过训练集对学生网络模型进行训练,直到性能指标满足要求后,得到最终的学生网络模型;
12.s6:使用最终的学生网络模型进行问答数据的属性识别。
13.进一步的,步骤s1中还包括对各问答数据进行异常数据清洗、标点符号清洗或样本均衡操作的预处理。
14.进一步的,教师网络模型采用bert模型,模型中神经网络的最后一层输出z
i
,通过softmax层转换为属性所属类别的概率q
i

15.进一步的,softmax层采用如下函数表示:
[0016][0017]
其中,t表示温度参数,n表示训练集对应的属性所属类别的个数,i表示属性所属类别的序号,z
i
表示神经网络最后一层的输出值,q
i
表示样本被分类为第i类的概率。
[0018]
进一步的,学生网络模型采用bilstm模型。
[0019]
进一步的,步骤s5对学生网络模型进行训练具体包括以下步骤:
[0020]
s501:将训练集中的问答数据分别输入步骤s2得到的最终的教师网络模型和步骤s5构建的学生网络模型内,分别得到教师网络模型的输出结果和学生网络模型的输出结果将和中不属于输入的问答数据的先验知识的类别概率进行mask处理后,计算教师网络模型的输出结果和学生网络模型的输出结果的交叉熵l
soft
,记为第一损失;
[0021]
s502:将训练集中的问答数据输入步骤s5构建的学生网络模型内,得到学生网络模型的输出结果将真实标签c
i
和学生网络模型的输出结果中,不属于输入的问答数据的先验知识的类别概率进行mask处理后,计算真实标签c
i
和所述学生网络模型的输出结果的交叉熵l
hard
,记为第二损失;
[0022]
s503:将第一损失l
soft
和第二损失l
hard
进行加权求和,得到最终损失loss,根据最终损失loss进行误差反向传播,更新学生网络模型的模型参数,得到最终的学生网络模型。
[0023]
进一步的,第一损失l
soft
和第二损失l
hard
的计算公式分别为:
[0024][0025][0026]
其中,m表示未被mask的属性类别数。
[0027]
进一步的,步骤s503中加权求和的计算公式为:
[0028]
loss=(1

α)l
hard
+αl
soft
·
t2[0029]
其中,α∈(0,1)表示可调参数,t表示温度参数。
[0030]
一种基于知识蒸馏的属性识别终端设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例上述的方法的步骤。
[0031]
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述的方法的步骤。
[0032]
本发明采用如上技术方案,利用知识蒸馏和先验知识反向查询,实现了小网络模型对大规模知识图谱问答系统的属性识别,克服了传统属性识别方法精度和速度不能两全的缺点。在准确率略有下降的情况下,显著提升了推断速度,提升了整体问答系统的效率;大幅降低模型体积,减少了存储成本。
附图说明
[0033]
图1所示为本发明实施例一的流程图。
具体实施方式
[0034]
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
[0035]
现结合附图和具体实施方式对本发明进一步说明。
[0036]
实施例一:
[0037]
本发明实施例提供了一种基于知识蒸馏的属性识别方法,如图1所示,所述方法包括以下步骤:
[0038]
s1:采集不同领域的问答数据,并对每条问答数据的属性进行标注,将所有问答数据和其对应的属性组成训练集。
[0039]
问答数据的采集可以通过爬虫各领域的真实业务场景进行,对属性的标注可以通过人工或半人工的方式进行,每条问答数据和其对应的属性共同组成一条训练数据。
[0040]
该实施例中,通过爬虫得到5w条问答数据,但以知识图谱的规模,5w条训练数据远远不足,因此,进一步的,使用自定义的数据自动生成器生成500w条训练数据,与人工标注的5w条训练数据一起,构成原始的训练集。自定义的数据自动生成器本领域技术人员可以采用现有技术进行构建,在此不做限定。
[0041]
进一步的,该实施例中还包括对训练集中的训练数据进行异常数据清洗、标点符号清洗、样本均衡操作等的预处理,预处理后得到由505w条训练数据组成的训练集。
[0042]
s2:构建教师网络模型,用于根据输入的问答数据输出其属性所属类别的概率,通过训练集对教师网络模型进行训练,得到最终的教师网络模型。
[0043]
教师网络模型用于提取训练数据的深层特征,将属性识别问题转化为属性多类别分类问题。该实施例中教师网络模型优选采用bert(bidirectional encoder representations from transformers,基于transformer的双向编码器表示)模型。
[0044]
在教师网络模型中,神经网络的最后一层输出z
i
,通过softmax层转换为属性所属类别的概率q
i
。该实施例中softmax层采用如下函数表示:
[0045][0046]
其中,t表示温度参数,为大于0的整数,n表示训练集对应的属性所属类别的个数,i表示属性所属类别的序号,z
i
表示神经网络最后一层的输出值,q
i
表示样本被分类为第i类的概率,n个不同的类别概率q
i
就构成了概率分布。教师网络模型的softmax层输出即为所述的概率分布。
[0047]
该实施例中softmax层的温度参数t设置为1,将训练集中的数据输入教师网络模型进行训练,训练结束后保存教师网络模型。该实施例中,最终的教师网络模型的准确率acc达到96%,f1

score达到95%,单条数据推断速度为150ms,模型大小为476mb。
[0048]
s3:根据不同领域的知识图谱,提取各实体对应的所有属性。
[0049]
知识图谱中存储有各实体对应的所有属性,该实施例中通过cypher查询语句,可以获得知识图谱中全部的实体和属性的对应关系。
[0050]
s4:对训练集中各问答数据进行实体识别,并根据识别的实体和实体对应的所有
[0068]
其中,α∈(0,1)表示可调参数,该实施例中设定为0.7,温度参数t为5。
[0069]
如果性能指标不满足要求,可调整超参数重新训练,直到性能指标满足要求。所述超参数包括知识蒸馏相关的温度参数t、l
soft
和l
hard
的权重,以及常规的深度学习网络调优参数,如训练次数epoch、学习率等。所述性能指标包括分类准确率acc、f1

score和推断速度。
[0070]
该实施例中,最终的学生网络模型的准确率acc为94%,f1

score为93%,单条数据推断速度为40ms,模型大小为93mb,满足业务要求。
[0071]
s6:使用最终的学生网络模型进行问答数据的属性识别。
[0072]
通过实验验证,使用学生网络模型进行属性识别,相比教师网络模型,准确率acc下降2%,f1

score下降2%,单条数据推断速度提升73%,模型大小减小80%。
[0073]
本发明实施例利用知识蒸馏和先验知识反向查询,实现了小网络模型对大规模知识图谱问答系统的属性识别,克服了传统属性识别方法精度和速度不能两全的缺点。在准确率略有下降的情况下,显著提升了推断速度,提升了整体问答系统的效率;大幅降低模型体积,减少了存储成本。
[0074]
实施例二:
[0075]
本发明还提供一种基于知识蒸馏的属性识别终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例一的上述方法实施例中的步骤。
[0076]
进一步地,作为一个可执行方案,所述基于知识蒸馏的属性识别终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述基于知识蒸馏的属性识别终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述基于知识蒸馏的属性识别终端设备的组成结构仅仅是基于知识蒸馏的属性识别终端设备的示例,并不构成对基于知识蒸馏的属性识别终端设备的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述基于知识蒸馏的属性识别终端设备还可以包括输入输出设备、网络接入设备、总线等,本发明实施例对此不做限定。
[0077]
进一步地,作为一个可执行方案,所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述基于知识蒸馏的属性识别终端设备的控制中心,利用各种接口和线路连接整个基于知识蒸馏的属性识别终端设备的各个部分。
[0078]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述基于知识蒸馏的属性识别终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器
件、或其他易失性固态存储器件。
[0079]
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述方法的步骤。
[0080]
所述基于知识蒸馏的属性识别终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)以及软件分发介质等。
[0081]
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1