技术领域
[0001] 本发明涉及数据检索领域,具体为一种教学材料检索方法及系统。
相关背景技术
[0002] 结合案例讲解课对学生的理解具有重要意义,通过将抽象的理论知识与现实生活中的具体情境相结合,帮助学生更加深刻地理解和掌握理论,不仅提升了学习兴趣,而且通过故事性强的案例激发了学生的好奇心和探索欲。这种教学方式不仅促进了学生对知识的记忆和理解,还有助于培养他们的实践操作能力和社会参与意识。
[0003] 但是,检索教学材料是一个麻烦的过程,尤其是在互联网信息爆炸的时代。教师需要花费大量时间和精力从搜索引擎中筛选高质量的案例,确保它们既能吸引学生的兴趣,又能有效地传达课程的核心理念和价值。
具体实施方式
[0017] 在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。在本发明中,如果涉及到个人隐私的数据的采集,例如人脸、手机使用信息等,则会提前获得个人的允许,包括但不限于口头提醒、张贴海报、手机提醒等;如果涉及到和法律、法规冲突的地方,则在法律、法规允许的范围内生产或者使用。
[0018] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本邻域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0019] 实施例一,本发明提供了一种教学材料检索方法,如图1所示,所述方法包括以下步骤:S1,确定要检索的与教学材料相关的检索式,将所述检索式输入到多个搜索引擎中,每个搜索引擎根据所述检索式返回检索结果并放入和搜索引擎对应的集合中;计算每两个搜索引擎对应的集合的交集,并将所有交集的结果放入到第一集合中;计算每个搜索引擎对应集合和所述第一集合的差集,将所述差集更新为搜索引擎对应的集合;
在用户进行检索时,首先确定要检索的内容,要检索的内容是和教学材料相关的,例如要检索与法律相关的素材,教师确定要教授的具体法律相关的素材相关的检索式,检索式可以是关键词或者一句话,还可以是构建的专业检索式,例如在关键词后添加site:
xxx.com,则会只从xxx.com检索相关的内容。在确定检索式后,通过多个搜索引擎进行搜索,这一步也是有系统自动完成,用户只需要在一个输入界面输入检索式后,程序会自动从多个搜索引擎进行检索,搜索引擎包括但不限于某度、某狗,如图2所示,还可以是网站自身的搜索引擎,例如专业网站的搜索引擎或某些数据库的搜索引擎,用户可以选择要使用的搜索引擎,这通过复选框实现。
[0020] 每个搜索引擎会返回自身搜索的结果,也即每个搜索引擎返回多个搜索结果,每个搜索结果记为一个条目。将多个搜索结果也即条目放入到搜索引擎对应的集合中,例如搜索引擎A返回了100条结果,则搜索引擎A对应的集合中有100个条目或者说搜索结果;搜索引擎B返回了200条,则搜索引擎B对应的集合中有200个条目或者搜索结果;搜索引擎C返回了300条,则搜索引擎B对应的集合中有300个条目或者搜索结果。
[0021] 然后计算每两个搜索引擎对应集合的交集,将交集放入到第一集合中,例如搜索引擎A和搜索引擎B对应的结果的交集为10个条目,则将这10个条目放入到第一集合中;同样地,将搜索引擎A和搜索引擎C对应的结果的交集添加到第一集合中,将搜索引擎B和搜索引擎C对应的结果的交集添加到第一集合中。然后对第一集合中的条目进行去重。
[0022] 然后将每个搜索引擎对应的集合中删除第一集合中的条目,也即计算每个搜索引擎对应集合和所述第一集合的差集,将所述差集更新为搜索引擎对应的集合。其中,所述差集是指属于集合A但不属于集合B的元素的构成的集合。
[0023] S2,对于第一集合和每个搜索引擎对应的集合,获取所述检索式中的关键词的同义词集合,计算同义词和关键词的相似度,根据相似度确定BM25算法的可调参数,采用BM25算法计算检索式和集合中条目的相关性;根据第一集合对应的权重和搜索引擎对应的集合的权重,对条目的相关性进行加权计算,基于加权计算结果对条目进行排序,将排序后的结果推送给用户。
[0024] 对于第一集合中的条目和更新后的每个搜索引擎对应的集合中条目,执行以下操作:首先获取检索式中的关键词的同义词,将关键词和关键词的同义词放入到同义词集合中,并且计算每个同义词和对应的关键词的相似度。如果有多个关键词,则会获得多个同义词集合,每个关键词对应一个同义词集合,而且同义词集合中每个同义词都会有一个和对应关键词的相似度,如果是关键词本身,则相似度为1,如果是其他同义词,则计算同义词和对应关键词的相似度。
[0025] 然后,根据相似度确定BM25算法的可调参数,其中,所述BM25算法(Best Matching 25)是一种信息检索算法,用于计算关键词和文档的相关性。其计算公式为:
。
[0026] 其中,n为查询词的个数, 为第i个词项, 为逆文档频率, 为词项在文档中出现的次数, 为文档的长度,avgdl为所有文档的平均长度, 、b为BM25算法中的两个可调参数,其中 又称为饱和度参数,b又称为长度参数。
[0027] 相似度确定了同义词和关键词的相似程度,在采用BM25算法计算检索式和集合中条目的相关性时,在一个可选的实施例中,具体为:获取默认的BM25算法的可调参数,计算每个关键词对应的同义词集合中同义词和关键词的相似度,根据所述相似度确定每个同义词对应可调参数;
例如默认的BM25算法中可调参数 、b=0.75,然后根据相似度确定每个同义词对应的可调参数,例如同义词和关键词的相似度为0.9,则该同义词对应的可调参数,b保持不变。这样每个同义词集合中的每个同义词对应一个 和b。
[0028] 从每个关键词对应的同义词集合中选出一个同义词,组合成一个同义词序列,对于每个同义词序列,根据同义词对应的可调参数采用BM25算法计算同义词序列和条目的相关性;得到所有同义词序列对应的最大的相关性作为检索式和条目的相关性。
[0029] 由于一个检索式对应至少一个关键词,每个关键词对应一个同义词集合,每个同义词对应一个 和b,需要注意的是,同义词集合包括了关键词,关键词对应的 和b是默认值。
[0030] 在计算相关性时,从每个关键词对应的同义词集合中选出一个同义词,组成一个同义词序列,如果有两个关键词,则会对应两个同义词集合,假设两个同义词集合中同义词的个数分别为4、6,则会得到24个同义词序列。对于每个同义词序列,采用每个同义词对应的可调参数利用BM25算法计算同义词序列和条目的相关性。也即采用下面公式计算相关性, 。其中, 分别为同义词序列中的同义词, 分别为同义词序列中同义
词对应的饱和度参数, 分别为同义词序列中的同义词对应的长度参数。
[0031] 每个同义词序列会得到一个相关性,然后取所有相关度最大的值作为检索式和条目的相关性。例如有两个同义词序列,根据上述公式计算第一个同义词序列和条目的相关度为0.5,第二个同义词序列和条目的相关度为0.6,则检索式和条目的相关度为0.6。
[0032] 在一个具体实施例中,所述根据所述相似度确定每个同义词对应可调参数,具体为:将相似度和默认可调参数中的 的乘积作为同义词对应的可调参数的 ;将默认可调参数中的b作为同义词对应的可调参数b。
[0033] 不同的搜索引擎进行搜索时采用的算法或者策略不同,对于至少两个搜索引擎都给出的结果,则进一步设置不同的权重,以此来对至少两个搜索引擎给出的结果进行加权。在一个可选的实施例中,所述根据第一集合对应的权重和搜索引擎对应的集合的权重,对条目的相关性进行加权计算,具体为:
若条目在第一集合中,采用第一权重对条目的相关性进行加权计算;
若条目在搜索引擎对应的集合中,采用第二权重对条目的相关性进行加权计算;
所述第一权重大于所述第二权重。
[0034] 在另外一个实施例中,若条目在搜索引擎对应的集合中,对不同的搜索引擎设置不同的权重,采用搜索引擎对应的权重对条目的相关性进行加权计算,不同的搜索引擎设置的不同的权重不大于所述第一权重。
[0035] 实施例二,本发明还提供了一种教学材料检索系统,如图3所示,所述系统包括以下模块:检索模块,用于确定要检索的与教学材料相关的检索式,将所述检索式输入到多个搜索引擎中,每个搜索引擎根据所述检索式返回检索结果并放入和搜索引擎对应的集合中;计算每两个搜索引擎对应的集合的交集,并将所有交集的结果放入到第一集合中;计算每个搜索引擎对应集合和所述第一集合的差集,将所述差集更新为搜索引擎对应的集合;
检索结果返回模块,用于对于第一集合和每个搜索引擎对应的集合,获取所述检索式中的关键词的同义词集合,计算同义词和关键词的相似度,根据相似度确定BM25算法的可调参数,采用BM25算法计算检索式和集合中条目的相关性;根据第一集合对应的权重和搜索引擎对应的集合的权重,对条目的相关性进行加权计算,基于加权计算结果对条目进行排序,将排序后的结果推送给用户。
[0036] 优选地,所述根据相似度确定BM25算法的可调参数,采用BM25算法计算检索式和集合中条目的相关性,具体为:获取默认的BM25算法的可调参数,计算每个关键词对应的同义词集合中同义词和关键词的相似度,根据所述相似度确定每个同义词对应可调参数;
从每个关键词对应的同义词集合中选出一个同义词,组合成一个同义词序列,对于每个同义词序列,根据同义词对应的可调参数采用BM25算法计算同义词序列和条目的相关性;得到所有同义词序列对应的最大的相关性作为检索式和条目的相关性。
[0037] 优选地,所述根据所述相似度确定每个同义词对应可调参数,具体为:将相似度和默认可调参数中的 的乘积作为同义词对应的可调参数的 ;将默认可调参数中的b作为同义词对应的可调参数b。
[0038] 优选地,所述根据第一集合对应的权重和搜索引擎对应的集合的权重,对条目的相关性进行加权计算,具体为:若条目在第一集合中,采用第一权重对条目的相关性进行加权计算;
若条目在搜索引擎对应的集合中,采用第二权重对条目的相关性进行加权计算;
所述第一权重大于所述第二权重。
[0039] 优选地,所述同义词集合包括关键词和关键词的同义词。
[0040] 最后,本发明还提供了一种计算机可读存储介质,在所述可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时实现如上所述的方法。
[0041] 通过以上的实施方式的描述,本邻域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0042] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制,还可以采用其他实施例;尽管参照前述实施例对本发明进行了详细的说明,本邻域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。