知识工程课程实验教学改革探索

2019-05-09 13:33
计算机教育 2019年4期
关键词:知识库本体语义

胡 伟

(1. 南京大学 计算机软件新技术国家重点实验室,江苏 南京 210023;2. 南京大学 计算机科学与技术系,江苏 南京 210023)

0 引 言

自1977年美国人工智能专家爱德华•费根鲍姆(Edward Albert Feigenbaum)提出“知识工程”(knowledge engineering)的概念以来,知识工程的研究和应用已经有了很大发展,特别是近年来伴随互联网、大数据、机器学习等热潮,知识工程研究的内容和重点也在不断变化,主要体现在以下4个方面[1-2]。

(1)知识表示方式的多样化,例如Web本体语言OWL。

(2)研究对象从专业领域知识转向常识研究,例如百科知识图谱。

(3)知识工程处理对象由规范化的、确定性的知识进一步深入到非规范化的、模糊的、不确定的、相对难处理的知识。

(4)知识的处理规模和方式从专家系统扩大为能处理海量知识的大规模知识工程。

在此背景下,一批国内外大学和机构都先后开设了知识工程相关课程,以及不定期举办各类讲习班和培训班。大家都在摸索如何建设新时期的知识工程课程,以提高教学质量,突出课程特色,培养学生的科研与工程能力。

1 国内外相关课程及教材调研

通过调研国内外相关课程发现,国外一些知名大学比较早地开设了知识工程相关课程,例如美国斯坦福大学、德国哈索•普拉特纳研究所(Hasso-Plattner-Institut)、苏格兰爱丁堡大学和荷兰马斯特里赫特大学(Maastricht University)等。国内多所高校也相继开设了课程,主要面向计算机专业研究生,使用的课程名称包括知识工程、知识图谱、语义网等,这也体现出知识工程课程内容和重点在新时期的变化和发展。几所国内高校的开课情况如下。

1)清华大学“知识工程”研究生学科专业课。

课程讲授知识工程与知识处理技术的有关理论知识、网络计算模式与环境下知识处理问题的研究与实现技术、知识的系统化管理与组织、知识处理技术、知识查询与处理语言、处理结果的可视化/可听化/可操化、知识处理系统的实现、机器学习与知识获取更新等。

2)中科院大学“知识图谱导论”研究生专业普及课。

课程首先介绍了知识图谱和机器学习的基础知识,然后从知识图谱框架、实体识别、实体消歧、关系抽取、事件抽取、知识的存储和检索、知识推理和知识库问答等方面讲授知识图谱构建涉及的关键技术。

3)南京大学“知识工程及语义网技术”研究生专业选修课。

课程首先简要介绍经典的知识工程,然后侧重讲授互联网环境下的知识工程新进展,主要包括互联网上的知识表示、知识获取、知识存储与查询、知识推理、知识融合、知识搜索与浏览等内容。另外,还设置了互联网上的知识库和基于知识的应用两次集体研讨课。

4)东南大学“知识工程”研究生专业选修课。

课程内容主要包括知识获取的机器学习方法、互联网上的知识表示、知识存储与查询技术、知识的推理、知识库系统简介等。

另外,天津大学、桂林电子科技大学、北京科技大学等高校也正在开设有关知识工程的课程。中文信息学会语言与知识计算专委会、复旦大学、北京理工大学以及一些培训机构也多次在国内举办知识工程讲习班和培训班。

在知识工程教材选择方面,国外课程选用的教材主要涉及知识表示与推理[3]和语义网技术[4]两个方面,而国内课程选用的教材也较为类似[5-7]。总体看来,教材选择更偏向理论性和时效性,已经很少再使用专家系统方面的教材了。

2 实验教学改革思路

2.1 改革目标

通过分析调研结果发现,当前的知识工程课程偏重基础知识的课堂讲授,评分方式也以课堂研讨和撰写课程论文为主,对于学生工程实践能力的培养关注度不足。调研到的少数课程实验相对简单,主要是使用现有工具构建本体知识库以及进行知识库查询。如何综合处理知识信息、开发基于知识的应用系统均未深入,还未能真正达到“以能力培养为中心”的教学目标,对提高研究生工程和科研能力的作用较为有限,因此很有必要重新设计知识工程实验教学的内容,具体改革目标如下。

(1)通过实验教学讲授基础知识:期望能够让学生系统地学习知识工程的相关知识和技术,深入了解新时期知识工程的内涵,为有志于在知识工程相关的前沿学科进行探索研究与工程开发的学生提供良好的基础知识和技术储备。

(2)通过实验教学传授研究方法:针对知识工程领域不同子课题的研究特点,通过实际开发传授分析问题与解决问题的研究方法,培养学生的主动性思维与科研技能,激发学生对本领域的学习与研究兴趣。

(3)通过实验教学积累实践经验:通过需求分析、程序撰写和软件工具使用来为学生提供探索性与工程性相结合的初步实践经验。此外,通过实验指导学生查找并阅读相关的学术论文,培养良好的研发习惯。

2.2 内容设计

根据上述知识工程课程实验教学的改革目标,设计4个新的实验教学内容(表1),分别涉及本体构建、知识融合、语义搜索和知识库问答4个方面。内容设计主要依据知识工程课程的核心知识(如本体、知识库)和关键技术(例如获取、融合、搜索、问答),侧重培养学生的工程实践能力(如搜索系统、问答系统)和科研探索能力(如融合算法),以实现上述针对加强基础知识、传授研究方法和积累实践经验3方面的改革目标。

实验1:本体构建。通过本课程实验,掌握流行的本体构建方法和工具软件。具体内容如下:首先,通过使用Protégé软件构建一个领域本体,要求包括类、属性、实例、类层次结构、属性定义域/值域等。在此基础上,尝试添加更复杂的逻辑约束,并使用可视化插件,例如OWL Viz,观察所建本体。进一步地,使用Jena工具包解析该本体,并比较推理前和推理后解析结果的不同。

表1 知识工程课程实验教学内容设计

实验2:知识融合。通过本课程实验,掌握基本的本体映射算法及映射结果综合方法。具体内容如下:首先,给定两个OWL本体,实现基于文本相似度的本体映射算法,例如基于编辑距离的算法或基于向量空间模型的算法。其次,实现基于结构相似度的本体映射算法,例如基于相似度传播的算法。最终,通过设定规则或机器学习来综合生成映射结果,并以规范化的RDF/XML格式输出。

实验3:语义搜索。通过本课程实验,掌握语义搜索引擎的基本框架和核心算法。具体内容如下:首先,给定一个本体知识库,实现一个基于关键词查询的搜索引擎,能支持关键词搜索到SPARQL查询的转换,访问本体知识库进行查询。其次,实现基于类型的刻面过滤、搜索结果的呈现和排序等语义搜索核心算法。

实验4:知识库问答。通过本课程实验,初步掌握面向知识库的自然语言问答系统的基本框架和核心算法。具体内容如下:首先,给定一个本体知识库,实现基于模板匹配的自动问答,包括问句解析,与预定义问句模板的匹配等核心算法。其次,实现基于深度学习的端到端问答,主要使用TensorFlow工具包和BiLSTM模型。

这4个实验的设计由易到难,且相互之间存在依赖关系。例如,实验1构建的本体可以用于后续实验,而实验3和实验4如果考虑多知识库的情况,就需要用到实验2的知识融合技术。另外,作为提高内容,可以考虑加入逻辑推理和异构数据处理,包括使用Pellet推理机实现基于描述逻辑的本体推理,以及融合文本、数据库和知识库等异构数据的混合搜索和问答。

课程实验考核方面,要求学生以2~3人小组为单位开展实验,并根据完成情况进行评分,建议实验成绩占课程总成绩的40%~50%,其余成绩由课堂集体研讨和课程论文构成。

3 实际教学中的改革成效

笔者于2017-2018学年春季学期,在南京大学“知识工程及语义网技术”研究生专业选修课上使用了上述实验教学内容,课程选修人数包括全日制研究生32人和非全日制研究生18人。除1名非全日制研究生放弃外,其余学生基本完成了所有实验内容。通过填写调查问卷以及邀请个别学生座谈的方式,收集到对于知识工程课程实验的反馈,总体评分为4.88/5(5分表示“非常满意”),对于反馈意见主要总结为以下几方面。

(1)通过课程实验将抽象概念与具体应用相结合。知识工程中的许多概念都是抽象的,例如本体,对于学生而言难以直观地理解。然而,通过完成上机实验,学生能够从实际案例出发,掌握理论知识。例如,对于本体构建而言,课程讲授部分主要讲授本体构建的方法学,比如斯坦福“七步法”。然而,如果不结合实际例子构建本体,学生很难真正理解这些构建方法学提出的步骤顺序的原因。同时,通过动手实践,也对知识工程的诸多细节有了进一步的认识,特别是知识处理的复杂性和不确定性。

(2)通过课程实验激发了学生的研究兴趣。伴随知识工程相关理论和方法技术的快速发展,已经出现了一批知识工程的新应用,例如语义搜索和自动问答。通过设计相关实验内容,学生能够接触到最新的研究热点,极大激发了学生的研究兴趣和开发热情。例如,实验2知识融合主要偏重算法设计,需要使用诸如动态规划等算法,爱好算法的学生对这些在实际场景中衍生出的算法问题很感兴趣。又如,实验4知识库问答是当前学术界和工业界的一个热点问题,而采用基于深度学习的端到端自动问答对学生而言也颇具挑战。实验提供的框架和模型只是起到一个“抛砖引玉”的作用,一些有兴趣的学生还在此基础上自发地阅读最新文献,甚至在国际公开测试数据集上进行了实验测评。

(3)通过课程实验也提高了学生的程序开发和工程实践能力。首先,在实验过程中会用到多种高级程序设计语言,包括Java和Python等。其次,还需要学会使用一些工具软件,例如Protégé和TensorFlow。再次,实验并不仅仅局限于某个算法或过程,还需要掌握一些框架和模型,例如搜索引擎的基本架构和组件。另外,分组开发也给了同学们相互学习的机会。许多学生反馈,通过参与课程实验学习到很多实际开发经验和技巧,提高了自己的开发能力,并感觉在今后的科研和学习中可以继续使用。

在实验过程中也暴露出一些不足之处。首先,由于部分实验需要在某个现有框架下开发,对于少数学生而言快速理解和掌握该框架存在一定困难,特别是一些与知识工程方向相隔较远方向的学生。其次,对于知识库问答实验中的基于深度学习的端到端问答,许多学生虽然完成了实验,但是却存在“知其然,不知其所以然”的现象,并未掌握诸如BiLSTM模型的基本原理。这些问题和不足需要在今后的课程实验教学内容设计上进一步改进。

4 结 语

李德毅院士指出:人工智能的发展离不开智能科学和技术的研究,知识工程是人工智能时代最有意义的课题之一[8]。通过调研现有知识工程相关课程及教材,发现现有课程在实验教学上的不足,有针对性地设计新的知识工程课程实验教学内容,并在笔者的实际教学中进行了初步验证。未来随着知识工程的发展和课程的不断推进,还需要对实验教学内容和教学方法作出相应调整,而发现和应对这些变化将是笔者的下一步主要工作。

猜你喜欢
知识库本体语义
真实场景水下语义分割方法及数据集
继齐韵往昔,以今声开来——思考自五音戏主奏乐器的演变、本体及延伸
汉语近义词辨析知识库构建研究
眼睛是“本体”
“吃+NP”的语义生成机制研究
汉语依凭介词的语义范畴
我国联合虚拟参考咨询系统知识库现状研究*
——基于与QuestionPoint的对比
专题
Care about the virtue moral education
位置与方向测试题