首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MASI距离的NLTK协议的低阿尔法

使用MASI距离的NLTK协议的低阿尔法
EN

Stack Overflow用户
提问于 2017-08-18 01:50:45
回答 1查看 533关注 0票数 3

当我使用MASI作为距离函数在NLTK中计算一致性时,Krippendorff的alpha值非常低。

三个编码员(Inky、Blinky和Sue)被指示根据文本的内容将主题标签(爱情、礼物、粘液或游戏)分配给两个文本(text01和text02)。每个文本可以与一个以上的主题相关,因此编码者可以为每个文本分配多个标签。用于计算的数据和代码如下所示:

代码语言:javascript
复制
import nltk
from nltk.metrics import agreement
from nltk.metrics.distance import masi_distance
from nltk.metrics.distance import jaccard_distance

#(coder, item, label)
data = [('inky','text01',frozenset(['love','gifts'])), 
      ('blinky','text01',frozenset(['love','gifts'])), 
      ('sue','text01',frozenset(['love','gifts'])), 
      ('inky','text02',frozenset(['slime','gaming'])), 
      ('blinky','text02',frozenset(['slime'])), 
      ('sue','text02',frozenset(['slime','gaming']))]

jaccard_task = nltk.AnnotationTask(distance=jaccard_distance)
masi_task = nltk.AnnotationTask(distance=masi_distance)
tasks = [jaccard_task, masi_task]
for task in tasks:
    task.load_array(data)
    print("Statistics for dataset using {}".format(task.distance))
    print("C: {}\nI: {}\nK: {}".format(task.C, task.I, task.K))
    print("Pi: {}".format(task.pi()))
    print("Kappa: {}".format(task.kappa()))
    print("Multi-Kappa: {}".format(task.multi_kappa()))
    print("Alpha: {}".format(task.alpha()))
    print()

当我运行代码时,我得到了以下结果:

代码语言:javascript
复制
Statistics for dataset using <function jaccard_distance at 0x09D26DB0>
C: {'inky', 'sue', 'blinky'}
I: {'text01', 'text02'}
K: {frozenset({'slime'}), frozenset({'love', 'gifts'}), frozenset   ({'gaming', 'slime'})}
Pi: 0.7272727272727273
Kappa: 0.7777777777777777
Multi-Kappa: 0.7499999999999999
Alpha: 0.75

Statistics for dataset using <function masi_distance at 0x09D26DF8>
C: {'inky', 'sue', 'blinky'}
I: {'text01', 'text02'}
K: {frozenset({'slime'}), frozenset({'love', 'gifts'}), frozenset({'gaming', 'slime'})}
Pi: 0.8172727272727272
Kappa: 0.8511111111111113
Multi-Kappa: 0.8324999999999998
Alpha: -1.5

我的问题是,与Jaccard相比,为什么使用MASI距离函数时的alpha这么低?

EN

回答 1

Stack Overflow用户

发布于 2020-11-23 21:22:44

在运行提供的代码时,我无法重现该错误,并获得了Krippendorff's alpha与MASI距离的正确值。我使用的是Python3.5.2,NumPy 1.18.2,NLTK3.4.5。因此,最可能的答案是需要更新NLTK。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45741934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档