Чтение онлайн

на главную - закладки

Жанры

Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:

Быстрое развитие интернета и социальных сетей резко повысило спрос на сервисы машинного перевода, и непростая задача по наладке мультикультурного диалога внезапно легла на плечи алгоритмов, которые ещё недавно нередко воспринимались как игрушки, представляющие разве что теоретический интерес. Магазин под вывеской Translation server error [Ошибка сервера перевода], «Сосиска в тесте», в переводе превратившаяся в Sausage in the father in law (сосиску в тесте, но не в смысле «тесто», а в смысле «тесть»), московские вывески для китайских туристов, превратившие «Патриаршее подворье» в «Деревню шовинистов», а Красную площадь в «Красную колбасу», — всё это смешные реалии мира внезапно победившего машинного перевода. Ошибки машинного перевода стали отдельным жанром, породившим свои фанфики, вроде текста «Гуртовщики мыши» (якобы изуродованный машинным переводом документ, посвящённый драйверам мыши).

Хотя на первый взгляд может показаться, что RBMT-подход способен при должном усердии разработчиков найти приемлемые решения в большинстве случаев, практика обнажает серьёзные проблемы. Их наличие стало очевидным в конце условной эпохи «бури и натиска» в машинном переводе, то есть в 1950–1960-е гг., когда на волне общего энтузиазма в области вычислительной техники казалось, что проблема машинного перевода вот-вот будет решена. Хороший пример таких

проблем привёл заведующий Лабораторией компьютерной лингвистики ИППИ РАН Игорь Богуславский. Простое предложение «Моих детей звали Иван и Пётр» RBMT-система интерпретирована не в том смысле, что именами детей были Пётр и Иван, а в том смысле, что некие Иван и Пётр позвали к себе детей [2102] . Этот пример хорошо демонстрирует, что в ряде случаев локальные правила, работающие с текстом на уровне отдельных предложений, просто неспособны разрешить имеющуюся неопределённость, причём в ситуациях, когда речь не идёт о каких-то вычурных синтаксических конструкциях — предложение, показанное Богуславским, является совершенно ординарным, ничем не выдающимся на фоне других предложений в текстах общей тематики. Работая с таким предложением, человек-переводчик использует собственное понимание описываемых в тексте событий, он создаёт в своей голове модель мира, события которого описывает текст, и, отталкиваясь от этой модели, делает вывод о вероятности того или иного способа разрешения существующей в тексте неопределённости. Хуже того, эта картина опирается на знания переводчика об особенностях человеческой культуры. Скажем, переводчик знает об обычае запекать сосиску, обернув её слоем теста, поэтому ему в общем случае вряд ли придёт в голову идея о том, что сосиска может быть внутри тестя, а не теста. Хотя, разумеется, всё зависит от контекста, в текстах специфической тематики вариант с тестем вполне может оказаться правильным. Учитывая все эти сложности, некоторые эксперты относят машинный перевод к числу ИИ-полных задач, и доказать или опровергнуть их точку зрения смогут лишь дальнейшие успехи в этой сложной, но чрезвычайно интересной области ИИ.

2102

Лагунина И., Ольшанская Е. (2004). Машинный перевод / Радио Свобода, 21 января // https://www.svoboda.org/a/24196111.html

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

В конце 2010-х гг. появились первые исследования, посвящённые систематическому мониторингу качества машинного перевода. В первую очередь речь идёт об обзорах [2103] , [2104] , [2105] , [2106] , публикуемых группой исследователей из компании Intento под руководством Григория Сапунова. Обзор 2020 г. включает в себя анализ качества работы 15 различных систем машинного перевода для 15 отраслей и 14 языковых пар. Сравнение производилось на основе современных метрик качества перевода (в первую очередь BERTScore). При подготовке Стэнфордского отчёта о развитии искусственного интеллекта Artificial Intelligence Index Report за 2019 г. [2107] именно исследование команды Сапунова легло в основу раздела о машинном переводе.

2103

Savenkov K. (2018). State of the machine translation by Intento (2018) // https://www.slideshare.net/KonstantinSavenkov/state-of-the-machine-translation-by-intento-july-2018

2104

Savenkov K. (2019). State of the Machine Translation (January 2019) / Intento, Mar 9, 2019 // https://blog.inten.to/state-of-the-machine-translation-january-2019-dffe15884d63

2105

Savenkov K. (2019). State of the Machine Translation (June 2019) // Intento, Jun 20, 2019 // https://blog.inten.to/state-of-the-machine-translation-june-2019-e3ffb457b76c

2106

The State of Machine Translation 2020. Independent multi-domain evaluation of commercial Machine Translation engines (2020) / Intento // https://try.inten.to/mt_report_2020

2107

Stanford Human-Centered Artificial Intelligence (HAI) (2019). Artificial Intelligence Index Report 2019 // https://hai.stanford.edu/sites/default/files/ai_index_2019_report.pdf

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

6.3.3 Семантическая вселенная: от Бенджио и Миколова до трансформеров

6.3.3.1 Представление текстовой информации

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

Традиционным способом представления текстовой информации в вычислительной технике является посимвольное кодирование. Каждому символу сопоставляется некоторое число (порядковый номер символа в используемой таблице символов). Например, таблица символов ASCII (American standard code for information interchange, Американский стандартный код для обмена информацией), разработанная в начале 1960-х гг., изначально включала в себя 128 символов, то есть каждому символу таблицы соответствовало число в диапазоне [0…127], для хранения которого необходимо 7 бит информации. Теоретически можно взять, например, рекуррентную сеть с единственным нейроном во входном слое и на вход этого нейрона подавать последовательно коды каждого из символов текста в виде соответствующих сигналов. Или, например, расположить во входном слое семь нейронов, на каждый из которых подавать один из битов двоичного представления каждого из символов. Однако для решения большинства практических задач такие сети не подходят, и вот почему. Допустим, мы хотим создать сеть, которая будет способна, получив на вход некоторое высказывание на естественном языке, сделать вывод о том, ругательное это высказывание или нет. Основной структурной единицей языка является слово. Современные языки насчитывают обычно миллионы словоформ, некоторое подмножество которых относится к инвективной (ругательной) лексике. Чтобы научиться выделять ругательные слова, нейронная сеть в процессе обучения должна будет по сути на основании примеров «изобрести» деление текста на отдельные словоформы, а затем «понять»,

что наличие в тексте некоторых словоформ (тысячи их!) влияет на значение метки класса. Конечно, достаточно большие сети, обученные с применением огромных вычислительных ресурсов, способны справиться с подобной задачей, однако значительная часть произведённых вычислений будет представлять собой мартышкин труд. Уйма вычислительного времени уйдёт на выяснение того, что мы и так знаем: язык состоит из слов, хорошо известных нам по словарям, и эти слова имеют весьма ограниченный набор значений, лишь иногда зависящих от контекста. Эту информацию было бы неплохо использовать на уровне представления данных на входе сети, что могло бы существенно сократить требуемые для её обучения вычислительные ресурсы. Рассматривая текст в виде последовательности слов, а не символов, сеть могла бы «сосредоточиться» на «изучении» более высокоуровневой структуры высказываний. Если ограничить длину слова 10 буквами, а алфавит 26 английскими буквами, то общее число различных «слов», составленных из произвольных последовательностей символов, превысит 2 x 1014, что минимум в 20 млн раз больше числа реально существующих в английском языке словоформ. Заставлять нейронную сеть искать иголку в таком огромном стоге сена просто контрпродуктивно. Именно поэтому в большинстве случаев в качестве элементарной единицы представления текста в коннекционистских моделях обычно используют слова (словоформы) или части слов.

Взяв словарь, включающий в себя все существующие словоформы (а также знаки препинания и другие элементы текста), мы можем сопоставить каждое слово его порядковому номеру в словаре и использовать этот номер в качестве числового представления слова. Представим для простоты нерекуррентную сеть, которая способна обрабатывать лишь предложения из одного слова. В этом случае наша задача будет сведена к задаче определения того, является одиночное слово ругательством или нет. Получив на вход некоторое число, сеть должна отнести его к одному из двух классов — ругательство или не ругательство. И здесь оказывается, что «обучаемость» нашей сети будет очень сильно зависеть от того, как именно слова расположены в нашем словаре. Если слова-ругательства кто-то уже расположил в начале словаря, то задача становится тривиальной: если порядковый номер слова на входе сети меньше или равен числу ругательств в словаре, то слово является ругательством, в противном случае — не является. Однако, если ругательства рассеяны по словарю случайным образом, единственной возможностью для сети будет по сути запомнить все числа, соответствующие ругательствам, то есть каким-то образом выделить все диапазоны номеров слов, в пределах которых метка класса неизменна. Такая процедура не столь уж тривиальна, и в случае достаточно большого словаря для её выучивания потребуется довольно большая сеть и солидные вычислительные затраты. Да и результат вовсе не гарантирован, поскольку такая задача, скорее всего, не будет линейно разделимой. Поэтому, если мы не имеем дело с каким-то хитрым словарём, в котором порядковые номера слов связаны с их семантикой, лучше не использовать порядковый номер слова в качестве входного сигнала сети. Вместо этого уже на заре коннекционизма стали использовать так называемый прямой унитарный код — двоичный код фиксированной длины, содержащий только одну цифру 1 (например, 000001, 000010, 000100 и т. п.). Длина кода определяется количеством слов в словаре, то есть каждому слову соответствует отдельный разряд кода. Порядковый номер слова в словаре соответствует номеру единичного разряда. Современный специалист по глубокому обучению вместо «прямой унитарный код», скорее всего, скажет «one-hot-векторы», таковы уж причуды сложившегося профессионального жаргона. Хотя во входном слое вашей сети теперь столько же нейронов, сколько слов в вашем словаре, зато наша задача стала линейно разделимой. Размер словаря можно сократить, принеся в жертву редкие, низкочастотные слова, однако даже словарь в несколько десятков тысяч слов в ряде случаев может стать проблемой. Поэтому было придумано ещё несколько способов представления текста, более компактных, чем последовательность унитарных кодов. Рассмотрим наиболее популярные из них.

Первый из них получил название «мешок слов» (bag of words). Мешок слов по сути представляет собой вектор, являющийся суммой прямых унитарных кодов, соответствующих словам предложения. То есть каждый компонент мешка — это число, равное числу вхождений соответствующего слова в текст (такой вариант мешка слов называют мультиномиальной моделью; иногда поступают ещё проще: если слово встречается в тексте хотя бы один раз, то соответствующая компонента вектора устанавливается равной 1 — такой вариант мешка слов называют моделью Бернулли [2108] ). Для фразы «Дар напрасный, дар случайный, жизнь, зачем ты мне дана?» наш мешок будет выглядеть следующим образом:

2108

Manning C. D., Raghavan P., Schutze H. (2008). Introduction to Information Retrieval. Cambridge University Press // https://books.google.ru/books?id=t1PoSh4uwVcC

Последовательность one-hot-векторов выглядела бы для той же фразы следующим образом:

Таким образом, в нашем случае мешок слов содержит в девять раз меньше компонентов, чем последовательность one-hot-векторов, и, что не менее важно, его размер всегда будет фиксированным — равным размеру выбранного словаря. А значит, для его обработки можно использовать нерекуррентную нейронную сеть. К сожалению, платой за это стала полная потеря информации о порядке слов в тексте, который в ряде случаев существенно меняет смысл сказанного. Например, «На собрании было десять человек» и «На собрании было человек десять», «Эта книга трудна даже для него» и «Даже эта книга трудна для него», «Я не люблю» и «Не я люблю» и так далее. Несколько снизить остроту этой проблемы можно путём добавления в словарь некоторых биграмм, например пар «частица + слово» и «предлог + слово». В конце концов, можно соорудить мешок биграмм или триграмм, но это резко увеличит размерность вектора, поэтому на практике обычно ограничиваются лишь отдельными n– граммами, добавленными в словарь. Таким образом, альтернативой мешку слов является мешок триграмм.

Как one-hot-векторы, так и мешки слов и n– грамм обладают рядом существенных недостатков, из-за которых успехи моделей, основанных на подобных представлениях текста, были весьма скромными.

Во-первых, размерность данных, даже в случае мешка слов, всё ещё довольно велика. При словаре в миллион слов нейронная сеть, принимающая на вход мешок слов, будет иметь примерно столько же нейронов во входном слое, сколько нейронная сеть, получающая на вход цветное изображение размером 640 x 480 точек, что было явно за пределами нейросетевых технологий начала нулевых годов. При этом если изображения содержат регулярные пространственные структуры, позволяющие применять для их обработки свёрточные сети, то в случае мешка слов или one-hot-векторов ничего подобного не наблюдается, и значит, нам придётся использовать модель с гораздо большим числом параметров. Сокращение размера словаря также не может существенно помочь, поскольку нередко как раз менее частотные слова вносят значительный смыслоразличительный вклад. Например, какое-нибудь заковыристое ругательство легко превратит предложение в оскорбительную тираду.

Поделиться:
Популярные книги

Том 13. Письма, наброски и другие материалы

Маяковский Владимир Владимирович
13. Полное собрание сочинений в тринадцати томах
Поэзия:
поэзия
5.00
рейтинг книги
Том 13. Письма, наброски и другие материалы

Эволюционер из трущоб. Том 4

Панарин Антон
4. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Эволюционер из трущоб. Том 4

Наследие Маозари 5

Панежин Евгений
5. Наследие Маозари
Фантастика:
фэнтези
юмористическое фэнтези
5.00
рейтинг книги
Наследие Маозари 5

Пятничная я. Умереть, чтобы жить

Это Хорошо
Фантастика:
детективная фантастика
6.25
рейтинг книги
Пятничная я. Умереть, чтобы жить

Шаман. Ключи от дома

Калбазов Константин Георгиевич
2. Шаман
Фантастика:
боевая фантастика
7.00
рейтинг книги
Шаман. Ключи от дома

Ведьмак (большой сборник)

Сапковский Анджей
Ведьмак
Фантастика:
фэнтези
9.29
рейтинг книги
Ведьмак (большой сборник)

Начальник милиции. Книга 6

Дамиров Рафаэль
6. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции. Книга 6

Подари мне крылья. 2 часть

Ских Рина
Любовные романы:
любовно-фантастические романы
5.33
рейтинг книги
Подари мне крылья. 2 часть

Не грози Дубровскому! Том III

Панарин Антон
3. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том III

Идеальный мир для Лекаря 24

Сапфир Олег
24. Лекарь
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Идеальный мир для Лекаря 24

Хроники Темных Времен (6 романов в одном томе)

Пейвер Мишель
Хроники темных времен
Фантастика:
фэнтези
8.12
рейтинг книги
Хроники Темных Времен (6 романов в одном томе)

Идеальный мир для Лекаря 15

Сапфир Олег
15. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 15

Шайтан Иван

Тен Эдуард
1. Шайтан Иван
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Шайтан Иван

Князь Мещерский

Дроздов Анатолий Федорович
3. Зауряд-врач
Фантастика:
альтернативная история
8.35
рейтинг книги
Князь Мещерский