论文部分内容阅读
随着教育与信息化的不断融合与发展,大规模在线开放课程(Massive Open Online Course,简称MOOC)已经成为了一种重要的学习方式。MOOC平台越来越多,所提供的课程数量也呈现出爆发式的增长。这就导致学习者需要花费更多的时间与精力在各个在线平台来挑选符合自己需求的课程。Google、百度、Bing等通用搜索引擎虽然能够提供MOOC课程的检索结果,但检索结果并不精确,还需要在繁杂的结果中来筛选所需信息,效率低下。因此,一个能够满足学习者对MOOC信息搜索的系统就变得尤为重要。本论文设计与实现了面向MOOC领域的垂直搜索引擎系统,能够满足学习者对MOOC领域更精确的检索需求,提升学习的效率。采用Python语言进行整个系统的开发,Scrapy框架对多个MOOC平台进行数据采集与抽取,使用MongoDB非关系型数据库来存储数据,导入ElasticSearch对数据建立索引并搭建分布式搜索服务器,Django来实现用户检索网站。通过对搜索引擎技术的学习和对使用者的行为分析,本系统分为MOOC爬虫模块、信息索引模块、用户检索模块,作者独立设计并完成整个系统的各个模块的开发工作,各个模块详情如下:(1)爬虫模块:针对多个MOOC平台进行数据的爬取,对指定的URL进行页面下载,提取出页面中的课程名称、课程链接、简介、教师、学校等信息。接着对获取到的数据进行处理,过滤掉不合规范的MOOC课程数据,将处理过后的数据存储到MongoDB和ElasticSearch索引数据库中。(2)信息索引模块:对完整的MOOC课程数据创建映射,进行中文分词,建立倒排索引。利用ElasticSearch模糊匹配实现搜索建议提示,多字段查找搜索功能来支持用户对课程信息的检索。(3)用户检索模块:使用Django框架开发动态网站,提供良好的人机交互页面和逻辑,方便使用者对MOOC数据进行检索,提供最近搜索历史纪录、搜索用时、课程数目、数据分页浏览等功能。检索页面返回精准的MOOC课程信息,点击课程名称即可跳转到对应的页面进行课程的学习。通过对本系统的功能及性能测试,能够满足学习者对MOOC课程领域的检索需求,简洁精确的检索结果能够方便的查看课程介绍,提升用户寻找课程的效率,具有很高的实用价值。