1.本申请涉及计算机技术领域,尤其涉及一种试题查重方法、装置、存储介质及设备。
背景技术:
2.随着人工智能(artificial intelligence,检测ai)技术的不断突破和各种智能终端设备的日益普及,传统教育行业已悄然发生改变,新兴的ai 教育得到了迅猛的发展。而在ai 教育领域中,实现对学生的错题进行举一反三、错题再练,已成为行业刚需。因此,在试题库日益积累试题的过程中,如何在试题检索时,既能找到符合用户需求的相似试题,又能及时筛选出重复的试题并将其删除,以提升整个试题库的质量,就显得尤为重要,这也是业界的一个研究热点。
3.现有的试题查重方法通常有两种:一种是利用倒排索引的方式进行查重的方法,虽然该方法具有较快的搜索速度,但存在以下三个缺点:一是不支持部分文档更新时的查重;二是如果要实现新的文档被搜索,则需要更新整个倒排索引,这限制了索引包含的数据量和索引更新的频次;三是不支持基于试题语义的查重。而另一种常用的试题查重方法则是利用simhash算法进行查重的方法,该方法也存在以下两个缺点:一是受限于该算法本身仅能适用于长文本的查重,如新闻、博客等,而对于一道教学题目(如数学题或物理题)来说,其长度通常远小于新闻的长度,导致在查重精度上表现较差;二是该算法天然存在一些算法上的缺点,比如当对试题编码时遇到哈希值(hash)冲突时也不好解决,也会导致查重结果的准确性较低。可见,前述两种查重方法均会存在的问题是:当试题查重的数据量过大时,会导致整个查重速度变过慢,且查重的准确性不高。
技术实现要素:
4.本申请实施例的主要目的在于提供一种试题查重方法、装置、存储介质及设备,能够更加快速且准确地查询出重复试题。
5.本申请实施例提供了一种试题查重方法,包括:
6.获取待查重的目标试题的隐向量;所述隐向量用于表征所述目标试题的语义信息;
7.利用预先构建的试题查重模型,根据所述目标试题的隐向量,从试题库中选取满足预设初选条件的试题,组成所述目标试题的初选重复试题集合;
8.根据所述初选重复试题集合中的试题与所述目标试题的相似度,从所述初选重复试题集合中确定所述目标试题对应的重复试题。
9.一种可能的实现方式中,所述获取待查重的目标试题的隐向量,包括:
10.获取待查重的目标试题,并对所述目标试题进行预处理,得到预处理后的目标试题;
11.对所述预处理后的目标试题进行分词,得到分词后的目标试题;
12.利用深度学习网络对所述分词后的目标试题进行编码,以确定出所述分词后的目标试题的隐向量,作为所述目标试题的隐向量。
13.一种可能的实现方式中,所述利用预先构建的试题查重模型,根据所述目标试题的隐向量,从试题库中选取满足预设初选条件的试题,组成所述目标试题的初选重复试题集合,包括:
14.计算所述试题库中的试题与所述目标试题之间的题目长度的差值;
15.当所述差值满足预设条件时,利用预先构建的试题查重模型,根据所述目标试题的隐向量与所述试题的隐向量之间的相似度,确定所述试题是否为所述目标试题的初选重复试题;并将确定出的所述目标试题的所有初选重复试题组成集合。
16.一种可能的实现方式中,所述根据所述初选重复试题集合中的试题与所述目标试题的相似度,从所述初选重复试题集合中确定所述目标试题对应的重复试题,包括:
17.计算所述初选重复试题集合中的每一试题与所述目标试题的隐向量之间的第一相似度;
18.计算所述初选重复试题集合中的每一试题与所述目标试题的结构组合之间的第二相似度;
19.根据所述第一相似度和所述第二相似度,从所述初选重复试题集合中确定所述目标试题对应的重复试题。
20.一种可能的实现方式中,所述计算所述初选重复试题集合中的每一试题与所述目标试题的结构组合之间的第二相似度,包括:
21.当所述目标试题不属于典型选择题时,计算所述初选重复试题集合中的每一试题的题面和选项,与所述目标试题的题面和选项的不同组合之间的相似度,并将其中最高的相似度作为第二相似度;
22.或者,当所述目标试题属于典型选择题时,计算所述初选重复试题集合中的每一试题的题干与所述目标试题的题干之间的相似度,以及计算所述初选重复试题集合中的每一试题的选项与所述目标试题的选项之间的相似度,并将其中最低的相似度作为第二相似度。
23.一种可能的实现方式中,所述方法还包括:
24.从所述试题库中删除所述目标试题对应的重复试题。
25.本申请实施例还提供了一种试题查重装置,包括:
26.获取单元,用于获取待查重的目标试题的隐向量;所述隐向量用于表征所述目标试题的语义信息;
27.选取单元,用于利用预先构建的试题查重模型,根据所述目标试题的隐向量,从试题库中选取满足预设初选条件的试题,组成所述目标试题的初选重复试题集合;
28.确定单元,用于根据所述初选重复试题集合中的试题与所述目标试题的相似度;从所述初选重复试题集合中确定所述目标试题对应的重复试题。
29.一种可能的实现方式中,所述获取单元包括:
30.获取子单元,用于获取待查重的目标试题,并对所述目标试题进行预处理,得到预处理后的目标试题;
31.分词子单元,用于对所述预处理后的目标试题进行分词,得到分词后的目标试题;
32.编码子单元,用于利用深度学习网络对所述分词后的目标试题进行编码,以确定出所述分词后的目标试题的隐向量,作为所述目标试题的隐向量。
33.一种可能的实现方式中,所述选取单元包括:
34.第一计算子单元,用于计算所述试题库中的试题与所述目标试题之间的题目长度的差值;
35.选取子单元,用于当所述差值满足预设条件时,利用预先构建的试题查重模型,根据所述目标试题的隐向量与所述试题的隐向量之间的相似度,确定所述试题是否为所述目标试题的初选重复试题;并将确定出的所述目标试题的所有初选重复试题组成集合。
36.一种可能的实现方式中,所述确定单元包括:
37.第二计算子单元,用于计算所述初选重复试题集合中的每一试题与所述目标试题的隐向量之间的第一相似度;
38.第三计算子单元,用于计算所述初选重复试题集合中的每一试题与所述目标试题的结构组合之间的第二相似度;
39.确定子单元,用于根据所述第一相似度和所述第二相似度,从所述初选重复试题集合中确定所述目标试题对应的重复试题。
40.一种可能的实现方式中,所述第三计算子单元具体用于:
41.当所述目标试题不属于典型选择题时,计算所述初选重复试题集合中的每一试题的题面和选项,与所述目标试题的题面和选项的不同组合之间的相似度,并将其中最高的相似度作为第二相似度;
42.或者,当所述目标试题属于典型选择题时,计算所述初选重复试题集合中的每一试题的题干与所述目标试题的题干之间的相似度,以及计算所述初选重复试题集合中的每一试题的选项与所述目标试题的选项之间的相似度,并将其中最低的相似度作为第二相似度。
43.一种可能的实现方式中,所述装置还包括:
44.删除单元,用于从所述试题库中删除所述目标试题对应的重复试题。
45.本申请实施例还提供了一种试题查重设备,包括:处理器、存储器、系统总线;
46.所述处理器以及所述存储器通过所述系统总线相连;
47.所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述试题查重方法中的任意一种实现方式。
48.本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述试题查重方法中的任意一种实现方式。
49.本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述试题查重方法中的任意一种实现方式。
50.本申请实施例提供的一种试题查重方法、装置、存储介质及设备,首先,获取待查重的目标试题的隐向量;其中,隐向量用于表征目标试题的语义信息,然后,利用预先构建的试题查重模型,根据目标试题的隐向量,从试题库中选取满足预设初选条件的试题,组成目标试题的初选重复试题集合;接着,根据初选重复试题集合中的试题与目标试题的相似度,从初选重复试题集合中确定目标试题对应的重复试题。可见,由于本申请实施例是基于
表征试题语义信息的隐向量进行查重,即使在试题部分文档进行更新时,也能够支持试题的查重,并且也能够提高查重结果的准确性。同时,利用试题查重模型(如根据试题库中试题的隐向量构建的hnsw模型)进行查重,还能够进一步提高试题查重速度和效率,得到准确性更高的试题查重结果。
附图说明
51.为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
52.图1为本申请实施例提供的一种试题查重方法的流程示意图;
53.图2为本申请实施例提供的确定分词后的目标试题的隐向量的示意图;
54.图3为本申请实施例提供的计算初选重复试题集合中的试题与目标试题的相似度的示意图;
55.图4为本申请实施例提供的一种试题查重装置的组成示意图。
具体实施方式
56.在一些试题查重方法中,通常是利用倒排索引的方式进行查重,或者是利用simhash算法进行查重,但这种查重方法在试题查重的数据量过大时,均会导致查重速度变过慢且查重的准确性不高的问题。
57.具体来讲,在利用倒排索引的方式进行试题查重的过程中,首先需要构造分词器,用以对试题库中的每道试题进行分词,然后,对于全量的已经分好词的文本进行构建倒排索引库,再以每道新题为搜索的query进行同样的分词进行查找。虽然该方法具有较快的搜索速度,但存在以下三个缺点:一是不支持部分文档更新时的查重;二是如果要实现新的文档被搜索,则需要更新整个倒排索引,这限制了索引包含的数据量和索引更新的频次;三是不支持基于试题语义的查重,这样因为而在实际场景中,有很多用例不仅仅是完全的字面重复,同时也存在很多语义重复的问题,特别是对于教育试题库的试题来说,此类问题尤其严重,比如,化学学科中的水和h2o,虽然字面不是重复的,但是对应表达的语义却是一致的,对于这种情况,利用倒排索引的方式进行查重,是无法得到准确的查重结果的。
58.而在利用simhash算法进行查重的过程中,首先是对试题库中的每一试题进行分词并计算其对应的哈希码(hashcode),然后在进行查重时,计算每道新题和试题库中所有试题的海明距离,因此,此类查重方法比较适用于长文本的查重。并且,也存在以下两个缺点:一是受限于simhash算法本身仅能适用于长文本的查重,如新闻、博客等,而对于一道教学题目(如数学题或物理题)来说,其长度通常远小于新闻的长度,导致在查重精度上表现较差;二是该算法天然存在一些算法上的缺点,比如当对试题编码时遇到哈希值(hash)冲突时也不好解决,也会导致查重结果的准确性较低。
59.为解决上述缺陷,本申请实施例提供了一种试题查重方法,首先,获取待查重的目标试题的隐向量;其中,隐向量用于表征目标试题的语义信息,然后,利用预先构建的试题查重模型,根据目标试题的隐向量,从试题库中选取满足预设初选条件的试题,组成目标试
等无实际意义的常用词;最后,需要将目标试题中的公式和专业词汇进行归一化处理,例如,对于x2,既可以将其写成x<sup>2的html形式的表达,也可以将其写成x^{2}的latex形式的表达,因此,为提高查重准确率,需要将目标试题中的类似文本进行归一化处理。
71.步骤a2:对预处理后的目标试题进行分词,得到分词后的目标试题。
72.在本实现方式中,通过步骤a1得到预处理后的目标试题后,进一步可以利用现有或未来出现的分词方法,对预处理后的目标试题进行分词处理,如可以采用如下分词过程:首先构建有向无环图,然后采用动态规划查找最大概率路径,接着,再找出基于词频的最大切分组合,对目标试题进行分词处理,得到分词后的目标试题,用以执行后续步骤a3。
73.需要说明的是,为了进一步提高查重结果的准确性,本实施例所使用的分词的扩展词典,更多的涉及到了教育领域的专业术语。因此,本实施例需要先提取出每个学科(如数学、化学、物理学等)的学科词典,再将这些学科词典和现有的通用开源词典融合起来,作为分词所依据的扩展词典。
74.其中,本申请构建每个学科(如数学、化学、物理学等)的学科词典的步骤包括:首先,使用n元语法的语言模型(n
‑
gram),统计出同一学科中所有相邻的字同时出现的次数,然后,基于这些统计的次数,由人工进行二次校验,过滤掉无效的词语,得到特定的专业词汇并构成学科词典。
75.举例说明:在物理学科中,可以使用3元语法的语言模型(3
‑
gram),统计出该学科中所有相邻的3个字同时出现的次数,当统计出“加速度”这三个字同时出现的频率相对于其他学科要高出很多,再经由人工判断可知,“加速度”属于物理学科中特定的专业词汇,可用于构建物理学科对应的学科词典。
76.还需要说明的是,在构建每个学科(如数学、化学、物理学等)的学科词典时,不同于对普通文本的处理方式,由于每个学科都有不同学科特性的专业词语,针对此类特殊的学科背景,本申请在构建科词典时,在利用传统的n
‑
gram进行分词的基础上,还提出以下两个构建规则,用以提高学科词典的构建速率。
77.(1)利用n
‑
gram对非字符级的文本分词的规则
78.可以理解的是,在类似数学学科的科目中,试题中通常会包含中大量的非字符级的文本(如数字),如果仍利用传统的n
‑
gram进行分词,将得到很多诸如“1、75,368”等的无效词,这些词对于构建数学学科的学科词典是无意义的。因此,需要将此类无意义的数字等词进行提前规约处理,如,可以基于正则的方式,将所有的数字规约成“num”的占位符进行表示。同理,对于诸如“f(x)”、“g(x)”等表示函数的字符串,也可以利用“fun”这样的占位符来表示。
79.(2)利用n
‑
gram对字符级的文本分词的规则
80.可以理解的是,在类似化学学科的科目中,大部分是化学表达式的题目,例如,naoh、co等。因此,对于化学学科,可以使用字符集语言模型n
‑
gram,提取化学学科中的关键词作为专业词汇,用以构建化学学科对应的学科词典。
81.可见,对于不同的学科,可能存在不同的构建学科词典的方式,实际构建过程中,可以根据具体的学科属性来选择合适的构建方式。
82.步骤a3:利用深度学习网络对分词后的目标试题进行编码,以确定出分词后的目标试题的隐向量,作为目标试题的隐向量。
world graphs)模型,作为试题查重模型,相对于传统的倒排索引,该模型能够极大的提升试题检索效率。该试题查重模型的具体构建过程与现有的hnsw模型构建过程一致,在此不再赘述。其中,各个试题的隐向量的获取方式可参照上述步骤a1
‑
a3的介绍,仅是将其中的目标试题依次替换为试题库中各个试题即可,详细获取过程在此不再赘述。
93.在此基础上,在通过步骤s101获取到待查重的目标试题的隐向量后,进一步可以预先构建的试题查重模型,根据目标试题的隐向量,从试题库中选取满足预设初选条件的试题,组成目标试题的初选重复试题集合。其中,预设初选条件指的是预先设置的试题库中能够作为组成初选重复试题集合的试题需要满足的条件,比如,可以按序依次从试题库中选择出与目标试题的隐向量之间的余弦相似度最高的前2道试题,组成初选重复试题集合;或者,也可以按序依次从试题库中选择出与目标试题的隐向量之间的余弦相似度均超过0.7的试题,组成初选重复试题集合等,具体的预设初选条件可根据实际情况进行设置,本申请实施例对比不进行限制。
94.但由于hnsw试题查重模型的每一层的搜索过程中,都需要进行大量的无效比较,因此,为了提高试题的搜索速度,可根据目标试题的题目长度,有选择的进行试题搜索,具体的,一种可选的实现方式是,本步骤s102“利用预先构建的试题查重模型,根据目标试题的隐向量,从试题库中选取满足预设初选条件的试题,组成目标试题的初选重复试题集合”的具体实现过程可以包括下述步骤b1
‑
b2:
95.步骤b1:计算试题库中的试题与目标试题之间的题目长度的差值。
96.由于通常情况下相同的试题往往有相差不大的题目长度,因此,可以充分利用试题的文本长度信息来减少大量的无效检索及对比次数,也就是说,若两道试题的题目长度相差越大,则越应该是无效对比,可以将其忽略不计,即二者基本不可能是重复试题,无需进行对比。具体的,在本实现方式中,首先,计算试题库中的试题与目标试题之间的题目长度的差值,用以执行后续步骤b2。例如,假设目标试题的题目长度为l1,而试题库中的某道试题的题目长度为l2,则二者之间的差值即为|l1‑
l2|。
97.步骤b2:当差值满足预设条件时,利用预先构建的试题查重模型,根据目标试题的隐向量与试题的隐向量之间的相似度,确定试题是否为目标试题的初选重复试题;并将确定出的目标试题的所有初选重复试题组成集合。
98.在本实现方式中,通过步骤b1计算出试题库中的试题与目标试题之间的题目长度的差值后,进一步的,可以通过下述公式判断该差值是否满足预设条件,进而判断出是否需要将试题库中的该对应试题与目标试题进行对比,以确定其是否为目标试题的所有初选重复试题,具体判断公式如下:
[0099][0100]
其中,1和0分别表示需要将试题库中的对应试题与目标试题进行对比以及不需要将试题库中的对应试题与目标试题进行对比;l1和l2分别表示目标试题的题目的长度以及试题库中的对应试题题目的长度;a表示可将试题库中的对应试题与目标试题进行对比时,二者题目长度的最大出差值,且a的取值可根据实际情况和经验值来确定,本申请实施例对
其具体取值进行限定,如可以将a取值为5等;b表示概率值,通过调整此概率值来控制是否需要将试题库中的对应试题与目标试题进行对比,具体的,可按照固定步长调整b的取值来尽可能少的从试题库中筛选出需要与目标试题进行对比的试题,进而提升模型的检索效率。
[0101]
举例说明:假设目标试题的题目长度l1为10,试题库中的第i道试题的题目长度l2为12,a取值为5,b取值为0.7,则通过上述公式(2)可以判断出需要将目标试题与第i道试题进行对比,即,上述公式(2)中的是成立的,也就是是成立的,取值为1,表示需要将试题库中的第i道试题与目标试题进行对比。
[0102]
进一步的,当判断出试题库中的试题与目标试题之间的题目长度的差值满足预设条件时,可以利用预先构建的试题查重模型,根据目标试题的隐向量与试题的隐向量之间的余弦相似度,确定出该试题是否为目标试题的初选重复试题。同理,采用相同的判断方式,可以从题库中确定出所有满足预设条件的目标试题的初选重复试题,组成初选重复试题集合,用以执行后续步骤s103。
[0103]
s103:根据初选重复试题集合中的试题与目标试题的相似度,从初选重复试题集合中确定目标试题对应的重复试题。
[0104]
在本实施例中,通过步骤s102得到目标试题的初选重复试题集合后,为了进一步提高查重结果的准确性,还需要进一步通过后续步骤c1
‑
c3,计算出表征初选重复试题集合中的试题与目标试题之间的隐向量关联关系相似性和试题的各个结构组合(如选择题题面和选项的不同组合)关联关系相似性的深层次的语义相似度(即步骤c3中的“最终相似度”),而不仅是余弦相似度等浅层次的相似度,从而可以根据初选重复试题集合中的试题与目标试题之间的深层次的语义相似度,确定出目标试题对应的重复试题。比如,可以将初选重复试题集合中与目标试题之间的深层次的语义相似度最高的试题作为目标试题对应的重复试题等,或者,也可以将初选重复试题集合中与目标试题之间的深层次的语义相似度高于预设阈值(阈值的取值可根据实际情况进行设定,如设定0.8等)的试题均作为目标试题对应的重复试题等,具体判断方式可根据实际情况进行限定,本申请对此不进行限定。
[0105]
在本实施例的一种可能的实现方式中,本步骤s103的实现过程具体可以包括下述步骤c1
‑
c3:
[0106]
步骤c1:计算初选重复试题集合中的每一试题与目标试题的隐向量之间的第一相似度。
[0107]
由于对于试题文本,有相当一部分的题目信息所用的是关键词来表示的,例如,在物理学科中,文字词语“加速度”和字母“a”在同场景下表示的是同一个意思(即同一语义),但对于字母“a”来说,有时表示的是“加速度”,有时也可能表示的仅仅是一个普通的字符,因此,直接将“a”和“加速度”判定为同一关键词,可能会造成判定错误。又例如,在数学学科中,函数“f(x)=x 2”和函数“g(x)=x 2”实则表达的是同一个函数,即,表征的语义信息是一致的,而这类不可穷举的示例也是不可能直接通过文本规约器来实现的。
[0108]
因此,本申请实施例提出采用端到端的逐对训练计算两道试题相似度的模型,其中,两道试题相似度指的是两道试题表达相同含义的概率。具体训练过程与现有过程一致,在此不再赘述。然后,再利用该模型计算初出选重复试题集合中的每一试题与目标试题的
隐向量关联关系之间的相似度,此处将其定义为第一相似度,用以通过执行后续步骤c3,构成对应试题与目标试题之间的语义相似度(即步骤c3中的“最终相似度”)。
[0109]
具体来讲,可先将目标试题与初选重复试题集合中的某一道试题分别定义为x1和x2,然后可通过如图3的左侧图所示的计算过程,计算出二者隐向量之间的第一相似度,用以表征二者隐向量关联关系的相似性。具体的,首先将x1和x2的分别通过textcnn编码器,获得x1的隐向量h1和x2的隐向量h2,图3中的w表示对x1和x2进行编码的textcnn模型共享的参数矩阵。然后,通过向量的融合操作,计算h1和h2之差(即|h1‑
h2|)以及将h1和h2进行点乘(即h1*h2)后,再与h1和h2进行拼接,得到拼接后的向量[h1,h2,|h1‑
h2|,h1*h2]。接着,再将拼接后的向量[h1,h2,|h1‑
h2|,h1*h2]输入全连接层后通过sigmoid函数确定出第一相似度s1。
[0110]
步骤c2:计算初选重复试题集合中的每一试题与目标试题的结构组合之间的第二相似度。
[0111]
由于在诸如化学学科中,通常情况下会有诸多化学式和化学名称表示的是同一含义,需要通过预设的规则对这些专业词汇进行归一化。例如,“naoh”和“氢氧化钠”表示的统一含义,可以将二者归一化为“naoh”;又例如,明矾和kal(so4)2·
12h2o也具有相同的化学含义。也需要将二者进行归一化处理。因此,在计算初选重复试题集合中的每一试题与目标试题的之间的相似度时,可以先将二者中的词语进行归一化处理,如可以利用预先整合出的各个学科的归一化词典,对初选重复试题集合中的每一试题与目标试题进行归一化处理等。
[0112]
然后,在此基础上,再考虑到目标试题和初选重复试题集合中的每一试题的不同结构的多种情况,其中,试题结构指的是组成试题的各个组成部分。比如,对于由一个问题和一个答案组成的一道问答型的试题,其对应的试题结构就是一个问题和一个答案;或者,对于由一个问题和4个选项组成的一道选择型的试题,其对应的试题结构就是一个问题和4个选项。而目标试题和初选重复试题集合中的每一试题的不同结构的多种情况指的是目标试题和初选重复试题集合中的每一试题中各个组成部分的不同排列组合情况。比如,当目标试题和初选重复试题集合中的试题均为选择题时,二者可能仅具有相同的选择题目,而选项顺序却是不同的;或者说,当目标试题和初选重复试题集合中的试题均为一道大题目,但二者对应的小题的顺序可能是不同的等。
[0113]
对此,为了提高查重结果的准确性,本申请实施例需要计算出初选重复试题集合中的每一试题与目标试题的多种结构组合之间的相似度,并从中选择出最大相似度作为初选重复试题集合中对应试题与目标试题的结构组合之间的相似度,此处将其定义为第二相似度(表征了对应试题和目标试题的各个结构组合(如选择题题面和选项的不同组合)关联关系相似性),用以通过执行后续步骤c3,构成对应试题与目标试题之间的语义相似度(即步骤c3中的“最终相似度”)。
[0114]
具体来讲,以目标试题和初选重复试题集合中的某一道试题均为选择题为例,计算二者之间的第二相似度的公式如下:
[0115]
simscore1=max{sim1,sim2,sim3,...}
ꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0116]
其中,simscore1表示目标试题与初选重复试题集合中的某一道试题的结构组合之间的第二相似度;sim1表示目标试题的题面与初选重复试题集合中的某一道试题的题面之间的相似度,其中,题面指的是试题的题目(即标题,如选择题中的问题),题干指的是题
面(即题目)的主干(即主要题意),而选择题的选项指的是选择题中问题的候选答案,从选项中可以选择出问题的答案;sim2表示目标试题的题面与初选重复试题集合中的某一道试题的题面和选项的组合之间的相似度;sim3表示目标试题的题面和选项的组合与初选重复试题集合中的某一道试题的题面之间相似度;依次类推,进而可以将这多种结构组合(即题面和选项的不同组合)中最大的相似度,作为目标试题与初选重复试题集合中的某一道试题的结构组合之间的第二相似度。
[0117]
例如,仍可先将目标试题与初选重复试题集合中的某一道试题分别定义为x1和x2,然后可通过如图3的右侧图所示的计算过程,计算出二者之间的第二相似度,具体的,首先利用文本规约器将x1和x2中的词语进行归一化处理,然后利用上述公式(3)对x1和x2分别进行多结构组合的相似度计算,即,通过题面比较、选项比较等,确定出x1和x2的多种结构组合中最大的相似度s2(即上述公式(3)中的simscore1),即第二相似度s2。
[0118]
需要说明的是,一种可选的实现方式是,本步骤c2的实现过程具体可以包括:当目标试题不属于典型选择题时,计算初选重复试题集合中的每一试题的题面和选项,与目标试题的题面和选项的不同组合之间的相似度,并将其中最高的相似度作为第二相似度;其中,典型选择题指的是题面中包含能够明显表征出其为选择题的经典表述的试题。例如,对于题面中包含“下列说法正确的是()”这样能够明显表征出其为选择题的经典表述的试题,就可以称为典型选择题。
[0119]
或者,当目标试题属于典型选择题时,计算初选重复试题集合中的每一试题的题干与目标试题的题干之间的相似度,以及计算初选重复试题集合中的每一试题的选项与目标试题的选项之间的相似度,并将其中最低的相似度作为第二相似度。
[0120]
具体来讲,在本实现方式中,当目标试题属于典型选择题时,如果仍是按照上述计算第二相似度的方式,直接选取相似度最大的试题是不准确的,这是因为典型的选择题的题面通常是“下列说法正确的是()”这样的典型描述,如果仍是按照上述计算第二相似度的方式,直接选取相似度最大的试题是不准确的,将选择出很多题面相同的典型选择题都是重复试题,这显然是错误的查重结果。对此,本申请实施例采用的方式是,预先构建一个“易错题库”,其中包含类似上述题面是“下列说法正确的是()”的典型选择题等易错题,即,通过上述公式(3)无法确定的重复试题的易错试题,用以在计算第二相似度的过程中做后处理操作。即,若上述通过上述公式(3)从初选重复试题集合中的确定的试题和目标试题都符合此“易错题库”中的易错题类型(如都属于题面是“下列说法正确的是()”的典型选择题),则需要进一步计算从初选重复试题集合中的确定的试题的题干和目标试题的题干之间的相似度,以及计算初选重复试题集合中的每一试题的选项与目标试题的选项之间的相似度,并将其中最低的相似度作为第二相似度,具体计算公式如下:
[0121]
simscore2=min{sim
题干
,sim
选项
}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0122]
其中,simscore2表示目标试题与初选重复试题集合中的对应试题之间的第二相似度;sim
题干
表示目标试题的题干与初选重复试题集合中的对应试题的题干之间的相似度;sim
选项
表示目标试题的选项与初选重复试题集合中的对应试题的选项之间的相似度。
[0123]
步骤c3:根据第一相似度和第二相似度,从初选重复试题集合中确定目标试题对应的重复试题。
[0124]
在通过上述步骤c1和c2分别确定出第一相似度和第二相似度后,进一步可以按照
预设规则,对二者进行处理,以根据处理结果,从初选重复试题集合中确定目标试题对应的重复试题。其中,预设规则可根据实际情况设定,本申请实施例对此不进行限定,比如,预设规则可以对初选重复试题集合中同一试题的第一相似度和第二相似度进行加权求和,然后可以将得到的加权求和结果作为该试题与目标试题之间的最终相似度,进而可以根据初选重复试题集合中每一试题各自与目标试题之间的最终相似度,最终确定出目标试题对应的重复试题。
[0125]
比如,可以从试题库中选择出与目标试题之间的最终相似度最高的试题,作为目标试题对应的重复试题;或者,可以按序依次从试题库中选择出与目标试题之间的最终相似度最高的前2道试题,都作为目标试题对应的重复试题;或者,也可按序依次从试题库中选择出与目标试题之间的最终相似度均超过0.8的试题,都作为目标试题对应的重复试题等,具体的选择方式可根据实际情况进行设置,本申请实施例对比不进行限制。
[0126]
进一步的,在确定出目标试题对应的重复试题后,一种可选的实现方式是,可以从试题库中删除目标试题对应的重复试题,用以更新该试题库,然后,再重新提取新一道待查重的目标试题,并用以重复执行上述步骤s101
‑
s103,直到试题库中所有试题均进行了查重处理后,即可实现对整个试题库的试题质量的提升,进而降低了试题库维护成本,也减少了用户使用试题库查询试题的时间,即,既能使得用户快速从试题库中找到符合其需求的相似试题,也避免了查询出重复的试题,从而提高了用户的学习效率,进而提高了用户体验。
[0127]
综上,本实施例提供的一种试题查重方法,首先,获取待查重的目标试题的隐向量;其中,隐向量用于表征目标试题的语义信息,然后,利用预先构建的试题查重模型,根据目标试题的隐向量,从试题库中选取满足预设初选条件的试题,组成目标试题的初选重复试题集合;接着,根据初选重复试题集合中的试题与目标试题的相似度,从初选重复试题集合中确定目标试题对应的重复试题。可见,由于本申请实施例是基于表征试题语义信息的隐向量进行查重,即使在试题部分文档进行更新时,也能够支持试题的查重,并且也能够提高查重结果的准确性。同时,利用试题查重模型(如根据试题库中试题的隐向量构建的hnsw模型)进行查重,还能够进一步提高试题查重速度和效率,得到准确性更高的试题查重结果。
[0128]
第二实施例
[0129]
本实施例将对一种试题查重装置进行介绍,相关内容请参见上述方法实施例。
[0130]
参见图4,为本实施例提供的一种试题查重装置的组成示意图,该装置400包括:
[0131]
获取单元401,用于获取待查重的目标试题的隐向量;所述隐向量用于表征所述目标试题的语义信息;
[0132]
选取单元402,用于利用预先构建的试题查重模型,根据所述目标试题的隐向量,从试题库中选取满足预设初选条件的试题,组成所述目标试题的初选重复试题集合;
[0133]
确定单元403,用于根据所述初选重复试题集合中的试题与所述目标试题的相似度;从所述初选重复试题集合中确定所述目标试题对应的重复试题。
[0134]
在本实施例的一种实现方式中,所述获取单元401包括:
[0135]
获取子单元,用于获取待查重的目标试题,并对所述目标试题进行预处理,得到预处理后的目标试题;
[0136]
分词子单元,用于对所述预处理后的目标试题进行分词,得到分词后的目标试题;
[0137]
编码子单元,用于利用深度学习网络对所述分词后的目标试题进行编码,以确定出所述分词后的目标试题的隐向量,作为所述目标试题的隐向量。
[0138]
在本实施例的一种实现方式中,所述选取单元402包括:
[0139]
第一计算子单元,用于计算所述试题库中的试题与所述目标试题之间的题目长度的差值;
[0140]
选取子单元,用于当所述差值满足预设条件时,利用预先构建的试题查重模型,根据所述目标试题的隐向量与所述试题的隐向量之间的相似度,确定所述试题是否为所述目标试题的初选重复试题;并将确定出的所述目标试题的所有初选重复试题组成集合。
[0141]
在本实施例的一种实现方式中,所述确定单元403包括:
[0142]
第二计算子单元,用于计算所述初选重复试题集合中的每一试题与所述目标试题的隐向量之间的第一相似度;
[0143]
第三计算子单元,用于计算所述初选重复试题集合中的每一试题与所述目标试题的结构组合之间的第二相似度;
[0144]
确定子单元,用于根据所述第一相似度和所述第二相似度,从所述初选重复试题集合中确定所述目标试题对应的重复试题。
[0145]
在本实施例的一种实现方式中,所述第三计算子单元具体用于:
[0146]
当所述目标试题不属于典型选择题时,计算所述初选重复试题集合中的每一试题的题面和选项,与所述目标试题的题面和选项的不同组合之间的相似度,并将其中最高的相似度作为第二相似度;
[0147]
或者,当所述目标试题属于典型选择题时,计算所述初选重复试题集合中的每一试题的题干与所述目标试题的题干之间的相似度,以及计算所述初选重复试题集合中的每一试题的选项与所述目标试题的选项之间的相似度,并将其中最低的相似度作为第二相似度。
[0148]
在本实施例的一种实现方式中,所述装置还包括:
[0149]
删除单元,用于从所述试题库中删除所述目标试题对应的重复试题。
[0150]
进一步地,本申请实施例还提供了一种试题查重设备,包括:处理器、存储器、系统总线;
[0151]
所述处理器以及所述存储器通过所述系统总线相连;
[0152]
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述试题查重方法的任一种实现方法。
[0153]
进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述试题查重方法的任一种实现方法。
[0154]
进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述试题查重方法的任一种实现方法。
[0155]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干
指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。
[0156]
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0157]
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0158]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
技术特征:
1.一种试题查重方法,其特征在于,包括:获取待查重的目标试题的隐向量;所述隐向量用于表征所述目标试题的语义信息;利用预先构建的试题查重模型,根据所述目标试题的隐向量,从试题库中选取满足预设初选条件的试题,组成所述目标试题的初选重复试题集合;根据所述初选重复试题集合中的试题与所述目标试题的相似度,从所述初选重复试题集合中确定所述目标试题对应的重复试题。2.根据权利要求1所述的方法,其特征在于,所述获取待查重的目标试题的隐向量,包括:获取待查重的目标试题,并对所述目标试题进行预处理,得到预处理后的目标试题;对所述预处理后的目标试题进行分词,得到分词后的目标试题;利用深度学习网络对所述分词后的目标试题进行编码,以确定出所述分词后的目标试题的隐向量,作为所述目标试题的隐向量。3.根据权利要求1所述的方法,其特征在于,所述利用预先构建的试题查重模型,根据所述目标试题的隐向量,从试题库中选取满足预设初选条件的试题,组成所述目标试题的初选重复试题集合,包括:计算所述试题库中的试题与所述目标试题之间的题目长度的差值;当所述差值满足预设条件时,利用预先构建的试题查重模型,根据所述目标试题的隐向量与所述试题的隐向量之间的相似度,确定所述试题是否为所述目标试题的初选重复试题;并将确定出的所述目标试题的所有初选重复试题组成集合。4.根据权利要求1所述的方法,其特征在于,所述根据所述初选重复试题集合中的试题与所述目标试题的相似度,从所述初选重复试题集合中确定所述目标试题对应的重复试题,包括:计算所述初选重复试题集合中的每一试题与所述目标试题的隐向量之间的第一相似度;计算所述初选重复试题集合中的每一试题与所述目标试题的结构组合之间的第二相似度;根据所述第一相似度和所述第二相似度,从所述初选重复试题集合中确定所述目标试题对应的重复试题。5.根据权利要求4所述的方法,其特征在于,所述计算所述初选重复试题集合中的每一试题与所述目标试题的结构组合之间的第二相似度,包括:当所述目标试题不属于典型选择题时,计算所述初选重复试题集合中的每一试题的题面和选项,与所述目标试题的题面和选项的不同组合之间的相似度,并将其中最高的相似度作为第二相似度;或者,当所述目标试题属于典型选择题时,计算所述初选重复试题集合中的每一试题的题干与所述目标试题的题干之间的相似度,以及计算所述初选重复试题集合中的每一试题的选项与所述目标试题的选项之间的相似度,并将其中最低的相似度作为第二相似度。6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:从所述试题库中删除所述目标试题对应的重复试题。7.一种试题查重装置,其特征在于,包括:
获取单元,用于获取待查重的目标试题的隐向量;所述隐向量用于表征所述目标试题的语义信息;选取单元,用于利用预先构建的试题查重模型,根据所述目标试题的隐向量,从试题库中选取满足预设初选条件的试题,组成所述目标试题的初选重复试题集合;确定单元,用于根据所述初选重复试题集合中的试题与所述目标试题的相似度;从所述初选重复试题集合中确定所述目标试题对应的重复试题。8.一种试题查重设备,其特征在于,包括:处理器、存储器、系统总线;所述处理器以及所述存储器通过所述系统总线相连;所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行权利要求1
‑
6任一项所述的方法。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行权利要求1
‑
6任一项所述的方法。10.一种计算机程序产品,其特征在于,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行权利要求1
‑
6任一项所述的方法。
技术总结
本申请公开了一种试题查重方法、装置、存储介质及设备,该方法包括:首先,获取待查重的目标试题的隐向量;其中,隐向量用于表征目标试题的语义信息,然后,利用预先构建的HNSW试题查重模型,根据目标试题的隐向量,从试题库中选取满足预设初选条件的试题,组成目标试题的初选重复试题集合;接着,根据初选重复试题集合中的试题与目标试题的相似度,从初选重复试题集合中确定目标试题对应的重复试题。可见,由于本申请是基于表征试题语义信息的隐向量进行查重,不仅能够支持部分文档更新后的查重,还能够提高查重结果的准确性。同时,利用HNSW试题查重模型进行查重,也能够进一步提高试题查重速度和效率,得到准确性更高的试题查重结果。重结果。重结果。
技术研发人员:朱林波 苏喻 王士进 魏思 胡国平
受保护的技术使用者:科大讯飞股份有限公司
技术研发日:2021.03.25
技术公布日:2021/6/29
转载请注明原文地址:https://doc.8miu.com/read-13062.html