TODO-0188 · перефразы: +23.9 п.п. оказалось мусором, честный результат 61.6%
Перефразы вместо вариаций — правильная идея: у большинства меток был ровно один
сид, и из-за этого нельзя было построить честный отложенный набор (dev сжался
до 58 строк и трёх меток, кривая «объём → точность» вышла плоской на всех
объёмах). Перефраза — это независимый сид, и это разблокировало валидацию.
ПЕРВАЯ ЦИФРА БЫЛА НЕВЕРНОЙ, И ВОТ ПОЧЕМУ. Прогон дал «47.3% → 71.2%», что
выглядело отличным результатом. Проверка на смешение языков показала:
'а, не мог бы ты merke dass ich in berlin bin' ← русский + немецкий
'ну, не мог бы ты retiens que je vis à berlin' ← русский + французский
'короче, не мог бы ты hatırla ki berlin'deyim' ← русский + турецкий
Словари синонимов и рамки вежливости РУССКИЕ, а применил я их ко всем языкам.
20 514 из 32 729 перефраз — 63% — оказались смесью двух языков, попали в корпус
с метками от живого кода и обучали модель мусору. Именно поэтому вырос и
эталон: регулярки узнавали двухязычный мусор лучше модели, и «рост» на 23.9
пункта был ростом БЕНЧМАРКА, а не модели.
Починено: генерация разрешена только языку с собственным словарём, то есть
пока только русскому. Покрыто тремя тестами, включая прямой — немецкий сид
обязан дать ПУСТО, а не смесь.
ЧЕСТНЫЙ РЕЗУЛЬТАТ после починки
было 8 968 строк, 533 сида, модель 47.3%, живой 56.4%
стало 17 229 строк, 905 сидов, модель 61.6%, живой 71.9%
Разрыв сократился с -9.1 до -10.3 п.п. — почти без изменений, и это правда.
Модель выигрывает у регулярок на en (+19.3), de (+0.9) и lat (+50.8),
проигрывает на ru, es, tr.
ГЛАВНЫЙ ЭФФЕКТ ПЕРЕФРАЗ НЕ В ЦИФРЕ ТОЧНОСТИ, А В СТРУКТУРЕ: меток с двумя и
более независимыми сидами стало 61 из 72 вместо 20 из 65. Именно это сделало
валидацию различающей и открыло возможность честно измерить зависимость от
объёма, а не гоняться за процентами.
ОСТАЛОСЬ: словари переводов не написаны, поэтому перефразы только на русском,
а нехватка данных больше всего именно у de/en/fr/es/uk/tr. Это следующий рычаг
и следующая задача.