СПОСОБ И ЭЛЕКТРОННОЕ УСТРОЙСТВО ОБРАБОТКИ ГОЛОСОВОГО ВЫСКАЗЫВАНИЯ
METHOD AND ELECTRONIC DEVICE FOR PROCESSING VOICE UTTERANCE

Область техники, к которой относится изобретение
[01] Настоящая технология относится к системам интеллектуальных персональных помощников, и более конкретно к способам и электронным устройствам для обработки голосового высказывания.
Уровень техники
[02] Электронные устройства, такие как смартфоны и планшетные компьютеры, способны осуществлять доступ к возрастающему и разнообразному количеству приложений и служб обработки и/или доступа к различным видам информации.
[03] Однако начинающие пользователи и/или пользователи с ограниченными возможностями и/или пользователи, управляющие транспортным средством, могут быть не в состоянии эффективно взаимодействовать с такими устройствами, главным образом из-за разнообразия функций, обеспечиваемых этими устройствами, или неспособности использовать человеко-машинные интерфейсы, предусматриваемые такими устройствами (например, клавиатуру). Например, пользователь, который управляет транспортным средством, или пользователь с нарушениями зрения может быть не способен использовать сенсорную экранную клавиатуру, связанную с некоторыми из этих устройств. В дополнение к вышеупомянутым ситуациям, в которых пользователь не способен эффективно взаимодействовать с устройством через сенсорные интерфейсы, на рынке появляется множество устройств «громкой связи», которыми можно управлять посредством голосовых команд.
[04] Системы интеллектуальных персональных помощников (IPA) реализованы на некоторых устройствах и были разработаны для выполнения задач в ответ на голосовые команды пользователя. Например, системы IPA могут использоваться для поиска информации и/или навигации. Традиционная система IPA, такая как, например, система IPA Siri, может принимать цифровой аудиосигнал, содержащий высказывание пользователя, и выполнять в ответ на него широкий спектр задач. Например, система IPA может быть выполнена с возможностью анализа цифрового аудиосигнала для распознавания речи пользователя, которая может указывать голосовую команду, произносимую пользователем.
[05] Обычные системы IPA в основном ориентированы на извлечение текстовых данных (распознавание речи) из цифрового аудиосигнала, их обработку для понимания намерений пользователя и выполнение задач в ответ на них. Например, система IPA может извлекать текстовое представление высказывания пользователя из цифрового аудиосигнала и может пытаться идентифицировать намерение пользователя на основании этого текстового представления. Если намерение пользователя идентифицировано, система IPA выполняет действие(я), связанное с этим намерением, такое как выдача пользователю текущей погоды или местоположения ближайшего торгового центра, запуск приложения и тому подобное.
[06] Однако идентификация намерений пользователя на основании текста представляет собой нетривиальную задачу для обычных систем IPA. Отчасти это связано с большим разнообразием потенциальных представлений, с которыми может быть необходимо столкнуться системе IPA при ее работе. По этой причине обычные системы IPA часто не могут определить намерение пользователя и не могут выполнить соответствующее действие.
[07] Публикация заявки на патент США № 2019/0325864, озаглавленной «AUTOMATED ASSISTANTS THAT ACCOMMODATE MULTIPLE AGE GROUPS AND/OR VOCABULARY LEVELS», опубликованной 24 октября 2019 г., раскрывает способы, позволяющие автоматическому помощнику корректировать свое поведение в зависимости от обнаруженного возрастного диапазона и/или «уровня словарного запаса» пользователя, взаимодействующего с автоматическим помощником. В различных реализациях данные, указывающие на высказывание пользователя, могут использоваться для оценки одного или более из возрастного диапазона пользователя и/или уровня словарного запаса. Предполагаемый возрастной диапазон/уровень словарного запаса может использоваться для влияния на различные аспекты конвейера обработки данных, используемого автоматическим помощником. В различных реализациях аспекты конвейера обработки данных, на которые может влиять возрастной диапазон/уровень словарного запаса пользователя, могут включать в себя одно или более из автоматического вызова помощника, преобразования речи в текст («STT»), сопоставления намерений, различения (или выполнения) намерений, формирования естественного языка и/или преобразования текста в речь («TTS»). В некоторых реализациях могут регулироваться одно или более пороговых значений допусков, связанных с одним или более из этих аспектов, таких как грамматические допуски, словарные допуски и т.д.
Раскрытие изобретения
[08] Разработчики настоящей технологии определили некоторые технические недостатки, связанные с существующими системами IPA. Обычные системы IPA часто не могут точно идентифицировать намерение пользователя на основании текстового представления высказывания и, следовательно, не могут выполнить соответствующее действие для удовлетворения намерения пользователя.
[09] Разработчики настоящей технологии разработали систему, в которой намерение пользователя подлежит идентификации посредством процесса сопоставления между текстовыми данными и множеством «грамматик». В общем случае, определенная грамматика связана с одним или более действиями, которые должны выполняться системой, если данная грамматика соответствует текстовым данным. В контексте настоящей технологии данные, указывающие на определенную грамматику с соответствующими одним или более действиями, могут быть названы в некотором смысле «навыком», который система IPA может использовать для удовлетворения намерений пользователя.
[10] Следует отметить, что определение намерения пользователя представляет собой нетривиальную задачу, поскольку система часто может не найти соответствия между текстовыми данными и их грамматиками. Это связано с большим разнообразием текстовых данных, с которыми система может столкнуться при использовании, и большим разнообразием навыков, которыми должна обладать обычная система IPA, чтобы быть конкурентоспособной среди других на рынке.
[11] В контексте настоящей технологии, если системе IPA не удается сопоставить текстовые данные с грамматикой, даже если она обладает соответствующими навыками для удовлетворения намерений пользователя, можно сказать, что система IPA выполнила «ложноотрицательное» событие, поскольку система IPA ошибочно определила, что она не обладает соответствующим навыком для удовлетворения намерений пользователя.
[12] Разработчики настоящей технологии разработали способы и системы, которые могут позволить уменьшить количество ложноотрицательных событий, которые происходят во время выполнения. По меньшей мере в некоторых вариантах осуществления настоящей технологии система выполнена с возможностью формирования «структуры графа» на основании текстового представления, извлеченного из цифрового аудиосигнала. Текстовое представление может быть извлечено посредством механизма автоматического распознавания речи (ASR).
[13] В общем случае, структура графа имеет узлы и ребра, и при этом разные последовательности ребер представляют разные возможные представления, которые формируются на основании извлеченного текстового представления. Разработчики настоящей технологии осознали, что проверка множества возможных представлений по отношению к грамматикам может уменьшить количество ложноотрицательных событий.
[14] Кроме того, обычная система IPA может потребовать значительного объема вычислительных ресурсов для обучения системы IPA использованию недавно добавленного навыка. Обычные системы IPA реализованы посредством алгоритмов машинного обучения (MLA), которые обучаются пониманию намерений пользователя. Эти MLA обычно сначала обучаются классифицировать примеры текстовых представлений на множество классов навыков, а затем используются во время работы для прогнозирования навыка на основании используемого текстового представления, которое система IPA должна использовать для удовлетворения намерения пользователя. Однако добавление нового навыка к набору навыков этих систем IPA требует дополнительного обучения или переобучения классифицирующих MLA, что является вычислительно затратным.
[15] По меньшей мере в некоторых вариантах осуществления настоящей технологии предусмотрены способы и системы для уменьшения объема вычислительных ресурсов, требуемых для добавления в систему нового навыка. По меньшей мере в некоторых вариантах осуществления разработчики настоящей технологии разработали способы и системы, в которых может отсутствовать необходимость переобучения системы IPA для добавления нового навыка в набор навыков.
[16] В первом широком аспекте настоящей технологии предложен способ обработки голосового высказывания, связанного с пользователем. Способ выполняется электронным устройством. Электронное устройство выполняет алгоритм машинного обучения (MLA) для выполнения автоматического распознавания речи в отношении голосового высказывания. Электронное устройство имеет доступ к множеству грамматик. Определенная грамматика из множества грамматик представляет соответствующее намерение пользователя и связана с действием. Способ содержит получение посредством электронного устройства указания на голосовое высказывание, формирование посредством электронного устройства с использованием MLA текстового представления голосового высказывания, содержащего слова, идентификацию посредством электронного устройства окказионального слова и ненормализованного слова среди упомянутых слов, и формирование посредством электронного устройства множества возможных текстовых представлений на основании упомянутого текстового представления. Множество возможных текстовых представлений имеет по меньшей мере одно из первого набора возможных текстовых представлений и второго набора возможных текстовых представлений. В возможных текстовых представлениях из первого набора отсутствует окказиональное слово из слов текстового представления. В возможных текстовых представлениях из второго набора ненормализованное слово из слов текстового представления заменено его нормализованной версией. Способ содержит сравнение посредством электронного устройства множества возможных текстовых представлений с одной из множества грамматик, и в ответ на то, что определенное возможное текстовое представление соответствует одной из множества грамматик, инициирование посредством электронного устройства действия, связанного с упомянутой одной из множества грамматик.
[17] В некоторых вариантах реализации способа первый набор и второй набор по меньшей мере частично перекрываются.
[18] В некоторых вариантах осуществления способа как первый набор, так и второй набор включают в себя по меньшей мере одно общее текстовое представление, имеющее слова из текстового представления (i), за исключением окказионального слова, и в которой (ii) ненормализованное слово заменяется его нормализованной версией.
[19] В некоторых вариантах осуществления способа формирование множества возможных текстовых представлений содержит формирование посредством электронного устройства структуры графа, имеющей узлы, соединенные ребрами, при этом определенная последовательность ребер представляет соответствующее одно из множества возможных текстовых представлений. Слова из упомянутого текстового представления связаны с соответствующими ребрами из структуры графа. Окказиональное слово связано с (i) первым ребром, указывающим на присутствие окказионального слова в определенном возможном текстовом представлении, представленном последовательностью ребер, включающей в себя первое ребро, и (ii) вторым ребром, указывающим на отсутствие окказионального слова в определенном возможном текстовом представлении, представленном последовательностью ребер, включающим в себя второе ребро. Ненормализованное слово связано с (i) третьим ребром, указывающим на присутствие ненормализованного слова в определенном возможном текстовом представлении, представленном последовательностью ребер, включающей в себя третье ребро, и (ii) четвертым ребром, указывающим на наличие его нормализованной версии в определенном возможном текстовом представлении, представленном последовательностью ребер, включающей в себя четвертое ребро.
[20] В некоторых вариантах осуществления способа сравнение множества возможных текстовых представлений содержит осуществление доступа посредством электронного устройства к структуре графа для идентификации первого возможного текстового представления на основании первой последовательности ребер и сравнение посредством электронного устройства первого возможного текстового представления по крайней мере с одной из множества грамматик.
[21] В некоторых вариантах осуществления способа идентификация окказионального слова среди слов содержит ввод посредством электронного устройства текстового представления в нейронную сеть (NN), выполненную с возможностью формирования данных метки для слов из текстового представления, причем данные метки указывает, какие слова среди слов из текстового представления являются окказиональными словами.
[22] В некоторых вариантах осуществления способа идентификация ненормализованного слова среди слов содержит сравнение посредством электронного устройства слов из текстового представления со списком заданных слов, причем определенное заданное слово в упомянутом списке является ненормализованным словом и связано с его нормализованной версией, и в ответ на определенное слово из слов текстового представления, соответствующих определенному заданному слову из списка, формирование посредством электронного устройства данных метки для упомянутого определенного слова, причем данные метки указывают на то, что (i) данное слово является ненормализованным словом и (ii) на его ненормализованную версию.
[23] В некоторых вариантах осуществления способа первый набор возможных текстовых представлений состоит из одного элемента.
[24] В некоторых вариантах осуществления способа второй набор возможных текстовых представлений состоит из одного элемента.
[25] В некоторых вариантах осуществления способа электронное устройство представляет собой сервер, соединенный с возможностью осуществления связи с пользовательским устройством.
[26] В некоторых вариантах осуществления способа электронное устройство представляет собой пользовательское устройство пользователя.
[27] Во втором широком аспекте настоящей технологии предложен способ обработки голосового высказывания, связанного с пользователем. Способ исполняется электронным устройством. Электронное устройство выполняет алгоритм машинного обучения (MLA) для выполнения автоматического распознавания речи для голосового высказывания. Электронное устройство имеет доступ к множеству грамматик. Определенная грамматика из множества грамматик представляет соответствующее намерение пользователя и связана с действием. Способ содержит получение посредством электронного устройства указания на голосовое высказывание, формирование посредством электронного устройства с использованием MLA текстового представления голосового высказывания, содержащего слова, идентификацию посредством электронного устройства окказионального слова и ненормализованного слова среди слов, и формирование посредством электронного устройства множества возможных текстовых представлений на основании упомянутого текстового представления. Формирование включает в себя формирование по меньшей мере одного возможного текстового представления, в котором отсутствует окказиональное слово из его слов, и по меньшей мере одного возможного текстового представления, в котором ненормализованное слово из его слов заменено его нормализованной версией. Способ содержит сравнение посредством электронного устройства множества возможных текстовых представлений с одной из множества грамматик, и в ответ на то, что определенное возможное текстовое представление соответствует одной из множества грамматик, инициирование посредством электронного устройства действия, связанного с упомянутой одной из множества грамматик.
[28] В некоторых вариантах осуществления способа множество возможных текстовых представлений дополнительно содержит по меньшей мере одно возможное текстовое представление, в котором отсутствует окказиональное слово из слов текстового представления и ненормализованное слово из слов текстового представления, замененное его нормализованной версией.
[29] В третьем широком аспекте настоящей технологии предложено электронное устройство для обработки голосового высказывания, связанного с пользователем. Электронное устройство выполняет алгоритм машинного обучения (MLA) для выполнения автоматического распознавания речи для голосового высказывания. Электронное устройство имеет доступ к множеству грамматик. Определенная грамматика из множества грамматик представляет соответствующее намерение пользователя и связана с действием. Электронное устройство выполнено с возможностью получения указания на голосовое высказывание, формирования с использованием MLA текстового представления голосового высказывания, содержащего слова, идентификации окказионального слова и ненормализованного слова среди слов и формирования множества возможных текстовых представлений, основанных на упомянутом текстовом представлении. При этом множество возможных текстовых представлений имеет по меньшей мере одно из первого набора возможных текстовых представлений и второго набора возможных текстовых представлений. В возможных текстовых представлениях из первого набора отсутствует окказиональное слово из слов текстового представления. В возможных текстовых представлениях из второго набора ненормализованное слово из слов текстового представления заменено его нормализованной версией. Электронное устройство выполнено с возможностью сравнения множества возможных текстовых представлений с одной из множества грамматик и в ответ на то, что определенное возможное текстовое представление совпадает с одной из множества грамматик, инициирования действия, связанного с упомянутой одной из множества грамматик.
[30] В некоторых вариантах осуществления электронного устройства первый набор и второй набор по меньшей мере частично перекрываются.
[31] В некоторых вариантах осуществления электронного устройства как первый набор, так и второй набор включают в себя по меньшей мере одно общее текстовое представление, содержащее слова из упомянутого текстового представления (i), за исключением окказионального слова, и в котором (ii) ненормализованное слово заменено его нормализованной версией.
[32] В некоторых вариантах осуществления электронного устройства электронное устройство, выполненное с возможностью формирования множества возможных текстовых представлений, содержит электронное устройство, выполненное с возможностью формирования структуры графа, имеющей узлы, соединенные ребрами. Определенная последовательность ребер представляет соответствующее одно из множества возможных текстовых представлений. Слова из текстового представления связаны с соответствующими ребрами из структуры графа. Окказиональное слово связано с (i) первым ребром, указывающим на присутствие окказионального слова в определенном возможном текстовом представлении, представленном последовательностью ребер, включающей в себя упомянутое первое ребро, и (ii) вторым ребром, указывающим на отсутствие окказионального слова в определенном возможном текстовом представлении, представленном последовательностью ребер, включающей в себя упомянутое второе ребро. Ненормализованное слово связано с (i) третьим ребром, указывающим на присутствие ненормализованного слова в определенном возможном текстовом представлении, представленном последовательностью ребер, включающей в себя упомянутое третье ребро, и (ii) четвертым ребром, указывающим на присутствие его нормализованной версии в определенном возможном текстовом представлении, представленном последовательностью ребер, включающей в себя упомянутое четвертое ребро.
[33] В некоторых вариантах осуществления электронного устройства электронное устройство, выполненное с возможностью сравнения множества возможных текстовых представлений, содержит электронное устройство, выполненное с возможностью осуществления доступа к структуре графа для идентификации первого возможного текстового представления на основании первой последовательности ребер и сравнения первого возможного текстового представления по меньшей мере с одной из множества грамматик.
[34] В некоторых вариантах осуществления электронного устройства электронное устройство, выполненное с возможностью идентификации окказионального слова среди слов, содержит электронное устройство, выполненное с возможностью ввода текстового представления в нейронную сеть (NN), выполненную с возможностью формирования данных метки для слов из текстового представления, причем данные метки указывают, какие слова среди слов из текстового представления являются окказиональными словами.
[35] В некоторых вариантах осуществления электронного устройства электронное устройство, выполненное с возможностью идентификации ненормализованного слова среди слов, содержит электронное устройство, выполненное с возможностью сравнения слов из текстового представления со списком заданных слов, и определенное заданное слово в списке является ненормализованным словом и связано с его нормализованной версией, и в ответ на то, что определенное слово из слов текстового представления соответствует определенному заданному слову из списка, формирования данных метки для упомянутого определенного слова, и при этом данные метки указывают (i) то, что упомянутое определенное слово является ненормализованным словом и (ii) на его ненормализованную версию.
[36] В некоторых вариантах осуществления электронного устройства первый набор возможных текстовых представлений содержит один элемент.
[37] В некоторых вариантах осуществления электронного устройства второй набор возможных текстовых представлений содержит один элемент.
[38] В некоторых вариантах осуществления электронного устройства электронное устройство представляет собой сервер, соединенный с возможностью осуществления связи с пользовательским устройством.
[39] В некоторых вариантах осуществления электронного устройства электронное устройство является пользовательским устройством пользователя.
[40] В контексте настоящего описания «сервер» представляет собой компьютерную программу, которая выполняется на соответствующем аппаратном обеспечении и способна принимать запросы (например, от устройств) по сети и выполнять эти запросы или вызывать выполнение этих запросов. Аппаратное обеспечение может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для настоящей технологии. В настоящем контексте использование выражения «сервер» не предполагает, что каждая задача (например, принятые инструкции или запросы) или какая-либо конкретная задача будут приняты, выполнены или их выполнение будет вызвано посредством одного и того же сервера (то есть одного и того же программного обеспечения и/или аппаратного обеспечения); подразумевается, что в приеме/отправке, выполнении или вызове выполнения любой задачи или запроса, или в последствиях любой задачи или запроса может участвовать любое количество программных элементов или аппаратных устройств; и все это программное обеспечение и аппаратное обеспечение может представлять собой один сервер или множество серверов, причем оба упомянутых варианта включены в выражение «по меньшей мере один сервер».
[41] В контексте настоящего описания «устройство» представляет собой любое компьютерное аппаратное обеспечение, которое способно выполнять программное обеспечение, соответствующее релевантной рассматриваемой задаче. Таким образом, некоторые (неограничивающие) примеры устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и тому подобное), смартфоны и планшетные компьютеры, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что устройство, функционирующее в качестве устройства в настоящем контексте, не исключает возможности его функционирования в качестве сервера для других устройств. Использование термина «устройство» не исключает использования множества устройств при приеме/отправке, выполнении или вызове выполнения какой-либо задачи или запроса, или в последствиях любой задачи или запроса, или в этапах любого описанного в данном документе способа.
[42] В контексте настоящего описания «база данных» представляет собой любую структурированную совокупность данных, независимо от ее конкретной структуры, программного обеспечения для администрирования базы данных или компьютерного аппаратного обеспечения, на котором упомянутые данные хранятся, реализуются или иным образом делаются доступными для использования. База данных может быть размещена на том же аппаратном обеспечении, что и процесс, который сохраняет или использует информацию, сохраняемую в базе данных, или она может быть размещена на отдельном аппаратном обеспечении, таком как выделенный сервер или множество серверов.
[43] В контексте настоящего описания выражение «информация» включает в себя информацию любого характера или вида, которая способна любым образом сохраняться в базе данных. Таким образом, информация включает в себя, не ограничиваясь, аудиовизуальные произведения (изображения, фильмы, звуковые записи, презентации и т.д.), данные (данные о местоположении, численные данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы, списки слов и т.д.
[44] В контексте настоящего описания подразумевается, что выражение «компонент» включает в себя программное обеспечение (соответствующее конкретному аппаратному контексту), которое является как необходимым, так и достаточным для реализации конкретной рассматриваемой функции (функций).
[45] В контексте настоящего описания предполагается, что выражение «используемый компьютером носитель хранения информации» включает в себя носители любого характера и вида, в том числе RAM, ROM, диски (CD-ROM, DVD, дискеты, накопители на жестких дисках и т.д.), USB-ключи, твердотельные накопители, ленточные накопители и т.д.
[46] В контексте настоящего описания слова «первый», «второй», «третий» и т.д. используются в качестве прилагательных только для обеспечения возможности различения существительных, которые они модифицируют, друг от друга, а не для описания какой-либо конкретной взаимосвязи между этими существительными. Таким образом, например, следует понимать, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо конкретного порядка, типа, хронологии, иерархии или ранжирования (например) таких серверов, равно как и их использование (само по себе) не означает, что в любой определенной ситуации должен обязательно существовать какой-либо «второй сервер» . Кроме того, как описано в других контекстах данного документа, упоминание «первого» элемента и «второго» элемента не исключает того, что эти два элемента фактически представляют собой один и тот же элемент реального мира. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой одно и то же программное обеспечение и/или аппаратное обеспечение, в других случаях они могут представлять собой разное программное обеспечение и/или аппаратное обеспечение.
[47] Каждая из реализаций настоящей технологии имеет по меньшей мере один из вышеупомянутых аспектов и/или задач, но не обязательно имеет их все. Следует понимать, что некоторые аспекты настоящей технологии, полученные в попытке решения вышеупомянутой задачи, могут не соответствовать этой задаче и/или соответствовать другим задачам, которые явным образом не описаны в данном документе.
[48] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии станут очевидными из нижеследующего описания, сопровождающих чертежей и приложенной формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[49] Для лучшего понимания настоящей технологии, а также других ее аспектов и дополнительных признаков, обратимся к нижеследующему описанию, которое следует использовать в сочетании с сопровождающими чертежами, на которых:
[50] Фиг. 1 изображает систему, подходящую для реализации неограничивающих вариантов осуществления настоящей технологии.
[51] Фиг. 2 изображает представление механизма сопоставления намерений, реализуемого сервером системы, показанной на Фиг. 1, в соответствии по меньшей мере с некоторыми вариантами осуществления настоящей технологии.
[52] Фиг. 3 изображает представление того, каким образом механизм сопоставления намерений по Фиг. 2 выполнен с возможностью инициирования определенного действия, в соответствии по меньшей мере с некоторыми вариантами осуществления настоящей технологии.
[53] Фиг. 4 представляет собой принципиальную блок-схему, иллюстрирующую блок-схему способа, выполняемого электронным устройством в соответствии с неограничивающими вариантами осуществления настоящей технологии.
Осуществление изобретения
[54] Обращаясь к Фиг. 1, показана принципиальная схема системы 100, причем система 100 подходит для реализации неограничивающих вариантов осуществления настоящей технологии. Следует явным образом понимать, что изображенная система 100 является лишь иллюстративной реализацией настоящей технологии. Таким образом, ее нижеследующее описание предназначено лишь для использования в качестве описания иллюстративных примеров настоящей технологии. Данное описание не предназначено для определения объема или ограничения настоящей технологии. В некоторых случаях то, что считается полезными примерами модификаций системы 100, также может быть приведено ниже. Это делается лишь для облегчения понимания и, опять же, не для определения объема или установления границ настоящей технологии.
[55] Эти модификации не представляют собой исчерпывающий перечень и, как будет понятно специалисту в данной области техники, возможны другие модификации. Кроме того, там, где это не было сделано (т.е. если не было представлено примеров модификаций), не следует понимать, что модификации не возможны и/или что описанное является единственным способом реализации такого элемента в настоящей технологии. Специалисту в данной области будет понятно, что это, вероятно, не так. Кроме того, следует понимать, что система 100 может в некоторых случаях предусматривать простые реализации настоящей технологии, и что в таких случаях они были представлены в таком виде для облегчения понимания. Специалистам в данной области будет понятно, что различные реализации настоящей технологии могут иметь большую сложность.
[56] В общем случае, система 100 может позволять пользователю 102 взаимодействовать с электронным устройством 104 посредством голосовых команд. С этой целью система 100 содержит электронное устройство 104 (или просто «устройство 104»), сеть 110 связи и сервер 106. В некоторых вариантах осуществления электронное устройство 102 может представлять собой смартфон. В других вариантах осуществления электронное устройство 102 может представлять собой интеллектуальный громкоговоритель.
[57] Как проиллюстрировано на Фигуре 1, пользователь 102 может произносить голосовые команды устройству 104. Устройство 104 выполнено с возможностью записи цифрового аудиосигнала 160, когда пользователь 102 произносит голосовую команду в форме пользовательского высказывания 150. Другими словами, устройство 104 выполнено с возможностью записи цифрового аудиосигнала 160 в режиме реального времени, когда пользователь 102 произносит пользовательское высказывание 150 вблизи устройства 104.
[58] Устройство 104 выполнено с возможностью передачи данных, указывающих части цифрового аудиосигнала 160, в систему 108 обработки IPA по мере записи цифрового аудиосигнала 160. В некоторых вариантах осуществления настоящей технологии устройство 104 может быть выполнено с возможностью передачи данных, указывающих части цифрового аудиосигнала 160, в систему 108 обработки IPA в реальном времени, пока пользователь 102 произносит слова. В одном примере устройство 104 может быть выполнено с возможностью передачи последовательных частей цифрового аудиосигнала 160 длительностью 50 мс.
[59] В некоторых вариантах осуществления настоящей технологии предусмотрено, что обработка цифрового аудиосигнала 160 может выполняться аналогично тому, что описано ниже, локально на электронном устройстве 102, без выхода за рамки объема настоящей технологии.
[60] Во время приема данных, указывающих последовательные части цифрового аудиосигнала 160, в общем случае, система 108 обработки IPA выполнена с возможностью, среди прочего, определения, завершилось ли пользовательское высказывание 150 во время самой последней принятой части цифрового аудиосигнала 160.
[61] В общем случае, устройство 104 может быть выполнено с возможностью передачи цифрового аудиосигнала 160 в систему 108 обработки IPA для определения намерения, связанного с пользовательским высказыванием 150, и потенциально с возможностью выполнения одного или более действий, связанных с этим намерением. Например, система 108 обработки IPA может определить, что пользователь 104 намеревается заказать еду из определенного ресторана. В другом примере система 108 обработки IPA может определить, что пользователь намеревается послушать конкретного музыканта. В результате система 108 обработки IPA может быть выполнена с возможностью инициирования в ответ на это одного или более действий, таких как размещение заказа на еду в конкретном ресторане (если это первое намерение) или воспроизведение песен, сочиненных конкретным музыкантом (если это второе намерение).
[62] Следует отметить, что, хотя система 108 обработки IPA проиллюстрирована на Фиг. 1 как реализованная сервером 106, в других вариантах осуществления настоящей технологии один или более (или все) из компонентов и/или функциональных возможностей системы 108 обработки IPA может быть реализован устройством 104 (например, система 108 обработки IPA может быть реализована локально на устройстве 104) без выхода за рамки объема настоящей технологии. То, каким образом могут быть реализованы различные компоненты системы 100 в некоторых вариантах осуществления настоящей технологии, будет более подробно описано в данном документе ниже.
Пользовательское устройство
[63] Как упоминалось ранее, система 100 содержит устройство 104. Реализация устройства 104 конкретным образом не ограничена, но, в качестве примера, устройство 104 может быть реализовано в виде персонального компьютера (настольные компьютеры, ноутбуки, нетбуки и т.д.), устройства беспроводной связи (такого как смартфон, сотовый телефон, планшетный компьютер, интеллектуальный громкоговоритель и т.д.). При этом устройство 104 иногда может называться «электронным устройством», «конечным пользовательским устройством», «клиентским электронным устройством», «пользовательским электронным устройством» или просто «устройством». Следует отметить, что тот факт, что устройство 104 связано с пользователем 102, не обязательно предполагает или подразумевает какой-либо режим работы, такой как необходимость входа в систему, необходимость регистрации или тому подобное.
[64] Предполагается, что устройство 104 содержит аппаратное обеспечение и/или программное обеспечение и/или микропрограммное обеспечение (или их сочетание) для обнаружения пользовательского высказывания 150 и/или записи цифрового аудиосигнала 160. В общем случае, цифровой аудиосигнал 160 представляет собой результат (выходные данные) аудиозаписи, выполняемой устройством 104, когда пользователь 102 произносит пользовательское высказывание 150. При этом цифровой аудиосигнал 160 представляет звуковые волны, которые обнаруживаются, записываются и преобразуются в цифровую форму в режиме реального времени, пока пользователь 102 говорит.
[65] В некоторых вариантах осуществления устройство 104 также может содержать аппаратное обеспечение и/или программное обеспечение и/или микропрограммное обеспечение (или их сочетание) для выполнения приложения IPA. В общем случае, назначением приложения IPA, также известного как «чат-бот», является обеспечение пользователю 102 возможности взаимодействовать с устройством 104 посредством голоса. Приложение IPA может обеспечивать возможность голосового взаимодействия между пользователем 102 и устройством 104 посредством использования системы 108 обработки IPA. Таким образом, можно сказать, что приложение IPA связано с системой 108 обработки IPA.
[66] Следует отметить, что в некоторых вариантах осуществления настоящей технологии устройство 104 также может реализовывать компоненты и/или функциональные возможности сервера 106. Например, устройство 104 может содержать аппаратное обеспечение и/или программное обеспечение и/или микропрограммное обеспечение (или их сочетание), как известно в данной области техники, для локальной реализации системы 108 обработки IPA. В таком случае, как приложение IPA, так и система 108 обработки IPA могут быть реализованы локально на устройстве 104 без выхода за рамки объема настоящей технологии.
[67] В некоторых вариантах осуществления настоящей технологии, в которых система 108 обработки IPA реализована сервером 106, устройство 104 может быть выполнено с возможностью передачи данных, указывающих части цифрового аудиосигнала 160, как упомянуто выше, на сервер 106.
[68] Следовательно, можно сказать, что в некоторых вариантах осуществления настоящей технологии, в которых система 108 обработки IPA реализована сервером 106, устройство 104 может быть выполнено с возможностью передачи множества пакетов данных на сервер 106, и при этом пакеты данных содержат данные, указывающие последовательные части цифрового аудиосигнала 160.
[69] В других вариантах осуществления настоящей технологии, в которых система 108 обработки IPA реализована устройством 104, устройство 104 может быть выполнено с возможностью локальной передачи потока пакетов данных в систему 108 обработки IPA, при этом пакеты данных содержат данные, указывающие последовательные части цифрового аудиосигнала 160.
Сеть связи
[70] В иллюстративном примере системы 100 устройство 104 соединено с возможностью осуществления связи с сетью 110 связи для доступа и передачи пакетов данных на сервер 106 и от него. В некоторых неограничивающих вариантах осуществления настоящей технологии сеть 110 связи может быть реализована в виде сети Интернет. В других вариантах осуществления настоящей технологии сеть 110 связи может быть реализована иначе, например в виде какой-либо глобальной сети связи, локальной сети связи, частной сети связи и тому подобного. То, каким образом реализована линия связи (отдельно не пронумерована) между устройством 104 и сетью 110 связи, будет зависеть, среди прочего, от того, каким образом реализовано устройство 104.
[71] Лишь в качестве примера, но не ограничения, в тех вариантах осуществления настоящей технологии, в которых устройство 104 реализовано в виде устройства беспроводной связи (например, смартфона), линия связи может быть реализована в виде линии беспроводной связи (такой как, не ограничиваясь, линия сети связи 3G, линия сети связи 4G, Wireless Fidelity или WiFi для краткости, Bluetooth и тому подобное). В тех примерах, в которых устройство 104 реализовано в виде ноутбука, линия связи может быть либо беспроводной (такой как Wireless Fidelity или WiFi для краткости, Bluetooth или тому подобное), либо проводной (такой как соединение Ethernet).
[72] В некоторых вариантах осуществления настоящей технологии, в которых система 108 обработки IPA реализована устройством 104, сеть 110 связи может быть исключена без выхода за рамки объема настоящей технологии.
База данных
[73] Сервер 106 также соединен с возможностью осуществления связи с базой 124 данных. На представленной иллюстрации база 124 данных проиллюстрирована в виде одного физического объекта. Это не обязательно должно быть так в любом и каждом варианте осуществления настоящей технологии. По существу, база 124 данных может быть реализована в виде множества отдельных баз данных. При необходимости, база 124 данных может быть разделена на несколько распределенных хранилищ.
[74] База 124 данных выполнена с возможностью хранения информации, обрабатываемой или используемой сервером 106. В общем случае, база 124 данных может принимать данные от сервера 106 для их временного и/или постоянного хранения и может выдавать сохраненные данные серверу 106 для их обработки.
[75] В некоторых вариантах осуществления база 124 данных может сохранять данные, которые могут использоваться сервером 106 для формирования по меньшей мере некоторых обучающих данных для обучения по меньшей мере некоторых компонентов системы 108 обработки IPA. В других вариантах осуществления база 124 данных может хранить сами обучающие данные, которые сервер 106 может использовать для обучения по меньшей мере некоторых компонентов системы 108 обработки IPA.
[76] В одном варианте осуществления база 124 данных может сохранять множество цифровых аудиосигналов. Например, база 124 данных может сохранять большое количество цифровых аудиосигналов, такое как 10000, 100000, 1000000 и т.п. Множество цифровых аудиосигналов может быть собрано и сохранено в базе 124 данных множеством различных способов. Однако, лишь в качестве примера, множество цифровых аудиосигналов может быть записано людьми-тестировщиками и/или взято из массового оборота. В одном примере множество цифровых аудиосигналов могут быть аудиозаписями высказываний, которые указывают на типичные пользовательские высказывания, выполняемые пользователями при взаимодействии с устройствами, аналогичными устройству 104. В случае, если устройство 104 является устройством типа «интеллектуальный громкоговоритель», типичные пользовательские высказывания могут быть, не ограничиваясь: «Выключение», «Воспроизвести музыку», «Уменьшить громкость», «Какая сейчас погода», «Где ближайшая заправка», «Спящий режим», «Позвонить Роману», « Установить напоминание на семь утра» и так далее.
[77] В некоторых вариантах осуществления база 124 данных может сохранять текстовые представления пользовательских высказываний, связанных с соответствующими сигналами из множества цифровых аудиосигналов. Например, база 124 данных может сохранять множество текстовых представлений, которые, соответственно, связаны с множеством цифровых аудиосигналов. Множество текстовых представлений может быть собрано и сохранено в базе 124 данных множеством различных способов. Однако, лишь в качестве примеров, множество текстовых представлений может быть сформировано тестировщиками-людьми и/или взято из массового оборота от лиц, которые записали цифровые аудиосигналы и/или сформировали посредством обработки по преобразованию речи в текст из цифровых аудиосигналов посредством системы на основе компьютера.
[78] В некоторых вариантах осуществления настоящей технологии база 124 данных может сохранять данные, представляющие множество «навыков» или «набор навыков», связанных с системой 108 обработки IPA. в общем случае, определенный навык содержит данные, связанные с определенной «грамматикой» и одним или более соответствующими действиями. Следует отметить, что грамматики могут быть выбраны оператором системы 108 обработки IPA и/или добавлены с течением времени (например, новые добавленные навыки) и могут отражать намерения пользователей.
[79] Например, одна грамматика «воспроизведение <исполнитель>», может быть связана с действием, которое побуждает систему 108 обработки IPA воспроизводить музыку <исполнителя> на устройстве 104, управляемом пользователем 102. В этом примере данные, указывающие на грамматику и соответствующее действие, которое необходимо предпринять (определенный навык), могут быть сохранены в базе 124 данных.
[80] В дополнительных вариантах осуществления база 124 данных может сохранять список нормализованных слов, связанных с их соответствующими ненормализованными версиями. В общем случае, база 124 данных может сохранять список слов в их канонических формах, и при этом эти слова, соответственно, связаны с их ненормализованными версиями или неканоническими формами. Например, слово «воспроизводить» является нормализованной версией или канонической формой слов «воспроизводит», «воспроизведение», «воспроизводимый».
Сервер
[81] Как указано выше, система 100 также содержит сервер 106, который может быть реализован в виде обычного компьютерного сервера. В примере варианта осуществления настоящей технологии сервер 106 может быть реализован как сервер Dell™ PowerEdge™, работающий под управлением операционной системы Microsoft™ Windows Server™. Разумеется, сервер 106 может быть реализован посредством любого другого подходящего аппаратного, программного и/или микропрограммного обеспечения или их сочетания. В проиллюстрированном неограничивающем варианте осуществления настоящей технологии сервер 106 представляет собой один сервер. В альтернативных неограничивающих вариантах осуществления настоящей технологии функциональные возможности сервера 106 могут быть распределены и могут быть реализованы посредством множества серверов.
[82] В общем случае, сервер 106 выполнен с возможностью получения данных, указывающих на цифровой аудиосигнал 160, и использования системы 108 обработки IPA для определения намерения, связанного с цифровым аудиосигналом 160, и выполнения различных действий в ответ на него. Система 108 обработки IPA содержит механизм 120 автоматического распознавания речи (ASR) и механизм 130 сопоставления намерений.
[83] В общем случае, механизм 120 ASR, иногда называемый механизмом «преобразования речи в текст» (STT), реализован в виде множества реализуемых компьютером алгоритмов, которые позволяют компьютерным системам распознавать и переводить язык речи в текстовую форму.
[84] Например, как это будет описано более подробно с обращением к Фиг. 2, сервер 106 может вводить цифровой аудиосигнал 160 в механизм 120 ASR. Механизм 120 ASR выполнен с возможностью обработки цифрового аудиосигнала 160 и вывода в ответ текстового представления 260. Предусмотрено, что сервер 106 может итеративно вводить цифровые аудиосигналы в механизм 120 ASR, который в ответ может формировать соответствующие текстовые представления. По меньшей мере в одном варианте осуществления множество цифровых аудиосигналов и соответствующие текстовые представления, сохраненные в базе 124 данных, могут быть сформированы сервером 106, использующим механизм 120 ASR.
[85] Как упомянуто выше, система 108 обработки IPA также содержит механизм 130 сопоставления намерений. В общем случае, механизм 130 сопоставления намерений реализован в виде множества реализуемы компьютером алгоритмов, которые позволяют серверу 106 обрабатывать текстовое представление 260 для определения намерения пользователя 102 путем сопоставления его с грамматикой, и в ответ инициировать одно или более действий, связанных с этой грамматикой. Как видно на Фиг. 2, текстовое представление 260 подается в механизм 130 сопоставления намерений, который имеет «легкую» подсистему 202 сопоставления намерений и «тяжелую» подсистему 204 сопоставления намерений.
[86] В общем случае, легкая подсистема 202 сопоставления намерений выполнена с возможностью обработки текстового представления 260 и попытки определения намерения пользователя 102 и инициирования одного или более действий, связанных с ним. Легкая подсистема 202 сопоставления намерений содержит генератор 210 графов, который в общем выполнен с возможностью формирования множества возможных текстовых представлений на основании текстового представления 260. Далее, легкая подсистема 202 сопоставления намерений выполнена с возможностью попытки сопоставления сформированных таким образом возможных представлений с одной или более из множества грамматик 230. Если имеет место совпадение, сервер 106 может инициировать одно или более соответствующих действий из множества действий 240, связанных с сопоставленной грамматикой.
[87] Если легкая подсистема 202 сопоставления намерений не может идентифицировать намерение пользователя 102, то есть легкая подсистема 202 сопоставления намерений не может сопоставить сформированные таким образом возможные представления с одной из множества грамматик 230, текстовое представление 260 передается в тяжелую подсистему 204 сопоставления намерений для более ресурсоемкой обработки.
[88] В общем случае, тяжелая подсистема 204 сопоставления намерений содержит алгоритм 220 машинного обучения (MLA), выполненный с возможностью обработки текстового представления 260 для определения намерения, связанного с ним, и инициирования одного или более действий, связанных с ним.
[89] В общем случае, определенный MLA сначала «строится» (или обучается) с использованием обучающих данных и целей обучения. Во время определенной итерации обучения в MLA вводятся обучающие входные данные, и он формирует соответствующий прогноз. Далее сервер 106 выполнен с возможностью в некотором смысле «регулирования» MLA на основании сравнения прогноза с соответствующей целью обучения для обучающих входных данных. Например, регулирование может выполняться сервером 106 с использованием одного или более методов машинного обучения, таких как, не ограничиваясь, метод обратного переноса. Таким образом, после большого количества итераций обучения MLA «регулируется» таким образом, чтобы делать прогнозы на основании введенных данных, чтобы эти прогнозы были близки к соответствующим целям обучения.
[90] Следует отметить, что выполнение MLA 220 тяжелой подсистемы 204 сопоставления намерений требует использования сравнительно большего объема вычислительных ресурсов для сопоставления текстового представления 260 с одной из множества грамматик 230, чем использование легкой подсистемы 202 сопоставления намерений. Можно сказать, что, если легкой подсистеме 202 сопоставления намерений не удается идентифицировать намерение для текстового представления 260, сервер 106 может использовать тяжелую подсистему 204 сопоставления намерений в качестве вторичного варианта для идентификации намерения для текстового представления 260.
[91] Разработчики настоящей технологии поняли, что, если в механизм 130 сопоставления намерений необходимо добавить определенный новый навык, чтобы тяжелая подсистема 204 сопоставления намерений была выполнена с возможностью сопоставления текстового представления 260 с новой грамматикой на основании упомянутого определенного нового навыка, MLA 220 необходимо дополнительно обучить на основании обучающих примеров, связанных с новым навыком. Дальнейшее обучение MLA 220 требует от сервера 106 значительного количества времени и/или объема вычислительных ресурсов.
[92] Разработчики настоящей технологии поняли, что вместо дополнительного обучения MLA 220 на основании обучающих примеров, связанных с новым навыком 235, новый навык 235 может быть добавлен в механизм 130 сопоставления намерений путем конфигурирования легкой подсистемы 202 сопоставления намерений с возможностью сопоставления новой грамматики 232 на основании нового навыка 235 (новой грамматики 232 и соответствующего действия 242) с текстовым представлением 260. Например, как проиллюстрировано на Фиг. 2, новая грамматика 232 может быть добавлена к множеству грамматик 230, с которыми потенциально может осуществляться сопоставление посредством легкой подсистемы 202 сопоставления намерений. Кроме того, как будет более подробно описано ниже, разработчики настоящей технологии разработали способы и системы, которые позволяют обрабатывать текстовое представление 260 до сопоставления с множеством грамматик 230, чтобы уменьшить количество «ложноотрицательных событий», то есть случаев, когда текстовое представление 260 не сопоставляется с какой-либо грамматикой из множества грамматик 230, хотя оно и должно сопоставляться.
[93] Эта обработка текстового представления 260 перед сопоставлением с множеством грамматик 230 для уменьшения количества ложноположительных событий выполняется через генератор 210 графов. Теперь будет более подробно описано то, каким образом реализован генератор 210 графов и каким образом сервер 106 может быть выполнен с возможностью использования генератора 210 графов в качестве части механизма 130 сопоставления намерений.
[94] Обращаясь к Фиг.3, изображено представление 300 того, каким образом легкая подсистема 202 сопоставления намерений может быть выполнена с возможностью инициирования определенного действия для удовлетворения намерения пользователя 102. Предположим, что механизм 120 ASR формирует текстовое представление 260, содержащее первое слово 261, второе слово 262, третье слово 263 и четвертое слово 264. Как упомянуто выше, сервер 106 может быть выполнен с возможностью передачи текстового представления 260 генератору 210 графов для формирования данных, представляющих структуру 330 графа. Для этой цели генератор 210 графов может содержать «средство 310 разметки окказиональных слов» и «нормализатор 320 текста» для обработки текстового представления 260.
[95] В общем случае, средство 310 разметки окказиональных слов выполнено с возможностью обработки текстового представления 260 для идентификации того, какое (какие) слово (слова) из первого слова 261, второго слова 262, третьего слова 263 и четвертого слова 264 является (являются) окказиональным словом. Окказиональное слово (также называемое окказионализмом) представляет собой лексему, созданную для одного случая для решения непосредственной проблемы общения. Этот понятие используется, поскольку такое слово создано «для данного случая» (то есть на данный момент или на этот раз). Все окказиональные слова могут также включать в себя неологизмы, то есть недавние или относительно новые слова, которые не были полностью приняты в качестве общеупотребительных или в обиходное использование. Можно сказать, что окказиональное слово можно назвать словом, которое потенциально не нужно для определения намерения пользователя.
[96] Предполагается, что сервер 106 может быть выполнен с возможностью реализации средства 310 разметки окказиональных слов в качестве нейронной сети (NN), выполненной с возможностью получения в качестве ввода текстового представления 260 и выдачи, в качестве выходных данных, данных метки для соответствующих слов из текстового представления 260, которые указывают на то, являются ли соответствующие слова окказиональными словами
[97] В общем случае, определенная NN состоит из взаимосвязанной группы искусственных «нейронов», которые обрабатывают информацию, используя подход к вычислению на основе связей. NN используются для моделирования сложных взаимосвязей между входными и выходными данными (без фактического знания этих взаимосвязей) или для поиска закономерностей в данных. NN сначала подготавливаются во время фазы обучения, в которой им обеспечивается известный набор «входных данных» и информация для адаптации NN к формированию надлежащих выходных данных (для определенной ситуации, которую пытаются смоделировать). Во время этой фазы обучения упомянутая определенная NN адаптируется к изучаемой ситуации и изменяет свою структуру таким образом, чтобы упомянутая определенная NN была способна обеспечивать разумные прогнозируемые выходные данные для определенных входных данных в новой ситуации (на основе того, что было изучено). Таким образом, вместо того, чтобы пытаться определить сложные статистические схемы или математические алгоритмы для определенной ситуации, упомянутая определенная NN пытается обеспечить «интуитивный» ответ, основанный на «восприятии» ситуации. Таким образом, упомянутая определенная NN является своего рода обученным «черным ящиком», который может использоваться в ситуации, в которой не является важным то, что находится в этом «ящике», а важно лишь то, что «ящик» дает разумные ответы на определенные входные данные.
[98] NN обычно используются во многих таких ситуациях, в которых важно знать лишь выходные данные на основании определенных входных данных, но то, как именно эти выходные данные получены, имеет меньшее значение или не имеет значения. Например, NN обычно используются для оптимизации распределения сетевого трафика между серверами и при обработке данных, в том числе для фильтрации, кластеризации, разделения сигналов, сжатия, формирования векторов, распознавании речи и тому подобного.
[99] Следует понимать, что NN могут быть классифицированы на различные классы NN. Один из этих классов содержит рекуррентные нейронные сети (RNN). Эти конкретные NN выполнены с возможностью использования своих «внутренних состояний» (сохраняемой памяти) для обработки последовательностей входных данных. Это делает RNN хорошо подходящими для таких задач, как, например, распознавание несегментированного рукописного ввода и распознавание речи. Этими внутренними состояниями RNN можно управлять, и они именуются «коммутируемыми» состояниями или «коммутируемой» памятью.
[100] Также следует отметить, что сами RNN также могут быть классифицированы на различные подклассы RNN. Например, RNN могут быть реализованы в виде сетей с долговременной и кратковременной памятью (LSTM), коммутируемых рекуррентных блоков (GRU), двунаправленных RNN (BRNN) и тому подобного.
[101] Сети LSTM представляют собой системы глубокого обучения, которые могут обучаться задачам, требующим, в некотором смысле, «памяти» о событиях, которые произошли ранее в течение очень коротких и дискретных временных интервалов. Топологии сетей LSTM могут изменяться в зависимости от конкретных задач, которые их «обучают» выполнять. Например, сети LSTM могут обучаться выполнению задач, при которых между событиями происходят относительно длительные задержки или когда события происходят вместе с низкой и высокой частотой. В некоторых вариантах осуществления настоящей технологии предполагается, что средство 310 разметки окказиональных слов может быть реализовано в виде определенной сети LSTM. Также предполагается, что средство 310 разметки окказиональных слов может быть реализовано в виде определенной сети би-LSTM.
[102] В общем случае, сервер 106 выполнен с возможностью реализации нормализатора 320 в виде одного или более реализуемых компьютером алгоритмов, которые выполнены с возможностью идентификации одного или более ненормализованных слов среди слов текстового представления 260. Например, вспоминая, что база 124 данных сохраняет список нормализованных слов, связанных с их соответствующими ненормализованными версиями, сервер 106 может быть выполнен с возможностью сравнения первого слова 261, второго слова 262, третьего слова 263 и четвертого слова.264 с ненормализованными словами в базе 124 данных. Если имеет место соответствие, сервер 106 может быть выполнен с возможностью идентификации (например, посредством метки) соответствующего слова из текстового представления 260 как определенного ненормализованного слова и может извлекать определенную его нормализованную версию из базы 124 данных.
[103] Следовательно, можно сказать, что сервер 106, использующий средство 310 разметки окказиональных слов, может быть выполнен с возможностью идентификации определенного окказионального слова среди слов текстового представления 260 и определенного ненормализованного слова среди слов текстового представления 260. Предположим, что сервер 106 идентифицирует первое слово 261 как определенное окказиональное слово, а второе слово 262 и четвертое слово 264 как соответствующие ненормализованные слова. Сервер 106 может использовать эту информацию для формирования структуры 330 графа, которая указывает множество возможных текстовых представлений 340.
[104] В общем случае, структура 330 графа имеет узлы, соединенные ребрами, и при этом определенная последовательность ребер представляет соответствующее возможное текстовое представление. Следует отметить, что каждое слово из текстового представления 260 связано по меньшей мере с одним ребром из структуры 330 графа. В проиллюстрированном примере ребра 331 и 332 связаны с первым словом 261, ребра 333 и 334 связаны со вторым словом 262, ребро 335 связано с третьим словом 263, а ребра 336 и 337 связаны с четвертым словом 264.
[105] Следует отметить, что для первого слова 261 сервер 106 может быть выполнен с возможностью формирования двух ребер в структуре 330 графа, поскольку первое слово 261 идентифицировано как определенное окказиональное слово. Как станет очевидно из настоящего описания, первое слово 261, таким образом, связано с (i) ребром 331, указывающим на присутствие первого слова 261 в определенном возможном текстовом представлении, представленном последовательностью ребер, включающей в себя ребро 331, и (ii) ребром 332, указывающим на отсутствие первого слова 261 в определенном возможном текстовом представлении, представленном другой последовательностью ребер, включающей в себя ребро 332.
[106] Следует отметить, что для второго слова 262 сервер 106 может быть выполнен с возможностью формирования двух ребер в структуре 330 графа, поскольку второе слово 262 идентифицировано как определенное ненормализованное слово. Как станет очевидно из настоящего описания, второе слово 262, таким образом, связано с (i) ребром 333, указывающим на присутствие второго слова 262 (ненормализованного слова) в определенном возможном текстовом представлении, представленном последовательностью ребер, включающей в себя ребро 333, и (ii) ребром 334, указывающим на наличие нормализованной версии второго слова 262 (полученной из базы 124 данных) в определенном возможном текстовом представлении, представленном другой последовательностью ребер, включающей в себя ребро 334.
[107] Следует отметить, что для третьего слова 263 сервер 106 может быть выполнен с возможностью формирования только одного ребра в структуре 330 графа, поскольку третье слово 263 не идентифицировано как определенное окказиональное слово или определенное ненормализованное слово. Таким образом, третье слово 263 связано с ребром 335, указывающим на присутствие третьего слова в определенном возможном текстовом представлении, представленном последовательностью ребер, включающей в себя ребро 335. Однако следует отметить, что сервер 106 выполнен с возможностью формирования структуры 330 графа таким образом, чтобы все последовательности ребер включали в себя ребро 335, что означает, что каждое из множества возможных текстовых представлений 340 будет включать в себя третье слово 263.
[108] Аналогично второму слову 262, для четвертого слова 264 сервер 106 может быть выполнен с возможностью формирования двух ребер в структуре 330 графа, поскольку четвертое слово 264 идентифицировано как определенное ненормализованное слово. Как станет очевидно из настоящего описания, четвертое слово 264, таким образом, связано с (i) ребром 336, указывающим на присутствие четвертого слова 264 (ненормализованного слова) в определенном возможном текстовом представлении, представленном последовательностью ребер, включающей в себя ребро 336, и (ii) ребром 337, указывающим на наличие нормализованной версии четвертого слова 264 (полученной из базы 124 данных) в определенном возможном текстовом представлении, представленном другой последовательностью ребер, включающей в себя ребро 337.
[109] Предусмотрено, что по меньшей мере в некоторых вариантах осуществления настоящей технологии сервер 106 может быть выполнен с возможностью совместного использования как средства 310 разметки окказиональных слов, так и нормализатора 320 при формировании структуры 330 графа.
[110] Сервер 106 может быть выполнен с возможностью осуществления доступа к структуре 330 графа для извлечения возможных текстовых представлений, связанных с соответствующими последовательностями ребер в структуре 330 графа. Таким образом, сервер 106 может быть выполнен с возможностью извлечения множества возможных текстовых представлений 340, содержащих первое возможное представление 341, второе возможное представление 342, третье возможное представление 343 и четвертое возможное представление 344. Следует отметить, что в проиллюстрированном примере множество возможных текстовых представлений 340 содержит восемь различных возможных представлений. Однако количество возможных представлений во множестве возможных текстовых представлений 340 зависит, помимо прочего, от конкретной реализации настоящей технологии, как будет понятно специалисту в данной области техники.
[111] Предположим, что сервер 106 находит второе возможное представление 342 на основании последовательности ребер 331, 333, 335 и 336. Это означает, что слова 351, 352, 353 и 354 во втором возможном представлении 342 представляют собой первое слово 361, второе слово 362, третье слово 363 и четвертое слово 364, соответственно. Другими словами, второе возможное представление 342 может быть идентично текстовому представлению 260.
[112] Предположим, что сервер 106 находит третье возможное представление 343 на основании последовательности ребер 332, 334, 335 и 337. Это означает, что в третьем возможном представлении 342 первое слово 361 отсутствует, и оно содержит нормализованную версию второго слова 362, третье слово 363 и нормализованную версию четвертого слова 364.
[113] Сервер 106 может быть выполнен с возможностью обеспечения соответствующего возможного представления из множества возможных представлений 340 алгоритму 370 сопоставления. В общем случае, алгоритм 270 сопоставления имеет доступ к множеству грамматик 230, сохраняемых в базе 124 данных, и выполнен с возможностью определения, соответствуют ли слова из определенного возможного представления определенному слову из множества грамматик. Например, сервер 106 может быть выполнен с возможностью использования алгоритма 270 сопоставления для сформированных данных 380 сопоставления, указывающих, какая возможная последовательность соответствует какой грамматике.
[114] Предположим, что сервер 106 определяет, что первое возможное представление 341, второе возможное представление 342 и третье возможное представление 343 не соответствуют ни одной из множества грамматик 230. Однако предположим также, что третье возможное представление 343 действительно соответствует определенной грамматике из множества грамматик 230. В результате сервер 106 может быть выполнен с возможностью выполнения действия 382, связанного с определенной грамматикой из множества грамматик 230, которые были сопоставлены с третьим возможным представлением 343, чтобы удовлетворить намерение пользователя 102.
[115] В некоторых вариантах осуществления настоящей технологии, если грамматикам из множества грамматик 230 соответствуют более одного возможного представления из множества возможных представлений, сервер 106 может быть выполнен с возможностью выбора того, какое действие среди соответствующих сопоставленных таким образом грамматик должно быть выполнено для удовлетворения намерения пользователя 102. Для этой цели в некоторых вариантах осуществления база 124 данных может быть выполнена с возможностью сохранения списка приоритетности навыков, в котором перечислены различные навыки системы 108 обработки IPA в заданном порядке приоритетности. Таким образом, сервер 106 может получить доступ к базе 124 данных и определить, что для удовлетворения намерения пользователя 102 должно быть выполнено действие, связанное с грамматикой с неустановленным приоритетом среди сопоставленных таким образом грамматик.
[116] Обращаясь к Фиг. 4, изображено представление блок-схемы реализуемого компьютером способа 400, выполняемого определенным электронным устройством. Например, в некоторых вариантах осуществления настоящей технологии способ 400 может выполняться сервером 106. Однако следует отметить, что способ 400 может выполняться локально на электронном устройстве 104 пользователя 102. Теперь будут более подробно описаны различные этапы способа 400.
Этап 402: получение посредством электронного устройства указания на голосовое высказывание
[117] Способ 400 начинается на этапе 402, при этом сервер 106, выполнен с возможностью получения указания на голосовое высказывание 150 пользователя 102. Например, сервер 106 может быть выполнен с возможностью получения цифрового аудиосигнала 160 от электронного устройства 104. По меньшей мере в некоторых вариантах осуществления предусмотрено, что цифровой аудиосигнал 160 может быть принят через множество пакетов данных, передаваемых сетью 110 связи.
[118] В некоторых вариантах осуществления электронное устройство 104 также может быть выполнено с возможностью получения указания на голосовое высказывание. Например, электронное устройство 104, такое как, например, смартфон или интеллектуальный громкоговоритель, может быть выполнено с возможностью захвата пользовательского высказывания 150 пользователя 102 и использования цифрового аудиосигнала 160 в качестве указания на голосовое высказывание 150.
Этап 404: формирование посредством электронного устройства с использованием MLA текстового представления голосового высказывания, содержащего слова.
[119] Способ 400 переходит к этапу 404, при этом сервер 106 выполнен с возможностью формирования текстового представления 260 голосового высказывания 150. Следует отметить, что текстовое представление 260 содержит слова 261, 262, 263 и 264. По меньшей мере в некоторых вариантах осуществления сервер 106 может быть выполнен с возможностью использования механизма 120 ASR для распознавания и перевода разговорного языка в текстовую форму.
Этап 406: определение посредством электронного устройства окказионального слова и ненормализованного слова среди упомянутых слов
[120] Способ 400 переходит к этапу 406, при этом сервер 106 выполнен с возможностью идентификации определенного окказионального слова и определенного ненормализованного слова среди слов в текстовом представлении 260. Как упомянуто выше, сервер 106 может использовать средство 310 разметки окказиональных слов и нормализатор 320 для идентификации среди слов текстового представления 260 по меньшей мере одного окказионального слова и по меньшей мере одного ненормализованного слова.
[121] Следует отметить, что окказиональное слово может представлять собой лексему, созданной для одного случая для решения непосредственной проблемы общения. Такие понятия используются, поскольку они созданы «для данного случая» (то есть на данный момент или на этот раз). Окказиональные слова могут также включать в себя неологизмы, то есть недавние или относительно новые слова, которые не были полностью приняты в качестве общеупотребительных или в обиходное использование. Можно сказать, что окказиональное слово можно назвать словом, которое потенциально не нужно для определения намерений пользователя.
[122] Предусмотрено, что сервер 106 может быть выполнен с возможностью реализации средства 310 разметки окказиональных слов в виде NN, выполненной с возможностью получения в качестве входных данных текстового представления 260 и выдачи, в качестве выходных данных, данных метки для соответствующих слов из текстового представления 260, которые указывают, являются ли соответствующее слова окказиональными словами. По меньшей мере в некоторых вариантах осуществления настоящей технологии сервер 106, выполненный с возможностью идентификации окказионального слова среди слов, содержит сервер 106, выполненный с возможностью ввода посредством сервера текстового представления 260 в NN, выполненную с возможностью формирования данных метки для слов из текстового представления, и при этом данные метки указывают, какие слова среди слов из текстового представления 260 являются окказиональными словами. По меньшей мере в некоторых вариантах осуществления NN может быть обучена на основании обучающих данных, включающих в себя примеры текстовых представлений и оцененных человеком меток для соответствующих слов из этих примеров, и при этом эти метки могут указывать на эталонные классы, такие как, например, «класс окказиональных слов» и «класс не окказиональных слов».
[123] По меньшей мере в некоторых вариантах осуществления настоящей технологии сервер 106, выполненный с возможностью идентификации ненормализованного слова среди слов, содержит сервер 106, выполненный с возможностью сравнения слов из текстового представления 260 со списком заданных слов. Например, список заданных слов может храниться в запоминающем устройстве 124. Следует отметить, что определенное заданное слово в списке является ненормализованным словом и связано с его нормализованной версией. В ответ на то, что определенное слово из слов текстового представления 260 соответствует определенному заданному слову из списка, сервер 106 может быть выполнен с возможностью формирования данных метки для упомянутого определенного слова. Эти данные метки указывают (i) на то, что упомянутое определенное слово является ненормализованным словом и (ii) на его ненормализованную версию.
Этап 408: формирование посредством электронного устройства множества возможных текстовых представлений на основании упомянутого текстового представления.
[124] Способ 400 переходит к этапу 408, при этом сервер 106 выполнен с возможностью формирования множества возможных текстовых представлений 340 на основании текстового представления 260. Следует отметить, что множество возможных текстовых представлений 340 имеет по меньшей мере одно из первого набора возможных текстовых представлений и по меньшей мере одно из второго набора возможных текстовых представлений. Следует отметить, что в возможных текстовых представлениях из первого набора отсутствует окказиональное слово из слов текстового представления 260. Следует также отметить, что возможные текстовые представления из второго набора имеют ненормализованное слово из слов текстового представления, замененное его нормализованной версией.
[125] Предполагается, что первый набор и второй набор по меньшей мере частично перекрываются. Например, множество возможных текстовых представлений 340 может содержать по меньшей мере одно возможное представление, в котором отсутствует окказиональное слово, и в котором ненормализованное слово заменено его нормализованной версией. Например, как первый набор, так и второй набор могут включать в себя по меньшей мере одно общее текстовое представление, содержащее слова из текстового представления (i), за исключением окказионального слова, и в котором (ii) ненормализованное слово заменено его нормализованной версией.
[126] В некоторых вариантах осуществления первый набор возможных текстовых представлений среди множества возможных текстовых представлений 260 может содержать один элемент. В других вариантах осуществления второй набор возможных текстовых представлений среди множества возможных текстовых представлений 260 может содержать один элемент.
[127] В некоторых вариантах осуществления настоящей технологии сервер, формирующий множество возможных текстовых представлений 340, может содержать сервер 106, выполненный с возможностью структуры 330 графа (см. Фиг.3). Как объяснено выше, структура 330 графа имеет узлы, соединенные ребрами, и определенная последовательность ребер представляет соответствующее представление из множества возможных текстовых представлений 340.
[128] Следует отметить, что слова из текстового представления 260 могут быть связаны с соответствующими ребрами из структуры 330 графа. Определенное окказиональное слово может быть связано с (i) первым ребром, указывающим на присутствие окказионального слова в определенном возможном текстовом представлении, представленном последовательностью ребер, включающей в себя первое ребро, и (ii) вторым ребром, указывающим на отсутствие окказионального слова в определенном возможном текстовом представлении, представленном последовательностью ребер, включающей в себя второе ребро. Кроме того, ненормализованное слово может быть связано с (i) третьим ребром, указывающим на присутствие ненормализованного слова в определенном возможном текстовом представлении, представленном последовательностью ребер, включающей в себя третье ребро, и (ii) четвертым ребром, указывающим на присутствие его нормализованной версии в определенном возможном текстовом представлении, представленном последовательностью ребер, включающей в себя четвертое ребро.
[129] По меньшей мере в некоторых вариантах осуществления настоящей технологии можно сказать, что структура 330 графа является ориентированной структурой графа, в которой последовательности ребер ориентированы в одном направлении. Например, как показано на Фиг. 3, последовательности ребер ориентированы слева направо. Предусмотрено, что определенная последовательность ребер может представлять собой определенный путь в ориентированной структуре графа. Кроме того, в других вариантах осуществления узлы в структуре 330 графа могут соответствовать «пробелам» между словами текстового представления и/или возможного текстового представления.
Этап 410: сравнение посредством электронного устройства множества возможных текстовых представлений с одной из множества грамматик.
[130] Способ 400 переходит к этапу 410, при этом сервер 106 выполнен с возможностью сравнения множества возможных текстовых представлений с одной из множества грамматик 230. В некоторых вариантах осуществления сервер 106 может быть выполнен с возможностью выдачи соответствующего возможного представления из множества возможных представлений 340 в алгоритм сопоставления. Например, сервер 106 может быть выполнен с возможностью использования алгоритма 270 сопоставления для сформированных данных 380 сопоставления, указывающих, какое возможное представление соответствует какой грамматике.
[131] Предполагается, что сервер 106, выполненный с возможностью сравнения множества возможных текстовых представлений 340, может содержать сервер 106, выполненный с возможностью доступа к структуре 330 графа для идентификации первого возможного текстового представления на основании первой последовательности ребер и сопоставления первого возможного текстового представления по меньшей мере с одной из множества грамматик 230.
Этап 412: инициирование посредством электронного устройства, в ответ на то, что определенное возможное текстовое представление соответствует одной из множества грамматик, действия, связанного с упомянутой одной из множества грамматик.
[132] Способ 400 переходит к этапу 412, при этом сервер 106 выполнен с возможностью инициирования, в ответ на то, что определенное возможное текстовое представление соответствует одной из множества грамматик 230, действия, связанного с упомянутой одной из множества грамматик 230.
[133] Предположим, что сервер 106 определяет, что первое возможное представление 341, второе возможное представление 342 и третье возможное представление 343 не соответствуют ни одной из множества грамматик 230. Однако предположим также, что третье возможное представление 343 действительно соответствовало определенной грамматике из множества грамматик 230. В результате сервер 106 может быть выполнен с возможностью выполнения действия 382, связанного с упомянутой определенной грамматикой из множества грамматик 230, которая была сопоставлена с третьим возможным представлением 343, чтобы удовлетворить намерение пользователя 102.
[134] В некоторых вариантах осуществления настоящей технологии, если более одного возможного представления из множества возможных представлений соответствуют грамматикам из множества грамматик 230, сервер 106 может быть выполнен с возможностью выбора того, какое действие среди соответствующих сопоставленных таким образом грамматик должно быть выполнено, чтобы удовлетворить намерение пользователя 102. Для этой цели в некоторых вариантах осуществления база 124 данных может быть выполнена с возможностью сохранения списка приоритетности навыков, в котором перечислены различные навыки системы 108 обработки IPA в заданном порядке приоритетности. Таким образом, сервер 106 может получить доступ к базе 124 данных и определить, что для удовлетворения намерения пользователя 102 должно быть выполнено действие, связанное с грамматикой с неустановленным приоритетом среди сопоставленных таким образом грамматик.
[135] В некоторых вариантах осуществления настоящей технологии следует отметить, что для того, чтобы сервер 106, был выполнен с возможностью формирования множества возможных текстовых представлений 340 на основании текстового представления 260, сервер 106 может быть выполнен с возможностью формирования по меньшей мере одного возможного текстового представления, в котором среди его слов отсутствует окказиональное слово, и по меньшей мере одного возможного текстового представления, в котором ненормализованное слово среди его слов заменено его нормализованной версией. По меньшей мере в некоторых вариантах осуществления по меньшей мере в одном возможном текстовом представлении может отсутствовать окказиональное слово из слов текстового представления 260, и ненормализованное слово из слов текстового представления 260 может быть заменено его нормализованной версией.
[136] Специалистам в данной области техники могут стать очевидными модификации и усовершенствования вышеописанных реализаций настоящей технологии. Вышеприведенное описание предназначено для того, чтобы быть примерным, а не ограничивающим. Поэтому подразумевается, что объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.