朱鹏 王俊 周菊香
摘 要:针对目前基于概念相似度聚类的课程概念本体关系构建技术中层次关系划分精确度不足的问题,提出基于课程概念相似度与细化度的课程概念本体构建方法。在计算课程概念相似度的基础上,引入课程概念细化度指标,进一步提升了课程概念本体层次关系构建的准确性,提高了课程知识图谱的数据质量。最后通过课程知识导航服务平台,验证了该方法的有效性。
关键词:课程知识图谱;细化度;相似度
DOI:10. 11907/rjdk. 191633
中图分类号:TP301 文献标识码:A 文章编号:1672-7800(2019)005-0069-04
Abstract:In view of the insufficiency of hierarchical relationship classification in the construction of ontology relationship based on conceptual similarity clustering, this paper proposes a method of constructing curriculum concept ontology based on the similarity and refinement of curriculum concept. On the basis of the similarity of the curriculum concept, the comparison of the refinement degree of the curriculum concept is introduced, which further improves the accuracy of the construction of the ontology level relationship of the curriculum concept and improves the data quality of the curriculum knowledge graph. Finally, the effectiveness of the method is verified by the course knowledge navigation service platform.
Key Words: course knowledge graph; refinement degree; similarity
0 引言
構建课程知识图谱需要借助课程本体[1],以形式化方式对课程知识图谱中的知识、概念及关系进行明确定义,规范课程知识库中的一系列事实表达,使得知识库中的知识结构性强、冗余度小。因此,构建课程知识图谱的主要工作即是课程概念层次关系构建。传统人工构建课程本体的方法,基本都是基于具体课程教材组织结构建立的。该方法虽然有一定的教学原理依据,但课程本体构建结果最终还是由人的主观经验决定的,而且参与本体构建的人员需要对该课程领域知识有比较全面的了解与掌握,一般是领域专家或资深学科教师,人力成本投入较高。目前,在领域本体的自动/半自动化构建方面,大多应用层次聚类方法进行领域本体层次关系获取[2]。基于凝聚的层次聚类方法[3]应用自底向上策略,先将所有对象各自作为一个单独类簇,再将这些类簇合并为更大的类簇,直至全部对象聚成一个类簇或达到某个终止条件,分裂的层次聚类则恰好相反[4]。虽然层次聚类算法是众多聚类算法中常见且有效的聚类算法,但其主要基于概念间相似度的层次划分策略,在具体操作上仍有所不足,不能科学、有效地对两个相似概念作进一步层次划分。本文在计算课程概念相似度的基础上,引入课程知识概念的细化度评价指标。采用开源词向量构建工具Word2vec为课程中概论词汇构建数值化空间向量模型,通过计算向量空间中向量之间夹角的余弦值度量相应课程概念之间的相似性,然后对相似度较高的概念进行细化度计算,通过比较细化度进一步区分课程概念间的层次关系。
1 课程概念向量化
计算机能够处理的只有数值型数据,无论是音频、图像或文本,都要完成数值转换。在自然语言处理方面,词分布式表示的实现方法有很多。Mikolov等[5-6]提出基于CBOW与Skip-gram的神经网络语言模型,并采用词向量工具Word2vec进行实现。Word2vec是一个开源工具,其利用大规模语料库进行训练,可以将单个概念表示成包含丰富语义信息的多维实数向量。CBOW通过上下文信息预测当前位置词语出现的概率,Skip-gram则相反,其通过当前位置的词语预测上下文信息。Word2vec应用上述两种神经网络语言模型在大规模语料库上进行训练,可获得最终词向量模型。其中CBOW的训练速度比Skip-gram快,但Skip-gram在低频词训练方面效果更好。
因为Skip-gram实际上是一种词袋模型,其训练目的是找到有利于预测上下文概念的词表示。本文利用Skip-gram模型将需要量化的概念词汇映射到一个多维向量空间中,每个概念向量也即反映出上下文概念词汇的加权值,获得的课程概念表示向量可以有效揭示课程概念之间的语义关系,如概念与概念之间的逻辑关系及上下文概念之间的相关性等[7]。特别地,课程概念的表示向量能较好地刻画概念词汇之间的语义相似度。目前,类似词向量表示方法已广泛应用于自然语言处理任务中,如情感分析[8]、实体语义关系抽取[9]等,并取得了一定效果。
其中[Rc]为课程概念集中元素c的细化度,[n(c)]表示基于[P(c1c2)0.8]公式得到的课程概念c与概念集中任一概念共现的概率。当课程概念c与课程概念集中任一课程概念满足该条件,则可将[n(c)]加1,N为课程概念集中所有课程概念的个数。通过公式(5)的计算,可得到课程概念c的概念细化度,如算法1所示。
算法1 课程概念细化度计算
输入:课程概念集
輸出:课程概念相似度SIM与细化度REFINI
Step1. 读取课程概念集T
Step2. 遍历课程概念集T
Step3. 获取Ti、Ti+1在同一个课程语料中的数量
Step4. 获取Ti、Ti+1分别在所有课程语料中的数量
Step5. 如果[P(TiTi+1)0.8],则[r[Ti]]值加1
Step6. 循环遍历其它概念在文档中出现时,Ti存在的概率
Step7. 如果[P(TiTi+1)0.8],则[count[Ti]]值加1
Step8. 遍历每个概念对应的细化值count
Step9. 依次计算[r[t]=count[t]/n],得到概念细化度
在计算得到两个具备一定相似度水平的课程概念组合后,再加入细化度作为辅助参考,即可在一定的可量化水平上,获取两个课程概念的同级或上下位层级关系。具体操作方式为:在一个相似度水平基础上得到课程概念的两两组合,分别对其组合中的概念词组进行细化度比较,取一个细化度控制阈值,若两个课程概念之间细化度的差值大于阈值,则可判定两个课程概念具备上下位关系特征,且细化度大的为下位概念,反之为同级关系。所以通过计算某课程概念的细化度水平,即可量化该课程概念在整个课程知识领域的层次关系。
3 实验结果
首先利用TF-IDF与MI相结合的统计方法,从C语言课程语料库中提取出C语言课程核心概念词汇(见表1),应用word2vec工具为其建立词空间向量模型,并通过相似度与细化度计算,在概念候选词汇间建立层次关系。
4 知识导航应用实现
本研究采用跨平台的Web技术,设计并开发了大学计算机编程课程知识图谱学习平台。该系统平台由用户表示层、业务逻辑层与数据层3部分组成,如图4所示。其中,用户表示层基于Bootstrap前端开发框架对Web应用页面进行设计开发,采用百度开源工具包ECharts对课程知识图谱进行可视化渲染;业务逻辑层通过Python脚本程序处理用户请求,并与服务器进行通讯;数据访问层设计过程中使用了Apache-Jen套件的Fuseki和TDB组件。服务器模块Fuseki负责与业务层的Python应用进行通信,TDB可实现数据存储与访问。Jena提供了RDFS、OWL与通用规则推理机。Fuseki是Jena提供的SPARQL服务器,也即SPARQL endpoint,其作为一个Web应用运行,为业务逻辑层的查询业务提供服务。
对知识图谱而言,本文搜索对象是一个实在的事物(Things),而不是单纯的字符串(String)。与提供传统知识导航而不存储知识的知识地图相比,课程知识图谱中存储的都是课程知识实例实体与实体间关系的数据。课程知识图谱中的课程本体与知识实例之间的关系网对应传统知识导航中的知识地图,而知识导航结果则是从自身数据库中查找到对应知识实例,根据相关知识实例与实体之间的关系重组形成的结构化图谱。基于大学计算机编程课程知识图谱导航服务的架构遵从经典MVC模式,模型层数据存储使用Jena实现,控制器则采用Python实现对业务逻辑的处理,在视图层中ECharts负责创建可视化图谱结构的知识导航界面。当用户点击某个知识点后,与其相关的知识将会被列出,此时用户可以从这些知识中找出自己所需的知识,并通过点击相关链接获取更加详细的资源,如图5所示。
以C语言课程知识图谱作为课程知识导航的知识内容组织模型,将知识点之间隐含的抽象联系以可视化图谱形式呈现给学生。直观的图谱呈现形式,可将学生对C语言课程内容中知识点之间抽象关系的理解及再记忆,转变为直观、形象的图式记忆,从而减少了学生在完成同等学习任务时耗费的脑力与时间成本,极大地提升了学习效率。
5 结语
本文应用课程概念相似度与细化度相结合的评价机制,在课程概念相似度基础上,对不同课程概念细化值进行分析比较,从而有效提升了课程概念层次关系划分的准确性,并在一定程度上降低了课程知识图谱构建成本。该方法在提高课程知识图谱构建效率的同时,也保障了构建的课程知识图谱质量。通过搭建基于课程知识图谱的知识导航应用,验证了该研究成果的实用性。后续将研究如何提升课程知识图谱构建效率及数据质量等,以及进一步探索课程知识图谱的应用场景与应用价值。
参考文献:
[1] 邓志鸿,唐世渭,张铭,等. Ontology研究综述[J]. 北京大学学报:自然科学版,2002(5):730-738.
[2] 任飞亮,沈继坤,孙宾宾,等. 从文本中构建领域本体技术综述[J]. 计算机学报,2019,42(3):654-676.
[3] 陶洋,邓行,杨飞跃,等. 基于DTW距离度量的层次聚类算法[J]. 计算机工程与设计,2019,40(1):116-121.
[4] 陈韬伟,金炜东,李杰. 基于灰关联测度的分裂式层次聚类算法[J]. 西南交通大学学报,2010,45(2): 296-301.
[5] MIKOLOV T,CHEN K,CORRADO G,et al. Efficient estimation of word representations in vector space[J]. arXiv preprint arXiv:1301.3781, 2013.
[6] MIKOLOV T, SUTSKEVER I, CHEN K, et al. Distributed representations of words and phrases and their compositionality [J]. Advances in Neural Information Processing Systems, 2013, 26:3111-3119.
[7] 喻靖民,向凌云,曾道建.基于Word2vec的自然语言隐写分析方法[J].计算机工程,2019,45(3):309-314.
[8] 梁军,柴玉梅,原慧斌,等. 基于深度学习的微博情感分析[J]. 中文信息学报,2014,28(5):155-161.
[9] 孙紫阳,顾君忠,杨静. 基于深度学习的中文实体关系抽取方法[J]. 计算机工程,2018,44(9):164-170.
[10] RUMELHART D E, HINTON G E, WILLIAMS R J, et al. Learning representations by back-propagating errors[J]. Cognitive modeling, 1988,5(3):1.
[11] 唐共波,于东,荀恩东. 基于知网义原词向量表示的无监督词义消歧方法[J]. 中文信息学报,2015,29(6):23-29.
[12] 郭瑞. 基于纯文本的领域本体构建与实现[D]. 石家庄:河北科技大学, 2016.
(责任编辑:黄 健)