1. Интро. Личное
Я готовлюсь к языковому экзамену IELTS (International English Language Testing System) — пожалуй, самому популярному
тесту на знание английского. Если хочется эмигрировать, найти работу в международной компании — диплом IELTS очень пригодится. Шкала оценок — от 0 (от испытуемого не удалось получить даже внятного мычания) до 9 (экcперт — испытуемый чертовски хорош и может устроиться даже редактором лондонской газеты).
Для учебы, например, в США, нужно не менее 6.5 баллов (бывает и 6, но не часто), для работы — 7 и выше. А для эмиграции, допустим, в Канаду — чем выше оценка, тем лучше. Мой прогнозируемый балл перед сдачей теста — 5.5. Значит, что я могу читать газеты, смотреть кино, вести беседы в знакомых ситуациях, писать ответы на письма. Но для работы в центральном офисе Гугла явно недостаточно.
Что же делать, чтобы подтянуть уровень языка? Конечно же, начать использовать его в своей жизни как можно чаще и больше. Например, читать книги на английском.
Сказано — сделано. И вот я уже еду в бангкокском метро с читалкой Amazone Kindle и забитой в нее книгой «A Game of Thrones» (да, та самая «Игра престолов»). Первая страница проходит хорошо. Есть пара непонятных слов, но можно догадаться. Вторая страница — чуть хуже. Несколько непонятных слов, не догадаться. Лезу в телефон, перевожу. Дальше слов стало появляться больше. Чтение превратилось в возню с переводчиком и читалкой. Мысленно прикинув качество понимания текста и скорость чтения вижу, что читалку придется заменить на другой девайс.
В раунде 2 я вышел против книги вооружившись iPad Air с симкой безлимитного местного интернета. Бангкокский скайтрейн (поезд на эстакадах над улицами), все та же книга «A Game of Thrones». Дело пошло быстрей — переводить слова стало удобней, скорость чтения заметно выросла. Я уже было обрадовался, но тут скайтрейн доехал до района Пайя Тай и мы оказались среди высоток. Мобильный сигнал стал глючить, а вместе с ним — интернет. Чтение заметно тормознулось.
С этими книгами, словарями и возней нужно что-то делать. Да, даже в такой устоявшийся процесс, как чтение книг, можно внести что-то новое. Конечно, неудобства можно просто игнорировать. Но в мозгах уже росло радостное предвкушение от возможности соорудить новый велосипед с квадратными колесами.
2. Строим велосипед
Я открыл на ноутбуке epub файл с книгой и python.
Было бы здорово снять с себя всю возню по переводу непонятных слов в книге в процессе чтения. В идеале — вообще не касаться переводчиков, читая книгу.
Лингвисты говорят, что для бытовых ситуаций людям достаточно около 5 000 английских слов. Для чтения нормальной книги, очевидно, нужно больше. Я набросал простой python скрипт, который извлек из epub весь осмысленный текст и подсчитал в нем количество слов. Получилось больше 300 000. Мде.
Вообще слова в тексте имеют свойство повторяться. Следующим шагом я научил скрипт выделять список слов, использованных в тексте — словарь. Словарь книги составил примерно 19 000 слов.
Очевидно, что в словарь из 19 000 слов входят те, что я вынужден переводить. Здорово было бы найти незнакомые слова скриптом! Я посчитал количество повторений каждого слова в тексте. Из 300 000 слов книги — почти половина пришлась на повторения слов «a», «the», «of», «and», «I», «am», «do» и т.д.
Распотрошил еще несколько epub файлов с книгами и проверил данные. Стало видно, что опираясь на частотное распределение слов в тексте, можно автоматически найти в книге те слова, которые я, скорее всего, не знаю. Чем чаще слово встретилось — тем больше шансов, что оно мне знакомо. Несколько манипуляций со списком — и я получил список из 6 500 слов, которые я, скорее всего, буду смотреть в словаре при чтении.
За несколько вечеров добавил к первоначальному варианту скрипта всякие улучшений: распознавания множественного числа (apples приводим к формe apple), приведение глаголов к инфинитиву (working превращается в work) и т.д. Построил частотные распределения по причесанному списку, и на основе результата выбрал достаточно редкие слова, требующие перевода. Добавил к этому делу Google Translate API и собрал новый epub файл с книгой, в текст которой уже вставлены переводы сложных слов.
3. А дальше?
Пора тестить результат. Несколько глав из «A Game of Thrones» пролетели незаметно. Все понятно. Или почти все. За эти несколько глав ни разу не понадобилась помощь переводчика. Проверил книгу на других людях, но с примерно таким же уровнем языка — сработало и для них.
А это значит, что можно релизить публичную бету. Вот она — http://bamb.ninja/
С ее помощью вы можете бесплатно собирать свои epub книги, которые можно читать, не заглядывая в словари и переводчики.
Конечно, там еще много работы. Нужно корректно переводить слова с несколькими значениями, улучшать перевод разных форм глаголов, сделать настраиваемый уровень перевода для разных уровней владения английским, готовить упражнения для запоминания новых слов. Этим я буду заниматься на досуге в ближайшие месяцы.
Всем спасибо! Прогресса в английском и хороших книг.