LLMRank icon indicating copy to clipboard operation
LLMRank copied to clipboard

关于输出中的合法输出和非法输出以及boostrap对比实验图中的Ours指标是如何计算的?

Open remember00000 opened this issue 2 years ago • 3 comments

您好~有以下几个问题希望能够得到回应:

  1. 两个数据集的输出格式不同,输出中符合格式的占多少?非法输出是如何处理的?
  2. boostrap对比实验图中的Ours指标是如何计算的?以及为什么这个策略能起作用? 图: image 谢谢~

remember00000 avatar Jul 24 '23 14:07 remember00000

您好!

  1. 非法输出大概有 1-5% 左右,论文中报告的结果是当作这些非法输出没有预测成功(大概等于赋了 0 分)。当然也可以写一些简单规则,比如遇到非法输出就重新跑一下,估计能再提升几个点。
  2. 这部分代码可以参考脚本 [link]:

Ours:

cd llmrank/

# ML-1M
python evaluate.py -m Rank

# Games
python evaluate.py -m Rank -d Games

Ours + Bootstrapping

cd llmrank/

# ML-1M
python evaluate.py -m Rank --boots=3

# Games
python evaluate.py -m Rank -d Games --boots=3

可以看到 Ours 就是第一部分使用 Sequential 这个 prompting 策略的 LLM-based recommendation model,和 #5 提到的赋分方式一样(当然 Ours 是没有 bootstrapping 的,相当于 boots==1)。拿到对每个商品赋的分数后,正常计算 NDCG 即可。

关于为什么这个策略可以起作用,可以参考论文 Alleviating position bias via bootstrapping 这个部分。

我们发现 LLM 受到 position bias 的影响,当 ground-truth item 在 candidate items 列表的位置靠后时,不容易被模型推荐到前面。因此我们通过多次打乱 candidate items 列表的顺序,希望缓解掉一部分 position 带来的影响(比如各个候选都有概率出现在各个位置上)。

hyp1231 avatar Jul 25 '23 01:07 hyp1231

好的,我这边测试使用和论文中类似的prompt,但输出的格式比较多,另外也不能完全控制输出完全来自于候选集,这块请问处理上是在同一个parser下仍然能控制在1-5%吗

remember00000 avatar Jul 26 '23 09:07 remember00000

嗯嗯我们也观察到了输出格式比较多、以及不一定完全属于候选集的情况。在我们当时的测试中,对于不同输出格式,只要能被 parser 解析,我们就认为是合法输出,并正常赋分;对于不一定完全属于候选集的情况,我们只解析了属于候选集的那部分。

之前提到的 1-5% 主要是针对第一个表格的实验来说的,即 ground-truth item 一定在候选集中的设定。这种设定下,没有生成 ground-truth 或者解析不了的大概有 1-5%。

hyp1231 avatar Jul 27 '23 13:07 hyp1231