面向软件开发领域的知识问答系统设计与实现
这是一篇关于知识问答,软件开发领域,复杂问题,知识图谱,软件开发知识库的论文, 主要内容为当今社会,随着信息科技的不断进步,软件开发领域已经得到迅速发展,相关的软件开发知识种类和数据量也在不断增加,如何从这些种类繁杂、数量巨大的数据中为开发者推荐合适、有效的软件开发知识成为当前软件开发领域的主要内容。传统的以搜索引擎为主的知识获取方法,通过匹配关键词可以获取一系列相关的信息来推荐给用户。近几年,特别是在2012年谷歌提出知识图谱的概念之后,利用知识图谱的相关技术进行知识问答等方面的研究已经有了很大的发展。但是,对于软件开发领域的知识问答来说,还有许多不足:(1)现在对于软件开发领域的知识来说,分布相对比较零散,许多信息都是散落在各个不同的网站上,人们往往需要搜索引擎多次查找才能得到需要的答案,缺少软件开发知识的自动收集机制;(2)现有的软件开发知识相对分散,缺少业界统一的一致的规范和标准,没有针对软件开发这一特定的领域来专门设计一个专业领域知识库;(3)通过观察研究StackOverflow、CSDN等网站上的一些软件开发领域的“问题-答案对”发现,大多数问题都是会涉及到多个实体、关系的问题,相对应的答案也往往是多个且形式多样,对于这种复杂、开放的软件开发领域问题,传统的知识问答方法存在不足。传统的知识问答方法大部分都是对一些简单事实问题进行研究的,不能很好的支撑软件开发领域的复杂、开放的问题。因此,如何对软件开发领域这种复杂、开放的问题进行回答,成为现阶段需要研究和解决的问题。本文针对以上所陈列的各种问题,进行了深入的研究,主要工作有:1.实现了异构多源软件开发知识的自动化收集。为实现对软件开发领域知识的自动化收集,构建并行化的爬虫程序,对各类关于软件开发的网站上的数据集进行爬取,如维基百科、StackOverflow、GitHub等。2.构建了统一的软件开发知识图谱。构建适用于软件开发知识问答的软件开发知识图谱,设计软件开发知识库。首先,对收集到的问答数据进行分析、总结,得到软件开发领域问题及相对应答案的特征;然后对这些数据进行预处理,提取数据中的实体、关系以及属性等信息;最后利用收集的软件开发知识数据集以及从维基百科等网站上爬取的关于软件开发这方面的知识和软件开发领域问题答案特征,对通用知识图谱的构建方法进行了改进,使用Neo4j等图数据库进行数据存储,构建了适用于软件开发知识问答的软件开发知识库。3.提出了一种面向软件开发领域复杂问题的知识问答方法。该方法是通过在知识图谱中找到与用户问句描述最相符的相似问题实体,并将其答案作为最终用户问句的答案。该方法主要包括两个方面,一是用户问句的嵌入表示,它是在融合了知识图谱中知识层面的信息和结构信息后,对问句进行联合的嵌入表示;二是构建了用户问句的知识体系,并将其与注意力机制相结合来表征用户的真实意图。最后,构建了一个得分函数来计算相关性得分,获取与用户问句最相符和的候选问句,并将其答案作为用户问句的答案。4.设计并实现了面向软件开发领域的知识问答系统。分析传统知识问答方法的缺陷和用户日益增长的需求,以提出的知识问答方法为基础,设计了面向软件开发领域的知识问答系统,以实现对软件开发领域复杂、开放的问题进行有效地回答。本文通过自动化收集异构多源的软件开发知识,构建软件开发知识图谱,提出面向软件开发领域的知识问答方法,设计并实现了面向软件开发领域的知识问答系统。对知识问答系统进行了功能和性能上的检验,结果表明系统具有较好的稳定性,所提出的知识问答方法也取得了良好的效果。
基于问句分解的知识图谱复杂问题问答方法研究
这是一篇关于知识图谱问答,复杂问题,形式化查询构建,问句分解的论文, 主要内容为知识图谱问答是自然语言处理领域备受瞩目且发展前景良好的研究方向之一。基于语义解析的方法是其主流方法之一,通过将问题转化为形式化查询,再查询知识图谱获得预测答案。目前,基于语义解析的方法在解答简单问题上取得了不错的结果,但由于复杂问题含有丰富的语义信息,使得问题语义特征学习难度增大、形式化查询复杂化与搜索空间急剧扩大,导致复杂问题的解答效果有待提升。充分、准确理解问题的语义特征是提升复杂问题解答效果的关键途径之一。本文聚焦于面向复杂问题的知识图谱问答方法,探索增强问题语义特征学习能力的方法,从而化解复杂问题含有丰富语义信息带来的困难与挑战。总的来说,本文的主要工作如下:(1)在形式化查询阶段构建框架的基础上,提出了基于历史注意力的形式化查询构建方法。首先,本文对形式化查询阶段构建的已有研究工作进行归纳总结,提出有效、通用的形式化查询阶段构建框架。之后,本文发现已有的研究工作致力于直接增加关键信息的权重,却忽略了削弱冗余信息干扰的重要性。从这一角度,本文提出基于历史信息的注意力机制,并结合形式化查询阶段构建框架,提出基于历史注意力的形式化查询构建方法。基于历史信息的注意力机制削弱冗余信息的能力使得该方法在两个主流数据集上取得了较好的结果。(2)提出了基于问句分解的形式化查询构建方法。针对缺少训练问句分解模型所需的标注数据与需要确定子问题解答顺序等难题,本文提出基于问句分解的形式化查询构建方法。首先,为了解决缺少标注数据的难题,本文依据基于历史注意力的形式化查询构建方法的注意力权重分布获取粗糙的标注数据,通过弱监督训练方式训练问句分解模型。之后,通过结合自注意力的历史注意力为问句分解模型提供关键信息指示,确定了子问题的解答顺序。基于问句分解的形式化查询构建方法在两个主流数据集上进行实验,实验结果表明,基于弱监督的问句分解提升了复杂问题的解答效果且具有较高质量的问句分解结果。(3)结合基于问句分解的形式化查询构建方法设计与实现了知识图谱问答系统。用户通过图形化界面访问问答系统,输入问题即可获得对应的答案。同时,该系统提供解答过程的子问题,具有较强的可解释性与可信度。本文工作的意义在于探索增强问题语义特征学习能力的可行方案,具体来说,探究问句分解对知识图谱问答的帮助程度,特别是对解答复杂问题的帮助。在工作中,本文发掘了存在的困难与挑战,针对性地提出了具有可行性、有效性的解决方案,对今后面向复杂问题的知识图谱问答方法研究具有借鉴意义。
面向软件开发领域的知识问答系统设计与实现
这是一篇关于知识问答,软件开发领域,复杂问题,知识图谱,软件开发知识库的论文, 主要内容为当今社会,随着信息科技的不断进步,软件开发领域已经得到迅速发展,相关的软件开发知识种类和数据量也在不断增加,如何从这些种类繁杂、数量巨大的数据中为开发者推荐合适、有效的软件开发知识成为当前软件开发领域的主要内容。传统的以搜索引擎为主的知识获取方法,通过匹配关键词可以获取一系列相关的信息来推荐给用户。近几年,特别是在2012年谷歌提出知识图谱的概念之后,利用知识图谱的相关技术进行知识问答等方面的研究已经有了很大的发展。但是,对于软件开发领域的知识问答来说,还有许多不足:(1)现在对于软件开发领域的知识来说,分布相对比较零散,许多信息都是散落在各个不同的网站上,人们往往需要搜索引擎多次查找才能得到需要的答案,缺少软件开发知识的自动收集机制;(2)现有的软件开发知识相对分散,缺少业界统一的一致的规范和标准,没有针对软件开发这一特定的领域来专门设计一个专业领域知识库;(3)通过观察研究StackOverflow、CSDN等网站上的一些软件开发领域的“问题-答案对”发现,大多数问题都是会涉及到多个实体、关系的问题,相对应的答案也往往是多个且形式多样,对于这种复杂、开放的软件开发领域问题,传统的知识问答方法存在不足。传统的知识问答方法大部分都是对一些简单事实问题进行研究的,不能很好的支撑软件开发领域的复杂、开放的问题。因此,如何对软件开发领域这种复杂、开放的问题进行回答,成为现阶段需要研究和解决的问题。本文针对以上所陈列的各种问题,进行了深入的研究,主要工作有:1.实现了异构多源软件开发知识的自动化收集。为实现对软件开发领域知识的自动化收集,构建并行化的爬虫程序,对各类关于软件开发的网站上的数据集进行爬取,如维基百科、StackOverflow、GitHub等。2.构建了统一的软件开发知识图谱。构建适用于软件开发知识问答的软件开发知识图谱,设计软件开发知识库。首先,对收集到的问答数据进行分析、总结,得到软件开发领域问题及相对应答案的特征;然后对这些数据进行预处理,提取数据中的实体、关系以及属性等信息;最后利用收集的软件开发知识数据集以及从维基百科等网站上爬取的关于软件开发这方面的知识和软件开发领域问题答案特征,对通用知识图谱的构建方法进行了改进,使用Neo4j等图数据库进行数据存储,构建了适用于软件开发知识问答的软件开发知识库。3.提出了一种面向软件开发领域复杂问题的知识问答方法。该方法是通过在知识图谱中找到与用户问句描述最相符的相似问题实体,并将其答案作为最终用户问句的答案。该方法主要包括两个方面,一是用户问句的嵌入表示,它是在融合了知识图谱中知识层面的信息和结构信息后,对问句进行联合的嵌入表示;二是构建了用户问句的知识体系,并将其与注意力机制相结合来表征用户的真实意图。最后,构建了一个得分函数来计算相关性得分,获取与用户问句最相符和的候选问句,并将其答案作为用户问句的答案。4.设计并实现了面向软件开发领域的知识问答系统。分析传统知识问答方法的缺陷和用户日益增长的需求,以提出的知识问答方法为基础,设计了面向软件开发领域的知识问答系统,以实现对软件开发领域复杂、开放的问题进行有效地回答。本文通过自动化收集异构多源的软件开发知识,构建软件开发知识图谱,提出面向软件开发领域的知识问答方法,设计并实现了面向软件开发领域的知识问答系统。对知识问答系统进行了功能和性能上的检验,结果表明系统具有较好的稳定性,所提出的知识问答方法也取得了良好的效果。
面向软件开发领域的知识问答系统设计与实现
这是一篇关于知识问答,软件开发领域,复杂问题,知识图谱,软件开发知识库的论文, 主要内容为当今社会,随着信息科技的不断进步,软件开发领域已经得到迅速发展,相关的软件开发知识种类和数据量也在不断增加,如何从这些种类繁杂、数量巨大的数据中为开发者推荐合适、有效的软件开发知识成为当前软件开发领域的主要内容。传统的以搜索引擎为主的知识获取方法,通过匹配关键词可以获取一系列相关的信息来推荐给用户。近几年,特别是在2012年谷歌提出知识图谱的概念之后,利用知识图谱的相关技术进行知识问答等方面的研究已经有了很大的发展。但是,对于软件开发领域的知识问答来说,还有许多不足:(1)现在对于软件开发领域的知识来说,分布相对比较零散,许多信息都是散落在各个不同的网站上,人们往往需要搜索引擎多次查找才能得到需要的答案,缺少软件开发知识的自动收集机制;(2)现有的软件开发知识相对分散,缺少业界统一的一致的规范和标准,没有针对软件开发这一特定的领域来专门设计一个专业领域知识库;(3)通过观察研究StackOverflow、CSDN等网站上的一些软件开发领域的“问题-答案对”发现,大多数问题都是会涉及到多个实体、关系的问题,相对应的答案也往往是多个且形式多样,对于这种复杂、开放的软件开发领域问题,传统的知识问答方法存在不足。传统的知识问答方法大部分都是对一些简单事实问题进行研究的,不能很好的支撑软件开发领域的复杂、开放的问题。因此,如何对软件开发领域这种复杂、开放的问题进行回答,成为现阶段需要研究和解决的问题。本文针对以上所陈列的各种问题,进行了深入的研究,主要工作有:1.实现了异构多源软件开发知识的自动化收集。为实现对软件开发领域知识的自动化收集,构建并行化的爬虫程序,对各类关于软件开发的网站上的数据集进行爬取,如维基百科、StackOverflow、GitHub等。2.构建了统一的软件开发知识图谱。构建适用于软件开发知识问答的软件开发知识图谱,设计软件开发知识库。首先,对收集到的问答数据进行分析、总结,得到软件开发领域问题及相对应答案的特征;然后对这些数据进行预处理,提取数据中的实体、关系以及属性等信息;最后利用收集的软件开发知识数据集以及从维基百科等网站上爬取的关于软件开发这方面的知识和软件开发领域问题答案特征,对通用知识图谱的构建方法进行了改进,使用Neo4j等图数据库进行数据存储,构建了适用于软件开发知识问答的软件开发知识库。3.提出了一种面向软件开发领域复杂问题的知识问答方法。该方法是通过在知识图谱中找到与用户问句描述最相符的相似问题实体,并将其答案作为最终用户问句的答案。该方法主要包括两个方面,一是用户问句的嵌入表示,它是在融合了知识图谱中知识层面的信息和结构信息后,对问句进行联合的嵌入表示;二是构建了用户问句的知识体系,并将其与注意力机制相结合来表征用户的真实意图。最后,构建了一个得分函数来计算相关性得分,获取与用户问句最相符和的候选问句,并将其答案作为用户问句的答案。4.设计并实现了面向软件开发领域的知识问答系统。分析传统知识问答方法的缺陷和用户日益增长的需求,以提出的知识问答方法为基础,设计了面向软件开发领域的知识问答系统,以实现对软件开发领域复杂、开放的问题进行有效地回答。本文通过自动化收集异构多源的软件开发知识,构建软件开发知识图谱,提出面向软件开发领域的知识问答方法,设计并实现了面向软件开发领域的知识问答系统。对知识问答系统进行了功能和性能上的检验,结果表明系统具有较好的稳定性,所提出的知识问答方法也取得了良好的效果。
基于问句分解的知识图谱复杂问题问答方法研究
这是一篇关于知识图谱问答,复杂问题,形式化查询构建,问句分解的论文, 主要内容为知识图谱问答是自然语言处理领域备受瞩目且发展前景良好的研究方向之一。基于语义解析的方法是其主流方法之一,通过将问题转化为形式化查询,再查询知识图谱获得预测答案。目前,基于语义解析的方法在解答简单问题上取得了不错的结果,但由于复杂问题含有丰富的语义信息,使得问题语义特征学习难度增大、形式化查询复杂化与搜索空间急剧扩大,导致复杂问题的解答效果有待提升。充分、准确理解问题的语义特征是提升复杂问题解答效果的关键途径之一。本文聚焦于面向复杂问题的知识图谱问答方法,探索增强问题语义特征学习能力的方法,从而化解复杂问题含有丰富语义信息带来的困难与挑战。总的来说,本文的主要工作如下:(1)在形式化查询阶段构建框架的基础上,提出了基于历史注意力的形式化查询构建方法。首先,本文对形式化查询阶段构建的已有研究工作进行归纳总结,提出有效、通用的形式化查询阶段构建框架。之后,本文发现已有的研究工作致力于直接增加关键信息的权重,却忽略了削弱冗余信息干扰的重要性。从这一角度,本文提出基于历史信息的注意力机制,并结合形式化查询阶段构建框架,提出基于历史注意力的形式化查询构建方法。基于历史信息的注意力机制削弱冗余信息的能力使得该方法在两个主流数据集上取得了较好的结果。(2)提出了基于问句分解的形式化查询构建方法。针对缺少训练问句分解模型所需的标注数据与需要确定子问题解答顺序等难题,本文提出基于问句分解的形式化查询构建方法。首先,为了解决缺少标注数据的难题,本文依据基于历史注意力的形式化查询构建方法的注意力权重分布获取粗糙的标注数据,通过弱监督训练方式训练问句分解模型。之后,通过结合自注意力的历史注意力为问句分解模型提供关键信息指示,确定了子问题的解答顺序。基于问句分解的形式化查询构建方法在两个主流数据集上进行实验,实验结果表明,基于弱监督的问句分解提升了复杂问题的解答效果且具有较高质量的问句分解结果。(3)结合基于问句分解的形式化查询构建方法设计与实现了知识图谱问答系统。用户通过图形化界面访问问答系统,输入问题即可获得对应的答案。同时,该系统提供解答过程的子问题,具有较强的可解释性与可信度。本文工作的意义在于探索增强问题语义特征学习能力的可行方案,具体来说,探究问句分解对知识图谱问答的帮助程度,特别是对解答复杂问题的帮助。在工作中,本文发掘了存在的困难与挑战,针对性地提出了具有可行性、有效性的解决方案,对今后面向复杂问题的知识图谱问答方法研究具有借鉴意义。
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕业设计客栈 ,原文地址:https://m.bishedaima.com/lunwen/55397.html