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

一种相似题目推荐系统和方法

文献发布时间:2023-06-19 16:09:34



技术领域

本发明涉及自然语言处理和在线教育技术领域,尤其涉及一种基于知识点预测和语义相似度计算的相似题目推荐方法。

背景技术

近年来,人工智能技术蓬勃发展,并被广泛的应用于教育领域,帮助减少老师的课后工作量,提高学生的学习效率。学生在学习中,对于做错的题目和理解不充分的题目,需要更多与之相似的题目进行练习。老师在教学中,也常常需要给出一道题目的相似题目以供同学们去练习。因此,根据已练习的题目,从大量的按知识点分类储存的题库中推荐出相似的题目成为一个重要的需求,如何更好的实现上述相似题目的推荐成为了一项关键的技术。

实现上述任务的基本思路是将待推荐题目和候选题表示成固定长度的表示,计算表示之间的距离并排序,从而得到相似题目。但是,如果对整个题库进行计算距离计算,其计算量太大,所以需要根据候选题对应的知识点信息做召回,从而缩小候选题的范围。因此,本专利的其中一个关键点在于精准定位待推荐题目所属的知识点,以及将题目表示成准确的语义表示,从而计算语义相似度。

专利《一种相似题目的推荐方法、装置、电子设备及存储介质》(CN201811582965.0)使用分类的方法对待推荐题目的知识点进行预测,每一道待推荐题只有单个知识点。然而同一道题目常常包含多个不同的知识点,并且知识点之间也有复杂的结构化关系,所以用分类方法并不能很好的对题目所属的知识点进行预测。本发明专利将其作为一个序列到序列的问题,采用编码器-解码器模型,将知识点的多层级树状结构做深度优先遍历转化成一个序列,从而很好的解决了以往专利的无法预测多个知识点和知识点结构化缺失的问题。

专利《相似题目的检索方法、装置及计算机存储介质》(CN201910913733.7)提供一种相似题目的检索方法、装置及计算机存储介质,并未对如何将题目表示成特征表示的方法进行具体的说明。《一种相似题目的推荐方法、装置、电子设备及存储介质》(CN201811582965.0)将知识点的概率分布表示作为特征表示,但是无法表示原题目的语义信息。专利《一种理科相似题推荐方法、装置、设备及可读存储介质》(CN202111278966.8)使用了词表示模型作为题目的表示表示,该方法的词表示不会随语境不同而变化,因此准确度仍然不高。专利《一种基于语义信息的相似题推荐系统及其使用方法》(CN202110639976.3)专利使用Bert(Bidirectional Encoder Representation fromTransformers,双向编码器语言表征模型)的输出作为文本表示。但Bert的输出具有各向异性,其高频词会集中分布在一个“窄锥”区域,所以使用Bert的文本表示计算相似度,会存在的粗粒度范围内的相似值都很高,细粒度区分度缺失的问题。

因此,本领域的技术人员致力于开发一种相似题目推荐系统和方法。

发明内容

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是如何提高相似题目推荐的速度与准确性。

发明人分析,使用分类的方法进行知识点预测,因题目的知识点类别很多和同一道题目分属于不同知识点的问题,现有技术对知识点的预测不够准确,会使候选题的范围扩大或不准确。现有技术对如何构建每道题目的文本表示问题上,使用Bert的结果,然而Bert的结果具有各向异性,从而在相似度的计算上存在较大的误差,使推荐的相似题目并不准确。另外有一部分题目的信息在图像中,现有技术通常忽略图像的信息,如果题目的主要信息在图像中,那么现有技术得不到符合要求的相似题目。

为了提高相似题目推荐的准确性,发明人使用知识点预测的编码器-解码器模型产生文本表示,并对其进行白化处理,消除各向异性,同时使用对比学习的方法来学习文本表示表示,分别使用丢弃法和同一个知识下的不同题目作为对比学习的正样本;针对含有图像信息的题目,使用对比学习训练一个图片的表示表示模型,并且将图像的表示表示和文本的表示表示作拼接,得到题目的表示表示。

本发明的一个实施例中,提供了一种相似题目推荐系统,包括:

输入模块,输入题目,题目包括原始待推荐题目、原始待选题目及原始待选题目的知识点标签;

题目预处理模块,把原始待推荐题目和原始待选题目预处理为统一的规范格式,分别得到待推荐题目和待选题目;

题目储存模块,存储待选题目及其知识点标签;

知识点预测模块,使用待选题目训练知识点预测模型,使用知识点预测模型对待推荐题目的知识点进行预测,根据预测得到的知识点读取题目储存模块中对应知识点标签的候选题目作为候选题目;

文本表示白化处理模块,将知识点预测模块输出矩阵变为一个均值为0、协方差矩阵为单位阵的矩阵;

文本对比学习模块,使用对比学习的方法训练文本表示,使用监督学习的方法构造正负样本,将同一知识点下的待选题目作为正样本,将不同知识点标签下的待选题目作为负样本,得到文本表示;

图片对比学习模块,使用对比学习的方法训练图片表示,分别使用图像变换和同一知识点下的待选题目构造正样本,不同知识点下的待选题目作为负样本,得到图片表示;

相似度计算模块,计算待推荐题目和候选题目之间的余弦相似度;

去重模块,输入待推荐题目、候选题目和余弦相似度,根据去重策略去除与待推荐题目相同的候选题目,得到相似题目;

输出模块,输出相似题目;

题目预处理模块分别连接输入模块、题目储存模块、知识点预测模块、文本对比学习模块和图片对比学习模块,响应于输入模块输入的原始待选题目及其知识点标签,预处理后得到待选题目,然后把待选题目和知识点标签写入题目储存模块;响应于输入模块输入的原始待推荐题目,预处理后得到待推荐题目,并发送到知识点预测模块;响应于待推荐题目,知识点预测模块预测知识点,根据预测得到的知识点读取题目储存模块对应知识点标签下的待选题目得到候选题目,然后在文本表示白化处理模块做白化处理;待推荐题目在文本对比学习模块训练文本表示;待推荐题目在图片对比学习模块训练图片表示;白化处理的结果与文本表示、图片表示共同输入相似度计算模块计算相似度,并通过去重模块去重得到相似题目,然后把相似题目通过输出模块输出。

可选地,在上述实施例的相似题目推荐系统中,知识点标签分为三个层次,形式为学科-知识点-子知识点。

可选地,在上述任一实施例的相似题目推荐系统中,预处理包括将超文本标记语言移除,将不规范的表示转化成Latex格式,对希腊字母、罗马数字转化为统一的字母题目表示。

进一步地,在上述实施例的相似题目推荐系统中,不规范的表示包括公式、分数、根号。

进一步地,在上述实施例的相似题目推荐系统中,候选题目统一成768字节的长度,不够长度的做填充,超出长度的进行截断。

可选地,在上述任一实施例的相似题目推荐系统中,知识点预测模型使用编码器-解码器的结构。

进一步地,在上述实施例的相似题目推荐系统中,知识点预测模型设置12层编码器层和12层解码器层。

进一步地,在上述实施例的相似题目推荐系统中,知识点预测模块使用随机初始化权重对知识点预测模型进行训练,输入为待选题目,输出为待选题目的知识点,训练好之后保存知识点预测准确度最高的权重文件。

可选地,在上述任一实施例的相似题目推荐系统中,去重策略为:使用编辑距离衡量待推荐题目和候选题目在文字上的相似程度,计算候选题目与待推荐题目的编辑距离,并设定重复阈值,如果编辑距离小于重复阈值,则认为该候选题目与待推荐题目相同。

进一步地,在上述实施例的相似题目推荐系统中,编辑距离是指在两个单词或两个语句之间,由其中一个单词或语句转换为另一个单词或语句所需要的最少的单字符编辑操作次数。

进一步地,在上述实施例的相似题目推荐系统中,编辑操作包括插入、删除、替换。

基于上述任一实施例,本发明的另一个实施例中,提供了一种相似题目推荐方法,包括如下步骤:

S100、前置准备,把待选题目及其知识点标签写入题目储存模块,训练知识点预测模型;

S200、待推荐题目输入和预处理,读取原始待推荐题目并进行预处理,得到待推荐题目并发送到知识点预测模块;

S300、对比学习训练文本表示,文本对比学习模块使用对比学习的方法训练文本表示,得到文本表示;

S400、对比学习训练图片表示,图片对比学习模块使用对比学习的方法训练图片表示,得到图片表示;

S500、预测待推荐题目的知识点,知识点预测模块使用知识点预测模型预测待推荐题目的知识点,并打上对应的知识点标签;

S600、读取候选题,根据待推荐题目的知识点标签,到题目储存模块中读取对应知识点标签的待选题目作为候选题目;

S700、计算文本表示并白化,将待推荐题目和候选题目通过知识点预测模块发送到文本表示白化处理模块进行处理,得到白化处理后的文本表示,即均值为0、协方差矩阵为单位阵的矩阵;

S800、拼接得到题目表示,并计算相似度,将白化处理后的文本表示和对比学习得到的文本表示与图片表示做拼接,通过相似度计算模块得到待推荐题目与候选题目之间的余弦相似度;

S900、排序和去除相同的候选题目,将待推荐题目、候选题目和余弦相似度输入到去重模块,根据去重策略去除与待推荐题目相同的候选题目,得到相似题目;

S1000、相似题目输出,通过输出模块输出相似题目。

可选地,在上述实施例的相似题目推荐方法中,步骤S100中包括:

S110、题目读取,输入模块读取原始待选题目及其知识点标签;

S120、预处理,题目预处理模块对原始待选题目进行预处理,得到待选题目;

S130、题目保存,将待选题目保存到题目储存模块;

S140、训练知识点预测模型,知识点预测模块使用待选题目对知识点预测模型进行训练。

进一步地,在上述实施例的相似题目推荐方法中,步骤S120和步骤S200中的预处理包括:将超文本标记语言去除,将不规范的表示转化成Latex格式,对希腊字母、罗马数字转化为统一的字母题目表示。

进一步地,在上述实施例的相似题目推荐方法中,不规范的表示包括公式、分数、根号。

进一步地,在上述实施例的相似题目推荐方法中,待推荐题目和候选题目统一成768字节的长度,不够长度的做填充,超出长度的进行截断。

可选地,在上述任一实施例的相似题目推荐方法中,步骤S140包括:

S141、知识点预测模型训练,知识点预测模块使用随机初始化权重对知识点预测模型进行训练,输入为待选题目,输出为待选题目的知识点;

S142、保存权重文件,训练好以后保存知识点预测准确度最高的权重文件。

可选地,在上述任一实施例的相似题目推荐方法中,知识点预测模型使用编码器-解码器的结构,设置12层编码器层和12层解码器层。

可选地,在上述任一实施例的相似题目推荐方法中,步骤S300中对比学习的方法包括使用监督学习的方法构造正负样本,将同一知识点下的题目作为正样本,将不同知识点下的题目作为负样本,学得文本的表示表示。

可选地,在上述任一实施例的相似题目推荐方法中,步骤S400中对比学习的方法包括分别使用图像变换和同一知识点下的题目构造正样本,不同知识点下的图片作为负样本。

可选地,在上述任一实施例的相似题目推荐方法中,步骤S500具体包括:

S510、权重文件加载,将权重文件加载到知识点预测模型;

S520、知识点预测,将待推荐题目通过知识点预测模块,并将图片表示拼接后进行预测;

S530、知识点获得,得到待推荐题目对应的知识点,并打上对应的知识点标签。

可选地,在上述任一实施例的相似题目推荐方法中,步骤S900包括:

S910、计算编辑距离,使用编辑距离衡量待推荐题目和候选题目在文字上的相似程度,计算候选题目与待推荐题目的编辑距离;

S920、判断重复阈值,编辑距离和重复阈值进行比较;

S930、如果编辑距离小于重复阈值,则认为该候选题目与待推荐题目相同,予以删除,得到相似题目。

进一步地,在上述实施例的相似题目推荐方法中,编辑距离是指在两个单词或两个语句之间,由其中一个单词或语句转换为另一个单词或语句所需要的最少的单字符编辑操作次数。

本发明使用编码器-解码器模型,将知识点预测任务作为一个序列到序列的任务,提升了知识点预测的准确度,解决了“一对多”问题,并很好的解决了结构化分类的问题;使用知识点预测模型的编码器输出或Bert的输出经白化处理后的表示作为文本表示,并使用对比学习的方法训练文本表示,提升了相似度的计算结果,使的推荐的题目更加准确;使用对比学习的方法学习题目中的图片表示,将图片表示与文本表示拼接作为题目的表示表示,解决了题目信息主要在图像中时结果不准确的问题。本发明解决了知识点预测不准确带来候选题范围不准确,文本表示的表示不准确和丢失文本中图像信息的问题,显著提高了相似题目推荐的速度和准确度。

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

图1是图示根据示例性实施例的相似题目推荐系统结构示意图;

图2是图示根据示例性实施例的相似题目推荐方法的流程图。

具体实施方式

以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。

在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方示意性地适当夸大了部件的厚度。

发明人设计了一种相似题目推荐系统,如图1所示,包括:

输入模块,输入题目,题目包括原始待推荐题目、原始待选题目及原始待选题目的知识点标签,知识点标签分为三个层次,形式为学科-知识点-子知识点;

题目预处理模块,把原始待推荐题目和原始待选题目预处理为统一的规范格式,分别得到待推荐题目和待选题目,预处理包括将超文本标记语言移除,将不规范的表示转化成Latex格式,对希腊字母、罗马数字转化为统一的字母题目表示,不规范的表示包括公式、分数、根号;候选题目统一成768字节的长度,不够长度的做填充,超出长度的进行截断;

题目储存模块,存储待选题目及其知识点标签;

知识点预测模块,使用待选题目训练知识点预测模型,使用知识点预测模型对待推荐题目的知识点进行预测,根据预测得到的知识点读取所述题目储存模块中对应知识点标签的候选题目作为候选题目;使用随机初始化权重对知识点预测模型进行训练,输入为待选题目,输出为待选题目的知识点,训练好之后保存知识点预测准确度最高的权重文件,知识点预测模型使用编码器-解码器的结构,设置12层编码器层和12层解码器层;

文本表示白化处理模块,将知识点预测模块输出矩阵变为一个均值为0、协方差矩阵为单位阵的矩阵;

文本对比学习模块,使用对比学习的方法训练文本表示,使用监督学习的方法构造正负样本,将同一知识点下的待选题目作为正样本,将不同知识点标签下的待选题目作为负样本,得到文本表示;

图片对比学习模块,使用对比学习的方法训练图片表示,分别使用图像变换和同一知识点下的待选题目构造正样本,不同知识点下的待选题目作为负样本,得到图片表示;

相似度计算模块,计算待推荐题目和候选题目之间的余弦相似度;

去重模块,输入待推荐题目、候选题目和余弦相似度,根据去重策略去除与待推荐题目相同的候选题目,得到相似题目;去重策略为:使用编辑距离衡量待推荐题目和候选题目在文字上的相似程度,计算候选题目与待推荐题目的编辑距离,并设定重复阈值,如果编辑距离小于重复阈值,则认为该候选题目与待推荐题目相同;其中,编辑距离是指在两个单词或两个语句之间,由其中一个单词或语句转换为另一个单词或语句所需要的最少的单字符编辑操作次数,编辑操作包括插入、删除、替换;

输出模块,输出相似题目;

题目预处理模块分别连接输入模块、题目储存模块、知识点预测模块、文本对比学习模块和图片对比学习模块,响应于输入模块输入的原始候选题目及其知识点标签,预处理后得到候选题目,然后把候选题目和知识点标签写入题目储存模块;响应于输入模块输入的原始待推荐题目,预处理后得到待推荐题目,并发送到知识点预测模块;响应于待推荐题目,知识点预测模块预测知识点,根据预测得到的知识点读取题目储存模块对应知识点标签下的待选题目得到候选题目,然后在文本表示白化处理模块做白化处理;待推荐题目在文本对比学习模块训练文本表示;待推荐题目在图片对比学习模块训练图片表示;白化处理的结果与文本表示、图片表示共同输入相似度计算模块计算相似度,并通过去重模块去重得到相似题目,然后把相似题目通过输出模块输出。

基于上述实施例,发明人提供了一种一种相似题目推荐方法,如图2所示,包括如下步骤:

S100、前置准备,把待选题目及其知识点标签写入题目储存模块,训练知识点预测模型;具体包括:

S110、题目读取,输入模块读取原始待选题目及其知识点标签;

S120、预处理,题目预处理模块对原始待选题目进行预处理,得到待选题目;预处理包括:将超文本标记语言去除,将不规范的表示转化成Latex格式,对希腊字母、罗马数字转化为统一的字母题目表示,其中不规范的表示包括公式、分数、根号,候选题目统一成768字节的长度,不够长度的做填充,超出长度的进行截断;

S130、题目保存,将待选题目保存到题目储存模块;

S140、训练知识点预测模型,知识点预测模块使用待选题目对知识点预测模型进行训练;具体包括:

S141、知识点预测模型训练,知识点预测模块使用随机初始化权重对知识点预测模型进行训练,输入为待选题目,输出为待选题目的知识点,知识点预测模型使用编码器-解码器的结构,设置12层编码器层和12层解码器层;

S142、保存权重文件,训练好以后保存知识点预测准确度最高的权重文件。

S200、待推荐题目输入和预处理,读取原始待推荐题目并进行预处理,得到待推荐题目并发送到知识点预测模块;预处理包括:将超文本标记语言去除,将不规范的表示转化成Latex格式,对希腊字母、罗马数字转化为统一的字母题目表示,其中不规范的表示包括公式、分数、根号,待推荐题目统一成768字节的长度,不够长度的做填充,超出长度的进行截断;

S300、对比学习训练文本表示,文本对比学习模块使用对比学习的方法训练文本表示,得到文本表示;对比学习的方法包括使用监督学习的方法构造正负样本,将同一知识点下的题目作为正样本,将不同知识点下的题目作为负样本,学得文本的表示表示;

S400、对比学习训练图片表示,图片对比学习模块使用对比学习的方法训练图片表示,得到图片表示;对比学习包括分别使用图像变换和同一知识点下的题目构造正样本,不同知识点下的图片作为负样本;

S500、预测待推荐题目的知识点,知识点预测模块使用知识点预测模型预测待推荐题目的知识点,并打上对应的知识点标签;具体包括:

S510、权重文件加载,将权重文件加载到知识点预测模型;

S520、知识点预测,将待推荐题目通过知识点预测模块,并将图片表示拼接后进行预测;

S530、知识点获得,得到待推荐题目对应的知识点,并打上对应的知识点标签。

S600、读取候选题,根据待推荐题目的知识点标签,到题目储存模块中读取对应知识点标签的待选题目作为候选题目;

S700、计算文本表示并白化,将待推荐题目和候选题目通过知识点预测模块发送到文本表示白化处理模块进行处理,得到白化处理后的文本表示,即均值为0、协方差矩阵为单位阵的矩阵;

S800、拼接得到题目表示,并计算相似度,将白化处理后的文本表示和对比学习得到的文本表示与图片表示做拼接,通过相似度计算模块得到待推荐题目与候选题目之间的余弦相似度;

S900、排序和去除相同的候选题目,将待推荐题目、候选题目和余弦相似度输入到去重模块,根据去重策略去除与待推荐题目相同的候选题目,得到相似题目;,具体包括:

S910、计算编辑距离,编辑距离是指在两个单词或两个语句之间,由其中一个单词或语句转换为另一个单词或语句所需要的最少的单字符编辑操作次数,使用编辑距离衡量待推荐题目和候选题目在文字上的相似程度,计算候选题目与待推荐题目的编辑距离;

S920、判断重复阈值,编辑距离和重复阈值进行比较;

S930、如果编辑距离小于重复阈值,则认为该候选题目与待推荐题目相同,予以删除,得到相似题目。

S1000、相似题目输出,通过输出模块输出相似题目。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

相关技术
  • 一种相似题目推荐系统和方法
  • 一种基于短语结构树的相似题目识别方法和系统
技术分类

06120114721229