СПб: изд. СПбГТУ, 2017. - С.67-72.
16. Gorelova G.V., Pankratova N.D. Scientific Foresight and Cognitive Modeling of Socio-Economic Systems /18 th IFAC Conference on Technology, Culture and International Stability, TECIS2018, IFAC Papers OnLine 51-30 (2018).-Р. 145-149.
17. Горелова Г.В., Бадван Н.Л. Межотраслевое движение финансового капитала // Вестник АГУ, вып.2. (220), 2018. - С. 132-143.
18. G.V. Gorelova, D.V. Borisova. Cognitive tools for the inter-regional economic integration study / Scientific journal «Sustainable development of mountain territories". Т 11, №1 (39), 2019, pp. 65-79.
19. Larisa A. Ginis, Galina V. Gorelova, Anna E. Kolodenkova //Cognitive and simulation modeling of development of regional economy system/ International Journal of Economics and Financial Issues.- 2016, Vol. 6, No 5S, pp. 97-103.
20. Инновационное развитие социо-экономических систем на основе методологий предвидения и когнитивного моделирования. Коллективная монография / Под ред. Г.В. Гореловой, Н.Д. Панкратовой. - Киев: Изд-во «Наукова Думка», 2015. - 464 с.
21. Программа для когнитивного моделирования и анализа социально-экономических систем регионального уровня. Свидетельство о государственной регистрации программ для ЭВМ № 2018661506 от 07.09.2018.
УДК 004.4
Станкевич Лев Александрович,
канд. техн. наук, доцент, вед. науч. сотр.
КОГНИТИВНЫЕ СИСТЕМЫ ДИАЛОГОВОГО ОБЩЕНИЯ
Санкт-Петербург, СПИИРАН, [email protected]
Аннотация. В данной работе обсуждается проблема диалогового общения технических устройств и человека. Предлагается когнитивная архитектура системы диалогового общения. Рассматриваются возможности управления диалогом с планированием и обучением системы новым понятиям и действиям. Описывается унифицированная нейронная сеть с глубоким обучением, на базе которой можно реализовать когнитивную диалоговую систему. Представлен вариант системы диалогового общения робота и человека с когнитивными способностями, связанными с накоплением знаний и ассоциативным управлением диалогом.
Ключевые слова: искусственные когнитивные системы, диалоговое общение, управление диалогом, обучение понятиям.
Stankevich Lev Alexandrovich,
PhD, docent, Leading scientist
COGNITIVE DIALOG COMMUNICATION SYSTEMS
Saint-Petersburg, SPIIRAS, [email protected]
Abstract. In the given work the problem of dialogue contact of technical devices and a person is discussed. The cognitive architecture of system of dialogue contact is offered.
Possibilities of management by dialogue with planning and learning the system to new concepts and acts are considered. The unified neural network with deep learning, on which baseline it is possible to realize cognitive dialogue system, is described. Variant of system for dialogue contact of the robot and the person with cognitive abilities related with accumulation of knowledge and associative dialogue management is presented.
Keywords: artificial cognitive systems, dialogue contact, dialogue management, learning of concepts.
Введение. В настоящее время проводятся многочисленные разработки, направленные на создание систем диалогового общения человека с устройствами и машинами, управляемыми компьютерами. На практике большинство таких систем имитирует простые формы диалога. Так, в настоящее время наиболее широкое применение нашли диалоговые системы, типа Чат-ботов (Chatbot), а также IVR-систем. Исторически первыми чат-ботами были ELIZA, разработанная в Массачусетском технологическом институте США в 1966 г. [1] и PARRY, разработанная в Стенфордском институте США в 1972 г. [2]. Из недавних разработок можно выделить A.L.I.C.E. [3], и D.U.D.E (Agence Nationale de la Recherche and CNRS, 2006). В то время как ELIZA и PARRY были использованы исключительно для симуляции типовой беседы, многие современные чат-боты используются практически в игровых приложениях и веб-поиске.
Достаточно эффективные диалоговые системы разработаны на основе современных методов распознавания и синтеза речи и текстов [4]. Разработаны также системы распознавания рукописного текста и других графических образов. Делаются попытки строить диалоговые системы, основанные на распознавании и синтезе жестов, например, в форме жес-товой азбуки немых, а также многомодальные системы, интегрирующие речевые, зрительные и жестовые средства диалога [5].
В сложных диалоговых системах используются диалоговые менеджеры, которые управляют процессом разбора фраз пользователя и формированием ответных сообщений. Хорошим примером является диалоговый менеджер ReinForest, ориентированный на создание диалоговой системы, независимой от пользовательской области [6]. Этот менеджер использует зависимую от области онтологию для разработчиков, чтобы быстро закодировать знание из определенной области.
Обучаемая диалоговая система, описанная в работе [7], интегрирует семантический парсер, производящий представления фраз пользователей в логическую семантическую форму, и диалоговый менеджер, который поддерживает состояние убеждения для цели пользователя. Система обучается инкрементально, т. е. стартует с малым числом обучающих примеров для парсера и индуцирует дополнительные примеры в процессе естественно языковых диалогов с разными пользователями.
Это позволяет системе в реальном времени обучаться новым семантическим понятиям, связанным с неизвестными до этого словами. Такой подход является более робастным, чем поиск по ключевым словам, и требует малого количества начальных данных.
Далее рассматриваются когнитивные диалоговые системы с точки зрения их архитектуры, решаемых задач и средств реализации. Акцент делается на когнитивные способности диалоговых систем, связанные с планированием диалога и инкрементальным обучением. Рассматривается один из возможных вариантов когнитивной диалоговой системы робота.
1. Архитектура когнитивной диалоговой системы. Диалоговые средства общения с техническими устройствами позволяют формировать задания и получать сообщения на естественном языке (ЕЯ). При восприятии информации от пользователя в таких системах должны решаться прямые задачи распознавания и понимания выражений на ЕЯ, вводимых в речевой, текстовой, графической или жестовой формах. При формировании ответных сообщений пользователю решаются обратные задачи, связанные с формированием смыслового содержания сообщений и синтеза их в речевой, текстовой, графической или жестовой форме.
Когнитивные диалоговые системы имеют несколько обязательных компонент, решающих задачи: распознавания и синтеза речи, понимания и генерации ЕЯ, управление диалогом. Общая схема когнитивной диалоговой системы представлена на рис. 1.
Рис. 1. Когнитивная система диалога
Главные компоненты системы - Понимание и Генерация ЕЯ, а также Диалоговый менеджер - объединены в рамках, так называемого, Беседующего агента. Этот агент имеет некоторые когнитивные свойства,
связанные с ментальным выводом при разборе поступивших и генерации ответных предложений, планированием и управлением беседой, а также использованием обучения для получения новых знаний, улучшающих диалог.
Начальный этап процесса диалога - распознавание речевых сообщений, поступающих от пользователя, обеспечивает анализ речевых сигналов на основе морфологии с целью распознавания и классификации произнесенных слов в соответствии с имеющимся словарем. Понимание ЕЯ сообщений соответствует прямой обработке ЕЯ и основано на синтаксическом и семантическом анализе для распознавания отдельных лексических единиц (слов) и понимания смыслового содержания предложений, составленных их этих единиц. Диалоговый менеджер использует некоторую политику формирования ответа, возможно, обучаемую, и решает задачу формирования смысла сообщения в ответ на распознанный смысл входного предложения. Генерация ЕЯ сообщений соответствует обратной обработке ЕЯ и имеет целью формирование правильно построенных предложений в соответствии с полученным смысловым ответом. Завершает процесс диалога синтез речи, обеспечивающий прого-варивание сформированных предложений.
2. Средства реализации когнитивной диалоговой системы. Как
было показано, базовыми когнитивными задачами, решаемыми в диалоговой системе, являются накопление знаний и обработка ЕЯ с обучением и принятие решений на основе ассоциативного вывода. Эти задачи наиболее эффективно решаются с использованием искусственных нейронных сетей с глубоким обучением.
В работе [8] предложена архитектура унифицированной нейронной сети и обучающий алгоритм, который может быть применен к различным задачам обработки ЕЯ, в частности, связанным с получением синтаксической и семантической информации при анализе ЕЯ сообщений. Эта многозадачность достигнута путем исключения из разработки специфицированных на задачу средств. Вместо того чтобы использовать полученные вручную и тщательно оптимизированные для каждой задачи признаки входных данных, предложенная система обучается внутренним представлениям на основе большого количества немаркированных тренировочных данных. Этот подход может быть использован для построения эффективной системы анализа ЕЯ сообщений с минимальными вычислительными требованиями.
Одно из достоинств предложенной архитектуры нейронной сети -способность хорошо работать с использованием сырых или почти сырых слов. Для эффективной обработки слова подаются на вход нейронной сети как индексы, взятые от конечного словаря Б. Первый слой сети
отображает каждый из индексов слова в вектор признаков с использованием таблиц поиска. Исходя из особенностей задач обработки ЕЯ, соответствующее представление каждого слова дается соответствующим вектором признаков, полученным таблицей поиска, после обучения методом обратного распространения ошибки, начинающегося со случайной инициализации. Используя этот подход, можно обучить сеть очень хорошим представлениям слов из немаркированных корпусов.
Архитектура сети, подходящая для обработки ЕЯ, представлена на рис. 2.
Окно текста
Таблицы поиска
Сверточные слои
Максимизирующий слой
Линейный слой
Слой нелинейно-стей
Линейный слой
Текст СМ ОП йе шМ
Признак 1
•
•
•
Признак K
ьт
М1
Мах()
М2
ИагаТапИО
М3
л Л Л Л Л
ж
ж
ж
ж
л Л Л Л Л
Рис. 2. Нейронная сеть для обработки окна текста
. Первый слой извлекает признаки каждого слова, а второй - признаки из окна слов или от предложения в целом. Последующие слои являются стандартными слоями глубокой нейронной сети.
Нейронная сеть имеет L слоев с параметрами в. Она может быть представлена композицией функций, соответствующих каждому l слою:
/О = fqL ( f^U/Л-)...)). (1)
Далее опишем каждый слой сети, представленной на рис. 2.
Формально, для каждого слова w î D , внутреннее представление вектора признаков размерностью âwrd формируется слоем таблицы поиска
LTW ( w) = (W) W, (2)
где W - матрица параметров, которые получаются при обучении, (W)w -
w-я колонка матрицы W и dwrd - размер вектора слова (гипер-параметр, выбираемый при настройке). Имея заданным предложение или любую последовательность из T слов [w][ в рамках словаря D, таблица поиска выполняет одну и ту же операцию для каждого слова последовательности, производя следующую матрицу на выходе:
LNW (К ) = (< W1 ,.h( W1 wb-( W [ w]T ). (3)
Эта матрица затем подается на вход следующего слоя нейронной
сети.
Эти векторы признаков в таблице поиска эффективно получаются путем обучения для слов, входящих в словарь. Признаки, полученные при обучении слоя таблиц поиска, можно использовать как входы для последующих слоев обучаемых экстракторов признаков, которые могут представлять группы слов и затем предложений в целом.
Векторы признаков, произведенные слоем таблиц поиска, должны быть объединены в последующих слоях нейронной сети, чтобы произвести решение о назначении тэга для каждого слова в предложении. Назначение тэгов для каждого элемента в последовательностях слов переменной длины (предложение тоже является последовательностью слов) -стандартная проблема обучения машин. Далее рассмотрим два общих подхода к назначению тэгов словам: оконный подход и сверточный в случае предложения.
При оконном подходе предполагается, что тэг слова зависит главным образом от его соседних слов. При назначении тэга слову используется фиксированный размер ksz (гипер-параметр) окна слов вокруг этого
слова. Каждое слово в окне сначала проходит через слой таблиц поиска (3), производя матрицу признаков слова фиксированного размера dwrdxksz. Эта матрица может быть рассмотрена как ^^х&^-мерный вектор, образуемый связыванием с каждым вектором колонки. Она исполь-
зуется как входная для последующих слоев нейронной сети. Более формально, окно признаков слова, получаемое первым слоем сети, может быть представлено как (последний символ Т в верхнем регистре означает транспонирование):
Л- = а < >}= (К [ . ,„„„/2)т. (4)
Линейный слой. Вектор / фиксированного размера может быть подан на один или несколько слоев стандартной нейронной сети, которые выполняют аффинные преобразования над их входами:
I 1 = Wlf 1в-1 + Ь1, (5)
где Wl и Ь1 - параметры, полученные при обучении. Имеется еще один параметр - число скрытых элементов 1-слоя, который устанавливается пользователем.
Слой нелинейностей. Несколько линейных слоев часто формируются в стек, чередуясь с нелинейностью, чтобы извлечь сильно нелинейные признаки. Здесь в качестве нелинейности выбрана «твердая» версия гиперболического тангенса. Она дает преимущество в плане более простого вычисления по сравнению с точным гиперболическим тангенсом, оставляя при этом свойство обобщения. Соответствующий слой I применяет ИаМТапк-нелинейность к своему входному вектору, т. е.
[/ 1 ]. = ИаЫТапк(х) = {-1 — (х < -1);х — (-1 £ х £ 1);1 — (х > 1)} (6)
Множество выхода. Наконец, размер продукции последнего слоя Ь нейронной сети равен числу возможных тэгов для решаемой задачи. Каждый выход может тогда интерпретироваться как множество соответствующего тэга (задаваемое входом сети), благодаря тщательно выбранной функции стоимости, которая будет описана далее.
Сверточные слои. Оконный подход эффективен для большинства задач обработки ЕЯ, которые здесь обсуждаются. Однако этот подход не дает результата в задаче разметки семантических ролей, где тэг слова зависит от глагола, выбранного заранее в предложении. Если глагол не попадает в окно, нельзя ожидать, что этому слову будет назначен правильный тег. В этом частном случае, назначение тэга слову требует рассмотрения целого предложения. При использовании нейронных сетей, естественным выбором решения этой проблемы становится сверточный подход.
При сверточном подходе нейронная сеть последовательно берет полное предложение, проводит его через слой таблиц поиска (3), вычисляет локальные признаки вокруг каждого слова предложения, используя сверточные слои, комбинирует эти признаки в глобальный вектор при-
знаков, который далее обрабатывается стандартными аффинными слоями (5). В случае разметки семантических ролей эта операция выполняется для каждого слова в предложении, и для каждого глагола в предложении. Это необходимо, чтобы закодировать в архитектуре сети, какой глагол рассматривается в предложении, и какому слову требуется назначить тэг. При этом каждое слово в позиции i в предложении определяется двумя признаками, которые кодируют относительные расстояния i-posv и i-posw относительно выбранного глагола в положении posv, и слова, чтобы пометить в положении posw соответственно.
Сверточные слои, собирающие результаты таблиц поиска, можно рассматривать как обобщение оконного подхода: имея последовательность, представленную колонками в матрице таблицы поиска fle 1 (2), к каждому окну последовательности окон применяется матрично-векторная операция
(Л) 1 = wf)+ bl "t, (7)
где матрица весов Wl одна и та же для всех окон t в данном предложении. Сверточные слои извлекают локальные признаки вокруг каждого окна данной последовательности. Что касается стандартных аффинных слоев (5), сверточные слои часто организуются в стек, чтобы извлечь высокоуровневые признаки. В этом случае, каждый слой должен обрабатываться нелинейностью (6), или сеть должна быть эквивалентна одному сверточному слою.
Максимизирующий слой. Размерность выхода (6) зависит от числа слов в предложении, обрабатываемом сетью. Векторы локальных признаков, извлеченные сверточными слоями, должны быть объединены, чтобы получить вектор глобальных признаков, с фиксированным размером, независимым от длины предложения. Это необходимо, чтобы применить последующие стандартные аффинные слои. Традиционные сверточные сети часто применяют max-операции за «время» t последовательности. Заметим, что здесь, «время» означает только положение в предложении. При обработке ЕЯ предложений max-операция обеспечивает сети получение самых полезных локальных признаков, произведенных сверточными слоями. Имея матрицу fl 1, полученную сверточным слоем 1-1, максимизирующий слой l вычисляет вектор fle :
[ fle ]t = max[ fle1 < i < . (8)
Этот вектор глобальных признаков фиксированного размера затем обрабатывается аффинными слоями сети (5). Как и в оконном подходе, в
итоге производится одно множество возможных тэгов для данной задачи.
3. Вариант когнитивной диалоговой системы робота. Интеллектуальные роботы, выполняющие сервисные функции, должны обладать способностью вести осмысленный диалог с человеком, т. е. понимать инструкции или сообщения неподготовленных пользователей на ЕЯ и отвечать им, формируя подходящие по смыслу ответы или сообщения на ЕЯ. В работе используется когнитивный подход к организации диалога робота с человеком, предполагающий наличие в системе робота агента, который поддерживает осмысленную беседу с пользователем, а также может получать новые семантические понятия при обучении в процессе беседы.
Система базируется на программной платформе с библиотекой deeppavlov для создания естественно-языковых диалоговых систем с открытым кодом на языке Python [9]. Компоненты этой библиотеки были использованы при разработке варианта когнитивной системы, реализующей диалог с пользователем.
Предложение, произнесенное пользователем, сначала преобразуется в текст программой RealSpeaker [10]. Далее для векторизации слов, синтаксического и семантического анализа используется описанная здесь унифицированная нейронная сеть, которая предварительно обучается на уровне слов и предложений. В результате вычисляется множество всех возможных тэгов для анализируемого предложения. При оконном подходе эти тэги применяются к слову, расположенному в центре окна, отображающего часть предложения. При сверточном подходе анализируется все предложение, и эти тэги применяются к слову, назначенному добавочными маркерами на входе сети. Далее работают компоненты библиотеки deeppavlov. Предложение дополнительно обрабатывается компонентом Slot Filling, который производит нечеткий поиск значения слова внутри текста. Выполняется также классификация намерений компонентом Intents Classifier, формирующим тэг намерения для предложения, который является дополнительным признаком предложения. Множество тегов слов и предложения поступает на компонент Dialogue State Tracker, который выбирает тип шаблона действия системы из базы шаблонов (DB of templates) для дальнейшей обработки генератором естественного языка, формирующим текст ответа,. При выборе действия работает обученная заранее рекуррентная нейронная сеть, которая использует тэг намерения, теги слов и предложения и тип шаблона действия. Решение о возможных действиях вырабатывается классификатором Softmax. Это действие системы подставляется в шаблон для формирования конкретного ответа пользователю на его запрос. Текстовый ответ
проговаривается синтезатором речи, реализованном на сверточной нейронной сети типа DCTTS (Deep Convolutional Text-To-Speech) [11].
При настройке системы требуется предварительно обучить компоненты Intents Classifier, Slot Filling, Dialogue State Tracker, а также заготовить базу шаблонов ответов DB of templates, для формирования ответов, соответствующих задачам, выполняемым роботом.
В рамках эксперимента описанная диалоговая система была настроена на речевое управление мобильным роботом, имеющим 2 привода для управления правым и левым колесами, 2 привода для управления продольным и вертикальным угловым положением бортовой бинокулярной видеосистемы, а также простой бортовой манипулятор с тремя степенями подвижности и трехпальцевым схватом. Робот имел интеллектуальную систему управления, настроенную на выполнение сценарных действий.
Диалоговая система могла распознавать команды прямого управления роботом: «Вперед», «Назад», «Вправо», «Влево», а также предложения с указанием типа сценарного действия, например, «Принеси воды от бойлера», «Вызови персонал», «Сообщи о моем состоянии персоналу».
Заключение. Набор сценарных действий мог расширяться пользователем в диалоге с роботом. При этом пользователь должен был объяснить системе управления робота, в какие новые места он должен переходить и с какими новыми объектами иметь дело. Для идентификации нового места пользователь должен был использовать команды прямого управления роботом, чтобы привести его в нужное место и зафиксировать его в памяти робота. Для идентификации нового объекта и действия с ним пользователь должен был направить бортовую стереопару на нужный объект и сообщить роботу о необходимом действии с ним.
Список литературы
1. J. Weizenbaum. Computer Power and Human Person. - New York: Freeman,
1976.
2. G. Guzeldere. Dialogue with colorful personalities of early artificial intelligence / Stanford Humanities Review, SERH, vol. 4, issue 4: Construction of mind. - Stanford University, 1995.
3. Wallace R.S. The Anatomy of A.L.I.C.E. In Epstein R. et al. Parsing the Turing test. - London: Springer Science / Business Media. 2009, p. 181-210.
4. Кипяткова И.С. Автоматическая обработка разговорной русской речи: монография / И.С. Кипяткова, А.Л. Ронжин, А.А. Карпов. СПИИРАН. - СПб.: Изд-во ГУ-АП, 2013. - 314 с.7.
5. Ронжин А.Л., Карпов А.А., Ли И.В.. Речевой и многомодальный интерфейс. - М.: Наука, 2006. - 170 с.
6. T. Zhao. ReinForest: Multi-Domain Dialogue Management Using Hierarchical Policies and Knowledge Ontology / CMU-LTI-16-006. Language Technologies Institute Carnegie Mellon University, April 4, 2016.
7. J. Thomason et al. Learning to Interpret Natural Language Commands through Human-Robot Dialog / Proc. of the Twenty-Fourth International Joint Conference on Artificial Intelligence (IJCAI), 2015, p. 1923-1929.
8. R. Collabert et al. Natural Language Processing (Almost) from Scratch / Journal of Machine Learning Research, 12, 2011, p. 2461-2505.
9. Открытая библиотека Deep Pavlov, 2017. (deeppavlov.ai/en/master).
10. Real Speaker (http://transcribe.realspeaker.org).
11. H. Tachibana et al. Efficiently trainable text-to-speech system based on deep convolutional networks with guided attention / Preprint arXiv: 1710.08969v1 [cs.SD] 24 Oct. 2017.
УДК 15:519.876
Буянов Борис Яковлевич,
доцент, канд.техн.наук, с.н.с. , Верба Вера Алексеевна,
доцент, канд.техн.наук, доцент
КОГНИТИВНЫЙ ПОДХОД К МОДЕЛИРОВАНИЮ ПРОБЛЕМНЫХ СИТУАЦИЙ
Россия, г. Москва, Московский технический университет связи
и информатики. [email protected], [email protected]
Аннотация. При изучении и моделировании слабоструктурированных социально-экономических систем все более широкое распространение получают когнитивный подход и сценарный анализ. Представленные в работе модели в виде когнитивных карт - графовых моделей, отображают сложные взаимосвязи между подсистемами и элементами объектов, не поддающихся строгому количественному описанию. Для моделирования процессов была предложена схема взаимосвязи основных подсистем, формирующих социально-экономический механизм.
Ключевые слова: когнитивный подход, когнитивное моделирование, когнитивная карта, социально-экономический механизм, графовые модели.
Boris Y. Buyanov,
associate Professor, Cand.Techn.Sciences,
Vera A. Verba, associate Professor, Cand.Techn.Sciences
COGNITIVE APPROACH TO MODELING PROBLEM SITUATIONS
Russia, Moscow, Moscow technical University of communications
and Informatics, [email protected], [email protected]
Astract. At studying and modelling weakly structured social and economic systems more and more wide circulation receive the cognitive approach and the scenario analysis.