ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее техническое решение относится к области компьютерных технологий, в частности к диалоговым системам, обеспечивающим обработку и интеллектуальное ведение диалога с пользователем.
УРОВЕНЬ ТЕХНИКИ
[0002] Одним из наиболее перспективных направлений в области применения современных нейросетевых методов являются диалоговые системы. Пользователей мессенджеров становится год за годом больше, чем пользователей социальных сетей. Также многие компании стремятся предоставлять свои услуги через текстовые каналы коммуникации, когда общение происходит через сервисы в форме диалога. К таким применениям можно отнести сферы:
обеспечение заказа товаров и/или услуг с помощью персональных устройств пользователей;
службы поддержки;
персональные помощники, голосовые ассистенты и т.п.
[0003] Сегодня существует несколько подходов к разработке диалоговых агентов, или разговорных диалоговых систем, или разговорных агентов. При разработке разговорных агентов в основном применяется модульная архитектура для целенаправленного диалога, при котором разворачивается сценарий. Однако, зачастую пользователю необходимо сочетать целенаправленный диалог, например, с другой функциональностью, такой как ответы на вопросы или поиск информации, а также поддержание беседы. Таким образом идеальный диалоговый агент - это персональный помощник, который объединяет в себе разные типы агентов и переключается между своими функциональностями, между своими характерами в зависимости от того, в какой задаче используется. При этом, агент должен накапливать информацию о своей сущности, подстраивать свои алгоритмы под конкретного пользователя. С другой стороны, он должен иметь возможность интегрироваться с внешними сервисами (например, делать запросы во внешние базы данных, получать оттуда информацию, обрабатывать ее, выделять важное и это передавать пользователю).
[0004] Известны способ и система для создания диалоговых агентов с помощью искусственного интеллекта, раскрытые в патентной заявке RU 2015155633 А (РИСОФТДЕВ, ИНК., 10.08.2017). К достоинствам данной разработки можно отнести возможность создания личности диалоговой системы, в процессе ведения диалога с пользователем. Таким образом, система учится, как вести себя и как правильно отвечать. Однако, данная система поддерживает только один вид взаимодействия - чит-чат беседу и не умеет отвечать на конкретные запросы пользователя на основании обработки параметров реплик пользователя.
[0005] В патентной заявке США US 20120016678 A1 (Apple Inc., 19.01.2012) раскрывается интеллектуальный автоматизированный помощник. К достоинствам данной разработки можно отнести возможность расширения внутреннего функционала для достижения поставленной цели (цели ориентированный диалог, за счет активной онтологии), интеграция в различные устройства, а также подключение внешних служб, с которыми система совместима. Однако, данная система поддерживает только один вид взаимодействия - для решения поставленной цели и не допускает использования других типов агентов, т.е. данный функционал системы является ограниченным в вариативности формирования ответа при ведении диалога с помощью интеллектуальной системы.
[0006] В патенте RU 2637874 С2 (Гугл Инк. (US), 07.12.2017) раскрывается способ генерирования диалоговых рекомендаций для чатовых информационных систем. К достоинствам данной разработки относится возможность комплексно подходить к вопросу, какой тип информации может запрашиваться пользователем в конкретный момент времени, и решает его согласно возможным схемам. Однако у данной диалоговой системы ограниченная функциональность из-за отсутствия внутреннего переключения диалоговой системы и персональности, подкрепленная слабой вариативностью ведения диалога, что сужает возможности по формированию различных сценариев ведения диалога в зависимости от типа подаваемых на вход системы реплик.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0007] Решаемой технической проблемой с помощью заявленного изобретения является создание нового способа и системы для расширения функциональных возможностей ведения диалога, позволяющей переключать персонализацию в зависимости от намерений пользователя и цель общения с интеллектуальной системой, за счет выделения из потока текста требуемых сущностей, хранения истории взаимодействия с пользователем, принятия решения об ответе и выполнения генерации ответа.
[0008] Подобная система использует некоторое количество методов для выбора нужного ответа, применяет различные подходы к обработке входного высказывания и способна поддерживать ведение более одного состояния диалога.
[0009] Технический результат заключается в создании самообучающейся масштабируемой системы, которая объединяет в себе различные типы агентов и обеспечивает динамическое переключение между функционалом, связанным со сценарием ведения диалога.
[0010] Заявленное техническое решение осуществляется за счет системы управления диалоговым агентом в канале взаимодействия с пользователем, которая содержит:
по меньшей мере один процессор;
по меньшей мере одно средство хранения данных;
модуль аннотатор, обеспечивающий получение пользовательского запроса в канале взаимодействия с пользователем, причем запрос представляется в текстовой форме;
предварительную обработку текстового запроса пользователя;
классификацию реплик в текстовом запросе пользователя;
извлечение параметров из упомянутого запроса пользователя и определение характеристик намерения пользовательского запроса; модуль селектор, обеспечивающий выбор навыка ведения диалога с пользователем на основании определенных характеристик намерения пользовательского запроса;
выбор ответа на запрос пользователя, связанного с выбранным навыком, причем выбор ответа осуществляется с помощью обработки характеристик намерения пользовательского запроса; модуль постпроцессинга, обеспечивающий генерирование ответа, выбранного модулем селектором;
передачу ответа в канал взаимодействия с пользователем.
[0011] В одном из частных примеров реализации системы предварительная обработка пользовательского запроса включает в себя по меньшей мере одно из: исправление опечаток, нормализация текста, разбиения текста запроса на отдельные слова, определение именованных сущностей, выявление и классификация намерений в репликах пользовательского запроса.
[0012] В другом частном примере реализации системы при выявлении именованных сущностей осуществляется поиск информации о положении имен в тексте и информацию о классах, соответствующих им.
[0013] В другом частном примере реализации системы после выделения именованных сущностей определяется их тематика с помощью метода классификации, включающей отнесение запроса к одной из известных категорий на основании семантического содержания.
[0014] В другом частном примере реализации системы при классификации реплик они делятся на получение конкретной информации, выполнение действий, получение информации в режиме обсуждения или их сочетания.
[0015] В другом частном примере реализации системы по выявленным характеристикам намерения пользовательского запроса и их семантического содержания вычисляется коэффициент соответствия одному или нескольким навыкам.
[0016] В другом частном примере реализации системы навык ведения диалога выбирается из группы: целенаправленный ответ на вопрос, ответ в свободной форме или поддержание свободной беседы.
[0017] В другом частном примере реализации системы модуль селектор выполняет обращение к одной или нескольким внешним информационным системам для выбора ответа на запрос пользователя.
[0018] В другом частном примере реализации системы каждый из модулей выполнен на базе одной или нескольких методов машинного обучения.
[0019] Заявленное техническое решение реализуется также за счет компьютерно-реализуемого способа управления диалоговым агентом в канале взаимодействия с пользователем, выполняемый с помощью по меньшей мере одного процесса и содержащий этапы, на которых:
получают пользовательский запрос в канале взаимодействия с пользователем, причем запрос представляется в текстовой форме;
выполняют обработку текстового запроса пользователя, в ходе которой осуществляют классификацию реплик в упомянутом запросе пользователя;
осуществляют извлечение параметров из упомянутого запроса пользователя, на основании которых определяют характеристики намерения пользовательского запроса; осуществляют выбор навыка ведения диалога с пользователем на основании определенных характеристик намерения пользовательского запроса;
осуществляют выбор ответа на запрос пользователя, связанного с выбранным навыком, причем выбор ответа осуществляется с помощью обработки характеристик намерения пользовательского запроса; генерируют ответ; и
осуществляют передачу ответа в канал взаимодействия с пользователем.
[0020] В одном из частных вариантов осуществления способа канал взаимодействия с пользователем выбирается из группы: онлайн чат-сессия, мобильное приложение, мультимедийное устройство с голосовым ассистентом, колл-центр.
[0021] В другом частном варианте осуществления способа на этапе обработки пользовательского запроса выполняется по меньшей мере одно из: исправление опечаток, нормализация текста, разбиения текста запроса на отдельные слова, определение именованных сущностей, выявление и классификация намерений в репликах пользовательского запроса.
[0022] В другом частном варианте осуществления способа при выявлении именованных сущностей осуществляется поиск информации о положении имен в тексте и информацию о классах, соответствующих им.
[0023] В другом частном варианте осуществления способа по выявленным характеристикам намерения пользовательского запроса вычисляется коэффициент соответствия одному или нескольким навыкам.
[0024] В другом частном варианте осуществления способа навык ведения диалога выбирается из группы: целенаправленный ответ на вопрос, ответ в свободной форме или ответ на вопрос от лица персоны.
[0025] В другом частном варианте осуществления способа при генерирования ответа на пользовательский запрос выполняется обращение к одной или нескольким внешним информационным системам.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0026] Фиг. 1 иллюстрирует общую информационную архитектуру решения.
[0027] Фиг. 2 иллюстрирует программно-аппаратную архитектуру заявленной системы.
[0028] Фиг. 3 иллюстрирует блок-схему выполнения заявленного способа управления диалоговым агентом.
[0029] Фиг. 4А - Фиг. 4В иллюстрируют пример ведения диалога в канале чат-бота мессенджера с помощью заявленного решения.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0030] На Фиг. 1 представлена общая информационная архитектура (100) заявленного технического решения, которая включает в себя пользователя (10), пользовательское устройство (110) для формирования запроса, сервер (200), выполняющий основную программную логику обработки запросов пользователей (10), внешнюю базу знаний (130).
[0031] Вычислительные и компьютерные устройства, участвующие в общей архитектуре работы заявленного решения, взаимодействую между собой посредством сети передачи данных (150), в частности, сети Интернет.
[0032] В качестве пользовательского устройства (110) для взаимодействия с диалоговым агентом, расположенном на сервере (200), могут выступать различные средства, например, компьютер, ноутбук, смартфон, планшет, умное носимое устройство (часы, браслет, очки), смарт-ТВ, мультимедийное устройство транспортного средства, игровая приставка, мультимедийный голосовой ассистент (смарт-динамик, смарт-колонка) и т.п.
[0033] Формирование пользовательского запроса на ведение диалога с помощью устройства (110) осуществляется в том или ином канале взаимодействия, например, телефонный звонок в колл-центр, онлайн чат сессия на веб-сайте или мобильном приложении, чат со службой поддержки, общение с мультимедийными устройствами, снабженными функцией голосовых ассистентов и т.п. Канал пользовательского взаимодействия может изменяться относительного реализации и принципа работы устройства (110), а также программного обеспечения, обеспечивающего требуемое взаимодействие с диалоговым агентом.
[0034] Сеть передачи данных (150) может быть реализована с помощью известных из уровня техники приемов организации связи, например, WLAN, LAN, PAN, GSM/3G/LTE/5G, спутниковая связь, TCP/IP соединение и т.п.
[0035] Внешняя база знаний (130) может формироваться на основе множества данных, описывающих ту или иную предметную область и организованных в виде централизованного хранилища информации, например, базу данных и т.п.Например, база знаний (130) может представлять собой один или несколько ресурсов в сети Интернет, которые применяются для формирования ответа на запрос пользователей (сайт Wikipedia.org, телефонный онлайн справочник и т.п.).
[0036] На Фиг. 2 представлена архитектурное исполнение программно-аппаратной платформы сервера (200), на котором размещается система управления диалоговым агентом, обрабатывающим поступающие пользовательские запросы от устройств (110). Сервер (200) выполняется на базе стандартизованной компоновки вычислительных устройств и включает в себя такие компоненты, как: один или несколько процессоров (201), оперативную память (202), средство хранения данных (203), интерфейсы ввода/вывода (204), средства ввода/вывода (205) и средство сетевого взаимодействия (206).
[0037] Процессор (201) предназначен для выполнения программной логики и требуемых вычислительных операций, необходимых для функционирования сервера (200). Процессор (201) исполняет необходимые машиночитаемые команды и инструкции, содержащиеся в оперативной памяти (202). Процессор (201) (или несколько процессоров, многоядерный процессор и т.п.) может выбираться из ассортимента устройств, широко применяемых в настоящее время, например, таких производителей, как: Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. Под процессором или одним из используемых процессоров в архитектуре сервера (200) также необходимо учитывать графический процессор, например, GPU NVIDIA или Graphcore, тип которых также является пригодным для полного или частичного выполнения способов реализации заявленного решения, а также может применяться для обучения и применения моделей машинного обучения.
[0038] Оперативная память (202), как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал. Средство хранения данных (203) может выполняться в виде HDD, SSD дисков, рейд массива, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п. Средства (203) позволяют выполнять долгосрочное хранение различного вида информации. Интерфейсы (204) представляют собой стандартные средства для подключения и работы нескольких устройств, например, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, Fire Wire и т.п. Выбор интерфейсов (204) зависит от конкретного исполнения серверного устройство (200).
[0039] В качестве средств ввода/вывода данных (205) может использоваться: клавиатура, джойстик, дисплей (сенсорный дисплей), проектор, тачпад, манипулятор мышь, трекбол, световое перо, динамики, микрофон и т.п. Средства сетевого взаимодействия (206) выбираются из устройств, обеспечивающих сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п.С помощью средств (205) обеспечивается организация обмена данными по проводному и/или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.
[0040] Обеспечиваемая сервером (200) программная реализация, позволяющая осуществлять управление диалоговым агентом, реализуется с помощью совокупности модулей, в частности, модуля аннотатора (2031), модуля селектора (2032) и модуля постпроцессинга (2033).
[0041] Как представлено на Фиг. 3, заявленный способ (300) управления диалоговым агентом состоит из последовательных этапов, осуществляемых с помощью работы программной логики, реализуемой на сервере (200).
[0042] На первом этапе (301) происходит первичное получение и предобработка пользовательского запроса. Запрос, поступающий от пользователя (10) с помощью устройства (110), может быть сформирован в различном виде, например, голосовом, текстовом, жестовом и т.п. В независимости от первоначального состояния пользовательского запроса устройством (110), необходимо осуществить его преобразование в текстовую форму, которая будет передана в модуль аннотатор (2031). Преобразование в текстовый вид может выполняться с помощью различных известных средств, например, преобразование голосовой информации в текст, преобразование жестовой информации в текст и т.д.
[0043] Формируемый запрос пользователем (10) получается модулем (2031) в виде блока неструктурированного текста. Модуль аннотатор (2031) на этапе (302) выполняет извлечение из полученного текста следующих данных: концепции, ключевые слова, фразы, классификации и именованные сущности, осуществляет пометку полученных выдержек как аннотаций. Модуль (2031) может включать несколько алгоритмов аннотирования текста, которые могут работать в параллельном режиме.
[0044] С помощью алгоритмов модуля аннотатора (203 Г) выполняется:
Предварительная обработка текста;
Классификация реплики, соотнесение с одним из классов, известных системе;
Извлечение параметров запроса.
[0045] Модуль аннотатор (2031) выполняет обработку высказываний пользователя (10) на естественном языке, который может включать в себя одну или несколько следующих функций, реализуемых упомянутыми алгоритмами:
Разбиение текста на слова.
Исправление опечаток (например, с помощью базы элементов библиотеки DeepPavlov - Automatic spelling correction model).
Пополнение текста морфологическими признаками - определение нормальной формы слов и частей речи (например, с помощью элементов библиотеки DeepPavlov - Morphological tagging model)
Определение именованных сущностей (например, с помощью базы элементов библиотеки DeepPavlov - NER model).
Классификация интентов (характеристик намерений) в реплике с помощью одновременно работающих подходов: на основе примеров фраз и алгоритмов на базе машинного обучения (например, с помощью базы элементов библиотеки DeepPavlov - Classification model). К интентам можно отнести: организации, время, локации, персоны, продукты, факты и д.р.
Заполнение информационных «слотов» - параметров запроса, переданных во фразе пользователя (например, с помощью базы элементов библиотеки DeepPavlov - Slot filling model). При реализации данного этапа на основании предоставленного текста выделяются именованные сущности (NER), классифицируемые и структурируемые по установленной форме (списку). Например, ФИО, паспортные данные, наименование компаний, данные из ЕГРЮЛ и т.п.
[0046] Необходимо отметить, что выше представлен лишь примерный функционал модуля аннотатора (2031), который может быть расширен в зависимости от требуемой реализации технического решения. В результате работы модуля аннотатора (2031) на основе ключевых слов, помеченных одним или несколькими алгоритмами, указанными выше, на этапе (303) определяется намерение пользователя (10) на основании обработки его запроса, а также его параметры - характеристики, позволяющие более точно описать намерение, или уточнить необходимые детали запроса.
[0047] Под термином "намерение" необходимо понимать формат требуемого общения, задаваемого пользовательским запросом и отклик, который должен быть сформирован системой управления диалоговым агентом при обработке пользовательского запроса. В реализации заявленного решения можно выделить основные типы агентов для ведения диалога:
общего назначения (чат-боты), позволяющие вести диалог в свободной форме;
задачеориентированные (целеориентированной системы), формирующие конкретный ответ на вопрос пользователя;
способные вести диалог на любую тему (болталки), предназначенные для поддержания беседы.
[0048] В качестве примера можно рассмотреть запрос, сформированный пользователем (10), поступивший на сервер (200) в следующем виде: «Какая сегодня погода?». Намерение пользователя (10) - узнать погоду, параметр - это дата и место. Дополнительная информация, например, местоположение пользователя, текущая дата и т.п. могут получаться от служб пользовательского устройства (110) или от внешних сервисов, с которыми пользовательское устройство (110) осуществляет взаимодействие. На выходе модулем (2031) формируется аннотированное выражение с определенными характеристиками намерения.
[0049] Далее на этапе (304) обработанный модулем (2031) текст запроса передается на обработку в модуль селектор (2032), который определяет следующее наиболее подходящее состояние. Под состоянием понимается выражение, получаемое после обработки диалоговой входной информации для извлечения по меньшей мере одного соответствующего ей базового смысла и дальнейшей ее интерпретации различными программными навыками, позволяющими обработать базовый смысл запроса.
[0050] Модуль селектор (2032) позволяет подключать различное количество навыков, которые могут применяться для обработки пользовательского запроса, при этом каждый программный навык обеспечивает формирование уникального варианта состояния по отношению к другими, что расширяет вариативность ведения диалога с пользователем с помощью автоматизированной диалоговой системы. Базовый смысл запроса пользователя (10) представляет собой ключевое намерение, определяемое модулем аннотатором (2031). Например, как было указано в примере выше, узнать погоду.
[0051] Модуль селектор (2032) задействует подключенные к нему алгоритмы навыков, для каждого из которого вычисляется коэффициент уверенности в ответе относительно намерения пользователя в формируемом запросе. В частности, при выборе активации того или иного навыка модуль селектор (2032) может предварительно определить формируемые ими состояния, например:
навык А - запрос дополнительной информации, местоположения запрашиваемой погоды - «в каком месте вам интересует погода?»;
навык В - сгенерировать информацию по текущим координатам устройства пользователя (110) - «сегодня 18 градусов тепла»;
навык С - пошутить на счет погоды - «вам не помешает сегодня взять зонт». Далее среди сформированных ответов с помощью навыков модуль селектора (2032) выбирает выражение, наиболее полно соответствующее высказыванию пользователя (10), на основе полученного коэффициента для каждого из состояний, сформированных тем или иным навыком, а также анализа семантического содержания текста пользовательского запроса. Под коэффициентом понимается значение, которое выдает навык после обработки интента, это значение уверенности в ответе, формируемое каждым из подключенных навыков.
[0052] Архитектура модуля селектора (2032) может реализовывать следующие подходы к обработке интента, например:
Навык ответа на вопрос принимает интент о мире в свободной форме и выдает ответ, основываясь на своих знаниях из Википедии (может быть реализован на базе элементов библиотеки DeepPavlov - ODQA skill and KBQA skill).
Навык целенаправленного диалога позволяет прогнозировать ответы (может быть реализован на базе элементов библиотеки DeepPavlov - Goal-oriented)
Навык создания разговорного диалога, позволяющий отвечать на вопросы в свободной форме от лица персоны (может быть реализован на базе элементов библиотеки DeepPavlov - Chit-chat). Представленные выше примеры навыков, выбираемые с помощью модуля селектора (2032) отображают лишь примерный набор, который может быть расширен в зависимости от требуемой реализации технического решения.
[0053] После расчета коэффициента уверенности каждым из подключенных навыков и контекста полученного выражения, на этапе (305) модуль селектор (2032) выбирает наиболее релевантное состояние. При этом на данном этапе может быть сразу несколько состояний, если на вход было подано несколько предложений.
[0054] Модуль селектор (2023) при этом может обращаться к одной или нескольким информационным системам, например, внешней или внутренней базе знаний (130) или иным ресурсам и службам для формирования требуемого ответа. В частности, к службам гео-локации, веб-сайтам с данными метеопрогноза, новостным ресурсам и т.п.
[0055] Выбранный ответ с помощью модуля селектора (2032) передается в модуль постпроцессинга (2033), который осуществляет генерацию текстового ответа с использованием функций согласования слов на естественном языке. Генерация текстового ответа происходит за счет поступления текстовых данных в ранее подготовленный шаблон, в котором производится выбор наиболее вероятных характеристик данного текста и/или наиболее статистический вероятные ответы в виде реплики на данный текст. Под ранее подготовленным шаблоном стоит понимать текст, который был получен путем обучения навыка на тестовых данных.
[0056] На этапе (306) ответ передается в канал взаимодействия с пользователем (10), в частности, в канал, в котором был сформирован первоначальный запрос. Диалоговая система сервера (200) формирует ответ в текстовом виде, однако он может быть преобразован в требуемую форму, например, речь (голосовые ассистенты), изображения жестов, видеоряд и т.п.
[0057] Каждый из указанных модулей может быть выполнен на базе одного или нескольких методов и/или алгоритмов машинного обучения на основе нейронных сетей, которые могут включать в себя, например, метод коррекции ошибки, метод обратного распространения ошибки, метод опорных векторов, алгоритм градиентного бустинга, метод случайного леса, регрессию, и др.
[0058] На Фиг. 4А представлен пример работы заявленного решения на примере чат-бота. Пользователь (10) формирует запрос в канале приложения мессенджера с помощью устройства (110), например, с помощью приложения Telegram. Первоначально формируемый запрос содержит информацию, характеризующую намерение пользователя (10) по получению общих данных в части заведений, предоставляющих определенный тип услуги (кафе, рестораны, закусочные). Диалоговая система подключает требуемый навык для обработки соответствующего запроса пользователя (10), а именно, навык для целеориентированного диалога, реализованный на библиотеке DeepPavlov и базу данных ресторанов (кафе, закусочных), содержащую необходимые сведения для осуществления поискового механизма по запросу пользователя (10).
[0059] При распознавании получаемого запроса, содержащего общие сведения, изначально в подключенном типе навыка содержатся пустые слоты, которые необходимо заполнить в процессе ведения беседы с пользователем. Таким образом, диалоговая система на каждой итерации формирует уточняющий запрос для определения намерения пользователя при общении и заполняет информационные слоты. Такой информацией может являться вид кухни, предпочитаемой пользователем (10). При получении соответствующего ответа, диалоговая система формирует последующие процедуры обработки запроса, которые могут содержать, например, уточнение примерного местоположения кафе/ресторана.
[0060] При полном заполнении информационных слотов система формирует конкретный ответ на основании подготовленного шаблона (например, наименование ресторана). Определение места посещения выполняется системой на основании расчета коэффициента уверенности и при утвердительном принятии предложения диалоговой системы пользователем осуществить предоставление информации, идентифицирующей подобранное место посещения. Такой тип диалоговой системы может быть реализован на основе рекуррентных нейронных сетей, обученной на выборке информации по соответствующим местам предоставления услуг сферы питания (кафе рестораны, бистро и т.п.).
[0061] На Фиг. 4В представлен пример работы заявленного решения на примере чат-бота. Пользователь (10) формирует запрос в канале взаимодействия с помощью устройства (110), например, с помощью голосовой колонки. Первоначально формируемый запрос содержит информацию, характеризующую намерение пользователя (10) по общению с системой на общеизвестные темы (например, про автомобили, моду и т.д). Диалоговая система подключает требуемый навык для обработки соответствующего запроса пользователя (10), а именно, навык для болталки chit-chat, реализованный на библиотеке DeepPavlov и системы, содержащие необходимые сведения для осуществления поискового механизма по запросу пользователя (10).
[0062] Вместо следования сценарию болталки пытаются найти ответ, наиболее подходящий по смыслу последней реплике, которую сказал пользователь. Чаще всего ответ выбирается из набора готовых фраз, полученных при обучении навыка - при таком подходе ответы бота не всегда соответствуют репликам пользователя по смыслу, но являются грамотными законченными предложениями. При этом возможна генерация ответа с нуля -это гораздо более гибкий подход, но он чреват ошибками.
[0063] Обычный чатбот, обученный на корпусе диалогов, на вопросы о себе отвечает непоследовательно - например, может сказать, что у него нет животных, а потом - что только что гулял с собакой. Если никакой информации о себе у чатбота нет, он просто генерирует строку, лучше всего сочетающуюся с предыдущей репликой пользователя, и не проверяет ее на соответствие тому, что говорил раньше. Однако, чтобы решить эту проблему, личность и ответы на вопросы о себе прописывают в диалоговой системе, что позволяет ей использовать ту или иную предустановленную персональность.
[0064] Представленные описание заявленного решения раскрывает лишь предпочтительные примеры его реализации и не должно трактоваться как ограничивающее иные, частные примеры его осуществления, не выходящие за рамки объема правовой охраны, которые являются очевидными для специалиста соответствующей области техники.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ УПРАВЛЕНИЯ ДИАЛОГОМ И СИСТЕМА ПОНИМАНИЯ ЕСТЕСТВЕННОГО ЯЗЫКА В ПЛАТФОРМЕ ВИРТУАЛЬНЫХ АССИСТЕНТОВ | 2020 |
|
RU2759090C1 |
ИНТЕЛЛЕКТУАЛЬНОЕ РАБОЧЕЕ МЕСТО ОПЕРАТОРА И СПОСОБ ЕГО ВЗАИМОДЕЙСТВИЯ ДЛЯ ОСУЩЕСТВЛЕНИЯ ИНТЕРАКТИВНОЙ ПОДДЕРЖКИ СЕССИИ ОБСЛУЖИВАНИЯ КЛИЕНТА | 2020 |
|
RU2755781C1 |
СИСТЕМА И СПОСОБ АВТОМАТИЗИРОВАННОЙ ОЦЕНКИ НАМЕРЕНИЙ И ЭМОЦИЙ ПОЛЬЗОВАТЕЛЕЙ ДИАЛОГОВОЙ СИСТЕМЫ | 2020 |
|
RU2762702C2 |
СПОСОБ И СИСТЕМА ГЕНЕРАЦИИ ТЕКСТА ДЛЯ ЦИФРОВОГО АССИСТЕНТА | 2022 |
|
RU2796208C1 |
СПОСОБ КОММУНИКАЦИИ ПОЛЬЗОВАТЕЛЯ С ИНФОРМАЦИОННОЙ ДИАЛОГОВОЙ СИСТЕМОЙ | 2012 |
|
RU2530267C2 |
УПРАВЛЕНИЕ ПОСТАВЩИКАМИ ДАННЫХ ДЛЯ ДИАЛОГА | 2016 |
|
RU2690199C1 |
ОБНОВЛЕНИЕ МОДЕЛЕЙ КЛАССИФИКАТОРОВ ПОНИМАНИЯ ЯЗЫКА НА ОСНОВЕ КРАУДСОРСИНГА | 2016 |
|
RU2699587C2 |
Платформа автоматизации контакт-центров с использованием речевой аналитики | 2021 |
|
RU2787530C1 |
ГОЛОСОВАЯ СВЯЗЬ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ МЕЖДУ ЧЕЛОВЕКОМ И УСТРОЙСТВОМ | 2014 |
|
RU2583150C1 |
МАШИННОЕ ОБУЧЕНИЕ | 2005 |
|
RU2391791C2 |
Изобретение относится к области компьютерных технологий, в частности к диалоговым системам, обеспечивающим обработку и интеллектуальное ведение диалога с пользователем. Технический результат - расширение вариативности ведения диалога с пользователем. Заявленное техническое решение осуществляется за счет системы управления диалоговым агентом в канале взаимодействия с пользователем, содержащей: по меньшей мере один процессор; по меньшей мере одно средство хранения данных; модуль аннотатор, модуль селектор и модуль постпроцессинга. Модуль аннотатор получает пользовательского запроса в текстовой форме и обрабатывает его с целью определения характеристик намерения пользовательского запроса. Модуль селектор подключает навыки ведения диалога с пользователем, выбирает навык ведения диалога с пользователем на основании определенных характеристик намерения пользовательского запроса и связанный с ним ответ на запрос. Модуль постпроцессинга обеспечивает генерирование ответа, выбранного модулем селектором, который передается в канал взаимодействия с пользователем. 2 н. и 10 з.п. ф-лы, 4 ил.
1. Система управления диалоговым агентом в канале взаимодействия с пользователем, содержащая:
по меньшей мере один процессор;
по меньшей мере одно средство хранения данных;
модуль аннотатор, обеспечивающий
получение пользовательского запроса в канале взаимодействия с пользователем, причем запрос представляется в текстовой форме;
предварительную обработку текстового запроса пользователя;
классификацию реплик в текстовом запросе пользователя;
извлечение параметров из упомянутого запроса пользователя и определение характеристик намерения пользовательского запроса;
модуль селектор, обеспечивающий
подключение навыков ведения диалога с пользователем, позволяющих обрабатывать базовый смысл пользовательского запроса;
вычисление коэффициента уверенности в ответе относительно намерения пользователя для каждого из подключенных навыков ведения диалога с пользователем;
выбор навыка ведения диалога с пользователем на основании определенных характеристик намерения пользовательского запроса, причем навык ведения диалога выбирается из группы: целенаправленный ответ на вопрос, ответ в свободной форме или поддержание свободной беседы;
выбор ответа на запрос пользователя, связанного с выбранным навыком,
причем выбор ответа осуществляется с помощью обработки характеристик намерения пользовательского запроса, а также на основе полученного коэффициента уверенности для каждого из навыков ведения диалога с пользователем и анализа семантического содержания текста пользовательского запроса;
модуль постпроцессинга, обеспечивающий
генерирование ответа, выбранного модулем селектором;
передачу ответа в канал взаимодействия с пользователем.
2. Система по п. 1, характеризующаяся тем, что предварительная обработка пользовательского запроса включает в себя по меньшей мере одно из: исправление опечаток, нормализация текста, разбиения текста запроса на отдельные слова, определение именованных сущностей, выявление и классификация намерений в репликах пользовательского запроса.
3. Система по п. 2, характеризующаяся тем, что при выявлении именованных сущностей осуществляется поиск информации о положении имен в тексте и информации о классах, соответствующих им.
4. Система по п. 2, характеризующаяся тем, что после выделения именованных сущностей определяется их тематика с помощью метода классификации, включающего отнесение запроса к одной из известных категорий на основании семантического содержания.
5. Система по п. 1, характеризующаяся тем, что при классификации реплик они делятся на получение конкретной информации, выполнение действий, получение информации в режиме обсуждения или их сочетания.
6. Система по п. 1, характеризующаяся тем, что модуль селектор выполняет обращение к одной или нескольким внешним информационным системам для выбора ответа на запрос пользователя.
7. Система по п. 1, характеризующаяся тем, что каждый из модулей выполнен на базе одного или нескольких методов машинного обучения.
8. Компьютерно-реализуемый способ управления диалоговым агентом в канале взаимодействия с пользователем, выполняемый с помощью по меньшей мере одного процесса и содержащий этапы, на которых:
получают пользовательский запрос в канале взаимодействия с пользователем, причем запрос представляется в текстовой форме;
выполняют обработку текстового запроса пользователя, в ходе которой осуществляют классификацию реплик в упомянутом запросе пользователя;
осуществляют извлечение параметров из упомянутого запроса пользователя, на основании которых определяют характеристики намерения пользовательского запроса;
подключают навыки ведения диалога с пользователем, позволяющие обрабатывать базовый смысл пользовательского запроса;
вычисляют коэффициент уверенности в ответе относительно намерения пользователя для каждого из подключенных навыков ведения диалога с пользователем;
осуществляют выбор навыка ведения диалога с пользователем на основании определенных характеристик намерения пользовательского запроса, причем навык ведения диалога выбирается из группы: целенаправленный ответ на вопрос, ответ в свободной форме или поддержание свободной беседы;
осуществляют выбор ответа на запрос пользователя, связанного с выбранным навыком, причем выбор ответа осуществляется с помощью обработки характеристик намерения пользовательского запроса, а также на основе полученного коэффициента уверенности для каждого из навыков ведения диалога с пользователем и анализа семантического содержания текста пользовательского запроса;
генерируют ответ; и
осуществляют передачу ответа в канал взаимодействия с пользователем.
9. Способ по п. 8, характеризующийся тем, что канал взаимодействия с пользователем выбирается из группы: онлайн чат-сессия, мобильное приложение, мультимедийное устройство с голосовым ассистентом, колл-центр.
10. Способ по п. 8, характеризующийся тем, что на этапе обработки пользовательского запроса выполняется по меньшей мере одно из: исправление опечаток, нормализация текста, разбиение текста запроса на отдельные слова, определение именованных сущностей, выявление и классификация намерений в репликах пользовательского запроса.
11. Способ по п. 10, характеризующийся тем, что при выявлении именованных сущностей осуществляется поиск информации о положении имен в тексте и информации о классах, соответствующих им.
12. Способ по п. 8, характеризующийся тем, что при генерировании ответа на пользовательский запрос выполняется обращение к одной или нескольким внешним информационным системам.
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем | 1924 |
|
SU2012A1 |
Станок для придания концам круглых радиаторных трубок шестигранного сечения | 1924 |
|
SU2019A1 |
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз | 1924 |
|
SU2014A1 |
Станок для придания концам круглых радиаторных трубок шестигранного сечения | 1924 |
|
SU2019A1 |
WO 2015003180 A1, 08.01.2015 | |||
Способ получения цианистых соединений | 1924 |
|
SU2018A1 |
CN 105138710 A, 09.12.2015 | |||
RU 2015155633 A, 10.08.2017. |
Авторы
Даты
2024-04-23—Публикация
2019-11-15—Подача