The use of artificial neural networks for extracting actions and actors from requirements document

Abstract Context The automatic extraction of actors and actions (i.e., use cases) of a system from natural language-based requirement descriptions, is considered a common problem in requirements analysis. Numerous techniques have been used to resolve this problem. Examples include rule-based (e.g., inference), keywords, query (e.g., bi-grams), library maintenance, semantic business vocabularies, and rules. The question remains: can combination of natural language processing (NLP) and artificial neural networks (ANNs) perform this job successfully and effectively? Objective This paper proposes a new approach to automatically identify actors and actions in a natural language-based requirements’ description of a system. Included are descriptions of how NLP plays an important role in extracting actors and actions, and how ANNs can be used to provide definitive identification. Method We used an NLP parser with a general architecture for text engineering, producing lexicons, syntaxes, and semantic analyses. An ANN was developed using five different use cases, producing different results due to their complexity and linguistic formation. Results Binomial classification accuracy techniques were used to evaluate the effectiveness of this approach. Based on the five use cases, the results were 17–63% for precision, 5–6100% for recall, and 29–71% for F-measure. Conclusion We successfully used a combination of NLP and ANN artificial intelligence techniques to reveal specific domain semantics found in a software requirements specification. An Intelligent Technique for Requirements Engineering (IT4RE) was developed to provide a semi-automated approach, classified as Intelligent Computer Aided Software Engineering (I-CASE).

[1]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[2]  Jinhong K. Guo,et al.  Extracting Meaningful Entities from Human-generated Tactical Reports , 2015, Complex Adaptive Systems.

[3]  David L. Olson,et al.  Advanced Data Mining Techniques , 2008 .

[4]  Ayad Tareq Imam,et al.  Relative-Fuzzy: A Novel Approach for Handling Complex Ambiguity for Software Engineering of Data Mining Models , 2010 .

[5]  Imran Sarwar Bajwa,et al.  On Specifying Requirements Using a Semantically Controlled Representation , 2011, NLDB.

[6]  Bernd Bruegge,et al.  Object-Oriented Software Engineering Using UML, Patterns, and Java , 2009 .

[7]  George Luger,et al.  Artificial Intelligence: Structures and Strategies for Complex Problem Solving (5th Edition) , 2004 .

[8]  Marinos G. Georgiades,et al.  Formalizing and Automating Use Case Model Development , 2012 .

[9]  Wei Wang,et al.  Text categorization based on combination of modified back propagation neural network and latent semantic analysis , 2009, Neural Computing and Applications.

[10]  Imran Sarwar Bajwa,et al.  From Natural Language Software Specifications to UML Class Models , 2011, ICEIS.

[11]  John C. Grundy,et al.  Rule-based extraction of goal-use case models from text , 2015, ESEC/SIGSOFT FSE.

[12]  Bas Aarts,et al.  English Syntax And Argumentation , 1997 .

[13]  John C. Grundy,et al.  Tool support for essential use cases to better capture software requirements , 2010, ASE '10.

[14]  Karl E. Wiegers,et al.  Software Requirements , 1999 .

[15]  Alain Polguère,et al.  Dependency in Linguistic Description , 2009 .

[16]  Ashraf Odeh,et al.  Developing of Natural Language Interface to Robot - an Arabic Language Case Study , 2014 .

[17]  Imran Sarwar Bajwa,et al.  NL-Based Automated Software Requirements Elicitation and Specification , 2011, ACC.

[18]  Shridhar Aithal,et al.  An Approach towards Automation of Requirements Analysis , 2009 .

[19]  Aysh Alhroob,et al.  The Definition of Intelligent Computer Aided Software Engineering (I-CASE) Tools , 2015 .

[20]  Nitin Indurkhya,et al.  Handbook of Natural Language Processing , 2010 .