Использование контекстной информации для облегчения обработки команд в виртуальном помощнике
Иллюстрации
Показать всеИзобретение относится к компьютерной технике, а именно к системам виртуальных помощников. Техническим результатом является автоматизация взаимодействия пользователя с электронным устройством посредством речевого ввода, интерпретирующего представления о намерениях пользователя. Предложен машиночитаемый носитель информации для интерпретации ввода пользователя для выполнения задачи на вычислительном устройстве, имеющем, по меньшей мере, один процессор. Машиночитаемый носитель содержит компьютерный код, инструктирующий процессор побуждать устройство вывода подсказывать пользователю для выполнения ввода. Процессор также осуществляет прием речевого ввода пользователя через устройство ввода, прием контекстной информации из источника контекста, причем контекстная информация включает данные, описывающие акустическую среду, в которой принимается речевой ввод. Далее процессор осуществляет интерпретацию принятого речевого ввода пользователя для получения представления о намерении пользователя. 2 н. и 18 з.п. ф-лы, 40 ил.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к виртуальным помощникам, а более конкретно, к механизмам улучшения интерпретации и обработки команд, подаваемых такому помощнику.
Уровень техники
Современные электронные устройства могут получить доступ к большому, растущему и разнообразному количеству функций, услуг и информации как через Интернет, так и из других источников. Функциональные возможности таких устройств быстро увеличиваются, так как на многих бытовых устройствах, смартфонах, планшетных компьютерах и т.п. можно запускать программные приложения для выполнения различных задач и предоставления различных типов информации. Часто каждое приложение, функция, веб-сайт или особенность имеет свой собственный пользовательский интерфейс и свои собственные операционные парадигмы, многие из которых могут быть трудными для обучения или непреодолимыми для пользователей. Кроме того, многие пользователи могут испытывать затруднения даже в случае, когда обнаруживают, что функциональные возможности и/или информация доступны на их электронных устройствах или на различных веб-сайтах; таким образом, такие пользователи могут становиться недовольными или подавленными, или просто не смогут эффективно использовать ресурсы, доступные для них.
В частности, начинающий пользователь или лица, которые являются умственно отсталыми или неполноценными в некоторой степени и/или являются пожилыми, занятыми, расстроенными и/или управляют автомобилем, могут иметь затруднения, связанные с эффективным сопряжением с их электронными устройствами и/или с эффективным использованием он-лайн услуг. Такие пользователи с высокой степенью вероятности будут испытывать затруднения с большим количеством разнообразных и несовместимых функций, приложений и веб-сайтов, которые могут быть доступны для их использования.
Соответственно, существующие системы являются часто сложными для использования и навигации и часто предоставляют пользователям несовместимые и непреодолимые интерфейсы, которые часто мешают пользователям эффективно использовать технологии.
Интеллектуальный автоматический помощник, который также упоминается здесь как виртуальный помощник, позволяет обеспечить улучшенный интерфейс между человеком и компьютером. Такой помощник, который можно реализовать так, как описано в родственной полноценной заявке США порядковый номер 12/987982, озаглавленной "Intelligent Automated Assistant", поданной 10 января 2011 года, полное раскрытие которой включено здесь посредством ссылки, дает возможность пользователям взаимодействовать с устройством или системой, используя естественный язык в устной и/или текстовой формах. Такой помощник интерпретирует вводы пользователя, выполняет намерения пользователя в задачах и параметрах к этим задачам, исполняет услуги для поддержки этих задач и делает вывод, который понятен пользователю.
Виртуальный помощник может обратиться к любому количеству источников информации для обработки ввода пользователя, включающего в себя, например, базы знаний, модели и/или данные. Во многих случаях ввода пользователя без посторонней помощи недостаточно для того, чтобы ясно определить намерение пользователя и задачу, которую необходимо выполнить. Это может происходить из-за шума во входном потоке, индивидуальных различий среди пользователей и/или свойственной неоднозначности естественного языка. Например, пользователь приложения обмена текстовыми сообщениями может по телефону вызвать виртуального помощника и произнести команду "call her" ("вызвать ее"). Хотя такая команда представляет собой вполне удовлетворительный английский язык, она не является точным, исполняемым высказыванием, поскольку существует много интерпретаций и возможных решений для этого запроса. Таким образом, без дополнительной информации виртуальный помощник не сможет корректно интерпретировать и обработать такой ввод. Неоднозначность такого типа может привести к ошибкам, неправильному выполнению действий и/или чрезмерному обременению пользователя запросами для разъяснения ввода.
Сущность изобретения
Согласно различным вариантам осуществления настоящего изобретения, виртуальный помощник использует контекстную информацию (которая также называется здесь как "контекст") для дополнения естественного языка или жестикуляционного ввода от пользователя. Это помогает выяснить намерение пользователя и уменьшить количество интерпретаций возможных вариантов ввода пользователя и уменьшает необходимость для пользователя обеспечивать ввод с излишними разъяснениями. Контекст может включать в себя любую доступную информацию, которую может использовать помощник для дополнения явного ввода пользователя с целью ограничения проблемы обработки информации и/или персонализации результатов. Например, если ввод, поступивший от пользователя, включает в себя местоимение (такое как "her" ("ее") в команде "call her" ("вызвать ее") виртуальный помощник может использовать контекст для того, чтобы сделать вывод относительно объекта ссылки, например для установления идентичности личности, которую будут вызывать, и/или телефонного номера для использования. Другие применения контекста описаны ниже.
Согласно различным вариантам осуществления настоящего изобретения любой из ряда механизмов можно реализовать с целью получения и применения контекстуальной информации для выполнения вычислений в виртуальном помощнике, реализованном на электронном устройстве. В различных вариантах осуществления виртуальный помощник представляет собой интеллектуальный автоматический помощник, который описан в полноценной заявке на патент США порядковый номер 12/987982, озаглавленной "Intelligent Automated Assistant", поданной 10 января 2011 года, полное раскрытие которой включено здесь посредством ссылки. Такой помощник входит в контакт с пользователем в обычной разговорной манере с использованием диалога на естественном языке и вызывает внешние услуги, когда это целесообразно, для получения информации или выполнения различных действий. Согласно технологиям, которые описаны здесь, контекстуальная информация используется в таком помощнике, например, для уменьшения неоднозначности при выполнении функций обработки информации, таких как распознавание речи, обработка естественного языка, обработка потока задач и выработка диалога.
Согласно различным вариантам осуществления настоящего изобретения виртуальный помощник можно сконфигурировать, сконструировать и/или выполнить с возможностью использования контекста для выполнения разнообразных типов операций, функциональных возможностей, и/или особенностей и/или для объединения множества особенностей, операций и приложений электронного устройства, на котором он установлен. В некоторых вариантах осуществления виртуальный помощник настоящего изобретения может использовать контекст при выполнении любого или всех из этапов, на которых: активно добиваются ввода от пользователя, интерпретируют намерения пользователя, устраняют возможность различного толкования среди конкурентных интерпретаций, запрашивают и принимают при необходимости поясняющую информацию и/или выполняют (или инициируют) действия, основанные на распознанном намерении.
Действия можно выполнить, например, с помощью активизации и/или сопряжения с любыми приложениями или услугами, которые могут быть доступны на электронном устройстве, а также услугами, которые доступны по электронной сети, такой как Интернет. В различных вариантах осуществления такую активизацию внешних услуг можно выполнить посредством интерфейса прикладного программирования (API) или с помощью любого другого подходящего механизма. Таким образом, виртуальный помощник, реализованный согласно различным вариантам осуществления настоящего изобретения, можно унифицировать, упростить и усовершенствовать впечатление пользователя по отношению к многочисленным различным приложениям и функциям электронного устройства и по отношению к услугам, которые могут быть доступны по Интернет. Таким образом, можно снизить нагрузку на пользователя, связанную с обучением того, какие функциональные возможности могут быть доступны на устройстве и на веб-подсоединенных услугах, как взаимодействовать с такими услугами для получения того, что он или она хочет, и как интерпретировать вывод, принятый из таких услуг; предпочтительно, чтобы помощник настоящего изобретения мог действовать как посредник между пользователем и такими разнообразными услугами.
Помимо этого, в различных вариантах осуществления виртуальный помощник настоящего изобретения предусматривает разговорный интерфейс, который пользователь может найти более интуитивным и менее обременительным, чем традиционный графический пользовательский интерфейс. Пользователь может входить в контакт в форме разговорного диалога с помощником, используя любое количество доступных механизмов ввода и вывода, таких как, например, речь, графический и пользовательский интерфейсы (кнопки и ссылки), ввод текста и т.п. Систему можно реализовать с использованием любого количества различных платформ, таких как устройства API, веб, электронную почту и т.п. или любой их комбинации. Запросы на дополнительный ввод можно предоставить пользователю в контексте такого разговора. Можно привлекать кратковременную и долговременную память для того, чтобы ввод пользователя можно было интерпретировать в виде заданных предыдущих событий с правильным контекстом и связи в пределах заданного сеанса, а также историческая информация и информация о профиле пользователя.
Помимо этого, в различных вариантах осуществления, контекстная информация, полученная от взаимодействия пользователя с особенностью, операцией или приложением на устройстве, можно использовать для ускорения работы других особенностей, операций или приложений на устройстве или на других устройствах. Например, виртуальный помощник может использовать контекст телефонного вызова (такого как человек, который звонил) для ускорения инициирования текстового сообщения (например, для определения того, что текстовое сообщение следует отправить тому же самому человеку без однозначно точного определения пользователем отправителя текстового сообщения). Виртуальный помощник настоящего изобретения может, таким образом, интерпретировать инструкции, такие как "отправить ему текстовое сообщение", в котором "ему" интерпретируется, согласно контекстной информации, полученной из текущего телефонного вызова, и/или из любой особенности, операции или приложения на устройстве. В различных вариантах осуществления виртуальный помощник учитывает различные типы доступных контекстных данных для того, чтобы определить, какой контакт из адресной книги использовать, какие данные о контакте использовать, какой телефонный номер использовать для контакта и т.п. с тем, чтобы пользователю не нужно было вручную повторно точно определять такую информацию.
Источники контекстуальной информации включают в себя, например, и без ограничения: текущее состояние устройства, которое используется в качестве интерфейса в помощнике, такое как текущее время, местоположение, приложение или объект данных; персональные данные, такие как адресная книга пользователя, календарь и история использования приложений; и состояние диалога между пользователем и виртуальным помощником, такие как недавно упомянутые люди и/или места.
Контекст можно применить во множестве вычислений и заключений при работе виртуального помощника. Например, контекст можно использовать для снижения неопределенности или в других случаях для ограничения количества решений, когда обрабатывается ввод пользователя. Таким образом, контекст можно использовать для ограничения решений во время различных этапов обработки, включающий в себя, например, и без ограничения:
- Распознавание речи - принимают голосовой ввод и вырабатывают интерпретации возможных вариантов в виде текста, например, "call her", "collar" и "call Herb". Контекст можно использовать для ограничения того, какие слова и фразы рассматриваются модулем распознания речи, как они ранжируются и какие принимают как превышающие порог рассмотрения. Например, адресная книга пользователя может добавлять имена людей в другую языковую общую модель речи для того, чтобы эти имена можно было распознать и задать приоритет.
- Обработка естественного языка (NLP) - производят анализ текста и ассоциируют слова, синтаксическими и сематическими ролями, например, определяют, что ввод пользователя касается телефонного вызова человеку, на которого ссылается местоимение "ее", и находят специфическое представление данных для этого человека. Например, контекст приложения обмена текстовых сообщений позволяет ограничить интерпретацию "her" до значения "человек, с которым я веду диалог в виде текста".
- Обработка потока задач - идентифицирую задачу пользователя, этапы задачи и параметры задачи, которые используются для того, чтобы помочь с задачей, например, какой телефонный номер использовать для человека, на который ссылаются как "her". К тому же, контекст приложения обмена текстовыми сообщениями может ограничить интерпретацию телефонного номера для того, чтобы показать, что система должна использовать номер, используемый в настоящее время или недавно для диалога на основе обмена текстовыми сообщениями.
- Выработка диалога - вырабатывают ответные действия помощника в качестве части диалога с пользователем относительно своей задачи. Например, для того, чтобы перефразировать намерения пользователя с помощью ответа "OK, I'll call Rebecca on her mobile…" ("Хорошо, я перезвоню Ребеке на ее телефон…". Уровень наполнения словами и неформальный тон представляют собой выбор, которым можно управлять с помощью контекстуальной информации.
В различных вариантах осуществления виртуальный помощник настоящего изобретения может управлять различными особенностями и операциями электронного устройства. Например, виртуальный помощник может вызывать услуги, которые взаимодействуют с функциональными возможностями и приложениями, выполняемыми на устройстве посредством API или других средств, для выполнения функций и операций, которые можно, с другой стороны, инициировать с использованием традиционного пользовательского интерфейса, установленного на устройстве. Такие функции операции могут включать в себя, например, установка тревожной сигнализации, выполнение телефонного вызова, отправка текстового сообщения или сообщения электронной почты, добавление события в календарь и т.п. Такие функции и операции можно выполнить в качестве дополнительных функций в контексте разговорного диалога между пользователем и помощником. Такие функции операции может точно определить пользователь в контексте такого диалога или их можно автоматически выполнить на основании контекста диалога. Специалисты в данной области техники могут распознать, что помощник может таким образом использоваться в качестве механизма управления для инициирования и управления различными операциями на электронном устройстве, которые можно использовать в качестве альтернативы традиционным механизмам, таким как кнопки или графические пользовательские интерфейсы. Как описано здесь, контекстуальную информацию можно использовать для информирования и улучшения такого использования виртуального помощника в качестве механизма управления.
Краткое описание чертежей
Сопроводительные чертежи иллюстрируют несколько вариантов осуществления настоящего изобретения и вместе с описанием служат для объяснения принципов настоящего изобретения, согласно вариантам осуществления. Специалисты в данной области техники могут распознать, что конкретные варианты осуществления, изображенные на чертежах, являются только образцовыми и не предназначены для ограничения объема настоящего изобретения. На чертежах:
фиг.1 - блок-схема, изображающая виртуального помощника и некоторые примеры источников контекста, которые могут оказывать влияние на его работу, согласно одному варианту осуществления;
фиг.2 - схема последовательности операций, изображающая способ использования контекста на различных этапах обработки в виртуальном помощнике, согласно одному варианту осуществления;
фиг.3 - схема последовательности операций, изображающая способ использования контекста при извлечении и интерпретации речи, согласно одному варианту осуществления;
фиг.4 - схема последовательности операций, изображающая способ использования контекста при обработке естественного языка, согласно одному варианту осуществления;
фиг.5 - схема последовательности операций, изображающая способ использования контекста при обработке потока задач, согласно одному варианту осуществления;
фиг.6 - блок-схема, изображающая пример источников контекста, распределенных между клиентом и сервером, согласно одному варианту осуществления;
фиг.7а - 7d - схемы событий, изображающие примеры механизмов получения и координации информации о контексте, согласно различным вариантам осуществления;
фиг.8а - 8d изображают примеры различных представлений информации о контексте, которую можно использовать в связи с различными вариантами осуществления настоящего изобретения;
фиг.9 изображает пример таблицы-конфигуратора, определяющей политики связи и кэширования для различных источников контекстуальной информации, согласно одному варианту осуществления;
фиг.10 - схема событий, изображающая пример доступа к источникам информации о контексте, сконфигурированных (фиг.9) во время обработки последовательности взаимодействия, согласно одному варианту осуществления;
фиг.11-13 - ряд снимков экрана, изображающих пример использования контекста приложения в области обмена текстовыми сообщениями для получения объекта ссылки для местоимения, согласно одному варианту осуществления;
фиг.14 - снимок экрана, иллюстрирующий, предоставляющего подсказку для устранения неоднозначности имени, согласно одному варианту осуществления;
фиг.15 - снимок экрана, иллюстрирующий виртуального помощника, использующего контекст диалога для предоставления вывода относительно местоположения команды, согласно одному варианту осуществления;
фиг.16 - снимок экрана, изображающий пример использования списки "любимых" телефонных номеров в качестве источника контекста, согласно одному варианту осуществления;
фиг.17-20 - последовательности снимков экрана, изображающие пример использования контекста текущего приложения для интерпретации и операционализации команды, согласно одному варианту осуществления;
фиг.21 - снимок экрана, изображающий пример использования контекста текущего приложения для интерпретации команды, которая запускает различные приложения;
фиг.22-24 - последовательности снимков экрана, изображающие пример использования контекста события в форме поступающего текстового сообщения, согласно одному варианту осуществления;
фиг.25a и 25b - последовательности снимков экрана, изображающие пример использования контекста предыдущего диалога, согласно одному варианту осуществления;
фиг.26a и 26b - снимки экрана, изображающие пример пользовательского интерфейса для выбора среди интерпретаций возможных вариантов, согласно одному варианту осуществления;
фиг.27 - блок-схема, изображающая пример одного варианта осуществления системы виртуального помощника;
фиг.28 - блок-схема, изображающая вычислительное устройство, подходящее для реализации, по меньшей мере, части виртуального помощника, согласно, по меньшей мере, одному варианту осуществления;
фиг.29 - блок-схема, изображающая архитектуру для реализации, по меньшей мере, части виртуального помощника на автономной вычислительной системе, согласно, по меньшей мере, одному варианту осуществления;
фиг.30 - блок-схема, изображающая архитектуру для реализации, по меньшей мере, части виртуального помощника по распределенной вычислительной сети, согласно, по меньшей мере, одному варианту осуществления;
фиг.31 - блок-схема, изображающая архитектуру системы, которая иллюстрирует несколько различных типов клиентов и режимов работы;
фиг.32 - блок-схема, изображающая клиента и сервер, которые поддерживают связь друг с другом для реализации настоящего изобретения, согласно одному варианту осуществления.
Подробное описание изобретения
Согласно различным вариантам осуществления настоящего изобретения множество контекстуальной информации получается и применяется для выполнения функций обработки информации при поддержке операций виртуального помощника. В целях описания термин "виртуальный помощник", эквивалентен термину "интеллектуальный автоматический помощник", каждый из которых относится к любой системе обработки информации, которая выполняет одну или более функций:
- интерпретация ввода языка человека в устной и/или текстовой форме;
- операционализация представления намерения пользователя в виде, который можно выполнить, таком как представление задачи с этапами с и/или параметрами;
- выполнение представлений задачи путем запуска программ, способов, услуг, API или т.п.; и
- выработка выходных откликов для пользователя в языковой или графической форме.
Пример такого виртуального помощника описан в родственной полноценной заявке на патент США порядковый номер 12/987982, озаглавленной "Intelligent Automated Assistant", поданной 10 января 2011 года, полное раскрытие которой включено здесь посредством ссылки.
Ниже приводится подробное описание различных технологий со ссылкой на образцовые варианты осуществления, которые изображены на сопроводительных чертежах. В следующем ниже описании численные специфические подробности изложены для того, чтобы обеспечить полное понимание одного или более аспектов и/или особенностей, описанных здесь, или на которые ссылаются здесь. Однако специалистам в данной области техники будет ясно, что один или более аспектов и/или особенностей, описанных здесь, или на которые ссылаются здесь, можно осуществить на практике без некоторых или всех этих специфических подробностей. В других случаях, хорошо известные этапы процесса и/или структуры не будут подробно описаны для того, чтобы не затенять некоторые аспекты и/или особенности, описанные здесь или на которые ссылаются здесь.
В настоящей заявке можно описать одно или более различных изобретений. Кроме того, для одного или более изобретений, описанных здесь, в этой заявке можно описать многочисленные варианты осуществления, и они представлены только в целях иллюстрации. Описанные варианты осуществления не предназначены для ограничения в любом смысле. Одно или более изобретений можно широко применить к многочисленным вариантам осуществления, как это вполне очевидно из раскрытия. Эти варианты осуществления описаны достаточно подробно для того, чтобы специалисты в данной области техники могли реализовать на практике одно или более изобретений, и следует понимать, что можно использовать и другие варианты осуществления и что структурные, логические, программные, электрические и другие изменения можно выполнить без отклонения от объема одного или более изобретений. Соответственно, специалистам в данной области техники будет очевидно, что одно или более изобретений можно применить на практике с различными модификациями и изменениями. Конкретные особенности одного или более изобретений можно описать со ссылкой на один или более конкретные варианты осуществления и фигуры, которые образуют часть настоящего раскрытия и на которых показаны, посредством иллюстраций, специфические варианты осуществления одного или более изобретения. Однако следует понимать, что такие особенности не ограничены применением в одном или более конкретных вариантах осуществления или фигурами со ссылкой, с которой они описаны. Настоящее раскрытие не является буквальным описанием всех вариантов осуществления одного или более изобретений или перечнем особенностей одного или более изобретений, которые должны быть представлены во всех вариантах осуществления.
Заголовки разделов, предусмотренные в данной заявке на патент, и названия данной заявки на патент используются только ради удобства и не используются как ограничивающие раскрытие любым способом.
Устройства, которые поддерживают связь друг с другом, не должны поддерживать постоянную связь друг с другом, если прямо не указано иное. Помимо этого, устройства, которые поддерживают связь друг с другом, могут поддерживать связь непосредственно или косвенно через одного или более посредников.
Описание варианта осуществления с несколькими компонентами, необходимыми при поддержании связи друг с другом, не подразумевают, что все такие компоненты требуются. Напротив, для иллюстрации широкого разнообразия возможных вариантов осуществления одного или более изобретений приведено описание разнообразных вспомогательных компонентов.
Кроме того, хотя этапы процесса, этапы способа, алгоритмы или т.п. можно описать в последовательном порядке, такие процессы, способы и алгоритмы можно сконфигурировать для работы в любом подходящем порядке. Другими словами, любая последовательность или порядок этапов, который можно описать в данной заявке на патент, не означает требование, в соответствии с которым эти этапы должны быть выполнены в таком порядке. Кроме того, некоторые этапы можно выполнить одновременно, несмотря на то, что они описаны или подразумеваются как происходящее неодновременно (например, потому что один этап описан после другого этапа). Более того, иллюстрация процесса с помощью его изображения на чертеже не подразумевает, что иллюстрированный процесс исключает другие изменения и модификации в нем, не подразумевает, что иллюстрированный процесс или любой из его этапов обязательно представляют собой один или более изобретений, и не подразумевает, что иллюстрированный процесс является предпочтительным.
При описании одного устройства или изделия вполне очевидно, что вместо одного устройства/изделия можно использовать более чем одного устройства/изделия (которые взаимодействуют или не взаимодействую). Аналогично, там, где описано более чем одно устройство или изделие (которые взаимодействуют или не взаимодействуют), вполне очевидно, что одно устройство/изделие можно использовать вместо более чем одного устройства или изделия.
Функциональные возможности и/или особенности устройства можно альтернативно осуществить с помощью одного или более других устройств, которые явно не описаны как имеющие такие функциональные возможности/особенности. Таким образом, другие варианты осуществления одного или более изобретений не должны включать в себя само устройство.
Технологии и механизмы, описанные здесь или на которые ссылаются здесь, будут иногда описаны для ясности в одном единственном виде. Однако следует отметить, что конкретные варианты осуществления включают в себя многочисленные итерации, технологии или многочисленные примеры механизмов, если не отмечено иное.
Хотя описанные в пределах контекста технологии для реализации интеллектуального автоматического помощника также известны как виртуальный помощник, можно понять, что различные аспекты и технологии, описанные здесь, можно также развернуть и/или применить в других областях техники, включающих в себя взаимодействие с человеком и/или компьютерное взаимодействие с программным обеспечением.
Другие аспекты, которые относятся к технике виртуальных помощников (например, которые можно использовать, предоставить и/или реализовать в одном или более вариантах осуществления системы виртуального помощника, которые описаны здесь), раскрыты в одном или более из следующего, полное раскрытие которых включены здесь посредством ссылки:
- Полноценная заявка на патент США порядковый номер 12/987982 под названием "Intelligent Automated Assistant", attorney docket number P10575US1, поданная 10 января 2011 года;
- Предварительная заявка на патент США порядковый номер 61/295774 под названием "Intelligent Automated Assistant", attorney docket number SIRIP003P, поданная 18 января 2010 года;
- Заявка на патент США порядковый номер 11/518292 под названием "Method And Apparatus for Building an Intelligent Automated Assistant", поданная 8 сентября 2006 года; и
- Предварительная заявка на патент США порядковый номер 61/186414 под названием "System and Method for Semantic Auto-Completion", поданная 12 июня 2009 года.
В общем, технологии виртуального помощника, раскрытые здесь, можно реализовать на аппаратных средствах или посредством комбинации программного обеспечения и аппаратных средств. Например, их можно реализовать в виде ядра операционной системы, в виде отдельного пользовательского процесса, в виде библиотечного пакета, связанного в сетевые приложения, на специально сконструированной машине, и/или на сетевой интерфейсной плате. В специфическом варианте осуществления, технологии, раскрытые здесь, можно реализовать в виде программного обеспечения, такого как операционная система, или в виде приложения, запускаемого на операционной системе.
Гибридная реализация (гибридные реализации) программного обеспечения/аппаратных средств, по меньшей мере, некоторых из вариантов осуществления (варианта осуществления) виртуального помощника, раскрытые здесь, можно реализовать на программируемой машине, избирательно активизируемой или реконфигурируемой с помощью компьютерной программы, сохраненной в памяти. Такие сетевые устройства могут иметь многочисленные сетевые интерфейсы, которые можно сконфигурировать или сконструировать с возможностью использования различных типов сетевых протоколов связи. Общая архитектура для некоторых этих машин может появиться из описаний, раскрытых здесь. Согласно специфическим вариантам осуществления, по меньшей мере, некоторые из особенностей и/или функциональных особенностей различных вариантов осуществления виртуального помощника, раскрытых здесь, можно реализовать на одной или более сетевых хост-машинах общего назначения, таких как вычислительная система конечного пользователя, компьютер, сетевой сервер или система серверов, мобильное вычислительное устройство (например, персональный цифровой помощник, мобильный телефон, смартфон, портативный персональный компьютер типа "лэптоп", планшетный компьютер или т.п.), бытовое электронное устройство, музыкальный проигрыватель или любое другое подходящее устройство, маршрутизатор, переключатель или т.п. или любая их комбинация. По меньшей мере, в некоторых вариантах осуществления, по меньшей мере, некоторые особенности и/или функциональные возможности различных вариантов осуществления виртуального помощника, раскрытых здесь, можно реализовать в виде одной или более виртуализованных вычислительных средах (например, в виде сетевых вычислительных облаков или т.п.).
На фиг.28 показана блок-схема, изображающее вычислительное устройство 60, подходящая для реализации, по меньшей мере, части особенностей виртуального помощника и/или функциональных возможностей, раскрытых здесь. Вычислительное устройство 60 может представлять собой, например, вычислительную систему конечного пользователя, сетевой сервер или систему серверов, мобильное вычислительное устройство (например, персональный цифровой помощник, мобильный телефон, смартфон, портативный персональный компьютер типа "лэптоп", планшетный компьютер или т.п.), бытовое электронное устройство, музыкальный проигрыватель или любое другое подходящее электронное устройство, или любую их комбинацию или их часть. Вычислительное устройство 60 можно выполнить с возможностью поддержания связи с другими вычислительными устройствами, такими как клиенты и/или серверы, по сети связи, такой как Интернет, с использованием известных протоколов для такой связи, беспроводной или проводной.
В одном варианте осуществления вычислительное устройство 60 включает в себя центральное процессорное устройство (ЦПУ) 62, интерфейсы 68 и шину 67 (такая как шина для подключения периферийных компонентов (PCI)). Под управлением соответствующего программного обеспечения или программно-аппаратного обеспечения ЦПУ 62 может отвечать за реализацию специфических функций, связанных с функциями специально сконфигурированного вычислительного устройства или машины. Например, по меньшей мере, в одном варианте осуществления персональный цифровой помощник (PDA) пользователя или смартфон можно сконфигурировать или сконструировать с возможностью функционирования в качестве системы виртуального помощники, использующей ЦПУ 62, память 61, 65 и интерфейс(ы) 68. По меньшей мере, в одном варианту осуществления ЦПУ 62 может заставлять выполнять одну или более из различных типов функций виртуального помощника и/или работает под управлением модулей/компонентов программного обеспечения, которые, например, могут включать в себя операционную систему и программное обеспечение с любыми соответствующими приложениями, драйверы и т.п.
ЦПУ 62 может включать в себя один или более процессоров 63, таких, например, как процессор из семейства процессоров Motorola, или Intel, или семейства микропроцессоров MIPS. В некоторых вариантах осуществления процессор(ы) 63 может включать в себя специально разработанные аппаратные средства (например, специализированные интегральные схемы (ASIC), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ), программируемые логические матрицы (ПЛМ) и т.п.) для управления операциями вычислительных устройств 60. В специфическом варианте осуществления память 61 (такая как энергонезависимое оперативное запоминающее устройство (ОЗУ) и/или постоянное запоминающее устройство (ПЗУ)) также образует часть ЦПУ 62. Однако существуют многочисленные другие способы, в которых память можно связать с системой. Блок 61 памяти можно использовать для различных целей, таких, например, как кэширование и/или хранение данных, программирование инструкций и т.п.
Термин "процессор", который используется здесь, не ограничивается только теми интегральными схемами, которые упоминаются в технике как процессор, но, в общем, относятся к микроконтроллеру, микрокомпьютеру, программируемому логическому контроллеру, специализированной интегральной схеме и к любой другой программируемой схеме.
В одном варианте осуществления интерфейсы 68 выполнены в качестве интерфейсных плат (которые иногда называются как "линейный платы"). В общем, они управляют передачей и приемом пакетов данных по вычислительной сети и иногда поддерживают другие периферийные устройства, которые используются с вычислительным устройством 60. Среди интерфейсов, которые можно выполнить, имеются интерфейсы Ethernet, интерфейсы ретрансляции кадров, кабельные интерфейсы, интерфейсы DSL, интерфейсы кольцевой локальной сети с маркерным доступом и т.п. Помимо этого, можно предусмотреть различные типы интерфейсов, такие, например, как универсальная последовательная шина (USB), последовательность, Ethernet, шина Firewire, шины межсоединений периферийных компонентов PCI, параллельные, радиочастотные (РЧ), Bluetooth™, ближняя связь (например, с использованием магнитных явлений в ближней зоне), 802.11 (WiFi), ретрансляция кадров TCP/IP, ISDN, интерфейсы "быстрого" Ethernet, интерфейсы Gigabit Ethernet, интерфейсы режима асинхронной передачи (ATM), интерфейсы высокоскоростного последовательного интерфейса (HSSI), интерфейсы "точка продажа" (POS), оптоволоконные интерфейсы распределенных данных (FDDI) и т.п. В общем, такие интерфейсы 68 могут включать в себя порты, соответствующие для поддержания связи с соответствующими средствами. В некоторых случаях они могут также включать в себя независимый процессор и в некоторых случаях энергозависимую или энергонезависимую память (например, ОЗУ).
Хотя система, показанная на фиг.28, иллюстрирует одну специфическую архитектуру для вычислительного устройства 60 для реализации технологий настоящего изобретения, описанного здесь, она некоим образом не представляет собой только архитектуру устройства, на которой можно реализовать, по меньшей мере, часть особенностей и технологий, описанных здесь. Например, можно использовать архитектуры, имеющие один или любое кол