需求追踪关系构建方法、装置及计算机可读存储介质

文档序号:27680396发布日期:2021-11-30 23:25阅读:457来源:国知局
需求追踪关系构建方法、装置及计算机可读存储介质

1.本发明涉及软件需求管理领域,尤其涉及一种需求追踪关系构建方法、装置及计算机可读存储介质。


背景技术:

2.需求追踪是一种描述和跟踪需求整个生命周期的能力,包括对需求的来源和实现进行跟踪,一条需求追踪关系标示了需求(源制品)和软件开发过程中其它制品(目标制品)间的一种双向关系。需求追踪关系被多项国际标准如do

178c、ieee std.830

1988列为软件系统的必要项。
3.软件需求规格说明的获取,是以更高层次的需求如用户需求、客户需求以及行业规范等较为抽象的需求作为依据的,构建高层需求与低层需求间的追踪关系,可以为高层需求找到其在后续开发过程中的具体实现,并为低层需求溯源,进而支持软件项目管理中的多项关键活动,如变更管理,需求一致性、完整性分析等,使项目管理者更为高质高效的进行这些活动,保证系统的需求质量。
4.相关技术中,需求追踪关系通常以人工构建的需求追踪矩阵(rtm)来表示和存储,但rtm的构建过程费时费力、枯燥、易出错,对于大型复杂软件系统而言,此情况更为严重,导致其带来的开销可能会低于收益。而当前一些需求追踪关系的自动构建方法,其识别的追踪关系准确率较低,难以满足实际应用需求。


技术实现要素:

5.本发明实施例提供一种需求追踪关系构建方法、装置及计算机可读存储介质,用以提高需求追踪关系的准确率。
6.根据本发明实施例的需求追踪关系构建方法,包括:
7.对各个需求文档依次进行分词、句子成分分析和依存分析,以获取每个所述需求文档的结构化表示,其中,所述各个需求文档包括高层需求文档和低层需求文档;
8.基于各个所述需求文档的结构化表示,确定同层需求文档间的关联关系以及不同层需求文档所包含语义要素间的匹配关系,并基于所述匹配关系,确定不同层需求文档间的追踪关系;
9.基于所述同层需求文档间的关联关系,对所述追踪关系进行补充修正;
10.基于补充修正后的追踪关系,结合向量空间模型所识别到的追踪关系,确定需求追踪关系。
11.根据本发明的一些实施例,所述获取每个所述需求文档的结构化表示,包括:
12.从所述需求文档中抽取多个包含关键文本信息的语义要素;
13.基于所述多个语义要素,构建所述需求文档的结构化表示。
14.根据本发明的一些实施例,所述多个语义要素包括:需求执行者、需求动作、执行需求动作所需的制品/数据、需求动作产出或改变的制品/数据、对需求动作的约束、触发需
求动作的事件。
15.根据本发明的一些实施例,所述基于各个所述需求文档的结构化表示,确定同层需求文档间的关联关系以及不同层需求文档所包含语义要素间的匹配关系,包括:
16.基于所述需求文档的结构化表示,通过对同层需求文档间语义要素进行关系分析以及人工标注,确定同层需求文档间的关联关系;
17.基于所述需求文档的结构化表示,通过对不同层需求文档间语义要素进行相似度分析和匹配,确定不同层需求文档所包含语义要素间的匹配关系;
18.所述同层需求文档间的关联关系包括细化和前提。
19.根据本发明的一些实施例,所述通过对不同层需求文档间语义要素进行相似度分析和匹配,包括:
20.根据所述语义要素在其对应的需求文档中的角色和重要程度,确定所述高层需求文档中各个语义要素在所述低层需求文档中的匹配范围,其中,所述匹配范围包括多条语义要素对,每对所述语义要素对支持至少一个匹配方式,所述匹配方式包括:严格匹配、层次匹配、和抽象匹配;
21.基于所述匹配范围及其支持的匹配方式,借助领域知识库和通用词汇库,对不同层需求文档间语义要素进行相似度分析和匹配,并确定每条所述语义要素对的相关性,其中,所述语义要素对的相关性为所述语义要素对所支持的至少一个匹配方式所确定语义要素对相关程度的最大值。
22.根据本发明的一些实施例,所述基于所述匹配关系,确定不同层需求文档间的追踪关系,包括:
23.基于多条语义要素对,设计多条追踪关系构建规则;
24.判断所述高层需求文档与所述低层需求文档是否满足至少一条所述追踪关系构建规则,若是,则所述高层需求文档与所述低层需求文档间存在追踪关系,否则,所述高层需求文档与所述低层需求文档间不存在追踪关系;
25.计算存在追踪关系的高层需求文档与低层需求文档间的追踪关系置信度,所述追踪关系置信度为所述高层需求文档与所述低层需求文档间所有语义要素匹配对的相关性之和。
26.根据本发明的一些实施例,所述基于所述同层需求文档间的关联关系,对所述追踪关系进行补充修正,包括:
27.获取追踪关系置信度不小于阈值的所有追踪关系,并基于所述同层需求文档间的关联关系,将与这些追踪关系中高层需求文档存在细化关联关系的其他高层需求文档、以及与这些追踪关系中低层需求文档存在细化或前提关联关系的其他低层需求文档补充至所述追踪关系中。
28.根据本发明的一些实施例,所述基于补充修正后的追踪关系,结合向量空间模型所识别到的追踪关系,确定需求追踪关系,包括:
29.将补充修正后的追踪关系按置信度降序排列;
30.将向量空间模型所识别到的追踪关系按相似度降序排列并放置在所述补充修正后的追踪关系序列后,并去除重复追踪关系。
31.根据本发明实施例的需求追踪关系构建装置,包括:存储器、处理器及存储在所述
存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的需求追踪关系构建方法的步骤。
32.根据本发明实施例的计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如上所述的需求追踪关系构建方法的步骤。
33.本发明实施例通过确定需求文档的结构化表示,以及同层需求间的关联关系;根据所述结构化的不同层次需求中语义要素的匹配关系确定部分需求的追踪关系;根据所述同层需求建的关联关系补充和修正识别出的追踪关系;将补充修正后的追踪关系与vsm识别出的追踪关系进行合并,得到更完善的追踪关系。由此提高了构建追踪关系的准确率,取得了积极的技术效果。
34.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
35.通过阅读下文实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。在附图中:
36.图1是本发明实施例中需求追踪关系构建方法流程图;
37.图2是本发明实施例中需求追踪关系构建方法流程图;
38.图3是本发明实施例中需求追踪关系构建装置组成示意图;
39.图4是本发明实施例中需求追踪关系构建设备组成示意图。
具体实施方式
40.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
41.本发明第一方面实施例提出一种需求追踪关系构建方法,如图1所示,包括:
42.步骤1,对各个需求文档依次进行分词、句子成分分析和依存分析,以获取每个所述需求文档的结构化表示,其中,所述各个需求文档包括高层需求文档和低层需求文档;
43.步骤2,基于各个所述需求文档的结构化表示,确定同层需求文档间的关联关系以及不同层需求文档所包含语义要素间的匹配关系,并基于所述匹配关系,确定不同层需求文档间的追踪关系;
44.步骤3,基于所述同层需求文档间的关联关系,对所述追踪关系进行补充修正;
45.步骤4,基于补充修正后的追踪关系,结合向量空间模型所识别到的追踪关系,确定需求追踪关系。
46.向量空间模型(又称空间向量模型),vector space model,是目前较为流行的基于信息检索的需求追踪方法。此方法将源制品(高层需求)和目标制品(低层需求),看做文
本向量,并通过计算向量间的余弦相似度,设定阈值,超过特定阈值则判断为两条需求间存在追踪关系。此方法的召回率较高,但准确率较低,无法满足实际应用的需要。
47.本发明实施例通过确定需求文档的结构化表示,以及同层需求间的关联关系;根据所述结构化的不同层次需求中语义要素的匹配关系确定部分需求的追踪关系;根据所述同层需求建的关联关系补充和修正识别出的追踪关系;将补充修正后的追踪关系与vsm识别出的追踪关系进行合并,得到更完善的追踪关系。由此提高了构建追踪关系的准确率,取得了积极的技术效果。
48.在上述实施例的基础上,进一步提出各变型实施例,在此需要说明的是,为了使描述简要,在各变型实施例中仅描述与上述实施例的不同之处。
49.根据本发明的一些实施例,所述获取每个所述需求文档的结构化表示,包括:
50.从所述需求文档中抽取多个包含关键文本信息的语义要素;
51.基于所述多个语义要素,构建所述需求文档的结构化表示。
52.根据本发明的一些实施例,所述多个语义要素包括:需求执行者、需求动作、执行需求动作所需的制品/数据、需求动作产出或改变的制品/数据、对需求动作的约束、触发需求动作的事件。
53.根据本发明的一些实施例,所述基于各个所述需求文档的结构化表示,确定同层需求文档间的关联关系以及不同层需求文档间的匹配关系,包括:
54.基于所述需求文档的结构化表示,通过对同层需求文档间语义要素进行关系分析以及人工标注,确定同层需求文档间的关联关系;
55.基于所述需求文档的结构化表示,通过对不同层需求文档间语义要素进行相似度分析和匹配,确定不同层需求文档间的匹配关系;
56.所述同层需求文档间的关联关系包括细化和前提。
57.根据本发明的一些实施例,所述通过对不同层需求文档间语义要素进行相似度分析和匹配,包括:
58.根据所述语义要素在其对应的需求文档中的角色和重要程度,确定所述高层需求文档中各个语义要素在所述低层需求文档中的匹配范围,其中,所述匹配范围包括多条语义要素对,每对所述语义要素对支持至少一个匹配方式,所述匹配方式包括:严格匹配、层次匹配、和抽象匹配;
59.基于所述匹配范围及其支持的匹配方式,借助领域知识库和通用词汇库,对不同层需求文档间语义要素进行相似度分析和匹配,并确定每条所述语义要素对的相关性,其中,所述语义要素对的相关性为所述语义要素对所支持的至少一个匹配方式所确定语义要素对相关程度的最大值。
60.根据本发明的一些实施例,所述基于所述匹配关系,确定不同层需求文档间的追踪关系,包括:
61.基于多条语义要素对,设计多条追踪关系构建规则;
62.判断所述高层需求文档与所述低层需求文档是否满足至少一条所述追踪关系构建规则,若是,则所述高层需求文档与所述低层需求文档间存在追踪关系,否则,所述高层需求文档与所述低层需求文档间不存在追踪关系;
63.计算存在追踪关系的高层需求文档与低层需求文档间的追踪关系置信度,所述追
踪关系置信度为所述高层需求文档与所述低层需求文档间所有语义要素匹配对的相关性之和。
64.根据本发明的一些实施例,所述基于所述同层需求文档间的关联关系,对所述追踪关系进行补充修正,包括:
65.获取追踪关系置信度不小于阈值的所有追踪关系,并基于所述同层需求文档间的关联关系,将与这些追踪关系中高层需求文档存在细化关联关系的其他高层需求文档、以及与这些追踪关系中低层需求文档存在细化或前提关联关系的其他低层需求文档,在避免重复的前提下,补充至所述追踪关系中。
66.根据本发明的一些实施例,所述基于补充修正后的追踪关系,结合向量空间模型所识别到的追踪关系,确定需求追踪关系,包括:
67.将补充修正后的追踪关系按置信度降序排列;
68.将向量空间模型所识别到的追踪关系按相似度降序排列并放置在所述补充修正后的追踪关系序列后,并去除重复追踪关系。
69.下面参照图2以一个具体的实施例详细描述根据本发明实施例的需求追踪关系构建方法。值得理解的是,下述描述仅是示例性说明,而不是对本发明的具体限制。凡是采用本发明的相似结构及其相似变化,均应列入本发明的保护范围。
70.本发明实施例的需求追踪关系构建方法,如图2所示,包括以下具体步骤:
71.s101、通过分词,句子成分分析和依存分析确定需求文本的结构化表示,以及同层各需求条目间的关联关系;
72.s102、对所述结构化需求中各语义要素间进行语义匹配,确定不同层次的部分需求间的追踪关系;
73.s103、根据所述同层需求间的关联关系推理,对所述需求间的部分追踪关系进行补充修正;
74.s104、将补充修正后的追踪关系与向量空间模型(vsm)所得追踪关系结果整合,确定更加完善的需求追踪关系。
75.其中,通过分词,句子成分分析和依存分析确定需求文本的结构化表示,以及同层各需求条目间的关联关系,包括:
76.对需求文本进行分词,句子成分分析和依存关系分析,抽取其中关键的结构化语义要素,得到每条需求文本的结构化表示;
77.通过同层需求间特定语义要素的关系分析以及人工标注,确定同层需求条目间的关联关系集合。
78.具体地说,本实施例中,需求结构化算法输入制品为一个高层需求集和一个低层需求集合,输出制品为每条需求的结构化表示。对高层需求和低层需求集合中所有的需求文本,通过分词,句子成分分析和依存关系分析,抽取其中包含关键文本信息的结构化语义要素,将每一条需求表示为包含六种语义要素的六元组:<agent,operation,input,output,constraint,event>,下表1是对这六种语义要素的定义。
79.表1结构化需求中语义要素的定义
[0080][0081][0082]
本实施例中,需求关联关系抽取方法的输入制品为一个结构化的高层需求集合,及一个结构化的低层需求集合,输出为高层需求条目间的关联关系和低层需求间的关联关系。通过同层需求间特定语义要素的关系分析以及人工标注,确定同层需求条目间的关联关系,主要识别同层需求间的“细化”和“前提”两种关联关系。具体的说,关联关系识别分别在高层需求间和低层需求间进行,其中

细化’关系的识别方法为,对于需求条目reqa,处于其子目录/子节点下的所有相关需求,或其他对reqa进行更详细的描述的任意需求reqi,都被识别为这样的关联关系:reqi“细化”reqa(或reqa“包含”reqi)。对“前提”关系的识别方法是,若reqa.event==reqj.operation,即当reqj是reqa的触发事件时,则有reqj“前提”reqa(或reqa“依赖”reqj)。
[0083]
对所述不同层次结构化需求中各语义要素进行匹配,包括:
[0084]
根据所述结构化需求中具体语义要素在句子中的角色和重要程度,确定高层需求中的各语义要素在低层需求中的匹配范围;
[0085]
根据领域知识和通用词汇关系,定义三种不同精确程度的匹配方式,及每种匹配方式的适用范围,确定高层需求中各语义要素的匹配结果。
[0086]
根据领域知识和通用词汇关系,定义三种不同精确程度的匹配方式,包括:
[0087]
严格匹配,即当一对语义要素在文字上相同或在领域知识或通用词汇库中有“近/同义词”关系时,匹配成功,否则匹配失败。
[0088]
层次匹配,即当一对语义要素在领域知识或通用词汇库中有“泛化”、“上/下位”,“蕴含”等关系时,匹配成功,否则匹配失败;
[0089]
抽象匹配,即当一个语义要素中包含所标记的抽象词汇时,匹配成功,否则匹配失败。
[0090]
确定高层需求中语义要素的匹配范围和匹配方式之后,还包括:
[0091]
为每种匹配方式规定返回值,以标记所匹配语义要素间的相关程度;
[0092]
将每一条高层需求作为查询语句,遍历低层需求,判断此高层需求与各低层需求的追踪关系;
[0093]
按照高层需求中各语义要素在一条低层需求的匹配结果,确定该高层需求与低层需求间是否存在追踪关系。
[0094]
若二者之间存在追踪关系,则累加各语义要素的相关性的值,此值作为此条追踪关系的可信度标记。
[0095]
具体地说,本实施例在前述需求结构化表示的基础上,借助领域知识库和通用词汇库wordnet对结构化需求条目中的语义要素进行相似度分析和匹配,从而识别需求间的追踪关系。领域知识库中标识了较为抽象的词汇表,存储在abstrat wordlist中,且定义了领域词汇间的泛化、属性、近义/同义,蕴含等关系;wordnet中则标识了通用词汇间的蕴含、近义/同义及上下位关系,并提供了通用词汇间的相似度计算接口,即wordnet.wup_similarity。本实施例中定义了三种语义要素匹配模式:严格匹配,层次化匹配和抽象匹配,并为每种匹配定义了一个返回值rel,用以表示所匹配的一对词汇间的相关程度,其具体设置如下表2所示。
[0096]
表2语义要素匹配模式
[0097][0098]
本实施例中的语义要素匹配算法输入为结构化的高层需求集合和低层需求集合,以每条结构化的高层需求作为查询语句,检查其中包含的各语义要素与低层需求中包含的各语义要素是否能通过特定的匹配模式匹配成功。为了确定各语义要素的匹配范围,规定了16对需要匹配的语义要素对(semantic element pair,sep)。对于一条高层需求hlr,和一条低层需求llr,为了确定二者间追踪关系,要进行的语义要素匹配,如下表3所示。
[0099]
表3构建追踪关系需要匹配的的语义要素对
[0100][0101][0102]
其中,为了记录每个语义要素对的相关程度,用其所支持的各匹配模式返回的rel的最大值来标记其语义相关性。
[0103]
通过前述的匹配方法和匹配范围,确定了高层需求和低层需求中,p1

p16的匹配关系,在此基础上,定义了需求追踪关系构建方法,包含如下的15条规则:
[0104]
r1:p1>0and p4>0and(p5>0or p6>0)
[0105]
r2:p1>0and p7>0and(p8>0or p9>0)
[0106]
r3:p2>0and p4>0and p6>0
[0107]
r4:p3>0and p4>0and p5>0
[0108]
r5:p1>0and p7>0and(p8>0or p9>0)
[0109]
r6:p1>=0.5and p10>0and p11>0
[0110]
r7:r1 and(p12>0or p13>0)
[0111]
r8:(r5 or r6)and(p12>0or p13>0)
[0112]
r9:r1 and p14>0and p15>0
[0113]
r10:r1 and p15>0and p16>0
[0114]
r11:(r5 or r6)and p14>0and p15>0
[0115]
r12:(r5 or r6)and p15>0and p16>0
[0116]
r13:(r9 or r10)and(p12>0or p13>0)
[0117]
r14:(r11 or r12)and(p12>0or p13>0)
[0118]
r15:p1>0and p4>0and p9>0.5
[0119]
此方法的输入为一条高层需求和一条低层需求的语义要素匹配结果,输出为此两条需求间追踪关系的存在性。具体的说,该方法制定了基于语义要素匹配结果的追踪关系构建规则,并根据高层需求中具体存在的语义要素,来确定应该使用哪些规则。
[0120]
对于特定形式的高层需求与低层需求,当其满足任意一条对应的规则时,则二者间存在追踪关系;
[0121]
若不满足所有适用规则,则其间不存在追踪关系。
[0122]
同时,若二者存在追踪关系,则该追踪关系的置信度为高层需求中各语义要素与相应的低层需求中语义要素匹配时,各语义要素对的rel累加的值。
[0123]
具体高层需求组成形式与其对应的规则适用范围如下表4所示。
[0124]
表4不同规则的适用范围
[0125]
[0126][0127]
根据同层需求间的关联关系,对所述部分需求间的追踪关系进行补充修正,包括:
[0128]
遍历所有可信度超过一定阈值的追踪关系,对其中的高层需求,遍历高层需求间的关联关系,找到与其有关联关系的其他高层需求,记录关联关系类型;
[0129]
对所有出现在追踪关系中的低层需求,遍历低层需求间的关联关系,找到与其有关联关系的其他低层需求,记录关联关系类型;
[0130]
根据具体的关联关系类型,在所述的识别出的需求追踪关系的基础上,进行推理,得到新的追踪关系。
[0131]
根据具体的关联关系类型,在所述的识别出的需求追踪关系的基础上,进行推理,得到新的追踪关系,包括:
[0132]
若某高层需求出现在需求追踪关系中,且此高层需求与其他高层需求间存在“细化”关联关系,则追踪关系传播至其他高层需求。
[0133]
若某低层需求出现在需求追踪关系中,且次低层需求与其他低层需求间存在“细化”或“前提”关联关系,则追踪关系传播至其他低层需求。
[0134]
对于前述由语义要素和规则的得到的追踪关系,本发明基于前述同层需求间的“细化”,“前提”关联关系对其进行补充修正。本实施例中追踪关系补充修正方法的输入为高层需求间的关联关系集,低层需求间的关联关系集,以及高层需求与低层需求间的追踪关系集,输出为更多追踪关系。首先,遍历前述识别出的追踪关系,对于每一条追踪关系<hlri,llri>,若追踪关系的可信性大于或等于0.8,则,
[0135]
1)对其中的源节点即高层需求hlri做以下操作:
[0136]
遍历高层需求间的关联关系,找出所有满足以下条件的hlrj:hlri细化hlrj;
[0137]
检查<hlrj,llri>是否存在于前述的追踪关系集中,若存在,则不做操作,若不存在,则补充加入至追踪关系集中;
[0138]
2)对其中的目标节点即低层需求llri做以下操作:
[0139]
遍历低层需求间的关联关系,找出所有满足以下条件的llrj:llri细化llrj;
[0140]
遍历低层需求间的关联关系,找出所有满足以下条件的llrj:llrj前提llri;
[0141]
检查<hlri,llrj>是否存在于前述的追踪关系集中,若存在,则不做操作,若不存在,则补充加入至追踪关系集中;
[0142]
由以上方法,对前述高层需求与低层需求的追踪关系集合进行补充修正。
[0143]
将所述需求追踪关系与采用“向量空间模型(vsm)”识别到的追踪关系整合,确定更加完善的需求追踪关系,包括:
[0144]
将vsm识别到的追踪关系,按相似度降序排列;
[0145]
将权利要求书6中所述追踪关系按可信度降序排列,并放置到vsm所得结果之前;
[0146]
去除vsm结果中重复的追踪关系。
[0147]
向量空间模型,vector space model,是目前较为流行的基于信息检索的需求追踪方法。此方法将源制品(高层需求)和目标制品(低层需求),看做文本向量,并通过计算向量间的余弦相似度,设定阈值,超过特定阈值则判断为两条需求间存在追踪关系。此方法的召回率较高,但准确率较低,无法满足实际应用的需要。本实施例中将前述完善后的需求追踪关系集与用vsm识别出的追踪关系集按一定方式进行排序和整合,从而得到更加高质量的追踪关系集。
[0148]
具体的说,本实施例中将前述补充修正后的追踪关系条目按照可信度降序排列。并将采用当前流行方法vsm识别出的需求追踪关系按照文本相似度降序排列,并放置在前述补充修正后追踪关系序列的尾部,若vsm结果列表中的追踪关系在前述补充修正后的追踪关系序列中已出现过,则为了避免重复将其删除。
[0149]
综上,本发明定义了需求追踪关系构建方法,引入了细粒度语义要素匹配方法和基于语义要素匹配的追踪关系识别规则,能够更加准确地构建高层需求与低层需求间的追踪关系。同时,本发明还引入了通过同层需求间关联关系对追踪关系补充修正的方法,以及与vsm追踪关系构建结果的合并方法,能够提高追踪关系集的质量,特别是大幅度提升了准确率。
[0150]
与当前流行的需求追踪关系自动构建方法相比,本发明实施例识别出了高层需求和低层需求间68%的追踪关系,所构建追踪关系的准确率可达71%,相比当前流行方法vsm有40%以上的准确率提升。
[0151]
需要说明的是,以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
[0152]
本发明第二方面实施例提出一种需求追踪关系构建装置1000,如图3所示,包括:存储器1010、处理器1020及存储在所述存储器1010上并可在所述处理器1020上运行的计算机程序,所述计算机程序被所述处理器1020执行时实现如上所述的第一方面各实施例所述需求追踪关系构建方法的步骤。
[0153]
本发明第三方面实施例提出一种计算机可读存储介质,所述计算机可读存储介质上存储有信息传输的实现程序,所述程序被处理器执行时实现如上所述的第一方面各实施例所述的需求追踪关系构建方法的步骤。
[0154]
需要说明的是,本实施例所述计算机可读存储介质包括但不限于为:rom、ram、磁盘或光盘等。所述程序被处理器可以是手机,计算机,服务器,空调器,或者网络设备等。
[0155]
本发明第四方面实施例提出一种需求追踪关系构建设备,如图4所示,包括:
[0156]
预处理单元,用于对需求文档进行结构化,以及抽取需求间的关联关系;
[0157]
追踪关系识别单元,用于根据结构化需求中各语义要素的匹配关系确定需求间的
追踪关系;
[0158]
补充修正单元,用于根据同层需求间的关联关系,对识别出的追踪关系进行推理,做出补充和修正。
[0159]
结果合并单元,用于将补充修正后的追踪关系与vsm识别出的追踪关系进行合并,得到更完善的追踪关系。
[0160]
本发明实施例通过确定需求文档的结构化表示,以及同层需求间的关联关系;根据所述结构化的不同层次需求中语义要素的匹配关系确定部分需求的追踪关系;根据所述同层需求建的关联关系补充和修正识别出的追踪关系;将补充修正后的追踪关系与vsm识别出的追踪关系进行合并,得到更完善的追踪关系。由此提高了构建追踪关系的准确率,取得了积极的技术效果。
[0161]
在上述实施例的基础上,进一步提出各变型实施例,在此需要说明的是,为了使描述简要,在各变型实施例中仅描述与上述实施例的不同之处。
[0162]
在本发明的一些实施例中,预处理单元,用于通过分词,句子成分分析和依存分析确定需求文本的结构化表示,以及同层各需求条目间的关联关系,具体包括:
[0163]
对需求文本进行分词,句子成分分析和依存关系分析,抽取其中关键的结构化语义要素,得到每条需求文本的结构化表示;
[0164]
通过同层需求间特定语义要素的关系分析以及人工标注,确定同层需求条目间的关联关系集合。
[0165]
具体地说,本实施例中,需求结构化算法输入制品为一个高层需求集和一个低层需求集合,输出制品为每条需求的结构化表示。对高层需求和低层需求集合中所有的需求文本,通过分词,句子成分分析和依存关系分析,抽取其中包含关键文本信息的结构化语义要素,将每一条需求表示为包含六种语义要素的六元组:<agent,operation,input,output,constraint,event>,下表1是对这六种语义要素的定义。
[0166]
表1结构化需求中语义要素的定义
[0167][0168]
本实施例中,需求关联关系抽取方法的输入制品为一个结构化的高层需求集合,及一个结构化的低层需求集合,输出为高层需求条目间的关联关系和低层需求间的关联关系。通过同层需求间特定语义要素的关系分析以及人工标注,确定同层需求条目间的关联关系,主要识别同层需求间的“细化”和“前提”两种关联关系。具体的说,关联关系识别分别在高层需求间和低层需求间进行,其中

细化’关系的识别方法为,对于需求条目reqa,处于其子目录/子节点下的所有相关需求,或其他对reqa进行更详细的描述的任意需求reqi,都被识别为这样的关联关系:reqi“细化”reqa(或reqa“包含”reqi)。对“前提”关系的识别方法是,若reqa.event==reqj.operation,即当reqj是reqa的触发事件时,则有reqj“前提”reqa(或reqa“依赖”reqj)。
[0169]
其中,在本发明的一些示例中,对所述不同层次结构化需求中各语义要素进行匹配,包括:
[0170]
根据所述结构化需求中具体语义要素在句子中的角色和重要程度,确定高层需求中的各语义要素在低层需求中的匹配范围;
[0171]
根据领域知识和通用词汇关系,定义三种不同精确程度的匹配方式,及每种匹配方式的适用范围,确定高层需求中各语义要素的匹配结果。
[0172]
根据领域知识和通用词汇关系,定义三种不同精确程度的匹配方式,包括:
[0173]
严格匹配,即当一对语义要素在文字上相同或在领域知识或通用词汇库中有“近/同义词”关系时,匹配成功,否则匹配失败。
[0174]
层次匹配,即当一对语义要素在领域知识或通用词汇库中有“泛化”、“上/下位”,及“蕴含”等关系时,匹配成功,否则匹配失败;
[0175]
抽象匹配,即当一个语义要素中包含所标记的抽象词汇时,匹配成功,否则匹配失败。
[0176]
确定高层需求中语义要素的匹配范围和匹配方式之后,还包括:
[0177]
为每种匹配方式规定返回值,以标记所匹配语义要素间的相关程度;
[0178]
将每一条高层需求作为查询语句,遍历低层需求,判断此高层需求与各低层需求的追踪关系;
[0179]
按照高层需求中各语义要素在一条低层需求的匹配结果,确定该高层需求与低层需求间是否存在追踪关系。
[0180]
若二者之间存在追踪关系,则累加各语义要素的相关性的值,此值作为此条追踪关系的可信度标记。
[0181]
具体地说,本实施例在前述需求结构化表示的基础上,借助领域知识库和通用词汇库wordnet对结构化需求条目中的语义要素进行相似度分析和匹配,从而识别需求间的追踪关系。领域知识库中标识了较为抽象的词汇表,存储在abstrat wordlist中,且定义了领域词汇间的泛化、属性、近义/同义,蕴含等关系;wordnet中则标识了通用词汇间的蕴含、近义/同义及上下位关系,并提供了通用词汇间的相似度计算接口,即wordnet.wup_similarity。本实施例中定义了三种语义要素匹配模式:严格匹配,层次化匹配和抽象匹配,并为每种匹配定义了一个返回值rel,用以表示所匹配的一对词汇间的相关程度,其具体设置如下表2所示。
[0182]
表2语义要素匹配模式
[0183][0184]
本实施例中的语义要素匹配算法输入为结构化的高层需求集合和低层需求集合,以每条结构化的高层需求作为查询语句,检查其中包含的各语义要素与低层需求中包含的各语义要素是否能通过特定的匹配模式匹配成功。为了确定各语义要素的匹配范围,规定了16对需要匹配的语义要素对(semantic element pair,sep)。对于一条高层需求hlr,和一条低层需求llr,为了确定二者间追踪关系,要进行的语义要素匹配,如下表3所示:
[0185]
表3构建追踪关系需要匹配的的语义要素对
[0186][0187]
其中,为了记录每个语义要素对的相关程度,用其所支持的各匹配模式返回的rel的最大值来标记其语义相关性。
[0188]
通过前述的匹配方法和匹配范围,确定了高层需求和低层需求中,p1

p16的匹配关系,在此基础上,定义了需求追踪关系构建方法,包含如下的15条规则:
[0189]
r1:p1>0and p4>0and(p5>0or p6>0)
[0190]
r2:p1>0and p7>0and(p8>0or p9>0)
[0191]
r3:p2>0and p4>0and p6>0
[0192]
r4:p3>0and p4>0and p5>0
[0193]
r5:p1>0and p7>0and(p8>0or p9>0)
[0194]
r6:p1>=0.5and p10>0and p11>0
[0195]
r7:r1 and(p12>0or p13>0)
[0196]
r8:(r5 or r6)and(p12>0or p13>0)
[0197]
r9:r1 and p14>0and p15>0
[0198]
r10:r1 and p15>0and p16>0
[0199]
r11:(r5 or r6)and p14>0and p15>0
[0200]
r12:(r5 or r6)and p15>0and p16>0
[0201]
r13:(r9 or r10)and(p12>0or p13>0)
[0202]
r14:(r11 or r12)and(p12>0or p13>0)
[0203]
r15:p1>0and p4>0and p9>0.5
[0204]
此方法的输入为一条高层需求和一条低层需求的语义要素匹配结果,输出为此两条需求间追踪关系的存在性。具体的说,该方法制定了基于语义要素匹配结果的追踪关系构建规则,并根据高层需求中具体存在的语义要素,来确定应该使用哪些规则。
[0205]
对于特定形式的高层需求与低层需求,当其满足任意一条对应的规则时,则二者间存在追踪关系;
[0206]
若不满足所有适用规则,则其间不存在追踪关系。
[0207]
同时,若二者存在追踪关系,则该追踪关系的置信度为高层需求中各语义要素与相应的低层需求中语义要素匹配时,各语义要素对的rel累加的值。
[0208]
具体高层需求组成形式与其对应的规则适用范围如下表4所示。
[0209]
表4不同规则的适用范围
[0210]
[0211]
在本发明的一些实施例中,补充修正单元,用于:
[0212]
遍历所有可信度超过一定阈值的追踪关系,中的高层需求,遍历高层需求间的关联关系,找到与其有关联关系的其他高层需求,记录关联关系类型;
[0213]
对所有出现在追踪关系中的低层需求,遍历低层需求间的关联关系,找到与其有关联关系的其他低层需求,记录关联关系类型;
[0214]
根据具体的关联关系类型,在所述的识别出的需求追踪关系的基础上,进行推理,得到新的追踪关系。
[0215]
其中,根据具体的关联关系类型,在所述的识别出的需求追踪关系的基础上,进行推理,得到新的追踪关系,包括:
[0216]
若某高层需求出现在需求追踪关系中,且此高层需求与其他高层需求间存在“细化”关联关系,则追踪关系传播至其他高层需求。
[0217]
若某低层需求出现在需求追踪关系中,且次低层需求与其他低层需求间存在“细化”或“前提”关联关系,则追踪关系传播至其他低层需求。
[0218]
对于前述由语义要素和规则的得到的追踪关系,本发明基于前述同层需求间的“细化”,“前提”关联关系对其进行补充修正。本实施例中追踪关系补充修正方法的输入为高层需求间的关联关系集,低层需求间的关联关系集,以及高层需求与低层需求间的追踪关系集,输出为更多追踪关系。首先,遍历前述识别出的追踪关系,对于每一条追踪关系<hlri,llri>,若追踪关系的可信性大于或等于0.8,则:
[0219]
1)对其中的源节点即高层需求hlri做以下操作:
[0220]
遍历高层需求间的关联关系,找出所有满足以下条件的hlrj:hlri细化hlrj;
[0221]
检查<hlrj,llri>是否存在于前述的追踪关系集中,若存在,则不做操作,若不存在,则补充加入至追踪关系集中;
[0222]
2)对其中的目标节点即低层需求llri做以下操作:
[0223]
遍历低层需求间的关联关系,找出所有满足以下条件的llrj:llri细化llrj;
[0224]
遍历低层需求间的关联关系,找出所有满足以下条件的llrj:llrj前提llri;
[0225]
检查<hlri,llrj>是否存在于前述的追踪关系集中,若存在,则不做操作,若不存在,则补充加入至追踪关系集中;
[0226]
由以上方法,对前述高层需求与低层需求的追踪关系集合进行补充修正。
[0227]
在本发明的一些实施例中,结果合并单元,用于:
[0228]
将vsm识别到的追踪关系,按相似度降序排列;
[0229]
将上述步骤补充和修正后的追踪关系按可信度降序排列,并放置到vsm所得结果之前;
[0230]
去除vsm结果中重复的追踪关系。
[0231]
向量空间模型,vector space model,是目前较为流行的基于信息检索的需求追踪方法。此方法将源制品(高层需求)和目标制品(低层需求),看做文本向量,并通过计算向量间的余弦相似度,设定阈值,超过特定阈值则判断为两条需求间存在追踪关系。此方法的召回率较高,但准确率较低,无法满足实际应用的需要。本实施例中将前述完善后的需求追踪关系集与用vsm识别出的追踪关系集按一定方式进行排序和整合,从而得到更加高质量的追踪关系集。
[0232]
具体的说,本实施例中将前述补充修正后的追踪关系条目按照可信度降序排列。并将采用当前流行方法vsm识别出的需求追踪关系按照文本相似度降序排列,并放置在前述补充修正后追踪关系序列的尾部,若vsm结果列表中的追踪关系在前述补充修正后的追踪关系序列中已出现过,则为了避免重复将其删除。
[0233]
与当前流行的需求追踪关系自动构建方法相比,本发明实施例识别出了高层需求和低层需求间68%的追踪关系,所构建追踪关系的准确率可达71%,相比当前流行方法vsm有40%以上的准确率提升。
[0234]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1