Closed victorbocharov closed 4 years ago
Добрый день!
Да, действительно, считается accuracy, а не f1. Если сделать f1, то при попытке вписать неподходящие грамматические категории будет штраф за ошибку 1 рода.
Участникам вписывать лишние граммемы более-менее бессмысленно, потому что качество это поднимет только на очень редких граммемах, разметка которых в UD чередуется с нулём (доли процента в итоговом результате ).
Но методологически замечание верное - в ближайшее время сделаем апдейт.
Может быть имеет смысл взять скрипт отсюда (http://universaldependencies.org/conll18/conll18_ud_eval.py)?
Он умеет считать полноту, точность и f1, он давно отлажен. Если он совместим с задачами соревнования, то почему бы не воспользоваться существующими наработками? Результаты будут более сравнимы с соревнованиями, проводимыми ранее и на других языка.
Возможное возражение состоит в том, что этот скрипт отказывается что-то считать, если есть ошибки в формате (несколько корней у дерева, циклы и прочее).
Так радикально менять систему оценки мы точно не будем.
Можем добавить f1 и другие метрики из conll для удобства участников - если кто-то будет добавлять лишние граммемы, то это будет видно по f1. Так как изначально мы заявляли accuracy как основую кумулятивную метрику, основной метрикой лидерборда останется она.
Согласен. Метрики из conll лишними не будут.
Думаю, что evaluation script учитывает совпадение только тех фич, которые есть у токена в gold разметке. Попробовал добавить КО ВСЕМ токенам признаки Abbr и Foreign, и это увеличило оценку. Для токенов, у которых в gold разметке эти признаки есть - засчитано совпадение, для остальных - ничего не произошло.
Наверняка можно придумать и другие глупости, использующие эту особенность, т.е. поднимающие оценку в ответ на бессмысленную разметку.