Evaluating Position Bias in Large Language Model Recommendations

指出LLM Rec的时候,模型给出的推荐结果可能会受到item输入顺序的影响。输入的prompt格式如下

1
Based on the user’s preferences, can you rank the following items, item1, item2,...?
那么item列表打乱之后,得到的推荐序列结果也可能会与原本有很大的差异。 为了衡量这种现象的程度,作者设计了一个指标用于计算两个序列的相似性 \[ \tau = \frac{ n_{c} -n_{d} }{\frac{1}{2}n(n-1)} \] 其中\(n\)是item序列长度,也是最终推荐列表的长度。\(n_{c}\) 代表pairs ordered the same way in both rankings,那么\(n_{d}\)就代表pairs ordered differently in two rankings。那么这个\(\tau\)越大,就代表两个序列越相似,这么设计的合理性还是很直观的。 为了衡量模型受input position bias的影响程度,可以计算其在原始item序列\(K\)以及reversed \(K\)下推荐序列之间的\(\tau\)(Positional Consistency (PC)),也可以计算其在\(K\)的不同shuffle下推荐结果的两两平均\(\tau\)(Output Similarity (Sim))

接下来先看看作者是如何尝试降低input position bias对模型的影响的 600

设计非常直观,每次推荐时只取出推荐序列的top1,然后将剩下的item重新给llm进行推荐任务,最后将n-1次推荐结果合在一起得到最终推荐结果。如果一次性给n个item排序太难的话,就把任务进行拆解。这里每次只取出top1,记为RISE@1

600

这里\(K\)代表序列长度,Positional Consistency (PC),Output Similarity (Sim)的含义如前所述。首先可以看到RISE@1在缓解input position bias上确实是有帮助的,只是其在Amazon Books上的推荐效果(Recall, NDCG)反而落后挺多,说服力不是很足。

总之,本文提出模型在推荐任务中得到的结果会受到input position bias的影响,并指出对推荐任务进行拆解有助于缓解该现象。 但是没有尝试解释这一现象的内在原因,以及其具体是如何影响推荐性能的。这个bias本身的描述也不甚清晰,推荐结果中两个item之间的相对顺序的改变,是只受到它们在input中相对顺序的影响吗,还是与其它item也有关? 不过现象本身还是挺有意思的。


Evaluating Position Bias in Large Language Model Recommendations
https://sophilex.github.io/posts/871e7e59/
作者
Sophilex
发布于
2025年8月11日
许可协议