trec 2019 fair ranking track
trec 2019 fair ranking track
最近实验室要求参加trec 2019新出的track:fair ranking track。这里整理一下该任务的思想和要求。这次track主要为学术论文数据的排序。
1 Protocol
会给定一个query集合Q,其中$q\in Q$。对于每个请求,会有一个query q和一个文档集合$D_q$。你需要做的就是根据q来重排序(rerank)$D_q$,重排序结果是$\pi$。最后把每一个请求都处理完返回$\pi$的集合的$\Pi$。过程如下:
Algorithm 1 Evaluation protocol
$\Pi$←{}
for q,$D_q\in Q$ do
$\pi$←SYSTEM(q,$D_q$)
$\Pi$←$\Pi+[\pi]$
end for
return $\Pi$
2 Evaluation
衡量指标主要分为两部分,相关性(revelance)和公平性(fairness)。
所谓相关性就是document和query的相关性,公平性主要为Author Exposure即论文作者的曝光度。
先介绍如何衡量作者的曝光度:
2.1 Measuring Fairness
2.1.1 Measuring Author Exposure for a Single Ranking
先为单个请求的重排序结果$\pi$计算作者的曝光度,某个作者a,在结果$\pi$的曝光度计算如下:
$$e_a^\pi=\sum^n_{i=1}[\gamma^{i-1}\Pi^{i-1}_{j=1}(1-p(s|\pi_j))]I(\pi_i\in D_a)$$
其中$\gamma$是一个给定的常数,$\gamma^{i-1}$用于表示排序后的document从上到下逐渐衰减的重要程度。$p(s|\pi_j)$表示用户看到排序的第j篇文档停下来的概率,该track假设用户停止的概率$p(s|\pi_j)$=$f(r_d)$,$f(r_d)$是用户被满足的概率,$r_d$是document和query的相关程度,f是一个单调函数。这代表着,document与query相关度越高,用户越容易被满足,所以停下来不再阅读。
$I(\pi_i\in D_a)$是指示函数,当第i篇文档属于作者a,该函数值为1,否则为0。$e^\pi_a$是排序$\pi$中作者a的曝光度(exposure)。
那么在所有结果中,作者a的曝光度如下:
$$e_a=\sum_{\pi\in \Pi}e^\pi_a$$
2.1.2 Measuring Author Relevance for a Single Ranking
上一节是衡量对于作者的曝光度,这一节主要考虑作者的相关性。什么叫作者的相关性呢,它是衡量作者论文在排序中的相关性之和,也就是对作者论文重要性的考量。
$$r^\pi_a=\sum_{d\in D_a}p(s|d)$$
$r_a^\pi$是排序$\pi$中作者a所有文章相关性的求和。
2.1.3 Measuring Group Fairness
上面给出了单个作者的exposure和relevance,每个作者都有从属于的group,按group累加作者的fairness以及relevance就能分别得到group的exposure和relevance。
$$\epsilon_g=\frac{\sum_{a\in A_g}e_a}{\sum_{g'\in G}\sum_{a\in A_{g'}}e_a}$$
$$R_g=\frac{\sum_{a\in A_g}r_a}{\sum_{g'\in G}\sum_{a\in A_{g'}}r_a}$$
所谓公平,就是让不同group的$\epsilon_g$和$R_g$差距尽可能一致。
$$\Delta_g=|\epsilon_g-R_g|$$
最后对所有group求一个Gini coefficient
$\Delta=\frac{\sum_{g,g'\in G}|\Delta_g-\Delta_{g'}|}{2|G|\sum_{g\in G}\Delta_g}$
2.2 Measuring Relevance
前面按group计算了exposure,这一节给出相关性$u_a^\pi$的计算。和$e_a^\pi$的公式几乎一样,就是把指示函数换成$p(s|\pi_i)$。
$$u_a^\pi=\sum^n_{i=1}[\gamma^{i-1}\Pi^{i-1}_{j=1}(1-p(s|\pi_j))]p(s|\pi_i)$$
$$U=\frac{1}{\Pi}\sum_{\pi\in \Pi}u^\pi$$
2.3 Trading Off Fairness and Relevance
按作者给的文档原话说,理论上fairness和relevance能够达到最优,但是实际操作上,可能往往提高fairness会降低relevance。所以最终要按一定比例寻求一个平衡。
trec 2019 fair ranking track的更多相关文章
- China International Industry Fair 2019
Today i visit the CIIF 2019, as a "professional visitor" since i have made an appointment ...
- 2019.02.14 codechef Chef at the Food Fair(线段树+泰勒展开)
传送门 题意:现在有nnn个位置,每个位置上有一个值aia_iai. 要求支持如下两种操作: 区间乘vvv 求区间的(1−ai)(1-a_i)(1−ai)之积 思路: 考虑转换式子: Ans=∏i ...
- COSC2309/2347 Semester 1, 2019
Mobile Application DevelopmentCOSC2309/2347 Semester 1, 2019Movie Night PlannerAssignment 1 (20 mark ...
- Fair Scheduler中的Delay Schedule分析
延迟调度的主要目的是提高数据本地性(data locality),减少数据在网络中的传输.对于那些输入数据不在本地的MapTask,调度器将会延迟调度他们,而把slot分配给那些具备本地性的MapTa ...
- Making every developer more productive with Visual Studio 2019
Today, in the Microsoft Connect(); 2018 keynote, Scott Guthrie announced the availability of Visual ...
- Ultimate Facebook Messenger for Business Guide (Feb 2019)
Ultimate Facebook Messenger for Business Guide (Updated: Feb 2019) By Iaroslav Kudritskiy November 2 ...
- CSc 352 (Spring 2019): Assignment
CSc 352 (Spring 2019): Assignment 11Due Date: 11:59PM Wed, May 1The purpose of this assignment is to ...
- 2019 AI CITY CHALLENGE
官网: https://www.aicitychallenge.org/ 基于来自交通,信号系统,基础设施和运输的传感器数据,存在使运输系统更智能的巨大机会.不幸的是,由于几个原因,进展受到限制 ...
- 12 Best Live Chat Software for Small Business Compared (2019) 最佳的wordpress在线聊天工具推荐插件 来帮你和潜在客户互动
12 Best Live Chat Software for Small Business Compared (2019) Did you know that more than 67% of ...
随机推荐
- 理解vue-loader
事情的起源是被人问到,一个以.vue结尾的文件,是如何被编译然后运行在浏览器中的?突然发现,对这一块模糊的很,而且看mpvue的文档,甚至小程序之类的都是实现了自己的loader,所以十分必要抽时间去 ...
- Java编程思想:XML
/* 本次实验需要在www.xom.nu上下载XOM类库 */ import nu.xom.*; import java.io.BufferedOutputStream; import java.io ...
- Postgresql_fdw
Postgresql_fdw 测试环境 Ubuntu 16.04 LTS云主机2台,主机名为pg1(192.168.0.34)和pg2(192.168.0.39). 安装postgresql 下面这个 ...
- 【栈-例题】网页跳转-C++
描述 蒜头君每天都在用一款名为 "蒜厂浏览器" 的软件.在这个浏览器中,一共三种操作:打开页面.回退和前进.它们的功能如下: 打开页面:在地址栏中输入网址,并跳转到网址对应的页面: ...
- [蓝桥杯] Fibonacci数列 入门
原题链接 import java.util.Scanner;//导入Scanner类 public class Main { public static void main(String[] args ...
- python黑帽子学习笔记1:pyqt5 designer+wmi实现进程监视器
环境说明:python3.6 所需要模块:wmi.pyqt5.pythonMagick 先放上一张成品效果图,如图所示: 界面利用pyqt5的designer实现,画好界面如下图所示: 画好后,保存好 ...
- windows无法执行 git reset head^版本回退操作的正确打开方式
^是cmd.exe的escape字符,属于特殊字符,命令里要用到文字 ^ 时必须用双引号把它夹起来,因此只要如下就可以正确执行: git reset head"^"或者git re ...
- js异步解决方法
在浏览器端,耗时很长的操作都应该异步执行,避免浏览器失去响应,最好的例子就是Ajax操作.在服务器端,"异步模式"甚至是唯一的模式,因为执行环境是单线程的,如果允许同步执行所有ht ...
- 敏捷和DevOps:是敌是友?
DevOps是敏捷在软件开发团队的另一应用.那么相比之下,哪个更胜一筹? 一边,有业界认可的scrum master,它的朋友极限编程者,以及由其衍生的 LeSS.SAFe.DAD等,是敏捷. 另一边 ...
- 【iOS】NSLog 打印 BOOL 类型值
这个问题以前没在意,刚偶然打印,发现有些问题,上网查了下,发现是这么搞的: NSLog(@"%@", isEqual?@"YES":@"NO" ...