【技术实现步骤摘要】
自动生成编程规范问题答案的系统及方法
[0001]本专利技术涉及一种人工智能语义识别领域的技术,具体涉及一种自动生成编程规范问题答案的系统及方法。
技术介绍
[0002]近年来,编程规范在软件质量保障中扮演了越来越重要的角色。编程规范是一系列的代码准则,帮助软件开发者提高代码的可读性、可维护性和可重用性。当软件开发者遇到编程规范相关的问题时,可以查询编程规范文档。然而一条编程规范可能会出现在多份编程规范文档中,并且每份编程规范文档的内容可能是不同的。因此,软件开发者需要查询或浏览多份文档才能获得想要的信息,十分繁琐。问答机器人系统能够自动生成用户提出的问题的答案,而现有的问答机器人系统并没有结合编程规范领域知识,因此很难高效理解软件开发者提出的关于编程规范的问题并给出正确的回答。
技术实现思路
[0003]本专利技术针对现有问答机器人系统编程规范领域知识利用不充分、用户意图理解不精确等缺陷,提出一种自动生成编程规范问题答案的系统及方法,并通过结合知识图谱和机器阅读理解技术,充分利用编程规范领域知识,更精确地理解用户意图,从而提高了自动生成编程规范问题答案的准确性。
[0004]本专利技术是通过以下技术方案实现的:
[0005]本专利技术涉及一种自动生成编程规范问题答案的系统,包括:子图匹配模块、机器阅读理解模块和学习排序模块,其中:子图匹配模块采集自然语言问题并转换为符合SPARQL(SPARQL Protocol and RDF Query Language)协议的语句,利用编程规范
【技术保护点】
【技术特征摘要】
1.一种自动生成编程规范问题答案的系统,其特征在于,包括:子图匹配模块、机器阅读理解模块和学习排序模块,其中:子图匹配模块采集自然语言问题并转换为符合SPARQL协议的语句,利用编程规范知识图谱中结构化的信息查询得到候选答案;机器阅读理解模块使用深度学习模型自动理解非结构化文本,预测得到候选答案;学习排序模块将子图匹配模块和机器阅读理解模块得到的候选答案合并,使用逻辑回归分类器对候选答案按照正确的概率进行排序。2.一种根据权利要求1所述系统的自动生成编程规范问题答案的方法,其特征在于,包括以下步骤:步骤1)构建编程规范知识图谱,具体为:基于编程规范知识图谱的本体,收集书籍以及各种组织公开的编程规范文档,将其整理存储为编程规范知识图谱中的三元组;步骤2)通过子图匹配模块识别出自然语言问题中的节点,然后使用Stanford CoreNLP工具构建语法依赖树,根据识别出的节点集合和构建的语法依赖树生成查询子图Qu,根据Qu的内容和结构生成SPARQL查询语句,查询知识图谱得到候选答案;步骤3)通过机器阅读理解模块从自然语言问题中选取所有的名词、名词短语和主语,将这些词标记为关键词,使用Apache Solr引擎搜索得到最相关的10个自然段,并且使用基于TF-IDF的算法对搜索得到的自然段进行打分,再对每个自然段使用训练好的深度学习模型得到候选答案;步骤4)学习排序模块对步骤2和步骤3产生的候选答案进行合并生成新的候选答案,然后使用逻辑回归分类器按照正确的概率对新的候选答案进行排序;所述的编程规范知识图谱包括:结构化数据和非结构化数据;所述的结构化数据是指:实体、关系/属性、实体构成的三元组。3.根据权利要求2所述的方法,其特征是,所述的编程规范文档中的每个段落对应一条非结构化数据,具体构建流程为:将编程规范文档拆分成段落,使用TF-IDF计算段落和实体的相似度,通过添加属性的方式把段落连接在相似度最高的实体上。4.根据权利要求3所述的方法,其特征是,所述的TF-IDF是指:用词频和逆文档频率来评估每个词在句子中的重要程度。当某个词在句子中出现的频率高,并且它在其他句子中出现的次数较少,则认为该词比较重要。5.根据权利要求2所述的方法,其特征是,所述的节点包括:疑问词节点和实体节点,其中:疑问词节点是指:用户输入的自然语言问题中wh开头的单词;实体节点是指:知识图谱中的实体;识别实体节点的过程为:收集了公开的编程规范术语制作成编程规范术语表,通过查询编程规范术语表找到用户的自然语言问题中包含的编程规范术语,然后使用Jena引擎全文搜索在编程规范知识图谱中找到最匹配的实体形成实体节点,并按匹配程度从高到低返回结果。6.根据权利要求2所述的方法,其特征是,所述的查询子图Qu,通过以下方式得到:对于给定的语法依赖树和节点集合V,在查询子图Qu中添加节点集合V,当两个节点v1,v2的简单路径中没有其他节点,那么就在Qu中为这两个节点添加一条边,语法依赖树中v1和v2之间的简单路径包含的单词形成Qu该边的标签,遍历每个节点重复上述操作就可以构建出查询子图Qu。
7.根据权利要求2所述的方法...
【专利技术属性】
技术研发人员:吴秦月,杜天蛟,曹峻铭,李威,沈备军,陈雨亭,
申请(专利权)人:上海交通大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。