Проект: Leim Reader — читаем тексты в оригинале (даже с начальным уровнем языка = A1+)  Публичный пост
26 января 2023  1887
Leim Reader - читаем тексты в оригинале (даже с начальным уровнем языка = A1+)
https://websiteextractor.net/leim-reader/

Расскажите о себе и сути проекта?

Я Саша - разработчик (ранее .NET, сейчас JS+Typescript+React) и оунер малюсенькой IT компании. 3 месяца назад начала изучать немецкий (практически с нуля, до этого чуть баловался с Duolingo). В жизни придерживаюсь принципа: "несколько часов ресерча - могут сэкономить месяцы работы". Поэтому решил еще "на берегу" узнать, как учатся полиглоты. Иначе говоря, люди, у которых процесс освоения новых языков поставлен на поток.

Стал слушать записи конференции полиглотов. Особенно зашли подкасты от Lydia Machova и Luca Lampariello. Ох... там целый мир подходов, инструментов, принципов.... Но ключевой находкой для меня стал принцип обучения через иммерсию (immersion - погружение с английского). То есть когда ты стараешься по максимуму окружить себя новым языком: читать, смотреть видео, говорить, слушать, а в идеале - и думать на изучаемом языке).

Но оказывается, интегрировать иммерсию для начинающих довольно проблематично. Например, я пробовал читать неадаптированный контент на немецком (с моим уровнем A1). Это реально грустно. То и дело буксуешь, за каждым вторым словом лезешь в словарь, а потом еще надо подобрать, какое его значение актуально в текущем контексте + встроить в смысловую конву фразы. Это все усугулбляется типичными для немецкого "километровыми" предложениями.


Наконец, непонятно, какое слово мне стоит прямо сейчас добавить в Remnote для дальнейшего повторения и запоминания, а какое - слишком редкое и его стоит оставить на будущее (если вдруг докачусь до B2+).

Конечно, можно потреблять только адаптированный контент. Но читать сказки (или любые тексты, которые здесь и сейчас для меня неактуальны) быстро наскучивает. Да и с прикладной точки зрения, есть личные наблюдения, что мозг сильно лучше запоминает слова, которые связаны с сегодняшними насущными задачами. Например, я супер быстро запомнил слово "einstellung" (установка, настройка), когда резко переключил язык в своем Android на немецкий, и при первом удобном случае долго тупил, как найти меню "Настройки".


В общем, когда мозг улавливает, что процесс обучения происходит только ради самого обучения, он легко находит способы его тормозить и прокрастинировать. Таким образом, я твердо решил искать способ читать тексты в оригинале, даже с моим около-А1 уровнем. Чтобы мозгу не казалось, что я его пытаюсь тупо наКОЛОть.

Начал перебирать существующие продукты. Пробовал, как простые средства, вроде расширения Google Translate в браузере, так и "тяжелую артилерию" вроде Migaku и LingQ. Решения крутые, однако процесс чтения (совмещенный с необходимостью изучения лексики) улучшился не сильно. Если интересно - сами попробуйте почитать текст в оригинале. Если у вас уровень А1 или А2, вы оцените - еще те пытки.

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

Что вошло в прототип и сколько времени на него было потрачено?

Прототип уже можно потрогать) Он живет в Chrome расширение "LeIm" (от "Learn through Immersion"), в котором собираю тулзы для изучения языка. Можете прямо сейчас добавить LeIm в свой Chrome, чтобы оценить по ходу чтения.

Как это работает

Покажу на примере изучения немецкого. Если для вас актуальнее английский, выберите его в настройках расширения. Также, в качестве языка "to translate to" установите Russian. Иначе нужно будет заморочиться с создание ключа для Azure API . Чтобы вызвать окно настроек, используйте контекстное меню на любой вебстранице:


Открываем страницу: https://de.wikipedia.org/wiki/Geschichte_Wiens (всегда хотел почитать про историю Вены, все как-то руки не доходили, наконец представился случай))). Выделяем интересующий нас текст и отправляем в расширение.

И вот, перед нами предстает сам LeIm Reader:

Слово в контексте

Итак, читаем наш текст. Допустим, встретили слово, которое хз что значит в текущем контексте. Например, это слово "gewann". Я, вроде как, его знаю: "gewann (выиграл)" - прошедшее время от "gewinnen". Но с этим значением у меня совершенно не бьется смысл окружающей фразы. Дело в том, что в немецком навалом слов, у которых "100500" значений. И при переводе можно конкретно застрять, выбирая подходящий в текущем контексте вариант перевода (который может быть довольно редким).


Что с этим делать? Все просто - кликаем по "gewann" левой кнопкой мышки. Видим панель.

Главное здесь - переведенное предложение, в котором живет наше слово. На что стоит обратить внимание? Во-первых, мы сразу получаем перевод, который актуален в текущем контексте. Во-вторых, в отличие от случая, когда в тот же Google Translate отправляешь целую "котлету текста", теперь не нужно долго рыскать глазами, чтобы в переводе найти соответствие непонятному слову оригинала.

Частота (популярность) слова

Здесь же на панели приводится частота слова (иными словами - популярность) -"5/7". Это работает пока только для немецкого языка. В будущем планируем сделать и для других популярных ленгвиджей.

Кстати, уже догадались чем полезен данный показатель? Допустим мы сейчас на уровне А1 и не хотим забивать голову кучей редких слов, которые имеет смысл знать начиная с B2. Действительно, сохранять каждое второе слово - это типичная ошибка при создании флешкарточек. Иначе говоря - верный путь к тому, чтобы быстро застрессовать и далеко+надолго забросить все это интервальное повторение.

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

Режим повторения-вспоминания

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

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

Чтобы проверить себя после вспоминания, кликаем на сам пропуск. При этом он заменяется на соответствующее пропущенное слово.

Новый "Revision mode"

UPD!!! (17/02/23): Сделали новую механику. Теперь каждое отдельное слово (которое мы сейчас "Learn") - показываем отдельным "шагом". On each step мы видим:

  • предложение оригинал, в котором встречается слово (естественно, само слово спрятано)))
  • предложение перевод, в котором подсвечено слово, соответствующее оригинальному (OOOPS: иногда это не срабатывает, если API не возвращает информацию о соответствии);
  • И главное - альтернативные варианты использования слова. Чтобы избежать типичного косяка флешкарточек. А именно - когда постоянно повторяешь слово в одном варианте, то иногда запоминаешь сам контекст, вместо значения слова.

Чтобы проверить себя после вспоминания, кликаем на сам пропуск. При этом - он заменяется на соответствующее пропущенное слово.

Summary

Подытожим. С помощью LeIm Reader можно читать текст в оригинале, даже с низким уровнем владения языком. И одновременно - улучшать свой словарный запас. Ведь для каждого незнакомого (или непонятного в контексте) слова в оригинальном тексте - наш мозг без лишних усилий находит его "match" в переводе. После чтения - можно сразу повторить незнакомые слова в режиме активного вспоминания (active recall), который сильно полезнее, чем пассивное перечитывание.

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

Disclaimer-ы

  • Сейчас еще не все гладко. В частности, информация о соответствии слов оригинала и перевода иногда отсутствует.
  • Как упоминал выше, при использовании языковых пар, в которых целевым языком является не русский (например немецкий-английский), для получения информации о соответствии слов оригинала и перевода нужно заморочиться с созданием ключа Azure API. Это дополнительные 10-15 минут, но, как минимум - он бесплатный)

Кто еще на борту?

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

  • LeIm reader (сегодня о нем рассказывал), краткое видео summary ниже:

  • Вокализация субтитров Youtube и любого текстового контента (+генерация флешкарточки для Remnote): демо видео
  • Youtube панель с субтитрами сразу на двух языках (+генерация флешкарточки для Remnote): буквально на днях добавили:

Что планирую

На ближайшем горизонте видятся следующие доработки:

  • добавить информацию о частоте слова для английского языка;
  • прикрутить собственную систему интервального повторения (или, как минимум, экспорт в Remnote);
  • добавить на панель краткие сноски по грамматике.

Нужны ли какие-то советы или помощь Клуба?

Есть 3 момента:

  • Фидбек по доработкам. Пишите, какие доработки к LeIm Reader считаете наиболее полезными.
  • Помощь в эксперименте. Сейчас хочу провести продуктовый эксперимент. Проверить, стоит ли продукт развивать с прицелом на монетизацию или оставить в качесьве pet-project для собственных нужд. Родились вопросы к продактам и маркетологам. Также, скорее всего, понадобится помощь таргетолога. Если есть энтузиасты, кто захочет помочь развиться хорошему продукту - буду благодарен за помощь.
  • Any help is appreciated:-) Если вам резонирует идея проекта (создавать удобные тулзы для immersive learning) и вы хотите каким-то образом в нем поучаствовать - дайте знать.

Заранее спасибо! Буду признателен за любую обратную связь в комментариях!

Связанные посты
33 комментария 👇

Привет!

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

@gramlin, хорошо подмечено про подчеркивание, тоже об этом думал, но пока не знаю, как по другому показать, что слово кликабельно (точнее - все кликабельны)))

  Развернуть 1 комментарий

@apris, если все кликабельны, то вероятно и не нужно их выделять. Это получается их стандартное поведение. Или например можно выделять при наведении.

  Развернуть 1 комментарий

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

Как написал Andrey Berg ховера может быть достаточно. Если кажется что нет - можно добавить скрываемую тестовую подсказку при первых открытиях приложения (как простое и легковнедряемое решение) или пошаговый туториал.

  Развернуть 1 комментарий

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

  Развернуть 1 комментарий

@ssoldatenkov, да, и у Migaku тоже, насколько помню. Ими и вдохновился))) Собственно, у них мне не хватало как раз соответствия и показателя частоты (из-за этого процесс чтения и пополнения флешкарт заметно буксовал)))

  Развернуть 1 комментарий

Попробую, раньше использовал расширение Wordology для подсвечивания во всем интернете незнакомых слов
Удобно было когда заходишь на страницу и видишь - 30, 50 или 80% слов ты знаешь - сразу пройтись по тому, что не знаешь и потом спокойно читать текст

  Развернуть 1 комментарий

@skitnik, любопытно, а как туда на входе добавляется исходный набор знакомых слов? То есть как ему указать, что такой-то набор слов я уже знаю?

Насколько помню, у Мигаку для этого используется импорт из Анки. Я тоже думал такое сделать для немецкого, но через импорт базовых корпусов слов для А1, A2... из Goethe листов.

  Развернуть 1 комментарий

@apris, насколько помню, никак - у меня раньше не было такого списка и постепенно отмечал те, что уже знаю (у wordology есть какая-то фича на распознавание похожих слов)

  Развернуть 1 комментарий

@skitnik, похожих - имеется ввиду словоформ конкретного слова (хотя в английском это имеет сильно меньше смысла чем в немецком)))

  Развернуть 1 комментарий

@apris, по той же частотности можно попробовать определять. Условно, если у тебя А1, то знакомы только слова с максимальной частотой. Ну, и вручную отмечать "уже знаю/не знаком".

  Развернуть 1 комментарий

@skitnik, логичный вопрос - почему перестал использовать Wordology?

  Развернуть 1 комментарий

Вроде похоже на https://readlang.com

  Развернуть 1 комментарий

@stigger, благодарю, изучу их модель развития

  Развернуть 1 комментарий

А откуда берется частотность слов? Выглядит очень стмпатично!

  Развернуть 1 комментарий

@DenisShepelin, пока тянем только для Deutch с DWDS.

  Развернуть 1 комментарий

А поддерживать плагин под firefox это отдельная муторная работа, или можно как то автоматически ?

  Развернуть 1 комментарий

@korjavin, хороший вопрос. Я его подробно не изучал. Бегло погуглил - вроде, возможно. Если есть желание поспособсвовать с этим - дайте знать)

  Развернуть 1 комментарий

@apris, привет! Были какие-нибудь продвижения в сторону поддержки Firefox?

  Развернуть 1 комментарий
Oleg Kipriianov пишу код, руковожу проектами 30 января 2023

👍🏻 буду пробовать! Если появятся идеи, напишу)

  Развернуть 1 комментарий

Можно как-то сузить область доступа расширения? Достаточно ведь только читать содержимое активной вкладки, нет?

  Развернуть 1 комментарий

@komposter, все верно, но в активной вкладке может быть открыт любой сайт. Или, мы по разному понимаем смысл этого permission

  Развернуть 1 комментарий
🕵️ Юзер скрыл свои комментарии от публичного просмотра...

Я делаю похожий проект, но для тех кто уже знает язык на уровне не ниже pre-intermediate. https://vas3k.club/project/18231/

@apris, давай коллабиться?

  Развернуть 1 комментарий

@Vehov, супер! Вернусь с выходных, изучу, отпишусь в ЛС.

  Развернуть 1 комментарий

Я так понял, что пока только 3 языка: немецкий, русский и английский.
А можно добавить португальский? Или это очень муторно?

  Развернуть 1 комментарий

@8l1iUcE6ChZrwkvYLiadov, пометил себе, спрошу у разраба, думаю все реализуемо . Спасибо за интерес к решению!

  Развернуть 1 комментарий

@8l1iUcE6ChZrwkvYLiadov, готово:

  Развернуть 1 комментарий

@apris, спасибо, завтра как раз урок, сегодня потестю вечером!

  Развернуть 1 комментарий

@8l1iUcE6ChZrwkvYLiadov, буду grateful за любые фидбеки, особенно по "rough edges", то есть шероховатостям.

  Развернуть 1 комментарий

Пользуюсь Reverso Context.
Очень нравится и сам переводчик (выдает переводы на примере предложений из разных текстов), и как раз расширенее: выделяешь слово, появляется иконка, кликаешь и получаешь перевод в контексте сразу.

  Развернуть 1 комментарий

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

  Развернуть 1 комментарий

😎

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

Что вообще здесь происходит?


Войти  или  Вступить в Клуб