In this paper, we present a new Semi-Automated classification approach of Arabic user requirements into functional and non-functional requirements using natural language processing (NLP) tools, namely CAMeL Tools. We proposed a set of heuristics based on basic constructs of Arabic sentences in order to extract information from software requirements written in Arabic to classify the requirements into functional and non-functional requirements. CAMeL tools are used to generate tokens, PoS tags, and lemmas of the parsed user requirements, then a set of proposed heuristic rules are applied to CAMeL outputs to determine the closest tagging class for each statement. We implemented the proposed approach using Python code with using CAMeL Tools 1.3.1, under Ubuntu 20.04 LTS. The proposed approach is validated using a set of experiments involving a set of real cases evaluated by a group of experts, graduate, and undergraduate students who are familiar with software requirements. The results showed that the proposed approach achieved better results in the classification of Arabic software requirements than classifications by students with an accuracy of 90%.
Read full abstract