Как вернуть неверные прогнозы NER в sklearn-crfsuite - PullRequest
0 голосов
/ 21 марта 2019

Я выполняю NER, используя sklearn-crfsuite.Я пытаюсь сообщить о упоминании сущности по случаю упоминания сущности как истинно положительное (как прогноз, так и ожидаемое правильное, даже если нет сущности), ложно положительное (предсказание говорит да, ожидаемое нет) или ложно отрицательное (предсказание говорит нет, ожидаемое да).

Я не вижу, как получить что-либо кроме сводной статистики на основе тегов / токенов для производительности NER.

Я бы согласился с другим способом группировки упоминаний сущностей, таких как: правильный, неправильный, частичный, отсутствующий, ложный.Я могу написать целую кучу кода вокруг себя, чтобы попытаться выполнить это (и, возможно, придется), но должен быть один вызов, чтобы получить эту информацию?

Вот некоторые из вызовов, которыеделается для получения сводной статистики:

from sklearn import metrics
report = metrics.classification_report(targets, predictions,
                                       output_dict=output_dict)
precision = metrics.precision_score(targets, predictions,
                                    average='weighted')
f1 = metrics.f1_score(targets, predictions, average='weighted')
accuracy = metrics.accuracy_score(targets, predictions)

1 Ответ

1 голос
/ 22 марта 2019

Не так просто получить упомянутые вами метрики (т. Е. Правильные, неправильные, частичные, пропущенные, поддельные), которые, как я считаю, совпадают с введенными в SemEval'13.

Мне также нужно былосообщить о некоторых результатах, основанных на этих метриках, и в итоге сам его кодировал:

Я работаю вместе с кем-то еще, и мы планируем выпустить его как пакет, который может быть легко интегрирован с системами NER с открытым исходным кодом и / иличитать стандартные форматы, такие как CoNLL.Не стесняйтесь присоединиться и помочь нам:)

...