Abstract
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.
Similar content being viewed by others
References
ANTOVSKI L, IMERI F. Review of software reuse processes [J]. IJCSI International Journal of Computer Science Issues, 2013, 10(6): 83–88.
WEISS D M, LAI C T R. Software product-line engineering: A family-based software development process [M]. Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc., 1999.
TSAI W T, BAI X Y, HUANG Y. Software-as-aservice (SaaS): Perspectives and challenges [J]. Science China Information Sciences, 2014, 57(5): 1–15.
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, 2010, 3(9): 875–881.
IBRAHIM M, AHMAD R. Class diagram extraction from textual requirements using natural language processing (NLP) techniques [C]//Proceedings of 2nd International Conference on Computer Research and Development. Kuala Lumpur, Malaysia: IEEE, 2010: 200–204.
KOTHARI P R. Processing natural language requirement to extract basic elements of a class [J]. International Journal of Applied Information Systems, 2012, 3(7): 39–42.
MU Y H, WANG Y L, GUO J M. Extracting software functional requirements from free text documents [C]//Proceedings of 2009 International Conference on Information and Multimedia Technology. Jeju Islands, Korea: IEEE, 2009: 194–198.
NAVIGLI R. Word sense disambiguation: A survey [J]. ACM Computing Surveys, 2009, 41(2): 1–69.
GRUBER T R. A translation approach to portable ontology specifications [J]. Knowledge Acquisition, 1993, 5(2): 199–220.
PRADHAN S, HACIOGLU K, KRUGLER V, et al. Support vector learning for semantic argument classification [J]. Machine Learning, 2005, 60(1): 11–39.
LIU T, CHE W X, LI S. Semantic role labeling with maximum entropy classifier [J]. Journal of Software, 2007, 18(3): 565–573 (in Chinese).
Collins M. Head-driven statistical models for natural language parsing [J]. Computational Linguistics, 2003: 29(4): 589–637.
SURDEANU M, MàRQUEZ L, CARRERAS X, et al. Combination strategies for semantic role labeling [J]. Journal of Artificial Intelligence Research, 2007, 29: 105–151.
XUE N W, PALMER M. Automatic semantic role labeling for Chinese verbs [C]//Proceedings of 19th International Joint Conference on Artificial Intelligence (IJCAI 2005). Edinburgh, Scotland, UK: Morgan Kaufmann Publishers Inc., 2005: 1160–1165.
XUE N W, PALMER M. Calibrating features for semantic role labeling [C]//Proceedings of the 2004 Conference on Empirical Methods in Natural Language Processing (EMNLP 2004). Barcelona, Spain: Association for Computational Linguistics, 2004: 88–94.
GILDEA D, JURAFSKY D. Automatic labeling of semantic roles [J]. Computational Linguistics, 2002, 28(3): 245–288.
BOUZEGHOUB M, GARDARIN G, METAIS E. Database design tools: An expert system approach [C]//Proceedings of 11th International Conference on Very Large Data Bases (VLDB’85). Stockholm, Sweden: Morgan Kaufmann Publishers, 1985: 82–95.
BLACK W J. Acquisition of conceptual data models from natural language descriptions [C]//Proceedings of the 3rd Conference on European Chapter of the Association for Computational Linguistics (EACL’87). Copenhagen, Denmark: Association for Computational Linguistics, 1987: 241–248.
SAWYER P, RAYSON P, COSH K. Shallow knowledge as an aid to deep understanding in early phase requirements engineering [J]. IEEE Transactions on Software Engineering, 2005, 31(11): 969–981.
NIU N, EASTERBROOK S. Extracting and modeling product line functional requirements [C]//Proceedings of 16th IEEE International Requirements Engineering Conference (RE2008). Barcelona, Spain: IEEE, 2008: 155–164.
ARELLANO A, CARNEY E, AUSTIN M A. Natural language processing of textual requirements [C]//Proceedings of the 10th International Conference on Systems (ICONS 2015). Barcelona, Spain: IARIA XPS Press, 2005: 93–97.
Author information
Authors and Affiliations
Corresponding author
Additional information
Foundation item: the National Natural Science Foundation of China (No. 61375053)
Rights and permissions
About this article
Cite this article
Wang, Y. Automatic semantic analysis of software requirements through machine learning and ontology approach. J. Shanghai Jiaotong Univ. (Sci.) 21, 692–701 (2016). https://doi.org/10.1007/s12204-016-1783-3
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12204-016-1783-3