主要工作包括三个方面: 首先,提出了一种编程语言本体人工构建方法,该方法结合编程语言学科特点在“七步法”的基础上进行相关改进,主要步骤包括核心概念及层次关系确定、属性确定及实例化、专家审核及编码化。针对编程语言本体存储管理问题,提出了一种基于本体元素划分的图数据库存储策略,该策略将本体元素划分为结构层和实例层,基于相应元素的映射规则完成本体模型到图数据库模型的存储。实验结果表明所提出的方法是可行有效的。
其次,在编程语言本体构建的基础上,提出了一种半自动的方法完成编程语言知识图谱的扩充。其中,针对信息抽取中多元关系的问题提出了一种多策略融合的信息抽取方法,该方法采用融合术语相关度的规则匹配方法和聚类算法完成定向关系抽取,使用依存句法分析完成非定向关系抽取。针对知识矛盾或冗余的问题,提出了基于同义词典的实体对齐方法,该方法通过构建同义词典来对抽取的知识实体进行规范化表述,并结合相似度计算来为同义词典补充相似实体对。实验结果表明所提出的方法有效的完成对编程语言知识图谱的丰富和完善。
最后,对构建的编程语言知识图谱进行实证应用研究。提出了基于加权共现分析的编程语言图谱评价方法,该方法首先对实际应用题库中习题标签集与编程语言知识图谱中知识实体集的共现元素统计,并利用题库中知识点对应习题量作为加权依据,来计算编程语言图谱对习题标签的加权共现覆盖率。实验结果表明构建完成的编程语言图谱是完备的,验证了本文提出的编程语言知识图谱构建方法的有效性。