本文探索运用人工智能理论去解决在远程考试中遇到的考试公平的问题:用人工智能技术,基于知识点属性建立的知识点库,使试题库建库时,试题能智能生成难度系数。并给出了详细实现方法和算法。
1 引言(Introduction)
人们越来越接受逐渐取代传统考试方式的利用计算机网络实现的远程考试系统。传统意义上的考试,操作过程极其繁琐,出错难以避免。远程教育也称为网络教育,突破了时间与空间的限制,对实现教育终生化,教育大众化、平民化有重要的意义。我国是一个十三亿人口的大国,且农业人口众多,东西部发展不平衡,教育资源尤其是高等教育资源分布不均匀,西部及偏远地区教育资源匮乏。远程教育为全民教育及终生教育提供了有效的途径。在远程教育体系中,基于计算机网络的远程考试系统有了非常重要的意义。远程考试系统尽可能保证了考试的实时、可靠及客观公平及最小程度的人为因素影响。远程考试系统亦广泛应用于政府、企业及各种机构的培训,因此,讨论远程考试系统有了非常重要的意义。
远程考试离不开试题库的创建。
采用常规数据库构成的试题库,对客观题(选择、判断、填空题)很好解决。可以将试题库的试题按不同的形式出现。原理是:每个题都有几个选项,正确的和干扰项都有若干项。当试题要单选题时,可以用算法限制,每个题抽出一个正确项和若干个干扰项。当试题需要多选题时,每个题在答题选项中任意选取,但保证正确选项大于1即可。
而抽卷一般都是随机在试题库抽题形成试卷。这就造成不同试卷难度可能不同,考试欠公平。处理这个问题最好的办法就是将题目在建立试题库时就给了难度系数,出题时按难度比例抽题。这样对每个参考者相对公平。这涉及到怎样确定试题难度的问题。下面将讨论用人工智能技术处理试题难度。也就是在创建试题时,让计算机自动识别试题难度。
2 人工智能技术在试题库建设中的应用(Application
of artificial intelligence techniques in building the
examinations bank)
2.1 人工智能的定义
著名的美国斯坦福大学人工智能研究中心尼尔逊教授对人工智能下了这样一个定义:“人工智能是关于知识的学科——怎样表示知识以及怎样获得知识并使用知识的科学。”而另一个美国麻省理工学院的温斯顿教授认为:“人工智能就是研究如何使计算机去做过去只有人才能做的智能工作。”这些说法反映了人工智能学科的基本思想和基本内容。即人工智能是研究人类智能活动的规律,构造具有一定智能的人工系统,研究如何让计算机去完成以往需要人的智力才能胜任的工作,也就是研究如何应用计算机的软硬件来模拟人类某些智能行为的基本理论、方法和技术[1]。
人工智能(AI)是目前发展迅猛的计算机学科的一个分支,近代被称为三大尖端技术之一,这三大尖端技术是:基因工程、纳米科学、人工智能。人工智能经过近几十年的发展,也逐渐成为了一个比较成熟的技术应用。在实践中应用十分广泛。在许多学科中都有它的身影,也取得了巨大的成果及可观的经济效应,在理论上也日趋完善。
人工智能是用计算机算法来模拟人类的智能行为或思维过程。比如:逻辑推理、学习规划、计划实施等等。主要的内容包含:计算机实现算法(原理)、智能机器人制造等。人工智能涉及的学科也极为广泛。首要的是计算机技术,还有心理学、教育学、语言学等人文科学。还有控制、自动化、仿真、数理逻辑等自然学科,具有广泛的应用前景。目前,关于人工智能的研究涉及到军事、航天航空、机械制造、计算机仿真、遥控遥感、机器人、工业控制、自动化、采矿、教育培训、服务业等等。人工智能技术在当今社会中得到越来越多的关注和重视,是正在快速发展的热门学科。它起源于计算机技术,但远不止于计算机科学范畴。人工智能取得了许多成就,这些成就主要表现在: 基于知识的系统、机器学习、神经网络、机器人学、Agent技术和分布的协同工作、规划和配置、机器感知等[2]。
2.2 知识的定义
知识是人类在认识自然、改造自然过程中沉淀下来的精神产物,是人类进行创新、创造、探索等智能活动的基础。关于知识的理解,可以概括为以下几个方面:
(1)知识是转换后的信息。经过人类的主观理解、解释、消化、选择以及过滤,大量信息加工处理后,称其为知识。
(2)知识也可以理解为对特定的学科或产业的概念定义、内部关系、运作过程和应用解释。
(3)知识亦可以定义为:“事实”“信念”“启发式”。
在人工智能领域,知识是一个非常重要的处理点。大量的信息必须从知识中提取和转换来的。从其作用层次,它们分为对象级知识、元级知识两类。按性质亦可划分为三种知识:过程性、描述性、判断性。
2.3 知识表示
知识表示一直是计算机领域中非常关键的问题,在人工智能及专家系统中,知识表示是知识的符号化过程。实际上是为描述事件所做的一组约定,它的实质是将事件的事实、过程、关系、属性等特征抽象成数据结构。计算机的知识表示就是研究这些数据结构,构建数据库,使用算法将物质世界的可以处理的信息尽可能量化,过程化。人工智能也就是让计算机模拟人的思维过程。将这些海量的数字化后的信息快速处理,以获得人们需要的结果。
人工智能应用在构建试题库时,知识表示也成为一个非常关键的问题。
知识的表示与对问题的处理和解决以及解决问题的效率有很大的影响。一个正确的知识表示,可以将知识很好的转化为数字信息,从而使得计算机能够更好的处理,那么对知识表示的要求,主要从下面四个方面去处理:
(a)可表达性:能够正确有效的将要解决的问题所需要的知识表达出来。
(b)可理解性:知识表结果是容易理解的,简单明了的。
(c)可访问性:知识表示是可以利用的
(d)可扩充性:当有新增知识的时候,原来的知识表示可以扩展、补充。
2.4 知识库的构建
知识库是按照一定要求存储在计算机中的相互关联的事实知识的集合,是经过分类和组织、序化的知识集合,是构建专家系统(ES)的核心和基础[3]。
对知识的处理,很关键的一步是知识库的构建,即创建知识的物理结构及逻辑结构,在计算机技术及人工智能理论中,可以理解为数据结构的建立。知识库的组织方式,依赖于知识表示模式,也依赖于数据库等计算机技术。目前的数据库技术发展很快,也有很多模式可供选择。总之,知识库的组织应尽可能全面、高效、最大化利用存储空间。
知识库的构建模型如图1所示。
图1 知识库构建模型
Fig.1 The knowledge base model
2.5 知识库的管理
在人工智能的专家系统中,知识库会随着时间推移,越来越大,知识的尝试和广度也相应变化。知识库管理维护得好,会成为日常工作的好帮手,处理得不好,知识库就是一堆没有用甚至是有害的信息垃圾[4]。管理知识库涉及到数据存储的安全性、访问效率、多用户等等,依赖于计算机软件技术。
2.6 实现过程
(1)构造试题库数据结构表见图2。主键为“ID”。
图2 综合试题库表
Fig.2 The examination bank table
(2)所考知识点难度数据表结构
所考知识点难度数据表结构如图3所示。主键为“序号”。
图3 知识点难度数据结构表
Fig.3 Construction table of the database in difficulty
coefficient of knowledge point
(3)知识点数据分析及客观题知识点难度计算程序的算法实现
先将所选课程考试大纲要求的知识点按照掌握、理解、了解的要求每个知识点设置一个或两个关键字,并设置知识点难度系数数据库,考试大纲要求不是很多,所以数据量不大,可由教研室讨论每个知识点的难度系数。考试的题库却是不断增加的,每增加一个选择题时,就遍历知识点难度系统数据库,按词法匹配,如果选择题含有某知识点,即将此知识点的难度系统加到累加变量中,并将计数器加1,遍历完整个表,将累加变量值除以计数器,得到此选择题的知识点难度系统。实现算法如图4所示。
图4 试题库难度系数生成算法流程图
Fig.4 Flow chart of algorithms in the degree of
difficulty of examination bank
3 结论(Conclusion)
用人工智能技术,基于知识点属性建立的知识点库;试题库建库时,试题能按词法匹配,遍历知识点库,智能生成难度系数。解决了在无纸化考试中遇到的考试公平的问题,也减轻了出题者的工作量,避免了出题者主观判断题目难度导致的随意性和不准确性。
但系统仍存在不足:可实现是部分智能推导,知识点的堆积是一个继承过程,仍然可以继续研究。人工智能在计算机考试中仍有很多可研究的方面,如:主观题的阅卷等。这也是今后可努力的方向。
作者:李波涛 来源:软件工程师 2015年6期