Английский по-программистски

    Чуть менее года назад я всерьез решил подтянуть английский, изучая его самостоятельно всеми доступными методами: прослушивание новостей, подкастов и книг, чтение художественной литературы, в том числе и в слух, ведение дневника и, конечно же, с помощью различных программ. Столкнувшись с последними, я понял, что можно написать аналоги как минимум не хуже. Что у меня в итоге получилось — под котом.



    Все программы выполнены в виде сайтов и имеют адаптацию для мобильных устройств. Исходники доступны на GitHub. Эффективность предлагаемого — под вопросом.

    Перевод слов и фраз в подсказке по двойному клику в Firefox


    Чтобы постоянно не лазить за переводом на вкладку со словарем, было написано два скрипта GreaseMonkey для получения подсказки и произношения по двойному клику на слово. Первый показывает описание слова из толкового словаря Cambridge на английском; второй же, при зажатом Alt, — перевод на русский посредством API LinguaLeo (сделал так, потому что есть мнение, что лучше учить слова посредством толковых словарей, а не переводчика). Помимо клика можно выделить слово или его часть и нажать F1 и Alt + F1, соответственно. Отмечу, что LinguaLeo позволяет получить перевод по выделенному фрагменту текста и более однородную озвучку.

    В комплекте также имеется «записная книжка», куда можно сохранять слова и фразы, чтобы потом к ним вернуться (доступна в Firefox на любой странице по Ctrl + F2).

    Как установить
    Исходники

    Распознавание слов на слух через написание


    Идея следующей программы состоит в том, чтобы прослушать слово и напечатать его без ошибок. По сути это клон «Багажа Слов» от PuzzleEnglish. Его бы и не было, если бы там бесплатно были доступны слова посложнее. Потому, вооружившись списком из 10000 слов, отсортированных по встречаемости в текстах, и Forvo, где можно прослушать как произносят выбранное слово различные люди, сделал клон, добавив при этом разных плюшек.

    Справка
    • Нажмите Пробел, чтобы прослушать слово еще раз.
    • Очки ни на что не влияют. Их можно использовать для выполнения дневного норматива.
    • Слишком легко? Смените популярность слов на Usual и увеличьте длину слов в настройках.
    • За правильно набранное слово добавляются очки равные длине слова.
    • За каждую ошибку число очков уменьшается по геометрической прогрессии.
    • Нажмите Ввод, чтобы пропустить слово.
    • Слова, набранные с ошибкой, добавляются в изучаемый список и будут показаны в следующей сессии.
    • Слово можно принудительно добавить в список, нажав на него.
    • Список можно просмотреть по иконке в левом верхнем углу.
    • В списке при нажатии на i напротив каждого слова будет выполнен переход в словарь (задается в настройках).
    Программа
    Исходники

    Фразовые глаголы с Macmillan


    Для изучения фразовых глаголов что-то отличное от списка нашлось только в Words, но по их методике я так ничего и не запомнил. Обдумывая альтернативы, наткнулся на старую «игру» от Macmillian еще на Flash. Её то идею — я и развил: для фразового глагола сначала показывается его описание, а затем по этому описанию нужно подобрать глагол или предлог, или наоборот по описаниям выбрать правильное. На правильный ответ для этого глагола будет показано следующее задание, на неправильный будет откат на предыдущее. Если все задания пройдены, то глагол изымается из списка и предлагается новый. Одновременно изучается сразу несколько глаголов, что несколько позволяет избежать визуального запоминания правильного ответа.

    Программа
    Исходники

    Работа с произношением через Google Speech API


    Разговорная речь важный навык, требующий не только способности строить предложения (что отчасти можно прокачать письмом), но и правильного произношения, что подразумевает слушателя, способного указать на ошибки. При самостоятельном изучении до недавнего времени единственным способом для этого было запись и последующее прослушивание своей речи. Но с приходом новых технологий ситуация значительно улучшилась.

    В своем видео Christian Saunders, ведущий замечательного канала Canguro English для изучающих английский, предложил использовать распознавание речи в Google Docs для проверки произношения сравнением читаемого текста и распознанного. Идея мне настолько понравилась, что я быстро сделал сайт, который позволил бы делать это чуть удобнее, предлагая готовые задания и подсвечивая ошибки.

    Для работы нужен браузер на движке Chromium (ограничение Google Web Speech API) и, конечно же, микрофон.

    Программа
    Исходники
    Демо-видео (для прошлой версии)

    Прототип для изучения слов для детей


    Как то мне прислали фотографию с жалобой, что у ребенка плохо получается с английским.



    Знакомо? Какого чёрта?! — подумал я. Быстро нарезав картинки в нескольких категориях и собрав озвучку с Forvo, сделал сайт (исходники): сначала слушаем как слова произносятся, нажимая на картинки, а потом проверка. Ребенок (второй класс) воспринял такое на ура, как компьютерную игру, потому сидел и сам учил слова.

    Послесловие


    … И это грустно. Я сильно разочарован тем, как используются современные цифровые технологии. Большинство программ не далеко ушло от своих книжных собратьев, которые с мой точки зрения устарели. Да, раньше текст был единственным способом передать речь, но сейчас это не проблема и при изучении языка уже можно обойтись и вовсе без этого посредника. Лично мне будущее в изучении языков видится в распознавании речи с последующим указанием грамматических и синтаксических ошибок и предложением как их исправить.

    P.S. Английский я так и не выучил, отложив его изучение из-за выхода на новую работу, связанную с переездом в другой город.
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 15

      +2
      Если ты хочешь повысить скиллы в английском — нужно тренировать английский, если ты хочешь прокачать умение писать программы — нужно писать программы.
      Да, совмещать можно, но тренировка, которая качает два навыка прокачает каждый немного меньше, чем если бы тренировал оба раздельно (затратив в два раза больше времени).
      Так что выбор достаточно спорный, хотя понять можно.

      Вот взять к примеру то же расширение для хрома. У ллео есть такое расширение, своё допустим вы написали за неделю. Но потом постоянно оказывается, что ни приложение от ллео, ни ваше не работают на определённых сайтах. И постоянно тратишь время на поддержку и доработку этого приложения — а мог бы заниматься английским. (Вот нет бы выложить приложение в открытый доступ, чтобы следующие авторы самостоятельных приложений не тратили время на уже пройденные грабли?)

      Я в этом вопросе придерживаюсь более жесткой позиции: занимаюсь только английским и не делаю себе скидок и поблажек «ой, ну зато какое приложение хорошее вышло!»

      Поэтому я рассматриваю данный пост не как попытку изучения английского (вы сами сказали, что не выучили) а как попытку написания программ для некоторой тематики. И вот по этой части могу сказать пару слов.

      Я вот четвёртый год продляя ллео подумываю о своих приложениях, которые бы сохраняли данные в _мою_ базу, а не базу стороннего приложения (и как результат — не зависели бы от не/продления цатилетних аккаунтов), при этом лично я могу не только localstorage себе позволить, но и любую бд в облаке (ну, профессиональное, я ж не домохозяйка — и не думаю, что они переползут со стороннего аккаунта на свою базу, тупо не увидят разницы). Также я подумываю о том, что лазить в API ллео можно, но не накопилось ли в интернете свободных ресурсов на эту тему? Какие-нибудь публичные словари рус-англ, англ-рус; какие-нибудь произношалки и т.п.

      И всё-таки хотелось бы видеть исходники подобных программ. То, что вы предоставили свои — за это вам огромный плюс и человеческое спасибо!
        0
        Полностью согласен, что один навык качать лучше, чем два. Увы, но учить английский мне не столь интересно, как придумывать что-то, тем более когда понятно, как можно улучшить :(

        С публичными ресурсами всё очень плохо. Всё, что я использовал, по сути полулегально (то же LinguaLeo API — это похоже просто на дыру :D). Даже современного списка слов нет, не говоря уже о произношении и прочем. Есть толковый словарь из проекта Гутенберга, но он очень старый. Для образовательных целей некоторые готовы предоставлять ресурсы, но с каждым надо договариваться и желательно выступать от лица организации, а не как частное лицо.

        А вот через платные API — всё есть.
          0
          подумываю о своих приложениях, которые бы сохраняли данные в _мою_ базу


          не только localstorage себе позволить, но и любую бд в облаке


          Возможно, что вас заинтересует этот проект. Я лично не пробовал, но очень похоже на то, о чем вы пишете.
          0
          Английский я так и не выучил, отложив его изучение

          Это вы зря сделали. Мой опыт показывает, что каждый последующий раз обучение опять начинается практически с нуля. Лучше продолжать, пусть уменьшить темп или объем занятий, но все же продолжать

          По поводу программ. Я тоже имел опыт. Приложение было простым, но мне нравилось. Оно сидит в трее и периодически выдает запрос, по которому из созданного словаря случайным образом выводилось слово. Вам нужно только написать его перевод. Проводился подсчет статистики (за день, месяц, год) правильных переводов или ошибок.

          Опыт его эксплуатации показал, что удалять старые слова, которые, кажется, что уже знаешь, нельзя. Т.к. человеческая натура освобождает память от неиспользуемого материала…
            0
            Вам нужно только написать его перевод.

            Простой способ угрохать кучу сил, времени и ресурсов не получив никакого полезного навыка.
            Я достаточно хорошо говорю, читаю и пишу на английском. Чем дальше — тем больше проблем с вот этим вот выдать превод на случайное слово. Table — еще куда ни шло, в значении «таблица» сейчас не очень часто используется. А стул — уже начинает хотеться контекст — chair может быть и стул, и кресло, и трон, и должность, и председатель… И эта ерунда — с чуть ли не 99% слов. И бегают после этого голые проводники по вагонам во всех переводах…
            И вообще, еще раз скажу, навык перевода — ни в одной точке не пересекается с умением говорить, читать, писать на языке. Это другой, отдельный навык. Он нужен только если у вас цель — зарабатывать на жизнь переводами.
              0
              Поддерживаю. Это вообще важный момент, который далеко не везде объясняют.

              Какая польза от знания большого количества соответствий типа «слово на русском — слово на английском»? Это даже наоборот вредно, так как потом придётся отучаться от «пропускания через русский язык» всего, что вы слышите или хотите сказать.

              Навык который действительно нужен — способность превращать в голове иностранное слово напрямую в его образ. И наоборот — образ напрямую в слово. Как это натренировать? Действиями, где эти задачи приходится решать. То есть общение, чтение, прослушивание. На мой взгляд всё логично.

              При этом, если у вас будут навыки превращения напрямую слов в образы и образов в слова, ничто не помешает использовать их же для перевода. При этом переводы будут даже лучше, потому что вы будете основываться на образах, а не на словарном соответствии.
            0
            Самый большой минус всех этих программ и онлайн тренажеров в том, что чтобы что-то выучить нужно быть очень дисциплинированным, я например не раз покупал годовые подписки на English Dom и Puzzle English в итоге после пары недель забивал. Недавно нужно было подготовиться к интервью в зарубежную компанию, записался на интенсив 5 раз в неделю по часу, да мозги закипали да дорого 200$ в месяц, но результат мне понравился стал бегло читать, стал говорить пускай и с ошибками но уже не туплю несколько секунд чтобы перевести в голове услышанное и стал сам говорить быстрее. Мне например тяжело учить что-то онлайн или по видео так как обезьянка сиюминутного удовольствия требует вместо учебы посмотреть Ютуб или поиграть во что-нибудь или посмотреть со спутника улицу Лос Анджелеса. А когда занимаешься с преподавателем то есть обязательства и нарушить их практически нереально.
              0
              Для «сиюминутного удовлетворения» можно смотреть что-то загранично-язычное. Я, например, смотрю время от времени канал, где мужик вскрывает, открывает и взламывает разнообразные замки разными способами. И канал, где человек решает разнообразные механические головоломки. И еще, бывает, канал про раздавливание всякого гидравлическим прессом (но там у автора английский — не родной, говорит с жутким акцентом, но очень понятно).
              Нужно просто найти себе что-то интересное. Кому-то вязание крючком, кому-то демонстрация нового билда в PoE, кому-то кино про жизнь дальнобойщика в Австралии.
              Важно то, что комментарий как-то соответствует происходящему на экране. А это существенно повышает скорость наработки ассоциаций между словами и образами. Главное тут не вестись на субтитры, особенно субтитры на другом языке.
                0
                Дело не в программах или курсах. Дело в мотивации. Если её нет, или она уровня — неплохо бы смотреть фильмы в оригинале, то ничего не поможет.
                0
                Не понимаю, почему столько критики — по-моему, очень разумно попытаться оптимизировать длинный процесс изучения языка, с самого начала потратив какое-то время на создание удобных инструментов.
                Я, к сожалению, не программист такого уровня, чтобы делать так — поэтому учу английский при помощи колод Anki. Они хороши тем, что там можно работать с озвучкой, картинками, описанием слов и всем на свете — но плохи тем, что все эти данные приходится добавлять вручную, и это занимает заметное время.
                Попробую ваши программы, спасибо.
                  0
                  Я, к сожалению, не программист такого уровня, чтобы делать так — поэтому учу английский при помощи колод Anki. Они хороши тем, что там можно работать с озвучкой, картинками, описанием слов и всем на свете — но плохи тем, что все эти данные приходится добавлять вручную, и это занимает заметное время.

                  Так, сложно сказать, не зная, откуда берется озвучка, картинки, описания слов, или без примера карточки, но вполне возможно, что что-то можно автоматизировать или упростить…
                    0
                    Ну, озвучка скачивается с Forvo, картинки — обычно, из Google.
                      0
                      Ну, без подробностей сложно, но если Forvo и версия Anki 2.0, то можно попробовать прикрутить Forvo к AwesomeTTS — github.com/AwesomeTTS/awesometts-anki-addon/pull/10
                      Либо, может быть, воспользоваться Fast Word Query, там, насколько я знаю, есть какая-то поддержка для скачивания аудио, но не с Forvo — ankiweb.net/shared/info/1807206748

                      А, картинки, да, там в принципе на данный момент только ручками, копируя или перетаскивая картинку в Anki.
                      В качестве альтернативы Гуглу в каких-то случаях, возможно, можно использовать сервисы типа stock.adobe.com
                      И если за раз карточек добавляется чуть больше, чем несколько, то можно попробовать использовать Google Sheets, чтобы открывать несколько страничек за раз — romanluks.eu/blog/open-multiple-links-in-google-sheets
                      и либо копировать картинку в Anki, либо копировать ссылку на картинку в Google Sheets, потом оборачивать в img тег, импортировать в Anki и использовать ankiweb.net/shared/info/1293255374 для скачивания всех картинок.
                      Еще можно что-то с AutoHotkey придумать, но не пробовал.
                      Может быть, что-то и упустил.
                  0
                  Четно говоря, не сильно понятна мотивация писать аналоги «не хуже». Если цель выучить язык, то надо брать готовые инструменты и использовать.
                  Что касается перевода слов в браузере — LinguaLeo расширение вроде неплохое, и у самого же Google Translate тоже есть. Сам LinguaLeo покрывает, кажется, все вами перечисленные кейсы изучения языка. (хотя, конечно, с подпиской)

                  Из альтернатив могу порекомендовать
                  1. аудиокурсы Pimsleur. Вот чего редко можно встретить, и на мой взгляд — близкий к идеальному инструмент для развития речи (говорения и слушания). Для меня работает на 146%. Оргомный бонус в том, что есть куча языков, кроме английского. (если за базис взять английский).
                  2. Anki — словарные карточки. Можно синтезировать озвучку, загружать картинки, и работает не только для слов, но и для предложений.
                    0
                    В том то и дело, что из готовых только «Подсказка» и «Багаж Слов». Первым сам пользуюсь мало, т.к. редко уже незнакомое слово вижу (слова учу чтением художественной литературы в оригинале), а второе — я не вижу смысла платить за такоё.
                    Аналогов для изучения фразовых глаголов и тренировки произношения — не нашел.
                    Для произношения есть Rosetta Stone, но мне она сильно не понравилась.

                  Only users with full accounts can post comments. Log in, please.