- PVSM.RU - https://www.pvsm.ru -
— Татьяна Леонидовна, а можно, мы посмотрим это кино с субтитрами?
— Нет, малолетние дятлы, мы тренируем ваше слуховое восприятие, поэтому кино вы будете смотреть без них! С субтитрами вы будете только читать текст и не слушать.
— Татьяна Леонидовна, но без субтитров мы больше половины не понимаем!
— А вот это уже ваши проблемы.
Начало 2000-х, диалог с учителем во французской спецшколе, Санкт-Петербург.
Сериалы и фильмы — прекрасная штука для улучшения английского. Ты уже знаешь грамматику, владеешь большим набором слов. Поддерживать свободную беседу с носителем языка еще рано, а практиковаться в тестах и упражнениях — уже скучно. Ты начинаешь смотреть кино и сериалы.
Смотришь себе и смотришь. Вроде все ясно-понятно, но тут начинается быстрый диалог двух героев, из которого ты понимаешь только предлоги. Ок, включаем сабы. И они решают проблему — ты начинаешь понимать происходящее.
Однако, посмотрев несколько видео с сабами, люди часто замечают две вещи.
Без сабов бывает ничего не понятно, а с сабами тормозится прогресс в слуховом восприятии и… все равно бывает непонятно.
На этом скрине из «Южного Парка» видно 7 слов. 6 из них знакомы почти всем, изучающим английский. И их вполне можно узнать и понять, даже если они произнесены быстро и с акцентом. Остается одно слово, с которым (с высокой вероятностью) будут проблемы. Слово weary — уставший, утомленный.
А остальные слова можно выкинуть. Они знакомы почти всем и совершенно не нуждаются в показе на экране. Если применить эту логику к остальным сценам, мы получим сабы, в которых появляются только трудные слова, а остальное нам придется слушать и понимать.
Как оказалась, эта идея совсем не нова. Беглый гуглинг показал, что как минимум несколько блоггеров писали статьи с аналогичной идеей, но предлагали делать адаптацию субтитров вручную. А мы, гики, будем делать автоматическую адаптацию сабов программно!
Задача сводится к поиску сложных слов в тексте, которые нуждаются в переводе.
Основная идея в том, что можно проанализировать ооооочень много текстов на английском, посчитать статистику по использованию слов и понять, что одни слова используются намного реже, чем другие. Эти редкие слова и подпадают под понятие «сложное слово» — они редко встречаются, поэтому вы не знаете их перевода и написания.
Я уже занимался всем этим в качестве хобби после работы (кстати, вот статья [2] о том, как все начиналось). Все это вылилось в проект Bamboo Ninja [3], который позволяет анализировать книги на английском, находить сложные слова в них, вставлять перевод и собирать книгу обратно. Субтитры — это тоже текст, поэтому я возьму наработки оттуда и применю их к субтитрам.
Мы открываем сабы, разбиваем их на кусочки, потом на отдельные слова и начинаем анализ. Для каждого слова нам нужно решить задачу бинарной классификации — пропустить слово через алгоритм, который вернет на выходе 1 или 0 — является ли слово простым для изучающего английский или сложным. Свое решение классификатор делает на основании статистических данных, полученных из анализа ~40 Гб текстовых данных из разных источников (вообще стоило собирать данные действительно по очень разным источникам: выпотрошить логи чатов, новости, тексты песен. А я поленился и использовал в основном тексты книг, но об этом чуть позже).
Дальше идет некоторое количество возни с базой данных, написания кода и получаются сабы, которые выглядят примерно так
Я прогнал через программу 3-4 десятка сабов, оценил значения метрик, которые выдал анализатор. Попробовал смотреть фильмы с тем, что получилось. Показывал друзьям, знакомым и посетителям сайта.
Для оценки результатов я использовал две классические метрики для задач машинного обучения:
Выяснилось, что значения метрик имеют тенденцию прыгать от фильма к фильму. На одних фильмах полнота и точность показывали 85%-90% от желаемого, а на других — в районе 55%. Покопавшись в проблеме, я нашел причину — большую часть данных для статистического анализа я собрал из художественных книг за последние 300 лет и некоторые слова в них встречаются чаще, чем встречаются в современном английском. Например, слово bayonet (штык) в те времена встречалось гораздо чаще, чем сейчас, но наш классификатор это слово считает не таким уж редким.
Хотя Колин, мой друг из Британии, долго смеялся и сказал, что выражение «мой мясной штык» (beef bayonet [4]) сейчас очень часто встречается среди военных, но этот случай мы рассматривать не будем.
Я решил откатиться к старой версии классификатора, который я использовал еще несколько месяцев назад. Он был построен еще летом с использованием всего лишь 500 больших книг, но книги в той выборке были более разнообразными: «Гарри Поттер», «Песнь льда и пламени», техническая документация для программистов, книги по психологии, медицине и многое другое. Классификатор с меньшим но более разнообразным количеством данных оказался на порядок лучше, чем классификатор, построенный только на английской художественной литературе. Алгоритм распознавания слов стал ошибаться намного реже.
Полученный результат в целом отвечает цели, но алгоритм все еще выдает сабы, пригодные для человека, имеющего солидный опыт в использовании английского. Нужно иметь определенный навык в распознавании речи на слух и ощутимый словарный запас в несколько тысяч базовых слов. В этом случае сабы сослужат хорошую службу в улучшении английского.
Все свои опыты я оформил в сервис и прикрутил к своему хобби-сайту [3] и добавил туда же небольшую библиотеку сабов [5] для желающих потестить эту штуку не отходя от кассы.
Превратить просмотр сериалов в учебный процесс вместо тупого чтения с экрана кажется стоящей задачей. А улучшение работы алгоритмы позволит провести с пользой еще много вечеров.
Всем спасибо! Хороших фильмов и успехов в английском.
Автор: 57uff3r
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/inostrannyie-yazyiki/113292
Ссылки в тексте:
[1] мышлении: http://www.braintools.ru
[2] вот статья: https://geektimes.ru/post/248294/
[3] Bamboo Ninja: http://bamb.ninja/
[4] beef bayonet: http://www.urbandictionary.com/define.php?term=Beef+Bayonet
[5] небольшую библиотеку сабов: http://bamb.ninja/subs-library
[6] Источник: https://geektimes.ru/post/271208/
Нажмите здесь для печати.