RU2701090C1 - System and method for automatic execution of user-defined commands - Google Patents

System and method for automatic execution of user-defined commands Download PDF

Info

Publication number
RU2701090C1
RU2701090C1 RU2018145203A RU2018145203A RU2701090C1 RU 2701090 C1 RU2701090 C1 RU 2701090C1 RU 2018145203 A RU2018145203 A RU 2018145203A RU 2018145203 A RU2018145203 A RU 2018145203A RU 2701090 C1 RU2701090 C1 RU 2701090C1
Authority
RU
Russia
Prior art keywords
agent
command
map
environment
predictor
Prior art date
Application number
RU2018145203A
Other languages
Russian (ru)
Inventor
Артем Михайлович ГРАЧЕВ
Александр Вадимович ПОДОЛЬСКИЙ
Дмитрий Александрович ЛИПИН
Максим Станиславович КОДРЯН
Илья Сергеевич ПОЛЕНОВ
Ирина Игоревна Пионтковская
Алексей Юрьевич НЕВИДОМСКИЙ
Original Assignee
Самсунг Электроникс Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Самсунг Электроникс Ко., Лтд. filed Critical Самсунг Электроникс Ко., Лтд.
Priority to RU2018145203A priority Critical patent/RU2701090C1/en
Application granted granted Critical
Publication of RU2701090C1 publication Critical patent/RU2701090C1/en
Priority to PCT/KR2019/018132 priority patent/WO2020130687A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Robotics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

FIELD: electronic equipment.
SUBSTANCE: invention relates to a method, an electronic device and an automatic command execution system. System comprises an agent which collects information on the environment in which a command is to be executed, and compiles an environment map based on the collected information, predictor providing prediction of information which is collected by an agent, wherein the agent and the predictor are configured to be trained based on information obtained by the agent after prediction, a database for obtaining, storing and updating the environment map, a command processing unit which enables receiving and processing a command in accordance with a medium map, and generating a script for executing a command, wherein the agent enables executing a script of executing a command received from the instruction processing unit.
EFFECT: technical result consists in automatic command execution.
11 cl, 7 dwg

Description

Область техникиTechnical field

Настоящее изобретение относится к автоматическому выполнению электронным устройством команд, заданных пользователем на естественном языке.The present invention relates to the automatic execution by an electronic device of instructions given by a user in a natural language.

Описание предшествующего уровня техникиDescription of the Related Art

На текущий момент есть множество приложений, в которых команды пользователя задаются естественным языком, а именно словами, жестами, мимикой. Такие приложения могут быть использованы в различных смарт-устройствах, например, в смартфонах, в устройствах домашних роботов-помощников и т. п.At the moment there are many applications in which user commands are set in a natural language, namely words, gestures, facial expressions. Such applications can be used in various smart devices, for example, smartphones, devices of home assistant robots, etc.

Сценарий взаимодействия пользователя с приложением электронного устройства обычно состоит в том, что пользователь задает неформализованные команды голосом, жестами, или мимикой. Приложение распознает команды пользователя и исполняет их. Приложение является заранее обученным на серверах, причем при работе такого приложения почти не используются онлайн алгоритмы для обучения непосредственно по прямой-обратной связи, то есть, когда при попытке выполнить команду пользователя приложение обучается в режиме онлайн, как только оно получает обратную связь от пользователя. На сегодняшний день не существует эффективных алгоритмов онлайн-обучения приложений электронных устройств.The scenario of user interaction with the electronic device application usually consists in the fact that the user sets up informal commands with voice, gestures, or facial expressions. The application recognizes user commands and executes them. The application is pre-trained on the servers, and during the operation of such an application almost no online algorithms are used to learn directly by direct feedback, that is, when an application learns online when it tries to execute a user command, it receives feedback from the user. To date, there are no effective online learning algorithms for electronic device applications.

Известные решения характеризуются тем, что они могут быть только предобученными, и только после такого отдельного обучения, известные приложения могут быть использованы в электронных устройствах.Known solutions are characterized in that they can only be pre-trained, and only after such a separate training, well-known applications can be used in electronic devices.

Из уровня техники известен документ US 20130254139 A1, опубликованный 26.09.2013, в котором раскрыты системы и способы построения универсального интеллектуального помощника с возможностью обучения. Раскрытые в документе системы и способы связаны с созданием интеллектуального помощника, который может воспринимать человеческие запросы/команды в простой текстовой форме, также в формате естественного языка, и выполнять задачи, поставленные пользователем. Причем перед использованием пользователь сам должен обучить помощника через предоставленный пользовательский интерфейс и/или использовать только некоторые знания, которые уже знает помощник. Обучаемый помощник может генерировать более общие знания, основанные на том, что он изучает, и может применять более общие знания для выполнения команд, которые он никогда не видел и никогда не изучал напрямую, и может пересматривать и улучшать знания в соответствии с результатом по обратной связи. В документе не раскрываются способы обучения помощника сразу во время его работы, то есть в режиме онлайн.The prior art document US 20130254139 A1, published September 26, 2013, which discloses systems and methods for constructing a universal intelligent assistant with the possibility of training. The systems and methods disclosed in the document are associated with the creation of an intelligent assistant that can perceive human requests / commands in simple text form, also in a natural language format, and perform tasks assigned by the user. Moreover, before use, the user himself must train the assistant through the provided user interface and / or use only some knowledge that the assistant already knows. A trained assistant can generate more general knowledge based on what he is learning, and can apply more general knowledge to execute commands that he never saw or never studied directly, and can revise and improve knowledge according to the feedback result . The document does not disclose the methods of training an assistant immediately during his work, that is, online.

Из уровня техники известен документ US 20140095931 A1, опубликованный 03.04.2014, в котором раскрыты способ и система для автоматизации процесса тестирования электронных устройств. Известное решение обеспечивает основу автоматизации тестирования устройств для автоматизации тестирования встроенных систем. Механизм автоматизации тестирования устройств (DTAF) позволяет пользователю тестировать программное обеспечение встроенного устройства с помощью тестовых сценариев, которые могут захватывать различные интерфейсы тестируемого устройства. Графический интерфейс пользователя (инструмент GUI) создается на основе устройства, находящегося в тестовой конфигурации и пользовательского ввода. Этот инструмент GUI показывает различные интерфейсы тестируемого устройства. Аппаратное обеспечение автоматизации тестирования устройств обеспечивает связь между тестовым инструментом и тестируемым устройством. DTAF позволяет процессу тестирования значительно повысить производительность, эффективность и охват тестированием встроенного программного обеспечения. Недостатком известного решения является то, что не используется машинное обучение, то есть не допускается изменений в пользовательском интерфейсе.The prior art document US 20140095931 A1, published 03.04.2014, which discloses a method and system for automating the testing process of electronic devices. A well-known solution provides the basis for automation testing of devices for automation testing of embedded systems. The Device Test Automation Engine (DTAF) allows the user to test the firmware of the embedded device using test scripts that can capture various interfaces of the device under test. A graphical user interface (GUI tool) is created based on the device in the test configuration and user input. This GUI tool shows the various interfaces of the device under test. Hardware for device testing automation provides communication between the test instrument and the device under test. DTAF enables the testing process to significantly increase the performance, efficiency, and test coverage of embedded software. A disadvantage of the known solution is that machine learning is not used, that is, changes in the user interface are not allowed.

Из уровня техники на данный момент известны два подхода к тестированию смартфонов.From the prior art at the moment there are two approaches to testing smartphones.

Первый самый простой подход основан на том, что пользователь самостоятельно читает инструкцию и следуя инструкции проводит тестирование своего смартфона. Хотя человек-пользователь имеет способность к самообучению и может принимать решения в нестандартных ситуациях, но для чтения и воспроизведения инструкции пользователь тратит очень много времени, также очевидно, что существует фактор человеческих ошибок, для осознания и исправления которых тоже требуется время. При этом человек не может в одно и то же время воспринимать и воспроизводить несколько инструкция одновременно.The first simplest approach is based on the fact that the user reads the instructions on his own and, following the instructions, conducts testing of his smartphone. Although the human user has the ability to learn and can make decisions in non-standard situations, the user spends a lot of time reading and reproducing the instructions, it is also clear that there is a human error factor, which also takes time to understand and correct. Moreover, a person cannot perceive and reproduce several instructions at the same time.

Второй подход включает в себя использование автоматических средств, которые воспринимают инструкции в виде формального языка, то есть команды поступают в виде инструкций из заранее заданного множества инструкций (например, набор команд мобильного телефона, набор команд движения робота), причем такие инструкции являются однозначными, то есть, не допускающими многозначных трактовок, и не требуют участия пользователя напрямую (человек нужен, чтобы пользоваться результатом). Автоматические средства могут в одно и тоже время воспринимать и воспроизводить несколько инструкций одновременно. При этом при использовании автоматических средств отсутствует фактор ошибок. Однако, известные автоматические средства неспособны решать нестандартные ситуации, которым заранее не были обучены.The second approach involves the use of automatic tools that perceive instructions in the form of a formal language, that is, commands come in the form of instructions from a predetermined set of instructions (for example, a set of mobile phone commands, a set of robot movement commands), such instructions are unambiguous, then there are those that do not allow ambiguous interpretations, and do not require user participation directly (a person is needed to use the result). Automatic tools can at the same time perceive and reproduce several instructions simultaneously. However, when using automatic means there is no error factor. However, well-known automatic means are unable to solve non-standard situations that were not previously trained.

Сущность изобретенияSUMMARY OF THE INVENTION

Предлагается интеллектуальная система для выполнения команд электронным устройством, которая отличается от известных приложений двумя ключевыми характеристиками:An intelligent system for executing commands by an electronic device is proposed, which differs from well-known applications in two key characteristics:

- автоматически собирает информацию онлайн о структуре среды, в которой необходимо выполнять команды, например, робот-помощник перед выполнением работы сам собирает информацию о помещении, а, например, приложение для тестирования смартфона перед работой само собирает информацию о смартфоне.- automatically collects information online about the structure of the environment in which it is necessary to execute commands, for example, the robot assistant collects information about the premises before doing work, and, for example, the application for testing a smartphone before work collects information about the smartphone itself.

Такие устройства, используя собранную информацию, способны выполнять команды, которые задает человек.Such devices, using the collected information, are able to carry out the commands that a person sets.

Предлагаемая система может создать, например, карту приложения мобильного телефона и использовать такую карту для выполнения человеческих команд непосредственно после получения команды.The proposed system can create, for example, a mobile phone application map and use such a map to execute human commands immediately after receiving a command.

Предлагается система автоматического выполнения электронным устройством по меньшей мере одной команды, содержащая: агент, выполненный с возможностью сбора информации, касающейся среды, в которой должна выполняться по меньшей мере одна команда, с возможностью составления карты упомянутой среды на основе собранной информации; предиктор, выполненный с возможностью предсказания информации, которую собирает агент, причем агент и предиктор выполнены с возможностью обучения на основании информации, полученной агентом после предсказания; базу данных, выполненную с возможностью приема карты упомянутой среды от агента, хранения карты упомянутой среды, обновления карты упомянутой среды при получении от агента новой карты упомянутой среды; блок обработки команд, выполненный с возможностью приема и обработки по меньшей мере одной команды в соответствии с картой упомянутой среды, и с возможностью формирования скрипта сценария выполнения по меньшей мере одной команды, причем агент также сконфигурирован для осуществления скрипта сценария выполнения по меньшей мере одной команды, полученного от блока обработки команд. Причем агент выполнен с возможностью расчета ошибки предсказания предиктора. Причем на основании рассчитанной ошибки предсказания предиктора агент обучается находить состояния целевой среды с максимальной ошибкой предиктора. Причем на основании рассчитанной ошибки предсказания предиктора предиктор обучается минимизировать ошибку предсказания. Причем по меньшей мере одной командой является команда пользователя. Причем команда пользователя представляет собой визуальную информацию или звуковую информацию, или текстовую информацию. Причем база данных представляет собой нейронную сеть.A system for automatically executing at least one command by an electronic device is provided, comprising: an agent configured to collect information regarding an environment in which at least one command should be executed, with the ability to map the said environment based on the information collected; a predictor configured to predict information that the agent collects, the agent and the predictor configured to learn based on information received by the agent after the prediction; a database configured to receive a map of said environment from an agent, store a map of said environment, update a map of said environment upon receipt of a new map of said environment from an agent; a command processing unit, configured to receive and process at least one command in accordance with the map of the aforementioned environment, and to generate a script for executing at least one command, the agent being also configured to execute a script for executing at least one command, received from the command processing unit. Moreover, the agent is configured to calculate a predictor prediction error. Moreover, based on the calculated predictor prediction error, the agent learns to find the state of the target environment with the maximum predictor error. Moreover, based on the calculated predictor prediction error, the predictor is trained to minimize the prediction error. Moreover, at least one command is a user command. Moreover, the user command is visual information or audio information, or text information. Moreover, the database is a neural network.

Также предлагается способ работы системы автоматического выполнения электронным устройством команд, содержащий этапы, на которых:Also proposed is a method of operating a system for automatically executing commands by an electronic device, comprising the steps of:

а) агент:a) agent:

обозревает текущее состояние среды, в которой должна выполняться по меньшей мере одна команда,surveys the current state of the environment in which at least one command should be executed,

выбирает действие из множества действий, причемselects an action from a variety of actions, and

прежде, чем выполнить действие, агент передает упомянутое текущее состояние среды и выбранное действие предиктору;before performing the action, the agent passes the mentioned current state of the environment and the selected action to the predictor;

б) предиктор:b) predictor:

по упомянутому текущему состоянию целевой среды и выбранному агентом действию предсказывает последующее состояние упомянутой среды,from the said current state of the target environment and the action selected by the agent predicts the subsequent state of the said environment,

передает предсказание агенту;transmits the prediction to the agent;

в) агент:c) agent:

выполняет выбранное действие, при этом, получив информацию о реальном состоянии упомянутой среды: performs the selected action, while receiving information about the real state of the mentioned environment:

сравнивает реальное состояние упомянутой среды с предсказанием, полученным от предиктора,compares the real state of said medium with the prediction received from the predictor,

вычисляет ошибку предиктора,calculates the predictor error,

на основании вычисленной ошибки обучается находить состояния упомянутой среды с максимальной ошибкой предиктора;based on the calculated error, it is trained to find the states of the mentioned medium with the maximum predictor error;

г) предиктор, на основе вычисленной ошибки, обучается минимизировать ошибку;d) the predictor, on the basis of the calculated error, is trained to minimize the error;

д) после каждого действия агент обновляет карту упомянутой среды, внося корректирующую информацию в карту упомянутой среды и отправляет карту упомянутой среды в базу данных;d) after each action, the agent updates the map of the said environment, entering the corrective information into the map of the mentioned environment and sends the map of the mentioned environment to the database;

е) база данных сохраняет карту упомянутой среды, полученную от агента;f) the database stores a map of the environment mentioned, received from the agent;

ж) блок обработки команд:g) command processing unit:

обрабатывает по меньшей мере одну команду в соответствии с картой упомянутой среды, полученной из базы данных,processes at least one command in accordance with a map of said environment obtained from a database,

формирует скрипт сценария выполнения по меньшей мере одной команды на основе обработки по меньшей мере одной команды и карты упомянутой среды,generates a script for the execution of at least one command based on the processing of at least one command and a map of the above environment,

передает скрипт сценария выполнения по меньшей мере одной команды в агент для выполнения,passes the script for the execution of at least one command to the agent for execution,

причемmoreover

в случае, когда карта упомянутой среды, сохраненная в базе данных, совпадает с текущим состоянием среды, в которой должна выполняться по меньшей мере одна команда, агент выполняет скрипт сценария выполнения по меньшей мере одной команды,in the case when the map of the mentioned environment stored in the database matches the current state of the environment in which at least one command should be executed, the agent executes the script for the execution of at least one command,

в случае, когда карта упомянутой среды, сохраненная в базе данных, не совпадает с текущим состоянием среды, в которой должна выполняться по меньшей мере одна команда, повторяются этапы (а)-(ж)in the case when the map of the mentioned environment stored in the database does not coincide with the current state of the environment in which at least one command should be executed, steps (a) - (g) are repeated

Причем по меньшей мере одной командой является команда пользователя. Причем которой команда пользователя представляет собой визуальную информацию, или звуковую информацию, или текстовую информацию.Moreover, at least one command is a user command. Moreover, the user command is visual information, or audio information, or text information.

Также предлагается электронное устройство, содержащее систему по автоматического выполнения электронным устройством по меньшей мере одной команды, содержащую: агент, выполненный с возможностью сбора информации, касающейся среды, в которой должна выполняться по меньшей мере одна команда, с возможностью составления карты упомянутой среды на основе собранной информации; предиктор, выполненный с возможностью предсказания информации, которую собирает агент, причем агент и предиктор выполнены с возможностью обучения на основании информации, полученной агентом после предсказания; базу данных, выполненную с возможностью приема карты, упомянутой среды от агента, хранения карты упомянутой среды, обновления карты упомянутой среды при получении от агента новой карты упомянутой среды; блок обработки команд, выполненный с возможностью приема и обработки по меньшей мере одной команды в соответствии с картой упомянутой среды, и с возможностью формирования скрипта сценария выполнения по меньшей мере одной команды, причем агент также сконфигурирован для осуществления скрипта сценария выполнения по меньшей мере одной команды, полученного от блока обработки команд.An electronic device is also provided, comprising a system for automatically executing at least one instruction by an electronic device, comprising: an agent configured to collect information regarding an environment in which at least one instruction should be executed, with the possibility of compiling a map of said environment based on the collected information; a predictor configured to predict information that the agent collects, the agent and the predictor configured to learn based on information received by the agent after the prediction; a database configured to receive a card, said environment from an agent, store a map of said environment, update a map of said environment when a new card of said environment is received from an agent; a command processing unit, configured to receive and process at least one command in accordance with the map of the aforementioned environment, and to generate a script for executing at least one command, the agent being also configured to execute a script for executing at least one command, received from the command processing unit.

Краткое описание чертежейBrief Description of the Drawings

Вышеописанные и другие признаки и преимущества настоящего изобретения поясняются в последующем описании, иллюстрируемом чертежами, на которых представлено следующее:The above and other features and advantages of the present invention are explained in the following description, illustrated by the drawings, in which the following is presented:

Фиг. 1 cхематически показаны два режима работы системы автоматического выполнения электронным устройством команд, заданных на естественном языке.FIG. Figure 1 shows schematically two modes of operation of a system for automatically executing instructions in a natural language by an electronic device.

Фиг. 2 cхематически представлен первый режим работы системы для автоматического выполнения электронным устройством команд, заданных на естественном языке.FIG. 2 schematically presents the first mode of operation of the system for automatic execution by an electronic device of commands given in a natural language.

Фиг. 3 cхематически представлен второй режим работы системы для автоматического выполнения электронным устройством команд, заданных на естественном языке.FIG. 3 schematically presents the second mode of operation of the system for automatic execution by an electronic device of commands specified in a natural language.

Фиг. 4 иллюстрирует, как меняется карта целевой среды на примере применения предлагаемой системы при тестировании мобильного телефона.FIG. 4 illustrates how the map of the target environment changes using the example of the proposed system when testing a mobile phone.

Фиг. 5 схематически показан второй режим работы системы при тестировании мобильного устройства.FIG. 5 schematically shows a second mode of operation of the system when testing a mobile device.

Фиг. 6 схематически показан второй режим работы системы при работе робота-уборщика.FIG. 6 schematically shows the second mode of operation of the system when the robot cleaner is operating.

Фиг.7 схематически показан второй режим работы системы при использовании системы в качестве электронного помощника.7 schematically shows the second mode of operation of the system when using the system as an electronic assistant.

Подробное описание изобретенияDETAILED DESCRIPTION OF THE INVENTION

Предлагаемое изобретение позволяет использовать для задания команд естественный человеческий язык, а также язык жестов и мимики. Пользователь, использующий электронное устройство, содержащее предлагаемую систему, может просто задавать команды привычным языком и получать результат в виде исполнения команд. С помощью предлагаемого изобретения возможно обучение электронного устройства, выполняющего команды, непосредственно в момент получения команды, и при этом оно может решать нестандартные ситуации, которые не были заложены в период предобучения, что происходит за счет обновления карты целевой среды и за счет методов, основанных на обучении с подкреплением (методы проб и ошибок).The present invention allows the use of natural human language, as well as sign language and facial expressions, for commanding. A user using an electronic device containing the proposed system can simply set commands in the usual language and get the result in the form of command execution. Using the present invention, it is possible to train an electronic device that executes commands directly at the time of receipt of the command, and at the same time it can solve non-standard situations that were not laid down during the pre-training period, which occurs due to updating the map of the target environment and due to methods based on reinforcement learning (trial and error methods).

Предлагается способ и система для автоматического выполнения электронным устройством команд, заданных пользователем на естественном языке.A method and system for automatic execution by an electronic device of commands given by a user in a natural language.

Под естественным языком здесь подразумевается человеческая речь, человеческие жесты и человеческая мимика.Natural language here refers to human speech, human gestures and human facial expressions.

Предлагаемая система получает данные от источника команды, которая может быть визуальной, звуковой, текстовой, и пространства (целевой среды), в котором система должна выполнять команды.The proposed system receives data from the source of the command, which can be visual, sound, text, and the space (target environment) in which the system must execute commands.

Целевой средой здесь будет называться среда, в которой выполняются команды пользователя. Это может быть, например, приложение смартфона, которое нужно протестировать или выполнить с ним другие действия, или комната, в которой робот должен провести уборку и т.п.The target environment here will be called the environment in which user commands are executed. This can be, for example, a smartphone application that needs to be tested or performed with other actions, or a room in which the robot should clean, etc.

Предлагаемая система, содержащаяся в электронном устройстве, дает команды электронному устройству исследовать целевую среду, для которой будут задаваться команды, и составляет карту (структуру) особенностей указанной целевой среды. Это достигается путем предварительного машинного обучения блоков системы, расположенной в электронном устройстве, либо с помощью пользователя, который через пользовательский интерфейс может сам ввести данные для создания карты или структуры особенностей целевой среды.The proposed system contained in the electronic device instructs the electronic device to investigate the target environment for which the commands will be given, and compiles a map (structure) of the features of the specified target environment. This is achieved by preliminary machine learning of the blocks of the system located in the electronic device, or by using a user who can enter data through the user interface to create a map or structure of the features of the target environment.

Другими словами, блоки системы предварительно обучены с помощью машинного обучения автоматически исследовать целевую среду и создавать карту или структуру целевой среды. При этом электронное устройство, содержащее предлагаемую систему, с помощью этой системы способно исследовать целевую среду, обнаруживать ее особенности и создавать карту целевой среды. Кроме того, предлагаемая система может решить проблему исследования целевой среды и составления карты целевой среды через взаимодействие с пользовательским интерфейсом, то есть в любой момент карта целевой среды может быть изменена, как необходимо пользователю. Предлагаемая система предписывает электронному устройству выполнять команды, поданные пользователем на естественном языке, используя составленную карту целевой среды. Причем электронное устройство будет взаимодействовать с целевой средой согласно карте целевой среды, которую система может изменять в любой момент в соответствии с интересами пользователя, например, через пользовательский интерфейс, а также автоматически, периодически заново исследуя целевую среду, например, через определенные промежутки времени, которые могут быть заданы пользователем.In other words, the blocks of the system are pre-trained using machine learning to automatically explore the target environment and create a map or structure of the target environment. Moreover, an electronic device containing the proposed system, with the help of this system is able to investigate the target environment, detect its features and create a map of the target environment. In addition, the proposed system can solve the problem of studying the target environment and mapping the target environment through interaction with the user interface, that is, at any time, the map of the target environment can be changed as needed by the user. The proposed system requires the electronic device to execute commands given by the user in a natural language using a compiled map of the target environment. Moreover, the electronic device will interact with the target environment according to the map of the target environment, which the system can change at any time in accordance with the interests of the user, for example, through the user interface, and also automatically, periodically re-examining the target environment, for example, at certain intervals, which can be set by user.

Система может обнаруживать семантические (смысловые) соотношения между элементами карты и способна следовать неточным человеческим командам в форме естественного языка. То есть, команды, которые требуют большого количества одинаковых действий могут быть автоматизированы.The system can detect semantic (semantic) relationships between map elements and is able to follow inaccurate human commands in the form of a natural language. That is, teams that require a large number of identical actions can be automated.

При предлагаемом подходе нет необходимости создавать специальное программное обеспечение для каждой отдельной задачи, которую должно выполнять электронное устройство.With the proposed approach, there is no need to create special software for each individual task that an electronic device should perform.

На фигуре 1 схематически показаны два режима работы системы автоматического выполнения электронным устройством команд, заданных пользователем на естественном языке.The figure 1 schematically shows two modes of operation of a system for automatically executing by an electronic device commands specified by a user in a natural language.

Предлагаемая система может работать в двух ключевых режимах. В первом режиме система формирует и обновляет карту целевой среды, во втором режиме система распознает и выполняет команды пользователя на естественном языке в соответствии с картой целевой среды, полученной в первом режиме или обновляя карту целевой среды непосредственно после получения команды пользователя.The proposed system can operate in two key modes. In the first mode, the system generates and updates the target environment map, in the second mode, the system recognizes and executes user commands in natural language in accordance with the target environment map received in the first mode or updating the target environment map immediately after receiving the user command.

Итак:So:

- в первом режиме система исследует целевую среду наиболее эффективным способом и строит карту целевой среды;- in the first mode, the system examines the target environment in the most efficient way and builds a map of the target environment;

- во втором режиме система распознает и выполняет команду пользователя на основании карты целевой среды.- in the second mode, the system recognizes and executes a user command based on a map of the target environment.

Во втором режиме система использует пользовательские команды и карту целевой среды, в качестве входной информации. В этом режиме система также может обновлять карту целевой среды по обратной связи с пользователем.In the second mode, the system uses user commands and a map of the target environment as input. In this mode, the system can also update the map of the target environment by feedback from the user.

Предлагаемая система также может выполнять пользовательские команды без заранее составленной карты целевой среды. При этом система может составлять карту целевой среды онлайн, то есть одновременно с получением команд от пользователя.The proposed system can also execute user commands without a pre-compiled map of the target environment. In this case, the system can map the target environment online, that is, at the same time as receiving commands from the user.

На фигуре 2 схематически представлен первый режим работы системы для автоматического выполнения электронным устройством команд, заданных на естественном языке. В первом режиме работы осуществляется машинное обучение для автоматического построения карты целевой среды без контроля пользователя.The figure 2 schematically shows the first mode of operation of the system for automatic execution by an electronic device of commands specified in a natural language. In the first mode of operation, machine learning is performed to automatically build a map of the target environment without user control.

В первом режиме работы принимают участие первый блок, содержащий агент, второй блок, содержащий предиктор, и третий блок, содержащий базу данных.In the first operation mode, the first block containing the agent, the second block containing the predictor, and the third block containing the database participate.

База данных может представлять собой нейронную сеть или объект, способный сохранять данные и обновлять их. В базе данных могут храниться данные, касающиеся целевой среды.The database may be a neural network or an object capable of storing data and updating it. The database may store data regarding the target environment.

Система для автоматического выполнения электронным устройством команд пользователя, работая в первом режиме, с помощью первого блока (агента) получает от целевой среды информацию, которая может представлять собой визуальную информацию, текстовую информацию или звуковую информацию, в зависимости вида среды, в которой должны выполняться команды пользователя.A system for automatically executing user commands by an electronic device, operating in the first mode, using the first block (agent), receives information from the target medium, which can be visual information, text information or sound information, depending on the type of medium in which the commands should be executed user.

Агент представляет собой блок, который может быть представлен алгоритмом машинного обучения, например, нейронной сетью, который служит для принятия решения о том, какое действие необходимо выполнить в текущем состоянии целевой среды.An agent is a block that can be represented by a machine learning algorithm, for example, a neural network, which serves to decide what action needs to be performed in the current state of the target environment.

Состояние целевой среды - это видимая (обозреваемая) предопределенная часть или вся целевая среда в данный момент времени. В случае с мобильным телефоном состояние целевой среды - это, например, экран мобильного телефона и вся информация о его настройках. Например, в случае с пылесосом уборщиком состояние целевой среды - это соответственно фотография дома в текущий момент и так далее.The state of the target environment is the visible (monitored) predetermined part or the entire target environment at a given time. In the case of a mobile phone, the state of the target environment is, for example, the screen of a mobile phone and all information about its settings. For example, in the case of a vacuum cleaner as a cleaner, the state of the target environment is respectively a photograph of the house at the current moment and so on.

Предиктор представляет собой второй блок, который может быть представлен алгоритмом машинного обучения, например, нейронной сетью, который служит для предсказания следующего состояния целевой среды при условии известности текущего состоянии и некоторого планируемого действия. Ошибка предсказания предиктором следующего состояния используется агентом для принятия решения о том насколько эффективно выбранное действие. Большая ошибка означает, что данное состояние менее исследовано, чем состояние, в котором мы получаем маленькую ошибку.The predictor is the second block, which can be represented by a machine learning algorithm, for example, a neural network, which serves to predict the next state of the target environment, provided that the current state is known and some planned action is taken. The prediction error by the predictor of the next state is used by the agent to decide how efficiently the selected action is. A large error means that this state is less investigated than the state in which we receive a small error.

В режиме обучения и в процессе работы, в каждый момент времени, агент видит только одно состояние целевой среды. Агент получает состояния целевой среды из своих сенсоров и на основании этого генерирует следующее действие, чтобы перейти в следующее состояние целевой среды. Задача агента - исследовать карту целевой среды. Соответственно агент обучается делать действия, которые ведут в наименее изведанные состояния (части) целевой среды. Степень изведанности определяется именно предиктором. Каждый раз перед тем как агент совершит действие, предиктор предсказывает результат этого действия, то есть в какое состояние целевой среды перейдет агент, иными словами, как будет выглядеть одно состояние, которое будет обозреваться (будет видимо) в следующий момент времени. После совершения действия агент видит реальное состояние целевой среды и соответственно может посчитать ошибку между реальностью и предсказанием, за счет этого происходит обучение и агента, и предиктора.In the training mode and in the process, at each moment of time, the agent sees only one state of the target environment. The agent obtains the state of the target environment from its sensors and, on the basis of this, generates the next action to go to the next state of the target environment. The agent's task is to examine the map of the target environment. Accordingly, the agent learns to do actions that lead to the least known states (parts) of the target environment. The degree of knowledge is determined precisely by the predictor. Each time before an agent performs an action, the predictor predicts the result of this action, that is, what state the target environment will go into, in other words, what one state will look like that will be visible (visible) at the next moment in time. After the action is taken, the agent sees the real state of the target environment and, accordingly, can calculate the error between reality and prediction, due to this both the agent and the predictor are trained.

Предиктор предсказывает следующее состояние целевой среды всегда, при получении информации от агента о намерении совершить действие. В моменты, когда агент наблюдает состояние сильно непохожее на то, которое предсказал предиктор, агент обновляет карту целевой среды. Таким образом агент и предиктор обучаются всегда и в паре. Предиктор обучается предсказывать следующее состояние целевой среды. Агент обучается направляться в наименее предсказуемые состояния целевой среды. Это происходит постоянно и на этапе построения карты, и на этапе взаимодействия с пользователем. Если карта уже построена, то обновления карты будут идти с меньшей интенсивностью, поскольку предсказания будут более-менее соответствовать реальности.The predictor predicts the next state of the target environment always, upon receipt of information from the agent about the intention to perform an action. At the moments when the agent observes a state very different from that predicted by the predictor, the agent updates the map of the target environment. Thus, the agent and the predictor are always trained and paired. The predictor is trained to predict the next state of the target environment. An agent is trained to head into the least predictable states of the target environment. This happens all the time both at the stage of map building and at the stage of interaction with the user. If the map is already built, then the map updates will go with less intensity, since the predictions will more or less correspond to reality.

Опишем подробнее работу агента и предиктора в первом режиме работы системы, на этапе построения карты целевой среды.Let us describe in more detail the work of the agent and predictor in the first mode of the system, at the stage of constructing a map of the target environment.

Режим 1. Построение карты целевой средыMode 1. Building a map of the target environment

А) Агент обозревает состояние целевой среды, выбирает действие (например, куда направить робот пылесос для дальнейшего исследования целевой среды). Прежде, чем выполнить действие, агент передает состояние целевой среды и выбранное действие предиктору.A) The agent reviews the state of the target environment, selects the action (for example, where to direct the robot vacuum cleaner for further study of the target environment). Before performing an action, the agent passes the state of the target environment and the selected action to the predictor.

Б) Предиктор по текущему состоянию целевой среды и выбранному агентом действию предсказывает следующее состояние целевой среды (то есть что увидит агент после выполнения действия), после чего передает предсказание агенту.B) The predictor of the current state of the target environment and the action selected by the agent predicts the next state of the target environment (that is, what the agent sees after the action is completed), and then transmits the prediction to the agent.

В) Агент выполняет выбранное в (А) действие (например, заставляет устройство робота-пылесоса повернуть и т.п.), получает реальное состояние целевой среды.C) The agent performs the action selected in (A) (for example, forces the robot cleaner to rotate, etc.), obtains the real state of the target environment.

Г) Агент сравнивает полученное реальное состояние с состоянием, полученным от предиктора, затем агент вычисляет ошибку предиктора.D) The agent compares the received real state with the state received from the predictor, then the agent calculates the predictor error.

Д) Агент, на основе вычисленной ошибки обучается находить состояния целевой среды с максимальной ошибкой предиктора. Предиктор, на основе вычисленной ошибки, обучается минизировать ошибку предсказания.E) An agent, based on the calculated error, is trained to find the state of the target environment with the maximum predictor error. A predictor, based on the calculated error, is trained to minimize the prediction error.

Е) В карту целевой среды записываются все состояния целевой среды, обнаруженные агентом, поочередно, просто в том порядке, в котором их выбирает агент и это важный момент, потому что агент старается выбрать наиболее актуальные, малоизученные состояния целевой среды за счет поиска состояний с максимальной ошибкой.E) All the states of the target environment detected by the agent are written to the target environment map, in turn, simply in the order in which the agent selects them and this is an important point, because the agent tries to select the most relevant, poorly studied states of the target environment by searching for states with the maximum a mistake.

Агент, как правило, получает информацию о целевой среде из датчиков, которые определяются непосредственно целевой средой.An agent, as a rule, receives information about the target environment from sensors that are determined directly by the target environment.

Предиктор получает на вход текущее состояние целевой среды и действие, которое агент собирается выполнить. Для каждой среды набор действий свой. Например, для задачи тестирования телефона набор действий может быть таким: нажатие на кнопку, свайп экрана и так далее. Для робота - это движение влево, вправо, прямо, назад) в текущем состоянии. По этим данным, полученным от агента, предиктор пытается предсказать следующее состояние целевой среды. После выполнения действия агент получает реальное состояние, передает предиктору и тот сравнивает реальное состояние с уже предсказанным. Таким образом агент получает ошибку предсказания предиктора.The predictor receives the current state of the target environment and the action that the agent is about to perform as an input. Each environment has its own set of actions. For example, for the task of testing the phone, the set of actions may be as follows: pressing a button, swipe the screen, and so on. For a robot, this is moving left, right, right, back) in the current state. Based on this data received from the agent, the predictor tries to predict the next state of the target environment. After the action is completed, the agent receives the real state, passes it to the predictor, and it compares the real state with the already predicted one. Thus, the agent receives a predictor prediction error.

Агент, воспринимая информацию от целевой среды, находится в фиксированном состоянии. Как только агент замечает, что в целевой среде произошли изменения, агент входит в состояние исследования части целевой среды, где произошли изменения, то есть состояния целевой среды, чтобы зафиксировать изменения. Изменение, происшедшее в целевой среде определяется с помощью обработки агентом входного сигнала, соответствующего данной среде.The agent, perceiving information from the target environment, is in a fixed state. As soon as the agent notices that changes have occurred in the target environment, the agent enters the state of investigation of the part of the target environment where the changes occurred, that is, the state of the target environment in order to record the changes. The change that occurred in the target environment is determined by the agent processing the input signal corresponding to this environment.

Предиктор предсказывает, что обнаружит агент, то есть какая информация поступит от агента в следующий момент времени. Затем агент получает реальную информацию. Предсказанная информация и реальная информация от агента поступает в базу данных. Предиктор не взаимодействует напрямую с базой данных. Агент записывает в базу данных наблюдаемые состояния в какой-либо форме, это может зависеть от реализации базы данных или другой структуры, которая используется для хранения карты.The predictor predicts what the agent will detect, that is, what information will come from the agent at the next point in time. Then the agent receives real information. Predicted information and real information from the agent enters the database. The predictor does not interact directly with the database. The agent writes the observable states to the database in some form, this may depend on the implementation of the database or other structure that is used to store the map.

Неверное предсказание предиктора и верная информация от агента используется для обучения агента и предиктора.Incorrect predictor prediction and correct information from the agent are used to train the agent and predictor.

Агент на основании наблюдаемых состояний целевой среды формирует обновленную карту целевой среды. Карта целевой среды может обновляться как в режиме сбора информации о среде, так и в режиме выполнения команды пользователя.Based on the observed states of the target environment, the agent forms an updated map of the target environment. The target environment map can be updated both in the environment information collection mode and in the user command execution mode.

На фигуре 3 схематически представлен второй режим работы системы для автоматического выполнения электронным устройством команд, заданных на естественном языке.The figure 3 schematically shows the second mode of operation of the system for automatic execution by an electronic device of commands specified in a natural language.

Во втором режиме работы система распознает и выполняет команду(-ы) пользователя, поданную пользователем на естественном языке.In the second mode of operation, the system recognizes and executes the user command (s) given by the user in a natural language.

Во втором режиме работы системы входные данные в виде команд пользователя и карты целевой среды из базы данных поступают в блок обработки команд.In the second mode of the system, the input data in the form of user commands and maps of the target environment from the database are received in the command processing unit.

Блок обработки команд создает языковую модель, подходящую для распознавания команды. Затем блок обработки команд формирует скрипт сценария, представляющий собой набор команд, которые будут выполняться непосредственно на электронном устройстве, в котором используется система, для соответствующей целевой среды. Скрипт сценария формируется на основе пользовательских команд и карты целевой среды в блоке обработки команд.The command processing block creates a language model suitable for command recognition. Then, the command processing unit generates a script script, which is a set of commands that will be executed directly on the electronic device in which the system is used for the corresponding target environment. Script script is formed based on user commands and maps of the target environment in the command processing block.

Скрипт сценария из блока обработки команд передается в агент, который выполняет скрипт сценария. Сценарий выполняется на основе наиболее перспективных и эффективных способов выполнения сценариев. Для каждого состояния целевой среды определяются наиболее подходящие команды, которые будут соответствовать полученным инструкциям. В первую очередь система пытается выполнить именно эти инструкции, причем если система не может выполнить такие инструкции, она ищет семантически ближайшие на основе составленной карты.The script script from the command processing block is transferred to the agent that runs the script script. The script is executed based on the most promising and effective ways to execute scripts. For each state of the target environment, the most suitable commands are determined that will correspond to the instructions received. First of all, the system tries to follow exactly these instructions, and if the system cannot execute such instructions, it searches semantically for the next ones based on the map compiled.

Карта целевой среды постоянно обновляется в базе данных, причем за обновление карты целевой среды отвечает агент, этот процесс может выполняться параллельно с выполнением сценария, то есть в режиме онлайн непосредственно при работе электронного устройства с пользователем.The target environment map is constantly updated in the database, and the agent is responsible for updating the target environment map, this process can be performed in parallel with the script execution, that is, online directly when the electronic device is working with the user.

Опишем подробнее режим работы системы, в котором выполняются команды пользователя.Let us describe in more detail the mode of operation of the system in which user commands are executed.

Режим 2. Выполнение команд пользователяMode 2. Execution of user commands

А) В блок обработки команд поступает команда(-ы) пользователя и карта целевой среды из базы данных.A) The command processing unit (s) of the user and the map of the target environment from the database are received in the command processing block.

Б) На основании команды пользователя и карты целевой среды блок обработки команд создает скрипт сценария выполнения команды пользователя.B) Based on the user command and the target environment map, the command processing block creates a script for the user command execution script.

В) Скрипт сценария (очередное действие) передается в агент, агент передает скрипт сценария в предиктор.C) The script script (the next action) is transferred to the agent, the agent passes the script script to the predictor.

Г) Агент и предиктор видят состояние целевой среды.D) Agent and predictor see the state of the target environment.

Если карта целевой среды, полученная блоком обработки команд от базы данных и использованная для составления скрипта сценария, совпадает с реальным состоянием целевой среды в момент выполнения агентом скрипта сценария, то агент выполняет скрипт сценария. If the target environment map received by the command processing unit from the database and used to compose the script script coincides with the actual state of the target environment at the moment the agent executes the script, the agent runs the script script.

Если же в момент выполнения скрипта сценария агентом реальное состояние целевой среды не совпадает с картой, полученной блоком обработки команд от базы данных и использованной для составления скрипта сценария,If, at the moment the agent executes the script, the real state of the target environment does not match the map received by the command processing unit from the database and used to compose the script,

агент определяет, что выполнение скрипта сценария невозможно,the agent determines that the script cannot be executed,

включается первый режим работы системы, в результате агент получает реальное состояние и предсказанное предиктором, их сравнивает, считает ошибку и перестраивает карту целевой среды,the first operating mode of the system is turned on, as a result, the agent receives the real state and predicted by the predictor, compares them, considers the error, and rebuilds the map of the target environment,

передает карту целевой среды в блок обработки команд и в базу данных,transmits a map of the target environment to the command processing unit and to the database,

блок обработки команд на основании новой карты целевой среды и той же команды пользователя создает новый скрипт сценария,the command processing unit, based on a new map of the target environment and the same user command, creates a new script script,

новый скрипт сценария передается агенту, и агент выполняет его.the new script is passed to the agent, and the agent executes it.

На фигуре 4 проиллюстрировано как меняется карта целевой среды на примере применения предлагаемой системы при тестировании мобильного телефона.The figure 4 illustrates how changing the map of the target environment for example, the application of the proposed system when testing a mobile phone.

Предположим, пользователь дает команду системе для автоматического выполнения электронным устройством команд найти опцию «Font size» в меню мобильного телефона. Suppose the user instructs the system to automatically execute electronic commands to find the “Font size” option in the mobile phone menu.

На фигуре 4 слева показана карта целевой среды, которая хранилась в системе на момент подачи команды от пользователя. Система изначально начинает использовать карту целевой среды, хранящуюся в базе данных, после подачи команды от пользователя второй модуль отвечает за непосредственное выполнение команды электронным устройством. Поскольку опция «Font size» не была найдена в мобильном телефоне при использовании карты целевой среды, автоматически включается режим исследования целевой среды и обновления карты целевой среды. То есть включается первый режим работы системы, описанный выше. Карта целевой среды обновляется в базе данных. Обновленная карта показана на фигуре 4 справа, после чего система переключается во второй режим работы для выполнения сценария исполнения команды.Figure 4 on the left shows a map of the target environment, which was stored in the system at the time of the command from the user. The system initially begins to use a map of the target environment stored in the database, after a command is sent from the user, the second module is responsible for the direct execution of the command by the electronic device. Since the “Font size” option was not found on the mobile phone when using the target environment map, the exploration of the target environment and updating the map of the target environment are automatically activated. That is, the first mode of operation of the system described above is turned on. The target environment map is updated in the database. The updated map is shown in figure 4 on the right, after which the system switches to the second mode of operation to execute the command execution script.

В системе может быть предусмотрен режим разведки, при включении которого, карта целевой среды может периодически обновляться.The system may include a reconnaissance mode, when it is turned on, a map of the target environment can be updated periodically.

На фигуре 5 показан пример второго режима работы системы при тестировании мобильного устройства. На вход блока обработки команд подается тестовый скрипт, то есть некоторое описание процесса воспроизведения ошибки, или какого-либо сценария на телефоне, которое задано на обычном человеческом языке, и карта целевой среды, полученная из базы данных. В данном конкретном случае целевой средой является приложение мобильного телефона, которое необходимо тестировать. В блоке обработки команд на основе карты приложения и тестового скрипта формируется скрипт сценария, в данном случае список команд, которые нужно запустить на мобильном телефоне, чтобы выполнить каждую из команд тестового скрипта. Из устройства обработки команд полученный список команд попадает в агент. Агент дает команду приложению смартфона воспроизводить команды по одной друг за другом или все одновременно, в зависимости от вида полученного списка команд. Таким образом, тестирование смартфона производится без вмешательства пользователя.The figure 5 shows an example of a second mode of operation of the system when testing a mobile device. A test script is submitted to the input of the command processing unit, that is, some description of the error reproducing process, or of any script on the phone that is set in the usual human language, and a map of the target environment obtained from the database. In this particular case, the target environment is the mobile phone application that needs to be tested. A script script is generated in the command processing block based on the application map and test script, in this case a list of commands that need to be run on the mobile phone to execute each of the test script commands. Received from the command processing device the list of commands goes to the agent. The agent gives a command to the smartphone application to play commands one by one or all at the same time, depending on the type of list of commands received. Thus, testing a smartphone is done without user intervention.

На фигуре 6 схематически показан второй режим работы системы при работе робота-уборщика. В базе данных происходит периодическое обновление карты целевой среды. На вход блока обработки данных подаются визуальные и/или голосовые команды пользователя. При получении голосовых команд от пользователя для их обработки используется устройство обработки голосовых команд, а для обработки визуальных команд используется устройство обработки визуальных команд, оба эти устройства находятся в блоке обработки команд. Также в блок обработки команд подается обновленная карта целевой среды. В данном случае целевой средой является помещение, в котором робот-помощник должен выполнять команды пользователя. После обработки команды пользователя и карты целевой среды, блок обработки команд формирует скрипт сценария, данные передаются в агент, который выдает соответствующий набор команд роботу-помощнику. Робот-помощник направляется к нужному месту и выполняет необходимое действие, например, уборку.The figure 6 schematically shows the second mode of operation of the system when the robot cleaner. The database periodically updates the map of the target environment. Visual and / or voice user commands are sent to the input of the data processing unit. Upon receipt of voice commands from the user, a voice command processing device is used to process them, and a visual command processing device is used to process visual commands, both of which are in the command processing block. An updated map of the target environment is also fed to the command processing block. In this case, the target environment is the room in which the assistant robot must execute user commands. After processing the user command and the map of the target environment, the command processing block generates a script script, the data is transferred to the agent, which issues the corresponding set of commands to the assistant robot. The assistant robot goes to the right place and performs the necessary action, for example, cleaning.

Если очередная команда не приводит к ожидаемому результату, либо если предиктор не может предсказать ожидаемый результат, это означает, что карта целевой среды изменилась. Обнаруживает это агент, который взаимодействует с предиктором. Если в ходе исполнения команд роботом обнаруживается, что карта целевой среды изменилась, то карта обновляется непосредственно перед передачей в блок обработки команд.If the next command does not produce the expected result, or if the predictor cannot predict the expected result, this means that the map of the target environment has changed. It detects an agent that interacts with the predictor. If during the execution of commands by the robot it is detected that the map of the target environment has changed, the map is updated immediately before being transmitted to the command processing unit.

В известных из уровня техники роботах-помощниках не используют машинное обучение, поэтому такие роботы могут выполнять только запрограммированный набор команд и не могут реагировать на нестандартную ситуацию.Assistant robots known from the prior art do not use machine learning, so such robots can only execute a programmed set of commands and cannot respond to an unusual situation.

Например, пользователь хочет, чтобы робот принес предмет. Если робот не может найти предмет на месте, которое храниться в его базе данных, он не сможет выполнить задачу, поскольку такой робот не может учиться и адаптироваться к неизвестным ситуациям.For example, a user wants a robot to bring an item. If the robot cannot find the item in the place that is stored in its database, it will not be able to complete the task, since such a robot cannot learn and adapt to unknown situations.

Робот-помощник, в котором используется предлагаемая система для автоматического выполнения электронным устройством команд, заданных пользователем на естественном языке, сможет адаптироваться к изменению положений предметов в онлайн-режиме, то есть непосредственно при получении команды от пользователя.Assistant robot using the proposed system for automatic execution by an electronic device of commands given by a user in a natural language, it will be able to adapt to changing the positions of objects in online mode, that is, directly upon receipt of a command from the user.

В конечном продукте, использующем предлагаемую систему для автоматического выполнения электронным устройством команд, заданных пользователем на естественном языке, робот-помощник сможет:In a final product that uses the proposed system to automatically execute electronic instructions by a user in natural language, the assistant robot will be able to:

Этап 1. Исследовать карту дома:Stage 1. Explore the map of the house:

Робот исследует окружающую (целевую) среду (например, дом), обновляет карту в базе данных, тренирует нейронную сеть: строит ассоциации (кухня - для еды, спальни - для сна и т. д.), изучает сходства и соотношения предметов и так далее. Необходимо заметить, что и агент, и предиктор имеют программные модули, являющиеся алгоритмами машинного обучения, соответственно, любой из них может быть нейронной сетью либо другим алгоритмом машинного обучения, способным к самообучению.The robot examines the environment (target) environment (for example, a house), updates the map in the database, trains the neural network: builds associations (kitchen - for food, bedrooms - for sleep, etc.), studies the similarities and proportions of objects, and so on . It should be noted that both the agent and the predictor have software modules that are machine learning algorithms, respectively, any of them can be a neural network or another machine learning algorithm capable of self-learning.

Этап 2. Выполнение команд:Stage 2. Execution of commands:

Робот обучен и готов выполнять команды.The robot is trained and ready to execute commands.

Блок обработки команд, например, содержащий нейронную сеть, переводит команды пользователя в последовательность действий - сценарий и передает сценарий в агент. Робот следует созданному сценарию. Если что-то пойдет не так на любом этапе, робот сможет адаптироваться, благодаря имеющимся в нейронной сети ассоциациям, полученным на стадии обучения, а также благодаря тому, что карта помещения может быть обновлена прямо в процессе выполнения роботом задания.An instruction processing unit, for example, containing a neural network, translates user commands into a sequence of actions — a script and transfers the script to the agent. The robot follows the created scenario. If something goes wrong at any stage, the robot will be able to adapt, thanks to the associations in the neural network obtained at the training stage, and also because the room map can be updated directly during the robot’s task.

Периодически такой робот должен обновлять свои знания благодаря наличию агента и предиктора.Periodically, such a robot must update its knowledge thanks to the presence of an agent and a predictor.

На фигуре 7 схематически показан еще один из примеров второго режима работы системы при использовании системы в качестве электронного помощника. Целевой средой в данном случае будет набор предпочтений и интересов пользователя. Такая информация собирается агентом, при наблюдении за предпочтениями пользователя, например, во время его интернет-серфинга, то есть собирается статистика посещения сайтов пользователем, просмотра видео, прослушивания музыки и т.п. Затем агент, на основании сортировки собранной информации с использованием статистики, которая отображает предпочтения пользователя, формирует карту интересов пользователя.The figure 7 schematically shows another example of a second mode of operation of the system when using the system as an electronic assistant. The target environment in this case will be a set of preferences and interests of the user. Such information is collected by the agent when observing the user's preferences, for example, during his Internet surfing, that is, statistics are collected on the user's visits to the sites, watching videos, listening to music, etc. Then the agent, on the basis of sorting the collected information using statistics that displays the user's preferences, forms a map of the user's interests.

В базе данных происходит периодическое обновление карты интересов пользователя.The database periodically updates the map of the user's interests.

На вход блока обработки команд подаются визуальные и/или речевые команды пользователя и карта интересов пользователя. В данном случае команды пользователя могут касаться, например, подбора новостей на одну тему или музыкальных треков, фильмов, или подбора в интернет-магазине продуктов, которые предпочитает пользователь, или выбора отеля и т.п.Visual and / or speech user commands and a map of user interests are fed to the input of the command processing block. In this case, user commands may concern, for example, the selection of news on one topic or music tracks, films, or the selection in the online store of products that the user prefers, or the choice of a hotel, etc.

При получении команд от пользователя и карты интересов устройство обработки команд формирует скрипт сценария и передает его в агент. Агент выдает электронному устройству соответствующие скрипту сценария команды по подбору, например, новостей, музыкальных треков или продуктов и т.п. или каких-либо рекомендаций, соответствующих запросу пользователя.When receiving commands from the user and the interest card, the command processing device generates a script script and passes it to the agent. The agent issues to the electronic device the appropriate script commands for selecting, for example, news, music tracks or products, etc. or any recommendations matching the user's request.

Здесь приведены лишь несколько примеров возможного использования предлагаемого изобретения. Предлагаемая система для автоматического выполнения электронным устройством команд, заданных пользователем на естественном языке может найти применения практически во всех сферах жизни человека, где используются электронные устройства.Here are just a few examples of possible uses of the invention. The proposed system for automatic execution by an electronic device of commands given by a user in a natural language can find applications in almost all spheres of human life where electronic devices are used.

Хотя изобретение описано в связи с некоторыми иллюстративными вариантами осуществления, следует понимать, что сущность изобретения, не ограничивается этими конкретными вариантами осуществления. Напротив, предполагается, что сущность изобретения включает в себя все альтернативы, коррекции и эквиваленты, которые могут быть включены в сущность и объем формулы изобретения.Although the invention has been described in connection with some illustrative embodiments, it should be understood that the invention is not limited to these specific embodiments. On the contrary, it is assumed that the invention includes all alternatives, corrections and equivalents that may be included in the essence and scope of the claims.

Кроме того, изобретение сохраняет все эквиваленты заявляемого изобретения, даже если пункты формулы изобретения изменяются в процессе рассмотрения.In addition, the invention retains all equivalents of the claimed invention, even if the claims change during the review process.

Claims (38)

1. Система автоматического выполнения электронным устройством по меньшей мере одной команды, содержащая:1. A system for automatically executing at least one command by an electronic device, comprising: агент, выполненный с возможностью сбора информации, касающейся среды, в которой должна выполняться по меньшей мере одна команда, с возможностью составления карты упомянутой среды на основе собранной информации;an agent configured to collect information regarding the environment in which the at least one team should be executed, with the ability to map the said environment based on the collected information; предиктор, выполненный с возможностью предсказания информации, которую собирает агент, причем агент и предиктор выполнены с возможностью обучения на основании информации, полученной агентом после предсказания;a predictor configured to predict information that the agent collects, the agent and the predictor configured to learn based on information received by the agent after the prediction; базу данных, выполненную с возможностью приема карты упомянутой среды от агента, хранения карты упомянутой среды, обновления карты упомянутой среды при получении от агента новой карты упомянутой среды;a database configured to receive a map of said environment from an agent, store a map of said environment, update a map of said environment upon receipt of a new map of said environment from an agent; блок обработки команд, выполненный с возможностью приема и обработки по меньшей мере одной команды в соответствии с картой упомянутой среды, и с возможностью формирования скрипта сценария выполнения по меньшей мере одной команды,a command processing unit, configured to receive and process at least one command in accordance with the map of the aforementioned environment, and with the possibility of generating a script for the execution of at least one command, причем агент также сконфигурирован для осуществления скрипта сценария выполнения по меньшей мере одной команды, полученного от блока обработки команд.moreover, the agent is also configured to implement a script script to execute at least one command received from the command processing unit. 2. Система по п.1, в которой агент выполнен с возможностью расчета ошибки предсказания предиктора.2. The system of claim 1, wherein the agent is configured to calculate a predictor prediction error. 3. Система по п.2, в которой на основании рассчитанной ошибки предсказания предиктора агент обучается находить состояния упомянутой среды с максимальной ошибкой предиктора.3. The system according to claim 2, in which, based on the calculated predictor prediction error, the agent is trained to find the states of the medium with the maximum predictor error. 4. Система по п.2, в которой на основании рассчитанной ошибки предсказания предиктора предиктор обучается минимизировать ошибку предсказания.4. The system of claim 2, wherein, based on the calculated predictor prediction error, the predictor is trained to minimize the prediction error. 5. Система по любому из пп.1-4, в которой по меньшей мере одной командой является команда пользователя.5. The system according to any one of claims 1 to 4, in which at least one command is a user command. 6. Система по п.5, в которой команда пользователя представляет собой визуальную информацию, или звуковую информацию, или текстовую информацию.6. The system of claim 5, wherein the user command is visual information, or audio information, or text information. 7. Система по любому из пп.1-6, в которой база данных представляет собой нейронную сеть.7. The system according to any one of claims 1 to 6, in which the database is a neural network. 8. Способ работы системы автоматического выполнения электронным устройством команд, содержащий этапы, на которых:8. A method of operating a system for automatically executing commands by an electronic device, comprising the steps of: а) агент:a) agent: обозревает текущее состояние среды, в которой должна выполняться по меньшей мере одна команда,surveys the current state of the environment in which at least one command should be executed, выбирает действие из множества действий, причемselects an action from a variety of actions, and прежде, чем выполнить действие, агент передает упомянутое текущее состояние среды и выбранное действие предиктору;before performing the action, the agent passes the mentioned current state of the environment and the selected action to the predictor; б) предиктор:b) predictor: по упомянутому текущему состоянию среды и выбранному агентом действию предсказывает последующее состояние упомянутой среды,by the said current state of the medium and the action selected by the agent, the subsequent state of the said medium is predicted, передает предсказание агенту;transmits the prediction to the agent; в) агент:c) agent: выполняет выбранное действие, при этом, получив информацию о реальном состоянии упомянутой среды: performs the selected action, while receiving information about the real state of the mentioned environment: сравнивает реальное состояние упомянутой среды с предсказанием, полученным от предиктора,compares the real state of said medium with the prediction received from the predictor, вычисляет ошибку предиктора,calculates the predictor error, на основании вычисленной ошибки обучается находить состояния упомянутой среды с максимальной ошибкой предиктора;based on the calculated error, it is trained to find the states of the mentioned medium with the maximum predictor error; г) предиктор, на основе вычисленной ошибки, обучается минимизировать ошибку;d) the predictor, on the basis of the calculated error, is trained to minimize the error; д) после каждого действия агент обновляет карту упомянутой среды, внося корректирующую информацию в карту упомянутой среды, и отправляет карту упомянутой среды в базу данных;d) after each action, the agent updates the map of the mentioned environment, entering the corrective information into the map of the mentioned environment, and sends the map of the mentioned environment to the database; е) база данных сохраняет карту упомянутой среды, полученную от агента;f) the database stores a map of the environment mentioned, received from the agent; ж) блок обработки команд:g) command processing unit: обрабатывает по меньшей мере одну команду в соответствии с картой упомянутой среды, полученной из базы данных,processes at least one command in accordance with a map of said environment obtained from a database, формирует скрипт сценария выполнения по меньшей мере одной команды на основе обработки по меньшей мере одной команды и карты упомянутой среды,generates a script for the execution of at least one command based on the processing of at least one command and a map of the above environment, передает скрипт сценария выполнения по меньшей мере одной команды в агент для выполнения,passes the script for the execution of at least one command to the agent for execution, причемmoreover в случае, когда карта упомянутой среды, сохраненная в базе данных, совпадает с текущим состоянием среды, в которой должна выполняться по меньшей мере одна команда, агент выполняет скрипт сценария выполнения по меньшей мере одной команды,in the case when the map of the mentioned environment stored in the database matches the current state of the environment in which at least one command should be executed, the agent executes the script for the execution of at least one command, в случае, когда карта упомянутой среды, сохраненная в базе данных, не совпадает с текущим состоянием среды, в которой должна выполняться по меньшей мере одна команда, повторяются этапы (а)-(ж).in the case when the map of said medium stored in the database does not coincide with the current state of the medium in which at least one command should be executed, steps (a) - (g) are repeated. 9. Способ по п.8, в котором по меньшей мере одной командой является команда пользователя.9. The method of claim 8, wherein the at least one command is a user command. 10. Способ по п.9, в котором команда пользователя представляет собой визуальную информацию, или звуковую информацию, или текстовую информацию.10. The method according to claim 9, in which the user command is visual information, or audio information, or text information. 11. Электронное устройство, содержащее систему по любому из пп.1-7.11. An electronic device containing a system according to any one of claims 1 to 7.
RU2018145203A 2018-12-19 2018-12-19 System and method for automatic execution of user-defined commands RU2701090C1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2018145203A RU2701090C1 (en) 2018-12-19 2018-12-19 System and method for automatic execution of user-defined commands
PCT/KR2019/018132 WO2020130687A1 (en) 2018-12-19 2019-12-19 System and method for automated execution of user-specified commands

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018145203A RU2701090C1 (en) 2018-12-19 2018-12-19 System and method for automatic execution of user-defined commands

Publications (1)

Publication Number Publication Date
RU2701090C1 true RU2701090C1 (en) 2019-09-24

Family

ID=68063281

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018145203A RU2701090C1 (en) 2018-12-19 2018-12-19 System and method for automatic execution of user-defined commands

Country Status (2)

Country Link
RU (1) RU2701090C1 (en)
WO (1) WO2020130687A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240012738A1 (en) * 2022-07-11 2024-01-11 Dell Products L.P. Defect recreation

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130254139A1 (en) * 2012-03-21 2013-09-26 Xiaoguang Lei Systems and methods for building a universal intelligent assistant with learning capabilities
US20140095931A1 (en) * 2012-09-28 2014-04-03 Sivasakthivel Sadasivam Method and system for automating the process of testing a device
RU2542937C2 (en) * 2011-09-30 2015-02-27 Эпл Инк. Using context information to facilitate command processing in virtual assistant
US20160210224A1 (en) * 2011-05-08 2016-07-21 Panaya Ltd. Generating a test scenario template from runs of test scenarios belonging to different organizations
US20170024312A1 (en) * 2012-03-13 2017-01-26 Truemetrics Llc System and methods for automated testing of functionally complex systems
RU2631975C2 (en) * 2014-08-29 2017-09-29 Общество С Ограниченной Ответственностью "Яндекс" Method and system for user input command processing
WO2018084808A1 (en) * 2016-11-04 2018-05-11 Singapore University Of Technology And Design Computer-implemented method and data processing system for testing device security

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10073953B2 (en) * 2002-10-01 2018-09-11 World Award Academy, World Award Foundation, Amobilepay, Inc. Wearable personal digital device for facilitating mobile device payments and personal use
KR101807948B1 (en) * 2016-04-18 2017-12-11 한양대학교 산학협력단 Ensemble of Jointly Trained Deep Neural Network-based Acoustic Models for Reverberant Speech Recognition and Method for Recognizing Speech using the same
US10521723B2 (en) * 2016-12-14 2019-12-31 Samsung Electronics Co., Ltd. Electronic apparatus, method of providing guide and non-transitory computer readable recording medium
US10313441B2 (en) * 2017-02-13 2019-06-04 Bank Of America Corporation Data processing system with machine learning engine to provide enterprise monitoring functions
US10721088B2 (en) * 2017-05-23 2020-07-21 BrainofT Inc. Multi-modal interactive home-automation system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160210224A1 (en) * 2011-05-08 2016-07-21 Panaya Ltd. Generating a test scenario template from runs of test scenarios belonging to different organizations
RU2542937C2 (en) * 2011-09-30 2015-02-27 Эпл Инк. Using context information to facilitate command processing in virtual assistant
US20170024312A1 (en) * 2012-03-13 2017-01-26 Truemetrics Llc System and methods for automated testing of functionally complex systems
US20130254139A1 (en) * 2012-03-21 2013-09-26 Xiaoguang Lei Systems and methods for building a universal intelligent assistant with learning capabilities
US20140095931A1 (en) * 2012-09-28 2014-04-03 Sivasakthivel Sadasivam Method and system for automating the process of testing a device
RU2631975C2 (en) * 2014-08-29 2017-09-29 Общество С Ограниченной Ответственностью "Яндекс" Method and system for user input command processing
WO2018084808A1 (en) * 2016-11-04 2018-05-11 Singapore University Of Technology And Design Computer-implemented method and data processing system for testing device security

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240012738A1 (en) * 2022-07-11 2024-01-11 Dell Products L.P. Defect recreation

Also Published As

Publication number Publication date
WO2020130687A1 (en) 2020-06-25

Similar Documents

Publication Publication Date Title
Lade et al. Manufacturing analytics and industrial internet of things
US9407861B2 (en) User interface tool kit for mobile devices
US20200050942A1 (en) Deep learning model for cloud based technical support automation
CN105408919B (en) Inquiry response equipment
JP6941134B2 (en) Assistance systems, methods, and programs to assist users in performing tasks
US11654552B2 (en) Backup control based continuous training of robots
CN109886848B (en) Data processing method, device, medium and electronic equipment
Dawarka et al. Building and evaluating cloud robotic systems: A systematic review
WO2021066796A1 (en) Modeling human behavior in work environments using neural networks
RU2701090C1 (en) System and method for automatic execution of user-defined commands
CN112596731A (en) Programming teaching system and method integrating intelligent education
WO2019104304A1 (en) Accelerated simulation setup process using prior knowledge extraction for problem matching
Peltason et al. Mixed-initiative in human augmented mapping
Kernan Freire et al. Harnessing large language models for cognitive assistants in factories
Xiao et al. Robot learning in the era of foundation models: A survey
JP7428769B2 (en) Human-robot collaboration for flexible and adaptive robot learning
EP3948683A1 (en) Methods and systems for operating applications through user interfaces
Tegen et al. Active learning and machine teaching for online learning: a study of attention and labelling cost
Fu A Research on the Realization Algorithm of Internet of Things Function for Smart Education
Jacomini Prioli et al. Empirical study for human engagement in collaborative robot programming
US20190347117A1 (en) Virtual action-based troubleshooter
CN113157252B (en) Electromagnetic signal general distributed intelligent processing and analyzing platform and method
Panagou et al. Human gesture system in Human Robot Interaction for reliability analysis
Basyuk et al. Peculiarities of organizing the workspace using machine learning methods
US20230196935A1 (en) Systems and methods for managing experiential course content