Способ распределения задач между сервисными роботами и средствами киберфизического интеллектуального пространства при многомодальном обслуживании пользователей
Иллюстрации
Показать всеИзобретение относится к области киберфизического интеллектуального пространства. Технический результат заключается в повышении надежности взаимодействия между сервисными роботами. Способ многомодального обслуживания пользователей, выполняемый сервером приложений, содержит этапы, на которых принимают по тракту управления индикацию, что жест был распознан на основе видеоданных, посланных от клиентского устройства на сервер жестов, принятых от клиентского устройства, отправляют сообщение c результатом распознавания жеста, которое предписывает обновление в соответствии с результатом распознавания; принимают от клиентского устройства индикацию, что визуальное отображение обновлено в соответствии с результатом распознавания, и отправляют сообщение на сервер жестов, и отправляют сервисному роботу сообщение с результатом распознавания речи, которое предписывает сервисному роботу выполнить соответствующую программу действий. 3 н.п. ф-лы, 5 ил.
Реферат
Изобретение относится к области киберфизического интеллектуального пространства, а именно к распределенным многомодальным приложениям, реализуемым при обслуживании пользователей средствами (в том числе робототехническими) таких пространств.
В качестве средств киберфизического интеллектуального пространства (КФИП) рассматриваются сервисные роботы и клиентские (мобильные и стационарные) устройства (фиг. 1). Последние для обеспечения большего удобства и простоты использования включают в себя многомодальный пользовательский интерфейс. Модальности в таких интерфейсах обрабатываются комбинацией аппаратных средств и программного обеспечения, связанной с конкретным типом воспринимаемой человеком информации и/или генерируемой им.
Например, визуальная модальность пользовательского интерфейса может быть введена с помощью видеокамеры и выведена через экран и соответствующие аппаратные средства с помощью программного обеспечения для генерирования визуальных отображений на экране. Голосовая модальность пользовательского интерфейса может быть обработана с использованием микрофона, динамика и соответствующих аппаратных и программных средств так, чтобы принимать и оцифровывать речь и/или выводить звуковые данные (например, звуковые подсказки или другую звуковую информацию).
Многомодальный пользовательский интерфейс может быть реализован в связи с приложением, которое работает в сетевой (облачной) среде (например, в среде "клиент-сервер"). В таком случае, пользователь взаимодействует с многомодальным пользовательским интерфейсом на клиентском устройстве (например, на сотовом телефоне или компьютере), и клиентское устройство устанавливает связь с одним или более другими устройствами или платформами (например, с сервером) через сеть.
Термин "сервер" означает объект обработки данных, электронное устройство или приложение, которое выполняет услуги для одного или более связанных с сетью клиентов или других серверов в ответ на выданные клиентом или выданные сервером запросы. Термин "сервер приложений" (СП) означает сервер, адаптированный так, чтобы инициировать установление линий связи данных и управления, связанных с сеансом связи распределенного мультимодального приложения, и управлять синхронизацией между различными "представлениями", связанными с сеансом связи приложения. Термин "сервер модальности" означает сервер, адаптированный так, чтобы выполнять компонент приложения на стороне сервера, который связан с одной или более модальностями пользовательского интерфейса. Термин "голосовой сервер" (ГС) означают сервер модальности, который специально адаптирован так, чтобы выполнять компонент приложения на стороне сервера, связанный с голосовой модальностью. Термин "сервер жестов" (СЖ) означают сервер модальности, который специально адаптирован так, чтобы выполнять компонент приложения на стороне сервера, связанный с визуальной модальностью, в частности с жестами.
Однако ограниченные вычислительные и информационные ресурсы сервисных роботов делают невозможным их оснащение многомодальным пользовательским интерфейсом. С развитием киберфизических систем, облачной робототехники и применением, так называемого, экологического подхода, где мобильным роботам отводятся только специализированные функции, не решаемые стационарными окружающими устройствами, ситуация в методах взаимодействия и совместной работы человека с клиентскими устройствами и сервисными роботами кардинально изменилась.
Важным моментом в организации функционирования таких киберфизических интеллектуальных пространств является распределения задач между сервисными роботами и клиентскими устройствами при многомодальном обслуживании пользователей.
В работе [Beilei Sun, Xi Li, Bo Wan, Chao Wang, Xuehai Zhou, Xianglan Chen, Definitions of Predictability for Cyber Physical Systems, Journal of Systems Architecture (2016), doi: 10.1016/j.sysarc.2016.01.007] поднимается проблема прогнозируемости КФС. В системах массового обслуживания, функционирующих в режиме реального времени, точность и период прогноза становятся критичными. Причем чаще всего прогнозируется время выполнения задач и привлекаемые для их решения ресурсы с использованием метрики минимального/максимального времени выполнения задачи [L. Thiele and R. Wilhelm. Design for Timing Predictability. Real-Time Systems, 28:157-177, 2004.; R. Kirner and P. Puschner. Time-Predictable Computing. In Software Technologies for Embedded and Ubiquitous Systems, pages 23-34. Springer, 2011.].
В работе [Giovanni Merlino, Stamatis Arkoulis, Salvatore Distefano, Chrysa Papagianni, Antonio Puliafito, Symeon Papavassiliou. Mobile crowdsensing as a service: A platform for applications on top of sensing Clouds. Future Generation Computer Systems 56 (2016) 623-639.] обсуждается разработка краудсенсорной платформы, использующей мобильные устройства пользователей для оценки социальной динамики и предоставления персонифицированных сервисов. Предложен новый облачный сервис SAaaS (Sensing and Actuation as a Service), реализующий для пользователя задачи восприятия и действия посредством мобильных клиентских устройств и облачных ресурсов [S. Distefano, G. Merlino, A. Puliafito, Sensing and actuation as a service: A new development for clouds, in: Proceedings of the 2012 IEEE 11th International Symposium on Network Computing and Applications, NCA '12, IEEE Computer Society, Washington, DC, USA, 2012, pp. 272-275.]. Более детально задачи, решаемые мобильными краудсенсорными системами, представлены в обзоре [R. Ganti, F. Ye, H. Lei, Mobile crowdsensing: current state and future challenges, IEEE Commun. Mag. 49(11) (2011) 32-39.].
В работе [Byung-Cheol Mina, Yongho Kima, Sangjun Leea, Jin-Woo Jungb, Eric T. Matsona. Finding the optimal location and allocation of relay robots for building a rapid end-to-end wireless communication. Ad Hoc Networks Vol. 39. 2016. pp. 23-44] рассматривается возможность применения мобильных роботов для создания каскадной коммуникационной сети в труднодоступных местах или в районах проведения спасательных операций, где отсутствует сотовая связь. С применением генетического алгоритма и метода частичной оптимизации роя выполняется расчет координат расположения отдельных роботов и их пиринговые связи с учетом расположения препятствий на местности.
Несмотря на наличие результатов решения частных задач обеспечения функционирования киберфизических систем, в настоящее время отсутствуют решения по распределению задач между сервисными роботами и клиентскими устройствами при многомодальном обслуживании пользователей и, как следствие, решение важной задачи обеспечения их взаимодействия.
Наиболее близким по технической сущности к заявляемому способу и выбранным в качестве прототипа является способ реализации распределенных мультимодальных приложений (патент RU 2491617 от 27.08.2013), выполняемый сервером приложений и клиентским устройством.
Способ реализации распределенных мультимодальных приложений, выполняемый сервером приложений, заключается в том, что принимают по тракту управления сервера приложений/голосового сервера между сервером приложений и голосовым сервером от голосового сервера индикацию относительно того, что речь была распознана на основе звуковых данных восходящей линии связи, посланных от клиентского устройства на голосовой сервер по тракту звуковых данных между клиентским устройством и голосовым сервером, причем звуковые данные восходящей линии связи представляют фрагмент активной речи пользователя, принятый через голосовую модальность клиентского устройства, при этом голосовой сервер является отдельным от сервера приложений, и отправляют по тракту управления сервера приложений/клиента между сервером приложений и клиентским устройством на клиентское устройство сообщение, которое включает в себя результат распознавания для речи и которое предписывает клиентскому устройству обновлять визуальное отображение так, чтобы отразить результат распознавания; отправляют мультимодальную страницу на клиентское устройство по тракту управления сервера приложений/клиента, при этом мультимодальная страница при ее интерпретации предписывает клиентскому устройству воспроизводить визуальное отображение, которое включает в себя по меньшей мере один элемент отображения, для которого входные данные являются принимаемыми клиентским устройством через визуальную модальность и голосовую модальность; принимают от клиентского устройства по тракту управления сервера приложений/клиента индикацию относительно того, что клиентское устройство инициировало интерпретирование машинного кода, который предписывает клиентскому устройству воспроизводить визуальное отображение, которое включает в себя по меньшей мере один элемент отображения, для которого входные данные являются принимаемыми клиентским устройством через визуальную модальность и голосовую модальность, и отправляют команду на голосовой сервер по тракту управления сервера приложений/голосового сервера для того, чтобы голосовой сервер начинал интерпретировать речевой диалог, связанный с машинным кодом, интерпретируемым клиентским устройством; принимают от клиентского устройства по тракту управления сервера приложений/клиента индикацию относительно того, что клиентское устройство обновило визуальное отображение в соответствии с результатом распознавания, и отправляют сообщение на голосовой сервер по тракту управления сервера приложений/голосового сервера, чтобы указать, что клиентское устройство обновило визуальное отображение; принимают от клиентского устройства по тракту управления сервера приложений/клиента индикацию относительно того, что произошло сгенерированное клиентом событие, которое служит основанием обновления визуального отображения, воспроизводимого на клиентском устройстве, отправляют информацию на клиентское устройство по тракту управления сервера приложений/клиента, чтобы предписать клиентскому устройству обновить визуальное отображение, основываясь на сгенерированном клиентом событии, и отправляют на голосовой сервер по тракту управления сервера приложений/голосового сервера команду, которая включает в себя информацию, указывающую сгенерированное клиентом событие.
Способ реализации распределенных мультимодальных приложений, выполняемый клиентским устройством, заключается в том, что воспроизводят визуальное отображение, основываясь на интерпретации машинного кода, который предписывает клиентскому устройству воспроизводить визуальное отображение, при этом визуальное отображение включает в себя по меньшей мере один элемент отображения, для которого входные данные являются принимаемыми клиентским устройством через визуальную модальность и голосовую модальность; принимают сигнал, представляющий фрагмент активной речи пользователя, через голосовую модальность; оцифровывают этот сигнал так, чтобы генерировать звуковые данные восходящей линии связи, соответствующие одному или более элементам отображения из упомянутого по меньшей мере одного элемента отображения; отправляют звуковые данные восходящей линии связи на голосовой сервер по тракту звуковых данных между клиентским устройством и голосовым сервером; принимают результат распознавания речи от сервера приложений по тракту управления сервера приложений/клиента между сервером приложении и клиентским устройством, причем результат распознавания речи основан на выполнении голосовым сервером процесса распознавания речи в отношении звуковых данных восходящей линии связи, причем тракт звуковых данных является отдельным от тракта управления сервера приложений/клиента, и при этом голосовой сервер является отдельным от сервера приложений; и обновляют упомянутые один или более элементов отображения визуального отображения в соответствии с результатом распознавания речи; принимают мультимодальную страницу от сервера приложений по тракту управления сервера приложений/клиента, при этом мультимодальная страница включает в себя машинный код, причем воспроизведение визуального отображения выполняется посредством интерпретирования машинного кода в форме разметки в мультимодальной страниц; принимают звуковые данные нисходящей линии связи от голосового сервера по тракту звуковых данных, при этом звуковые данные нисходящей линии связи включают в себя звуковую подсказку; и воспроизводят звуковую подсказку на устройстве вывода звукового сигнала из состава клиентского устройства; принимают ввод пользователя, который служит основанием обновления визуального отображения, воспроизводимого на клиентском устройстве; основываясь на приеме ввода пользователя, отправляют на сервер приложений по тракту управления сервера приложений/клиента индикацию относительно того, что произошло сгенерированное клиентом событие, и принимают от сервера приложений по тракту управления сервера приложений/клиента информацию, которая предписывает клиентскому устройству обновлять визуальное отображение, основываясь на сгенерированном клиентом событии.
Способу-прототипу присущи следующие недостатки:
1) сервер приложений не имеет возможности взаимодействия с сервисными роботами и, как следствие, отсутствует возможность использования последних для многомодального обслуживания пользователей;
2) клиентские устройства не реализуют возможность распознавания визуальной модальности, в частности жестов. Последние приобретают особую актуальность при целеуказаниях пользователя;
3) отсутствует механизм реализации сервисными роботами задач многомодального обслуживания пользователей.
Задачей изобретения является разработка способа распределения задач между сервисными роботами и средствами киберфизического интеллектуального пространства при многомодальном обслуживании пользователей, позволяющего снизить вычислительную сложность процесса многомодального обслуживания пользователей при их взаимодействии с сервисными роботами.
В заявленном способе эта задача решается тем, что в способе распределения задач между сервисными роботами и средствами киберфизического интеллектуального пространства при многомодальном обслуживании пользователей, выполняемым сервером приложений, заключающемся в том, что принимают по тракту управления сервера приложений/голосового сервера между сервером приложений и голосовым сервером от голосового сервера индикацию относительно того, что речь была распознана на основе звуковых данных восходящей линии связи, посланных от клиентского устройства на голосовой сервер по тракту звуковых данных между клиентским устройством и голосовым сервером, причем звуковые данные восходящей линии связи представляют фрагмент активной речи пользователя, принятый через голосовую модальность клиентского устройства, при этом голосовой сервер является отдельным от сервера приложений, и отправляют по тракту управления сервера приложений/клиента между сервером приложений и клиентским устройством на клиентское устройство сообщение, которое включает в себя результат распознавания для речи и которое предписывает клиентскому устройству обновлять визуальное отображение так, чтобы отразить результат распознавания; принимают от клиентского устройства по тракту управления сервера приложений/клиента индикацию относительно того, что клиентское устройство обновило визуальное отображение в соответствии с результатом распознавания, и отправляют сообщение на голосовой сервер по тракту управления сервера приложений/голосового сервера, чтобы указать, что клиентское устройство обновило визуальное отображение; отправляют мультимодальную страницу на клиентское устройство по тракту управления сервера приложений/клиента, при этом мультимодальная страница при ее интерпретации предписывает клиентскому устройству воспроизводить визуальное отображение, которое включает в себя по меньшей мере один элемент отображения, для которого входные данные являются принимаемыми клиентским устройством через визуальную модальность и голосовую модальность; принимают от клиентского устройства по тракту управления сервера приложений/клиента индикацию относительно того, что произошло сгенерированное клиентом событие, которое служит основанием обновления визуального отображения, воспроизводимого на клиентском устройстве, отправляют информацию на клиентское устройство по тракту управления сервера приложений/клиента, чтобы предписать клиентскому устройству обновить визуальное отображение, основываясь на сгенерированном клиентом событии, и отправляют на голосовой сервер по тракту управления сервера приложений/голосового сервера команду, которая включает в себя информацию, указывающую сгенерированное клиентом событие, дополнительно принимают по тракту управления сервера приложений/сервера жестов между сервером приложений и сервером жестов от сервера жестов индикацию относительно того, что жест был распознан на основе видеоданных восходящей линии связи, посланных от клиентского устройства на сервер жестов по тракту видеоданных между клиентским устройством и сервером жестов. При этом видеоданные восходящей линии связи представляют собой видеофрагмент активной манипуляции пользователя, принятый через визуальную модальность клиентского устройства, а сервер жестов является отдельным от сервера приложений и голосового сервера. Затем отправляют по тракту управления сервера приложений/клиента между сервером приложений и клиентским устройством на клиентское устройство сообщение, которое включает в себя результат распознавания жеста и которое предписывает клиентскому устройству обновлять визуальное отображение так, чтобы отразить результат распознавания. После этого принимают от клиентского устройства по тракту управления сервера приложений/клиента индикацию относительно того, что клиентское устройство обновило визуальное отображение в соответствии с результатом распознавания, и отправляют сообщение на сервер жестов по тракту управления сервера приложений/сервера жестов, чтобы указать, что клиентское устройство обновило визуальное отображение. Отправляют по тракту управления сервера приложений/робота сервисному роботу сообщение, которое включает в себя результат распознавания для речи и которое предписывает сервисному роботу выполнить соответствующую программу действий. Затем принимают от сервисного робота по тракту управления сервера приложений/робота индикацию относительно того, что сервисный робот выполнил предписанную программу действий в соответствии с результатом распознавания для речи, и отправляют сообщение на голосовой сервер по тракту управления сервера приложений/голосового сервера, чтобы указать, что сервисный робот выполнил предписанную программу действий. Оправляют по тракту управления сервера приложений/робота сервисному роботу сообщение, которое включает в себя результат распознавания жеста и которое предписывает сервисному роботу выполнить соответствующую программу действий. Затем принимают от сервисного робота по тракту управления сервера приложений/робота индикацию относительно того, что сервисный робот выполнил предписанную программу действий в соответствии с результатом распознавания жеста и отправляют сообщение на сервер жестов по тракту управления сервера приложений/сервера жестов, чтобы указать, что сервисный робот выполнил предписанную программу действий.
Также в заявленном способе эта задача решается тем, что в способе распределения задач между сервисными роботами и средствами киберфизического интеллектуального пространства при многомодальном обслуживании пользователей, выполняемом клиентским устройством, заключающемся в том, что воспроизводят визуальное отображение, основываясь на интерпретации машинного кода, который предписывает клиентскому устройству воспроизводить визуальное отображение, при этом визуальное отображение включает в себя по меньшей мере один элемент отображения, для которого входные данные являются принимаемыми клиентским устройством через визуальную модальность и голосовую модальность; принимают сигнал, представляющий фрагмент активной речи пользователя, через голосовую модальность; оцифровывают этот сигнал так, чтобы генерировать звуковые данные восходящей линии связи, соответствующие одному или более элементам отображения из упомянутого по меньшей мере одного элемента отображения; отправляют звуковые данные восходящей линии связи на голосовой сервер по тракту звуковых данных между клиентским устройством и голосовым сервером; принимают результат распознавания речи от сервера приложений по тракту управления сервера приложений/клиента между сервером приложений и клиентским устройством, причем результат распознавания речи основан на выполнении голосовым сервером процесса распознавания речи в отношении звуковых данных восходящей линии связи, причем тракт звуковых данных является отдельным от тракта управления сервера приложений/клиента, и при этом голосовой сервер является отдельным от сервера приложений; и обновляют упомянутые один или более элементов отображения визуального отображения в соответствии с результатом распознавания речи; принимают мультимодальную страницу от сервера приложений по тракту управления сервера приложений/клиента, при этом мультимодальная страница включает в себя машинный код, причем воспроизведение визуального отображения выполняется посредством интерпретирования машинного кода в форме разметки в мультимодальной странице; принимают звуковые данные нисходящей линии связи от голосового сервера по тракту звуковых данных, при этом звуковые данные нисходящей линии связи включают в себя звуковую подсказку; и воспроизводят звуковую подсказку на устройстве вывода звукового сигнала из состава клиентского устройства; принимают ввод пользователя, который служит основанием обновления визуального отображения, воспроизводимого на клиентском устройстве; основываясь на приеме ввода пользователя, отправляют на сервер приложений по тракту управления сервера приложений/клиента индикацию относительно того, что произошло сгенерированное клиентом событие, и принимают от сервера приложений по тракту управления сервера приложений/клиента информацию, которая предписывает клиентскому устройству обновлять визуальное отображение, основываясь на сгенерированном клиентом событии, дополнительно принимают сигнал, представляющий видеофрагмент активной манипуляции пользователя, через визуальную модальность. Затем оцифровывают этот сигнал так, чтобы генерировать видеоданные восходящей линии связи, соответствующие одному или более элементам отображения из упомянутого по меньшей мере одного элемента отображения. Отправляют видеоданные восходящей линии связи на сервер жестов по тракту видеоданных между клиентским устройством и сервером жестов. Затем принимают результат распознавания жеста от сервера приложений по тракту управления сервера приложений/клиента между сервером приложений и клиентским устройством. При этом результат распознавания жеста основан на выполнении сервером жестов процесса распознавания жестов в отношении видеоданных восходящей линии связи, тракт видеоданных является отдельным от тракта управления сервера приложений/клиента, а сервер жестов является отдельным от сервера приложений и голосового сервера. После этого обновляют упомянутые один или более элементов отображения визуального отображения в соответствии с результатом распознавания жеста.
Также в заявленном способе эта задача решается тем, что в способе распределения задач между сервисными роботами и средствами киберфизического интеллектуального пространства при многомодальном обслуживании пользователей, выполняемом сервисным роботом, заключающемся в том, что принимают по тракту управления сервера приложений/робота от сервера приложений сообщение, которое включает в себя результат распознавания для речи и которое предписывает сервисному роботу выполнить соответствующую программу действий. Затем выполняют программу действий, соответствующую принятому результату распознавания для речи, и отправляют серверу приложений по тракту управления сервера приложений/робота индикацию относительно того, что сервисный робот выполнил предписанную программу действий в соответствии с результатом распознавания для речи. После этого принимают по тракту управления сервера приложений/робота от сервера приложений сообщение, которое включает в себя результат распознавания жеста и которое предписывает сервисному роботу выполнить соответствующую программу действий, а затем выполняют программу действий, соответствующую принятому результату распознавания жеста. После выполнения программы действий отправляют серверу приложений по тракту управления сервера приложений/робота индикацию относительно того, что сервисный робот выполнил предписанную программу действий в соответствии с результатом распознавания жеста.
Новая совокупность существенных признаков позволяет достичь указанного технического результата за счет:
- реализации сервисными роботами только специализированных функций, не решаемых клиентским устройствами киберфизического интеллектуального пространства при многомодальном обслуживании пользователей;
- реализации распознавания речи с помощью голосового сервера;
- реализации распознавания жестов с помощью сервера жестов;
- использования клиентских устройств только для многомодального ввода/информации пользователя;
- использования сервера приложений для распределения задач между клиентскими устройствами, сервисными роботами, голосовым сервером и сервером жестов при многомодальном обслуживании пользователей.
Проведенный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленного способа распределения задач между сервисными роботами и средствами киберфизического интеллектуального пространства при многомодальном обслуживании пользователей, отсутствуют. Следовательно, заявленное изобретение соответствует условию патентоспособности «новизна».
Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного объекта, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность влияния предусматриваемых, существенными признаками заявленного изобретения преобразований на достижение указанного технического результата. Следовательно, заявленное изобретение соответствует условию патентоспособности «изобретательский уровень».
Заявленное изобретение поясняется следующими чертежами:
- фиг. 1, отображающей обобщенную схему киберфизического интеллектуального пространства в соответствии с настоящим изобретением;
- фиг. 2, на которой представлена блок-схема последовательности действий, реализующих предлагаемый способ;
Заявленный способ может быть реализован в КФИП (фиг. 1), включающем в себя, по меньшей мере, одно клиентское устройство 101, по меньшей мере один сервисный робот 102, сеть 103, голосовой сервер 104 (ГС), сервер 105 приложений (СП) и сервер 106 жестов (СЖ). Между этими объектами КФИП устанавливаются различные тракты данных и управления, сами они реализуют различные коммуникационные протоколы, чтобы поддерживать сеанс распределенного мультимодального приложения в пределах КФИП. В варианте осуществления сеанс распределенного мультимодального приложения включает в себя интерпретирование машинного кода (например, машинного кода, связанного с компонентом 109 приложения на стороне клиента и/или с группой из одной или более связанных мультимодальных страниц 110) клиентским устройством 101. Примером реализации предлагаемого КФИП является интеллектуальное пространство с многомодальным интерфейсом (патент РФ на полезную модель №124017 от 10.01.2013).
В качестве клиентского устройства 101 может быть использован мобильный телефон (смартфон), персональное навигационное устройство, компьютер (в том числе ноутбук). В соответствии с настоящим изобретением клиентское устройство 101 способно выполнять один или более экземпляров клиентского промежуточного программного обеспечения 107, клиентского браузера 108 и/или компонента 109 приложения на стороне клиента. Здесь под промежуточным программным обеспечением понимается программное обеспечение, предназначенное для сопряжения между программными компонентами и/или приложениями, выполняемыми на отдельных объектах обработки данных (например, на клиентах или серверах). В варианте КФИП (фиг. 1) клиентское промежуточное программное обеспечение 107 обеспечивает сопряжение между клиентским браузером 108 и/или компонентом 109 приложения на стороне клиента и одним или более серверами (например, сервером 105 приложений, голосовым сервером 104, сервером 106 жестов) через сеть 103.
Клиентский браузер 108 обращается к машинному коду (например, к мультимодальной странице 110) в клиентском устройстве 101 в связи с компонентом 114 приложения на стороне клиента и дополнительно интерпретирует машинный код. В варианте КФИП (фиг. 1) клиентский браузер 112 адаптирован так, чтобы обращаться, по меньшей мере, к одной мультимодальной странице 110 и интерпретировать машинный код (например, разметку, сценарии и другую информацию) в пределах мультимодальной страницы 110. Здесь термин "мультимодальная страница" означает информационный набор, представляющий по меньшей мере один взаимодействующий с пользователем элемент отображения, который может быть визуально представлен на клиентском устройстве 101 и для которого пользователь может вводить информацию и/или указывать выбранный элемент через любую из множества модальностей (например, голосовую модальность и визуальную модальность).
Мультимодальная страница 110 может включать в себя, например, web-страницу, документ, файл, форму, перечень или другой тип информационного набора. При ее интерпретировании мультимодальная страница 110 может заставлять клиентское устройство 102 воспроизводить один или более взаимодействующих с пользователем элементов отображения. В настоящем изобретении "взаимодействующий с пользователем элемент отображения" может включать в себя, например, помимо всего прочего, поле ввода текста, выбираемый элемент (например, кнопку) и/или интерактивный текст. Наряду с одним или более взаимодействующими с пользователем элементами отображения, мультимодальная страница 110 также может включать в себя другую информацию и/или элементы, такие как текстовая информация, изображения (например, статические или динамические изображения), звуковые данные, видеоизображение, гипертекстовые связи, метаданные и сценарии.
Согласно настоящему изобретению мультимодальная страница 110 включает в себя разметку, которая может заставлять клиентский браузер 108 и/или компонент 109 приложения на стороне клиента (или другое программное обеспечение синтаксического анализа) выполнять один или более внедренных или указанных ссылкой сценариев (например, код JavaScript). Кроме того, сценарий может быть адаптирован так, чтобы заставлять клиентское устройство 101 выдавать асинхронный запрос на сервер 105 приложений.
Компонент 109 приложения на стороне клиента и/или мультимодальная страница 110 могут быть разработаны с использованием методов асинхронного JavaScript и расширяемого языка разметки (XML).
Клиентский браузер 108 включает в себя программное обеспечение, которое выполняет синтаксический анализ машинного кода (например, разметки) в пределах мультимодальной страницы 110 и/или обеспечивает сопряжение с компонентом 109 приложения на стороне клиента способом, который дает возможность клиентскому устройству 101 воспроизводить текст, изображения, видеоизображения, музыку и/или другую информацию, представленную или упомянутую в машинном коде и/или компоненте 109 приложения на стороне клиента. В различных вариантах осуществления клиентский браузер 108 может включать в себя браузер HTML/XHTML и/или коммерчески доступный браузер (например, Internet Explorer, Mozilla Firefox, Opera и др.).
Клиентское устройство 101 может устанавливать связь с голосовым сервером 104, сервером 105 приложений и сервером 106 жестов через одну или более сетей 103.
Сервисный робот 102 представляет собой мобильного робота, связанного с сеансом распределенного мультимодального приложения. Сервисный робот 102 выполняет один или более экземпляров промежуточного программного обеспечения 111 CP и реализует заданную программу действий с помощью соответствующих средств 112 реализации программ действий.
Промежуточное программное обеспечение 111 CP обеспечивает сопряжение между средствами 112 реализации программ действий и другими серверами (например, сервером 105 приложений) через подключение 125 робота к серверу и/или сеть 103.
Средства 112 реализации программ действий представляют собой аппаратно-программные средства, которые могут быть вызваны промежуточным программным обеспечением 111 CP, для того, чтобы управлять перемещением сервисного робота и/или его отдельных частей (узлов, элементов). Средства 112 реализации программ действий могут в процессе своего функционирования использовать библиотеку 116 программ действий или другие ресурсы управления сервисным роботом. Например, средства 112 реализации программ действий могут быть реализованы как это показано в патент РФ на полезную модель 108172 от 10.12.2011).
Сеть 103 может включать в себя, например, сеть с коммутацией пакетов и/или сеть с коммутацией каналов, Сеть 103 предназначена для обмена информацией между системными объектами КФИП, использующими любой из ряда протоколов проводной или беспроводной связи.
Голосовой сервер 104 представляет собой сервер модальности, предназначенный для выполнения обработки речи, связанной с сеансом распределенного мультимодального приложения. Голосовой сервер 104 выполняет один или более экземпляров промежуточного программного обеспечения 114 ГС и программы 115 распознавания речи. Программа 115 распознавания речи может рассматриваться как компонент приложения на стороне ГС, поскольку она формирует серверную часть распределенного приложения.
Промежуточное программное обеспечение 114 ГС обеспечивает сопряжение между программой 115 распознавания речи и другими серверами (например, сервером 105 приложений) и/или клиентским устройством 101 через подключение 122 сервера к серверу и/или сеть 103, соответственно.
Программа 115 распознавания речи представляет собой приложение, которое может быть вызвано промежуточным программным обеспечением 114 ГС, для того, чтобы принимать звуковые данные, выполнять алгоритм распознавания речи с использованием звуковых данных, чтобы определить результат распознавания речи (например, индикацию распознанной речи) и возвращать результат распознавания речи или указывать, что результат не был определен. Программа 115 распознавания речи может выполняться с использованием одной или более речевых библиотек 116 или с другими ресурсами распознавания речи (например, с грамматиками, последовательностями n-грамм, статистическими моделями языка или другими ресурсами распознавания речи). Например, программа распознавания может реализовывать способ распознавания речи на основе двухуровневого морфофонемного префиксного графа (патент РФ 2597498 от 10.09.2016).
В варианте осуществления голосовой сервер 104 устанавливает связь с сервером 105 приложений по тракту 126 управления СП/ГС. Кроме того, голосовой сервер 104 и клиентское устройство 101 могут непосредственно обмениваться звуковыми данными по тракту 122 звуковых данных ГС/клиента. В настоящем изобретении звуковые данные передаются по тракту 122 звуковых данных ГС/клиента с использованием версии транспортного протокола реального времени/протокола управления передачей в реальном времени (RTP/RTCP), хотя в других вариантах осуществления могут быть реализованы другие протоколы (например, протокол управления передачей (TCP) и другие).
Сервер 104 приложений (СП) реализуется так, чтобы выполнять различные сервисы для клиентского устройства 101, в частности так, чтобы выполнять один или более экземпляров промежуточного программного обеспечения 117 СП и сервисов 118 СП.
В настоящем изобретении промежуточное программное обеспечение 117 СП обеспечивает сопряжение с голосовым сервером 104 через подключение 126 сервера к серверу, с сервером 106 жестов через подключение 127 сервера к серверу и с клиентским устройством 101 и сервисным роботом 102 через сеть 108. Сервисы 118 СП включают в себя прог