RU2690199C1 - Управление поставщиками данных для диалога - Google Patents

Управление поставщиками данных для диалога Download PDF

Info

Publication number
RU2690199C1
RU2690199C1 RU2017142336A RU2017142336A RU2690199C1 RU 2690199 C1 RU2690199 C1 RU 2690199C1 RU 2017142336 A RU2017142336 A RU 2017142336A RU 2017142336 A RU2017142336 A RU 2017142336A RU 2690199 C1 RU2690199 C1 RU 2690199C1
Authority
RU
Russia
Prior art keywords
response
user
dialog
request
dialogue
Prior art date
Application number
RU2017142336A
Other languages
English (en)
Inventor
Дэвид Клайджер ЭЛСОН
Дэвид П. УИПП
Шир Джудит ЙЕОШУА
Original Assignee
ГУГЛ ЭлЭлСи
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ГУГЛ ЭлЭлСи filed Critical ГУГЛ ЭлЭлСи
Application granted granted Critical
Publication of RU2690199C1 publication Critical patent/RU2690199C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

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

Description

УРОВЕНЬ ТЕХНИКИ
[0001] Данное описание изобретения относится к способу и системе ведения диалогов в ответ на запрос, выданный пользователем с использованием интерфейса на пользовательском устройстве.
[0002] Традиционные мобильные устройства могут включать в себя программное обеспечение для ответа на речь пользователя мобильного устройства. Речь обычно может включать в себя команды мобильному устройству позвонить по номеру телефона, отправить сообщение на номер телефона или искать информацию на мобильном устройстве либо в Интернете. Программное обеспечение может обеспечить аудиовывод из мобильного устройства, подтверждающий те команды. Мобильное устройство может подавать принятую речь в серверную систему для обработки и приема информации, идентифицирующей операции, которые нужно выполнить.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0003] Данное описание изобретения описывает технологии, относящиеся к ведению диалогов, включая задействование разных поставщиков данных. Вообще, один изобретательский аспект изобретения, описанного в данном описании изобретения, можно воплотить в способах, которые включают в себя действия по приему от пользовательского устройства запроса, ассоциированного с задачей; представлению запроса каждому из множества отдельных поставщиков данных; приему одного или более предлагаемых диалоговых ответов от одного или более поставщиков данных; оценке одного или более предлагаемых диалоговых ответов на основе одного или более оценочных факторов; определению конкретного диалогового ответа для предоставления пользователю на основе оценки; и предоставлению выбранного диалогового ответа в пользовательское устройство. Конкретнее, аспект описанных вариантов осуществления включает в себя способ ведения диалога для пользовательского устройства, содержащий: прием от пользовательского устройства запроса в диалоговой системе, ассоциированного с задачей, при этом упомянутое пользовательское устройство соединено с возможностью связи с диалоговой системой посредством сети связи; представление диалоговой системой запроса каждому из множества отдельных поставщиков данных, где каждый поставщик данных независимо анализирует запрос в соответствии с соответствующей моделью данных; прием множества предлагаемых диалоговых ответов от двух или более поставщиков данных; оценку одного или более предлагаемых диалоговых ответов механизмом ведения диалога в диалоговой системе на основе одного или более оценочных факторов; определение механизмом ведения диалога конкретного диалогового ответа для предоставления пользователю на основе оценочного критерия; и предоставление этого определенного диалогового ответа в пользовательское устройство.
[0004] Другие варианты осуществления этого аспекта включают в себя соответствующие компьютерные системы, устройство и компьютерные программы, записанные на одном или более компьютерных запоминающих устройствах, каждое из которых сконфигурировано для выполнения действий в способах. Система из одного или более компьютеров, сконфигурированных для выполнения конкретных операций или действий, означает, что система установила на них программное обеспечение, микропрограммное обеспечение, аппаратные средства или их сочетание, которые при работе побуждают систему выполнять операции или действия. Одна или более компьютерных программ, сконфигурированные для выполнения конкретных операций или действий, означают, что одна или более программ включают в себя команды, которые при их исполнении устройством обработки данных побуждают устройство выполнять операции или действия.
[0005] Вышеупомянутые и другие варианты осуществления при необходимости могут включать в себя один или более следующих признаков, по отдельности или в комбинации. В частности, один вариант осуществления включает в себя все следующие признаки вместе. Способ включает в себя: обновление состояния диалога на основе выбранного диалогового ответа. Принятый запрос является голосовым вводом, и способ содержит преобразование голосового входного запроса в текст перед представлением запроса множеству поставщиков данных. Способ дополнительно включает в себя: определение того, требует ли диалог дополнительных ответов от пользовательского устройства, и в ответ на определение того, что никакие дополнительные ответы не требуются, завершение запрошенной пользователем задачи. Каждый поставщик данных независимо анализирует запрос в соответствии с соответствующей моделью данных. В ответ на определение того, что никакие из соответствующих оценок для множества предлагаемых диалоговых ответов не удовлетворяют пороговой величине, синтезирование ответа для предоставления пользовательскому устройству, чтобы выявить намерение пользователя. Определение конкретного диалогового ответа для предоставления пользователю на основе оценки включает в себя дисквалификацию предлагаемого диалогового ответа с оценкой, которая ниже пороговой величины, а также дисквалификацию всех предлагаемых диалоговых ответов, которые относятся к предлагаемому диалоговому ответу.
[0006] Конкретные варианты осуществления изобретения, описанного в данном описании изобретения, можно реализовать для осуществления одного или более следующих преимуществ. Ведение диалога для реагирования на задачи улучшается путем задействования разных поставщиков данных, которые могут ответить на пользовательский ввод. В частности, можно привлекать разных поставщиков данных, обладающих разными достоинствами и недостатками. Это позволяет пользоваться специализированными поставщиками данных, также обеспечивая гибкость типов пользовательского ввода, которые можно интерпретировать. Более того, ведение диалога может допускать прием параллельных ответов от разных поставщиков данных и, при необходимости, агрегирование принятых ответов. Более того, поставщики данных могут быть разнотипными по отношению к реализации, например, они могут формироваться разными производителями или создаваться с использованием разных технологий, либо могут быть доступными по разным сетям (типа локальных в отличие от разветвленных). При условии, что каждый поставщик данных предоставляет данные с использованием заданного интерфейса, система может объединять их данные в единый диалоговый ответ.
[0007] Подробности одного или более вариантов осуществления изобретения, описанного в этом описании изобретения, излагаются на прилагаемых чертежах и в описании ниже. Другие признаки, аспекты и преимущества изобретения станут очевидны из описания, чертежей и формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0008] Фиг. 1 - примерная система для ведения диалога.
[0009] Фиг. 2 - алгоритмическая блок-схема примерного процесса для ведения диалога.
[010] Одинаковые номера ссылок и обозначения на различных чертежах указывают одинаковые элементы.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[011] Пользователи могут давать голосовые команды устройству для выполнения конкретной задачи, например, формирования элемента календаря, посылки вызова или сообщения либо поиска конкретной информации. Выполнением задачи устройством или системой, связанной с устройством, можно управлять с помощью разговорного диалога, который задает вопросы пользователю по одному или более значениям, необходимым для завершения задачи, аналогично заполнению полей некой формы.
[012] Например, типовым диалогом для задачи в календаре может быть:
[013] Пользователь: [создать будильник]
[014] Устройство/система: В котором часу вы желаете установить будильник?
[015] Пользователь: [15:00]
[016] Устройство/система: Создан будильник на 15:00.
[017] В ответ на пользовательский ввод команды создания будильника система интерпретирует команду как запрашивающую задачу установить будильник на конкретное время. В частности, поставщик данных для выполнения задач может интерпретировать принятый голосовой ввод и направить конкретный диалог к информации, необходимой для завершения задачи, например, запрашивающей время для будильника.
[018] В другом примерном диалоге пользователь может искать конкретную информацию:
[019] Пользователь: [Когда начинается игра Giants?]
[020] Устройство/система: Вы имеете в виду Giants из Сан-Франциско или Giants из Нью-Йорка?
[021] Здесь система понимает вопрос от пользователя как запрос расписания спортивных игр, но есть неопределенность в отношении того, каких "Giants" подразумевает пользователь. Диалоговый ответ запрашивает разъяснение, на какую спортивную команду "Giants" ссылается пользователь. При разъяснении диалог может продолжаться, чтобы предоставить информацию о расписании, например, которая идентифицирована поисковой системой.
[022] В некоторых случаях пользовательский ввод может поменять один тип задачи теоретически на другой тип задачи в зависимости от того, как диалоговая система интерпретирует голосовой ввод. Например:
[023] Пользователь: [Установить будильник]
[024] Устройство/система: В котором часу вы желаете установить будильник?
[025] Пользователь: [Когда начинается игра Giants?]
[026] В этом примере второй ответ пользователя можно интерпретировать более чем одним способом в зависимости от того, какой поставщик данных инициируется голосовым вводом. Например, поставщик данных по задачам может интерпретировать голосовой ввод, связанный с созданием будильника, но не посчитает второй ввод об игре Giants шумным или бессмысленным ответом, потому что он не относится к предполагаемому вводу для диалога по задаче будильника. Однако другой поставщик данных, который может интерпретировать связанный со спортивными играми голосовой ввод, может обработать вопрос о расписании игры Giants. Данное описание изобретения описывает методики для задействования и объединения диалоговых ответов от множества поставщиков данных.
[027] Фиг. 1 - примерная система 100 для ведения диалога. Система 100 включает в себя пользователя 102, пользовательское устройство 104, диалоговую систему 106 и множество поставщиков 124a, 124b-124n данных. Пользовательское устройство 104 и диалоговая система 106 осуществляют связь по сети 103, например, Интернету.
[028] Пользовательское устройство 104 может быть одним из некоторого количества подходящих устройств, включая мобильное устройство, носимый компьютер, планшет, гибридное устройство, переносной компьютер или настольный компьютер. Пользовательское устройство 104 может принимать от пользователя 102 взаимодействия, как вербальные, например, голосовой ввод, так и невербальные. В частности, пользовательское устройство 104 включает в себя микрофон 108, сконфигурированный для приема голосового ввода от пользователя 102. Пользовательское устройство 104 также может включать в себя один или более динамиков, сконфигурированных для вещания вопросов диалога в ответ на принятый запрос пользователя. Для ясности показано только одно пользовательское устройство. Однако может быть много пользовательских устройств, ассоциированных с соответствующими отдельными пользователями. Каждое из этих пользовательских устройств может осуществлять связь с диалоговой системой 106 по сети 103.
[029] Пользовательское устройство 104 дополнительно включает в себя интерфейс 110 пользователя. Интерфейс 110 пользователя в ответ на запрос пользователя может показывать пользователю информацию, включающую в себя некоторое или все содержимое, ассоциированное с диалогом. Диалог 112 задает некоторое количество ответов, например, вопросы по значениям, необходимым для выполнения задачи, запрошенной пользователем. Конкретные вопросы или другое содержимое диалога 112 можно показывать пользователю в конкретном порядке, например, посредством последовательности аудио-вопросов, вещаемых одним или более динамиками, или отображаемых в интерфейсе 110 пользователя.
[030] В некоторых других реализациях пользовательское устройство включает в себя механизм анализа речи для преобразования в текст принятого голосового ввода в микрофон 108 перед передачей диалоговой системе 106.
[031] Диалоговая система 106 может быть одним или более вычислительными ресурсами, например, одной или более вычислительными системами, или виртуальными машинами, работающими в одной или более вычислительных системах, связанными с пользовательским устройством 104 по сети 103. Диалоговая система 106 включает в себя механизм 114 ведения диалога и механизм 116 анализа речи.
[032] Механизм 116 анализа речи может использовать подходящий процесс преобразования речи в текст для преобразования принятого голосового ввода 118 в текстовую строку. В некоторых реализациях механизм 116 анализа речи выдает текст, который может быть обработан одним или более синтаксическими анализаторами, чтобы идентифицировать один или более смыслов, например, путем формирования дерева разбора. Смысл аудио, которое преобразовано в текст, может использоваться одним или более поставщиками данных, чтобы идентифицировать конкретную задачу для выполнения в ответ на принятый запрос.
[033] Механизм 114 ведения диалога управляет одним или более диалогами, ассоциированными с запрошенной задачей. Это включает в себя поддержание состояния диалога, например, на какой вопрос отвечают, чтобы механизм 116 анализа речи мог должным образом интерпретировать принятое аудио, ассоциированное с диалогом, на основе текущего контекста, предоставленного тем состоянием. К тому же механизм 114 ведения диалога определяет ответ на входящий голосовой ввод на основе состояния диалога, а также интерпретации голосового ввода одним или более поставщиками 124a, 124b и 124n данных, представляющими собой поставщика 1 данных, поставщика 2 данных и поставщика N данных, где N - некоторое целое число, представляющее общее количество поставщиков данных, которые могут предоставлять ввод в диалоговую систему 106.
[034] Каждый из этих поставщиков 124a-n данных представляет собой серверную систему, которая конфигурируется для независимой интерпретации голосового ввода в соответствии с конкретной моделью данных для того поставщика данных. Например, первый поставщик данных может быть поставщиком задач, у которого модель данных сконфигурирована для интерпретации голосовых запросов, связанных с конкретными задачами, например, созданием записи календаря, установкой будильника, посылкой телефонного вызова или формированием текстового сообщения. Поставщик данных по задачам ожидает пользовательский ввод, ассоциированный с конкретными задачами, и распознает голосовой ввод, ассоциированный с тем предполагаемым пользовательским вводом. Второй поставщик данных может быть поставщиком спортивных игр, у которого модель данных сконфигурирована для интерпретации голосовых запросов, связанных с конкретными спортивными темами, включающими команды и счет очков. Другие поставщики данных могут включать в себя поставщиков поиска данных, которые сосредоточены на конкретных типах информации, например, местном предпринимательстве, информации из социальных сетей или торговых данных, таких как возможности покупок.
[035] В ответ на голосовой ввод, который принимается от пользовательского устройства 104 и обрабатывается механизмом 116 анализа голоса, один или более поставщиков 124 данных могут интерпретировать принятый ввод и предоставить диалоговый ответ механизму 114 ведения диалога. Затем механизм 114 ведения диалога определяет, какой диалоговый ответ предоставить пользовательскому устройству 104. Ниже подробнее описываются разные способы ответа.
[036] Каждый поставщик 124a-n данных предлагает диалоговый ответ на основе интерпретации принятого ввода в соответствии с моделью данных у соответствующего поставщика данных. Диалоговый ответ и, при необходимости, другая информация, например, предполагаемый ответ от пользователя 102, могут кодироваться в некую структуру данных в соответствии с конкретным форматом данных. В некоторых реализациях эта информация кодируется в буфер протокола, в данном описании изобретения называемый DialogTurnIntent ("DTI"). Для удобства везде будет использоваться DTI, но могут использоваться и другие подходящие кодированные структуры данных.
[037] Например, в диалоге для задачи составления сообщения электронной почты один вопрос в диалоге может быть запросом темы электронного письма. Поставщик данных по задачам может создать DTI, где вопросом к пользователю является запрос темы. DTI предоставляется механизму 114 ведения диалога и отправляется пользовательскому устройству 104, где его можно показать пользователю 102, например, в виде визуального вопроса в интерфейсе пользователя, например: "Какая тема?", или в виде аудио-вопроса, выданного из динамиков, например: "Какую бы тему вы хотели?".
[038] Механизм 114 ведения диалога может отправить (120) пользовательскому устройству 102 более одного DTI. В частности, DTI могут включать в себя не только текущее приглашение пользователю, но и другие DTI, связанные другими полями, необходимыми для завершения диалога для запрошенной задачи. Например, когда механизм 114 ведения диалога отправляет DTI "запрос темы", он также может отправить DTI для последующего вопроса в диалоге, например DTI "запрос тела сообщения".
[039] Фиг. 2 - алгоритмическая блок-схема примерного процесса 200 для ведения диалога. Для удобства процесс 200 будет описываться как выполняемый системой из одного или более компьютеров, расположенных в одном или более местоположениях, и подходящим образом запрограммированной в соответствии с данным описанием изобретения. Например, процесс 200 может выполнять подходящим образом запрограммированная диалоговая система, например, диалоговая система 106 из фиг. 1.
[040] Система принимает ввод, включающий в себя запрос (202). Запрос может приниматься в виде голосового ввода, поданного пользователем в пользовательское устройство, или ручного ввода в пользовательское устройство, например, пользовательское устройство 104 по фиг. 1, и передаваться системе. В некоторых реализациях пользовательский голосовой ввод можно преобразовать в текст с помощью пользовательского устройства перед отправкой в систему. Задачей может быть, например, формирование элемента календаря, установка будильника, формирование электронного письма, посылка вызова или сообщения либо поиск конкретной информации.
[041] Система предоставляет запрос множеству поставщиков данных (204). Каждый поставщик данных может быть сконфигурирован для интерпретации разных типов запросов с использованием конкретной модели данных. Таким образом, принятый запрос может быть интерпретирован по-разному разными поставщиками данных в зависимости от того, как обрабатывается запрос в соответствии с соответствующими моделями данных.
[042] Система принимает предлагаемый диалоговый ответ от одного или более поставщиков данных (206). Каждый поставщик данных независимо анализирует запрос в соответствии с соответствующей моделью данных. Модель данных может включать в себя модель, обученную на характерной совокупности данных, ассоциированной с конкретным типом информации или действия. Запрос может инициировать ответ от некоторых, но не всех поставщиков данных среди множества поставщиков данных. Таким образом, голосовой входной запрос расписания бейсбола может инициировать предлагаемый диалоговый ответ от поставщика данных, обученного предоставлять связанные со спортивными играми ответы, но не инициировать поставщика данных, обученного предоставлять информацию о погоде, потому что голосовой ввод не совпадает с предполагаемым запросом, ассоциированным с информацией о погоде. В некоторых реализациях поставщик данных может предоставить ответ на нераспознанный голосовой ввод, указывающий, например, что ввод не понят, и попросить пользователя повторить ответ.
[043] Один или более поставщиков данных могут предоставить предлагаемый диалоговый ответ в виде DTI, который включает в себя предлагаемый ответ для предоставления пользовательскому устройству.
[044] В некоторых реализациях каждый поставщик данных способен видеть предлагаемые диалоговые ответы, предоставленные другими поставщиками данных. В ответ данный поставщик данных может изменить или добавить предлагаемые диалоговые ответы на основе диалоговых ответов других поставщиков данных. Например, поставщик данных по задачам может предложить ответ, который основывается на предлагаемом ответе поставщика поиска данных, например, предлагая время для установки будильника на основе ответа от поставщика поиска данных, предоставляющего время для спортивной игры. Более того, в некоторых реализациях каждый поставщик данных может предоставить множество предлагаемых диалоговых ответов. Например, каждый ответ может основываться на контексте предлагаемого ответа другого поставщика данных, а также ответа, который игнорирует предложения других поставщиков данных.
[045] Система определяет, какой диалоговый ответ выбрать (208). В частности, система анализирует все предлагаемые диалоговые ответы и определяет, какой предлагаемый диалоговый ответ больше всего подходит для выбора. Анализ выполняется после приема всех индивидуальных предложений от поставщиков данных, но перед тем, как любые диалоговые ответы отправляются пользовательскому устройству. Система может оценить каждый предлагаемый ответ на основе одного или более факторов. Можно использовать различные факторы для оценки предлагаемых диалоговых ответов для выбора, включая одно или более из основанной на журналах настройки вероятного намерения пользователя, моделей персонализации пользователя, оценок, указывающих правдоподобие семантической интерпретации каждого поставщика данных, или полной конфигурации стратегии диалога, которая определяет равновесие между точным соответствием и минимизацией количества вопросов, задаваемых как часть диалога.
[046] В некоторых реализациях поставщики данных включают в свои результаты оценки уверенности. Оценки уверенности можно использовать для определения того, какой предлагаемый ответ выбрать. В некоторых других реализациях другие факторы выбора могут включать в себя длину беседы в диалоге и предысторию беседы в диалоге. Например, если пользователь задает один и тот же вопрос множество раз, а поставщик данных не может предоставить информацию, которую ищет пользователь, то вместо него можно выбрать другого поставщика данных.
[047] В некоторых реализациях фактором выбора является правдоподобие того, что рассматриваемая информация является чем-то, что интересовало бы обычного пользователя (в отличие от экзотики). Например, если нет такой спортивной команды, как Giants, то следует считать, что пользователя не поняли, перед выполнением поиска, например, "гиганты, которые играют".
[048] В некоторых реализациях фактором выбора является качество рассматриваемой информации. Качество может основываться, например, на том, получал ли поставщик данных информацию из структурированного источника, например, официальной службы расписания бейсбола, или неструктурированного источника, например, блогов случайных людей.
[049] В некоторых реализациях фактор выбора основывается на прагматике и планировании задач. Например, если системе не известно, в какое время играет любая из команд Giants, то системе не следует спрашивать пользователя, каких Giants он подразумевает, потому что ответ не окажет никакого влияния на расширенную задачу.
[050] В некоторых реализациях фактор выбора выводится на основе релевантности рассматриваемой информации запросу пользователя. Например, если бы "Giants" были лишь малоизвестной командой в далекой стране, то системе следует считать их нерелевантными.
[051] В некоторых реализациях фактор выбора основывается на том, выполняется ли определение, что запрос настолько неопределенный, что система должна попросить пользователя прояснить свое намерение, не раздражая его глупыми/очевидными вопросами. Определение может выполняться, например, на основе географической информации о том, где располагается пользователь, персонализации, например, прошлого обсуждения пользователем Giants из Сан-Франциско в сравнении с Giants из Нью-Йорка, или контекста, например, только у одной из команд есть расписание игр в ближайшее время.
[052] В некоторых реализациях, если на основе этих факторов конкретный предлагаемый диалоговый ответ оценивается низко, например, предлагаемый диалоговый ответ не удовлетворяет конкретной пороговой оценке, то механизм ведения диалога может дисквалифицировать не только тот предлагаемый диалоговый ответ, но также и любые другие предлагаемые диалоговые ответы, которые относятся к этому предлагаемому диалоговому ответу. В некоторых реализациях, если оценки от двух или более поставщиков данных не отличаются на заданную пороговую величину, то механизм ведения диалога в качестве диалогового ответа может формировать вопрос устранения неоднозначности намерения.
[053] Система предоставляет выбранный диалоговый ответ пользовательскому устройству (210) и обновляет состояние диалога (212). Диалоговый ответ, отправленный пользовательскому устройству, может включать в себя DTI выбранного диалогового ответа, который указывает ответ, который нужно показать пользователю на пользовательском устройстве. Этот ответ можно синтезировать в голосовой ответ или показать в интерфейсе пользователя пользовательского устройства. В некоторых реализациях ответ отправляется вместе с дополнительной информацией, например, одним или более результатами поиска, ассоциированными с диалоговым ответом. Например, если диалоговый ответ основывается на поиске поставщика данных или релевантных веб-страницах, то вместе с диалоговым ответом можно предоставить ссылку на те веб-страницы.
[054] Обновленное состояние диалога может использоваться для определения следующей части диалога для отправки в ответ на принятые пользовательские ответы. Более того, обновленное состояние диалога может предоставить контекст для анализа последующего голосового ввода, принятого от пользовательского устройства, так что голосовой ввод можно интерпретировать должным образом.
[055] Система завершает запрос, когда подходящие диалоги завершены (214).
[056] Система может определить, необходимы ли дополнительные значения, или завершен ли диалог. Если необходимы дополнительные значения, то один или более дополнительных DTI можно отправить пользовательскому устройству, либо система может подождать дополнительные ответы от пользовательского устройства. Если никакие дополнительные значения не нужны, то система может завершить задачу, например, путем формирования записи календаря или сообщения электронной почты либо путем предоставления конкретной запрошенной информации. Завершенную задачу можно отправить пользовательскому устройству для одобрения перед исполнением, либо ее можно выполнить автоматически.
[057] Имеется некоторое количество разных способов, которыми система может интерпретировать входные данные на основе предложений от разных поставщиков данных и применяемой оценки. Нижеследующее описывает некоторые примерные сценарии для интерпретирования пользовательского ввода:
[058] Сценарий 1:
[059] Пользователь: [Установить будильник]
[060] Система/устройство: В котором часу вы желаете установить будильник?
[061] Пользователь: [В какое время начинается игра Giants?]
[062] В этом примере поставщики данных могут включать в себя поставщика задач, поставщика спортивных игр и поставщика веб-ответов. Если система определяет, что диалоговые предложения от поставщиков спортивных игр и веб-данных шумные, то эти ответы не следует одобрять, и диалогом должен руководить поставщик задач, который уже инициирован. Это может привести к ответу типа:
[063] Система/устройство: Извините, это непонятно. В котором часу вы желаете установить будильник?
[064] Сценарий 2:
[065] В этом сценарии пользователь задает побочный вопрос, потому что хочет посмотреть игру Giants. На этот раз у системы больше уверенности в веб-ответах, что отражено в оценке для соответствующего предлагаемого диалогового ответа, и поэтому они выбираются в сравнении с поставщиком спортивных игр и поставщиком задач для создания смешанного диалога:
[066] Пользователь: [Установить будильник]
[067] Система/устройство: В котором часу вы желаете установить будильник?
[068] Пользователь: [В какое время начинается игра Giants?]
[069] Система/устройство: На основе нижеследующих результатов игра Giants начинается сегодня в 15 ч. Установить будильник на это время?
[070] Сценарий 3:
[071] Аналогичен сценарию 2 за исключением того, что механизм ведения диалога синтезирует новый вопрос для определения, намеревался ли пользователь поменять тематику, либо он по-прежнему заинтересован в исходной задаче:
[072] Пользователь: [Установить будильник]
[073] Система/устройство: В котором часу вы желаете установить будильник?
[074] Пользователь: [В какое время начинается игра Giants?]
[075] Система/устройство: На основе нижеследующих результатов игра Giants начинается сегодня в 15 ч. Все еще желаете установить будильник?
[076] Сценарий 4:
[077] В сценарии 4 пользователь задает побочный вопрос, потому что хочет посмотреть игру Giants. Даже если поставщик веб-ответов предоставляет время в качестве предлагаемого ответа, система дает возможность предложению поставщика спортивных игр, которое оценено выше, устранить неопределенность и подтвердить правильную сущность. Сохраняя намерение установить будильник, может происходить следующий смешанный диалог:
[078] Пользователь: [Установить будильник]
[079] Система/устройство: В котором часу вы желаете установить будильник?
[080] Пользователь: [В какое время начинается игра Giants?]
[081] Система/устройство: Вы имеете в виду Giants из Сан-Франциско или Giants из Нью-Йорка?
[082] Пользователь: [Giants из Сан-Франциско]
[083] Система/устройство: На основе нижеследующих результатов Giants из Сан-Франциско играют в 15 ч. Установить будильник на это время?
[084] Сценарий 5:
[085] В этом сценарии пользователь меняет тему и уже не желает устанавливать будильник. Здесь механизм ведения диалога уверен, что поставщик веб-ответов, идентифицирующий время игры Giants, оценивается выше, чем другие предлагаемые диалоговые ответы, и не предлагает будильник, который продолжает прежнюю задачу.
[086] Пользователь: [Установить будильник]
[087] Система/устройство: В котором часу вы желаете установить будильник?
[088] Пользователь: [В какое время начинается игра Giants?]
[089] Система/устройство: На основе нижеследующих результатов игра Giants начинается сегодня в 15 ч.
[090] Сценарий 6:
[091] В этом сценарии пользователь меняет тему и уже не желает устанавливать будильник. Механизм ведения диалога использует предложение с наивысшей оценкой от поставщика данных спортивных игр, чтобы прояснить сущность, а затем веб-ответы, чтобы идентифицировать время. Не предлагается никакого будильника.
[092] Пользователь: [Установить будильник]
[093] Система/устройство: В котором часу вы желаете установить будильник?
[094] Пользователь: [В какое время начинается игра Giants?]
[095] Система/устройство: Вы имеете в виду Giants из Сан-Франциско или Giants из Нью-Йорка?
[096] Пользователь: [Giants из Сан-Франциско]
[097] Система/устройство: На основе нижеследующих результатов игра Giants начинается сегодня в 15 ч.
[098] Сценарий 7:
[099] В этом сценарии механизм ведения диалога может синтезировать вопрос, чтобы устранить неоднозначность в том, меняет ли пользователь тему или задает побочный вопрос. Это может происходить потому, что два или более предлагаемых ответов оценены слишком похоже, чтобы определить, какой следует предпочесть.
[0100] Пользователь: [Установить будильник]
[0101] Система/устройство: В котором часу вы желаете установить будильник?
[0102] Пользователь: [В какое время начинается игра Giants?]
[0103] Система/устройство: Погодите, вы желаете завершить настройку будильника или пытаетесь запланировать будильник накануне игры?
[0104] В каждом из этих сценариев различные поставщики данных предлагают один или более диалоговых ответов на основе пользовательского ввода. Более того, поставщики данных могут предложить множество диалоговых ответов на основе предлагаемых диалоговых ответов других поставщиков данных.
[0105] Ссылаясь на примерные сценарии выше, поставщик задач может предоставить предлагаемый диалоговый ответ "Извините, это непонятно. В котором часу вы желаете установить будильник?". Это соответствует вышеприведенному сценарию 1.
[0106] Когда поставщик задач узнает, что предлагаемый диалоговый ответ был отправлен поставщиком веб-ответов, поставщик задач может формировать другой предлагаемый диалоговый ответ, который относится к предлагаемому веб-ответами диалоговому ответу с дополнительным содержимым "Установить будильник на это время?". Это соответствует вышеприведенному сценарию 2.
[0107] Когда поставщик задач узнает, что предлагаемый диалоговый ответ был отправлен поставщиком веб-ответов, поставщик задач может формировать другой предлагаемый диалоговый ответ, который относится к предлагаемому веб-ответами диалоговому ответу с дополнительным содержимым "Все еще желаете установить будильник?". Это соответствует вышеприведенному сценарию 3.
[0108] Когда поставщик задач узнает, что предлагаемый диалоговый ответ был отправлен поставщиком данных спортивных игр, чтобы устранить неоднозначность у сущности, поставщик задач может формировать другой предлагаемый диалоговый ответ, который относится к предлагаемому спортивными ответами диалоговому ответу с дополнительным содержимым "Установить будильник на это время?". Это соответствует вышеприведенному сценарию 4.
[0109] Различные предлагаемые диалоговые ответы от каждого из поставщиков данных оцениваются в соответствии с одним или более факторами. На основе оценки механизм ведения диалога может выбрать подходящий диалоговый ответ. Ссылаясь опять на примерные сценарии выше, тот механизм ведения диалога может на основе соответствующих оценок:
[0110] A) Выбрать предлагаемый диалоговый ответ от поставщика задач (сценарий 1)
[0111] B) Выбрать альтернативный предлагаемый диалоговый ответ от поставщика задач, а также принять предлагаемый диалоговый ответ от поставщика веб-ответов (сценарий 2)
[0112] C) Выбрать альтернативный предлагаемый диалоговый ответ от поставщика задач, а также принять альтернативный предлагаемый диалоговый ответ от поставщика веб-ответов (сценарий 3)
[0113] D) Выбрать альтернативный предлагаемый диалоговый ответ от поставщика задач, а также принять предлагаемый диалоговый ответ от поставщика данных спортивных игр (сценарий 4)
[0114] E) Выбрать предлагаемый диалоговый ответ от поставщика веб-ответов и полностью сбросить состояние будильника (сценарий 5)
[0115] F) Выбрать предлагаемый диалоговый ответ от поставщика данных спортивных игр и полностью сбросить состояние будильника (сценарий 6)
[0116] G) Сформировать полностью новый предлагаемый диалоговый ответ, чтобы спросить пользователя о его намерении (сценарий 7). Например, если оценки от поставщиков данных не отличаются на пороговую величину.
[0117] Исключение предлагаемого диалогового ответа может отразиться на других предлагаемых диалоговых ответах, которые к нему относятся. Таким образом, если предлагаемый диалоговый ответ от поставщика веб-ответов имеет дисквалифицирующую оценку, то исключается не только сценарий 5, но также сценарии 2 и 3. В некоторых реализациях при оценке также может использоваться географическая информация. Например, используя географическую информацию для указания, на каких Giants ссылается пользователь (Сан-Франциско в отличие от Нью-Йорка), предлагаемый поставщиком данных спортивных игр ответ можно скрыть, чтобы исключить не только сценарий 6, но также сценарий 4.
[0118] Варианты осуществления изобретения и операций, описанных в данном описании изобретения, можно реализовать в цифровых электронных схемах либо в компьютерном программном обеспечении, микропрограммном обеспечении или аппаратных средствах, включая раскрытые в данном описании изобретения структуры и их структурные эквиваленты, либо в сочетаниях одного или более из них. Варианты осуществления объекта изобретения, описанного в данном описании изобретения, можно реализовать в виде одной или более компьютерных программ, то есть одного или более модулей из команд компьютерной программы, кодированных на компьютерном носителе информации для исполнения устройством обработки данных или для управления его работой. В качестве альтернативы или дополнительно команды программы могут кодироваться в искусственно сформированном распространяемом сигнале, например, сформированном машиной электрическом, оптическом или электромагнитном сигнале, который формируется, чтобы кодировать информацию для передачи подходящему приемному устройству для исполнения устройством обработки данных. Компьютерный носитель информации может быть или включаться в машиночитаемое запоминающее устройство, машиночитаемую основу хранения, матрицу или устройство памяти с произвольным или последовательным доступом либо сочетание одного или более из них. Кроме того, хотя компьютерный носитель информации не является распространяемым сигналом, компьютерный носитель информации может быть источником или назначением команд компьютерной программы, кодированных в искусственно сформированном распространяемом сигнале. Компьютерный носитель информации также может быть или включаться в один или более отдельных физических компонентов или носителей (например, множество CD, дисков или других запоминающих устройств).
[0119] Описанные в данном описании изобретения операции можно реализовать как операции, выполняемые устройством обработки данных над данными, сохраненными в одном или более машиночитаемых запоминающих устройствах или принятыми из других источников.
[0120] Термин "устройство обработки данных" включает в себя все виды устройств и машин для обработки данных, включая, в качестве примера, программируемый процессор, компьютер, систему на кристалле или их множество, либо сочетания вышеупомянутого. Устройство может включать в себя специализированные логические схемы, например, FPGA (программируемая пользователем вентильная матрица) или ASIC (специализированная интегральная схема). Устройство в дополнение к аппаратным средствам также может включать в себя код, который создает среду выполнения для компьютерной программы, о которой идет речь, например, код, который составляет микропрограммное обеспечение процессора, стек протоколов, систему управления базами данных, операционную систему, межплатформенную среду исполнения, виртуальную машину или сочетание одного или более из них. Устройство и среда выполнения могут реализовать различные инфраструктуры моделей вычислений, например, инфраструктуры веб-служб, распределенных вычислений и коллективных вычислений.
[0121] Компьютерная программа (также известная как программа, программное обеспечение, программное приложение, сценарий или код) может быть написана на любом виде языка программирования, включая компилируемые или интерпретируемые языки, декларативные или процедурные языки, и она может быть развернута в любом виде, включая автономную программу или модуль, компонент, подпрограмму, объект или другую единицу, подходящую для использования в вычислительной среде. Компьютерная программа может, но не должна, соответствовать файлу в файловой системе. Программа может храниться в части файла, который хранит другие программы или данные (например, один или более сценариев, сохраненных в документе на языке разметки), в одном файле, выделенном для программы, о которой идет речь, или в множестве согласованных файлов (например, файлах, которые хранят один или более модулей, подпрограмм или частей кода). Компьютерная программа может быть развернута для исполнения на одном компьютере или на множестве компьютеров, которые располагаются на одной площадке или распределены по множеству площадок и взаимосвязаны с помощью сети связи.
[0122] Процессы и логические потоки, описанные в данном описании изобретения, могут выполняться одним или более программируемыми процессорами, исполняющими одну или более компьютерных программ для выполнения действий путем воздействия на входные данные и формирования вывода. Процессы и логические потоки также могут выполняться специализированными логическими схемами, например, FPGA (программируемая пользователем вентильная матрица) или ASIC (специализированная интегральная схема), и устройство также может быть реализовано в виде специализированных логических схем.
[0123] Процессоры, подходящие для исполнения компьютерной программы, в качестве примера включают в себя как универсальные, так и специализированные микропроцессоры и любой один или более процессоров в любом виде цифрового компьютера. Как правило, процессор будет принимать команды и данные из постоянного запоминающего устройства или оперативного запоминающего устройства, либо из обоих. Неотъемлемыми элементами компьютера являются процессор для выполнения действий в соответствии с командами и одно или более запоминающих устройств для хранения команд и данных. Как правило, компьютер также будет включать в себя, или функционально соединяться для приема данных или передачи данных, либо того и другого, одно или более запоминающих устройств большой емкости для хранения данных, например, магнитные, магнитооптические диски или оптические диски. Однако компьютеру не обязательно содержать такие устройства. Кроме того, компьютер может быть встроен в другое устройство, например, назовем только несколько, мобильный телефон, персональный цифровой помощник (PDA), мобильный аудио- или видеопроигрыватель, игровую приставку, приемник системы глобального позиционирования (GPS) или портативное запоминающее устройство (например, флэш-накопитель на универсальной последовательной шине (USB)). Устройства, подходящие для хранения команд компьютерной программы и данных, включают в себя все виды энергонезависимого запоминающего устройства, носителей и запоминающих устройств, в качестве примера включающих в себя полупроводниковые запоминающие устройства, например EPROM, EEPROM, и устройства на флэш-памяти; магнитные диски, например внутренние жесткие диски или съемные диски; магнитооптические диски; и диски CD-ROM и DVD-ROM. Процессор и запоминающее устройство могут дополняться специализированными логическими схемами либо включаться в них.
[0124] Чтобы предусмотреть взаимодействие с пользователем, варианты осуществления изобретения, описанного в данном описании изобретения, можно реализовать на компьютере с устройством отображения, например монитором CRT (электронно-лучевая трубка) или LCD (жидкокристаллический дисплей), для отображения информации пользователю и клавиатурой и указательным устройством, например мышью или шаровым манипулятором, с помощью которого пользователь может предоставить компьютеру входные данные. Другие виды устройств с тем же успехом могут использоваться для обеспечения взаимодействия с пользователем; например, обратная связь, предоставленная пользователю, может быть любым видом сенсорной обратной связи, например, визуальной обратной связью, звуковой обратной связью либо тактильной обратной связью; и входные данные от пользователя могут приниматься в любом виде, включая звуковой, речевой или тактильный ввод. К тому же компьютер может взаимодействовать с пользователем путем отправки документов и приема документов от устройства, которое используется пользователем; например, путем отправки веб-страниц в веб-обозреватель на клиентском устройстве пользователя в ответ на запросы, принятые от веб-обозревателя.
[0125] Варианты осуществления изобретения, описанного в данном описании изобретения, можно реализовать в вычислительной системе, которая включает в себя внутренний компонент, например, в виде сервера данных, либо которая включает в себя промежуточный компонент, например сервер приложений, либо которая включает в себя внешний компонент, например клиентский компьютер с графическим интерфейсом пользователя или веб-обозревателем, посредством которых пользователь может взаимодействовать с реализацией изобретения, описанного в данном описании изобретения, либо любое сочетание одного или более таких внутренних, промежуточных или внешних компонентов. Компоненты системы могут быть взаимосвязаны с помощью любой формы или среды цифровой передачи данных, например, с помощью сети связи. Примеры сетей связи включают в себя локальную сеть ("LAN") и глобальную сеть ("WAN"), сетевой комплекс (например, Интернет) и одноранговые сети (например, произвольные одноранговые сети).
[0126] Вычислительная система может включать в себя клиенты и серверы. Клиент и сервер обычно удалены друг от друга и обычно взаимодействуют по сети связи. Взаимосвязь клиента и сервера происходит посредством компьютерных программ, работающих на соответствующих компьютерах и имеющих клиент-серверную связь друг с другом. В некоторых вариантах осуществления сервер передает данные (например, HTML-страницу) клиентскому устройству (например, с целью отображения данных и приема пользовательского ввода от пользователя, взаимодействующего с клиентским устройством). Данные, сформированные на клиентском устройстве (например, результат взаимодействия с пользователем), могут приниматься на сервере от клиентского устройства.
[0127] Хотя данное описание изобретения содержит многие специфические подробности реализации, эти подробности не следует толковать как ограничения объема любых изобретений или того, что может быть заявлено, а скорее как описания признаков, характерных для конкретных вариантов осуществления конкретных изобретений. Некоторые признаки, которые описываются в данном описании изобретения применительно к отдельным вариантам осуществлениям, также можно реализовать вместе в одном варианте осуществления. Наоборот, различные признаки, которые описываются применительно к одному варианту осуществления, также можно реализовать в множестве вариантов осуществления, отдельно или в любой подходящей субкомбинации. Кроме того, хотя признаки могут описываться выше как действующие в некоторых сочетаниях и даже сначала заявляться как таковые, один или более признаков из заявленного сочетания в некоторых случаях могут исключаться из сочетания, и заявленное сочетание может относиться к субкомбинации или разновидности субкомбинации.
[0128] Аналогичным образом, хотя операции изображаются на чертежах в конкретном порядке, это не следует понимать как требование того, что для достижения желаемых результатов такие операции должны выполняться в конкретном показанном порядке или в последовательном порядке, или что должны выполняться все проиллюстрированные операции. В некоторых обстоятельствах могут быть полезны многозадачность и параллельная обработка. Кроме того, разделение различных компонентов системы в описанных выше вариантах осуществления не следует понимать как требование такого разделения во всех вариантах осуществления, а следует понимать так, что описанные компоненты программ и систем обычно можно объединять в единый программный продукт или укомплектовать в множество программных продуктов.
[0129] Таким образом, описаны конкретные варианты осуществления изобретения. Другие варианты осуществления входят в объем, определяемый нижеследующей формулой изобретения. В некоторых случаях перечисленные в формуле изобретения действия могут выполняться в ином порядке и, тем не менее, добиваться желаемых результатов. К тому же изображенные на прилагаемых чертежах процессы не обязательно требуют конкретного показанного порядка или последовательного порядка для достижения желаемых результатов. В некоторых реализациях могут быть полезны многозадачность и параллельная обработка.

Claims (42)

1. Компьютерно-реализуемый способ ведения диалога для пользовательского устройства, содержащий этапы, на которых:
принимают от пользовательского устройства запрос, созданный пользователем и ассоциированный с выполнением задачи, при этом запрос содержит голосовой ввод пользователя пользовательского устройства;
определяют диалог, ассоциированный с задачей, при этом диалог имеет конкретное состояние;
представляют запрос каждому из множества отдельных поставщиков данных, при этом каждый поставщик данных ассоциирован с отдельной моделью данных, сконфигурированной для интерпретации конкретных типов голосовых вводов;
в ответ на это принимают множество предлагаемых диалоговых ответов от двух или более из поставщиков данных, включающих в себя первого поставщика данных и второго поставщика данных, при этом первый поставщик данных определяет, следует ли изменить первый предлагаемый диалоговый ответ первого поставщика данных, который является ответным на голосовой ввод запроса, на основе второго предлагаемого диалогового ответа второго поставщика данных, который является ответным на голосовой ввод запроса, при этом определение первого поставщика данных происходит перед предоставлением голосового ответа на голосовой ввод в пользовательское устройство, и при этом каждый из множества предлагаемых диалоговых ответов ассоциирован с соответствующим контекстом;
выполняют оценку упомянутого множества предлагаемых диалоговых ответов на основе одного или более оценочных факторов;
определяют из упомянутого множества предлагаемых диалоговых ответов конкретный диалоговый ответ для предоставления пользователю в ответ на голосовой ввод запроса на основе упомянутой оценки; и
предоставляют этот определенный диалоговый ответ в пользовательское устройство.
2. Способ по п. 1, содержащий этап, на котором обновляют состояние диалога на основе определенного диалогового ответа.
3. Способ по п. 1, содержащий этап, на котором преобразуют голосовой входной запрос в текст перед представлением запроса множеству поставщиков данных.
4. Способ по п. 1, дополнительно содержащий этап, на котором определяют, требует ли диалог дополнительных ответов от пользовательского устройства, и, в ответ на определение того, что никакие дополнительные ответы не требуются, завершают запрошенную пользователем задачу.
5. Способ по п. 1, в котором каждый поставщик данных независимо анализирует упомянутый запрос согласно соответствующей модели данных.
6. Способ по п. 1, в котором в ответ на определение того, что никакие из соответствующих оценок для множества предлагаемых диалоговых ответов не удовлетворяют пороговой величине, синтезируют ответ для предоставления в пользовательское устройство, чтобы выявить намерение пользователя.
7. Способ по п. 1, в котором упомянутое определение конкретного диалогового ответа для предоставления пользователю на основе оценки включает в себя этап, на котором дисквалифицируют предлагаемый диалоговый ответ с оценкой, которая ниже пороговой величины, а также дисквалифицируют все предлагаемые диалоговые ответы, которые относятся к предлагаемому диалоговому ответу.
8. Система для ведения диалога для пользовательского устройства, содержащая:
один или более компьютеров, сконфигурированных для выполнения операций, содержащих:
прием от пользовательского устройства запроса, созданного пользователем и ассоциированного с выполнением задачи, при этом запрос содержит голосовой ввод пользователя пользовательского устройства;
определение диалога, ассоциированного с задачей, при этом диалог имеет конкретное состояние;
представление запроса каждому из множества отдельных поставщиков данных, при этом каждый поставщик данных ассоциирован с отдельной моделью данных, сконфигурированной для интерпретации конкретных типов голосовых вводов;
в ответ на это прием множества предлагаемых диалоговых ответов от двух или более из поставщиков данных, включающих в себя первого поставщика данных и второго поставщика данных, при этом первый поставщик данных определяет, следует ли изменить первый предлагаемый диалоговый ответ первого поставщика данных, который является ответным на голосовой ввод запроса, на основе второго предлагаемого диалогового ответа второго поставщика данных, который является ответным на голосовой ввод запроса, при этом определение первого поставщика данных происходит перед предоставлением голосового ответа на голосовой ввод в пользовательское устройство, и при этом каждый из множества предлагаемых диалоговых ответов ассоциирован с соответствующим контекстом;
оценку упомянутого множества предлагаемых диалоговых ответов на основе одного или более оценочных факторов;
определение из упомянутого множества предлагаемых диалоговых ответов конкретного диалогового ответа для предоставления пользователю в ответ на голосовой ввод запроса на основе упомянутой оценки; и
предоставление этого определенного диалогового ответа в пользовательское устройство.
9. Система по п. 8, сконфигурированная для выполнения операций, содержащих обновление состояния диалога на основе определенного диалогового ответа.
10. Система по п. 8, в которой операции содержат преобразование голосового входного запроса в текст перед представлением запроса множеству поставщиков данных.
11. Система по п. 8, дополнительно сконфигурированная для выполнения операций, содержащих определение того, требует ли диалог дополнительных ответов от пользовательского устройства, и, в ответ на определение того, что никакие дополнительные ответы не требуются, завершение запрошенной пользователем задачи.
12. Система по п. 8, в которой каждый поставщик данных независимо анализирует запрос согласно соответствующей модели данных.
13. Система по п. 8, в которой в ответ на определение того, что никакие из соответствующих оценок для множества предлагаемых диалоговых ответов не удовлетворяют пороговой величине, синтезируется ответ для предоставления в пользовательское устройство, чтобы выявить намерение пользователя.
14. Система по п. 8, в которой упомянутое определение конкретного диалогового ответа для предоставления пользователю на основе оценки включает в себя дисквалификацию предлагаемого диалогового ответа с оценкой, которая ниже пороговой величины, а также дисквалификацию всех предлагаемых диалоговых ответов, которые относятся к предлагаемому диалоговому ответу.
15. Один или более машиночитаемых носителей информации, на которых закодированы команды, которые при их исполнении одним или более компьютерами предписывают одному или более компьютерам выполнять операции, содержащие:
прием от пользовательского устройства запроса, созданного пользователем и ассоциированного с выполнением задачи, при этом запрос содержит голосовой ввод пользователя пользовательского устройства;
определение диалога, ассоциированного с задачей, при этом диалог имеет конкретное состояние;
представление запроса каждому из множества отдельных поставщиков данных, при этом каждый поставщик данных ассоциирован с отдельной моделью данных, сконфигурированной для интерпретации конкретных типов голосовых вводов;
в ответ на это прием множества предлагаемых диалоговых ответов от двух или более из поставщиков данных, включающих в себя первого поставщика данных и второго поставщика данных, при этом первый поставщик данных определяет, следует ли изменить первый предлагаемый диалоговый ответ первого поставщика данных, который является ответным на голосовой ввод запроса, на основе второго предлагаемого диалогового ответа второго поставщика данных, который является ответным на голосовой ввод запроса, при этом определение первого поставщика данных происходит перед предоставлением голосового ответа на голосовой ввод в пользовательское устройство, и при этом каждый из множества предлагаемых диалоговых ответов ассоциирован с соответствующим контекстом;
оценку упомянутого множества предлагаемых диалоговых ответов на основе одного или более оценочных факторов;
определение из упомянутого множества предлагаемых диалоговых ответов конкретного диалогового ответа для предоставления пользователю в ответ на голосовой ввод запроса на основе упомянутой оценки; и
предоставление этого определенного диалогового ответа в пользовательское устройство.
16. Один или более машиночитаемых носителей информации по п. 15, на которых закодированы команды, которые предписывают одному или более компьютерам выполнять операции, содержащие обновление состояния диалога на основе определенного диалогового ответа.
17. Один или более машиночитаемых носителей информации по п. 15, при этом операции содержат преобразование голосового входного запроса в текст перед представлением запроса множеству поставщиков данных.
18. Один или более машиночитаемых носителей информации по п. 15, на которых дополнительно закодированы команды, которые предписывают одному или более компьютерам выполнять операции, содержащие определение того, требует ли диалог дополнительных ответов от пользовательского устройства, и, в ответ на определение того, что никакие дополнительные ответы не требуются, завершение запрошенной пользователем задачи.
19. Один или более машиночитаемых носителей информации по п. 15, при этом каждый поставщик данных независимо анализирует запрос согласно соответствующей модели данных.
20. Один или более машиночитаемых носителей информации по п. 15, при этом упомянутое определение конкретного диалогового ответа для предоставления пользователю на основе оценки включает в себя дисквалификацию предлагаемого диалогового ответа с оценкой, которая ниже пороговой величины, а также дисквалификацию всех предлагаемых диалоговых ответов, которые относятся к предлагаемому диалоговому ответу.
RU2017142336A 2015-07-31 2016-07-29 Управление поставщиками данных для диалога RU2690199C1 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/815,794 US10255921B2 (en) 2015-07-31 2015-07-31 Managing dialog data providers
US14/815,794 2015-07-31
PCT/US2016/044864 WO2017023807A1 (en) 2015-07-31 2016-07-29 Managing dialog data providers

Publications (1)

Publication Number Publication Date
RU2690199C1 true RU2690199C1 (ru) 2019-05-31

Family

ID=56616091

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017142336A RU2690199C1 (ru) 2015-07-31 2016-07-29 Управление поставщиками данных для диалога

Country Status (5)

Country Link
US (4) US10255921B2 (ru)
EP (1) EP3329395A1 (ru)
CN (2) CN107889533B (ru)
RU (1) RU2690199C1 (ru)
WO (1) WO2017023807A1 (ru)

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
EP4138075A1 (en) 2013-02-07 2023-02-22 Apple Inc. Voice trigger for a digital assistant
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10813584B2 (en) * 2013-05-21 2020-10-27 Happify, Inc. Assessing adherence fidelity to behavioral interventions using interactivity and natural language processing
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
CN110442699A (zh) 2013-06-09 2019-11-12 苹果公司 操作数字助理的方法、计算机可读介质、电子设备和系统
US10791216B2 (en) 2013-08-06 2020-09-29 Apple Inc. Auto-activating smart responses based on activities from remote devices
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10255921B2 (en) 2015-07-31 2019-04-09 Google Llc Managing dialog data providers
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10606952B2 (en) 2016-06-24 2020-03-31 Elemental Cognition Llc Architecture and processes for computer learning and understanding
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10860628B2 (en) 2017-02-16 2020-12-08 Google Llc Streaming real-time dialog management
US10713289B1 (en) * 2017-03-31 2020-07-14 Amazon Technologies, Inc. Question answering system
US11003839B1 (en) * 2017-04-28 2021-05-11 I.Q. Joe, Llc Smart interface with facilitated input and mistake recovery
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
KR102211675B1 (ko) * 2017-05-12 2021-02-04 애플 인크. 디지털 어시스턴트의 동기화 및 태스크 위임
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
CN107967308B (zh) * 2017-11-16 2021-04-23 百度在线网络技术(北京)有限公司 一种智能交互的处理方法、装置、设备和计算机存储介质
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US11100146B1 (en) * 2018-03-23 2021-08-24 Amazon Technologies, Inc. System management using natural language statements
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11037048B2 (en) * 2018-10-22 2021-06-15 Moveworks, Inc. Virtual conversation method or system
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11194796B2 (en) * 2019-02-14 2021-12-07 Microsoft Technology Licensing, Llc Intuitive voice search
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11140099B2 (en) * 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
EP3959714B1 (en) * 2019-05-31 2024-04-17 Apple Inc. Voice identification in digital assistant systems
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11438452B1 (en) 2019-08-09 2022-09-06 Apple Inc. Propagating context information in a privacy preserving manner
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11431658B2 (en) * 2020-04-02 2022-08-30 Paymentus Corporation Systems and methods for aggregating user sessions for interactive transactions using virtual assistants
US11043220B1 (en) 2020-05-11 2021-06-22 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
CN113297359B (zh) * 2021-04-23 2023-11-28 阿里巴巴新加坡控股有限公司 交互信息的方法以及装置
US11961516B1 (en) * 2022-10-23 2024-04-16 Conversation Processing Intelligence, Corp. System and method for modifying operations of telecommunication devices using conversation processing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8566102B1 (en) * 2002-03-28 2013-10-22 At&T Intellectual Property Ii, L.P. System and method of automating a spoken dialogue service
RU2012135502A (ru) * 2010-01-18 2014-02-27 Эппл Инк. Персонализированный словарь для цифрового помощника

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144989A (en) * 1998-06-15 2000-11-07 Dejima, Inc. Adaptive agent-oriented software architecture
WO2000022549A1 (en) * 1998-10-09 2000-04-20 Koninklijke Philips Electronics N.V. Automatic inquiry method and system
US6604075B1 (en) 1999-05-20 2003-08-05 Lucent Technologies Inc. Web-based voice dialog interface
US6990670B1 (en) * 1999-11-05 2006-01-24 Ianywhere Solutions, Inc. Interpretation phase for adaptive agent oriented software architecture
US6615172B1 (en) 1999-11-12 2003-09-02 Phoenix Solutions, Inc. Intelligent query engine for processing voice based queries
US8200485B1 (en) 2000-08-29 2012-06-12 A9.Com, Inc. Voice interface and methods for improving recognition accuracy of voice search queries
US7257537B2 (en) 2001-01-12 2007-08-14 International Business Machines Corporation Method and apparatus for performing dialog management in a computer conversational interface
US7987151B2 (en) * 2001-08-10 2011-07-26 General Dynamics Advanced Info Systems, Inc. Apparatus and method for problem solving using intelligent agents
US20030135582A1 (en) * 2001-12-21 2003-07-17 Docomo Communications Laboratories Usa, Inc. Context aware search service
US7716199B2 (en) * 2005-08-10 2010-05-11 Google Inc. Aggregating context data for programmable search engines
US7869998B1 (en) 2002-04-23 2011-01-11 At&T Intellectual Property Ii, L.P. Voice-enabled dialog system
US7398209B2 (en) * 2002-06-03 2008-07-08 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US7209915B1 (en) * 2002-06-28 2007-04-24 Microsoft Corporation Method, system and apparatus for routing a query to one or more providers
US7693720B2 (en) * 2002-07-15 2010-04-06 Voicebox Technologies, Inc. Mobile systems and methods for responding to natural language speech utterance
US7249321B2 (en) 2002-10-03 2007-07-24 At&T Knowlege Ventures, L.P. System and method for selection of a voice user interface dialogue
US20040162724A1 (en) * 2003-02-11 2004-08-19 Jeffrey Hill Management of conversations
CA2528428C (en) * 2003-06-05 2013-01-22 Intertrust Technologies Corporation Interoperable systems and methods for peer-to-peer service orchestration
US7640160B2 (en) * 2005-08-05 2009-12-29 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US7620549B2 (en) * 2005-08-10 2009-11-17 Voicebox Technologies, Inc. System and method of supporting adaptive misrecognition in conversational speech
US7949529B2 (en) * 2005-08-29 2011-05-24 Voicebox Technologies, Inc. Mobile systems and methods of supporting natural language human-machine interactions
US7962466B2 (en) * 2006-01-23 2011-06-14 Chacha Search, Inc Automated tool for human assisted mining and capturing of precise results
US8073681B2 (en) * 2006-10-16 2011-12-06 Voicebox Technologies, Inc. System and method for a cooperative conversational voice user interface
US8055502B2 (en) * 2006-11-28 2011-11-08 General Motors Llc Voice dialing using a rejection reference
US8140335B2 (en) * 2007-12-11 2012-03-20 Voicebox Technologies, Inc. System and method for providing a natural language voice user interface in an integrated voice navigation services environment
US20100082652A1 (en) * 2008-09-29 2010-04-01 Chacha Search, Inc. Method and system for managing user interaction
US8126875B2 (en) * 2009-05-08 2012-02-28 Microsoft Corporation Instant answers and integrated results of a browser
US8706172B2 (en) * 2010-10-26 2014-04-22 Miscrosoft Corporation Energy efficient continuous sensing for communications devices
US9858343B2 (en) * 2011-03-31 2018-01-02 Microsoft Technology Licensing Llc Personalization of queries, conversations, and searches
EP2839391A4 (en) * 2012-04-20 2016-01-27 Maluuba Inc CONVERSATION AGENT
KR20130128716A (ko) * 2012-05-17 2013-11-27 포항공과대학교 산학협력단 어학 학습 시스템 및 학습 방법
US9973457B2 (en) * 2012-06-26 2018-05-15 Nuance Communications, Inc. Method and apparatus for live chat integration
US9424233B2 (en) * 2012-07-20 2016-08-23 Veveo, Inc. Method of and system for inferring user intent in search input in a conversational interaction system
CA2823835C (en) * 2012-08-15 2018-04-24 Homer Tlc, Inc. Voice search and response based on relevancy
US9070366B1 (en) * 2012-12-19 2015-06-30 Amazon Technologies, Inc. Architecture for multi-domain utterance processing
US9171542B2 (en) 2013-03-11 2015-10-27 Nuance Communications, Inc. Anaphora resolution using linguisitic cues, dialogue context, and general knowledge
US9805718B2 (en) * 2013-04-19 2017-10-31 Sri Internaitonal Clarifying natural language input using targeted questions
US9431008B2 (en) * 2013-05-29 2016-08-30 Nuance Communications, Inc. Multiple parallel dialogs in smart phone applications
CN103544219A (zh) * 2013-09-24 2014-01-29 北京光年无限科技有限公司 一种带智能推荐的问答系统
US20150178392A1 (en) * 2013-12-20 2015-06-25 Chacha Search, Inc. Method and system of providing a search tool
US9544310B2 (en) * 2014-01-27 2017-01-10 Microsoft Technology Licensing, Llc Discovering and disambiguating identity providers
CN103995870A (zh) * 2014-05-21 2014-08-20 百度在线网络技术(北京)有限公司 交互式搜索方法和装置
US10255921B2 (en) 2015-07-31 2019-04-09 Google Llc Managing dialog data providers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8566102B1 (en) * 2002-03-28 2013-10-22 At&T Intellectual Property Ii, L.P. System and method of automating a spoken dialogue service
RU2012135502A (ru) * 2010-01-18 2014-02-27 Эппл Инк. Персонализированный словарь для цифрового помощника

Also Published As

Publication number Publication date
EP3329395A1 (en) 2018-06-06
CN107889533A (zh) 2018-04-06
US10255921B2 (en) 2019-04-09
US20230360654A1 (en) 2023-11-09
CN114595316A (zh) 2022-06-07
US11727941B2 (en) 2023-08-15
US11120806B2 (en) 2021-09-14
CN107889533B (zh) 2022-03-01
US20170032791A1 (en) 2017-02-02
WO2017023807A1 (en) 2017-02-09
US20210407522A1 (en) 2021-12-30
US20190304471A1 (en) 2019-10-03

Similar Documents

Publication Publication Date Title
RU2690199C1 (ru) Управление поставщиками данных для диалога
JP7498149B2 (ja) ユーザプログラマブル自動アシスタント
CN109804428B (zh) 计算代理的合成语音选择
Qiu et al. Improving worker engagement through conversational microtask crowdsourcing
US20190019112A1 (en) Automated assistant invocation of appropriate agent
US11853778B2 (en) Initializing a conversation with an automated agent via selectable graphical element
RU2637874C2 (ru) Генерирование диалоговых рекомендаций для чатовых информационных систем
US11425215B1 (en) Methods and systems for virtual assistant routing
JP2018524676A (ja) メッセンジャー基盤サービス提供装置、及びそれを利用した方法
US11776537B1 (en) Natural language processing system for context-specific applier interface
Hautsalo Search engine optimisation for digital voice assistants and voice search
CN113342925A (zh) 接口提供装置、接口提供方法以及程序