本站小编为你精心准备了浅谈软件工程的知识图谱构建技术参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
摘 要:知识图谱作为海量知识构成的语义知识库,其构建不仅有利于系统知识的组合,更能够为相关专业的具体实践人员提供知识的快速响应,使相关工作的难度大幅降低、质量和效率得到显著提升。基于此,通过对面向软件工程的知识图谱构建技术的探索和解读,从数据的获取和引入着手,先后从构建技术的架构、建模的流程、数据的获取导入、知识融合的功能等方面,对知识图谱构建技术进行了详细的介绍,从而为软件工程的高效开发和利用提供有价值的参考。
关键词:软件工程;知识图谱;构建技术
0引言
2020年底,教育部在答复全国政协《关于将工业设计软件创新突破作为国家“十四五”规划战略性工程实施的提案》中指出:加快发展我国工业软件是保障国家安全、促进制造业转型升级的重要举措,为软件工程领域的创新发展带来了利好消息,也是软件工程理论与实践发展的重要机遇。在软件研制领域,通过构建面向软件工程的知识图谱,可以为软件开发人员提供大量的新增服务,使开发人员在项目研发、任务分配、工作推进、故障处理等方式能够拥有关联信息智能推送和检索的助力,使软件开发的难度大幅降低,开发的质量和效率也能够得到更加显著的提升。
1知识图谱构建的基本架构技术
知识图谱属于情报学衍生出的概念,在功能及形态上类似于思维领域的思维导图,在实现上需要借助信息科学、可视化技术、计量学手段等构建框架,将应用数学、图形学等学科进行综合运用,从而对知识资源及其载体进行细致描绘,并且在提取和利用过程中能够实现快速响应。但从功能上说,知识图谱本身并不存储信息、数据,它所发挥的作用在于快速检索、不断增加信息获取深度、提升信息获取效率,因此“外部网络”是知识图谱数据源的重要组成部分(见图1)。目前,知识图谱已在金融投资、风险控制、科学教育等诸多行业得到了较为广泛的应用[1]。从知识图谱构建的架构来看,其主要包含数据获取导入模块、知识建模以及知识融合三个部分。其中,知识获取和导入模块是知识图谱的知识来源,通过从外部获取知识资源并导入到知识图谱系统,可以为知识图谱奠定丰富的知识素材。知识抽取技术研究的是如何从大量的异构数据中抽取特定的知识[2]。知识建模是知识图谱技术的核心部分,通过知识建模对获取的知识或文本进行要素识别,可以实现外部资源向知识图谱可利用资源的转化。知识融合则是知识图谱得以有效运转的保障,通过对获取、识别后的知识资源进行融合和更新,最终实现知识图谱的构建,从而为后续的运用你做好充分的准备。值得一提的是,在知识图谱基本架构中的“数据源”层次,文件系统与关系数据库主要发挥系统功能,如文件系统中所存储的均为知识图谱的半结构化文件或者自由文本,前者主要存储软件工程领域的知识文件(主要用XML、JSON格式组织),后者存储一些说明性内容,如软件版权、问题描述、处理建议等。关系数据库中存储的是结构化数据,主要以表单格式组织,而“外部网络”的内涵较为丰富,它是实现软件工程知识图谱扩容的有效机制,除了在局域网中存储的保密信息外,还可以关联外部网络(即互联网),以网页的形式浏览公开信息。
2面向软件工程的知识图谱构建技术
2.1知识图谱软件的基本内容
知识图谱软件的数据源主要有文件系统、关系数据库和外部网络等方面内容,根据不同来源,数据获取和导入的路径和模式也有着相应的变化。例如,在关系数据库中,由于这些数据本身就是已经设置好的知识图谱所需的结构化数据,因而可以直接进行关系数据库的导入操作,通过对数据库表单数据进行定向读取,软件工程的知识图谱就可以顺利进行相应的建模。在面向软件工程的知识图谱中,其数据源的存储方式主要有两种。其一,是通过资源描述框架进行存储,也就是知识图谱中的一条知识;其二是借助图形数据库来实现数据的存储。其中,资源描述框架(resourceddescriptionframework,RDF)主要用来描述资料属性及不同资料之间的关系,它依据W3C组织定义的数据模型实现容器机制功能,RDF下提供了三种容器形态,即封装(bag)、顺序(sequence)和选择(alternative),其主要支持Jena、Titan等存储格式的图数据库;而图形数据库存储的方式主要是Neo4J图形数据库。相较于前者而言,Neo4J图形数据库的使用范围更加广泛,开源的社区也十分地活跃,其查询语言即Cypher也非常便于使用,从而被作为知识图谱存储建模的首选软件。
2.2知识图谱软件的数据的获取和导入
在数据获取环节,需要针对外部数据源的不同格式和类型,应用相应的软件进行数据读取和转化,必要时应当对数据进行一定的处理,使其能够与知识图谱的构建环境相匹配,从而为后续的建模和融合奠定坚实的基础。对于数据源中的文件系统中的文件,可以较为方便地采取通用文件编程接口进行读取,因此数据获取导入层只需包含关系数据库导入、半结构化数据导入和网络爬取三部分[3]。例如,针对外部互联网上的网页信息数据,其并不能够直接进行获取或转化成为数据库能够识别的数据资源,需要借助网络爬取的工具进行自动访问、下载和网页信息数据的解析,从而将数据信息转换成为知识图谱软件所能够利用的数据库资源。
2.3知识图谱软件的数据清洗、建模与识别
在数据的文本识别与分类环节,需要对已经获取并导入的数据进行建模,使零散的、无规则的数据逐渐形成一个基本的知识图谱,尽可能地覆盖已获取的全部数据资源,从而为后续的知识融合做好相应的准备。数据建模的过程,主要包含数据清洗转换、实体关系建模和文本要素识别三个方面。第一,数据清洗转换是对获取的数据进行相应的整理和修复,其目的是通过将前期获取的数据中不完整、不正确的数据甚至是脏数据等进行相应的清洗,使数据变成可以被知识图谱所正常使用的数据,对于一些不能直接识别的数据还需要进行一定的格式或者类型转换,从而便于知识图谱建模。第二,实体关系建模是数据图谱正式建模的过程,主要是针对获取的数据中存在的隐含数据项关系等,结合具体的业务知识进行更加细致化的实体关系构建,使业务实体与属性之间形成一定的对应关系,从而启动知识图谱的识别和融合。第三,文本要素识别则是知识图谱融合的前置步骤,由于资源获取时只能对资源进行初步的分类和处理,许多非结构化的自由文本信息只能进行整体的获取,而并没有得到及时的解析和利用。而如果这些数据信息没有进行有效利用,将是极大的资源浪费。对此,必须要在知识图谱构建阶段进行文本的单独标记和识别,采取标签提取、相似度聚类以及实体识别等策略,将自由文本转换成为被标记、可归类的具体数据或者数据库,从而在后续的知识融合过程中被设置在合理的位置,使其能够在知识图谱运用环节能够被识别和提取。例如,当部分自由文本能够指向同一个类别,如表1的项目运行故障文本管理,即使该文本不能够直接转化为具体数据,也可以进行相应的标记并进行标签提取和分类,使其成为可归类、可融合的图谱数据。
2.4知识图谱软件的融合与应用
在知识的建模和融合环节,需要将前两个环节构建的基础图谱与识别后的自由文本等进行匹配,并结合系统自动化对齐、人工识别操作等手段,对软件工程的知识图谱进行优化和处理,并在后续的工作中不断地进行资源更新,从而构建出体系化的知识图谱。面对软件工程的知识图谱构建,需要将数据库中的业务实体项目与属性进行相应的对齐处理,如果实体名称存在相同情况时,还需要进行人工比对和识别,一旦出现实体不同但名称相同的情况时,还需要采取实体消歧的措施,从而确保实体和属性的对齐。在基础知识图谱建模与融合完成后,再将无法直接转换为数据信息的自由文本,通过关联匹配的方式与知识图谱进行关系,使知识图谱更加丰富和完善,同时也使得获取和导入的数据信息资源得以充分利用。知识图谱融合后,可以通过图表、虚拟投影等可视化的方式,对图谱的主要项目内容以及相互之间的关系进行清晰化、立体化显示,从而为管理人员以及技术开发人员等提供可关注的信息,进而在值得关注的问题或者自己感兴趣的类别方面进行快速检索和查寻,从而大幅提升工作的效率,并且能够实现多线路同步开展和功能性拓展等其他目标,促进软件工程管理、使用和研发的高质高效发展。
3结束语
综上所述,在软件工程领域“数据信息”已经成为不可缺少的核心资源,在不同的软件开发与运用过程中都离不开知识图谱的构建与数据信息的支持。通过对面向软件工程的知识图谱构建技术进行解析,不难发现知识图谱构建的关键环节和重点任务,不仅有助于知识图谱的科学合理构建与管理运用,更加为软件开发的智能化、信息化推进提供助力,使研发人员能够更加快速、精准地进行信息获取和检索,从而助力软件工程技术的更好、更快发展。
参考文献:
[1]王飞,刘井平,刘斌,等.代码知识图谱构建及智能化软件开发方法研究[J].软件学报,2020,31(1):47-66.
[2]于浏洋,郭志刚,陈刚,等.面向知识图谱构建的知识抽取技术综述[J].信息工程大学学报,2020,21(2):227-235.
[3]张彦,孟令军,王瑞辰.面向软件工程的知识图谱构建技术研究[J].航空电子技术,2020,51(3):41-47.
作者:凯比努尔·赛地艾合买提
本站为第三方开放式学习交流平台,所有内容均为用户上传,仅供参考,不代表本站立场。若内容不实请联系在线客服删除,服务时间:8:00~21:00。