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、根据描述信息的语法语义结构集提取确定难解性元素;难解性元素即初始问题串。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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。