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 tokens NLP Tool (Syntactic Parsing) Unique Noun terms Term Management System (UI)
Syntactic Parsing • Syntactic parser based on a chart parsing technique with a contextfree grammar (CFG) that is augmented with constraints. • Current prototype system • 32000 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 (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