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幫你“翻譯”用戶需求
這篇論文的核心創新在于提出了一種工具支持的自動化方法,能夠:
- 從用戶評論中“讀”出他們需要解釋的地方;
- 自動生成結構化的“可解釋性需求”(告訴開發團隊“軟件必須解釋什么”);
- 基于這些需求,自動生成可以直接用在軟件界面上的解釋文本。
簡單說,就是讓AI充當“翻譯官”,把用戶的自然語言反饋,翻譯成工程師能懂的技術要求,再進一步變成用戶能看懂的解釋內容。
此外,研究還創建了一個包含58條用戶評論的數據集,每條評論都配有人工和AI生成的可解釋性需求及解釋,為后續研究提供了寶貴的基準。
研究方法:一步步拆解AI的“工作流程”
為了實現這個自動化過程,研究者設計了清晰的步驟,并開發了相應的工具:
-
處理用戶評論:
- 首先用AI(ChatGPT 3.5)總結用戶評論,去除情緒化的表達,只保留核心信息(比如把“這破彈窗太坑了,點啥都刪數據!”總結為“彈窗按鈕功能不明確,存在數據刪除風險”)。
- 這一步就像給AI“劃重點”,確保后續生成的內容不跑偏。
-
生成可解釋性需求:
- 基于總結后的評論,用特定的提示詞讓AI生成結構化的需求,格式統一為“The system must explain…”(比如“系統必須解釋彈窗中‘關閉’和‘確定’按鈕的具體功能”)。
- 為了保證需求的正式性和一致性,這一步會調低AI的“創造力”參數(溫度設為0.3)。
-
生成解釋文本:
- 基于生成的需求,再讓AI生成可以展示在軟件界面上的解釋(比如針對上面的需求,生成“彈窗中的‘關閉’按鈕僅關閉窗口,‘確定’按鈕會刪除當前數據,請謹慎操作”)。
- 這一步會調高AI的“創造力”參數(溫度設為0.8),讓語言更自然、更貼近用戶習慣。
-
開發支持工具:
- 研究者開發了一個網頁工具,支持上傳評論、自動生成總結、需求和解釋,并能導出結果,方便工程師使用。
-
對比評估:
- 為了驗證效果,研究者找了8名需求工程師和14名普通用戶,讓他們分別對比AI生成的需求和解釋,與人工精心制作的版本哪個更好。
- 評估標準包括清晰度、正確性、相關性、風格等6個方面至。
主要貢獻:AI很能干,但還需“人類把關”
這項研究的核心價值在于:
- 提供了一套實用的自動化方案:幫助企業更高效地從用戶反饋中提取改進方向,把“可解釋性”這種抽象需求落到實處。
- 給出了AI與人工的“實力對比”:
- AI生成的需求在相關性和正確性上不如人工,但偶爾也能給出不錯的答案(尤其是當用戶需求很明確時)。
- AI生成的解釋在清晰度和語言風格上更受用戶喜歡,但同樣存在正確性問題(比如可能編造不存在的功能)。
- 強調了“人機協作”的重要性:AI可以快速生成初稿,提高效率,但最終必須經過人工驗證,尤其是在正確性要求高的場景。
- 留下了寶貴的數據集:為其他研究者提供了可復用的資源,推動該領域的進一步發展。
思維導圖:
詳細總結:
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生成準確性(高級提示、領域微調)、多樣化參與者與應用場景。
關鍵問題:
-
研究中AI生成的可解釋性需求與人工生成的相比,主要差異是什么?
答案:需求工程師更偏好人工生成的需求,主要因相關性(252次提及)和正確性(194次提及)更高;而AI生成的需求僅在解釋需求明確且結構化時偶爾被青睞,且在風格和語氣上影響較小。統計顯示,人工需求的選擇比例顯著高于AI(296次 vs 168次,(p=2.81e-09))。 -
該研究開發的工具在效率和用戶接受度方面表現如何?
答案:工具顯著提升效率,使需求生成時間減少44.2%(Group A)至52.5%(Group B);在信任度上,工程師對工具生成結果的信任度與人工相當(4人“非常自信”,4人“自信”);接受度高,8名工程師均“完全同意”會再次使用,6人“完全同意”工具對需求生成的支持作用。 -
該研究的核心貢獻及對未來相關研究的價值是什么?
答案:核心貢獻包括:(1)提出從用戶評論自動推導可解釋性需求并生成解釋的方法;(2)提供含58條用戶評論的標注數據集(含人工與AI生成的需求和解釋),作為基準;(3)揭示AI生成產物的優缺點(如AI解釋的清晰度優勢與正確性問題)。對未來研究的價值在于提供了可復現的方法、基準數據集,以及改進方向(如領域微調、高級提示技術)。
總結:AI是好幫手,但不是“全能神”
這篇論文通過一套完整的方法和實驗,展示了AI在處理軟件可解釋性需求方面的潛力。它告訴我們:
- 解決的核心問題:如何把零散、主觀的用戶解釋需求,系統地轉化為結構化的開發要求和可用的解釋文本。
- 主要成果:AI生成的內容在效率和風格上有優勢,但在準確性和相關性上仍需人工把關。研究提供的自動化工具能顯著減少工程師的工作量(平均減少44%-52%的時間),同時生成的數據集為后續研究打下了基礎。
簡單說,想要讓軟件更“善解人意”,AI是個得力的助手,但最終拍板還得靠人。
一段話總結:
本文介紹了一種工具支持的自動化方法,旨在從用戶評論中自動生成可解釋性需求和對應的軟件解釋,以解決將用戶反饋中的解釋需求轉化為結構化需求和解釋的挑戰。研究通過與工業自動化制造商合作,創建了包含58條用戶評論的數據集,每條評論均標注有人工和AI生成的可解釋性需求及解釋。評估顯示,雖然AI生成的需求在相關性和正確性上不及人工創建的,但AI生成的解釋常因清晰度和風格更受青睞,不過正確性仍是問題,凸顯了人工驗證的必要性。該研究的貢獻包括提出自動化方法、提供基準數據集及實證洞察。