朱刘影, 杨思春, 沈盛宇, 王 勇
(安徽工业大学 计算机科学与技术学院,安徽 马鞍山 243032)
自动解题是人工智能领域的经典问题,由于自动解题的题目大多为文字题,因此,近年来也吸引了自然语言处理领域研究人员的极大兴趣,并开始成为自然语言处理领域新的研究热点。20 世纪60年代,Bobrow[1]最早提出用符号方法自动求解代数文字题,该方法通过模式匹配或转换规则来实现。但是,符号方法的解题范围局限于很小的问题子集,为此Shi 等人[2]通过构造语义分析器,进一步提升符号方法的解题能力。近年来,针对数学类文字题的自动求解,一些研究人员又提出基于机器学习的方法。Hosseini 等人[3]通过从训练语料中学习动词的类别,自动求解同类型的单步或多步加减的算术文字题。Kushman 等人[4]在训练集中列出每题所对应的方程组和答案,并通过训练一个概率模型自动求解代数文字题。Roy 等人[5]通过使用表达式树(expression tree)自动求解算术文字题。Zhou 等人[6]通过训练一个对数线性模型自动求解代数文字题。机器学习方法虽然较好地解决了符号方法解题范围小、解题能力弱的缺点,但由于受训练集规模和学习模型选择的影响较大,其解题能力还有待于进一步提升。
以上研究主要针对数学类课程的自动解题,对于其他课程的自动解题研究则偏少。漆桂林[7]以本体作为知识库,引入空间推理模型,构建一个高考地理智能问答系统。受其启发,笔者针对地理课程自动解题,在地理试题本体的基础上,通过构建用于地理试题解答的解题规则,并运用SPARQL查询技术[8]和Jena推理技术[9],实现地理试题的自动解答。
以下第一部分概述相关理论和技术,第二部分介绍地理课程解题规则的具体获取过程,第三部分是实验结果与分析,最后是对文中工作的总结与展望。
本体(Ontology)是一种语义和知识层次上的概念模型建模工具。自20 世纪90年代以来取得了丰富的研究成果,已被广泛应用于知识工程[10]、语义Web[11]、电子商务[12]、信息检索[13]、数字图书馆[14]等领域。
本体描述语言用来描述领域知识概念及其关系, 主要有RDF、RDFS 和OWL 等。RDF 全称ResourceDescription Framework, 即资源描述框架, 是一种描述有关Web 资源的格式化语句集合的模型。OWL 全称Web Ontology Language,是RDF 的一种应用程序,通常使用RDF/XML 编码,它是W3C 推荐的语义互联网中本体描述语言的标准。
关于本体构造工具,广泛使用的是Protégé[15]系列,其特点是独立于特定的语言,可以导入或者导出多种Web 本体描述语言格式(如XML,RDF(S),OWL 等)。Protégé 内部支持RDF、OWL 的存储和访问,为开放源码软件。
本体的构建方法有很多,常用的有IDEF-5 方法、骨架法(Uschold 方法)、TOVE 企业建模法、Methontology 方法、循环获取法、七步法等。其中,用于领域本体构建的主要是斯坦福大学医学院提出的七步法。笔者也是根据七步法完成对地理试题本体的构建。
SPARQL 是RDF 实例数据查询语言之一,用于从RDF 图中获取信息。SPARQL 类似于SQL 查询语言的select-from 结构,主要有以下几个部分组成:
PREFIX Onto_name:Onto_uri
SELECT?Onto_type
WHERE{Onto_name
Keyword
Consequence
Onto_type}
其中,PREFIX 是SPARQL 语言的前缀,以引出后面的本体名词(Onto_name)及本体的URI 形式(Onto_uri)。SELECT?用于选择文本类型(Onto_type),类似于SQL 语句中的SELCET,WHERE 句子中包含许多部分,主要用于提供推理条件,Keyword 为文本中的关键词,Consequence 为推理所需的属性条件。在Protégé 中的SPARQL查询支持RDF、RDFS、XML 及OWL 形式,其表达方式为:
PREFIXrdf:
PREFIXowl:
PREFIX
xsd:
PREFIX
rdfs:
WHERE
{?subjectrdfs:subClassOf?object}
在构建解题规则时,根据SPARQL 语言规范,设置SPARQL查询语句用于推理验证,其通用形式为:"PREFIX"+item.getValue()+":
Jena 由HP 实验室开发,是面向语义Web 有关应用的Java 应用程序API,是支持RDF、RDFS、OWL 等的编程环境。Jena 主要有以下接口和方法:
(1)RDF 和OWL 应用编程接口, 利用RDF API 和OWL API 可以实现对RDF 和OWL 形式的本体存储和查询。
(2)Jena 的推理子系统提供了多个不同的推理引擎来使用不同类型的本体。
(3)SPARQL查询语句的应用方法。利用这些接口和方法可以实现本体构建规则构建及其推理。以下以构建本体为例,说明基于Jena 的本体构建步骤:
①实体确立:将领域中的实体类归类,划分成不同的集合,并为集合设立命名空间,每个类集合对应一个命名空间,把类概念化,然后确定概念间层次关系。
②属性描述:根据领域实体间的关系,找到相应属性,为每个属性分配一个URI,有数据属性和对象属性之分,根据具体情况去设置属性的特征,确定属性间的层次关系。
③根据领域的要求,将类和属性连接,从而得到该领域概念化设计,构建出领域本体。
文中在地理试题本体的基础上,进一步获取本体概念间的语义推理关系。作为本体概念间的语义传递信息,这些语义推理关系是获取地理课程解题规则的关键。所获取的解题规则包含传递关系的两端及其之间的概念关系,其两端为可以是地理试题中的概念实体,也可以是地理试题中的显性或隐性知识;其概念关系主要体现为实体间的属性关系,其表现形式类似于以下三元组形式:
ule:(?ahttp://www.semanticweb.org/XX.owl#c?b),其中a 表示一个实体,b 表示一个实体,c 表示a 与b 之间的属性,http://www.semanticweb.org/XX.owl 就是一个XX 本体。
文中所构建的解题规则由多个三元组构成,解题规则语义链如图1 所示。
图1 解题规则语义链
其中,实体A、属性r1、实体B 三者构成三元组形式的一条规则。另外,用户也可以基于SPARQL查询语句和Jena推理技术, 构建出更多的其他解题规则。例如, 图1 的传递关系语义链中的属性r3 就是通过SPARQL查询语句中的Consequence 得出的。
基本思路:在地理试题本体构建的基础上,对试题题干及选项进行语义分析,从中获取用于试题解答的约束性条件,并将这些约束性条件定义为解题规则;然后从试题中的关键词出发,在地理试题本体中找到关键词与其他概念实体的联系,并写出三元组形式的规则文本。获取解题规则的具体过程如图2 所示。
图2 解题规则构建过程
以下举例说明地理试题的解题规则获取。
试题1:2011年6月26日21时10分,台风“米雷”在山东沿海登陆,此时,我国卫星云图上,山东沿海呈现出何种颜色()
A.绿色 B.白色 C.蓝色 D.黄色
解析:在卫星云图上,绿色表示陆地,蓝色表示海洋,黄色表示沙漠,白色表示云区。台风过境时通常会出现狂风暴雨天气,因此,在我国卫星云图上山东沿海呈现白色。
针对该题的解题规则获取过程如下:
(1)首先利用中科院分词器对试题文本进行分词:
2011年/t6月/t26日/t 21 时/t 10 分/t,/wd 台风/n“/wyz 米雷/nrf”/wyy 在/p 山东/ns 沿海/f 登陆/vi,/wd 此时/r,/wd 我国/n 卫星/n 云/vg 图/n 上/f,/wd 山东/ns 沿海/f 呈现/v 出/vf 何种/r 颜色/n(/wkz)/wky A./n 绿色/n B./n 白色/n C./n 蓝色/n D./n 黄色/
(2)对分词结果进行预处理,增加用户词典,实现对试题文本分词结果的预处理。
首先,对试题题干及选项进行分析,得到显性知识点即题目可以直接得到的分词结果;接着,提取试题中的相关概念,如卫星云图中的云区、陆地及海洋等概念,天气中的暴风雨等概念;然后,合成试题中部分地理术语词,如将“山东/ns”和“沿海/f”合成为“山东沿海/ns”,将“卫星/n”“云/vg 图/n”合成为“卫星云图/n”等;最后,将合成的地理术语词存储在用户词典中。
(3)试题本体构建采用自顶向下和自底向上相结合的试题本体构建方法,具体步骤如下:
①确定构建的本体领域:文中针对地理试题解题领域。
②获取领域知识:主要通过对地理课程试卷分析,来获取地理术语词等相关领域知识。
③对领域知识进行概念设计:针对试题文本进行语义分析,提取试题关键词等重要特征信息,从而抽取概念实体及其属性。其中属性和实体关系是通过语义理解题干及选项知识点所确定的,以便整个领域本体的构建。
④利用本体编辑工具进行本体构建: 利用得到的地理领域概念知识在Protégé 工具中对概念和属性进行编辑,存储格式为OWL 文件,并通过Jena API 将本体存入关系数据库。
⑤完善本体:本体完成后,可以在Protégé 中的OntoGraf 看到本体的可视化界面,通过人工观察分析来完善试题本体。本例的试题本体如图3 所示。
(4)根据已构建的试题本体及试题本身的语义分析结果,得到以下解题规则:
[rule:(?ahttp://www.semanticweb.org/weixingyun.owl# 被登陆?b)
(?bhttp://www.semanticweb.org/weixingyun.owl# 伴随?c)
(?chttp://www.semanticweb.org/weixingyun.owl# 显示?d)
(?dhttp://www.semanticweb.org/weixingyun.owl# 代表?e)->
(?ahttp://www.semanticweb.org/weixingyun.owl# 卫星云图呈现?e)]
(5)根据构建好的本体、规则,并结合以下SPARQL查询语句:
StringqueryString="PREFIX weixingyun:
找到试题对应的str,从而推理得出试题答案:(?天气=
图3 例题的试题本体
实验数据主要来自亿库地理试题网(http://www.eku.cc/sj/dili)和中学地理课程教材,收集了3 000 道选择题(包括题干和选项),其中文字类试题有1 300 道,图表类试题有1 700 道。表1 给出了数据集的具体分布情况。
在构造解题规则之前,对收集的地理试题进行预处理。对于文字类的地理试题,保留可以用规则进行解题的试题;对于图表类的地理试题,目前文中主要通过手动标注的方法将其标注为文字,然后再构建相应的解题规则,后期将考虑结合图像识别技术对图表类试题进行自动语义标注。
表1 试题数据集分布表
文中实验分为两组:第一组验证解题规则对文字类试题的解题效果;第二组验证解题规则对图表类试题的解题效果。
利用以下公式(解题有效率)分别验证解题规则对文字类试题和图表类试题的整体解题效果。
3.3.1 文字类试题的解题效果
第一组实验中,对于1 300 道文字类试题,通过预处理,保留可以使用解题规则的试题。
图4 给出了以下一道试题的解题规则对文字类试题的具体解题效果。
试题2:索契冬奥会开幕,习近平主席在俄期间哪些语种使用最多的是()
A.俄语 B.阿拉伯语 C.法语 D.西班牙语
在对该试题进行本体构造过程中,共有三个实体类,包括国家、奥运会、语种,其中应用到解题的个体有索契冬奥会、俄国、俄语等,属性关系包括奥运会与国家之间的关系、国家与语种之间的关系。通过对实体和属性关系的抽取,进而得到本体结构,编写解题规则。
从图4 可以看出,选择一个文字类试题及其类型,根据所构建的解题规则,可以获得该试题的对应答案。
解题规则对文字类试题的整体解题效果见表2。
从表2 可以看出, 有效使用解题规则的文字类地理试题数占到文字类地理试题总数的近一半, 表明解题规则对文字类试题的解答有明显的解题效果。在后续研究中,将针对那些不适用于使用解题规则的文字类试题, 在试题本体的优化方面作进一步的研究。
图4 文字类试题解题示例
表2 文字类试题的解题规则效果
3.3.2 图表类试题的解题效果
第二组实验中,对于1 700 道图表类试题,通过预处理,保留适用于使用解题规则的试题。
以下给出一道试题的解题规则对图表类试题的具体解题效果。
试题3:如图5 所示,该地降水集中在6~8月,根据降水量的各月分配情况,可知此地(北半球)的降水类型属于()
A.全年多雨型 B.全年少雨型 C.夏季多雨型D.冬季多雨型
在试题进行本体构造过程中,共有四个实体类,包括地点、季节、月份时间段及降水类型,其中应用到解题的个体有北半球、春夏秋冬及各季度月份、夏季多雨型等,属性关系包括地点与季节之间的关系、季节与月份时间段之间的关系以及月份时间段与降水类型之间的关系。通过对实体和属性关系的抽取,进而得到本体结构,编写解题规则。
从图6 可见,选择一个图表类试题及其类型,根据所构建的解题规则,可以获得该试题的对应答案。解题规则对图表类试题的整体解题效果见表3。
图5 降水量分布图
图6 图表类试题解题示例
表3 图表类试题的解题规则效果
从表3 可以看到,解题规则对图表类试题的解题效果虽然没有对文字类试题的解题效果明显,但是也表明了解题规则对图表类试题的解答有一定的辅助作用。在后续研究中,将针对图表类试题,在试题预处理及试题本体优化等方面作进一步改进。
实验结果表明,解题规则在文本类地理试题自动解题中取得了初步的效果。但也有超过半数的试题无法使用规则求解。主要原因在于:一方面地理试题复杂程度较高,比如对于一个试题中包含不同类型的实体,求解其中部分较多类型组合试题比较困难;另一方面对于那些无法提取的语义传递关系,可能会导致在构建本体时无法提取实体之间的属性关系。
文中在构建地理试题本体的基础上,通过对试题题干及选项进行语义分析,进一步获取概念实体间的语义推理关系,并将这种语义推理关系转化为用于试题解答的解题规则。同时运用SPARQL查询技术和Jena推理技术,实现地理试题的自动解答。在所收集的地理试题集上的实验结果表明,文中获取的解题规则对文字类试题和图表类两类试题的解答有一定的效果。
后续主要研究:(1)将对文字类试题本体进行优化,解决更多试题;(2)结合图像识别技术,对题干中的图像及图表进行扫描识别,并转化成文字信息;(3)在对试题进行分类后,将同类试题的解题规则优化,让同一类别试题规则具有统一性,使得解题规则具有复用性,进而提高解题规则的实用性和系统解题效率。