У меня задача вычислить inter-annotator agreement в multi-label classification, где для каждого примера может быть назначено более одной метки. Я обнаружил, что NLTK может измерить соглашение на основе метрики расстояния.Соглашение NLTK с метрикой расстояния
Я ищу пример вычисления krippendorff alpha с расстоянием MASI.
Это то, что у меня есть.
import nltk
from nltk.metrics import masi_distance
toy_data = [['1', 5723, [1,2]],['2', 5723, [2,3]]]
task = nltk.metrics.agreement.AnnotationTask(data=toy_data, distance=masi_distance)
print task.alpha()
Этот код не с
TypeError: unhashable type: 'list'
Очевидно, что следующее не работает в.
toy_data = [['1', 5723, set([1,2])],['2', 5723, set([2,3])]]
У вас есть рабочий стол? Спасибо!
Это терпит неудачу с сообщением об ошибке AttributeError: «кортеж» объект не имеет атрибута «пересечения», кроме того, это не только кортежи, он может быть больше, чем два значения. – com
Сообщение об ошибке указывает, что по какой-то причине ему нужен «frozenset». – alexis