APP下载

智能专业课程信息检索的立体化教学与实践体系研究

2019-10-23张春英

计算机教育 2019年10期
关键词:信息检索搜索引擎学时

魏 群,张春英

(华北理工大学 理学院,河北 唐山 063210)

0 引 言

信息检索是智能专业的前沿课程,讲授搜索引擎的核心理论和自然语言处理内容,包括各种索引的技术和算法、倒排索引的压缩技术、词项权重计算、信息检索的评价、文档的聚类技术,介绍学科前沿技术、理论、发展趋势和研究热点,重点突出课程的综合性与知识的前沿性。信息检索属于较新课程,目前国内高校开设情况不一,不论教学模式、教学内容、教学课件、实验资源等都不一致,尚处于探索阶段,规范化课程和配套的实验比较缺乏,课程设计内容更未涉及,迫切需要进行相关课程与实践方面的研究。

1 信息检索课程的教学研究

1.1 教学内容的设置

信息检索系统介绍了智能专业信息检索的基础理论及各种新的处理技术,主要介绍了智能信息检索技术的基本概念、原理、分析方法以及智能信息检索的原理性方法[1],是智能科学与技术专业的一门专业必修课程,共64 学时。授课结合理论研究和教学实践,其中授课安排52 课时,开发实验12 学时,另外安排课程设计20 学时。

课程教学内容主要包括布尔检索、词项词典及倒排记录表、词典及容错式检索、索引构建、索引压缩、文档评分、词项权重计算及向量空间模型、一个完整搜索系统中的评分计算、信息检索的评价、相关反馈及查询扩展、XML 检索、概率检索模型、基于语言建模的信息检索模型、文本分类及朴素贝叶斯方法、扁平聚类、Web 搜索基础、Web 采集及索引等[2]。

1.2 教学方法改革

信息检索课程具有较深的学习难度和广度,无论对教师还是学生都提出了更高的要求和挑战[3],在教学过程中有针对性地进行了如下几点改革。

1.2.1 夯实概率统计、线性代数和数据结构理论基础,做好前期准备

概率统计、线性代数和数据结构是信息检索课程的基础,尤其是概率统计对课程的掌握具有至关重要的作用,这些课程也是信息检索课程的先导课程,但对学生而言必须温故而知新,因此需要用一些课时复习和扩展概率统计、线性代数和数据结构的相关内容[4],不能急功近利。

1.2.2 注重算法分析,结合具体的信息检索实例

检索算法的设计与分析是信息检索课程的核心,贯穿授课内容的始终,每个算法的讲授需要清晰的流程。首先是算法产生的原因,即它能够解决的问题、基本原理和思想;然后重点讲述算法构成的四要素:输入、输出、数据结构和处理过程;每一个算法最后都必须结合具体的实例来解析,否则学生很难理解和掌握。例如在文本分类中,有多项式朴素贝叶斯方法和贝努利方法,这两种方法较为复杂且容易混淆,必须针对一个训练集和测试集,采用这两种方法分别进行文本分类的实际测试。通过这样的实例分析,才能使学生更好地区分并掌握这两种算法。

1.2.3 多种检索算法进行对比分析和交叉应用,提高学生的实际应用能力

信息检索课程研究各种检索算法,每种检索算法各有特色和应用领域,需要注意对比分析各自的优缺点及应用范围,这样能够培养学生的实际应用能力[5]。例如,信息检索模型包括三种:布尔模型、向量空间模型、概率检索模型,在检索模型中三种模型既可以交叉运用,又要注意分析类比它们的异同,并在后面的课程设计中灵活应用。

1.2.4 启发和鼓励学生进行探索和研究,提高其创新能力

信息检索课程内容不同于其他传统课程,涉及的技术和算法很新,有的尚未成熟,学生具有强烈的好奇心和求知欲,在授课过程中可以以此启发和鼓励学生进行探索和研究。例如,在讲到相关反馈及查询扩展的内容时,以图像搜索为例,基于图像搜索的复杂性,需要结合用户的反馈计算出一个更好的查询结果,这显然增加了用户的负担,把这个问题交给学生讨论。有的学生提出了结合深度学习提高图像辨识度的方法,很有创新性,并在后面的课程设计中实现了这个想法。

2 信息检索课程的实验开发

实验环节应突出对学生动手解决实际问题能力的培养,要求实验题目的设置既要兼顾课程的独特性又要考虑课程间的相关性。一个实验流程走下来,学生不但能温故,而且可知新,对开发一个综合性的智能信息检索系统的方法将有更为深入的认识和掌握[6]。

实验开发设置在信息检索课程中,对课程中的一些重要算法,需要通过相关实验实现这些算法,从而有助于教学内容的理解和掌握,并为后面的课程设计打下了良好的基础。开发相关实验共12 学时,采用Python 编程语言,具体安排如下。

(1)实验一:临近搜索中两个倒排记录表的合并算法实现(2 学时)。

实验目的:通过实验,使学生掌握临近搜索中两个倒排记录表的合并算法。

实验内容:实现寻找两个词项在K 个词之内出现的可能性的算法。

(2)实验二:基于块的排序索引算法实现(2学时)。

实验目的:通过实验,使学生掌握基于块的排序索引算法,该算法将每个块的倒排索引存入文件f1,f2,…fn 中,然后合并成文件fmerged。

实验内容:编程实现将待合并的倒排记录表合并成一个倒排记录表文件。

(3)实验三:索引压缩γ编码的算法实现(2学时)。

实验目的:通过实验,使学生掌握索引压缩的γ 编码算法。

实验内容:检索系统中的倒排记录表所占空间巨大,因此索引压缩非常关键,γ 编码能在更细的粒度上进行编码长度的自适应调整。本实验通过编程实现这个γ 编码的过程。

(4)实验四:一个向量空间评分的快速算法实现(2 学时)。

实验目的:通过实验,使学生掌握信息检索中向量空间评分的快速算法实现。

实验内容:对搜索引擎来说,对文档进行评分和排序非常重要,本算法的目标是实现对文档的快速评分和排序,方法是简化余弦相似度中的权重。本实验需要编程实现这个算法。

(5)实验五:向量相似度的算法实现(2 学时)。

实验目的:通过实验,使学生掌握利用向量相似度计算文档相似度得分的方法。

实验内容:一个典型的检索系统包括一批文档组成的文档集,每篇文档表示成一个向量,本算法将实现在给定查询的情况下,如何根据向量相似度来选择得分最高的K 篇文档。

(6)实验六:基于贝努利模型的NB 算法的训练及分类过程实现(2 学时)。

实验目的:通过实验,使学生掌握基于贝努利模型的NB 文本分类方法。

实验内容:文本分类对检索系统来说至关重要,基于贝努利模型的NB 文本分类算法是有监督的学习方法,其优势是速度快、精确率很高。本实验需要编程实现这个算法。

3 课程设计

课程设计旨在巩固学生在课堂上掌握的基础知识,并在实际应用中锻炼实际应用能力[7]。根据信息检索这门课程的内容和特点,我们制定了如下的课程设计方案。

3.1 课程设计内容

利用所学知识并进行扩展,设计一个搜索引擎。采用Python 程序设计语言,根据已有的语料库进行分词,再去掉停用词和标点符号等,生成文档的词典,接着根据词典和文档内容生成词项的倒排记录表,然后根据搜索关键字,计算文档的余弦相似度,最后列出按相似度排名的搜索结果。

3.2 课程设计效果

经过课程设计实践,证明上述课程内容和实验计划的设置教学效果显著。学生虽然底子较薄,信息检索课程内容较深,但在夯实基础知识的同时,学生的创造性得到了充分的拓展和激发,取得了非常好的效果。学生设计搜索引擎,集思广益,有不同的构想。比如有的基于语料库进行检索;有的先根据文档提取主题,再进行检索;有的先爬虫相关内容,再进行检索;有的是对图片进行检索,先基于深度学习找出图片相关特征,再进行检索。实践证明,这一套课程教学、实验体系和课程设计三者结合的立体化体系开发是合理和高效的,对智能专业信息检索课程的建设具有很大的促进作用。

3.3 课程设计实例

3.3.1 设计思想

选取布尔模型和向量空间模型构建搜索引擎——文本检索模型。对于已知的文档集,为每篇文档进行编码,生成docID;使用分词工具对每篇文档进行分词处理,去除停用词和标点符号,构建每篇文档的词典;构建文档集词典中的所有词项的倒排记录表。对于用户查询,同样使用分词工具对查询进行分词处理,并去除停用词和标点符号,使用倒排记录表选出相关文档,利用余弦相似度方法对相关文档评分,根据评分结果进行文档相关性排名,名次越靠前,则表明文档相关性越高。

3.3.2 搜索引擎程序的执行结果

输入:查询语句

输出:关键词;相关文档;相关文档的排名和余弦相似度

执行结果见图1。

从上面搜索引擎程序的执行结果可以看出,两次查询排名第一的文档与期望返回的文档均一致,这证明了设计的搜索引擎达到了预期的目标,也验证了采用布尔和向量空间模型集合的检索模型具有可行性。

3.3.3 搜索引擎程序的流程图

搜索引擎程序的流程图用图形的形式表示程序的设计思路和执行过程,见图2。

4 结 语

智能科学与技术专业正迎来发展的黄金期,信息检索作为主干专业课程,对其教学模式的研究和探索,重要性不言而喻。今后随着时代的发展和新技术的出现,还要不断完善,尤其是加快教材及其配套实验、习题的建设,这样才能更好、更全面地提高教学效果。

图1 搜索引擎的执行结果

图2 搜索引擎程序的流程图

猜你喜欢

信息检索搜索引擎学时
第二课堂成绩单制度下的学时发放标准的探索
——以中国民用航空飞行学院为例
Chrome 99 Canary恢复可移除预置搜索引擎选项
世界表情符号日
探索学时积分制 构建阶梯式成长激励体系
体育教育专业田径普修课程教学时数调查研究
学习不是“刷学时”
计算机信息检索技术的发展及问题研究
对大学案理研讨课学生信息检索意识若干问题的思考
基于Lucene搜索引擎的研究
公共图书馆信息检索服务的实践探索——以上海浦东图书馆为例