понедельник, 8 мая 2017 г.

Нейросети, искусственный интеллект и машинный перевод

Что нового в мире компьютерного перевода?

Время от времени я захожу в Сообщество Google Переводчика, делаю доброе дело — помогаю людям и машинам переводить случайные фразы, преследуя при этом, конечно, своекорыстные цели: там часто попадаются прелюбопытные идеи и фразы для английского и немецкого словарных тренажёров. И вот на днях я, как участник сообщества, получил от Гугл письмо с довольно громким заявлением. Всемирный поисковик анонсировал внедрение самых современных технологий в Гугл переводчике. Вот фрагмент этого письма:

Недавно в сервисе "Google Переводчик" произошли изменения более важные, чем за предыдущие десять лет. И Вы тоже внесли свой вклад!
Google Переводчик начал использовать нейронные сети для 41 языка, включая русский. Нейронные сети – это самообучающиеся системы. Они основаны на сложных алгоритмах, которые имитируют процесс изучения языка человеком и позволяют значительно повысить качество перевода. Улучшения наиболее заметны при переводе фраз и больших текстов. Попробуйте!

Долгожданная революция в мире машинного перевода уже наступила?

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

Говоря об искусственном интеллекте, многие подразумевают general intelligence — интеллект, соответствующий человеческому. На самом деле технологии ещё довольно далеки от этого, поэтому пока его называют искусственным интеллектом, в англоязычных источниках — general artificial intelligence.

В классических вычислительных машинах для обработки и анализа информации использовался определённый шаблон или, если хотите, модель, которую жёстко задавал программист. Так было испокон веков. Но вот появились нейронные сети, и всё перевернулось с ног... (Впрочем, где голова, а где ноги пока неясно). Теперь программист задаёт только алгоритм обучения, а дальше машина сама создаёт модели и шаблоны, на основании которых определяет, с чем она имеет дело и как к этому относиться.

В самом упрощённом виде это выглядит так: нейронная сеть получает на входе 2 параметра (или числа) и выдаёт на выходе третий — результирующий. Но, в отличие от обычной вычислительной машины, результат будет зависеть не от готового алгоритма, а от «знаний», полученных системой во время тренировки или работы. Таким образом, машина с каждым последующим циклом становится всё умнее. Полученные данные записываются в память и могут быть использованы для решения поставленных задач. Впоследствии эти записи можно воспроизвести.

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

Переводы — это та работа, которую с момента появления первого компьютера, человек упорно пытается передать машине (хотя бы частично), так как этот вид деятельности, требует от нас больших затрат времени и напряжённой работы мозга. Деньги здесь также играют не последнюю роль — работа хорошего переводчика стоит недешево.

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

Обратимся к математике. Допустим, что словарный запас среднестатистического носителя языка составляет около двадцати тысяч слов. Предположим, что далеко не все слова могут сочетаться друг с другом, неся при этом разумный смысл, поэтому количество осмысленных словосочетаний, которые можно построить с помощью этих слов подсчитать довольно сложно.
Мы немного упростим задачу — разделим это число на 10 (просто для примера), и получим 2000 слов. Это грубый, подчёркиваю, очень грубый расчёт. Однако даже такие приблизительные вычисления показывают, что если из этих двух тысяч составлять средние предложения по пять слов, то можно получить 265335665000400 (двести шестьдесят пять триллионов триста тридцать пять миллиардов шестьсот шестьдесят пять миллионов четыреста) словосочетаний.
Если увеличить количество слов в предложении, то увеличится и количество комбинаций, если уменьшить, то число уменьшится, но смысл предложений может при этом полностью измениться. В любом случае наша цифра многократно возрастает. Добавьте к этому, выраженное в письменном виде отношение автора к написанному, — эмоции, иронию, сарказм, юмор, оттенки настроения, в результате количество вариантов стремится к бесконечности. Вот что такое человеческий язык!

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

В конце хотелось бы упомянуть и о системах голосового перевода в реальном времени, которые непосредственно связаны с распознаванием речи. Они уже работают и показывают вполне удовлетворительные результаты например, в Skype и некоторых онлайн сервисах. К их работе, конечно, пока можно придираться, но стандартные разговорные фразы они переводят отлично. А что ещё нужно для простого человеческого общения?

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

Комментариев нет: