140 likes | 160 Views
This paper presents a system utilizing Natural Language Processing for autonomous requirements specification processing. The system involves parsing and term management modules to extract and manage key terms. By automating this process, the tool aims to reduce software defects and improve accuracy in requirements documentation.
E N D
AUTONOMOUS REQUIREMENTS SPECIFICATION PROCESSING USINGNATURAL 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 Unique Noun terms tokens
Syntactic Parsing • Syntactic parser based on a chart parsing technique with a context-free 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 (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 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.