Словники термінів і підказка, яку ми сховали

Коли ви кажете «pull request» у російській фразі, розпізнавач пише «пул реквест». Anthropic перетворюється на «Антропик», GitHub Actions — на «Гитхаб экшн». Ми витратили час, щоб це виправити, і результат вийшов не той, якого ми чекали.

Три способи виправити терміни

Розпізнавач працює зі звуком, тож перша думка була — підказати йому, які терміни слухати. Поруч з основною працює друга мала модель на 98 МБ: вона шукає терміни у звуці й переписує текст там, де чує один із них. Це ми називаємо підказкою. Другий спосіб — звичайний список замін, який застосовується до готового тексту, без моделі. Третій — суддя: невелика мовна модель читає речення й вирішує, чи справді термін тут доречний.

Ми перевірили всі три способи на чотирьох голосах і 1434 фразах, приблизно 57 варіантів налаштувань. Для кожного способу рахували, скільки фраз він виправив і скільки зламав.

  • Підказка: виправила 86, зламала 253. І ще 2,26 секунди на фразу проти 0,33 без неї.
  • Один список замін: виправив 69, зламав 16, миттєво.
  • Суддя: виправив 79, зламав 10. За часом майже безкоштовно: модель прокидається, лише коли в тексті справді трапився кандидат.

Підказка зламала втричі більше, ніж виправила. Її типова помилка — співзвучне слово: російське «посмотрел» перетворюється на «Postgres». Ми пробували прибрати зі списку ризиковані слова й отримали те саме співвідношення три до одного. Тому підказку ми вимкнули, а її перемикач сховали з налаштувань. Код лишився, поруч коментар, чому вона вимкнена.

Що тепер робить суддя

Раніше суддя питав модель лише про варіанти, які ми позначили як ризиковані. Ми перевірили, що буде, якщо питати про кожного кандидата. Підсумковий виграш той самий, але ламається 6 фраз замість 10, і зникає список, який ми писали вручну й який міг застаріти. Тепер суддя питає про всіх кандидатів. Розмір моделі важливий: модель на 1,7 мільярда параметрів зламала 24 фрази проти 10 у моделі на 4 мільярди за того самого зсуву помилок у словах. Якщо дивитися лише на помилку по словах, цього не побачити.

Списки термінів для всіх

Вбудовані списки для програмістів, дизайнерів і менеджерів відкриті кожному: їх можна обирати, редагувати й створювати власні. Публічний список зі 165 термінів для розробників з ліцензією MIT ми знайшли, а для дизайнерів і менеджерів не знайшли нічого, тож ці списки писали самі. Готових даних про те, як російськомовна чи україномовна людина вимовляє англійські терміни, ми теж не знайшли, тож ця половина роботи також наша.

Яким цифрам не варто вірити

Термінів у нашому тестовому наборі мало: 259 замін зачіпають лише від 16 до 28 фраз із 380. Секунди — це час розбору файла, а не затримка, яку ви відчуєте в живому диктуванні. Один голос виявився викидом: 28% помилок у словах проти 7,5–12% в інших. Затримку живого диктування, коли суддя питає про все, ми ще не виміряли. Читайте цифри як напрям, а не як обіцянку.

Ще з блогу