УРОВЕНЬ ТЕХНИКИ
[0001] Голосовые помощники быстро становятся повсеместными в современных вычислительных устройствах. Пользователь может взаимодействовать с голосовым помощником, чтобы управлять функциональными возможностями вычислительного устройства. Когда вычислительное устройство принимает и распознает голосовое ключевое слово, ассоциированное с голосовым помощником, голосовой помощник ассоциируется и запускается, чтобы вовлечь пользователя в опыт работы с компьютером с помощью голосового управления.
[0002] Различные вычислительные платформы предусматривают своих собственных соответствующих голосовых помощников. Каждый голосовой помощник активируется в ответ на назначенное ключевое слово, которое может состоять из одного или более слов. Например, в операционной системе Windows, голосовой помощник Кортана (Cortana) активируется с помощью ключевого слова «Эй, Кортана» (Hey Cortana), в устройствах Google голосовой помощник активируется с помощью ключевого слова «Окей, Гугл» (OK Google), а в устройствах Amazon голосовой помощник активируется с помощью ключевого слова «Алекса» (Alexa).
[0003] Вычислительная платформа может быть выполнена с возможностью поддержки более одного голосового помощника. Такая вычислительная платформа, вследствие этого, должна быть способна обнаруживать и действовать в ответ на каждое ключевое слово каждого поддерживаемого голосового помощника. Более того, система должна управлять активацией в случаях, когда принимаются ключевые слова для одного или более помощников при том, что активен один из голосовых помощников. Требуются системы для эффективного решения проблем управления активацией голосового помощника в платформе с несколькими помощниками.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0004] Фиг. 1 является структурной схемой платформы с несколькими помощниками во время работы в соответствии с некоторыми вариантами осуществления;
[0005] Фиг. 2 является структурной схемой платформы с несколькими помощниками во время работы в соответствии с некоторыми вариантами осуществления;
[0006] Фиг. 3 является структурной схемой платформы с несколькими помощниками во время работы в соответствии с некоторыми вариантами осуществления;
[0007] Фиг. 4 является структурной схемой платформы с несколькими помощниками во время работы в соответствии с некоторыми вариантами осуществления;
[0008] Фиг. 5 является структурной схемой платформы с несколькими помощниками во время работы в соответствии с некоторыми вариантами осуществления;
[0009] Фиг. 6 является структурной схемой платформы с несколькими помощниками во время работы в соответствии с некоторыми вариантами осуществления;
[0010] Фиг. 7 является структурной схемой платформы с несколькими помощниками во время работы в соответствии с некоторыми вариантами осуществления;
[0011] Фиг. 8 является структурной схемой платформы с несколькими помощниками во время работы в соответствии с некоторыми вариантами осуществления;
[0012] Фиг. 9 является структурной схемой платформы с несколькими помощниками во время работы в соответствии с некоторыми вариантами осуществления;
[0013] Фиг. 10 является структурной схемой платформы с несколькими помощниками во время работы в соответствии с некоторыми вариантами осуществления;
[0014] Фиг. 11 является блок-схемой процесса управления активацией голосового помощника в платформе с несколькими голосовыми помощниками в соответствии с некоторыми вариантами осуществления;
[0015] Фиг. 12 является блок-схемой процесса управления активацией голосового помощника в платформе с несколькими голосовыми помощниками в соответствии с некоторыми вариантами осуществления;
[0016] Фиг. 13 является структурной схемой компонентов программного обеспечения платформы с несколькими голосовыми помощниками в соответствии с некоторыми вариантами осуществления;
[0017] Фиг. 14 иллюстрирует устройства, которые могут поддерживать платформу с несколькими голосовыми помощниками в соответствии с некоторыми вариантами осуществления;
[0018] Фиг. 15 является структурной схемой системы облачных вычислений, поддерживающей несколько голосовых помощников в соответствии с некоторыми вариантами осуществления; и
[0019] Фиг. 16 является структурной схемой вычислительной системы, реализующей платформу с несколькими голосовыми помощниками в соответствии с некоторыми вариантами осуществления.
ПОДРОБНОЕ ОПИСАНИЕ
[0020] Нижеследующее описание представлено, чтобы позволить любому специалисту в соответствующей области техники создавать и использовать описанные варианты осуществления. Однако, различные модификации останутся очевидными для специалистов в соответствующей области техники.
[0021] Некоторые варианты осуществления, описанные в данном документе, представляют техническое решение для технической проблемы управления активацией нескольких голосовых помощников, которые предоставляются одной вычислительной системой. В соответствии с некоторыми вариантами осуществления, только один голосовой помощник активируется в заданное время. Если обнаруживается голосовое ключевое слово другого голосового помощника при том, что активен голосовой помощник, другой голосовой помощник не активируется и активный голосовой помощник не прерывается.
[0022] Таким образом некоторые варианты осуществления защищают восприятие пользователя от произвольной активации из-за окружающего шума или из-за обнаружения ключевого слова, которое использовалось в разговоре с текущим помощником. В последнем случае, рассматривается пример, в котором пользователь говорит: «Эй, Кортана, напомни мне позвонить моей жене Алексе». В соответствии с некоторыми вариантами осуществления. Ключевое слово «Эй, Кортана» вызывает активацию голосового помощника Кортана, а ключевое слово Алекса не вызывает активацию голосового помощника Алекса. Подробности нескольких альтернативных реализаций представлены ниже.
[0023] Фиг. 1 является структурной схемой платформы 100 с несколькими помощниками во время работы в соответствии с некоторыми вариантами осуществления. Платформа 100 состоит из сервера 110 активации, голосового помощника 120 и голосового помощника 130. Обычно, пользователь 140 произносит ключевое слово 150, и сервер 110 активации обнаруживает ключевое слово 150 и активирует одного из голосового помощника 120 и голосового помощника 130 на основании ключевого слова 150 и логики, как описано в данном документе.
[0024] Платформа 100 может быть реализована посредством любого подходящего вычислительного устройства или устройств. В некоторых вариантах осуществления, платформа 100 является персональным компьютером, исполняющим операционную систему, компонентом которой является сервер 110 активации. Голосовой помощник 120 и голосовой помощник 130 могут быт выполнены в виде приложений, совместимых с операционной системой и способных осуществлять связь с сервером 110 активации через различные интерфейсы прикладного программирования (API). Каждый компонент, описанный в данном документе, может быть реализован посредством исполняемого кода.
[0025] Как будет описано ниже, платформа 100 может быть реализована в других устройствах, исполняющих операционную систему, таких как смартфон или умная колонка. Одно или более из сервера 110 активации, голосового помощника 120 и голосового помощника 130 может быть расположено удаленно от других компонентов платформы 100, например, в основанном на облаке развертывании.
[0026] Одно или более из сервера 110 активации, голосового помощника 120 и голосового помощника 130 может быть реализовано во встроенном программном обеспечении устройства. Два или более из сервера 110 активации, голосового помощника 120 и голосового помощника 130 могут быть предоставлены разными поставщиками программного обеспечения.
[0027] Пунктирные линии на Фиг. 1 указывают на то, что голосовой помощник 120 и голосовой помощник 130 являются, в настоящем примере, первоначально неактивными по произнесению ключевого слова 150 пользователем 140. В целях настоящего примера, ключевое слово 150 является ключевым словом голосовой активации, ассоциированным с голосовым помощником 120. В соответствии с некоторыми вариантами осуществления, аудиосигналы, представляющие собой ключевое слово 150, принимаются устройством ввода аудио (например, микрофоном) платформы 110, а другие компоненты платформы 110 обрабатывают аудиосигналы, чтобы идентифицировать ключевое слово 150, определяют, что ключевое слово 150 ассоциируется с голосовым помощником 120, и передают соответствующее сообщение серверу 110 активации. В некоторых вариантах осуществления, другие компоненты обрабатывают аудиосигналы, чтобы идентифицировать ключевое слово 150 и определить то, что ключевое слово 150 ассоциируется с зарегистрированным голосовым помощником, и пропускают ключевое слов 150 к серверу 110 активации. Сервер 110 активации затем определяет, что ключевое слово 150 ассоциируется с голосовым помощником 120.
[0028] Как упомянуто выше, каждый голосовой помощник 120 и голосовой помощник 130 может быть ассоциирован с соответствующим назначенным ключевым словом, и «ключевое слово» может состоять из одного или более слов. В некоторых вариантах осуществления, один или оба из голосового помощника 120 и голосового помощника 130 могут быть ассоциированы с более чем одним соответствующим ключевым словом, каждое из которых может включать в себя более чем одно слово. Предполагаются некоторые варианты осуществления, в которых два или более голосовых помощников совместно используют одно и то же ключевое слово или ключевые слова.
[0029] Независимо от того, каким образом сервер 110 активации определяет, что было принято голосовое ключевое слово голосового помощника 120, сервер 110 активации передает сигнал активации голосовому помощнику 120, как показано на Фиг. 2. Последующая активация голосового помощника 120 представлена полужирной сплошной линией. Как будет описано ниже, голосовой помощник 120 может выполнять вторую проверку принятых аудиосигналов перед активацией, чтобы подтвердить то, что было принято ключевое слово 150 (т.е., что принятые аудиосигналы представляют собой ключевое слово 150).
[0030] Как изображено на Фиг. 3, активный голосовой помощник 120 может отправлять сигнал (например, с использованием API, доступного со стороны сервера 110 активации) о том, что голосовой помощник 120 является непрерываемым. Вследствие этого сервер 110 активации устанавливает флаг или сохраняет другие данные, указывающие на то, что голосовой помощник 120 является непрерываемым.
[0031] Затем проводится диалоговый сеанс между активным голосовым помощником 120 и пользователем 140, как известно в соответствующей области техники. Фиг. 4 иллюстрирует такой диалоговый сеанс, как происходящий непосредственно между пользователем 140 и голосовым помощником 120 для простоты, но несколько компонентов аппаратного обеспечения и программного обеспечения обычно обеспечивают диалоговый сеанс в соответствии с известными системами. В некоторых примерах, диалоговый сеанс может требовать, чтобы голосовой помощник 120 осуществлял доступ к другим компонентам платформы 100 (например, «Установить будильник на 6 утра»), и/или внешней услуге (например, «Какой сегодня прогноз погоды?»), подробности которого опущены в данном документе для ясности.
[0032] Фиг. 5 показывает произнесение ключевого слова 160 пользователем 140 во время происходящего диалогового сеанса с активным голосовым помощником 120. Например, предполагая, что голосовой помощник 120 ассоциируется с ключевым словом «Эй, Кортана», а голосовой помощник 130 ассоциируется с ключевым словом «Алекса», Фиг. 1-5 могут изображать работу платформы 100 во время произнесения: «Эй, Кортана, позвони моей жене Алексе».
[0033] Как показано на Фиг. 6, голосовой помощник 120 остается активным в диалоговом сеансе с пользователем 140, даже после приема ключевого слова 160, ассоциированного с голосовым помощником 130. Как будет описано подробно ниже, в некоторых вариантах осуществления произнесение ключевого слова 160 предписывает серверу 110 активации принимать указание ключевого слова 160. В ответ, сервер 110 активации определяет, что голосовой помощник 120 является активным и был помечен, как непрерываемый. Соответственно, сервер 110 активации не отправляет сигнал активации голосовому помощнику 130, даже несмотря на то, что платформа 100 приняла и обнаружила ключевое слово 160, ассоциированное с голосовым помощником 130.
[0034] Фиг. 7 изображает завершение диалогового сеанса между пользователем 140 и голосовым помощником 120. В частности, голосовой помощник 120 передает сигнал серверу 110 активации, указывающий на то, что голосовой помощник 120 становится неактивным. В некоторых вариантах осуществления, по переходу в конечное состояние беседы сеанса, голосовой помощник 120 отправляет сигнал серверу активации, указывающий на то, что голосовой помощник 120 более не является непрерываемым (например, сигнал «прерываемый»), и затем становится неактивным, как изображено на Фиг. 7. Такой вариант осуществления обеспечивает активацию другого голосового помощника до того, как голосовой помощник 120 становится неактивным.
[0035] Фиг. 8 изображает состояние платформы 100 после того, как голосовой помощник 120 указывает свою неактивность серверу 110 активации. Голосовой помощник 120 и голосовой помощник 130 являются неактивными и диалоговый сеанс не происходит с пользователем 140.
[0036] Теперь предполагается, что пользователь 140 произносит ключевое слово 160, как показано на Фиг. 9, и что ключевое слово 160 является ключевым словом голосовой активации, ассоциированным с голосовым помощником 130. Вновь, аудиосигналы, представляющие собой ключевое слово 160, могут быть приняты устройством ввода аудио платформы 110 и другие непоказанные компоненты платформы 110 могут обрабатывать аудиосигналы, чтобы идентифицировать ключевое слово 160, определить, что ключевое слово 160 ассоциируется с голосовым помощником 130, и передать соответствующее сообщение серверу 110 активации. В качестве альтернативы, другие компоненты обрабатывают аудиосигналы, чтобы идентифицировать ключевое слово 160, чтобы определить то, что ключевое слово 160 ассоциируется с зарегистрированным голосовым помощником, и чтобы пропустить ключевое слово 160 к серверу 110 активации. Сервер 110 активации затем определяет, что принятое ключевое слово 160 ассоциируется с голосовым помощником 130.
[0037] В ответ на определение того, что было принято голосовое ключевое слово 160 голосового помощника 130, сервер 110 активации передает сигнал активации голосовому помощнику 130, как показано на Фиг. 10. Голосовой помощник 130 принимает сигнал активации и осуществляет активацию в ответ. Голосовой помощник 130 также может выполнять вторую проверку принятых аудиосигналов перед активацией, чтобы подтверждать то, что принятые аудиосигналы представляют собой ключевое слово 160.
[0038] Фиг. 11 является блок-схемой процесса 1100 в соответствии с некоторыми вариантами осуществления. Процесс 1100 и прочие процессы, описанные в данном документе, могут быть выполнены с использованием любого подходящего сочетания аппаратного обеспечения и программного обеспечения. Код программы программного обеспечения, воплощающий эти процессы, может быть сохранен на любом долговременном вещественном носителе информации, включая несъемный диск, энергозависимую или энергонезависимую память с произвольным доступом, DVD, флэш-накопитель или магнитную ленту, и исполнен любым числом блоков обработки, включая, но не ограничиваясь, процессоры, ядра процессора и потоки процессора. Варианты осуществления не ограничиваются примерами, описанными ниже.
[0039] Процесс 1100 может быть выполнен сервером активации, таким как сервер 110 активации платформы 100, но варианты осуществления этим не ограничиваются. Процесс 1100 может быть выполнен платформой, которая поддерживает два или более голосовых помощников.
[0040] Поток циклически повторяется на этапе S1110 до тех пор, пока не обнаруживается ключевое слово, ассоциированное с голосовым помощником. Один или более голосовых помощников платформы, исполняющей процесс 1100, могут быть ассоциированы с двумя или более ключевыми словами. Обнаружение ключевого слова на этапе S1110 может содержать прием сигнала обнаружения ключевого слова от другого компонента платформы. Обнаружение ключевого слова на этапе S1110 может содержать прием аудиосигнала (например, через пассивный мониторинг окружающей аудио среды) и определение того, что принятый аудиосигнал представляет собой ключевое слово, ассоциированное с голосовым помощником, зарегистрированным в платформе. Определение может содержать обработку речи в текст касательно аудиосигнала и сравнение результирующего текста со списком ключевых слов, ассоциированных с зарегистрированными голосовыми помощниками.
[0041] Поток переходит к этапу S1120 от этапа S1110 как только обнаруживается ключевое слово, ассоциированное с голосовым помощником. На этапе S1120 определяется, является ли в настоящий момент непрерываемым какой-либо зарегистрированный голосовой помощник. Как описано выше, ранее активированный голосовой помощник может указать себя в качестве непрерываемого, например, с использованием API, доступного со стороны сервера активации. Данное указание может быть сохранено и использовано при определении на этапе S1120.
[0042] В соответствии с некоторыми вариантами осуществления, определение непрерываемости голосового помощника, основано на состоянии голосового помощника. Например, голосовой помощник может находиться в неактивном состоянии или активном состоянии. Активное состояние может включать в себя состояния, такие как разговор, прослушивание и размышление. На этапе S1120 может быть определено, что голосовой помощник платформы является непрерываемым, потому что голосовой помощник находится в активном состоянии «размышления».
[0043] Определение на этапе S1120 может быть основано на любом подходящем сочетании информации о состоянии голосового помощника и/или флагов непрерываемости.
[0044] Если на этапе S1120 определяется, что какой-либо зарегистрированный в настоящий момент голосовой помощник является непрерываемым, то активация не передается в ответ на обнаруженное ключевое слово и поток возвращается к этапу S1110 для ожидания обнаружения ключевого слова, как описано выше.
[0045] Поток переходит от этапа S1120 к этапу S1130, если определяется, что отсутствует непрерываемый зарегистрированный голосовой помощник. На этапе S1130 активация отправляется голосовому помощнику, ассоциированному с обнаруженным ключевым словом. Затем поток возвращается к этапу S1110 для ожидания обнаружения ключевого слова. В это время, голосовой помощник, принимающий активацию, может активироваться и начинать диалоговый сеанс с пользователем. Как описано выше, данный голосовой помощник также может указывать то, что он является непрерываемым, с целью любого последующего определения на этапе S1120.
[0046] Фиг. 12 иллюстрирует альтернативный процесс 1200, который может быть выполнен сервером активации платформы с несколькими голосовыми помощниками. Процесс 1200 может быть выполнен для управления активацией голосовых помощников на основании принятых ключевых слов.
[0047] Первоначально, на этапе S1210, определяется, было ли принято ключевое слово, ассоциированное с зарегистрированным голосовым помощником. Поток циклически выполняется на этапе S1210 до тех пор, пока не обнаруживается такое ключевое слово. Как упомянуто выше, обнаружение ключевого слова может, например, содержать прием сигнала обнаружения ключевого слова от другого компонента платформы, или прием аудиосигнала и определение того, что принятый аудиосигнал представляет собой ключевое слово, ассоциированное с голосовым помощником, зарегистрированным в платформе.
[0048] Как только обнаруживается ключевое слово, ассоциированное с голосовым помощником, на этапе S1220 определяется, является ли активным ассоциированный голосовой помощник. Данное определение может быть основано на представленном в отчете и полученном в результате мониторинга состоянии ассоциированного голосового помощника. Если ассоциированный голосовой помощник не является активным, поток переходит к этапу S1230, чтобы определять, помечен ли в качестве непрерываемого в настоящий момент какой-либо голосовой помощник платформы.
[0049] Оценка непрерываемости голосового помощника может быть основана на том, установлен ли в настоящий момент флаг, указывающий на то, что голосовой помощник является непрерываемым. Такой флаг может быть установлен в ответ на указание непрерываемости, ранее принятое от голосового помощника. Определение непрерываемости также может быть или в качестве альтернативы основано на текущих состояниях голосовых помощников. В соответствии с некоторыми вариантами осуществления, голосовой помощник, который пометил себя в качестве непрерываемого, но затем стал неактивным, более не считается непрерываемым. В некоторых вариантах осуществления требуется, чтобы голосовой помощник указал, что он является прерываемым, до перехода в неактивное состояние.
[0050] Если на этапе S1230 определяется, что отсутствует непрерываемый зарегистрированный голосовой помощник, то активация отправляется голосовому помощнику, ассоциированному с обнаруженным ключевым словом. Затем голосовой помощник активируется и переходит в диалоговый сеанс, как известно в области техники. Активированный голосовой помощник может указывать себя в качестве непрерываемого во время диалогового сеанса. В это время, поток возвращается к этапу S1210 для ожидания обнаружения ключевого слова.
[0051] Возвращаясь к этапу S1220, если голосовой помощник, ассоциированный с обнаруженным ключевым словом, является активным, поток переходит к этапу S1240, чтобы отправить активацию голосовому помощнику. Такое действие позволяет голосовому помощнику определять, прерывать ли его текущий диалоговый сеанс на основании обнаружения своего собственного ключевого слова, пометил или нет он себя в качестве непрерываемого.
[0052] Варианты осуществления могут поддерживать любую другую требуемую логику для прерывания или не прерывания активных голосовых помощников в ответ на обнаружение их ассоциированного ключевого слова или ключевых слов, ассоциированных с другими голосовыми помощниками.
[0053] Фиг. 13 иллюстрирует архитектуру 1300 программного обеспечения вычислительной системы, реализующей вариант осуществления. Такой вариант осуществления может включать в себя компоненты программного обеспечения отличные от тех, что проиллюстрированы на Фиг. 13. Архитектура 1300 программного обеспечения может быть реализована посредством любой подходящей вычислительной платформы, включая, например, персональный компьютер, смартфон, краевые устройства Интернета Вещей, исполняющие операционную систему, такие как умная колонка. Архитектура 1300 программного обеспечения, или ее фрагменты, могут быть реализованы в рамках встроенной системы. Один или более компонентов архитектуры 1300 программного обеспечения могут быть развернуты посредством виртуальной машины основанного на облаке сервера. Каждый компонент архитектуры 1300 программного обеспечения может быть реализован исполняемым кодом.
[0054] Пользовательская служба 1310 среды выполнения активации может быть выполнена в виде компонента операционной системы. Пользовательская служба 1310 среды выполнения активации отвечает за активацию приложений голосового помощника, зарегистрированных в рамках архитектуры 1300 программного обеспечения, когда обнаруживается событие активации.
[0055] Например, микрофон 1311 может принимать аудиосигналы, а компонент 1312 обнаружения ключевого слова может обнаруживать зарегистрированные ключевые слова, представленные в рамках аудиосигналов. Обнаружение проявляется для пользовательской службы 1310 среды выполнения активации посредством диспетчера 1313 голосовой активации.
[0056] Пользовательская служба 1310 среды выполнения активации может обнаруживать события активации, такие как нажатие кнопки, через службу 1314 Человеко-Машинного Интерфейса. Событие активации, принятое через Bluetooth, также может проявляться в качестве нажатия кнопки посредством службы 1315 Bluetooth. Любая подходящая логика может быть реализована, чтобы определять, отправлять ли активацию приложению голосового помощника на основании события активации нажатия кнопки. В некоторых вариантах осуществления, пользовательская служба 1310 среды выполнения активации отправляет активацию соответствующему голосовому помощнику в ответ на принятое событие активации нажатия кнопки независимо от активного или неактивного состояния какого-либо активного голосового помощника или того, был ли какой-либо голосовой помощник помечен в качестве непрерываемого. Такие варианты осуществления предназначены отражать намерение пользователя с учетом степени намерения, которая может подразумеваться нажатием кнопки.
[0057] В соответствии с некоторыми вариантами осуществления, диспетчер 1316 диалогового сеанса может исполнять процесс 1100 или процесс 1200, чтобы определять, отправлять ли активацию приложению голосового помощника на основании принятого события активации. В настоящем примере, предполагается, что голосовое ключевое слово, ассоциированное с приложением 1320 голосового помощника, принимается в момент, когда ни приложение 1320 голосового помощника, ни приложение 1330 голосового помощника не является активированным. Вследствие этого диспетчер 1317 активации отправляет активацию приложению 1320 голосового помощника, чтобы активировать голосовой триггер 1322, который является фоновой задачей, ассоциированной с приложением 1320 голосового помощника.
[0058] В ответ на активацию голосового триггера 1322, приложение 1320 голосового помощника верифицирует то, что было принято его ключевое слово. В связи с этим, приложение 1320 голосового помощника включает в себя особый для помощника детектор 1324 ключевого слова. Особый для помощника детектор 1324 ключевого слова выполняет прохождение верификации касательно принятой активации, чтобы подтвердить произнесение своего ассоциированного ключевого слова. Такое прохождение верификации может позволять компоненту 1312 обнаружения реализовывать менее надежную модель обнаружения, чем та, которая потребовалась бы в ином случае, тем самым сохраняя ресурсы платформы.
[0059] Клиент 1326 диалогового сеанса создается, если прохождение верификации является успешным. Клиент 1326 диалогового сеанса затем может предоставлять свою информацию о состоянии и прерываемости диспетчеру 1316 диалогового сеанса. Например, клиент 1326 диалогового сеанса может указывать, что он является активным, прослушивающим и непрерываемым. Диспетчер 1316 диалогового сеанса сохраняет запись данной информации.
[0060] Соответственно, по приему другого обнаружения ключевого слова, диспетчер 1316 диалогового сеанса может определять, отправлять ли активацию ассоциированному приложению голосового помощника на основании информации о состоянии и/или непрерываемости всех приложений голосового помощника архитектуры 1300 программного обеспечения. Данное определение может придерживаться логики, описанной выше в отношении процессов 1100 и 1200, и/или любой другой подходящей логики. Если активный голосовой помощник не помечает себя в качестве прерываемого (например, через связь между клиентом 1326 диалогового сеанса и диспетчером 1316 диалогового сеанса), то может быть определена простая отправка активации соответствующему голосовому помощнику всякий раз, когда обнаруживается ключевое слово.
[0061] Фиг. 14 иллюстрирует вычислительные устройства, которые могут реализовывать систему в соответствии с некоторыми вариантами осуществления. Вычислительные устройства на Фиг. 14 содержат неисчерпывающую совокупность систем, в которых могут быть реализованы варианты осуществления.
[0062] Каждое из устройств с 1410 по 1450 может исполнять операционную систему, включающую в себя диспетчер активации, как описано выше. Операционная система также может обеспечивать регистрацию более одного приложения голосового помощника. Персональный компьютер 1410 и компьютер 1420 класса лэптоп могут исполнять настольные операционные системы при том, что смартфон 1440 и умные часы 1450 могут исполнять мобильные операционные системы. умная колонка 1430 может исполнять мобильную операционную систему или специальную операционную систему для умных устройств. Вновь, варианты осуществления не ограничиваются этими описаниями.
[0063] Фиг. 15 иллюстрирует распределенную систему 1500 в соответствии с некоторыми вариантами осуществления. Распределенная система 1500 может обеспечивать функциональные возможности нескольких голосовых помощников для устройств, которые не обладают такими встроенными функциональными возможностями. Основанные на облаке компоненты системы 1500 могут быть реализованы с использованием виртуальных машин по требованию, виртуальных серверов и экземпляров облачных хранилищ.
[0064] В соответствии с примером Фиг. 15, клиентские устройства 1510 и 1520 могут выборочно соединяться с облачными службами 1530, чтобы передавать им обнаруженные ключевые слова. В некоторых вариантах осуществления, одно или оба из клиентских устройств 1510 и 1520 отправляют все принятые аудиосигналы облачным службам 1530 для того, чтобы принимать службы голосового помощника на основании любых ключевых слов, присутствие которых встречается в принятых аудиосигналах.
[0065] Служба 1532 активации помощника может быть реализована в качестве облачной службы, обеспечивающей активацию приложений голосового помощника на основании принятых аудиосигналов или событий обнаружения ключевого слова. Облачная служба 1530 может включать в себя приложение 1534 голосового помощника, которое может быть активировано службой 1532 активации помощника. Облачная служба 1550, управление которой может осуществляться поставщиком услуги отличным от поставщика услуги, управляющего облачными службами 1530, может предоставлять приложение 1552 голосового помощника. Приложение 1552 голосового помощника также может быть активировано службой 1532 активации помощника на основании сигналов, принятых от клиентских устройств 1510 и/или 1520.
[0066] Каждое из приложения 1534 голосового помощника и приложения 1552 голосового помощника может осуществлять связь со службой 1532 активации помощника, чтобы помечать себя в качестве прерываемого. Соответственно, служба 1532 активации помощника может работать, как описано в данном документе, чтобы выборочно определять, отправлять ли активацию либо приложению 1534 голосового помощника, либо приложению 1552 голосового помощника.
[0067] Фиг. 16 является структурной схемой системы 1600 в соответствии с некоторыми вариантами осуществления. Система 1600 может содержать любую подходящую вычислительную систему и может исполнять код программы, чтобы предоставлять голосовых помощников, как описано в данном документе.
[0068] Система 1600 включает в себя блок 1610 обработки, функционально связанный с устройством 1620 связи, систему 1630 постоянного хранения данных, одно или более устройств 1640 ввода, одно или более устройств 1650 вывода и энергозависимую память 1660. Блок 1610 обработки может содержать один или более процессоров, ядер обработки и т.д. для исполнения кода программы. Интерфейс 1620 связи может обеспечивать связь с внешними сетями. Устройство(а) 1640 ввода может содержать, например, клавиатуру, клавишную панель, мышь или другое координатно-указательное устройство, микрофон, сенсорный экран и/или устройство отслеживания глаза. Устройство(а) 1650 вывода может содержать, например, дисплей и/или громкоговоритель.
[0069] Система 1630 хранения данных может содержать любое количество подходящих постоянных запоминающих устройств, включая сочетания магнитных запоминающих устройств (например, магнитной ленты, накопителей на жестком диске и флэш-память), оптические запоминающие устройства, устройства Постоянной Памяти (ROM) и т.д. Память 1660 может содержать Память с Произвольным Доступом (RAM), Память Класса Хранилища (SCM) или любую другую память быстрого доступа.
[0070] Приложения 1632 голосового помощника могут содержать код программы, исполняемый блоком 1610 обработки, чтобы предписывать системе 1600 исполнять диалоговые сеансы с пользователями. Каждое из приложений 1632 голосового помощника ассоциируется с голосовым ключевым словом, которое используется для его активации, как описано в данном документе. Операционная система 1634 включает в себя компоненты операционной системы, как известно в соответствующей области техники, и также может включать в себя службу активации, чтобы выборочно активировать приложения 1632 голосового помощника, как описано в данном документе. Данные 1636 могут включать в себя любые данные, которые используются любыми системами или приложениями системы 1600. Такие данные могут включать в себя информацию о состоянии сеанса и/или непрерываемые флаги, как описано в данном документе.
[0071] Каждый функциональный компонент, описанный в данном документе, может быть реализован по меньшей мере частично в компьютерном аппаратном обеспечении, в коде программы и/или в одной или более вычислительных системах, исполняющих код программы, как известно в соответствующей области техники. Такая вычислительная система может включать в себя один или более блоков обработки, которые исполняют исполняемый процессором код программы, хранящийся в системе памяти.
[0072] Вышеприведенные схемы представляют собой логические архитектуры для описания процессов в соответствии с некоторыми вариантами осуществления, и фактические реализации могут включать в себя больше компонентов или другие компоненты, скомпонованные другим образом. Другие топологии могут быть использованы в связи с другими вариантами осуществления. Более того, каждый компонент или устройство, описанные в данном документе, может быть реализован посредством любого количества устройств, осуществляющих связь через любое количество других открытых и/или закрытых сетей. Два или более таких вычислительных устройств могут быть расположены удаленно друг от друга и могут осуществлять связь друг с другом через любой известный вид сети(ей) и/или выделенное соединение. Любой компонент или устройство может содержать любое количество элементов аппаратного обеспечения и/или программного обеспечения, подходящих для обеспечения функций, описанных в данном документе, как, впрочем, и любых других функций. Например, любое вычислительное устройство, используемое в реализации системы в соответствии с некоторыми вариантами осуществления, может включать в себя процессор, чтобы исполнять код программы таким образом, что вычислительное устройство работает как описано в данном документе.
[0073] Все системы и процессы, которые обсуждались в данном документе, могут быть воплощены в коде программы, который хранится в одном или более долговременных машиночитаемых носителях информации. Такие носители информации включают в себя, например, жесткий диск, DVD-ROM, флэш-накопитель, магнитную ленту и блоки хранения твердотельной Памяти с Произвольным Доступом (RAM) или Постоянной Памяти (ROM). Вследствие этого, варианты осуществления не ограничиваются любым конкретным сочетанием аппаратного обеспечения и программного обеспечения.
[0074] Специалистам в соответствующей области техники будет понятно, что различные адаптации и модификации описанных выше вариантов осуществления могут быть сконфигурированы, не отступая от формулы изобретения. Вследствие этого, следует понимать, что формула изобретения может быть реализована на практике отлично от того, что в частности описано в данном документе.
название | год | авторы | номер документа |
---|---|---|---|
СОВЕРШЕНИЕ ЗАДАЧИ БЕЗ МОНИТОРА В ЦИФРОВОМ ПЕРСОНАЛЬНОМ ПОМОЩНИКЕ | 2015 |
|
RU2710984C2 |
ВЕРИФИКАЦИЯ ГОВОРЯЩЕГО | 2017 |
|
RU2697736C1 |
МАШИННОЕ ОБУЧЕНИЕ | 2005 |
|
RU2391791C2 |
Способ и система классификации пользователя электронного устройства | 2021 |
|
RU2795152C2 |
СПОСОБ И СИСТЕМА ДЛЯ ОБРАБОТКИ ПОЛЬЗОВАТЕЛЬСКОГО РАЗГОВОРНОГО РЕЧЕВОГО ФРАГМЕНТА | 2019 |
|
RU2757264C2 |
УПРАВЛЕНИЕ АКУСТИЧЕСКОЙ ЭХОКОМПЕНСАЦИЕЙ ДЛЯ РАСПРЕДЕЛЕННЫХ АУДИОУСТРОЙСТВ | 2020 |
|
RU2818982C2 |
ОСНОВАННЫЕ НА ШАБЛОНЕ КАЛЕНДАРНЫЕ СОБЫТИЯ С ГРАФИЧЕСКИМ ОБОГАЩЕНИЕМ | 2017 |
|
RU2758040C2 |
СПОСОБЫ И СИСТЕМЫ ДЛЯ УПРАВЛЕНИЯ ДИАЛОГАМИ РОБОТА | 2015 |
|
RU2690071C2 |
КЛАССИФИКАЦИЯ ТИПА ЭМОЦИИ ДЛЯ ИНТЕРАКТИВНОЙ ДИАЛОГОВОЙ СИСТЕМЫ | 2015 |
|
RU2705465C2 |
ОБНОВЛЕНИЕ МОДЕЛЕЙ КЛАССИФИКАТОРОВ ПОНИМАНИЯ ЯЗЫКА НА ОСНОВЕ КРАУДСОРСИНГА | 2016 |
|
RU2699587C2 |
Заявленное техническое решение относится к области информационных технологий, а именно к способам и системам управления голосовыми помощниками. Сущность предлагаемого изобретения заключается в том, что обнаруживают произнесенное пользователем одно из множества ключевых слов, причем каждое из множества ключевых слов ассоциировано с соответствующим приложением голосового помощника; проверяют, назначено ли какое-либо из множества приложений голосового помощника в качестве непрерываемого; активируют одно из множества приложений голосового помощника, ассоциированного с обнаруженным ключевым словом, в случае определения того факта, что ни одно из множества приложений голосового помощника не назначено в качестве непрерываемого. Техническим результатом заявленного изобретения является защита пользователя от произвольной активации голосового помощника, обусловленной ключевым словом другого голосового помощника, а также окружающим шумом. 3 н. и 3 з.п. ф-лы, 16 ил.
1. Вычислительная система, выполненная с возможностью управления активацией нескольких приложений голосового помощника, при этом вычислительная система содержит один или более процессоров, чтобы исполнять процессорно-исполняемый код программы, хранящийся на энергонезависимом машиночитаемом носителе, для предписания вычислительной системе:
исполнять множество приложений голосового помощника, причем первое приложение голосового помощника из множества приложений голосового помощника ассоциировано с первым голосовым ключевым словом и второе приложение голосового помощника из множества приложений голосового помощника ассоциировано со вторым голосовым ключевым словом;
принимать первые аудиосигналы, представляющие первое голосовое ключевое слово;
в качестве реакции на прием первых аудиосигналов, передавать сигнал активации в первое приложение голосового помощника для активации первого приложения голосового помощника и выполнения первого диалогового сеанса с пользователем;
в то время как первое приложение голосового помощника является активным и выполняет первый диалоговый сеанс с пользователем:
принимать от первого приложения голосового помощника сигнал, указывающий, что первое приложение голосового помощника является непрерываемым,
принимать вторые аудиосигналы, представляющие второе голосовое ключевое слово,
в качестве реакции на прием вторых аудиосигналов, определять, что первое приложение голосового помощника является непрерываемым, и определять не передавать сигнал активации во второе приложение голосового помощника,
принимать от первого приложения голосового помощника второй сигнал, указывающий, что первое приложение голосового помощника является прерываемым,
принимать третьи аудиосигналы, представляющие второе голосовое ключевое слово, и
в качестве реакции на прием третьих аудиосигналов, определять, что первое приложение голосового помощника является прерываемым, и передавать сигнал активации во второе приложение голосового помощника для активации второго приложения голосового помощника и выполнения второго диалогового сеанса с пользователем.
2. Вычислительная система по п.1, в которой процессорно-исполняемый код программы, исполняемый одним или более процессорами, дополнительно предписывает вычислительной системе, в то время как второе приложение голосового помощника является активным и выполняет второй диалоговый сеанс с пользователем:
принимать от второго приложения голосового помощника третий сигнал, указывающий, что второе приложение голосового помощника является непрерываемым;
принимать четвертые аудиосигналы, представляющие первое голосовое ключевое слово;
в качестве реакции на прием четвертых аудиосигналов, определять, что второе приложение голосового помощника является непрерываемым, и определять не передавать сигнал активации в первое приложение голосового помощника;
принимать от второго приложения голосового помощника четвертый сигнал, указывающий, что второе приложение голосового помощника является прерываемым;
принимать пятые аудиосигналы, представляющие первое голосовое ключевое слово; и
в качестве реакции на прием пятых аудиосигналов, определять, что второе приложение голосового помощника является прерываемым, и передавать сигнал активации в первое приложение голосового помощника для активации первого приложения голосового помощника и выполнения третьего диалогового сеанса с пользователем.
3. Способ управления активацией нескольких приложений голосового помощника, при этом способ выполняется в вычислительном устройстве, предоставляющем множество приложений голосового помощника, причем первое приложение голосового помощника из множества приложений голосового помощника ассоциировано с первым голосовым ключевым словом и второе приложение голосового помощника из множества приложений голосового помощника ассоциировано со вторым голосовым ключевым словом, при этом способ содержит этапы, на которых:
принимают первые аудиосигналы, представляющие первое голосовое ключевое слово;
в качестве реакции на прием первых аудиосигналов, передают сигнал активации в первое приложение голосового помощника для активации первого приложения голосового помощника и выполнения первого диалогового сеанса с пользователем;
в то время как первое приложение голосового помощника является активным и выполняет первый диалоговый сеанс с пользователем:
принимают от первого приложения голосового помощника сигнал, указывающий, что первое приложение голосового помощника является непрерываемым,
принимают вторые аудиосигналы, представляющие второе голосовое ключевое слово,
в качестве реакции на прием вторых аудиосигналов, определяют, что первое приложение голосового помощника является непрерываемым, и определяют не передавать сигнал активации во второе приложение голосового помощника,
принимают от первого приложения голосового помощника второй сигнал, указывающий, что первое приложение голосового помощника является прерываемым,
принимают третьи аудиосигналы, представляющие второе голосовое ключевое слово, и
в качестве реакции на прием третьих аудиосигналов, определяют, что первое приложение голосового помощника является прерываемым, и передают сигнал активации во второе приложение голосового помощника для активации второго приложения голосового помощника и выполнения второго диалогового сеанса с пользователем.
4. Способ по п.3, дополнительно содержащий, в то время как второе приложение голосового помощника является активным и выполняет второй диалоговый сеанс с пользователем, этапы, на которых:
принимают от второго приложения голосового помощника третий сигнал, указывающий, что второе приложение голосового помощника является непрерываемым;
принимают четвертые аудиосигналы, представляющие первое голосовое ключевое слово;
в качестве реакции на прием четвертых аудиосигналов, определяют, что второе приложение голосового помощника является непрерываемым, и определяют не передавать сигнал активации в первое приложение голосового помощника;
принимают от второго приложения голосового помощника четвертый сигнал, указывающий, что второе приложение голосового помощника является прерываемым;
принимают пятые аудиосигналы, представляющие первое голосовое ключевое слово; и
в качестве реакции на прием пятых аудиосигналов, определяют, что второе приложение голосового помощника является прерываемым, и передают сигнал активации в первое приложение голосового помощника для активации первого приложения голосового помощника и выполнения третьего диалогового сеанса с пользователем.
5. Компьютерное устройство, выполненное с возможностью управления активацией нескольких приложений голосового помощника и содержащее по меньшей мере один процессор, при этом компьютерное устройство содержит:
множество приложений голосового помощника, исполняемых по меньшей мере одним процессором, причем первое приложение голосового помощника из множества приложений голосового помощника ассоциировано с первым голосовым ключевым словом и второе приложение голосового помощника из множества приложений голосового помощника ассоциировано со вторым голосовым ключевым словом;
компонент активации голосового помощника, исполняемый по меньшей мере одним процессором, чтобы:
обнаруживать первое произнесение со стороны пользователя, представляющее первое голосовое ключевое слово;
в качестве реакции на обнаружение первого произнесения со стороны пользователя, передавать сигнал активации в первое приложение голосового помощника для активации первого приложения голосового помощника и выполнения первого диалогового сеанса с пользователем;
в то время как первое приложение голосового помощника является активным и выполняет первый диалоговый сеанс с пользователем:
принимать от первого приложения голосового помощника сигнал, указывающий, что первое приложение голосового помощника является непрерываемым,
принимать второе произнесение со стороны пользователя, представляющее второе голосовое ключевое слово,
в качестве реакции на прием второго произнесения со стороны пользователя, определять, что первое приложение голосового помощника является непрерываемым, и определять не передавать сигнал активации во второе приложение голосового помощника,
принимать от первого приложения голосового помощника второй сигнал, указывающий, что первое приложение голосового помощника является прерываемым,
принимать третье произнесение со стороны пользователя, представляющее второе голосовое ключевое слово, и
в качестве реакции на прием третьего произнесения со стороны пользователя, определять, что первое приложение голосового помощника является прерываемым, и передавать сигнал активации во второе приложение голосового помощника для активации второго приложения голосового помощника и выполнения второго диалогового сеанса с пользователем.
6. Компьютерное устройство по п.5, в котором компонент активации голосового помощника дополнительно выполнен с возможностью, в то время как второе приложение голосового помощника является активным и выполняет второй диалоговый сеанс с пользователем:
принимать от второго приложения голосового помощника третий сигнал, указывающий, что второе приложение голосового помощника является непрерываемым;
принимать четвертое произнесение со стороны пользователя, представляющее первое голосовое ключевое слово;
в качестве реакции на прием четвертого произнесения со стороны пользователя, определять, что второе приложение голосового помощника является непрерываемым, и определять не передавать сигнал активации в первое приложение голосового помощника;
принимать от второго приложения голосового помощника четвертый сигнал, указывающий, что второе приложение голосового помощника является прерываемым;
принимать пятое произнесение со стороны пользователя, представляющее первое голосовое ключевое слово; и
в качестве реакции на прием пятого произнесения со стороны пользователя, определять, что второе приложение голосового помощника является прерываемым, и передавать сигнал активации в первое приложение голосового помощника для активации первого приложения голосового помощника и выполнения третьего диалогового сеанса с пользователем.
EP 3389044 B1, 17.10.2018 | |||
US 2018204569 A1, 19.07.2018 | |||
CN 107919123 A, 17.04.2018 | |||
US 2019013019 A1, 10.01.2019 | |||
СПОСОБ ВВОДА ДАННЫХ В ЭЛЕКТРОННОЕ УСТРОЙСТВО, СПОСОБ ОБРАБОТКИ ГОЛОСОВОГО ЗАПРОСА, МАШИНОЧИТАЕМЫЙ НОСИТЕЛЬ (ВАРИАНТЫ), ЭЛЕКТРОННОЕ УСТРОЙСТВО, СЕРВЕР И СИСТЕМА | 2015 |
|
RU2646350C2 |
Авторы
Даты
2024-04-17—Публикация
2020-03-26—Подача