[論文閱讀] 人工智能 + 軟件工程 | AI助力軟件可解釋性:從用戶評論到自動生成需求與解釋

AI助力軟件可解釋性:從用戶評論到自動生成需求與解釋

Automatic Generation of Explainability Requirements and Software Explanations From User Reviews

arXiv:2507.07344
Automatic Generation of Explainability Requirements and Software Explanations From User Reviews
Martin Obaidi, Jannik Fischbach, Jakob Droste, Hannah Deters, Marc Herrmann, Jil Klünder, Steffen Kr?tzig, Hugo Villamizar, Kurt Schneider
Comments: This paper has been accepted at the 33rd IEEE International Requirements Engineering Workshop (REW 2025)
Subjects: Software Engineering (cs.SE)

研究背景:軟件越來越“難懂”,可解釋性成剛需

你是否有過這樣的經歷:手機App彈出一個對話框,按鈕上寫著“確定”和“取消”,但你完全不知道點了之后會發生什么?或者,推薦算法給你推了一堆莫名其妙的內容,你根本搞不懂它為什么會這么推薦?

這其實反映了現代軟件系統的一個普遍問題:隨著人工智能和數據驅動技術的加入,軟件變得越來越復雜,用戶越來越難理解它們的行為。這種“難懂”不僅影響用戶體驗,還可能讓用戶失去信任,甚至在某些涉及隱私、安全的場景下帶來風險。

因此,“可解釋性”——也就是軟件能夠向用戶解釋自己的行為和決策——變得越來越重要。它就像軟件的“說明書”,但又不止于此,它需要嵌入到軟件的各種交互中。

然而,這里存在一個巨大的挑戰:用戶通常會在評論里用很隨意的語言表達他們的困惑(比如“這個按鈕到底是干嘛的?”“為什么我的數據突然不見了?”),開發團隊很難把這些零散的“吐槽”轉化為明確的、可執行的改進要求,更別說據此生成具體的解釋文本了。就像把一堆用戶的“碎碎念”整理成工程師能看懂的“任務清單”,還要寫出對應的“標準答案”,這活兒可不輕松。

在這里插入圖片描述

主要作者及單位

本文由來自多個機構的研究者合作完成,包括:

  • Martin Obaidi, Jakob Droste, Hannah Deters, Marc Herrmann, Kurt Schneider(德國漢諾威萊布尼茨大學軟件工程組)
  • Jil Klünder(德國漢諾威應用科學大學)
  • Hugo Villamizar(德國慕尼黑fortiss GmbH)
  • Jannik Fischbach(德國慕尼黑Netlight咨詢公司與fortiss GmbH)
  • Steffen Kr?tzig(德國勃隆貝格菲尼克斯電氣公司)

創新點:讓AI幫你“翻譯”用戶需求

這篇論文的核心創新在于提出了一種工具支持的自動化方法,能夠:

  1. 從用戶評論中“讀”出他們需要解釋的地方;
  2. 自動生成結構化的“可解釋性需求”(告訴開發團隊“軟件必須解釋什么”);
  3. 基于這些需求,自動生成可以直接用在軟件界面上的解釋文本。

簡單說,就是讓AI充當“翻譯官”,把用戶的自然語言反饋,翻譯成工程師能懂的技術要求,再進一步變成用戶能看懂的解釋內容。

此外,研究還創建了一個包含58條用戶評論的數據集,每條評論都配有人工和AI生成的可解釋性需求及解釋,為后續研究提供了寶貴的基準。

研究方法:一步步拆解AI的“工作流程”

為了實現這個自動化過程,研究者設計了清晰的步驟,并開發了相應的工具:

  1. 處理用戶評論

    • 首先用AI(ChatGPT 3.5)總結用戶評論,去除情緒化的表達,只保留核心信息(比如把“這破彈窗太坑了,點啥都刪數據!”總結為“彈窗按鈕功能不明確,存在數據刪除風險”)。
    • 這一步就像給AI“劃重點”,確保后續生成的內容不跑偏。
  2. 生成可解釋性需求

    • 基于總結后的評論,用特定的提示詞讓AI生成結構化的需求,格式統一為“The system must explain…”(比如“系統必須解釋彈窗中‘關閉’和‘確定’按鈕的具體功能”)。
    • 為了保證需求的正式性和一致性,這一步會調低AI的“創造力”參數(溫度設為0.3)。
  3. 生成解釋文本

    • 基于生成的需求,再讓AI生成可以展示在軟件界面上的解釋(比如針對上面的需求,生成“彈窗中的‘關閉’按鈕僅關閉窗口,‘確定’按鈕會刪除當前數據,請謹慎操作”)。
    • 這一步會調高AI的“創造力”參數(溫度設為0.8),讓語言更自然、更貼近用戶習慣。
  4. 開發支持工具

    • 研究者開發了一個網頁工具,支持上傳評論、自動生成總結、需求和解釋,并能導出結果,方便工程師使用。
  5. 對比評估

    • 為了驗證效果,研究者找了8名需求工程師和14名普通用戶,讓他們分別對比AI生成的需求和解釋,與人工精心制作的版本哪個更好。
    • 評估標準包括清晰度、正確性、相關性、風格等6個方面至。

主要貢獻:AI很能干,但還需“人類把關”

這項研究的核心價值在于:

  1. 提供了一套實用的自動化方案:幫助企業更高效地從用戶反饋中提取改進方向,把“可解釋性”這種抽象需求落到實處。
  2. 給出了AI與人工的“實力對比”
    • AI生成的需求在相關性和正確性上不如人工,但偶爾也能給出不錯的答案(尤其是當用戶需求很明確時)。
    • AI生成的解釋在清晰度和語言風格上更受用戶喜歡,但同樣存在正確性問題(比如可能編造不存在的功能)。
  3. 強調了“人機協作”的重要性:AI可以快速生成初稿,提高效率,但最終必須經過人工驗證,尤其是在正確性要求高的場景。
  4. 留下了寶貴的數據集:為其他研究者提供了可復用的資源,推動該領域的進一步發展。

思維導圖:

在這里插入圖片描述


詳細總結:

1. 研究背景與意義
  • 可解釋性的重要性:隨著軟件系統(尤其是含AI組件)的復雜化,可解釋性成為關鍵非功能需求,可增強透明度、建立用戶信任并確保合規。
  • 現有挑戰:用戶反饋中的解釋需求多為非正式、主觀表達,難以轉化為結構化需求;現有方法僅能識別相關問題,缺乏系統推導需求和生成解釋的方案。
2. 相關工作
  • 可解釋性需求研究:已有研究識別了用戶評論中的解釋需求(如交互、行為、隱私等類別),但缺乏從需求到解釋的系統轉化。
  • 大語言模型(LLMs)在需求工程中的應用:LLMs可用于理解(如分類需求)和生成(如生成測試用例)任務,本研究采用模板提示詞,注重可行性。
3. 自動化生成方法
  • A. 可解釋性需求推導
    • 預處理:用ChatGPT總結用戶評論(去除情感內容,德語輸出),人工驗證58條總結的準確性。
    • 生成需求:基于總結,用提示詞生成結構化需求(格式:“The system must explain…”),溫度設為0.3以保證一致性。
  • B. 解釋生成
    • 基于生成的需求,用ChatGPT生成UI中的解釋文本,溫度設為0.8以增強自然性和創造性。
  • C. 工具支持:開發Web工具(前端Vue.js,后端Python/Flask),支持上傳評論、分步生成(總結→需求→解釋)及結果導出。
4. 研究設計
  • 數據集:從Spotify用戶評論中隨機選取58條(涵蓋各類解釋需求),由4名需求工程師手工生成需求和解釋,作為基準。
  • 參與者
    • 需求工程師:8名(評估需求),均未參與數據集創建。
    • 終端用戶:14名(評估解釋),高頻使用音樂應用。
  • 評估方式
    • 比較AI與人工生成的 artifacts(隨機順序展示,隱藏來源),基于6項標準評分:語氣、風格、清晰度、正確性、相關性、詳細程度。
    • 計算Fleiss’ Kappa以衡量評分一致性。
5. 研究結果
  • A. 可解釋性需求評估(RQ1)
    • 偏好:人工生成需求更受青睞(296次 vs AI的168次),主要因相關性和正確性更高(分別被提及252次和194次)。
    • 統計:Chi-Square檢驗顯示偏好顯著((p=2.81e-09)),Fleiss’ Kappa為0.49(中等一致性)。
  • B. 解釋評估(RQ2)
    • 偏好:人工(447次)略多于AI(365次),但分歧大(31/58無多數);AI在清晰度和風格有優勢,正確性仍存疑。
    • 統計:Chi-Square檢驗顯示偏離隨機((p=0.004)),Fleiss’ Kappa為0.16(輕微一致性)。
  • C. 工具評估
    • 效率:減少44.2%(Group A)-52.5%(Group B)的需求生成時間。
    • 接受度:8名工程師均愿再次使用,6人“完全同意”工具的支持作用。
6. 研究貢獻
貢獻類型具體內容
方法提出從用戶評論自動推導可解釋性需求并生成解釋的自動化方法
數據集發布含58條用戶評論的標注數據集(含人工與AI生成的需求和解釋)
實證洞察揭示AI生成產物的優勢(解釋的清晰度、風格)與局限(需求的相關性、正確性)
7. 局限性與未來工作
  • 局限性:樣本量小(58條評論、單一應用)、評估者背景有限、LLM輸出的可復現性問題。
  • 未來方向:擴展數據集(多領域、多語言)、改進AI生成準確性(高級提示、領域微調)、多樣化參與者與應用場景。

關鍵問題:

  1. 研究中AI生成的可解釋性需求與人工生成的相比,主要差異是什么?
    答案:需求工程師更偏好人工生成的需求,主要因相關性(252次提及)和正確性(194次提及)更高;而AI生成的需求僅在解釋需求明確且結構化時偶爾被青睞,且在風格和語氣上影響較小。統計顯示,人工需求的選擇比例顯著高于AI(296次 vs 168次,(p=2.81e-09))。

  2. 該研究開發的工具在效率和用戶接受度方面表現如何?
    答案:工具顯著提升效率,使需求生成時間減少44.2%(Group A)至52.5%(Group B);在信任度上,工程師對工具生成結果的信任度與人工相當(4人“非常自信”,4人“自信”);接受度高,8名工程師均“完全同意”會再次使用,6人“完全同意”工具對需求生成的支持作用。

  3. 該研究的核心貢獻及對未來相關研究的價值是什么?
    答案:核心貢獻包括:(1)提出從用戶評論自動推導可解釋性需求并生成解釋的方法;(2)提供含58條用戶評論的標注數據集(含人工與AI生成的需求和解釋),作為基準;(3)揭示AI生成產物的優缺點(如AI解釋的清晰度優勢與正確性問題)。對未來研究的價值在于提供了可復現的方法、基準數據集,以及改進方向(如領域微調、高級提示技術)。

總結:AI是好幫手,但不是“全能神”

這篇論文通過一套完整的方法和實驗,展示了AI在處理軟件可解釋性需求方面的潛力。它告訴我們:

  • 解決的核心問題:如何把零散、主觀的用戶解釋需求,系統地轉化為結構化的開發要求和可用的解釋文本。
  • 主要成果:AI生成的內容在效率和風格上有優勢,但在準確性和相關性上仍需人工把關。研究提供的自動化工具能顯著減少工程師的工作量(平均減少44%-52%的時間),同時生成的數據集為后續研究打下了基礎。

簡單說,想要讓軟件更“善解人意”,AI是個得力的助手,但最終拍板還得靠人。

一段話總結:

本文介紹了一種工具支持的自動化方法,旨在從用戶評論中自動生成可解釋性需求和對應的軟件解釋,以解決將用戶反饋中的解釋需求轉化為結構化需求和解釋的挑戰。研究通過與工業自動化制造商合作,創建了包含58條用戶評論的數據集,每條評論均標注有人工和AI生成的可解釋性需求及解釋。評估顯示,雖然AI生成的需求在相關性和正確性上不及人工創建的,但AI生成的解釋常因清晰度和風格更受青睞,不過正確性仍是問題,凸顯了人工驗證的必要性。該研究的貢獻包括提出自動化方法、提供基準數據集及實證洞察。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/88839.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/88839.shtml
英文地址,請注明出處:http://en.pswp.cn/web/88839.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言---自定義類型(上)(結構體類型)

結構體結構體的定義與聲明結構體其實和數組一樣,都是一些值的集合,只不過數組是一系類相同類型的值,而結構體里邊的成員可以是不同的數據類型。關于它的聲明,所用到的關鍵字是struct。聲明的語法如下:struct 結構體名{…

Java觀察者模式實現方式與測試方法

一、實現方式 自定義實現 通過手動定義Subject和Observer接口,實現一對多依賴關系: // 觀察者接口 public interface Observer {void update(float temp, float humidity, float pressure); } // 主題接口 public interface Subject {void registerObser…

leetGPU解題筆記(1)

1.題面 題目要求 向量加法 實現一個程序,在GPU上對兩個包含32位浮點數的向量執行逐元素加法。該程序應接受兩個長度相等的輸入向量,并生成一個包含它們和的輸出向量。 實現要求 禁止使用外部庫 solve函數簽名必須保持不變 最終結果必須存儲在向量C中 示例…

5. JVM 的方法區

1. JVM介紹和運行流程-CSDN博客 2. 什么是程序計數器-CSDN博客 3. java 堆和 JVM 內存結構-CSDN博客 4. 虛擬機棧-CSDN博客 5. JVM 的方法區-CSDN博客 6. JVM直接內存-CSDN博客 7. JVM類加載器與雙親委派模型-CSDN博客 8. JVM類裝載的執行過程-CSDN博客 9. JVM垃圾回收…

網絡安全的基本練習

一.docker搭建 1.安裝dockerapt-get install docker.io docker-compose2.編寫配置文件(注意路徑正確)vim /etc/systemd/system/docker.service.d/http-proxy.conf[Service] Environment"HTTP_PROXYhttp://科學上網訪問的ip:端口" Environment&…

380. O(1) 時間插入、刪除和獲取隨機元素

實現RandomizedSet 類: RandomizedSet() 初始化 RandomizedSet 對象 bool insert(int val) 當元素 val 不存在時,向集合中插入該項,并返回 true ;否則,返回 false 。 bool remove(int val) 當元素 val 存在時&#xff…

【LeetCode Hot100 | 每日刷題】字母異位詞分組

題目鏈接:49. 字母異位詞分組 - 力扣(LeetCode) 題目: 給你一個字符串數組,請你將 字母異位詞 組合在一起。可以按任意順序返回結果列表。 示例 1: 輸入: strs ["eat", "tea", "tan"…

docker 安裝windows

目錄 下載地址: 使用教程: docker compose 查看版本 測試啟動 hello-world 報錯1 The system cannot find the file specified: 檢查 Docker Desktop 是否運行中 報錯2HF_ENDPOINT 1. 臨時解決方案(當前終端會話有效&…

docker compose 和build

目錄 docker compose 和build 的區別是什么? 核心差別: 1. docker build --platform linux/amd64 -f Dockerfile -t infiniflow/ragflow:nightly_lbg . 2. docker compose -f docker-compose-gpu.yml up -d 二者如何配合? 總結 docker …

裂變時刻:全球關稅重構下的券商交易系統躍遷路線圖(2025-2027)

——基于RWA清算、量子加密與實時非線性風控的下一代跨境基礎設施核心事件錨定:特朗普于7月7日對14國啟動分級關稅制裁(日韓25%、東南亞30%-40%、金磚關聯國10%附加稅),引發日元兌美元暴跌至144.47、銅價單日跳漲3.2%、散戶單日交…

python爬蟲初入門——基本庫和寫入方法

1.準備環境 python環境:3.10 2.常用庫 1.請求庫:實現 HTTP 請求操作 requests:基于 urllib 編寫的,阻塞式 HTTP 請求庫,發出一個請求,一直等待服務器響應后,程序才能進行下一步處理。seleni…

Sonar掃描C#代碼配置

需要的工具 MSBuild、sonar-scanner-4.6.1.2450-windows、jdk1.8.0_181 下載地址:https://download.csdn.net/download/code12313/91315686 配置sonar的地址 一、環境變量配置 1.新建變量,nameSONAR_RUNNER_MSBUILD_HOME。valueD:\work\dev\dev_serve…

python 在運行時沒有加載修改后的版本

陳舊的Python字節碼 (.pyc 文件):最常見的原因!Python 會把你修改的 .py 文件編譯成 .pyc 字節碼來加速后續運行。有時,即使你修改了 .py 文件,系統可能仍然固執地加載舊的、未被刪除的 .pyc 文件。1. 用“硬編碼探針”強制驗證# …

【會員專享數據】2013-2024年我國省市縣三級逐年SO?數值數據(Shp/Excel格式)

之前我們分享過2013-2024年全國范圍逐年SO?柵格數據(可查看之前的文章獲悉詳情)!該數據來源于韋晶博士、李占清教授團隊發布在國家青藏高原科學數據中心網站上的中國高分辨率高質量近地表空氣污染物數據集。很多小伙伴拿到數據后反饋柵格數據…

出現SSL連接錯誤的原因和解決方案

介紹 SSL連接錯誤是一種常見但關鍵的問題,這可能會阻止客戶端和服務器之間的安全連接。這些錯誤發生在TLS握手過程失敗時,這意味著客戶端和服務器無法建立安全的HTTPS連接。這種失敗可以在SSL/TLS協商過程中的任何階段發生,從初始協議協議到…

vue3 el-date-picker 保存后 日期減一問題

在使用 el-date-picker(Element UI 的日期選擇器組件)時,如果你發現日期在保存到后臺后自動減一,這通常是由于時區差異或者是時間格式解析問題導致的。這里有一些可能的解決方案:1. 檢查前端發送的日期格式確保你在前端…

什么是IP關聯?跨境賣家如何有效避免IP關聯?

一位深圳賣家曾管理30個亞馬遜店鋪賬號,某日清晨發現所有賬號被批量封禁——原因竟是平臺檢測到這些賬號長期共享同一IP地址,判定為“IP關聯”。而在跨境領域如亞馬遜、eBay、Shopee、TikTok等平臺),對于IP關聯的判定都是比較嚴格…

Redis集群方案——哨兵機制

Redis Sentinel(哨兵)是Redis官方提供的高可用性(HA)解決方案,用于管理Redis主從架構并實現自動故障轉移。一、集群結構和作用哨兵是一個分布式系統,由多個哨兵節點組成:哨兵的作用如下:監控:Se…

1.2.3_2 TCP/IP模型

在這個視頻中,我們要探討TCP/IP模型。對于TCP/IP模型考試的要求是這樣的,首先我們需要記住它各個層次的名稱和順序,以及我們需要了解TCP/IP 模型和OSI參考模型,它們在設計理念上有哪些區別,設計理念的區別又導致了TCP/…

EVOLVEpro安裝使用教程-蛋白質語言模型驅動的快速定向進化

寫在前面:蛋白質是生命活動的基石,其功能和序列之間的復雜關系長期以來吸引著科學家們的關注。盡管深度突變掃描等實驗方法可以解析蛋白質突變的功能影響,但這些技術的應用范圍局限于序列空間的一小部分。近年來,基于蛋白質語言模…