前言 在我国经济从高速增长向高质量发展的重要过程中,以人工智能为代表的新一代信息技术,成为推动经济高质量发展、建设创新型国家,实现新型工业化、信息化、城镇化和农业现代化的重要技术保障和核心驱动力之一。知识图谱以结构化的形式描述客观世界中概念、实体及其关系,将互联网的信息表达成更接近人类认知世界的形式,提供了一种更好地组织、管理和理解互联网海量信息的能力,成为人工智能发展的核心驱动力,推动着公共安全、金融科技、教育司法、交通制造等领域智能应用的发展。 与通用领域和成熟行业相比较,面向社区文本的软件工程领域知识图谱构建及应用研究还处于起步阶段,缺乏统一、完备的解决方案。软件知识社区文本是非结构化的用户生成内容,不仅具有内容重复、结构松散、拼写不规范等社会化特征,还具有命名不统一、术语繁杂和语义特征弱等软件领域特征,导致面向社区文本的软件知识图谱构建及应用还存在如下亟待解决的问题。 在软件知识实体抽取方面,软件知识社区文本存在命名不统一、拼写不规范、实体名称为常用词或少见词等情况,导致软件知识实体抽取面临实体歧义、实体变体、无法识别未登录词等问题。现有的方法缺乏对这些问题的关注和研究,软件知识实体抽取的质量难以达到预期效果,亟须完善模型和方法,以适应软件知识社区文本的社会化和专业领域特征。 在软件知识实体关系抽取方面,受软件知识社区文本特征的影响,软件知识实体关系抽取存在实体语义特征弱、实体语义关系模糊的问题; 同时,基于依存关系特征进行关系抽取存在欠剪枝或过剪枝的问题,导致软件知识实体关系抽取的准确率不高,从而影响软件知识图谱构建的质量。 在面向社区的软件专家推荐方面,当前的软件专家推荐方法存在标签依赖和交互数据稀疏的问题。同时,缺乏知识图谱的辅助和支持,无法捕获问题文本和专家领域知识偏好之间的隐含知识关联信息,从而影响软件专家推荐的效果。 因此,从海量软件知识社区文本中自动、高效地抽取软件知识,形成软件知识图谱,并结合软件领域的业务问题进行软件知识应用,有助于智能问答、自动文档生成、软件专家推荐等以软件知识为中心的智能化应用,对提升软件开发效率和软件生产质量具有重要作用。 作者所在团队一直从事知识图谱和软件知识挖掘方面的研究,有一定的研究积累。我们撰写此书,希望将团队近几年的研究成果呈现出来,为需要了解和深入研究这一领域的学者提供有价值的参考资料。 本书以软件知识抽取及应用为中心,围绕面向社区文本的软件知识图谱构建及应用的核心问题展开,针对一类问题给出解决的方法,这些方法对于解决知识图谱构建及应用存在的问题具有一定的借鉴作用,同时也希望此书能为正在进行软件知识图谱研究的科技人员带来更有效的启发。 本书由唐明靖教授负责撰写,课题组的杨芳老师、夏跃龙老师参与了本书的校对和素材准备工作。本书的写作得到了云南师范大学民族教育信息化教育部重点实验室及业内同行的大力支持和帮助,在此深表感谢。 科技在高速发展和进步,本书受限于作者的水平,难免有不足之处,敬请广大读者不吝批评和指正,这将促使我们不断进步和提高。 唐明靖2024年11月