跨评级机构协议phi,作为kripperndorfs alpha的替代方案,如https://github.com/alessandrocheco/agreement-phi所述
agreement-phi的Python项目详细描述
协议度量phi
跨等级协议度量phi的源代码。现场演示:http://agreement-measure.sheffield.ac.uk
要求
python 3+,pymc3 3.3+。请参阅Linux和OSX上测试工作版本的需求文件。
安装-带PIP
只需运行pip install agreement_phi
。
这将提供一个模块和一个名为run_phi
的命令行可执行文件。
安装-不带PIP
下载文件夹。
示例-来自命令行
准备一个csv文件(没有标题,每一行是一个文档,每一列是一个评分器),保留缺少的值为空。例如input.csv
:
1,2,,3
1,1,2,
4,3,2,1
从控制台执行。
运行run_phi --h
获得的更多详细信息:
usage: agreement_phi.py [-h] -f FILE [-v] [-l val val]
Phi Agreement Measure
optional arguments:
-h, --help show this help message and exit
-f FILE, --file FILE input FILE <REQUIRED>
-v, --verbose print verbose messages
-l val val, --limits val val Set limits <RECOMMENDED> (two values separated by a space)
示例-来自python
输入是一个numpy二维数组,对于缺少的值使用nan,或者等价于一个python列表(其中每个列表是一个文档的评级集,长度相同,根据需要使用nan填充)。每一行代表不同的文档,每一列代表不同的评级。请注意,phi不考虑评分者的偏见,因此每个文档的评分顺序无关紧要。因此,只有当文档具有不同数量的分级时,才需要缺少值和稀疏表示。
输入示例
import numpy as np
m_random = np.random.randint(5, size=(5, 10)).tolist()
m_random[0][1]=np.nan
或等效
m_random = np.random.randint(5, size=(5, 10)).astype(float)
m_random[0][1]=np.nan
运行度量推断
from agreement_phi import run_phi
run_phi(data=m_random,limits=[0,4],keep_missing=True,fast=True,njobs=4,verbose=False,table=False,N=500)
data
[non-optional]是输入列表的矩阵或列表(如果需要,所有长度相同且带有nan填充的列表)。
limits
定义比例[默认情况下自动推断]。这是一个列表的最小和最大(包括)的规模。keep_missing
[默认情况下根据nans数自动推断]布尔值。如果有许多nan,则可能需要切换到false,fast
[默认为真]布尔值。是否使用快速推理技术。N
[默认1000]整数。迭代次数。如果convergence_test
为false,则将其增加。verbose
[默认值为false]布尔值。如果为真,则显示更多信息table
[默认值为false]布尔值。如果为true,则以表的形式输出更详细。njobs
[默认1]整数。并行作业数。将其设置为可用CPU的数量。binning
[默认为真]布尔值。如果为False,请考虑非装箱比例边界中的值:这在使用离散比例时很有用,并且边界中的值应被视为符合限制,而不是在相应箱的中心。当边界的值具有很强的含义(例如[绝对不是,一位,中等,全部])时,这很有用,其中在刻度边界中的回答不在与刻度中的第二步接近的存储箱中。
请注意,代码将尝试推断比例的限制,但强烈建议包含这些限制(以防边界上的某些元素丢失)。对于本例,参数限制是limits=[0,4]
。
注意,keep_missing
将被自动推断,但是对于高度不平衡的数据集(每个文档的评级分布数),可以通过手动设置此选项来覆盖它。
输出示例
{'agreement': 0.023088447111559884, 'computation_time': 58.108173847198486, 'convergence_test': True, 'interval': array([-0.03132854, 0.06889001])}
其中“间隔”表示95%的最高后密度间隔。 如果收敛性检验为假,建议增加n。
参考文献
如果您将其用于学术出版物,请引用论文:
Checco,A.,Roitero,A.,Maddalena,E.,Mizzaro,S.,和Demartini,G.(2017年)。让我们同意不同意见:为众包制定协议措施。第五届aaai人类计算和众包会议记录(hcomp-17)(第11-20页)。aaai出版社。
@inproceedings{checco2017let,
title={Let’s Agree to Disagree: Fixing Agreement Measures for Crowdsourcing},
author={Checco, A and Roitero, A and Maddalena, E and Mizzaro, S and Demartini, G},
booktitle={Proceedings of the Fifth AAAI Conference on Human Computation and Crowdsourcing (HCOMP-17)},
pages={11--20},
year={2017},
organization={AAAI Press}
}