想象一下,你是一家繁忙餐厅的厨师。你想知道顾客对食物的确切看法,以便改进菜单。你可以雇佣一支专业美食评论家团队来品尝每一道菜并撰写详细报告,但这既昂贵又缓慢。或者,你也可以直接阅读人们在网站上留下的成千上万条杂乱、情绪化且有时令人困惑的评论。
本文旨在探讨如何训练一台超级智能的计算机(称为大型语言模型,或 LLM)来阅读这些杂乱的评论,并找出那些真正关于可用性的评论——即应用程序使用起来的难易程度。
以下是他们实验的简化故事:
问题:噪音太多,时间太少
软件公司正淹没在用户评论中。人们会写道:“这个应用简直是噩梦!”或者“我点了三次,它还是没反应!”或者“我喜欢新功能,但按钮太小了。”
- 旧方法:为了找到有用的投诉,研究人员过去使用机器学习来训练计算机。但这就像试图通过向狗扔成千上万根棍子并指望它学会捡拾来训练狗一样。这需要大量的人力先对数据进行标注。
- 新想法:如果我们直接让一台超级智能的计算机(LLM)阅读评论并告诉我们哪些是关于“可用性”的,会怎样?这些计算机已经在整个互联网上接受过训练,因此它们可能无需我们从头教导就能理解上下文。
实验:“品尝测试”
来自德国的研究人员设立了一项受控测试,以查看计算机能否像人类专家一样胜任这项工作。
食材:他们从三种截然不同的应用程序中收集了 300 条真实用户评论:
- 交通/雷达应用(供驾驶员使用)。
- 杂货店应用(供购物者使用)。
- 音乐制作应用(供音乐家使用)。
- 为什么选这三种? 为了确保计算机不仅仅擅长处理某一特定类型的语言。
人类评委:两位人类专家阅读了所有 300 条评论。他们使用一份著名的清单(尼尔森十大可用性启发式原则)来判断一条评论是否关于“可用性”(真)或否(假)。他们就那些棘手的问题进行争论,直到达成一致。这创造了“黄金标准”答案键。
计算机学生:他们给 LLM 提供了一套指令(称为提示)。可以将此提示想象成食谱。
- 第一次尝试:食谱很模糊。计算机感到困惑。
- 第二和第三次尝试:研究人员完善了食谱,添加了更具体的步骤和示例(例如告诉计算机:“如果有人说应用‘笨拙’,这就算作可用性问题”)。
- 最终测试:他们给计算机提供了最终完善的食谱,并要求它对全部 300 条评论进行评分。
结果:有希望但不完美的学生
研究人员将计算机的评分与人类专家的答案键进行了比较。
- 好消息:计算机在找出“真”评论方面出奇地好。它没有漏掉多少可用性问题投诉。如果人类说“这是一个可用性问题”,计算机通常会同意。
- 坏消息:计算机有点过于急切。有时,当人类认为只是一般性投诉或错误时,它却将某些评论标记为“可用性问题”。
- 可靠性检查:当他们测量计算机和人类在完全相同的答案上达成一致的概率时,结果喜忧参半。
- 对于音乐应用,他们相当一致。
- 对于交通和杂货应用,他们分歧更多。
- 至关重要的是,计算机的错误并没有发生在人类也不确定的地方。计算机正在犯自己独特的错误,这意味着它尚未完全像人类专家那样“思考”。
结论:得力的助手,而非替代品
该论文得出结论,虽然计算机尚未准备好完全取代人类专家,但它是一个非常有用的工具。
将 LLM 想象成一名超级快速的实习生。
- 如果你让实习生阅读 1,000 条评论,他们会找出几乎每一条关于可用性的投诉。
- 他们也可能标记出一些实际上并非可用性问题的内容(误报),但研究人员认为,拥有一些额外的评论供检查总比错过真正的问题要好。
- 让实习生高效工作的关键在于提示(指令)。模糊的指令导致糟糕的结果;而详细、精心设计的指令则带来良好的结果。
简而言之:你不再需要花费数月时间训练计算机来阅读评论。你只需要给一台智能计算机一套非常清晰的指令,它就能出色地帮助你发现用户真正的需求。不过,你仍然需要人类进行复查,特别是针对棘手的情况。
技术摘要:利用大型语言模型将用户评论作为可用性需求来源
问题陈述
现代软件产品面临日益增长的功能复杂性,造成了显著的可用性挑战。虽然以用户为中心的需求工程(RE)已知能提高产品的适用性,但直接让用户参与既耗费资源,对开发团队而言往往也不可行。基于众包的需求工程(CrowdRE)试图通过利用公开的用户反馈(例如应用商店评论)来弥合这一差距。然而,现有的从此类反馈中分类可用性方面的方法严重依赖机器学习(ML)或深度学习(DL)。这些传统方法需要大量人工标注的训练数据集,从而成为快速开发周期的瓶颈。此外,标准的机器学习模型通常难以处理用户评论中常见的上下文细微差别和非正式语言(例如表情符号、习语),通常仅依赖简单的关键词匹配。目前存在一个关键的研究空白,即如何将大型语言模型(LLM)的高级自然语言理解能力与以用户为中心的众包需求工程方法相结合,从而在无需针对特定任务进行密集训练的情况下提取可用性需求。
方法论
本研究调查了经过特定提示的大型语言模型(OpenAI 的 gpt-4.1)是否能像人类评分员一样有效地识别与可用性相关的用户评论。研究围绕两个研究问题(RQs)展开:
- 定制的大型语言模型在识别与可用性相关的评论方面,其性能是否与人类编码员相当?
- 大型语言模型在随机数据集中识别这些评论的可靠性如何?
数据收集与准备:
- 数据集: 从 Google Play 商店收集了 300 条用户评论的数据集,均匀分布在三种不同的应用程序类型中以确保多样性:BlitzerDE(地图/导航)、Lidl Plus(电子商务)和FL Studio(音乐创作)。
- 人工标注(基准真值): 两名经验丰富的评分员根据10 项尼尔森可用性启发式原则对数据集进行了标注。如果评论包含至少一条与启发式原则相关的陈述,则将其编码为“真”(与可用性相关),否则为“假”。
- 排除项: 功能请求、重叠的非功能性需求(例如无障碍性、兼容性)、模糊陈述、错误报告以及源于外部上下文(例如操作系统或硬件)的问题均被排除。
- 过程: 采用了迭代编码过程。对 20 条评论进行的预编码轮次发现了指南中的歧义,从而完善了编码指南。第二轮涵盖了全部 300 条评论。使用科恩卡帕系数(κ)计算了评分员间的一致性,结果显示三款应用之间均存在实质性的一致性(κ范围从 0.61 到 0.76)。
- 大型语言模型提示工程: 基于完善的编码指南,利用思维链(Chain-of-Thought)提示开发了一个初始提示,以指导大型语言模型进行中间推理步骤。该提示通过使用 30 条评论的测试样本(每款应用 10 条)经过三次迭代进行了优化。作者明确避免了少样本提示(few-shot prompting)以防止过拟合,转而优化提示内的指令和目标。
主要贡献
本文提供了三项主要贡献:
- 编码数据集: 一个完全标注的 300 条用户评论数据集,涵盖三个不同的应用类别,由两名人类评分员和大型语言模型共同标注,可在补充材料中获取。
- 提示工程框架: 一个初始提示和编码指南,专门源自 10 项尼尔森可用性启发式原则,用于筛选与可用性相关的评论,并通过迭代优化开发而成。
- 性能分析: 对大型语言模型识别可用性作为非功能性需求的能力进行了实证测定,并与人类表现进行了比较。
结果
- 人类基线: 两名人类评分员将 300 条评论中的 148 条(49.3%)识别为与可用性相关。评分员间的一致性为实质性(κ 0.61–0.76)。
- 大型语言模型性能(指标): 使用最终优化的提示,大型语言模型将 173 条(58%)评论识别为与可用性相关。
- 精确率/召回率: 大型语言模型表现出高召回率(各应用间为 0.84–0.93),但精确率略低(0.73–0.79),表明其比人类评分员更为宽容(识别出更多潜在的可用性问题,其中一些被人类拒绝)。
- F 分数: 大型语言模型在不同应用中的 F1 分数介于 0.78 到 0.82 之间。
- 可靠性(评分员间一致性): 将大型语言模型的标签与最终的人类共识进行比较时:
- BlitzerDE: 一致性一般(κ=0.34)。
- Lidl Plus: 一致性中等(κ=0.55)。
- FL Studio: 一致性实质性(κ=0.63)。
- 统计显著性: 对评分员确定性与大型语言模型正确性之间相关性进行的卡方检验得出的 p 值为 0.35,表明不存在统计上的显著相关性。大型语言模型无法可靠地复现人类的心智模型,并在不同且意想不到的地方犯错。
意义与主张
本文结论认为,虽然由于可靠性和一致性水平较低,大型语言模型尚不能完全取代人类评分员,但它们代表了需求工程中一种可行且资源高效的选项。
- 权衡: 作者认为,训练传统机器学习/深度学习模型的资源开销对大多数团队而言是不切实际的。相比之下,大型语言模型以显著更低的开销实现了可接受的结果。
- 宽容性: 大型语言模型倾向于略微更加宽容(更高的召回率),这被视为一种实际优势;在现实场景中,收集少量不相关的评论优于遗漏相关的可用性需求。
- 未来方向: 本研究作为一个先驱,表明未来的研究应专注于复杂的提示工程(例如少样本提示),并将优化后的大型语言模型与传统机器学习/深度学习方法进行对比,以确定特定众包需求工程任务的最佳技术。作者强调,该方法的成功高度依赖于定制提示的质量。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。