Интервью с создателем библиотеки Natasha о работе в Яндексе и своих проектах
Александр Кукушкин – программист-исследователь, автор одной из самых известных библиотек в области компьютерной обработки естественного языка, а также один из создателей комьюнити Natural Language Processing в телеграме.
Где ты учился и как попал в Яндекс?
Я окончил Московский инженерно-физический институт. На 3 курсе поступил в Школу анализа данных Яндекса и отучился там 2 года. На 5 курсе с третьего раза устроился стажёром в Яндекс. Было забавно – человек, который меня собеседовал, сказал: «Ну я вижу, что вы уже не первый раз проходите собеседование, т.е. есть большое желание. Давайте возьмем вас!». Так я стал стажером. Проработал на этой позиции год или полтора, а потом стал младшим разработчиком.
Как пришла идея уволиться из корпорации и начать развивать свои проекты?
У линейного разработчика, кем я работал, вполне ограниченный, понятный круг обязанностей, а у меня всегда возникали какие-нибудь проекты параллельно с основной работой, которыми мне более интересно было заниматься. Например, моей обязанностью было считать статистику: я это делал, но параллельно разрабатывал инструмент, чтобы автоматизировать свою работу. Меня клонило в какие-то свои проекты, и это не очень вписывалось в то, что мне предлагал делать Яндекс. Я еще тогда зеленый совсем был, неопытный в корпоративной коммуникации. Это сейчас я понимаю, что можно было прийти к руководителю, и нормально на этот счет поговорить, и по-человечески, спокойно рассказать, что я делаю, но вместо этого я расстраивался: «Вот, никто не понимает, я же такие клевые инструменты делаю». А сейчас я понимаю, что просто нормально про них никому не рассказывал.
У меня были разные варианты: уйти в какую-то другую российскую компанию, уехать работать за границу, запустить какой-нибудь стартап или стать самозанятым. Самозанятость, пожалуй, самый редкий вариант, и я его выбрал. Я вот как размышлял: для обычного программиста ничего лучше Яндекса на тот момент не было, то есть другая российская IT-компания – это понижение; уезжать из России я не хотел; стартап – отличный вариант, но я никого не знал. Я на самом деле уходил в пустоту, у меня не было мыслей: «Вот у меня есть проект, я ушел наконец-то с работы в офисе и буду его делать».
Это очень смелый шаг! Не было страшно?
В первую очередь было страшно, что деньги закончатся, но я об этом сильно не думал. Слабоумие и отвага! Вот мой ответ. Я рассуждал так: я всегда могу вернуться в тот же Яндекс или другую компанию.
Когда ты работаешь на себя, ты четко видишь результаты труда и их положительное влияние на бизнес-процессы – и это очень приятное чувство!
Что самозанятость тебе могла дать, что не мог Яндекс?
Во-первых, в корпорации тебе ставят задачи, а здесь ты придумываешь их сам. Во-вторых, там ты все-таки винтик в огромном механизме, и результаты работы размазываются по всему этому механизму. А здесь я сам себе компания, и всё, что делает компания – это все результат моей работы. Я предельно четко вижу результат своего труда. Пример: я в Яндексе аналитик-разработчик, результат моей работы – это аналитический отчет: текст, картинки, таблицы, вывод. Я его передаю менеджеру, а что дальше происходит – понятия не имею. Допустим, я над этим отчетом проработал недели, много усилий вложил, а что изменилось от этих моих усилий, тяжело понять. Сейчас я тоже понимаю, что у меня были проблемы с коммуникацией: можно было через месяц прийти к этому менеджеру и сказал: «Лёша, помнишь я тебе отчет сдавал, что из этого получилось?» Я таких действий ни разу не предпринял. В общем, это история, когда ты вкладываешь большие усилия, но непонятно куда. А работа аналитика достаточно повторяющаяся, и это меня расстраивало.
Когда ты самозанятый, ты четко видишь результаты своего труда и их положительное влияние на бизнес-процессы – и это очень приятное чувство. Хотя я знаю, что такое ощущение можно получать и в Яндексе – у некоторых моих коллег так было. Просто у меня так не получилось.
Уйдя из найма, Саша открыл Лабораторию анализа данных Александра Кукушкина. Лаборатория занимается анализом данных, визуализацией, машинным обучением. Помимо этого, Саша развивает и поддерживает созданную им библиотеку Natasha – набор инструментов для обработки текстов на русском языке для различных задач: токенизации, извлечения именованных сущностей, синтаксического парсинга и др. Для ответов на вопросы по библиотеке Саша создал чат "Natural Language Processing", который со временем стал самостоятельным сообществом про обработку языка на больше, чем 5 000 человек. В сообществе есть бот Neludim: каждую неделю он присылает подписавшимся собеседника из чата для встречи. Саша тоже участвует во встречах, причем как с профессионалами, так и с новичками.
Что ты делаешь чтобы поддерживать бренд лаборатории в научном сообществе?
В последние несколько лет ситуация сложилась так, что у меня есть один крупный клиент, для которого я делаю ряд проектов, поэтому новых заказчиков я почти не привлекаю. Но сейчас я планирую вернуться к деятельности, которой занимался первые годы, и начать ходить на разные мероприятия, писать статьи, участвовать в соревнованиях и конференциях.
Ты работаешь один. Не бывает ли скучно?
Наверное, потребность в общении я удовлетворяю на персональных встречах, например, с помощью своего бота “Нелюдим”. Я встречаюсь с коллегами из индустрии, обсуждаю NLP, делюсь опытом. Еще в нашем сообществе мы часто устраиваем эфиры с разными гостями: недавно, например, был эфир с Ильей Гусевым, который делает Сайгу – русскоязычный ChatGPT. Такой формат мне тоже кажется интересным.
Как ты оцениваешь, что то, за что ты берёшься, будет полезно или нужно?
Разберем такой пример. У нас есть ChatGPT, есть GigaChat, есть Яндекс.GPT: а что из этого работает лучше всего для русского языка? Для того, чтобы оценить языковые модели, нужен бенчмарк, и я как раз сейчас работаю над ним. Как я понял, что это будет нужно? Во-первых, я читаю чаты, слушаю доклады, периодически наблюдаю разговоры, что вот эта модель хорошая, вот эта модель плохая. Во-вторых, для английского языка существует уже дюжина аналогичных бенчмарков и лидербордов. А раз они существуют для английского, значит, и для русского нужны.
А интересно ли тебе заниматься рисерчем и публиковать статьи?
На самом деле, нет. Чтобы написать статью, нужно что-то изобрести – а у меня нет таких амбиций и нужды. Я вообще вижу много недостатков в академических публикациях. Например, мне было бы интересно почитать о том, как какие-нибудь инженеры перебрали 15 метрик, и из них выделили лучшую, и рекомендуют ее использовать, но такое обычно не публикуют. Или еще лучше, я бы с удовольствием читал статьи о том, как у кого-то что-то не получилось: “У нас была вот такая идея, мы полгода сидели, но ничего не вышло”. Это было бы невероятно полезно! Ученые бы экономили время друг друга и не наступали на чужие грабли. Но есть только статьи о том, что все потрясающе получилось и что кто-то побил state-of-the-art решения.
Благодарим Анну Лебедеву за предоставленное интервью. Полная авторская версия доступна по ссылке.
Редактор: Мария Бочарова.
Александр Кукушкин