-1
Completed

Код качества как вероятность распознавания

Anonymous 4 years ago in Стандартизация • updated by Антон 4 years ago 2
Основной вопрос - параметр qc в ответе. Исходя из документации, он 0 - если имя было распознанно уверенно, 1 - если требуется уточнение. Но проблема в том, что это практически не дает никакой информации при автоматическом распознавании. Получается или "мы уверены на 100%" или "кажется, так, но никаких гарантий". Если в случае qc = 1 не применять полученные от DaData результаты, то есть шанс вообще никогда ничего не использовать.

Простой пример:
=> {:source=>"иванов ваня васильевич", :surname=>"Иванов", :name=>"Иван", :patronymic=>"Васильевич", :gender=>"М", :qc=>1}

Мы получаем qc = 1, видимо, потому что имя дано в уменьшительно-ласкательной форме - "Ваня". Но результат распознавания верный. Как быть? В итоге, сейчас приходится просто забывать про качество рапознавания и брать все, что вернет API. Что, как вы понимаете, не комильфо.

Было бы замечательно интерпретировать qc как вероятность, что распознание прошло успешно. Тогда параметр qc должен принимать значения от 0 до 1. Чем ближе к 0, тем меньше вероятность, что на эту информацию можно полагаться. Чем ближе к 1 - тем лучше. При таком раскладе клиент API сам решает, какой уровень qc для него приемлем.
Under review
По опыту наших заказчиков, вероятность в коде качества — слишком субъективная метрика. Бинарная градация проще и надежнее:
  • если код качества 0 — берем результат от Дадаты и используем;
  • если 1 — отправляем на утверждение человеку, потом используем.
Результат с кодом качества 1 тоже ценен, просто обязательно показываем его человеку, чтобы подтвердил или исправил.