Способы и системы для управления диалогами робота - RU2690071C2

Код документа: RU2690071C2

Чертежи

Описание

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

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

УРОВЕНЬ ТЕХНИКИ

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

Существующие системы для синтеза речи или голоса наиболее пассивны и однородны: помимо нескольких вариантов наподобие выборов мужского или женского голоса, тон машины генерации речи, напротив, является нейтральным. Кроме того, предусмотренным ответам недостает культурных ссылок. Задачей промышленных или потребительских систем голосового ответа, строго говоря, является обеспечение приемлемых для всех ответов, т.е. понятных как можно более широкому кругу пользователей. Это позволяет избегать любых контекстуальных и особенно культурных ссылок. Голосовые команды, в общем случае, ограничиваются конкретными контекстами. Например, программное обеспечение голосовой диктовки используется в основном, применительно к автономной прикладной программе (например, программному обеспечению редактирования текста). Согласно некоторым признакам доступности, все более снабженным современными операционными системами, пользователи могут использовать голосовые команды для осуществления определенных действий (например, запуска приложения, копирования и вставки, и т.д.). Эти заранее заданные действия, напротив, ограничены. Такие визуальные или звуковые режимы взаимодействия, в общем случае, являются пассивными (например, пользователи активно отдают команды, и машина исполняет команды). Даже с последними моделями компьютерного взаимодействия, например, реализованными, например, в системах ответа, ограниченные взаимодействия происходят от машины к пользователю.

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

Существует потребность в способах и системах управления диалогами или разговорами между роботом и пользователем-человеком.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Активно или пассивно собранная информация о пользователе (например, формирование профиля пользователя или объявленные пользователем предпочтения), можно использовать как вход для условий запуска (например, голосовое оформление или шаблон диалога следует запускать только, если пользователь любит "Bienvenue chez les Ch'tis"). Могут осуществляться механизмы машинного обучения: голосовые оформления или шаблоны диалога, запускаемые или выполняемые системой, будут оценивать в зависимости от полученной информации о пользователе.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

фиг. 1 демонстрирует глобальное техническое окружение изобретения;

фиг. 2 детализирует некоторые аспекты варианта осуществления способа.

ПОДРОБНОЕ ОПИСАНИЕ

Ниже определены термины "диалог", "диалоговая машина", "диалоговый режим", "тема диалога", "контент диалога", "голосовое оформление диалога".

"Диалог" означает глобальное аудиовзаимодействие с одним или более пользователями. "Диалог" содержит заранее сформулированные предложения и правила для выражения и управления этими заранее сформулированными предложениями. "Диалог" регулируется "диалоговой машиной", которая соответствует логике, управляющей правилами и предложениями. В частности, "диалог" может соответствовать множеству "диалоговых режимов" (которые соответствуют результатам различных комбинаций предложений, выраженных с помощью конкретного представления аудио, например, предложения A, выраженного с помощью тона 1 и основного тона 1, предложения A, выраженного с помощью тона 1 и основного тона 2, предложения B, выраженного с помощью скорости 3, и т.д.) a). "Диалог" состоит из "тем диалога". "Тема диалога" представляет собой динамическое хранилище, которое содержит a) данные и b) программы. Данные содержат "контент диалога" (т.е. самую суть, например, коллекцию заранее заданных предложений) и "голосовое оформление диалога" (т.е. форму, например, речевые параметры голоса, например, скорость, тон, частоту и основной тон). Программы (например, скрипты) содержат логические правила для управления динамическими взаимодействиями диалога (например, правила для управления переходами между темами, для управления приоритетами тем, для ситуаций возврата и т.д.).

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

Таким образом, тема диалога может, содержать 1) предложения и/или правила инициирования, позволяющие пользователю входить в тему, 2) варианты предложений, которые упомянутый робот должен произносить для того, чтобы говорить по теме и задавать вопросы 3) предложения и/или правила для управления ответами пользователя, 4) предложения и/или правила для явного управления переходами между темами, 5) предложения и/или правила для управления ситуациями возврата.

Каждая тема диалога может быть связана с метаданными, содержащими a) семантическое описание, которое, в основном, используемый для принятия решения на запуск или исполнение прикладной программы b) контекстуальный правила запуска (возрастные группы, количества людей, местоположение, время суток) c) правила урегулирования конфликтов (когда несколько приложений состязаются за право выполнения (соответствующие уровни приоритета могут разрешать такие конфликты) d) предложения возврата в случае конфликтов или ошибок (например, предложение возврата может иметь вид "Я устал, почему бы не заняться чем-нибудь другим?") d) прочие, например, приоритеты, выраженные как указания (значения) и/или правила (логические выражения). В частности, a тема диалога может быть связана с порядком приоритетов. Конкретные части темы диалога могут быть связаны с подприоритетами.

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

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

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

Прикладные программы могут быть взаимозависимыми. Например, поскольку прикладные программы могут представлять сложные объекты, могут наблюдаться "переходы" между априори различными прикладными программами (или темами диалога). На планшетном компьютере, погодная прикладная программа обеспечивает метеорологические данные, тогда как прикладная программа рисования обеспечивает инструменты рисования. на роботе, робот может сопровождать устный результат "температура снаружи -10°C" и/или изображать снеговика на листе бумаги (и/или символически обозначать наружный холод комбинацией жестов). Другими словами, в результате многорежимного выхода, прикладные программы или темы диалога могут дополнительно комбинироваться (например, на выходных уровнях или на более низких уровнях, переменные или параметры или скрипты могут совместно использоваться или модифицироваться между прикладными программами).

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

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

"Оформление диалога" или "голосовое оформление диалога" означает модификации представления аудио. Такие модификации представления аудио влияют на "форму" (например, частоту, скорость, основной тон и тон). Другими словами, применение оформления диалога может радикально изменять выразительность роботов, не изменяя лежащие в основе заранее сформулированные предложения. Влияние модификации речевого взаимодействия с роботами можно оценивать на разных уровнях: контента (существа) и/или формы (тонов и т.д.). Голосовое оформление может содержать параметры, позволяющие имитировать определенные голоса. Разнесением параметров голоса можно оперировать для управления синтезом речи. Параметры голоса содержат частоту (определение, будет ли робот говорить более резко или глубоко), скорость (насколько быстро или медленно будет говорить робот), тон (например, если актер Сильвестр Сталоне и персонаж Магистр Йода говорят с одной и той же скоростью и частотой, они не имеют одного и того же тона).

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

Фиг. 1 демонстрирует глобальное и техническое окружение изобретения. Робот 130 содержит датчики и приводы. Логика или "ум" 100 реализован в роботе или связан с ним (например, дистанционно) и содержит совокупность программного обеспечения 110 и аппаратных компонентов 120. Робот 130 взаимодействует (посредством двусторонних линий 140 связи, включающих в себя один или более сеансов диалога) с одним или более пользователями 150. Упомянутые один или более пользователей могут осуществлять доступ к другим вычислительным устройствам 160 (например, персональному компьютеру, например, носимому компьютеру или смартфону или планшету), которыми могут быть подключенные устройства (осуществляющие связь с облаком серверов и/или флотом других роботов или подключенных объектов и т.д.). В частности, подключенным устройством может быть носимый компьютер (например, часы, очки, шлем виртуальной реальности и т.д.).

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

В некоторых вариантах осуществления изобретения, робот может содержать различные виды датчиков. Некоторые из них используются для управления положением и движениями робота. Это может быть, например, инерциальный блок, находящийся в туловище робота, содержащий 3-осный гирометр и 3-осный акселерометр. Робот также может включать в себя две 2D цветные RGB-камеры на лбу робота (верхнюю и нижнюю). 3D датчик также может быть включен позади глаз робота. Робот также может, в необязательном порядке, содержать лазерные генераторы линий, например, в голове и в основании, чтобы иметь возможность регистрировать свое положение относительно объектов/существ в своем окружении. Робот также может включать в себя микрофоны, чтобы иметь возможность регистрировать звуки в своем окружении. Робот, отвечающий изобретению, также может включать в себя сонарные датчики, возможно, находящиеся в передней и задней части своего основания, для измерения расстояния до объектов/людей в своем окружении. Робот также может включать в себя тактильные датчики, на голове и руках, для обеспечения возможности взаимодействия с людьми. Он также может включать в себя бамперы на своем основании для обнаружения препятствий, встречающихся на его пути. Для передачи своих эмоций и общения с людьми в своем окружении, робот, отвечающий изобретению, также может включать в себя LED, например, в глазах, ушах и на плечах, и громкоговорители (например, находящиеся в ушах). Робот может осуществлять связь с базовой станцией, с другими подключенными устройствами или с другими роботами через различные сети (3G, 4G/LTE, Wifi, BLE, ячеистую сеть и т.д.). Робот содержит батарею или источник энергии. Робот может подключаться к зарядной станции, адаптированной к типу батареи, которую он включает в себя. Двигатели управляют положением/движениями роботов, с использованием алгоритмов, которые активируют цепи, образованные каждой частью тела и эффекторами, присутствующими на конце каждой части тела, в соответствии с измерениями датчиков.

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

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

Коллекция программного обеспечения 110 содержит (помимо прочего) программные модули или объекты или части программного кода, взаимодействующие друг с другом, в том числе "экстракторы" 111, "рекомендации деятельности" 112, "приоритезацию ума" 113, "диспетчер упаковки" 114, "исторические данные пользователя" 115, "сфокусированную самостоятельную деятельность" 116 и "сфокусированную тему диалога" 117 и "службу мониторинга здоровья" 118.

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

"Служба приводов" побуждает робота 130 физически производить или осуществлять действия. Отслеживатель движений, LED, диспетчер поведения являются примерами "служб приводов".

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

"Служба ума" (например, служба 113 приоритезации ума) является службой, которая инициирует действие под управлением центрального "ума" робота. "Службы ума" связывают друг с другом "службы приводов" 130, "службы экстрактора" 111 и "службы данных" 115. Базовая осведомленность является "службой ума". Он подписывается на "службы экстрактора", например, восприятие людей, обнаружение движения и обнаружение местоположения источника звука для предписания службе движения двигаться. "Ум" 113 конфигурирует поведение базовой осведомленности на основании ситуации. В другие моменты времени, базовая осведомленность либо действует самостоятельно, либо конфигурируется выполняющимися действиями.

"Самостоятельная жизнь" является службой ума. Она выполняет действия поведения. На основании контекста ситуации, ум может указывать самостоятельной жизни, на какой деятельности фокусироваться ("сфокусированная самостоятельная деятельность" 116). Метаданные в манифестах связывают эту информацию в ум. Любая деятельность может иметь доступ к одному или более из API операционной системы. Действия также могут непосредственно указывать самостоятельной жизни, на какой деятельности фокусироваться, или указывать службе диалога, на какой теме фокусироваться.

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

Робот может реализовать службу 118 "мониторинга здоровья". Такая служба может действовать как демон или "сторож" для контроля или управления или регулировки различных приоритетов робота. Такая служба может отслеживать (непрерывно, время от времени или периодически) состояние внутренних компонентов робота и измерять или предвидеть или предсказывать или исправлять отказы оборудования. В вариации, отслеживается флот (например, установленное основание) роботов. Встроенная служба может непрерывно обнаруживать ситуации отказа и синхронизировать их с ʺоблачнойʺ службой (например, каждую минуту).

Аппаратные компоненты 120 содержат средство 121 обработки, средство 122 памяти, средство 123 ввода/вывода I/O, средство 124 хранилища данных большой емкости и средство 125 доступа к сети, причем упомянутые средства взаимодействуют друг с другом (путем кэширования, обмена, распределенных вычислений, выравнивания нагрузки и т.д.). Средством 121 обработки может быть CPU (мультиядерный или многоядерный) или FPGA. Средство 122 памяти содержат одну или более из флэш-памяти и оперативной памяти. Средство 123 I/O может содержать один или более из экрана (например, сенсорного экрана), лампочки или LED, тактильной обратной связи, виртуальной клавиатуры, мыши, шарового манипулятора, джойстика и проектора (в том числе, лазерного проектора). Средство 124 хранилища может содержать один или более из жесткого диска и SSD. Средство доступа к сети может обеспечивать доступ к одной или более сетям, например, 3G, 4G/LTE, Wifi, BLE или ячеистой сети. Сетевой трафик может быть зашифрованным (например, туннельным, SSL и т.д.).

Согласно варианту осуществления, доступ к вычислительным ресурсам (вычислениям, памяти, средству I/O, хранилищу и возможности осуществления связи) может осуществляться дистанционно, например, в дополнение к локальным ресурсам (имеющимся на самом роботе). Например, к дополнительным блокам CPU можно обращаться через облако для вычислительных задач распознавания речи. Вычислительные ресурсы также могут совместно использоваться. В частности, ресурсы могут совместно использоваться множеством роботов. Подключенные устройства вблизи робота также могут, до некоторой степени, совместно использовать ресурсы, например, через защищенные протоколы. Также может совместно использоваться средство отображения. Например, проходя мимо телевизора, робот может использовать его в качестве дополнительного дисплея.

Фиг. 2 демонстрирует управление диалогами. Диалоги могут составляться 220 одним или более субъектами. Темы диалогов могут отслеживаться 230, и статистику использования можно использовать по-разному: позже по времени после человеческого анализа или близко к реальному времени (например, путем обновления установленного основания роботов). Различные схемы 231 регулировки, в частности, модерации, описаны ниже.

Ниже описаны варианты осуществления совместного составления 220 диалогов.

Возможны различные модели составления 220. Согласно варианту осуществления, диалоги составляются изготовителем робота. Это допускает определенную форму управления публичного поведения робота, например, по умолчанию.

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

Согласно варианту осуществления, диалоги, полностью или частично, могут редактироваться толпой (т.е. составление, порожденное толпой). В таком варианте осуществления, количество людей, вносящих вклад в контенты и/или правила диалога, может быть значительно больше по сравнению с "коллективным" составлением диалогов. Техническая трудность редактирования диалога может снижаться до точки, где максимальное количество людей может делать вклад в редактирование контентов диалога. Модели и методы, порожденные толпой, показали, что покрытие (в отношении количества имеющихся тем, и также в отношении качества контентов) может преобладать по сравнению с закрытыми (например, собственническими) моделями. Управлением податливостью построенных диалогов можно оперировать или управлять на нижерасположенных уровнях программного обеспечения (модуле для цензурирования или подавления определенных слов или выражений в ходе диалога. Открытые системы, преимущественно, используются для совместного обогащения баз данных контентов диалога. Открытые системы, преимущественно, усиливают творческие способности сообществ пользователей, и в конце создают лучшую и более крупную базу знаний. На практике, робот может обращаться к разнообразным темам, от рецептов приготовления пищи до цветоводства. Этот аспект усиливается за счет того, что робот может извлекать и установить темы диалога "по требованию" (например, с подключенным роботом). Такое широкое покрытие труднее получить с "закрытыми" вариациями. Нагрузка управления сдвигается к механизмам регулировки, реализованным в роботе.

Согласно варианту осуществления, контенты диалога постоянно оцениваются ("wiki диалоги").

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

Ниже описаны варианты осуществления мониторинга 230 тем диалога.

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

Мониторинг тем диалога может быть ценным для a) оператора роботизированной платформы, в общих целях b) для поставщика темы диалога (для улучшения контентов, например, контентов шуток в случае приложения "шутки", коррекции багов или неверных или неоптимизированных правил, улучшения возврата инвестиций, затраченного времени и т.д.) и c) для самого пользователя (лучших ощущений и взаимодействия пользователя и т.д.).

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

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

Ниже описаны варианты осуществления управления 231 диалогами.

Управление 231 диалогами (темы диалога и/или контенты диалога и/или оформления диалогов и/или правила диалога) можно реализовать в пакетах программного обеспечения. Например, такие пакеты могут составляться 220 или задаваться или программироваться изготовителем робота или редакторами программного обеспечения. Такое программное обеспечение может быть изменяемым или нет. Например, тема диалога (например, голосовое оформление) может быть полностью определенной (например, никакой дополнительной параметризации нельзя официально разрешать). Альтернативно, тема диалога может быть лишь частично определенной. Например, некоторые (например, в конечном количестве) локальные параметры могут оставаться под управлением конечных пользователей, тогда как большинство настроек не могут изменяться (например, для поддержания общей целостности голосового оформления).

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

Прикладные программы могут быть взаимозависимыми. В результате многорежимного выхода, прикладные программы могут дополнительно комбинироваться (например, на выходных уровнях или на более низких уровнях, переменные или параметры или скрипты могут совместно использоваться или модифицироваться между прикладными программами). Например, робот может сопровождать устный результат "температура снаружи -10°C" комбинацией жестов, символически обозначающей наружный холод.

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

"Диалоговая машина" действует на уровне окончательного принятия решения, для активации или деактивации в реальном времени, и в контексте, разных тем диалога. Другими словами, модуль "диалоговой машины" надзирает (или управляет или регулирует или синхронизирует или задействует) один или более переходов между темами диалогов. Согласно варианту осуществления, могут активироваться только установленные темы. Согласно варианту осуществления тема диалога может устанавливаться на ходу. В частности, диалоговая машина выбирает между объявленными приоритетами и подприоритетами соответствующих "состязающихся" тем диалога для активации. В зависимости от контекста, глобальная тема определяется так же, как различные другие подтемы. Иерархическая модель развивается с течением времени, и кандидаты в темы диалога непрерывно задаются. Конфликты можно разрешать с использованием эвристики. Первая эвристика утверждает, "что выигрывает самое длинное правило". В случае конфликтов, происходящих из-за того, что две темы приводят к одному и тому же предложению, всегда выигрывает самое длинное правило, например, "поговорим о человекоподобных роботах" выбирается вместо "поговорим о роботах". Можно предположить, что более длинные строки символов переносят больше информации, чем более короткие строки символов. Вторая эвристика связана со свежестью информации. Если правила строго идентичны, то может выигрывать наиболее недавняя тема. Например, если пользователь прошел через темы "приготовление пищи", затем "роботы", затем "человекоподобные роботы", затем "собака", последняя тема "человекоподобные роботы" будет выбрана вместо темы "роботы". Если с пользователем не обсуждалось никаких тем, и если пользователь задал описание, то робот может попросить пользователя самостоятельно выбрать тему. Если заранее не задано никакого описания, то тему можно выбирать случайным образом.

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

Ниже описаны варианты осуществления "регулировки" (или "модерации") диалогов.

В отношении регулировки диалогов, возможно несколько архитектур (например, варианты осуществления открытого цикла, варианты осуществления полуоткрытого цикла, варианты осуществления закрытого цикла).

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

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

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

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

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

Реферат

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

Формула

1. Способ обработки аудиодиалога между роботом и пользователем, реализуемый с помощью компьютера, причем способ содержит этапы, на которых:
в ходе упомянутого аудиодиалога принимают аудиоданные и преобразуют упомянутые аудиоданные в текстовые данные;
в ответ на упомянутые текстовые данные определяют тему диалога, причем упомянутая тема диалога содержит контент диалога и голосовое оформление диалога; причем контент диалога содержит множество предложений, а голосовое оформление диалога содержит параметры частоты, скорости и тона, позволяющие управлять синтезом речи;
определяют предложение, подлежащее представлению в аудио роботом;
принимают запрос модификации упомянутого определенного предложения диалога, при этом упомянутый запрос модификации является голосом множества сторон;
осуществляют принятие упомянутого запроса модификации и восстанавливают в аудио модифицированное определенное предложение диалога;
применяют одно или более правил модерации к модифицированному определенному предложению диалога согласно упомянутому запросу модификации, причем упомянутое одно или более правил модерации содержат один или более фильтров, причем упомянутые фильтры содержат черные списки из одного или более слов или белые списки из одного или более слов.
2. Способ по п. 1, дополнительно содержащий этап, на котором принимают обратную связь пользователя после восстановления в аудио модифицированного определенного предложения диалога.
3. Способ по п. 1, в котором заранее задают одно или более правил модерации.
4. Способ по п. 1, в котором одно или более правил модерации извлекают из сети.
5. Способ по любому из предыдущих пунктов, в котором одно или более правил модерации выводят из объединения обратных связей пользователя на предложения диалога, выраженные одним или более роботами.
6. Способ по п. 5, в котором упомянутые одно или более правил модерации получают под централизованным надзором человека и распределяют между одним или более роботами с помощью механизма обновления.
7. Способ по п. 5, в котором упомянутые одно или более правил модерации локально модифицируют в роботе без надзора человека.
8. Способ по любому из предыдущих пунктов, в котором запрос модификации связан с уровнем приоритета.
9. Способ по любому из предыдущих пунктов, в котором запрос модификации зависит от окружения, воспринимаемого роботом.
10. Способ по п. 9, в котором запрос модификации зависит от параметров, выбранных из списка, содержащего возраст пользователя, пол пользователя, настроение пользователя, эмоцию пользователя, количество пользователей, историю взаимодействия с пользователем, предпочтения пользователя, пространственное расположение робота и/или пользователя, жест или комбинацию жестов робота и/или пользователя, обнаруженное событие в окружении робота, локальную погоду, геолокацию, дату, время и их комбинации.
11. Компьютерно-считываемый носитель, хранящий инструкции для осуществления этапов способа по любому из пп. 1-10 на соответствующем компьютере.

Патенты аналоги

Авторы

Патентообладатели

Заявители

СПК: B25J9/16 B25J9/1661 B25J9/1679 B25J11/00 B25J11/0005 B25J13/003 B25J19/026 G06F40/10 G06F40/211 G10L15/1822 G10L15/22 G10L15/26

МПК: B25J11/00

Публикация: 2019-05-30

Дата подачи заявки: 2015-04-17

0
0
0
0
Невозможно загрузить содержимое всплывающей подсказки.
Поиск по товарам