Статьи
Чего мы не знаем об искусственном интеллекте

Телеканал «Наука» выступает информационным партнёром крупнейшей в России международной конференции по компьютерной лингвистике и интеллектуальным технологиям «Диалог 2018», проходящей в Москве с 30 мая по 2 июня.  Владимир Селегей, директор по лингвистическим исследованиям ABBYY, ответил на несколько вопросов о наиболее важных трендах машинной работы с языком.

17 мая в Питере состоялась юридическая дискуссия. Разработанный сотовым оператором чат-бот LegalApe 2.8 должен был доказать законность регистрации права собственности объекта недвижимости, а юрист ему оппонировал. Победителя определило жюри, выиграл человек. После чего робот выругался матом, изрядно смутив организаторов. По их утверждению, лексика была освоена в процессе дискуссии. Если исключить тему намеренного хулиганства, можно ли этот случай применить для иллюстрации проблемы «чёрных ящиков» в машинном обучении?

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

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

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

Расскажите о характерных для компьютерной лингвистики «ящиках», когда закрытость процессов от внешнего наблюдения создавала препятствия в работе?

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

Возьмем, например, определение авторства. Кто написал «Тихий Дон»: Шолохов или кто-то другой? Это вопрос, на который человек не может ответить со 100% уверенностью, и он прибегает к помощи интеллектуальных алгоритмов. Систему обучают на размеченном корпусе текстов, она выделяет внутренние признаки, характерные для этого автора. Но какие и почему, как это понять? В некоторых задачах это понимание является критическим, особенно если это связано с жизнью и здоровьем человека. Представьте систему автоматического медицинского диагноза: она сообщает пациенту, что у него рак, но не дает объяснений, почему. Является ли это препятствием для работы врачей? Нет, но влияет на нашу готовность принять такой диагноз, возникает вопрос доверия к технологиям, а это ограничивает применение нейросетей в нашей жизни. По сути, появился новый мощный инструмент, который не всегда можно использовать так, как хотелось бы человеку. Лингвисты, как и другие специалисты, имеющие дело с разработками в сфере искусственного интеллекта, хотели бы лучше понимать, как компьютер строит свои логические заключения.

Как сейчас пытаются решить эту проблему?

Специалисты подвергают работу машин детальному изучению. Например, этим занимается векторная семантика. Есть так называемые эмбеддинги: мы получаем некоторую информацию о поведении слова за счет анализа его поведения в больших объемах текстов, обрабатывая сотни миллионов, даже миллиарды слов и получая информацию о словах с точки зрения того, как они устроены, какие грамматические значения используются, и т.д. И сейчас специалисты используют эмбеддинги для распознавания значений слова, разметки текстов, верификации словарей. Это совсем новая область в компьютерной лингвистике, попытка понять, как интерпретировать результаты работы нейросетей. Слово ведет себя по-разному с разных точек зрения: есть слова, которые близки тематически, например, слова, связанные с игрой в футбол, нефтяной разведкой или любой другой темой. Есть вещи, которые близки грамматически, например, все глаголы движения, понятия, связанные с мыслительной деятельностью, прозрачные объекты. За всякой классификацией лежит некая общность. Лингвисты хотели бы этим пользоваться, но пока еще не знают, как, и это станет одной из ключевых тем для обсуждения на «Диалоге».

Тема интерпретации «черных ящиков» — новая для компьютерной лингвистики?

Эта проблема стала особенно актуальной в последние 3-5 лет, когда случились прорывные результаты в распознавании речи, машинном переводе и т.д. До этого существовала так называемая признаковая инженерия. Как все было устроено? В тексте указывались признаки, которые компьютер учился определять. Например, что у Шолохова — распределение глаголов по лексическим полям, предпочтение определенных грамматических форм. Системы машинного обучения, построенные с помощью признаковой инженерии, позволяли понять, какие признаки оказались важными. Мы понимали, почему система приписала авторство Шолохову. В глубинном обучении система стала сама выделять признаки путем агрегирования огромного объема данных. Так вместо признаковой инженерии появился «черный ящик». У этой проблемы есть две стороны. Первая — мы перестали понимать, почему машина выдает те или иные результаты. Вторая — мы стали решать только те задачи, для которых собрано множество данных, и пренебрегать теми вопросами, для которых данных недостаточно. Обе темы будут обсуждаться на «Диалоге».

Я лично сталкивался с тем, что Гугл комментировал поиск по достаточно типовой фотографии пейзажа «Возможно, на фото мотоцикл». Можно ли научить нейросеть отвечать «не знаю», вместо попыток показать пользователю хоть какой-то результат?

Нейросеть может получать результат с некоторой вероятностью и показывать пользователю, насколько она гарантирует правильность ответа. Так, например, работает программа ABBYY FineReader и другие системы распознавания текстов: они подсвечивают слова, в распознавании которых не уверены. Так же могут работать и нейронные сети. Система глубокого обучения, настроенная на идентификацию объекта, выявляет некий уровень уверенности, превышая который, она может ответить, какой это объект. 

Удалось ли уже научить автоматические системы выделять диалекты, говоры и акценты, а также имитировать их? Или же лингвисты выбирают текущий «высокий стиль» и обучают системы только на словарях?

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

А если речь идет не о синтезе речи, а о написании текста с имитацией авторского стиля?

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

Получается, что все задачи подобного рода упираются в количество данных.

Да, и на «Диалоге» специалисты пытаются решить проблему с нехваткой данных. Как получать результаты, если данных изначально мало, например, для каких-то редких языков? Эксперты хотят выявить, какие методы машинного обучения работают в случае, если данных мало — например, для анализа текстов на бурятском языке. Есть так называемая языковая адаптация (language adaptation): это когда данных для одного языка мало, а для других языков — много, и эти языки похожи. В этом случае можно автоматически, за счет близости этих языков, переносить информацию из одного языка в другой, скажем, из русского в белорусский. Другой подход — это передача обучения (transfer learning), когда вы переносите результаты обучения оттуда, где данных много, на задачу, где данных мало. Об этом также расскажут эксперты на «Диалоге», этому посвящен круглый стол «BigData vs. SmallData: как решать проблемы нехватки обучающих данных».

31.05.2018 12:32:13