Automatic semantic analysis of software requirements through machine learning and ontology approach

被引:12
作者
Wang Y. [1 ]
机构
[1] Department of Computer Science and Technology, Shanghai University of Finance and Economics, Shanghai
关键词
machine learning; semantic role labelling; software requirement engineering;
D O I
10.1007/s12204-016-1783-3
中图分类号
学科分类号
摘要
Nowadays, software requirements are still mainly analyzed manually, which has many drawbacks (such as a large amount of labor consumption, inefficiency, and even inaccuracy of the results). The problems are even worse in domain analysis scenarios because a large number of requirements from many users need to be analyzed. In this sense, automatic analysis of software requirements can bring benefits to software companies. For this purpose, we proposed an approach to automatically analyze software requirement specifications (SRSs) and extract the semantic information. In this approach, a machine learning and ontology based semantic role labeling (SRL) method was used. First of all, some common verbs were calculated from SRS documents in the E-commerce domain, and then semantic frames were designed for those verbs. Based on the frames, sentences from SRSs were selected and labeled manually, and the labeled sentences were used as training examples in the machine learning stage. Besides the training examples labeled with semantic roles, external ontology knowledge was used to relieve the data sparsity problem and obtain reliable results. Based on the SemCor and WordNet corpus, the senses of nouns and verbs were identified in a sequential manner through the K-nearest neighbor approach. Then the senses of the verbs were used to identify the frame types. After that, we trained the SRL labeling classifier with the maximum entropy method, in which we added some new features based on word sense, such as the hypernyms and hyponyms of the word senses in the ontology. Experimental results show that this new approach for automatic functional requirements analysis is effective. © 2016, Shanghai Jiaotong University and Springer-Verlag Berlin Heidelberg.
引用
收藏
页码:692 / 701
页数:9
相关论文
共 21 条
[1]  
Antovski L., Imeri F., Review of software reuse processes [J], IJCSI International Journal of Computer Science Issues, 10, 6, pp. 83-88, (2013)
[2]  
Weiss D.M., Lai C.T.R., Software product-line engineering: A family-based software development process, (1999)
[3]  
Tsai W.T., Bai X.Y., Huang Y., Software-as-aservice (SaaS): Perspectives and challenges [J], Science China Information Sciences, 57, 5, pp. 1-15, (2014)
[4]  
Guo J.M., Zhang Z.Y., Wang Y.L., Model-driven derivation of domain functional requirements from use cases [J], Journal of Software Engineering and Applications, 3, 9, pp. 875-881, (2010)
[5]  
Ibrahim M., Ahmad R., Class diagram extraction from textual requirements using natural language processing (NLP) techniques, Proceedings of 2nd International Conference on Computer Research and Development, pp. 200-204, (2010)
[6]  
Kothari P.R., Processing natural language requirement to extract basic elements of a class [J], International Journal of Applied Information Systems, 3, 7, pp. 39-42, (2012)
[7]  
Mu Y.H., Wang Y.L., Guo J.M., Extracting software functional requirements from free text documents, Proceedings of 2009 International Conference on Information and Multimedia Technology, pp. 194-198, (2009)
[8]  
Navigli R., Word sense disambiguation: A survey, ACM Computing Surveys, 41, 2, pp. 1-69, (2009)
[9]  
Gruber T.R., A translation approach to portable ontology specifications [J], Knowledge Acquisition, 5, 2, pp. 199-220, (1993)
[10]  
Pradhan S., Hacioglu K., Krugler V., Et al., Support vector learning for semantic argument classification [J], Machine Learning, 60, 1, pp. 11-39, (2005)