Цифровой лингвист — это новая профессия в IT. Она находится на стыке двух специальностей — лингвистики и программирования. Разбираемся, какие плюсы и минусы есть у этой специальности и как стать компьютерным лингвистом.
Что делает компьютерный лингвист
«Алиса, включи свет!» — вы отдаете команду своей Яндекс Станции и не задумываетесь о том, что за вовремя включенной лампочкой стоит работа команды компьютерных лингвистов. Они создают программы, которые воспроизводят действия людей: могут говорить, понимать речь, читать текст, поддерживать диалог, переводить надписи на этикетке по фото, распознавать рукописи. Все это стало возможным именно благодаря сочетанию лингвистики и программирования.
Компьютерный лингвист занимается:
- машинным переводом;
- созданием систем распознавания речи;
- работой с текстами (генерация и сортировка);
- разработкой систем «вопрос-ответ»;
- созданием поисковиков, переводчиков и электронных словарей;
- созданием чат-ботов и голосовых помощников;
- машинным обучением и работой с нейросетями.
Компьютерные лингвисты создают инновационные продукты для самых разных сфер: науки, финансов, медиа, медицины. Это может быть что угодно: от системы «умный дом» до специальных программ и гаджетов для помощи людям с инвалидностью.
Компьютерные лингвисты находят себя в разработке поисковиков и агрегаторов новостей, где также нужен анализ естественного языка.
Как развивалась вычислительная лингвистика
Компьютерная лингвистика появилась не сегодня и не вчера. Как и многие технологии и алгоритмы, она начала развиваться еще во второй половине XX века. Основные вехи в истории этой сферы отмечает эксперт.
Первую систему автоматического перевода построили в корпорации IBM в 1954 году. Машина с «ошеломляющей скоростью двух с половиной строк в секунду» перевела набитые на перфокартах русские предложения на английский язык. Правда, через десять лет это направление закрыл Консультативный комитет по автоматической языковой обработке (ALPAC) по причине дороговизны, бесперспективности и низкого качества получаемых результатов. Вычислительные мощности тех времен сильно уступали даже кнопочному телефону Motorola.
В начале 70-х годов прошлого века величайший прорыв в компьютерной лингвистике сделал советский ученый Андрей Анатольевич Зализняк. Он формализовал задачу описания словоизменения русского языка и построил свой «Грамматический словарь». В первой части излагается собственно подход и приводятся таблицы окончаний, а вторая часть — это словник, где каждой лексеме присвоен индекс словоизменения — отсылка к теоретической части в начале. Подход этот оказался настолько удачным, что позже Зализняк тем же способом описал словоизменение санскрита, до тех пор считавшегося предметом для запоминания.
В 2013 году Томас Миколов опубликовал статью и алгоритм, а Google выложил для ознакомления готовую программу word2vec. Это способ построения и векторное представление лексики в многомерном (> 100 орт) пространстве. Он построен на очевидном посыле, что слово связано и близко к контексту, в котором оно встречается. Действительно, встретив в конце страницы фразу «он прищурил левый…», мы точно знаем, что на следующей странице первым будет «глаз», а вовсе не «нос» и не «шланг».
Векторы сходных понятий получались близкими друг к другу, а сама система обладала аддитивностью: если вычесть из вектора слова «бык» вектор слова «самец» и добавить слово «самка», получался вектор, близкий к слову «корова». При этом физический смысл каждой из единиц смыслового пространства оставался неясным и истолковать их по отдельности было невозможно. Но система работает.
Это был настоящий прорыв. Появился инструмент для поиска и кластеризации текстов. Стало возможным выделять тематически связанные друг с другом тексты и раскладывать по кучкам не на основе их словарного состава, а по смыслу.
Из этого векторного представления, на жаргоне — «embedding», и получились нынешние Большие Языковые Модели или LLM. Строго говоря, они не лингвистические, так как оперируют матрицами, выбирая следующее наиболее вероятное слово или окончание. Они не «понимают» того текста, который им отдали в качестве вопроса, как не «понимают» и того, что пишут. Однако результат получается настолько похожим на «человеческий», что сложно удержаться от восторга!
Что должен знать компьютерный лингвист
Профессия цифровой лингвист находится на стыке двух разных специальностей — лингвистики и программирования. Специалист обрабатывает данные на языках программирования, а затем в работу вступают программисты и специалисты по Data Science. Их задача — сделать так, чтобы машины научились распознавать человеческие языки, переводить, находить ошибки, писать, вести диалог и правильно реагировать на голосовые команды.
Чтобы стать компьютерным лингвистом, необходимо знать:
- правила орфографии и пунктуации;
- иностранные языки;
- языки программирования (Python, C++, R, Java, JavaScript, SQL);
- Big Data;
- основы машинного обучения;
- математическое моделирование.
Также компьютерному лингвисту потребуются «мягкие навыки»: образное мышление, хорошая память, внимательность, коммуникативные способности. Очень важно уметь работать в команде, ведь компьютерные лингвисты создают проекты совместно с разработчиками и специалистами по Data Science.
Плюсы и минусы профессии информационный лингвист
Цифровой лингвист — это новая профессия с большим потенциалом. Конкуренции в этой нише практически нет, а спрос на специалистов стабильно растет.
В отличие от программирования, компьютерная лингвистика — более творческая специальность, где можно отступать от стандартных схем и проявлять креативность. При желании начать карьеру в компьютерной лингвистике могут не только программисты, но также дипломированные лингвисты и журналисты. Во многих компаниях можно работать удаленно, потому что для выполнения обязанностей не обязательно присутствовать в офисе — достаточно иметь компьютер и стабильный доступ в интернет.
Минусы у этой профессии тоже есть. Труд лингвиста предполагает сидячий режим работы. Также, чтобы стать хорошим специалистом, необходимы профессиональная подготовка и ежегодное повышение квалификации. Сфера IT стремительно развивается, так что, выучившись раз, нужно постоянно обновлять свои знания и следить за последними разработками.
Какая зарплата у компьютерного лингвиста
Доход компьютерного лингвиста зависит от множества разных факторов: места проживания, опыта, навыков, функций, которые закреплены за сотрудником в конкретной компании.
Средняя зарплата лингвиста в IT: 80 тысяч рублей для джуниор-специалиста, 150 тысяч — для мидл-специалиста с опытом до трех лет и 300 тысяч — для опытных сеньоров.
Где учиться на компьютерного лингвиста
Хорошим бэкграундом для компьютерного лингвиста станет высшее образование. В качестве базы можно выбрать специальность «Фундaмeнтальнaя и приклaднaя лингвистикa» или «Программирование», а затем окончить магистратуру по компьютерной лингвистике. Многие отечественные вузы предлагают программы подготовки по цифровой лингвистике: НИУ ВШЭ, УрФУ, ВГУ, МГУ им. Ломоносова, СГУ им. Чернышевского.
У Skillfactory и ТГУ есть первая в России онлайн-магистратура по Data Science в сфере NLP. Во время обучения вы решите кейсы для крупных брендов — Яндекс Диалоги, «Эксмо», МЕДСИ, WEEEK и др. — и получите диплом магистра ТГУ по прикладной и компьютерной лингвистике.
Книги и кино
Чтобы начать погружение в тему, можно почитать книги и учебники. Например:
Владимир Алпатов. Языкознание от Аристотеля до компьютерной лингвистики
Книга о работе лингвистов. Вы узнаете, чем они занимаются, как появились первые лингвистические теории и как они помогают в решении реальных задач: преподавании языков, создании алгоритмов машинного перевода.
Ruslan Mitkov. The Oxford Handbook of Computational Linguistics
Второе издание оксфордского справочника по цифровой лингвистике. Включает 17 новых глав по глубокому обучению, разметке семантических ролей, технологиям перевода, анализу мнений. Это полезный настольный справочник для начинающего специалиста.
Стивен Берд, Эдуард Лопер и Юэн Кляйн. Natural Language Processing with Python
Один из лучших учебников по NLP с использованием Python. В книге вы найдете основы NLP, обработку текста, анализ настроения, классификацию текста, машинный перевод и много другой полезной информации, в том числе примеры кода и упражнения, которые можно применять в реальных кейсах.
Чтобы понять, интересна ли вам тема информационной лингвистики, посмотрите фильм «Прибытие» 2016 года. Это американский научно-фантастический триллер — экранизация рассказа «История твоей жизни» (1988, Тед Чан). По сюжету в разных местах Земли появляются странные инопланетные объекты в форме ракушек. Лингвистам предстоит разгадать тайну и расшифровать язык пришельцев при помощи математики.
Коротко о том, кто такой компьютерный лингвист
Компьютерный лингвист — это специалист, который учит машины распознавать и воспроизводить человеческую речь. Эти специалисты развивают голосовых помощников, помогают поисковым системам лучше нас понимать, создают продукты для помощи людям с инвалидностью и разрабатывают инструменты для решения маркетинговых задач.
Чтобы стать компьютерным лингвистом, нужно иметь навыки программирования, но также хорошую лингвистическую подготовку: понимать правила и нормы языка.
Узнать больше о программах высшего образования в Skillfactory и подготовиться к поступлению можно, подписавшись на наш Telegram-канал.