Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Ни для кого не секрет, что отношение шума к сигналу на Хабре неуклонно растет (в рассылке я лично вижу в основном 3 типа статей - популизм про AI, корпоративная реклама и желтые "жжёные" статьи про рынок IT). Многие "настоящие" авторы уходят с Хабра потому, что просто качественный технический контент может пройти незамеченным, а как показала практика пользователи, создающие уникальный авторский контент, могут быть не всегда или не во всём равны с корпорациями, создающими выручку. Про политику говорить не буду, но и тут есть причины.
Логично, что как и на любом "выжившем" ресурсе создавшийся вакуум заполнят авторы с пониженным уровнем критического мышления или ответственности (мы это кстати ярко видим на Пикабу, после отмены "минусов"). Зачем же я пишу эту статью? Совсем недавно на Хабре вышла статья, и судя ее оценкам, публике она зашла.
В статье сравнивались разные системы синтеза речи, в частности публичная версия нашего синтеза речи и решения гига-корпораций. Мнение автора просуммирую точной цитатой: "Даже на таком небольшом тесте мы видим, как отстает силеро. … Конечно, такое небольшое сравнение не сможет показать всей картины, но мы уже видим примерное качество. … Я не питаю к Silerо tts никакого негатива, но после слов про 100% решения ударений в этой статье, и убедившись в обратном на основании результатов теста, слегка разочарован."
И вы спросите что с этим не так? Человек бесплатно прорекламировал нас в одном ряду с компаниями, кто проинвестировал в свои решения на 2-3 порядка больше денег. Но есть один нюанс.
Отсутствие критического анализа
Нюанс в том, что все эти выводы в основном не имеют почти никакого отношения к реальности. Давайте разбираться. В статье приведены следующие тезисы (точные цитаты):
"Регулярное гудение, шипение";
"Ошибки на обычных словах";
"Зачастую модель скатывается в месиво, где ещё попробуй разбери слова";
"Модель часто игнорирует знаки препинания";
Все выводы построены на эксплуатации того, что публичная модель (и бот на момент написания статьи, уже пофиксили в боте) не обрабатывали должным образом символ переноса строки, а автор якобы "копировал тексты из интернета". Если убрать эти символы, то все выводы … просто обнуляются. Если просто убрать знаки переноса строки, то всё начинает работать как надо и как было запланировано.
Такой вот глубокий уровень анализа. Подробнее я расписал тут, тут и тут (осторожно много букв). За более чем 2 года коммерческой эксплуатации это ни разу не было проблемой, а тут из этого строится уже целый нарратив. Банально мы не обрабатываем целые книги одним запросом, а обрабатываем скорее абзацы текста, поэтому переносы как бы были "не нужны" и в публичной модели они даже не входят в список разрешенных токенов.
В итоге в комментариях на Хабре человек признал "маленькую неточность" своих выкладок и я попросил написать опровержение / поправить статью / запинить комментарий, но автор меня проигнорировал. Поэтому и появилась эта статья.
Что в сухом остатке?
В сухом остатке нашлась блуждающая багуля со словом "вода" (обычно это в датасете бывают моменты) и то, что в нашем словаре у слова "голубой" стоит неверное ударение.
Не очень густо для таких громких выводов. Ну, лишний раз еще раз проверим свой словарь ударений, уверен, что там еще много таких ошибок, впишем слово в словарь "исключений".
Если кто-то замечал еще такие же приколы с ударениями (не слов-омографов) пишите в комментарии, пофиксим словарь.
Что не так с тезисом про тексты из Интернета и как ещё аналогично сломать модель?
Основная защита автора строится на том, что он мол взял тексты из Интернета. Мол это не я, у меня лапки, это я просто скопипастил. 30 раз подряд. И не заметил, что баг в одном и том же месте. Это было бы еще верно, если бы у нас была заявлена нормализация текста или озвучка книг или стихов.
Но тут отмечу, что после почти года анализа тонны текстов, которые люди присылают в нашего бота, и чтения потоков в чатике, есть еще как минимум несколько способов "сломать" не только наш, но возможно любой синтез речи.
Там люди тоже копируют из Интернета (с сайтов анекдотов или сайтов приколов) и там есть следующие приколы (или способы отслеживать кто у кого копирует какие тексты):
Замена букв кириллицы на аналогичные буквы латиницы;
Замена пробелов на "похожие" символы, но не "пробелы";
Добавление невидимых при печати символов;
Взяв на вооружение любой из таких методов (или похожий), можно прийти к любому наперёд нужному или "правильному" выводу про любой сервис синтеза речи, что собственно автор и сделал.
Моё личное мнение
Тут мы закончили с "фальсифицируемой" частью статьи, перейдем к моей личной оценке.
Наверное, после таких серьезных находок стоит как минимум перепроверить результат (почему-то жевало слова всегда именно в конце строки перед началом новой, и автор не мог этого не заметить) или написать автору в личку. Но, так сову на глобус не натянешь.
К примеру, когда мы сравниваем системы распознавания речи, мы всегда делаем банальную проверку "от дурака", чтобы не выходить с заголовками "СБЕР / ЯНДЕКС СКАТИЛСЯ БЕЖИМ!!!". И зачастую наши косяки, или мелкие косяки или "особенности" разных АПИ приводят к забавным багам - типа 50% всех текстов оказываются пустыми (ну или запустил прошлый код, а АПИ уже чуть поменялось). После проверки оказывается, что мы подали не ту частоту дискретизации, ну что же, бывает. Один раз мы 5 раз прогоняли тесты на одном из сервисов из-за такой фигни.
То, что автор по-быстрому не поправил выводы / отредактировал статью / запинил комментарий, чтобы не опростоволоситься на весь Хабр, а продолжил гнуть линию о "маленькой неточности" наводит меня на мысли, что "наброс" был сделан целенаправленно. А то странно получается, такие громкие выводы и все рассыпаются от удаления одного символа. Еще изюминку добавляет картинка, которой автор проиллюстрировал свои "выводы". Это наводит на мысли, что вероятно ей он хотел оскорбить меня лично, ссылаясь на мой неизменный аватар на всех платформах, но это уже на правах теории заговора.
Лишний раз подробно останавливаться о том, что не так с самой моделью расстановки ударений не буду, это предмет отдельного детального анализа. Пару слов написал тут. Мы гоняли простые тесты, и модель не выдерживала базовых проверок заявленных качеств, но громких статей мы писать естественно не стали, чтобы не показать себя дураками. Потому что любое качественное сравнение моделей - это в первую очередь огромная работа.