计算机工程
Computer Engineering
1999年　第25卷　第9期　Vol.25 No.9  1999



基于WWW的自动答疑系统
申瑞民　刘　耘
　　摘　要：提出了一个基于WWW环境的网络自动答疑系统Answer Web，设计并实现了其功能，框架，技术解决方案．
　　关键词：自动答疑系统；动态服务器页面；语义匹配
A Web Automatic Answer System Based on WWW
Shen Ruimin Liu Yun
(Computer Science and Engineering Department of Shanghai Jiaotong University, Shanghai 200030)
　　Abstract　This thesis brings up a web automatic answer and analysis system based on WWW environment and gives the design and implementation of function, framework and technical solving scheme of the system
　　Key words　Answer web; Active server pages; Semantic matching
　　近几年来，Internet的发展引人注目，作为Internet最广泛应用的 World Wide Web 日新月异，可以说World Wide Web是目前世界上最大的信息资源。利用Web实施远程教育，克服了传统教育在时间、空间上的限制，使得原先分散的教学资源能融为一体，Internet的用户可以使用浏览器随时获得课程信息，达到学习目的。基于Web的学习除了能提供的生动的多媒体视频、音频信息外，用户还可以通过影象和声音方便地和其他用户及教师进行交流。如果说Web的出现是远程教育的一个里程碑，恐怕也不过分。
　　在WWW的远程教育站点中,课程内容以Web出版作品形式提供给用户浏览，课件大部分是用HTML语言开发，通过Java加入了大量生动活泼的多媒体内容，使用户能轻松地完成学习过程。但被动的浏览不能称为教学活动，用户在学习过程中，会要求教师解答疑问，用户也需要通过回答问题来强化学习效果。
　　由于Internet上的学习课程的用户往往较多，因此让有限数目的教师对每一位用户提出的问题都作出实时的解答是不现实的，但是根据学科的教学经验，由于课程的内容具有经典和普遍意义，用户对课程的理解一般都有相似之处，提出的问题实质性内容有60%-70%是相同的，不过表达方式上可能有所偏差，因此，提出建立一个自动网络答疑系统Answer Web，对学生提出的问题进行分析和匹配，自动寻找可能的解答，组合常被链接参考的解答，同一解答能对应多个问题，使用户得到更全面的理解。同时，还可以对问题和答案进行统计和分析，把一些有价值的信息传递给教师。这样的自动答疑和分析系统是传统的答疑方式所不能比拟的。
　　本文将给出这样一个自动答疑系统的模型设计和实现。
1　Answer Web的功能
　　Answer Web 的主要功能是将学生们的问题和老师的解答组织起来存放至相应的数据库，并通过各种方式进行查询公布，使答疑变得高效而系统。
1.1 答疑功能
　　大学课程中的内容和难点对不同背景的用户都具有普遍意义,因此Answer Web对每门课程都预先加入一些常见的问题及其解答。
　　具体过程是：(1) 学生填写Web页疑问表格(Form)，并提交至Web Server；(2) Web Server端提取关键词和语义词进行语义判断，如果数据库中已存在意义相同的问题，提供给学生参考解答。否则将问题组织存放至相应的数据库；(3) 教师浏览问题库，可以参考其他相关问题的解答作为该问题答案，通过Web页解答表格将解答提交,存放在数据库中；(4) 提问的学生参阅这些解答，同时还阅读一些相关问题的解答，使他们能够对所提出的问题有较为全面的理解。
　　另外，提供几个best teacher地址，使学生和教师可以做更直接的交流对话。
1.2 查询功能
　　随着Answer Web的数据库中所存放的疑问和解答信息越来越多，它必将成为教学过程中的有用资源，Answer Web的另一重要部分就是为学生和教师提供多方面的查询功能。主要的查询方式有4种：(1)查询正在浏览章节中的问题；(2)以访问频率大小进行查询；(3)根据关键词进行查询；(4)根据用户名进行查询。 
1.3 统计和分析功能
　　(1) 向教师提供的所有问题按章节数统计结果，这样可以起到课件改进的指导作用。
　　(2) 对答案的访问情况进行统计,将知识点有所关联的解答组合成一个解答,使学生从解答中得到更多的信息。
1.4 管理功能
　　管理是对Answer Web系统中的用户进行组织化管理，应提供删除无用数据的功能。
2　Answer Web的基本框架
　　根据功能要求，Answer Web可分为Web页，Server端处理程序和Server端的数据库3部分，基本框架如图1所示。

图1　Answer Web 基本框架
　　(1)Web页　Web页为学生和老师提供了Answer Web的使用界面，通过提交由Web主页提供的各种Form(表格)，由服务器处理相应的数据库请求，就可以使用Answer Web的各种功能。
　　(2)Web Server端的处理程序　Web Server的程序负责了Browser与DBServer之间的联系以及各种相关信息的处理。疑问、解答的提交和查询均使用IIS提供的API接口来实现。
　　(3)数据库管理　各种有关Answer Web的操作最终都可以归结为对数据库的存取访问，与疑问和解答有关的信息的处理和组织方式对于该系统的性能有着直接的影响。
3　Answer Web实现的解决方案
　　采用Microsoft BackOffice 系列构造Answer Web的整体平台。BackOffice是为更可靠和更易于维护的快速、低成本浏览器/服务器应用程序而设计的。其部件共享WOSA (Windows Open Services Architecture)，易于集成在异机种计算环境中。
　　在具体实现时，采用了下面的一套方案：

图2　设计实现采用的平台方案

图3　实现平台关系图
　　根据已有的平台方案，各部分的实现采用如下技术。
　　(1) Web页面，用HTML语言编写，HTML是Internet上编写网页的通用语言，支持文本和图象显示，能定义超链接，可以通过表单(Form)向服务器发送信息调用处理程序。
　　(2) 页面与数据库的连接和服务器端的处理程序采用Microsoft ASP技术实现，ASP即动态服务器页面，是Microsoft开发的编写动态网页的工具，它将脚本式编程语言直接嵌入HTML语言中，通过执行脚本语句，能处理运算，变量输出和子过程调用，通过ADO (ActiveX Data Object)能访问ODBC数据库，执行SQL查询。
　　(3)数据库采用Microsoft Access作为数据库管理系统。它是在Windows环境下开发的一种全新的数据库系统，支持可视化的设计。
4 Answer Web功能的实现
　　(1) 基本框架的实现 首先是数据库的设计，它是程序操作的基础。以下几个数据表是基本的：1) 用户表单Users：记录系统用户的基本信息，如姓名、口令、身份(学生或教师)。2)问题表单Questions：问题的标题，内容，状态(是否有解答等)，相关问题，关键词，访问记录，提问时间,提问人。3) 答案表单Answers： 包括对应问题的代码，解答内容，时间信息,解答人等。4)关键词表单Keywords： 包括关键词的中英文，简写，所在章节号。
　　为了更有效地实现查询，可定义包括几个表中的相关数据的关联表。在数据表格的基础上，还定义了各个表单的关系，表现为主码对外部码的一对多关系，在关系基础上，定义级联删除和级联更新。
　　其次是网页的设计，主要是用户填写的表单和界面的设计。系统对学生和教师设计了功能不同的界面，学生能使用的功能有：提问，查看自己提出的问题，查看访问次数最多的10个问题，按关键词查询问题，对无解答的问题解答，查看其指定用户的问题，删除自己提出的问题，查看本章已有的问题。教师能使用的功能有：解答问题，查看并修正解答，查看问题在各章的分布，删除用户等。
　　服务器端的程序是实现的重点。其内容主要是生成SQL语句对数据库操作以及对所得数据的处理。用脚本语言VB Script实现。
　　(2) 问题语义匹配的解决 当用户提出新问题希望得到解答时,系统需要从原有问题库中查找意义类似的问题,将它取出交给用户确定是否同一问题,若是同一问题,则不必加入问题库中，用户可以直接浏览原问题的解答。这样避免了问题库中问题的重复性，而使用户可以较快地得到解答，也避免了教师的重复劳动。
　　问题意义的匹配属于自然语言理解和匹配的范畴。30年来自然语言理解的研究大体上经历了3个时期：60年代以关键词匹配为主流的早期历史。70年代以句法--语义分析为主流的中期历史。走向实用化和工程化为特征的近期历史。提出的基础理论算法有：形式语言理论，转换生成语法，概念从属理论，功能合一语法等。在这些理论基础上，按照词、句子、篇章来开展语言处理。
　　词的处理是自然语言处理的基础。首先是词类划分，其次是建立机器辞典，实质是基本词汇数据库。汉语词的处理是较为复杂的，先要经过分词阶段。句子分析是中心问题。它能确定句子是否合乎语法，并使句子结构规范化。
　　Answer Web中的问题语义匹配要解决汉语和英语两种语言中问题句的语义匹配，即判断两个表面结构不同的问题句之间是否具有相同的深层含义。基于远程教育系统的网络程序环境的考虑，对语义匹配采取了关键词和语义词同时匹配的办法。
　　关键词是Answer Web课件中的基本和常用概念，是提问的主要对象。问题中的关键词限定了问题的主要范围和内容。对关键词的匹配是语义匹配的重要方面。关键词表的要求是覆盖面广，能完整地反映课件中的内容和概念。
　　语义词是从大量的问题语料中提取出来的常用词，要求出现频率高，有鲜明的语义内容，诸如"概念"、"区别"等。对语义词进行匹配可以大体确定问题的语义，也是问题匹配的有效方法。现从一些问题及习题库中提取了数十个语义词，建立了一个语义库SyntaxWords。

图4　SyntaxWords表的域定义
　　语义词和其同义词编号是相连的，Synonym域是在语义词表中和该语义词同义的编号最小的中文语义词。对语义词匹配成功时，检查对应的同义词域是否有同义词存在。如果没有同义词，将中文语义词加入问题的语义词串中，否则，把同义词加入语义词串。这样对同义词匹配具有模糊性。
　　对关键词和语义词都进行了提取之后，一个问题的语义能大体确定，可以用其摘要和其他问题匹配。语义库的建立是实现语义匹配的关键。
5　总结
　　利用Web实施远程教育具有广阔的发展前途和应用前景，Answer Web是和课程集成在一起的网上自动答疑系统，为浏览学习提供了习题和答疑服务，它还将问题解答组织到数据库中供查询和公布，是传统答疑方式不可比拟的。Answer Web的基本框架包括Web页面、数据库和处理程序3部分。对其实现采用了Microsoft的BackOffice系列软件环境，Web页面采用HTML语言编写，数据库用Ms Access97开发，处理程序用ASP技术插入HTML语言之中，在功能的实现中，提出了新问题加入时的语义匹配问题，采用了提取关键词和语义词同时匹配的方法解决。
作者简介：申瑞民(1968～)，男，副教授，主研方向：计算机软件，数字化教育
作者单位：上海交通大学计算机科学与工程系
参考文献
1 Mark S, Castro F, Bacon-Shone J.Proceedings of the AsiaPaci- fic World Wide Web Conference and the Second Hong Kong Web Symposium. Hong Kong, 1996-08
2 Neilson I,Thomos R, Seaton C. et al.Education 2000:Implications of W3 Technology. Computers and Education,1996,26
3 刘开瑛，郭炳炎.自然语言处理. 北京：科学出版社,1996
收稿日期：1998-11-30
