维吾尔语口试阅卷系统开发中若干问题的研究
2015-05-30贾志先
摘 要: 维吾尔语水平测试是为维吾尔语非第一语言的学习者设计的一项标准化考试。利用PHP开发了维吾尔语口试网上阅卷系统。在软件开发过程中,存在着网页字符集的选择,维吾尔语文字的显示,口试试题的存储和访问,口试音频的播放以及口试音频波形的显示等问题。针对维吾尔语口试阅卷的特点和需求,给出了解决问题的技术和方法。
关键词: 阅卷系统; 口试; 音频波形; PHP
中图分类号:TP391 文献标识码:A 文章编号:2095-2163(2015)04-
Several Issues in the Online Marking System of Oral in Uyghur Proficiency Test
JIA Zhixian
(Network and Experimental Teaching Center, Xinjiang University of Finance and Economics)
Abstract: The Uyghur proficiency test is a standardized test to design for the learners who first language is something other than Uyghur. By using PHP, the paper develops an online marking system of oral in Uyghur proficiency test. In the software development process, there are some problems, such as how to select a charset in web page, storage and display the questions and answers in Uighur, play oral audio, as well as display oral audio waveform and so on. According to the characteristics and needs of the online marking of oral examination, the paper has given the technology and methods to solve these problems.
Key Words: Online Marking System; Oral Test; Audio Waveform; PHP
0 引 言
在新疆,母语非维吾尔语的各民族(主要是汉族)中学习维吾尔语的人数正在迅速地增加,每年都有数以万计的母语非维吾尔语的人员通过国民教育系列和非国民教育系列的各种方式(包括各种类型的培训班)在学习维吾尔语。维吾尔语水平测试是为维吾尔语非第一语言的学习者设计的一项标准化考试,重点考查考生在生活、学习和工作中运用维吾尔语进行交际的能力。为了使维吾尔语水平测试公平、公正和高效,应用PHP开发了一个维吾尔语口试网上阅卷系统。运用先进的计算机网络技术,实现了考试评分手段的现代化[1-2]。在软件开发过程中,存在着网页字符集的选择,维吾尔语文字的显示,口试试题的存储和访问,口试音频的播放以及口试音频波形的显示等问题[3]。经过研究和探讨,有效地解决了这些问题。
1 维吾尔语口试阅卷
维吾尔语水平测试设立了四个等级,其中,一、二级为初级,三级为中级,四级为高级。在维吾尔语水平测试各个级别中,均包括有笔试和口试两部分。开设维吾尔语水平测试口试项目,其主要目的是从语音、语调、断句的正确流利程度上考查考生的语言能力以及语言的流利度。例如,一级口试的题型主要有看图认读和看图回答问题,三级口试的题型主要有朗读题和简答题。在网上评卷过程中,每个小题需经两位评卷老师评卷,如果两位评卷老师评卷结果误差超过规定的范围,则由第三位评卷老师评卷,以保证评卷的质量[4]。维吾尔语水平测试口试网上阅卷的主要依据是考生的口试音频文件。通过播放考生的口试音频文件,评卷人员从考生的语音语调语速等方面进行判断,给出一个恰当的分数。
2 维吾尔语文字的显示问题
在计算机字符编码中,有多种不同的字符编码方案。选择在网页中能够正常显示维吾尔语文字的字符编码是维吾尔语口试网上阅卷的一个重要的问题。Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。Unicode用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符。在Unicode中,维文字符被分配到阿拉伯字符基本区,扩展区A和扩展区B[5]。UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码。在电子邮件、网页及其他存储或发送文字的应用中,UTF-8逐渐成为优先采用的编码。在维吾尔语口试网上阅卷系统网页设计中,选择UTF-8作为网页的字符集,可以很好地解决维吾尔文的显示问题。
3 数据库设计与访问方式
在维吾尔语口试阅卷系统中,数据库表主要有:考生口试信息表,口试试题和标准答案,评卷人员表和评卷结果等。在一些数据库系统(例如,Visual FoxPro等)和访问方式(例如,RDO方式)中,存在着不支持UTF-8编码的问题。在维吾尔语口试考试和评卷系统开发过程中,找到了一些支持UTF-8编码的数据库和访问方式,以及不支持UTF-8编码情况下的解决方案。在维吾尔语口试试题编辑过程中,数据库采用Access数据库。试题编辑系统采用Visual Studio 2010开发,访问数据库技术则采用ADODB方式。在维吾尔语口试考试和评卷系统中,数据库采用SQL Server 2008。在考试和评卷前,将以Access数据库存储的试题库导入到SQL Server 2008中。在Access中,存储维吾尔语口试试题和答案的字段,选择“备注”型和“文本”型;在SQL Server 2008中,存储维吾尔语口试试题和答案的字段,选择nvarchar型。
在PHP中,常用的访问SQL Server方式有mssql、odbc和adodb等。这些访问SQL Server方式都存在着不支持UTF-8字符集的问题。口试试题和答案的文字不多,可以采用图像文件方式存储维吾尔语口试试题和答案。可以应用Visual Studio 2010,编写一个建立试题图像的程序,将试题库中的口试试题和答案读出并保存为.JPG格式图像。在口试试题和答案数据库表中,增加一个字段来存储试题和答案的图像文件名。在评卷前,将建立的试题和答案的图像,存储在评卷系统的images文件夹下,在PHP网页中,利用文件名字段读取所建的答案图像,以图像方式显示试题和答案。
在访问SQL Server的mssql、odbc和adodb等方式中,应用mssql方式访问SQL Server,需要利用微软发布的驱动程序SQL Server Driver for PHP。应用adodb方式访问SQL Server,需要从http://sourceforge.net/projects/adodb网站上下载和安装adodb包。odbc方式访问SQL Server则相对比较简单。在口试阅卷系统中,选择应用odbc方式访问SQL Server数据库。
PHP中应用odbc方式访问SQL Server数据库的常用函数[6]主要有:
odbc_connect()--建立一个数据库连接。
odbc_exec()--执行SQL语句,并返回一个结果集。
odbc_fetch_row()--从结果集中取一条记录。如果取出一条记录,则函数返回true,否则函数返回false。
odbc_result()--从记录中读取字段。该函数有两个参数:odbc结果标识符和字段编号或名称。
odbc_close()--关闭 odbc 连接。
在网页中,访问SQL Server遇到非ASCII字符时,需要应用iconv()函数在UTF-8编码和GB2312编码之间进行转换。例如:
$sqlstr = "select * from 评卷人员表 where 用户名='".$username."' and 密码='".$pwd."'";
$result=odbc_exec($conn,iconv("utf-8","gb2312",$sqlstr));
$_SESSION['username']=odbc_result($result, iconv("utf-8","gb2312",'用户名'));
4 口试音频的播放
在PHP网页中,可通过调用Windows Media Player进行音频的播放。在口试阅卷系统中,调用Windows Media Player播放音频的代码为:
… … …