علوم رایانشی

علوم رایانشی

کاربرد هوش مصنوعی قابل توضیح برای تحلیل ‌نیازمندی‌های ‌نرم‌افزار

نوع مقاله : مقاله پژوهشی

نویسندگان
1 دانشجوی دکتری، دانشکده مهندسی کامپیوتر و فناوری اطلاعات، دانشگاه صنعتی شیراز
2 دانشیار، دانشکده مهندسی کامپیوتر و فناوری اطلاعات، دانشگاه صنعتی شیراز، شیراز، ایران
10.22034/csj.2025.214936
چکیده
‌الگوریتم‌های یادگیری ماشین در ‌مسایل مختلف مانند طبقه‌بندی ‌نیازمندی‌ها استفاده شده‌اند. با وجود این که این الگوریتم‌ها عملکرد خوبی دارند، اما نمی‌توانند نحوه انجام ‌تصمیم‌گیریشان را توضیح دهند. توضیح نحوه ‌تصمیم‌گیری کمک بزرگی برای متخصصین این حوزه خواهد بود. هوش مصنوعی قابل توضیح (XAI) به دنبال توضیح پیش‌بینی‌های ‌الگوریتم‌های یادگیری ماشین است. با توجه به کاربرد موفق هوش مصنوعی قابل توضیح در حوزه پردازش زبان طبیعی و عدم وجود مطالعات کافی در زمینه ‌به‌کارگیری آنها در تحلیل ‌نیازمندی‌های ‌نرم‌افزار، در این مقاله، کاربرد XAI  برای طبقه‌بندی ‌نیازمندی‌های نرم‌افزار بررسی شده است. روش پیشنهادی روی مجموعه داده ‌نیازمندی‌های نرم‌افزار PROMISE پیاده‌سازی شده است. الگوریتم ماشین بردار پشتیبان (SVM) به‌عنوان الگوریتم طبقه‌بندی استفاده شده و ابزارLIME  به تفسیر دسته‌بندی ‌نیازمندی‌های تولید شده توسط طبقه‌بند می‌پردازد. نتایج نشان می‌دهد که XAI  می‌تواند به تحلیل‌گر کمک کند تا بهتر درک کند که چرا یک نیازمندی خاص به‌عنوان کارکردی، غیرکارکردی یا زیرشاخه‌ای از غیرکارکردی طبقه‌بندی شده است. در طی این فرآیند، کلمات کلیدی مهم برای چنین تصمیماتی شناسایی شده و به‌طور دقیق تحلیل می‌شوند.
 
کلیدواژه‌ها
موضوعات

[1] Sommerville, I. (2015). Software engineering. 10th. Book Software Engineering. 10th, Series Software Engineering.
[2] Zhang, Y., Xu, F., Zou, J., Petrosian, O. L., & Krinkin, K. V. (2021, June). XAI evaluation: evaluating black-box model explanations for prediction. In 2021 II International Conference on Neural Networks and Neurotechnologies (NeuroNT) (pp. 13-16). IEEE.
[3] Binkhonain, M., & Zhao, L. (2019). A review of machine learning algorithms for identification and classification of non-functional requirements. Expert Systems with Applications: X, 1, 100001.
[4] Khayashi, F., Jamasb, B., Akbari, R., & Shamsinejadbabaki, P. (2022). Deep Learning Methods for Software Requirement Classification: A Performance Study on the PURE dataset. arXiv preprint arXiv:2211.05286.
[5] Dias Canedo, E., & Cordeiro Mendes, B. (2020). Software requirements classification using machine learning algorithms. Entropy, 22(9), 1057.
[6] Rahimi, N., Eassa, F., & Elrefaei, L. (2021). One-and two-phase software requirement classification using ensemble deep learning. Entropy, 23(10), 1264.
[7] Quba, G. Y., Al Qaisi, H., Althunibat, A., & AlZu’bi, S. (2021, July). Software requirements classification using machine learning algorithm’s. In 2021 International Conference on Information Technology (ICIT) (pp. 685-690). IEEE.
[8] Jesus, S., Belém, C., Balayan, V., Bento, J., Saleiro, P., Bizarro, P., & Gama, J. (2021, March). How can I choose an explainer? An application-grounded evaluation of post-hoc explanations. In Proceedings of the 2021 ACM Conference on Fairness, Accountability, and Transparency (pp. 805-815).
[9] Ribeiro, M. T., Singh, S., & Guestrin, C. (2016, August). " Why should i trust you?" Explaining the predictions of any classifier. In Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining (pp. 1135-1144).
[10] Lundberg, S. M., & Lee, S. I. (2017, December). A unified approach to interpreting model predictions. In Proceedings of the 31st International Conference on Neural Information Processing Systems (pp. 4768-4777).
[11] Habiba, U. E., Bogner, J., & Wagner, S. (2022, August). Can Requirements Engineering Support Explainable Artificial Intelligence? Towards a User-Centric Approach for Explainability Requirements. In 2022 IEEE 30th International Requirements Engineering Conference Workshops (REW) (pp. 162-165). IEEE.
[12] Clement, T., Kemmerzell, N., Abdelaal, M., & Amberg, M. (2023). XAIR: A Systematic Metareview of Explainable AI (XAI) Aligned to the Software Development Process. Machine Learning and Knowledge Extraction, 5(1), 78-108.
[13] Jiarpakdee, J., Tantithamthavorn, C. K., & Grundy, J. (2021, May). Practitioners’ perceptions of the goals and visual explanations of defect prediction models. In 2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR) (pp. 432-443). IEEE.
[14] Arrieta, A. B., Díaz-Rodríguez, N., Del Ser, J., Bennetot, A., Tabik, S., Barbado, A., ... & Herrera, F. (2020). Explainable Artificial Intelligence (XAI): Concepts, taxonomies, opportunities and challenges toward responsible AI. Information fusion, 58, 82-115.
[15] Jesus, S., Belém, C., Balayan, V., Bento, J., Saleiro, P., Bizarro, P., & Gama, J. (2021, March). How can I choose an explainer? An application-grounded evaluation of post-hoc explanations. In Proceedings of the 2021 ACM Conference on Fairness, Accountability, and Transparency (pp. 805-815).
[16] Kim, D., Seo, D., Cho, S., & Kang, P. (2019). Multi-co-training for document classification using various document representations: TF–IDF, LDA, and Doc2Vec. Information Sciences, 477, 15-29.
[17] Jabri, S., Dahbi, A., Gadi, T., & Bassir, A. (2018, April). Ranking of text documents using TF-IDF weighting and association rules mining. In 2018 4th international conference on optimization and applications (ICOA) (pp. 1-6). IEEE.
[18] Ramadhani, D. A., Rochimah, S., & Yuhana, U. L. (2015). Classification of non-functional requirements using semantic-FSKNN based ISO/IEC 9126. TELKOMNIKA (Telecommunication Computing Electronics and Control), 13(4), 1456-1465.
[19] Diwali, A., Saeedi, K., Dashtipour, K., Gogate, M., Cambria, E., & Hussain, A. (2023). Sentiment analysis meets explainable artificial intelligence: A survey on explainable sentiment analysis. IEEE Transactions on Affective Computing.
[20] Mathews, S. M. (2019). Explainable artificial intelligence applications in NLP, biomedical, and malware classification: a literature review. In Intelligent Computing: Proceedings of the 2019 Computing Conference, Volume 2 (pp. 1269-1292). Springer International Publishing.
[21] Zahoor, K., & Bawany, N. Z. (2024). Explainable artificial intelligence approach towards classifying educational android app reviews using deep learning. Interactive Learning Environments, 32(9), 5227-5252.
[22] Zhang, H., & Ogasawara, K. (2023). Grad-CAM-based explainable artificial intelligence related to medical text processing. Bioengineering, 10(9), 1070.
[23] Pospelova, N., Tarasova, A., Subbotina, N., Koroleva, N., Raimova, N., & Lydia, E. L. (2024). Explainable Artificial Intelligence and Natural Language Processing for Unraveling Deceptive Contents. Fusion: Practice & Applications, 14(2).
[24] Chazette, L., Brunotte, W., & Speith, T. (2022). Explainable software systems: from requirements analysis to system evaluation. Requirements Engineering, 27(4), 457-487.
[25] Magableh, A. A. (2023, August). Towards leveraging explainable artificial intelligent (XAI) in requirements engineering (RE) to identify aspect (crosscutting concern): a systematic literature review (SLR) and bibliometric analysis. In 2023 International Conference on Information Technology (ICIT) (pp. 319-326). IEEE.
[26] Bai, S., Shi, S., Han, C., Yang, M., Gupta, B. B., & Arya, V. (2024). Prioritizing user requirements for digital products using explainable artificial intelligence: A data-driven analysis on video conferencing apps. Future Generation Computer Systems, 158, 167-182.