Судья поменьше для терминов вашего словаря
Распознаватель пишет необычные слова так, как они слышатся. Скажите «Redis» в русской фразе, и можно получить «редис». Для этого в VerbaIDE есть словари терминов: списки названий и того, как их обычно слышат неверно. На этой неделе мы обучили маленькую модель принимать окончательное решение, и она оказалась почти не хуже модели, которая больше неё более чем вдвое.
Что делает судья
Когда в распознанном тексте есть что-то похожее на термин из вашего словаря, приложение должно решить: это действительно термин или обычное слово? «Redis» и русское слово, которое звучит так же, — разные вещи, и замена вслепую ломает фразы, которые были верны.
Поэтому приложение спрашивает небольшую языковую модель, судью. Она читает фразу и слово-кандидата и отвечает «да» или «нет». Раньше мы выяснили, что спрашивать про каждого кандидата безопаснее, чем верить составленному вручную списку рискованных. Загвоздка во времени: вопрос задаётся, пока вы ждёте свой текст.
Что мы измерили
Четыре голоса прочли набор тестовых фраз с терминами. Для каждой модели мы считали два числа: фразы, которые судья исправил (термин встал на своё место), и фразы, которые он испортил (верное слово заменили). Итог — исправленные минус испорченные. «+63» значит, что на 63 фразы стало лучше больше, чем стало хуже.
- Модель на 4 миллиарда параметров: исправлено 70, испорчено 5, итог +65.
- Наша дообученная на 1,7 миллиарда: 68 и 5, итог +63.
- Та же модель на 1,7 миллиарда до нашего обучения: 77 и 23, итог +54. Она отвечала «да» почти на всё.
- Дообученная на 0,6 миллиарда: +58.
Все пять поломок у дообученной модели пришли из одной спорной фразы, ловушки, которую мы оставили нарочно. Слова-ловушки мы в обучение не включали, так что замер идёт на словах, которых модель не видела. На отдельном списке из 25 незнакомых терминов доля верных ответов «нет» выросла с 20% до 96%.
По скорости: один вопрос занимает около 0,07 секунды на модели в 1,7 миллиарда против примерно 0,20 на модели в 4 миллиарда. Файл — 1,7 ГБ против 3,3 ГБ. Поэтому она нам нравится.
Для обучения мы сгенерировали примеры фраз, где правильный ответ известен из того, как они устроены. «+63» — это замер на нашем тестовом наборе, а не обещание для вашей речи.
Как обстоят дела
По умолчанию она не включена. Приложение теперь умеет направлять судью на отдельную модель через скрытую настройку, отдельно от модели стилей. 7 октября мы включили её на одном из наших Маков. На живой диктовке мы её пока не мерили. Пока этого нет, у всех остальных остаётся прежняя схема, а когда это изменится, мы напишем об этом здесь.
О моделях подробнее — на странице языки и модели.