Наука дослідження людини, а особливо її мозку куди складніша ніж наприклад комп’ютерні науки, тому нема чого дивуватись що в цій галузі існує купа найрізноманітніших напрямків. А міждицсциплінарних – ще більше. І виявляється на стику прикладної лінгвістики (як використовувати мову з користю?) і когнітивної психології (як люди думають своєю головою?) існує наука про опанування другої мови (second language acquisition). Відрізняється вона від науки опанування першої мови тим що опановуючи першу мову ви використовуємо лише наші вроджені інстинкти мавпування, а не підручники і спілкування з викладачем. Я прочитав про цю науку, і хоча там роблять публікації ще з 80-тих, але поки що не сильно наблизились до проекту Вавилонської вежі.
Правда одна ідея мені таки запам’яталась: існує два типи навчання: елементне та системне. Я так зрозумів це як синтетичний та аналітичний підхід. В першому випадку ми вчимо окремі елементи мови: слова, речення, певні фрази і т.п. В другому випадку ми вчимо якісь систематичні правила.
І особисто для мене працює лише елементне навчання. Правила я все одно не можу запам’ятати бо для їх використання треба думати. А мова це така штука яка повинна сидіти десь глибше свідомості. Ви бачите слово immer, always, ĉiam, всегда, いつも чи завжди і у вас залежно від контексту автоматично повинно засвічуватись поняття . Чи в крайньому випадку при immer повинно засвічуватись “це німецькою означає завжди”. Далі контекст повинен переключитись і всі наступні слова вже автоматично беруться зі словника.
Правда можуть виникнути сюрпризи наприклад коли ви чуєте “Bei mir bist du schein” і пробуєте перекласти з німецької, а потім інтернет підказує що то насправді ідиш, а німецькою пишеться “Für mich bist du schön”.
Крім того, я думаю що іноземні мови так важко вчити в школі тому що їх там вчать люди які самі вивчили лише одну-дві мови і то займались цим все життя. Тому вони й не знають як взагалі вчити мову… Крім того всі чомусь вчать однаково, хоча всі мислять по різному і читають різні книжки. Ще іноді групу ділять на “шарящі та нешарящі”, але вчили то всіх однаковими способами, просто останнім здається більше повторювали і вони читали і обговорювали менше цікавих текстів.
Коротше кажучи зараз я намагаюсь перевірити гіпотезу того чи можна мову вивчити самостійно на рівні читання газет, просто читаючи. Хоча я вже прослухав Pimsleur German I, подивився Extr@ auf Deutsch (тепер залишилось вивчити німецьку і можна буде ще раз подивитись), прочитав по 50 сторінок Langenscheidt Німецька мова 20 хвилин щодня, і С.О. Носков “Самовчитель німецької мови”, потім знайшов ключі до вправ і подумав що їх все таки напевне варто робити.
Тепер про мою теорію вивчення мови. Щоб навчитись читати, треба читати тексти. Коли ви читатимете тексти, ви зустрічатимете незнайомі слова, і будете змушені користуватись словником. А чим слово важливіше тим частіше зустрічається, а чим частіше зустрічається тим частіше ви заглядатимете в словник, а чим частіше ви заглядатимете в словник тим краще вивчите слово. Крім того ви краще будете знати слова саме в сфері своїх зацікавлень.
Проте все одно, щоб читання не було таким болісним, на перших етапах хотілось би якось уникнути текстів що містять багато низькочастотних слів, і читати якісь учбові тексти. Ідеальною була б книжка на зразок “Gerda malaperis”, але вона чомусь одна така, і лише для есперанто.
Плюс книжки Gerda malaperis в тому що це детектив, який дає якусь напругу, і викликає постійне бажання дізнатись що там далі. Часом настільки що починаєш пропускати половину слів, сюжет все одно від того не змінюється. Це мінус. Тому щоб себе стримувати повинен бути якийсь тест. “Після прочитання цього розділу ви повинні знати наступне. Якщо не знаєте – потрібно читати уважніше”. Плюс будь-якого тесту, навіть найлегшого в тому що він змушує задуматись. І я придумав теорію як зробити тести складнішими.
По суті
Є набір пар запитання – відповідь. В нашому випадку запитання – це слова або фрази на зразок “es tut mir leid”. Відповіді – це їх переклад, в даному випадку “мені шкода”. Треба перевірити знання цих пар, і вказати користувачу слабкі місця. Яким чином визначити слабкі місця? 10 разів перевірити чи користувач знає слово. Якщо він 9 разів з десяти знає – то так і записати – це слово користувач знає на 9 з десяти. Далі вибирати слова які користувач знає найгірше і давати їх йому.
Тести з варіантами відповіді – найкращі для комп’ютера тому що їх просто перевіряти. Для тестів “введіть відповідь” потрібно буде зробити неслабенький синтаксичний аналізатор і зведення відповіді до “канонічної форми”.
Правда тести занадто легкі, тому що наприклад тест “entschuldigung: а) сонце б) їсти в) прошу пробачення г) або” можна вирішити просто тому що варіанти а, б, та г точно не підходять. Але тести можна поступово ускладнювати.
Якщо користувач раптом помиляється, і обирає варіант б) ми записуємо в табличку з помилками пару entshuldigung – їсти, і кажемо що при 10 показах слова enshuldigung користувач обрав цей неправильний переклад 2 рази. І таким чином коли ми наступного разу будемо показувати тест зі словом “пробачте” користувачу, ми з більшою ймовірністю домішаємо туди помилковий варіант “їсти”, просто тому що користувач частіше робить цю помилку.
Таким чином можна буде виявити слова які я плутаю, наприклад: besuchen – відвідувати, гостювати; brauchen – потребувати; bekommen – отримувати, і вчити мене їх не плутати.
Я вирішив підівчити JavaScript, і написати програмку для цього. Вчора виклав її прототип на github. https://github.com/bunyk/item_lang_learn.
Проблеми на даний момент – я здається якось неправильно прив’язую події до кнопок з варіантами відповідей, бо після кількох кліків завжди запускається тільки подія для неправильної відповіді. Напевне варто переписати з однаковим обробником для всіх кнопок, але присвоїти кнопкам різні ідентифікатори.
Друга проблема – якщо робити модель на основі localStorage – треба буде за допомогою JavaScript багато сортувати, і взагалі робити речі які гарна база даних робила б за нас. А localStorage не вміє.
Ну, і ще проблема в тому аби зробити оформлення нормальним. jQueryUI і Bootstrap ніби непогані, але лише їх недостатньо.
Але наступного року придумаю як з цим розібратись.
Filed under: Кодерство, Нещоденник, Павутина Tagged: освіта, JavaScript