Компьютерные лингвисты IHS Minsk о своей работе

Оставить комментарий
Компьютерные лингвисты IHS Minsk о своей работе

Уже целый месяц проходят занятия в образовательном центре IHS Minsk. Специально для слушателей нашего центра и для тех, кто в будущем к нам присоединится, мы взяли большое и подробное интервью у наших коллег - компьютерных лингвистов-разработчиков. Интервью ближе познакомит читателя со спецификой профессии компьютерного лингвиста и с его задачами. 

Читать далее

Какими знаниями и навыками должен обладать претендент на должность лингвиста, чтобы ответить на вопросы, которые вы задаёте на интервью?

Вадим Станкевич:

Я работаю в компании почти шесть лет. За это время мы протестировали не один десяток кандидатов на позицию лингвиста-разработчика английского, французского, немецкого, японского и китайского языков.

Прикладная лингвистика – область знания на стыке наук. Именно поэтому мы стараемся оценивать знания, навыки и способности кандидата комплексно. И наш опыт показывает, что наилучших показателей при прохождении интервью добиваются кандидаты со способностями и к математике, и к формализации языка. Как правило это люди, хорошо окончившие школу и по гуманитарному, и по физико-математическому профилям и получившие высшее образование по одному из них.

В первую очередь для компьютерного лингвиста жизненно необходим высокий уровень владения грамматикой языка. Причём мы оцениваем владение как практической, так и теоретической грамматикой. И «владение» в данном случае– не столько знание теории как таковой, сколько умение применять её для решения конкретных задач. Например, использовать теорию формальных грамматик для анализа синтаксической структуры предложения. Объём словарного запаса и беглость разговорной речи для нас вторичны: это, определённо, не то, на что стоит обращать основное внимание будущим компьютерным лингвистам.

Знание английского языка в нашей компании обязательно. В том числе и для лингвистов, желающих работать над проектами с другими поддерживаемыми языками. Но, если ваша языковая пара, к примеру, японский и китайский, не отчаивайтесь! В нашей компании организованы курсы английского языка, которые помогут вам овладеть им на необходимом уровне.

Вообще, чем больше языков знает кандидат, тем лучше. Во-первых, это помогает полнее оценивать языковые факты и явления, находить межъязыковые универсалии. А во-вторых, кто знает, что может пригодиться в будущем при работе над каким-либо новым проектом?

Мы также смотрим на наличие склонностей к алгоритмизации и программированию. Или оцениваем уровень кандидата, если он уже пробовал свои силы в написании программ. Это не означает, что к нам стоит идти только в том случае, если вы состоявшийся программист. И тем не менее работа компьютерного лингвиста невозможна без соответствующего инструментария, который наши лингвисты нередко пишут для себя сами. Рано или поздно любой лингвист, желающий расти в данной области, задумывается об изучении какого-либо языка программирования. И нашей компанией предусмотрен широкий спектр инициатив, направленных на поддержку образовательных и самообразовательных процессов.

Что ещё? Пожалуй, способность мыслить логично и объяснять логические цепочки. Она так или иначе проверяется на любом из этапов тестирования кандидата. Несомненный козырь на интервью – опыт в областях прикладной и корпусной лингвистики или машинного обучения, а также учёная степень (или перспектива её получения) в этих или связанных областях. Ну, и, конечно, важно, чтобы глаза горели!

Достаточно ли знаний, полученных в университете, для работы в качестве лингвиста в IHS? Приходится ли продолжать самостоятельное обучение, чтение научной литературы?

Марина Белюга:

Работа в нашей компании предполагает исследование актуальных практических задач, которое должно заканчиваться разработкой их эффективных решений. Это существенно отличается от образовательных целей классических университетов, тем более не ориентированных напрямую на профиль решаемых компанией задач. К тому же компьютерная лингвистика – сложная междисциплинарная наука, возникшая на стыке лингвистики, математики и computer science.

Да, в ряде университетов есть соответствующие специализации, высоко эрудированные специалисты, которые, безусловно, на хорошем уровне выстраивают мостик в то будущее, о котором сказано ранее. Но было бы иллюзией надеяться получить уже готовых «под ключ» специалистов.

Поэтому обычно в компьютерную лингвистику приходят либо программисты, которые впоследствии учатся языкам и языкознанию, либо лингвисты, которым приходится разбираться в IT. Я, будучи выпускницей МГЛУ, отношусь ко второй категории. Поэтому, когда я пришла в IHS, основные сложности у меня были с «технической стороной» . Первым делом нужно было учиться работать в Linux, осваивать языки программирования, понимать и использовать регулярные выражения, алгоритмы machine learning  и многое другое. Какое-то время уходит на то, чтобы восполнить пробелы в математике, статистике и научиться смотреть на язык по-новому, попытаться осознать, как его может понять компьютер. Благо в сети доступно большое количество статей, книг и онлайн-курсов, которые существенно помогают со всем этим разобраться. Ну, и конечно, всегда можно рассчитывать на помощь коллег.

Разумеется, учиться приходится не только в начале своего карьерного пути. Работа в бурно развивающейся сфере IT в принципе предполагает постоянное самообразование. Новые технологии, новые задачи появляются чуть ли не каждый день. Охватить все, естественно, вряд ли возможно, но, если работа приносит удовольствие, разбираться и совершенствоваться в ней никогда не надоест.

Насколько полезным оказалось ваше участие в международных конференциях? Узнали ли вы что-то новое, что можно применить в работе?

Марина Чернышевич:

Участие в конференциях всегда полезно, особенно если это международная  конференция уровня COLING, ACL, NAACL, ConLL, где наряду со студентами-аспирантами выступают представители таких компаний как Yahoo и Microsoft, а также преподаватели из таких университетов как Stanford и Berkeley. Подобные конференции в первую очередь позволяют познакомиться с новыми идеями и тенденциями в компьютерной лингвистике, а  также узнать секреты успешных коммерческих проектов, например, как Yahoo измеряет степень вовлеченности пользователей по их поведению на сайте.

Важнейший аспект конференции – это представление собственной работы в виде стендового или устного выступления. Это помогает получить опыт публичного выступления перед аудиторией, услышать одобрение или конструктивную критику.  В общении с участниками узнаешь, как другие компании решают те или иные проблемы, сравнить свою систему с другими.

Ну, и конечно, сама атмосфера конференции заряжает энергией и мотивирует к поиску решения новых задач и воплощению полученных идей.

Помогает ли работа компьютерного лингвиста в изучении иностранного языка?

Эллина Нагарнович:

Да, но в каждом аспекте языка в разном объеме. Вряд ли «общение с машинами» может как-то повлиять на ваше произношение. А вот лексический запас, безусловно, пополнится техническими терминами и понятиями, а также расширит кругозор в научных областях. Что же касается грамматики, она явный лидер. Ты начинаешь смотреть на язык как систему точно упорядоченных его составляющих, некий формализованный объект. Это открывает перед тобой разнообразие синтаксических конструкций, широту возможностей словообразования и тонкостей словоупотребления. Работа компьютерного лингвиста предполагает постоянное развитие и влечение к новым знаниям, таким же стремительным, как и сама наука. И, чтобы не "lag behind", вам придется совершенствоваться. Учить язык программирования – хорошее решение. В результате вы получите технический английский + полезный навык в работе!

Какие инструменты приходится применять в работе? Нужно ли учиться программированию?

Дмитрий Супранович:

Несомненно, без программирования компьютерному лингвисту не обойтись. Наша профессия предполагает работу с текстами (их автоматическая обработка, извлечение информации), а также с существующими утилитами и библиотеками для обработки естественного языка. Это не означает, что нужно быть гуру программирования: лингвист-гуманитарий часто учится этому на рабочем месте. Что же пригодится в работе? Это базовое владение каким-либо скриптовым языком (например, Ruby или Python), умение пользоваться регулярными выражениями. Не обойтись и без использования Linux, а позже наверняка пригодится использовать утилиты для машинного обучения. Если вы вдруг решили начать карьеру в компьютерной лингвистике и ни с чем подобным до этого не сталкивались – не беда. Сегодня повсеместно доступны всевозможные MOOC – бесплатные онлайн-курсы, например edX, Coursera и многие другие. Там вы сможете найти вводные курсы (Linux, языки программирования и прочие), и вам будет гораздо легче начать работать компьютерным лингвистом.

Чего больше в вашей работе – программирования или работы с языком?

Полина Довнар:

Я думаю, работы с языковыми ресурсами, с текстами все-таки больше. Однако что мы подразумеваем под словами «работа с языком»? В нашем случае это написание правил определения синтаксической структуры предложения, извлечения информации из текста, автоматического перевода, составление словарей и т.д. Для этого необходимо читать множество текстов, учиться воспринимать их как набор определенных структур, выстраивать своего рода алгоритмы их обработки и оценивать точность этих алгоритмов. При этом нужно соблюдать определенную последовательность и логичность действий, проводить большое количество аналитической работы. Порой для выполнения некоторых задач необходимо создавать скрипты, чтобы, например, собрать статистические данные или с какой-нибудь целью быстро обработать большое количество текстов, – в таких случаях навыки написания программного кода очень полезны.

Таким образом, в нашей деятельности работа с языковыми ресурсами и программирование (пусть и не в чистом виде, а его элементы) не являются взаимоисключающими понятиями, а скорее дополняют друг друга.

Чем вам больше нравится заниматься – написанием правил или работой с методами машинного обучения?

Александра Фигловская:

Для лингвиста работа по написанию правил, безусловно, интересна, так как непосредственно связана с языком, его структурой и логикой. Написать правило не значит просто применить выученное в школе или в университете, написать правило - это попытаться найти формальные признаки для принятия компьютером того или иного решения. Зачастую, чтобы найти эти признаки, нужно провести много времени, изучая сотни и сотни случаев. В результате, решение поставленной задачи может занять значительное количество времени.

Использование методов машинного обучения позволяет в свою очередь быстро добиться результата, принимая решения, основанные на конкретных примерах при помощи математических моделей, что не требует сложной формализации. Однако достаточно быстро становится понятно,  что простого использования готовой модели недостаточно для достижения высокого качества обработки текста. Дальнейшая работа по улучшению результатов состоит по сути в написании своеобразных правил, которые будут использованы впоследствии моделью машинного обучения. Отличие от правил в чистом виде заключается в том, что принятие решения переносится на математическую модель и не всегда соответствует ожиданиям разработчика. В какой-то момент, особенно при отсутствии достаточного опыта,  можно упереться в отсутствие идей для повышения качества. Именно поэтому можно сказать, что работа с машинным обучением сложнее. Для решения задач недостаточно выучить инструментарий и сказать, что с его помощью эту задачу можно решить, а другую нельзя. Для того чтобы добиться хороших результатов в машинном обучении, нужно постоянное изучение моделей и подходов, разработка сложных алгоритмов, то есть постоянное самообучение.

Для меня выбор между работой с правилами и машинным обучением неоднозначен. Мне кажется, что наилучший вариант - это гармоничное совмещение машинного обучения с работой с правилами и выбор того или другого в зависимости от задачи.

Что в вашей работе оказалось самой большой неожиданностью после ознакомления с кругом ваших задач и обязанностей?

Мария Ермакович:

На финальном собеседовании будущий менеджер спросил, как я представляю то, чем мне предстоит заниматься, и после моей заминки подарил готовую формулировку, которую я с тех пор радостно использую, когда приходится объяснять содержание моей работы друзьям: «Мы учим компьютер читать текст так, как это делает человек».

Это исследовательская и творческая работа: большая свобода действий уравновешена личной ответственностью. Долгие периоды битья головой о клавиатуру сменяются неожиданным вдохновением в восемь вечера. Монотонные задачи, требующие усидчивости и въедливого внимания (и я воображаю себя мисс Марпл), и непредсказуемые лингвистические расследования. А также вещи, про которые ещё никто на свете не знает, как нужно делать. Главная неожиданность: здесь я каждый день узнаю что-то новое и мне до сих пор интересно.

Как отметил один из организаторов образовательно центра: «Конечно, разработка промышленных продуктов в IT-сфере требует участия профессионалов различного профиля. Но, учитывая, что решаемые в компании IHS задачи являются «лингвистически сильно нагруженными», можно утверждать, что именно лингвисты-разработчики, создавая ядро этих продуктов в виде развитого многоядерного лингвистического процессора, вносят наиболее весомый вклад в достижение желаемых результатов. А это серьезный шаг на пути построения интеллектуальных информационных систем и технологий».

Подписывайтесь на «Что к чему» —
анамнез и главные симптомы беларуского ИТ.
Цифры, графика, ничего лишнего. Выходит раз в 2 недели.
Спасибо! На указанный адрес отправлено письмо для подтверждения подписки.
Читайте также
Неделя леса — 2018 в IHS Markit Minsk
Неделя леса — 2018 в IHS Markit Minsk
Неделя леса — 2018 в IHS Markit Minsk
Награда II степени в конкурсе «Премия HR-бренд Беларусь 2017»
Награда II степени в конкурсе «Премия HR-бренд Беларусь 2017»
Награда II степени в конкурсе «Премия HR-бренд Беларусь 2017»
Все точки над MVP: что даёт статус Microsoft Most Valuable Professional
Все точки над MVP: что даёт статус Microsoft Most Valuable Professional
Все точки над MVP: что даёт статус Microsoft Most Valuable Professional
9 русскоязычных подкастов и telegram-каналов для фронтенд-разработчика
9 русскоязычных подкастов и telegram-каналов для фронтенд-разработчика
9 русскоязычных подкастов и telegram-каналов для фронтенд-разработчика

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.