Identifying User Goals from UI Trajectories论文学习
通过UI轨迹识别用户的需求。
这篇论文同样聚焦于UI agent,只是思路比较特别。他们想要通过训练agent通过用户的行为轨迹反推出他们想要干什么的能力来锻炼agent识别,理解,使用UI的能力。同时这个训练项目本身也有一定的实际意义,可以把用户的意图记录下来哪天用来预测一下用户需要什么的(想打广告?)
同样的一组动作,用户可能会有很多种意图。这里是让模型去预测最可能的一种。
那么项目组是如何判定agent给出的用户意图与数据集里人工给出的意图一致呢?:
首先,论文假设数据集给出的UI轨迹是完全的,用户的目的已经达到了。因此,假如agent给出的用户意图是UI轨迹中还没有完成的事,那就是错的。
论文把用户的意图分为两类:寻找信息和做出改变。做出改变类型的任务意图就是要完成特定需求,,寻找信息类型的任务就是要给出用户需要的关键信息。
接下来是判断agent的描述和答案的匹配标准。首先我们要解释“满足”是什么意思。A满足B代表完成任务A那么任务B也完成了。可以理解为,A是一个描述更加详细的任务。假如agent的任务描述和答案相互满足,这当然是最好的(注意是在UI环境下,例如A任务说"大",B任务说“100”,要是UI认为100就是大,大就是100,它们也是等价的)。假如是一方满足另一方(也就是agent的描述太宽泛或太详细)那就叫部分满足。
事实上,该项目的人工审核的时候就是按照两个标准判断的:1是agent给出的用户意图是否满足标准答案,2是agent给出的是否和标准答案互相匹配。(可以看到项目组是比较倾向于让agent往详细了描述的,毕竟特别详细有一点奖励,太宽泛就完全没有了)
同时,该项目也有机器审核。这里使用了GPT4o,评价标准和人工一样。
最后在GPT4,Gemini 1.5pro,和人身上做了实验,表现是由坏到好。大家的错误主要集中在输出结果太宽泛,要么就是有误解(比如“选择评价最高的电影”理解为“选择《黑暗骑士》”)。而且fewshot表现和zeroshot差不多,可能是fewshot之后上下文信息太多了,模型把握不住。
感觉这种错误可以理解啊,这些行为本来就是摸棱两可的,不一定说一定要一模一样,言之有理即可吧。要么就在数据集里加上一大堆可能的意图,只要模型答对其中一个就行。还可以为不同的合理程度做评分,感觉比单一标准更好,这主要是数据集的锅。
当前的工作还有一些限制:语言局限,实际情况中用户可能会有多个意图或者原本的意图会被打断,用户的意图也可能因为一些影响而发生变化,或者干脆不太会用,正在试探。而且现有的数据集也没有做multitask的。