Машинное обучение программных агентов, работающих с текстами на естественном языке

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

Программные агенты, работающие с текстом

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

  • целенаправленная навигация по страницам в Интернете [1] на основе целеуказаний пользователя;
  • упреждающий поиск информации в поисковых системах [2], позволяющий предложить пользователю искомый результат до того, как он будет запрошен явно;
  • прогнозирование развития событий по лентам интернет-новостей [3] в задачах бизнес-разведки;
  • ведение диалогов между пользователем и его персональным ассистентом или чат-ботом [4].

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

Навигация по страницам

Навигация по страницам в Интернете представляет собой поиск «целевой» интернет-страницы с нужной информацией [1], начиная с некоторой «стартовой» страницы и проходя через ряд промежуточных, в соответствии с определенными типовыми сценариями. Например, поиск руководителя компании на ее сайте может начинаться со страницы index.html, далее по ссылке «Информация о компании» переход на страницу company.html, с которой по ссылке «Руководство компании» переход на страницу management.html, где ищется текст «Директор: Иван Петров». Автоматизация подобной навигации может ускорить время и снизить трудозатраты при решении задач, связанных с получением целевой информации с заданных сайтов и семейств сайтов, связанных ссылками или общей выдачей поисковой системы, например задач маркетинга и «деловой разведки» (business intelligence).

 Упреждающий поиск информации

Упреждающий поиск информации в Интернете [2] предполагает определенные сценарии поиска информации как предопределенные последовательности поисковых запросов и результатов и выдаваемых результатов. Например, в случае планирования отпуска пользователем поисковой системы, цепочка поисковых запросов, начатая с «Погода в Тунисе» очевидно будет продолжена запросом «Отели в Тунисе» и далее — «Достопримечательности в Тунисе». Автоматическая предварительная выборка подобных запросов и упреждающая выдача ответов на них может повысить привлекательность системы для пользователя и повысить ее конкурентоспособность.

Прогнозный анализ новостей

Прогнозный анализ новостей в Интернете [3] направлен на использование последовательностей привязанных ко времени новостных сообщений о конкретных событиях для прогнозирования появления определенных сообщений о новых событиях. Например, выявление в местных новостях негативных новостей, связанных с той или иной компанией (например текст «XYZ, Inc. management fraud» в новостях), может во времени предшествовать падению ее акций и взлету акций ее конкурентов (текст «XYZI ticker position down» в новостях). То есть анализ настроений (sentiment analysis) в текстах новостей, касающихся определенной темы, может являться индикатором для изменения настроений в части другой, связанной темы. Подобное прогнозирование событий является важным инструментом как в бизнесе, так и в политике.

Ведение диалогов с персональными ассистентами

Ведение диалогов с персональными ассистентами на основе машинного обучения может быть использовано для создания систем интерактивного голосового ответа (Interactive Voice Response, IVR) не методом «ручного» конструирования шаблонов, как это делается сегодня в большинстве коммерческих чат-ботов [4], а методом самообучения на базе известных диалогов. Например, статистически может быть выявлено, что если в ответ на запросы пользователя вроде «Не могу войти в систему», «У меня логин не работает» и «Пароль не вводится» задавать встречный вопрос: «Вы пробовали выключить верхний регистр на клавиатуре?», то в большинстве случаев проблема пользователя будет решена с включением в ответ ремарок вроде «Извиняюсь», «Спасибо!» и «Заработало!!!». Таким образом, существенная часть поддержки «первой линии» потенциально может быть полностью автоматизирована с эскалацией на следующий уровень только нетипичных случаев.

 

Проблема: машинное обучение программных агентов

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

  • наличие конечной цепи (временной последовательности) связанных ситуаций или контекстов, начиная от некоторой стартовой точки (исходной страницы, первого запроса, начального события или приветствия в диалоге) и кончая финальной точкой (конечной страницы или текста на ней, финального запроса или выдачи на него, событие-развязка или прощание в диалоге), а также — множества промежуточных точек (тексты ссылок между страницами, промежуточные вопросы, эпизодические новости или обмен сообщениями в ходе диалога);
  • представление каждой ситуации (контекста) в цепи текстовой информацией, исчерпывающе описывающей данную ситуацию, притом что характеристика ситуации может заключаться как в наборе ключевых слов или логической формулы [5], описывающей сочетания этих слов (например, в случае поиска информации о руководстве компании на странице в Интернете «company OR corporation AND management OR directors OR board OR people»), так и в сочетании семантических (смысловых) отношений [6], извлекаемых из текстовой информации (для того же примера, в терминах онтологии Cyc — (and (isa?PERSON Person)(managerOf?PERSON?ENTITY) (isa?ENTITY BusinessEntity))).

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

 

Подходы: машинное обучение на основе опыта

Рассмотрим несколько видов машинного обучения программных агентов на основе собственного опыта (experiential learning [7]) — взаимодействия с «учителем» либо окружающей средой.

Инкрементальное обучение

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

Пакетное обучение

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

 Эволюционное обучение

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

 

Решение: причинно-следственный анализ и алгоритмический подход

В рамках развития автоматических интеллектуальных интернет-агентов Aigents (http://aigents.com/) описанные выше подходы основываются на следующей модели.

Контекст, определяющий каждую ситуацию, определяется как ассоциативный комплекс текстовых и семантических «шаблонов», где шаблон является эмпирически достоверно выявленным ключевым словом, последовательностью ключевых слов («фреймом»), набором взаимозаменяемых ключевых слов («леммой»), семантической переменной (предполагающей набор значений из области определения, соответствующей текущей онтологии агента для класса данной переменной) либо семантическому отношению (объединяющему несколько переменных) или набору таких семантических отношений. Контексты могут быть более или менее абстрактными, соответственно уровню абстракции описывающих его шаблонов, причем сами шаблоны могут возникнуть как в процессе их предопределения пользователем-оператором, так и в результате эмпирического инкрементального обучения агента с подкреплением со стороны пользователя [8].

Множество выявленных агентом контекстов собирается в «гипотетические» причинно-следственные цепилибо неявно на основе физического времени выявления контекстов, либо явно на основании фактических переходов от одного контекста к другому (в зависимости от характера поставленной прикладной задачи). Совокупность выявленных цепей или сценариев ранжируется по встречаемости. Для сценариев низкой степени абстракции встречаемость определяется как просто число повторений данного сценария. Для сценариев высокой степени абстракции встречаемость определяется как сумма встречаемостей более низкоуровневых сценариев (являющихся подклассами данного), нормированная по уровню его абстракции.

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

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

 

Применение: машинное обучение программных агентов Aigents

В приложениях Aigents сейчас реализуется инкрементальный подход. Каждая сессия обучения предполагает задание агенту некоего целевого контекста (в виде «шаблона») и корневой страницы нового интернет-сайта в качестве стартовой точки. В ходе обучения, при отсутствии целевого контекста на текущей странице (начиная со стартовой), агент предлагает пользователю набор гипотетических ссылок для переходов на следующие страницы для подтверждения (которые могут быть предварительно ранжированы при выявлении «уже знакомых» сценариев). В случае явного подтверждения одной или нескольких ссылок пользователем происходит переход по ним с возникновением нового контекста и одновременным наращиванием оперативного сценария и сохранения его в STM — до тех пор, пока не будет достигнута финальная точка (в текущем контексте не окажется страница, удовлетворяющая целевому поиску) и текущий сценарий будет сохранен из STM в LTM.

программные агенты

Рис. 1. Маршруты интернет-навигации при поиске автомобиля марки «Forester»

Например, в ходе приведенных ниже примеров прохождения трех сеансов обучения поиску предложений о продаже автомобилей марки Subaru Forester в России может быть сформировано три соответствующих элементарных сценария низкой степени абстракции (показаны на рис. 1–2).

Программные агенты

Рис. 2. Сценарий переходов по ссылкам при поиске автомобилей марки «Forester»

Далее, на основе ретроспективного анализа совокупности элементарных сценариев, может быть построен сценарий более высокого уровня абстракции, записанный в терминах шаблонов языка Agent Language [8] как [{() «автомобили» [«авто» «легковые авто»]} «subaru») «forester»] (рис. 3).

программные агенты

Рис. 3. Обобщенный сценарий переходов по ссылкам при поиске автомобилей марки «Forester»

Наконец, в случае выявления дополнительных сценариев при прохождении сеансов обучения нацеленных на поиск легковых автомобилей других марок и брендов, может быть сформирован сценарий еще более высокого уровня — [{() «автомобили» [«авто» «легковые авто»]} $brand $model].

При этом, в общем случае, области определения семантических переменных $brand и $model могут быть, в свою очередь, ограничены как вне контекста («Brand is Subaru, Fiat, Toyota, Mazda, Honda»), так и в контексте других переменных.

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

 

Использование агентов Aigents

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

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

Литература
  1. K. Sumiya, M. Takahashi, K. Tanaka. WebSkimming: An Automatic Navigation Method along Context-Path for Web Documents.
  2. C. Jianwei, et al. Story Teller: Detecting and Tracking Hot Topics to Enhance Search Engine Performance.
  3. S. Nandagaonkar, D. Hanchate, S. Deshmukh. Survey on Event tracking and Event Evolution.
  4. С. Уласень. Организация диалога в системе общения на естественном языке (Eugene Goostman).
  5. A. Kolonin. High-performance automatic categorization and attribution of inventory catalogs // Proceedings of All-Russia conference «Knowledge – Ontology – Theories» (KONT-2013), Novosibirsk, Russia, October 2013
  6. C. Matuszek, J. Cabral, M.Witbrock, J. DeOliveira. An Introduction to the Syntax and Content of Cyc.
  7. B. Goertzel. A Pragmatic Path Toward Endowing Virtually-Embodied AIs with Human-Level Linguistic Capability
  8. A. Kolonin. Intelligent Agent for Web Watching: Language and Belief System.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *