CN102147731A - 基于扩展功能需求描述框架的功能需求自动抽取*** - Google Patents
基于扩展功能需求描述框架的功能需求自动抽取*** Download PDFInfo
- Publication number
- CN102147731A CN102147731A CN2011100993167A CN201110099316A CN102147731A CN 102147731 A CN102147731 A CN 102147731A CN 2011100993167 A CN2011100993167 A CN 2011100993167A CN 201110099316 A CN201110099316 A CN 201110099316A CN 102147731 A CN102147731 A CN 102147731A
- Authority
- CN
- China
- Prior art keywords
- functional requirement
- efrf
- grammatical
- extraction system
- functional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
一种计算机应用技术领域的基于扩展功能需求描述框架的功能需求自动抽取***,包括:语法分析模块和功能需求转换模块,语法分析模块基于语法分析器,功能需求转换模块根据预定义的转换规则将语法分析器的分析结果映射到EFRF上,通过两个模块的分析和转换。本发明将功能需求文档作为输入后基于语法分析器对功能需求文档进行分析,通过一系列预定义的转换规则对语法分析结果进行转换,映射到EFRF上,以XML的形式输出软件功能需求结构化表达并存储在***中。
Description
技术领域
本发明涉及一种计算机应用技术领域的装置,具体是基于扩展的功能需求描述框架(Extended Functional Requirements Framework,EFRF)的功能需求自动抽取***。
背景技术
软件功能需求描述了一个***的外部功能。现有的软件功能需求大多以文本形式描述在文档中。由于缺乏结构化表达,这些功能需求文档很难有效利用到后续软件开发过程中。因此,如何从这些功能需求文档中自动抽取结构化的功能需求表达,有助于提高功能需求的利用率,提高软件开发的效率。
经过对现有技术的检索发现,N.Niu和S.Easterbrook人的“抽取和建模产品线功能需求”(“Extracting and modeling product line functional requirements”,发表于2008年在西班牙巴塞罗那召开的第16届需求工程国际会议集,Proceedings of 2008 International Requirements Engineering Conference,第155-164页)公开了一种半自动化的软件产品线功能需求抽取和建模方法。该方法在动宾关系对的基础上,提出了一个包括6个描述维度:施动者(agentive),对象(objective),地点(locational),时间(temporal),处理过程(process)和条件(conditional)功能需求可变性模型。缺点是:其可变性模型的定义中还存在不清晰的地方。例如,“Agentive”和“Objective”的修饰语没有列入维度;“Process”太具有一般性,包含信息不够细节化;在抽取verb-directObject关系对的时候,采用统计方法,结果不够准确。
Liaskos等人的“基于目标的可变性获取和分析”(“On goal-based variability acquisition and analysis”,发表于2006年在美国明尼阿波利斯召开的第14届需求工程国际会议集,Proceedings of 2006 International Requirements Engineering Conference,第76-85页)定义了一个具有可变性的目标模型,该模型基于Fillmore提出的Case Grammar Theory。他们关注于每个目标的OR-组合的语义特征,并且用三个语义维度定义了目标的上下文的可变性。文章中还强调了这三个语义维度对正交可变性模型(Orthogonal variability models)建模的重要性。将目标的语义描述维度作为可变点中的变量,在此基础上进行正交可变性建模能更好地体现可变性及其如何可变。
上述提出的方法还不能实现对软件功能需求的全面的、自动的抽取。因此,目前软件功能需求的构建仍需要付出大量的人工劳动。
发明内容
本发明针对现有技术存在的上述不足,提供一种基于扩展功能需求描述框架的功能需求自动抽取***,将功能需求文档作为输入后基于语法分析器对功能需求文档进行分析,通过一系列预定义的转换规则对语法分析结果进行转换,映射到EFRF上,以XML的形式输出软件功能需求结构化表达并存储在***中。
本发明是通过以下技术方案实现的,本发明包括:语法分析模块和功能需求转换模块,其中:语法分析模块基于语法分析器,功能需求转换模块根据预定义的转换规则将语法分析器的分析结果映射到EFRF上,通过两个模块的分析和转换。
所述的EFRF包括10个功能需求的描述维度,每个功能需求都可以用一个EFRF中的这10个维度来描述。
本发明的原理是:针对软件功能需求,其上下文可以用所定义的EFRF框架来描述,该框架包括10个描述维度,即:Agentive,功能内容的发起者;Action,功能描述的行为;Objective,功能行为的作用对象;Agentmod,功能发起者的约束;Objmod,功能作用对象的约束;Locational,功能相关的地点;Temporal,功能相关的时间,包括发生频率,持续时间等;Manner,功能实现的方式,包括工具,条件等;Goal,功能的目标;Constraint,功能实现的其他限制条件。进一步地,经观察和实现发现,上述软件功能需求的描述维度都与功能需求的语法分析结果具有关联性,可以依据一定的转换规则实现自动抽取。因此,本发明借助于语法分析器和一组定义的转换规则实现了软件功能需求的自动抽取。
本发明有益的效果是:提出了基于EFRF的软件功能需求的自动抽取方法并实现了相应***;借助于所构建的语法分析器,提高了对软件功能需求文档进行自动化的分析和处理的能力;基于所构建的EFRF描述框架和转换规则,语法分析器的分析结果被映射到一个多维度描述的软件功能需求的结构化模型,从而提高了软件功能需求描述的全面性和准确性。此外,本发明所构建的***,可以分析所有符合IEEE-STD-830标准的软件需求文档,能大大降低在软件功能需求分析中所涉及的手工劳动,从而为企业节省了人力物力,为企业软件的大规模定制提供了帮助,在企业软件开发上具有很高的应用和商业价值。
附图说明
图1是本发明的***框架图。
图2是语法结构分析结果示例。
图3是语法依存分析结果示例。
图4是***最终生成的功能需求模型示例。
具体实施方式
下面结合附图对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1所示,本实施例包括:语法分析模块和功能需求转换模块,其中:语法分析模块基于语法分析器,功能需求转换模块根据预定义的转换规则将语法分析器的分析结果映射到EFRF上,通过两个模块的分析和转换。
所述的EFRF包括10个功能需求的描述维度,每个功能需求都可以用一个EFRF中的这10个维度来描述。
该实施例的输入是一组现有软件***的功能需求文档,所有文档为符合IEEE-STD-830标准的需求文档。所采用的实施例是由249个句子组成的功能需求描述,包含5,669个词,不含标点的单词为5,189个。
***第一个主模块是语法分析器,基于斯坦福语法分析器Stanford Parser和文本工程框架平台GATE开发实现语法分析器,并将上述功能需求文档输入到语法分析器中进行处理。语法分析器的实现部分包括:1)分词与词性标注模块,对需求文本进行分词、词性标注;2)语法结构树分析模块,对经过分词和词性标注的需求文本进行语法结构分析,分析出句子中的所有结构信息;3)依存关系分析模块,通过这个模块,得到的是句子内各成分之间的依存关系,这里的依存关系指的是二元关系,比如直接宾语,补语等关系。
本实施例通过将Stanford Parser整合到GATE框架下,采用了两个步骤来实现语法分析器。第一步,调用Stanford Parser,将解析结果的依存关系加入到GATE下的文档中作为Token的属性。从Stanford Parser处理之后的文档中除了标注词性信息之外还标注了句子内部成分的依存关系属性。对依存关系解析的最小单元是一个句子,生成的是一个句子内部各个成分之间的依存关系。第二步,扩展GATE中的NE模块,利用分析好的语义角色,将其与功能需求本体中的实体概念相结合,利用之前定义好的一系列转换规则,将这套规则用GATE可识别的符合JAPE语法规则表达,从而实现EFRF实体的识别。因为在命名实体识别的时候的依据是依存关系,所以,在JAPE规则中很重要的一个输入就是Dependency。这里Lookup,Token,Dependency都是解析之后的词的属性,将这些属性的值作为规则的判别标准。
***第二个主模块是功能需求转换器,基于所提出的EFRF框架和预定义的转换规则,对语法分析结果进行再处理,从而将其映射到软件功能需求的EFRF框架上。功能需求转换器的实现部分是一个EFRF命名实体识别模块,通过事先定义的转换规则最终实现自动分析和映射。
本实施例通过定义有效的转换规则,将语法分析结果映射到功能需求描述框架EFRF下,实现了功能需求转换器。表1是其中的部分转换规则,本实施例对功能需求中的主动和被动语态分别进行分析,针对不同的语态建立不同的规则。表格第一列是要匹配的实体概念,与EFRF中的维度一一对应,表示当规则匹配了之后,该文本片段将要加注的标签名称,也就是概念名称。第二列和第三列分别是主动语态和被动语态下的转换规则。规则中出现的符号的含义如下。规则中的概念名称,如“Action”:指的是已经被其他规则识别出来并加了标注的“Action”实体。规则左括号前面的名称,如“Subj”:指的是通过自然语言处理得到的依存关系。如果两个文本片段之间的关系是Subj,则利用这条规则进行匹配,看是否满足规则的其他条件。规则“obj(Action,×)”表示的是,当识别出了Action之后,而且在文本中有一个短语与Action之间的依存关系是obj(包含obj的各个子关系),那么这个短语就会被标记为Objective。规则“con_j(objective,×)”表示的是,当识别出了Objective,而且在文本中有一个短语与Objective之间的依存关系是con_j(包括con_j的各个子关系),那么这个短语也同样被标记为Objective。最后根据识别出来的所有Objective的语序进行排序,得到一个连续的文本片段或者几个独立的短语。
实施例的工作过程:
第一步,用户向该抽取***发出如下请求:
Teacher assistant mark students′homework in the lab at 7′clock.
该请求是目标应用需要满足的一个功能需求的文本描述。
第二步,上述文本描述通过语法分析器的词性标注模块进行分析。对上述文本需求进行分词与词性标注,输出结果如下所示:
Teacher/NN assistant/NN mark/VBP students/NNS′/POS homework/NN in/IN the/DTlab/NN at/IN 7’clock/NN./.
在上面结果中,每个单词紧跟的“/”后面的符号表示分析结果中该单词的词性,例如assistant/NN表示assistant的词性是名词。
第三步,使用上述分词与词性分析结果,通过语法分析器对其进行语法结构树解析,分析出句子中的所有结构信息。例如“(NP(NN Teacher)(NN assistant))”表示Teacher assistant是由两个名词组成的一个名词短语(Noun Phrase)。对此示例的语法结构树展示请见图2。
第四步,基于上述语法结构树信息,使用语法分析器对实施例进行语法依存关系解析,分析出句子中的直接/间接主语、直接/间接宾语、补语、修饰语等等语法上的依存关系对。例如:dobj(mark-3,homework-6)表示mark的直接宾语(direct object)是homework。上述需求文本的语法依存对展示请见图3。
第五步,将上述获得的语法依存对输入到功能需求转换器中,利用表1定义的转换规则将语法依存对中识别的语法成分对应到相应地EFRF描述维度上。例如,nsubj(mark,assistant)中“mark”被识别为Action,而“assistant”被识别为Agentive。
表1(?-指的是任意一个依存关系;*-指的是任意长度的字符;×-指的是当规则匹配之后需要加注标签的文本片段;&-指的是前后两条规则应该同时满足)
然而,某些语法成分可能会被识别到多个描述维度上。例如,根据表1定义的规则,prep_in(homework,lab)中“lab”可能会被识别为Locational,Temporal或Manner等。为了避免冲突,进一步地判定这三个由介词短语构成的语法依存对中相应成分的语义类型。
1)针对Locational维度,定义了如下的词表(可根据需要进一步扩充)表示某个词的语义类型:
PLACE:home,lab,office,any place,bus stop,station,train station,crossroad,...
PLACENAME:Asia,Europe,Africa,Shanghai,Beijing,...
2)针对Temporal维度,定义了如下的词表:
TIME:morning,noon,afternoon,evening,night,midnight,Number’clock,...
DATE:Monday,Tuesday,Wednesday,January,February,...
DURATION:Number Days/Months/Years...
FREQUENCY:once,Number Times,...
3)针对Manner维度,采用“排除法”,即相应的介词短语所引导的语法成分不属于Locational和Temporal定义的词表中,即可判定为Manner。
根据上述定义的词表,语法依存对中的相应成分被划分到某个语义类型上,从而进一步判定其所属的维度。例如,在上述实施例中,prep_in(homework,lab),由于lab属于PLACE语义类型,因而“in the lab”被判定为Locational维度。再如,prep_at(lab,7’clock),由于7’clock属于TIME语义类型,因而“at 7’clock”被判定为Temporal维度。
图4展示了上述请求经***处理后的最终结果。可以看到,在整个界面的右边的地方是扩展的要抽取的十种EFRF语义命名实体(Action,Agentive,Agentmod,Constraint,Goal,Locational,Manner,Objective,Objmod,Temporal)。抽取出来的功能性需求由10个维度描述,这个EFRF框架反映了功能需求描述中的语义特征,因此,它能作为一个结构化框架,来帮助进一步全面地分析功能需求。
表2是通过运行***对实验数据进行分析和评价后得到的结果。
表2***抽取效果的评测结果
召回率 | 准确率 | F值 | |
Agentive | 98.5 | 95.1 | 96.8 |
Action | 96.1 | 93.8 | 94.9 |
Objective | 81.1 | 80.4 | 80.7 |
Agentmod | 86.4 | 90.1 | 88.2 |
Objmod | 80.1 | 84.0 | 82.0 |
Locational | 35.3 | 39.3 | 37.2 |
Temporal | 40.2 | 91.7 | 55.9 |
Manner | 18.6 | 60.5 | 28.5 |
Goal | 47.4 | 78.1 | 59.0 |
Constraints | 78.2 | 89.7 | 83.5 |
实验结果显示了准确率普遍比召回率高,这是由基于规则的信息抽取的特点所决定的。其中Agentive,Action,Objective,Agentmod和Objmod的抽取效果在准确率和召回率上都较高。但是对于其他的语义成分,基于规则的方法得到的召回率相对较低。但总体上,平均F值能达到72.6%,说明该方法以及形成的***是比较有效的。本实例结合Stanford Parser,通过引入EFRF模型和定制好的转换规则,实现了一个可以实际应用的***。对实验数据的测试结果表明了该***的有效性。
Claims (2)
1.一种基于扩展功能需求描述框架的功能需求自动抽取***,其特征在于,包括:语法分析模块和功能需求转换模块,其中:语法分析模块基于语法分析器,功能需求转换模块根据预定义的转换规则将语法分析器的分析结果映射到EFRF上,通过两个模块的分析和转换。
2.根据权利要求1所述的基于扩展功能需求描述框架的功能需求自动抽取***,其特征是,所述的EFRF包括10个功能需求的描述维度,每个功能需求都可以用一个EFRF中的这10个维度来描述。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100993167A CN102147731A (zh) | 2011-04-20 | 2011-04-20 | 基于扩展功能需求描述框架的功能需求自动抽取*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100993167A CN102147731A (zh) | 2011-04-20 | 2011-04-20 | 基于扩展功能需求描述框架的功能需求自动抽取*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102147731A true CN102147731A (zh) | 2011-08-10 |
Family
ID=44422008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100993167A Pending CN102147731A (zh) | 2011-04-20 | 2011-04-20 | 基于扩展功能需求描述框架的功能需求自动抽取*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102147731A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294653A (zh) * | 2012-02-22 | 2013-09-11 | 通用汽车环球科技运作有限责任公司 | 用于产生高质量的正式可执行软件特征需求的***和方法 |
CN107368470A (zh) * | 2017-06-27 | 2017-11-21 | 北京神州泰岳软件股份有限公司 | 一种提取企业内部组织架构信息的方法和装置 |
CN109271527A (zh) * | 2018-09-27 | 2019-01-25 | 华东师范大学 | 一种需求功能点智能识别方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1542736A (zh) * | 2003-05-01 | 2004-11-03 | 在自然语言理解***中用于位置的基于规则的语法和用于前终端的统计模型 | |
US20100275179A1 (en) * | 2009-04-23 | 2010-10-28 | International Business Machines Corporation | Extracting a system modelling meta-model language model for a system from a natural language specification of the system |
-
2011
- 2011-04-20 CN CN2011100993167A patent/CN102147731A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1542736A (zh) * | 2003-05-01 | 2004-11-03 | 在自然语言理解***中用于位置的基于规则的语法和用于前终端的统计模型 | |
US20100275179A1 (en) * | 2009-04-23 | 2010-10-28 | International Business Machines Corporation | Extracting a system modelling meta-model language model for a system from a natural language specification of the system |
Non-Patent Citations (1)
Title |
---|
木云鹤: "《简历及软件需求信息抽取方法研究》", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294653A (zh) * | 2012-02-22 | 2013-09-11 | 通用汽车环球科技运作有限责任公司 | 用于产生高质量的正式可执行软件特征需求的***和方法 |
CN103294653B (zh) * | 2012-02-22 | 2016-12-28 | 通用汽车环球科技运作有限责任公司 | 用于产生高质量的正式可执行软件特征需求的***和方法 |
CN107368470A (zh) * | 2017-06-27 | 2017-11-21 | 北京神州泰岳软件股份有限公司 | 一种提取企业内部组织架构信息的方法和装置 |
CN109271527A (zh) * | 2018-09-27 | 2019-01-25 | 华东师范大学 | 一种需求功能点智能识别方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Soderland | Learning to Extract Text-Based Information from the World Wide Web. | |
CN104933027B (zh) | 一种利用依存分析的开放式中文实体关系抽取方法 | |
US10824816B2 (en) | Semantic parsing method and apparatus | |
CN102956231B (zh) | 基于半自动校正的语音关键信息记录装置及方法 | |
CN103593335A (zh) | 基于本体一致性验证推理的中文语义校对方法 | |
CN108665141B (zh) | 一种从突发事件预案中自动抽取应急响应流程模型的方法 | |
CN103927179B (zh) | 一种基于WordNet的程序可读性分析方法 | |
CN103778200A (zh) | 一种报文信息源抽取方法及其*** | |
CN105975475A (zh) | 基于中文短语串的细粒度主题信息抽取方法 | |
Joshi et al. | Textual requirement analysis for UML diagram extraction by using NLP | |
CN113609838B (zh) | 文档信息抽取及图谱化方法和*** | |
KR20140052328A (ko) | Rdf 기반의 문장 온톨로지 생성 장치 및 방법 | |
Pham et al. | Information extraction for Vietnamese real estate advertisements | |
CN102147731A (zh) | 基于扩展功能需求描述框架的功能需求自动抽取*** | |
Al-Arfaj et al. | Towards ontology construction from Arabic texts-a proposed framework | |
Peng et al. | Research on tree kernel-based personal relation extraction | |
Nguyen et al. | A vietnamese question answering system | |
Papageorgiou et al. | Multi-level XML-based Corpus Annotation. | |
Ghosh et al. | Clause identification and classification in bengali | |
Chen et al. | An ontology learning method enhanced by frame semantics | |
CN113761919A (zh) | 一种口语化短文本的实体属性提取方法及电子装置 | |
Soudani et al. | A hybrid approach for standardized Dictionary-based knowledge extraction for Arabic morpho-semantic retrieval | |
Altenbek et al. | Identification of basic phrases for kazakh language using maximum entropy model | |
Patel et al. | Resolve the uncertainity in requirement specification to generate the UML diagram | |
McDonald et al. | Transforming Open-Source Documents to Terror Networks: The Arizona TerrorNet. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110810 |