ГИБКАЯ СХЕМА ДЛЯ НАСТРОЙКИ ЯЗЫКОВОЙ МОДЕЛИ
FLEXIBLE CIRCUIT FOR ADJUSTING LANGUAGE MODEL

УРОВЕНЬ ТЕХНИКИ
[0001] Многие вычислительные устройства, такие как смартфоны, настольные компьютеры, переносные компьютеры, планшетные компьютеры, игровые консоли и т.п., используют приложения, которые включают в себя автоматическое распознавание речи (ASR) для использования в ряде разных областей, таких как голосовой поиск и диктовка коротких сообщений. Для того, чтобы улучшить качество распознавания речи, языковые модели (например, совершение покупок, игры, музыка, фильмы и т.д.) часто используются для способствования распознаванию речи, которая сфокусирована на разных областях. Текущие недостатки, ассоциированные с использованием языковых моделей, включают в себя сценарии ASR, в которых разные области должны обслуживаться одновременно поставщиком услуг распознавания. В этих сценариях, может требоваться, чтобы многие потенциальные огромные языковые модели удерживались в памяти, что может исчерпать ресурсы поставщиков услуг распознавания. Именно в отношении этих и других моментов и были сделаны варианты осуществления.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0002] Это краткое изложение сущности изобретения предоставлено для введения подборки концепций в упрощенной форме, которые дополнительно описаны ниже в "Подробном описании". Эта краткое изложение не предназначено ни для идентификации ключевых признаков или существенных признаков заявленного изобретения, ни для использования в качестве помощи при определении объема заявленного изобретения.
[0003] Предложены варианты осуществления для настройки компонентов языкового моделирования для распознавания речи. Список компонентов языкового моделирования может быть сделан доступным посредством вычислительного устройства. Затем может быть отправлена подсказка поставщику услуг распознавания для комбинирования многочисленных компонентов языкового моделирования из данного списка. Подсказка может быть основана на некотором числе разных областей. Настроенная комбинация компонентов языкового моделирования может быть затем принята вычислительным устройством на основе подсказки.
[0004] Эти и другие признаки и преимущества будут понятны после прочтения нижеследующего подробного описания и просмотра ассоциированных с ним чертежей. Следует понимать, что и упомянутое выше общее описание и нижеследующее подробное описание являются только иллюстративными и не ограничивают заявленное изобретение.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0005] Фигура 1 является блок-схемой, иллюстрирующей систему для настройки компонентов языкового моделирования для распознавания речи, в соответствии с вариантом осуществления;
[0006] Фигура 2 является блок-схемой, иллюстрирующей различные подсказки, которые могут быть использованы системой по Фигуре 1, в соответствии с вариантом осуществления;
[0007] Фигура 3 является блок-схемой, иллюстрирующей различные области, которые могут быть использованы в системе по Фигуре 1, в соответствии с вариантом осуществления;
[0008] Фигура 4 является схемой последовательности операций, иллюстрирующей стандартную программу для настройки компонентов языкового моделирования для распознавания речи, в соответствии с вариантом осуществления;
[0009] Фигура 5 является упрощенной блок-схемой вычислительного устройства, с помощью которого различные варианты осуществления могут быть применены на практике;
[0010] Фигура 6A является упрощенной блок-схемой мобильного вычислительного устройства, с помощью которого различные варианты осуществления могут быть применены на практике;
[0011] Фигура 6B является упрощенной блок-схемой мобильного вычислительного устройства, с помощью которого различные варианты осуществления могут быть применены на практике; и
[0012] Фигура 7 является упрощенной блок-схемой распределенной вычислительной системы, в которой различные варианты осуществления могут быть применены на практике.
ПОДРОБНОЕ ОПИСАНИЕ
[0013] Предложены варианты осуществления для настройки компонентов языкового моделирования для распознавания речи. Список компонентов языкового моделирования может быть сделан доступным для вычислительного устройства. Затем может быть отправлена подсказка поставщику услуг распознавания для комбинирования многочисленных компонентов языкового моделирования из данного списка. Подсказка может быть основана на одной из многочисленных областей. Настроенная комбинация компонентов языкового моделирования может быть затем принята вычислительным устройством на основе подсказки.
[0014] В нижеследующем подробном описании сделаны ссылки на прилагаемые чертежи, которые формируют его часть и на которых показаны в качестве иллюстраций конкретные варианты осуществления или примеры. Эти варианты осуществления могут быть скомбинированы, могут быть использованы другие варианты осуществления, и структурные изменения могут быть сделаны без отступления от сущности и объема настоящего изобретения. Нижеследующее подробное описание вследствие этого не следует принимать в ограничивающем смысле, и объем настоящего изобретения определяется прилагаемой формулой изобретения и ее эквивалентами.
[0015] Обращаясь теперь к чертежам, на которых подобные номера представляют подобные элементы на нескольких Фигурах, могут быть рассмотрены различные аспекты настоящего изобретения. Фигура 1 является блок-схемой, иллюстрирующей систему 100, которая может быть использована для настройки компонентов языкового моделирования для распознавания речи, в соответствии с вариантом осуществления. Система 100 может включать в себя поставщика 102 услуг распознавания, который может быть на связи с вычислительным устройством 150, выполненным с возможностью приема аудио и/или текстового ввода от одного или более пользователей (не показано). В одном варианте осуществления, поставщик 102 услуг распознавания может быть сконфигурирован для интерполяции языковой модели "на лету" или по сети для распознавания речи на основе "подсказок" 160 (т.е., указания или наставления), предоставленных приложением 170, исполняющимся на вычислительном устройстве 150 (т.е., "подсказки"), для различных комбинаций компонентов языкового моделирования, приспособленных для конкретных областей или сценариев распознавания речи. В частности, и как будет подробно описано в дальнейшем, подсказки 160, предоставляемые приложением 170, могут содержать гибкую схему для настройки языковой модели поставщиком 102 услуг распознавания.
[0016] В соответствии с различными вариантами осуществления, вычислительное устройство 150 может содержать, без ограничения, настольный компьютер, переносной компьютер, интеллектуальный телефон, игровую видеоконсоль или телевизор. Вычислительное устройство 150 может также содержать или иметь связь с одним или более устройств записи (не показано), используемых для обнаружения речи и приема видео/изображений (например, MICROSOFT KINECT, микрофон(ы) и подобные). Вычислительное устройство 150 может хранить приложение 170, которое может быть выполнено с возможностью предоставления подсказок 160, которые могут быть использованы поставщиком 102 услуг распознавания для настройки компонентов языкового моделирования (LM) 120. В соответствии с вариантом осуществления (и как будет подробно описано ниже), приложение 170 может быть выполнено с возможностью генерирования списка 165 LM-компонентов, включающего в себя LM-компоненты 120. В варианте осуществления, LM-компоненты 120 могут содержать компоненты 125A-125N, которые могут быть использованы для распознавания речи. В некоторых вариантах осуществления, различные комбинации компонентов 125A-125N могут включать в себя или могут обеспечиваться весами 130 (например, разработчиком приложения), на основе конкретной области, сценария или ситуации. Например, языковая модель, содержащая комбинацию компонентов 125A-125N, подстроенную под область или сценарий, который в первую очередь используется для игр, может иметь нижеследующие применяемые веса: Игры: 0,5, Фильмы 0,3 и Музыка 0,2). Также возможны другие типы компонентов (например, совершение покупок и т.д.) и комбинации весов.
[0017] В некоторых вариантах осуществления, LM-компоненты 120 могут быть использованы при выборе настроенных комбинаций компонентов (т.е., языковых моделей 105) поставщиком 102 услуг распознавания на основе указания, содержащегося в подсказках 160, принятых из приложения 170. В частности, языковые модели 105 могут включать в себя, без ограничения, предварительно скомпилированную комбинацию 110 компонентов, комбинацию 112 компонентов на основе темы, комбинацию 114 компонентов с фиксированными весами и другие комбинации 116 компонентов. Например, языковая модель, содержащая предварительно скомпилированную комбинацию 110 компонентов, может быть приспособлена под конкретную область, такую как голосовой поиск для диктовки коротких сообщений, языковая модель, содержащая комбинацию 112 компонентов на основе темы, может быть основана на предварительно скомпилированном списке доступных элементов на основе одной или более тем/стилей, соответствующих LM-компонентам, доступным в текущий момент в системе 100 (например, совершение покупок, игры, музыка и т.д.), и языковая модель, содержащая комбинацию 114 компонентов с фиксированными весами, может содержать существующие комбинации с фиксированными весами из LM-компонентов (например, веса 130, примененные к LM-компонентам), приспособленные в соответствии с интуицией разработчика для конкретного сценария.
[0018] Как будет более подробно описано в дальнейшем, поставщик 102 услуг распознавания может использовать подсказки 160 при осуществлении выбора соответствующих комбинаций LM-компонентов для различных ситуаций или сценариев распознавания. В одном варианте осуществления, подсказки 160 могут быть поданы приложением 170 поставщику 102 услуг распознавания как часть запроса 175 распознавания (т.е., для интерполяции языковой модели "на лету". В другом варианте осуществления, подсказки 160 могут быть поданы приложением 170 поставщику 102 услуг распознавания как часть процесса инициализации в режиме "оффлайн". В соответствии с вариантом осуществления, приложение 170 может содержать приложение распознавания речи, такое как приложения BING VOICE SEARCH, WINDOWS PHONE SHORT MESSAGE DICTATION и XBOX MARKET PLACE VOICE SEARCH от MICROSOFT CORPORATION из Редмонда, Вашингтон. Однако следует понимать, что другие приложения (включая операционные системы) от других изготовителей могут в качестве альтернативы быть использованы в соответствии с различными вариантами осуществления, описанными в настоящем документе.
[0019] Фигура 2 является блок-схемой, иллюстрирующей различные подсказки 160, которые могут быть использованы системой 100 по Фигуре 1, в соответствии с вариантом осуществления. Подсказки 160 могут содержать подсказку 210 предварительно заданной комбинации, подсказку 220 тем распознавания, подсказку 230 повторно используемой существующей комбинации, подсказку 240 текстового корпуса и подсказку 250 аудиокорпуса. Подсказка 210 предварительно заданной комбинации может содержать предварительно заданные выборы (например, разработчиком приложения) LM-компонентов (например, LM-компонентов 120), которые охватывают широкие области, такие как голосовой поиск, диктовка коротких сообщений и т.д. Предварительно заданные выборы могут содержать, например, предварительно скомпилированную языковую модель или существующую комбинацию с фиксированными весами из LM-компонентов для интерпретации компонентов "на лету" поставщиком 102 услуг распознавания.
[0020] Подсказка 220 тем распознавания может содержать ручной выбор одной или более тем/стилей из предварительно скомпилированного списка доступных элементов, соответствующих LM-компонентам 120. Например, если LM-компоненты включают в себя совершение покупок, игры, музыку, фильмы и т.д., то предварительно скомпилированный список может включать в себя элементы, соответствующие LM-компонентам, выбранным разработчиком приложения, которые определены как релевантные конкретному приложению распознавания речи (например, игры, фильмы и музыка для игровой консоли). Как рассмотрено выше, в некоторых вариантах осуществления, разработчиком приложения LM-компонентам могут также быть предоставлены веса. Следует понимать, что после того, как поставщик 102 услуг распознавания принимает подсказку 220 тем распознавания, поставщик 102 услуг распознавания может интерполировать выбранные LM-компоненты с предоставленными весами после приема запроса распознавания из приложения 170.
[0021] Подсказка 230 повторно используемой существующей комбинации может указывать повторное использование существующей характерной для сценария комбинации LM-компонентов. Например, разработчик приложения может уже иметь существующее приложение распознавания, для которого комбинация LM-компонентов была оптимизирована ранее. В ответ на подсказку 230 повторно используемой существующей комбинации, та же комбинация может быть повторно использована поставщиком 102 услуг распознавания для нового, но аналогичного сценария.
[0022] Подсказка 240 текстового корпуса может содержать внутриобластной текстовый корпус для системы 100, чтобы изучить оптимальные коэффициенты интерполяции LM-компонентов по отношению к корпусу. Например, если разработчик приложения предоставляет коллекцию расшифровок, относящихся к программному обеспечению, можно ожидать, что результирующая языковая модель справится с аудиозапросами, относящимися к программному обеспечению. Специалисты в данной области техники должны понимать, что способы, такие как алгоритм максимизации ожидания, могут быть использованы для оптимизирования весовых векторов LM-компонентов по отношению к корпусу. Следует понимать, что по сравнению с подсказками 210-230, рассмотренными выше, подсказка 240 текстового корпуса (также как подсказка 250 аудиокорпуса, рассмотренная ниже) являются неявными подсказками.
[0023] Подсказка 250 аудиокорпуса может содержать внутриобластной аудиокорпус для системы 100, чтобы изучить оптимальные коэффициенты интерполяции LM-компонентов по отношению к корпусу. Следует понимать, что в варианте осуществления, для внутриобластного текстового корпуса может требоваться большее число выборок, для того, чтобы достигнуть аналогичной точности распознавания.
[0024] Фигура 3 является блок-схемой, иллюстрирующей различные области 300, которые могут быть использованы в системе 100 по Фигуре 1, в соответствии с вариантом осуществления. Области 300 могут включать в себя широкие области, такие как область 310 голосового поиска и область 320 диктовки коротких сообщений. Области 300 могут также включать в себя узкие области, такие как область 330 игровых консолей. В некоторых вариантах осуществления, приложение 170 может быть выполнено с возможностью присваивания интуитивных имен областей (например, "область XBOX") для обозначения комбинаций LM-компонентов. Области 300 могут также включать в себя другие области 340, которые могут содержать широкие или узкие области в дополнение к областям, идентифицированным выше.
[0025] Фигура 4 является схемой последовательности операций, иллюстрирующей стандартную процедуру 400 для настройки компонентов языкового моделирования для распознавания речи, в соответствии с вариантом осуществления. При чтении рассмотрения стандартных процедур, представленных в настоящем документе, следует понимать, что логические операции различных вариантов осуществления настоящего изобретения реализованы (1) как последовательность реализуемых компьютером действий или программные модули, выполняющиеся на вычислительной системе и/или (2) как взаимосоединенные машинные логические схемы или модули схем внутри вычислительной системы. Реализация зависит от выбора, зависящего от требований к эксплуатационным характеристикам вычислительной системы, реализующей данное изобретение. Соответственно, логические операции, проиллюстрированные на Фигуре 4 и составляющие различные варианты осуществления, описанные в настоящем документе, называются по-разному, как операции, структурные устройства, действия или модули. Специалист в данной области техники поймет, что эти операции, структурные устройства, действия и модули могут быть реализованы программно, аппаратно, программно-аппаратно, в специальной цифровой логике и любой их комбинации без отступления от сущности и объема настоящего изобретения, как изложено в формуле изобретения, приведенной в настоящем документе.
[0026] Стандартная процедура 400 начинается с операции 405, где приложение 170, исполняющееся на вычислительном устройстве 150, может представить список компонентов языкового моделирования (LM) для выбора пользователем (например, разработчиком приложения). В различных вариантах осуществления, список может быть отображен в пользовательском интерфейсе 155 или, в качестве альтернативы, предоставлен разработчику приложения посредством программного доступа. Например, список может содержать список 165 LM-компонентов, описанный выше по отношению к Фигуре 1.
[0027] С операции 405 стандартная процедура 400 переходит к операции 410, где приложение 170, исполняющееся на вычислительном устройстве 150, может отправить подсказку 160 для комбинирования выбранных LM-компонентов из списка. Подсказка 160 может быть основана на одной или более из областей 300. Например, в одном варианте осуществления, подсказка 160 может содержать выбор предварительно скомбинированной языковой модели (например, предварительно скомпилированную комбинацию 110 компонентов), которая основана на одной или более областях. В другом варианте осуществления, подсказка 160 может содержать выбор комбинации с фиксированными весами из LM-компонентов (например, комбинацию 114 компонентов с фиксированными весами) на основе одной или более областей. В еще одном варианте осуществления, подсказка 160 может содержать выбор одной или более тем распознавания (из предварительно скомпилированного списка), соответствующих одному или более из LM-компонентов (например, комбинацию 112 на основе темы). Как рассмотрено выше по отношению к Фигуре 1, один или более весов 130 могут также быть применены к LM-компонентам. В еще одном варианте осуществления, подсказка 160 может содержать внутриобластной текстовый корпус или внутриобластной аудиокорпус, как описано выше по отношению к Фигуре 2. В еще одном варианте осуществления, подсказка 160 может содержать существующую комбинацию LM-компонентов для повторного использования. Следует понимать, в одном варианте осуществления, подсказки 160 могут быть отправлены с запросом распознавания поставщику 102 услуг распознавания посредством приложения 170. В другом варианте осуществления, подсказки 160 могут быть отправлены поставщику 102 услуг распознавания до отправки запросов распознавания как часть процесса инициализации в режиме "оффлайн". Например, разработчик приложения может подать подсказку 160 до запуска приложения как часть процесса регистрации, тем самым обеспечивая поставщику 102 услуг распознавания достаточно времени для обработки подсказки 160. Следует понимать, что неявные подсказки, такие как внутриобластной текстовый корпус и внутриобластной аудиокорпус (рассмотренные выше), могут быть поданы таким образом.
[0028] С операции 410 стандартная процедура 400 переходит к операции 415, где приложение 170, исполняющееся на вычислительном устройстве 150, может принять настроенную комбинацию LM-компонентов на основе подсказки 160. В частности, вычислительное устройство 150 может принять языковую модель (например, одну из языковых моделей 105), настроенную поставщиком 102 услуг распознавания на основе указания, принятого в подсказке 160.
[0029] С операции 415 стандартная процедура 400 переходит к операции 420, где приложение 170, исполняющееся на вычислительном устройстве 150, может поддерживать соединение между поданной подсказкой 160 и ассоциированными LM-компонентами. Например, приложение 170 может быть выполнено с возможностью поддержания стабильного соединения между подсказками, содержащими темы, выбранные вручную разработчиком приложения, и жизненным циклом соответствующей LM-комбинации или языковой модели, настроенной поставщиком 102 услуг распознавания. В частности, и в соответствии с вариантом осуществления, разработчик приложения может быть обеспечен уникальным ID, который может быть использован для обращения к конкретной настроенной языковой модели, используемой для распознавания в соответствии с конкретным сценарием (или сравнимым сценарием) ,идентифицированным разработчиком приложения. Следует понимать, что вышеупомянутый подход может быть применен с различными уровнями детализации, в том числе, но не ограничиваясь этим, по каждой области, по каждому сценарию, по каждому приложению, по каждой области приложения и по каждому пользователю приложения, так же как и их комбинации. С операции 415, стандартная процедура 400 затем завершается.
[0030] Фигуры 5-7 и ассоциированные описания предусматривают рассмотрение многообразия операционных окружений, в которых варианты осуществления данного изобретения могут быть применены на практике. Однако, устройства и системы, проиллюстрированные и рассмотренные по отношению к Фигурам 5-7, служат в целях примера и иллюстрации и не ограничивают огромное число конфигураций вычислительных устройств, которые могут быть использованы для применения на практике вариантов осуществления данного изобретения, описанных в настоящем документе.
[0031] Фигура 5 является блок-схемой, иллюстрирующей примерные физические компоненты вычислительного устройства 500, с помощью которого варианты осуществления могут быть применены на практике. В базовой конфигурации, вычислительное устройство 500 может включать в себя по меньшей мере один блок 502 обработки и системную память 504. В зависимости от конфигурации и типа вычислительного устройства, системная память 504 может содержать, но не ограничена этим, энергозависимую (например, оперативную память (RAM)), энергонезависимую (например, постоянную память (ROM)), flash-память или любую комбинацию. Системная память 504 может включать в себя операционную систему 505 и приложение 170. Операционная система 505, например, может подходить для управления функционированием вычислительного устройства 500 и, в соответствии с вариантом осуществления, может содержать операционные системы WINDOWS от MICROSOFT CORPORATION из Редмонда, Вашингтон. Приложение 170 (которое, в некоторых вариантах осуществления, может быть включено в операционную систему 505) может содержать функциональность для выполнения стандартных программ, включающую в себя, например, настройку компонентов языкового моделирования, как описано выше относительно операций в стандартной программе 400 по Фигуре 4.
[0032] Вычислительное устройство 500 может иметь дополнительные признаки или функциональность. Например, вычислительное устройство 500 может также включать в себя дополнительные устройства хранения данных (съемные и/или несъемные), такие как, например, магнитные диски, оптические диски, твердотельные устройства хранения ("SSD"), flash-память или лента. Такое дополнительное хранилище проиллюстрировано на Фигуре 5 посредством съемного хранилища 509 и несъемного хранилища 510. Вычислительное устройство 500 может также иметь устройство(а) 512 ввода, такое как клавиатура, мышь, перо, устройство ввода звука, сенсорное устройство ввода для приема жестов, акселерометр или датчик вращения, и т.д. Устройство(а) 514 вывода, такое как дисплей, динамики, принтер и т.д. может также быть включено. Вышеупомянутые устройства являются примерами и могут быть использованы другие. Вычислительное устройство 500 может включать в себя одно или более соединений 516 связи, обеспечивающих связь с другими вычислительными устройствами 518. Примеры подходящих соединений 516 связи включают в себя, но не ограничены этим, схему РЧ-передатчика, приемника и/или приемопередатчика; универсальную последовательную шину (USB), параллельные и/или последовательные порты.
[0033] К тому же, различные варианты осуществления могут быть применены на практике в электрической схеме, содержащей дискретные электронные элементы, объединенных или интегрированных кристаллах интегральной схемы, содержащих логические вентили, схеме, использующей микропроцессор, или на одиночном кристалле, содержащем электронные элементы или микропроцессоры. Например, различные варианты осуществления могут быть применены на практике посредством системы на кристалле ("SOC"), где каждый или многие из компонентов, проиллюстрированных на Фигуре 5, могут быть интегрированы в единую интегральную схему. Такое SOC-устройство может включать в себя один или более блоков обработки, графических блоков, блоков связи, блоков виртуализации системы и функциональность различных приложений, все из которых интегрированы (или "выжжены") на подложке кристалла, как единую интегральную схему. При функционировании посредством SOC, функциональностью, описанной в настоящем документе, можно оперировать посредством специализированной логики, интегрированной с другими компонентами вычислительного устройства/системы 500 на единой интегральной схеме (кристалле). Варианты осуществления могут также быть применены на практике с использованием других технологий, способных выполнять логические операции, такие как, например, И, ИЛИ и НЕТ, включающих в себя, но не ограниченных этим, механические, оптические, флюидные и квантовые технологии. В дополнение, варианты осуществления могут быть применены на практике внутри компьютера общего назначения или любых других схемах или системах.
[0034] Термин "компьютерно-читаемые носители", который используется в настоящем документе, может включать в себя компьютерные носители информации. Компьютерные носители информации могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные посредством любого способа или технологии для хранения информации, такой как компьютерно-читаемые инструкции, структуры данных или программные модули. Системная память 504, съемное устройство 509 хранения и несъемное устройство 510 хранения - все являются примерами компьютерных носителей информации (т.е., запоминающих устройств). Компьютерные носители информации могут включать в себя RAM, ROM, электрически стираемую программируемую постоянную память (EEPROM), flash-память или память другой технологии, CD-ROM, универсальные цифровые диски (DVD) или другое оптическое хранилище, магнитные кассеты, магнитную пленку, накопитель на магнитном диске или другие магнитные устройства хранения, или любое другое изделие производства, которое может быть использовано для хранения информации и к которому может быть осуществлен доступ посредством вычислительного устройства 500. Любые такие компьютерные носители информации могут быть частью вычислительного устройства 500. Компьютерные носители информации не включают в себя несущую волну или другой распространяемый или модулированный сигнал данных.
[0035] Среды связи могут быть осуществлены посредством компьютерно-читаемых инструкций, структур данных, программных модулей, или других данных в модулированном сигнале данных, как например, волна несущей или другой транспортный механизм, и содержат любые среды доставки информации. Термин "модулированный сигнал данных" может описывать сигнал, у которого одна или более его характеристик задаются или изменяются таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среды связи могут включать в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как акустические, радиочастотные (РЧ), инфракрасные и другие беспроводные среды.
[0036] Фигуры 6A и 6B иллюстрируют подходящее мобильное вычислительное окружение, например, мобильное вычислительное устройство 650, которое может включать в себя, без ограничения, интеллектуальный телефон, планшетный персональный компьютер, переносной компьютер и подобные, с помощью которых различные варианты осуществления могут быть применены на практике. Со ссылкой на Фигуру 6A, проиллюстрировано примерное мобильного вычислительное устройство 650 для реализации вариантов осуществления. В базовой конфигурации, мобильное вычислительное устройство 650 является карманным компьютером, имеющим как элементы ввода, так и элементы вывода. Элементы ввода могут включать в себя дисплей 625 с сенсорным экраном и кнопки 610 ввода, которые обеспечивают пользователю возможность ввода информации в мобильное вычислительное устройство 650. Мобильное вычислительное устройство 650 может также включать в себя опциональный боковой элемент 620 ввода, обеспечивающий возможность дополнительного пользовательского ввода. Опциональным боковым элементом 620 ввода может быть вращательный переключатель, кнопка или элемент ручного ввода любого другого типа. В альтернативных вариантах осуществления, мобильное вычислительное устройство 650 может включать в себя больше или меньше элементов ввода. В еще одном альтернативном варианте осуществления, мобильным вычислительным устройством является портативная телефонная система, такая как сотовый телефон, имеющий дисплей 625 и кнопки 610 ввода. Мобильное вычислительное устройство 650 может также включать в себя опциональную клавишную панель 605. Опциональной клавишной панелью 605 может быть физическая клавишная панель или "программная" клавишная панель, сгенерированная на дисплее с сенсорным экраном.
[0037] Мобильное вычислительное устройство 650 включает в себя элементы вывода, такие как дисплей 625, который может отображать графический пользовательский интерфейс (GUI). Другие элементы вывода включают в себя динамик 630 и LED 680. Дополнительно, мобильное вычислительное устройство 650 может включать в себя модуль вибрации (не показан), который предписывает мобильному вычислительному устройству 650 вибрировать для уведомления пользователя о событии. В еще одном варианте осуществления, мобильное вычислительное устройство 650 может включать в себя разъем для наушников (не показан) для обеспечения других средств предоставления выходных сигналов.
[0038] Хотя описано в настоящем документе в комбинации с мобильным вычислительным устройством 650, в альтернативных вариантах осуществления может быть использовано в комбинации с любым числом компьютерных систем, таких как окружения настольных систем, системы с переносными компьютерами или компьютерами типа "ноутбук", многопроцессорные системы, основанная на микропроцессорах или программируемая потребительская электроника, сетевые ПК, миникомпьютеры, центральные ЭВМ и подобные. Различные варианты осуществления могут также быть применены на практике в распределенных вычислительных окружениях, где задачи выполняются удаленными устройствами обработки, которые связаны посредством сети связи в распределенном вычислительном окружении; программы могут быть размещены как в локальных, так и удаленных устройствах хранения. Подведем итоги, любая компьютерная система, имеющая множество датчиков окружения, множество элементов вывода для предоставления уведомлений пользователю, и множество типов событий уведомлений могут включать в себя различные варианты осуществления, описанные в настоящем документе.
[0039] Фиг. 6B является блок-схемой, иллюстрирующей компоненты мобильного вычислительного устройства, используемого в одном варианте осуществления, таком как мобильное вычислительное устройство 650, показанное на Фиг. 6A. То есть, мобильное вычислительное устройство 650 может включать в себя систему 602 для реализации некоторых вариантов осуществления. Например, система 602 может быть использована при реализации "интеллектуального телефона", который может выполнять одно или более приложений, аналогичных приложениям настольного компьютера или компьютера типа "ноутбук". В некоторых вариантах осуществления, система 602 интегрирована как вычислительное устройство, такое как интегрированный персональный цифровой помощник (PDA) и беспроводной телефон.
[0040] Приложение 170 может быть загружено в память 662 и выполняться в операционной системе 664 или совместно с ней. Система 602 также включает в себя энергонезависимое хранилище 668 внутри памяти 662. Энергонезависимое хранилище 668 может быть использовано для хранения постоянной информации, которая не должна быть потеряна, если система 602 обесточивается. Приложение 170 может использовать и хранить информацию в энергонезависимом хранилище 668. Приложение 170, например, может содержать функциональность для выполнения стандартных программ, включающую в себя, например, настройку компонентов языкового моделирования, как описано выше относительно операций в стандартной программе 400 по Фигуре 4. Приложение синхронизации (не показано) также находится в системе 602 и запрограммировано взаимодействовать с соответствующим приложением синхронизации, находящимся на хост-компьютере, для поддержания информации, хранящейся в энергонезависимом хранилище 668, в синхронизации с соответствующей информацией, хранящейся на хост-компьютере. Как должно быть понятно, другие приложения могут также быть загружены в память 662 и выполняться на мобильном вычислительном устройстве 500.
[0041] Система 602 имеет блок 670 электропитания, который может быть реализован как одна или более батарей. Блок 670 электропитания может дополнительно включать в себя внешний источник электропитания, такой как AC-адаптер или питаемая электроэнергией док-станция, которая дополняет или перезаряжает батареи.
[0042] Система 602 может также включать в себя средство 672 радиосвязи (т.е., уровень радиоинтерфейса), которое выполняет функцию передачи и приема радиочастотной связи. Средство 672 радиосвязи способствует возможности беспроводного соединения между системой 602 и "внешним миром", посредством оператора связи или поставщика услуг. Передачи на средство 672 радиосвязи и от него проводятся под управлением ОС 664. Другими словами, связь, принимаемая средством 672 радиосвязи, может быть распространена на приложение 170 посредством ОС 664, и наоборот.
[0043] Средство 672 радиосвязи обеспечивает системе 602 возможность осуществления связи с другими вычислительными устройствами, как например, через сеть. Средство 672 радиосвязи является одним примером сред связи. Вариант осуществления системы 602 показан с двумя типами устройств вывода уведомлений: LED 680, который может быть использован для предоставления визуальных уведомлений, и аудиоинтерфейс 674, который может быть использован с динамиком 630 для предоставления аудиоуведомлений. Эти устройства могут быть напрямую соединены с блоком 670 электропитания, так чтобы при активации оставались включенными в течение продолжительности, продиктованной механизмом уведомления, даже если процессор 660 и другие компоненты могут отключиться для сбережения электроэнергии батареи. LED 680 может быть запрограммирован оставаться включенным бессрочно, пока пользователь не предпримет действие для указания включенного статуса устройства. Аудиоинтерфейс 674 используется для предоставления слышимых сигналов пользователю и приема слышимых сигналов от него. Например, в дополнение к соединению с динамиком 630, аудиоинтерфейс 674 может также быть соединен с микрофоном (не показан) для приема слышимого (например, голосового) ввода, так чтобы способствовать телефонному разговору. В соответствии с вариантами осуществления, микрофон может также служить в качестве аудиодатчика для способствования управлению уведомлениями. Система 602 может дополнительно включать в себя видеоинтерфейс 676, который обеспечивает возможность функционирования встроенной камеры 640 для записи неподвижных изображений, видеопотоков и подобного.
[0044] Мобильное вычислительное устройство, реализующее систему 602, может иметь дополнительные признаки или функциональность. Например, устройство может также включать в себя дополнительные устройства хранения данных (съемные и/или несъемные), такие как магнитные диски, оптические диски или ленту. Такое дополнительное хранилище проиллюстрировано на Фигуре 6B посредством хранилища 668.
[0045] Данные/информация, сгенерированные или захваченные посредством мобильного вычислительного устройства 650 и хранящиеся посредством системы 602, могут храниться локально на мобильном вычислительном устройстве 650, как описано выше, или данные могут храниться на любом числе носителей информации, к которым может быть осуществлен доступ устройством посредством средства 672 радиосвязи или посредством проводного соединения между мобильным вычислительным устройством 650 и отдельным вычислительным устройством, ассоциированным с мобильным вычислительным устройством 650, например, серверным компьютером в распределенной вычислительной сети, такой как Интернет. Как должно быть понятно, к таким данным/информации может быть осуществлен доступ через мобильное вычислительное устройство 650 посредством средства 672 радиосвязи или посредством распределенной вычислительной сети. Аналогично, такие данные/информация могут быть с легкостью перенесены между вычислительными устройствами для хранения и использования согласно хорошо известным средствам переноса и хранения данных/информации, включающим в себя системы электронной почты и совместного использования общих данных/информации.
[0046] Фигура 7 является упрощенной блок-схемой распределенной вычислительной системы, в которой различные варианты осуществления могут быть применены на практике. Распределенная вычислительная система может включать в себя некоторое число клиентских устройств, таких как вычислительное устройство 703, планшетное вычислительное устройство 705 и мобильное вычислительное устройство 710. Клиентские устройства 703, 705 и 710 могут иметь связь с распределенной вычислительной сетью 715 (например, Интернетом). Сервер 720 имеет связь с клиентскими устройствами 703, 705 и 710 по сети 715. Сервер 720 может хранить приложение 170, которое может выполнять стандартные программы, включающие в себя, например, настройку компонентов языкового моделирования, как описано выше в отношении операций в стандартной программе 400 по Фигуре 4.
[0047] Контент, который разработали, с которым осуществляли взаимодействие или редактировали совместно с приложением 170, может быть сохранен в других каналах связи или других типах хранилищ. Например, различные документы могут храниться с использованием службы 722 каталогов, веб-портала 724, почтовой службы 726, хранилища 728 службы мгновенной передачи сообщений или сайта 730 социальной сети. Приложение 170 может использовать любой из этих типов систем или подобные для обеспечения возможности использования данных, как описано в настоящем документе. Сервер 720 может предоставить клиентам приложение170, основывающееся на пространственной близости. В качестве одного примера, сервер 720 может быть веб-сервером, предоставляющим приложение 170 через веб. Сервер 720 может предоставить клиентам приложение 170 через веб посредством сети 715. В качестве примера, вычислительное устройство 10 может быть реализовано как вычислительное устройство 703 и осуществлено в персональном компьютере, планшетном вычислительном устройстве 705 и/или мобильном вычислительном устройстве 710 (например, интеллектуальном телефоне). Любой из этих вариантов осуществления вычислительных устройств 703, 705 и 710 может получить контент из хранилища 716.
[0048] Различные варианты осуществления описаны выше со ссылкой на блок-схемы и/или операционные иллюстрации способов, систем и компьютерных программных продуктов. Функции/действия, обозначенные в блоках, могут происходить вне порядка, который показан на какой-либо схеме последовательности операций. Например, два блока, показанные последовательно, могут в действительности исполняться по существу параллельно, или блоки могут иногда исполняться в обратном порядке, в зависимости от предусмотренной функциональности/действий.
[0049] Описание и иллюстрация одного или более вариантов осуществления, предусмотренных в этой заявке, не предназначены для ограничения или сокращения объема данного изобретения, которое заявлено, каким-либо образом. Варианты осуществления, примеры и сведения, предоставленные в этой заявке считаются достаточными для передачи владения и обеспечения другим возможности создавать и использовать наилучший режим заявленного изобретения. Заявленное изобретение не должно толковаться как ограниченное каким-либо вариантом осуществления, например, или сведениями, предоставленными в этой заявке. Независимо от того, показаны и описаны вместе или раздельно, различные признаки (как структурные, так и методологические) предназначены для выборочного включения или исключения для произведения варианта осуществления с конкретных набором признаков. Обеспеченные описанием и иллюстрацией настоящей заявки, специалисты в данной области техники могут предположить вариации, модификации и альтернативные варианты осуществления, попадающие в пределы сущности расширенных аспектов основной изобретательской идеи, осуществленной в этой заявке, которые не отступают от широкого объема заявленного изобретения.