Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную информацию об использовании файлов cookies можно найти здесь, наши правила обработки персональных данных – здесь. Продолжая пользоваться сайтом, вы подтверждаете, что были проинформированы об использовании файлов cookies сайтом НИУ ВШЭ и согласны с нашими правилами обработки персональных данных. Вы можете отключить файлы cookies в настройках Вашего браузера.
Адрес: 105066, г. Москва,
Старая Басманная ул., д. 21/4
Телефон: +7 (495) 772-95-90 доб. 22734
E-mail: ling@hse.ru
Редакторы сайта — Наталья Борисовна Пименова, Татьяна Борисовна Казакова, Максим Олегович Бажуков
Школа лингвистики была образована в декабре 2014 года. Сотрудники школы преподают на образовательных программах по теоретической и компьютерной лингвистике в бакалавриате и магистратуре. Лингвистика, которой занимаются в школе, — это не только знание иностранных языков, но прежде всего наука о языке и о способах его моделирования. Научные группы школы занимаются исследованиями в области типологии, социолингвистики и ареальной лингвистики, корпусной лингвистики и лексикографии, древних языков и истории языка. Кроме того, в школе создаются лингвистические технологии и ресурсы: корпуса, обучающие тренажеры, словари и тезаурусы, технологии для электронного представления текстов культурного наследия.
Хорог: Институт гуманитарных наук НАНТ, 2025.
Shvedova E., Koryakov Y., Забелина Е. А.
Journal of Language Relationship. 2025. Vol. 23. No. 2.
Khachaturyan M., Konoshenko M., Moroz G. et al.
In bk.: N’yng-dyuumgu, n’yng-ngafq: Festschrift for Ekaterina Gruzdeva. Vol. 126. Helsinki: Studia Orientalia, 2025. P. 35-59.
arxiv.org. Computer Science. Cornell University, 2024
Расскажи сначала, как ты попала на компьютерную лингвистику и где училась до этого?
Я окончила МГУ, факультет иностранных языков. Давно интересовалась компьютерной лингвистикой, а в магистратуру Вышки поступила по олимпиаде. Олимпиада — это, по-моему, очень интересная опция. Мне всегда очень нравилось, когда тебе даются данные, дается описание процедуры, и ты придумываешь что-то, реализуешь какой-то мини-проект.
Ты уже занималась компьютерной лингвистикой до этого?
Занималась самостоятельно. Вообще в школе я очень серьезно изучала немецкий, выиграла Всероссийскую олимпиад по этому языку и поступила на факультет иностранных языков МГУ; но там скоро поняла, что мне хочется еще чего-то, потому что мне очень нравились информатика и математика. Где-то ко второму курсу я осознала, что это не просто хобби и нужно это все как-то совмещать. Как раз тогда я попала на семинары «Яндекса», которые проводились у нас на ВМК, там рассказывали о Natural Language Processing, и я поняла, что хочу этим заниматься. После этого я начала готовиться к олимпиаде и узнавать, где есть походящие магистерские программы.
Сейчас есть несколько мест, где учат компьютерной лингвистике. Как ты решила поступать в Вышку?
Мне очень понравился план программы, я смотрела предметы, которые у нас будут. Разумеется, я слышала отзывы о Вышке, о том, как здесь замечательно. К тому же Вышка проводила олимпиаду, и я подумала, почему бы не попробовать? В итоге больше никуда не пробовала поступать, кроме Вышки.
И как тебе первый курс?
Мне сразу очень понравилось. Не знаю ничего такого, в чем бы я разочаровалась. Очень понравилось, что у нас есть проекты, что у нас хорошее программирование, что если ты хочешь что-то большее — то ты это получишь. Нас изначально разбили на две группы, и тем, кто раньше занимался программированием и не ходил на вводные курсы, сразу давали задания, связанные с лингвистикой. Здесь в принципе очень индивидуально относятся: хочется чего-то, есть какая-то идея — подошел, поговорил, узнал, можно ли такое сделать, сделал.
У меня еще был очень интересный старт, наш проект начинался очень быстро, потому что нам нужно было успеть к соревнованию по извлечению именованных сущностей Dialogue Evaluation. Мы стартовали в октябре, а в начале февраля уже было соревнование, и мы уже после нового года мы очень срочно все доделывали, чтобы что-то работало.
Сначала писали систему на правилах, потому что с машинным обучением надо гораздо дольше все настраивать. Мы сделали правила, написали шаблоны, вытащили газетиры из Википедии — просто сидели и часами это делали. А потом, когда нам прислали гигантский корпус, 37 тысяч текстов, я поняла, что за два дня, которые даются на сдачи результатов, я на своем ноутбуке просто не успею все это обработать. И мы организовали «распределенный анализ» — искали людей, которые у себя на компьютерах обработают часть текстов.
Сейчас мы планируем завершить наш проект и выложить его в виде сервиса для разметки текстов на портал лингвистических ресурсов Школы.
Здорово! И параллельно со всем этим ты подавалась на Google Summer of Code? Как это происходило?
Google Summer of Code начинается где-то в феврале. Сначала организации публикуют проекты, в которых можно участвовать. У тебя есть неделя-две, чтобы посмотреть проекты и выбрать не больше трех. Потом начинается процесс подачи заявок. Ты должен списываться с ментором, рассказывать, «какой ты молодец», показывать, что ты понимаешь, что делают в этой организации, какой там стиль программирования, какой стиль общения, для чего они все это делают. Они очень трепетно ко всему этому относятся, то есть нельзя просто говорить: «эй, ребят, можно я у вас тут что-нибудь поделаю?». Подается заявка, результаты объявляют где-то в марте, я ждала почти месяц.
Расскажи вкратце, что ты там делала?
Вообще все устроено так: Google находит организации с полезными open-source проектами, и они в партнерстве с Google открывают на свои проекты запись. Организация, в которую я подавалась, называется Apertium и занимается правиловым машинным переводом. У них есть платформа для обработки и словари как отдельные компоненты системы. Есть словари для каждого языка и есть двуязычные пакеты. То есть перевод существует только между теми языками, для которых существуют двуязычные пакеты.
У меня был особый случай, потому что я выбрала испанский и сицилийский языки. В Apertium есть такое правило: если ты не сможешь сделать перевод для пары языков лучше, чем «Google Переводчик», лучше не берись. Для английского, немецкого и других очень популярных языков обычно достаточно того качества, которое дает «Google Переводчик», и не нужно пытаться с ним бороться. Сицилийский — гораздо более редкий язык, и мне нужно было сделать как отдельный сицилийский пакет, так и двуязычный испанско-сицилийский.
Тестовым заданием было, во-первых, установить Apertium (который очень долго устанавливается, нужно разбираться с виртуальными машинами и так далее), а во-вторых — сделать первые версии этих пакетов, чтобы моя система смогла перевести самые простые тестовые предложения вроде «Хорхе идет гулять». В качестве теста используется маленькие текст про детей, которые играют в саду.
У меня не было знания сицилийского языка, но я очень хорошо знаю испанский и немного — итальянский. Пришлось срочно искать все грамматики сицилийского языка, какие только есть — их оказалось невероятно мало. За время выполнения тестового задания я успела написать в несколько европейских университетов. В итоге мне прислал отсканированную грамматику студент-итальянец из Мюнхенского университета.
А как измеряется качество системы?
Нужно брать корпус текстов — мы брали Википедию на сицилийском, и вообще в Apertium чаще всего используется Википедия — и измерять, насколько перевод покрывает корпус, то есть какая доля предложений переводится, какие леммы оказались знакомыми, какие — незнакомыми. У меня получилось так, что уже за время тестового задания я успела сделать 50-60% всего проекта. Потому меня и взяли — я была очень увлечена всем этим: скачивала кучу словарей, парсила их, приходилось даже из PDF вытаскивать данные. Нужно было подключаться к API Википедии, чтобы достать викисловари сицилийского, пришлось автоматически переводить через итальянский на испанский… В общем, много было интересного.
И ты сделала эту пару языков в одиночку?
Да. В Apertium невероятно разработанный испанский словарь, потому что ребята, создавшие Apertium, сами из испанского Университета Аликанте . Испанский там безумно хороший, им занимается очень много разработчиков, поэтому мне не пришлось ничего для него делать. Зато над сицилийским и над двуязычным пакетом я работала одна, и это было приятно. Мне немного помогал ментор из Apertium Фрэнсис Тайерс (Francis Tyers), один из основных разработчиков системы, мы с ним встречались летом. И был еще один ментор, уже из Испании, который контролировал качество испанского языка. Но и сам Фрэнсис тоже очень хорошо говорит по-испански, поэтому я общалась с ним наполовину на испанском. Они оба очень много помогали мне с сицилийским и испанским.
И этим ты занималась все лето?
Сама программа стартует в апреле. Первый месяц идет community bounding program, когда ты должен познакомиться с организацией, с ее правилами. Но это официально, а неофициально в это время уже все работают. Я по сути продолжала делать то, что я делала как тестовое задание. Но официальное начало — это 23 мая, а окончание — 23 августа, это final evaluation.
А 23 августа у тебя был уже готовый переводчик?
Да. Не на 100% готовый, конечно, но он получился очень хороший. Изначально мы запланировали финальное покрытие 90%, потому что первый рывок был очень сильным. Но потом возникло много сложных и интересных лингвистических проблем. Во-первых, разреженность данных, когда по закону Ципфа ты сначала быстро накрываешь все частотные слова, а остаток добирать невероятно трудно.
Да, вот этот длинный хвост трудно было добавлять. Еще возникла проблема в связи с тем, что у сицилийского языка нет письменного стандарта, и каждый пишет, говоря научно, по фонетическому признаку, то есть как слышится. В результате получается до 10-15 вариантов написания одного слова, их все нужно было собрать из корпуса, при этом не зацепив случайно другие слова, чтобы в переводчике не было конфликтов. А анализировать он должен любой текст. В общем с этим тоже возникли сложности, я писала специальный алгоритм, основанный на расстоянии Левенштейна, но использующий много дополнительных параметров. Фрэнсис даже представил меня одному исследователю, который занимается сложными вариантами расстояния Левенштейна, и я в своей работе опиралась на его статью. Это как раз тема, которую я хочу добить: как выделять разные написания одного и того же слова в текстах на языках, у которых нет письменного стандарта. Это очень крутая тема, потому что там очень много морфологии, очень много орфографии. А в сицилийском к тому же подвижная система ударения…
В общем, как я написала в своем финальном отчете, возникло очень много научных проблем. И это проблемы, которыми я хочу сейчас заниматься. Вообще я продолжаю над ним работать,
Вообще чтобы пройти final evaluation, мне нужно было перевести текст в 2000 слов. Я брала статью из Википедии переводила ее с испанского на сицилийский или наоборот, и нужно было, чтобы ошибок оказалось достаточно мало . У меня было около 8-9% ошибок, но есть над чем еще работать.
Это отличный результат. А можно я задам такой вопрос: многие, в том числе и я, никогда бы не подумали подаваться на Google Summer of Code, потому что считают, что это что-то такое исключительно для звездных программистов. Ты можешь как-то прокомментировать это? Ведь твой пример показывает, что это все-таки не совсем так, что туда можно попасть, не будучи супер-кодером.
Программирование знать все равно нужно, без знания необходимых технологий не пройдешь. В моем случае требовалось знать Python, уметь работать с XML, еще мне внезапно понадобилось процедурное программирование, потому что в Apertium используется свой формализм для написания правил. Но вообще нельзя сказать, что Google Summer of Code — это исключительно для кодеров. Туда можно попасть, если ты лингвист и любишь технологии. В таком случае можно найти себе проект по душе. Однако таких проектов не так уж много, в основном все же нужны программисты на С++ и т.п.
А сколько всего проектов, сколько человек берут?
Там все устроено по разному в разных организациях. Некоторые заявляют очень жесткие и строгие требования — например, ищут конкретного человека, который за лето исправит им баг. Так часто делают известные организации вроде Mozilla или Python Software Foundation, которая тоже берет студентов, чтобы те, к примеру, вместе разрабатывали какой-то модуль или делали красивую сложную функцию для Python. А есть другие организации, которые подходят к проектам очень гибко. Один из примеров — как раз Apertium. Ты можешь либо создавать новую языковую пару, либо писать парсер, либо улучшать уже существующую пару, скажем, поднимать качество с 40-50% до 90%, тоже очень сложная задача... Такие организации могут взять много людей в зависимости от того, кто к ним приходит. Если они видят, что пришел очень интересный человек, носитель какого-то нужного редкого языка, который к тому же разбирается в технологиях, конечно, его возьмут, даже если не выделена квота.
Вот, кстати, по поводу владения языком: наверняка ожидается, что редкие языки для Apertium описывают их носители?
Дело как раз в том, что сам факт владения языком ничего не гарантирует. Вот мы все носители русского языка, но написать правила, создать грамматики мало кто сможет. Нужно и владеть языком, и быть теоретиком языка . Мне помогло, что у меня была теория языка, то есть я не отношусь к языку только как к практическому инструменту, который ты учишь, чтобы общаться в отпуске за границей.
При этом ты никуда не ездила, это все происходило удаленно?
Да, удаленно. И в этом, по-моему, есть прелесть — поучаствовать в Google Summer of Code, сидя дома за своим ноутбуком.
Ты сказала, что продолжаешь заниматься нечетким сопоставлением разных вариантов одного слова. А магистерскую диссертацию ты об этом будешь писать?
Я пока не уверена насчет магистерской, но мне кажется, это очень интересная тема. Я бы, возможно, попробовала реализовать имеющиеся подходы и сравнить их с моим на материале сицилийского языка, посмотреть, что лучше.
Очень хотелось бы приплести туда машинное обучение. Думаю, если найти хорошие признаки, может получиться неплохо. Есть хорошие фонологические алгоритмы, например, Soundex. Его, в частности, использовали в ФБР для нечеткого поиска по фамилиям террористов. Такие алгоритмы основаны не на написании, а на звучании слов. Кроме того, могут добавляться особенности написания и произношения в разных странах, соответствия между фонемами разных языков, например, как это может быть записано и произнесено человеком из Польши или Чехии и т.д.
Что скажешь тем, кто думает об участии в Google Summer of Code?
Буду рада, если кто-то еще из Вышки будет принимать участие. Потому что пока там очень мало людей отсюда. И девушек очень мало — у всех какие-то стереотипы. Сам Google об этом очень много пишет.
У них ведь даже есть стипендия для девушек, которую получила наша Екатерина Агеева?
Да, стипендия Аниты Борг. Я тоже узнала об этом от Кати Агеевой, как и о Google Summer of Code — она участвовала три года подряд. Катя всем сказала: «ребята, почему бы нет, пробуйте». И я подумала, почему бы и нет?