Что делать, если расширять словарный запас английского хочется, а время на занятия в приложениях типа Anki, Memrise найти не получается?

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

Попытался решить эту проблему с помощью аудио флэш-карточек с интервальным повторением.

Почему флэш-карточки

Флэш-карточики — формат распространённый, хоть и не единственный, но его проще всего портировать в аудио. Это для меня было главным, чтобы не выделять отдельно время, а учить слова на ходу, пока идешь до метро, или занимаешься в зале.

По сути флэш-карточка это карточка, у которой вопрос написан на передней стороне, а ответ на задней. Смотришь на переднюю сторону, и пытаешься вспомнить ответ. В варианте с аудио это получается: слово на английском, пауза чтобы вспомнить, и перевод. Можно добавить ещё пример использование, в идеале из контекста, откуда это слово взяли. Записывать аудио не самому, а генерировать через какой-нибудь классный Text-to-Speech сервис.

Интервальное повторение

Каждый раз переслушивать все аудиокарточки, показалось не эффективной идеей. Хотелось тратить на это времени не больше, чем нужно. В том же Anki эта проблема решается интервальным повторением. Плюс вы оцениваете, насколько хорошо помните карточку. Если помните хорошо, интервал повторения увеличивается, если плохо, то уменьшается.

Была мысль прикрутить к этому алгоритм SuperMemo 2, как в Anki, но потом, вдохновившись аудиокурсами Glossika и Пимслера, решил для первой итерации остановиться на варианте без обратной связи, но проще.

Берем набор слов, скажем 100, формируем из него mp3 файлы-уроков. В каждом 5 новых слов. На 1, 2, 3, 5, 7, 10, 13 день после того, как слово попалось в первый раз, добавляем повторение. Итого, на 100 слов получаем 33 mp3 файла на 33 дня, в каждом из которых 5 новых слов. Каждое слово встречаем 8 раз на протяжении 2 недель.

Конкретные параметры привел для примера, подобрал, чтобы получились короткие файлы по 3–5 минут, которые можно будет слушать на повторе. И чтобы учить слово в течение 2 недель.

Ну а чтобы было интереснее, решил завернуть это всё в Telegram бота, а исходники выложить на GitHub.

Подготовка аудиофайлов с уроками

Мой основной язык C#, но последний год писал на Node.js, к тому же уже были заготовки по работе с аудио. Поэтому эту часть написал на нём.

1. Структура курса

До сих пор сомневаюсь в нейминге, но набор слов назвал курсом. Курс это просто JSON с описанием и массивом карточек.

Условно:

{
  "id": "13800754-f9d3-43cf-808e-a51cb4d16125",
  "name": "For beginners",
  "cards": [
    {
      "text": "listen",
      "translation": "cлушать",
      "usage": "Listen, everybody!"
    },
		...
	]
}

2. Озвучивание карточек

Остановился на Amazon Polly, качество английской речи понравилось (голос Matthew), а русской просто удовлетворило (голос Tatyana). На Free Tier доступно 5 миллионов символов в месяц на год.

Генерировать будем через npm пакет aws-sdk. Перед этим нужно получить ключи. Полученные ключи через AWS CLI можно установить командой aws configure. Она сложит их в специальный файл, откуда их будет считывать npm пакет, на macOS это ~/.aws/credentials.

Озвучивание текста сводится просто к вызову метода в SDK, который нам возвращает Buffer с аудио.

const AWS = require('aws-sdk')

const polly = new AWS.Polly({
    signatureVersion: 'v4',
    region: 'us-east-1'
});
const buffer = await polly.synthesizeSpeech({
            'Text': '<speak><prosody rate="slow">listen</prosody></speak>',
            'Engine': 'standard',
            'TextType': 'ssml',
            'OutputFormat': 'mp3',
            'VoiceId': 'Matthew',
            'SampleRate': '24000'
        }).promise();

Проходимся по всем карточкам в курсе и вызываем polly.synthesizeSpeech для всех их частей: слово, перевод, пример использования. Полученные данные складываем локально по алгоритму:

  1. Озвучиваемый текст очищаем от недопустимых в имени файла символов через filenamify и берём первые 60 символов.

  2. Вычисляем хеш озвучиваемого текста.

  3. Получаем имя файла ${filenamify(text, {replacement: '_', maxLength: 60})}_${hash}.mp3

  4. Записываем в файл директорию ${language}/${voiceId}/${speed}

Так мы сможем позже находить аудиофайл для заданного текста.

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

3. Генерация уроков

Тут прозаично, из JSON'а с курсом генерируем JSON с массивом, уроков, в каждом уроке по 5 новых карточек, и карточки на повторение по заданной схеме.

Примерная структура:

{
  "courseId": "13800754-f9d3-43cf-808e-a51cb4d16125",
  "lessons": [
    {
      "cards": [
        {
          "text": "listen",
          "translation": "cлушать",
          "usage": "Listen, everybody!"
        },
				...
      ]
    },
		...
  ]
}

4. Генерация аудио для уроков

Пройдемся по массиву уроков из предыдущего пункта. Для карточек из поля cards возьмем аудиофайлы из пункта 2 и склеим их в один. Для начала ставим FFmpeg, а потом при помощи пакета audioconcat конкатенируем.

const audioconcat = require('audioconcat');

function concatFiles(filePathes, outputFilePath) {
    return new Promise((resolve, reject) => {
        audioconcat(filePathes)
						.concat(outputFilePath)
						.on('error', err => reject(err))
            .on('end', () => resolve()));
    });
}

5. Загружаем файлы в Telegram

Этот пункт опциональный, у нас уже есть аудиофайлы уроков, и ими можно пользоваться. Это мы делаем уже для бота.

Нужен токен бота, который можно получить у BotFather, и ID чата, куда будем загружать файлы. Telegram позволяет ботам загружать файлы один раз и потом использовать в сообщениях разным пользователям, указывая только ID файла. Можно создать либо отдельную группу и добавить бота туда, либо слать сообщения себе в личку.

Пакетов для Telegram в npm есть несколько, если делать полноценного бота, то имеет смысл выбирать, но для загрузки файлов непринципиально, я остановился на node-telegram-bot-api.

Для начала выясним ID чата. Для этого добавляем бота в чат, или пишем ему напрямую. Отправляем сообщение, предварительно запустив код:

const TelegramBot = require('node-telegram-bot-api');
const bot = new TelegramBot('YOUR_TELEGRAM_BOT_TOKEN');
bot.on('message', (msg) => {
	console.log(msg.chat.id);
});

Потом загружаем в этот чат аудиофайлы.

const TelegramBot = require('node-telegram-bot-api');
const bot = new TelegramBot('YOUR_TELEGRAM_BOT_TOKEN');
const chatId = 12345;
let {audio: {file_id}} = await bot.sendAudio(chatId, 'path/to/audio.mp3');

Полученный file_id записываем в JSON соответствующему уроку. На выходе получится JSON с массивом уроков, в каждом из которых прописан file_id аудиофайла в Телеграме. В будущем, чтобы отправить урок через бота, нужно будет просто указать этот ID.

Заворачиваем в бота

Как способ доставки аудио флэш-карточкек сразу пришел на ум бот, который по нажатию кнопки отправляет голосовое сообщение со следующим уроком. Оказалось правда удобнее отправлять как звуковой файл, а не голосовым, тогда во встроенном плеере Телеграма их можно слушать на повторе.

Бота написал на C#/.NET 5 + MongoDb. У меня уже был бот на C#, было проще взять за основу старый, чем писать с нуля.

Подробное описание того, как написать Telegram бота на C# вышло бы за рамки статьи, да и на Хабре хватает руководств. С исходным кодом можно ознакомиться по ссылке в конце. Для тех, кто не знаком с .NET, отмечу, что .NET 5 кроссплатформенный и для того, чтобы дорабатывать/запускать бота не нужен Windows. Также бот использует long polling, то есть сам обращается к Телеграму, чтобы получить сообщения - настраивать веб-хуки не нужно.

Курсы

Чтобы ботом можно было пользоваться, не разбираясь в исходниках и не запуская самому, добавил несколько готовых курсов. Тематические (для начинающих, путешествия, IT, еда), фразовые и неправильные глаголы, и топ 3000 частотных слов.

Топ 3000 составил на основе бесплатных семплов с wordfrequency, а они, в свою очередь, на основе корпуса современного американского английского языка (COCA). При распространении просят просто ставить ссылку на них.

Большинство примеров употребления слов взято из Tatoeba - открытая база предложений c переводами переводов.

Ссылки

Исходный код и краткая инструкции по запуску и добавлению своих курсов

Потестить бота

Комментарии (60)


  1. ariksu
    01.10.2021 11:32
    +3

    Никогда не понимал желающих "учить слова". Никто и никогда не разговаривает словами, не читает словами, не пишет и не слушает словами. Если слова не хватает, его всегда можно подсмотреть, попросить собеседника уточнить и так далее.


    1. Xitsa
      01.10.2021 11:46
      +2

      Учить слова полезно в самом начале, когда нулевые знания языка.

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

      Если базы нет, то слова приходится учить параллельно с другим материалом, на начальном этапе это избыточная нагрузка, которая мешает.


      1. vrnvorona
        06.10.2021 12:40

        Учить правила бесполезно

        Заливать материал без слов сложно, т.к. не понимаешь о чем речь. А первые 100-300 слов запомнить еще можно. Потом нужно жестко заливать материал как не в себя, иначе "10 лет учу не могу выучить".


        1. Xitsa
          06.10.2021 13:40

          Я про это же и писал :)

          А про то, что правила учить бесполезно, не согласен. Основных правил обычно не так много и они позволяют понять, как слова друг с другом сопрягаются.

          Это знание просто необходимо автоматизировать практикой языка.

          А барьер 10 лет учу не могу выучить, я именно залитием в себя пары тысяч слов и преодолел.


          1. vrnvorona
            06.10.2021 13:48

            Проблема в том, что люди не говорят правилами, как и знание правил не поможет понимать людей на слух, да и говорить тоже. Гораздо эффективнее просто понимать о чем речь, и мозг со временем сам будет знать когда что и в каком порядке говорится.

            Разумеется это не значит что грамматика прям "ваще бесполезна", но для изучения языка явно не главная часть даже не близко. Носители языка не учат ее же. Даже мы когда говорим не полагаемся на правила т.к. это не требуется.

            Не говоря уже о куче исключений, т.к. грамматика пытается втиснуть язык в правила, а не наоборот.


            1. Xitsa
              07.10.2021 12:58
              +1

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

              То, что в множестве учебников идёт подача базовых слов, примеров и правил — это отражение действенности метода обучения, потому что многократно опыт показал, что он даёт главное: начальное понимание азов языка.

              После преодоления этого начального порога вхождения уже можно использовать другие методики.

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


              1. inkelyad
                07.10.2021 13:08

                но до этого уровня ещё надо дойти, а по дороге надо знать правила, видеть их применение, учиться применять их.

                Мне, скажем, это неочевидно. Вполне возможно, что повторить 10000 специально подобранных примеров, напрямую вырабатывая 'знаю как', в конечном итоге дает лучший результат и даже быстрее, чем загрузить человека этим правилами, на которых он потом спотыкается и думает 'какое правило применить и как это сделать правильно?'.


                1. Xitsa
                  07.10.2021 19:50
                  +1

                  Меня немного удивило это противопоставление примеров и формулировок правил:

                  когда я учил правила, то это обязательно включало в себя карточки–примеры правил, а также внимательное чтение формулировок в правиле,

                  потому что штудирование правила, когда у тебя в голове есть примеры его употребления, происходит гораздо легче.

                  Также выученные примеры помогают распознать применённое правило в тексте, понять как слова связаны друг с другом.


                  1. inkelyad
                    08.10.2021 09:16

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


                    Поэтому в данном случае имелось в виду именно чистые примеры, без всяких правил.


                    Приблизительно "если хочешь сказать что-то с этим смыслом и в такой ситуации — говори это". И кучу раз повторяем, пока автоматически получаться не станет. А то что тут какое-то время и падежи используется (по поводу которых сами лингвисты договориться систематически не могут, сколько их тут и какие именно объяснять надо) — оставляем за скобками. У кого есть склонность к лингвистике — сам посмотрит.


                    1. Xitsa
                      08.10.2021 10:24

                      На начальном этапе исключения не страшны, их проработка это дело языковой практики. Обычно правила хорошо работают для менее распространённых контекстов, а исключения как раз встречаются среди наиболее употребительных слов/фраз/ситуаций, поэтому отличать норму от исключения полезно при наборе словарного/фразного запаса.

                      Правила в учебниках это по факту сконденсированная работа многих лингвистов и педагогов и игнорировать это знание глупо. Зализняк и прочие академики работают немного в другой плоскости, которая плохо подходит к началу обучения языка.

                      Чистые примеры заставляют человека самому выводить правила, если их неправильно подобрать, то он может вывести неправильные правила, а переучиваться сложно.


                      1. inkelyad
                        08.10.2021 11:20

                        Однако даже с компами (у которых, очевидно, с применением правил все в порядке) все больше и больше используют поход 'скормим черному нейроящику текстов побольше — оно как-нибудь выучится'.


                        А до этого, когда применялись именно правила, результат вроде бы был так себе.


                        Именно на этом основано мое 'неочевидно'. Мне кажется, что у подхода 'скормить правильный датасет естественной нейросетке' — тоже есть вероятность дать лучшие результаты. Причем даже известно, что подход работает (смотри как дети говорить учатся). Просто никто ни задавался задачей все это оптимизировать.


                      1. Xitsa
                        08.10.2021 16:03
                        +1

                        Насколько мне известно про обучение детей языку, одним из существенных факторов является непосредственная обратная связь, которую им дают родители и прочие носители языка.

                        Т. е. ребёнок что-то сказал или спросил и его сразу поправляют, и это где-то до 5-8 лет (не помню уже точно), после чего поправлять уже сложнее, у ребёнка уже сложилось своё представление о языке и он может уже оспаривать коррекции.

                        Просто экспозиция языка ребёнку особого эффекта на изучение языка не даёт, кроме фонетики.

                        Не у всех взрослых людей есть такой доступ к носителю языка, который готов постоянно его поправлять как ребёнка.


                      1. inkelyad
                        08.10.2021 16:18

                        Возможно, я плохо передал мысль. Но '10000 специально подобранных примеров' — имелось в виду, что все это придется старательно зубрить, а не то, что это будет просто экспозиция.


                        В современном мире для подобной зубрежки и даже с немедленной обратной связью носитель языка не сильно нужен.


              1. vrnvorona
                07.10.2021 13:17

                но до этого уровня ещё надо дойти, а по дороге надо знать правила, видеть их применение, учиться применять их.

                Нужно просто понимать о чем речь и копировать то, что говорят носители.

                Знание правил в любом случае не позволит вам говорить то, что вы еще не слышали и не знаете что "так говорят".

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


                1. Xitsa
                  07.10.2021 19:56

                  Нужно просто понимать о чем речь и копировать то, что говорят носители.

                  В начале изучения очень сложно понять, о чём же идёт речь. Знание слов помогает догадаться о возможных смыслах, а знание правил, как эти слова связаны друг с другом.

                  Проблема еще в том, что многие торопятся с тем чтобы производить язык самим.

                  Да на первых этапах желательно получить чувство языка путём его потребления, на среднем и выше уровнях лучше иметь сбалансированную практику чтения, слушанья, письма и говорения, к этому этапу они уже относительно независимо развиваются.


          1. faiwer
            06.10.2021 14:12

            Учить правила

            Xitsa vrnvorona подскажите, а что вы подразумеваете под "учить правила". Вот например: склонение прилагательных в немецком. Там 3 больших таблицы, т.к. всё склоняется по 4 параметрам: род, число, падеж, 3 вида склонений. Как это можно "учить"?


            Я имею ввиду буквально — что должен делать студент, чтобы это учить? Распечатать на бумагу эти таблички и повторять "именительный падеж, женский род, сильное словнение окончание E, родитель..."? Или как?


            Мне кажется это никогда не работало и никогда не будет работать. Мы ведь когда говорим не вспоминаем никакие таблички и столбцы в них. Мне нужно сказать слово "красивая", итак… оно женского рода, ед. число, падеж именительный, итого 1-ая колонка 1-ая строка… Пффф… Это так не работает :D


            На мой взгляд вместо этого работает такой подход:


            • пытаемся найти в этих таблицах какую-то логику
            • учим очень медленно, не всё сразу, а маленькими кусочками
            • процесс обучения: учимся строить предложения по изучаемому правилу в каких-нибудь тренажёрах, при помощи карточек, просто строя предложения из головы. Ну то есть используя это на пратике, заставляя в мозгу шестерёнки скрипеть и гравировать это правило в голову. Доводить "до автоматики".
            • чтобы это всё было не бесполезным, повторять с интервальным запоминанием. Иначе будет как в школе, когда 10 лет учишь одно и тоже и запомнить не можешь. Ибо то что учил месяц назад без практики выветривается почти мгновенно.


            1. vrnvorona
              06.10.2021 14:21

              Вместо того чтобы помнить какого рода слово, проще просто делать карточки с готовым склонением и пролистывать их. Слова нужно брать которые встречаются, а не по списку, т.к. нужно чтобы была связь "я встречал - я записал - я вспомнил", плюс иначе довольно скучно. То что скучно - хуже запоминается.

              Никто же ведь не думает при этом "вот тут по табличке", это просто удлинение цепочки "слово - склонение" в "слово - свойства - табличка - склонение". Да, запомнить табличку возможно и быстрее, но для разговора все равно придется потратить много усилий чтобы это стало "слово - склонение". При этом будет ожидаемо много фрустрации т.к. будет постоянно забываться. Поэтому даже интервальные карточки иногда имеет смысл просто просматривать, а не добиваться идеального ответа.


              1. faiwer
                06.10.2021 14:36

                Если совсем не вникать в правила то вашим единственным инструментом остаётся "память + реверс-инжиниринг языка подсознанием". Эта связка работает (иначе бы мы не говорили с вами по-русски). Но очень неэффективно. Это как лопатой стену долбать. Можно, но слишком долго и больно. У детей уходят годы ежедневной многочасовой практики чтобы базу языка выучить. У взрослых столько времени и сил нет.


                В свою очередь эта проблема работает в обе стороны. Вникнуть и найти логические обоснования всему и везде не получится. Любой естественный язык это жуткое legacy. Поэтому там тонны вещей, которые экономически целесообразнее просто "запомнить", а не разобраться в том как они работают. Самые яркие примеры — предлоги и артикли. Вроде есть понятная база, вполне логичная. Но шаг влево, шаг вправо и всё, приехали. Только запоминать. Часто работает принцип Парето.


                Вот табличка склонений выше интересный маркер. Знаю людей которые уже даже гражданство получили, но склонять прилагательные так и не научились. Само оно у них через практику не выучилось. Понимать их понимают, конечно.


                1. vrnvorona
                  06.10.2021 14:52

                  У детей уходят годы ежедневной многочасовой практики чтобы базу языка выучить.

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

                  У взрослых столько времени и сил нет.

                  Если у взрослого нет 2 часов в день на язык, сколько лет он будет учить условные 10 тысяч слов, без которых едва intermediate можно быть? Без погружение в язык так или иначе все равно уровня не добиться, сразу это делая или потом.

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

                  Люблю анекдоты как аргументы. А я знаю людей которые на 10 языках говорят без зубрежки (за 10-15 лет). Дальше то что?)


                  1. faiwer
                    06.10.2021 15:08

                    Если у взрослого нет 2 часов в день на язык, сколько лет он будет учить условные 10 тысяч слов, без которых едва intermediate можно быть?

                    А откуда вы взяли "10K — intermediate"? Мне попадались куда более щадящие числа. Ну ок. Я за 2.5г поднял пассивный запас в английском с 3.5к до 10+к. Работал над языком по 1ч в день. В целом очень скептически отношусь к "количеству слов". Важнее качество.


                    Без погружение в язык

                    Без погружения в язык его вообще не выучить. С этим никто не спорит. Надеюсь.


                    А я знаю людей которые на 10 языках говорят без зубрежки (за 10-15 лет).

                    Смотря что вы подразумеваете под "зубрёжкой". Если заучивание на зубок таблиц, то я выше сам пишу, что это не работает.


                    А я знаю людей которые на 10 языках

                    На 10 языках сразу, да ещё и без грубых ошибок? Да ещё и без помощи учебников\прочих материалов? Можно ссылочку?


                    1. vrnvorona
                      06.10.2021 15:44

                      А откуда вы взяли "10K — intermediate"?

                      Где как, плюс речь не только о активных словах. 10к явно не тянут на С1. Разумеется что количество слов не цель, а просто показатель. Нельзя знать язык и знать мало слов.

                      Смотря что вы подразумеваете под "зубрёжкой"

                      Все что целенаправленно учится. Например, можно услышать незнакомое слово и посмотреть в словарь, это ок. А можно добавить его в Анки и гонять пока не будет от зубов отскакивать. Что в целом не плохо, но занимает много времени к сожалению.

                      Можно ссылочку?

                      Steve Kaufmann хотя бы, за 15 лет 11 языков догнал уже зная 9.


                      1. faiwer
                        06.10.2021 16:27

                        Steve Kaufmann

                        Спасибо, интересно. Смотрю интервью с ним.


            1. Xitsa
              06.10.2021 15:46

              Если брать конкретный пример с табличными правилами, то я поступил так:

              взял таблицы с характерными примерами, для каждой ячейки таблицы составил запись, по которой получились три карточки: слово -> характеристики, корень + характеристики -> слово, пример с предложением, где опущено слов.

              Всё это поместил в Anki, выучил в первом приближении. Взял правило из учебника, проштудировал его, с готовыми примерами в голове это проще.

              Перенёс карточки в общую колоду.

              Теперь у меня в голове есть инструмент, который помогает опознать слово в тексте, понять его форму, роль, найти основную форму в словаре.

              Далее только практика.

              Это всё, естественно, элементы начала изучения языка.


              1. faiwer
                06.10.2021 16:34

                Спасибо за пример. Хардкор :) В табличке выше 3 таблицы по 16 ячеек. На каждую по 3 карточки. Итого 144 карточки. Ну, в принципе не так много.


    1. kSx
      01.10.2021 12:05
      +1

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


    1. lazy2m Автор
      01.10.2021 12:11

      Да, согласен конечно же, что одним заучиванием слов не обойдешься, но как дополнение, чтобы, как уже заметили, набрать базу в начале, мне кажется может быть полезно. Или наоборот, на более высоких уровнях, чтобы вырваться за рамки привычного словарного запаса.


    1. edo1h
      01.10.2021 12:56

      Никто и никогда не разговаривает словами, не читает словами, не пишет и не слушает словами.

      а чем же? разве ваше предложение составлено не из слов? )


      если говорить про технический английский, то одного знания слов достаточно чтобы читать (и понимать) тексты. разговорный технический — ещё уметь понимать их на слух.
      самому составлять предложения несколько сложнее, конечно, но минимум, достаточный чтобы выразить простые мысли, можно объяснить буквально за несколько минут.


      1. tyomitch
        02.10.2021 19:03

        если говорить про технический английский, то одного знания слов достаточно чтобы читать (и понимать) тексты

        Ох не надо. Здесь на Хабре хватает переводов в ализаровском стиле, где каждое слово в отдельности переведено верно, но смысл предложения искажается до неузнаваемости.

        Недавний пример: «This was done by placing long vacuum columns between the tape reels and the read/write heads to absorb sudden increases in tension in the tape»
        Перевод курильщика, который читает словами, думает словами, и пишет словами: «Для этого между катушками помещались длинные вакуумные колонки, а также головки чтения/записи, поглощавшие резкое натяжение ленты»
        Перевод здорового человека: «Для этого между катушками и головками чтения/записи помещались длинные вакуумные колонки, поглощавшие резкое натяжение ленты»


    1. Torps
      01.10.2021 18:00

      Без слов никуда.


    1. ru1z
      01.10.2021 18:40
      +1

      не понимал желающих «учить слова».

      Ну в телеграм-боте первые 3000 по частотности. То есть явно для абсолютных новичков, а им какие-то слова все-же придется заучить.

      То что вы пишете, тоже верно, но для продолжающих изучение.


    1. Aksiom
      02.10.2021 13:25
      +1

      Категорически не согласен.
      Учить слова нужно, чтобы: читать, смотреть фильмы, слушать, если не хочется каждый раз подглядывать в словарь. А ведь у книг и фильмов переспросить не получится. Также, — если из контекста и понятен смысл, — слова необходимо запоминать, чтобы использовать их в активной речи/письме.
      У меня уже давно C2 английского, но я продолжаю выписывать слова, конкретный перевод которых я не знаю и добавлять их с примерами в Anki.


      1. faiwer
        02.10.2021 13:50
        +3

        Надо учить не слова, а слова в контексте. Ну какой смысл учить слово depends, без понимания как его потом воткнуть в предложение. А вот It [depend]s [on] blabla уже учить полезно. Теперь это слово можно будет применить в своей речи.


        Я так заучил уже в английском несколько сотен глаголов, которые теперь боюсь применять. Очевидно, что многие из них требуют предлога. Но вот какие. И какого предлога. И когда их применять стоит, а когда нет. Хоть с нуля их учи.


        Особенно глупо когда используются готовые списки. Я вот взял слово delicious и добавил в словарь как прекрасный. Потому что оно таким было в списке. И формально вроде правильно. Но мне бы и в голову не пришло, что это на самом деле очень вкусный. Возьми я слово из контекста (например cook a delicious meal) получился бы совсем иной результат.


        К счастья я перестал так делать. Учить в слепую [слово] <=> [перевод] это как копить полумёртвый груз в голове. Вроде и есть понимание какое-то, но оно такое ватное и… Хорошо если потом в тексте попадётся и в голове щёлкнет. Но не более.


        1. edo1h
          02.10.2021 18:44
          +1

          1. зачем ограничиваться одним словом-переводом, почему не взять полностью словарную статью?
            там и примеры употребления будут
          2. откуда вообще возьмётся слово без контекста? вы собираетесь учить язык только по одним карточкам?
            я в словарь обычно лезу не просто так, а встретив слово в каком-то контексте. да и в дальнейшем видишь примеры применения слова, со временем ты начинаешь понимать не только основной смысл слова, но и оттенки, уместность применения в какой-то ситуации и т.п.
            всё то же самое, что и с изучением родного языка в детстве. только знакомство с базовыми смыслами этого слова и соседних сильно упрощает нашу задачу.

          P. S. ну а если один раз увидеть в delicious родственника деликатеса, то и учить ничего не придётся.


          1. faiwer
            03.10.2021 01:06

            зачем ограничиваться одним словом-переводом

            Собственно я о том и пишу, что НЕ надо ограничиваться словом-переводом. А именно так и поступает большинство.


            почему не взять полностью словарную статью?

            На мой взгляд получается очень слабая карточка. Просто смысловая. Плохо работает.
            Куда лучше построить в голове (или вслух) предложение взятое из реального контекста. Так отрабатывается сразу и грамматика, и правильный предлог, и контекст. И в целом более крепкий образ формируется. Если слово многосмысловое — на каждый необходимый смысл свою карточку (или несколько).


            откуда вообще возьмётся слово без контекста?

            Зависит. Один из популярных подходов — брать готовые списки слов. Особенно популярны всякие "топ 300 глаголов" и подобные. Или даже готовые наборы карточек. На мой взгляд ни то, ни другое не работает. Такой контент надо составлять именно под себя. Самому.


            основной смысл слова, но и оттенки, уместность применения в какой-то ситуации и т.п.

            О том и речь. Не брать "delicious = прекрасный" и начинать зубрить. А вникать. Смотреть контексты. И учить сразу с ними.


        1. Aksiom
          02.10.2021 18:57

          Похоже, мы говорим немого о разных вещах. Конечно, есть слова, которые нужно учить в контексте (обычно — если конструкция не имеет аналогов в исходном языке), а есть те (и их большинство), для которых достаточно только определения.
          Вот слова, которые я недавно добавил: bespectacled, parsimonious, poignant, tenderizer. Для таких редких слов достаточно знать значение, чтобы при чтении текста понять, о чём идёт речь. В принципе, сомневаюсь, что для них есть какой-то определённый контекст. Это верно и для простых слов, например контекст для слова «apple» излишен, потому что все могут представить в каком контексте можно сказать «яблоко».
          Если знать значения, контекст будет постепенно усваиваться при потреблении информации. И к тому же, на начальных этапах изучения языка человек не знает, на что нужно обращать внимание в примере.


          1. faiwer
            03.10.2021 01:42
            +2

            Мне кажется контекста не требуют только простые существительные и прилагательные. Да, типа яблока. Но даже для них он полезен. Конструкция "he ate an apple" куда лучше, чем "apple — яблоко". В голове сразу столько вещей:


            • яблоко тут абстрактное исчислимое — отработка артиклей
            • запоминаем\закрепляем 2-ю форму неправильного глагола
            • закрепляем past simple
            • более сильный образ, т.к. eat можно еду, значит яблоко еда. Чем больше информации в образе, тем лучше результат

            И это в простом случае. В более сложных всё ещё интереснее.


            Castle — это зАмок или замОк? Сегодня помню, завтра уже не факт. Будь это "the castle is under attack" вопросов бы не было. Да ещё и "under attack" как полезная конструкция запомнилось бы.


            Threshold — порог. Порог какого-нибудь значения или порог двери? Делаем карточку на то и на это, ура, теперь мы можем обсуждать как графики, так и ремонт.


            To bear — носить. А это носить продукты из магазина или переносить невзгоды? Когда взять to carry, а когда to bear? А born связан с bear? А как? Хорошо бы вникнуть, чтобы потом не бояться употреблять думая что это "как медведить, но со смыслом носить" :)


            Такие слова как "parsimonious" я бы точно не стал учить без конекста. Я так их никогда не вспомню. Да и сразу куча вопросов. Ведь напиши я "скупой", как мне знать, что можно сказать "parsimonious approach" (экономный), ведь "скупой подход" сказать нельзя (звучит странно, имхо, скупой может быть человек). А напиши я "экономный", как мне знать, что так можно охарактеризовать человека. Если кажется что оба применения полезны, то делается две карточки в двух контекстах.


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


            Т.е. да, некоторые слова можно учить без контекста. Но не рекомендуется.


            1. tyomitch
              03.10.2021 08:47
              +1

              To bear — носить. А это носить продукты из магазина или переносить невзгоды? Когда взять to carry, а когда to bear?

              Если продукты из магазина, то не carry и не bear, а bring.

              А born связан с bear? А как? Хорошо бы вникнуть, чтобы потом не бояться употреблять думая что это "как медведить, но со смыслом носить" :)


        1. Xitsa
          06.10.2021 13:46

          Это взаимодополняющие подходы, первый связывает иностранные слова с родными, а второй свзывает иностранные слова друг с другом. В Anki второй способ делается через карты типа Cloze Deletion.

          Насчёт готовых списков согласен, карточки надо делать самому, под свои нужды.


          1. faiwer
            06.10.2021 14:15

            карты типа Cloze Deletion.

            Посмотрел. Я вначале тоже хотел так в своём приложении сделать. Но отказался от этой затеи после экспериментов. Оно, конечно, работает, но слишком слабо. Надо чтобы всё предложение было скрыто :) Не халявить.


  1. asso
    01.10.2021 11:39

    Классная идея! Если бот сам карточки присылает в определенное время, то вообще красота. Я начал регулярно каждый день учиться только благодаря напоминаниям от Duolingo и его счетчику количества дней непрерывного обучения. Не хочется этот счетчик сбрасывать в ноль. Как ни странно, такой казалось бы ничего не значащий метод для меня отлично сработал. Если добавите подобный счетчик в ваш бот, то может он для кого-то то же станет стимулом найти минутку на обучение.


    1. lazy2m Автор
      01.10.2021 12:06
      +1

      Спасибо за идею! Пока, к сожалению, напоминаний нет, и страйков, как в Duolingo тоже. Уже не первый раз, читаю, как они кому-то помогают, обязательно надо будет добавить в будущем.


    1. tyomitch
      02.10.2021 13:46
      +2

      Ну вот, а я как-то вечером замотался и не смотрел в телефон, 320-дневный streak в Duolingo обнулился, я разозлился и снёс его к чертям. Как-то иначе оно должно работать, чтобы один неудачный вечер не обнулял почти год «фарминга».


      1. faiwer
        02.10.2021 13:53

        320-дневный streak в Duolingo обнулился

        Хм. Доулинго в таком случае присылает вам письмо и возможность нажать кнопку "ок, ок, я всё понял, верните мне мой streak обратно, больше не буду". Я тоже как-то пропустил один день. Мне его вернули. Сейчас уже 699.


        1. tyomitch
          02.10.2021 14:00
          +1

          Сейчас перепроверил, мне такого не приходило, только обычные «Your weekly progress report».
          Может, только платным подписчикам дают второй шанс?


          1. faiwer
            02.10.2021 14:08

            У меня нет платной подписки. Штука называется "заморозка":


            Заморозка. Заранее купленная заморозка позволит сохранить ударный режим, если вы вдруг пропустите один день занятий.

            Доступна в "магазине". У меня была активна. И я снова её "докупил". За местную валюту ("линготы"), которая копится мёртвым грузом (у меня её уже 3000+). Ни единого цента настоящих денег я не вкладывал.


          1. a1exandrrr
            04.10.2021 22:06

            Если ещё не покупали у них подписку, то есть возможность уже после того, как слетел прогресс, подключить пробный период, при этом прогресс восстановится. После этого можно сразу отключать подписку.


      1. Areso
        03.10.2021 02:11

        Там продают амулеты на выходные и заморозки. За короны и кристаллы.


    1. vrnvorona
      06.10.2021 14:32

      Не хочется этот счетчик сбрасывать в ноль.

      Все мы знаем что будет если пропустить день Дуолинго и понимаем "нежелание" сбрасывать счетчик :)


      1. asso
        06.10.2021 21:46

        А что на самом деле будет? Я ни разу не пропускал :)


  1. averkij
    01.10.2021 14:11

    Можно еще из книги или статьи, которую человек читает в оригинале, надергать слов и выражений и из них сделать набор карточек. Оттуда же взять примеры использования. А перевод (плюс синонимы/антонимы, если надо) из wiktionary или Яндекс словаря получить.


    1. lazy2m Автор
      01.10.2021 15:33
      +2

      Спасибо за предложения. Да, согласен, было бы круто двигаться в сторону создания кастомизированных для каждого пользователя аудио флэш-карточек. Чтобы можно было пополнять наборы карточек из контекста потребляемого контента, и еще и пример использования оттуда брать.

      Когда я пользовался Anki, я так и делал. Расширением для хрома от LinguaLeo добавлял слова в словарь на LinguaLeo. Потом другим расширением экспортировал оттуда в CSV и потом его импортировал в Anki.

      Я даже думал это сделать сразу в первой версии бота, но потом понял, что это в несколько раз усложнит задачу, и кажется, что реализация CRUD'a для карточек в боте была бы не самой удобной в использовании, хотя конечно можно было бы для этого веб-интерфейс прикрутить. Но основная сложность была бы еще в синтезе речи для карточек каждого пользователя, пришлось бы кешировать сгенерированные файлы, платить за облачный TTS или хостить свой и т.п. Поэтому решил начать с максимально простой версии, чтобы посмотреть, нравится ли это кому-то еще, кроме меня.

      В целом, я думаю в виде мобильного приложения это все было бы удобнее, особенно если добавить импорт из CSV. TTS у iOS и Android есть встроенный, хоть и не восхитительный, это облегчает задачу. Я уже даже начал изучать React Native и набросал прототип, должно получиться. До конца года надеюсь закончить первую версию.


    1. vrnvorona
      06.10.2021 15:50

      Sentence mining называется, очень хороший способ перейти от начального уровня дальше в изучении языка.


  1. MockBeard
    01.10.2021 18:22
    +2

    не учите словами, учите в контексте, например на reverso.net


  1. faiwer
    02.10.2021 13:35
    +2

    Учу немецкий преимущественно карточками. Пришёл к таким выводам:


    • Словарный карточки — очень плохая затея. Не используйте словарные карточки. Слово в отрыве от контекста, грамматики, своего предлога имеет очень мало смысла и вообще плохо запоминается. Вы с трудом потом сможете его использовать.
    • Карточки с предложениями и фразами — очень хорошая затея. Фразы должны быть не синтетическими, а настоящими. Сказанными\записанными носителями языка. Т.е. брать их можно только из надёжных источников. Те же книги, фильмы, учебники, всякие reverso.net подобные сайты.
    • Карточки не должны быть сложными. Ваша задача составить это предложение самому, опираясь только на подсказку (например его перевод). Т.е. в карточке не должно быть незнакомых вещей (непонятной грамматики, непонятного предлога, слов которые вы ещё не учили и пока не хотите и т.д.). Каждая карточка это как тренажёр. Одновременно как грамматики (для немецкого это мега-актуально), так и для словарного запаса.
    • Карточки не должны быть слишком простыми. Не надо карточек вида "I am doctor", "I am dog", "I am [noun]". Берите примеры поинтереснее, где будут разнообразные конструкций, грамматические моменты, и просто запоминаемые (скажем смешные, классно звучащие и пр.). Грамматику бесполезно "знать". Её нужно прошивать в мозг. Единственный способ этого добиться — использовать грамматику в деле. В том числе и в карточках. Тогда она шаг за шагом начинает становится частью "вашей прошивки". И вам уже не нужно думать про "He has" или "He have". У вас это "hehas" в голове. Сразу всплывает как цельная конструкция. Но нужно много практики. Карточки отличная практика.
    • Карточки нужно делать самостоятельно. Никаких "готовых списков". Это всё не работает. Только вы сами знаете свой уровень, свой словарный запас. Только вы сами можете оценить полезность фразы. Аля: "о, тут есть passive perfect, хочу побольше карточек с ним, и вот новое полезное слово, которое я уже 15 раз видел но всё время забываю".
    • Чем бы вы не пользовались для карточек — там должен быть интервальный подход. Иначе это просто потеря времени. Интервалы, разумеется, должны увеличиваться со временем. Я не нашёл удобных для себя решений и написал свою программу. Чему очень рад. Но думаю мог бы жить и с Anki.

    Из недостатков:


    • У меня редко получается сделать больше 10 карточек в день. Причина — я очень придирчив к выбору фраз\предложений. Я могу потратить тонну времени на поиск нужной фразы, потому что всё подряд отсеиваю: тут я не знаю такого слова и не хочу его знать; тут непонятная грамматика; тут я понимаю почему такой предлог, а не такой; это предложение мне кажется слишком выдернутым из контекста; это предложение слишком тупое; а это слишком заумное. Ну и т.д… Но из плюсов, пока находишь нужную фразу — перелопачиваешь кучу других, и в них приходится разбираться. Что позитивно для изучения языка :)
    • У меня редко получается эффективно учить больше 3-х слов в день. Правда я не сказал бы что у меня хорошая память. Но даже плохая память позволяет запомнить всё что угодно через интервальные запоминания. А уж хорошая так вообще с лёту.
    • Для закрепления одного слова может потребоваться не 1 а штук 5 карточек. Даже не одного слова, а одного смысла. Скажем в немецком для условного umziehen можно составить два десятка карточек. Во-первых смысла два: переехать и переодеться. И разные вспомогательные глаголы в перфекте (haben и sein). Во вторых в немецком глаголы спрягаются и дофига неправильных глаголов. Вот и тут umziehen, ziehe um, zieht um, umgezogen. Притеритум вообще не учу, рано пока. А ведь ещё есть umzuziehen. Бррр. Взял за правило делать хотя бы 3 карточки на каждый глагол: perfekt, 1 лицо и 3 лицо. А там как попрёт.

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


    Что-то много текста получилось. У меня за 1.5г скопилось уже 4476 карточек. Повторяю их каждый день. За день "всплывает" около 100. Так как это много, то повторяю их небольшими пачками несколько раз в день.


    1. faiwer
      02.10.2021 13:57
      +2

      Забыл добавить. Ещё довольно важно хорошо "прочуствовать" слово. Понять спектр его применений. Для этого помогают как ресурсы вроде reverso (их много на самом деле), где вы видите кучу примеров использования (к сожалению с огромным перекосом в "книжное" использование). Так и толковые словари. Последние прямо строго рекомендую во всех неочевидных случаях. Как только складывается ощущение "хм, тут что-то хитрое, почему..." — открываем толковый словарь и смотрим все значения слова. Почти всегда после этого вопросов не остаётся.


      Если же вашего уровня пока недостаточно, чтобы понимать толковые словари… То это не беда. Переводите сам толковый словарь автоматическим переводчиком :) Почему нет? Главное чтобы слово было объяснено хорошо.


      1. albatross
        06.10.2021 13:41

        ниже LedIndicator предложил использовать художественную литературу и я использую именно ее для составления карточек. Во-первых читаешь то, что тебе интересно и цепляет: это могут быть как чисто художественные произведения, так и всякие книги для расширения кругозора и саморазвития. Во-вторых незнакомые слова выписываются целиком вместе с предложениями учатся целиком фразы через интервальные повторения. Огромный плюс — ты понимаешь контекст в котором это слово применяется, причем даже если фраза короткая, ты все равно помнишь смысл и содержание текста где это предложение встретил. В качестве сильного побочного эфекта, впитываешь в себя обороты, предлоги, и в целом понимание как это слово используется при построении предложения. И в третьих, как правило, незнакомое слово по книге встречается неоднократно и в разных формах, так что в процесе чтения ты будешь к нему возращаться снова и снова, наращивая каждый раз количество ассоциативных связей в мозгу.
        Я еще дополнительно при повторении набираю фразы, это дополнительно помогает запомнить как они пишутся и подключается еще и мышечная память.


        1. faiwer
          06.10.2021 14:01

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


          В итоге у меня чаще получается так:


          • вижу в книге интересное слово
          • убеждаюсь что выдернуть из книги как есть эту фразу я не могу
          • нахожу это слово в словаре (например толковом) и вникаю что оно значит. Не только в этом контексте, а ещё и вообще что это за слово
          • открываю reverso context или подобные ресурсы (у меня их много) и нахожу более пригодные для карточек фразы, заодно и в разных склонениях (для немец. беру Perfekt, 1-е лицо или 3-лицо, и станд. форму)
          • понимаю как это слово используется. Часто к нему нужны свои предлоги, какие-нибудь возвратные местоимения, или для слова нужно инвертировать объект и субъект
          • добавляю в карточки "правильные" выражения\предложения и учу

          Основная причина почему так — я рассматриваю карточки не только как "выучить само слово", а ещё и как грамматическое упражнение. Т.е. нужно ещё и правильно предложение составить.


          Например, вчера создал такую карточку для слова gelingen (to succeed):


          • Ich bin überzeugt, dass es uns gelingen wird
          • Я убеждён, что мы в этом преуспеем

          Тут сразу и много других слов (например überzeugen — переубедить), и куча сложной грамматики, и сразу в голове закрепляется с каким падежом и окружением работает запоминаемое слово.


          Этот пример показателен тем, что в нём всё сложно, этот несчастный "to succeed" в немецком работает через конструкцию "es gelingen jemandem" (it succeeds us\you\me\them). Это слишком контринтуитивно для мозга русскоговорящего, и нужно долго привыкать. И для этого мало знать "zu gelingen = to succeed = преуспевать в чём-то". Приходится прошивать в голову целую конструкцию со слотами :)


          Как-то путанно написал. Но надеюсь общая мысль понятна. Слова берутся из любых контекстов — книги\фильмы\сериалы\разговоры\вывески\whatever, а карточки уже чаще требуют более тщательной работы.


    1. vrnvorona
      06.10.2021 15:58

      10 новых карточек в день это нормальное количество, не много и не мало. Особенно с учетом что через месяц-два добавления по 10 карточек в день будет от 150 до 200 ревью в день, выше уже сложновато. Хотя тут конечно зависит от интервалов настроенных и от того как хорошо запоминается.


  1. LedIndicator
    03.10.2021 01:48
    +1

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

    Попробуйте вместо "потребления контента" читать художественную литературу.

    Во-первых, словарный запас растёт как на дрожжах.
    Во-вторых, это интересно, вам понравится.


    1. vrnvorona
      06.10.2021 16:04

      Художественная литература это не контент?

      Просто надо расширить профиль (в том числе и литературой, конечно же).