Система и способ для автоматического выполнения команд, заданных пользователем

Изобретение относится к способу, электронному устройству и системе автоматического выполнения команды. Технический результат заключается в обеспечении автоматического выполнения команды. Система содержит агент, обеспечивающий сбор информации о среде, в которой должна выполняться команда, и составление карты среды на основе собранной информации, предиктор, обеспечивающий предсказание информации, которую собирает агент, причем агент и предиктор выполнены с возможностью обучения на основании информации, полученной агентом после предсказания, базу данных для получения, хранения и обновления карты среды, блок обработки команд, обеспечивающий прием и обработку команды в соответствии с картой среды, и формирование скрипта сценария выполнения команды, причем агент обеспечивает осуществление скрипта сценария выполнения команды, полученного от блока обработки команд. 3 н. и 8 з.п. ф-лы, 7 ил.

 

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

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

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

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

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

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

Из уровня техники известен документ US 20130254139 A1, опубликованный 26.09.2013, в котором раскрыты системы и способы построения универсального интеллектуального помощника с возможностью обучения. Раскрытые в документе системы и способы связаны с созданием интеллектуального помощника, который может воспринимать человеческие запросы/команды в простой текстовой форме, также в формате естественного языка, и выполнять задачи, поставленные пользователем. Причем перед использованием пользователь сам должен обучить помощника через предоставленный пользовательский интерфейс и/или использовать только некоторые знания, которые уже знает помощник. Обучаемый помощник может генерировать более общие знания, основанные на том, что он изучает, и может применять более общие знания для выполнения команд, которые он никогда не видел и никогда не изучал напрямую, и может пересматривать и улучшать знания в соответствии с результатом по обратной связи. В документе не раскрываются способы обучения помощника сразу во время его работы, то есть в режиме онлайн.

Из уровня техники известен документ US 20140095931 A1, опубликованный 03.04.2014, в котором раскрыты способ и система для автоматизации процесса тестирования электронных устройств. Известное решение обеспечивает основу автоматизации тестирования устройств для автоматизации тестирования встроенных систем. Механизм автоматизации тестирования устройств (DTAF) позволяет пользователю тестировать программное обеспечение встроенного устройства с помощью тестовых сценариев, которые могут захватывать различные интерфейсы тестируемого устройства. Графический интерфейс пользователя (инструмент GUI) создается на основе устройства, находящегося в тестовой конфигурации и пользовательского ввода. Этот инструмент GUI показывает различные интерфейсы тестируемого устройства. Аппаратное обеспечение автоматизации тестирования устройств обеспечивает связь между тестовым инструментом и тестируемым устройством. DTAF позволяет процессу тестирования значительно повысить производительность, эффективность и охват тестированием встроенного программного обеспечения. Недостатком известного решения является то, что не используется машинное обучение, то есть не допускается изменений в пользовательском интерфейсе.

Из уровня техники на данный момент известны два подхода к тестированию смартфонов.

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

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

Сущность изобретения

Предлагается интеллектуальная система для выполнения команд электронным устройством, которая отличается от известных приложений двумя ключевыми характеристиками:

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

Такие устройства, используя собранную информацию, способны выполнять команды, которые задает человек.

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

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

Также предлагается способ работы системы автоматического выполнения электронным устройством команд, содержащий этапы, на которых:

а) агент:

обозревает текущее состояние среды, в которой должна выполняться по меньшей мере одна команда,

выбирает действие из множества действий, причем

прежде, чем выполнить действие, агент передает упомянутое текущее состояние среды и выбранное действие предиктору;

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

по упомянутому текущему состоянию целевой среды и выбранному агентом действию предсказывает последующее состояние упомянутой среды,

передает предсказание агенту;

в) агент:

выполняет выбранное действие, при этом, получив информацию о реальном состоянии упомянутой среды:

сравнивает реальное состояние упомянутой среды с предсказанием, полученным от предиктора,

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

на основании вычисленной ошибки обучается находить состояния упомянутой среды с максимальной ошибкой предиктора;

г) предиктор, на основе вычисленной ошибки, обучается минимизировать ошибку;

д) после каждого действия агент обновляет карту упомянутой среды, внося корректирующую информацию в карту упомянутой среды и отправляет карту упомянутой среды в базу данных;

е) база данных сохраняет карту упомянутой среды, полученную от агента;

ж) блок обработки команд:

обрабатывает по меньшей мере одну команду в соответствии с картой упомянутой среды, полученной из базы данных,

формирует скрипт сценария выполнения по меньшей мере одной команды на основе обработки по меньшей мере одной команды и карты упомянутой среды,

передает скрипт сценария выполнения по меньшей мере одной команды в агент для выполнения,

причем

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

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

Причем по меньшей мере одной командой является команда пользователя. Причем которой команда пользователя представляет собой визуальную информацию, или звуковую информацию, или текстовую информацию.

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

Краткое описание чертежей

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

Фиг. 1 cхематически показаны два режима работы системы автоматического выполнения электронным устройством команд, заданных на естественном языке.

Фиг. 2 cхематически представлен первый режим работы системы для автоматического выполнения электронным устройством команд, заданных на естественном языке.

Фиг. 3 cхематически представлен второй режим работы системы для автоматического выполнения электронным устройством команд, заданных на естественном языке.

Фиг. 4 иллюстрирует, как меняется карта целевой среды на примере применения предлагаемой системы при тестировании мобильного телефона.

Фиг. 5 схематически показан второй режим работы системы при тестировании мобильного устройства.

Фиг. 6 схематически показан второй режим работы системы при работе робота-уборщика.

Фиг.7 схематически показан второй режим работы системы при использовании системы в качестве электронного помощника.

Подробное описание изобретения

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

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

Под естественным языком здесь подразумевается человеческая речь, человеческие жесты и человеческая мимика.

Предлагаемая система получает данные от источника команды, которая может быть визуальной, звуковой, текстовой, и пространства (целевой среды), в котором система должна выполнять команды.

Целевой средой здесь будет называться среда, в которой выполняются команды пользователя. Это может быть, например, приложение смартфона, которое нужно протестировать или выполнить с ним другие действия, или комната, в которой робот должен провести уборку и т.п.

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

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

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

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

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

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

Итак:

- в первом режиме система исследует целевую среду наиболее эффективным способом и строит карту целевой среды;

- во втором режиме система распознает и выполняет команду пользователя на основании карты целевой среды.

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

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

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

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

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

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

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

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

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

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

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

Опишем подробнее работу агента и предиктора в первом режиме работы системы, на этапе построения карты целевой среды.

Режим 1. Построение карты целевой среды

А) Агент обозревает состояние целевой среды, выбирает действие (например, куда направить робот пылесос для дальнейшего исследования целевой среды). Прежде, чем выполнить действие, агент передает состояние целевой среды и выбранное действие предиктору.

Б) Предиктор по текущему состоянию целевой среды и выбранному агентом действию предсказывает следующее состояние целевой среды (то есть что увидит агент после выполнения действия), после чего передает предсказание агенту.

В) Агент выполняет выбранное в (А) действие (например, заставляет устройство робота-пылесоса повернуть и т.п.), получает реальное состояние целевой среды.

Г) Агент сравнивает полученное реальное состояние с состоянием, полученным от предиктора, затем агент вычисляет ошибку предиктора.

Д) Агент, на основе вычисленной ошибки обучается находить состояния целевой среды с максимальной ошибкой предиктора. Предиктор, на основе вычисленной ошибки, обучается минизировать ошибку предсказания.

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

Агент, как правило, получает информацию о целевой среде из датчиков, которые определяются непосредственно целевой средой.

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

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

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

Неверное предсказание предиктора и верная информация от агента используется для обучения агента и предиктора.

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

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

Во втором режиме работы система распознает и выполняет команду(-ы) пользователя, поданную пользователем на естественном языке.

Во втором режиме работы системы входные данные в виде команд пользователя и карты целевой среды из базы данных поступают в блок обработки команд.

Блок обработки команд создает языковую модель, подходящую для распознавания команды. Затем блок обработки команд формирует скрипт сценария, представляющий собой набор команд, которые будут выполняться непосредственно на электронном устройстве, в котором используется система, для соответствующей целевой среды. Скрипт сценария формируется на основе пользовательских команд и карты целевой среды в блоке обработки команд.

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

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

Опишем подробнее режим работы системы, в котором выполняются команды пользователя.

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

А) В блок обработки команд поступает команда(-ы) пользователя и карта целевой среды из базы данных.

Б) На основании команды пользователя и карты целевой среды блок обработки команд создает скрипт сценария выполнения команды пользователя.

В) Скрипт сценария (очередное действие) передается в агент, агент передает скрипт сценария в предиктор.

Г) Агент и предиктор видят состояние целевой среды.

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

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

агент определяет, что выполнение скрипта сценария невозможно,

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

передает карту целевой среды в блок обработки команд и в базу данных,

блок обработки команд на основании новой карты целевой среды и той же команды пользователя создает новый скрипт сценария,

новый скрипт сценария передается агенту, и агент выполняет его.

На фигуре 4 проиллюстрировано как меняется карта целевой среды на примере применения предлагаемой системы при тестировании мобильного телефона.

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

На фигуре 4 слева показана карта целевой среды, которая хранилась в системе на момент подачи команды от пользователя. Система изначально начинает использовать карту целевой среды, хранящуюся в базе данных, после подачи команды от пользователя второй модуль отвечает за непосредственное выполнение команды электронным устройством. Поскольку опция «Font size» не была найдена в мобильном телефоне при использовании карты целевой среды, автоматически включается режим исследования целевой среды и обновления карты целевой среды. То есть включается первый режим работы системы, описанный выше. Карта целевой среды обновляется в базе данных. Обновленная карта показана на фигуре 4 справа, после чего система переключается во второй режим работы для выполнения сценария исполнения команды.

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

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

На фигуре 6 схематически показан второй режим работы системы при работе робота-уборщика. В базе данных происходит периодическое обновление карты целевой среды. На вход блока обработки данных подаются визуальные и/или голосовые команды пользователя. При получении голосовых команд от пользователя для их обработки используется устройство обработки голосовых команд, а для обработки визуальных команд используется устройство обработки визуальных команд, оба эти устройства находятся в блоке обработки команд. Также в блок обработки команд подается обновленная карта целевой среды. В данном случае целевой средой является помещение, в котором робот-помощник должен выполнять команды пользователя. После обработки команды пользователя и карты целевой среды, блок обработки команд формирует скрипт сценария, данные передаются в агент, который выдает соответствующий набор команд роботу-помощнику. Робот-помощник направляется к нужному месту и выполняет необходимое действие, например, уборку.

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

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

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

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

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

Этап 1. Исследовать карту дома:

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

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

Робот обучен и готов выполнять команды.

Блок обработки команд, например, содержащий нейронную сеть, переводит команды пользователя в последовательность действий - сценарий и передает сценарий в агент. Робот следует созданному сценарию. Если что-то пойдет не так на любом этапе, робот сможет адаптироваться, благодаря имеющимся в нейронной сети ассоциациям, полученным на стадии обучения, а также благодаря тому, что карта помещения может быть обновлена прямо в процессе выполнения роботом задания.

Периодически такой робот должен обновлять свои знания благодаря наличию агента и предиктора.

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

В базе данных происходит периодическое обновление карты интересов пользователя.

На вход блока обработки команд подаются визуальные и/или речевые команды пользователя и карта интересов пользователя. В данном случае команды пользователя могут касаться, например, подбора новостей на одну тему или музыкальных треков, фильмов, или подбора в интернет-магазине продуктов, которые предпочитает пользователь, или выбора отеля и т.п.

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

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

Хотя изобретение описано в связи с некоторыми иллюстративными вариантами осуществления, следует понимать, что сущность изобретения, не ограничивается этими конкретными вариантами осуществления. Напротив, предполагается, что сущность изобретения включает в себя все альтернативы, коррекции и эквиваленты, которые могут быть включены в сущность и объем формулы изобретения.

Кроме того, изобретение сохраняет все эквиваленты заявляемого изобретения, даже если пункты формулы изобретения изменяются в процессе рассмотрения.

1. Система автоматического выполнения электронным устройством по меньшей мере одной команды, содержащая:

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

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

базу данных, выполненную с возможностью приема карты упомянутой среды от агента, хранения карты упомянутой среды, обновления карты упомянутой среды при получении от агента новой карты упомянутой среды;

блок обработки команд, выполненный с возможностью приема и обработки по меньшей мере одной команды в соответствии с картой упомянутой среды, и с возможностью формирования скрипта сценария выполнения по меньшей мере одной команды,

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

2. Система по п.1, в которой агент выполнен с возможностью расчета ошибки предсказания предиктора.

3. Система по п.2, в которой на основании рассчитанной ошибки предсказания предиктора агент обучается находить состояния упомянутой среды с максимальной ошибкой предиктора.

4. Система по п.2, в которой на основании рассчитанной ошибки предсказания предиктора предиктор обучается минимизировать ошибку предсказания.

5. Система по любому из пп.1-4, в которой по меньшей мере одной командой является команда пользователя.

6. Система по п.5, в которой команда пользователя представляет собой визуальную информацию, или звуковую информацию, или текстовую информацию.

7. Система по любому из пп.1-6, в которой база данных представляет собой нейронную сеть.

8. Способ работы системы автоматического выполнения электронным устройством команд, содержащий этапы, на которых:

а) агент:

обозревает текущее состояние среды, в которой должна выполняться по меньшей мере одна команда,

выбирает действие из множества действий, причем

прежде, чем выполнить действие, агент передает упомянутое текущее состояние среды и выбранное действие предиктору;

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

по упомянутому текущему состоянию среды и выбранному агентом действию предсказывает последующее состояние упомянутой среды,

передает предсказание агенту;

в) агент:

выполняет выбранное действие, при этом, получив информацию о реальном состоянии упомянутой среды:

сравнивает реальное состояние упомянутой среды с предсказанием, полученным от предиктора,

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

на основании вычисленной ошибки обучается находить состояния упомянутой среды с максимальной ошибкой предиктора;

г) предиктор, на основе вычисленной ошибки, обучается минимизировать ошибку;

д) после каждого действия агент обновляет карту упомянутой среды, внося корректирующую информацию в карту упомянутой среды, и отправляет карту упомянутой среды в базу данных;

е) база данных сохраняет карту упомянутой среды, полученную от агента;

ж) блок обработки команд:

обрабатывает по меньшей мере одну команду в соответствии с картой упомянутой среды, полученной из базы данных,

формирует скрипт сценария выполнения по меньшей мере одной команды на основе обработки по меньшей мере одной команды и карты упомянутой среды,

передает скрипт сценария выполнения по меньшей мере одной команды в агент для выполнения,

причем

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

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

9. Способ по п.8, в котором по меньшей мере одной командой является команда пользователя.

10. Способ по п.9, в котором команда пользователя представляет собой визуальную информацию, или звуковую информацию, или текстовую информацию.

11. Электронное устройство, содержащее систему по любому из пп.1-7.



 

Похожие патенты:

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

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

Изобретение относится к области вычислительной техники. Техническим результатом является обеспечение обучения модели обнаружения вредоносных контейнеров.

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

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

Изобретение относится к области вычислительной техники. Техническим результатом является определение параметра качества прогноза для дерева решений в прогностической модели дерева решений.

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

Изобретение относится к вычислительной технике. Технический результат – предоставление логических ответов, которые подражают стилю речи пользователя.

Группа изобретений относится к вычислительной технике и может быть использована для создания прогностической модели. Техническим результатом является обеспечение преобразования значения категориального фактора в его числовое представление.

Изобретение относится к вычислительной технике. Технический результат – обеспечение перевода исходного предложения целевым предложением.

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

Изобретение относится к способу ускоренного декодирования линейного кода. Технический результат заключается в повышении скорости декодирования.

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

Изобретение относится к вычислительной технике. Технический результат заключается в предотвращении потери данных.

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

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

Группа изобретений относится к области вычислительной техники и может быть использована для анализа отказов в распределительных системах. Техническим результатом является обеспечение визуальных инструментов для анализа отказов.

Изобретение относится области электротехники для наблюдения за соблюдением правил техники безопасности сотрудниками. Технический результат направлен на расширение арсенала средств того же назначения.

Изобретение относится к области электротехники. Техническим результатом изобретения является создание автоматизированного аппарата маркировки и тестирования USB-устройств.

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

Изобретение относится к области вычислительной техники. Техническим результатом является более экономное использование вычислительных ресурсов при обработке рабочей нагрузки при сбое связи. Раскрыт компьютерно-реализуемый способ обработки рабочей нагрузки при сбое связи, содержащий этапы, на которых: назначают посредством главного узла рабочую нагрузку первому узлу; соотносят первый идентификатор поколения и идентификатор рабочей нагрузки с рабочей нагрузкой; передают первый идентификатор поколения, идентификатор рабочей нагрузки и рабочую нагрузку в первый узел; принимают от первого узла запрос доступа к узлу в системе хранения данных для доступа к целевым данным, при этом первый идентификатор поколения и идентификатор рабочей нагрузки предоставляются с данным запросом для идентификации первого узла и соответствующей ему рабочей нагрузки; в течение сбоя связи между главным узлом и первым узлом, генерируют второй идентификатор поколения, соотносят второй идентификатор поколения с рабочей нагрузкой и передают второй идентификатор поколения, идентификатор рабочей нагрузки и рабочую нагрузку во второй узел, при этом второй идентификатор поколения указывает приоритет, отличающийся от первого идентификатора поколения; принимают от второго узла запрос доступа к упомянутому узлу в системе хранения данных для доступа к целевым данным, при этом второй идентификатор поколения и идентификатор рабочей нагрузки предоставляются с данным запросом для идентификации второго узла и рабочей нагрузки; определяют посредством системы хранения данных, указывает ли второй идентификатор поколения более высокий или более низкий приоритет нежели первый идентификатор поколения; и определяют, удовлетворить ли принятый от второго узла запрос доступа в отношении целевых данных, на основе приоритетов, указываемых первым и вторым идентификаторами поколения, соответственно. 2 н. и 2 з.п. ф-лы, 9 ил.
Наверх