[go: up one dir, main page]

RU2818036C1 - Method and system for controlling dialogue agent in user interaction channel - Google Patents

Method and system for controlling dialogue agent in user interaction channel Download PDF

Info

Publication number
RU2818036C1
RU2818036C1 RU2022107946A RU2022107946A RU2818036C1 RU 2818036 C1 RU2818036 C1 RU 2818036C1 RU 2022107946 A RU2022107946 A RU 2022107946A RU 2022107946 A RU2022107946 A RU 2022107946A RU 2818036 C1 RU2818036 C1 RU 2818036C1
Authority
RU
Russia
Prior art keywords
user
request
dialogue
text
conducting
Prior art date
Application number
RU2022107946A
Other languages
Russian (ru)
Inventor
Дарья Николаевна Мороз
Ольга Александровна Гуреенкова
Алексей Александрович Литинский
Павел Юрьевич Пугин
Михаил Сергеевич Бурцев
Original Assignee
Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк)
Федеральное Государственное Автономное Образовательное Учреждение Высшего Образования "Московский Физико-Технический Институт (Национальный Исследовательский Университет)" (Мфти)
Filing date
Publication date
Application filed by Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк), Федеральное Государственное Автономное Образовательное Учреждение Высшего Образования "Московский Физико-Технический Институт (Национальный Исследовательский Университет)" (Мфти) filed Critical Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк)
Application granted granted Critical
Publication of RU2818036C1 publication Critical patent/RU2818036C1/en

Links

Abstract

FIELD: physics.
SUBSTANCE: invention relates to the field of computer technologies, in particular to dialogue systems providing processing and intelligent dialogue with the user. Disclosed technical solution is implemented by means of a system for controlling a dialogue agent in a channel for interaction with a user, comprising at least one processor; at least one data storage means; annotator module, selector module and post-processing module. Annotator module receives a user request in text form and processes it in order to determine characteristics of the intention of the user request. Selector module connects the skills of conducting a dialogue with the user, selects the skill of conducting a dialogue with the user based on certain characteristics of the intention of the user request and the associated response to the request. Post-processing module generates a response selected by the selector module, which is transmitted to the user interaction channel.
EFFECT: wider variability of conducting a dialogue with a user.
12 cl, 4 dwg

Description

ОБЛАСТЬ ТЕХНИКИTECHNICAL FIELD

[0001] Настоящее техническое решение относится к области компьютерных технологий, в частности к диалоговым системам, обеспечивающим обработку и интеллектуальное ведение диалога с пользователем.[0001] This technical solution relates to the field of computer technology, in particular to dialogue systems that provide processing and intelligent dialogue with the user.

УРОВЕНЬ ТЕХНИКИBACKGROUND OF THE ART

[0002] Одним из наиболее перспективных направлений в области применения современных нейросетевых методов являются диалоговые системы. Пользователей мессенджеров становится год за годом больше, чем пользователей социальных сетей. Также многие компании стремятся предоставлять свои услуги через текстовые каналы коммуникации, когда общение происходит через сервисы в форме диалога. К таким применениям можно отнести сферы:[0002] One of the most promising areas in the application of modern neural network methods are dialogue systems. Year after year, there are more messenger users than social network users. Also, many companies strive to provide their services through text communication channels, when communication occurs through services in the form of dialogue. Such applications include the following areas:

обеспечение заказа товаров и/или услуг с помощью персональных устройств пользователей; ensuring the ordering of goods and/or services using users’ personal devices;

службы поддержки; support services;

персональные помощники, голосовые ассистенты и т.п. personal assistants, voice assistants, etc.

[0003] Сегодня существует несколько подходов к разработке диалоговых агентов, или разговорных диалоговых систем, или разговорных агентов. При разработке разговорных агентов в основном применяется модульная архитектура для целенаправленного диалога, при котором разворачивается сценарий. Однако, зачастую пользователю необходимо сочетать целенаправленный диалог, например, с другой функциональностью, такой как ответы на вопросы или поиск информации, а также поддержание беседы. Таким образом идеальный диалоговый агент - это персональный помощник, который объединяет в себе разные типы агентов и переключается между своими функциональностями, между своими характерами в зависимости от того, в какой задаче используется. При этом, агент должен накапливать информацию о своей сущности, подстраивать свои алгоритмы под конкретного пользователя. С другой стороны, он должен иметь возможность интегрироваться с внешними сервисами (например, делать запросы во внешние базы данных, получать оттуда информацию, обрабатывать ее, выделять важное и это передавать пользователю).[0003] Today, there are several approaches to developing conversational agents, or conversational dialogue systems, or conversational agents. Conversational agent development primarily uses a modular architecture for goal-directed dialogue in which a script unfolds. However, the user often needs to combine targeted dialogue, for example, with other functionality, such as answering questions or searching for information, as well as maintaining a conversation. Thus, the ideal conversational agent is a personal assistant that combines different types of agents and switches between its functionality, between its characters, depending on what task it is used for. At the same time, the agent must accumulate information about its essence and adjust its algorithms to a specific user. On the other hand, it must be able to integrate with external services (for example, make queries to external databases, receive information from there, process it, highlight what is important and transfer it to the user).

[0004] Известны способ и система для создания диалоговых агентов с помощью искусственного интеллекта, раскрытые в патентной заявке RU 2015155633 А (РИСОФТДЕВ, ИНК., 10.08.2017). К достоинствам данной разработки можно отнести возможность создания личности диалоговой системы, в процессе ведения диалога с пользователем. Таким образом, система учится, как вести себя и как правильно отвечать. Однако, данная система поддерживает только один вид взаимодействия - чит-чат беседу и не умеет отвечать на конкретные запросы пользователя на основании обработки параметров реплик пользователя.[0004] A method and system for creating dialog agents using artificial intelligence are known, disclosed in patent application RU 2015155633 A (RISOFTDEV, INC., 08/10/2017). The advantages of this development include the possibility of creating the personality of the dialogue system in the process of conducting a dialogue with the user. In this way, the system learns how to behave and how to respond correctly. However, this system supports only one type of interaction - a cheat-chat conversation and is not able to respond to specific user requests based on processing the parameters of the user's remarks.

[0005] В патентной заявке США US 20120016678 A1 (Apple Inc., 19.01.2012) раскрывается интеллектуальный автоматизированный помощник. К достоинствам данной разработки можно отнести возможность расширения внутреннего функционала для достижения поставленной цели (цели ориентированный диалог, за счет активной онтологии), интеграция в различные устройства, а также подключение внешних служб, с которыми система совместима. Однако, данная система поддерживает только один вид взаимодействия - для решения поставленной цели и не допускает использования других типов агентов, т.е. данный функционал системы является ограниченным в вариативности формирования ответа при ведении диалога с помощью интеллектуальной системы.[0005] US patent application US 20120016678 A1 (Apple Inc., 01/19/2012) discloses an intelligent automated assistant. The advantages of this development include the possibility of expanding internal functionality to achieve the set goal (goal-oriented dialogue, due to an active ontology), integration into various devices, as well as connecting external services with which the system is compatible. However, this system supports only one type of interaction - to solve a given goal and does not allow the use of other types of agents, i.e. This functionality of the system is limited in the variability of response formation when conducting a dialogue using an intelligent system.

[0006] В патенте RU 2637874 С2 (Гугл Инк. (US), 07.12.2017) раскрывается способ генерирования диалоговых рекомендаций для чатовых информационных систем. К достоинствам данной разработки относится возможность комплексно подходить к вопросу, какой тип информации может запрашиваться пользователем в конкретный момент времени, и решает его согласно возможным схемам. Однако у данной диалоговой системы ограниченная функциональность из-за отсутствия внутреннего переключения диалоговой системы и персональности, подкрепленная слабой вариативностью ведения диалога, что сужает возможности по формированию различных сценариев ведения диалога в зависимости от типа подаваемых на вход системы реплик.[0006] Patent RU 2637874 C2 (Google Inc. (US), 12/07/2017) discloses a method for generating interactive recommendations for chat information systems. The advantages of this development include the ability to take a comprehensive approach to the question of what type of information may be requested by the user at a particular point in time, and solve it according to possible schemes. However, this dialogue system has limited functionality due to the lack of internal switching of the dialogue system and personality, supported by weak variability in dialogue, which narrows the possibilities for creating different scenarios for dialogue depending on the type of remarks supplied to the input of the system.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯDISCLOSURE OF INVENTION

[0007] Решаемой технической проблемой с помощью заявленного изобретения является создание нового способа и системы для расширения функциональных возможностей ведения диалога, позволяющей переключать персонализацию в зависимости от намерений пользователя и цель общения с интеллектуальной системой, за счет выделения из потока текста требуемых сущностей, хранения истории взаимодействия с пользователем, принятия решения об ответе и выполнения генерации ответа.[0007] The technical problem solved with the help of the claimed invention is the creation of a new method and system for expanding the functionality of dialogue, allowing you to switch personalization depending on the user’s intentions and the purpose of communication with the intelligent system, by isolating the required entities from the text stream and storing the interaction history with the user, decide on a response, and perform response generation.

[0008] Подобная система использует некоторое количество методов для выбора нужного ответа, применяет различные подходы к обработке входного высказывания и способна поддерживать ведение более одного состояния диалога.[0008] Such a system uses a number of methods to select the desired response, applies various approaches to processing the input utterance, and is capable of supporting more than one dialogue state.

[0009] Технический результат заключается в создании самообучающейся масштабируемой системы, которая объединяет в себе различные типы агентов и обеспечивает динамическое переключение между функционалом, связанным со сценарием ведения диалога.[0009] The technical result consists in creating a self-learning scalable system that combines various types of agents and provides dynamic switching between functionality related to the dialogue scenario.

[0010] Заявленное техническое решение осуществляется за счет системы управления диалоговым агентом в канале взаимодействия с пользователем, которая содержит:[0010] The claimed technical solution is implemented through a dialog agent control system in the user interaction channel, which contains:

по меньшей мере один процессор;at least one processor;

по меньшей мере одно средство хранения данных;at least one data storage means;

модуль аннотатор, обеспечивающий получение пользовательского запроса в канале взаимодействия с пользователем, причем запрос представляется в текстовой форме;an annotator module that ensures the receipt of a user request in the user interaction channel, wherein the request is presented in text form;

предварительную обработку текстового запроса пользователя;preliminary processing of the user's text request;

классификацию реплик в текстовом запросе пользователя;classification of replicas in a user's text request;

извлечение параметров из упомянутого запроса пользователя и определение характеристик намерения пользовательского запроса; модуль селектор, обеспечивающий выбор навыка ведения диалога с пользователем на основании определенных характеристик намерения пользовательского запроса;extracting parameters from said user request and determining characteristics of the intent of the user request; a selector module that provides a choice of skill for conducting a dialogue with the user based on certain characteristics of the intent of the user request;

выбор ответа на запрос пользователя, связанного с выбранным навыком, причем выбор ответа осуществляется с помощью обработки характеристик намерения пользовательского запроса; модуль постпроцессинга, обеспечивающий генерирование ответа, выбранного модулем селектором;selecting a response to the user's request associated with the selected skill, wherein the selection of the response is accomplished by processing characteristics of the intent of the user's request; a post-processing module that ensures the generation of a response selected by the selector module;

передачу ответа в канал взаимодействия с пользователем.transmitting the response to the user interaction channel.

[0011] В одном из частных примеров реализации системы предварительная обработка пользовательского запроса включает в себя по меньшей мере одно из: исправление опечаток, нормализация текста, разбиения текста запроса на отдельные слова, определение именованных сущностей, выявление и классификация намерений в репликах пользовательского запроса.[0011] In one particular example of a system implementation, pre-processing of a user request includes at least one of: correcting typos, normalizing text, splitting the request text into individual words, identifying named entities, identifying and classifying intent in replicas of the user request.

[0012] В другом частном примере реализации системы при выявлении именованных сущностей осуществляется поиск информации о положении имен в тексте и информацию о классах, соответствующих им.[0012] In another particular example of a system implementation, when identifying named entities, information about the position of names in the text and information about the classes corresponding to them is searched.

[0013] В другом частном примере реализации системы после выделения именованных сущностей определяется их тематика с помощью метода классификации, включающей отнесение запроса к одной из известных категорий на основании семантического содержания.[0013] In another particular example of a system implementation, after identifying named entities, their subject matter is determined using a classification method, which includes assigning a request to one of the known categories based on semantic content.

[0014] В другом частном примере реализации системы при классификации реплик они делятся на получение конкретной информации, выполнение действий, получение информации в режиме обсуждения или их сочетания.[0014] In another particular example of a system implementation, when classifying replicas, they are divided into receiving specific information, performing actions, receiving information in discussion mode, or combinations thereof.

[0015] В другом частном примере реализации системы по выявленным характеристикам намерения пользовательского запроса и их семантического содержания вычисляется коэффициент соответствия одному или нескольким навыкам.[0015] In another particular example of the implementation of the system, based on the identified characteristics of the intent of the user request and their semantic content, the coefficient of compliance with one or more skills is calculated.

[0016] В другом частном примере реализации системы навык ведения диалога выбирается из группы: целенаправленный ответ на вопрос, ответ в свободной форме или поддержание свободной беседы.[0016] In another particular example of the implementation of the system, the skill of conducting a dialogue is selected from the group: a targeted answer to a question, an answer in a free form, or maintaining a free conversation.

[0017] В другом частном примере реализации системы модуль селектор выполняет обращение к одной или нескольким внешним информационным системам для выбора ответа на запрос пользователя.[0017] In another particular example of a system implementation, the selector module accesses one or more external information systems to select a response to a user request.

[0018] В другом частном примере реализации системы каждый из модулей выполнен на базе одной или нескольких методов машинного обучения.[0018] In another particular example of a system implementation, each of the modules is based on one or more machine learning methods.

[0019] Заявленное техническое решение реализуется также за счет компьютерно-реализуемого способа управления диалоговым агентом в канале взаимодействия с пользователем, выполняемый с помощью по меньшей мере одного процесса и содержащий этапы, на которых:[0019] The claimed technical solution is also implemented through a computer-implemented method for controlling a dialog agent in a user interaction channel, performed using at least one process and containing the steps of:

получают пользовательский запрос в канале взаимодействия с пользователем, причем запрос представляется в текстовой форме;receiving a user request in a user interaction channel, the request being presented in text form;

выполняют обработку текстового запроса пользователя, в ходе которой осуществляют классификацию реплик в упомянутом запросе пользователя;processing the user's text request, during which they classify the replicas in the user's request;

осуществляют извлечение параметров из упомянутого запроса пользователя, на основании которых определяют характеристики намерения пользовательского запроса; осуществляют выбор навыка ведения диалога с пользователем на основании определенных характеристик намерения пользовательского запроса;extracting parameters from said user request, based on which the characteristics of the intent of the user request are determined; select the skill of conducting a dialogue with the user based on certain characteristics of the intent of the user request;

осуществляют выбор ответа на запрос пользователя, связанного с выбранным навыком, причем выбор ответа осуществляется с помощью обработки характеристик намерения пользовательского запроса; генерируют ответ; иselecting a response to the user's request associated with the selected skill, and selecting the response is carried out by processing the characteristics of the intent of the user's request; generate a response; And

осуществляют передачу ответа в канал взаимодействия с пользователем.transmit the response to the user interaction channel.

[0020] В одном из частных вариантов осуществления способа канал взаимодействия с пользователем выбирается из группы: онлайн чат-сессия, мобильное приложение, мультимедийное устройство с голосовым ассистентом, колл-центр.[0020] In one of the particular embodiments of the method, the channel of interaction with the user is selected from the group: online chat session, mobile application, multimedia device with a voice assistant, call center.

[0021] В другом частном варианте осуществления способа на этапе обработки пользовательского запроса выполняется по меньшей мере одно из: исправление опечаток, нормализация текста, разбиения текста запроса на отдельные слова, определение именованных сущностей, выявление и классификация намерений в репликах пользовательского запроса.[0021] In another particular embodiment of the method, at the stage of processing a user request, at least one of the following is performed: correcting typos, normalizing text, breaking the request text into individual words, identifying named entities, identifying and classifying intent in replicas of the user request.

[0022] В другом частном варианте осуществления способа при выявлении именованных сущностей осуществляется поиск информации о положении имен в тексте и информацию о классах, соответствующих им.[0022] In another particular embodiment of the method, when identifying named entities, information about the position of names in the text and information about the classes corresponding to them is searched.

[0023] В другом частном варианте осуществления способа по выявленным характеристикам намерения пользовательского запроса вычисляется коэффициент соответствия одному или нескольким навыкам.[0023] In another particular embodiment of the method, a match factor for one or more skills is calculated from the identified characteristics of the user request intent.

[0024] В другом частном варианте осуществления способа навык ведения диалога выбирается из группы: целенаправленный ответ на вопрос, ответ в свободной форме или ответ на вопрос от лица персоны.[0024] In another particular embodiment of the method, the dialogue skill is selected from the group: a targeted answer to a question, a free-form answer, or an answer to a question on behalf of a person.

[0025] В другом частном варианте осуществления способа при генерирования ответа на пользовательский запрос выполняется обращение к одной или нескольким внешним информационным системам.[0025] In another particular embodiment of the method, when generating a response to a user request, one or more external information systems are contacted.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

[0026] Фиг. 1 иллюстрирует общую информационную архитектуру решения.[0026] FIG. Figure 1 illustrates the overall information architecture of the solution.

[0027] Фиг. 2 иллюстрирует программно-аппаратную архитектуру заявленной системы.[0027] FIG. 2 illustrates the hardware and software architecture of the claimed system.

[0028] Фиг. 3 иллюстрирует блок-схему выполнения заявленного способа управления диалоговым агентом.[0028] FIG. 3 illustrates a block diagram of the implementation of the claimed method for controlling a dialog agent.

[0029] Фиг. 4А - Фиг. 4В иллюстрируют пример ведения диалога в канале чат-бота мессенджера с помощью заявленного решения.[0029] FIG. 4A - Fig. 4B illustrates an example of conducting a dialogue in a messenger chatbot channel using the claimed solution.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯIMPLEMENTATION OF THE INVENTION

[0030] На Фиг. 1 представлена общая информационная архитектура (100) заявленного технического решения, которая включает в себя пользователя (10), пользовательское устройство (110) для формирования запроса, сервер (200), выполняющий основную программную логику обработки запросов пользователей (10), внешнюю базу знаний (130).[0030] In FIG. Figure 1 shows the general information architecture (100) of the claimed technical solution, which includes a user (10), a user device (110) for generating a request, a server (200) that performs the main software logic for processing user requests (10), and an external knowledge base ( 130).

[0031] Вычислительные и компьютерные устройства, участвующие в общей архитектуре работы заявленного решения, взаимодействую между собой посредством сети передачи данных (150), в частности, сети Интернет.[0031] Computing and computer devices participating in the general architecture of the claimed solution interact with each other through a data transmission network (150), in particular, the Internet.

[0032] В качестве пользовательского устройства (110) для взаимодействия с диалоговым агентом, расположенном на сервере (200), могут выступать различные средства, например, компьютер, ноутбук, смартфон, планшет, умное носимое устройство (часы, браслет, очки), смарт-ТВ, мультимедийное устройство транспортного средства, игровая приставка, мультимедийный голосовой ассистент (смарт-динамик, смарт-колонка) и т.п.[0032] Various means can act as a user device (110) for interacting with a dialog agent located on a server (200), for example, a computer, laptop, smartphone, tablet, smart wearable device (watch, bracelet, glasses), smart -TV, vehicle multimedia device, game console, multimedia voice assistant (smart speaker, smart speaker), etc.

[0033] Формирование пользовательского запроса на ведение диалога с помощью устройства (110) осуществляется в том или ином канале взаимодействия, например, телефонный звонок в колл-центр, онлайн чат сессия на веб-сайте или мобильном приложении, чат со службой поддержки, общение с мультимедийными устройствами, снабженными функцией голосовых ассистентов и т.п. Канал пользовательского взаимодействия может изменяться относительного реализации и принципа работы устройства (110), а также программного обеспечения, обеспечивающего требуемое взаимодействие с диалоговым агентом.[0033] Formation of a user request for dialogue using the device (110) is carried out in one or another interaction channel, for example, a telephone call to a call center, an online chat session on a website or mobile application, a chat with support service, communication with multimedia devices equipped with voice assistant functions, etc. The user interaction channel may vary relative to the implementation and operating principle of the device (110), as well as the software that provides the desired interaction with the conversational agent.

[0034] Сеть передачи данных (150) может быть реализована с помощью известных из уровня техники приемов организации связи, например, WLAN, LAN, PAN, GSM/3G/LTE/5G, спутниковая связь, TCP/IP соединение и т.п.[0034] The data network (150) can be implemented using communication techniques known in the art, for example, WLAN, LAN, PAN, GSM/3G/LTE/5G, satellite communication, TCP/IP connection, etc.

[0035] Внешняя база знаний (130) может формироваться на основе множества данных, описывающих ту или иную предметную область и организованных в виде централизованного хранилища информации, например, базу данных и т.п.Например, база знаний (130) может представлять собой один или несколько ресурсов в сети Интернет, которые применяются для формирования ответа на запрос пользователей (сайт Wikipedia.org, телефонный онлайн справочник и т.п.).[0035] An external knowledge base (130) can be formed on the basis of a set of data describing a particular subject area and organized in the form of a centralized information repository, for example, a database, etc. For example, the knowledge base (130) can be one or several resources on the Internet that are used to generate a response to user requests (Wikipedia.org website, online telephone directory, etc.).

[0036] На Фиг. 2 представлена архитектурное исполнение программно-аппаратной платформы сервера (200), на котором размещается система управления диалоговым агентом, обрабатывающим поступающие пользовательские запросы от устройств (110). Сервер (200) выполняется на базе стандартизованной компоновки вычислительных устройств и включает в себя такие компоненты, как: один или несколько процессоров (201), оперативную память (202), средство хранения данных (203), интерфейсы ввода/вывода (204), средства ввода/вывода (205) и средство сетевого взаимодействия (206).[0036] In FIG. Figure 2 shows the architectural design of the software and hardware platform of the server (200), which hosts the control system for the dialog agent that processes incoming user requests from devices (110). The server (200) is based on a standardized layout of computing devices and includes components such as: one or more processors (201), RAM (202), data storage (203), input/output interfaces (204), input/output (205) and network communication means (206).

[0037] Процессор (201) предназначен для выполнения программной логики и требуемых вычислительных операций, необходимых для функционирования сервера (200). Процессор (201) исполняет необходимые машиночитаемые команды и инструкции, содержащиеся в оперативной памяти (202). Процессор (201) (или несколько процессоров, многоядерный процессор и т.п.) может выбираться из ассортимента устройств, широко применяемых в настоящее время, например, таких производителей, как: Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. Под процессором или одним из используемых процессоров в архитектуре сервера (200) также необходимо учитывать графический процессор, например, GPU NVIDIA или Graphcore, тип которых также является пригодным для полного или частичного выполнения способов реализации заявленного решения, а также может применяться для обучения и применения моделей машинного обучения.[0037] The processor (201) is configured to perform the program logic and required computational operations required to operate the server (200). The processor (201) executes the necessary machine-readable commands and instructions contained in the RAM (202). The processor (201) (or multiple processors, multi-core processor, etc.) may be selected from a variety of devices commonly used today, for example, from manufacturers such as: Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK ™, Qualcomm Snapdragon™, etc. The processor or one of the processors used in the server architecture (200) must also include a graphics processor, for example an NVIDIA or Graphcore GPU, the type of which is also suitable for fully or partially implementing the methods for implementing the claimed solution, and can also be used for training and applying models machine learning.

[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).[0038] Random access memory (202), as a rule, is made in the form of RAM and contains the necessary program logic that provides the required functionality. The data storage medium (203) can be in the form of HDD, SSD disks, raid array, flash memory, optical storage devices (CD, DVD, MD, Blue-Ray disks), etc. The means (203) allow long-term storage of various types of information. Interfaces (204) are standard means for connecting and operating multiple devices, for example, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, Fire Wire, etc. The choice of interfaces (204) depends on the specific design of the server device (200).

[0039] В качестве средств ввода/вывода данных (205) может использоваться: клавиатура, джойстик, дисплей (сенсорный дисплей), проектор, тачпад, манипулятор мышь, трекбол, световое перо, динамики, микрофон и т.п. Средства сетевого взаимодействия (206) выбираются из устройств, обеспечивающих сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п.С помощью средств (205) обеспечивается организация обмена данными по проводному и/или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.[0039] The following can be used as data input/output means (205): keyboard, joystick, display (touch display), projector, touchpad, mouse, trackball, light pen, speakers, microphone, etc. Network interaction means (206) are selected from devices that provide network reception and transmission of data, for example, an Ethernet card, WLAN/Wi-Fi module, Bluetooth module, BLE module, NFC module, IrDa, RFID module, GSM modem, etc. Using the means (205), the organization of data exchange is ensured via a wired and/or wireless data transmission channel, for example, WAN, PAN, LAN, Intranet, Internet, WLAN, WMAN or GSM.

[0040] Обеспечиваемая сервером (200) программная реализация, позволяющая осуществлять управление диалоговым агентом, реализуется с помощью совокупности модулей, в частности, модуля аннотатора (2031), модуля селектора (2032) и модуля постпроцессинга (2033).[0040] The software implementation provided by the server (200) that allows control of the dialog agent is implemented using a set of modules, in particular, an annotator module (2031), a selector module (2032) and a post-processing module (2033).

[0041] Как представлено на Фиг. 3, заявленный способ (300) управления диалоговым агентом состоит из последовательных этапов, осуществляемых с помощью работы программной логики, реализуемой на сервере (200).[0041] As shown in FIG. 3, the claimed method (300) for controlling a dialog agent consists of successive stages carried out using program logic implemented on the server (200).

[0042] На первом этапе (301) происходит первичное получение и предобработка пользовательского запроса. Запрос, поступающий от пользователя (10) с помощью устройства (110), может быть сформирован в различном виде, например, голосовом, текстовом, жестовом и т.п. В независимости от первоначального состояния пользовательского запроса устройством (110), необходимо осуществить его преобразование в текстовую форму, которая будет передана в модуль аннотатор (2031). Преобразование в текстовый вид может выполняться с помощью различных известных средств, например, преобразование голосовой информации в текст, преобразование жестовой информации в текст и т.д.[0042] In the first stage (301), the user request is initially received and preprocessed. The request coming from the user (10) using the device (110) can be generated in various forms, for example, voice, text, gesture, etc. Regardless of the initial state of the user request by the device (110), it is necessary to convert it into text form, which will be transferred to the annotator module (2031). The conversion to text form may be accomplished by various known means, such as voice-to-text conversion, gesture-to-text conversion, etc.

[0043] Формируемый запрос пользователем (10) получается модулем (2031) в виде блока неструктурированного текста. Модуль аннотатор (2031) на этапе (302) выполняет извлечение из полученного текста следующих данных: концепции, ключевые слова, фразы, классификации и именованные сущности, осуществляет пометку полученных выдержек как аннотаций. Модуль (2031) может включать несколько алгоритмов аннотирования текста, которые могут работать в параллельном режиме.[0043] The query generated by the user (10) is received by the module (2031) as a block of unstructured text. The annotator module (2031) at step (302) extracts the following data from the received text: concepts, keywords, phrases, classifications and named entities, and marks the received excerpts as annotations. The module (2031) may include multiple text annotation algorithms that may operate in parallel.

[0044] С помощью алгоритмов модуля аннотатора (203 Г) выполняется:[0044] Using the algorithms of the annotator module (203 G), the following is performed:

Предварительная обработка текста; Text pre-processing;

Классификация реплики, соотнесение с одним из классов, известных системе; Classification of a replica, correlation with one of the classes known to the system;

Извлечение параметров запроса. Retrieving request parameters.

[0045] Модуль аннотатор (2031) выполняет обработку высказываний пользователя (10) на естественном языке, который может включать в себя одну или несколько следующих функций, реализуемых упомянутыми алгоритмами:[0045] The annotator module (2031) processes the user's statements (10) in natural language, which may include one or more of the following functions implemented by the mentioned algorithms:

Разбиение текста на слова. Splitting text into words.

Исправление опечаток (например, с помощью базы элементов библиотеки DeepPavlov - Automatic spelling correction model). Correcting typos (for example, using the DeepPavlov library element database - Automatic spelling correction model).

Пополнение текста морфологическими признаками - определение нормальной формы слов и частей речи (например, с помощью элементов библиотеки DeepPavlov - Morphological tagging model) Replenishing text with morphological features - determining the normal form of words and parts of speech (for example, using elements of the DeepPavlov library - Morphological tagging model)

Определение именованных сущностей (например, с помощью базы элементов библиотеки DeepPavlov - NER model). Definition of named entities (for example, using the element base of the DeepPavlov library - NER model).

Классификация интентов (характеристик намерений) в реплике с помощью одновременно работающих подходов: на основе примеров фраз и алгоритмов на базе машинного обучения (например, с помощью базы элементов библиотеки DeepPavlov - Classification model). К интентам можно отнести: организации, время, локации, персоны, продукты, факты и д.р. Classification of intents (characteristics of intentions) in a replica using simultaneously working approaches: based on examples of phrases and algorithms based on machine learning (for example, using the DeepPavlov library element base - Classification model). Intents include: organizations, time, locations, persons, products, facts, etc.

Заполнение информационных «слотов» - параметров запроса, переданных во фразе пользователя (например, с помощью базы элементов библиотеки DeepPavlov - Slot filling model). При реализации данного этапа на основании предоставленного текста выделяются именованные сущности (NER), классифицируемые и структурируемые по установленной форме (списку). Например, ФИО, паспортные данные, наименование компаний, данные из ЕГРЮЛ и т.п. Filling information “slots” - request parameters passed in the user’s phrase (for example, using the element base of the DeepPavlov library - Slot filling model). When implementing this stage, based on the provided text, named entities (NER) are identified, classified and structured according to the established form (list). For example, full name, passport details, company names, data from the Unified State Register of Legal Entities, etc.

[0046] Необходимо отметить, что выше представлен лишь примерный функционал модуля аннотатора (2031), который может быть расширен в зависимости от требуемой реализации технического решения. В результате работы модуля аннотатора (2031) на основе ключевых слов, помеченных одним или несколькими алгоритмами, указанными выше, на этапе (303) определяется намерение пользователя (10) на основании обработки его запроса, а также его параметры - характеристики, позволяющие более точно описать намерение, или уточнить необходимые детали запроса.[0046] It should be noted that the above is only an example of the functionality of the annotator module (2031), which can be expanded depending on the required implementation of the technical solution. As a result of the operation of the annotator module (2031), based on keywords tagged with one or more algorithms indicated above, at stage (303) the user's intent (10) is determined based on the processing of his request, as well as its parameters - characteristics that allow a more accurate description intention, or clarify the necessary details of the request.

[0047] Под термином "намерение" необходимо понимать формат требуемого общения, задаваемого пользовательским запросом и отклик, который должен быть сформирован системой управления диалоговым агентом при обработке пользовательского запроса. В реализации заявленного решения можно выделить основные типы агентов для ведения диалога:[0047] The term “intent” must be understood as the format of the required communication specified by the user request and the response that must be generated by the dialog agent control system when processing the user request. In the implementation of the stated solution, the main types of agents for dialogue can be distinguished:

общего назначения (чат-боты), позволяющие вести диалог в свободной форме; general purpose (chat bots), allowing dialogue in a free form;

задачеориентированные (целеориентированной системы), формирующие конкретный ответ на вопрос пользователя; task-oriented (goal-oriented systems), forming a specific answer to the user’s question;

способные вести диалог на любую тему (болталки), предназначенные для поддержания беседы. capable of conducting a dialogue on any topic (chatterboxes), designed to maintain a conversation.

[0048] В качестве примера можно рассмотреть запрос, сформированный пользователем (10), поступивший на сервер (200) в следующем виде: «Какая сегодня погода?». Намерение пользователя (10) - узнать погоду, параметр - это дата и место. Дополнительная информация, например, местоположение пользователя, текущая дата и т.п. могут получаться от служб пользовательского устройства (110) или от внешних сервисов, с которыми пользовательское устройство (110) осуществляет взаимодействие. На выходе модулем (2031) формируется аннотированное выражение с определенными характеристиками намерения.[0048] As an example, we can consider a request generated by the user (10) received by the server (200) in the following form: “What is the weather today?” The user's intent (10) is to find out the weather, the parameter is the date and location. Additional information, such as user location, current date, etc. may be obtained from services of the user device (110) or from external services with which the user device (110) interacts. At the output, the module (2031) generates an annotated expression with certain characteristics of the intent.

[0049] Далее на этапе (304) обработанный модулем (2031) текст запроса передается на обработку в модуль селектор (2032), который определяет следующее наиболее подходящее состояние. Под состоянием понимается выражение, получаемое после обработки диалоговой входной информации для извлечения по меньшей мере одного соответствующего ей базового смысла и дальнейшей ее интерпретации различными программными навыками, позволяющими обработать базовый смысл запроса.[0049] Next, at step (304), the request text processed by the module (2031) is transferred for processing to the selector module (2032), which determines the next most suitable state. The state is understood as an expression obtained after processing the dialog input information to extract at least one basic meaning corresponding to it and its further interpretation by various software skills that allow processing the basic meaning of the request.

[0050] Модуль селектор (2032) позволяет подключать различное количество навыков, которые могут применяться для обработки пользовательского запроса, при этом каждый программный навык обеспечивает формирование уникального варианта состояния по отношению к другими, что расширяет вариативность ведения диалога с пользователем с помощью автоматизированной диалоговой системы. Базовый смысл запроса пользователя (10) представляет собой ключевое намерение, определяемое модулем аннотатором (2031). Например, как было указано в примере выше, узнать погоду.[0050] The selector module (2032) allows you to connect a different number of skills that can be used to process a user request, with each software skill providing a unique state option in relation to others, which expands the variability of dialogue with the user using an automated dialogue system. The base meaning of the user's request (10) represents the key intent determined by the annotator module (2031). For example, as indicated in the example above, find out the weather.

[0051] Модуль селектор (2032) задействует подключенные к нему алгоритмы навыков, для каждого из которого вычисляется коэффициент уверенности в ответе относительно намерения пользователя в формируемом запросе. В частности, при выборе активации того или иного навыка модуль селектор (2032) может предварительно определить формируемые ими состояния, например:[0051] The selector module (2032) uses the skill algorithms connected to it, for each of which the confidence factor in the answer is calculated regarding the user's intention in the generated request. In particular, when choosing to activate a particular skill, the selector module (2032) can preliminarily determine the states they generate, for example:

навык А - запрос дополнительной информации, местоположения запрашиваемой погоды - «в каком месте вам интересует погода?»; skill A - request for additional information, location of the requested weather - “in what place are you interested in the weather?”;

навык В - сгенерировать информацию по текущим координатам устройства пользователя (110) - «сегодня 18 градусов тепла»; skill B - generate information on the current coordinates of the user’s device (110) - “today it’s 18 degrees Celsius”;

навык С - пошутить на счет погоды - «вам не помешает сегодня взять зонт». Далее среди сформированных ответов с помощью навыков модуль селектора (2032) выбирает выражение, наиболее полно соответствующее высказыванию пользователя (10), на основе полученного коэффициента для каждого из состояний, сформированных тем или иным навыком, а также анализа семантического содержания текста пользовательского запроса. Под коэффициентом понимается значение, которое выдает навык после обработки интента, это значение уверенности в ответе, формируемое каждым из подключенных навыков. skill C - joke about the weather - “it wouldn’t hurt you to take an umbrella today.” Next, among the responses generated using skills, the selector module (2032) selects the expression that most fully corresponds to the user’s statement (10), based on the obtained coefficient for each of the states generated by a particular skill, as well as an analysis of the semantic content of the user request text. The coefficient is understood as the value that the skill produces after processing the intent; this is the confidence value in the answer generated by each of the connected skills.

[0052] Архитектура модуля селектора (2032) может реализовывать следующие подходы к обработке интента, например:[0052] The selector module architecture (2032) may implement the following approaches to intent processing, for example:

Навык ответа на вопрос принимает интент о мире в свободной форме и выдает ответ, основываясь на своих знаниях из Википедии (может быть реализован на базе элементов библиотеки DeepPavlov - ODQA skill and KBQA skill). The skill of answering a question takes an intention about the world in free form and produces an answer based on its knowledge from Wikipedia (can be implemented based on elements of the DeepPavlov library - ODQA skill and KBQA skill).

Навык целенаправленного диалога позволяет прогнозировать ответы (может быть реализован на базе элементов библиотеки DeepPavlov - Goal-oriented) The goal-oriented dialogue skill allows you to predict answers (can be implemented based on elements of the DeepPavlov - Goal-oriented library)

Навык создания разговорного диалога, позволяющий отвечать на вопросы в свободной форме от лица персоны (может быть реализован на базе элементов библиотеки DeepPavlov - Chit-chat). Представленные выше примеры навыков, выбираемые с помощью модуля селектора (2032) отображают лишь примерный набор, который может быть расширен в зависимости от требуемой реализации технического решения. The skill of creating a conversational dialogue that allows you to answer questions in free form on behalf of a person (can be implemented based on elements of the DeepPavlov - Chit-chat library). The examples of skills presented above, selected using the selector module (2032), display only an approximate set, which can be expanded depending on the required implementation of the technical solution.

[0053] После расчета коэффициента уверенности каждым из подключенных навыков и контекста полученного выражения, на этапе (305) модуль селектор (2032) выбирает наиболее релевантное состояние. При этом на данном этапе может быть сразу несколько состояний, если на вход было подано несколько предложений.[0053] After calculating the confidence factor of each of the connected skills and the context of the resulting expression, at step (305) the selector module (2032) selects the most relevant state. Moreover, at this stage there may be several states at once if several proposals were submitted to the input.

[0054] Модуль селектор (2023) при этом может обращаться к одной или нескольким информационным системам, например, внешней или внутренней базе знаний (130) или иным ресурсам и службам для формирования требуемого ответа. В частности, к службам гео-локации, веб-сайтам с данными метеопрогноза, новостным ресурсам и т.п.[0054] The selector module (2023) can access one or more information systems, for example, an external or internal knowledge base (130) or other resources and services to generate the required response. In particular, to geo-location services, websites with weather forecast data, news resources, etc.

[0055] Выбранный ответ с помощью модуля селектора (2032) передается в модуль постпроцессинга (2033), который осуществляет генерацию текстового ответа с использованием функций согласования слов на естественном языке. Генерация текстового ответа происходит за счет поступления текстовых данных в ранее подготовленный шаблон, в котором производится выбор наиболее вероятных характеристик данного текста и/или наиболее статистический вероятные ответы в виде реплики на данный текст. Под ранее подготовленным шаблоном стоит понимать текст, который был получен путем обучения навыка на тестовых данных.[0055] The selected response is passed to the post-processing module (2033) by the selector module (2032), which generates a text response using natural language word matching functions. The generation of a text response occurs due to the receipt of text data in a previously prepared template, in which the most likely characteristics of a given text are selected and/or the most statistically probable responses are made in the form of a replica to a given text. A previously prepared template is understood as text that was obtained by training a skill on test data.

[0056] На этапе (306) ответ передается в канал взаимодействия с пользователем (10), в частности, в канал, в котором был сформирован первоначальный запрос. Диалоговая система сервера (200) формирует ответ в текстовом виде, однако он может быть преобразован в требуемую форму, например, речь (голосовые ассистенты), изображения жестов, видеоряд и т.п.[0056] At step (306), the response is transmitted to the user interaction channel (10), in particular, to the channel in which the original request was generated. The dialogue system of the server (200) generates a response in text form, but it can be converted into the required form, for example, speech (voice assistants), gesture images, video sequences, etc.

[0057] Каждый из указанных модулей может быть выполнен на базе одного или нескольких методов и/или алгоритмов машинного обучения на основе нейронных сетей, которые могут включать в себя, например, метод коррекции ошибки, метод обратного распространения ошибки, метод опорных векторов, алгоритм градиентного бустинга, метод случайного леса, регрессию, и др.[0057] Each of these modules can be implemented on the basis of one or more methods and/or machine learning algorithms based on neural networks, which may include, for example, an error correction method, an error backpropagation method, a support vector machine, a gradient algorithm boosting, random forest method, regression, etc.

[0058] На Фиг. 4А представлен пример работы заявленного решения на примере чат-бота. Пользователь (10) формирует запрос в канале приложения мессенджера с помощью устройства (110), например, с помощью приложения Telegram. Первоначально формируемый запрос содержит информацию, характеризующую намерение пользователя (10) по получению общих данных в части заведений, предоставляющих определенный тип услуги (кафе, рестораны, закусочные). Диалоговая система подключает требуемый навык для обработки соответствующего запроса пользователя (10), а именно, навык для целеориентированного диалога, реализованный на библиотеке DeepPavlov и базу данных ресторанов (кафе, закусочных), содержащую необходимые сведения для осуществления поискового механизма по запросу пользователя (10).[0058] In FIG. Figure 4A shows an example of how the proposed solution works using a chatbot as an example. The user (10) creates a request in the messenger application channel using the device (110), for example, using the Telegram application. The initially generated request contains information characterizing the user's intention (10) to obtain general data regarding establishments providing a certain type of service (cafes, restaurants, snack bars). The dialogue system connects the required skill to process the corresponding user request (10), namely, a skill for goal-oriented dialogue implemented on the DeepPavlov library and a database of restaurants (cafes, snack bars) containing the necessary information to implement a search engine at the user's request (10).

[0059] При распознавании получаемого запроса, содержащего общие сведения, изначально в подключенном типе навыка содержатся пустые слоты, которые необходимо заполнить в процессе ведения беседы с пользователем. Таким образом, диалоговая система на каждой итерации формирует уточняющий запрос для определения намерения пользователя при общении и заполняет информационные слоты. Такой информацией может являться вид кухни, предпочитаемой пользователем (10). При получении соответствующего ответа, диалоговая система формирует последующие процедуры обработки запроса, которые могут содержать, например, уточнение примерного местоположения кафе/ресторана.[0059] When recognizing a received request containing general information, the connected skill type initially contains empty slots that must be filled in during the conversation with the user. Thus, at each iteration, the dialogue system generates a clarifying request to determine the user’s intention when communicating and fills the information slots. Such information may be the type of cuisine preferred by the user (10). Upon receipt of the appropriate response, the dialogue system generates subsequent procedures for processing the request, which may contain, for example, clarification of the approximate location of the cafe/restaurant.

[0060] При полном заполнении информационных слотов система формирует конкретный ответ на основании подготовленного шаблона (например, наименование ресторана). Определение места посещения выполняется системой на основании расчета коэффициента уверенности и при утвердительном принятии предложения диалоговой системы пользователем осуществить предоставление информации, идентифицирующей подобранное место посещения. Такой тип диалоговой системы может быть реализован на основе рекуррентных нейронных сетей, обученной на выборке информации по соответствующим местам предоставления услуг сферы питания (кафе рестораны, бистро и т.п.).[0060] When the information slots are completely filled, the system generates a specific response based on the prepared template (for example, the name of the restaurant). The determination of the place of visit is carried out by the system based on the calculation of the confidence coefficient and, upon affirmative acceptance of the proposal of the dialogue system by the user, the provision of information identifying the selected place of visit. This type of dialogue system can be implemented on the basis of recurrent neural networks trained on a sample of information on the relevant places where food services are provided (cafes, restaurants, bistros, etc.).

[0061] На Фиг. 4В представлен пример работы заявленного решения на примере чат-бота. Пользователь (10) формирует запрос в канале взаимодействия с помощью устройства (110), например, с помощью голосовой колонки. Первоначально формируемый запрос содержит информацию, характеризующую намерение пользователя (10) по общению с системой на общеизвестные темы (например, про автомобили, моду и т.д). Диалоговая система подключает требуемый навык для обработки соответствующего запроса пользователя (10), а именно, навык для болталки chit-chat, реализованный на библиотеке DeepPavlov и системы, содержащие необходимые сведения для осуществления поискового механизма по запросу пользователя (10).[0061] In FIG. 4B shows an example of how the proposed solution works using a chatbot as an example. The user (10) generates a request in the interaction channel using a device (110), for example, using a voice speaker. The initially generated request contains information characterizing the user's intention (10) to communicate with the system on well-known topics (for example, about cars, fashion, etc.). The dialogue system connects the required skill to process the corresponding user request (10), namely, the chit-chat skill, implemented on the DeepPavlov library and systems containing the necessary information to implement a search engine at the user's request (10).

[0062] Вместо следования сценарию болталки пытаются найти ответ, наиболее подходящий по смыслу последней реплике, которую сказал пользователь. Чаще всего ответ выбирается из набора готовых фраз, полученных при обучении навыка - при таком подходе ответы бота не всегда соответствуют репликам пользователя по смыслу, но являются грамотными законченными предложениями. При этом возможна генерация ответа с нуля -это гораздо более гибкий подход, но он чреват ошибками.[0062] Instead of following a chat script, they try to find an answer that most closely matches the meaning of the last thing the user said. Most often, the answer is selected from a set of ready-made phrases obtained during training of the skill - with this approach, the bot’s answers do not always correspond to the user’s remarks in meaning, but are competent complete sentences. In this case, it is possible to generate a response from scratch - this is a much more flexible approach, but it is fraught with errors.

[0063] Обычный чатбот, обученный на корпусе диалогов, на вопросы о себе отвечает непоследовательно - например, может сказать, что у него нет животных, а потом - что только что гулял с собакой. Если никакой информации о себе у чатбота нет, он просто генерирует строку, лучше всего сочетающуюся с предыдущей репликой пользователя, и не проверяет ее на соответствие тому, что говорил раньше. Однако, чтобы решить эту проблему, личность и ответы на вопросы о себе прописывают в диалоговой системе, что позволяет ей использовать ту или иную предустановленную персональность.[0063] An ordinary chatbot, trained on a corpus of dialogues, answers questions about itself inconsistently - for example, it can say that it does not have animals, and then - that it just walked the dog. If the chatbot doesn’t have any information about itself, it simply generates a line that best matches the user’s previous comment, and does not check it against what it said before. However, to solve this problem, personality and answers to questions about oneself are written into the dialogue system, which allows it to use one or another preset personality.

[0064] Представленные описание заявленного решения раскрывает лишь предпочтительные примеры его реализации и не должно трактоваться как ограничивающее иные, частные примеры его осуществления, не выходящие за рамки объема правовой охраны, которые являются очевидными для специалиста соответствующей области техники.[0064] The presented description of the claimed solution discloses only preferred examples of its implementation and should not be interpreted as limiting other, particular examples of its implementation that do not go beyond the scope of legal protection, which are obvious to a specialist in the relevant field of technology.

Claims (37)

1. Система управления диалоговым агентом в канале взаимодействия с пользователем, содержащая:1. A system for managing a dialog agent in a user interaction channel, containing: по меньшей мере один процессор;at least one processor; по меньшей мере одно средство хранения данных;at least one data storage means; модуль аннотатор, обеспечивающийannotator module providing получение пользовательского запроса в канале взаимодействия с пользователем, причем запрос представляется в текстовой форме;receiving a user request in a user interaction channel, the request being presented in text form; предварительную обработку текстового запроса пользователя;preliminary processing of the user's text request; классификацию реплик в текстовом запросе пользователя;classification of replicas in a user's text request; извлечение параметров из упомянутого запроса пользователя и определение характеристик намерения пользовательского запроса; extracting parameters from said user request and determining characteristics of the intent of the user request; модуль селектор, обеспечивающий selector module providing подключение навыков ведения диалога с пользователем, позволяющих обрабатывать базовый смысл пользовательского запроса;connecting the skills of conducting a dialogue with the user, allowing you to process the basic meaning of the user request; вычисление коэффициента уверенности в ответе относительно намерения пользователя для каждого из подключенных навыков ведения диалога с пользователем;calculating the confidence coefficient in the answer regarding the user's intention for each of the connected skills of conducting a dialogue with the user; выбор навыка ведения диалога с пользователем на основании определенных характеристик намерения пользовательского запроса, причем навык ведения диалога выбирается из группы: целенаправленный ответ на вопрос, ответ в свободной форме или поддержание свободной беседы;selecting a skill for conducting a dialogue with the user based on certain characteristics of the intent of the user request, and the skill for conducting a dialogue is selected from the group: purposeful answer to a question, answer in a free form, or maintaining a free conversation; выбор ответа на запрос пользователя, связанного с выбранным навыком, selecting a response to a user request related to the selected skill, причем выбор ответа осуществляется с помощью обработки характеристик намерения пользовательского запроса, а также на основе полученного коэффициента уверенности для каждого из навыков ведения диалога с пользователем и анализа семантического содержания текста пользовательского запроса; wherein the choice of answer is carried out by processing the characteristics of the intent of the user request, as well as on the basis of the obtained confidence coefficient for each of the skills of conducting a dialogue with the user and analyzing the semantic content of the text of the user request; модуль постпроцессинга, обеспечивающийpost-processing module providing генерирование ответа, выбранного модулем селектором; generating a response selected by the module selector; передачу ответа в канал взаимодействия с пользователем.transmitting the response to the user interaction channel. 2. Система по п. 1, характеризующаяся тем, что предварительная обработка пользовательского запроса включает в себя по меньшей мере одно из: исправление опечаток, нормализация текста, разбиения текста запроса на отдельные слова, определение именованных сущностей, выявление и классификация намерений в репликах пользовательского запроса.2. The system according to claim 1, characterized in that the preliminary processing of the user request includes at least one of: correcting typos, text normalization, splitting the request text into individual words, identifying named entities, identifying and classifying intents in user request replicas . 3. Система по п. 2, характеризующаяся тем, что при выявлении именованных сущностей осуществляется поиск информации о положении имен в тексте и информации о классах, соответствующих им.3. The system according to claim 2, characterized in that when identifying named entities, information about the position of names in the text and information about the classes corresponding to them is searched. 4. Система по п. 2, характеризующаяся тем, что после выделения именованных сущностей определяется их тематика с помощью метода классификации, включающего отнесение запроса к одной из известных категорий на основании семантического содержания.4. The system according to claim 2, characterized by the fact that after identifying named entities, their subject matter is determined using a classification method, including assigning a request to one of the known categories based on semantic content. 5. Система по п. 1, характеризующаяся тем, что при классификации реплик они делятся на получение конкретной информации, выполнение действий, получение информации в режиме обсуждения или их сочетания.5. The system according to claim 1, characterized by the fact that when classifying replicas, they are divided into receiving specific information, performing actions, receiving information in discussion mode, or combinations thereof. 6. Система по п. 1, характеризующаяся тем, что модуль селектор выполняет обращение к одной или нескольким внешним информационным системам для выбора ответа на запрос пользователя.6. The system according to claim 1, characterized in that the selector module accesses one or more external information systems to select a response to the user’s request. 7. Система по п. 1, характеризующаяся тем, что каждый из модулей выполнен на базе одного или нескольких методов машинного обучения.7. The system according to claim 1, characterized in that each of the modules is based on one or more machine learning methods. 8. Компьютерно-реализуемый способ управления диалоговым агентом в канале взаимодействия с пользователем, выполняемый с помощью по меньшей мере одного процесса и содержащий этапы, на которых:8. A computer-implemented method for controlling a dialog agent in a user interaction channel, performed using at least one process and comprising the steps of: получают пользовательский запрос в канале взаимодействия с пользователем, причем запрос представляется в текстовой форме;receiving a user request in a user interaction channel, the request being presented in text form; выполняют обработку текстового запроса пользователя, в ходе которой осуществляют классификацию реплик в упомянутом запросе пользователя;perform processing of the user's text request, during which they classify replicas in the mentioned user request; осуществляют извлечение параметров из упомянутого запроса пользователя, на основании которых определяют характеристики намерения пользовательского запроса;extracting parameters from said user request, based on which the characteristics of the intent of the user request are determined; подключают навыки ведения диалога с пользователем, позволяющие обрабатывать базовый смысл пользовательского запроса;connect the skills of conducting a dialogue with the user, allowing you to process the basic meaning of the user request; вычисляют коэффициент уверенности в ответе относительно намерения пользователя для каждого из подключенных навыков ведения диалога с пользователем;calculating the confidence coefficient in the answer regarding the user's intention for each of the connected skills of conducting a dialogue with the user; осуществляют выбор навыка ведения диалога с пользователем на основании определенных характеристик намерения пользовательского запроса, причем навык ведения диалога выбирается из группы: целенаправленный ответ на вопрос, ответ в свободной форме или поддержание свободной беседы;select a skill for conducting a dialogue with the user based on certain characteristics of the intent of the user request, and the skill for conducting a dialogue is selected from the group: a targeted answer to a question, a free-form answer, or maintaining a free conversation; осуществляют выбор ответа на запрос пользователя, связанного с выбранным навыком, причем выбор ответа осуществляется с помощью обработки характеристик намерения пользовательского запроса, а также на основе полученного коэффициента уверенности для каждого из навыков ведения диалога с пользователем и анализа семантического содержания текста пользовательского запроса;selecting an answer to the user's request associated with the selected skill, and selecting the answer is carried out by processing the characteristics of the intent of the user's request, as well as on the basis of the obtained confidence coefficient for each of the skills of conducting a dialogue with the user and analyzing the semantic content of the text of the user's request; генерируют ответ; иgenerate a response; And осуществляют передачу ответа в канал взаимодействия с пользователем.transmit the response to the user interaction channel. 9. Способ по п. 8, характеризующийся тем, что канал взаимодействия с пользователем выбирается из группы: онлайн чат-сессия, мобильное приложение, мультимедийное устройство с голосовым ассистентом, колл-центр.9. The method according to claim 8, characterized in that the channel of interaction with the user is selected from the group: online chat session, mobile application, multimedia device with a voice assistant, call center. 10. Способ по п. 8, характеризующийся тем, что на этапе обработки пользовательского запроса выполняется по меньшей мере одно из: исправление опечаток, нормализация текста, разбиение текста запроса на отдельные слова, определение именованных сущностей, выявление и классификация намерений в репликах пользовательского запроса.10. The method according to claim 8, characterized in that at the stage of processing the user request, at least one of the following is performed: correcting typos, normalizing the text, splitting the request text into individual words, identifying named entities, identifying and classifying intents in replicas of the user request. 11. Способ по п. 10, характеризующийся тем, что при выявлении именованных сущностей осуществляется поиск информации о положении имен в тексте и информации о классах, соответствующих им.11. The method according to claim 10, characterized in that when identifying named entities, information about the position of names in the text and information about the classes corresponding to them is searched. 12. Способ по п. 8, характеризующийся тем, что при генерировании ответа на пользовательский запрос выполняется обращение к одной или нескольким внешним информационным системам.12. The method according to claim 8, characterized in that when generating a response to a user request, an appeal is made to one or more external information systems.
RU2022107946A 2019-11-15 Method and system for controlling dialogue agent in user interaction channel RU2818036C1 (en)

Publications (1)

Publication Number Publication Date
RU2818036C1 true RU2818036C1 (en) 2024-04-23

Family

ID=

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118782026A (en) * 2024-07-15 2024-10-15 广州云智达创科技有限公司 A control method and device for intelligent voice assistant
RU2851040C1 (en) * 2025-04-22 2025-11-17 Публичное Акционерное Общество "Мобильные Телесистемы" System and method for forming training data for machine learning, system and method for training artificial neural network and machine-readable media

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120016678A1 (en) * 2010-01-18 2012-01-19 Apple Inc. Intelligent Automated Assistant
WO2015003180A1 (en) * 2013-07-05 2015-01-08 RISOFTDEV, Inc. Systems and methods for creating and implementing an artificially intelligent agent or system
CN105138710A (en) * 2015-10-12 2015-12-09 金耀星 Chat agent system and method
US20180277115A1 (en) * 2013-06-27 2018-09-27 Google Llc Generating dialog recommendations for chat information systems based on user interaction and environmental data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120016678A1 (en) * 2010-01-18 2012-01-19 Apple Inc. Intelligent Automated Assistant
US20180277115A1 (en) * 2013-06-27 2018-09-27 Google Llc Generating dialog recommendations for chat information systems based on user interaction and environmental data
WO2015003180A1 (en) * 2013-07-05 2015-01-08 RISOFTDEV, Inc. Systems and methods for creating and implementing an artificially intelligent agent or system
RU2015155633A (en) * 2013-07-05 2017-08-10 Рисофтдев, Инк. SYSTEMS AND METHODS FOR CREATING AND IMPLEMENTING AN AGENT OR SYSTEM WITH ARTIFICIAL INTELLIGENCE
CN105138710A (en) * 2015-10-12 2015-12-09 金耀星 Chat agent system and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118782026A (en) * 2024-07-15 2024-10-15 广州云智达创科技有限公司 A control method and device for intelligent voice assistant
RU2851040C1 (en) * 2025-04-22 2025-11-17 Публичное Акционерное Общество "Мобильные Телесистемы" System and method for forming training data for machine learning, system and method for training artificial neural network and machine-readable media

Similar Documents

Publication Publication Date Title
US11861315B2 (en) Continuous learning for natural-language understanding models for assistant systems
JP7698013B2 (en) Automate assistant invocation to the right agent
US11669918B2 (en) Dialog session override policies for assistant systems
US12050648B2 (en) Method and system for generating a conversational agent by automatic paraphrase generation based on machine translation
US11676067B2 (en) System and method for creating data to train a conversational bot
CN107846350B (en) Method, computer readable medium and system for context-aware network chat
JP6678764B1 (en) Facilitating end-to-end communication with automated assistants in multiple languages
US7822699B2 (en) Adaptive semantic reasoning engine
US9761225B2 (en) Semantic re-ranking of NLU results in conversational dialogue applications
CN116547676B (en) Augmented logit for natural language processing
US20200183928A1 (en) System and Method for Rule-Based Conversational User Interface
US10713288B2 (en) Natural language content generator
WO2020056621A1 (en) Learning method and apparatus for intention recognition model, and device
US20240127026A1 (en) Shallow-deep machine learning classifier and method
WO2021063089A1 (en) Rule matching method, rule matching apparatus, storage medium and electronic device
CN117033540A (en) Report generation method, device, electronic equipment and media
JP2022076439A (en) Dialogue management
CN118838998A (en) Man-machine interaction method and device and computer readable storage medium
Torres-Cruz et al. Evaluation of Performance of Artificial Intelligence System during Voice Recognition in Social Conversation
US20250149028A1 (en) Natural language interactions with interactive visual content
RU2818036C1 (en) Method and system for controlling dialogue agent in user interaction channel
WO2022131954A1 (en) Dialogue control method and system for understanding natural language in a virtual assistant platform
CN110249326B (en) Natural Language Content Generator
Paranjape et al. Voice-Based Smart Assistant System for Vehicles Using RASA
CN118694735A (en) Generate contextual responses for out-of-coverage requests for assistant systems