Способ и система перевода речи в текст
METHOD AND SYSTEM FOR SPEECH CONVERSION INTO TEXT

[001] Настоящая технология относится к распознаванию речи в целом и, более конкретно, к способу и системе для перевода речи в текст.
УРОВЕНЬ ТЕХНИКИ
[002] Распознавание речи может быть выполнено устройством, чтобы сделать взаимодействие пользователя с устройством более легким и естественным. Вместо того, чтобы вводить текст или вводить команды через сенсорный экран, пользователь может управлять устройством своей речью. Для перевода речи пользователя в текст были разработаны различные методы. Модель, включающая в себя словарь, может быть использована для идентификации текста, который произнес пользователь.
[003] Модель может быть разработана с использованием корпуса текста, например, текста, собранного из словарей и других книг, газет и журналов и т.д. Модель может указывать вероятность возникновения некоторого конкретного слова в речи. Модель может считаться «универсальной» моделью и использоваться для многочисленных устройств. Например, для всех носителей английского языка из США может быть разработана единая модель. Хотя эти универсальные модели могут быть использованы для большого числа пользователей, они не являются персонализированными для каждого пользователя.
[004] В патенте US 9,147,395, выданном 29 сентября 2015 года на имя LG Electronics Inc., описан мобильный терминал и используемый в нем способ распознавания речи. Способ распознавания речи может включать в себя прием речи пользователя; предоставление принятой речи первому средству распознавания речи, предоставленному на сервере, и второму средству распознавания речи, предоставленному в мобильном терминале; получение первых данных распознавания речи в результате распознавания принятой речи первым средством распознавания речи; получение вторых данных распознавания речи в результате распознавания принятой речи вторым средством распознавания речи; оценку функции, соответствующей намерению пользователя, основываясь на по меньшей мере одних из первых и вторых данных распознавания речи; вычисление подобия между первыми и вторыми данными распознавания речи, когда для оцениваемой функции требуется персональная информация; и выбор одних из первых и вторых данных распознавания речи на основе вычисленного подобия.
[005] Публикация US 2014/0136210 A1 патентной заявки, поданной 14 ноября 2012 года на имя Nuance Communications Inc., описывает, что персонализация распознавания речи при одновременном сохранении конфиденциальности пользовательских данных достигается путем передачи данных, ассоциированных с принятой речью, в службу распознавания речи и приема результата от службы распознавания речи. Результат службы распознавания речи генерируется исходя из общей языковой модели речи. Система генерирует конечный автомат ввода из результата распознавания речи и формирует конечный автомат ввода с конечным автоматом редактирования телефона, чтобы получить результирующий конечный автомат.Система формирует результирующий конечный автомат с конечным автоматом пользовательских данных, чтобы получить второй результирующий конечный автомат, и использует лучший путь через второй результирующий конечный автомат для получения характерного для пользователя результата распознавания речи.
[006] Публикация US 2015/0081294 A1 патентной заявки, поданной 18 сентября 2014 года компанией Maluuba Inc., описывает систему, способ и компьютерную программу, предназначенные для генерирования настраиваемых текстовых представлений звуковых команд. Первый модуль распознавания речи может быть использован для генерирования первого текстового представления звуковой команды на основе общей языковой грамматики. Второй модуль распознавания речи может быть использован для генерирования второго текстового представления звуковой команды, причем второй модуль включает в себя настраиваемую языковую грамматику, которая может включать в себя контакты для некоторого конкретного пользователя. Извлечение объектов применяется ко второму текстовому представлению и объекты проверяются по файлу, содержащему личностный языковой стиль. Если объекты найдены в характерном для пользователя языке, два текстовых представления могут быть объединены в объединенное текстовое представление, а распознавание именованных объектов может быть выполнено снова, чтобы извлечь дополнительные объекты.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[007] Разработчики настоящей технологии осознали по меньшей мере одну техническую проблему, ассоциированную с подходами в предшествующем уровне техники.
[008] Настоящая технология относится к распознаванию речи и, более конкретно, к способам и системам перевода речи в текст. Пользователи клиентских устройств могут включать личные данные в свою речь. Некоторые из этих личных данных могут храниться на их клиентских устройствах. Например, пользователь может запросить вызов контакта, сохраненного на его клиентском устройстве, или воспроизведение песни, хранящейся на его клиентском устройстве. Универсальная модель может не работать правильно при интерпретации таких запросов. Универсальная модель может не отражать того, что пользователь с большей вероятностью, чем популяция в целом, произносит слова в своих личных данных. Пользовательский опыт может быть улучшен, если система для перевода речи в текст адаптируется под личные данные пользователя.
[009] Как уже упоминалось выше, модели распознавания речи обычно основаны на универсальном корпусе текста и применяются для большого числа пользователей. Модель, адаптированная под конкретного человека, может обеспечивать более точные результаты.
[0010] Система перевода речи в текст, которая использует универсальную модель, может быть дополнена второй моделью, которая упоминается в данном документе как локальный граф. Локальный граф может быть характерным для отдельного пользователя и может быть сгенерирован с использованием текста, хранящегося на клиентском устройстве этого пользователя. Локальный граф может храниться на клиентском устройстве.
[0011] После приема пользовательского высказывания, например, посредством микрофона в клиентском устройстве, пользовательское высказывание может быть введено в локальный граф и универсальный граф. Как локальный граф, так и универсальный граф могут выводить прогнозный текст для пользовательского высказывания и/или показатель достоверности, соответствующий прогнозу. Показатели достоверности могут сравниваться, и может быть выбран либо прогнозный текст из локального графа, либо прогнозный текст из универсального графа.
[0012] Согласно первому широкому аспекту настоящей технологии обеспечен способ перевода речи в текст, причем речь принята клиентским устройством. Способ является исполняемым на клиентском устройстве и содержит: прием пользовательского высказывания, соответствующего речи; определение на основе локального графа, сохраненного клиентским устройством, первого прогнозного текста, соответствующего пользовательскому высказыванию, и первого показателя достоверности, соответствующего первому прогнозному тексту, при этом локальный граф содержит дерево, при этом каждый лист этого дерева соответствует слову, и при этом локальный граф генерируется на основе текста, сохраненного клиентским устройством; передачу на сервер пользовательского высказывания; прием от сервера второго прогнозного текста, соответствующего пользовательскому высказыванию, и второго показателя достоверности, соответствующего второму прогнозному тексту; сравнение первого показателя достоверности со вторым показателем достоверности; и после определения того, что первый показатель достоверности больше, чем второй показатель достоверности, вывод первого прогнозного текста.
[0013] В некоторых реализациях упомянутого способа первый узел в каждой ветви дерева содержит первую букву слова.
[0014] В некоторых реализациях упомянутого способа каждый последующий узел после первого узла содержит следующую букву слова.
[0015] В некоторых реализациях упомянутого способа первый лист в дереве содержит первое спряжение слова, при этом второй лист в дереве содержит второе спряжение упомянутого слова, причем первый лист и второй лист имеют общий родительский узел в дереве.
[0016] В некоторых реализациях упомянутого способа каждый лист дерева ассоциирован с показателем достоверности, при этом показатель достоверности указывает частоту, с которой слово, соответствующее соответствующему листу, встречается в тексте, хранимом клиентским устройством.
[0017] В некоторых реализациях упомянутого способа определение первого прогнозного текста содержит определение листа дерева, который соответствует пользовательскому высказыванию, при этом первый показатель достоверности содержит показатель достоверности, соответствующий этому листу.
[0018] В некоторых реализациях упомянутого способа локальный граф генерируется посредством: применения текста, сохраненного клиентским устройством, к нормализатору (“normalizer”), тем самым генерируя нормализованный текст; применения текста, сохраненного клиентским устройством, и нормализованного текста к инфлектору (“inflector”), тем самым генерируя инфлектированный текст; и генерирования локального графа на основе текста, сохраненного клиентским устройством, нормализованного текста и инфлектированного текста.
[0019] В некоторых реализациях упомянутого способа нормализатор преобразует цифры в тексте, сохраненном клиентским устройством, в текст.
[0020] В некоторых реализациях упомянутого способа инфлектор принимает слово и генерирует множество форм этого слова.
[0021] В некоторых реализациях упомянутого способа текст, сохраненный клиентским устройством, содержит список контактов.
[0022] В некоторых реализациях упомянутого способа текст, сохраненный клиентским устройством, соответствует музыке, сохраненной клиентским устройством.
[0023] В некоторых реализациях упомянутого способа локальный граф персонализирован для пользователя клиентского устройства.
[0024] В некоторых реализациях упомянутого способа локальный граф представляет собой дерево n-грамм, при этом каждый узел в локальном графе соответствует отдельной n-грамме.
[0025] Согласно другому широкому аспекту настоящей технологии обеспечен способ перевода речи в текст, причем речь принята клиентским устройством. Способ является исполняемым на сервере и содержит: прием от клиентского устройства пользовательского высказывания, соответствующего речи; определение на основе графа, первого прогнозного текста, соответствующего пользовательскому высказыванию, и первого показателя достоверности, соответствующего первому прогнозному тексту, при этом граф содержит дерево, при этом каждый лист этого дерева соответствует слову; прием от клиентского устройства второго прогнозного текста, соответствующего пользовательскому высказыванию, и второго показателя достоверности, соответствующего второму прогнозному тексту, при этом второй прогнозный текст был определен клиентским устройством, при этом второй прогнозный текст был определен на основе локального графа, хранимого клиентским устройством, при этом локальный граф был сгенерирован на основе текста, хранимого клиентским устройством; сравнение первого показателя достоверности со вторым показателем достоверности; и после определения того, что первый показатель достоверности больше, чем второй показатель достоверности, передачу первого прогнозного текста на клиентское устройство.
[0026] В некоторых реализациях упомянутого способа первый лист в дереве содержит первое спряжение слова, а второй лист в дереве содержит второе спряжение упомянутого слова, причем первый лист и второй лист имеют общий родительский узел в дереве.
[0027] В некоторых реализациях упомянутого способа каждый лист дерева ассоциирован с показателем достоверности, при этом показатель достоверности указывает частоту, с которой слово, соответствующее соответствующему листу, встречается в тексте, хранимом клиентским устройством.
[0028] Согласно другому широкому аспекту настоящей технологии обеспечен способ перевода речи в текст, причем речь принята клиентским устройством. Способ является исполняемым на сервере и содержит: прием от клиентского устройства пользовательского высказывания, соответствующего речи; определение на основе графа, первого прогнозного текста, соответствующего пользовательскому высказыванию, и первого показателя достоверности, соответствующего первому прогнозному тексту, при этом граф содержит дерево, при этом каждый лист этого дерева соответствует слову; и передачу клиентскому устройству первого прогнозного текста и первого показателя достоверности для сравнения первого прогнозного текста и первого показателя достоверности со вторым прогнозным текстом и вторым показателем достоверности, при этом второй прогнозный текст и второй показатель достоверности был определен клиентским устройством на основе локального графа, хранимого клиентским устройством, при этом локальный граф был сгенерирован на основе текста, хранимого клиентским устройством.
[0029] В некоторых реализациях упомянутого способа каждый лист дерева ассоциирован с показателем достоверности.
[0030] В некоторых реализациях упомянутого способа граф соответствует графу, используемому для перевода речи в текст для множества клиентских устройств, при этом локальный граф является уникальным для клиентского устройства.
[0031] В некоторых реализациях упомянутого способа локальный граф был сгенерирован на основе текста, хранимого клиентским устройством, нормализованного текста и инфлектированного текста, при этом нормализованный текст был сгенерирован путем применения текста, хранимого клиентским устройством, к нормализатору, а инфлектированный текст был сгенерирован путем применения текста, хранимого клиентским устройством, и нормализованного текста к инфлектору.
[0032] Согласно другому широкому аспекту настоящей технологии обеспечен способ перевода речи в текст, причем речь принята клиентским устройством. Способ является исполняемым на клиентском устройстве и содержит: прием пользовательского высказывания, соответствующего речи; определение на основе локального графа, хранимого клиентским устройством, прогнозного текста, соответствующего пользовательскому высказыванию, и показателя достоверности, соответствующего прогнозному тексту, при этом локальный граф содержит дерево, при этом каждый лист этого дерева соответствует слову, и при этом локальный граф генерируется на основе текста, хранимого клиентским устройством; сравнение показателя достоверности с пороговым показателем достоверности; определение на основе порогового показателя достоверности, следует ли передавать пользовательское высказывание на сервер; после определения того, что показатель достоверности удовлетворяет пороговому показателю достоверности, определение, что пользовательское высказывание не следует передавать на сервер; и вывод прогнозного текста.
[0033] В контексте настоящего описания «сервер» представляет собой систему и/или компьютерную программу, которая работает на надлежащем аппаратном обеспечении и способна принимать запросы (например, от электронных устройств) по сети и выполнять эти запросы или вызывать выполнение этих запросов. Аппаратное обеспечение может быть одним физическим компьютером или одной физической компьютерной системой, но ни то, ни другое не является обязательным для настоящей технологии. В настоящем контексте использование выражения «сервер» не предназначено для обозначения того, что каждая задача (например, принимаемые инструкции или запросы) или какая-либо конкретная задача будет принята, выполнена или будет вызвана для выполнения одним и тем же сервером (т.е. одним и тем же программным и/или аппаратным обеспечением); подразумевается, что любое количество программных элементов или аппаратных устройств может быть вовлечено в прием/отправку, выполнение или вызов для выполнения любой задачи или запроса, или последствий любой задачи или запроса; и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, причем оба этих случая включены в выражение «по меньшей мере один сервер».
[0034] В контексте настоящего описания "электронное устройство" представляет собой любое компьютерное оборудование, которое способно выполнять программное обеспечение, которое является надлежащим для соответствующей поставленной задачи. Таким образом, некоторые (неограничивающие) примеры электронных устройств включают в себя персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что устройство, выступающее в качестве электронного устройства в настоящем контексте, не исключается из возможности выступать в качестве сервера для других электронных устройств. Использование выражения "электронное устройство" не исключает использования многочисленных электронных устройств при приеме/отправке, выполнении или вызове для выполнения какой-либо задачи или запроса, или последствий любой задачи или запроса, или этапов любого описанного в данном документе способа.
[0035] В контексте настоящего описания "база данных" представляет собой любую структурированную совокупность данных, независимо от ее конкретной структуры, программное обеспечение для администрирования базы данных, или компьютерное аппаратное обеспечение, на котором данные хранятся, реализуются или их делают доступными для использования иным образом. База данных может находиться на том же аппаратном обеспечении, что и процесс, который хранит или использует информацию, хранящуюся в базе данных, или она может находиться на отдельном аппаратном обеспечении, например, на выделенном сервере или множестве серверов.
[0036] В контексте настоящего описания выражение "информация" включает в себя информацию любого характера или вида, который способен храниться в базе данных любым образом. Таким образом, информация включает в себя, но без ограничения, аудиовизуальные произведения (изображения, фильмы, звуковые записи, презентации и т.д.), данные (данные о местоположении, численные данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.
[0037] В контексте настоящего описания предполагается, что выражение "используемый компьютером носитель информации" включает в себя носители любого типа и вида, в том числе RAM, ROM, диски (CD-ROM, DVD, дискеты, накопители на жестких дисках и т.д.), USB-ключи, твердотельные накопители, ленточные накопители и т.д.
[0038] В контексте настоящего описания, если прямо не предусмотрено иное, "указание" информационного элемента может быть самим информационным элементом или указателем, ссылкой, гиперссылкой или другим опосредованным механизмом, позволяющим получателю такого указания найти местоположение в сети, памяти, базе данных или другом считываемом компьютером носителе, из которого информационный элемент может быть извлечен. Например, указание документа может включать в себя сам документ (т.е. его содержимое), или оно может быть уникальным дескриптором документа, идентифицирующим файл относительно некоторой конкретной файловой системы, или некоторым другим средством направления получателя такого указания в местоположение в сети, адрес в памяти, таблицу в базе данных или в иное местоположение, в котором можно осуществить доступ к файлу. Специалист в данной области поймет, что степень точности, требуемая в таком указании, зависит от степени какого-либо предварительного понимания того, какая интерпретация будет дана информации, обмениваемой между отправителем и получателем этого указания. Например, если до связи между отправителем и получателем понимается, что указание информационного элемента будет иметь форму ключа базы данных для записи в некоторой конкретной таблице предопределенной базы данных, содержащей информационный элемент, то отправка ключа базы данных является всем, что требуется для эффективной передачи информационного элемента получателю, даже если сам информационный элемент не был передан между отправителем и получателем указания.
[0039] В контексте настоящего описания слова "первый", "второй", "третий" и т.д. используются в качестве прилагательных только для того, чтобы позволить отличать существительные, которые они модифицируют, друг от друга, а не для описания какой-либо конкретной взаимосвязи между такими существительными. Таким образом, например, следует понимать, что использование терминов "первый сервер" и "третий сервер" не подразумевает какого-либо конкретного порядка, типа, хронологии, иерархии или ранжирования (например) таких серверов, равно как и их использование (само по себе) не означает, что какой-либо "второй сервер" должен обязательно существовать в любой определенной ситуации. Кроме того, как обсуждается в других контекстах данного документа, ссылка на "первый" элемент и "второй" элемент не исключает того, что эти два элемента фактически являются одним и тем же элементом реального мира. Таким образом, например, в некоторых случаях "первый" сервер и "второй" сервер могут быть одним и тем же программным обеспечением и/или аппаратным обеспечением, и/или они могут совместно использовать программное обеспечение и/или аппаратное обеспечение. В других случаях они могут представлять собой разное программное обеспечение и/или аппаратное обеспечение.
[0040] Каждая из реализаций настоящей технологии обладает по меньшей мере одним из вышеупомянутых аспектов и/или целей, но не обязательно имеет их все. Следует понимать, что некоторые аспекты настоящей технологии, которые возникли в попытке достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или удовлетворять другим целям, которые не описаны в данном документе явным образом.
[0041] Дополнительные и/или альтернативные признаки, аспекты и преимущества реализаций настоящей технологии станут очевидными из нижеследующего описания, сопроводительных чертежей и приложенной формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0042] Для лучшего понимания настоящей технологии, а также других аспектов и ее дополнительных признаков, ссылка приводится на нижеследующее описание, которое должно использоваться в сочетании с сопроводительными чертежами, на которых:
[0043] Фигура 1 представляет собой иллюстрацию компонентов и признаков вычислительного устройства в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[0044] Фигура 2 иллюстрирует схему системы перевода речи в текст, реализованной в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[0045] Фигура 3 иллюстрирует схему системы обработки пользовательского высказывания в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[0046] Фигура 4 иллюстрирует граф в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[0047] Фигура 5 иллюстрирует схему системы генерирования локального графа в соответствии с неограничивающими вариантами осуществления настоящей технологии.
[0048] Фигуры 6, 7 и 8 иллюстрируют блок-схему последовательности операций способа перевода речи в текст в соответствии с неограничивающими вариантами осуществления настоящей технологии.
ПОДРОБНОЕ ОПИСАНИЕ
[0049] Приведенные в данном документе примеры и условные формулировки призваны главным образом помочь читателю понять принципы настоящей технологии, а не ограничить ее объем такими конкретно приведенными примерами и условиями. Должно быть понятно, что специалисты в данной области смогут разработать различные механизмы, которые, хоть и не описаны в данном документе явным образом, тем не менее воплощают принципы настоящей технологии и включаются в ее суть и объем.
[0050] Кроме того, нижеследующее описание может описывать реализации настоящей технологии в относительно упрощенном виде для целей упрощения понимания. Специалисты в данной области поймут, что различные реализации настоящей технологии могут иметь большую сложность.
[0051] В некоторых случаях также могут быть изложены примеры модификаций настоящей технологии, которые считаются полезными. Это делается лишь для содействия понимаю и, опять же, не для строгого определения объема или границ настоящей технологии. Эти модификации не являются исчерпывающим списком, и специалист в данной области может осуществлять другие модификации, все еще оставаясь при этом в рамках объема настоящей технологии. Кроме того, случаи, когда примеры модификаций не приводятся, не следует толковать так, что никакие модификации не могут быть осуществлены и/или что описанное является единственным способом реализации такого элемента настоящей технологии.
[0052] Кроме того, все содержащиеся в данном документе утверждения, в которых указываются принципы, аспекты и реализации настоящей технологии, а также их конкретные примеры, призваны охватить как структурные, так и функциональные эквиваленты, вне зависимости от того, известны ли они в настоящее время или будут разработаны в будущем. Таким образом, например, специалисты в данной области осознают, что любые блок-схемы в данном документе представляют концептуальные виды иллюстративной схемы, воплощающей принципы настоящей технологии. Аналогичным образом, будет понятно, что любые блок-схемы, схемы последовательностей операций, схемы изменения состояний, псевдокоды и подобное представляют различные процессы, которые могут быть по сути представлены на считываемых компьютером носителях и исполнены компьютером или процессором вне зависимости от того, показан такой компьютер или процессор явным образом или нет.
[0053] Функции различных элементов, показанных на фигурах, в том числе любого функционального блока, помеченного как «процессор» или «графический процессор», могут быть обеспечены с помощью специального аппаратного обеспечения, а также аппаратного обеспечения, способного исполнять программное обеспечение, в сочетании с надлежащим программным обеспечением. При обеспечении процессором функции могут быть обеспечены одним выделенным процессором, одним совместно используемым процессором и/или множеством отдельных процессоров, некоторые из которых могут быть совместно используемыми. В некоторых вариантах осуществления настоящей технологии процессор может быть процессором общего назначения, таким как центральный процессор (CPU) или процессор, выделенный для конкретной цели, например, графический процессор (GPU). Кроме того, явное использование термина "процессор" или "контроллер" не должно истолковываться как относящееся исключительно к аппаратному обеспечению, способному исполнять программное обеспечение, и может в неявной форме включать в себя, без ограничений, аппаратное обеспечение цифрового сигнального процессора (DSP), сетевой процессор, интегральную схему специального назначения (ASIC), программируемую пользователем вентильную матрицу (FPGA), постоянную память (ROM) для хранения программного обеспечения, оперативную память (RAM) и/или энергонезависимое хранилище. Другое аппаратное обеспечение, традиционное и/или специализированное, также может быть включено в состав.
[0054] Программные модули, или просто модули, в качестве которых может подразумеваться программное обеспечение, могут быть представлены в настоящем документе как любая комбинация элементов блок-схемы последовательности операций или других элементов, указывающих выполнение этапов процесса и/или текстовое описание. Такие модули могут выполняться аппаратным обеспечением, которое показано явно или неявно.
[0055] Учитывая эти основополагающие вещи, рассмотрим некоторые неограничивающие примеры, чтобы проиллюстрировать различные реализации аспектов настоящей технологии.
[0056] Со ссылкой на фигуру 1 показано вычислительное устройство 100, подходящее для использования с некоторыми реализациями настоящей технологии. Вычислительное устройство 100 содержит различные аппаратные компоненты, в том числе один или более одноядерных или многоядерных процессоров, совместно представленных процессором 110, графический процессор (GPU) 111, твердотельный накопитель 120, оперативную память 130, интерфейс 140 дисплея и интерфейс 150 ввода/вывода.
[0057] Связь между различными компонентами вычислительного устройства 100 может обеспечиваться одной или несколькими внутренними и/или внешними шинами 160 (например, шиной PCI, универсальной последовательной шиной, шиной IEEE 1394 "Firewire", шиной SCSI, шиной Serial-ATA и т.д.), с которыми различные аппаратные компоненты связаны электронным образом.
[0058] Интерфейс 150 ввода/вывода может быть связан с сенсорным экраном 190 и/или с одной или несколькими внутренними и/или внешними шинами 160. Сенсорный экран 190 может быть частью дисплея. В некоторых вариантах осуществления, сенсорный экран 190 является дисплеем. Сенсорный экран 190 может также упоминаться как экран 190. В вариантах осуществления, проиллюстрированных на фигуре 1, сенсорный экран 190 содержит аппаратное обеспечение 194 для восприятия касания (например, чувствительные к давлению ячейки, встроенные в слой дисплея, позволяющие обнаруживать физическое взаимодействие между пользователем и дисплеем) и контроллер 192 сенсорного ввода/вывода, обеспечивающий возможность связи с интерфейсом 140 дисплея и/или одной или более внутренними и/или внешними шинами 160. В некоторых вариантах осуществления интерфейс 150 ввода/вывода может быть подключен к клавиатуре (не показана), мыши (не показана) или трекпаду (не показан), позволяющим пользователю взаимодействовать с вычислительным устройством 100 в дополнение к или вместо сенсорного экрана 190. В некоторых вариантах осуществления вычислительное устройство 100 может содержать один или более микрофонов (не показаны). Микрофоны могут записывать аудио, например, пользовательские высказывания. Пользовательские высказывания могут быть переведены в команды для управления вычислительным устройством 100.
[0059] Следует отметить, что некоторые компоненты вычислительного устройства 100 могут быть опущены в некоторых неограничивающих вариантах осуществления настоящей технологии. Например, сенсорный экран 190 может быть опущен, особенно (но не ограничиваясь этим), когда вычислительное устройство реализовано как умная колонка.
[0060] Согласно реализациям настоящей технологии, твердотельный накопитель 120 хранит программные инструкции, подходящие для загрузки в оперативную память 130 и исполнения процессором 110 и/или GPU 111. Например, программные инструкции могут быть частью библиотеки или приложения.
[0061] Вычислительное устройство 100 может быть сервером, настольным компьютером, ноутбуком, планшетом, смартфоном, карманным персональным компьютером или любым устройством, которое может быть выполнено с возможностью реализации настоящей технологии, как будет понятно специалисту в данной области техники.
[0062] Со ссылкой на Фигуру 2 проиллюстрирована схема системы перевода речи в текст, реализованной в соответствии с неограничивающими вариантами осуществления настоящей технологии. Проиллюстрированы два клиентских устройства 210 и 220. Клиентские устройства 210 и 220 могут быть вычислительными устройствами 100, такими как смартфоны, планшеты или умные колонки. Каждое из клиентских устройств 210 и 220 может управляться разными пользователями.
[0063] Клиентские устройства 210 и 220 могут хранить различные данные, соответствующие пользователю каждого устройства. Например, клиентские устройства 210 и 220 могут хранить контакты, электронные письма, текстовые сообщения, музыку, историю просмотра веб-страниц, данные календаря, приложения и т.д. Хотя описано, что они хранятся на клиентских устройствах 210 и 220, некоторые или все эти данные могут храниться удаленно от клиентских устройств 210 и 220. Например, список контактов, используемый клиентским устройством 210, может храниться в облачной среде хранения или на удаленном сервере.
[0064] Данные, хранящиеся на клиентском устройстве 210, могут быть использованы для генерирования локального графа 215. Локальный граф 215 может быть сгенерирован клиентским устройством 210. Локальный граф 215 может быть сохранен на клиентском устройстве 210. Локальный граф 215 может включать в себя словарь слов, имеющихся в данных, хранящихся на клиентском устройстве 210. Локальный граф 215 может включать в себя прогнозную вероятность включения каждого слова в графе в текст.Прогнозная вероятность может быть определена на основе частоты слова в данных, хранящихся на клиентском устройстве 210. Аналогично, локальный граф 225 может быть сгенерирован для клиентского устройства 220 на основе данных, хранящихся на клиентском устройстве 220.
[0065] Локальные графы 215 и 225 могут быть использованы для прогнозирования слов, возникающих в пользовательском высказывании. В дополнение к прогнозированию, локальные графы 215 и 225 могут быть использованы для определения показателя достоверности, соответствующего прогнозу. Поскольку локальные графы 215 и 225 генерируются с использованием данных, хранящихся на клиентских устройствах 210 и 220, каждый из этих локальных графов 215 и 225 является персонализированным для ассоциированного клиентского устройства 210 или 220. Если оба локальных графа 215 и 225 приняли идентичные входные данные, локальные графы 215 и 225 могут выдать разные прогнозы.
[0066] Клиентские устройства 210 и 220 могут поддерживать связь с сервером 230, например, через сетевое соединение. Сервер 230 может предоставлять интерфейс для перевода речи в текст. Сервер 230 может хранить граф 235. Граф 235 может иметь аналогичный или подобный локальным графам 215 и 225 формат. Но в отличие от локальных графов 215 и 225, граф 235 может быть использован для обработки запросов, принимаемых от многочисленных клиентских устройств, например, от сотен тысяч клиентских устройств. Клиентские устройства 210 и 220 могут передавать пользовательские высказывания на сервер 230. Затем сервер 230 может использовать граф 235 для прогнозирования текста, соответствующего пользовательским высказываниям. Граф 235 может выводить показатель достоверности для каждого прогноза.
[0067] Показатели достоверности, выведенные локальными графами 215 и 225, можно сравнить с графом 235. Если локальный граф 215 или 225 имеет более высокий показатель достоверности, может быть использован прогноз, сделанный локальным графом 215 или 225. Если, с другой стороны, граф 235 имеет более высокий показатель достоверности для некоторого прогноза, можно быть использован этот прогноз, выведенный графом 235.
[0068] Прогнозы, генерируемые с использованием как локального графа 215 или 225, так и графа 235, могут быть более точными, чем прогнозы, генерируемые с использованием лишь локального графа 215 или 225, и более точными, чем прогнозы, генерируемые с использованием лишь графа 235. Посредством использования как локального графа 215 или 225, так и графа 235, прогнозы обладают преимуществом того, что они адаптированы для отдельного пользователя благодаря локальному графу 215 или 225, а также получают преимущество от большего универсального набора данных за счет графа 235.
[0069] Со ссылкой на Фигуру 3 проиллюстрирована схема системы для обработки пользовательского высказывания в соответствии с неограничивающими вариантами осуществления настоящей технологии. Пользовательское высказывание 310 может быть записанной речью, такой как устная команда от пользователя клиентского устройства 210. Пользовательское высказывание 310 может быть записано после того, как обнаружено триггерное слово для начала записи. Например, если триггерным словом является «Алиса», может быть записано пользовательское высказывание, произнесенное после слова «Алиса».
[0070] Пользовательское высказывание может быть записано одним или более микрофонами, такими как один или более микрофонов, в клиентском устройстве 210. Пользовательское высказывание может быть записано микрофоном, внешним по отношению к клиентскому устройству 210, таким как микрофон гарнитуры, беспроводным образом взаимодействующей с клиентским устройством 210.
[0071] После приема пользовательского высказывания 310 клиентское устройство 210 использует локальный граф 215, чтобы определить локальный прогноз 320 для пользовательского высказывания 310. Показатель 325 достоверности может быть определен для локального прогноза 320. Локальным прогнозом 320 может быть прогнозный (спрогнозированный) текст, соответствующим пользовательскому высказыванию 310. Показатель 325 достоверности может указывать достоверность, ассоциированную с локальным прогнозом 320.
[0072] Клиентское устройство 210 может передавать пользовательское высказывание 310 на сервер 230. Следует отметить, что клиентское устройство 210 может передавать пользовательское высказывание на сервер 230, как только клиентское устройство 210 принимает пользовательское высказывание 310, так что локальная обработка, описанная выше, и серверная обработка, которая будет описана ниже, исполняются по существу параллельно. Другие реализации также являются возможными, как будет описано более подробно ниже. Сервер 230 может использовать граф 235 для определения прогноза 330 для пользовательского высказывания 310. Сервер 230 может использовать граф 235 для определения показателя 335 достоверности для прогноза 330. Аналогично локальному прогнозу 320, прогноз 330 может включать в себя прогнозный текст, соответствующий пользовательскому высказыванию 310. Показатель 335 достоверности может указывать уровень достоверности в прогнозе 330.
[0073] Средство (механизм) 340 сравнения может принимать и сравнивать показатель 325 достоверности и показатель 335 достоверности. Средство 340 сравнения может принимать прогнозы 320 и 330 и/или показатели 325 и 335 достоверности. Затем средство 340 сравнения может определять выходной (выводимый) прогноз 350. Средство 340 сравнения может быть расположено на клиентском устройстве 210, сервере 230 и/или на другом устройстве. Средство 340 сравнения может выбирать то, какой прогноз 320 или 330 имеет наивысший показатель 325 или 335 достоверности. Выбранный прогноз 320 или 330 может быть выведен в качестве выходного прогноза 350.
[0074] В некоторых случаях может использоваться пороговое значение, при котором локальный прогноз 320 может быть выбран, даже если показатель 325 достоверности ниже, чем показатель 335 достоверности. В этом случае, если показатель 325 достоверности ниже, чем показатель 335 достоверности, менее чем на предварительно определенную пороговую величину, то локальный прогноз 320 может быть выведен в качестве выходного прогноза 350 средством 340 сравнения.
[0075] Пользовательское высказывание 310 может не отправляться на сервер 230 для прогноза с использованием графа 235. Если показатель 325 достоверности удовлетворяет предопределенному пороговому значению, пользовательское высказывание 310 может не отправляться на сервер 230. В этом случае выходным прогнозом 350 будет локальный прогноз 320. Поскольку прогноз 330 в этом случае сгенерирован не будет, средство 340 сравнения может не использоваться.
[0076] Со ссылкой на Фигуру 4 проиллюстрирован граф 400 согласно неограничивающим вариантам осуществления настоящей технологии. Граф 400 включает в себя узлы и ребра, соединяющие эти узлы. Узлы проиллюстрированы как содержащие отдельные буквы. Несмотря на то, что они проиллюстрированы как включающие в себя буквы, в некоторых случаях каждый узел может содержать несколько букв, например, n-граммы (такие как биграммы, триграммы или тому подобное). Графы 215, 225 и 235 могут иметь аналогичный или подобный проиллюстрированному графу 400 формат.
[0077] Форматом графа 400 является префиксное дерево. В этом дереве каждый узел соединен ровно одним ребром. На первом уровне этого дерева находятся 26 корней, соответствующих буквам «A» - «Z», в качестве примера, если используется английский алфавит. Следует отметить, что это дерево может иметь больше корней, например, 33 корня, если вместо упомянутого алфавита используется русский алфавит.
[0078] Каждый корень затем соединяется с различными другими узлами, которые могут именоваться дочерними узлами, оканчиваясь на конечном узле, который именуется листом. Набор узлов между корнем и листом именуется ветвью. Каждая ветвь образует по меньшей мере одно слово, при этом лист является последней буквой этого слова. Например, крайняя слева ветвь на графе 400 содержит слова ‘age’ и ‘ages’. Ветви могут образовывать имена собственные, например, крайняя справа ветвь на графе 400, которая образует имя ‘Zoe’.
[0079] В графе 400 могут быть сохранены многочисленные спряжения слова, например, многочисленные спряжения, сгенерированные инфлектором (описанным ниже более подробно). Многочисленные спряжения могут разделять один или более общих узлов, например, общий корень. Каждое слово и/или лист, хранящиеся в графе 400, могут быть ассоциированы с показателем. Показатель может указывать частоту, с которой слово встречается в тексте, используемом для генерирования графа 400. Показатель для каждого слова может быть сохранен в графе 400. Показатель может быть показателем достоверности для прогноза, таким как показатели 325 и 335 достоверности. В некоторых неограничивающих вариантах осуществления настоящей технологии разные спряжения одного и того же слова могут иметь одинаковый показатель достоверности.
[0080] Вместо того, чтобы рассматривать каждое слово в отдельности, может быть полезно изучить взаимосвязь между словами, чтобы повысить точность прогнозирования. Поддерживающие (boost) показатели могут быть определены для слов, которые часто встречаются вместе в тексте, используемом для генерирования графа 400. Поддерживающие показатели могут храниться отдельно от графа 400. Если первое слово распознается в пользовательском высказывании с использованием графа 400, поддерживающие показатели, соответствующие этому первому слову, могут быть использованы для прогнозирования следующего слова в пользовательском высказывании. Например, некоторые поддерживающие показатели могут поддерживать определенное спряжение второго слова, которое следует за первым словом, если это спряжение второго слова зависит от формы первого слова.
[0081] Со ссылкой на Фигуру 5 проиллюстрирована схема системы для генерирования локального графа согласно неограничивающим вариантам осуществления настоящей технологии. Клиентское устройство 210 может хранить различные данные для пользователя клиентского устройства 210. Например, клиентское устройство 210 может хранить контакты 520, музыку 530, сообщения 540 (текстовые, электронные сообщения и т.д.), приложения 550 и/или другие данные. Несмотря на то, что они проиллюстрированы как хранящиеся в клиентском устройстве 210, следует понимать, что все или части контактов 520, музыки 530, сообщений 540 и/или приложений 550 могут быть сохранены вне клиентского устройства 210, например, в облачной среде.
[0082] Текст может быть сгенерирован согласно контактам 520, музыке 530, сообщениям 540, приложениям 550 и/или другим данным, хранимым клиентским устройством 210. Например, могут быть извлечены имена всех контактов 520, могут быть извлечены названия и исполнители всей музыки 530, могут быть извлечены названия приложений 550 и т.д. Этот текст может образовывать корпус текста, используемый для генерирования локального графа 215.
[0083] После генерирования корпуса текста с использованием данных, хранящихся на клиентском устройстве 210, корпус может быть введен в нормализатор 560. Нормализатор 560 может храниться и/или исполняться на клиентском устройстве 210 и/или на сервере. Если нормализатор 560 исполняется на сервере, корпус текста может быть передан клиентским устройством 210 на сервер. Нормализатор 560 может переводить любые нетекстовые части корпуса текста в текст. Нормализатор 560 может преобразовать цифры, аббревиатуры, сленг и/или локальные выражения в текст. Например, если корпус текста включает в себя цифру «24», нормализатор может преобразовать эту цифру в текст «twenty four». В другом примере, если корпус текста включает в себя «$4,50», нормализатор 560 может преобразовать это в «four dollars, fifty cents». В еще одном примере, если корпус текста включает в себя «12ft», нормализатор 560 может преобразовать это в «twelve feet». Хотя здесь приведены примеры на английском языке, нормализатор 560 может функционировать для других языков, таких как русский. Нормализатор 560 может заменить исходный текст в корпусе текста переведенным текстом и/или сохранить исходный текст в корпусе текста и добавить переведенный текст в корпус текста.
[0084] После того как корпус текста был обработан нормализатором 560, корпус текста может быть введен в инфлектор 570. Аналогично нормализатору 560, инфлектор 570 может храниться и/или исполняться на клиентском устройстве 210 и/или отдельном устройстве, таком как сервер. Инфлектор 570 может генерировать альтернативные формы текста в корпусе. Инфлектор 570 может генерировать альтернативные спряжения слов, альтернативные написания слов и т.д. Например, если текст «twenty-four» был принят инфлектором 570, инфлектор может вывести «twenty four» и «two four». Вывод инфлектора 570 может быть добавлен в корпус текста.
[0085] После того как корпус текста был обработан нормализатором 560 и инфлектором 570, локальный граф 215 может быть сгенерирован с использованием корпуса текста. Локальный граф 215 может включать в себя каждое слово в корпусе текста. Локальный граф 215 может указывать частоту появления для каждого слова в корпусе текста. Затем локальный граф 215 может быть использован для прогнозирования текста, соответствующего пользовательскому высказыванию.
[0086] Следует отметить, что, хотя в вышеприведенных примерах было описано, что локальный граф 215 хранится на клиентском устройстве 210, а граф 235 хранится на сервере 230, эти два графа (локальный граф 215 и граф 235) могут храниться на одном физическом носителе информации, будь то сервер 230 или клиентское устройство 210.
Способ (неограничивающий вариант осуществления)
[0087] Со ссылкой на Фигуры 6, 7 и 8 проиллюстрирована схема последовательности операций способа 600, причем способ 600 реализуется в соответствии с неограничивающими вариантам осуществления настоящей технологии.
Этап 605 - извлечение текста, хранящегося на клиентском устройстве
[0088] Способ 600 начинается с этапа 605. На этапе 605 текст и/или другие данные, хранящиеся на клиентском устройстве, могут быть извлечены. Текст может включать в себя контакты 520, музыку 530, сообщения 540, приложения 550, плейлисты, книги, данные календаря и/или любые другие данные, хранящиеся на клиентском устройстве. Несмотря на то, что описано, что на клиентском устройстве хранится текст, могут быть извлечены другие данные, которые ассоциированы с пользователем клиентского устройства, независимо от того, хранятся ли эти данные на клиентском устройстве, например, пользовательские данные, хранящиеся в облачной среде.
[0089] Извлекаемые данные могут исходить от нескольких устройств, например, нескольких устройств, ассоциированных с одним и тем же пользователем. Например, если у пользователя есть и смартфон, и планшет, данные могут быть извлечены как со смартфона, так и с планшета.
Этап 610 - применение текста к нормализатору
[0090] На этапе 610 текст, извлеченный на этапе 605, может быть применен к нормализатору, такому как нормализатор 560. Нормализатор может выводить нормализованный текст, соответствующий тексту, извлеченному на этапе 605. Как описано выше, нормализатор может преобразовывать цифры, аббревиатуры, сленг и/или локальные выражения в текст. Нормализатор может применять к тексту набор правил и/или набор функций. Нормализатор может пройти по всему тексту, извлеченному на этапе 605.
Этап 615 - применение текста к инфлектору
[0091] На этапе 615 текст, извлеченный на этапе 605, и/или нормализованный текст, сгенерированный на этапе 610, могут быть введены в инфлектор, такой как инфлектор 570. Инфлектор может выводить инфлектированный текст.Как описано выше, инфлектор может генерировать альтернативные формы текста, такие как альтернативные спряжения, альтернативные варианты написания и т.д. Инфлектор может генерировать альтернативные формы слов в тексте, принятом на этапе 605, и/или нормализованном тексте, сгенерированном на этапе 610.
[0092] В зависимости от языка текста, этапы 610 и/или 615 могут быть пропущены. Например, нормализатор может не применяться к тексту, хранящемуся на английском языке. Если данные на нескольких языках хранятся на клиентском устройстве, текст, извлекаемый на этапе 605, может быть кластеризован по языкам. Нормализатор и/или инфлектор могут быть применены к подмножеству кластеров, основываясь на языке каждого кластера.
Этап 620 - генерирование локального графа
[0093] На этапе 620 локальный граф может быть сгенерирован с использованием текста, извлеченного на этапе 605, нормализованного текста, сгенерированного на этапе 610, и/или инфлектированного текста, сгенерированного на этапе 615. Локальный граф может быть сгенерирован клиентским устройством и/или сервером. После того, как локальный граф сгенерирован, локальный граф может быть сохранен на клиентском устройстве.
[0094] Локальный граф может включать в себя дерево, имеющее узлы и ребра, соединяющие эти узлы. Каждый узел может соответствовать одной букве. Первый узел в каждой ветви дерева может соответствовать первой букве слова. Последующие узлы в этой ветви могут соответствовать следующим буквам упомянутого слова. Каждая ветвь заканчивается в узле, который именуется листом. Лист может содержать последнюю букву слова, образованного ветвью. Каждый лист может соответствовать слову, при этом слово образуется каждой буквой от корневого узла до листа.
[0095] Граф может указывать частоту, с которой каждое слово, представленное в графе, встречается в тексте, извлеченном на этапе 605, нормализованном тексте, сгенерированном на этапе 610, и/или инфлектированном тексте, сгенерированном на этапе 615. Частота может быть в виде процентов. Частота может быть сохранена как весовые коэффициенты ребер на графе.
Этап 625 - прием пользовательского высказывания
[0096] На этапе 625 пользовательское высказывание может быть принято. Пользовательское высказывание может быть принято клиентским устройством, например, микрофоном клиентского устройства. Пользовательское высказывание может быть словом или несколькими словами. Пользовательское высказывание может быть командой, запросом или любым другим произносимым высказыванием. Как описано выше, триггерное слово может быть произнесено для указания того, что пользовательское высказывание, идущее после триггерного слова, должно быть захвачено.
[0097] После приема пользовательского высказывания пользовательское высказывание может быть модифицировано для обработки речи в текст.К пользовательскому высказыванию могут быть применены фильтры, например, для снижения фонового шума. Пользовательское высказывание может быть разделено на несколько сегментов, например, чтобы разделить пользовательское высказывание на отдельные слова и/или предложения. Если несколько говорящих лиц обнаружены в записанных аудиоданных, пользовательское высказывание от отдельного говорящего лица может быть изолировано в этих аудиоданных.
Этап 630 - использование локального графа для генерирования прогнозного текста
[0098] На этапе 630 локальный граф, сгенерированный на этапе 620, может быть использован для определения прогнозного текста, соответствующего пользовательскому высказыванию, принятому на этапе 625. Прогнозный текст может быть одним словом или несколькими словами. Локальный граф может быть использован для определения первого показателя достоверности, соответствующего прогнозному тексту. Поиск луча может быть выполнен с использованием локального графа для определения прогнозного текста.
[0099] Как описано выше, локальный граф может указывать частоту прогнозного слова. Первый показатель достоверности может быть определен на основе частоты прогнозного слова. Например, если прогнозное слово имеет относительно высокую указанную частоту, первый показатель достоверности может быть относительно высоким. Напротив, если прогнозное слово имеет относительно низкую указанную частоту, первый показатель достоверности может быть относительно низким.
Этапы 635 и 640 - сравнение первого показателя достоверности с пороговым показателем
[00100] На этапах 635 и 640 первый показатель достоверности может сравниваться с предопределенным пороговым показателем достоверности. Предопределенный пороговый показатель достоверности может быть установлен оператором системы перевода речи в текст. Предопределенный пороговый показатель достоверности может быть относительно высоким показателем. Может быть более эффективным полагаться исключительно на прогнозный текст, полученный посредством локального графа, такой как локальный граф 215, вместо того, чтобы обеспечивать прогноз как локальным графом, так и другим графом, таким как граф 235. Если показатель достоверности для прогноза посредством локального графа является достаточно высоким, можно предположить, что прогноз по другому графу не будет иметь достаточно высокий показатель достоверности для его выбора в качестве прогнозного текста для вывода. Можно также предположить, что если прогноз посредством локального графа имеет достаточно высокий показатель достоверности, тогда этот прогноз посредством локального графа, вероятно, является правильным. В этом случае генерирование другого прогноза посредством другого графа может быть избыточным, отнимающим время и/или может снизить точность системы перевода речи в текст.
[00101] Если на этапе 640 сделано определение, что первый показатель достоверности выше порогового показателя достоверности, способ 600 может завершаться на этапе 645. В противном случае, если первый показатель достоверности ниже порогового показателя, способ 600 может перейти на этап 650, на котором прогнозный текст, соответствующий пользовательскому высказыванию, будет определен с использованием другого графа. В некоторых случаях система перевода речи в текст может быть выполнена с возможностью всегда определять второй прогнозный текст, и в этом случае этапы 635 и 640 могут быть пропущены, а способ 600 может переходить непосредственно с этапа 630 на этап 650.
Этап 645 - вывод первого прогнозного текста
[00102] На этапе 645 первый прогнозный текст может быть выведен. Первый прогнозный текст может быть отображен. Первый прогнозный текст может быть использован в качестве ввода в приложение. Например, первый прогнозный текст может быть выведен с использованием интерфейса прикладного программирования (API). Если первый прогнозный текст соответствует команде, команда может быть выполнена клиентским устройством.
Этап 650 - передача пользовательского высказывания на сервер
[00103] На этапе 650 пользовательское высказывание может быть передано на сервер, например на сервер 230. Сервер может быть сервером, осуществляющим связь со многими другими клиентскими устройствами. Сервер может быть группой серверов, например облачным приложением. Сервер может реализовывать систему перевода речи в текст.
Этап 655 - генерирование второго прогнозного текста
[00104] На этапе 655 второй прогнозный текст может быть определен сервером с использованием графа, такого как граф 235. Второй показатель достоверности может быть определен согласно второму прогнозу. Граф может быть графом, используемым для генерирования прогнозов для многочисленных клиентских устройств. Граф может быть сгенерирован с использованием общего корпуса текста, а не текста, характерного для клиентского устройства, такого как локальный граф. Граф может иметь подобную локальному графу форму. Как и локальный граф, граф может включать в себя дерево, при этом каждому узлу в этом дереве соответствует некоторая буква. Дерево может указывать частоту, с которой встречается каждое слово в дереве. Поиск луча может быть выполнен с использованием этого графа для определения второго текста. Второй показатель достоверности может быть определен на основе частоты, с которой прогнозное слово встречается в тексте, использованном для генерирования графа.
Этапы 660 и 665 - сравнение первого показателя достоверности с пороговым показателем
[00105] На этапах 660 и 665 первый показатель достоверности может сравниваться со вторым показателем достоверности. Если на этапе 665 определено, что первый показатель достоверности является более высоким, первый прогнозный текст затем может быть выведен на этапе 645. Если второй показатель достоверности является более высоким, второй прогнозный текст может быть выведен на этапе 670.
[00106] В некоторых случаях первый прогнозный текст все же может быть выведен, даже если более высоким является второй показатель достоверности. Второй показатель достоверности может быть снижен, например, путем вычитания предопределенной величины или применения формулы ко второму показателю достоверности. В качестве альтернативы, может быть использовано предопределенное пороговое значение, при этом первый прогнозный текст может быть выведен, если первый показатель достоверности находится в пределах пороговой разности от второго показателя достоверности. Например, если пороговое значение составляет пять процентов, первый показатель достоверности равен 87 процентам, а второй показатель достоверности равен 89 процентам, первый прогнозный текст будет выводиться несмотря на то, что второй показатель достоверности является более высоким.
Этап 670 - вывод второго прогнозного текста
[00107] На этапе 670 второй прогнозный текст может быть выведен. Затем способ 600 может завершаться. Действия, выполняемые на этапе 670, могут быть аналогичны действиям, описанным выше в отношении этапа 645.
[00108] Хотя вышеописанные реализации были описаны и показаны со ссылкой на конкретные этапы, выполняемые в конкретном порядке, следует понимать, что эти этапы могут быть объединены, подразделены или переупорядочены без отклонения от идей настоящей технологии. По меньшей мере некоторые из упомянутых этапов могут быть исполнены параллельно или последовательно. Соответственно, порядок и группировка упомянутых этапов ограничениями настоящей технологии не являются.
[00109] Следует четко понимать, что не все технические эффекты, упомянутые в данном документе, должны достигаться в каждом варианте осуществления настоящей технологии. Например, варианты осуществления настоящей технологии могут быть реализованы без обеспечения пользователю некоторых из этих технических эффектов, в то время как другие варианты осуществления могут быть реализованы с обеспечением пользователю других технических эффектов или без обеспечения каких-либо технических эффектов.
[00110] Некоторые из вышеупомянутых этапов, а также прием/отправка сигналов хорошо известны в данной области техники и, как таковые, были опущены в некоторых частях этого описания для его упрощения. Сигналы могут отправляться/приниматься с использованием оптических средств (например, оптоволоконного соединения), электронных средств (например, используя проводное или беспроводное соединение), а также механических средств (например, средств, основанных на давлении, на температуре, или на основе любого другого подходящего физического параметра).
[00111] Модификации и улучшения вышеописанных реализаций настоящей технологии могут стать очевидными для специалистов в данной области техники. Предшествующее описание предназначено для использования в качестве примеров, а не для ограничения. Поэтому подразумевается, что объем настоящей технологии ограничен лишь объемом прилагаемой формулы изобретения.