Доцент Тартуского университета: использование искусственного интеллекта всё еще в далеком будущем

Обращаем ваше внимание, что статье более пяти лет и она находится в нашем архиве. Мы не несем ответственности за содержание архивов, таким образом, может оказаться необходимым ознакомиться и с более новыми источниками.
Copy
Марк Фишель.
Марк Фишель. Фото: TEDxLasnamäe

Исчезнут ли профессиональные переводчики, если человечество активно начнет использовать искусственный интеллект? И почему в машинном переводе невозможно избегать ошибок? Об этом рассказал доцент кафедры языковых технологий Тартуского университета и спикер TEDxLasnamäe Марк Фишель. 

(Rus.Postimees приводит печатную версию речи)

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

Наверняка всем и так понятно, в чём задача машинного перевода, практически все сами умеют переводить, плюс наверняка все знакомы с Google Translate, да и кроме него есть множество других онлайн-переводчиков, в том числе и наш Neurotõlge (translate.ut.ee), так что тут вопросов не должно быть. На экране вы видите два примера автоматического перевода с латышского на английский, и также видно, что в нём есть ошибка: “kumiss” переведен не как “кумыс”, а как “курица”/“пляж”. Так что вопросы в связи с машинным переводом скорее возникают в следующих трёх ключах:

- во-первых, все эти переводчики смешно ошибаются, то есть они бесполезны;

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

- в-третьих, если Гугл уже сделал свой переводчик, зачем нам делать ещё один, а точнее, чем же мы тогда занимаемся.

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

Сначала коротко о мотивации, или зачем этой темой заниматься: несмотря на ошибки, часто большая часть переведенного текста бывает правильная. Это значит, что если мы исходный язык (как латышский) не знаем, то легче все-таки понять автоматически переведенный вариант текста, даже если он корявый; главный смысл с большой долей вероятности будет передан верно. Кроме того, если все же нужен правильный текст, например для печати, то если ошибок мало, их можно быстро исправить, и в среднем получится быстрее, чем переводить с нуля вручную. Другими словами, в обоих случаях вместо того, чтобы сделать идеальный перевод, пока что мы нашли способ объяснить, как “и так сойдёт”.

Так почему же автоматический перевод не работает идеально и ещё не оставил всех людей-переводчиков безработными? Для этого посмотрим сначала, как он работает. Обычно, чтобы заставить компьютер что-либо делать, надо объяснить пошагово, как это сделать. Попробуем это сделать с переводом, например с русского на английский. Запишем словарь слов и фраз, как на экране: “это” переводится как "this is", машина - как "car", и так далее. Мы даже можем добавить правила, которые обеспечат правильный порядок слов, условие "перед существительным надо поставить неопределенный артикль" и т.д.

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

Тогда попробуем по-другому: не будем объяснять, как надо переводить, вместо этого просто приведем много примеров и дадим нашей системе самой научиться. Вот наша система еще не научилась, и получает на входе то же предложение что и раньше, и как результат производит белиберду. Затем вывод системы сравнивают с примером правильного перевода, и по чуть-чуть меняют эту систему так, чтобы её перевод был больше похож на правильный - и так много раз, на разных примерах. В конце система учится переводить, причем справляется и с предложениями, которые ей еще не показывали.

Понятно, что иногда есть ошибки, особенно если предложение при вводе не совсем похоже на тренировочный материал системы: например, Гугл не справляется с жаргонным эстонским выражением "täitsa pekkis", и переводит его дословно, как на экране (полон бекона). Но в общем и целом, машинный перевод бывает поразительно точен.

Собственно, если пропустить кучу деталей, так и учатся современные системы перевода, и вот тут главная проблема: этих примеров нужно очень много. Например, для эстонско-английского перевода в Neurotõlge мы использовали 18 миллионов пар предложений; для сравнения, это как 550 четырёхтомников "Войны и мир", только разных, без повторений. А что делать, когда достаточного количества примеров нет? Так может случиться, во-первых, с более редкими языками, например выруский эстонский или армянский. А во-вторых, такая же проблема возникает, если пытаться применить технологию перевода к другим задачам, где меньше данных - и вот здесь мы подходим к той части нашей работы, о которой я тоже хотел сегодня рассказать.

Есть большое количество экспериментов, где аналогичные системы тренируют решать другие задачи: ведь в схеме обучения, которую я показывал, нигде не указано, что надо именно переводить, главное просто научиться из ввода делать вывод. Например, корректировку текста можно представить как "перевод" из текста с ошибками в текст без ошибок, оба на одном и том же языке. Ещё - адаптация стиля: "переводить" жаргон или разговорную речь в формальную или наоборот. В обоих случаях можно просто набрать примеров и поучить систему перевода, вот только для большинства языков таких примеров очень мало или вообще нет.

На помощь приходят многоязычные системы перевода. Оказывается, что если научить одну и ту же систему переводить, например, с русского на английский, а также с эстонского на латышский, то неожиданным образом система сможет переводить и с русского на латышский. Причина проста: просто система по-отдельности научилась и читать русский, и воспроизводить латышский. А раз для исправления ошибок или адаптации стиля надо переводить на тот же самый язык, то остается потренировать нашу систему сразу на эстонско-английском и англо-эстонском направлении, и мы получаем переводчик с эстонского на хороший эстонский (потому что другого система и не видела). Приведем пару примеров.

Например, в предложении на экране много ошибок: не "minen", а "lähen" и все падежи перепутаны; наша система исправляет всё на правильное предложение "ma lähen kauplusesse vorsti ostma". Что касается стилизации, английское предложение с "you" переводится на эстонский в зависимости от выбранного стиля как "sa" или "teie", причём остальные слова в предложении тоже подстраиваются под выбранный стиль. Стилизация даже работает в рамках одного и того же языка: например, "täitsa pekkis" переводится на корректный эстонский как "see on täiesti segane".

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

Что же это всё означает - раз получившаяся программа справляется сразу с несколькими задачами, которые обычно ассоциируются с человеческим мышлением, можно ли сравнить ее с человеком? Насчет мышления что-то определенное сказать сложно: мы не знаем, как люди думают, знаем только, что в мозгу нейроны обмениваются электрическими сигналами разной силы. В случае нейронных сетей всё так же: математически мы знаем, как они считают и учатся, но целиком описать, как именно они справляются с задачей, не можем, и по большой части они остаются для нас черным ящиком.

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

В заключение: технологии, о которых я говорил, не являются ни глупыми и бесполезными, ни зловеще гениальными. Машинный перевод и другие применения той же технологии быстро развиваются, однако главная цель - не заменить человека, а создать в помощь людям удобный инструмент, который упростит и ускорит его работу, а человек, в свою очередь - это тот необходимый "компонент", без которого пока что не достичь 100% надёжности. Поэтому, подводя итог, я прихожу к общей теме этой конференции: оптимальный способ использовать искусственный интеллект - в сотрудничестве с человеком, через их "общий знаменатель"!

Rus.Postimees совместно с TEDxLasnamäe публикует видео-речи с конференции TEDxLasnamäe, которая прошла 6 апреля 2019 года. 

Наверх