MaTREx: Making Tacit Knowledge in Requirements Explicit


MaTREx project is a collaboration between the Department of Computing at the Open University (OU) and Lancaster University, and is funded the UK Engineering and Physical Sciences Research Council (EPSRC). The project is to investigate techniques for analysing natural language requirements, in order to discover, manager, and mitigate the negative effects of tacit knowledge in requirements.

We developed several NLP systems to address research issues (e.g. ambiguity, uncertainty) concerning quality and analysis in NL requirements. Our practical goal is to support the requirements engineering process by providing automated systems that highlight linguistic expressions in NL requirements that are recognised as nocuous ambiguous or uncertainty and hence carry a high risk of misunderstanding or vagueness. The author can then follow with further analysis or elicitation for the purpose of improving requirements quality.


Nocuous Ambiguity Analysis in Natural Language Requirements

The system highlights linguistic expressions in requirements that are recognized as nocuous ambiguities, i.e. the sentences that tend to be interpreted in different ways by multiple stakeholders, thus resulting in potential misunderstanding. The system allows the writers to return to elicitation, or rephrase for the purpose of improving requirements quality.

We investigate two typical ambiguity types arising from coordination and anaphora in natural language requirements. Our model is built on a machine learning architecture. It learns from a set of heuristics, each of which predicts a factor that may lead a reader to favour a particular interpretation. An ambiguity threshold indicates the extent to which ambiguity can be tolerated in the application domain. Collections of human judgments are used to train heuristics and set ambiguity thresholds, and for evaluation.

Keywords: nocuous ambiguity, NL requirements, anaphora ambiguity, coordination ambiguity, preference heuristics, machine learning

Uncertainty Detection in Natural Language Requirements

Due to the intrinsic vagueness and ambiguity of speculative language, the requirements containing uncertainty information carry a risk of being incorrectly understood by the readers and may benefit from careful treatment in the requirements process. In this system, we present a linguistically oriented approach to automatic detection of uncertainty in natural language (NL) requirements.

Our approach consists of two stages. In the first stage we identify speculative sentences by applying a machine learning algorithm called Conditional Random Fields (CRFs) to identify uncertainty cues. The algorithm exploits a rich set of lexical and syntactic features extracted from requirements sentences. During the second stage we seek to determine the scope of uncertainty. We use a rule-based approach that draws on a set of hand-crafted linguistic heuristics to determine the uncertainty scope, with the help of dependency structures presented in the sentence parse tree.

Keywords: uncertainty, NL requirements, speculative sentences, uncertainty cues, uncertainty scopes, machine learning, rule-based approach

Related Publications

Yang H., De Roeck A., Gervasi, V., Willis A., and Nuseibeh B. (2012). Automatic Detection of Uncertainty in Natural Language Requirements. In Proceedings of the 20th International IEEE Requirements Engineering Conference (RE'12), pp. 10-20, 2012.

Yang H., De Roeck A., Gervasi, V., Willis A., and Nuseibeh B. (2011). Analysing Anaphoric Ambiguity in Natural Language Requirements. Requirements Engineering, 16 (3): 163-189.

Yang H., De Roeck A., Gervasi, V., Willis A., and Nuseibeh B. (2010). Extending Nocuous Ambiguity Analysis for Anaphora in Natural Language Requirements. In Proceedings of the 18th International IEEE Requirements Engineering Conference (RE'10). Sydney, Australia, pp. 25-34. (Best Research Paper Award in RE'10)

Yang H., De Roeck A., Willis A., and Nuseibeh B. (2010). A Methodology for Automatic Identification of Nocuous Ambiguity. In Proceedings of the 23th International Conference on Computational Linguistics (Coling'10). Beijing, China, pp. 1218-1226.

Yang H., Willis A., De Roeck A., and Nuseibeh B. (2010). Automatic Detection of Nocuous Coordination Ambiguities in Natural Language Requirements. In Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering Conference (ASE'10). Antwerp, Belgium, pp. 53-62.