СПОСОБ ОСУЩЕСТВЛЕНИЯ МНОГОРЕЖИМНОГО ДИАЛОГА МЕЖДУ ЧЕЛОВЕКОПОДОБНЫМ РОБОТОМ И ПОЛЬЗОВАТЕЛЕМ, КОМПЬЮТЕРНЫЙ ПРОГРАММНЫЙ ПРОДУКТ И ЧЕЛОВЕКОПОДОБНЫЙ РОБОТ ДЛЯ ОСУЩЕСТВЛЕНИЯ УПОМЯНУТОГО СПОСОБА

1. Способ осуществления диалога между человекоподобным роботом (R) и, по меньшей мере, одним пользователем (U), содержащий следующие этапы, итерационно осуществляемые упомянутым человекоподобным роботом, на которых:
i) получают множество входных сигналов (s1, s2) от соответствующих датчиков (c1, c2), причем, по меньшей мере, один упомянутый датчик является датчиком звука, и, по меньшей мере, один другой датчик является датчиком движения или изображения;
ii) интерпретируют полученные сигналы для распознавания множества событий (EVI), генерируемых упомянутым пользователем, выбранных из группы, содержащей: произнесение, по меньшей мере, слова или предложения, интонацию голоса, жест, позу тела, выражение лица;
iii) определяют ответ упомянутого человекоподобного робота, содержащий, по меньшей мере, одно событие (EVO), выбранное из группы, содержащей: произнесение, по меньшей мере, слова или предложения, интонацию голоса, жест, позу тела, выражение лица, причем упомянутое определение осуществляется путем применения набора правил, причем каждое упомянутое правило связывает набор входных событий с ответом робота;
iv) генерируют, упомянутым человекоподобным роботом, упомянутое или каждое упомянутое событие;
отличающийся тем, что, по меньшей мере, некоторые из упомянутых правил, применяемых на упомянутом этапе iii), связывают ответ с комбинацией, по меньшей мере, двух событий, совместно генерируемых упомянутым пользователем и распознаваемых на упомянутом этапе ii), по меньшей мере, одно из которых не является словом или предложением, произнесенным упомянутым пользователем.
2. Способ по п. 1, в котором, по меньшей мере, некоторые из упомянутых правил, применяемых на упомянутом этапе iii), определяют ответ, содержащий, по меньшей мере, два события, генерируемые совместно упомянутым человекоподобным роботом, по меньшей мере, одно из которых не является произнесением слова или предложения.
3. Способ по любому из предыдущих пунктов, в котором, на упомянутом этапе iii, упомянутый ответ человекоподобного робота определяется на основании, по меньшей мере, одного параметра, выбранного из: контекста (CTX) диалога, идентификации пользователя, внутреннего состояния (RIS) упомянутого человекоподобного робота.
4. Способ по п. 3, дополнительно содержащий этап, на котором изменяют значение упомянутого или, по меньшей мере, одного упомянутого параметра согласно упомянутому, по меньшей мере, одному событию, распознаваемому на упомянутом этапе ii) или определяемому на упомянутом этапе iii).
5. Способ по любому из пп. 1, 2, 4, в котором на упомянутом этапе ii) ищут совпадение между полученным сигналом и событием, принадлежащим списку ожидаемых событий, хранящемуся в памяти упомянутого человекоподобного робота, или доступному ему, причем упомянутый поиск осуществляется путем последовательного использования множества способов сопоставления (MM1 - MM4) все более высокой сложности, пока событие не будет распознано с показателем достоверности, превышающим заранее определенное значение, или после использования способа распознавания наивысшей сложности.
6. Способ по п. 5, в котором используемые способы сопоставления выбираются в зависимости от контекста диалога.
7. Способ по п. 5, в котором упомянутые способы сопоставления включают в себя, в порядке повышения сложности: поиск точного совпадения, поиск приблизительного совпадения, поиск фонетического соответствия - только в случае распознавания речи - и поиск семантического соответствия.
8. Способ по п. 7, в котором упомянутый способ поиска фонетического соответствия содержит этапы, на которых:
- фонетически транскрибируют набор звуков, полученных датчиком звука;
- упрощают и сглаживают результирующую фонетическую транскрипцию;
- вычисляют расстояние редактирования между упомянутой упрощенной и сглаженной фонетической транскрипцией и множеством вводов, полученных путем упрощения и сглаживания заранее заданного набора слов на естественном языке, и
- выбирают слово естественного языка из упомянутого заранее заданного набора, соответствующее вводу с наименьшим расстоянием редактирования от упомянутой упрощенной и сглаженной фонетической транскрипции.
9. Способ по п. 8, в котором упомянутое упрощение и сглаживание содержит этапы, на которых:
- заменяют фонемы, допускающие разночтения, единой фонемой;
- удаляют гласные звуки, отличные от гласных звуков в начале слов и носовых гласных звуков, и
- удаляют разрывы между словами.
10. Способ по п. 5, в котором упомянутый список ожидаемых событий выбирают, из множества упомянутых списков, в зависимости от контекста диалога.
11. Способ по любому из пп. 1, 2, 4, 6-10, в котором на упомянутом этапе iii) определяют ответ на набор событий, включающий в себя отсутствие слов, произнесенных упомянутым пользователем, или идентифицированных жестов, путем применения правил, принадлежащих заранее заданному поднабору (PRO), именуемых проактивными правилами.
12. Способ по любому из пп. 1, 2, 4, 6-10, дополнительно содержащий, если ответ, определенный на этапе iii), представляет собой или содержит, по меньшей мере, произнесение слова или предложения, этап iii-a), на котором осуществляют лингвистический анализ произносимых слов или предложений и определяют анимацию, сопутствующую упомянутому ответу, как функцию упомянутого анализа.
13. Способ по п. 12, в котором упомянутый этап iii-a содержит подэтапы, на которых:
α) идентифицируют, по меньшей мере, одно слово ответа, подлежащего анимированию;
β) определяют понятие и выразительность, именуемую одноразовой выразительностью, связанные с упомянутым или каждым упомянутым словом, подлежащим анимированию;
γ) выбирают из списка (ALST) анимацией, хранящегося в памяти упомянутого человекоподобного робота, или доступного ему, анимацию на основании упомянутого понятия и упомянутой одноразовой выразительности.
14. Способ по п. 13, в котором на упомянутом подэтапе α осуществляют синтаксический анализ произносимого предложения для определения каждого или упомянутого слова, подлежащего анимированию, в зависимости от его функции в структуре упомянутого предложения.
15. Способ по любому из пп. 13 или 14, в котором, на упомянутом подэтапе β, упомянутая одноразовая выразительность определяется на основании, по меньшей мере, одного параметра, выбранного из: выразительности слова, выразительности одного или более других связанных с ним слов и общей выразительности ответа в целом.
16. Способ по любому из пп. 13 или 14, в котором каждая анимация из упомянутого списка связана с одним или более понятиями и имеет некоторую конкретную выразительность, причем на упомянутом подэтапе γ выбирают в упомянутом списке анимацию, связанную с понятием, определенным на упомянутом подэтапе β, и имеющую некоторую конкретную выразительность, ближайшую к упомянутой одноразовой выразительности.
17. Способ по п. 16, дополнительно содержащий подэтап, на котором:
δ) определяют выразительность, именуемую окончательной выразительностью, на основании упомянутой конкретной выразительности и упомянутой одноразовой выразительности.
18. Способ по любому из пп. 13, 14 или 17, в котором упомянутая одноразовая или упомянутая окончательная выразительность определяет, по меньшей мере, один параметр, выбранный из скорости и амплитуды, по меньшей мере, одного жеста упомянутой анимации.
19. Способ по любому из пп. 1, 2, 4, 6-10, 13, 14, 17, дополнительно содержащий этапы, итерационно осуществляемые упомянутым роботом одновременно с упомянутыми этапами i) - iv), на которых:
A) определяют положение, по меньшей мере, части тела упомянутого пользователя (U) относительно системы координат, привязанной к упомянутому роботу (R);
B) приводят в действие, по меньшей мере, один привод упомянутого робота для поддержания расстояния между упомянутым роботом или его элементом и упомянутой, по меньшей мере, одной или упомянутой частью тела упомянутого пользователя в заранее заданном диапазоне значений.
20. Способ по п. 19, в котором на упомянутом этапе B) дополнительно приводят в действие, по меньшей мере, один привод упомянутого робота для поддержания ориентации робота относительно упомянутого пользователя в заранее определенном угловом диапазоне.
21. Способ по п. 19, дополнительно содержащий этап, на котором:
C) приводят в действие упомянутый или, по меньшей мере, один упомянутый привод для обеспечения упомянутых псевдослучайных перемещений робота при поддержании упомянутого расстояния в упомянутом заранее определенном диапазоне значений и, когда это целесообразно, упомянутой ориентации в упомянутом заранее определенном угловом диапазоне.
22. Способ по п. 19 дополнительно содержащий этап, на котором:
D) осуществляют семантический анализ текущего диалога между упомянутым пользователем и упомянутым человекоподобным роботом и, в соответствии с упомянутым анализом, изменяют упомянутый заранее определенный диапазон значений расстояния, и, когда это целесообразно, упомянутый заранее определенный угловой диапазон.
23. Способ по п. 19, в котором на упомянутом этапе A) определяют положение нижней части тела упомянутого пользователя относительно упомянутой системы координат, привязанной к упомянутому роботу.
24. Компьютерный программный продукт, содержащий инструкции программного кода для выполнения способа по любому из предыдущих пунктов, когда упомянутая программа выполняется, по меньшей мере, одним процессором, встроенным в человекоподобный робот (R), причем упомянутый робот содержит: множество датчиков (c1, c2) функционально подключенных к упомянутому или по меньшей мере, одному процессору и содержащих, по меньшей мере, один датчик звука и, по меньшей мере, один датчик изображения или движения, для получения соответствующих входных сигналов; модуль синтеза речи, управляемый упомянутым или, по меньшей мере, одним упомянутым процессором для произнесения слов или предложения; и набор приводов (A1, A2, A3), приводимых в действие упомянутым или, по меньшей мере, одним упомянутым процессором, позволяющий упомянутому роботу осуществлять множество движений или жестов.
25. Человекоподобный робот (R), содержащий:
- по меньшей мере, один встроенный процессор;
- сборку датчиков (c1, c2), функционально подключенную к упомянутому или, по меньшей мере, одному упомянутому процессору и содержащую, по меньшей мере, один датчик звука и, по меньшей мере, один датчик изображения или движения, для получения соответствующих входных сигналов;
- модуль синтеза речи, возбуждаемый упомянутым или, по меньшей мере, одним упомянутым процессором для произнесения слов или предложений, и
- набор приводов (A1, A2, A3), приводимых в действие упомянутым или, по меньшей мере, одним упомянутым процессором, позволяющий упомянутому роботу осуществлять множество движений или жестов;
отличающийся тем, что упомянутый или, по меньшей мере, один упомянутый процессор запрограммирован или сконфигурирован для осуществления способа по любому из пп. 1-23.
26. Человекоподобный робот по п. 25, дополнительно содержащий устройство для соединения с, по меньшей мере, одним удаленным сервером, причем упомянутый или, по меньшей мере, один упомянутый процессор запрограммирован или сконфигурирован взаимодействовать с упомянутым или, по меньшей мере, одним упомянутым удаленным сервером для осуществления способа по любому из пп. 1-23.