软件自动化方法与系统以及构建自然语言理解库的方法技术方案

技术编号:16546469 阅读:62 留言:0更新日期:2017-11-11 11:27
本发明专利技术公开了一种基于自然语言理解的软件生产自动化的方法与系统,内容包括:一、预先建立一个自然语言理解库的构建模型,构建词汇语义知识库;二、建立一个自然语言理解的系统,对软件过程描述性信息,机器先进行理解解析,构建句子语义对应的语法结构;三、建立理解推演模型,在语法语义结构的基础上,机器进行推演,不断抽取难解性元素,搜索规则或语义值,插入重写难解性元素,该过程重复进行,直到没有难解性元素为止,形成求解串;四、建立形式化模型,该模型通过整理这些解决过程形成的求解串,对求解串抽取操作语义进行形式化后,输出对应的软件代码行集合。利用本发明专利技术,可以有效提高软件的开发速度与软件的可靠性。

Software automation methods and systems and methods for building natural language understanding Libraries

The invention discloses a method for software production automation based on natural language understanding and the system includes: a pre established model library is a natural language understanding, construct a semantic knowledge base; two, the establishment of a system of natural language understanding, the descriptive information process software, machine to understand analysis of grammatical structure constructs the sentence semantic correspondence; three, establish the deduction model based on understanding, grammatical and semantic structure, the machine is deduced, the constant extraction difficulty of elements, search rules or semantic value, insert re write the intractability of the elements, the process is repeated until no intractability elements have been formed, for series; four, the establishment of a formal model, the model of sorting through solving these solve the forming process on, formalization of solving on operation semantics after extraction Output the corresponding set of software code rows. The invention can effectively improve the development speed of software and the reliability of software.

【技术实现步骤摘要】
软件自动化方法与系统以及构建自然语言理解库的方法
本专利技术涉及一种软件生产自动化方法,特别是涉及自然语言描述的需求分析直接理解、推演并形式化为软件的软件自动化方法、软件自动化系统,以及对自然语言进行实质理解并构建自然语言理解库的方法。
技术介绍
编程是个繁琐的脑力劳动,软件自动化则是一种让机器代替人类进行自动编程的方法,可提高效率,解放脑力劳动。但目前软件自动化程度仍然处于半自动加人工干预的态势,软件生产自动化的程度仍然较低。具体表现为,第一,软件自动化实现途径首先需要把软件需求描述转换为功能规格说明,由于非形式化到形式化的过程非常困难,非形式化的软件需求转化为形式化的规格说明仍然需要手工方式,这是软件生产自动化的难点之一。从需求规格说明到功能规格说明目前多数系统效率较低,也容易出差错。第二,当前,无论是基于构件的软件工厂还是模型驱动构架MDA,都是基于形式化的规格说明之上的,而且形式化基础上的演绎综合,这方面的软件自动化的规模还很小,从功能规格说明到生成设计规格说明仍然难以自动化;
技术实现思路
本专利技术提供一种软件生产自动化方法与系统,使得软件项目或应用得以实现。根据本专利技术的一个方面,提供了一种从自然语言描述信息经过理解、推演、形式化直接导出软件的软件自动化方法,有别于类自然语言的描述方式。类自然语言是受限的自然语言,属于形式化方法,本方法直接基于自然语言描述需求分析,只要把程序做什么手工怎么操作描述出来,该软件自动化方法就可以自动生成所需要的软件。其中,描述信息包括操作流程、操作规范及知识描述,描述性文本中的这些知识描述亦可以单独放置。该方法能够降低劳动强度,提高编程效率。根据本专利技术的一个方面,提供一种软件自动化系统,一是可增加根据描述信息执行的准确性,提高对需求处理的正确性;二是减少人为因素引起的人类不易觉察的机器错误,提高编程的正确率;三是提高编程效率,减少人工编程的劳动强度。根据本专利技术的一个方面,提供一种构建自然语言理解库即语义知识库(常识库)的方法。本专利技术的目的是通过以下技术方案实现一种软件自动化方法,该方法包括A、理解(机器)。对描述信息进行理解,简称脚本理解;脚本理解包括词语理解、句子理解、句群理解以及语义表示;在理解基础上进行词法分析,可达到词语分析的合理性;通过理解实施句法分析,以达到句法分析的合理性;通过词法分析与句法分析,最终构建语义理解目标的文本知觉语义结构,为后续过程做准备;B、推演(机器)。难解性元素,即尚未解决的元素,已知条件中无法搜到的元素则是难解性元素。在步骤A的描述信息的语义表示基础上抽取出交易,解读交易,对难解性元素进行判断重写,从而不断展开交易,问题得到推演解决。具体过程为:首先通过语义识别出交易(程序标题),交易即问题串;机器对问题串进行分析,发现捕捉难解性元素。若捕捉到,如果可匹配已知,则置为可解性元素;否则,对难解性元素在本文本内进行搜索规则或what值,即搜索语义或因果串,重写难解性元素。重新分析问题串,看是否有难解性元素。这个捕捉重写过程连续进行,直到无难解性元素为止;从而得到最终的问题串,亦称推理串或求解串。替换策略还包括使用启发性知识以缩小求解的途径,避免求解途径的组合爆炸。C、形式化(机器):形式化即是对推理串的整理与符号化过程,从推理串中整理出程序流程。推理串整理包括变量识别、运算符与函数等的变换翻译等。变量识别通过把what值语义中具有机器取值指向特征的前变量词语识别为变量,从而实现根据概念的语义特征所进行的变量形式化。运算符的变换翻译则是根据语义进行运算符直接理解变换,是以知觉语义特征为中介进行自然语言与程序语言的一一对应过程。通过变量识别与运算符等的变换翻译,从而抽取出推理串中的操作语义,组成程序代码行集合。较佳地,所述步骤A之前进一步包括A’、采集格式化或非格式化的词汇信息,生成词汇语义知识库。上述方法中,所述步骤A’包括A’1、判断所述词汇定义方法是否是格式化方法,如果是,则执行步骤A’2、采集格式化的词汇信息,生成词汇语义知识库;否则,执行步骤A’3、采集非格式化的词汇信息,生成词汇语义知识库。上述方法中,步骤A’2所述采集格式化的词汇信息,生成词汇语义知识库包括A’21、确定需自动采集的词汇点,为所述需采集的词汇点分配词汇ID;A’22、根据所述需自动采集的词汇点,对词汇信息记录进行采集,根据格式化标志获得与所述需自动采集的词汇点对应的词汇语义信息与有关知识信息,为所述词汇信息包含的词汇语义点分配词汇语义点ID;A’23、将所述词汇信息以五元组的形式进行存储;任一所述词汇点的五元组包含词语ID(词汇)、知觉语义、语义点ID、例子及有关知识。上述方法中,步骤A’3所述对词汇信息记录进行采集,获得与所述需自动采集的词汇点对应的词汇语义信息包括A’31、对确定进行采集的词汇信息进行词法分析与语法分析;A’32、识别格式化后的所述词汇信息点包含的词汇,获得词汇点;A’33、从意思描述记录中选择包含所述词汇的语义点信息;A’34、通过例子(相关知识)理解获得精细化的语义点信息,并提取相关知识语义。A’35、将所述词汇信息以五元组的形式进行存储;任一所述词汇点的五元组包含词语ID(词汇)、知觉语义、语义点ID、例子及知识。词汇信息以五元组的形式进行存储,其存储前要进行词汇归位、语义归位;词汇归位包括查询常识库,看该词汇是否已存在,若已存在则应判别语义异同,然后一致性地增加定义;语义归位包括查询常识库的语义部分,看该语义是否已存在,并一致性地增加语义链接。知识归位包括查询常识库,看该知识是否已存在,并一致性地增加该知识语义。语义与知识,其储存形式都是结构化的;其中的语义是知觉语义。【附图说明】图1为现有的软件自动化系统的结构方块示意图,现结合图1,对现有的软件自动化系统的结构进行说明,具体如下:现有的软件自动化系统包括理解模块101、推演模块102和形式化模块103。理解模块101接受描述信息,并根据描述信息的what-why值(知觉语义集),把描述信息切分为词语法结构,及其对应的理解结果,该理解结果为对应的语义结构集。推演模块102接受自然语言理解系统(理解模块101)发来的理解结果,并对该理解结果进行演绎推理,形成展开的问题串,或称为问题解决过程串。形式化模块103接受推演模块(102)发来的问题解决过程串,对该问题串进行形式化,最终输出程序序列。现有的软件自动化系统的知识库104的构建阶段(105),需要从输入的新词汇定义对中挖掘词汇模板,构建出词汇语义模板库,以供理解单元101查询获得语义模式,知识库(词汇语义模板库或称词汇语义库)中的词汇定义包括语义模式、知识模式等;可采用串行分析技术对输入的新词汇定义进行处理以获得与词汇对应的知觉模式集,还可对输入的词汇知识进行知识解析以获得与词汇相关的知识。知识库104中保存的知识即为与该词汇的功能模式对应的词汇语义间的连接,并且知识库104采用人工智能领域中的知觉语义集表示知识与词汇定义,而上述知识库104的构建需要人工完成与自动完成相结合。现有的软件自动化系统的知识库构建与维护的成本较大,且需要业务人员总结词语语料及知识,运维需要持续加入新词汇新知识;由于知识库(常识库)本文档来自技高网...
软件自动化方法与系统以及构建自然语言理解库的方法

【技术保护点】
一种软件自动化方法与系统,其特征在于,该方法或系统包括步骤A、将接收的描述信息进行理解处理,获得描述信息的语法语义结构;该描述信息包括多个句子的语法语义结构,即语法语义结构集;此为理解模块(自然语言理解系统);B、根据描述信息的语法语义结构集提取确定难解性元素;难解性元素即初始问题串。C、利用难解性元素推演公式展开问题串,直到该问题串没有难解性元素为止,BC为推演模块;D、根据最终的问题串整理出动作序列,并对该动作序列形式化,输出与该描述信息对应的程序语句序列集,此为形式化模块。

【技术特征摘要】
1.一种软件自动化方法与系统,其特征在于,该方法或系统包括步骤A、将接收的描述信息进行理解处理,获得描述信息的语法语义结构;该描述信息包括多个句子的语法语义结构,即语法语义结构集;此为理解模块(自然语言理解系统);B、根据描述信息的语法语义结构集提取确定难解性元素;难解性元素即初始问题串。C、利用难解性元素推演公式展开问题串,直到该问题串没有难解性元素为止,BC为推演模块;D、根据最终的问题串整理出动作序列,并对该动作序列形式化,输出与该描述信息对应的程序语句序列集,此为形式化模块。2.根据权利要求1所述的方法或系统,其特征在于,所述步骤A之前进一步包括A’、采集格式化或非格式化的词汇信息记录,预先实施结构化处理后,生成词汇语义知识库(常识库),此为构建自然语言理解库的方法与构建模块。所述步骤A’包括A’1、判断所述词汇定义方法是否是格式化方法,如果是,则执行步骤Α’2、采集格式化的词汇信息,生成词汇语义知识库,否则,执行步骤A’3、采集非格式化的词汇信息,生成词汇语义知识库。3.根据权利要求2所述的方法,其特征在于,所述步骤A’2所述采集格式化的词汇信息,生成词汇语义知识库,包括A’21、确定需自动采集的词汇点,为所述需采集的词汇点分配词汇ID;A’22、根据所述需自动采集的词汇点,对词汇信息记录进行采集,根据格式化标志获得与所述需自动采集的词汇点对应的词汇语义信息与相关知识,为所述词汇信息包含的词汇语义分配语义点ID;A’23、将所述词汇信息以五元组的形式进行存储;任一所述词汇点的五元组包含词语ID(词汇)、知觉语义、语义点ID、例子及相关知识。4.根据权利要求2所述的方法,其特征在于,上述方法中,步骤A’3所述采集非格式化的词汇信息记录,生成词汇语义知识库包括A’31、确定需自动采集的词汇点,为所述需采集的词汇点分配词汇ID;A’32、对确定进行采集的词汇信息实施词法分析与语法分析等格式化步骤;A’33、识别该已格式化的所述自动采集的词汇信息点包含的词汇,获得词汇点;确定词语的语义与相应知识,并分配词语语义点ID;Α’34、从意思描述记录中选择包含的语义点信息并理解输出对应的知觉语义结构集;Α’35、通过例子(知识)理解获得精细化的语义点信息。A’36、将所确定的词汇信息以五元组的形式进行存储;任一所述词汇点的五元组包含词语ID(词汇)、知觉语义、语义点ID、例子及相关结构化知识,这些五元组形式保存的词汇点信息集合组成该系统的词汇语义知识库(自然语言语义理解库)。5.根据权利要求2-4所述的方法,其特征在于,步骤A’2与A’3所述的语义与知识,其储存形式都是结构化的。所述步骤Α’35通过例子理解获得精细化的语义点信息,这些信息包括词性知觉,并使得词汇定义的知觉语义集落到实处。6.根据权利要求4与权利要求1所述的方法与系统,其特征在于,所述步骤A’32与步骤A的词汇理解,包括对词...

【专利技术属性】
技术研发人员:黄培红汪湛清
申请(专利权)人:北京理工大学黄培红
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1