一种试题搜索方法及装置与流程

文档序号:11063580阅读:226来源:国知局
一种试题搜索方法及装置与制造工艺

本发明涉及通信技术领域,具体涉及一种试题搜索方法及装置。



背景技术:

目前,教育行业也在与互联网接轨,出现了许多在线教育产品,其中包括具备拍照答疑等功能的搜题类产品。搜题类产品旨在学生用户在作业中遇到难题时,可以获取包含题目的图像并对该图像进行图像识别,基于图像识别的结果在后台题库搜索用户需要的题目和答案解析。

然而,由于现有的图像识别技术会被拍摄的环境光线及灯光所影响,常常导致用户使用搜题类产品时,无法准确地搜索出用户所需要的试题及答案解析,满足不了用户的搜题需求,影响该类产品的用户体验。



技术实现要素:

本发明提供一种试题搜索方法及装置,旨在提高试题搜索的准确率。

本发明实施例的第一方面,提供一种试题搜索方法,所述试题搜索方法包括:

获取目标试题的原始图像,并对所述目标试题的原始图像进行图像识别;

基于图像识别的结果在题库中进行全文检索,获取试题搜索结果;

当获取的试题搜索结果的数量为两个以上时,根据全文检索的评分机制,计算获取的各个试题搜索结果分别对应的第一评分;

根据相似度算法,计算获取的各个试题搜索结果分别对应的第二评分;

根据预设加权线性方案,对所述第一评分及第二评分进行加权计算,确定最终评分,并根据所述最终评分,由高至低对所述试题搜索结果进行排序并输出。

本发明实施例的第二方面,提供一种试题搜索装置,所述试题搜索装置包括:

目标试题获取单元,用于获取目标试题的原始图像,并对所述目标试题的原始图像进行图像识别;

初步检索单元,用于基于所述目标试题获取单元得到图像识别的结果在题库中进行全文检索,获取试题搜索结果;

第一评分计算单元,用于当所述初步检索单元获取到的试题搜索结果的数量为两个以上时,根据全文检索的评分机制,计算获取的各个试题搜索结果分别对应的第一评分;

第二评分计算单元,用于根据相似度算法,计算所述初步检索单元获取到的各个试题搜索结果分别对应的第二评分;

搜索结果确定单元,用于根据预设加权线性方案,对所述第一评分计算单元得到的第一评分及所述第二评分计算单元得到的第二评分进行加权计算,确定最终评分,并根据所述最终评分,由高至低对所述试题搜索结果进行排序并输出。

由上可见,在本发明方案中,首先获取目标试题的原始图像,并对所述目标试题的原始图像进行图像识别,然后基于图像识别的结果在题库中进行全文检索,获取试题搜索结果,当试题搜索结果包含两个以上结果时,根据全文检索的评分机制,计算各个试题搜索结果分别对应的第一评分,并根据相似度算法,计算各个试题搜索结果分别对应的第二评分,最后根据预设加权线性方案,对所述第一评分及第二评分进行加权计算,确定最终评分,并根据所述最终评分,由高至低对所述试题搜索结果进行排序并输出。使得试题搜索的结果能够被进一步筛选,并最终筛选出更加准确的,匹配度更高的试题及相应解析。相对于现有技术中,由于图像识别的不准确性而影响到最终搜索到的试题结果,导致无法搜索出匹配的试题,本发明方案提高了试题搜索时的准确率,更好的满足了用户的搜题需求,提升了用户体验。

附图说明

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

图1为本发明实施例一提供的试题搜索方法的实现流程图;

图2为本发明实施例一提供的试题搜索方法步骤S102的具体实现流程图;

图3为本发明实施例二提供的试题搜索装置的结构框图。

具体实施方式

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

在本发明实施例中,首先获取目标试题的原始图像,并对所述目标试题的原始图像进行图像识别,然后基于图像识别的结果在题库中进行全文检索,获取试题搜索结果,当试题搜索结果包含两个以上结果时,根据全文检索的评分机制,计算各个试题搜索结果分别对应的第一评分,并根据相似度算法,计算各个试题搜索结果分别对应的第二评分,最后根据预设加权线性方案,对所述第一评分及第二评分进行加权计算,确定最终评分,并根据所述最终评分,由高至低对所述试题搜索结果进行排序并输出。使得试题搜索的结果能够被进一步筛选,并最终筛选出更加准确的,匹配度更高的试题及相应解析。

以下结合具体实施例对本发明的实现进行详细描述:

实施例一

图1示出了本发明实施例一提供的试题搜索方法的实现流程,详述如下:

在步骤S101中,获取目标试题的原始图像,并对上述目标试题的原始图像进行图像识别。

在本发明实施例中,可以通过摄像头拍摄的方式获取包含目标试题的原始图像,例如可以是启动拍照功能后,通过摄像头对目标试题进行拍照。或者,在步骤S101中,也可以从其它设备主动或被动地获取包含目标试题的原始图像;或者,在步骤S101中,也可以从图像库中获取包含目标试题的原始图像,此处不作限定。在获取到目标试题的原始图像后,对上述目标试题的原始图像进行文本识别,以此实现通过多种方式,方便迅速的获取到包含有目标试题的原始图像。具体地,在步骤S101中,可以采用光学字符识别(OCR,Optical Character Recognition)技术对获取到的包含目标试题的原始图像进行文本识别。当然,步骤S104也可以采用其它文本识别技术对获取到的包含目标试题的原始图像进行文本识别,此处不作限定。

在步骤S102中,基于图像识别的结果在题库中进行全文检索,获取试题搜索结果。

在本发明实施例中,试题搜索装置将会在接收到包含有目标试题的原始图像并对上述原始图像进行图像识别后,基于图像识别的结果,在题库中进行全文检索,获取到与目标试题相关的搜索结果。其中,题库包括本地的题库,也包括互联网上的题库。本地题库可以为试题搜索装置中内置的题库,也可以是用户经由互联网下载至试题搜索装置中的题库,以此方便用户在联网环境下能够下载所需题库,并能够在离线环境下访问下载好的题库,此处不做限定。全文检索由于会将步骤S101中图像识别得到的结果全部进行检索,因而所获得的搜索结果的相关度与匹配度都会较高。

具体地,在基于图像识别的结果在题库中进行全文检索时,可以使用Lucene框架对图像识别的结果进行全文检索。Lucene使用的开发语言为Java,是一款开源的全文检索引擎工具包。它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎与部分文本分析引擎。Lucene为开发人员提供了简单易用的工具包,以此实现方便的在试题搜索装置中建立起完整的全文搜索引擎,因而用户能够基于此实现全文检索的功能。当然,步骤S102中,还可以使用其他检索框架或检索程序对图像识别的结果进行全文检索,例如Galago、Xapian或者Zebra等,在此不做限定。

在步骤S103中,当获取的试题搜索结果的数量为两个以上时,根据全文检索的评分机制,计算获取的各个实体搜索结果分别对应的第一评分。

在本发明实施例中,步骤S102最终获得的试题搜索结果的数量是无法确定的。当用户搜索的目标试题较为新颖时,步骤S102可能会出现检索到的试题搜索结果很少,甚至没有的情况。针对获取的试题搜索结果数量不同,存在以下几种应用场景:

在一种应用场景中,步骤S102没有获取到任何与目标试题相匹配的试题搜索结果。此时,步骤S103可以直接返回无搜索结果的信息,以此告知用户,无法在已有题库中搜索到与目标试题相匹配的题目。

在另一种应用场景中,步骤S102只获取到一个试题搜索结果。此时,步骤S103直接将获取到的上述一个试题搜索结果返回给用户,供用户查阅。

可选地,在上述两种应用场景中,还可以在屏幕上显示步骤S102中,试题搜索装置具体在哪些题库中进行了搜索,并为用户推荐可以尝试进行搜索的其它题库,用户可自行选择下载题库进行再次搜索或者联网在线再次搜索,以此获得更多的试题搜索结果。

在第三种应用场景中,步骤S102获取到了两个以上试题搜索结果。此时,由于试题搜索结果存在多个,因而步骤S103可以先对其进行第一次评分筛选。全文检索技术提供了一种评分机制,可以对搜索得到的结果进行评分,搜索结果的评分越高,代表其与目标试题的相关度越高。在步骤S103中,针对步骤S102获得的每一个搜索结果,都会进行一次评分,所得得分即为各个搜索结果分别对应的第一评分,并将其记为S1。上述第一评分S1将会被暂时的存储起来,以待后续利用上述第一评分S1进行进一步的计算。

具体地,当在步骤S102中为使用Lucene框架对图像识别的结果进行全文检索时,针对上述第三种应用场景,步骤S103可以为,对获取的各个试题搜索结果分别进行Lucene评分,获得上述各个试题搜索结果分别对应的第一评分。基于Lucene框架进行全文检索时,能够对每一个试题搜索结果进行评分。其中,任一试题搜索结果所对应的Lucene评分的最大分值为1.0.

在步骤S104中,根据相似度算法,计算获取的各个试题搜索结果分别对应的第二评分。

在本发明实施例中,步骤S103中可能会出现三种应用场景,而步骤S104则是针对第三种应用场景,即,步骤S102获得的试题搜索数量为两个以上时,才会执行的步骤。在步骤S104中,将会根据相似度算法,针对步骤S102获得的每一个搜索结果,与目标试题作相似度对比,再次进行一次评分,所得得分即为各个搜索结果分别对应的第二评分,将其记为S2。上述第二评分S2将会被暂时的存储起来,以待后续利用上述第二评分S2进行进一步的计。

具体地,上述相似度算法可以为最长公共子序列算法。则此时,步骤S104具体表现为,根据最长公共子序列算法,对获取的各个试题搜索结果分别进行评分,获得上述各个试题搜索结果分别对应的第二评分。最长公共子序列,英文缩写为LCS(longest Common Subsequence),它可以描述两段文本之间的相似度,因而在步骤S104中,使用最长公共子序列算法,可以有效地对各个试题搜索结果与目标试题之间的相似度进行计算,以此对试题搜索结果进行进一步的分析。可选地,试题搜索装置可以根据第二评分S2的分值,由高至低对试题搜索结果进行二次排序。

在步骤S105中,根据预设加权线性方案,对上述第一评分及第二评分进行加权计算,确定最终评分,并根据上述最终评分,由高至低对上述两个以上的试题搜索结果进行排序并输出。

在本发明实施例中,当处于的上述的第三种应用场景时,即步骤S102获得的试题搜索结果数量为两个以上时,步骤S105中的试题搜索装置将分别针对每一个试题搜索结果,获取对应的第一评分S1及第二评分S2,并根据预设加权线性方案,对每一个试题搜索结果所对应的第一评分S1及第二评分S2进行加权计算,得到试题搜索结果对应的最终评分,将其记为S3,并根据最终评分S3的分值,由高至低,对相应的试题搜索结果进行排序,并将排序后的结果输出,以供用户查阅。

进一步地,上述预设加权线性方案可以为:S3=n1*S1+n2*S2。其中,n1>0,n2>0,n1+n2=1。具体地,可以取n1=0.3,取n2=0.7,这种情况下得到的最终评分S3及相对应试题搜索结果的排序较为符合大部分用户的搜题需求。

由上可见,在本发明实施例中,可以对试题搜索结果进行两次评分,并对这两次评分作加权计算,得到最终评分,由于最终评分是对前两次评分的加权处理,因而得到的最终试题搜索结果准确性将得到提高,可以很好的解决用户在光线不强或者受到其他外界坏境干扰的情况下,对目标试题进行拍照搜题时,试题搜索结果会受到影响,导致结果不准确这一问题。提高了用户搜题时的准确率,提升了用户的操作体验,更好的满足了用户的搜题需求。

图2示出了本发明实施例提供的试题搜索方法步骤S102的具体实现流程图,详述如下:

在步骤S201中,根据图像识别的结果在题库中进行全文检索,获得所有相关的试题搜索结果。

在步骤S202中,当上述所有相关的试题搜索结果的数量为两个以上时,根据预设的数据模型对上述所有相关的试题搜索结果进行多维度统计,确定包含试题搜索结果数量最多的试题类别。

在本发明实施例中,步骤S201中获得的所有相关的试题搜索结果的数量是不确定的。只有当步骤S201中获得的所有相关试题搜索结果的数量为两个以上时,步骤S202才会根据预设的数据过滤模型对上述所有相关的试题搜索结果进行多维度统计,以此能够筛选出最佳类别下的试题搜索结果。具体地,上述维度包括但不限于如下一种以上:时间、地域、科目、年级。

其中,时间为试题所对应的命题年份。对于学生用户,特别是对于处于初高中的学生用户群体,他们所面对的题目常常是往年的中高考真题或者中高考模拟题,这些题目在题库中常常会保留有年份信息。此时在步骤S202中,试题搜索装置可以统计出与目标试题相关的试题搜索结果中,各个试题结果时间分布的情况,并筛选出包含试题搜索结果最多的所属年份,获得该所属年份下的所有试题搜索结果。

相对应的,地域为试题所对应的命题区域。对于初高中学生用户群体来说,地域也是他们在搜索试题时的一个重要因素,因为初高中试题常常有很强的地域性。此时在步骤S202中,用户在搜索试题时,试题搜索装置可以以地域作为统计的一个维度,统计各个试题结果地域分布的情况,并筛选出包含试题搜索结果最多的所属地域,并获得该所属地域下的所有试题搜索结果。

同时,科目也是一个重要维度。每一个试题都有其所属的学科科目,但由于实际生活中,知识是交叉的,因此某些知识点可能会在多个科目中都出现。以理科为例,物理、化学、生物、数学等科目,相互之间都会有所交叉,特别是数学作为理科类的基础学科,在物理、化学、生物中,都会有所涉及。例如,当用户以一道数学中的应用题作为目标试题进行搜索时,如果此应用题的包含有物理背景,题目为计算某个物体的位移,速度,路程或其他物理量时,若对上述目标试题在题库中作全文检索,有极大可能不仅能够检索到数学科目下的试题,而且会检索到包含有物理或者其他科目的题目。此时在步骤S202中,设置科目为其中一个统计维度,在对搜索到的所有试题结果进行了科目统计,确定不同科目下所属的试题搜索结果的数量后,能够有效地筛选出与目标试题所属科目相同的试题搜索结果。

而针对年级,现实生活中,对某一个知识点的,往往在学习了这个知识点的年级,出题数目最为集中,而其他年级对该知识点是不会着重考察的。因而试题搜索装置也设置了对于出题年级的统计,能够较为准确的筛选出与目标试题处于同一年级的试题搜索结果,避免了试题搜索结果超纲或其他不符合用户期望的情况发生。

可选地,用户可自行选择使用哪种或者哪几种维度进行统计。

可选地,用户可在进行了多维度统计后,在不同维度下所包含的不同试题类别中,自行选择用户感兴趣或者需要的试题类别,而不用试题搜索装置自动挑选包含试题搜索结果数量最多的试题类别。

在步骤S203中,在上述包含试题搜索结果数量最多的试题类别下,保留相关度高的试题搜索结果。

在本发明实施例中,由于步骤S202能够获取到某一维度下,试题搜索结果数量最多的某一试题类别,其中该试题类别下的试题搜索结果数是不确定的,其中我们只需要保留与目标试题相关度高的试题搜索结果,对于与目标试题有所相关,但相关度不高的试题搜索结果来说,该试题搜索结果是可以被过滤的。

具体地,当上述试题类别下的试题搜索结果数量多于N个时,则对上述试题类别下的试题搜索结果进行相关度排序,保留相关度高的前N个试题搜索结果。其中上述试题类别为步骤S202确定的包含试题搜索结果数量最多的试题类别。在对上述试题类别进行相关度排序时,可以用包括但不限于如下任一种算法进行相关度计算:TF-IDF(Term Frequency-Inverse Document Frequency)或者Okapi BM25(Best Match 25)。根据上述相关度计算的得分,由高至低对试题搜索结果进行排序,并基于上述相关度得分作筛选,只保留排序后排名靠前的相关度得分较高的N个试题搜索结果,并不考虑试题类别,剔除步骤S201得到其它所有试题搜索结果。

若上述试题类别下的试题搜索结果数量不多于N个,则保留上述试题类别下的所有试题搜索结果。此时由于上述试题类别下的试题搜索结果数量并未多余N个,则无论试题搜索结果与目标试题的相关度高低,都作保留处理,无需在上述试题类别下作基于相关度的进一步筛选。但是,其他试题类别下的试题搜索结果将全部被剔除。

其中,上述提到的N为预设的大于或等于2的自然数。在步骤S203中,N可以是由试题搜索装置初始设定的,也可以是用户自行设定的。可选地,试题搜索装置将初始地设定N为100。

由上可见,在本实施例中,能够在对试题结果进行评分之前,首先对试题结果进行一次粗略的初步筛选,以此避免了对所有的试题搜索结果都进行后续的第一评分,第二评分及最终评分。大大节约了试题搜索方法对系统资源的占用。

需要说明的是,本发明实施例中提及的试题搜索装置具体可以以软件的方式(例如App的形式)和/或硬件的方式集成在移动终端(例如智能手机、平板电脑、学习机等终端)中。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,上述的存储介质,如ROM/RAM、磁盘或光盘等。

实施例二

图3示出了本发明实施例二提供的试题搜索装置的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该试题搜索装置3包括:

目标试题获取单元31,用于获取目标试题的原始图像,并对上述目标试题的原始图像进行图像识别;

初步检索单元32,用于基于上述目标试题获取单元31得到图像识别的结果在题库中进行全文检索,获取试题搜索结果;

第一评分计算单元33,用于当上述初步检索单元32获取到的试题搜索结果的数量为两个以上时,根据全文检索的评分机制,计算获取的各个试题搜索结果分别对应的第一评分;

第二评分计算单元34,用于根据相似度算法,计算上述初步检索单元32获取到的各个试题搜索结果分别对应的第二评分;

搜索结果确定单元35,用于根据预设加权线性方案,对上述第一评分计算单元33得到的第一评分及上述第二评分计算单元34得到的第二评分进行加权计算,确定最终评分,并根据上述最终评分,由高至低对上述试题搜索结果进行排序并输出。

具体地,上述初步检索单元32,用于使用Lucene框架对图像识别的结果进行全文检索;

具体地,上述第一评分确定单元33用于,对上述初步检索单元32获取到的各个试题搜索结果分别进行Lucene评分,获得上述各个试题搜索结果分别对应的第一评分。

具体地,上述第二评分确定单元34用于,当使用的相似度算法为最长公共子序列算法时,根据最长公共子序列算法,对上述初步检索单元32获取到的各个试题搜索结果分别进行评分,获得上述各个试题搜索结果分别对应的第二评分。

可选地,上述初步检索单元32还包括:

搜索结果获取子单元,用于根据上述目标试题获取单元31得到的图像识别结果在题库中进行全文检索,获得所有相关的试题搜索结果;

多维度统计子单元,用于当上述搜索结果获取子单元获取到的所有相关的试题搜索结果的数量为两个以上时,根据预设的数据模型对上述搜索结果获取子单元获取到的所有相关的试题搜索结果进行多维度统计,确定包含试题搜索结果数量最多的试题类别;

结果筛选子单元,用于在上述多维度统计子单元确定的包含试题搜索结果数量最多的试题类别下,保留相关度高的试题搜索结果。

具体地,上述结果筛选子单元用于,若上述多维度统计子单元确定的试题类别下的试题搜索结果数量多于N个,则对上述试题类别下的试题搜索结果进行相关度排序,保留相关度高的前N个试题搜索结果;若上述多维度统计子单元确定的试题类别下的试题搜索结果数量不多于N个,则保留上述试题类别下的所有试题搜索结果;其中,N为预设的大于或等于2的自然数。

需要说明的是,本发明实施例中的试题搜索装置具体可以以软件的方式(例如App的形式)和/或硬件的方式集成在移动终端(例如智能手机、平板电脑、学习机等终端)中。

应理解,本发明实施例中的试题搜索装置可以用于实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。

由上可见,在本发明实施例中,试题搜索装置能够在对试题结果进行评分之前,首先对试题结果进行一次粗略的初步筛选,以此避免了对所有的试题搜索结果都进行后续的第一评分,第二评分及最终评分。大大节约了试题搜索装置对系统资源的占用。

需要说明的是,在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上为对本发明所提供的一种较佳实施例而已,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

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