«Ще півроку тому я не програмувала, а тепер мені сниться код»

Студенти програми професійної перепідготовки «Комп'ютерна лінгвістика» взяли участь в Хакатони «Меморіалу» - і поділилися своїми враженнями.

Студенти програми професійної перепідготовки «Комп'ютерна лінгвістика» взяли участь в Хакатони «Меморіалу» - і поділилися своїми враженнями

Олександра Малафєєва і Андрій Калмиков на Хакатони

Фото «Меморіалу»

17-18 червня відбувся хакатон memo.data по використанню даних про репресії, зібраних Міжнародним Меморіалом. Учасники Хакатона працювали зі списками жертв репресій, з базою працівників держбезпеки 30-х років, з адресами і описами репресивних установ. Організатори memo.data пропонували подумати про те, які програми можна розробити на основі даних «Меморіалу», які висновки вийде зробити з аналізу цих даних, а також як інтегрувати історію в сучасне медіапростір.

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

- Розкажіть, що спонукало вас брати участь в Хакатони?

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

Про Хакатони я дізналася з листа Жені Мещерякової , Нашого викладача Python і машинного навчання на курсах ДПО з комп'ютерної лінгвістики. Вона написала: «Якщо ви вже втомилися від відсутності дедлайнів, то ось вам ідея, як провести найближчі вихідні». За пару днів до цього у нас як раз пройшла здача іспитів і фінальних проектів, і тільки-тільки видався вільний час.

Перш я не була на Хакатони, плюс було цікаво спробувати свої сили. До того ж організатором виступав «Меморіал», в який ідейно мені хотілося вкластися чимось корисним.

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

- Як ви вибирали тему і мету дослідження? Що хотілося дізнатися, зрозуміти?

Андрій Калмиков: Наш проект називався «Досліджуємо тексти листів з таборів». Хотіли повиделять якісь загальні теми, про які багато пишуть. але тематичного моделювання per se ми не робили, а діяли в обхід через ступінь характерності слів ( TF-IDF ), Так у нас був більший контроль над проміжними кроками. Так що в цілому ми дивилися за поведінкою такої одиниці як ціле лист.

Олександра Малафєєва: У нас з Андрієм вже був досвід спільного навчального проекту. З самого початку ми знали тільки те, що хочемо працювати з текстами.

Організатори зробили гугл-табличку, куди учасники могли вписувати свої ідеї проектів. Ми прочитали, що одна з команд планує працювати з листами з таборів, а саме, що вони хочуть повиделять штуки виду «з такого табору пишуть швидше про це». Захотіли до них приєднатися, але виявилося що вони вже взялися за іншу тему.

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

- Що найцікавіше / цікаве / несподіване вдалося дізнатися про табірні листи?

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

У деяких листах виділялися такі несподівані характерні слова як «чайка», «гриби», «папка». Причому, наприклад, «папка» - не канцелярська, так себе називає себе метеоролог Олексій Вангенгейм , Звертаючись до своєї маленької дочки: «Папка твій майже весь час подумки з мамою і з тобою», «Швидше учись писати, щоб частіше посилати свої листи своєму папці», «Твій папка».

Зараз я виклала наш результат у вигляді інтерактивної візуалізації .

- Які навички та вміння, освоєння під час навчання, стали в нагоді?

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

Олександра Малафєєва: Ми користувалися тим же набором методів, який до цього використовували в частині навчального проекту. По гарячих слідах, так би мовити. У навчальному проекті у нас були тексти казок різних народностей світу, і результат вийшов цікавим. З листами так само добре не вийшло, а інші методи ми просто не встигли спробувати.

Якщо з технічних кроків, то діяли так: спочатку конвертували листи в один формат, видаляли технічні файли, в результаті отримали близько п'яти тисяч файлів-листів. Ці тексти токенізіровалі, токени-слова лемматізіровалі, відкинули стоп-слова. Відібрали ті, які у всьому корпусі листів зустрічаються не менше десяти разів, тим самим заздалегідь знизивши розмірність подальшого простору. І кожному такому слову приписали число - значення його TF-IDF , Воно відображає ступінь характерності даного слова для даного листа серед всього корпусу. З усіх таких слів склали унікальний словник (без повторень). А зі слів-елементів цього словника утворили дуже-багатовимірний простір, в ньому текстів відповідають точки. За допомогою методу truncated SVD сильно знизили розмірність цього простору, щоб відстань між точками-текстами було більш осмислено. І методом t-SNE побудували проекцію на площину (вже двовимірне простір), він шукає її так, щоб ті точки, які були сильно віддалені один від одного в багатовимірному просторі, виявилися сильно віддалені і в цьому. Так отримали точкову діаграму текстів, згідно містяться в них ключові слова. Потім ненадовго повернулися в попереднє простір, отримане в ході truncated SVD, і знайшли там кластери за допомогою алгоритму k-середніх . Приписали кожному кластеру свій колір. І, остаточно повернувшись до двовимірного поданням, розфарбували точки-тексти згідно кластеризації попереднього кроку.

Ще був план спробувати методи LDA і doc2vec , Але не дійшли. В цілому дуже круто мати стек технологій, який спрацює на будь-яких даних, приходити з ним на хакатон і пробувати його. У нас весь час з'їли предобработка і підбір параметрів в методах.

Працювати в новій команді не завжди просто, але це хороший і корисний навик. Думаю, у нас непогано вийшло. Після захисту проекту приємно було нарешті розслабитися і обговорювати з усіма учасниками Хакатона різні методи, ділитися ідеями.

Дуже цікаво було подивитися на інші проекти. Мій улюблений - це «Рубрикація професій репресованих» , Технічно абсолютно шікарний1.

Ну, і взагалі, в «Меморіалі» було затишно і дружелюбно, мені сподобалося.

1В роботі над цим проектом брав участь випускник магістерської програми «Комп'ютерна лінгвістика» Денис Кір'янов.

Розкажіть, що спонукало вас брати участь в Хакатони?
Як ви вибирали тему і мету дослідження?
Що хотілося дізнатися, зрозуміти?
Що найцікавіше / цікаве / несподіване вдалося дізнатися про табірні листи?
Які навички та вміння, освоєння під час навчання, стали в нагоді?
Навигация сайта
Новости
Реклама
Панель управления
Информация