RU2699587C2 - Обновление моделей классификаторов понимания языка на основе краудсорсинга - Google Patents

Обновление моделей классификаторов понимания языка на основе краудсорсинга Download PDF

Info

Publication number
RU2699587C2
RU2699587C2 RU2017127107A RU2017127107A RU2699587C2 RU 2699587 C2 RU2699587 C2 RU 2699587C2 RU 2017127107 A RU2017127107 A RU 2017127107A RU 2017127107 A RU2017127107 A RU 2017127107A RU 2699587 C2 RU2699587 C2 RU 2699587C2
Authority
RU
Russia
Prior art keywords
user
language
intention
classifier
computing device
Prior art date
Application number
RU2017127107A
Other languages
English (en)
Other versions
RU2017127107A (ru
RU2017127107A3 (ru
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 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Publication of RU2017127107A publication Critical patent/RU2017127107A/ru
Publication of RU2017127107A3 publication Critical patent/RU2017127107A3/ru
Application granted granted Critical
Publication of RU2699587C2 publication Critical patent/RU2699587C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/005Language recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0635Training updating or merging of old and new templates; Mean values; Weighting
    • G10L2015/0636Threshold criteria for the updating
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Abstract

Группа изобретений относится к средствам обновления моделей классификаторов понимания языка. Технический результат – повышение точности распознавания команд пользователя. Для этого предложен способ обновления моделей классификаторов понимания языка, в котором принимают через микрофон вычислительного устройства цифровой голосовой ввод от пользователя вычислительного устройства. Обработку естественного языка с использованием голосового ввода используют для выявления пользовательского голосового запроса. По установлению того, что пользовательский голосовой запрос не согласуется с одной из множества заданных голосовых команд в определении схемы персонального цифрового секретаря, используют GUI помечающего инструмента для приема пользовательского выбора: по меньшей мере одно намерение из множества имеющихся в наличии намерений и/или по меньшей мере одна позиция для этого по меньшей мере одного намерения. Набор отмеченных данных генерируется посредством спаривания пользовательского голосового запроса и пользовательского выбора и используется для обновления классификатора понимания языка. 3 н. и 12 з.п. ф-лы, 12 ил.

Description

УРОВЕНЬ ТЕХНИКИ
[0001] По мере развития компьютерной технологии становятся доступными мобильные устройства с все увеличивающейся мощностью. Например, смартфоны и другие вычислительные устройства стали общим местом. Возможности обработки данных таких устройств привели в результате к разработке различных типов функциональных возможностей, таких как функциональные возможности, относящиеся к персональным цифровым секретарям.
[0002] Персональный цифровой секретарь может использоваться для выполнения задач или услуг для индивидуума. Например, персональный цифровой секретарь может быть модулем программного обеспечения, исполняющимся в мобильном устройстве или компьютере-десктопе. Помимо этого, персональный цифровой секретарь, реализованный в мобильном устройстве, имеет интерактивные и встроенные возможности понимания разговорной речи, чтобы быть способным отвечать на вопросы или речевые команды пользователя. Примеры задач и услуг, которые могут выполняться персональным цифровым секретарем, могут включать в себя осуществление телефонных вызовов, отправку электронной почты или текстового сообщения и настройку календарных напоминаний.
[0003] Хотя персональный цифровой секретарь может быть реализован для выполнения множества задач с использованием агентов, программирование/определение каждого реагирующего агента может быть времязатратным. Следовательно, существуют широкие возможности для усовершенствования в технологиях, относящихся к созданию и корректировке определений реагирующих агентов и связанных с ними моделей классификаторов понимания языка для реализации персонального цифрового секретаря.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0004] Это краткое изложение сущности изобретения приведено для представления в упрощенной форме подборки концепций, которые дополнительно раскрываются ниже в подробном описании изобретения. Данное краткое изложение сущности изобретения не предназначено для идентификации ключевых признаков или существенных признаков заявляемого изобретения, а также не предназначено использоваться в качестве помощи в определении объема заявляемого изобретения.
[0005] В соответствии с одним или более аспектами, способ обновления моделей классификаторов понимания языка может включать в себя этапы, на которых принимают через один или более микрофонов вычислительного устройства цифровой голосовой ввод от пользователя вычислительного устройства. Также, ввод может быть принят от пользователя с использованием других вводов (например, посредством текстового ввода или других типов ввода). Обработка естественного языка выполняется с использованием цифрового голосового ввода для выявления пользовательского голосового запроса. По установлению того, что пользовательский голосовой запрос не согласуется с по меньшей мере одной из множества заранее заданных задач в определении агента (например, определении схемы расширяемого языка разметки (XML)) персонального цифрового секретаря, работающего на вычислительном устройстве, графический пользовательский интерфейс помечающего инструмента конечного пользователя (EULT) вычислительного устройства может использоваться для приема пользовательского выбора. Задача может определяться посредством голосовой (или текстовой) команды, а также посредством одного или более дополнительных средств, например, через основывающуюся на правилах подсистему, классификаторы машинного обучения и т.п. Пользовательский выбор может включать в себя по меньшей мере одно намерение из множества имеющихся в наличии намерений для предметной области. В необязательном порядке, пользовательский выбор может включать в себя по меньшей мере одну позицию для этого по меньшей мере одного намерения. Упомянутое по меньшей мере одно намерение связано с по меньшей одним действием, используемым для выполнения по меньшей мере одной функции категории функций для упомянутой предметной области. Будучи включенной в пользовательский выбор, упомянутая по меньшей мере одна позиция указывает значение, используемое для выполнения этого по меньшей мере одного действия. Набор отмеченных данных может быть сгенерирован посредством спаривания (или иного связывания) пользовательского голосового запроса с пользовательским выбором (например, выбранными предметной областью, намерением и/или позицией). Классификатор понимания языка может быть выбран из множества имеющихся в наличии классификаторов понимания языка, ассоциированных с определением агента, каковой выбор основывается, по меньшей мере, на по меньшей мере одном намерении, выбранном пользователем. Выбранный классификатор понимания языка может быть обновлен на основе сгенерированного набора отмеченных данных.
[0006] Согласно одному или более аспектам, предложен серверный компьютер, который включает в себя процессорное устройство и память, подключенную к процессорному устройству. Серверный компьютер может быть сконфигурирован для выполнения операций для обновления моделей классификаторов понимания языка. Операции могут включать в себя прием от по меньшей мере одного вычислительного устройства из множества вычислительных устройств, подключенных к серверному компьютеру, первого пользовательского выбора по меньшей мере одного намерения из множества имеющихся в наличии намерений. В необязательном порядке, пользовательский выбор может включать в себя по меньшей мере одну позицию для этого по меньшей мере одного намерения. Будучи включенным в пользовательский выбор, упомянутое по меньшей мере одно намерение может быть связано с по меньшей мере одним действием, используемым для выполнения по меньшей мере одной функции категории функций для предметной области. Упомянутая по меньшей мере одна позиция может указывать значение, используемое для выполнения этого по меньшей мере одного действия. Первый пользовательский выбор может быть ассоциирован с цифровым голосовым вводом, принятым на по меньшей мере одном вычислительном устройстве. Множество последующих пользовательских выборов, которые идентичны первому пользовательскому выбору, могут приниматься от по меньшей мере одного другого вычислительного устройства из множества вычислительных устройств. Набор отмеченных данных может быть сгенерирован посредством спаривания цифрового голосового ввода с первым пользовательским выбором. Классификатор понимания языка может быть выбран из множества имеющихся в наличии классификаторов понимания языка, ассоциированных с одним или более определениями схемы XML, каковой выбор основывается, по меньшей мере, на одном или более из цифрового голосового ввода, предметной области, намерения и/или позиции, соответствующих первому пользовательскому выбору. Выбранный классификатор понимания языка может быть обновлен на основе сгенерированного набора отмеченных данных.
[0007] Согласно одному или более аспектам, машиночитаемый носитель может включать в себя инструкции, которые при их исполнении предписывают вычислительному устройству выполнять операции для обновления моделей классификаторов понимания языка. Операции могут включать в себя выявление пользовательского запроса на основе пользовательского ввода, принятого на вычислительном устройстве. Пользовательский запрос может быть принят через по меньшей мере одно из текстового ввода и голосового ввода, и данный запрос может быть на предмет функциональных возможностей персонального цифрового секретаря, работающего в вычислительном устройстве. Операции могут дополнительно включать в себя установление того, что пользовательский запрос не согласуется с по меньшей мере одной из множества заранее заданных задач (например, голосовых команд) в определении схемы расширяемого языка разметки (XML) персонального цифрового секретаря. В одной реализации показатель достоверности может быть сгенерирован путем применения одного из множества имеющихся в наличии классификаторов понимания языка, ассоциированных с определением схемы XML, к пользовательскому запросу. По установлению того, что показатель достоверности меньше порогового значения, пользовательский выбор может быть принят с использованием графического пользовательского интерфейса помечающего инструмента конечного пользователя (EULT) вычислительного устройства. В другой реализации, другие методы могут быть использованы (например, вместо использования порогового значения) для установления того, использовать ли EULT для приема пользовательского выбора по меньшей мере одного из предметной области, намерения и/или информации позиции. Пользовательский выбор может включать в себя по меньшей мере одно намерение из множества имеющихся в наличии намерений. В необязательном порядке, пользовательский выбор может включать в себя предметную область и/или по меньшей мере одну позицию для по меньшей мере одного намерения. По меньшей мере одно намерение связано с по меньшей мере одним действием, используемым для выполнения по меньшей мере одной функции категории функций для предметной области. Будучи включенным в пользовательский выбор, по меньшей мере одна позиция может указывать значение, используемое для выполнения по меньшей мере одного действия. Набор отмеченных данных может быть сгенерирован путем спаривания пользовательского голосового запроса и пользовательского выбора. Классификатор понимания языка может быть выбран из множества имеющихся в наличии классификаторов понимания языка, ассоциированных с определением схемы XML, каковой выбор основывается на по меньшей мере одном намерении и/или позиции, выбранных пользователем. Обновленный классификатор понимания языка может быть сгенерирован путем обучения выбранного классификатора понимания языка с использованием сгенерированного набора отмеченных данных (например, связывания классификатора с голосовым запросом и по меньшей мере одним из предметной области, намерения и/или позиции в пользовательском выборе).
[0008] Как описывается в настоящем документе, разнообразие других признаков и преимуществ могут быть введены в предложенные технологии по необходимости.
ПЕРЕЧЕНЬ ФИГУР ЧЕРТЕЖЕЙ
[0009] Фиг.1 - блок-схема, иллюстрирующая примерную архитектуру для обновления моделей классификаторов понимания языка, согласно примерному варианту осуществления настоящего раскрытия.
[0010] Фиг.2 - блок-схема, иллюстрирующая различные варианты использования классификаторов понимания языка голосовыми приложениями, согласно примерному варианту осуществления настоящего раскрытия.
[0011] Фиг.3A-3B иллюстрируют пример циклов обработки для обновления моделей классификаторов понимания языка, согласно примерному варианту осуществления настоящего раскрытия.
[0012] Фиг.4A-4B иллюстрируют примерные пользовательские интерфейсы помечающего инструмента конечного пользователя, которые могут использоваться в соответствии с примерным вариантом осуществления настоящего раскрытия.
[0013] Фиг.5-7 - логические блок-схемы, иллюстрирующие обновление моделей классификаторов понимания языка согласно одному или более вариантам осуществления.
[0014] Фиг.8 - блок-схема, иллюстрирующая примерное мобильное вычислительное устройство, в сочетании с которым могут быть реализованы инновации, раскрытые в настоящем документе.
[0015] Фиг.9 - схема примерной вычислительной системы, в которой могут быть реализованы некоторые описанные варианты осуществления.
[0016] Фиг.10 - примерное окружение облачных вычислений, которое может использоваться в сочетании с технологиями, описанными в настоящем документе.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0017] Как описывается в настоящем документе, различные технологии и технические решения могут быть применены для обновления моделей классификаторов понимания языка. Более конкретно, спецификация определения агента (например, спецификация определения голосовой команды (VCD), спецификация определения реагирующего агента (RAD) или другой тип машиночитаемого документа) может быть использована для определения одного или более агентов, ассоциированных с персональным цифровым секретарем, функционирующим на вычислительном устройстве. Спецификация определения агента может задавать информацию предметной области, информацию намерения, информацию позиции, информацию состояния, ожидаемые пользовательские реплики (или голосовые команды), переходы между состояниями, строки и шаблоны ответов, информацию локализации и любую другую информацию, вводимую через RADE для обеспечения визуального/декларативного представления функциональных возможностей реагирующих агентов. Спецификация определения агента может быть реализована в голосовом приложении (например, персональном цифровом секретаре, собственном для операционной системы устройства, или стороннем голосовом приложении) наряду с одним или более классификаторами понимания языка (определение понятия "классификатор" приведено здесь ниже). Каждый классификатор может быть также ассоциирован с одним или более из предметной области, намерения и позиции, а также с пользовательской репликой.
[0018] В случаях, когда пользовательская реплика (или текстовый ввод) не согласуется с конкретной репликой/командой в рамках спецификации определения агента, помечающий инструмент конечного пользователя (EULT) может использоваться в вычислительном устройстве для обеспечения пользователю возможности выбирать одно или более из предметной области, намерения для предметной области и/или один или более позиций для намерения. В случаях, когда предметная область является недоступной, пользователь может добавлять предметную область и, в необязательном порядке, задавать намерение и/или позицию для этой предметной области. Набор отмеченных данных может быть создан посредством связывания пользовательской реплики с выбранными предметной областью, намерением и/или позицией. Классификатор, связанный с выбранным намерением (и/или предметной областью или позицией), затем может быть обновлен с использованием набора отмеченных данных. Обновление в отношении классификатора может быть запущено только после того, как некоторое количество пользователей сделают, по существу, одинаковый пользовательский запрос (т.е. запросят одинаковые или схожие предметную область, намерение и/или позицию), дабы избежать жульнического манипулирования и обновления классификатора. Обновление в отношении классификатора может делаться локально (внутри вычислительного устройства), и обновленный классификатор может затем быть сохранен в облачной базе данных, где его могут использовать другие пользователи. В качестве альтернативы, информация пользовательского выбора может быть отправлена на серверный компьютер (облачный сервер), где может быть создан набор отмеченных данных и классификатор может быть обновлен после выполнения достаточным количеством пользователей одних и тех же (или аналогичных) реплики и пользовательского выбора.
[0019] В этом документе детализируются разнообразные способы, процессы и процедуры. Хотя конкретные этапы могут описываться в определенной последовательности, такая последовательность, в основном, - для удобства и ясности. Конкретный этап может повторяться более одного раза, может выполняться до или после других этапов (даже если эти этапы иным образом описаны в другой последовательности) и может выполняться параллельно с другими этапами. Требуется, чтобы второй этап следовал за первым этапом только тогда, когда первый этап должен быть завершен до того, как начнется второй этап. Такая ситуация будет конкретно обозначаться, когда она не ясна из контекста. Некий отдельный этап может быть опущен; некий отдельный этап является необходимым только тогда, когда его исключение окажет материальное воздействие на другой этап.
[0020] В этом документе используются термины "и", "или" и "и/или". Такие термины должны читаться как имеющие одинаковое смысловое значение; то есть, инклюзивно. Например, "A и B" может означать, по меньшей мере, следующее: "и A, и B", "только A", "только B", "по меньшей мере, как A, так и B". В качестве другого примера, "A или B" может означать, по меньшей мере, следующее: "только A", "только B", "и A, и B", "по меньшей мере, как A, так и B". Когда подразумевается исключающее или, это будет конкретно указываться (например, "либо A, либо B", "максимум одно из A и B").
[0021] В этом документе описываются различные компьютерно-реализуемые способы, процессы и процедуры. Следует понимать, что различные действия (прием, сохранение, отправка, осуществление связи, отображение и т.д.) выполняются аппаратным устройством, даже если действие может быть санкционировано, инициировано или запущено пользователем, либо даже если аппаратное устройство управляется компьютерной программой, программным обеспечением, встроенным микропрограммным обеспечением (firmware) и т.п. Помимо этого, следует понимать, что аппаратное устройство оперирует данными, даже если данные могут представлять концепты или объекты реального мира, таким образом, явное указание как "данные" как таковое опускается. Например, когда аппаратное устройство описывается как "сохраняющее запись", следует понимать, что аппаратное устройство сохраняет данные, которые представляют запись.
[0022] Термин "агент" или "реагирующий агент", в том смысле как он используется здесь, относится к структуре данных/команд, которая может быть использована персональным цифровым секретарем для реализации одного или более ответных диалогов (например, голосовых, текстовых и/или тактильных откликов), ассоциированных с функциональными возможностями устройства. Функциональные возможности устройства (например, обмен электронной почтой, обмен сообщениями и т.д.) могут активироваться посредством пользовательского ввода (например, голосовой команды) в персональный цифровой секретарь. Реагирующий агент (или агент) может быть определен с использованием XML-документа определения голосового агента (VAD), определения голосовой команды (VCD) или определения реагирующего агента (RAD) (или другого типа машиночитаемого документа), а также кода программирования (например, кода C++), используемого для ведения агента по диалогу. Например, реагирующий агент электронной почты может использоваться, чтобы, основываясь на пользовательских задачах (например, голосовых командах), открывать новое окно электронной почты, составлять сообщение электронной почты на основе голосового ввода и отправлять сообщение электронной почты по адресу электронной почты, задаваемому голосовым вводом в персональный цифровой секретарь. Реагирующий агент может использоваться для выдачи одного или более ответов (например, аудио/видео/тактильных откликов) во время диалогового сеанса, инициированного с персональным цифровым секретарем на основе пользовательского ввода.
[0023] Термин "схема XML", в том смысле, как он используется здесь, относится к документу с совокупностью сегментов XML-кода, которые используются для описания и проверки данных в XML-окружении. Более конкретно, схема XML может перечислять элементы и атрибуты, используемые для описания контента в XML-документе, где каждый элемент является допустимым, какой тип контента является допустимым и т.п. Пользователь может генерировать файл XML (например, для использования в определении реагирующего агента), который привязан к схеме XML.
[0024] Термин "предметная область", в том смысле как он используется здесь, может использоваться для обозначения сферы или диапазона персональных знаний и может быть связан с категорией функций, выполняемых вычислительным устройством. Примерные предметные области включают в себя электронную почту (например, агент электронной почты может использоваться персональным цифровым секретарем (DPA) для генерирования/отправки электронной почты), сообщение (например, агент сообщений может использоваться персональным цифровым секретарем (DPA) для генерирования/отправки текстовых сообщений), предупреждение (реагирующий агент предупреждения может использоваться для настройки/удаления/модификации предупреждений) и т.д.
[0025] Термин "намерение", в том смысле как он используется здесь, может использоваться для обозначения по меньшей мере одного действия, используемого для выполнения по меньшей мере одной функции категории функций для идентифицированной предметной области. Например, намерение "задать предупреждение" может быть использовано для предметной области, относящейся к предупреждениям.
[0026] Термин "позиция", в том смысле как он используется здесь, может использоваться для обозначения конкретного значения или набора значений, используемых для совершения конкретного действия для заданной пары предметная область-намерение. Позиция может быть ассоциирована с одним или более намерениями и может быть явно предусмотрена (т.е., аннотирована) в шаблоне схемы XML. В типичном случае, предметная область, намерение и одна или более позиций составляют конструкцию понимания языка, в то же время, в рамках заданного сценария агента, позиция может использоваться совместно по множеству намерений. В качестве примера, если предметная область является предупреждением с двумя разными намерениями - задать предупреждение и удалить предупреждение, - то оба эти намерения могли бы совместно использовать одну и ту же позицию "Время предупреждения". В этом отношении, позиция может быть связана с одним или более намерениями.
[0027] Термин "пользовательский выбор" (в связи с помечающим инструментом конечного пользователя), в том смысле как он используется здесь, относится к выбору пользователем информации предметной области и/или намерения и/или позиции. В этом отношении, является возможным индивидуальный выбор предметной области или намерения или позиции (например, только намерение может быть выбрано), а также любых пар (например, выбор предметной области-намерения и без позиции).
[0028] Термин "классификатор" или "классификатор понимания языка", в том смысле как он используется здесь, относится к статистическому основывающемуся на правилах или на машинном обучении алгоритму или программной реализации, которая может соотносить заданный пользовательский ввод (речевой или текстовый) с предметной областью или намерением. Этот алгоритм может также выдавать показатель достоверности для любой классификации, выполняемой с использованием классификатора. Тот же самый алгоритм или дополнительный блок программного обеспечения может затем логически выводить/устанавливать набор позиций, задаваемых пользователем как часть реплики, для пары предметная область-намерение. Данная пользовательская реплика может обучать множество классификаторов - некоторые для положительного случая и другие для отрицательного случая. В качестве примера, пользовательская реплика (или голосовая/текстовая команда) "сообщи Робу, что я буду бегать поздно" могла бы использоваться для обучения классификатора "обмена сообщениями" в качестве позитивного обучающего набора, и классификатора "электронной почты" в качестве негативного обучающего набора. Классификатор может быть связан с одной или более частями отмеченных данных (например, пользовательской реплики, предметной области, намерения и/или позиции).
[0029] Фиг.1 - блок-схема, иллюстрирующая примерную архитектуру (100) для обновления моделей классификаторов понимания языка, в соответствии с примерным вариантом осуществления настоящего раскрытия. Согласно Фиг.1, клиентское вычислительное устройство (например, смартфон или другое мобильное вычислительное устройство, такое как устройство 800 на Фиг.8) может исполнять программное обеспечение, организованное в соответствии с архитектурой 100 для обеспечения обновления моделей классификаторов понимания языка.
[0030] Архитектура 100 включает в себя вычислительное устройство 102 (например, телефон, планшет, лэптоп, десктоп или другой тип вычислительного устройства), подключенное к удаленному серверному компьютеру (или компьютерам) 140 через сеть 130. Вычислительное устройство 102 включает в себя микрофон 106 для преобразования звука в электрический сигнал. Микрофон 106 может быть динамическим, емкостным или пьезоэлектрическим микрофоном, использующим электромагнитную индукцию, изменение в емкости или пьезоэлектричество, соответственно, для создания электрического сигнала из изменений давления воздуха. Микрофон 106 может включать в себя усилитель, один или более аналоговых или цифровых фильтров и/или аналого-цифровой преобразователь для создания цифрового звукового ввода. Цифровой звуковой ввод может содержать воспроизведение голоса пользователя, например, когда пользователь выдает команду в персональный цифровой секретарь 110 выполнить команду.
[0031] Персональный цифровой секретарь 110 работает в вычислительном устройстве 102 и позволяет пользователю вычислительного устройства 102 выполнять различные действия, используя голосовой (или текстовый) ввод. Персональный цифровой секретарь 110 может содержать модуль 112 обработки естественного языка, структуру 114 определения агента, пользовательские интерфейсы 116, модель классификаторов понимания языка (LUCM) 120 и помечающий инструмент конечного пользователя (EULT) 118. Персональный цифровой секретарь 110 может принимать пользовательский голосовой ввод через микрофон 106, выявлять соответствующую задачу (например, голосовую команду) из пользовательского голосового ввода с использованием структуры 114 определения агента (например, структуры данных голосовой команды или структуры определения реагирующего агента) и выполнять эту задачу (например, голосовую команду). В некоторых ситуациях, персональный цифровой секретарь 110 посылает пользовательскую (голосовую или текстовую) команду в одно из сторонних голосовых приложений 108. В других ситуациях персональный цифровой секретарь 110 обрабатывает задачу сам.
[0032] Операционная система (OS) 104 устройства управляет функциями пользовательского ввода, функциями вывода, функциями доступа к хранилищу, функциям сетевой связи и прочими функциями для устройства 110. OS 104 устройства обеспечивает персональному цифровому секретарю 110 доступ к таким функциям.
[0033] Структура 114 определения агента может определять одного или боле агентов DPA 110 и может задавать задачи или команды (например, голосовые команды), поддерживаемые DPA 110 и/или сторонними голосовыми приложениями 108, наряду с ассоциированными вариациями голосовых команд и примерами голосовых команд. В некоторых реализациях, структура 114 определения агента реализуется в формате XML. В качестве дополнения, структура 114 определения агента может идентифицировать голосовые приложения, которые доступны удаленно из магазина 146 приложений, и/или голосовые сервисы, доступные удаленно с web-службы 148 (например, путем осуществления доступа к определению схемы, доступному с удаленных серверных компьютеров 140, которым определяются функциональные возможности для удаленных приложений и/или удаленных сервисов).
[0034] Структура 114 определения агента может предоставляться совместно с моделью классификаторов понимания языка (LUCM) 120 (например, как часть операционной системы 104, либо может инсталлироваться во время инсталляции DPA 110). LUCM 120 может включать в себя множество классификаторов C1, …, Cn, где каждый классификатор может быть связан с одним или более из предметной области (D1, …, Dn), намерения (I1, …, In) и/или позиции (S1, …, Sn). Каждый из классификаторов может включать в себя статистический основывающийся на правилах или машинном обучении алгоритм или программную реализацию, которая может соотносить данный пользовательский ввод (голосовой или текстовый) с предметной областью и намерением. Это алгоритм может также выдавать показатель достоверности для любой классификации, выполняемой с использованием классификатора. В некоторых реализациях классификатор может быть связан с одним или более из информации предметной области, намерения и/или позиции и может обеспечивать показатель достоверности при его применении к данному пользовательскому голосовому/текстовому вводу (примерный сценарий реализации описан со ссылкой на Фиг.2).
[0035] Даже хотя LUCM 120 проиллюстрирована как являющаяся частью DPA 110 наряду со структурой 114 определения агента, настоящее раскрытие не ограничено в этом отношении. В некоторых вариантах осуществления, LUCM 120 может быть локальной копией модели классификаторов, которая включает в себя классификаторы (C1, …, Cn), релевантные структуре 114 определения агента и DPA 110. Другая (например, глобальная) модель классификаторов (например, LUCM 170) может храниться в облаке (например, как часть серверных компьютеров 140). Глобальная LUCM 170 может использоваться во время создания структуры определения агента, с тем чтобы подмножество (например, релевантных) классификаторов могло быть включено с такой структурой определения и реализовано как часть приложения (например, стороннего приложения 108, DPA 110 и/или OS 104).
[0036] DPA 110 может обрабатывать голосовой ввод, используя модуль 112 обработки естественного языка. Модуль 112 обработки естественного языка может принимать цифровой звуковой ввод и переводить слова, произнесенные пользователем, в текст, используя распознавание речи. Извлеченный текст может быть семантически проанализирован для установления задачи (например, пользовательской голосовой команды). Посредством анализа цифрового звукового ввода и выполнения действий в качестве реакции на произнесенные команды, персональным цифровым секретарем 110 можно управлять посредством голосового ввода со стороны пользователя. Например, персональный цифровой секретарь 110 может сравнивать извлеченный текст со списком потенциальных пользовательских команд (например, сохраненным в структуре 114 определения агента), чтобы выявить команду, в наибольшей степени соответствующую намерению пользователя. DPA 110 может также применять один или более из классификаторов из LUCM 120 для установления показателя достоверности, выбора классификатора на основе показателя достоверности и выявления команды, в наибольшей степени соответствующей намерению пользователя, на основе команды (или реплики), ассоциированной с классификатором. В этом отношении, данное сопоставление может основываться на статистических или вероятностных методах, деревьях решений или прочих правилах, других подходящих критериях сопоставления или комбинации перечисленного. Потенциальные команды могут быть собственными командами DPA 110 и/или командами, определенными в структуре 114 определения агента. Таким образом, путем определения команд в структуре 114 определения агента и классификаторов в LUCM 120, ряд задач, который может выполняться от имени пользователя посредством DPA 110, может быть расширен. Потенциальные команды могут также включать в себя голосовые команды для выполнения задач сторонних голосовых приложений 108.
[0037] Персональный цифровой секретарь 110 включает в себя голосовые и/или графические пользовательские интерфейсы 116. Пользовательские интерфейсы 116 могут предоставлять пользователю информацию, описывающую возможности DPA 110 (например, возможности EULT 118) и/или сторонних голосовых приложений 108.
[0038] Помечающий инструмент конечного пользователя (EULT) 118 может содержать подходящие логические средства, схемы, интерфейсы и/или код и может быть выполнен с возможностью предоставлять функциональные возможности для обновления моделей классификаторов понимания языка, как описывается в настоящем документе. Например, EULT 118 может быть запущен в случаях, когда в структуре 114 определения агента нет строки голосовой команды, которая соответствует голосовой/текстовой команде пользователя, либо когда один или более из имеющихся в наличии классификаторов возвращают показатель достоверности, который ниже пороговой величины (как видно на Фиг.2). Пользователь может затем использовать EULT 118 для выбора предметной области, намерения и/или позиции и связывания задачи (например, голосовой команды, выраженной как реплика) или текстовой команды с выбранной пользователем информацией предметной области, намерения и/или позиции. Сделанные пользователем выборы или введенная пользователем голосовая/текстовая команда могут быть посланы на серверные компьютеры 140, где глобальный набор классификаторов 170 может быть обновлен (например, классификатор, который соответствует пользовательской голосовой/текстовой команде, обновляется введенными пользователем предметной областью, намерением и/или позицией). В этом отношении, подход на основе краудсорсинга может использоваться для обучения/помечания классификаторов и, следовательно, улучшения глобальной и локальной LUCM (170 и 120).
[0039] Персональный цифровой секретарь 110 может осуществлять доступ к удаленным сервисам 142, исполняющихся в удаленных серверных компьютерах 140. Удаленные сервисы 142 могут включать в себя программные функции, предоставляемые по сетевому адресу через сеть, такую как сеть 130. Сеть 130 может включать в себя локальную сеть (LAN), глобальную сеть (WAN), Интернет, интернет, проводную сеть, беспроводную сеть, сотовую сеть, их комбинации или любую сеть, подходящую для обеспечения канала для осуществления связи между вычислительным устройством 102 и удаленными серверными компьютерами 140. Следует понимать, что сетевая топология, проиллюстрированная на Фиг.1, упрощена и что множественные сети и сетевые устройства могут использоваться для взаимного соединения различных компьютерных систем, раскрытых здесь.
[0040] Удаленные сервисы 142 могут включать в себя различные компьютерные сервисы, которые являются доступными с удаленных серверных компьютеров 140 через сеть 130. Удаленные сервисы 142 могут включать в себя сервис 144 обработки естественного языка (например, вызываемый персональным цифровым секретарем 110 для выполнения или получения содействия посредством функций обработки естественного языка от модуля 112). Удаленные сервисы 142 могут включать в себя магазин 146 приложений (например, магазин приложений, предоставляющий голосовые приложения, по которым можно осуществлять поиск, либо которые можно скачивать и инсталлировать). Удаленные сервисы 142 могут также включать в себя web-службы 148, к которым может быть осуществлен доступ посредством голосового ввода с использованием персонального цифрового секретаря 110. Удаленные сервисы 142 могут также включать в себя помечающий инструмент 150 разработчика, сервис 152 обучения модели классификаторов и сервис 154 обнаружения фальсификации модели классификаторов, как поясняется ниже. Удаленные серверные компьютеры 140 могут также управлять базой 160 данных реплик и базой 162 данных отмеченных данных.
[0041] Фиг.2 - блок-схема 200, иллюстрирующая разнообразные варианты использования классификаторов понимания языка голосовыми приложениями, согласно примерному варианту осуществления настоящего раскрытия. Со ссылкой на Фиг.1-2, пользователь (например, пользователь устройства 102) может вводить голосовой ввод 202. На этапе 206 распознавания речи (например, 112) речь ввода 202 может преобразовываться в пользовательскую команду (текст) 208. Пользовательская команда 208 может, в качестве альтернативы, быть введена как текстовый ввод 204. На этапе 210 может быть выполнено сопоставление с определением агента путем сопоставления пользовательской команды 208 с одной или более пользовательскими командами, заданными в структуре определения агента (например, 114). Если есть прямое совпадение (на этапе 212), тогда предметная область 216, намерение 218 и/или позиция 220 могут быть логически выведены из совпавшей пользовательской команды, и такая информация может быть использована DPA 110 и/или приложением 108 на этапе 232. Если, в то же время, совпадения нет (на этапе 214), тогда может быть выполнено сопоставление с использованием LUCM 120 (или 170).
[0042] Более конкретно, пользовательская команда 208 может использоваться как ввод в классификаторы C1, …, Cn, и соответствующие показатели 240 достоверности могут быть вычислены. Если для конкретного классификатора (например, C1) показатель достоверности больше или равен пороговому значению (например, 20%), тогда данный классификатор может использоваться для извлечения предметной области 224, намерения 226 и/или позиции 228, связанных с таким классификатором. Извлеченные предметная область/намерение/позиция могут использоваться DPA 110 или приложением 108 (на этапе 230). Если же показатель достоверности ниже порогового значения (например, на этапе 250), тогда модель классификатора может быть обновлена (например, с использованием EULT 118 и как видно на Фиг.3B-4B). Предметная область, намерение и/или позиция, выявленные во время процесса помечания в EULT, могут использоваться DPA 110 и/или приложением 108 (на этапе 232).
[0043] Даже несмотря на то, что показатель достоверности, сгенерированный посредством классификаторов, используется (наряду с пороговым значением) для установления того, следует ли использовать EULT для получения пользовательского выбора, настоящее раскрытие не является ограничивающим в этом отношении. В другом варианте осуществления другие способы могут быть использованы (например, вместо использование порогового значения) для установления того, следует ли использовать EULT для получения пользовательского выбора по меньшей мере одного из информации предметной области, намерения и/или позиции.
[0044] Фиг.3A-3B иллюстрируют примерные циклы обработки для обновления моделей классификаторов понимания языка, в соответствии с примерным вариантом осуществления настоящего раскрытия. Со ссылкой на Фиг.3A, иллюстрируется архитектура 300 для обучения/обновления данных классификаторов с использованием помечающего инструмента 150 разработчика. Как видно на Фиг.3A, структура 114 определения агента может быть привязана к LUCM 120 (LUCM 120 может быть такой же как, либо быть подмножеством LUCM 170). Затем, структура 114 определения агента и LUCM 120 могут быть реализованы как часть приложения 108 (например, являющегося доступным в магазине 146 приложений) или DPA 110. Приложение 108 (и DPA 110) могут затем быть инсталлированы в устройство 102.
[0045] В случаях, когда EULT 118 отключен, пользователь может подать реплику 302 (например, пользовательскую команду). Реплика может быть передана и сохранена как часть базы 160 данных реплик, в которой могут также храниться реплики от пользователей других вычислительных устройств, подключенных с возможностью осуществления связи к серверным компьютерам 140. Администратор сети/разработчик могут затем использовать помечающий инструмент 150 разработчика для извлечения реплики (например, 302) из базы 160 данных и формировать выбор 303 предметной области, намерения и/или позиции (D/I/S). Администраторский выбор 303 может быть привязан к реплике 302 и сохранен в качестве отмеченных данных в базе 162 данных отмеченных данных. Администратор затем может пересылать отмеченные данные в сервис 152 обучения классификаторов (либо отмеченные данные могут автоматически передаваться в обучающие сервис 152 после их сохранения в базе 162 данных).
[0046] Сервис 152 обучения модели классификаторов может содержать надлежащие логические средства, микросхемы, интерфейсы и/или код и может быть выполнен с возможностью осуществлять обучение (или обновление) одного иди более классификаторов в моделях LUCM 120 и/или 170. Во время иллюстративного обучения 304 классификаторов набор отмеченных данных может быть извлечен (например, 302 и 303); информация предметной области, намерения и/или позиции (например, 303) может быть использована (например, в качестве индекса) для доступа к LUCM 120/170 и извлечения классификатора, который связан с такими предметной областью, намерением и/или позицией. Обучающий сервис 152 может затем обновить классификатор так, чтобы он был связан с пользовательской репликой/командой (302), а также одним или более из предметной области, намерения и/или позиции (303), предоставленных администратором с использованием помечающего инструмента 150 разработчика. Обновленная LUCM 120 может быть затем использована и привязана к структуре определения агента для реализации в приложении.
[0047] Со ссылкой на Фиг.3B иллюстрируется архитектура 370 для обучения/обновления данных классификаторов с использованием помечающего инструмента конечного пользователя (EULT) 118. Как видно на Фиг.3B, структура 114 определения агента может быть привязана к LUCM 120 (LUCM 120 может быть такой же как, либо подмножеством LUCM 170). Затем, структура 114 определения агента 114 и LUCM 120 могут быть реализованы как часть приложения 108 (например, являющегося доступным в магазине 146 приложений), DPA 110 и/или приложений 350, 360. Приложения 108, 350, …, 360 (и DPA 110) могут затем быть инсталлированы в устройство 102.
[0048] В случаях, когда EULT 118 включен, пользователь может подать реплику 302 (например, пользовательскую команду). Реплика может быть передана и сохранена как часть базы 160 данных реплик, в которой могут также храниться реплики от пользователей других вычислительных устройств, подключенных с возможностью осуществления связи к серверным компьютерам 140. Пользователь устройства 102 может затем использовать EULT 118 для подачи пользовательского ввода, выбора одного или более из предметной области, намерения и/или позиции, связанных с репликой/командой 302 (в предположении, что нет прямого совпадения (например, 212) с командой в структуре 114 оправления агента, и нет показателя достоверности, который превышает пороговое значение (например, 240)).
[0049] Пользователь может использовать EULT 118, чтобы выбирать предметную область, намерение и/или позицию (D, I и/или S) (например, 320), ассоциированные с репликой 302. DPA 110 (или, иными словами, устройство 102) может выбрать по меньшей мере один из классификаторов C1, …, Cn в LUCM 120 в качестве соответствующего введенному пользовательской выбору 320 (например, классификатор может быть выбран из LUCM 120 на основе сопоставления информации предметной области, намерения и/или позиции, связанной с классификатором, с информацией предметной области, намерения и/или позиции, связанной с пользовательским выбором 320, введенным через EULT 118).
[0050] В соответствии с примерным вариантом осуществления настоящего раскрытия, после того, как совпадающий классификатор извлечен из LUCM 120, устройство 102 может обновить классификатор (например, как обсуждалось выше со ссылкой на 304) и сохранить обновленный/обученный классификатор в качестве локального классификатора 330. Обучение и обновление классификатора и генерирование локального классификатора 330 может выполняться посредством использования сервиса 152 обучения модели классификаторов на удаленных серверных компьютерах 140. В этом отношении, один или более локальных классификаторов 330 могут быть сгенерированы без того, чтобы такие обученные классификаторы присутствовали в глобальной LUCM 170. Локальные классификаторы 330 могут быть связаны с пользовательским профилем 340 и могут использоваться/совместно использоваться между одним или более из приложений 350, 360, инсталлированных в устройстве 102. В необязательном порядке, локальные классификаторы 330 могут храниться на серверных компьютерах 140, как часть пользовательского профиля 340 (профиль может также храниться на серверных компьютерах 140, совместно с другой информацией профилей/учетных записей пользователей).
[0051] DPA 110 может также передавать выбранную пользователем информацию 320 предметной области, намерения и/или позиции наряду с репликой 302 для сохранения в качестве отмеченных данных в базе 162 данных отмеченных данных. Отмеченные данные могут затем пересылаться в сервис 152 обучения классификаторов для обучения. Согласно иллюстративному варианту осуществления настоящего раскрытия, сервис 154 обнаружения фальсификации модели классификаторов может быть использован в сочетании с обучающим сервисом 152. Более конкретно, сервис 154 обнаружения фальсификации может содержать надлежащие логические средства, микросхемы, интерфейсы и/или код и может быть выполнен с возможностью предотвращать обучение/обновление классификаторов, если только определенное минимальное количество (порог) пользователей не запросили то же самое (или, по существу, аналогичное) обновление в отношении классификатора, связанного с такой же (или, по существу, аналогичной) пользовательской репликой. В этом отношении, автоматическое обновление классификаторов может быть предотвращено в случаях, когда пользователь пытается связать задачу (например, реплику для выражения голосовой команды) с предметной областью, намерением и/или позицией, с которыми большинство из остальных пользователей в системе такую реплику не связывают.
[0052] В предположении, что минимальное количество пользователей запросили одно и то же или, по существу, аналогичное обновление для классификатора, то тогда может быть осуществлено обучение/обновление (304) классификатора, как обсуждалось со ссылкой на Фиг.3A. Во время иллюстративного обучения 304 классификатора набор отмеченных данных может быть извлечен (например, 302 и 303); информация предметной области, намерения и/или позиции (например, 303) может быть использована (например, в качестве индекса) для доступа к LUCM 120/170 и извлечения классификатора, который связан с такими предметной областью, намерением и/или позицией. Обучающий сервис 152 может затем обновить классификатор так, чтобы он был связан с пользовательской репликой/командой (302), а также одним или более из предметной области, намерения и/или позиции, предоставленных администратором с использованием помечающего инструмента 150 разработчика. Обновленная LUCM 120 может быть использована и привязана к структуре определения агента для реализации в приложении.
[0053] Фиг.4A-4B иллюстрируют примерные пользовательские интерфейсы помечающего инструмента конечного пользователя, которые могут использоваться в соответствии с примерным вариантом осуществления настоящего раскрытия. Со ссылкой на Фиг.4A, пользовательский интерфейс под ссылочным номером 402 иллюстрирует исходный вид DPA 110, предлагающий пользователю подать задачу (например, голосовую команду). На 404, пользователь подает голосовую команду в 405. На 406, DPA 110 мог выполнить обработку (например, 202-214) и мог определить, что нет совпадающей пользовательской команды в структуре 114 определения агента или достаточно высокого показателя достоверности (240). Обработка затем продолжается (например, на 250) путем активации интерфейса EULT 118. На 407, DPA 110 уведомляет пользователя о том, что задача (например, голосовая команда) является неясной, и спрашивает, желает ли пользователь активировать "Помечающий Инструмент" (EULT 118). Пользователь затем активирует EULT 118 путем нажатия программной кнопки 408.
[0054] Со ссылкой на Фиг.4B, пользовательский интерфейс на 409 предлагает одну или более предметных областей, с тем чтобы пользователь мог выбрать предметную область, релевантную для его задачи (например, голосовой команды). Могут быть перечислены одна или более предметных областей (например, одна или более предметных областей, релевантных (например, потенциально подобных) задаче (или голосовой команде) либо все предметные области, доступные в системе). После того, как пользователь выберет предметную область, пользовательский интерфейс 410 может быть использован для перечисления одного или более намерений, связанных с выбранной предметной областью. В качестве альтернативы, все имеющиеся намерения могут быть приведены для выбора пользователем из них. После того, как пользователь выберет намерение, пользовательский интерфейс 412 может быть использован для перечисления одной или более позиций, связанных с выбранным намерением. В качестве альтернативы, все имеющиеся позиции могут быть приведены для выбора пользователем из них. После выбора позиции, информация 320 предметной области, намерения и/или позиции может дополнительно обрабатываться, как описано выше.
[0055] Фиг.5-7 являются диаграммами процессов, иллюстрирующими генерирование определения реагирующего агента согласно одному или более вариантам осуществления. Со ссылкой на Фиг.1-5, иллюстративный способ 500 может начаться этапом 502, когда первый пользовательский выбор (320) по меньшей мере одного из следующего: по меньшей мере одно намерение из множества имеющихся намерений и/или по меньшей мере одна позиция для этого по меньшей мере одного намерения может быть принят от по меньшей мере одного вычислительного устройства (например, 102) из множества вычислительных устройств, подключенных с возможностью осуществления связи к серверному компьютеру (например, 140). По меньшей мере одно намерение (намерение в пользовательском выборе 320) связано с меньшей мере одним действием, используемым для выполнения по меньшей мере одной функции категории функций для предметной области. По меньшей мере одна позиция (например, в пользовательском выборе 320) указывает значение, используемое для выполнения по меньшей мере одного действия. Первый пользовательский выбор (320) ассоциирован с цифровым голосовым вводом (например, репликой 302), принимаемым на по меньшей мере одном вычислительном устройстве (102). На этапе 504, по приему от по меньшей мере одного другого вычислительного устройства из множества вычислительных устройств множества последующих пользовательских выборов, которые идентичны первому пользовательскому выбору, набор отмеченных данных генерируется путем спаривания цифрового голосового вводa с первым пользовательским выбором. Например, после того, как 302 и 320 спарены для формирования набора отмеченных данных, обучающий сервис 152 может перейти к обучению соответствующего классификатора после того, как некоторое (пороговое) количество пользователей представит такие же (или, по существу, аналогичные) пользовательский выбор и реплику. На этапе 506 сервис 152 обучения модели классификаторов может выбрать классификатор понимания языка из множества имеющихся классификаторов понимания языка (например, из LUCM 170), связанного с одним или более определениями агента. Данный выбор может основываться, по меньшей мере, на по меньшей мере одном намерении. На этапе 508 обучающий сервис 152 может обновить выбранный классификатор понимания языка на основе сгенерированного набора отмеченных данных.
[0056] Со ссылкой на Фиг.1-3B и 6, иллюстративный способ 600 может начаться этапом 602, когда цифровой голосовой ввод (302) от пользователя вычислительного устройства (102) может быть принят через одни или более микрофонов (106) вычислительного устройства (102). На этапе 604 модуль 112 обработки естественного языка может выполнить обработку естественного языка с использованием цифрового голосового ввода, чтобы выявить пользовательский голосовой запрос.
[0057] На этапе 606, по установлению того, что пользовательский голосовой запрос не совпадает (например, 214) с по меньшей мере одной из множества заранее заданных голосовых команд в определении агента (например, 114) персонального цифрового секретаря (110), функционирующего в вычислительном устройстве, пользовательский выбор (320) по меньшей мере одного из следующего: намерение из множества наличествующих намерений и по меньшей мере одна позиция для этого по меньшей мере одного намерения могут быть приняты с использованием графического пользовательского интерфейса помечающего инструмента конечного пользователя (EULT) (118) вычислительного устройства (102). Намерение связано с по меньшей мере одним действием, используемым для выполнения по меньшей мере одной функции категории функций для предметной области, а по меньшей мере одна позиция указывает значение, используемое для выполнения этого по меньшей мере одного действия. На этапе 608 DPA 110 может сгенерировать набор отмеченных данных посредством спаривания пользовательского голосового запроса (320) и пользовательского выбора (302). На этапе 610 DPA 110 (или устройство 102) может выбрать классификатор понимания языка из множества имеющихся в наличии классификаторов понимания языка (например, C1, …, Cn в LUCM 120), связанного с определением агента (например, 114). Данный выбор классификатора может основываться, по меньшей мере, на по меньшей мере одном намерении, выбранном пользователем с использованием EULT 118. На этапе 612 DPA 110 (или устройство 102) может обновить выбранный классификатор понимания языка на основе сгенерированного набора отмеченных данных (например, на основе 302 и 320, создавая локальный классификатор 330).
[0058] Ссылаясь на Фиг.1-3B и 7, иллюстративный способ 700 может начинаться этапом 702, когда пользовательский запрос может быть выявлен на основе пользовательского ввода (302), принятого в компьютерном устройстве (102). Пользовательский запрос может быть принят через по меньшей мере одно из текстового ввода (204) и/или голосового ввода (202), каковой запрос - на предмет функциональных возможностей персонального цифрового секретаря (110), работающего в вычислительном устройстве. На этапе 704 DPA 110 (или устройство 102) может установить, что пользовательский запрос не согласуется с по меньшей мере одной из множества заранее заданных задач (например, голосовых команд) в определении (114) агента персонального цифрового секретаря (например, 214).
[0059] На этапе 706 DPA 110 (или устройство 102) может сгенерировать показатель достоверности (240) путем применения множества имеющихся в наличии классификаторов понимания языка (C1, …, Cn), связанного с определением агента, к пользовательскому запросу (208). На этапе 708, по установлению того, что показатель достоверности меньше порогового значения (250), DPA 110 принимает, используя графический пользовательский интерфейс помечающего инструмента конечного пользователя (EULT) (118) вычислительного устройства, пользовательский выбор (320) по меньшей мере одного из следующего: по меньшей мере одно намерение из множества наличествующих намерений и по меньшей мере одна позиция для этого по меньшей мере одного намерения. По меньшей мере намерение связано с по меньшей мере одним действием, используемым для выполнения по меньшей мере одной функции категории функций для предметной области, а по меньшей мере одна позиция показывает значение для выполнения этого по меньшей мере одного действия.
[0060] На этапе 710 DPA 110 (или устройство 102) генерирует набор отмеченных данных путем спаривания пользовательского голосового запроса (302) и пользовательского выбора (320). На этапе 712 DPA 110 (или устройство 102) выбирает классификатор понимания языка из множества имеющихся в наличии классификаторов понимания языка (LUCM 120), связанного с определением агента, каковой выбор основывается, по меньшей мере, на по меньшей мере одном намерении, выбранном пользователем. На этапе 714 DPA 110 (или устройство 102) генерирует обновленный классификатор понимания языка посредством обучения выбранного классификатора понимания языка с использованием сгенерированного набора отмеченных данных (например, генерирования локального классификатора 330).
[0061] Фиг.8 - блок-схема, иллюстрирующая примерное мобильное вычислительное устройство, в сочетании с которым описанные здесь инновации могут быть реализованы. Мобильное устройство 800 включает в себя разнообразие необязательных аппаратных и программных компонентов, обобщенно обозначенных ссылочным номером 802. В общем, компонент 802 в мобильном устройстве может сообщаться с любым другим компонентом устройства, хотя, для простоты иллюстрации, не все соединения показаны. Мобильное устройство 800 может быть любым из разнообразия вычислительных устройств (например, сотовым телефоном, смартфоном, наладонным устройством, персональным цифровым информационным устройством (PDA) и т.д.) и может позволять беспроводную двустороннюю связь с одной или более сетями 804 мобильной связи, такими как Wi-Fi, сотовая или спутниковая сеть.
[0062] Проиллюстрированное мобильное устройство 800 может включать в себя контроллер или процессор 810 (например, процессор сигналов, микропроцессор, микроконтроллер, специализированную интегральную схему (ASIC) или иную логическую схему управления и обработки) для выполнения таких задач, как кодирование сигналов, обработка данных, обработка входных/выходных данных, управление мощностью и/или другие функции. Операционная система 812 управляет распределением и использованием компонентов 802 и обеспечивает поддержку для одной или более прикладных программ 811. Операционная система 812 может включать в себя помечающий инструмент 813 конечного пользователя, который может обладать функциональными возможностями, аналогичными функциональным возможностям EULT 118, описанным со ссылкой на Фиг.1-7.
[0063] Проиллюстрированное мобильное устройство 800 может включать в себя память 820. Память 820 может включать в себя несъемную память 822 и/или съемную память 824. Несъемная память 822 может включать в себя ОЗУ, ПЗУ, флэш-память, жесткий диск или иные запоминающие устройства широко известных технологий. Съемная память 824 может включать в себя флэш-память или карту модуля идентификации абонента (SIM), которая широко известна в системах GSM (Глобальной системы мобильной связи), или иные запоминающие устройства широко известных технологий, например, ʺсмарт-картыʺ. Память 820 может использоваться для хранения данных и/или кода для исполнения операционной системы 812 и прикладных программ 811. Примерные данные могут включать в себя web-страницы, текст, изображения, звуковые файлы, видеоданные или иные наборы данных для отправки в и/или приема от одного или более сетевых серверов или других устройств через одну или более проводных или беспроводных сетей. Память 820 может использоваться для хранения идентификатора абонента, такого как международный идентификатор абонента мобильной связи (IMSI), и идентификатора оборудования, такого как международный идентификатор мобильного устройства (IMEI). Такие идентификаторы могут передаваться на сетевой сервер для идентификации пользователей и оборудования.
[0064] Мобильное устройство 800 может поддерживать одно или более устройств 830 ввода, таких как сенсорный экран 832 (например, приспособленный для захвата вводов касаниями пальцами или вводов нажатиями клавиш для виртуальной клавиатуры или клавишной панели), микрофон 834 (например, приспособленный для захвата голосового ввода), камера 836 (например, приспособленная для захвата неподвижных изображений и/или видео изображений), физическая клавиатура 838, кнопки и/или трекбол 840, и одно или более устройств 850 вывода, таких как громкоговорители 852 и дисплей 854. Другие возможные устройства вывода (не показаны) могут включать в себя пьезоэлектрические или тактильные устройства вывода. Некоторые устройства могут служить более чем одной функции ввода/вывода. Например, сенсорный экран 832 и дисплей 854 могут быть объединены в одно устройство ввода/вывода. Мобильное устройство 800 может обеспечивать один или более естественных пользовательских интерфейсов (NUI). Например, операционная система 821 или приложения 811 могут содержать программное обеспечение обработки мультимедиа, такое как аудио/видео проигрыватель.
[0065] Беспроводной модем 860 может быть подключен к одной или более антеннам (не показаны) и может поддерживать двустороннюю связь между процессором 810 и внешними устройствами, что должно быть ясно из уровня техники. Модем 860 показан обобщенно и может включать в себя сотовый модем для осуществления связи на дальние расстояния с сетью 804 мобильной связи, модем 864, совместимый с Bluetooth, или модем 862, совместимый с Wi-Fi для осуществления связи на короткие расстояния с внешним устройством с оборудованием Bluetooth или локальной беспроводной сетью передачи данных или маршрутизатором. Беспроводной модем 860 в типичном случае сконфигурирован для осуществления связи с одной или более сотовыми сетями, такими как сеть GSM, для обмена данными и голосовой связи внутри одной сотовой сети, между сотовыми сетями или между мобильным устройством и коммутируемой телефонной сетью общего пользования (PSTN).
[0066] Мобильное устройство может дополнительно включать в себя по меньшей мере один порт 880 ввода/вывода, источник 2782 питания, приемник спутниковой 2784 системы навигации (GPS), датчики 886, такие как акселерометр, гироскоп или инфракрасный датчик близости для обнаружения ориентации и движения устройства 800 и для приема жестовых команд в качестве ввода, приемопередатчик 888 (для беспроводной передачи аналоговых или цифровых сигналов) и/или физический разъем 890, который может быть портом USB, портом IEEE 1394 (Fire Wire) и/или портом RS-232. Проиллюстрированные компоненты 802 не являются необходимыми или исчерпывающими, и некоторые компоненты могут быть удалены, а другие компоненты могут быть добавлены.
[0067] Мобильное устройство может определять данные местоположения, которые указывают местоположение мобильного устройства, основываясь на информации, принимаемой через приемник 884 спутниковой навигационной системы (например, GPS-приемник). В качестве альтернативы, мобильное устройство может определять данные местоположения, которые указывают местоположение мобильного устройства, иным образом. Например, местоположение мобильного устройства может быть определено посредством триангуляции между сотовыми вышками сотовой сети. Либо, местоположение мобильного устройства может быть определено на основе известных местоположений маршрутизаторов Wi-Fi вблизи мобильного устройства. Данные местоположения могут обновляться каждую секунду или на некоей иной основе, в зависимости от реализации и/или пользовательских настроек. Независимо от источника данных местоположения, мобильное устройство может подавать данные местоположения в средство навигации по карте для использовании при навигации по карте.
[0068] В качестве клиентского вычислительного устройства, мобильное устройство 800 может посылать запросы в серверное вычислительное устройство (например, поисковый сервер, сервер-маршрутизатор и т.п.) и принимать картографические изображения, расстояния, направления, прочие картографические данные, результаты поиска (например, достопримечательности (POI) на основе поиска POI в пределах намеченной территории поиска), либо иные данные в ответ с серверного вычислительного устройства.
[0069] Мобильное устройство 800 может быть частью окружения реализации, в котором различные типы сервисов (например, вычислительные сервисы) предоставляются вычислительным "облаком". Например, облако может содержать совокупность вычислительных устройств, которые могут располагаться централизованно или распределенным образом, которые предоставляют облачные услуги различным типам пользователей и устройств, подсоединенных через сеть, такую как Интернет. Некоторые задачи (например, обработка пользовательского ввода и представление пользовательского интерфейса) могут выполняться на локальных вычислительных устройствах (например, подсоединенных устройствах), тогда как другие задачи (например, хранение данных, которые должны быть использованы в последующей обработке, взвешивании данных и ранжировании данных) могут выполняться в облаке.
[0070] Хотя Фиг.8 иллюстрирует мобильное устройство 800, в более общем смысле, описанные здесь инновации могут быть реализованы с помощью устройств, имеющих другие возможности экрана и форм-факторы устройства, таких как компьютер-десктоп, экран телевизора или устройство, подключенное к телевизору (например, приставка или игровая консоль). Услуги могут предоставляться посредством облака через поставщиков (провайдеров) услуг или через других поставщиков онлайновых услуг. Кроме того, поскольку описанные здесь технологии могут относиться к потоковой передаче звука, экран устройства может не требоваться или не использоваться (дисплей может использоваться в случаях, когда аудио/видео контент передается потоком в мультимедийное оконечное устройство с функциональными возможностями воспроизведения видео).
[0071] Фиг.9 - схема иллюстративной вычислительной системы, в которой некоторые описанные варианты осуществления могут быть реализованы. Вычислительная система 900 не подразумевается налагающей какое-либо ограничение в отношении объема использования или функциональных возможностей, поскольку предложенные инновации могут быть реализованы в разнообразных вычислительных системах общего или специального назначения.
[0072] Со ссылкой на Фиг.9, вычислительная система 900 включает в себя одно или более процессорных устройств 910, 915 и память 920, 925. На Фиг.9 эта базовая конфигурация 930 заключена в пунктирную линию. Процессорные устройства 910, 915 исполняют машиноисполняемые инструкции. Процессорное устройство может представлять собой центральное процессорное устройство (CPU) общего назначения, процессор в специализированной интегральной микросхеме (ASIC) или любой другой тип процессора. В многопроцессорной системе множественные процессоры исполняют машиноисполняемые инструкции для повышения вычислительной мощности. Например, Фиг.9 показывает центральное процессорное устройство 910, а также графическое процессорное устройство или сопроцессор 915. Физическая память 920, 925 может быть энергозависимой памятью (например, регистры, кэш, ОЗУ), энергонезависимой памятью (например, ПЗУ, EEPROM, флэш-памятью и т.п.) или некоторой их комбинацией, которые являются доступными для процессорного устройства (устройств). В памяти 920, 925 хранится программное обеспечение 980, реализующее одну или более инноваций, описанных в настоящем документе, в форме машиноисполняемых инструкций, подходящих для исполнения процессорным устройством (устройствами).
[0073] Вычислительная система может также иметь дополнительные признаки. Например, вычислительная система 900 включает в себя хранилище 940, одно или более устройств 950 ввода, одно или более устройств 960 вывода и одно или более коммуникационных соединений 970. Механизм межсоединения (не показан), такой как шина, контроллер или сеть, соединяет компоненты вычислительной системы 900 между собой. В типичном случае, программное обеспечение операционной системы (не показано) обеспечивает рабочую среду для другого программного обеспечения, исполняющегося в вычислительной системе 900, и координирует действия компонентов вычислительной системы 900.
[0074] Физическое хранилище 940 может быть съемным или несъемным и включает в себя магнитные диски, магнитные ленты или кассеты, CD-ROM, DVD или любой другой носитель, который может использоваться для хранения информации и к которому может осуществляться доступ в пределах вычислительной системы 900. В хранилище 940 хранятся инструкции для программного обеспечения 980, реализующего одну или более инноваций, описанных в настоящем документе.
[0075] Устройство(а) 950 ввода может быть сенсорным устройством ввода, таки как клавиатура, мышь, перо или трекбол, устройством голосового ввода, сканирующим устройством или другим устройством, которое обеспечивает ввод в вычислительную систему 900. Для видеокодирования устройство(а) 950 ввода может представлять собой камеру, видеокарту, карту ТВ тюнера или аналогичное устройство, которым принимается видео ввод в аналоговой или цифровой форме, либо привод CD-ROM или CD-RW, который считывает видео сэмплы в вычислительную систему 900. Устройство(а) 960 вывода может быть дисплеем, принтером, громкоговорителем, пишущим CD-приводом или иным устройством, которым обеспечивается вывод из вычислительной системы 900.
[0076] Коммуникационное соединение(я) 970 обеспечивают связь по среде связи с другим вычислительным субъектом. Среда связи передает информацию, такую как машиноисполняемые инструкции, аудио или видео входные или выходные данные в модулированном информационном сигнале. Модулированный информационный сигнал представляет собой сигнал, одна или более характеристик которого устанавливаются или изменяются таким образом, чтобы кодировать информацию в этом сигнале. В качестве примера, но не ограничения, среды связи могут использовать электрический, оптический, инфракрасный или другой носитель.
[0077] Предложенные инновации могут быть описаны в общем контексте машиноисполняемых инструкций, таких как те, что включены в программные модули, исполняющиеся в вычислительной системе на целевом реальном или виртуальном процессоре. В общем, программные модули включают в себя процедуры, программы, библиотеки, объекты, классы, компоненты, структуры данных и т.п., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Функциональные возможности программных модулей могут комбинироваться или разделяться между программными модулями, как необходимо в различных вариантах осуществления. Машиноисполняемые инструкции для программных модулей могут исполняться в локальной или распределенной вычислительной системы.
[0078] Термины "система" и "устройство" используются в настоящем документе взаимозаменяемо. Ни один из этих терминов не подразумевает какое-либо ограничение касаемо типа вычислительной системы или вычислительного устройства, если контекстом четко не указывается обратное. В общем, вычислительная система или вычислительное устройство могут быть локальными или распределенными и могут включать в себя любую комбинацию аппаратных средств специального назначения и/или аппаратных средств общего назначения с программным обеспечением, реализующим описанные здесь функциональные возможности.
[0079] Фиг.10 - примерное окружение облачных вычислений, которое может быть использовано в сочетании с технологиями, описанными в настоящем документе. Окружение 1000 облачных вычислений содержит сервисы 1010 облачных вычислений. Сервисы 1010 облачных вычислений могут содержать различные типы ресурсов облачных вычислений, такие как компьютерные серверы, репозитории для хранения данных, сетевые ресурсы и т.д. Сервисы 1010 облачных вычислений могут централизованно размещенными (например, предоставляться центром хранения и обработки данных (дата-центром) предприятия или организации) или распределенными (например, предоставляться посредством различных вычислительных ресурсов, размещенных в разных местоположениях, например, разными дата-центрами, и/или размещенных в разных городах или странах). Помимо этого, сервис 1010 облачных вычислений может реализовывать EULT 118 и другие описанные здесь функциональные возможности, относящиеся к обновлению моделей классификаторов понимания языка.
[0080] Сервисы 1010 облачных вычислений используются различными типами вычислительных устройств (например, клиентскими вычислительными устройствами), такими как вычислительные устройства 1020, 1022 и 1024. Например, вычислительные устройства (например, 1020, 1022 и 1024) могут представлять собой компьютеры (например, компьютеры-десктопы или компьютеры-лэптопы), мобильные устройства (например, планшетные компьютеры или смартфоны) или другие типы вычислительных устройств. Например, вычислительные устройства (например, 1020, 1022 и 1024) могут использовать сервисы 1010 облачных вычислений для выполнения вычислительных операций (например, обработки данных, хранения данных, генерирования и редактирование определения реагирующего агента и т.п.).
[0081] В целях ясности изложения, в подробном описании используются такие термины, как "определять" и "использовать", чтобы описывать компьютерные операции в вычислительной системе. Эти термины являются высокоуровневыми абстракциями для операций, выполняемых компьютером, и их не следует путать с действиями, выполняемыми человеком. Фактические компьютерные операции, соответствующие этим терминам, варьируются в зависимости от реализации.
[0082] Хотя операции некоторых способов описаны в конкретном, последовательном порядке для удобства изложения, следует понимать, что этот способ описания охватывает перестановку, если конкретный порядок не требуется специальным языком, как изложено ниже. Например, операции, описанные последовательно, могут в некоторых случаях быть переупорядочены или выполняться одновременно. Более того, в целях простоты, приложенные фигуры чертежей могут не показывать различные пути, которыми раскрытые способы могут быть использованы с другими способами.
[0083] Любые из раскрытых способов могут быть реализованы в виде машиноисполняемых инструкций или компьютерного программного продукта, сохраненного на одном или более машиночитаемых носителях информации, и исполняться в вычислительном устройстве (например, любом имеющемся в наличии вычислительном устройстве, включая смартфоны или другие мобильные устройства, которые включают в себя компьютерные аппаратные средства). Машиночитаемые носители информации представляют собой любые имеющиеся в наличии физические носители, к которым может быть осуществлен доступ в пределах вычислительного окружения (например, один или более оптических мультимедийных дисков, таких как DVD или CD, энергозависимые компоненты памяти (такие как DRAM или SRAM) или энергонезависимые компоненты памяти (такие как флэш-память или накопители на жестких дисках)). В качестве примера и со ссылкой на Фиг.9, машиночитаемые носители информации включают в себя память 920 и 925 и хранилище 940. Термин "машиночитаемые носители информации" не включает в себя сигналы и несущие волны. Кроме того, термин "машиночитаемые носители информации" не включает в себя коммуникационные соединения (например, 970).
[0084] Любые из машиноисполняемых инструкций для реализации раскрытых технологий, а также любые данные, создаваемые и используемые в течение реализации раскрытых вариантов осуществления, могут быть сохранены на одном или более машиночитаемых носителях. Машиноисполняемые инструкции могут быть частью, например, специализированного программного приложения или программного приложения, к которому осуществляется доступ или которое скачивается через web-браузер или другое программное приложение (такое как приложение удаленных вычислений). Такое программное обеспечение может исполняться, например, на одиночном локальном компьютере (например, любом подходящем компьютере, доступном на рынке) или в сетевом окружении (например, через Интернет, глобальную сеть, локальную сеть, клиент-серверную сеть (такую как сеть облачных вычислений) или другую такую сеть) с использованием одного или более сетевых компьютеров.
[0085] В целях ясности, описаны лишь выбранные аспекты программных реализаций. Прочие подробности, которые широко известны в технике, опущены. Например, следует понимать, что раскрытая технология не ограничивается каким-либо конкретным компьютерным языком или программой. Например, раскрытая технология может быть реализована посредством программного обеспечения, написанного на C++, Java, Perl, JavaScript, Adobe Flash или любом другом подходящем языке программирования. Аналогично, раскрытая технология не ограничивается каким-либо конкретным компьютером или типом аппаратных средств. Определенные детали подходящих компьютеров и аппаратных средств широко известны и не требуют подробного пояснения в данном раскрытии.
[0086] Помимо этого, любые из вариантов осуществления, основывающихся на программном обеспечении (включая, например, машиноисполняемые инструкции для предписания компьютеру выполнять любые из раскрытых способов), могут выгружаться, скачиваться или к ним может осуществляться удаленный доступ через подходящие средства связи. Такие подходящие средства связи включают в себя, например, Интернет, Всемирную паутину (World Wide Web), интранет, программные приложения, кабель (включая волоконно-оптический кабель), магнитную связь, электромагнитную связь (включая радиочастотную, микроволновую и инфракрасную связь), электрическую связь или другие такие средства связи.
[0087] Раскрытые способы, устройства и системы не следует трактовать как ограничивающие каким-либо образом. Вместо этого, настоящее раскрытие направлено на все новые и неочевидные признаки и аспекты различных раскрытых вариантов осуществления, поодиночке и в различных комбинациях и подкомбинациях друг с другом. Раскрытые способы, устройства и системы не ограничены каким-либо конкретным аспектом или признаком или их комбинацией, также раскрытые варианты осуществления не требуют, чтобы какие-либо одно или более конкретных преимуществ присутствовали или проблемы были решены.
[0088] Технологии согласно любому примеру могут быть скомбинированы с технологиями, описанными в каких-либо одном или более из других примеров. В виду многих вариантов осуществления, к которым могут быть применены принципы раскрытой технологии, следует осознавать, что проиллюстрированные варианты осуществления являются примерами раскрытой технологии и их не следует рассматривать в качестве ограничения объема раскрытой технологии. Скорее, объем раскрытой технологии включает в себя то, что охватывается существом и объемом, определяемым нижеследующей формулой изобретения.

Claims (61)

1. Серверный компьютер, содержащий:
процессорное устройство и
память, подключенную к процессорному устройству,
при этом серверный компьютер сконфигурирован выполнять операции для обновления моделей классификаторов понимания языка, причем операции содержат:
прием от по меньшей мере одного вычислительного устройства из множества вычислительных устройств, подключенных с возможностью осуществления связи к серверному компьютеру, первого пользовательского выбора по меньшей мере одного из следующего: по меньшей мере одно намерение из множества имеющихся в наличии намерений и/или по меньшей мере одна позиция для этого по меньшей мере одного намерения, при этом:
упомянутое по меньшей мере одно намерение связано с по меньшей мере одним действием, используемым для выполнения по меньшей мере одной функции категории функций для предметной области,
упомянутая по меньшей мере одна позиция указывает значение, используемое для выполнения этого по меньшей мере одного действия, и
первый пользовательский выбор соответствует цифровому голосовому вводу, принятому на упомянутом по меньшей мере одном вычислительном устройстве;
по приему от по меньшей мере одного другого вычислительного устройства из упомянутого множества вычислительных устройств множественных последующих пользовательских выборов, соответствующих множественным последующим цифровым голосовым вводам, причем множественные последующие пользовательские выборы идентичны первому пользовательскому выбору, а множественные последующие цифровые голосовые вводы, по существу, аналогичны упомянутому цифровому голосовому вводу:
генерирование набора отмеченных данных посредством спаривания цифрового голосового ввода с первым пользовательским выбором;
выбор классификатора понимания языка из множества имеющихся в наличии классификаторов понимания языка, ассоциированных с одним или более определениями агента, каждое из которых соответствует функциональным возможностям устройства, причем данный выбор основывается, по меньшей мере, на упомянутом по меньшей мере одном намерении; и
обновление выбранного классификатора понимания языка на основе сгенерированного набора отмеченных данных.
2. Серверный компьютер по п.1, в котором операции дополнительно содержат:
установление количества множественных последующих пользовательских выборов и
автоматическое обновление выбранного классификатора понимания языка на основе сгенерированного набора отмеченных данных, когда данное количество множественных последующих пользовательских выборов больше первого порогового значения.
3. Серверный компьютер по п.1, в котором операции дополнительно содержат:
прием цифрового голосового ввода от упомянутого по меньшей мере одного вычислительного устройства;
выполнение обработки естественного языка с использованием цифрового голосового ввода, чтобы выявить пользовательский голосовой запрос;
сохранение одного или обоих из цифрового голосового ввода и пользовательского голосового запроса в базе данных реплик;
извлечение одного или обоих из цифрового голосового ввода и пользовательского голосового запроса из базы данных реплик;
генерирование набора отмеченных данных посредством спаривания первого пользовательского выбора с одним или обоими из цифрового голосового ввода и пользовательского голосового запроса и
сохранение сгенерированного набора отмеченных данных в базе данных отмеченных данных.
4. Серверный компьютер по п.1, в котором операции дополнительно содержат:
прием множественных последующих цифровых голосовых вводов, соответствующих множественным последующим пользовательским выборам; и
установление количества множественных последующих пользовательских выборов, которые содержат по меньшей мере одно намерение и по меньшей мере одну позицию, которые отличны от по меньшей мере одного намерения и по меньшей мере одной позиции, соответствующих первому пользовательскому выбору.
5. Серверный компьютер по п.4, в котором операции дополнительно содержат:
генерирование запроса ручного обновления выбранного классификатора понимания языка администратором серверного компьютера, когда установленное количество множественных последующих пользовательских выборов превышает второе пороговое значение;
прием, в ответ на запрос ручного обновления, ввода, которым выбираются по меньшей мере одно намерение и по меньшей мере одна позиция, соответствующие первому пользовательскому выбору, или по меньшей мере одно намерение и по меньшей мере одна позиция, соответствующие упомянутому множеству последующих пользовательских выборов; и
прием ввода, обновляющего выбранный классификатор понимания языка на основе выбранных по меньшей мере одного намерения и по меньшей мере одной позиции.
6. Способ обновления моделей классификаторов понимания языка, содержащий этапы, на которых:
принимают через один или более микрофонов вычислительного устройства цифровой голосовой ввод от пользователя вычислительного устройства;
выполняют обработку естественного языка с использованием цифрового голосового ввода для выявления пользовательского голосового запроса;
по установлению того, что пользовательский голосовой запрос не согласуется с по меньшей мере одной из множества заранее заданных задач в определении агента персонального цифрового секретаря, функционирующего на вычислительном устройстве:
принимают, используя графический пользовательский интерфейс помечающего инструмента конечного пользователя (EULT) вычислительного устройства, пользовательский выбор по меньшей мере одного из следующего: намерение из множества имеющихся в наличии намерений и по меньшей мере одна позиция для этого намерения, при этом:
намерение связано с по меньшей одним действием, используемым для выполнения по меньшей мере одной функции категории функций для предметной области, и
упомянутая по меньшей мере одна позиция указывает значение, используемое для выполнения этого по меньшей мере одного действия;
генерируют набор отмеченных данных посредством спаривания пользовательского голосового запроса и пользовательского выбора;
выбирают классификатор понимания языка из множества имеющихся в наличии классификаторов понимания языка, ассоциированных с определением агента, каковой выбор основывается, по меньшей мере, на намерении, выбранном пользователем; и
обновляют выбранный классификатор понимания языка на основе сгенерированного набора отмеченных данных, причем данное обновление выбранного классификатора понимания языка инициируется только после того, как ряд пользователей сделают, по существу, аналогичный пользовательский выбор.
7. Способ по п.6, в котором упомянутое множество имеющихся в наличии классификаторов понимания языка, ассоциированных с определением агента, хранится в локальном хранилище в вычислительном устройстве, при этом способ дополнительно содержит этапы, на которых:
связывают обновленный классификатор понимания языка с профилем пользователя на вычислительном устройстве;
сохраняют обновленный классификатор понимания языка в локальном хранилище; и
обозначают обновленный классификатор понимания языка как общий ресурс, который может совместно использоваться между персональным цифровым секретарем и по меньшей мере одним сторонним приложением, функционирующим на вычислительном устройстве.
8. Способ по п.6, в котором упомянутое обновление содержит этап, на котором заменяют связку выбранного классификатора понимания языка с по меньшей мере одним из предыдущих намерения и/или позиции на новую связку с по меньшей мере одним из упомянутых намерения и/или по меньшей мере одной позиции, соответствующих пользовательскому выбору.
9. Способ по п.8, дополнительно содержащий этап, на котором создают связку выбранного классификатора понимания языка с обоими из цифрового голосового ввода и пользовательского голосового запроса.
10. Способ по п.6, в котором пользовательский выбор содержит упомянутое намерение, при этом способ дополнительно содержит этап, на котором выбирают упомянутую по меньшей мере одну позицию автоматически, основываясь на упомянутом намерении и пользовательском голосовом запросе.
11. Способ по п.6, в котором определение агента содержит по меньшей мере одно из схемы определения голосовой команды (VCD) и схемы определения реагирующего агента (RAD), ассоциированной с персональным цифровым секретарем, которая определяет реагирующего агента, представляющего собой структуру данных/команд, используемую персональным цифровым секретарем для реализации одного или более диалогов, связанных с функциональными возможностями устройства.
12. Машиночитаемый носитель, на котором сохранены машиноисполняемые инструкции для предписания вычислительному устройству выполнять операции для обновления моделей классификаторов понимания языка, каковые операции содержат:
выявление пользовательского запроса на основе пользовательского ввода, принятого на вычислительном устройстве через по меньшей мере одно из текстового ввода и голосового ввода, каковой запрос - на предмет функциональных возможностей персонального цифрового секретаря, функционирующего в вычислительном устройстве;
установление того, что пользовательский запрос не согласуется с по меньшей мере одной из множества заранее заданных голосовых команд в определении агента персонального цифрового секретаря;
генерирование показателя достоверности путем применения одного из множества имеющихся в наличии классификаторов понимания языка, ассоциированных с определением агента, к пользовательскому запросу;
по установлению того, что показатель достоверности меньше порогового значения:
прием, с использованием графического пользовательского интерфейса помечающего инструмента конечного пользователя (EULT) вычислительного устройства, пользовательского выбора по меньшей мере одного из следующего: по меньшей мере одно намерение из множества имеющихся в наличии намерений и по меньшей мере одна позиция для этого по меньшей мере одного намерения, при этом:
упомянутое по меньшей мере одно намерение связано с по меньшей мере одним действием, используемым для выполнения по меньшей мере одной функции категории функций для предметной области, и
упомянутая по меньшей мере одна позиция указывает значение, используемое для выполнения этого по меньшей мере одного действия;
генерирование набора отмеченных данных путем спаривания пользовательского голосового запроса и пользовательского выбора;
выбор классификатора понимания языка из множества имеющихся в наличии классификаторов понимания языка, ассоциированных с определением агента, каковой выбор основывается, по меньшей мере, на упомянутом по меньшей мере одном намерении, выбранном пользователем; и
генерирование обновленного классификатора понимания языка путем обучения выбранного классификатора понимания языка с использованием сгенерированного набора отмеченных данных, причем данное обновление выбранного классификатора понимания языка инициируется только после того, как ряд пользователей сделают, по существу, аналогичный пользовательский выбор.
13. Машиночитаемый носитель по п.12, в котором операции дополнительно содержат прием, с использованием графического пользовательского интерфейса помечающего инструмента конечного пользователя (EULT) вычислительного устройства, выбора предметной области, связанной с упомянутым по меньшей мере одним намерением.
14. Машиночитаемый носитель по п.12, в котором операции дополнительно содержат, во время упомянутого обучения, связывание выбранного классификатора понимания языка с упомянутыми по меньшей мере одним намерением и по меньшей мере одной позицией, соответствующими пользовательскому выбору.
15. Машиночитаемый носитель по п.12, при этом определение агента содержит по меньшей мере одно из схемы определения голосовой команды (VCD) и схемы определения реагирующего агента (RAD), ассоциированной с персональным цифровым секретарем, которая определяет реагирующего агента, представляющего собой структуру данных/команд, используемую персональным цифровым секретарем для реализации одного или более диалогов, связанных с функциональными возможностями устройства.
RU2017127107A 2015-01-30 2016-01-15 Обновление моделей классификаторов понимания языка на основе краудсорсинга RU2699587C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/611,042 2015-01-30
US14/611,042 US9508339B2 (en) 2015-01-30 2015-01-30 Updating language understanding classifier models for a digital personal assistant based on crowd-sourcing
PCT/US2016/013502 WO2016122902A2 (en) 2015-01-30 2016-01-15 Updating language understanding classifier models for a digital personal assistant based on crowd-sourcing

Publications (3)

Publication Number Publication Date
RU2017127107A RU2017127107A (ru) 2019-01-28
RU2017127107A3 RU2017127107A3 (ru) 2019-07-17
RU2699587C2 true RU2699587C2 (ru) 2019-09-06

Family

ID=55398405

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017127107A RU2699587C2 (ru) 2015-01-30 2016-01-15 Обновление моделей классификаторов понимания языка на основе краудсорсинга

Country Status (18)

Country Link
US (1) US9508339B2 (ru)
EP (1) EP3251115B1 (ru)
JP (1) JP6744314B2 (ru)
KR (1) KR102451437B1 (ru)
CN (1) CN107210033B (ru)
AU (1) AU2016211903B2 (ru)
BR (1) BR112017011564B1 (ru)
CA (1) CA2970728C (ru)
CL (1) CL2017001872A1 (ru)
CO (1) CO2017007032A2 (ru)
IL (1) IL252454B (ru)
MX (1) MX2017009711A (ru)
MY (1) MY188645A (ru)
NZ (1) NZ732352A (ru)
PH (1) PH12017550013A1 (ru)
RU (1) RU2699587C2 (ru)
SG (1) SG11201705873RA (ru)
WO (1) WO2016122902A2 (ru)

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11693622B1 (en) * 2015-09-28 2023-07-04 Amazon Technologies, Inc. Context configurable keywords
US10891549B2 (en) * 2015-12-02 2021-01-12 Gluru Limited System and method for intelligent resource ranking and retrieval
JP6523974B2 (ja) * 2016-01-05 2019-06-05 株式会社東芝 コミュニケーション支援装置、コミュニケーション支援方法、および、プログラム
US10291565B2 (en) * 2016-05-17 2019-05-14 Google Llc Incorporating selectable application links into conversations with personal assistant modules
US10783178B2 (en) 2016-05-17 2020-09-22 Google Llc Generating a personal database entry for a user based on natural language user interface input of the user and generating output based on the entry in response to further natural language user interface input of the user
US10263933B2 (en) 2016-05-17 2019-04-16 Google Llc Incorporating selectable application links into message exchange threads
JP6882463B2 (ja) * 2016-10-03 2021-06-02 グーグル エルエルシーGoogle LLC コンピュータによるエージェントのための合成音声の選択
US11663535B2 (en) 2016-10-03 2023-05-30 Google Llc Multi computational agent performance of tasks
US10853747B2 (en) 2016-10-03 2020-12-01 Google Llc Selection of computational agent for task performance
US10311856B2 (en) 2016-10-03 2019-06-04 Google Llc Synthesized voice selection for computational agents
US10437841B2 (en) * 2016-10-10 2019-10-08 Microsoft Technology Licensing, Llc Digital assistant extension automatic ranking and selection
US10331791B2 (en) 2016-11-23 2019-06-25 Amazon Technologies, Inc. Service for developing dialog-driven applications
US10891152B2 (en) 2016-11-23 2021-01-12 Amazon Technologies, Inc. Back-end task fulfillment for dialog-driven applications
US10332505B2 (en) * 2017-03-09 2019-06-25 Capital One Services, Llc Systems and methods for providing automated natural language dialogue with customers
US10229683B2 (en) * 2017-03-10 2019-03-12 Soundhound, Inc. Speech-enabled system with domain disambiguation
US11170768B2 (en) * 2017-04-17 2021-11-09 Samsung Electronics Co., Ltd Device for performing task corresponding to user utterance
KR102389625B1 (ko) * 2017-04-30 2022-04-25 삼성전자주식회사 사용자 발화를 처리하는 전자 장치 및 이 전자 장치의 제어 방법
US10942948B2 (en) * 2017-05-02 2021-03-09 Sap Se Cloud-based pluggable classification system
US10847135B2 (en) * 2017-05-18 2020-11-24 Aiqudo, Inc. Sharing commands and command groups across digital assistant operations
US11340925B2 (en) 2017-05-18 2022-05-24 Peloton Interactive Inc. Action recipes for a crowdsourced digital assistant system
EP3635578A4 (en) * 2017-05-18 2021-08-25 Aiqudo, Inc. SYSTEMS AND PROCEDURES FOR CRWODSOURCING ACTIONS AND COMMANDS
US11056105B2 (en) 2017-05-18 2021-07-06 Aiqudo, Inc Talk back from actions in applications
US11043206B2 (en) 2017-05-18 2021-06-22 Aiqudo, Inc. Systems and methods for crowdsourced actions and commands
US11397558B2 (en) 2017-05-18 2022-07-26 Peloton Interactive, Inc. Optimizing display engagement in action automation
US10838746B2 (en) 2017-05-18 2020-11-17 Aiqudo, Inc. Identifying parameter values and determining features for boosting rankings of relevant distributable digital assistant operations
US10460728B2 (en) 2017-06-16 2019-10-29 Amazon Technologies, Inc. Exporting dialog-driven applications to digital communication platforms
CN110753908B (zh) 2017-08-22 2023-11-10 谷歌有限责任公司 在通信会话期间促进用户设备和/或代理设备动作
US10546023B2 (en) 2017-10-03 2020-01-28 Google Llc Providing command bundle suggestions for an automated assistant
EP4273696A3 (en) * 2017-10-03 2024-01-03 Google LLC Multiple digital assistant coordination in vehicular environments
US10620912B2 (en) 2017-10-25 2020-04-14 International Business Machines Corporation Machine learning to determine and execute a user interface trace
US10620911B2 (en) 2017-10-25 2020-04-14 International Business Machines Corporation Machine learning to identify a user interface trace
CN108133707B (zh) * 2017-11-30 2021-08-17 百度在线网络技术(北京)有限公司 一种内容分享方法及系统
US11087751B2 (en) 2017-12-08 2021-08-10 Google Llc Detection of duplicate packetized data for selective transmission into one of a plurality of a user's devices
US10929613B2 (en) 2017-12-29 2021-02-23 Aiqudo, Inc. Automated document cluster merging for topic-based digital assistant interpretation
US10176171B1 (en) * 2017-12-29 2019-01-08 Aiqudo, Inc. Language agnostic command-understanding digital assistant
US10963495B2 (en) 2017-12-29 2021-03-30 Aiqudo, Inc. Automated discourse phrase discovery for generating an improved language model of a digital assistant
US10963499B2 (en) 2017-12-29 2021-03-30 Aiqudo, Inc. Generating command-specific language model discourses for digital assistant interpretation
US11631017B2 (en) * 2018-01-09 2023-04-18 Microsoft Technology Licensing, Llc Federated intelligent assistance
WO2019152511A1 (en) 2018-01-30 2019-08-08 Aiqudo, Inc. Personalized digital assistant device and related methods
US10636423B2 (en) * 2018-02-21 2020-04-28 Motorola Solutions, Inc. System and method for managing speech recognition
US11182565B2 (en) * 2018-02-23 2021-11-23 Samsung Electronics Co., Ltd. Method to learn personalized intents
US10762900B2 (en) * 2018-03-07 2020-09-01 Microsoft Technology Licensing, Llc Identification and processing of commands by digital assistants in group device environments
US20220374460A1 (en) * 2018-04-20 2022-11-24 Meta Platforms, Inc. Assisting Users with Efficient Information Sharing among Social Connections
EP3557504A1 (en) * 2018-04-20 2019-10-23 Facebook, Inc. Intent identification for agent matching by assistant systems
US11115410B1 (en) 2018-04-20 2021-09-07 Facebook, Inc. Secure authentication for assistant systems
US10978056B1 (en) 2018-04-20 2021-04-13 Facebook, Inc. Grammaticality classification for natural language generation in assistant systems
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US10782986B2 (en) 2018-04-20 2020-09-22 Facebook, Inc. Assisting users with personalized and contextual communication content
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US10698707B2 (en) * 2018-04-24 2020-06-30 Facebook, Inc. Using salience rankings of entities and tasks to aid computer interpretation of natural language input
US10498688B2 (en) * 2018-04-25 2019-12-03 International Business Machines Corporation Prioritizing notifications on a mobile communications device
WO2019214798A1 (en) * 2018-05-07 2019-11-14 Bayerische Motoren Werke Aktiengesellschaft Dialog system capable of semantic-understanding mapping between user intents and machine services
US11314940B2 (en) 2018-05-22 2022-04-26 Samsung Electronics Co., Ltd. Cross domain personalized vocabulary learning in intelligent assistants
US10635462B2 (en) * 2018-05-23 2020-04-28 Microsoft Technology Licensing, Llc Skill discovery for computerized personal assistant
CN110556102B (zh) * 2018-05-30 2023-09-05 蔚来(安徽)控股有限公司 意图识别和执行的方法、设备、车载语音对话系统以及计算机存储介质
KR20190139489A (ko) * 2018-06-08 2019-12-18 삼성전자주식회사 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치
WO2020005241A1 (en) * 2018-06-27 2020-01-02 Google Llc Rendering responses to a spoken utterance of a user utilizing a local text-response map
CN109101545A (zh) * 2018-06-29 2018-12-28 北京百度网讯科技有限公司 基于人机交互的自然语言处理方法、装置、设备和介质
US11170770B2 (en) * 2018-08-03 2021-11-09 International Business Machines Corporation Dynamic adjustment of response thresholds in a dialogue system
CN110858481B (zh) * 2018-08-07 2024-04-30 三星电子株式会社 用于处理用户语音话语的系统和用于操作该系统的方法
US10949616B1 (en) 2018-08-21 2021-03-16 Facebook, Inc. Automatically detecting and storing entity information for assistant systems
US10896295B1 (en) 2018-08-21 2021-01-19 Facebook, Inc. Providing additional information for identified named-entities for assistant systems
KR20200052612A (ko) * 2018-11-07 2020-05-15 삼성전자주식회사 사용자 발화를 처리하는 전자 장치, 및 그 전자 장치의 제어 방법
CN111276136A (zh) * 2018-12-04 2020-06-12 北京京东尚科信息技术有限公司 控制电子设备的方法、装置、系统及介质
US10878805B2 (en) 2018-12-06 2020-12-29 Microsoft Technology Licensing, Llc Expediting interaction with a digital assistant by predicting user responses
US11315590B2 (en) * 2018-12-21 2022-04-26 S&P Global Inc. Voice and graphical user interface
CN111427992A (zh) * 2019-01-10 2020-07-17 华为技术有限公司 对话处理方法及设备
JP7250946B2 (ja) * 2019-02-25 2023-04-03 ライブパーソン, インコーポレイテッド インテント駆動型コンタクトセンター
US11954453B2 (en) * 2019-03-12 2024-04-09 International Business Machines Corporation Natural language generation by an edge computing device
US11854535B1 (en) * 2019-03-26 2023-12-26 Amazon Technologies, Inc. Personalization for speech processing applications
CN110008325B (zh) * 2019-03-29 2020-02-07 海南中智信信息技术有限公司 一种基于商用对话系统的口语语言理解及改写方法
US10867608B1 (en) * 2019-05-31 2020-12-15 Apple Inc. Multi-user configuration
US11657094B2 (en) 2019-06-28 2023-05-23 Meta Platforms Technologies, Llc Memory grounded conversational reasoning and question answering for assistant systems
US11442992B1 (en) 2019-06-28 2022-09-13 Meta Platforms Technologies, Llc Conversational reasoning with knowledge graph paths for assistant systems
WO2021033889A1 (en) * 2019-08-20 2021-02-25 Samsung Electronics Co., Ltd. Electronic device and method for controlling the electronic device
US11184298B2 (en) * 2019-08-28 2021-11-23 International Business Machines Corporation Methods and systems for improving chatbot intent training by correlating user feedback provided subsequent to a failed response to an initial user intent
CN110798506B (zh) * 2019-09-27 2023-03-10 华为技术有限公司 执行命令的方法、装置及设备
US11188580B2 (en) * 2019-09-30 2021-11-30 Intuit, Inc. Mapping natural language utterances to nodes in a knowledge graph
US11636438B1 (en) 2019-10-18 2023-04-25 Meta Platforms Technologies, Llc Generating smart reminders by assistant systems
US11567788B1 (en) 2019-10-18 2023-01-31 Meta Platforms, Inc. Generating proactive reminders for assistant systems
JPWO2021095564A1 (ru) * 2019-11-13 2021-05-20
CN110827831A (zh) * 2019-11-15 2020-02-21 广州洪荒智能科技有限公司 基于人机交互的语音信息处理方法、装置、设备及介质
US11574634B2 (en) 2019-11-27 2023-02-07 Google Llc Interfacing with applications via dynamically updating natural language processing
US11158308B1 (en) * 2019-11-27 2021-10-26 Amazon Technologies, Inc. Configuring natural language system
KR20220062360A (ko) * 2019-11-27 2022-05-16 구글 엘엘씨 동적으로 업데이트되는 자연어 처리를 통한 애플리케이션과의 인터페이스
US11562744B1 (en) 2020-02-13 2023-01-24 Meta Platforms Technologies, Llc Stylizing text-to-speech (TTS) voice response for assistant systems
US11159767B1 (en) 2020-04-07 2021-10-26 Facebook Technologies, Llc Proactive in-call content recommendations for assistant systems
US11658835B2 (en) 2020-06-29 2023-05-23 Meta Platforms, Inc. Using a single request for multi-person calling in assistant systems
US11550605B2 (en) * 2020-06-30 2023-01-10 Kasisto, Inc. Building and managing cohesive interaction for virtual assistants
US11817091B1 (en) 2020-09-30 2023-11-14 Amazon Technologies, Inc. Fault-tolerance techniques for dialog-driven applications
US11948019B1 (en) 2020-09-30 2024-04-02 Amazon Technologies, Inc. Customized configuration of multimodal interactions for dialog-driven applications
US11252149B1 (en) 2020-09-30 2022-02-15 Amazon Technologies, Inc. Resource management techniques for dialog-driven applications
US11563706B2 (en) 2020-12-29 2023-01-24 Meta Platforms, Inc. Generating context-aware rendering of media contents for assistant systems
US11809480B1 (en) 2020-12-31 2023-11-07 Meta Platforms, Inc. Generating dynamic knowledge graph of media contents for assistant systems
US20220215056A1 (en) * 2021-01-04 2022-07-07 Oracle International Corporation Drill back to original audio clip in virtual assistant initiated lists and reminders
US11861315B2 (en) 2021-04-21 2024-01-02 Meta Platforms, Inc. Continuous learning for natural-language understanding models for assistant systems
US20220353304A1 (en) * 2021-04-30 2022-11-03 Microsoft Technology Licensing, Llc Intelligent Agent For Auto-Summoning to Meetings
KR102321650B1 (ko) 2021-07-19 2021-11-04 주식회사 크라우드웍스 크라우드소싱 기반 프로젝트의 특성에 따른 머신러닝 모델의 학습 성능 개선 방법 및 장치
CN115457979A (zh) * 2022-09-22 2022-12-09 赵显阳 一种视频语音分析识别处理方法及系统
CN115588432B (zh) * 2022-11-23 2023-03-31 广州小鹏汽车科技有限公司 语音交互方法、服务器及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2349970C2 (ru) * 2003-01-09 2009-03-20 Моторола, Инк. Блок разрешения диалога голосового браузера для системы связи
US8255225B2 (en) * 2008-08-07 2012-08-28 Vocollect Healthcare Systems, Inc. Voice assistant system
US20140379326A1 (en) * 2013-06-21 2014-12-25 Microsoft Corporation Building conversational understanding systems using a toolset
US20150032443A1 (en) * 2013-07-25 2015-01-29 Yael Karov Self-learning statistical natural language processing for automatic production of virtual personal assistants

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3464881B2 (ja) * 1997-03-25 2003-11-10 株式会社東芝 辞書構築装置および方法
US20020032564A1 (en) * 2000-04-19 2002-03-14 Farzad Ehsani Phrase-based dialogue modeling with particular application to creating a recognition grammar for a voice-controlled user interface
ATE405918T1 (de) * 1999-12-20 2008-09-15 British Telecomm Das lernen von dialogzuständen und sprachmodellen des gesprochenen informationssystems
US20020198714A1 (en) * 2001-06-26 2002-12-26 Guojun Zhou Statistical spoken dialog system
US7302383B2 (en) * 2002-09-12 2007-11-27 Luis Calixto Valles Apparatus and methods for developing conversational applications
AU2003900584A0 (en) 2003-02-11 2003-02-27 Telstra New Wave Pty Ltd System for predicting speech recognition accuracy and development for a dialog system
JP4370954B2 (ja) * 2004-03-22 2009-11-25 日本電気株式会社 辞書情報の自動更新システムおよび方法
US7761858B2 (en) * 2004-04-23 2010-07-20 Microsoft Corporation Semantic programming language
CN1842787B (zh) * 2004-10-08 2011-12-07 松下电器产业株式会社 对话支援装置
CN1889172A (zh) * 2005-06-28 2007-01-03 松下电器产业株式会社 可增加和修正声音类别的声音分类系统及方法
US7640160B2 (en) * 2005-08-05 2009-12-29 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
EP1760610A1 (en) 2005-08-31 2007-03-07 France Telecom Method for managing shared data and related device
US8677377B2 (en) * 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7835911B2 (en) 2005-12-30 2010-11-16 Nuance Communications, Inc. Method and system for automatically building natural language understanding models
JP4181590B2 (ja) 2006-08-30 2008-11-19 株式会社東芝 インタフェース装置及びインタフェース処理方法
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8190627B2 (en) * 2007-06-28 2012-05-29 Microsoft Corporation Machine assisted query formulation
CN101572084A (zh) * 2008-04-29 2009-11-04 环达电脑(上海)有限公司 智能语音系统及方法
US8352386B2 (en) * 2009-07-02 2013-01-08 International Business Machines Corporation Identifying training documents for a content classifier
CN102714034B (zh) * 2009-10-15 2014-06-04 华为技术有限公司 信号处理的方法、装置和系统
US8694537B2 (en) 2010-07-29 2014-04-08 Soundhound, Inc. Systems and methods for enabling natural language processing
US8606575B1 (en) * 2011-09-06 2013-12-10 West Corporation Method and apparatus of providing semi-automated classifier adaptation for natural language processing
US9082402B2 (en) 2011-12-08 2015-07-14 Sri International Generic virtual personal assistant platform
US8959425B2 (en) * 2011-12-09 2015-02-17 Microsoft Corporation Inference-based extension activation
CN102522084B (zh) * 2011-12-22 2013-09-18 广东威创视讯科技股份有限公司 一种将语音数据转换为文本文件的方法和系统
US8346563B1 (en) 2012-04-10 2013-01-01 Artificial Solutions Ltd. System and methods for delivering advanced natural language interaction applications
US8892419B2 (en) 2012-04-10 2014-11-18 Artificial Solutions Iberia SL System and methods for semiautomatic generation and tuning of natural language interaction applications
JP6085149B2 (ja) * 2012-11-16 2017-02-22 株式会社Nttドコモ 機能実行指示システム、機能実行指示方法及び機能実行指示プログラム
US9875237B2 (en) 2013-03-14 2018-01-23 Microsfot Technology Licensing, Llc Using human perception in building language understanding models
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9189742B2 (en) * 2013-11-20 2015-11-17 Justin London Adaptive virtual intelligent agent

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2349970C2 (ru) * 2003-01-09 2009-03-20 Моторола, Инк. Блок разрешения диалога голосового браузера для системы связи
US8255225B2 (en) * 2008-08-07 2012-08-28 Vocollect Healthcare Systems, Inc. Voice assistant system
US20140379326A1 (en) * 2013-06-21 2014-12-25 Microsoft Corporation Building conversational understanding systems using a toolset
US20150032443A1 (en) * 2013-07-25 2015-01-29 Yael Karov Self-learning statistical natural language processing for automatic production of virtual personal assistants

Also Published As

Publication number Publication date
RU2017127107A (ru) 2019-01-28
KR102451437B1 (ko) 2022-10-05
WO2016122902A3 (en) 2016-10-27
AU2016211903B2 (en) 2020-07-09
US9508339B2 (en) 2016-11-29
AU2016211903A1 (en) 2017-06-15
PH12017550013A1 (en) 2017-10-18
MY188645A (en) 2021-12-22
JP2018513431A (ja) 2018-05-24
NZ732352A (en) 2022-10-28
EP3251115B1 (en) 2018-12-12
MX2017009711A (es) 2017-11-17
BR112017011564A2 (pt) 2018-01-02
BR112017011564B1 (pt) 2023-03-07
CN107210033B (zh) 2020-10-16
CO2017007032A2 (es) 2017-09-29
SG11201705873RA (en) 2017-08-30
CA2970728C (en) 2022-02-22
CA2970728A1 (en) 2016-08-04
EP3251115A2 (en) 2017-12-06
IL252454B (en) 2020-02-27
JP6744314B2 (ja) 2020-08-19
KR20170115501A (ko) 2017-10-17
RU2017127107A3 (ru) 2019-07-17
IL252454A0 (en) 2017-07-31
CN107210033A (zh) 2017-09-26
US20160225370A1 (en) 2016-08-04
WO2016122902A2 (en) 2016-08-04
CL2017001872A1 (es) 2018-02-09

Similar Documents

Publication Publication Date Title
RU2699587C2 (ru) Обновление моделей классификаторов понимания языка на основе краудсорсинга
US20210312909A1 (en) Systems and methods for crowdsourced actions and commands
US11520610B2 (en) Crowdsourced on-boarding of digital assistant operations
EP3424045B1 (en) Developer voice actions system
CN107112015B (zh) 发现第三方启用语音的资源的能力
US20210311975A1 (en) Language agnostic command-understanding digital assistant
US8938394B1 (en) Audio triggers based on context
WO2018213740A1 (en) Action recipes for a crowdsourced digital assistant system
US20160202957A1 (en) Reactive agent development environment
US20180366108A1 (en) Crowdsourced training for commands matching
US20220283831A1 (en) Action recipes for a crowdsourced digital assistant system
US20180366113A1 (en) Robust replay of digital assistant operations
WO2020018826A1 (en) Systems and methods for crowdsourced actions and commands