一种基于词性标注和组块分析的需求模板符合性检查优化方法技术

技术编号:26763918 阅读:44 留言:0更新日期:2020-12-18 23:31
本发明专利技术公开了一种基于词性标注和组块分析的需求模板符合性检查优化方法,构建需求模板,确定需求模板的BNF范式;获取需求,并对需求是否满足需求模板进行人工标注;根据需求模板,对每一条需求进行词性标注以及组块分析,进而对需求是否满足需求模板进行自动标注;将人工标注的结果与自动标注的结果\进行比较,得到对需求文档进行需求模板符合性检查的精度、召回率和F2度量。通过将词性标注和组块分析方法运用到需求模板符合性检查中,提高了需求模板符合性检查的精度以及召回率。

【技术实现步骤摘要】
一种基于词性标注和组块分析的需求模板符合性检查优化方法
本专利技术属于自然语言处理
,具体涉及一种基于词性标注和组块分析的需求模板符合性检查优化方法。
技术介绍
软件需求通常是用自然语言描述的,自然语言一般易于理解,适用于任何领域的需求描述。尽管如此,自然语言若不加以限制,可能带有歧义,自然语言一般很难自动分析。需求模板提供了一种有效的工具,可以减少自然语言中的歧义,并对自然语言需求进行自动分析。需求模板定义了自然语言需求的格式,比如Rupp模板包括以下部分:(1)起始条件;(2)系统名称;(3)情态动词;(4)系统功能;(5)对象;(6)对象的详细信息。在软件需求中使用模板时,判断一个自然语言需求是否符合模板就显得尤为重要。如果对自然语言需求人工进行模板符合性判断,则非常耗时。在这种情况下,一个自动化的工具,如何通过词性标注、组块分析的方法,抽取自然语言需求中的建模元素,并进行模板符合性检查,能够判断软件需求是否符合模板,并提高其精度和召回率,就成了一个重要的技术问题。词性标注最简单的方法是将词汇中每个词对应的高频词性作为默认词性,但显然还有选择的余地。目前,主流的分词方法是将句子的词性标注作为一个序列标注问题,应用于词性标注任务中。然而,由于每个英文单词在不同的语境中具有不同的词性,这也将影响到组块分析的结果。组块分析一般的方法是将词性按照一定的语法规则进行组合。然而,仅仅是按照词性对单词进行组合,没有考虑到上下文之间的关系。因此,需要重新考虑词性标注、组块分析的方法。现有的词性标注、组块分析方法,针对大量的非限定性自然语言需求并不适用,因为它们需要较为准确地词性标注、组块分析方法来分析。在这方面,国外已经有了相关的研究。在对需求文档进行模板符合性检查时,词性标注、组块分析就显得尤为重要。ChetanArora等人使用Stanford与OpenNLP词性标注工具,MUNPEX、ANNIE与OpenNLP名词组块分析工具以及ANNIE动词组块分析工具,对需求文本进行词性标注、组块分析,并作相应的标记。然后,根据这些标记,能够从自然语言需求中抽取建模元素,如条件、系统名称、情态动词、功能、对象、对象的详细信息等,并根据建模元素判断其是否符合模板。然而,在过去的研究中,词性标注、组块分析都是基于规则的,很难准确地确定词性以及划分组块,没有对整个句子的结构进行分析。因此,针对这些问题,需要一种新的方法来对需求文档进行词性标注、组块分析,以提高建模元素提取的准确率,从而提高需求模板符合性检查的精度、召回率以及F2度量。
技术实现思路
本专利技术所要解决的技术问题是针对上述现有技术的不足,提供一种基于词性标注和组块分析的需求模板符合性检查优化方法,通过将词性标注和组块分析方法运用到需求模板符合性检查中,提高了需求模板符合性检查的精度以及召回率。为实现上述技术目的,本专利技术采取的技术方案为:一种基于词性标注和组块分析的需求模板符合性检查优化方法,包括:步骤一、构建需求模板,确定需求模板的BNF(BackusNormalForm,巴科斯范式);步骤二、获取需求,并对需求是否满足需求模板进行人工标注;步骤三、根据需求模板,对每一条需求进行词性标注以及组块分析,进而对需求是否满足需求模板进行自动标注;步骤四、将人工标注的结果与自动标注的结果进行比较,得到对需求文档进行需求模板符合性检查的精度、召回率和F2度量。为优化上述技术方案,采取的具体措施还包括:上述的步骤一构建的需求模板为:<conditional-keyword><sequence-of-tokens><np><vp-starting-with-modal><np><opt-details>;其中,<conditional-keyword>表示条件关键词,包含if、after、before、assoonas、when、while、incase、at这八个单词及词组;<sequence-of-tokens>表示条件的token序列;<np>表示名词短语;<vp-starting-with-modal>表示以情态动词开头的动词短语;<opt-details>表示对象的详细信息。上述的步骤二具体为:获取需求,并根据模板符合性手动检查协议,人工检查并标注需求是否符合需求模板,需求符合需求模板时,标注为N,需求不符合需求模板时,标注为P。上述的模板符合性手动检查协议为:R是被检查是否符合需求模板T的需求;验证R是一个语法正确的句子,在确定正确性时不考虑标点符号;验证R使用了可接受的情态动词;如果R是条件性的,验证条件只出现在需求R的开始,条件符合T描述的结构;验证<systemname>,<object>,以及<whom?>由名词短语填充;验证<process>由动词短语填充;若满足上述所有条件,则R符合T;否则,R不符合T。上述的步骤三具体为:根据需求模板,使用PCFG(ProbabilisticContextFreeGrammar,概率上下文无关文法)方法,进行词性标注以及组块分析,识别出建模元素,并且确定建模元素之间的关系,进而自动检查并自动标注需求是否符合需求模板,需求符合需求模板时,标注为N,需求不符合需求模板时,标注为P。上述的PCFG方法具体为:给定上下文无关文法G,以及句子S,通过将树上每一个结点生成其分支节点的概率相乘,计算语法分析树的概率P(T|S,G);若一个句子有多棵语法分析树,则依据概率值对所有的语法分析树进行排序;PCFG使用句法排歧,面对多个分析结果选择概率值最大的语法分析树,即argmaxTP(T|S,G)。上述的步骤四中,精度Precision、召回率Recall和F2度量F2-measure计算公式为:其中,假设符合需求模板为反例(N),不符合需求模板为正例(P);真正(TP)=实际为正例(P),系统中标注为正例(P);真反(FN)=实际为正例(P),系统中标注为反例(N);假正(FP)=实际为反例(N),系统中标注为正例(P)。上述的步骤四具体为:将步骤三中得到的自动标注的需求模板符合性检查结果,以(key,value)的形式存入到map中,其中key表示输入的每一条需求,value表示该需求的标注结果(N或者P);将TP、FP、FN均设为0,按行读取步骤二中得到的人工标注的需求模板符合性检查结果,每行以英文句号(.)切分,得到一条需求text以及需求的标注结果label(N或者P),将label1设为map.get(tex本文档来自技高网
...

【技术保护点】
1.一种基于词性标注和组块分析的需求模板符合性检查优化方法,其特征在于,包括:/n步骤一、构建需求模板,确定需求模板的BNF范式;/n步骤二、获取需求,并对需求是否满足需求模板进行人工标注;/n步骤三、根据需求模板,对每一条需求进行词性标注以及组块分析,进而对需求是否满足需求模板进行自动标注;/n步骤四、将人工标注的结果与自动标注的结果进行比较,得到对需求文档进行需求模板符合性检查的精度、召回率和F2度量。/n

【技术特征摘要】
1.一种基于词性标注和组块分析的需求模板符合性检查优化方法,其特征在于,包括:
步骤一、构建需求模板,确定需求模板的BNF范式;
步骤二、获取需求,并对需求是否满足需求模板进行人工标注;
步骤三、根据需求模板,对每一条需求进行词性标注以及组块分析,进而对需求是否满足需求模板进行自动标注;
步骤四、将人工标注的结果与自动标注的结果进行比较,得到对需求文档进行需求模板符合性检查的精度、召回率和F2度量。


2.根据权利要求1所述的一种基于词性标注和组块分析的需求模板符合性检查优化方法,其特征在于,所述步骤一构建的需求模板为:
<conditional-keyword><sequence-of-tokens><np><vp-starting-with-modal><np><opt-details>;
其中,<conditional-keyword>表示条件关键词,包含if、after、before、assoonas、when、while、incase、at这八个单词及词组;
<sequence-of-tokens>表示条件的token序列;
<np>表示名词短语;
<vp-starting-with-modal>表示以情态动词开头的动词短语;
<opt-details>表示对象的详细信息。


3.根据权利要求1所述的一种基于词性标注和组块分析的需求模板符合性检查优化方法,其特征在于,所述步骤二具体为:
获取需求,并根据模板符合性手动检查协议,人工检查并标注需求是否符合需求模板,需求符合需求模板时,标注为N,需求不符合需求模板时,标注为P。


4.根据权利要求3所述的一种基于词性标注和组块分析的需求模板符合性检查优化方法,其特征在于,所述模板符合性手动检查协议为:
R是被检查是否符合需求模板T的需求;
验证R是一个语法正确的句子,在确定正确性时不考虑标点符号;
验证R使用了可接受的情态动词;
如果R是条件性的,验证条件只出现在需求R的开始,条件符合T描述的结构;
验证<systemname>,<object>,以及<whom?>由名词短语填充;
验证<process>由动词短语填充;
若满足上述所...

【专利技术属性】
技术研发人员:王立松曹步展
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:江苏;32

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

1