ОПРЕДЕЛЕНИЕ ЗАДАЧ В СООБЩЕНИЯХ
IDENTIFYING TASKS IN MESSAGES

УРОВЕНЬ ТЕХНИКИ
[0001] Пользователи могут быть завалены текстовыми сообщениями, сообщениями электронной почты, голосовой почты и/или другими сообщениями, запрашивающими пользователя выполнить различные задачи (например, «позвонить Салли в 9 утра во вторник», «подготовить отчет», «забронировать столик в Sal's в субботу в 8» и т. д.). Эти задачи могут быть встроены в сообщения различными способами таким образом, что от пользователей может требоваться внимательное прочтение сообщения и, возможно, повторное прочтение некоторых сообщений, чтобы гарантировать выполнение или иную обработку задач, назначенных им. Если пользователи не создают списков текущих дел, тогда позже для пользователей могут возникнуть сложности в поиске назначенных им задач среди бесчисленного множества сообщений в различных форматах (например, сообщений электронной почты, текстовых сообщений, сообщений голосовой почты и т. д.).
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0002] Настоящее изобретение в общем относится к способам, устройствам и машиночитаемым носителям (постоянным и непостоянным) для определения задач в сообщениях и выполнения различных ответных действий. В некоторых вариантах осуществления сообщение может подвергаться обработке естественного языка для формирования сообщения с примечаниями, которое включает в себя различную информацию, такую как части речи с примечаниями, синтаксически проанализированные синтаксические отношения, указания на объекты с примечаниями, кластеры указаний на один и тот же объект и так далее. Упомянутое сообщение с примечаниями может анализироваться, например, согласно грамматике, имеющей один или более путей правил, для определения того, соответствует ли часть сообщения требованиям для классификации в качестве задачи, и если да, в качестве какого типа задачи она должна быть классифицирована. В различных вариантах осуществления подходящий пользовательский интерфейс может быть определен и в некоторых случаях запущен или открыт на основании классификации типа задачи, сообщения с примечаниями, выведенного в результате обработки естественного языка, и других источников данных.
[0003] Классификация частей (или полных) сообщений в качестве задач, а также определение типов задач обеспечивают различные технические преимущества. Например, автоматическая классификация частей сообщений в качестве задач может предотвращать невыполнение задач пользователем, которые пользователь мог не заметить в поспешно прочитанных сообщениях, в сообщениях, которые пользователь не прочитал, и/или в сообщениях, которые пользователь не понял полностью (например, ввиду отвлечения и т. д.). Кроме того, автоматически определенные задачи избавляют пользователя от необходимости возвращаться к сообщениям позже для отслеживания потенциальных задач. В качестве другого примера, автоматическое определение пользовательского интерфейса, ассоциированного с выполнением классифицированной задачи, может избавлять пользователя от необходимости инициировать пользовательский интерфейс самостоятельно и/или может увеличивать вероятность того, что пользователь выполнит задачу. Использование обработки естественного языка и грамматики для определения задач может также обеспечивать другие технические преимущества, например обеспечение определения задачи без снижения конфиденциальности электронных средств связи. Другое потенциальное техническое преимущество состоит в том, что общий трафик электронной почты может быть снижен вследствие меньшего количества повторных сообщений электронной почты (например, напоминаний завершить задачи), необходимых ввиду того, что задачи автоматически определяются.
[0004] В некоторых вариантах осуществления может быть обеспечен осуществляемый компьютером способ, который включает в себя этапы, на которых: выполняют посредством вычислительной системы обработку естественного языка для принятого сообщения для формирования сообщения с примечаниями; анализируют посредством вычислительной системы сообщение с примечаниями согласно грамматике; и классифицируют посредством вычислительной системы часть сообщения как запись задачи пользователя на основании анализа сообщения с примечаниями.
[0005] Любые из этого способа и других вариантов осуществления раскрытой здесь технологии может при необходимости включать в себя один или более из следующих признаков.
[0006] В различных вариантах осуществления анализ содержит этап, на котором анализируют посредством вычислительной системы сообщение с примечаниями согласно множеству путей грамматических правил для формирования множества возможных записей задач пользователя и ассоциированных оценок. В различных вариантах осуществления классификация содержит этап, на котором выбирают посредством вычислительной системы запись задачи пользователя из множества возможных записей задач пользователя на основании ассоциированных оценок.
[0007] Способ может дополнительно включать в себя этап, на котором определяют посредством вычислительной системы пользовательский интерфейс, ассоциированный с выполнением записи задачи пользователя, на основании анализа сообщения с примечаниями. В различных вариантах осуществления выполнение обработки естественного языка содержит этап, на котором определяют посредством вычислительной системы указание на объект взаимодействия задачи для записи задачи пользователя в сообщении. В различных вариантах осуществления выполнение обработки естественного языка дополнительно содержит этап, на котором классифицируют посредством вычислительной системы первый объект взаимодействия задачи как человека, местоположение или организацию. В различных вариантах осуществления выполнение обработки естественного языка дополнительно содержит этап, на котором определяют посредством вычислительной системы действие задачи для записи задачи пользователя.
[0008] В различных вариантах осуществления определение пользовательского интерфейса содержит этап, на котором определяют пользовательский интерфейс на основании объекта взаимодействия задачи и действия задачи. В различных вариантах осуществления способ дополнительно включает в себя этап, на котором автоматически заполняют посредством вычислительной системы один или более элементов данных, ассоциированных с пользовательским интерфейсом, информацией на основании анализа сообщения с примечаниями. В различных вариантах осуществления способ может дополнительно включать в себя этап, на котором автоматически запускают или открывают посредством вычислительной системы пользовательский интерфейс. В различных вариантах осуществления грамматика содержит бесконтекстную грамматику.
[0009] Другие варианты осуществления могут включать в себя постоянный машиночитаемый носитель данных, хранящий инструкции, исполняемые процессором, для выполнения способа, такого как один или более из способов, описанных выше. Еще один вариант осуществления может включать в себя систему, включающую в себя память и один или более процессоров, действующих для исполнения инструкций, сохраненных в памяти, для выполнения способа, такого как один или более из способов, описанных выше.
[0010] Следует понимать, что все комбинации вышеупомянутых концепций и дополнительных концепций, описанных более подробно здесь, рассматриваются как часть объекта изобретения, раскрываемого здесь. Например, все комбинации заявленного объекта изобретения, фигурирующие в конце этого раскрытия, рассматриваются как входящие в состав изобретения, раскрываемого здесь.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0011] Фиг.1 иллюстрирует примерную среду, в которой задачи могут быть определены в сообщениях.
[0012] Фиг.2 изображает примерные компоненты механизма обработки естественного языка.
[0013] Фиг.3 схематически демонстрирует пример того, как сообщение может анализироваться с использованием технологий, раскрываемых здесь, для того, чтобы определять и/или классифицировать задачи и предпринимать меры реагирования.
[0014] Фиг.4 изображает блок-схему, иллюстрирующую примерный способ определения задач в сообщениях.
[0015] Фиг.5 схематически изображает примерную структуру компьютерной системы.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0016] Фиг.1 изображает примерную среду, в которой могут быть определены задачи в сообщениях. Примерная среда включает в себя клиентское устройство 106 и систему 102 записей задач пользователя. Система 102 записей задач пользователя может осуществляться в одном или более компьютерах, которые сообщаются, например, через сеть (не изображена). Система 102 записей задач пользователя может быть примером системы, в которой системы, компоненты и технологии, описанные здесь, могут осуществляться и/или с которой системы, компоненты и технологии, описанные здесь, могут осуществлять интерфейс. Хотя они описаны здесь как осуществляемые в значительной степени в «системе записей задач пользователя», раскрываемые технологии могут в действительности выполняться в системах, которые служат различным другим целям, такие как системы электронной почты, системы обмена текстовыми сообщениями, системы социальных сетей, системы голосовой почты, системы производительности, программные средства предприятий, поисковые системы и так далее.
[0017] Пользователь может взаимодействовать с системой 102 записей задач пользователя посредством клиентского устройства 106. Другие компьютерные устройства могут сообщаться с системой 102 записей задач пользователя, включающие в себя, но не ограничивающиеся, дополнительные клиентские устройства и/или один или более серверов, осуществляющих обслуживание для веб-сайта, который имеет партнерские отношения с поставщиком системы 102 записей задач пользователя. В целях краткости изложения, однако, примеры описаны в контексте клиентского устройства 106.
[0018] Клиентское устройство 106 может быть компьютером в сообщении с системой 102 записей задач пользователя через сеть, такую как локальная сеть (LAN) или широкомасштабная сеть (WAN), такая как Интернет (одна или более таких сетей, в общем обозначены позицией 110). Клиентское устройство 106 может быть, например, настольным вычислительным устройством, вычислительным устройством-ноутбуком, планшетным вычислительным устройством, вычислительным устройством мобильного телефона, вычислительным устройством транспортного средства пользователя (например, системой связи в транспортном средстве, системой развлечения в транспортном средстве, системой навигации в транспортном средстве), или носимым устройством пользователя, которое включает в себя вычислительное устройство (например, часы пользователя, имеющие вычислительное устройство, очки пользователя, имеющие вычислительное устройство, носимый музыкальный проигрыватель). Кроме того, могут быть обеспечены дополнительные и/или альтернативные клиентские устройства. Клиентское устройство 106 может исполнять одно или более приложений, таких как клиентское приложение 107, которое обеспечивает возможность пользователю принимать и использовать сообщения, создавать списки задач и выполнять различные действия, относящиеся к выполнению задач. Используемый здесь термин «сообщение» может относиться к сообщению электронной почты, текстовому сообщению (например, SMS, MMS), сообщению системы мгновенного обмена сообщениями, сообщению голосовой почты или к любой другой входящей связи, которая адресована пользователю и которая имеет возможность подвергаться обработке естественного языка.
[0019] В некоторых вариантах осуществления каждое из клиентского устройства 106 и системы 102 записей задач пользователя включает в себя память для хранения данных и программных приложений, процессор для осуществления доступа к данным и исполнения приложений и компоненты, которые обеспечивают возможность связи через сеть 110. Операции, выполняемые клиентским устройством 106 и/или системой 102 записей задач пользователя, могут быть распределены между множеством компьютерных систем. Система 102 записей задач пользователя может осуществляться в качестве, например, компьютерных программ, запущенных на одном или более компьютерах в одном или более местоположениях, которые объединены друг с другом через сеть.
[0020] В различных вариантах осуществления система 102 записей задач пользователя может включать в себя механизм 120 объектов, механизм 122 пользовательского интерфейса, механизм 124 обработки естественного языка (NLP), механизм 126 грамматики и/или механизм 128 классификации задач. В некоторых вариантах осуществления один или более из механизмов 120, 122, 124, 126 и/или 128 может комбинироваться и/или отбрасываться. В некоторых вариантах осуществления один или более из механизмов 120, 122, 124, 126 и/или 128 может осуществляться в компоненте, который является отдельным от системы 102 записей задач пользователя. В некоторых вариантах осуществления один или более из механизмов 120, 122, 124, 126 и/или 128 или любая их оперативная часть может осуществляться в компоненте, который исполняется клиентским устройством 106.
[0021] Механизм 120 объектов может обслуживать базу 125 данных объектов. «Объекты» могут включать в себя, не ограничиваясь, людей, местоположения, организации, действия, объекты и так далее. В различных вариантах осуществления база 125 данных объектов может включать в себя данные объектов, относящиеся к конкретному пользователю и/или к пользователям на глобальном уровне. Например, в некоторых вариантах осуществления база 125 данных объектов может включать в себя список контактов пользователя, который часто может обслуживаться в виде списка контактов в интеллектуальном телефоне пользователя и/или в его электронной почте. В некоторых таких случаях база 125 данных объектов может быть осуществлена дополнительно или в качестве альтернативы на клиентском устройстве 106. В некоторых вариантах осуществления база данных объектов может включать в себя сеть глобальных объектов, которые могут относиться или не относиться ко всем пользователям. В различных вариантах осуществления данные глобальных объектов могут заполняться с течением времени из различных источников данных, таких как поисковые системы (например с их ассоциированными поисковыми роботами), общие списки контактов пользователей, системы социальных сетей и так далее. В различных вариантах осуществления данные объекта могут сохраняться в базе 125 данных объектов в различных формах, таких как диаграмма, дерево и т. д.
[0022] Механизм 122 пользовательского интерфейса может обслуживать индекс 127 пользовательских интерфейсов. Используемый здесь термин «пользовательский интерфейс» может указывать на любой визуальный и/или звуковой интерфейс или командную строку, с которыми пользователь может взаимодействовать. Некоторые пользовательские интерфейсы могут быть неотъемлемыми частями исполняемых программных приложений, которые могут программироваться с использованием различных языков программирования и/или сценариев, таких как C, C#, C++, Pascal, Visual Basic, Perl и так далее. Другие пользовательские интерфейсы могут иметь форму документов на языке разметки, таких как веб-страницы (например, HTML, XML) или интерактивные голосовые приложения (например, VXML).
[0023] В данном описании термин «база данных» и термин «индекс» будут использоваться широким образом для указания на любую совокупность данных. Данные базы данных и/или индекса не обязательно должны быть структурированы каким-либо определенным образом и могут храниться на устройствах хранения данных в одном или более географических местоположениях. Таким образом, например, индексы 125 и/или 127 могут включать в себя множество совокупностей данных, каждая из которых может быть по разному организована и к каждой из которых может быть различный способ доступа.
[0024] Как описано здесь, запись задачи пользователя (в качестве альтернативы называемая просто «задачей») может включать в себя указание одного или более действий задач и указание одного или более объектов взаимодействия задачи. Действие задачи может быть действием,  которое пользователь хочет выполнить и/или хочет, чтобы оно было выполнено одним или более другими пользователями. Например, действием задачи может быть «купить», и пользователь может хотеть купить что-то и/или хотеть, чтобы другой человек купил что-то для пользователя. Объектом взаимодействия задачи является объект, который ассоциирован с действием задачи. Например, задача может иметь действие задачи «купить» и объект взаимодействия задачи «бананы», и целью задачи может быть то, чтобы пользователь купил бананы.
[0025] В некоторых вариантах осуществления указание действия задачи и/или объекта взаимодействия задачи в записи задачи может включать в себя идентификатор объекта. Например, указание действия задачи «купить» может включать в себя идентификатор объекта, ассоциированный с действием покупки. Идентификатор объекта может быть ассоциирован с объектом в одной или более базах данных, таких как база 125 данных объектов. В некоторых вариантах осуществления указание действия задачи и/или объекта взаимодействия задачи в записи задачи пользователя может в качестве дополнения или альтернативы включать в себя один или более терминов, ассоциированных с действием задачи и/или объектом взаимодействия задачи. Например, указание действия задачи «купить» может включать в себя термины «купить» и/или «покупать».
[0026] Система 102 записей задач пользователя может быть выполнена с возможностью определения и/или классификации записей задач пользователя внутри сообщений по меньшей мере частично на основании анализа сообщений согласно грамматике. Однако разработка грамматики, способной обеспечить такой анализ может быть практически неосуществима. Сообщения могут содержать практически любые слова любого языка в любом порядке. Соответственно, механизм 124 NLP может быть выполнен с возможностью выполнения в первую очередь обработки естественного языка над сообщениями для обеспечения того, что будет называться здесь «сообщением с примечаниями». Сообщение с примечаниями может включать в себя различные типы и уровни примечаний для различных аспектов сообщения. Эти примечания могут прояснять различные аспекты сообщения, отношения между терминами и сегментами сообщения и так далее, так, чтобы разработка грамматики, подходящей для анализа сообщений для определения и/или классификации задач, могла стать практически осуществимой. В различных вариантах осуществления сообщение с примечаниями может быть организовано в одну или более структур данных, включающих в себя, не ограничиваясь, деревья, графы, списки (например, список со ссылками), массивы и так далее.
[0027] Примечания, которые могут быть обеспечены механизмом 124 NLP в составе сообщения с примечаниями, могут быть наилучшим образом поняты при обращении к фиг.2, где изображены компоненты примерного механизма 124 NLP. Механизм 124 NLP может включать в себя средство 230 маркировки частей речи, которое может быть выполнено с возможностью снабжения примечаниями, или «маркировки», слов сообщения с их грамматическими ролями. Например, средство 230 маркировки частей речи может маркировать каждое слово его частью речи, такой как «существительное», «глагол», «прилагательное», «местоимение» и т. д.
[0028] В некоторых вариантах осуществления NLP 124 может также включать в себя синтаксический анализатор 232 на основе грамматики зависимостей. Синтаксический анализатор 232 на основе грамматики зависимостей может быть выполнен с возможностью определения синтаксического отношения между словами сообщения. Например, синтаксический анализатор 232 на основе грамматики зависимостей может определять, какие слова модифицируют какие другие слова, подлежащие и глаголы предложений и так далее. Синтаксический анализатор 232 на основе грамматики зависимостей может затем делать подходящие примечания о таких зависимостях.
[0029] В некоторых вариантах осуществления NLP 124 может включать в себя средство 234 фрагментации упоминаний. Средство 234 фрагментации упоминаний может быть выполнено с возможностью определения и/или снабжения примечаниями указаний на объекты или их «упоминаний», включающих в себя объекты взаимодействия задачи, в сообщении. Например, средство 234 фрагментации упоминаний может определять, на какого человека, место, вещь, идею или другой объект указывает каждое существительное или личное местоимение, и может снабжать примечаниями, или «маркировать», их соответственно. В качестве другого примера, средство 234 фрагментации упоминаний может быть выполнено с возможностью ассоциирования указаний со временем и/или датой с конкретным временем или датами. Например, предположим, что сообщение содержит предложение: «Ты можешь купить молоко по пути домой сегодня вечером?» Средство 234 фрагментации упоминаний может ассоциировать словосочетание «сегодня вечером» с сегодняшней датой и с конкретным временем (например, после 5 часов вечера). В некоторых вариантах осуществления средство 234 фрагментации упоминаний может определять, например, из пользовательского календаря, когда пользователь уходит с работы, и может ассоциировать это время со словосочетанием "сегодня вечером". Один или более последующих компонентов могут использовать эту информацию, чтобы создать или помочь пользователю создать надлежащую запись календаря и/или обеспечить то, что пользователь получит напоминание в надлежащее время (например, пока едет домой).
[0030] В некоторых вариантах осуществления NLP 124 может включать в себя средство 236 маркировки именованных объектов. Средство 236 маркировки именованных объектов может быть выполнено с возможностью снабжения примечаниями, или «маркировки», указаний на объекты в сообщении с примечаниями как человека, местоположения, организации и так далее. В некоторых вариантах осуществления средство 236 маркировки именованных объектов может определять одно или более действий задачи для записи задачи пользователя. В других вариантах осуществления один или более других компонентов, изображенных на фиг.2 или где-либо еще на чертежах, могут быть выполнены с возможностью определения одного или более действий задачи для записи задачи пользователя.
[0031] В некоторых вариантах осуществления NLP 124 может включать в себя средство 238 разрешения кореферентности. Средство 238 разрешения кореферентности может быть выполнено с возможностью группировки, или «кластеризации», указаний на один и тот же объект на основании различных контекстных признаков, содержащихся в сообщении. Например, «Рейган», «президент» и «он» в сообщении могут группироваться вместе. В некоторых вариантах осуществления средство 238 разрешения кореферентности может использовать данные за пределами основной части или темы сообщения, например метаданные, для кластеризации указаний. Например, сообщение электронной почты или текстовое сообщение может содержать указание только на «ты» (например, «Ты можешь купить молоко по пути домой сегодня вечером?»). В таком случае, средство 238 разрешения кореферентности (или другой компонент в других вариантах осуществления) может разрешить указание на «ты», как на человека, которому адресовано сообщение электронной почты или текстовое сообщение.
[0032] В некоторых вариантах осуществления NLP 124 может также включать в себя средство 240 разрешения объектов. средство 240 разрешения объектов может быть выполнено с возможностью связи с механизмом 120 объектов для определения, являются ли объекты, на которые указывается в сообщении (например, посредством указаний, маркированных средством 234 фрагментации упоминаний), объектами, которые содержатся в базе 125 данных объектов.
[0033] Обращаясь вновь к фиг.1, механизм 126 грамматики может быть выполнен с возможностью анализа сообщения с примечаниями механизма 124 NLP на основе грамматики для определения, включает ли сообщение в себя запись задачи пользователя. В некоторых вариантах осуществления механизм 126 грамматики может анализировать сообщение с примечаниями согласно множеству путей грамматических правил. Каждый путь правил может быть ассоциирован с одним или более потенциальными типами записи задач пользователя. Механизм 128 классификации задач может быть выполнен с возможностью анализа выходных данных из механизма 126 грамматики и, в частности, выходных данных из множества путей грамматических правил для определения типа задачи. Механизм 122 пользовательского интерфейса может быть выполнен с возможностью определения пользовательского интерфейса, ассоциированного с задачей, например, на основании различных данных от различных других компонентов на фиг.1.
[0034] Фиг.3 изображает одну примерную последовательность процесса для определения задач в сообщении 350. Сообщение 350 может включать в себя машиночитаемые знаки и/или символы, например, сообщения электронной почты, текстового сообщения и т. д. В качестве дополнения или альтернативы, сообщение 350 может включать в себя текст распознанной речи (например, расшифровку) сообщения голосовой почты или другого аудиосообщения. Сообщение 350 может сначала обрабатываться механизмом 124 NLP для формирования сообщения с примечаниями. Как изображено на фиг.3, NLP 124 может получать данные от механизма 120 объектов, например, посредством средства 240 разрешения объектов, для выполнения различного анализа. Сообщение с примечаниями, выводимое посредством NLP 124, может обеспечиваться в качестве входного для множества путей правил 352a-n (обозначаемых в общем как 352) механизма 126 грамматики. Каждый путь 352 правил может определять одно или более правил, с которыми сообщение с примечаниями сравнивается и оценивается. В некоторых вариантах осуществления, чем больше правил или параметров пути 352 правил удовлетворяется сообщением с примечаниями, тем более высокую оценку сообщение с примечаниями получит от этого пути 352 правил.
[0035] Например, предположим, что путь 352a правил проверяет сообщение с примечаниями на предмет действия задачи «совещаться», местоположения (например, адреса), даты и времени. Предположим, что путь 352b правил также проверяет сообщение с примечаниями на предмет действия задачи «совещаться», даты и времени, но проверяет телефонный номер вместо местоположения. Если сообщение 350 включает в себя задачу «Обязательно посовещайся с Джуди (555-1234) 2-го июня в 3 часа дня по поводу планов на вечеринку», первый путь 352a правил может выполнять оценку по трем позициям (поскольку совпали три из четырех искомых позиций), и второй путь 352b правил может производить оценку по четырем позициям.
[0036] Механизм 128 классификации задач может быть выполнен с возможностью приема оценки от множества грамматических путей 352a-n правил и выбора наиболее удовлетворяющей оценки (например, наивысшей). Например, в вышеупомянутом примере механизм 128 классификации задач будет выбирать тип задачи, ассоциированный с путем 352b правил. В некоторых вариантах осуществления, если никакие оценки, произведенные любым путем 352 правил, не удовлетворяют определенному пороговому значению, механизм 128 классификации задач может определять, что в сообщении 350 не присутствует никаких записей задач пользователя.
[0037] Механизм 122 UI может быть выполнен с возможностью определения пользовательского интерфейса, ассоциированного с выполнением записи задачи пользователя на основании различных данных. Например, механизм 122 UI может быть в связи с механизмом 120 объектов так, что он способен ассоциировать объект взаимодействия задач, например, маркированный средством 236 маркировки объектов, с определенной задачей. В некоторых вариантах осуществления ассоциация между пользовательским интерфейсом и объектом может основываться на присутствии одного или более атрибутов объекта в пользовательском интерфейсе. Например, ассоциация между пользовательским интерфейсом и объектом может основываться на важности одного или более псевдонимов объектов в пользовательском интерфейсе. Например, возникновение псевдонима объекта в важных полях и/или с высокой частотой в пользовательском интерфейсе может указывать на ассоциацию объекта с пользовательским интерфейсом. Также, например, ассоциация между пользовательским интерфейсом и объектом может основываться на присутствии дополнительных и/или альтернативных атрибутов объекта, таких как дата рождения, место рождения, рост, вес, население, географическое местоположение(-я), тип объекта (например, человек, действующий субъект, местоположение, коммерческое предприятие, университет) и т. д.
[0038] Возьмем в качестве примера пример описанный выше в отношении задачи: «Обязательно посовещайся с Джуди (555-1234) 2-го июня в 3 часа дня по поводу планов на вечеринку». Механизм 122 UI может определять, и в некоторых случаях открывать или запускать, пользовательский интерфейс календаря. В некоторых вариантах осуществления механизм 122 UI может заполнять один или более элементов данных, ассоциированных с пользовательским интерфейсом. Таким образом, в том же самом примере механизм 122 UI может запускать запись календаря с датой и временем, уже установленным, как описано в задаче.
[0039] Механизм 122 UI может определять, открывать и/или инициировать другие типы пользовательских интерфейсов для других типов задач. Например, предположим, что сообщение 350 включает в себя задачу: «Забронировать столик на обед в Sal's Bistro во вторник». Как описано выше, множество путей правил 352a-n может быть использовано механизмом 126 грамматики для анализа сообщения с примечаниями, выведенного механизмом 124 NLP. Путь 352 правил, ассоциированный с бронированием столика в ресторане, может произвести наивысшую оценку, что может привести к тому, что она будет выбрана посредством механизма 128 классификации задач. Кроме того, механизм 124 NLP может, например, путем отправки запроса средством 236 маркировки объектов механизму 120 объектов, определять Sal's Bistro как объект и маркировать его соответственно в сообщении с примечаниями. В некоторых вариантах осуществления другая информация о Sal's Bistro, не указанная в сообщении 350, такая как его адрес и/или телефонный номер, может также быть получена от различных источников, когда Sal's Bistro маркируется в качестве объекта.
[0040] С помощью вышеописанной информации механизм 122 UI может определять надлежащий пользовательский интерфейс для помощи пользователю в бронировании столика в ресторане. Различные пользовательские интерфейсы 354a-m изображены на фиг.3 как доступные для использования пользователем для осуществления бронирования. Первый интерфейс 354a может быть интерфейсом для сетевого приложения бронирования в ресторане. Второй интерфейс 354b может быть URL для перехода на веб-страницу, например, веб-страницу, размещенную Sal's Bistro, которая включает в себя интерактивный интерфейс для выполнения бронирования. Другой пользовательский интерфейс 354m может быть телефонным интерфейсом интеллектуального телефона, который в некоторых случаях может быть инициирован с уже введенным телефонным номером Sal's Bistro, так, что пользователю требуется только нажать «говорить» для инициации звонка в Sal's. Разумеется, возможны другие типы интерфейсов. В различных вариантах осуществления один или более элементов данных (например, объекты взаимодействия, такие как люди или организации, задачи действий, время, даты, местоположения и т. д.) может извлекаться из сообщения с примечаниями и обеспечиваться пользовательскому интерфейсу в зависимости от того какой пользовательский интерфейс выбран, таким образом, чтобы пользователю не нужно было обеспечивать эту информацию вручную.
[0041] Обращаясь теперь к фиг.4, описан примерный способ 400 определения задач в сообщениях. Для удобства операции блок-схемы описаны с указаниями на систему, которая выполняет операции. Эта система может включать в себя различные компоненты различных компьютерных систем. Например, некоторые операции могут выполняться в клиентском устройстве 106, в то время как другие операции могут выполняться одним или более компонентами системы 102 записей задач пользователя, как например механизмом 120 объектов, механизмом 122 пользовательского интерфейса, механизмом 124 NLP, механизмом 126 грамматики и/или механизмом 128 классификации задач. Кроме того, хотя операции способа 400 показаны в определенном порядке, это не следует рассматривать как ограничение. Одна или более операций могут иметь другой порядок, исключаться или добавляться.
[0042] Способ 400 может начинаться («Начало»), когда сообщение (например, 350) принимается и/или используется, например, на клиентском устройстве 106 или в системе 102 записей задач пользователя (например, таким способом который общедоступен для клиентского устройства 106). В блоке 402 система может выполнять обработку естественного языка для сообщения для формирования сообщения с примечаниями, причем обработка включает в себя выполнение операций, ассоциированных с различными компонентами, изображенными на фиг.2 и описанными выше.
[0043] В блоке 404 система может анализировать сообщение с примечаниями согласно грамматике. Например, в блоке 406 система может анализировать сообщение с примечаниями согласно множеству путей правил (например, 352a-n с фиг.3) для формирования множества возможных записей задач пользователя и ассоциированных оценок. Как описано выше, возможные записи, удовлетворившие большему количеству параметров их соответствующих путей правил, чем другие, могут иметь более высокие оценки, чем другие. В различных вариантах осуществления каждый путь грамматических правил или грамматика в целом могут быть грамматиками различных типов, как например бесконтекстная грамматика.
[0044] В блоке 408 система может классифицировать часть сообщения (например, предложение, абзац, выбранные слова, строку темы и т. д.) как запись задачи пользователя на основании анализа сообщения с примечаниями, обеспеченного в блоке 402. Например, в блоке 410 система может выбирать возможную запись задачи пользователя с наивысшей ассоциированной оценкой.
[0045] В блоке 412 система может выбирать один или более пользовательских интерфейсов, ассоциированных с выбранной записью задачи пользователя. В блоке 414 система может автоматически заполнять один или более элементов данных (например, полей ввода), ассоциированных с выбранным пользовательским интерфейсом. Например, если интерфейс является интерактивной веб-страницей, клиент 107 может передавать запрос HTTP со значениями для назначения различным переменным сервера HTTP. В блоке 416 система может автоматически запускать или открывать выбранный пользовательский интерфейс. В некоторых вариантах осуществления, операции блоков 414 и 416 могут выполняться в обратном порядке.
[0046] Фиг.5 представляет собой структурную схему примерной компьютерной системы 510. Компьютерная система 510, как правило, включает в себя по меньшей мере один процессор 514, который находится в сообщении с некоторым количеством периферийных устройств посредством шинной подсистемы 512. Эти периферийные устройства могут включать в себя подсистему 524 хранения данных, включающую в себя, например, подсистему 525 памяти и подсистему 526 хранения файлов, устройства 520 вывода пользовательского интерфейса, устройства 522 ввода пользовательского интерфейса и подсистему 516 сетевого интерфейса. Устройства ввода и вывода обеспечивают возможность пользователю взаимодействовать с компьютерной системой 510. Подсистема 516 сетевого интерфейса обеспечивает интерфейс к внешним сетям и объединяется с соответствующими интерфейсными устройствами в других компьютерных системах.
[0047] Устройства 522 ввода пользовательского интерфейса могут включать в себя клавиатуру, устройства указания, такие как мышь, трекбол, сенсорная панель или графический планшет, сканер, сенсорный экран, встроенный в дисплей, устройства звукового ввода, такие как системы распознавания голоса, микрофоны и/или другие типы устройств ввода. В общем, использование термина «устройство ввода» имеет целью включать в себя все возможные типы устройств и способов для ввода информации в компьютерную систему 510 или в сеть связи.
[0048] Устройства 520 вывода пользовательского интерфейса могут включать в себя подсистему отображения, принтер, факсимильный аппарат или невизуальные средства отображения, такие как устройства звукового вывода. Подсистема отображения может включать в себя электронно-лучевую трубку (CRT), плоскопанельное устройство, такое как жидкокристаллический дисплей (LCD), устройство проекции или некоторый другой механизм для создания видимого изображения. Подсистема отображения может также обеспечивать невизуальное отображение, например, посредством устройств звукового вывода. В общем, использование термина «устройство вывода» имеет целью включать в себя все возможные типы устройств и способов для вывода информации из компьютерной системы 510 к пользователю или к другой машине или компьютерной системе.
[0049] Подсистема 524 хранения данных хранит конструкции программирования и конструкции данных, которые обеспечивают функциональные возможности некоторых или всех из модулей, описанных здесь. Например, подсистема 524 хранения данных может включать в себя логику для выполнения выбранных аспектов способа 400 и/или для осуществления одного или более из механизма 120 объектов, механизма 122 пользовательского интерфейса, механизма 124 NLP, механизма 126 грамматики и/или механизма 128 классификации задач.
[0050] Эти программные модули в общем исполняются процессором 514 по отдельности или в комбинации с другими процессорами. Память 525, используемая в подсистеме хранения данных, может включать в себя некоторое количество элементов памяти, включающих в себя главную оперативную память (RAM) 530 для хранения инструкций и данных в течение исполнения программы и постоянную память (ROM) 532, в которой сохраняются фиксированные инструкции. Подсистема 524 хранения файлов может обеспечивать постоянное хранение для программ и файлов данных и может включать в себя накопитель на жестком диске, накопитель на гибком диске вместе с ассоциированными сменными носителями, дисковод CD-ROM, накопитель на оптических дисках или картриджи сменных носителей. Модули, реализующие функциональные возможности определенных вариантов осуществления, могут сохраняться подсистемой 524 хранения файлов в подсистеме 524 хранения данных, или в других машинах, доступных процессору(-ам) 514.
[0051] Шинная подсистема 512 обеспечивает механизм для обеспечения возможности различным компонентам и подсистемам компьютерной системы 510 осуществлять связь друг с другом надлежащим образом. Хотя шинная подсистема 512 показана схематически в виде одной шины, альтернативные варианты осуществления шинной подсистемы могут использовать множество шин.
[0052] Компьютерная система 510 может быть изменяющихся типов, включающих в себя рабочую станцию, сервер, вычислительный кластер, сверхкомпактный сервер, серверную ферму или любую другую систему обработки данных или вычислительное устройство. Ввиду постоянно изменяющихся свойств компьютеров и сетей, описание компьютерной системы 510, изображенной на фиг.5, подразумевается только как определенный пример в целях иллюстрации некоторых вариантов осуществления. Возможны многие другие конфигурации компьютерной системы 510, имеющие большее или меньшее число компонентов, чем компьютерная система, изображенная на фиг.5.
[0053] В случаях, описанных здесь, в которых системы собирают личную информацию о пользователях или могут использовать личную информацию, пользователи могут быть обеспечены возможностью управлять тем, собирают ли программы или признаки информацию пользователя (например, информацию о пользовательской социальной сети, социальных действиях или занятиях, профессии, пользовательских предпочтениях или пользовательском текущем географическом местоположении), или для управления тем, принимать ли и/или как принимать содержимое от сервера содержимого, которое может быть более релевантным для пользователя. Кроме того, определенные данные могут обрабатываться одним или более способами перед тем, как они сохраняются или используются, так, что персональные данные, позволяющие уточнить личность  удаляются. Например, личность пользователя может обрабатываться таким образом, что никакие персональные данные, позволяющие уточнить личность не могут быть определены для пользователя, или может обобщаться географическое местоположение пользователя, где информация географического местоположения получается (как, например, до уровня города, почтового индекса или государства), таким образом, чтобы конкретное географическое местоположение пользователя не могло быть определено. Таким образом, пользователь может иметь управление над тем, как информация собирается о пользователе и/или используется.
[0054] При том, что здесь было описано и проиллюстрировано несколько вариантов осуществления, может использоваться множество других средств и/или структур для выполнения функций и/или получения результатов и/или одного или более из преимуществ, описанных здесь, и каждая из таких вариаций и/или модификаций рассматривается в пределах объема вариантов осуществления, описанных здесь. В более общем случае, все параметры, измерения, материалы и конфигурации, описанные здесь, приведены в качестве примера, и фактические параметры, измерения, материалы и/или конфигурации будут зависеть от конкретного применения или применений, для которых используются приведённые сведения. Специалисты в данной области техники определят или будут способны определить с использованием лишь обычных экспериментов множество эквивалентов для конкретных вариантов осуществления, описанных здесь. Таким образом, следует понимать, что вышеупомянутые варианты осуществления представлены исключительно в качестве примера и что в рамках объема прилагаемой формулы изобретения и её эквивалентов варианты осуществления могут осуществляться на практике иным образом по сравнению с конкретно описанным и заявляемым в формуле изобретения. Варианты осуществления настоящего изобретения направлены на каждый отдельный признак, систему, пункт, материал, набор и/или способ, описанный здесь. Кроме того, любое сочетание из двух или более таких признаков, систем, предметов, материалов, наборов и/или способов, если такие признаки, системы, предметы, материалы, наборы и/или способы не являются взаимно несовместимыми, включены в объем настоящего изобретения.