基于计算机可识别自然语言描述的语义匹配方法及系统技术方案

技术编号:18237721 阅读:73 留言:0更新日期:2018-06-17 00:56
本发明专利技术属于编程技术领域,具体涉及基于计算机可识别自然语言描述的语义匹配方法及其相应的语义匹配系统。该基于计算机可识别自然语言描述的语义匹配方法包括步骤:步骤S1):以目标语言的语法规则限定的逻辑和步骤作为参考,将自然语言需求描述约束为具备逻辑的步骤的结构;步骤S2):对约束后的自然语言需求描述中固定的句式,获得包括自然语言需求描述中的词根的候选词语集合;步骤S3):对目标语言中的消息名/操作名进行分词,获得包括消息名/操作名中的词根的备用词语集合;步骤S4):计算候选词语集合和备用词语集合的匹配度。该语义匹配方法及语义匹配系统,能协调用户和开发人员对于自然语言应用上的分歧,实现机器语言的自动编程。 1

Semantic matching method and system based on computer recognizable natural language description

The invention belongs to the field of programming technology, and specifically relates to a semantic matching method based on computer recognition of natural language description and its corresponding semantic matching system. The semantic matching method based on the computer recognition of natural language description includes steps: step S1): the logic and steps defined by the syntax rules of the target language as a reference, constrain the natural language requirement description to a logical step; step S2): a fixed sentence in the description of the natural language requirements after the contract. A set of candidate words including the root of the natural language requirement description; step S3): to divide the message name / operation name in the target language and obtain the set of spare words including the root of the message name / operation name; step S4): calculate the matching degree of the set of candidate words and the set of spare words. The semantic matching method and semantic matching system can coordinate the differences between the user and the developer on the application of natural language and realize automatic programming of the machine language. One

【技术实现步骤摘要】
基于计算机可识别自然语言描述的语义匹配方法及系统
本专利技术属于编程
,具体涉及一种基于计算机可识别自然语言描述的语义匹配方法及其相应的基于计算机可识别自然语言描述的语义匹配系统。
技术介绍
自然语言仍然是目前软件需求文档的描述语言。从自然语言描述的功能需求到流程的自动生成不仅能帮助用户和开发人员能够快速地在需求上达成共识,还能加快流程的开发。但是,由于用户和开发人员的关注点不同,他们对需求的描述也往往不一样。用户和开发人员在用自然语言描述功能需求的过程中,用户关心的是软件所能提供的功能以及所能达到的性能水平等,开发人员则可能从技术的角度去刻画软件的需求;而且,他们并不知道开发语言所使用的具体的消息和操作的命名规则,他们对需求的描述所用到的实词并不一定和开发语言中的消息名和操作名中使用的词语完全一样。另外,在大多数情况下,用户并不熟悉那些专业的术语和技术问题。但目前的软件需求文档大部分还是用自然语言撰写,这其中有两方面原因:一是因为用户和开发人员大多没有形式化描述需求的能力;二是因为自然语言词汇丰富,表达能力强大。但是,自然语言也不可避免的存在缺点,包括模糊性、二义性和不一致性。为了弥补自然语言的不足,需要一种能将自然语言表达的流程需求描述进行约束和形式化的方法,使得计算机能够理解需求。如何协调用户和开发人员对于自然语言应用上的分歧,成为目前亟待解决的技术问题。
技术实现思路
本专利技术所要解决的技术问题是针对现有技术中上述不足,提供一种基于计算机可识别自然语言描述的语义匹配方法及其相应的基于计算机可识别自然语言描述的语义匹配系统,能有效消除用户和开发人员对于自然语言应用上的分歧,实现机器语言的自动编程。解决本专利技术技术问题所采用的技术方案是该基于计算机可识别自然语言描述的语义匹配方法,包括步骤:步骤S1):以目标语言的语法规则限定的逻辑和步骤作为参考,将自然语言需求描述约束为具备逻辑的步骤的结构;步骤S2):对约束后的自然语言需求描述中固定的句式,获得包括自然语言需求描述中的词根的候选词语集合;步骤S3):对目标语言中的消息名/操作名进行分词,获得包括消息名/操作名中的词根的备用词语集合;步骤S4):计算候选词语集合和备用词语集合的匹配度。优选的是,步骤S2)包括:步骤S21):根据设定的限定词,获取自然语言描述的需求语句,将需求语句分词后形成初级词语集合;步骤S22):移除初级词语集合中的停用词,形成适用词语集合;步骤S23):对适用词语集合中的各词语进行同义词扩展;步骤S24):对扩展词语集合进行词根还原,获得包括自然语言需求描述中的词根的候选词语集合。优选的是,步骤S21)中,对于需求语句转为目标语言设定的限定词以前缀作为标识;步骤S22)中,将助词、介词、连词类作为停用词预存作为停用词词库;步骤S23)中,根据同义词词库对适用词语集合中的各词语进行同义词扩展;步骤S24)中,词根还原算法为Porter算法或者Lucene算法。优选的是,步骤S4)包括步骤:步骤S41):遍历备用词语集合的词语,筛选与候选词语集合存在交集的词语;步骤S42):对满足交集的词语,计算匹配度。优选的是,步骤S4)中,候选词语集合和备用词语集合的匹配度的公式为:其中,count为查找到的语义相近的词语个数,|wordsetA|为需求描述语句中分词个数,|wordsetB|为消息名/操作名中的分词个数。一种基于计算机可识别自然语言描述的语义匹配系统,包括约束模块、候选词语集合构成模块、备用词语集合构成模块和匹配模块,其中:所述约束模块,用于以目标语言的语法规则限定的逻辑和步骤作为参考,将自然语言需求描述约束为具备逻辑的步骤的结构;所述候选词语集合构成模块,用于对约束后的自然语言需求描述中固定的句式,获得包括自然语言需求描述中的词根的候选词语集合;所述备用词语集合构成模块,用于对目标语言中的消息名/操作名进行分词,获得包括消息名/操作名中的词根的备用词语集合;所述匹配模块,用于计算候选词语集合和备用词语集合的匹配度。优选的是,所述候选词语集合构成模块包括初级词语集合单元、适用词语集合单元、同义词扩展单元和词根还原单元,其中:所述初级词语集合单元,用于根据设定的限定词,获取自然语言描述的需求语句,将需求语句分词后形成初级词语集合;所述适用词语集合单元,用于移除初级词语集合中的停用词,形成适用词语集合;所述同义词扩展单元,用于对适用词语集合中的各词语进行同义词扩展;所述词根还原单元,用于对扩展词语集合进行词根还原,获得包括自然语言需求描述中的词根的候选词语集合。优选的是,所述初级词语集合单元中,对于需求语句转为目标语言设定的限定词以前缀作为标识;所述适用词语集合单元中,将助词、介词、连词类作为停用词预存作为停用词词库;所述同义词扩展单元中,根据同义词词库对适用词语集合中的各词语进行同义词扩展;所述词根还原单元中,词根还原算法为Porter算法或者Lucene算法。优选的是,所述匹配模块包括求交单元、匹配单元,其中:所述求交单元,用于遍历备用词语集合的词语,筛选与候选词语集合存在交集的词语;所述匹配单元,对满足交集的词语,计算匹配度。优选的是,所述匹配单元中,候选词语集合和备用词语集合的匹配度的公式为:其中,count为查找到的语义相近的词语个数,|wordsetA|为需求描述语句中分词个数,|wordsetB|为消息名/操作名中的分词个数。本专利技术的有益效果是:该基于计算机可识别自然语言描述的语义匹配方法及其相应的语义匹配系统,在分词、移除停用词、词根还原和相似计算的基础上,增加同义词扩展和修改相似计算,以适用于需求描述中与消息名/操作名的匹配,能协调用户和开发人员对于自然语言应用上的分歧,实现机器语言的自动编程。附图说明图1为本专利技术实施例中基于计算机可识别自然语言描述的语义匹配方法的流程图;图2为本专利技术实施例中获得包括需求描述中词根的候选词语集合的步骤图;图3为本专利技术实施例中基于计算机可识别自然语言描述的语义匹配系统的结构框图;图中:1-约束模块;2-候选词语集合构成模块;3-备用词语集合构成模块;4-匹配模块。具体实施方式为使本领域技术人员更好地理解本专利技术的技术方案,下面结合附图和具体实施方式对本专利技术基于计算机可识别自然语言描述的语义匹配方法及其相应的基于计算机可识别自然语言描述的语义匹配系统作进一步详细描述。为了在需求描述与开发语言之间建立桥梁,本专利技术从语义匹配的角度出发,基于词根和同义词形成具有层级的词库(可以理解为英语词典词库wordnet),提出一种基于计算机可识别自然语言描述的语义匹配方法,能协调用户和开发人员对于自然语言应用上的分歧,实现机器语言的自动编程,极大地加快了项目进度。如图1所示,本专利技术中基于计算机可识别自然语言描述的语义匹配方法,包括如下步骤:步骤S1):以目标语言的语法规则限定的逻辑和步骤作为参考,将自然语言需求描述约束为具备逻辑的步骤的结构。自然语言描述的流程功能需求具有一定的步骤性,这种步骤性通过句子中的介词体现出来,介词例如after,if,then,orelse,atthesametime等。然而,这种对于人类很简单的具备逻辑的步骤关系却不容易被计算机所识别并理解。因此需要指定一个约本文档来自技高网...
基于计算机可识别自然语言描述的语义匹配方法及系统

【技术保护点】
1.一种基于计算机可识别自然语言描述的语义匹配方法,其特征在于,包括步骤:

【技术特征摘要】
1.一种基于计算机可识别自然语言描述的语义匹配方法,其特征在于,包括步骤:步骤S1):以目标语言的语法规则限定的逻辑和步骤作为参考,将自然语言需求描述约束为具备逻辑的步骤的结构;步骤S2):对约束后的自然语言需求描述中固定的句式,获得包括自然语言需求描述中的词根的候选词语集合;步骤S3):对目标语言中的消息名/操作名进行分词,获得包括消息名/操作名中的词根的备用词语集合;步骤S4):计算候选词语集合和备用词语集合的匹配度。2.根据权利要求1所述的基于计算机可识别自然语言描述的语义匹配方法,其特征在于,步骤S2)包括:步骤S21):根据设定的限定词,获取自然语言描述的需求语句,将需求语句分词后形成初级词语集合;步骤S22):移除初级词语集合中的停用词,形成适用词语集合;步骤S23):对适用词语集合中的各词语进行同义词扩展;步骤S24):对扩展词语集合进行词根还原,获得包括自然语言需求描述中的词根的候选词语集合。3.根据权利要求2所述的基于计算机可识别自然语言描述的语义匹配方法,其特征在于,步骤S21)中,对于需求语句转为目标语言设定的限定词以前缀作为标识;步骤S22)中,将助词、介词、连词类作为停用词预存作为停用词词库;步骤S23)中,根据同义词词库对适用词语集合中的各词语进行同义词扩展;步骤S24)中,词根还原算法为Porter算法或者Lucene算法。4.根据权利要求1所述的基于计算机可识别自然语言描述的语义匹配方法,其特征在于,步骤S4)包括步骤:步骤S41):遍历备用词语集合的词语,筛选与候选词语集合存在交集的词语;步骤S42):对满足交集的词语,计算匹配度。5.根据权利要求4所述的基于计算机可识别自然语言描述的语义匹配方法,其特征在于,步骤S4)中,候选词语集合和备用词语集合的匹配度的公式为:其中,count为查找到的语义相近的词语个数,|wordsetA|为需求描述语句中分词个数,|wordsetB|为消息名/操作名中的分词个数。6.一种基于计算机可识别自然语言描述的语义匹配系统,其特征在于,包括约束模块、候选词语集合构成模块、备用词语集合构成模块和匹配模块,其中:所述约束...

【专利技术属性】
技术研发人员:杨学红
申请(专利权)人:中国联合网络通信集团有限公司
类型:发明
国别省市:北京,11

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

1