在评测信息整合能力时,noise_rate这个参数没有用到?
Jianwei-Lv opened this issue · 2 comments
Jianwei-Lv commented
在评测中文信息整合能力时,虽然设置了noise_rate=0.6,但是在processdata函数中,neg_num = passage_num - len(docs)这行代码显示,neg_num永远是负数。
个人感觉,processdata函数中的整合 positive文档的逻辑好像有问题
chen700564 commented
你好,这是一个正例文档太少产生的bug
passage_num 控制了最多的文档数,正例文档的数量为 passage_num * (1 - noise_rate)
假如是passage_num = 5 noise_rate = 0.6,这时候,正例文档数量为2。由于在信息聚合数据中,正例文档从多个query中分别采样,因此一定>=2,这会导致在23行执行时doc的数量>=2,从而导致29 和 31行无法正确break
解决方案:可以把passage_num设置成10,或者为24行之前增加一个条件:if len(docs) < pos_num: ,我将改正这一点,感谢您提出的问题。
Jianwei-Lv commented
谢谢你~