2. 华中师范大学 教育信息化协同创新中心, 武汉 430079;
3. 华中师范大学 教育信息技术学院, 武汉 430079
2. Co-Innovation Center of Educational Informationization, Central China Normal University, Wuhan 430079, China;
3. School of Educational Information Technology, Central China Normal University, Wuhan 430079, China
目前, 人工智能领域尽管在专家系统、问答系统等方面取得了众多的成果, 但仍然面临着诸多难题. 最核心问题是难以理解题目的意图和内涵. 其中, 常识性知识缺失是正确理解题意的瓶颈之一. 世界各国的学者高度关注数学问题类人求解, 并投入了大量的人力物力和财力开展研究. 例如, 国内863计划“初等数学问题求解关键技术及系统”项目关注初等数学题意理解, 及其类人解题等关键问题, 力图研制初等数学自动解题系统. 日本的“东大机器人”(Todai Robot Project)项目, 其研究目的是将来能通过日本东京大学的入学测试[1]. 美国艾伦人工智能研究所(Allen Institute for Artificial Intelligence)也举办了一项比赛, 来自世界各地的几千个团队都参与了这项比赛, 他们提交了自己的软件系统来挑战8年级的科学题目, 其中第一名仅达到59%的正确率. 上述类人解题项目的核心难点在于题意的正确理解.
古典概型类题目是高考数学题目中的重要的考查模块, 题目中涉及诸多常识性知识. 人类对这些知识可以做到见名知义, 计算机则无从提取相关知识. 例如“投掷一枚质地均匀的色子, 面朝上的点数是3的几率是多少? ”题目中“色子”的相关知识处于缺失状态. 而这种常识性知识是自动解题所需的必备信息之一. 常识性知识有什么特点? 如何进行归类分析、存储处理以及合理应用? 这些问题亟待解决, 常识发现及自动引用等对于辅助类人解题至关重要.
论文对国内外初等数学应用题自动求解的研究现状和常识库系统的发展状况进行了分析, 结合古典概型类题目中常识的特征, 将常识分类为状态类常识和关系运算类常识. 本文基于XML结构构建了常识库的存储框架, 对常识性知识进行了规范化的表征与存储. 在此基础上设计开发了常识性知识的标注工具, 能够辅助研究者进行常识存储. 通过实际应用证明, 古典概型类题目中缺失的常识能够有效地从本文构建的常识库中提取.
1 国内外相关研究 1.1 数学题自动求解研究现状1964年, Brosch等[2]设计开发了最早的数学问题自动求解系统——STUDENT系统, 该系统可以求解用英语表述的简单代数问题. STUDENT系统解题基本步骤: (1)将复合句转换为单句, 并在计算机中预先存储一定数量的简单句式; (2)自定义词典, 抽取题目语句中的关键词; (3)将单句转换为关系模型. 由于该系统存储的句式十分有限, 无法理解一些句式和语法复杂的句子. 虽然覆盖面比较小, 但STUDENT系统开创了计算机在数学领域进行类人解题的先河.
目前计算机自动求解数学问题系统出现了很多, 如Wong等[3]在2007年开发了LIM-G系统, 基于构建的本体知识库, 实现几何类题目中一步加减应用题的自动求解. 随着NLP技术的不断进步和硬件的不断提升, 初等数学问题的题意理解与自动解题得到了进一步发展. 如Kang等[4]开发的Analyticallnk, 该系统通过对语义图的推理解决数学问题, 并按顺序自动生成概念和过程脚手架.
国内在数学问题的题意理解与自动解题的研究上相对滞后, 吴林静等[5]构建了一个面向初等数学分层抽样类应用题的句模库, 在此基础上结合依存句法完成解题信息的提取. 周颖等[6]结合Kintsch等的问题表征模型和汉语言中提出的句模, 提出了小学阶段中数学应用题自动求解的研究路线. 张涛[7]基于小学数学应用题的结构特点的分析对数学应用题进行了分类, 利用文本信息抽取方法和“知网体系”知识表示, 成功实现对整数部分应用题的自动求解.
然而, 目前数学领域内的题意理解研究缺乏系统性. 已有的问题理解方法大多面向固定模式的简单问题, 能够成功求解的问题类型十分有限; 尤其是缺乏情景支持的常识库支持, 对问题理解的准确性和完备性不够, 不具有实际应用的泛化能力.
1.2 常识性知识的表征模型及方法古典概型应用题常识表征的主要目的是将自然语言描述的常识转换成计算机语言描述的知识, 进而通过一定的编码和模型设计, 使得计算机能够理解. 常识性知识的基本表征方式常见的有Prolog语言的表征方式[8]、三元组表征方法、语义网络表征和框架式知识表示[9]. 这里主要对三元组和语义网络两种表征方式进行介绍.
(1)三元组表征方法
面向对象的思想中有几个基本的概念: 类、对象、行为或者方法、继承等. 若将数学问题中的常识视作一个实体对象, 从而可以采用面向对象的思想对常识进行处理. 对象通常拥有属性和属性值, 通过三元组(Object, Attribute, Value)就可以将其进行组织表征. 三元组中Object代表对象实体, Attribute代表对象的属性, Value代表实体对象的属性值.
通过三元组表示的方式, 可以对部分常识进行表征. 例如猜拳常识, 形状是它的属性, 属性值有石头、剪刀、布, 表示形式为(猜拳, 形状, (石头、剪刀、布)). 将初等数学应用题中的常识视为对象进行处理, 大部分常识最终都能够表示成三元组的形式, 该表达方式可以被计算机理解和处理.
(2)语义网络表示方式
语义网络拥有着强大和直观的表征能力, 它是由结点及结点之间的有向弧构成的网状结构图. 利用有向图节点可以表示常识名称和属性等, 有向图的边可以用来描述节点之间的关系[10]. 语义网络是通过将知识图解的方式来进行知识表征的, 它不仅可以表征事物本身, 还可以表征事物间复杂的联系. 图1是语义网络表示的实例, 其中“骰子”和“正六面体”是两个实体, 它们之间通过“同义词名称”指针建立了关系.
1.3 常识知识库系统研究现状
自然语言处理(NLP)中的许多歧义可以通过使用各种形式的知识来解决. 在国际人工智能领域, 如何正确理解常识性知识一向是亟待解决的难题[11]. 所谓常识, 指的是相关领域内的基础知识, 初等数学应用题中往往会出现大量的生活常识. 常识性知识存在自身的特点, 具体表现在常识数量较多、表征困难、无规律性、领域性强、模糊性等方面[12]. 目前, 很多领域都对常识进行了不同程度的研究, 并且取得了一定成果, 然而依旧无法广泛地应用, 缺少可移植性[13]. 后续本文以古典概型类题目为例, 进行常识知识分析和应用.
常识知识很少用文本语料库明确表达[14]. Gordon[15], Angeli和Manning[16]开发了从原始文本模式推断常识的技术, Lenat等[17]通过手工注释的方式开发了常识知识的管理资源. 研究者Lenat领导的研究团队在1984年启动的CYC项目[18], 希望建立一个海量知识库, 但其并没有考虑到专业知识和常识的界限, 他们把收集来的技术报告整本地录入知识库中, 导致了常识性知识库很难达到真正实用的目的. 词网(WordNet)[19]是一种词典式的常识知识库. WordNet由名词、形容词、动词和副词组成, 各自形成自己的同义词的网络, 每个同义词集合都表示着一个语义概念, 集合之间通过各种关系进行关联. 基于WordNet的同义词聚类, 它的语义关系信息能够对提高信息检索结果有很大的帮助.
常识知识库的组织结构是一个十分关键的问题, 必须服从于功能需求. 本研究将初等数学中古典概型应用题作为研究对象, 为了实现相关数学问题的自动解答, 构建的常识库必须具有方便存储、检索便捷和扩展性强等特点.
2 古典概型类题目的常识特征分析古典概型应用题用自然语言进行描述, 其蕴含的信息表达方式灵活多样, 除去数学专业知识和数据信息, 其中还包含许多常识性知识. 本研究收集了历年高考真题和高考模拟题中的古典概型类题目, 共计654题.
古典概型应用题自动求解过程中, 题目所提供的信息至关重要, 但其直接提供的语义信息往往不够完善, 不足以让计算机完成题意理解. 如例题“小明和小红进行划拳, 小明一次取胜的概率是多少?”该题中提供了“小明”、“小红”和“划拳”3个命名实体以及“进行”和“取胜”两个关系判定词. 题目中缺少“划拳由剪刀、石头、布组成”和“石头>剪刀, 剪刀>布, 布>石头”等计算机所需的解题信息.
2.1 古典概型类常识性知识的结构分析通过综合分析古典概型类应用题并进行归纳, 如图2所示, 研究者发现计算机要完成自动解题需要的常识性知识通常需要包含以下4类信息, 分别是常识的名称、常识的属性、常识的属性值和对应的关系描述. 以“硬币”常识为例, 常识的属性类别为“面”, 属性值为“正面, 反面”, 对应的关系描述则为“无”.
结合上述结论, 本研究对收集的题目进行了完整性分析. 统计结果显示其中题目信息完整(根据题目提供的信息计算机便可自动求解)的题目为407题, 缺失常识属性值的题目为110题, 缺失常识属性值关系描述的题目为137题. 题目中缺失的常识性知识属于人类基本认知中的共识, 因此部分题目不直接提供相关常识信息. 由图3可知在缺失常识性知识的情况下, 只根据题目提供的题干信息, 38%的题目是无法被计算机自动求解的. 因此, 要实现计算机正确理解和处理这类缺失解题信息的数学问题, 不仅要构建结构完整、功能完善的专业知识库, 还要建立一个能够帮助计算机快速、准确地获得常识信息的常识知识库.
通过上述分析可以确定构建常识库的必要性. 针对收集的古典概型应用题, 研究者提取了题目中涉及的常识性知识, 深入分析了它们的特点, 对其进行了一定的分类, 为相关常识的表征奠定基础.
2.2 常识的描述特征研究常识的主要目的是辅助计算机进行题意理解, 将自然语言描述的常识转变为计算机可以理解和处理的表示形式, 可以解决初等数学问题中常识信息缺失的问题. 为了更好地对常识进行表征, 必须对其特点进行深入的分析, 同时需要分析常识的属性及属性之间的关系. 本研究结合题目所考查知识内容, 深入分析收集的古典概型类题目中常识, 总结了以下几个特点[20].
(1)常识具有情景性
常识来源于人类日常生活, 应用于人类日常生活. 常识性知识不仅和专业知识有着紧密的联系, 还有着极强的语境相关性. 初等数学应用题重点考查学习者的数学专业知识, 而出题者往往将数学知识和生活常识紧密结合在一起. 此类问题中常识往往成为解题的基础, 正确理解常识成为解题的必要条件. 计算机要完成类人解题的目标, 必须先“习得”常识, 将这些具有情景化的常识进行收集研究则显得十分必要.
(2)常识具有隐含性
数学应用题中大部分常识于人类而言属于公共的认知, 其具体知识在题目中处于缺失状态. 古典概型应用题中经常会出现扑克、骰子、红绿灯等常识性知识, 常识的相关描述往往被省略. 计算机无法直接从题目描述中直接提取常识, 构建辅助计算机进行题意理解的常识库显得至关重要.
(3)常识具有无规律性
通过对古典概型高考题目的分析, 提取和搜集了常识, 发现这些常识是不具有规律性的. 专业知识一般需要经过一系列系统的数据的收集、整理、分析和试验得到的, 有着坚实的理论基础, 是具有规律性的知识. 相比于专业知识, 常识是没有严格知识体系结构的. 将常识性知识进行规范化表征和存储, 是构建常识库的核心工作.
(4)特定领域中常识的数量是有限的
若面向的是人类常识, 这个数量是极其庞大的, 靠小团体的力量是无法完成对这些常识的收集. 古典概型是高考重点考察的知识点之一, 解答相关题目时需要频繁地应用常识性知识, 而此领域中的常识又有着较大的重复性和代表性. 除去题目中已经提供完整实体及其属性值的常识, 需要额外应用的常识性知识数量是有限的. 当然随着题目数量的增加和研究范围的扩大, 将会有更多的常识需要存储到常识库当中.
2.3 常识的基本分类人类的常识浩如烟海, 若想存储所有常识性知识, 并让它们能够有效地被使用, 那将会是一个世纪工程. 而在古典概型应用题类人求解过程中, 所涉及的常识其实只是常识性知识中很小的一部分, 可以说是冰山一角. 通过将常识进行分类, 可以让其表征和存储结构更加合理. 根据研究过程的实际情况, 结合古典概型类题目中相关常识性知识的特征, 将收集的常识分为以下两大类.
(1)状态类常识
状态类常识指的属性值是离散的、互斥的常识, 状态描述了对象的属性特征和相关属性值之间的关系特征. 此类常识的属性值有多个状态, 不同情况下呈现其中一种, 因此将其归类为状态类. 例如红绿灯, 存在红灯、黄灯、绿灯等3个状态, 当然若题目进行特殊说明时可能只存在红灯和绿灯两个状态. 除此之外, 还存在着红灯停, 绿灯行的逻辑关系. 表1罗列了部分状态类常识的相关信息.
(2)关系运算类常识
关系运算类常识指的是题目中各个命名实体之间的数学逻辑关系知识. 在古典概型类人求解中, 会大量运用到关系运算类常识, 此类常识能够较好地解决从多样的中文关系描述转换到数学符号表达的问题. 因此将它们以一定的形式进行表征, 会对数学问题的自动解题有很大的帮助. 表2罗列了部分关系运算类常识的相关信息.
3 常识库系统的构建及应用 3.1 常识知识描述及XML表征
将收集的高考真题中的常识进行抽取, 采用合理的表征方式将其表示成计算机可以理解和处理的信息是构建常识库所必要的工作. 古典概型应用题涉及到的常识有其各自的特征与类别, 选择合适的表征方式来存储常识性知识显得至关重要. 前文相关研究中介绍了常识性知识的基本表征方式, 涉及的4种表征方式并不能便捷地将所有的常识进行表征与存储.
目前, 数据存储方式常见的有基于数据工具存储、数据库存储方法、基于文本存储方法等方法[21]. 基于文本存储方法的特点是管理简单、方便修改、可扩展性强等. 早期的数据管理工作原理是基于文件系统实现的[22]. 文件存储格式有XML文本、TXT纯文本、DOC文本、HTML超文本标记语言等. 文件存储方法也有不足之处, 例如当文件较大时, 其使用效率就会降低. 当文件进行随机访问时, 文件的访问变得困难. 结合古典概型类题目中常识的特征, 本研究采取XML文件进行存储, 能够简便、有效地实现节点信息、数据的保存.
数学解题需要的常识性知识包含常识的属性、属性值以及属性之间的关系等信息. 基于XML设计的存储文件应能够简单快捷地存储常识的全部信息, 同时能够便捷地提取信息. 常识知识库的存储文件结构如图4所示.
存储文件的元素标签及其含义如表3所示.
定义完标签后, 研究者可以利用这些标签对需要存储的常识进行表征, 本研究对分类的常识采用两种不同的XML结构进行描述. 状态类常识XML描述的举例, 针对“猜拳”这一常识实体的XML描述如图5所示.
运算类常识XML描述的举例, 针对“大于”这一常识实体的XML描述如图6所示.
3.2 常识库标注工具研制
基于本文构建的常识库存储结构, 设计开发了常识库的标注工具. 通过该工具研究者可以便捷地完成常识性知识的存储. 常识库标注工具的主要功能有分词和词性标注功能、依存句法分析功能、实体识别功能、常识检索功能和常识标注功能.
3.2.1 功能模块详细设计常识的检索功能: 研究者通过常识库标注工具可以检索对应常识性知识是否录入, 若已存储便可查看该常识的相关信息.
常识的标注功能: 根据研究者从数学应用题中提取的常识, 按照工具提示的内容完成常识性知识相关信息的录入, 最终存储到XML数据库当中.
常识的管理功能: 研究者通过该工具可以对已存储的常识进行管理, 包括常识的修改、添加和删除等操作.
根据常识库标注工具的功能结构和功能模块的设计, 得到了标注工具的使用流程图, 如图7所示.
3.2.2 常识库标注工具实现研制常识库标注工具的主要目的是辅助研究者完成常识性知识的标注工作. 此工具使用Pycharm作为开发平台, 采用目前主流开发语言Python实现工具的核心功能, 并利用图形程序框架PyQt5来开发整个界面. 如图8所示, 主界面中包含了分词和词性标注、依存句法分析和实体识别等功能. 结合图7标注工具的使用流程图便可以完成常识的标注工作.
分词和词性标注功能、依存句法功能和实体识别功能可以帮助研究者更好地解析数学应用题中句子的结构成分, 从而准确、便捷地获取常识. 以上功能通过使用哈工大语言技术平台(LTP)提供的模型来实现, 这些模型对自然语言的处理有着非常优异的效果. 分词的准确性将会直接影响到词性标注、依存句法和实体识别等功能的实际效果, 原模型缺乏古典概型应用题中专有的词汇, 因此构建了新的词典, 该词典以搜狗词库中基础数学用词为基础, 人工添加部分专用词汇. 如图8所示, 研究者输入完应用题题目后, 利用这些功能对题目进行分析, 成功获取“骰子”常识.
同时, 在此界面中可以查询相应常识是否已被存储, 图中由于“骰子”已存在, 直接呈现常识的相关信息. 若常识不存在, 研究者可以点击“常识录入”, 常识录入前研究者需要选择存储常识的类型, 如: 运算类常识. 确定常识类型后会进入常识具体信息的标注界面, 在此以状态类常识为例, 如图9所示. 通过该界面完善常识的相关信息后可以直接生成对应的XML结构文件进行存储. 常识库的标注工具不仅能简化存储过程, 提高常识存储的效率, 同时保证了生成文件结构的正确性.
3.3 常识库系统典型的应用 3.3.1 常识提取的基本规则
常识提取过程的本质是将存储于常识库中的信息读取到文档类相应数据结构中的过程. 常识信息提取过程如图10所示, 其简要阐明了常识库在古典概型应用题自动解答过程中所充当的角色, 虚线内的内容为常识库的应用流程图.
3.3.2 常识库的案例应用
数学应用题自动求解过程中, 计算机需要提取题目中涉及的命名实体. 如图11所示, 题目中包含了[小明, 小红, 划拳] 3个实体, 计算机并没有关于“划拳”的先验知识, 而题目中也未进行相关解释. 查询常识库, 首先匹配XML文件名, “Finger-guessing”不存在, 匹配失败. 遍历XML文件, 匹配常识名称, 匹配成功, 直接提取“划拳”的相关信息. 此外通过提取命名实体之间的相互关系, 可以匹配获得古典概型解题模型, 将数值信息代入解题模型中即完成了古典概型应用题的自动求解.
4 结束语
本文首先对初等数学问题自动求解的研究现状和现有常识库的应用情况进行了分析, 并结合古典概型类应用题中常识的特征构建了常识库的存储框架. 基于该框架开发了常识库的标注工具, 使用该工具可以快速、准确地存储常识性知识. 最后, 通过案例应用证明本文构建的常识库能够精准地提取到古典概型类应用题所需的常识性知识, 从而可以有效地辅助计算机完成数学问题的自动求解.
然而, 未来的研究任务依然是艰巨的, 目前研究者聚焦于古典概型题目, 这仅仅是初等数学中一小部分内容. 随着研究范围的扩大, 需要存储的常识数量也会急剧上升, 其类别和属性内容也会更加多样. 针对这些问题, 后续的研究工作:
(1)扩大常识知识库, 本研究仅收集了古典概型应用题, 后期希望扩大研究范围, 收集不同类型的题目, 覆盖更多初等数学中的内容;
(2)目前研究中常识是人工提取的, 未来研究中可以尝试自动获取的方式;
(3)寻找更合理的常识表征方式, 针对目前研究所需的常识, XML结构存储十分有效, 随着常识数量、种类以及涉及领域的增加, 需要投入更多的相关研究.
[1] |
Fujita A, Kameda A, Kawazoe A, et al. Overview of Todai robot project and evaluation framework of its NLP-based problem solving. Proceedings of the 9th International Conference on Language Resources and Evaluation. Reykjavik, Iceland. 2014. 36.
|
[2] |
Brosch T, Tam R. Manifold learning of brain MRIs by deep learning. Proceedings of the 16th International Conference on Medical Image Computing and Computer-Assisted Intervention. Nagoya, Japan. 2013. 633–640.
|
[3] |
Wong WK, Hsu SC, Wu SH, et al. LIM-G: Learner-initiating instruction model based on cognitive knowledge for geometry word problem comprehension. Computers & Education, 2007, 48(4): 582-601. |
[4] |
Kang B, Kulshreshth A, LaViola JJ. Analyticalink: An interactive learning environment for math word problem solving. Proceedings of the 21st International Conference on Intelligent User Interfaces. Sonoma, CA, USA. 2016. 419–430.
|
[5] |
吴林静, 劳传媛, 刘清堂, 等. 基于依存句法的初等数学分层抽样应用题题意理解. 计算机应用与软件, 2019, 36(5): 126-132, 177. |
[6] |
周颖, 袁莺, 马玉慧, 等. 小学数学应用题自动解答特征分析及研究路线. 中国电化教育, 2010(8): 112-116, 120. |
[7] |
张涛. 小学数学应用题教学专家系统的原型构造研究[硕士学位论文]. 长沙: 湖南师范大学, 2012.
|
[8] |
钟秀琴, 符红光, 丁盘苹. 基于本体与Prolog的平面几何定理证明. 电子科技大学学报, 2011, 40(3): 429-434. |
[9] |
朱光菊, 夏幼明. 框架知识表示及推理的研究与实践. 云南大学学报(自然科学版), 2006, 28(S1): 154-157. |
[10] |
徐天任, 夏幼明, 甘健侯, 等. 用语义网络语言描述知识的表示. 云南师范大学学报(自然科学版), 2003, 23(3): 9-13. |
[11] |
陆汝钤, 石纯一, 张松懋, 等. 面向Agent的常识知识库. 中国科学(E辑), 2000, 30(5): 453-463. |
[12] |
Davis E. Representations of Commonsense Knowledge. San Francisco: Morgan Kaufman, 2014.
|
[13] |
李梓. 常识的特征和模型. 计算机应用研究, 1999(4): 5-6. |
[14] |
Gordon JM, Van Durme B. Reporting bias and knowledge acquisition. Proceedings of the 2013 Workshop on Automated Knowledge Base Construction. San Francisco, CA, USA. 2013. 25–30.
|
[15] |
Gordon JM. Inferential commonsense knowledge from text [Ph. D. thesis]. Rochester, New York: University of Rochester, 2014.
|
[16] |
Angeli G, Manning CD. Naturalli: Natural logic inference for common sense reasoning. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). Doha, Qatar. 2014. 534–545.
|
[17] |
Lenat DB, Guha RV. Building Large Knowledge-based Systems. Reading, MA: Addison-Wesley, 1990.
|
[18] |
Lenat DB. CYC: A large-scale investment in knowledge infrastructure. Communications of the ACM, 1995, 38(11): 33-38. DOI:10.1145/219717.219745 |
[19] |
陈群秀. 一个在线义类词库: 词网WordNet. 语言文字应用, 1998, 2: 95-101. |
[20] |
覃家营. 辅助题意理解的常识库构建研究[硕士学位论文]. 武汉: 华中师范大学, 2017.
|
[21] |
程阳. 关系数据库管理系统的一种简易的数据存储与查询模块的设计与实现[硕士学位论文]. 武汉: 华中科技大学, 2010.
|
[22] |
陈施卫. 基于XML的异构数据库数据交换的研究与实现[硕士学位论文]. 成都: 电子科技大学, 2012.
|