基于moodle平台答疑系统的设计与实现

2013-08-21 03:32郑丁山
计算机光盘软件与应用 2013年9期
关键词:搜索二次开发

(江门市新会区卫生成人中等专业学校,广东江门 529100)

摘 要:本文基于Moodle(Modular Object-Oriented DynaMic Learning EnvironMent,模块化面向对象的动态学习环境)平台,进行二次开发,设计并实现了一个答疑系统。该系统的核心采用本地搜索、全网搜索、向教师求助的三级搜索策略;该系统可以高效准确的定位问题的答案,使学生的疑问得到及时有效的解决。另外为了动态扩充本地数据库的信息和资源,以适应知识动态增长,不断更新的特性,还集成了提出问题、回答问题、编辑问题的功能。

关键词:答疑系统;搜索;Moodle;二次开发

中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2013) 09-0000-03

1 引言

网络教育主要是针对某个特定领域内的知识进行学习,应当具有一定的智能性,能够解答学生的疑问,帮助学生快速、准确地找到他们真正需要的网络信息环境[3]。

2 答疑系统现状

国内在解答学生疑问,进行师生信息交流方面,可划分为下面三种类型[1]:第一类,没有专门的答疑部分,师生的信息交流仅仅限于电子邮件、留言板或聊天室等简单的方式。这一类远程教育系统可以看成是电视大学的网络版,没有发挥网络教学的优势。第二类,具有初步的答疑系统,提供了类似于BBS形式的讨论和在老师主持下的以聊天方式进行的模拟课堂。第三类,具备了一定能力的答疑系统,这些系统提供了一个数据库,用户可以通过关键词检索的形式来查询信息。系统检索到信息以后就将答案返回给用户,否则将问题存储在数据库中留给专家解答。用户以后则可以进入系统后利用查看答案的选项来查看答案。虽然第三类已可以满足一定的网络教育答疑的要求,但是仍然存在几点不足:系统的知识的管理能力不足,不能有效管理信息;没有有效利用外部资源;没有实时信息传送等。

与国内的答疑系统不同的是,国外有许多专门的、出色的、智能化的答疑系统。这些系统,如Ask Jeeves公司Ask Jeeves for Kids网上答疑系统、Zhiping Zheng博士组织开发的AnswerBus答疑系统、MIT(Massachusettsh stitute of Technofogy)人工智能实验室的Boris Katz博士组织并开发的START(SynTactic Analysis using Reversible TransforMation)系统等几乎都是独立运行的系统,它们不属于任何教学或学习平台[2]。这类系统所扮演的角色更像是一个专业领域资源的提供者,提问者借助系统解答的问题不一定是某个完整的教学过程中的一部分,他们通过寻求答案可能是为了解决他们在相应学科的问题,也可能仅仅是为了满足好奇心,或者是为了寻找作业或任务中需要的资源。

从功能上来说,相比国内的系统而言,国外的答疑系统功能比较简洁,所有的功能都是围绕答疑功能而设计,重点突出。由于国外的答疑系统主要采用英语语系,而目前基于英语语系的自然语言处理技术、文本检索和数据挖掘技术都已经得到了长期的发展,并取得了优秀的成果,正是这些技术的发展为答疑系统的智能性、高准确率提供了保证。国外系统的智能性主要体现在人机理解的自然语言接口和相应的问题查询和反馈上,这表现在自动答疑方面。有的系统(如Ask Jeeves for Kids)在提问模块不但支持自然语言提问,还设计了问题的确认交互,通过这层交互,系统能够更精确地理解用户的问题,为问题的准确解答提高了保障;在问题呈现方面,系统会基于问题的类型提供给用户较为简洁的答案,一般有关时间、人物、地点、概念等类型的问题,其答案的简洁性和正确性较高。国外答疑系统的资源库的突出特点是其拥有非常丰富且高质量的内容,比如Ask Jeeves for Kids系统的所有答案均是来自数以万计通过查询和确定的其他网站的链接。这些网站资源是人为建设的,并不是软件搜索得到的,因此,每一个答案链接都与问题有关。国外答疑系统的资源库的另一个特色在于其不只包括知识库还包括信息库。这样,答案中呈现的信息既包括对问题的解答,也包括能够解答相关问题的网上资源的信息。与系统的独立性相关的是,和国内针对学科和课本的内容体系相比,由于国外系统多是独立平台,因此,答案资源库的内容采用了内容更加丰富和广泛的主题式或专业领域式内容组织体系。

3 moodle平台的答疑功能分析

Moodle是由澳大利亚的Martin Dougiamas博士主持开发的开源学习管理系统,它的重要特色是以社会建构教学法为设计基础,教育者(老师)和学习者(学生)都是平等的主体[3]。Moodle的教学设计思想之一,就是强调学习的社会性,认为学习是一个社会活动,他所关注的是怎样在为他人创造学习资源的过程中产生学习效果。学生和教师都是主体,享有平等的地位。在教学活动中,他们相互合作,根据自己以往的经验共同构建知识。Moodle的教学设计思想之二,就是强调学习的自我构建功能,同时它体现了两个显著特点:一是以模块化的形式面向学生,提供动态学习环境;二是学生想起什么就可以做什么,自由的发挥想象力和创造力。

答疑系统的设计思想也应该具有社会性和自我构建能力。在设计答疑系统时,要充分考虑到群体的力量,为了解答学生的疑难问题,可以把回答问题的权限扩大,集思广益,才能把问题圆满解决。另外,把答疑的过程看成是知识建构的一部分,充分挖掘学生的潜力和创造力,使答疑系统的功效达到最高。

通过对基于网络的答疑系统进行分析,一个好的答疑系统应该具备以下特性:

(1)正确性:提供的答案要正确无误才能使学生的问题得到解决。

(2)及时性:答疑系统必须在最短的时间内解除学生的困惑。

(3)多样性:由于问题的千变万化导致了问题答案的呈现方式也多种多样,所以要根据答案的特点采取多种不同的表现形式来呈现给学生。

Moodle平台提供了各种各样的课程活动模块,教师可以根据教学需要选择合适的模块,为教学活动创建互动式环境。以下是Moodle提供为答疑系统提供的标准课程活动。包括:讨论区(Forum)模块、资源(Resource)模块、聊天室(Chat)模块、wiki模块、词汇表模块。以上模块都很好的支持了学习活动的实施,而且功能相对完善。但是如何把这些模块有效的组织在一起为学生的学习进行正确、及时、多样的答疑是最重要的。

分析了Moodle关于答疑的功能并结合答疑系统的特性,Moodle存在以下问题:

(1)Moodle提供的答疑功能虽然很丰富,但各个模块相对独立,不能形成一个有机的整体。

(2)Moodle对中文的支持不健全。字符集编码的问题表现在使用Moodle在线编写教学内容的时候,由于不同国家使用的默认字符集不同,混合编排的教学内容常出现乱码。由于Moodle开发者的母语是英语,Moodle对中文搜索的支持就远远达不到要求,它是基于字符串匹配的搜索算法,只有完全匹配才可以返回结果,而且Moodle提供的“全局搜索”功能也不健全。对于答疑系统,搜索是最重要的功能之一,所以,必须开发新模块,以满足“中文”答疑系统的需求。

4 答疑系统的设计

针对答疑系统的特性,结合Moodle关于答疑模块的功能,提出了一个基于Moodle平台的答疑系统,该系统针对某个特定领域内的知识的同时,具有一定的智能性,能够解答学生的疑问,帮助学生快速、准确地找到他们真正需要的答案。该系统框架结构如图1所示。

其中:

(1)查询模块是系统的核心,是问题和答案展现的智能通道,学生也是从这里找到所需要的答案的。

(2)提问与解答模块是为了弥补前一个功能的不足,当学生没有搜索到所希望的答案时,可以通过提问让其他学生或是教师来回答,当有答案给出时,系统会发送一份EMAIL给提问者,通知他查看答案。

(3)问题扩展查询模块是三级搜索中的第二级,它的基本原理是调用现今流行的Internet资源库来解答学生的疑问,这样做的好处是即解答了学生的疑问又使自己的知识库得以丰富,利用了现成的资源,节省成本。

(4)问题统计模块是为了计算问题被问到的频率和点击率,以了解大多数学生的疑问是什么,对教师的教学重难点有一个很好的提示作用。

(5)人工答疑模块主要是教师通过聊天室、E-mail和留言板与学生进行交流。

本答疑系统设计了三级搜索策略,第1级:本地搜索;第2级:全网搜索;第3级:人工答疑。该三级搜索策略有知识面覆盖全面、具备一定的智能性、用户的疑问可以最终得到解决的优点。

用户使用答疑系统的步骤如下。

第1步:用户输入关键字或者文本;

第2步:系统智能分词;

第3步:在本地搜索答案;

此过程分两种情况:

(1)如果找到匹配答案则呈现给用户。

(2)如果找不到匹配答案,则进入二级搜索,进入第4步。也可以直接提问,系统自动写入数据库,等待其他学生或者教师来解答。

第4步:利用互联网上的主流搜索引擎(百度,爱问,雅虎知识堂等搜索答案,再呈现给用户。

第5步:如果以上几步还是无法满足用户需要,进入人工答疑。

5 答疑系统的实现

在Moodle的Mod文件夹下新建模块,名称为answer,该新建模块是按照三级搜索技术来实现的,可以完成系统框架图中的基于文本的关键字查询、提问、解答、借用流行搜索引擎、问题统计的功能。本系统需要在Moodle数据库中添加2个数据表,即:用于存储模块注册信息的表Mdl_answer(表1)用于存储问题信息的表Mdl_answer_ question(表2)。

表1 Mdl_answer数据表

Field Type 备注

Id bigint(10) 编号

Course bigint(10) 所属课程

Name Varchar(255) 名称

summary Text 概要

eMail Varchar(100) 教师EMAIL

Click bigint(10) 点击率

createtiMe bigint(10) 创建时间

表2 Mdl_answer_question数据表

Field Type 备注

Id bigint(10) 编号

Course bigint(10) 所属课程

question varchar(255) 问题

answer varchar(255) 答案

eMail varchar(100) 提问者EMAIL

Click bigint(10) 点击率

createtiMe bigint(10) 创建时间

Isok smallint(1) 审核

答疑系统的部分关键代码如下:

(1)提取关键字程序

$str=base64_encode(trim($_POST['Mydata']));

$str=base64_decode($str);

//计算字符串中的空格数

for($i=0;$i

{ if($str[$i]==" ")

$num=$num+1; }

(2)查询语句,查询符合条件的结果

$query="select * from(";

for($i=0;$i

{ if($i==0) {$exploded_string[0]=trim($exploded_string[0]);

$query.="select * from mdl_answer_question where question like '%$exploded_string[0]%'"; }

Else {

$exploded_string[$i]=trim($exploded_string[$i]);

$query.="UNION select * from mdl_answer_question where question like '%$exploded_string[$i]%'"; } }

$query.=" and isok=1) T ORDER BY id desc";

$result=Mysql_query($query);

$num_records=Mysql_num_rows($result);

(3)在Moodle中添加谷歌和百度搜索框

<!-- Search Google -->

<!-- Search Google -->

<!-- Search百度-->

<!-- Search百度-->

运行界面如图2所示。

图2 答疑系统运行图

6 结论

分析了现有答疑系统的现状与Moodle答疑功能的特性的基础上,自主开发了一个答疑系统模块,该模块可以很好的嵌入到Moodle中去。本系统为教学答疑在时间和空间上提供更大的灵活性,学生可根据自己的学习情况和知识的掌握程度选择参与答疑的方式,教师也可获得更多关于学生和课程的反馈信息,为教学提供有益参考。

参考文献:

[1]邱建波.基于网络的答疑系统的设计与实现[D].陕西师范大学硕士学位论文,2004:3-4.

[2]王刚.基于Web的智能答疑系统与自测系统的设计与实现[D].西安科技大学硕士学位论文,2004:7-8.

[3]黎加厚.让开源软件走进学校教育[J].中小学信息技术教育,2007,6:17-18.

[作者简介]郑丁山(1976.11-),男,讲师,本科学历/学士学位,研究方向:计算机及应用、数据库、网页设计技术。

猜你喜欢
搜索二次开发
浅谈基于Revit平台的二次开发
西门子Operate高级编程的旋转坐标系二次开发
浅谈Mastercam后处理器的二次开发
优惠信息检索与分析
Micaps3.2 版本二次开发入门浅析
ANSYS Workbench二次开发在汽车稳定杆CAE分析中的应用
网上"搜索"泄密,女自领报复情敌引来血光之灾
基于Pro/E二次开发的推土铲参数化模块开发