ОБЛАСТЬ ТЕХНИКИ
[01] Настоящая технология относится к системе умного персонального помощника и, конкретнее, к способу и компьютерному устройству для определения намерения запроса для создания зависящего от намерения ответа.
УРОВЕНЬ ТЕХНИКИ
[02] Электронные устройства, такие как смартфоны и планшеты, способны получать доступ к огромному и различному числу приложений и сервисов для обработки и/или доступа к различным типам информации. Тем не менее, новые пользователи и/или пользователи с нарушениями и/или пользователи, ведущие автомобиль, могут не быть способны эффективно взаимодействовать с подобными устройствами, в основном из-за множества функций, предоставляемых этими устройствами, или невозможности использования человеко-машинного интерфейса, предоставляемого подобными устройствами (например, клавиатурой). Например, пользователь, который ведет автомобиль, или пользователь, который плохо видит, может не быть способен использовать сенсорную клавиатуру, связанную с некоторыми из этих устройств.
[03] Были разработаны системы умного личного помощника (IPА) для выполнения функций в ответ на пользовательские запросы. Подобные системы IPA могут быть использованы, например, для извлечения информации и навигации. Обычная система IPА, например, Siri®, может воспринимать обычный ввод на естественном человеческом языке от устройства и выполнять большое количество различных задач для пользователя. Например, пользователь может связываться с Siri® путем произнесения высказываний (через голосовой интерфейс Siri®) с вопросом, например, о текущей погоде, о ближайшем торговом центре и так далее. Пользователь также может выполнять различные приложения, установленные на электронном устройстве.
[04] Обычные системы IPA сфокусированы на анализе пользовательского запроса и предоставлении на него подходящего ответа. Тем не менее, предоставление подходящего ответа на основе запроса может быть сложной задачей из-за большого количества семантических вариации пользовательских запросов, что усложняет определение значения запросов.
РАСКРЫТИЕ ТЕХНОЛОГИИ
[05] Разработчики настоящей технологии обратили внимание на некоторые технические недостатки, связанные с существующими системами IPA. Обычные системы IPA сфокусированы на анализе данного запроса для определения его значения или пользовательского намерения, связанного с ним. Подобный анализ подходит запросов, которые явно указывают на это пользовательское намерение. Например, запрос "Какая сегодня погода в Париже?" явно указывает на то, что пользователь намерен запросить информацию о погоде для конкретного места и конкретного времени. Тем не менее, подобный анализ может не подойти, если данный запрос является зависящим от намерения запросом. Например, запрос "А в Лондоне?" явно не указывает на то, что пользователь намерен запросить информацию о погоде для конкретного места или конкретного времени. В самом деле, намерение этого запроса не является явным и зависит от намерения предыдущего запроса, введенного пользователем. Другими словами, этот тип запросов может считаться "дальнейшим запросом". Следовательно, анализа только данного запроса для определения его значения или намерения может быть недостаточно.
[06] Задачей предлагаемой технологии является устранение по меньшей мере некоторых недостатков, присущих известному уровню техники. Разработчики настоящей технологии создали систему, которая учитывает предыдущие намерения, связанные с предыдущими запросами, чтобы определить значение или текущие намерения текущих запросов. Подразумевается, что текущее намерение по меньшей мере частично основано на текущем запросе и вероятности того, что пользователь изменил предыдущее намерение на текущее намерение.
[07] Первым объектом настоящей технологии является способ определения текущего намерения, связанного с текущим запросом пользователя для создания зависящего от намерения ответа, связанного с текущим намерением для текущего запроса. Пользователь связан с текущим запросом и предыдущим запросом. Предыдущий запрос связан с предыдущим намерением. Текущие и предыдущие намерения находятся среди множества потенциальных намерений, причем способ выполняется сервером. Способ включает в себя получение сервером текущего запроса и предыдущего запроса. Способ включает в себя определение сервером соответствующего параметра связи с намерением для каждого из множества потенциальных намерений на основе текущего запроса, причем данный параметр связи с намерением указывает на вероятность того, что текущий запрос связан с соответствующим одним из множества потенциальных намерений. Способ включает в себя определение сервером соответствующего параметра перехода намерения для каждого из множества потенциальных намерений на основе текущего запроса, причем данный параметр перехода намерения указывает на вероятность того, что текущий запрос связан с соответствующим одним из множества потенциальных намерений. Способ в себя определение сервером соответствующего уточненного параметра связи с намерением для каждого из множества потенциальных намерений как результата умножения соответствующего параметра связи с намерением и соответствующего параметра перехода намерения. Способ включает в себя выбор сервером одного из множества потенциальных намерений в качестве текущего намерения на основе уточненных параметров связи с намерением.
[08] В некоторых вариантах осуществления способа, определение параметров связи с намерением выполняется первым алгоритмом машинного обучения (MLA), который был обучен: на основе (i) предыдущих запросов и (ii) соответствующих связанных потенциальных намерений; и для определения вероятности того, что данный запрос будет связан с данным из множества потенциальных намерений. Каждый из предыдущих запросов может быть связан с данным одним из множества потенциальных намерений человеком-асессором.
[09] В некоторых вариантах осуществления способа, определение параметров перехода намерения может выполняться эвристической процедурой. Множество правил, используемых эвристической процедурой, было определено заранее оператором.
[10] В некоторых вариантах осуществления способа, определение параметров перехода намерения выполняется вторым MLА, который был обучен: на основе (i) пары последовательных предыдущих запросов и (ii) пары последовательных потенциальных намерений, соответственно связанных с парами последовательных предыдущих запросов; и для определения вероятности изменения с (i) первого из данной пары последовательных потенциальных намерений из первой соответствующей пары последовательных запросов на (ii) второе из данной пары последовательных потенциальных намерений из второй из соответствующей пары последовательных запросов. Каждая пара последовательных потенциальных намерений могла быть связана с соответствующей парой последовательных предыдущих запросов человеком-асессором.
[11] В некоторых вариантах осуществления способа, способ далее включает в себя создание сервером ранжированного множества потенциальных намерений, включая каждое из множества потенциальных намерений, ранжированных на основе соответствующего уточненного параметра связи с намерением. Выбор одного из множества потенциальных намерений в качестве текущего намерения может включать в себя выбор сервером верхнего ранжированного потенциального из ранжированного множества потенциальных намерений в качестве текущего намерения.
[12] В некоторых вариантах осуществления способа, способ может далее включать в себя сравнение сервером каждого уточненного параметра связи с порогом значимости связи. Порог значимости связи мог быть определен оператором сервера. В ответ на то, что каждый уточненный параметр связи с намерением находится ниже порога значимости связи, способ может включать в себя создание сервером резервного ответа для текущего запроса вместо зависящего от намерения ответа.
[13] В некоторых вариантах осуществления способа, каждый из множества потенциальных намерений может быть связан с соответствующей цифровой формой для создания соответствующего зависящего от намерения ответа, связанного с соответствующим потенциальным намерением. Каждая цифровая форма может включать в себя поля формы, связанные с соответствующими параметрами поля.
[14] В некоторых вариантах осуществления способа, способ может далее включать в себя связывание сервером данного значения формы из текущего запроса с данным полем формы данной цифровой формы. Данная цифровая форма может быть связана с текущим намерением.
[15] В некоторых вариантах осуществления способа, данная цифровая форма может включать в себя по меньшей мере одно обязательное поле формы, связанное с соответствующим параметром поля. Соответствующий зависящий от намерения ответ может создаваться только если все из по меньшей мере одного обязательного поля формы связаны с соответствующими значениями формы.
[16] В некоторых вариантах осуществления способа, связывание данного значения формы может выполняться третьим MLА, который был обучен: на основе (i) параметров поля, связанных с полями формы цифровых форм, (ii) предыдущих запросов и (iii) значений форм из предыдущих запросов, связанных с параметрами полей; и для связи значений формы из запросов с параметрами поля цифровых форм. Значения форм из предыдущих запросов были связаны с параметрами поля цифровых форм человеком-асессором.
[17] В некоторых вариантах осуществления способа, по меньшей мере один текущий запрос и предыдущий запрос может создаваться с помощью пользовательского интерфейса на естественном языке приложения умного цифрового помощника (IPА) на основе произнесенных вслух высказываний пользователя.
[18] В некоторых вариантах осуществления способа, зависящий от намерения ответ может являться произнесенным высказыванием для пользователя, созданным с помощью пользовательского интерфейса на естественном языке приложения умного цифрового помощника (IPА).
[19] Вторым объектом настоящей технологии является компьютерное устройство для определения текущего намерения, связанного с текущим запросом пользователя для создания зависящего от намерения ответа, связанного с текущим намерением для текущего запроса. Пользователь связан с текущим запросом и предыдущим запросом. Предыдущий запрос связан с предыдущим намерением. Текущие и предыдущие намерения находятся среди множества потенциальных намерений. Компьютерное устройство включает в себя получение текущего запроса и предыдущего намерения. Компьютерное устройство выполнено с возможностью определять соответствующий параметр связи с намерением для каждого из множества потенциальных намерений, основанных на текущем запросе. Данный параметр связи с намерением указывает на вероятность связи текущего запроса с соответствующим одним из множества потенциальных намерений. Компьютерное устройство выполнено с возможностью определять соответствующий параметр перехода намерения для каждого из множества потенциальных намерений. Данный параметр перехода намерения указывает на вероятность связи текущего запроса с соответствующим одним из множества потенциальных намерений. Компьютерное устройство выполнено с возможностью осуществлять определение сервером соответствующего уточненного параметра связи с намерением для каждого из множества потенциальных намерений как результата умножения соответствующего параметра связи с намерением и соответствующего параметра перехода намерения. Компьютерное устройство выполнено с возможностью осуществлять выбор сервером одного из множества потенциальных намерений в качестве текущего намерения на основе уточненных параметров связи с намерением.
[20] В некоторых вариантах осуществления компьютерного устройство, компьютерное устройство может являться электронным устройством, связанным с пользователем.
[21] В некоторых вариантах осуществления компьютерного устройство, компьютерное устройство может быть сервером, содержащим приложение умного цифрового помощника (IPА).
[22] В некоторых вариантах осуществления компьютерного устройства, компьютерное устройство может быть выполнено с возможностью определения параметров связи с намерением путем выполнения первым алгоритмом машинного обучения (MLA), который был обучен: на основе (i) предыдущих запросов и (ii) соответствующих связанных потенциальных намерений; и для определения вероятности того, что данный запрос будет связан с данным из множества потенциальных намерений. Каждый из предыдущих запросов может быть связан с данным одним из множества потенциальных намерений человеком-асессором.
[23] В некоторых вариантах осуществления способа, определение параметров перехода намерения может выполняться эвристической процедурой. Множество правил, используемых эвристической процедурой, было определено заранее оператором.
[24] В некоторых вариантах осуществления компьютерного устройства, компьютерное устройство выполнено с возможностью осуществлять определение параметров перехода намерения путем выполнения вторым MLА, который был обучен: на основе (i) пары последовательных предыдущих запросов и (ii) пары последовательных потенциальных намерений, соответственно связанных с парами последовательных предыдущих запросов; и для определения вероятности изменения с (i) первого из данной пары последовательных потенциальных намерений из первой соответствующей пары последовательных запросов на (ii) второе из данной пары последовательных потенциальных намерений из второй из соответствующей пары последовательных запросов. Каждая пара последовательных потенциальных намерений могла быть связана с соответствующей парой последовательных предыдущих запросов человеком-асессором.
[25] В некоторых вариантах осуществления компьютерного устройства, компьютерное устройство выполнено с возможностью осуществлять создание ранжированного множества потенциальных намерений, включая каждое из множества потенциальных намерений, ранжированных на основе соответствующего уточненного параметра связи с намерением. Компьютерное устройство выполнено с возможностью осуществлять выбор одного из множества потенциальных намерений в качестве текущего намерения может включать в себя компьютерное устройство, выполненное с возможностью осуществлять выбор сервером верхнего ранжированного потенциального из ранжированного множества потенциальных намерений в качестве текущего намерения.
[26] В некоторых вариантах осуществления компьютерного устройства, компьютерное устройство может быть далее выполнено с возможностью осуществлять сравнение каждого уточненного параметра связи с порогом значимости связи. Порог значимости связи мог быть определен оператором сервера. В ответ на то, что каждый уточненный параметр связи с намерением находится ниже порога значимости связи, компьютерное устройство далее может быть выполнено с возможностью осуществлять создание резервного ответа для текущего запроса вместо зависящего от намерения ответа.
[27] В некоторых вариантах осуществления компьютерного устройства, каждый из множества потенциальных намерений может быть связан с соответствующей цифровой формой для создания соответствующего зависящего от намерения ответа, связанного с соответствующим потенциальным намерением. Каждая цифровая форма может включать в себя поля формы, связанные с соответствующими параметрами поля.
[28] В некоторых вариантах осуществления компьютерного устройство, компьютерное устройство может быть далее выполнено с возможностью осуществлять связывание данного значения формы из текущего запроса с данным полем формы данной цифровой формы, причем данная цифровая форма связана с текущим намерением.
[29] В контексте настоящего описания «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данной технологии. В контексте настоящей технологии использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».
[30] В контексте настоящего описания «устройство» подразумевает под собой аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Таким образом, примерами устройств (среди прочего) могут служить персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.) смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует иметь в виду, что устройство, ведущее себя как устройство в настоящем контексте, может вести себя как сервер по отношению к другим устройствам. Использование выражения «клиентское устройство» не исключает возможности использования множества клиентских устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного способа.
[31] В контексте настоящего описания, «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, выполняющем процесс, на котором хранится или используется информация, хранящаяся в базе данных, или же база данных может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.
[32] В контексте настоящего описания «информация» включает в себя информацию любую информацию, которая может храниться в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (изображения, видео, звукозаписи, презентации и т.д.), данные (данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы, списки слов и т.д.
[33] В контексте настоящего описания «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).
[34] В контексте настоящего описания «используемый компьютером носитель компьютерной информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.
[35] В контексте настоящего описания слова «первый», «второй», «третий» и и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными. Так, например, следует иметь в виду, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий "второй сервер" обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание «первого» элемента и «второго» элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, «первый» сервер и «второй» сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.
[36] Каждый вариант осуществления настоящей технологии преследует по меньшей мере одну из вышеупомянутых целей и/или объектов, но наличие всех не является обязательным. Следует иметь в виду, что некоторые объекты данной технологии, полученные в результате попыток достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или могут удовлетворять другим целям, отдельно не указанным здесь.
[37] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящей технологии станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[38] Для лучшего понимания настоящей технологии, а также других ее аспектов и характерных черт, сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:
[39] На Фиг. 1 представлена система, подходящая для реализации неограничивающих вариантов осуществления настоящей технологии;
[40] На Фиг. 2 представлен иллюстративный пример данных приложения, хранящихся в базе данной разработки из системы, показанной на Фиг. 1, в соответствии с некоторыми вариантами осуществления настоящей технологии;
[41] На Фиг. 3 представлен иллюстративный пример обучающих данных, хранящихся в обучающей базе данной из системы, показанной на Фиг.1, в соответствии с некоторыми вариантами осуществления настоящей технологии;
[42] На Фиг. 4 представлена схема фазы обучения первого алгоритма машинного обучения (MLA) системы, показанной на Фиг. 1, в соответствии с некоторыми вариантами осуществления настоящей технологии;
[43] На Фиг. 5 представлена схема фазы обучения второго MLA системы, показанной на Фиг. 1, в соответствии с некоторыми вариантами осуществления настоящей технологии;
[44] На Фиг. 6 представлена схема фазы обучения третьего MLA системы, показанной на Фиг. 1, в соответствии с некоторыми вариантами осуществления настоящей технологии;
[45] На Фиг. 7 иллюстративный вариант процедуры уточнения связи с намерением, выполненной в соответствии с некоторыми вариантами осуществления настоящей технологии; и
[46] На Фиг. 8 представлена блок-схема способа определения текущего намерения, связанного с текущим запросом для создания зависящего от намерения ответа в соответствии с некоторыми вариантами осуществления настоящей технологии.
ОСУЩЕСТВЛЕНИЕ
[47] На Фиг. 1 представлена принципиальная схема системы 100, выполненной в соответствии с вариантами осуществления настоящей технологии, не ограничивающими ее объем. Важно иметь в виду, что нижеследующее описание системы 100 представляет собой описание иллюстративных вариантов осуществления настоящего технического решения. Таким образом, все последующее описание представлено только как описание иллюстративного примера настоящей технологии. Это описание не предназначено для определения объема или установления границ настоящей технологии. Некоторые полезные примеры модификаций системы 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящей технологии.
[48] Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где это еще не было сделано, т.е. там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что то, что описано, является единственным вариантом осуществления этого элемента настоящего технического решения. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящей технологии, и в подобных случаях этот вариант представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящей технологии будут обладать гораздо большей сложностью.
[49] В общем случае, система 100 выполнена с возможностью предоставлять зависящие от намерения ответы на пользовательские запросы, что приводит к "беседе" между пользователем и электронным устройством. Например, звуковые указания 152 и 156 (например, произнесенные высказывания) от пользователя 102 могут улавливаться электронным устройством 104 (или просто "устройством 104"), которое, в свою очередь, выполнено с возможностью предоставлять звуковые указания 154 и 158 (например, воспроизведенные высказывания или "искусственные высказывания"). Таким образом, можно сказать, что это приводит к беседе 150 между пользователем 102 и устройством 104, причем беседа 150 состоит из (i) звуковых указаний 152 и 156 и (ii) звуковых указаний 154 и 158.
[50] Далее будут описаны различные компоненты системы 100 и то, как эти компоненты могут быть выполнены с возможностью предоставления звуковых указаний 154 и 158.
Пользовательское устройство
[51] Как было упомянуто ранее, система 100 включает в себя устройство 104. Варианты осуществления устройства 104 конкретно не ограничены, но в качестве примера устройства 104 могут использоваться персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.), устройства беспроводной связи (смартфон, мобильный телефон, планшет, умный динамик и т.п.), а также сетевое оборудование (маршрутизаторы, коммутаторы или шлюзы). Таким образом, устройство 104 может иногда упоминаться как "электронное устройство", "устройство конечного пользователя", "клиентское электронное устройство" или просто "устройство". Следует отметить, что тот факт, что устройство 104 связано с пользователем 102, не подразумевает какого-либо конкретного режима работы, равно как и необходимости входа в систему, быть зарегистрированным, или чего-либо подобного.
[52] Подразумевается, что устройство 104 включает в себя аппаратное и/или прикладное программное обеспечение и/или системное программное обеспечение (или их комбинацию), как известно в данной области техники, для того, чтобы (i) обнаружить или уловить звуковые указания 152 и 156 и (ii) предоставить или воспроизвести звуковые указания 154 и 158. Например, устройство 104 может включать в себя один или несколько микрофонов для обнаружения или улавливания звуковых указаний 152 и 156 и один или несколько динамиков для предоставления или воспроизведения звуковых указаний 154 и 158.
[53] Устройство 104 также включает в себя аппаратное и/или прикладное программное, и/или системное программное обеспечение (или их комбинацию), как известно в данной области техники, для использования приложения 105 умного личного помощника (IPА). В общем случае, целью приложения 105 IPA, также известного как "чатбот" является возможность (i) позволить пользователю 102 вводить запросы в форме голосовых высказываний (например, звуковых указаний 152 и 156) и, в ответ, (ii) предоставлять пользователю 102 зависящие от намерения ответы в форме голосовых высказываний (например, звуковых указаний 154 и 158). Ввод запросов и предоставление зависящих от намерения ответов может выполняться приложением 105 IPА с помощью пользовательского интерфейса на естественном языке.
[54] В общем случае, пользовательский интерфейс приложения 105 IPA на естественном языке может представлять собой интерфейс взаимодействия человека и компьютера любого типа, в котором лингвистические элементы, такие как глаголы, фразы, падежи и т.д. используются для управления пользовательским интерфейсом с целью извлечения, выбора, модификации или создания данных в приложении 105 IPA.
[55] Например, когда голосовые высказывания пользователя 102 (например, звуковые указания 152 и 156) обнаруживаются (т.е. улавливаются) устройством 104, приложение 105 IPA может использовать свой пользовательский интерфейс на естественном языке для анализа голосовых высказываний пользователя 102 и извлечения данных из них, которые указываются на запросы пользователя 102. Также, данные, которые указывают на зависящие от намерения ответы, которые могут быть получены устройством 104, анализируются пользовательским интерфейсом на естественном языке приложения 105 IPA для предоставления или воспроизведения голосовых высказываний (например, звуковые указания 154 и 158) указывают на зависящие от намерения ответы.
[56] Альтернативно или дополнительно, подразумевается, что приложение 105 IPA может исполнять человеком-машинный интерфейс, который (i) позволяет пользователю 102 вводить указания на запросы в текстовой форме и, в ответ, (ii) предоставляет пользователю 102 указания на зависящие от намерения ответы в текстовой форме.
Сеть передачи данных
[57] В примерном варианте системы 100, устройство 104 коммуникативно соединено с сетью 110 передачи данных для доступа и передачи пакетов данных к серверу 112/от сервера 106 и/или другим веб-ресурсам (не показано). В некоторых вариантах осуществления настоящей технологии, не ограничивающих ее объем, сеть 110 передачи данных может представлять собой Интернет. В других неограничивающих вариантах осуществления настоящей технологии, сеть 110 передачи данных может быть реализована иначе - в виде глобальной сети связи, локальной сети связи, частной сети связи и т.п. Реализация линии передачи данных (отдельно не пронумерована) между устройством 104 и сетью 110 передачи данных будет зависеть среди прочего от того, как именно реализовано устройство 104.
[58] В качестве примера, но не ограничения, в данных вариантах осуществления настоящей технологии в случаях, когда устройство 104 представляет собой беспроводное устройство связи (например, смартфон), линия передачи данных представляет собой беспроводную сеть передачи данных (например, среди прочего, линия передачи данных 3G, линия передачи данных 4G, беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п.). В тех примерах, где устройство 104 представляет собой портативный компьютер, линия связи может быть как беспроводной (беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п) так и проводной (соединение на основе сети Ethernet).
Сервер
[59] Как уже ранее упоминалось, система 100 также включает в себя сервер 106, который может быть реализован как обычный сервер. В примере варианта осуществления настоящей технологии, сервер 106 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сервер 106 может представлять собой любое другое подходящее аппаратное, прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящей технологии, не ограничивающем ее объем, сервер 106 является одиночным сервером. В других неограничивающих вариантах осуществления настоящей технологии, функциональность сервера 106 может быть разделена, и может выполняться с помощью нескольких серверов.
[60] В общем случае, сервер 106 выполнена с возможностью (i) получать данные, указывающие на запросы от устройства 104, (ii) анализировать данные, указывающие на запросы и, в ответ, (iii) создавать данные, указывающие на зависящие от намерения ответы и (iv) передавать данные, указывающие на зависящие от намерения ответы, устройству 104. С этой целью, сервер 106 размещает сервис 108 IPA, связанный с приложением 105 IPA.
[61] В некоторых вариантах осуществления настоящей технологии, сервис IPA 108 выполнена с возможностью анализировать данные, указывающие на запросы, полученные от устройства 104 (и потенциально других устройств системы 100) для определения намерений этих запросов.
[62] Например, предположим, что данные, полученные от устройства 104, указывают на первый запрос "Какая погода в Москве?". Следует отметить, что в данном примере первый запрос явно указывает на погоду в конкретном месте. Таким образом, сервис 108 IPA может быть выполнен с возможностью анализировать эти данные и определять, что намерением первого запроса является "погода".
[63] В другом примере предположим, что после (i) получения данных, указывающий на первый запрос и (ii) определение намерения первого запроса, причем другие данные получают от устройства 104, и они указывают на второй запрос "А как в Монреале?". Несмотря на то, что второй запрос может относиться к конечному пункту маршрута, и, следовательно, кажется связанным с намерением "путешествие" в некоторых вариантах осуществления настоящей технологии, сервис 108 IPA может быть выполнен с возможностью анализировать как (i) данные, указывающие на первый запрос, так и (ii) другие данные, указывающие на второй запрос, и определять, что намерение второго пользователя также представляет собой "погоду". Следует отметить, что, несмотря на то, что второй запрос явно не относится к погоде, подразумевается, что сервис 108 IPА может быть выполнен с возможностью определять намерение второго запроса, по меньшей мере частично основанного на намерении первого запроса, ранее определенного сервисом 108 IPA.
[64] В других вариантах осуществления настоящей технологии, сервис 108 IPА выполнен с возможностью создавать для запросов зависящие от намерения ответы, по меньшей мере частично, на основе намерений запросов.
[65] Например, после определения того, что намерением первого запроса "Какая погода в Москве?" является "погода", сервис 108 IPA может выполняться с возможностью создавать первый зависящий от намерения ответ, по меньшей мере частично основанный на (i) первом запросе и (ii) намерении первого запроса. Таким образом, сервис 108 IPA может быть выполнен с возможностью создавать первый зависящий от намерения ответ "температура в Москве -7 градусов Цельсия и идет снег".
[66] В другом примере, после определения того, что намерением второго пользовательского запроса "А как в Монреале?" также является "погода", сервис 108 IPA может быть выполнен с возможностью создавать второй зависящий от намерения ответ, по меньшей мере частично основанный на (i) втором запросе и (ii) намерении второго запроса. Таким образом, сервис 108 IPA может быть выполнен с возможностью создавать второй зависящий от намерения ответ "температура в Монреале -15 градусов Цельсия и светит солнце". Следует отметить, что вместо предоставления ответа, связанного с туристической информацией о Монреале в ответ на второй запрос, сервис 108 IPA может быть выполнен с возможностью создавать второй зависящий от намерения ответ, который относится конкретно к намерению "погода".
[67] Сервис 108 IPA включает в себя различные компоненты, которые могут позволить реализовать вышеупомянутые функции. Например, сервис 108 IPA может выполнять, среди прочего, множество алгоритмов 130 машинного обучения, включающих первый, второй и третий MLA 132, 134 и 136 для реализации по меньшей мере некоторых из вышеупомянутых функций сервиса 108 IPA.
[68] В общем случае, данный MLA является компьютерным алгоритмом, который может "учиться" на обучающих данных и создавать прогнозы на основе данных фазы использования. Данный MLA обычно обучается во время фазы обучения, на основе обучающих данных для, "обучения" связям и/или шаблонам в обучающих данных для создания прогнозов, во время фазы их использования, на основе используемых данных. В некоторых вариантах осуществления настоящей технологии, каждый из множества MLA 130 может быть реализован как модель дерева решений, которая создает прогнозы, следуя по данной "ветке" на основе используемых данных в качестве ввода для выбора данного "листа" в качестве вывода. То как множество MLА 130 и другие компоненты сервиса 108 IPA реализованы, обучены и используются для осуществления по меньшей мере некоторых вышеописанных функций сервиса 108 IPA, будет более подробно описано далее.
[69] Сервер 112 также коммуникативно соединен с базой 120 данных разработки, обучающей базой 122 данных и базой 124 данных обработки. В представленном варианте осуществления технологии, база 120 данных разработки, обучающая база 122 данных и база 124 данных обработки представлены в виде отдельных физических элементов. Но это не является обязательным для каждого варианта осуществления настоящей технологии. Таким образом, некоторые или все из базы 120 данных разработки, обучающей базы 122 данных и базы 124 данных обработки могут быть реализованы в виде одной базы данных. Кроме того, любая из базы 120 данных разработки, обучающей базы 122 данных векторов и базы 124 данных обработки может быть разделена на несколько отдельных баз данных. Аналогичным образом, все (или любая их комбинация) из базы 120 данных разработки, обучающей базы 122 данных векторов и базы 124 данных обработки могут быть реализованы в виде аппаратного устройства.
База данных разработки
[70] В общем случае, база 120 данных разработки выполнена с возможностью сохранять данные приложения, которые могут использоваться сервисом 108 IPA во время (i) анализа данных, указывающих на запросы (ii) определения намерений запросов и (iii) создания зависящих от запроса ответов на запросы.
[71] База 120 данных разработки может быть заполнена разработчиками сервиса 108 IPА и/или оператором сервера 106. Например, база 120 данных разработки может быть заполнена и хранить лист всех потенциальных намерений, которые могут быть связаны с данным запросом. В другом варианте, база 120 данных разработки может быть заполнена и хранить набор инструкций программного когда, применение которых может позволить реализовать по меньшей мере некоторые функции сервиса 108 IPA. То, как список потенциальных намерений и набор инструкций программного когда может осуществлять по меньшей мере некоторые функции сервиса 108 IPA, будет понятно из дальнейшего описания.
Обучающая база данных
[72] В общем случае, обучающая база 122 данных выполнена с возможностью сохранять обучающие данные, которые могут быть использованы во время фаз обучения множества MLA 130, реализованных сервисом 108 IPA. Сервер 106 может быть выполнен с возможностью использовать информацию из истории, собранную из (i) большого числа предыдущих запросов и (ii) большого числа прошлых ответов для этих предыдущих запросов для обучения множества MLA 130. Другими словами, обучающая база 122 данных может включать в себя одну или несколько коллекций данных, относящихся к предыдущим запросам, которые связаны с пользователем 102 (и потенциально другими пользователями) и предыдущими ответами, предоставленными для этих предыдущих запросов.
[73] В дополнение, обучающая база 122 данных может быть выполнена с возможностью сохранять оцененную людьми информацию, которая связана с одной или несколькими коллекциями данных, связанных с предыдущими запросами и предыдущими ответами. Например, оцененная людьми информация может предоставляться одним или несколькими людьми-асессорами, которым назначается задача анализа одной или нескольких коллекций данных, относящихся к предыдущим запросам и предыдущим ответам. Подразумевается, что сервер 106 может также использовать оцененную людьми информацию для обучения множества MLA 130. То, как обучающие данные структурированы и используются сервером 106 для обучения множества MLА 130, будет описано более подробно далее.
База данных обработки
[74] База 124 данных обработки выполнена с возможностью сохранять информацию, извлеченную или иным образом определенную или созданную сервером 106 во время обработки. В общем случае, база 124 данных обработки может получать данные с сервера 106, которые были извлечены или иным образом определены или созданы сервером 106 во время обработки для временного и/или постоянного хранения, и могут предоставлять сохраненные данные серверу 106 для их использования.
[75] То, как реализованы по меньшей мере некоторые из вышеперечисленных функций сервиса 108 IPA, будет описано далее.
[76] Предположим, что звуковое указание 152 (например, произнесенное высказывание пользователя 102) обнаружено или зафиксировано устройством 104. Приложение 105 IPA извлекает из звукового указания 152 данные, указывающие на первый запрос "Какая погода в Москве?" Данные, указывающие на первый запрос, передаются на сервер 106, где сервис 108 IPA определяет, что намерение первого запроса - "погода". Подразумевается, что данные, указывающие на первый запрос может храниться в базе 124 данных обработки в связи с намерением, определенным сервисом 108 IPA.
[77] Предположим также, что сервис 108 IPA создает первый зависящий от намерения ответ "Температура в Москве -7 градусов Цельсия и идет снег", по меньшей мере частично основано на (i) первом запросе и (ii) намерении первого запроса. Сервер 106 далее передает устройству 104 данные, указывающие на первый зависящий от намерения ответ. Подразумевается, что данные, указывающие на первый зависящий от намерения ответ может храниться в базе 124 данных обработки в связи в первым запросом и его намерением.
[78] Также предполагается, что устройство 104 создает, на основе данных, указывающий на первый зависящий от намерения ответ, звуковое указание 154 (например, "произнесенное высказывание" приложения 105 сервиса IPA) и предоставляет или воспроизводит его пользователю 102.
[79] Также предположим, что звуковое указание 156 (например, другое произнесенное высказывание пользователя 102) далее обнаружено или зафиксировано устройством 104. Приложение 105 IPA извлекает из звукового указания 156 данные, указывающие на второй запрос "А как в Монреале?" Другими словами беседа 150 может выглядеть следующим образом:
- "Какая погода в Москве?"
- "Температура в Москве -7 градусов Цельсия и идет снег".
- "А как в Монреале?"
[80] Устройство 104 может быть выполнено с возможностью создавать пакет 180 данных, который содержит данные, указывающие на второй запрос "А как в Монреале?". В некоторых вариантах осуществления, пакет 180 данных, может включать в себя данные, указывающие на беседу 150, например, данные, указывающие на (i) первый запрос, (ii) первый зависящий от намерения ответ и (iii) второй запрос. В другом варианте осуществления, пакет 180 данных может далее включать в себя данные, указывающие на намерение первого запроса (например, "погода"). Устройство 104 выполнено с возможностью передавать пакет 180 данных по сети 110 передачи данных серверу 106. Подразумевается, что содержимое пакета 180 данных может храниться в базе 124 данных обработки сервером 106 при получении.
[81] При получении пакета 180 данных, сервер 106 может передавать свое содержимое сервису 108 IPA для обработки. В общем случае, сервис 108 IPA выполнен с возможностью создавать, на основе по меньшей мере некоторого содержимого пакета 180 данных, данный зависящий от намерения ответ для второго запроса.
[82] В некоторых вариантах осуществления настоящей технологии, во время обработки содержимого пакета 180 данных, сервис 108 IPA может быть выполнен с возможностью анализировать содержимое пакета 180 данных для определения (i) текущего запроса, для которого создается текущий зависящий от намерения ответ (ii) предыдущего запроса, который предшествует текущему запросу в беседе 150 и (iii) намерения предыдущего запроса. Таким образом, сервис 108 IPA может определять, что (i) текущий запроса, для которого создается текущий зависящий от намерения ответ, представляет собой второй запрос "А как в Монреале?", (ii) предыдущий запрос, который предшествует текущему запросу в беседе 150, является первым запросом "Какая погода в Москве?" и (iii) намерение предыдущего запроса - "погода".
[83] Подразумевается, что сервис 108 IPA может использовать данные приложения, хранящиеся в базе 120 данных разработки, для создания текущего зависящего от намерения ответа для текущего запроса "А как в Монреале?"
[84] На Фиг. 2 представлен иллюстративный пример данных 200 приложения, хранящихся в базе 120 данных разработки. Данные 200 приложения включают в себя множество потенциальных намерений 202. Как уже ранее упоминалось, множество потенциальных намерений 202 может определяться разработчиками сервиса 108 IPA и/или оператором сервера 106. Множество потенциальных намерений 202 включает в себя все возможные намерения, которые могут быть связаны с данным запросом с помощью сервиса 108 IPA. Множество потенциальных намерений 202 включает в себя потенциальные намерения 204, 206, 208, 210 и 212. Например:
- потенциальное намерение 204 может быть "погода";
- потенциальное намерение 206 может быть "маршрут";
- потенциальное намерение 208 может быть "путешествие";
- потенциальное намерение 210 может быть "точка интереса";
- потенциальное намерение 212 может быть "часовые пояса".
[85] Следует иметь в виду, что множество потенциальных намерений 202 может включать в себя большее число электронных устройств, например, 100, 1000, 10000, 10000 и так далее. Таким образом, множество потенциальных намерений 202 может включать в себя другие потенциальные намерения, отличные от перечисленных выше, не выходя за пределы настоящей технологии.
[86] Каждое из множества потенциальных намерений 202 связано с соответствующей цифровой формой. Например, потенциальное намерение 204 связано с цифровой формой 214, потенциальное намерение 206 связано с цифровой формой 216, потенциальное намерение 208 связано с цифровой формой 218, потенциальное намерение 210 связано с цифровой формой 220 и потенциальное намерение 212 связано с цифровой формой 222.
[87] В общем случае, данная цифровая форма является исполняемым на компьютере алгоритмом, состоящем из соответствующего набора инструкций программного кода, который, в ответ на набор входных данных, может исполняться и выполнен с возможностью создавать данный зависящий от намерения ответ на запрос, который связан с соответствующим потенциальным намерением. Другими словами, (i) данная цифровая форма содержит по меньшей мере одно поле формы, которое может быть заполнено данным значением формы (например, данные входные значения для соответствующего набора инструкций программного кода) и (ii) когда используется данная цифровая форма, она может позволить создать данный зависящий от намерения ответ для запроса, который связан с соответствующим потенциальным намерением.
[88] Подразумевается, что каждое поле формы данной цифровой формы связано с соответствующим параметром поля, который указывает на типа значения формы и который следует заполнить соответствующим полем формы. Например, цифровая форма 214, связанная с потенциальным намерением 204 "погода" может указывать на поле 224 формы, где поле 224 формы связано с данным параметром поля "местоположение". Это означает, что для создания данного зависящего от намерения ответа на запроса, который связан с потенциальным намерением 204 "погода", поле 224 формы цифровой формы 214 должно быть заполнено значением формы, относящимся к типу "местоположение".
[89] В другом варианте, цифровая форма 216, связанная с потенциальным намерением 206 "маршрут" может включать в себя (i) поле 226 формы, связанное с параметром поля "местоположение", (ii) поле 228 формы, связанное с параметром поля "местоположение" и (iii) поле 229 формы, связанное с параметром поля "время". Это означает, что для создания данного зависящего от намерения ответа на запрос, который связан с потенциальным намерением 206 "маршрут", (i) поле 226 формы должно быть заполнено данным значением формы, относящимся к типу "местоположение", (ii) поле 228 формы должно быть заполнено другим данным значением формы, относящимся к типу "местоположение", и (iii) поле 229 формы должно быть заполнено данным значением формы, относящимся к типу "время".
[90] В самом деле, данное значение формы поля 226 формы может устанавливать начальное местоположение данного маршрута, а другое значение формы поля 228 формы может устанавливать конечное местоположение данного маршрута. Таким образом, в данном примере, данный зависящий от намерения ответ может представлять собой маршрут из начального местоположения в конечное местоположение для данного маршрута. Данное значение формы для поля 209 формы может устанавливать, например, время отправления или время прибытия. Таким образом, в другом примере, данный зависящий от намерения ответ может представлять собой маршрут из начального местоположения в конечное местоположение с предпочтительным временем отправления или временем прибытия.
[91] Следует отметить, что данная цифровая форма может обладать (i) обязательными полями формы и (ii) дополнительными полями формы. Обязательные поля формы представляют собой поля формы данной цифровой формы, которые необходимо заполнить соответствующими значениями формы для создания данного зависящего от намерения ответа на запрос, связанный с соответствующим потенциальным намерением. Дополнительные поля формы представляют собой поля формы данной цифровой формы, которые не необходимо заполнить соответствующими значениями формы для создания данного зависящего от намерения ответа на запрос, но, при заполнении, могут способствовать созданию более точного зависящего от намерения ответа.
[92] Со ссылкой на предыдущий пример, поля 226 и 228 формы цифровой формы 216, связанной с потенциальным намерением 206 "маршрут", могут быть обязательным полями формы, а поле 229 формы может быть дополнительным полем формы. В самом деле, для создания данного зависящего от намерения ответа, например, маршрута от начального местоположения до конечного местоположения, поле 226 формы (для указания начального местоположения) и поле 228 (для указания конечного местоположения) являются обязательными полями формы цифровой формы 216, поскольку местоположения отправления и прибытия необходимы для создания любого маршрута. С другой стороны, поле 229 формы (для указания времени прибытия или отправления) является дополнительными полем формы, поскольку оно не является необходимым для создания данного маршрута, но, если поле 229 формы заполнено, может быть создан более точный маршрут.
[93] В некоторых вариантах осуществления настоящей технологии, для создания текущего зависящего от намерения ответа для текущего запроса "А как в Монреале?", сервис 108 IPA выполнен с возможностью (i) связывать текущий запрос с одним из множества потенциальных намерений 202, хранящихся в базе 120 данных разработки, чтобы определить текущее намерение текущего запроса, (ii) заполнить поля формы данной цифровой формы, связанной с текущим намерением, и (iii) использовать данную цифровую форму, тем самым создавая текущий зависящий от намерения ответ на текущий запрос.
[94] Для связи текущего запроса с одним из множества потенциальных намерений 202 (например, определения текущего намерения текущего запроса), сервис 108 IPA может быть выполнен с возможностью использовать первый MLА 130 (см. Фиг. 1) и второй MLA 134. Для заполнения полей формы данной цифровой формы, связанный с текущим намерением, сервис 108 IPA может быть выполнен с возможностью выполнять третий MLA 136.
[95] В общем случае, сервис 108 IPA может выполнять первый MLA 132 во время фазы использования для определения соответствующего параметра связи с намерением для каждого из множества потенциальных намерений 202 на основе текущего запроса "А как в Монреале?", причем данный параметр связи с намерением указывает на вероятность того, что текущий запрос связан с соответствующим одним из множества потенциальных намерений 202.
[96] В общем случае, сервис 108 IPА может выполнять второй MLA 134 во время фазы использования для определения соответствующего параметра перехода намерения для каждого из множества потенциальных намерений 202, причем данный параметр перехода намерения указывает на вероятность изменения с предыдущего намерения "погода" предыдущего запроса "Какая погода в Москве?" на соответствующее одно из множества потенциальных намерений 202.
[97] Таким образом, путем выполнения первого и второго MLA 132 и 134, во время их соответствующих фаз использования, сервис 108 IPA может определять, для каждого из множества потенциальных намерений 202, (i) соответствующий параметр связи с намерением и (ii) соответствующий параметр перехода намерения. На основе соответствующих параметров связи с намерением и перехода намерения для каждого из множества потенциальных намерений 202, сервис 108 IPA может выбирать одно из множества потенциальных намерений 202 в качестве текущего намерения текущего запроса.
[98] После того как текущее намерение текущего запроса была выбрано, сервис 108 IPA может выполнять третий MLA 136 во время его фазы использования для заполнения данной цифровой формы, связанной с текущим намерением. Другими словами, третий MLA 136 может быть выполнен с возможностью связывать значения формы, поступающие из беседы 150 и/или других источников, с полями формы данной цифровой формы, связанной с текущим намерением. Сервис 108 IPA может также использовать таким образом заполненную цифровую форму для создания текущего зависящего от намерения ответа на текущий запрос.
[99] Тем не менее, как было упомянуто ранее, до выполнения множества MLА 130 во время их соответствующих фазы использования, каждый из первого, второго и третьего MLA 132, 134 и 136 обучается во время их соответствующих фаз обучения. Первый, второй и третий MLA 132, 134 и 136 могут быть обучены сервером 106 на основе обучающих данных, хранящихся в обучающей базе 122 данных.
[100] Со ссылкой на Фиг. 3, представлен иллюстративный пример обучающих данных 300, хранящихся в обучающей базе 122 данных для обучения множества MLA 130. Обучающие данные 300 включают в себя данные, указывающие на предыдущую беседу 302. Предыдущая беседа 302 включает в себя соответствующие предыдущие запросы и соответствующие предыдущие ответы. Например, предыдущая беседа 302 содержит предыдущие запросы 302, 306 и 308 и предыдущие ответы 305, 307 и 309 на предыдущие запросы 304, 306 и 308 соответственно.
[101] Тем не менее, подразумевается, что данные, указывающие на больше число предыдущих бесед, могут храниться в обучающей базе 122 данных вместе с данными, указывающими на предыдущую беседу 302. Следует отметить, что данные, указывающие на предыдущую беседу, могут храниться в текстовом формате. Другими словами, другие коллекции данных, относящиеся к предыдущим запросам и предыдущим ответам, в дополнении к данным, указывающим на предыдущую беседу 302, могут храниться в обучающей базе 122 данных, не выходя за пределы настоящей технологии.
[102] Обучающая база 122 данных может также сохранять оцененную людьми информацию, которая связана с одной или несколькими коллекциями данных, связанных с предыдущими запросами и предыдущими ответами. Как было упомянуто ранее, оцененная людьми информация может предоставляться одним или несколькими людьми-асессорами, которым назначается задача анализа одной или нескольких коллекций данных, относящихся к предыдущим запросам и предыдущим ответам, например, данные, указывающие на предыдущую беседу 302.
[103] В качестве части оцененной людьми информации, обучающая база 122 данных может быть выполнена с возможностью сохранять связи между предыдущими запросами и потенциальными намерениями, которые были определены людьми-асессорами. Например, люди-асессоры могли определить, что:
- предыдущий запрос 304 связан с потенциальным намерением 204;
- предыдущий запрос 306 связан с потенциальным намерением 204; и
- предыдущий запрос 308 связан с потенциальным намерением 206.
[104] Естественно, поскольку каждое из множества потенциальных намерений связано с соответствующей цифровой формой, связи между предыдущими запросами и цифровыми формами также могут храниться в обучающей базе 122 данных. Таким образом, можно сказать, что:
- предыдущий запрос 304 связан с цифровой формой 214.
- предыдущий запрос 306 также связан с цифровой формой 214; и
- предыдущий запрос 308 связан с цифровой формой 216.
[105] Как было упомянуто ранее, каждая цифровая форма связна с соответствующими полями формы, которые обладают параметрами поля, указывающими на типы значений формы, которыми должны заполняться соответствующие поля формы. Таким образом, как часть оцененной людьми информации, обучающая база 122 данных может быть выполнена с возможностью сохранять метки значений формы, связанные с частями предыдущей беседы 302, которые идентифицируют значения форм, которые назначили люди-асессоры, как связанные с параметрами поля цифровых форм, связанных с предыдущей беседой 302.
[106] Например, часть 310 предыдущего запроса 304 оценена как предназначенная для связи с меткой 311 значения формы. Метка 311 значения формы указывает на часть 310, которая представляет собой данное значение формы, которое заполняет поле 224 формы цифровой формы 214, связанной с предыдущим запросом 304. Часть 312 предыдущего запроса 306 оценена как предназначенная для связи с меткой 313 значения формы. Метка 313 значения формы указывает на часть 312, которая представляет собой данное значение формы, которое заполняет поле 224 формы цифровой формы 214, связанной с предыдущим запросом 306. Часть 314 предыдущего ответа 307 оценена как предназначенная для связи с меткой 315 значения формы. Метка 313 значения формы указывает на часть 314, которая представляет собой данное значение формы, которое заполняет поле 226 формы цифровой формы 216, связанной с предыдущим запросом 308. Части 316 и 318 предыдущего запроса 308 оценены как предназначенная для связи с метками 317 и 319 значения формы соответственно. Метки 317 и 319 значения формы указывают на части 316 и 318 соответственно, которые представляет собой данное значение формы, которое заполняет поля 228 и 229 формы соответственно, цифровой формы 216, связанной с предыдущим запросом 308.
[107] Как именно обучаются первый, второй и третий MLA 132, 134 и 136 на основе обучающих данных 300, будет описано далее.
Обучение первого алгоритма машинного обучения
[108] Со ссылкой на Фиг.4, представлено первое обучающее подмножество данных 400, которые сервер 106 может извлекать из обучающих данных 300, хранящихся в обучающей базе 122 данных для обучения первого MLА 132. Первое обучающее подмножество данных 400 включает в себя (i) предыдущие запросы 304, 306 и 308 и (ii) связи с соответствующими потенциальными намерениями, которые были оценены людьми-асессорами. Другими словами, в дополнении с предыдущим запросам 304, 306 и 308, первое обучающее подмножество данных 400 включает в себя (i) связь между предыдущим запросом 304 и потенциальным намерением 204, (ii) связь между предыдущим запросом 306 и потенциальным намерением 204, и (iii) связь между предыдущим запросом 308 и потенциальным намерением 206.
[109] Сервер 106 также выполнен с возможностью создавать первый, второй и третий обучающий объект 404, 406 и 408 для предыдущих запросов 304, 306 и 308 соответственно, на основе первого обучающего подмножества данных 400. Например:
- первый обучающий объект 404 включает в себя (i) предыдущий запрос 304 и (ii) связь между предыдущим запросом 304 и потенциальным намерением 204;
- второй обучающий объект 406 включает в себя (i) предыдущий запрос 306 и (ii) связь между предыдущим запросом 306 и потенциальным намерением 204; и
- третий обучающий объект 408 включает в себя (i) предыдущий запрос 308 и (ii) связь между предыдущим запросом 308 и потенциальным намерением 206.
[110] Сервер 106 выполнен с возможностью вводить первый, второй и третий обучающий объект 404, 406 и 408 в первый MLA 132 для обучения первого MLA 132. Таким образом, можно сказать, что первый MLA 132, в некотором смысле "обучается" связям и/или шаблонах данных между (i) характеристиками предыдущих запросов и (ii) соответственными связанными потенциальными намерениями. Характеристики данного предыдущего запроса могут включать в себя, без установления ограничений: длину данного предыдущего запроса, время ввода данного предыдущего запроса, местоположение пользователя во время ввода данного предыдущего запроса, лексические категории (например, существительное, глагол, прилагательное и так далее) каждого слова из данного предыдущего запроса, грамматические свойства данного предыдущего запроса, семантические свойства данного предыдущего запроса и так далее.
[111] В результате обучения первого MLА 132 на основе первого, второго и третьего обучающего объекта 404, 406 и 408 (и другие потенциальные обучающие объекты для первого MLA 132), причем первый MLA 132 обучается для определения, на основе данного запроса, вероятности того, что данный запрос предназначен для связи с каждым из множества потенциальных намерений 202. Другими словами, на основе данного запроса, первый MLА 132 выполнен с возможностью создавать соответствующий параметр связи с намерением для каждого из множества потенциальных намерений 202, которое указывает на соответствующую вероятность соответствующего одного из множества потенциальных намерений 202, предназначенных для связи с данным запросом.
Обучение второго MLA
[112] На Фиг. 5 представлено второе обучающее подмножество данных 500, которые сервер 106 может извлекать из обучающих данных 300, хранящихся в обучающей базе 122 данных для обучения второго MLA 134. Второе обучающее подмножество данных 500 может включать в себя первое обучающее подмножество данных 300 и данные, указывающие на "последовательные" предыдущие запросы.
[113] В общем случае, данные, указывающие на последовательные предыдущие запросы, указывают на последовательность, в которой предыдущие запросы встречаются в данной предыдущей беседе. Например, в этом случае, данные, указывающие на последовательность предыдущих запросов 304, 306 и 308 в предыдущей беседе 302, указывает на то, что (i) предыдущий запрос 306 является последующим запросом для предыдущего запроса 304 в предыдущей беседе 302 и (ii) предыдущий запрос 308 является последующим запросом для предыдущего запроса 306 в предыдущей беседе 302.
[114] Следовательно, второе обучающее подмножество данных 500 включает в себя (i) предыдущие запросы 304, 306 и 308, (ii) связь между предыдущим запросом 304 и потенциальным намерением 204, (iii) связь между предыдущим запросом 306 и потенциальным намерением 204, (iii) связь между предыдущим запросом 308 и потенциальным намерением 206, (iv) данные, указывающие на то, что предыдущий запрос 306 является последовательным запросом для предыдущего запроса 304 в предыдущей беседе 302 и (v) данные, указывающие на то, что предыдущий запрос 308 является последовательным запросом для предыдущего запроса 306 в предыдущей беседе 302. Подразумевается, что второе обучающее подмножество данных 500 также указывает на последовательность потенциальных намерений, связанных с последующими запросами.
[115] Сервер 106 также выполнен с возможностью создавать четвертый и пятый обучающий объект 504 и 506 для пары последующих предыдущих запросов соответственно, на основе второго обучающего подмножества данных 500. Например:
- четвертый обучающий объект 504 включает в себя (i) первую пару последовательных предыдущих запросов 304 и 306 (ii) связь между предыдущим запросом 304 и потенциальным намерением 204 и (iii) связь между предыдущим запросом 306 и потенциальным намерением 204; и
- пятый обучающий объект 506 включает в себя (i) вторую пару последовательных предыдущих запросов 306 и 308 (ii) связь между предыдущим запросом 306 и потенциальным намерением 204 и (ii) связь между предыдущим запросом 308 и потенциальным намерением 206.
[116] Сервер 106 выполнен с возможностью вводить четвертый и пятый обучающий объект 504 и 506 во второй MLA 134 для обучения второго MLА 134. Таким образом, можно сказать, что второй MLA 134, в некотором смысле, "обучается" связям и/или шаблонам данных между характеристиками предыдущих запросов в соответствующих парах последовательных предыдущих запросов, причем соответствующие связанные потенциальные намерения и переходы или изменения между соответствующими связанными потенциальными намерениями соответствующих пар последовательных предыдущих запросов.
[117] В результате обучения второго MLA 134 на основе четвертого и пятого обучающего объекта 504 и 506 (и других потенциальных обучающих объектов для второго MLA 134), второй MLA 134 обучается определению, на основе данного запроса, вероятности изменения с (i) первого из данной пары последовательных потенциальных намерений первого из соответствующей пары последовательных запросов на (ii) второй из данной пары последовательных потенциальных намерений второго из соответствующей пары последовательных запросов. Другими словами, на основе (i) данной пары последовательных запросов и (ii) данного намерения, связанного с первым из данной пары последовательных запросов, второй MLA 134 выполнен с возможностью создавать соответствующий параметр перехода намерения для каждого из множества потенциальных намерений 202, который указывает на соответствующую вероятность изменения с данного намерения, связанного с первым из данной пары последовательных запросов, на соответствующее одно из множества потенциальных намерений 202.
[118] Подразумевается, что второй MLA 134 может обучаться тому, что некоторые переходы или изменения намерения между предыдущим запросом и данным текущим запросом, крайне маловероятны. Например, второй MLA 134 может обучаться тому, что переход или изменение между намерением "маршрут" и "погода" может быть крайне маловероятным, вне зависимости от пары последовательных запросов.
Обучение третьего MLA
[119] Со ссылкой на Фиг. 6, представлен иллюстративный пример третьего обучающего подмножества данных 600, которые сервер 106 может извлекать из обучающих данных 300, хранящихся в обучающей базе 122 данных для обучения третьего MLA 136. Третье обучающее подмножество данных 600 включает в себя (i) предыдущие запросы и/или предыдущие ответы, которые включают в себя части, которые были оценены как предназначенные для связи с соответствующими метками значений формы и (ii) параметрами поля соответствующих полей формы, которые следует заполнить соответствующими частями соответствующих значений форм.
[120] В этом случае, третье обучающее подмножество данных 600 включает в себя (i) предыдущий запрос 304, обладающий частью 310, которая была оценена как связанная с меткой 311 значения формы, (ii) связь между меткой 311 значения формы и полем 224 формы, связанным с соответствующим параметром поля, (iii) предыдущий запрос 306, обладающий частью 312, которая была оценена как предназначенная для связи с меткой 313 значения формы, (iv) связь между меткой 313 значения формы и полем 224 формы, связанным с соответствующим параметром поля, (v) предыдущий ответ 307, обладающий частью 314, которая была оценена как предназначенная для связи с меткой 315 значения формы, (vi) связь между меткой 315 значения формы и полем 226 формы, связанным с соответствующим параметром поля, (vii) предыдущий запрос 308, обладающий частями 316 и 318, которые были оценены как предназначенные для связи с меткой 317 и 319 значения формы, соответственно, (viii) связь между меткой 317 значения формы и полем 228 формы, связанным с соответствующим параметром поля, и (ix) связь между меткой 319 значения формы и полем 229 формы, связанным с соответствующим параметром поля.
[121] Сервер 106 выполнен с возможностью создавать шестой, седьмой, восьмой и девятый обучающий объект 602, 604, 606 и 608 для соответствующего предыдущего запроса или соответствующего предыдущего ответа, на основе третьего обучающего подмножества данных 600. Например:
- Шестой обучающий объект 602 включает в себя (i) предыдущий запрос 304, обладающий частью 310, которая была оценена как предназначенная для связи с меткой 311 значения формы и (ii) связь между меткой 311 значения формы и полем 224 формы, связанным с соответствующим параметром поля;
- Седьмой обучающий объект 604 включает в себя (i) предыдущий запрос 306, обладающий частью 312, которая была оценена как предназначенная для связи с меткой 313 значения формы и (ii) связь между меткой 313 значения формы и полем 224 формы, связанным с соответствующим параметром поля;
- Восьмой обучающий объект 606 включает в себя (i) предыдущий ответ 307, обладающий частью 314, которая была оценена как предназначенная для связи с меткой 315 значения формы и (ii) связь между меткой 315 значения формы и полем 226 формы, связанным с соответствующим параметром поля; и
- Девятый обучающий объект 608 включает в себя (i) предыдущий запрос 308, обладающий частями 316 и 318, которые была оценены как предназначенные для связи с меткой 317 и 319 значения формы соответственно, (ii) связь между меткой 317 значения формы и полем 228 формы, связанным с соответствующим параметром поля, и (iii) связь между меткой 319 значения формы и полем 229 формы, связанным с соответствующим параметром поля,
[122] Сервер 106 выполнен с возможностью вводить шестой, седьмой, восьмой и девятый обучающий объект 602, 604, 606 и 608 в третий MLA 136 для обучения третьего MLA 136. Таким образом, можно сказать, что третий MLA 136, в некотором смысле, "обучается" связями и/или шаблонам данных между (i) характеристиками предыдущих запросов и/или предыдущих ответов, (ii) характеристиками соответствующих частей, которые были оценены как предназначенные для связи с соответствующими метками значения формы, и (iii) параметрами поля, связанными с соответствующими частями.
[123] Как было упомянуто ранее, после того, как множество MLA 130 было обучено, сервер 106 может быть выполнен с возможностью выполнять множество MLА 130 во время их соответствующих фаз использования, для создания текущего ответа на текущий запрос "А как в Монреале?".
[124] В самом деле, для связи текущего запроса с одним из множества потенциальных намерений 202 (например, определения текущего намерения текущего запроса), сервис 108 IPA может быть выполнен с возможностью использовать первый MLA 130 и второй MLA 134. Для заполнения полей формы данной цифровой формы, связанный с текущим намерением, сервис 108 IPA может быть выполнен с возможностью выполнять третий MLA 136.
Фаза использования первого MLA
[125] Как уже ранее упоминалось, сервис 108 IPA может выполнять первый MLA 132 во время фазы использования для определения соответствующего параметра связи с намерением для каждого из множество потенциальных намерений 202 на основе текущего запроса "А как в Монреале?". На Фиг. 7 представлен иллюстративный пример процедуры 700 обработки связи с намерением, во время которой первый MLA 132 выполняется сервисом 108 IPA.
[126] Во время процедуры 700 обработки связи с намерением, текущий запрос "А как в Монреале?" вводится в (обученный) первый MLA 132, который выводит множество параметров 702 связи с намерением, связанных со множеством потенциальных намерений 202. Можно сказать, что, на основе характеристик текущего запроса, первый MLA 132 может выводить для каждого из множества потенциальных намерений 202 вероятность того, что текущий запрос предназначен для связи с соответствующим одним из множества потенциальных намерений 202. Например:
- параметр 704 связи с намерением указывает на вероятность того, что потенциальное намерение 204 предназначено для связи с текущим запросом;
- параметр 706 связи с намерением указывает на вероятность того, что потенциальное намерение 206 предназначено для связи с текущим запросом;
- параметр 708 связи с намерением указывает на вероятность того, что потенциальное намерение 208 предназначено для связи с текущим запросом;
- параметр 710 связи с намерением указывает на вероятность того, что потенциальное намерение 210 предназначено для связи с текущим запросом; и
- параметр 712 связи с намерением указывает на вероятность того, что потенциальное намерение 212 предназначено для связи с текущим запросом.
[127] Следует отметить, что каждый из множества параметров 702 связи с намерением, указывающий на вероятность того, что соответствующее потенциальное намерение предназначено для связи с текущим запросом, который был определен независимо от предшествующего запроса "Какая погода в Москве?" и от предшествующего намерения "погода" (например, потенциальное намерение 204). Другими словами, параметры 702 связи с намерением указывают на соответствующие вероятности, которые не учитывают предшествующий запрос и предшествующее намерение.
[128] Предполагается, что параметр 708 связи с намерением, связанный с потенциальным намерением 208 "путешествие" выше любого другого среди множества параметров 702 связи с намерением. Это означает, что, без учета предшествующего запроса и предшествующего намерения, текущий запрос "А как в Монреале?" наиболее вероятно предназначен для связи с потенциальным намерением 208 "путешествие". В самом деле, как упоминалось ранее, сам по себе текущий запрос кажется относящимся к точке маршрута.
Фаза использования второго MLA 118
[129] Подразумевается, что после определения параметра 708 связи с намерением, сервис 108 IPA может применять второй MLA 134 во время его фазы использования для определения соответствующего параметра перехода намерения для каждого из множества потенциальных намерений 202 на основе (i) предшествующего запроса (ii) предшествующего намерения и (iii) текущего запроса. На Фиг. 7 представлен иллюстративный пример процедуры 750 обработки перехода намерения, во время которой второй MLA 134 выполняется сервисом 108 IPA.
[130] Во время процедуры 750 обработки перехода намерения, предшествующий запрос (i) "Какая погода в Москве?", (ii) предшествующее намерение является потенциальным намерением 204 "погода" и (iii) текущий запрос "А как в Монреале?" вводится в (обученный) второй MLA 134, который выводит множество параметров 752 перехода намерения, связанных со множеством потенциальных намерений 202. Можно сказать, что на основе (i) характеристик запросов пары последовательных запросов, содержащих предшествующий запрос и текущий запрос и (ii) предшествующее намерение, второй MLA 134 может выводить, для каждого из множества потенциальных намерений 202, вероятность изменения с предшествующего намерения "погода" предшествующего запроса на соответствующий один из множества потенциальных намерений 202 для текущего запроса. Например:
- параметр 754 перехода намерения указывает на вероятность изменения с предшествующего намерения "погода" предшествующего запроса на потенциальное намерение 204 на текущий запрос (в этом случае, он указывает на вероятность того, что предыдущее намерение и текущее намерение являются одинаковыми, и не происходили никакие изменения между предыдущими и текущими намерениями);
- параметр 756 перехода намерения указывает на вероятность изменения с предшествующего намерения "погода" предшествующего запроса на потенциальное намерение 206 для текущего запроса;
- параметр 758 перехода намерения указывает на вероятность изменения с предшествующего намерения "погода" предшествующего запроса на потенциальное намерение 208 для текущего запроса;
- параметр 760 перехода намерения указывает на вероятность изменения с предшествующего намерения "погода" предшествующего запроса на потенциальное намерение 210 для текущего запроса; и
- параметр 762 перехода намерения указывает на вероятность изменения с предшествующего намерения "погода" предшествующего запроса на потенциальное намерение 212 для текущего запроса.
[131] Для простоты иллюстрации, если параметр 756 перехода намерения, связанный с потенциальным намерением 204 "маршрут" выше, чем любой другой из множества параметров 752 перехода намерения, что означает, с учетом предшествующего запроса, предшествующего намерению текущего запроса, предшествующее намерение "погода" наиболее вероятно изменилось на намерение "маршрут" для текущего запроса.
[132] Тем не менее, предполагается, что параметр 754 перехода намерения, связанный с потенциальным намерением 204 "погода" выше любого другого среди множества параметров 752 перехода намерения. Это означает, что, с учетом предшествующего запроса, предшествующего намерения и текущего запроса, предшествующее намерение "погода" наиболее вероятно не изменилось для текущего запроса, и что текущее намерение наиболее вероятно будет тем же самым, что и предыдущее намерение.
[133] В общем, каждое из множества потенциальных намерений 202 связано с соответствующим параметров связи с намерением и (ii) соответствующего параметра перехода намерения. Подразумевается, что сервер 106 может быть выполнен с возможностью уточнять соответствующие параметры связи с намерением множества потенциальных намерений 202 с помощью соответствующих параметров перехода намерения. На Фиг. 7 представлен иллюстративный пример процедуры 780 уточнения связи с намерением, во время которого сервер 106, размещающий сервис 108 IPA, выполнен с возможностью настраивать множество параметров 702 связи с намерением с помощью множества параметров перехода намерения.
[134] Во время процедуры 780 настройки связи с намерением, сервер 106 выполнен с возможностью определять множество уточненных параметров 782 связи с намерением для множества потенциальных намерений 202. Сервер 106 может определять соответствующего уточненного параметра связи с намерением для каждого из множества потенциальных намерений 202 как результата умножения соответствующего параметра связи с намерением и соответствующего параметра перехода намерения. Например, сервер 106 может определять:
- уточненный параметр 784 связи с намерением для потенциального намерения 204 путем умножения параметра 704 связи с намерением и параметра 754 перехода намерения;
- уточненный параметр 786 связи с намерением для потенциального намерения 206 путем умножения параметра 706 связи с намерением и параметра 756 перехода намерения;
- уточненный параметр 788 связи с намерением для потенциального намерения 208 путем умножения параметра 708 связи с намерением и параметра 758 перехода намерения;
- уточненный параметр 790 связи с намерением для потенциального намерения 210 путем умножения параметра 710 связи с намерением и параметра 760 перехода намерения; и
- уточненный параметр 784 связи с намерением для потенциального намерения 212 путем умножения параметра 712 связи с намерением и параметра 762 перехода намерения.
[135] Предполагается, что уточненный параметр 784 связи с намерением выше любого другого среди множества уточненных параметров 782 связи с намерением. В некоторых вариантах осуществления настоящей технологии, сервис 108 IPA может быть выполнен с возможностью выбирать потенциальное намерение 204, связанное с уточненным параметром 784 связи с намерением, как текущее намерение текущего запроса.
Фаза использования третьего MLA
[136] Как уже ранее упоминалось, после того, как текущее намерение текущего запроса была выбрано, сервис 108 IPA может выполнять третий MLA 136 во время его фазы использования для заполнения данной цифровой формы, связанной с текущим намерением. Таким образом, в этом случае сервис 108 IPА может извлекать цифровую форму 214 (см. Фиг. 2), связанную с потенциальным намерением 204, которое выбирается как текущее намерение для текущего запроса, из базы 120 данных разработки (см. Фиг. 1).
[137] Сервер 106 может вводить данные, указывающие на беседу 150, и параметр поля 224 формы, связанный с цифровой формой 214, в (обученный) третий MLA 136, который, в ответ, может связывать части данных, указывающие на беседу 150, с параметром поля 224 формы. В этом случае, третий MLA 136 может связывать часть "Монреаль" из текущего запроса с параметров поля 224 формы, поскольку поле 224 формы необходимо заполнить данным значением формы, которое относится к типу "местоположение", и "Монреаль" является конкретным местоположением.
[138] В результате, сервер 106 может заполнять поле 224 цифровой формы 214, связанное с потенциальным намерением 204 "погода", которое выбирается как текущее намерение. Сервис 108 IPA может выполнять таким образом заполненную цифровую форму 214 для создания текущего зависящего от намерения ответа "Температура в Монреале -15 градусов Цельсия, солнечно" для текущего запроса "А как в Монреале?".
[139] В некоторых вариантах осуществления настоящей технологии, сервер 106 может создавать пакет 182 данных (показано на Фиг. 1), содержащий данные, указывающие на текущий зависящий от намерения ответ, и может передавать их устройству 104 через сеть 110 передачи данных. При получении пакета 182 данных, устройство 104 создает, на основе данных, указывающий на текущий зависящий от намерение ответ, звуковое указание 154 (например, "произнесенное высказывание" приложения 105 IPA) и предоставляет или воспроизводит его пользователю 102.
[140] В некоторых вариантах осуществления настоящей технологии, со ссылкой на Фиг. 8, сервер 106 может быть выполнен с возможностью выполнять способ 800 определения текущего намерения, связанного с текущим запросом пользователя 102 для создания текущего зависящего от намерения ответа, связанного с текущим намерением для текущего запроса. Несмотря на то, что способ 800 может выполнять сервером 106, подразумевается, что в других вариантах осуществления настоящей технологии, другое компьютерное устройство, например, устройство 104 может быть выполнено с возможностью выполнять по меньшей мере некоторые этапы способа 800, аналогично тому, как сервер 106 выполнен с возможностью выполнять по меньшей мере некоторые этапы способа 800. Способ 800 будет более подробно описан ниже.
ЭТАП 802: Получение текущего запроса и предыдущего намерения
[141] Способ 800 начинается на этапе 802, где сервер 106 получает текущий запрос устройства и предшествующее намерение. Например, как показано на Фиг. 1, сервер 106 может получать пакет 180 данных от устройства 104 по сети 110 передачи данных.
[142] Пакет 180 данных содержит данные, указывающие на текущий запрос. Устройство 104 может быть выполнено с возможностью создавать пакет 180 данных, который включает в себя данные, указывающие на беседу 150, например, данные, указывающие на (i) предшествующий запрос, (ii) первый зависящий от контекста ответ и (iii) текущий запрос. В другом варианте осуществления, пакет 180 данных может далее включать в себя данные, указывающие на намерение предшествующего запроса (например, "погода").
[143] Подразумевается, что поскольку сервис 108 IPA может быть определен ранее, до получения пакета 180 данных, предшествующее намерение для предшествующего запроса, и поскольку сервер 106 может ранее сохранять, до получения пакета 180 данных, предшествующее намерение в базу 124 данных обработки, сервер 106 может получать предшествующее намерение из базы 124 данных обработки.
[144] Как было ранее упомянуто, могут создаваться по меньшей мере один текущий запрос и предшествующий запрос с помощью пользовательского интерфейса на естественном языке приложения 105 IPA, на основе произнесенных высказываний пользователя 102 (например, звуковых указаний 152 и 156).
ЭТАП 804: Определение соответствующего параметра связи с намерением для каждого из множества потенциальных намерений
[145] Способ 800 продолжается на этапе 804, где сервер 106 выполнен с возможностью определять соответствующий параметр связи с намерением для каждого из множество потенциальных намерений 202 (см. Фиг. 2) на основе текущего запроса.
[146] Для этого, сервер 106, размещающий приложение 105 IPA, может быть выполнен с возможностью выполнять первый MLA 132. Со ссылкой на Фиг. 3, первый MLA 132 может быть обучен на основе по меньшей мере некоторых обучающих данных 300, хранящихся в обучающей базе 122 данных.
[147] В некоторых вариантах осуществления настоящей технологии, со ссылкой на Фиг. 4, сервер 106 может быть выполнен с возможностью извлекать первое обучающее подмножество данных 400 из обучающих данных 300. В других вариантах осуществления настоящей технологии, первое обучающее подмножество данных 400 может быть извлечено и сохранено в базе 124 данных обработки до фазы обучения первого MLA 132.
[148] Первый MLА 132 может быть обучен сервером 106 на основе (i) предыдущих запросов 304, 306 и 308 и (ii) соответствующих связанных потенциальных намерений 204, 204 и 206, где каждый из предыдущих запросов 304, 306 и 308 был связан с данным из множества потенциальных намерений с помощью человека-асессора и/или оператора сервера 106.
[149] Во время фазы использования первого MLA 132, сервер 106 может быть выполнен с возможностью определять множество параметров 702 связи с намерением (см. Фиг. 7) на основе текущего запроса, где соответствующий один из множества параметров 702 связи с намерением, связан с соответствующим одним из множества потенциальных намерений 202. Данный параметр связи с намерением указывает на вероятность связи текущего запроса с соответствующим одним из множества потенциальных намерений 202.
[150] Следует отметить, что каждый из множества параметров 702 связи с намерением, указывающий на вероятность того, что соответствующее потенциальное намерение предназначено для связи с текущим запросом, который был определен независимо от предшествующего запроса "Какая погода в Москве?" и от предшествующего намерения "погода" (например, потенциальное намерение 204). Другими словами, параметры 702 связи с намерением указывают на соответствующие вероятности, которые не учитывают предшествующий запрос и предшествующее намерение.
[151] Подразумевается, что множество параметров 702 связи с намерением может храниться в базе 124 данных обработки в связи с текущим запросом и соответствующим одним из множества потенциальных намерений 202.
ЭТАП 806: Определение соответствующего параметра перехода намерения для каждого из множества потенциальных намерений
[152] Способ 800 продолжается на этапе 804, где сервер 106 выполнен с возможностью определять соответствующий параметр перехода намерения для каждого из множества потенциальных намерений 202 (см. Фиг. 2).
[153] В некоторых вариантах осуществления настоящего технического решения, сервер 106 может применять второй MLA 134. Со ссылкой на Фиг 3, второй MLA 134 может быть обучен на основе по меньшей мере некоторых обучающих данных 300, хранящихся в обучающей базе 122 данных.
[154] Со ссылкой на Фиг. 5, сервер 106 может быть выполнен с возможностью извлекать второе обучающее подмножество данных 500 из обучающих данных 300. В других вариантах осуществления настоящей технологии, второе обучающее подмножество данных 500 может быть извлечено и сохранено в базе 124 данных обработки до фазы обучения второго MLА 134.
[155] Второй MLA 134 может быть обучен на основе (i) пары последовательных предыдущих запросов и (ii) пары последовательных потенциальных намерений, соответственно связанных с парами последовательных предыдущих запросов. Каждая пара последовательных потенциальных намерений может быть связана с соответствующей парой последовательных предыдущих запросов человеком-асессором и/или оператором сервера 106.
[156] Во время фазы использования второго MLA 134, сервер 106 может быть выполнен с возможностью определять множество параметров 752 перехода намерения (см. Фиг. 7) на основе (i) предшествующего запроса, (ii) предшествующего намерения и (iii) текущего запроса, где соответствующий один из множества параметров 752 перехода намерения, связан с соответствующим одним из множества потенциальных намерений 202. Каждый из параметров 752 перехода намерения указывает на соответствующую вероятность изменения с предшествующего намерения "погода" предшествующего запроса на соответствующее одно из множества потенциальных намерений 202 для текущего запроса.
[157] В альтернативных вариантах осуществления технологии, подразумевается, что множество параметров 752 перехода намерений может быть определено сервером 106, выполняющим эвристическую процедуру вместо применения второго MLA 134. Например, база 120 данных разработки может дополнительно сохранять таблицу перехода намерения (не показано), которая содержит соответствующий заранее определенный параметр перехода намерения для каждой возможной пары потенциальных намерений из множества потенциальных намерений 202. Таким образом, эвристическая процедура, выполняемая сервером 106, может использовать множество правил, заранее определенных оператором сервера 106 для извлечения подходящих заранее определенных параметров перехода намерения из таблицы перехода намерения. Например, подразумевается, что некоторые параметры перехода намерения могут быть 0 (невозможно) или 1 (возможно). Альтернативно, подразумевается, что некоторые параметры перехода намерения могут находиться на шкале от 0 (невозможно) до 1 (высокая вероятность).
[158] Подразумевается, что множество параметров 702 перехода намерения может храниться в базе 124 данных обработки в связи с текущим запросом и соответствующим одним из множества потенциальных намерений 202.
ЭТАП 810: Определение соответствующего уточненного параметра связи с намерением для каждого из множества потенциальных намерений
[159] Способ 800 продолжается на этапе 810, где сервер 106 выполнен с возможностью определять соответствующий уточненный параметр связи с намерением для каждого из множества потенциальных намерений 202 (см. Фиг. 2).
[160] Для этого сервер 106 может быть выполнен с возможностью выполнять процедуру 780 уточнения связи с намерением. Во время выполнения процедуры 780 настройки связи с намерением, сервер 106 выполнен с возможностью определять множество уточненных параметров 782 связи с намерением для множества потенциальных намерений 202. Сервер 106 может определять соответствующего уточненного параметра связи с намерением для каждого из множества потенциальных намерений 202 как результата умножения соответствующего параметра связи с намерением и соответствующего параметра перехода намерения.
[161] В некоторых вариантах осуществления настоящей технологии, сервер 106 может быть выполнен с возможностью создавать ранжированное множество потенциальных намерений (не показано), включая каждое из множества потенциальных намерений 202, ранжированных на основе соответствующих из множества уточненных параметров 782 связи с намерением.
[162] В других вариантах осуществления настоящей технологии, сервер 106 может быть выполнен с возможностью осуществлять сравнение каждого уточненного параметра 782 перехода намерения с порогом значимости связи. В ответ на то, что каждый из множества уточненных параметров связи с намерением находится ниже порога значимости связи, сервер 106 может создавать резервный ответ для текущего запроса вместо текущего зависящего от намерения ответа. Порог значимости связи и резервный ответ может быть определен заранее оператором сервера 106.
[163] Подразумевается, что множество уточненных параметров 782 связи с намерением и/или ранжированное множество уточненных параметров связи с намерением может храниться в базе 124 данных обработки в связи с текущим запросом и соответствующим одним из множества потенциальных намерений 202.
ЭТАП 812: Выбор одного из множества потенциальных намерений в качестве текущего намерения на основе уточненных параметров связи с намерением
[164] Способ 800 завершается на этапе 812, где сервер 106 выполнен с возможностью выбирать одно из множества потенциальных намерений 202 (см. Фиг. 2) в качестве текущего намерения для текущего запроса на основе множества уточненных параметров 782 связи с намерением. В некоторых вариантах осуществления настоящей технологии, сервер 106 может выбирать верхнее ранжированное потенциальное намерение в ранжированном множестве потенциальных намерений в качестве текущего намерения. Подразумевается, что текущее намерение, выбранное сервером 106, может храниться в базе 124 данных обработки в связи с текущим запросом.
[165] В некоторых вариантах осуществления настоящей технологии, сервер 106 может получать данную цифровую форму, связанную с текущим намерением из базы 120 данных разработки.
[166] Сервер 106 может также быть выполнен с возможностью связывать данное значение формы из текущего запроса с данным полем формы данной цифровой формы. В некоторых вариантах осуществления настоящей технологии, сервер 106 может также быть выполнен с возможностью связывать другое данное значение формы из предшествующего запроса с другим данным полем формы данной цифровой формы. Для этого сервер 106 может применять третий MLА 136.
[167] Со ссылкой на Фиг. 3, третий MLA 136 может быть обучен на основе по меньшей мере некоторых обучающих данных 300, хранящихся в обучающей базе 122 данных.
[168] Со ссылкой на Фиг. 6, сервер 106 может быть выполнен с возможностью извлекать третье обучающее подмножество данных 600 из обучающих данных 300. В других вариантах осуществления настоящей технологии, третье обучающее подмножество данных 600 может быть извлечено и сохранено в базе 124 данных обработки до фазы обучения третьего MLА 136.
[169] Третий MLA 136 может быть обучен на основе (i) параметров полей формы цифровой формы, соответственно связанных со множеством потенциальных намерений 202 (см. Фиг. 2), (ii) предыдущих запросов и/или предыдущих ответов и (iii) значений формы (частей) из предыдущих запросов, связанных с параметрами поля. Значения форм (части) из предыдущих запросов и/или предыдущих ответов могли быть связаны с параметрами поля цифровых форм людьми-асессорами.
[170] Во время фазы использования третьего MLA 136, сервер 106 может быть выполнен с возможностью связывать значения формы (части) из текущего запроса и/или предшествующего запроса и/или зависящего от намерения ответа на предшествующий запрос с параметрами поля и полями цифровой формы, связанными с текущим намерением, для заполнения соответствующих полей формы. Сервер 106 может выполнять поля цифровой формы, связанные с текущим намерением с соответствующими связанными значениями формы. Путем использования таким образом заполненной цифровой формы, сервер может создавать текущий зависящий от намерения ответа на текущий запрос.
[171] Как было упомянуто ранее, данная цифровая форма может включать в себя обязательные поля формы и дополнительные обязательные поля формы. Сервер 106 может создавать текущий зависящий от намерения ответ путем выполнения цифровой формы, связанной с текущим намерением, только если все обязательные поля формы цифровой формы, связанные с текущим намерением, связаны с соответствующими значениями формы.
[172] В некоторых вариантах осуществления настоящей технологии, если третий MLA 136 не связывает данное значение формы (части) из текущего запроса и/или предшествующего запроса и/или зависящего от намерения ответа на предшествующий запрос с данным обязательным полем формы цифровой формы, связанной с текущим намерением, причем сервер 106 может быть выполнен с возможностью заполнять данное обязательное поле формы данными, извлеченными из других источников. Например, если третий MLA 136 не связывает данное значение формы (части) из текущего запроса и/или предшествующего запроса и/или зависящего от намерения ответа на предшествующий запрос с данным обязательным полем формы цифровой формы, связанной с текущим намерением, причем сервер 106 может извлекать значения форм по умолчанию из других источников, например, без установления ограничений, устройства 104, сервера 106, других веб-сервисов, доступных через сеть 110 передачи данных и так далее. Если поле формы необходимо заполнить данным значением формы типа "местоположение", сервер 106 может извлекать данное значение формы по умолчанию как местоположение по GPS устройства 104 и заполнять им данное поле формы. Аналогично, если поле формы необходимо заполнить данным значением формы типа "время", сервер 106 может извлекать значение формы по умолчанию как время, когда текущий запрос был введен пользователем 102, и заполнять им данное поле формы.
[173] Модификации и улучшения вышеописанных вариантов осуществления настоящей технологии будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не устанавливает никаких ограничений. Таким образом, объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.
Изобретение относится к средствам определения текущего намерения, связанного с текущим запросом для создания зависящего от намерения ответа, связанного с текущим намерением. Технический результат заключается в повышении точности ответа на пользовательский запрос. Пользователь связан с текущим и предыдущим запросом, который связан с предыдущим намерением. Получают текущий запрос и предыдущее намерение. Определяют соответствующий параметр связи с намерением для каждого из множества потенциальных намерений на основе текущего запроса. Определяют соответствующий параметр перехода намерения для каждого из множества потенциальных намерений; определение соответствующего уточненного параметра связи с намерением для каждого из множества потенциальных намерений в виде результата умножения соответствующего параметра связи с намерением и соответствующего параметра перехода намерения. Выбирают один из множества потенциальных намерений в виде текущего намерения на основе уточненных параметров связи с намерением. 2 н. и 18 з.п. ф-лы. 8 ил.
1. Способ определения текущего намерения, связанного с текущим намерением пользователя, для создания зависящего от намерения запроса, связанного с текущим намерением для текущего запроса, причем пользователь связан с текущим запросом и предыдущим запросом, и предыдущий запрос связан с предыдущим намерением, причем текущее и предыдущее намерения находятся среди множества потенциальных намерений, причем способ выполняется сервером и включает в себя:
получение сервером текущего запроса и предыдущего запроса;
определение сервером соответствующего параметра связи с намерением для каждого из множества потенциальных намерений на основе текущего запроса, причем данный параметр связи с намерением указывает на вероятность того, что текущий запрос связан с соответствующим одним из множества потенциальных намерений;
определение сервером соответствующего параметра перехода намерения для каждого из множества потенциальных намерений, причем данный параметр перехода намерения указывает на вероятность изменения предыдущего намерения на соответствующее намерение из множества потенциальных намерений;
определение сервером соответствующего уточненного параметра связи с намерением для каждого из множества потенциальных намерений как результата умножения соответствующего параметра связи с намерением и соответствующего параметра перехода намерения; и
выбор сервером одного из множества потенциальных намерений в качестве текущего намерения на основе уточненных параметров связи с намерением.
2. Способ по п. 1, в котором определение параметров связи с намерением выполняется первым алгоритмом машинного обучения (MLA), который был обучен:
на основе предыдущих запросов и соответствующих связанных потенциальных намерений; и
для определения вероятности того, что данный запрос будет связан с данным из множества потенциальных намерений,
каждый из предыдущих запросов связан с данным одним из множества потенциальных намерений человеком-асессором.
3. Способ по п. 1, в котором определение параметров перехода намерения выполняется эвристической процедурой, причем множество правил, используемых эвристической процедурой, было определено заранее оператором.
4. Способ по п. 1, в котором определение параметров перехода намерения выполняется вторым MLA, который был обучен:
на основе пары последовательных предыдущих запросов и пары последовательных потенциальных намерений, соответственно связанных с парами последовательных предыдущих запросов; и
для определения вероятности изменения с первого из данной пары последовательных потенциальных намерений из первой соответствующей пары последовательных запросов на второе из данной пары последовательных потенциальных намерений из второй из соответствующей пары последовательных запросов,
каждая пара последовательных потенциальных намерений была связана с соответствующей парой последовательных предыдущих запросов человеком-асессором.
5. Способ по п. 1, в котором способ далее включает в себя создание сервером ранжированного множества потенциальных намерений, включая каждое из множества потенциальных намерений, ранжированных на основе соответствующего уточненного параметра связи с намерением, и в котором
выбор одного из множества потенциальных намерений в качестве текущего намерения включает в себя выбор сервером верхнего ранжированного потенциального из ранжированного множества потенциальных намерений в качестве текущего намерения.
6. Способ по п. 1, в котором способ далее включает в себя сравнение сервером каждого уточненного параметра связи с намерением с порогом значимости связи, причем порог значимости связи определен оператором сервера, и в котором
в ответ на то, что каждый уточненный параметр связи с намерением находится ниже порога значимости связи, создание сервером резервного ответа для текущего запроса вместо зависящего от намерения ответа.
7. Способ по п. 1, в котором каждое из множества потенциальных намерений связано с соответствующей цифровой формой для создания соответствующего зависящего от намерения ответа, связанного с соответствующим потенциальным намерением, причем каждая цифровая форма включает в себя поля формы, связанные с соответствующими параметрами поля.
8. Способ по п. 7, в котором способ далее включает в себя связыванием сервером данного значения формы из текущего запроса с данным полем формы данной цифровой формы, причем данная цифровая форма связана с текущим намерением.
9. Способ по п. 8, в котором данная цифровая форма включает в себя по меньшей мере одно обязательное поле формы, связанное с соответствующим параметром поля, и в котором соответствующий зависящий от намерения ответ создается только если все из по меньшей мере одного обязательного поля формы связаны с соответствующими значениями форм.
10. Способ по п. 8, в котором связывание данного значения формы выполняется третьим MLA, который был обучен:
на основе параметров поля, связанных с полями формы цифровых форм, предыдущих запросов и значений форм из предыдущих запросов, связанных с параметрами полей; и
для связи значений формы из запросов с параметрами поля цифровых форм значения форм из предыдущих запросов были связаны с параметрами поля цифровых форм человеком-асессором.
11. Способ по п. 1, в котором создается по меньшей мере один текущий запрос и предыдущий запрос с помощью пользовательского интерфейса на естественном языке приложения умного цифрового помощника (IPA) на основе произнесенных вслух высказываний пользователя.
12. Способ по п. 1, в котором зависящий от намерения ответ является произнесенным высказыванием для пользователя, созданным с помощью пользовательского интерфейса на естественном языке приложения умного цифрового помощника (IPA).
13. Компьютерное устройство для определения текущего намерения, связанного с текущим намерением пользователя для создания зависящего от намерения запроса, связанного с текущим намерением для текущего запроса, причем пользователь связан с текущим запросом и предыдущим запросом, и предыдущий запрос связан с предыдущим намерением, причем текущее и предыдущее намерения находятся среди множества потенциальных намерений, причем компьютерное устройство выполнено с возможностью осуществлять:
получение текущего запроса и предыдущего запроса;
определение соответствующего параметра связи с намерением для каждого из множества потенциальных намерений на основе текущего запроса, причем данный параметр связи с намерением указывает на вероятность того, что текущий запрос связан с соответствующим одним из множества потенциальных намерений;
определение соответствующего параметра перехода намерения для каждого из множества потенциальных намерений на основе текущего запроса, причем данный параметр перехода намерения указывает на вероятность того, что текущий запрос связан с соответствующим одним из множества потенциальных намерений;
определение соответствующего уточненного параметра связи с намерением для каждого из множества потенциальных намерений как результата умножения соответствующего параметра связи с намерением и соответствующего параметра перехода намерения; и
выбор одного из множества потенциальных намерений в качестве текущего намерения на основе уточненных параметров связи с намерением.
14. Компьютерное устройство по п. 13, которое выполнено с возможностью определять параметр связи с намерением путем выполнения первым алгоритмом машинного обучения (MLA), который был обучен:
на основе предыдущих запросов и соответствующих связанных потенциальных намерений; и
для определения вероятности того, что данный запрос будет связан с данным из множества потенциальных намерений,
каждый из предыдущих запросов связан с данным одним из множества потенциальных намерений человеком-асессором.
15. Компьютерное устройство по п. 13, которое выполнено с возможностью определять параметры перехода намерения путем выполнения эвристической процедуры, причем множество правил, используемых эвристической процедурой, было определено заранее оператором.
16. Компьютерное устройство по п. 13, которое выполнено с возможностью определять параметр перехода намерения путем выполнения вторым MLA, который был обучен:
на основе пары последовательных предыдущих запросов и (ii) пары последовательных потенциальных намерений, соответственно связанных с парами последовательных предыдущих запросов; и
для определения вероятности изменения с первого из данной пары последовательных потенциальных намерений из первой соответствующей пары последовательных запросов на второе из данной пары последовательных потенциальных намерений из второй из соответствующей пары последовательных запросов,
каждая пара последовательных потенциальных намерений была связана с соответствующей парой последовательных предыдущих запросов человеком-асессором.
17. Компьютерное устройство по п. 13, в котором компьютерное устройство далее выполнено с возможностью осуществлять создание сервером ранжированного множества потенциальных намерений, включая каждое из множества потенциальных намерений, ранжированных на основе соответствующего уточненного параметра связи с намерением, и в котором
компьютерное устройство выполнено с возможностью осуществлять выбор одного из множества потенциальных намерений в качестве текущего намерения, включает в себя компьютерное устройство, выполненное с возможностью осуществлять выбор сервером верхнего ранжированного потенциального из ранжированного множества потенциальных намерений в качестве текущего намерения.
18. Компьютерное устройство по п. 13, в котором компьютерное устройство выполнено с возможностью осуществлять сравнение сервером каждого уточненного параметра связи с намерением с порогом значимости связи, причем порог значимости связи определен оператором сервера, и в котором
в ответ на то, что каждый уточненный параметр связи с намерением находится ниже порога значимости связи, компьютерное устройство далее выполнено с возможностью осуществлять создание резервного ответа для текущего запроса вместо зависящего от намерения ответа.
19. Компьютерное устройство по п. 13, в котором каждое из множества потенциальных намерений связано с соответствующей цифровой формой для создания соответствующего зависящего от намерения ответа, связанного с соответствующим потенциальным намерением, причем каждая цифровая форма включает в себя поля формы, связанные с соответствующими параметрами поля.
20. Компьютерное устройство по п. 13, в котором компьютерное устройство далее выполнено с возможностью осуществлять связывание данного значения формы из текущего запроса с данным полем формы данной цифровой формы, причем данная цифровая форма связана с текущим намерением.
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса | 1924 |
|
SU2015A1 |
Способ приготовления лака | 1924 |
|
SU2011A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
СИСТЕМА, СПОСОБ И ИНТЕРФЕЙС ДЛЯ ОБЕСПЕЧЕНИЯ ПЕРСОНАЛИЗИРОВАННОГО ПОИСКА И ДОСТУПА К ИНФОРМАЦИИ | 2005 |
|
RU2419858C2 |
Авторы
Даты
2020-01-15—Публикация
2017-12-27—Подача