AUTONOMOUS REQUIREMENTS SPECIFICATION PROCESSING USING NATURAL LANGUAGE PROCESSING - Vivek Punjabi
Overview Motivation Background Proposed system design Architecture Parsing System Term Management System Conclusion
Motivation Requirement artifacts Knowledge, experience, tools Requirements Specification Document Only knowledge Missing important information Consequences 40 – 60 % software defects due to errors in requirement stage Cost of correcting defects >> Cost to represent requirements correctly Risk of misinterpretation
Background Use of formal languages for design Still depends on knowledge Less research due to ambiguity of natural language requirements Semi-automated generation of ER diagrams for database modelling Requirements supplemented by glossary – a-priori knowledge Pre-processing and application specific
System Design Figure 1: Assisted Requirements Analysis Process
System Architecture Requirements Specification Document NLP Tool (Syntactic Parsing) Term Management System (UI) tokens Unique Noun terms
Syntactic Parsing Syntactic parser based on a chart parsing technique with a context- free grammar (CFG) that is augmented with constraints. Current prototype system entries in Dictionary 79 rules An example of context free rule: S (i.e. LHS) NP VP (i.e. RHS) well-formedness constraint (number-agreement NP VP) “He see a car in the park” Current limitations – compound noun terms, disambiguation module
Syntactic Parsing (Contd.) “A system requires entry of patient’s information” (S (NP (DET “A”) (NOUN “system”)) (VP (VERB “requires”) (NP (NP (NOUN “entry”)) (PP (OF “of”) (NP (POSSADJ “patient’s”) (NOUN “information”)))))) “Dunedin Podiatry requires an information system that allows entry and retrieval of patient's details and their medical histories.” “Dunedin Podiatry”, “information system”, “entry”, “retrieval”, “(patient’s) details”, and “(their medical) histories”
Term Extraction by a Syntactic Parser
Term Management System Filter Entity Manual option Create classes Entity, Attribute, Function Manage Knowledge base (OBJECT (:TYPE FUNCTION) (:VALUE “entry”)) (OBJECT (:TYPE ENTITY) (:VALUE “patient”)) (OBJECT (:TYPE ATTRIBUTE) (:VALUE “age”))
Future Work Add disambiguation module Compound noun analysis and Proper noun processing anaphoric resolution and semantic interpretation of terms enhance the process of term extraction and enable term relationship identification “patient’s medical histories” One-many relationship between “patient” and “medical histories”
Conclusion Utilize NLP to assist systems analysts in selecting and verifying objects and relationships of relevance to any given project Save burden of analysis for system analyst The toolset will be intelligent enough to automatically parse, select and relate the objects of interest from specification documents Knowledge base helps in automatic generation of relevant design artifacts – object models, data models, etc.
Questions?
Thank You