Досвід
«Цей курс — марафон»:
дві історії від випускників
NLP Medium
Валерія Лакуста та Дмитро Сакович розділили між собою грант від Grammarly на курсі NLP Medium, який покриє половину ціни курсу для кожного. І вже після випускного розповіли нам про свої курсові проєкти, нестачу часу та 20-25 годин самостійної роботи на тиждень.
Зараз я працюю комп'ютерною лінгвісткою в Grammarly, і вже давно знаю про цей курс. Пам'ятаю як два роки тому я прийшла на перший випуск курсу в Grammarly (коли ще не працювала там), і вже тоді вирішила, що хочу вчитися на Data Science & NLP. Минуло кілька років і ось я опинилася тут, чому неймовірно рада — це дуже цінний і корисний досвід для мене.

За освітою я перекладачка арабської мови, а три роки тому почала займатися комп'ютерною лінгвістикою. Спочатку з арабською мовою, а зараз з англійською.

Особливість професії програміста будь-якого напрямку полягає в тому, що технології дуже швидко змінюються, і доводиться постійно вчитися: щороку з'являються нові фреймворки, підходи до розв'язування різних завдань, видаються тисячі наукових робіт. А мені, як людині, яка поміняла професію, доводиться вчитися вдвічі більше.

Тому навчання супроводжує мене постійно. На курс NLP Medium я звернула увагу саме тому, що там вчать тих технологій, з якими я або вже працювала, але хотіла розібратися глибше; або викладають теми, про які я нічого не знала, та вони були необхідні мені для професійного розвитку як NLP-спеціалістки.

З деякими інструментами я працюю щодня в Grammarly — з парсером залежностей, з векторними уявленнями слів і мовними моделями. Здавалося, я досить непогано розуміла, як вони працюють, але була в захваті, коли сама написала свій парсер залежностей, який при цьому ще й працював. Дуже корисно було дізнатися деталі імплементації та відмінності різних векторів, і то, як побудовані мовні моделі.

А ще я дуже чекала заняття по нейронним мережам. Звичайно, тут все ясно: ця тема зараз на хайпі, всі говорять про штучний інтелект, але мало хто розуміє як він працює.
Дуже добре пам'ятаю вечір, коли у мене скомпілювалася перша модель, яку я написала: раділа, як дитина. Цей стан навіть можна порівняти з ейфорією, яку зазвичай відчуваєш після того, як вийшло щось після довгих годин і днів старань і спроб розібратися чому ж нічого не працює.

Звичайно, у мене зараз немає можливості використати всі знання, які я отримала на курсі, але я знаю, що це не дарма. Отримана на курсі інформація допомогла розширити мої знання про світ NLP, розвинути розуміння технологій, підходів та їхньої користі. Для курсової роботи я працювала над проєктом «Сегментація speech-to-text розшифровки телеефіру на окремі сюжети». Простими словами — мені потрібно було відокремити сюжети в текстах новин один від одного. Це завдання використовується в медіамоніторингу, щоб аналітикам, які працюють з замовником, було легше орієнтуватися в даних.

Робота над курсовою — це можливість застосувати знання, які ми отримали на курсі, спробувати як це працює на реальних задачах, а не в форматі мініпроєктів (якими були домашні завдання). Потрібно було спочатку придумати цікаву тему, потім знайти або самостійно зібрати дані, попрацювати з їх розміткою, приступити до розробки. Дуже рада, що вдалося попрацювати з різними технологіями, з гучними даними, попрактикуватися з нейронними моделями. Всі ці знання я буду застосовувати далі.

Останні два тижні навчання не було домашніх завдань, всі працювали над курсовими, в результаті у багатьох вийшли круті проєкти. Я була здивована багатьма роботами на випуску, всі такі різні, продумані, повноцінні проекти. І у нас вийшов крутий випуск, не дивлячись на умови карантину. Ми розмовляли та гуляли Подолом під красивий захід сонця. Деяких одногрупників я, до речі, побачила вперше на випускному. Мар'яна і Всеволод дуже уважні куратори: я дивувалася тому, як можна так круто переводити складні теми простою мовою, щоб нам було легше їх зрозуміти.

NLP Medium — це вже мій третій курс в Проджекторі, і він був найскладнішим. У мене, на відміну від одногрупників, не було ні великого досвіду в програмуванні, ні профільної освіти. Тому на домашні завдання йшло набагато більше часу, ніж я очікувала — приблизно по 25-30 годин на тиждень. Доводилося багато гуглити, деякі теми допрацьовувати самостійно, багато дивитися експлейнерів на ютубі. За три місяці навчання у мене було не більше чотирьох повноцінних вихідних, і саме відсутність відпочинку стала найскладнішим моментом. Який би вибір переді мною не стояв — «фільм суботнім вечором чи навчання», «прогулянка чи навчання» — я завжди обирала навчання. Звичайно, жити в такому темпі складно.Наприклад, до кінця курсу у мене закінчилася валер'янка в аптечці :) Було складно зберігати душевну гармонію, коли після 8-годинного дня треба ще 4-5 годин вчитися, а у вихідні зовсім не відпочивати.

Якщо йдете на такий курс, будьте готові та вчіться відпочивати. Мені доводилося змушувати себе робити вихідні від навчання. Але навіть такі дні супроводжувалися тривогою, що я не встигну здати домашнє завдання вчасно.

На цьому курсі моє навчання не закінчилося. Ще в квітні-травні я фантазувала, як після випуску буду відпочивати цілий червень, але вже на другий день після випуску почала проходити інший курс по NLP на Coursera. І вже пригледіла наступний курс в Проджекторі, хочу підтягнути навички програмування, щоб потрапити на нього цієї осені.
Моя позиція — Data Scientist, і на цей курс я пішов для підвищення кваліфікації. У мене троє друзів закінчували цей курс, і дуже позитивно відгукувалися. Цей курс націлений на роботу з мовою, і хоча я працював з цим раніше, однак нагоди копнути глибше не було. Раніше я і код писав, і будував моделі, та задач було багато, і сфокусуватися глибоко на чомусь одному не вдавалося.

Об'єктивно курс складний, особливо якщо ти виконуватимеш домашки якісно, щоб самому не було соромно. Хоча нас попереджали на вступі, що на самостійну роботу потрібно буде виділити до 10 годин на тиждень, вже під час роботи ми зрозуміли — цю цифру варто подвоїти. 20 годин, а то й всі 25 — ось скільки часу на тиждень йшло, щоб виконувати завдання на високому рівні.

Кожне домашнє завдання — як мініпроєкт. А паралельно потрібно було готувати ще й курсову. Як ще одна робота для мене, тому на ці три місяці в житті по суті залишився час лише на навчання та роботу. Тут можна подякувати карантину, що я міг економити час на дорозі. Навіть скоротив кількість тренувань на тиждень, а про сон взагалі мовчу.

На курсі були й раніше відомі мені теми, але разом з ними ми вивчали те, про що я тільки чув, але не пробував. Особливо це стосується другого блоку програми, який пов'язаний з класичним NLP та лінгвістикою. А ці підходи лягають на будь-яку мову. Тому для мого робочого проєкту з в'єтнамською мовою це особливо корисно.

Цей курс — марафон. На останніх тижнях ти втомлюєшся, але розумієш, що треба дотиснути. Наприкінці курсу я лягав спати пізно вночі, і вже з самого ранку біг до ноутбука подивитися, що там нарахувалося, перезапускав.
Для курсового проєкту я створював Speach2text систему для української мови. Я обрав цю тему, тому що на моїй нинішній роботі працюю над подібним проєктом для в'єтнамської мови. Взагалі практика роботи зі звуком не така поширена у порівнянні з computer vision чи з NLP. Потрібно було вирішувати й NLP-задачі для побудови мовної моделі, і завдання для системи «grapheme to phoneme». Було цікаво покопатися.

Я не до кінця задоволений точністю моделі, але розумію, що для завдань в Data Science важливі дані, а я розробляв модель за аудіокнигами, які знайшов в мережі. І використовувати модель для розпізнавання природної мови, навчену на літературній мові — досить не практично. Навіть для демо я використовував цитати українських класиків.

Дуже глибоко вивчив фреймворк, поки працював над цим проєктом. Почав краще розуміти, як будуються ці системи. Надалі буду збирати більше даних та оптимізувати модель. Мені просто потрібно більш точково допрацювати проєкт. А потім викладу цю невеличку програму у вільний доступ, щоб її можна було тестувати.
Фото: Наталія Азаркіна
Досвід
Сподобалась стаття?