一种无监督式的题目聚合方法、装置、电子设备及存储介质与流程

文档序号:21930066发布日期:2020-08-21 14:53阅读:171来源:国知局
一种无监督式的题目聚合方法、装置、电子设备及存储介质与流程

本发明涉及信息检索技术领域,具体涉及一种无监督式的题目聚合方法、装置、电子设备及存储介质。



背景技术:

通常而言,新题目数据库构建或者新增题目入库的过程,都需要对题目进行年级、科目、知识点或者相似的题型等数据标注。然而,该过程目前仍旧依赖于人工打标。该过程除了需要大量人力资源之外,也由于庞杂的知识点体系和不同的教材版本导致每个标注人员主观判断不一致的问题,题目库的构建与补充过程中引入许多错误数据;无法得到题目的精准标注。



技术实现要素:

针对所述缺陷,本发明实施例公开了一种无监督式的题目聚合方法、装置、电子设备及存储介质,能够降低维护成本,也减少人员标注引入的误差。

本发明实施例第一方面公开一种无监督式的题目聚合方法,所述方法包括:

将目标题目输入预训练模型,得到所述目标题目对应的句特征向量;

将所述句特征向量输入检索引擎,搜索所述检索引擎构建的二叉检索树,确定目标叶子节点,所述目标叶子节点为与所述句特征向量相似度最大的叶子节点;

为所述目标题目赋予标签,所述标签为目标叶子节点所属的簇对应的类别标签。

作为一种可选的实施方式,在本发明实施例第一方面中,所述将目标题目输入预训练模型,得到所述目标题目对应的句特征向量,包括:

利用无监督数据训练的bert预训练中文模型将所述目标题目转化为句特征向量。

作为一种可选的实施方式,在本发明实施例第一方面中,在将目标题目输入预训练模型之前,还包括:对所述目标题目进行预处理,所述预处理包括去除所述目标题目中的题目编号和/或题目分数。

作为一种可选的实施方式,在本发明实施例第一方面中,如果所述目标题目中包括特殊字符,则所述预处理还包括:将所述特殊字符转换成latex格式;所述特殊字符为数学公式、化学式以及标点符号中的任一种或多种。

作为一种可选的实施方式,在本发明实施例第一方面中,所述检索引擎为annoy检索引擎,所述annoy构建分割超平面的二叉检索树,将题目库中已有题目聚类到二叉检索树的叶子节点,为每一个叶子节点所属的簇标注不同的类别标签。

作为一种可选的实施方式,在本发明实施例第一方面中,搜索所述检索引擎构建的二叉检索树,确定目标叶子节点,包括:

从二叉检索树的根节点出发,计算所述句特征向量与左孩子节点以及右孩子节点的相似度,如果句特征向量与所述左孩子节点的相似度大于所述句特征向量与所述右孩子节点的相似度,则以相同方法遍历所述左孩子节点的子节点,直至遍历到叶子节点;反之则以相同方法遍历所述右孩子节点的子节点,直至遍历到叶子节点。

作为一种可选的实施方式,在本发明实施例第一方面中,为所述目标题目赋予标签,所述标签为目标叶子节点所属的簇对应的类别标签,包括:

直接将所述类别标签赋予所述目标题目;

或者,

判断所述句特征向量和所述目标叶子节点的相似度是否大于或等于预设阈值,如果大于或等于预设阈值,则将所述类别标签赋予所述目标题目。

本发明实施例第二方面公开一种无监督式的题目聚合装置,其包括:

转化单元,用于将目标题目输入预训练模型,得到所述目标题目对应的句特征向量;

检索单元,用于将所述句特征向量输入检索引擎,搜索所述检索引擎构建的二叉检索树,确定目标叶子节点,所述目标叶子节点为与所述句特征向量相似度最大的叶子节点;

打标单元,用于为所述目标题目赋予标签,所述标签为目标叶子节点所属的簇对应的类别标签。

作为一种可选的实施方式,在本发明实施例第二方面中,所述检索单元,包括:

输入子单元,用于将所述句特征向量输入检索引擎;

遍历子单元,用于从二叉检索树的根节点出发,计算所述句特征向量与左孩子节点以及右孩子节点的相似度,如果句特征向量与所述左孩子节点的相似度大于所述句特征向量与所述右孩子节点的相似度,则以相同方法遍历所述左孩子节点的子节点,直至遍历到叶子节点;反之则以相同方法遍历所述右孩子节点的子节点,直至遍历到叶子节点。

本发明实施例第三方面公开一种电子设备,包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,用于执行本发明实施例第一方面公开的一种无监督式的题目聚合方法。

本发明实施例第四方面公开一种计算机可读存储介质,其存储计算机程序,其中,所述计算机程序使得计算机执行本发明实施例第一方面公开的一种无监督式的题目聚合方法。

本发明实施例第五方面公开一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行本发明实施例第一方面公开的一种无监督式的题目聚合方法。

本发明实施例第六方面公开一种应用发布平台,所述应用发布平台用于发布计算机程序产品,其中,当所述计算机程序产品在计算机上运行时,使得所述计算机执行本发明实施例第一方面公开的一种无监督式的题目聚合方法。

与现有技术相比,本发明实施例具有以下有益效果:

本发明实施例中,将目标题目输入预训练模型,得到所述目标题目对应的句特征向量;将所述句特征向量输入检索引擎,搜索所述检索引擎构建的二叉检索树,确定目标叶子节点;为所述目标题目赋予目标叶子节点对应的标签。可见,实施本发明实施例,通过对题目进行聚类后,能将题目库中的相似题进行聚类,对整个类别标注能有效减少标注的工作量;同时,通过遍历二叉检索树对新入库的题目自动打标;降低维护成本,也减少人员标注引入的误差。

附图说明

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

图1是本发明实施例公开的一种无监督式的题目聚合方法的流程示意图;

图2是本发明实施例公开的二叉检索树的结构示意图;

图3是本发明实施例公开的另一种无监督式的题目聚合装置的结构示意图;

图4是本发明实施例公开的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同的对象,而不是用于描述特定顺序。本发明实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,示例性地,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明实施例公开了一种无监督式的题目聚合方法、装置、电子设备及存储介质,可以对题目库中的已有题目进行聚类,对于新入库的题目,只要遍历二叉检索树即可自动打标,能够降低维护成本,也减少人员标注引入的误差,以下结合附图进行详细描述。

实施例一

请参阅图1,图1是本发明实施例公开的一种无监督式的题目聚合方法的流程示意图。其中,本发明实施例所描述的方法适用于计算机或服务器等电子设备的数据聚合中。如图1所示,该无监督式的题目聚合方法包括以下步骤:

110、将目标题目输入预训练模型,得到所述目标题目对应的句特征向量。

目标题目是指待打标的新入库题目。预训练模型可以是bert(bidirectionalencoderrepresentationsfromtransformers)预训练中文模型。bert是google开发的nlp(自然语言处理)预训练技术,为无监督数据训练模型。bert本质上是一个两阶段式的nlp模型:第一个阶段为pre-training(预训练),是利用现有无标记的语料训练一个语言模型;第二个阶段为fine-tuning(微调),利用预训练好的语言模型,完成具体的nlp下游任务。

bert预训练中文模型已经经过训练,可以直接输出句特征向量,但是如果需要特殊转化,则需要预先通过标注数据对其进行训练。

当然也可以采用其他还转换模型将目标题目转换成句特征向量,例如ernie模型。

目标题目在输入预训练模型之前,需要进行预处理,预处理主要包括去除目标题目中的题目编号,如果目标题目中含有分数,则也将题目分数去除。如果目标题目中含有数学公式、化学式以及标点符号等特殊字符,则需要先对其进行转换,示例性地,可以将这些特殊转换成latex格式。

120、将所述句特征向量输入检索引擎,搜索所述检索引擎构建的二叉检索树,确定目标叶子节点,所述目标叶子节点为与所述句特征向量相似度最大的叶子节点。

检索引擎为事先创建,例如通过annoy算法创建的句特征向量近似最近邻索引。

annoy(approximatenearestneighborsohyeah)是erikbernhardsson编写的一个求解高维空间最近邻结果的一个开源库,由c++开发,同时支持python语言。annoy算法可以达到高维空间最近邻算法开源库的速度,同时它可以使用静态文件作为索引,并且该静态文件可以快速映射到内存中,因此用户可以跨进程使用这些索引;另一个优点是annoy算法做了索引的优化,降低的索引所占的内存空间大小,十分适合处理海量文档向量的应用场景。

annoy算法是一种近似邻近搜索算法,用于将已有题目搜索全空间进行划分,将相关性的向量空间紧密的存放在一起。annoy算法不会具体的指定映射函数,而是对于给定的数据向量,使用无监督学习聚类的方式来划分超平面进行数据分割,使得数据查询的数据复杂度降低到o(logn)。

annoy检索引擎基于题目库中的已有题目创建,这里的已有题目与目标题目类似,也要经过预处理后转换成句特征向量,为了区分,这里将已有题目的句特征向量称为给定句特征向量,annoy算法基于给定句特征向量构建分割超平面的二叉检索树,将给定句特征向量聚类到二叉检索树的叶子节点,即完成题目库中已有题目的聚类。

annoy算法构建分割超平面的二叉检索树的过程是:

对于给定句特征向量,需要从数据空间中任意选择两个向量作为初始化向量中心。采用这两个初始化向量中心对全空间内的给定句特征向量进行聚类算法操作,划分数据簇为两个,将全空间的定句特征向量收敛为两个簇。

找到两个簇的中心,以这两个簇的中心节点之间的连线的中心点为划分点,以经过该划分点并垂直于两个簇的中心节点之间的连线划分超平面,将全空间划分为两个子空间。

重复上述过程,对于每个子空间的句子特征向量作为全量数据不断地迭代划分超平面,形成更小的子空间,这样就会以无监督聚类分割超平面的形式形成一棵二叉检索树的空间结构。

当然,上述划分过程中,不可能无限地进行分割,示例性地,当某个子空间内句子特征向量的数量小于或等于预设数量时,则该子空间不在进行分割。

图2示出了一棵二叉检索树的结构示意图图,在图2中,每个节点均对应一个空间,每个空间内的句特征向量构成一个簇。最上面的没有父节点的节点a称为根节点,下面的没有子节点的节点称为叶子节点(用圈表示的节点均为叶子节点)。对于任意具有子节点的父节点而言,其必然存在两个子节点,分别称为左孩子节点和右孩子节点。例如,节点c1和节点c2分别是节点b1的左孩子节点和右孩子节点,代表节点b1对应的簇由节点c1和节点c2对应的簇聚合而成,而节点b1又是根节点a的左孩子节点。

构建二叉检索树后,为每个叶子节点对应的簇人工标注一个类别标签,也可以为所有簇均标注相应的标签。如果出现无法标注的情况,可以重新分割超平面构建二叉检索树,直至能够标注为止。

目标题目的句特征向量输入annoy检索引擎中,检索得到目标叶子节点,目标叶子节点所属簇内的给定句特征向量与目标题目的句特征向量相似,从而为目标题目自动打上目标叶子节点所属簇的类别标签。

检索过程是:

从二叉检索树的根节点出发,计算所述句特征向量与左孩子节点以及右孩子节点的相似度,如果句特征向量与所述左孩子节点的相似度大于所述句特征向量与所述右孩子节点的相似度,则以相同方法遍历所述左孩子节点的子节点,直至遍历到叶子节点;反之则以相同方法遍历所述右孩子节点的子节点,直至遍历到叶子节点。

示例性地,以图2为例,假定目标题目的句特征向量为f,从二叉树的根节点出发,先计算f与节点b1的相似度,假设为g1。f与节点b1的相似度可以采用f与节点b1所属簇的簇中心节点对应的给定句特征向量进行相似度比对,同样地,与其他任意节点的相似度比对均是与该节点所属簇的簇中心节点对应的给定句特征向量进行的,相似度计算可以是余弦距离、欧氏距离等的任一种,在计算f与节点b2的相似度,假设为g2。如果g1大于g2,则向节点b1的子节点遍历,不再考虑节点b2的子节点以及孙节点等。反之,则向节点b2的子节点遍历。

同理,当向b1的子节点遍历时,如果f与节点c1的相似度g3小于f与节点c2的相似度g4,则继续遍历节点c1的子节点,如果f与节点d3的相似度g5小于f与节点d4的相似度g6,由于d4为叶子节点,则停止检索,d4即为目标叶子节点,反之,则继续向节点d3的子节点遍历,如果f与节点e1的相似度g7大于f与节点e2的相似度g8,则e1即为目标叶子节点。

检索引擎也可以采用其他算法实现,例如通过字符串匹配进行相似题搜索的es(elasticsearch)检索引擎或者hnsw(hierarchcalnavigablesmallworldgraphs)算法等。

130、为所述目标题目赋予标签,所述标签为目标叶子节点所属的簇对应的类别标签。

由于每个叶子节点所属簇均在先人工标注有类别标签,则可以直接将目标叶子节点所属簇的类别标签自动赋予目标题目,同时,根据该目标题目的标签将目标题目的句特征向量自动聚类到对应的簇的叶子节点下。

为了保证自动打标的准确性,在一些情况下,还可以预设一定的阈值,当目标题目的句子特征向量与目标叶子节点的相似度大于或等于预设阈值时,才将目标叶子节点所属簇的类别标签自动赋予目标题目,同时,根据该目标题目的标签将目标题目的句特征向量自动聚类到对应的簇的叶子节点下。

如果目标题目的句子特征向量与目标叶子节点的相似度小于预设阈值时,可以构建森林的方式,即构建多个二叉检索树,以步骤120相同的方式遍历所有的二叉检索树,直至目标题目的句子特征向量与目标叶子节点的相似度大于或等于预设阈值,当然,在构建多个二叉检索树时,可能会存在多个目标题目的句子特征向量与目标叶子节点的相似度大于或等于预设阈值的情况,此时,可以取目标题目的句子特征向量与目标叶子节点的相似度最大的目标叶子节点作为最终的叶子节点,也可以检索到第一个相似度大于预设阈值的目标叶子节点即停止继续检索。

实施本发明实施例,可以将所有相同或者相似题目聚合成同一类,在构建题目库的过程中,可以直接对整一类的题目进行人工标定,能有效减少标注的工作量。而在新题目(即目标题目)入库过程中,也可以对新题目根据其被聚到某一类中的题目标签进行自动打标。从而减少人工成本和人的主观误差的引入。同时,由于引入句子特征向量中除了包含题目的字符特征信息,也包含了句子的语义信息,因此对不同表述的相似题进行更好的检索聚类。

实施例二

请参阅图3,图3是本发明实施例公开的一种无监督式的题目聚合装置的结构示意图。如图3所示,该无监督式的题目聚合装置可以包括:

转化单元220,用于将目标题目输入预训练模型,得到所述目标题目对应的句特征向量;

检索单元230,用于将所述句特征向量输入检索引擎,搜索所述检索引擎构建的二叉检索树,确定目标叶子节点,所述目标叶子节点为与所述句特征向量相似度最大的叶子节点;

打标单元240,用于为所述目标题目赋予标签,所述标签为目标叶子节点所属的簇对应的类别标签。

作为一种可选的实施方式,所述转化单元220包括利用无监督数据训练的bert预训练中文模型将所述目标题目转化为句特征向量。

作为一种可选的实施方式,所述装置还包括预处理单元210,用于在将目标题目输入预训练模型之前,对所述目标题目进行预处理,所述预处理包括去除所述目标题目中的题目编号和/或题目分数;如果所述目标题目中包括特殊字符,则所述预处理单元210还用于将所述特殊字符转换成latex格式;所述特殊字符为数学公式、化学式以及标点符号中的任一种或多种。

作为一种可选的实施方式,所述检索引擎为annoy检索引擎,所述annoy构建分割超平面的二叉检索树,将题目库中已有题目聚类到二叉检索树的叶子节点,为每一个叶子节点所属的簇标注不同的类别标签。

作为一种可选的实施方式,所述检索单元230包括输入子单元231和遍历子单元232,其中,输入子单元231用于将所述句特征向量输入检索引擎;遍历子单元232用于从二叉检索树的根节点出发,计算所述句特征向量与左孩子节点以及右孩子节点的相似度,如果句特征向量与所述左孩子节点的相似度大于所述句特征向量与所述右孩子节点的相似度,则以相同方法遍历所述左孩子节点的子节点,直至遍历到叶子节点;反之则以相同方法遍历所述右孩子节点的子节点,直至遍历到叶子节点。

作为一种可选的实施方式,所述打标单元240用于直接将所述类别标签赋予所述目标题目;或者,判断所述句特征向量和所述目标叶子节点的相似度是否大于或等于预设阈值,如果大于或等于预设阈值,则将所述类别标签赋予所述目标题目。

图3所示的无监督式的题目聚合装置,首先可以通过对已有题目进行聚类后,能将题目库中的相似题进行聚类,对整个聚类后形成的簇进行人工标注即可,能够有效减少标注的工作量;同时,通过遍历二叉检索树对新入库的目标题目自动打标,可以很大程度上降低维护成本,也减少人员标注引入的误差。

实施例三

请参阅图4,图4是本发明实施例公开的一种电子设备的结构示意图。电子设备可以是计算机以及服务器等,当然,在一定情况下,还可以是手机、平板电脑、家教机、学习机等智能设备。如图4所示,该电子设备可以包括:

存储有可执行程序代码的存储器310;

与存储器310耦合的处理器320;

其中,处理器320调用存储器310中存储的可执行程序代码,执行实施例一中的无监督式的题目聚合方法中的部分或全部步骤。

本发明实施例公开一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序使得计算机执行实施例一中的无监督式的题目聚合方法中的部分或全部步骤。

本发明实施例还公开一种计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行实施例一中的无监督式的题目聚合方法中的部分或全部步骤。

本发明实施例还公开一种应用发布平台,其中,应用发布平台用于发布计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行实施例一中的无监督式的题目聚合方法中的部分或全部步骤。

在本发明的各种实施例中,应理解,所述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物单元,即可位于一个地方,或者也可以分布到多个网络单元上。可根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本发明的各个实施例所述方法的部分或全部步骤。

在本发明所提供的实施例中,应理解,“与a对应的b”表示b与a相关联,根据a可以确定b。但还应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其他信息确定b。

本领域普通技术人员可以理解所述实施例的各种方法中的部分或全部步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(read-onlymemory,rom)、随机存储器(randomaccessmemory,ram)、可编程只读存储器(programmableread-onlymemory,prom)、可擦除可编程只读存储器(erasableprogrammableread-onlymemory,eprom)、一次可编程只读存储器(one-timeprogrammableread-onlymemory,otprom)、电子抹除式可复写只读存储器(electrically-erasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

以上对本发明实施例公开的一种无监督式的题目聚合方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1