Чем занимаются компьютерные лингвисты и как стать одним из них
Даже за самым простым запросом для ChatGPT стоят компьютерные лингвисты. Кто-то же должен сделать так, чтобы нейросеть правильно обрабатывала текстовые данные — верно? В Питерской Вышке компьютерную лингвистику и образовательные онлайн-продукты изучают на магистерской программе «Языковые технологии в бизнесе и образовании». Как устроена учеба в этой магистратуре и какие проекты можно реализовать — рассказывает академический руководитель Анастасия Колмогорова.
О чем и для кого программа
«Языковые технологии в бизнесе и образовании» — это программа по компьютерной лингвистике, то есть это некий симбиоз компьютерных моделей и тех знаний, которые накопила лингвистика. Студенты погружаются не только в статистические методы, машинное и глубинное обучение, но и в концепции языка. Ребята учатся обрабатывать большие текстовые данные: массивы постов в соцсетях, отзывов на товары и услуги, коллекции литературных текстов и даже текстов песен.
Программа подойдет как лингвистам, так и программистам, которые хотят изменить профиль работы. Однако опыт показывает, что учиться здесь может быть интересно и экономистам, и регионоведам. Главное — иметь склонность к аналитическому мышлению, а с лингвистикой и программированием мы поможем.
Как в целом связаны лингвистика и IT
Самый простой пример — чат-боты, которые помогают, например, изучающим иностранный язык запомнить новые слова или устойчивые выражения, поддерживают разговор и даже помогают справиться со стрессом. Похожими проектами занимаются и наши студенты. Недавно одна крупная компания онлайн-образования обратилась к нам с запросом на бота, который помог бы снижать уровень фрустрации у учащихся, поддерживать их эмоционально в случае трудностей. Если на курсе очень много студентов, и каждому нужен фидбэк или ответ на вопрос, такая штука очень выручает.
Сейчас на слуху у всех нейросети, которые генерируют текст, — например, «Балабоба» от «Яндекса» или популярный ChatGPT. Мы научим готовить данные, обучать модели, измерять качество генерируемых текстов, чтобы нейросеть выдавала результаты без логических ошибок, явных ляпов или токсичных фраз. У нас есть сейчас в работе несколько проектов интересной генерации: например, обучаем нейросеть, чтобы она из сложных текстов генерировала простые -— доступные для пациентов с афазией.
У геймдева есть запрос на то, чтобы реплики персонажей в компьютерных играх генерировались автоматически. Что-то можно прописать в сценарии, но иногда нужно, чтобы ответ возник из описания персонажа, игровой истории и контекста диалога.
Как устроена учеба на программе
Все начинается с адаптационных курсов. Для тех, кто не знаком с лингвистикой, будет «Введение в лингвистику». Это база, без которой трудно работать с текстовыми данными. А те, кто совсем далек от IT, могут пойти на «Введение в информационные технологии». Этот предмет — совсем для новичков, которые не сталкивались с кодом и не знают, что такое командная строка.
Потом программа постепенно становится сложнее. Начинаются «Основы программирования на Python» — сразу с кода. Поначалу домашние задания очень простые, чтобы все освоили базу, но в конце этого курса студентов ждет мини-проект: например, написать на Python такой код, чтобы можно было быстро прочитать новости по ключевым словам, определить индекс удобочитаемости текста или оценить сентимент сообщений на сайте знакомств. И второе финальное задание — code review, когда один человек пишет код, а второй комментирует, как исправить, улучшить и сократить. Стандартная практика в IT-компаниях.
На программе две возможных траектории — в бизнесе и образовании. Подумать о треках нужно на первом курсе, в самом начале учебы. Но фактическое разделение начинается со второго. Бизнес-трек подойдет тем ребятам, которые видят себя в IT-компаниях и хотят работать с большими данными. Образовательный трек подойдет тем, кто хочет использовать IT-технологии в учебном процессе. Этому как раз можно научиться на курсе «Дизайн и разработка автоматизированных обучающих систем», где в качестве итогового задания нужно разработать кусочек учебной программы, в которую заложены механики онлайн-технологий.
При всем этом на обоих треках есть курсы по программированию. Студенты изучают анализ и визуализацию данных в R, а одновременно с этим — азы машинного обучения, где знакомятся с самыми распространенными методами: например, опорных векторов или ближайших соседей. И это первый курс, а на втором — уже глубинное обучение, предполагающее работу с нейросетями.
Как организована практика и проектная работа
Темы проектов ориентированы на современный IT-рынок — что сейчас востребовано, о чем пишут, что обсуждают. Наиболее активная стадия проектной работы — на первом курсе. Весь год ребята работают под началом компаний-партнеров, а в конце — презентуют результаты. Один из таких проектов — помощник для родителей, у которых нет времени читать бесконечные родительские чаты. Ребята разрабатывают модель, которая бы делала лаконичные и информативные выжимки сообщений за день.
Практики на программе две, но основная — производственная. Она длится два месяца, за это время студенты должны выполнить какой-то проект в реальной компании. В этом году практика проходила в смешанном формате — для первого и второго курсов сразу. Так интереснее, и ребята друг с другом знакомятся лучше. Мы организовали смешанные команды и предложили несколько проектов — в основном, в «Яндекс.Практикуме». Задач было довольно много. Одна команда делала статистику и визуализации по ошибкам, которые чаще допускают в устной речи студенты курсов «Практикума» по английскому. Другая при помощи тематического моделирования и анализа сентимента в отзывах изучала преимущества и недостатки образовательных продуктов компаний-конкурентов. Третья писала варианты чат-ботов для оценки тональности сообщений, которыми обмениваются обучающийся и тьютор.
Какие перспективы у выпускников
Недавно я была в командировке в Москве и общалась с HR-специалистами из сферы IT. Есть запрос на лингвистов в отделы разработки — чтобы был человек, который подскажет разработчикам, как сделать бота более эмпатичным собеседником, превратит голосового помощника в настоящего наставника — с поддержкой и советами, но без авторитарности. Если техническая сторона дела программистам вполне ясна, то языковые средства и модели речевого поведения, которые нужно заложить в ИИ, — вотчина лингвистов. Причем таких лингвистов, которые знают, как устроена программная изнанка задачи.
Встречаются вакансии по разработке в сфере обработки естественного языка, некоторые из них связаны с созданием разных классификаторов — например, почтовых, чтобы письма сразу попадали в нужную папку, согласно их теме. Практика показывает, что устроиться на такую позицию вполне реально — даже во время учебы. Некоторые наши первокурсники и второкурсники уже трудоустроены: Татьяна Ремизова и Антон Горбатенко проектируют чат-ботов в «Центре речевых технологий» и одной из региональных компаний, Марина Жолус работает в компании «Эврика» и оценивает качество машинного перевода.
Как поступить на программу
Как и в прошлом году, мы принимаем по конкурсу портфолио. Учитываем академические достижения, оценки в дипломе, предметы, которые человек изучал на бакалавриате. И конечно, мы просим немного рассказать о дипломной работе и проблеме, которая в ней обозначена, — это многое говорит о широте кругозора.
В портфолио нам также важна проектная и исследовательская деятельность. Если абитуриент работал на каком-то крупном исследовательском гранте — отлично, если занимался волонтерством — тоже хорошо. И больше всего весит мотивационное письмо, за него мы даем 30 баллов. Все-таки самое главное — чтобы мы видели, какой цели человек хочет достигнуть благодаря нашей программе. Пусть даже он пока не умеет программировать — это не так важно. Главное — целеустремленность.
Колмогорова Анастасия Владимировна
Департамент филологии: Профессор