Я пробовал Anki, Cram, Memrise, Drops, Quizlet и сотню других приложений для запоминания слов. Я не нашел ничего, чем бы мне было приятно пользоваться. В итоге я сделал своё (сайт, а не приложение) и пользуюсь им уже 1.5 года. Не идеально, но есть определенные плюсы.
Так что не так с Anki и прочими?
На вкус и цвет все фломастеры разные. Я не говорю, что это плохие приложения. Если кому-то нравится, это отлично, но мне было больно ими пользоваться.
Anki
Нужно немного пострадать со всякими синхронизациями, чтобы загрузить слова, но это терпимо. А вот процесс изучения мне не понравился по двум причинам.
У меня есть колода на 500 карточек. Я хочу просто пройтись по всем карточкам. Но после 10-20 ответов "не знаю" Anki начинает показывать мне одни и те же карточки. Я просто хочу забыть уже про них и идти дальше. Да там есть кнопки suspend, но это дополнительные действия, я хочу просто сразу пройти всю стопку от начала до конца без повторов.
Перегруженный интерфейс. Там появляется 3-4 кнопки, что-то вроде "не знаю", "совсем не знаю", "знаю", "легко". Я не хочу об этом думать, это сильно отвлекает, достаточно "знаю" - "не знаю".
Cram
Это лучшее из того что я нашел. Легко загрузить список слов. Удобный режим запоминания. Есть хорошая озвучка.
Недостатки:
Озвучка включается либо для обоих сторон, либо ни для одной. В случае русской озвучки там было много проблем с ударениями до сих пор в моей голове звучит "ложкá" с ударением на последний слог.
Большой список слов 1000/3000/5000 довольно сложно загрузить. На каждое слово сайт генерирует текстовый редактор (WYSIWYG), и 1000 редакторов на странице вешают браузер. Спустя несколько попыток и 1,5 часа времени мне все таки удавалось загрузить список слов, но это был не очень приятный процесс.
Memrise
Это приложение идет с готовым списком слов, нужно просто выбрать язык и пользоваться. Но было большое количество ошибок перевода. Возможно не для всех языковых пар есть такие проблемы, но с теми языками которые я пробовал, было очень плохо. Вроде там еще нужно периодически записывать буквами слово, но мне это не нужно.
Drops
Также идет с готовым списком слов. Картинки иногда подобраны очень странно. Механика заучивания мне не понравилась. Вроде там тоже нужно периодически записывать буквами слово, но мне это не нужно.
Прочие
Есть еще несколько неплохих по контенту (хорошо подобраны слова и картинки, есть озвучка) приложений типа FunEasyLearn и Learn & Play, но они не содержат никакой махании заучивания. Там можно только просматривать слова по темам и добавлять в избранное.
Бумажные карточки оказались во многом лучше любых приложений. С ними можно применять любой способ заучивания. Хочешь заучиваешь по 10 карточек, хочешь повторяешь всю колоду - сколько запомнилось, столько запомнилось. Заученные карточки складываются в отдельные колоды и можно повторять их когда захочешь, а не когда программа решит за тебя. К недостаткам можно отнести - трудоемкость создания и отсутствие озвучки.
Что получилось?
Получился сайт. Интерфейс не особо интуитивный, поэтому покажу как все работает.
Добавление списка слов
При добавлении новой колоды слова добавляются в формате CSV. Просто текстовое поле, каждая новая карточка с новой строки, разделитель - точка с запятой. Я обычно добавляю с компа, а учу на телефоне.
Загрузка из файла
Либо можно создать колоду с пустым списком слов и позже импортировать из CSV или XLSX файла. Чтобы посмотреть формат файла, сделайте экспорт любой колоды.
Включение озвучки
В списке рядом с колодой есть меню, в нем пункт options, нужно включить галочку "Text to speech". Языки определяются автоматически, но можно изменить вручную на случай ошибок. Там заданы лимиты на TextToSpeech, если придет много людей, то озвучка может временно не работать.
Экран заучивание слов
При нажатии на вопросительный знак показывается обратная сторона карточки. При ответе "Знаю" (зеленая кнопка) карточка переходит на следующий уровень. При ответе "Не знаю" (красная кнопка) с любого уровня переходит на первый. Сверху кнопки - "Вернуться к предыдущей карточке" (очень полезно когда нажал не ту кнопку) и "Редактирование". Под кнопками расположены ссылки, на google images, переводчики, словари и любые другие сайты. По умолчанию этих ссылок нет их нужно добавить самостоятельно на свой вкус, об этом расскажу ниже.
Добавление ссылок
Чтобы не прописывать ссылки для каждой колоды, я сделал добавление языков. Нужно добавить языки и в них прописать ссылки. Родной язык нужно указать, для того чтобы я знал какую сторону карточки подставлять в ссылку (там подставляется иностранный).
На скриншоте конечно плохо видно, поэтому ниже скопировано текстом и пояснения.
Вот пример моих ссылок для немецкого языка:
google images; https://www.google.com/search?tbm=isch&q={}
yandex translate; https://translate.yandex.ru/?lang=de-ru&text={}
glosbe; https://pl.glosbe.com/de/ru/{}
context.reverso; https://context.reverso.net/translation/german-russian/{}
dict.leo.org; https://dict.leo.org/russisch-deutsch/{}?side=right
forvo; https://forvo.com/search/{}/de/
google; https://www.google.com/search?q={}
Формат - название ссылки и URL через точку с запятой. Вместо символа {} подставляется слово на иностранном языке.
Статистика
Скриншот моей статистики. Видно что в последнее время я активно учил слова за последнюю неделю около 30 минут в день. В один из дней было почти 100 минут. Также можно видеть в какое именно время и по сколько минут (этот график только за 24 часа).
Про технологии тут особо писать нечего, такое может быть делано на чем угодно. Я использовал Python / Django / PostgreSQL / Google Text-to-Speech API.
Есть некоторые баги и мелкие неудобства. Например нет AJAX и страница каждый раз перезагружается, что может бесить на медленном интернете. Есть пространство для улучшений.
А вот и ссылка - betadict.ru
Комментарии (23)
Gorthauer87
03.08.2021 17:42+1Пытался вот так слова учить. Забывались быстро, потом возникала фрустрация и пропадала мотивация. Лучше уж фильмы с субтитрами смотреть и полезно и развлечение.
un1t Автор
03.08.2021 18:44Конечно этот инструмент не для каждого человека и не для каждого уровня языка. Но выучить так первые 500-1000 слов или выучить 20 слов к уроку это вполне удобно.
Я себя проверял через несколько месяцев, конечно что-то забывается, но процентов 80-90 я помню.
Всегда хочется перейти к оригинальному контенту, но на начальных уровнях это практически невозможно. Хотя встречаются отдельные люди которые начинают с нуля читать книги. Для меня это не работает, мне надо выучить хотя бы первые 3000 слов, чтобы не смотреть каждое слово в словаре, забывая 5 предыдущих в одном предложении. Плюс грамматика оригинального контента достаточно сложна и просто по словарю это не перевести.
Почитайте про метод интервального повторения, если не слышали, тут правда никаких интервалов не предлагается, но т.к. карточка переходит на следующий уровень, можно самому выбрать интервал когда повторять. Нужно повторить слово несколько раз с нарастающими интервалами (день, неделя, месяц, пол года), чтобы слово отложилось на долго. Сами интервалы для примера, это вопрос индивидуальный.
Bakuard
04.08.2021 13:28Очень большая ошибка большинства приложений по изучению иностранных слов - это предположение что между множествами всех слов двух разных языков можно установить взаимно однозначное соответствие. К сожалению, приложение автора этой статьи эту ошибку не избежало.
un1t Автор
04.08.2021 15:08Никто на равенство значений не рассчитывает, но другого способа изучать слова пока не придумали.
Bakuard
05.08.2021 07:51Я к тому, что для каждого английского слова должна быть возможность указать несколько переводов и желательно пример на каждое из значений слова.
un1t Автор
05.08.2021 09:05Если есть такое желание можете указать несколько, никто вас не ограничивает. Это же просто текстовое поле.
Может быть даже несколько строк. Для этого нужно использовать кавычки
слово1; "перевод1 - пример с переводом1
перевод2 - пример с переводом2
перевод3 - пример с переводом3
"
слово2; перевод1, перевод2
Или возможно удобнее будет составлять такое в excel и потом сохранить в CSV и загрузить.
un1t Автор
05.08.2021 10:48Точнее вот так, не должно быть пробела между ; и "
слово1;"перевод1 - пример с переводом1 перевод2 - пример с переводом2 перевод3 - пример с переводом3 " слово2; перевод1, перевод2
janatem
03.08.2021 18:26+1Я попробовал несколько сервисов (в том числе Quizlet, Memrise), и вот главная, на мой взгляд, проблема, ради решения которой стоило бы браться за создание еще одного приложения: язык описания карточек слишком бедный, из-за этого трудно или невозможно создавать удобные наборы карточек. Самый важный (и трудный в реализации) тип карточки — это когда что-то показывают, и нужно вписать правильный ответ. Проблемы начинают возникать, когда нет однозначно правильного ответа (это просто специфика предметной области). Тот CSV-формат карточек, который понимают большинство реализации, позволяет лишь перечислить несколько ответов, которые считаются правильными.
Вот как я представляю язык описания карточек. Есть два очевидных способа задать правильный ответ:
в соответствующем поле карточки нужно написать строку, и правильным ответом считается, когда эта строка и строка, введенная пользователем, посимвольно равны;
написать функцию на алгоритмически полном языке типа String -> Bool, которая говорит, правильный ответ или нет.
Первый способ слишком жесткий, а второй — слишком обременительный для создателя карточки. Поэтому между этими полюсами должен быть целый спектр:
простое перечисление правильных ответов (эта возможность уже есть в CSV);
нормализация: на ответ пользователя напускается некоторая нормализующая функция типа String -> String, и ее результат сравнивается с эталонным ответом; в каком-то смысле нормализация и так делается (например, из ответа удаляются повторяющиеся пробелы), но она захардкожена в движке, и управлять ею нельзя;
список слов, и в качестве ответа требуется указать все, но в любом порядке;
BNF;
регулярные выражения;
вероятно, целая библиотека, причем пополняемая, различных способов, которые только можно помыслить.
Кроме того, хочется параметризовать функцию проверки правильности слова. Например, сегодня я (как пользователь) хочу, чтобы проверяльщик строго следил за диакритическими знаками, а завтра захочу, чтобы он всё отнормализовывал в чистую латиницу. Или чтобы на первом проходе достаточно было ввести хотя бы один правильный вариант, а на втором — весь список синонимов (пусть в вопросе будет подсказка, сколько их всего).
Что касается социализации, то мне бы хватило оффлайнового приложения и условного гитхаба, где можно было бы обмениваться наборами карточек и инструментами по их генерации. Но это, конечно, вопрос вкуса — кому-то нравится соревноваться и смотреть статистику. Пользуясь случаем, делюсь своими наборами для чешского языка на Quizlet, большая часть которых была сгенерирована (полу)автоматически с помощью скриптов. (Правда, скрипты вряд ли кому-то помогут, ибо даже я забыл, как ими пользоваться.) Также интересно было бы сделать такой инструмент, который бы умел парсить словари и автоматически генерировать наборы карточек.
un1t Автор
03.08.2021 18:45Проблемы начинают возникать, когда нет однозначно правильного ответа (это просто специфика предметной области).
Это про языки или какого рода карточки? Можно пример?
janatem
03.08.2021 18:57Пока речь только про изучение языков. Во-первых, изоморфизмы рушатся из-за синонимов и омонимов. Во-вторых, есть разные степени строгости: учитывать ли заглавные/строчные, требовать ли правильной расстановки диакритических знаков. А при переходе от слов к фразам и предложениям всё становится резко сложнее — к синонимам добавляется нестрогий порядок слов.
DMGarikk
03.08.2021 18:44+1мимо меня както стороной прошла вся эта тема с зазубриванием слов по карточкам, мне вообще сложно понять как можно таким образом чтото эффективно выучить…
мой путь был другим, я тупо переводил тексты в обнимку со словариком, imho это гораздо эффективнее чем тупо запоминать какието виртуальные слова… которые зачастую могут преподносится без контекста и в реальной жизни не использоватьсяun1t Автор
03.08.2021 18:55+1Заучивание слов не отменяет чтения книг. При чтении эти слова будут встречаться в контексте.
Да я тоже переводил тексты если речь идет об английском. Но английский же учиться не с нуля, школа дает определенную базу грамматики и слов. А вот в новом языке начать читать даже со словарем, это практически невозможно. Я пробовал, раньше уровня А2 просто не возможно понять, что написано даже со словарем. А до А2 еще как-то надо дойти, в том числе заучивая слова к урокам.
Каждый человек должен выбирать свой способ в зависимости от своих предпочтений, интересов, текущего уровня, психологических моментов и т.п.
sved
03.08.2021 19:59-1Не очень удобно, имхо. Надо самому вбивать карточки. Лучше если будут уже готовые.
un1t Автор
03.08.2021 22:42+1Если вас интересуют готовые, можно найти любой список в интернете, поменять разделитель на точку с запятой и готово. Любой список карточек преобразуется в такой формат за минуту.
sved
03.08.2021 22:45-1Ну где я, простой пользователь буду их искать?
Хоть бы намекнули, где их можно найти. Я вот, например, не знаю.
un1t Автор
03.08.2021 22:55Я же не знаю какой язык и какой уровень вас интересует. Ищется элементарно по запросу типа "1000 слов немецкий язык". Или ищите в рамках темы которая вас интересует.
А anki есть готовые карточки пользователи которыми поделились - https://ankiweb.net/shared/decks/
Через программу Anki их можно преобразовать в CSV формат.
У cram при создании по умолчанию все колоды публичные их можно искать тут
https://www.cram.com/search?query=%D0%BD%D0%B5%D0%BC%D0%B5%D1%86%D0%BA%D0%B8%D0%B9
правда сложно там найти что-то разумное
plotn1
04.08.2021 10:46Доброго дня!
А вы не делали никакое API? А то мы бы прикрутили в KnownReader — Anki у нас там уже есть.
Если интересно — дайте знать.un1t Автор
04.08.2021 11:55Пока нет API и при таком количестве пользователей это не имеет смысла.
Но идея интересная.
plotn1
04.08.2021 13:57ок, я понял. У нас то просто идея создавать карточки «прямо из читалки» (так как мы делаем читалку). Апи словарей разных вполне успешно прикрутили, подумалось — так почему бы и нет.
un1t Автор
Упс. Случайно отклонил комментарий. Даже не знал что так можно. Не знаю как вернуть. Там вопрос был про ассоциации. Записать можно ассоциацию на обратной стороне, рядом с переводом. Но вроде как это уже и не нужно будет, если придумал ассоциацию, то должно сразу запомниться.
un1t Автор
Восстанавливаю из почты
Комментарий пользователя Joysi
Текст комментария:
Почти во всех подобных сайтах/приложениях для заучивания слов через карточки для меня есть недостаток — нет возможности добавить ассоциацию с изучаемым словом (при этом гораздо лучше запоминается). Например, [english] mittens (варежки) — это как kittens, такие же пушистые и мягкие (прочитал об этом лет 20 назад — помню до сих пор). LinguaLeo в этом режиме к словарикам привязывает контекст слова, где оно встречалось (все же лучше, но не совсем то: например bold(храбрый) отрывок из GoT с игрой слов Barristan the Bold/Old ). Было бы здорово найте словарики с подобными ассоциациями (понятно, что не все зайдут, но все же).