АВТОМАТИЧЕСКОЕ ИЗВЛЕЧЕНИЕ ОБЯЗАТЕЛЬСТВ И ЗАПРОСОВ ИЗ ПЕРЕДАЧ И СОДЕРЖАНИЯ
AUTOMATIC EXTRACTION OF OBLIGATIONS AND REQUESTS FROM TRANSFERS AND CONTENT

ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ
[1] Электронные передачи стали важной формой социальных и деловых взаимодействий. Такие электронные передачи включают в себя, помимо прочего, электронную почту, календари, текстовые сообщения SMS, голосовую почту, изображения, видеозаписи и другие цифровые передачи и содержание. Электронные передачи генерируются автоматически или вручную пользователями на любом из нескольких вычислительных устройств.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[2] В этом изобретении описаны технологии и архитектуры для идентификации запросов и обязательств в электронных передачах, например, сообщениях между пользователями или среди пользователей. Например, обмен электронной почтой между двумя лицами может включать в себя текст от первого лица, отправляющего запрос второму лицу выполнить задание, и второго лица, отвечающего сообщением, указывающим обязательство выполнить задание. Обмен электронной почтой может переносить достаточно информации, чтобы система автоматически определяла наличие запроса выполнить задание и/или обязательства со стороны получателя выполнить задание, а также определяла идентификационные данные лица, выдающего запрос, и лица или лиц, отвечающих обязательством осуществлять или способствовать выполнению задания. Если обмен электронной почтой не переносит достаточно информации для определения наличия запроса и/или обязательства, система может запрашивать другие источники информации, которые могут относиться к одному или более участкам обмена электронной почтой. Например, система может обследовать более долгую историю сообщений, например, содержащуюся в поддерживаемых ʺцепочкахʺ электронной почты, или может запрашивать у календаря или базы данных одного или обоих из авторов обмена электронной почтой дополнительную информацию. Система также может искать подтверждение у одного или более из пользователей, участвующих в передачах, наличия потенциального запроса или обязательства выполнить задание на основе уровней неопределенности какого-либо из них.
[3] Это краткое изложение сущности изобретения призвано представлять в упрощенной форме основные принципы, которые дополнительно описаны в нижеследующем подробном описании. Данное краткое изложение сущности изобретения не призвано идентифицировать ключевые или существенные признаки заявленного изобретения, и также не подлежит использованию для помощи в определении объема заявленного изобретения. Термин ʺтехнологииʺ, например, может относиться к системе(ам), способу(ам), компьютерно-считываемым инструкциям, модулю(ям), алгоритмам, аппаратной логике (например, вентильным матрицам, программируемым пользователем (FPGA), специализированным интегральным схемам (ASIC), специализированным микросхемам массового производства (ASSP), однокристальным системам (SOC), сложным программируемым логическим устройствам (CPLD)) и/или другой технологии(ям), предусмотренной в вышеприведенном контексте и на протяжении документа.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[4] Подробное описание приведено со ссылкой на прилагаемые чертежи. На фигурах, самая(ые) левая(ые) цифра(ы) ссылочной позиции идентифицирует(ют) фигуру, в которой впервые появляется ссылочная позиция. Одни и те же ссылочные позиции на разных чертежах указывают аналогичные или идентичные элементы.
[5] Фиг. 1 - блок-схема, изображающая иллюстративное окружение, в котором можно реализовать описанные здесь технологии.
[6] Фиг. 2 - блок-схема, демонстрирующая электронную передачу, подвергнутую иллюстративному процессу извлечения задания.
[7] фиг. 3 - блок-схема, демонстрирующая электронную передачу которая включает в себя иллюстративную текстовую цепочку и процесс извлечения задания запроса и обязательства.
[8] фиг. 4 - таблица иллюстративных соотношений среди сообщений, обязательств и запросов.
[9] фиг. 5 - блок-схема множественных источников информации, которые могут сообщаться с иллюстративным модулем извлечения.
[10] фиг. 6 - блок-схема иллюстративного модуля извлечения, действующего на нетекстовой передаче.
[11] фиг. 7 - блок-схема иллюстративной системы машинного обучения.
[12] фиг. 8 - блок-схема иллюстративных моделей машинного обучения.
[13] фиг. 9 - блок-схема, демонстрирующая иллюстративные онлайновые и оффлайновые процессы для извлечения обязательства и запроса.
[14] фиг. 10 - блок-схема операций иллюстративного процесса извлечения задания.
ПОДРОБНОЕ ОПИСАНИЕ
[15] Различные примеры описывают технологии и архитектуры для системы, которая осуществляет, помимо прочего, извлечение заданий из электронных передач, например, сообщений между или среди одного или более пользователей (например, одиночный пользователь может отправлять сообщение самому себе или одному или более другим пользователям). Например, обмен электронной почтой между двумя лицами может включать в себя текст от первого лица, отправляющего запрос второму лицу выполнить задание, и второго лица, делающего обязательство (например, соглашения) выполнить задание. Обмен электронной почтой может переносить достаточно информации, чтобы система автоматически определяла наличие запроса выполнить задание и/или обязательства выполнить задание. В некоторых реализациях, обмен электронной почтой не переносит достаточно информации для определения наличия запроса и/или обязательства. Имеет это место или нет, система может запрашивать другие источники информации, которые могут относиться к одному или более участкам обмена электронной почтой. Например, система может обследовать другие сообщения, которыми обмениваются один или оба из авторов обмена электронной почтой или другие лица. Система также может обследовать более крупные массивы электронной почты и других сообщений. Помимо других сообщений, система может запрашивать у календаря или базы данных одного или обоих из авторов обмена электронной почтой дополнительную информацию. В некоторых реализациях, система может запрашивать состояние дорожного движения или погодные условия в соответствующих положениях одного или обоих из авторов.
[16] Здесь ʺизвлекатьʺ используется для описания определения запроса или обязательства в передаче. Например, система может извлекать запрос или обязательство из последовательности текстовых сообщений. Здесь система определяет или идентифицирует запрос или обязательство из последовательности текстовых сообщений, но не обязательно удаляет запрос или обязательство из последовательности текстовых сообщений. Другими словами, ʺизвлекатьʺ в используемом здесь контексте, если в конкретных примерах не описано обратное, не означает ʺудалятьʺ.
[17] Здесь процесс извлечения запроса и/или обязательства из передачи можно описать как процесс извлечения ʺсодержания заданияʺ. Другими словами, описанное здесь ʺсодержание заданияʺ относится к одному или более запросам, одному или более обязательствам и/или проектам, содержащим комбинации запросов и обязательств, которые переносятся в смысловом значении передачи. В различных реализациях можно идентифицировать и извлекать взаимосвязь между обязательствами и запросами. Такая взаимосвязь, например, может состоять в том, что обязательство по отношению к запрашивающей стороне генерирует один или более запросов, направленных запрашивающей стороне и/или третьим сторонам (например, индивидам, группам, обрабатывающим компонентам и т.д. Например, обязательство по отношению к запросу от технического руководителя для завершения анализа производительности может генерировать вторичные запросы производственных данных, направленные производственному коллективу.
[18] В различных реализациях, процесс может извлекать фрагмент текста, содержащего обязательство или запрос. Например, параграф может включать в себя обязательство или запрос во втором предложении параграфа. Дополнительно, процесс может извлекать текстовый фрагмент, предложение или параграф, который содержит обязательство или запрос, например, третье предложение или различные словесные выражения в параграфе.
[19] В различных реализациях, процесс может пополнять извлеченное содержание задания (например, запросы или обязательства) идентификацией людей и одного или более положений, связанных с извлеченным содержанием задания. Например, извлеченный запрос может сохраняться или обрабатываться дополнительной информацией, например, идентификацией запрашивающей стороны и/или ʺзапрашиваемой(ых) стороны(н))ʺ, соответствующим(и) положением(ями), временами/датами и т.д.
[20] Будучи идентифицированы и извлечены вычислительной системой, содержание задания (например, предложение или подтверждение обязательства или запроса) передачи может дополнительно обрабатываться или анализироваться для идентификации или вывода семантики обязательства или запроса, включающего в себя: идентификацию первичных владельцев запроса или обязательства (например, если нет, сторон в передаче); природу содержания задания и его свойства (например, его описание или резюмирование); указанные или выведенные соответствующие даты (например, конечные сроки завершения обязательства или запроса); соответствующие ответы, например, начальные ответы или сообщения следования, и их предполагаемое хронирование (например, для каждого ожидания учтивости или вокруг эффективных передач для завершения задания среди лиц или для каждой организации); и информационные ресурсы, подлежащие использованию для удовлетворения запроса. Такие информационные ресурсы, например, могут обеспечивать информацию о времени, лицах, положениях и т.д. Идентифицированное содержание задания и выводы о содержании задания можно использовать для активации автоматических (например, компьютерно-генерируемых) служб, например, напоминаний, ревизий (например, и отображений) списков дел, назначений, запросов встречи и других действий планирования времени. В некоторых примерах такие автоматические службы могут применяться при составлении сообщения (например, печатании электронной почты или текста), чтении сообщения или в другие времена, например, при оффлайновой обработке электронной почты на серверном или клиентском устройстве. Начальное извлечение и выводы о запросе или обязательстве также могут вызывать автоматизированные службы, которые работают с одним или более участками для подтверждения или уточнения текущих пониманий или выводов о запросе или обязательстве и статусе запроса или обязательства, по меньшей мере, отчасти на основе идентификации пропущенной информации или неопределенностей в отношении одного или более свойств обнаруженных или выведенных из передачи.
[21] В некоторых примерах, содержание задания можно извлекать из множественных форм передач, включающих в себя межабонентские передачи с захватом цифрового содержания (например, электронной почты, текста SMS, мгновенного обмена сообщениями, телефонных вызовов, постов в социальной среде общения и т.д.) и составленного содержания (например, электронной почты, инструментов составления заметок и организации деятельности, например, OneNote от Microsoft Corporation, Редмонд, Вашингтон, документов, созданных в текстовом редакторе и т.д.).
[22] Как описано ниже, некоторые иллюстративные методы идентификации и извлечения содержания задания из различных форм электронных передач могут предусматривать языковой анализ содержания электронных передач, которые комментатор-человек может комментировать как содержащие обязательства или запросы. Человеческие комментарии можно использовать в процессе генерации массива тренировочных данных, которые используются для построения и для испытания автоматизированного извлечения обязательств или запросов и различных свойств обязательств или запросов. Методы также могут осуществляться с помощью посредников для генерируемых человеком меток (например, на основе данных привлечения электронной почты или сравнительно сложных способов извлечения). Для развития способов, используемых в системах извлечения или для использования в реальном времени способов идентификации и/или вывода заданий или обязательств и их свойств, анализы могут включать в себя анализы обработки естественного языка (NLP) в разных точках на шкале сложности. Например, анализ, имеющий относительно низкий уровень сложности, может предусматривать идентификацию ключевых слов на основе простого морфологического анализа и морфологического поиска. Анализ, имеющий относительно средний уровень сложности может предусматривать рассмотрение более обширных анализов наборов слов (ʺмешка словʺ). Анализ, имеющий относительно высокий уровень сложности, может предусматривать сложный разбор предложений в передачах на деревья разбора и логические формы. Методы идентификации и извлечения содержания задания могут предусматривать атрибуты идентификации или ʺпризнакиʺ компонентов сообщений и предложений сообщений. Такие методы могут использовать такие признаки в парадигме тренировки и испытания для построения статистической модели для классификации компонентов сообщения. Например, такие компоненты могут содержать предложения или все сообщение как содержащее запрос и/или обязательство, и также идентифицировать и/или резюмировать текст, который наилучшим образом описывает запрос и/или обязательство.
[23] В некоторых примерах методы извлечения могут предусматривать иерархию анализа, включающую в себя использование научного подхода, рассмотрение множественных предложений в сообщении и глобальные анализы относительно длинных цепочек передачи. В некоторых реализациях, такие относительно длинные цепочки передачи могут включать в себя наборы сообщений за период времени и наборы цепочек и долговременных передач (например, занимающие дни, недели, месяцы или годы). Можно рассматривать множественные источники содержания, связанные с конкретными передачами. Такие источники могут включать в себя истории и/или соотношения лиц, связанных с конкретными передачами, положения лиц в течение периода времени, информацию календаря лиц и множественные аспекты организаций и детали организационной структуры, связанной с лицами.
[24] В некоторых примерах методы могут напрямую рассматривать запросы или обязательства, идентифицированные из компонентов содержания как представляющие запросы или обязательства, или могут быть дополнительно резюмированы. Методы могут извлекать другую информацию из предложения или более крупного сообщения, включающего в себя соответствующие даты (например, конечные сроки исполнения запросов или обязательств), положения, срочность, требования к времени, тему (например, проект) задания, и лица. В некоторых реализациях, свойство извлеченного содержания задания определяется путем присвоения обязательств и/или запросов конкретным авторам сообщения. Это может быть особенно полезно, например, в случае многосторонних электронных писем с множественными получателями.
[25] Помимо текстовых сообщений, методы могут рассматривать, помимо прочего, другую информацию для извлечения и резюмирования, например изображения и другое графическое содержание, структуру сообщения, заголовок темы, длину сообщения, положение предложения или выражения в сообщении, дату/время отправки сообщения и информацию об отправителе и получателях сообщения. Методы также могут рассматривать признаки самого сообщения (например, количество получателей, количество ответов, общую длину и т.д.) и контекст (например, день недели). В некоторых реализациях метод может дополнительно уточнять или приоритизировать начальные анализы сообщений/содержания, выступающих в роли кандидатов, или результирующих выделений, по меньшей мере, отчасти на основе отправителя или получателя(ей) и историй передачи и/или структуры организации.
[26] В некоторых примерах, методы могут включать в себя анализ признаков различных передач помимо текущей передачи (например, электронной почты, текста и т.д.). Например, методы могут рассматривать взаимодействия между или среди обязательств и запросов, например, содержит ли ранний участок цепочки передачи обязательство или запрос, количество ранее сделанных обязательств и/или запросов между двумя (или более) пользователями цепочки передачи, и т.д.
[27] В некоторых примерах, методы могут включать в себя анализ признаков различных передач, которые включают в себя условные обязательства или запросы содержания задания. Например, условное обязательство может представлять собой ʺЕсли я его увижу, я ему скажу.ʺ Условный запрос может представлять собой ʺЕсли погода завтра будет ясной, покрась, пожалуйста, дом.ʺ
[28] В некоторых примерах методы могут включать в себя дополнение извлеченного содержания задания (например, обязательств и/или запросов) дополнительной информацией, например, конечными сроками, идентификацией (например, именами, ID номером и т.д.) лиц, связанных с содержанием задания, и мест, упомянутых в содержании задания.
[29] В некоторых примерах вычислительная система может строить предсказательные модели для идентификации и извлечения запросов и обязательств и сопутствующей информации с использованием процедур машинного обучения, которые работают на тренировочных наборах аннотированных массивов предложений или сообщений (например, признаках машинного обучения). В других примерах вычислительная система может использовать относительно простые подходы на основе правил для осуществления выделений и резюмирования.
[30] В некоторых примерах вычислительная система может в явном виде выражать содержание задания, извлеченное из сообщения в самом сообщении. В различных реализациях вычислительная система может помечать сообщения, содержащие запросы и обязательства, во множественных электронных службах и вариантах действия, которые могут включать в себя продукты или службы, например, раскрытые через продукты и службы, обеспеченные посредством Windows, Cortana, Outlook, Outlook Web App (OWA), Xbox, Skype, Lync и Band, все от Microsoft Corporation, и другие такие службы и варианты действия от других. В различных реализациях, вычислительная система может извлекать запросы и обязательства из аудио подач, например, помимо прочего, из телефонных вызовов или сообщений голосовой почты, изображений SMS, потоков мгновенного обмена сообщениями и вербальных запросов цифровым персональным помощниками.
[31] В некоторых примерах вычислительная система может обучаться для улучшения предсказательных моделей и резюмирования, используемых для извлечения содержания задания пользователями посредством неявной и явной обратной связи. Например, такая обратная связь может включать в себя пользовательский ввод (например, в ответ на отображаемое извлеченное содержание задания), указывающий, верно или неверно извлеченное содержание. Такая обратная связь может количественно выражаться и/или сохраняться компьютерной системой и затем применяться, например, к предсказательным моделям.
[32] Различные примеры дополнительно описаны со ссылкой на фиг. 1-10.
[33] Описанное ниже окружение составляет лишь один пример и не призвано ограничивать формулу изобретения никаким конкретным операционным окружением. Можно использовать другие окружения, не выходящие за рамки сущности и объема заявленного изобретения.
[34] Фиг. 1 демонстрирует иллюстративное окружение 100, в котором могут осуществляться описанные здесь иллюстративные процессы, предусматривающие извлечение задания. В некоторых примерах различные устройства и/или компоненты окружения 100 включают в себя различные вычислительные устройства 102. В порядке примера, но не ограничения, вычислительные устройства 102 может включать в себя устройства 102a-102e. Хотя проиллюстрированные как разнообразные различные типы устройства, вычислительные устройства 102 могут быть устройствами других типов и не ограничиваются проиллюстрированными типами устройства. Вычислительные устройства 102 могут содержать любой тип устройства с одним или несколькими процессорами 104, в ходе работы подключаемыми к интерфейсу 106 ввода/вывода и компьютерно-считываемым носителям 108, например, через шину 110. Вычислительные устройства 102 могут включать в себя персональные компьютеры, например, настольные компьютеры 102a, портативные компьютеры 102b, планшетные компьютеры 102c, телекоммуникационные устройства 102d, персональные цифровые помощники (PDA) 102e, устройства чтения электронных книг, носимые компьютеры (например, интеллектуальные часы, персональные приспособления для отслеживания состояния здоровья и т.д.), автомобильные компьютеры, игровые устройства и т.д. Вычислительные устройства 102 также могут включать в себя, например, компьютеры-серверы, тонкие клиенты, терминалы и/или рабочие станции. В некоторых примерах, вычислительные устройства 102 могут включать в себя компоненты для интеграции в вычислительное устройство, электроприборы или другие виды устройств.
[35] В некоторых примерах, некоторые или все функциональные возможности, описанные как осуществляемые вычислительными устройствами 102, можно реализовать посредством одного или более удаленных равноправных вычислительных устройств, удаленного(ых) сервера или серверов, или распределенных вычислительных ресурсов, например, через облачные вычисления. В некоторых примерах вычислительное устройство 102 может содержать входной порт для приема электронных передач. Вычислительное устройство 102 может дополнительно содержать один или несколько процессоров 104 для осуществления доступа к различным источникам информации, относящимся к или связанным с конкретными электронными передачами. Такие источники могут включать в себя, помимо прочего, электронные календари и базы данных историй или личной информации об авторах сообщений, включенных в электронные передачи. В некоторых реализациях, автор вынужден ʺдавать явное согласиеʺ или давать другое подтверждение до того, как любой из множественных процессоров 104 сможет осуществлять доступ к личной информации автора. В некоторых примерах, один или несколько процессоров 104 могут быть выполнены с возможностью извлечения содержания задания из электронных передач. Один или несколько процессоров 104 могут быть аппаратными процессорами или программными процессорами. Используемый здесь блок обработки обозначает аппаратный процессор.
[36] В некоторых примерах, как показано в отношении устройства 102d, на компьютерно-считываемых носителях 108 могут храниться инструкции, исполняемые процессором(ами) 104, включающие в себя операционную систему (OS) 112, модуль 114 машинного обучения, модуль 116 извлечения и программы или приложения 118, которые загружаются и исполняются процессором(ами) 104. Один или более процессоров 104 могут включать в себя один или более центральных процессоров (CPU), графические процессоры (GPU), процессоры буферизации видео и т.д. В некоторых реализациях, модуль 114 машинного обучения содержит исполнимый код, хранящийся на компьютерно-считываемых носителях 108 и исполняется процессором(ами) 104 для сбора информации, локально или удаленно вычислительным устройством 102, через ввод/вывод 106. Информация может быть связана с одним или более из приложений 118. Модуль 114 машинного обучения может избирательно применять любую из нескольких из моделей принятия решения машинного обучения, хранящихся на компьютерно-считываемых носителях 108 (или, в частности, хранящихся в машинном обучении 114) для применения к входным данным.
[37] В некоторых реализациях, модуль 116 извлечения содержит исполнимый код, хранящийся на компьютерно-считываемых носителях 108 и исполняется процессором(ами) 104 для сбора информации, локально или удаленно вычислительным устройством 102, через ввод/вывод 106. Информация может быть связана с одним или более из приложений 118. Модуль 116 извлечения может избирательно применять любую из нескольких статистических моделей или предсказательных моделей (например, через модуль 114 машинного обучения), хранящихся на компьютерно-считываемых носителях 108 для применения к входным данным.
[38] Хотя определенные модули были описаны как осуществляющие различные операции, модули являются лишь примерами и одни и те же или аналогичные функциональные возможности могут осуществляться большим или меньшим количеством модулей. Кроме того, функции, осуществляемые изображенными модулями, не обязаны осуществляться локально одиночным устройством. Напротив, некоторые операции могут осуществляться удаленным устройством (например, равноправным устройством, сервером, облаком и т.д.).
[39] Альтернативно или дополнительно, некоторые или все из описанных здесь функциональных возможностей могут осуществляться, по меньшей мере, отчасти одним или более компонентами аппаратной логики. Например, и без ограничения, иллюстративные типы компонентов аппаратной логики, которые можно использовать, включают в себя вентильные матрицы, программируемые пользователем (FPGA), специализированные интегральные схемы (ASIC), специализированные стандартные продукты (ASSP), однокристальные системы (SOC), сложные программируемые логические устройства (CPLD) и т.д.
[40] В некоторых примерах, вычислительное устройство 102 может быть связано с камерой, способной захватывать изображения и/или видео и/или микрофон, способный захватывать аудио. Например, модуль 106 ввода/вывода может включать в себя такую камеру и/или микрофон. Изображения объектов или текста, например, можно преобразовывать в текст, который соответствует содержанию и/или смысловому значению изображений, и анализировать на предмет содержания задания. Аудиосигнал речи можно преобразовывать в текст и анализировать на предмет содержания задания.
[41] Компьютерно-считываемые носители включают в себя компьютерные носители данных и/или среды передачи данных. Компьютерные носители данных включает в себя энергозависимые и энергонезависимые, сменные и стационарные носители, реализованные любым способом или технологией хранения информации, например, компьютерно-считываемых инструкций, структур данных, программных модулей или других данных. Компьютерные носители данных включают в себя, но без ограничения, память на основе фазовых переходов (PRAM), статическую оперативную память (SRAM), динамическую оперативную память (DRAM), другие типы оперативной памяти (RAM), постоянную память (ROM), электрически стираемую программируемую постоянную память (EEPROM), флеш-память или другую технологию памяти, компакт-диск с возможностью только чтения (CD-ROM), цифровые универсальные диски (DVD) или другое оптическое запоминающее устройство, магнитные кассеты, магнитную ленту, запоминающее устройство на основе магнитного диска или другие запоминающие устройства на основе магнитного диска, или любую другую среду без возможности передачи, которую можно использовать для хранения информации, к которой вычислительное устройство может осуществлять доступ.
[42] Напротив, среды передачи данных воплощают компьютерно-считываемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, например, несущей волне или другом механизме передачи. По определению, компьютерные носители данных не включает в себя среды передачи данных. В различных примерах, память 108 является примером компьютерных носителей данных, где хранятся компьютерноисполняемые инструкции. При выполнении процессором(ами) 104, компьютерноисполняемые инструкции предписывают процессору(ам), помимо прочего, анализировать содержание отдельного электронного сообщения, где электронное сообщение (i) принимается среди электронных передач, (ii) вводится пользователем через пользовательский интерфейс или (iii) извлекается из памяти; и, по меньшей мере, отчасти на основе анализа содержания, извлекать, из электронного сообщения, текст, соответствующий запросу или обязательству.
[43] В различных примерах, устройство ввода или подключенное к интерфейсам 106 ввода/вывода (I/O) может быть устройством ввода прямого касания (например, сенсорным экраном), устройством непрямого касания (например, сенсорной панелью), устройством непрямого ввода (например, мышью, клавиатурой, камерой или массивом камер и т.д.) или нетактильным устройством другого типа, например, устройством ввода аудио.
[44] Вычислительное(ые) устройство(а) 102 также может(ут) включать в себя один или более интерфейсов 106 ввода/вывода (I/O), который(ые) может(ут) содержать один или более интерфейсов связи для обеспечения проводной или беспроводной связи между вычислительным устройством 102 и другими сетевыми вычислительными устройствами, участвующими в извлечении содержания задания или другими вычислительными устройствами, по сети 111. Такие интерфейсы связи могут включать в себя одно или более приемопередающих устройств, например, контроллеров сетевого интерфейса (NIC), например, Ethernet NIC или приемопередающие устройства других типов, для отправки и приема передач по сети. Процессор 104 (например, блок обработки) может обмениваться данными через соответствующие интерфейсы связи. В некоторых примерах, интерфейсом связи может быть приемопередатчик PCIe, и сеть 111 может быть шинной PCIe. В некоторых примерах интерфейс связи может включать в себя, но без ограничения, приемопередатчик для сотовых (3G, 4G или других), WI-FI, сверхширокополосных (UWB), BLUETOOTH или спутниковых передач. Интерфейс связи может включать в себя проводной интерфейс ввода-вывода, например, интерфейс Ethernet, последовательный интерфейс, интерфейс универсальной последовательной шины (USB), интерфейс INFINIBAND или другие проводные интерфейсы. Для простоты, эти и другие компоненты исключены из проиллюстрированного вычислительного устройства 102. Интерфейсы 106 ввода/вывода (I/O) могут позволять устройству 102 осуществлять связь с другими устройствами, например, периферийными устройствами пользовательского ввода (например, клавиатурой, мышью, пером, игровым контроллером, устройством речевого ввода, устройством тактильного ввода, устройством жестового ввода и пр.) и/или периферийными устройствами вывода (например, дисплеем, принтером, громкоговорителями, тактильным выходом и пр.).
[45] На фиг. 2 показана блок-схема, демонстрирующая электронную передачу 202, подвергнутую иллюстративному процессу 204 извлечения задания. Например, процесс 204 может предусматривать любой из нескольких методов обнаружения, независимо от того, сделано ли обязательство 206 или запрос 208 во входящих или исходящих передачах. Процесс 204 также могут предусматривать методы автоматической маркировки, аннотирования или иной идентификации сообщения как содержащего обязательство или запрос. В некоторых примерах, процесс 204 может включать в себя методы, которые извлекают сводку (не показана) обязательств или запросов для представления и отслеживания и анализа следования. Обязательства 206 или запросы 208 можно извлекать из множественных форм содержания электронной передачи 202. Такое содержание может включать в себя межабонентские передачи, например, электронную почту, текст или изображения SMS, мгновенный обмен сообщениями, посты в социальной среде общения, напоминания о встречах и т.д. Такое содержание также может включать в себя, помимо прочего, содержание, составленное с использованием приложений электронной почты или приложений редактирования текста.
[46] В некоторых примерах процесс 204 извлечения задания может извлекать содержание задания в отношении третьих сторон. Например, электронная передача 202, например, электронная почта, может включать в себя обязательство со стороны первого лица, отвечающего на электронную почту. Это обязательство может быть обязательством первого лица. Однако это обязательство может быть обязательством со стороны третьего лица, которое является обязательством первого лица (отвечающего на электронную почту) в интересах другого лица. Например, первым лицом может быть начальник, назначающий подчиненного заместителем для осуществления задания. В качестве конкретного примера, обязательство третьего лица может быть ʺСегодня мой помощник Джон сдаст Вам отчет позжеʺ.
[47] В некоторых примерах процесс 204 извлечения задания может извлекать содержание задания из электронной передачи 202, например, сообщения, по меньшей мере, частично на основе личных и/или профессиональных отношений между или среди авторов сообщения (например, цепочки электронной почты) или лиц, связанных с содержанием сообщения (например, лиц, упомянутых в сообщении). Процесс 204 извлечения задания также может извлекать содержание задания из сообщения, по меньшей мере, отчасти на основе предыдущих передач между или среди авторов сообщения или лиц, связанных с содержанием сообщения.
[48] В некоторых примерах процесс 204 извлечения задания может (i) анализировать содержание электронной передачи 202 и (ii) автоматически извлекать запрос или обязательство из содержания электронной передачи в реальном времени. Например, в процессе 204 извлечения задания, система, осуществляющая процесс извлечения задания, может сразу же запрашивать подтверждение обязательства и/или обеспечивать поддержку в реальном времени пользователю, извещая пользователя о возможных временных конфликтах или других обязательствах, чтобы пользователь не брал на себя слишком много. В конкретном примере, система может служить для помощи в планировании времени и информировать пользователя о перегрузке путем отображения сообщения 'Возможно, у Вас не получится сделать это, Вы уже запланировали слишком много на эту неделюʺ.
[49] На фиг. 3 показана блок-схема, демонстрирующая электронную передачу 302, которая включает в себя иллюстративную текстовую цепочку и процесс 304 извлечения задания запроса или обязательства. Например, передача 302, которая может быть текстовым сообщением пользователю, принятым на вычислительном устройстве пользователя от другого пользователя, включает в себя текст 306 от другого пользователя и текст 308 от пользователя. Процесс 304 извлечения задания включает в себя анализ содержания (например, текста 306 и текста 308) передачи 302 и определение (i) обязательства пользователя или другого пользователя и/или (ii) запроса, сделанного пользователем или другим пользователем. В примере, проиллюстрированном на фиг. 3, текст 306 от другого пользователя включает в себя запрос 310 пользователю помочь в организации вечеринки по случаю дня рождения Алексис 9-го мая. Текст 308 от пользователя включает в себя обязательство 312 пользователя помочь в организации вечеринки по случаю дня рождения Алексис 9-го мая к 15 часам. Процесс 304 извлечения задания может определять запрос и обязательство любым из нескольких методов, предусматривающий анализ текста 306 и текста 308. В некоторых реализациях, если текста недостаточно для определения запроса или обязательства (например, информация пропущена или информация весьма неопределенная), то процесс 304 извлечения задания может запрашивать любой из нескольких источников данных. Например, если текст 306 не включает в себя дату вечеринки по случаю дня рождения Алексис (например, другой пользователь может предположить, что пользователь помнит дату), то процесс 304 извлечения задания может запрашивать дату рождения в календаре пользователя или другого пользователя.
[50] В различных примерах, процесс 304 извлечения задания может определять правдоподобие (например, выведенную вероятность) или другую меру достоверности того, что входящее или исходящее сообщение (например, электронная почта, текст и т.д.) содержит запрос или обязательство, сделанный получателем или данное отправителем. Такую достоверность или правдоподобие можно определять, по меньшей мере, отчасти из вычисленных вероятностей того, что один или более компонентов сообщения или резюмирований компонентов, являются действительными запросами или обязательствами.
[51] В некоторых примерах, процесс 304 извлечения задания может определять меру достоверности обязательства, где обязательство низкой достоверности является обязательством, которое пользователь вряд ли выполнит, и обязательство высокой достоверности является обязательством, которое пользователь реально способен выполнить. Правдоподобие (например, вероятность) или другие меры достоверности можно использовать для определения того, как тот или иной процесс 304 извлечения задания относится к извлеченному обязательству, по меньшей мере, отчасти на основе использования, например, статистического классификатора. Достоверность обязательства может быть полезна для последующих служб, например, напоминаний, ревизий списков дел, назначений, запросов встречи и других действий планирования времени. Определение достоверности обязательства может, по меньшей мере, отчасти опираться на историю событий пользователя (например, исполнение предыдущих обязательств и т.д.) и/или историю событий другого пользователя и/или личную информацию (например, возраст, пол, род занятий, часто летающий пассажир и т.д.) пользователя или другого пользователя. Например, процесс 304 извлечения задания может запрашивать такие истории. В некоторых реализациях, любой или все из пользователей вынуждены ʺдавать явное согласиеʺ или давать другое подтверждение до того, как процесс 304 извлечения задания сможет запрашивать личную информацию пользователей. Процесс 304 извлечения задания может назначать относительно высокую достоверность для обязательства со стороны пользователя, если такие истории демонстрируют, что пользователь, например, присутствовал на нескольких последних днях рождения Алексис, склонен посещать дни рождения многих других людей, находится в относительно близких отношениях с Алексис и/или другим пользователем и т.д. Определение достоверности обязательства также может, по меньшей мере, отчасти опираться на ключевые слова или термины в тексте 306 и/или тексте 308. Например, ʺпразднование дня рожденияʺ обычно имеет позитивный и желанный подсмысл (например, вечеринку, в отличие от рабочего задания), в связи с чем, обязательство может быть относительно сильным. С другой стороны, в другом примере, который предусматривает обязательство написать финансовый отчет, такая деятельность обычно нежеланна, и поэтому такому обязательству можно назначить относительно низкую достоверность. Однако если такое обязательство написать финансовый отчет связано с работой (например, родом занятий) пользователя, то такому обязательству можно назначить относительно высокую достоверность. Процесс 304 извлечения задания может взвешивать ряд таких сценариев и факторов для определения достоверности обязательства. Например, процесс 304 извлечения задания может определять достоверность (например, важность) запроса или обязательства в сообщении, по меньшей мере, отчасти на основе содержания, относящегося к электронному сообщению.
[52] На фиг. 4 показана таблица 400 иллюстративных соотношений между сообщениями и содержанием задания. В частности, такое содержание задания включает в себя обязательства и/или запросы, любой из которых может генерироваться (например, автоматически приложением или вручную) пользователем вычислительного устройства или субъектом "другой пользователь", который может представлять собой одно или более лиц на одном или более вычислительных устройств. В некоторых примерах, субъект "другой пользователь" может быть пользователем, который может отправлять сообщение самому себе. В других примерах, пользователь и/или субъект "другой пользователь" могут быть любым лицом (например, делегатом, помощником, начальником и т.д.) или машиной (например, системой на основе процессора, выполненной с возможностью приема и осуществления инструкций). Таблица 400 демонстрирует исходящие сообщения, которые генерируются пользователем вычислительного устройства и передаются субъекту "другой пользователь", и входящие сообщения, которые генерируются субъектом "другой пользователь" и принимаются пользователем вычислительного устройства.
[53] Примеры обязательств, которые можно извлекать из исходящих или входящих сообщений, включают в себя: ʺЯ подготовлю документы и отправлю их Вам в понедельникʺ, ʺЯ отправлю чек мистеру Смиту в пятницу в конце дняʺ, ʺЯ сделаю этоʺ, ʺЯ вернусь к тебеʺ, ʺСойдетʺ и т.д. Последние примеры демонстрируют, что обязательство (или его утверждение) не обязано включать в себя время или крайний срок. Примеры запросов, которые можно извлекать из входящих или исходящих сообщений, включают в себя: ʺТы точно оставишь ключ под половиком?ʺ ʺДай мне знать, если вернешься к обеду раньшеʺ. ʺСможешь сдать бюджетный анализ к концу месяца?ʺ и т.д. Запрос не обязательно имеет форму прямого вопроса. Например, ʺНе забудь сдать отчет к 17 часамʺ не является прямым вопросом, но это утверждение выражает запрос.
[54] Таблица 400 включает в себя четыре конкретных случая заданий, включенных в сообщения. Одним случаем является исходящее сообщение, которое включает в себя обязательство пользователя по отношению к субъекту "другой пользователь". Другим случаем является исходящее сообщение, которое включает в себя запрос пользователя к субъекту "другой пользователь". Еще одним случаем является входящее сообщение, которое включает в себя обязательство субъекта "другой пользователь" по отношению к пользователю. Еще одним случаем является входящее сообщение, которое включает в себя запрос субъекта "другой пользователь" к пользователю. Процессы для извлечения содержания задания из сообщений могут отличаться друг от друга в зависимости, по меньшей мере, отчасти от того, какой из конкретных случаев обрабатывается. Такие процессы могут осуществляться вычислительным устройством пользователя или вычислительной системой (например, сервером) осуществляющей связь с вычислительным устройством. Например, процесс, применяемый к случаю, когда входящее сообщение включает в себя обязательство субъекта "другой пользователь" по отношению к пользователю, может предусматривать запрашивание различных источников данных для определения достоверности (например, искренности, надежности, достоинства) обязательства субъекта "другой пользователь". Такие различные источники данных могут включать в себя личные данные или историю субъекта "другой пользователь". В некоторых примерах, источниками данных может быть память, связанная с компонентом обработки устройства, например, запоминающего устройства, электронно подключенного к процессору через шину. В некоторых примерах, история действий (отмена встреч или неудача при исполнении заданий) совершаемых субъектом "другой пользователь", может указывать надежность обязательства субъекта "другой пользователь". В некоторых реализациях, пользователю и/или субъекту "другой пользователь" приходится ʺдавать явное согласиеʺ или давать другое подтверждение до того, как процессы смогут осуществлять доступ к личной информации пользователя и/или субъекта "другой пользователь".
[55] В порядке другого примера, процесс, применяемый к случаю, когда исходящее сообщение включает в себя запрос пользователя к субъекту "другой пользователь", может предусматривать запрашивание различных источников данных для определения правдоподобия результата субъекта "другой пользователь", отвечающего сильным (например, искренним, надежным, достойным) обязательством на запрос пользователя. Такие различные источники данных (которые не обязаны быть внешними по отношению к устройству(ам), осуществляющим процесс), могут включать в себя личные данные или историю субъекта "другой пользователь". Например, история действий (отмена встреч или неудача при исполнении заданий) совершаемых субъектом "другой пользователь" может указывать правдоподобие (или его недостаток) того, что субъект "другой пользователь" примет или исполнит обязательство по запросу пользователя.
[56] С другой стороны, процесс, применяемый к случаю, когда входящее сообщение включает в себя запрос субъекта "другой пользователь" к пользователю, может предусматривать запрашивание различных источников данных для определения важности запроса (и, таким образом, важности обязательства по запросу). Например, если субъектом "другой пользователь" является начальник пользователя, то запрос, вероятно, является относительно важным. Соответственно, процесс может запрашивать различные источники данных, которые включают в себя персональные и/или профессиональные данные субъекта "другой пользователь" для определения того, является ли субъект "другой пользователь" начальником, подчиненным, сотрудником, другом, родственником и т.д.
[57] В другом примере процесс, применяемый к случаю, когда исходящее сообщение включает в себя обязательство пользователя по отношению к субъекту "другой пользователь", может предусматривать запрашивание различных источников данных для определения важности обязательства. Например, если субъект "другой пользователь" является начальником пользователя, то обязательство, вероятно, является относительно важным. Соответственно, процесс может запрашивать различные источники данных, которые включают в себя персональные и/или профессиональные данные субъекта "другой пользователь" для определения того, является ли субъект "другой пользователь" начальником, подчиненным, сотрудником, другом, родственником и т.д.
[58] На фиг. 5 показана блок-схема иллюстративной системы 500, которая включает в себя модуль 502 извлечения, осуществляющий связь с несколькими объектами 504-518. Такие объекты могут включать в себя, помимо прочего, приложения хоста (например, интернет-браузеры, текстовые редакторы SMS, приложения электронной почты, функции электронного календаря и т.д.), базы данных или источники информации (например, персональные истории индивидов, организационную информацию предприятий или агентств, сторонние агрегаторы данных, которые могут обеспечивать данные как службу, и т.д.). Модуль 502 извлечения может быть идентичен или аналогичен модулю 116 извлечения в вычислительном устройстве 102, например, проиллюстрированном на фиг. 1. Некоторые из объектов 504-518, например (помимо прочего), тренировочные данные 510, календарь 512 и данные, собранные из социальной среды 516 общения, могут сохраняться в запоминающем устройстве, связанном с модулем 502 извлечения. Например, запоминающее устройство может напрямую подключаться (например, проводами) к модулю 502 извлечения (который, например, может быть компонентом обработки). В другом примере запоминающее устройство может в беспроводном режиме и/или удаленно подключаться (например, посредством одного или более удаленных равноправных вычислительных устройств, удаленного(ых) сервера или серверов, или распределенных вычислительных ресурсов, например, через облачные вычисления) к модулю 502 извлечения.
[59] Модуль 502 извлечения может быть выполнен с возможностью анализа содержания передач и/или данных или информации, предоставляемых субъектами 504-518, путем применения любого из нескольких методов языкового анализа. Например, модуль 502 извлечения может быть выполнен с возможностью анализа содержания передач, предоставляемого субъектом 504 "электронная почта", субъектом 506 "текстовое сообщение SMS" и т.д. Модуль 502 извлечения также может быть выполнен с возможностью анализа данных или информации, предоставляемых субъектом 508 "интернет", субъектом "машинное обучение", обеспечивающим тренировочные данные 510, субъектом 504 "электронная почта", субъектом 512 "календарь" и т.д. Модуль 502 извлечения может анализировать содержание путем применения языкового анализа к информации или данным, собранным из любого из субъектов 504-518.
[60] Двусторонние стрелки на фиг. 5 указывают, что данные или информация могут течь в любом направлении между субъектами 504-518 и модулем 502 извлечения. Например, данные или информация, текущие от модуля 502 извлечения к любому из субъектов 504-518, могут составлять часть запроса, генерируемого модулем извлечения для запрашивания объектов. Такой запрос может использоваться модулем 502 извлечения для определения одного или более смысловых значений содержания, обеспеченного любым из объектов.
[61] В некоторых примерах модуль 502 извлечения может принимать содержание обмена электронной почтой (например, передачи) между несколькими пользователями от субъекта 504 "электронная почта". Модуль извлечения может анализировать содержание для определения одного или более смысловых значений содержания. Анализ содержания может осуществляться любым из нескольких методов определения смысловых значений элементов содержания, например слов, выражений, предложений, метаданных (например, размера электронных писем, даты создания и т.д.), изображений и, например, наличия и характера взаимосвязи таких элементов. Под ʺсмысловым значениемʺ содержания понимают возможность интерпретации содержания на естественном языке. Например, смысловое значение содержания может включать в себя запрос человеку осуществить задание. В другом примере, смысловое значение содержания может включать в себя описание задания, время, отводимое на выполнение задания, предварительную информацию о задании и т.д.
[62] В необязательной реализации модуль извлечения может запрашивать содержание одного или более источников данных, например, субъекта 516 "социальная среда общения". Такое содержание одного или более источников данных может быть связано (например, по теме, авторам, датам, временам, положениям и т.д.) с содержанием обмена электронной почтой. По меньшей мере, отчасти на основе (i) одного или более смысловых значений содержания обмена электронной почтой и (ii) содержания одного или более источников данных, модуль 502 извлечения может автоматически извлекать запрос или обязательство из содержания обмена электронной почтой.
[63] В некоторых примерах модуль 502 извлечения может извлекать содержание задания с использованием предсказательных моделей, обученных на основе тренировочных данных 510 и/или текущих передач в реальном времени между модулем извлечения и любым из субъектов 504-518. Такие предсказательные модели могут приходить к выводу о том, что исходящая или входящая передача (например, сообщение) или содержание передачи содержит запрос. Аналогично, исходящая или входящая передача или содержание передачи может содержать обязательства осуществлять задания. Идентификация и извлечение обязательств и запросов из входящих или исходящих передач могут обслуживать множественные функции, которые поддерживают отправителей и получателей передач в отношении обязательств и запросов.
[64] В некоторых примерах модуль 502 извлечения может извлекать содержание задания с использованием статистических моделей для идентификации и извлечения предлагающих и подтверждающих обязательств и запросов, помимо прочего, из электронной почты, принятой от субъекта 504 "электронная почта" или текстовых сообщений SMS от субъекта 506 "текстовое сообщение SMS". Статистические модели могут, по меньшей мере, отчасти опираться на данные или информацию от любого из субъектов 504-518 или их комбинации.
[65] В некоторых примерах модуль 502 извлечения может извлекать содержание задания, пока автор сообщения пишет сообщение. Например, такое писание может содержать печатание электронного письма или текстового сообщения с использованием текстового редактора или приложение любого типа. В других примерах модуль 502 извлечения может извлекать содержание задания, пока человек читает принятое сообщение. Например, когда человек читает сообщение, модуль 502 извлечения может комментировать участки сообщения, выделяя или подчеркивая запросы или обязательства в текстовых сообщениях. В некоторых реализациях, модуль извлечения может добавлять соответствующую информацию в сообщение в ходе чтения (или отображения) сообщения. Например, такая соответствующая информация может выводиться из дополнительных источников данных или информации, например, из субъектов 504-518. В конкретном примере компьютерная система может отображать сообщение, которое включает в себя запрос читателю обратить внимание на тип класса. Модуль 502 извлечения может запрашивать интернет 508 для определения, что несколько таких классов предлагаются в различных положениях и в различные времена дня в области, где располагается читатель (которые, например, могут выводиться из личных данных читателя). Соответственно, модуль извлечения может генерировать и предоставлять читателю список вариантов выбора или предложений. Такой список может отображаться вблизи текста соответствующих участков текста в ответ на наведение курсора, или, например, может отображаться ʺпостоянноʺ в других участках дисплея. В некоторых реализациях список может включать в себя элементы, которые читатель может выбирать (например, щелчком мыши), благодаря чему, запрос будет включать в себя время, выбранное читателем (это время может заменять время, ʺпредлагаемоеʺ запрашивающей стороной, и запрашивающая сторона может автоматически получать уведомления о времени, выбранном читателем).
[66] На фиг. 6 показана блок-схема иллюстративного модуля 602 извлечения, который может осуществлять извлечение задания на нетекстовом содержании 604, например, аудиозаписях, изображениях или видеозаписи. Модуль 602 извлечения может быть идентичен или аналогичен модулю 502 извлечения, проиллюстрированному на фиг. 5. Например, модуль 602 извлечения может осуществлять связь с некоторыми или всеми объектами 504-518.
[67] Нетекстовое содержание 604 может переводиться в соответствующий текст 606, который описывает элементы нетекстового содержания. Например, для перевода изображений (или стоп-кадров видеозаписей) в текст можно использовать любой из нескольких методов распознавания изображения. Аналогично, для перевода аудиозаписей в текст можно использовать любой из нескольких методов преобразования аудио в текст. Соответствующий текст 606 может поступать на модуль 602 извлечения, который затем может извлекать содержание задания из соответствующего текста. Такое извлеченное содержание задания может включать в себя, например, обязательства 608 и/или запросы 610.
[68] Конкретный иллюстративный пример, демонстрирующий, как модуль 602 извлечения может извлекать содержание задания из нетекстового содержания 604 предусматривает сообщение, включающее в себя изображение выносок и вымпелов. Такое изображение может переводиться в текст 606 методом распознавания изображения, который распознает изображение выносок и вымпелов и генерирует текст ʺвыноскаʺ и ʺвымпелыʺ. Дополнительный текст может быть включен для описания отношения непосредственного соседства между выносками и вымпелами в изображении. Модуль 602 извлечения может запрашивать у любого из нескольких объектов (например, 504-518) определение контекста выносок и вымпелов в отношении отправителя сообщения. В одном примере, модуль 602 извлечения может определить (например, путем поиска совпадения между отправителем и интернет-сайтом), что сообщение является рекламой устроителей вечеринок. В результате, модуль извлечения может прийти к выводу, что сообщение не включает в себя обязательство или запрос. В другом примере, модуль 602 извлечения может определить (например, путем поиска личной информации отправителя и получателя сообщения), что сообщение является уведомлением о вечеринке по случаю дня рождения (например, если близится день рождения отправителя или каких-либо членов его семьи, или получатель присутствовал на таком дне рождения в прошлые годы, и т.д.). В таком случае, модуль 602 извлечения может считать изображение запросом получателю посетить вечеринку по случаю дня рождения. Модуль извлечения может дополнительно выводить дату вечеринки и, таким образом, генерировать полный запрос, который включает в себя задание и время для осуществления задания.
[69] В некоторых примерах процесс извлечения задания, осуществляемый модулем 602 (или 502) извлечения может привлекать отправителя и/или получателя сообщения для подтверждения правильности обязательств или запросов, извлеченных модулем извлечения. В частности, если модуль 602 извлечения осуществляет вывод с относительно низкой достоверностью (например, вывод на основе неопределенной или слабо согласованной информации), то модуль извлечения может предлагать отправителю и/или получателю дополнительную информацию или подтверждение в отношении задания в сообщении. С другой стороны, если модуль 602 извлечения осуществляет вывод с относительно высокой достоверностью (например, вывод на основе обоснованной или хорошо согласованной информации), то модулю извлечения нет нужды предлагать отправителю и/или получателю дополнительную информацию или подтверждение в отношении задания в сообщении.
[70] В некоторых примерах модуль 602 извлечения может быть выполнен с возможностью осуществления перевода нетекстового содержания в соответствующий текст. В других примерах, модуль 602 извлечения может быть выполнен с возможностью лишь принимать соответствующий текст, полученный переводом из нетекстового содержания.
[71] На фиг. 7 показана блок-схема системы 700 машинного обучения, согласно различным примерам. Система 700 машинного обучения включает в себя модель 702 машинного обучения (которая может быть аналогична или идентична модулю 114 машинного обучения, проиллюстрированному на фиг. 1), модуль 704 тренировки и модуль 706 извлечения, который может быть идентичен или аналогичен, например, модулю 502 извлечения. Будучи проиллюстрирован в виде отдельных блоков, в некоторых примерах модуль 706 извлечения может включать в себя модель 702 машинного обучения. Модель 702 машинного обучения может принимать тренировочные данные от модуля 704 оффлайновой тренировки. Например, тренировочные данные могут включать в себя данные из памяти вычислительной системы, которая включает в себя систему 700 машинного обучения, или из любой комбинации объектов 502-518, проиллюстрированных на фиг. 5. В памяти может храниться история запросов и обязательств, принятых и/или переданных вычислительной системе или конкретному пользователю. Данные из памяти или от объектов можно использовать для тренировки модели 702 машинного обучения. После такой тренировки модель 702 машинного обучения может использоваться модулем 706 извлечения. Таким образом, например, тренировка с использованием данных из истории запросов и/или обязательств для оффлайновой тренировки может выступать в роли начальных условий для модели машинного обучения. Для тренировки можно использовать другие методы, например, предусматривающие выявление признаков, описанные ниже.
[72] На фиг. 8 показана блок-схема модели 800 машинного обучения, согласно различным примерам. Модель 800 машинного обучения может быть идентична или аналогична модели 702 машинного обучения, показанной на фиг. 7. Модель 800 машинного обучения включает в себя любой из нескольких функциональных блоков, например, блок 802 случайного леса, блок 804 машины опорных векторов и блок 806 графических моделей. Блок 802 случайного леса может включать в себя способ ансамблевого обучения для классификации, которая действует путем построение деревьев принятия решения во время тренировки. Блок 802 случайного леса может выводить класс, который является, например, режимом классов, выводимых отдельными деревьями. Блок 802 случайного леса может функционировать как инфраструктура, включающая в себя несколько взаимозаменяемых частей, которые могут быть смешанными и совпадающими, для создания большого количества конкретных моделей. Построение модели машинного обучения в такой инфраструктуре предусматривает определение направлений решений, используемых в каждом узле, определение типов предсказателей для использования в каждом листе, определение задач разбиения для оптимизации в каждом узле, определение способов внедрения случайности в деревья и т.д.
[73] Блок 804 машины опорных векторов классифицирует данные для модели 800 машинного обучения. Блок 804 машины опорных векторов может функционировать как контролируемая модель обучения с соответствующими алгоритмами обучения, которые анализируют данные и распознают шаблоны, используемые для классификации и регрессионного анализа. Например, при наличии набора тренировочных данных, в котором каждый элемент помечен как принадлежащий одной из двух категорий, алгоритм тренировки машины опорных векторов строит модель машинного обучения, которая относит новые тренировочные данные к той или иной категории.
[74] Блок 806 графических моделей функционирует как вероятностная модель, для которой граф является вероятностной графической моделью, которая демонстрирует условную зависимость и независимость случайных переменных. Вероятностные графические модели представляют распределение суммарной вероятности по набору переменных, представляющему интерес. Вероятностные алгоритмы вывода действуют на этих графических моделей для осуществления выводов на основе конкретных данных. Выводы обеспечивают обновления вероятностей, представляющих интерес, например, вероятности того, что сообщение или конкретное предложение содержит обязательство или запрос. Процедуры обучения могут строить такие вероятностные модели из данных, с помощью процесса, который выявляет структуру из тренировочного набора неструктурированной информации. Процедуры обучения также могут строить такие вероятностные модели из явной обратной связи от пользователей (например, подтверждающей верность извлеченной информации задания). Приложения графических моделей, которые можно использовать для вывода содержания задания из нетекстового содержания, могут включать в себя, помимо прочего извлечение информации, распознавание речи, распознавание изображения, компьютерное зрение и декодирование кодов низкой плотности с контролем четности.
[75] На фиг. 9 показана блок-схема, демонстрирующая иллюстративные онлайновые и оффлайновые процессы 900 для извлечения обязательства и запроса. Такие процессы могут осуществляться процессором (например, блоком обработки) или вычислительным устройством, например, вышеописанным вычислительным устройством 102. ʺОффлайновыйʺ относится к фазе тренировки, на которой осуществляется тренировка алгоритма машинного обучения с использованием контролируемых/помеченных тренировочных данных (например, набора электронных писем с помеченными предложениями обязательства и запроса). ʺОнлайновыйʺ относится к применению моделей, натренированных для извлечения обязательств и запросов из новых (непрочитанных) электронных писем. Процесс 902 выявления признаков и процесс 904 обучения модели могут осуществляться вычислительным устройством в оффлайновом или онлайновом режиме. С другой стороны, прием нового сообщения 906 и процесс 908 применения модели могут осуществляться в онлайновом режиме.
[76] В некоторых примерах некоторые или все из процесса 902 выявления признаков, процесса 904 обучения модели и процесса 908 применения модели могут осуществляться модулем извлечения, например, модулем 116 или 502 извлечения. В других примерах процесс 902 выявления признаков и/или процесс 904 обучения модели может осуществляться модулем машинного обучения (например, модулем 114 машинного обучения, проиллюстрированным на фиг. 1), и процесс 908 применения модели может осуществляться модулем извлечения.
[77] В некоторых примерах процесс 902 выявления признаков может принимать тренировочные данные 910 и данные 912 из различных источников, например, любого из объектов 504-518, проиллюстрированных на фиг. 5. Процесс 902 выявления признаков может генерировать наборы признаков текстовых фрагментов, полезных для классификации. Текстовые фрагменты могут содержать участки содержания одной или более передач (например, обычно относительно большого количества передач тренировочных данных 910). Например, текстовые фрагменты могут представлять собой слова, термины, выражения или их комбинации. Процесс 904 обучения модели представляет собой процесс машинного обучения, который генерирует и пошагово улучшает модель, используемую в процессе 908 для извлечения содержания задания, например, запросов и обязательств, из передач. Например, модель может применяться к новому сообщению 906 (например, электронной почте, тексту и т.д.). Вычислительное устройство может осуществлять процесс 904 обучения модели непрерывно, время от времени или периодически, асинхронно процессу 908 применения модели к новым сообщениям 906. Таким образом, например, процесс 904 обучения модели может обновлять или улучшать модель в оффлайновом режиме и независимо от онлайнового процесса, например, применяя модель (или текущую версию модели) к сообщению 906.
[78] Процесс 908 применения модели к новым сообщениям 906 может предусматривать рассмотрение другой информации 914, которая может приниматься, например, от вышеописанных объектов 504-518. В некоторых реализациях, по меньшей мере, часть данных 912 из других источников может быть идентична другой информации 914. Процесс 908 применения модели может приводить к извлечению содержания задания, включенного в новое сообщение 906. Такое содержание задания может включать в себя обязательства и/или запросы.
[79] На фиг. 10 показана блок-схема операций иллюстративного процесса 1000 извлечения задания, который может осуществляться модулем извлечения или процессором (например, блоком обработки). Например, процесс 1000 может осуществляться вычислительным устройством 102 (например, модулем 116 извлечения), проиллюстрированным на фиг. 1, или конкретно, в других примерах, может осуществляться модулем 502 извлечения, проиллюстрированным на фиг. 5.
[80] На блоке 1002 модуль извлечения может анализировать содержание электронной передачи для определения одного или более смысловых значений содержания. Например, такая электронная передача может содержать электронные письма, текстовые сообщения, нетекстовое содержание, посты социальной среды общения и т.д. На блоке 1004 модуль извлечения может запрашивать содержание одного или более источников данных, относящееся к электронным передачам. Например, один или более источников данных могут включать в себя любой из субъектов 504-518, описанных в примере, приведенном на фиг. 5. В другом примере, когда модуль извлечения является модулем 116 извлечения, один или более источников данных могут включать в себя любой участок компьютерно-считываемых носителей 108, описанных в примере, приведенном на фиг. 1. Один или более источников данных могут быть связаны, помимо прочего, с электронными передачами по теме, авторам электронных передач, лицам, относящимся к авторам, времени, датам, истории событий и организациям.
[81] На блоке 1006 модуль извлечения может автоматически извлекать запрос или обязательство из содержания. Такое извлечение может, по меньшей мере, отчасти опираться на (i) одно или более смысловых значений содержания и (ii) содержание одного или более источников данных.
[82] В некоторых реализациях электронные передачи содержат аудио, изображение или видео. Модуль преобразования можно использовать для преобразования аудио, изображения или видео в соответствующий текст для генерации содержания электронных передач. Содержание электронных передач может поступать на модуль извлечения.
[83] В некоторых реализациях модуль извлечения может осуществлять процесс 1000 в реальном времени.
[84] Последовательность операций, проиллюстрированная на фиг. 10 изображена как совокупность блоков и/или стрелок, представляющих последовательности операций, которые можно реализовать в оборудовании, программном обеспечении, программно-аппаратном обеспечении или их комбинации. Порядок, в котором описаны блоки, не следует рассматривать как ограничение, и любое количество описанных операций можно комбинировать в любом порядке для реализации одного или более способов или изменения способов. Дополнительно, отдельные операции можно исключать из последовательности операций, не выходя за рамки сущности и объема описанного здесь изобретения. В контексте программного обеспечения блоки представляют компьютерно-считываемые инструкции, которые, при выполнении одним или более процессорами, предписывают процессору(ам) осуществлять упомянутые операции. В контексте оборудования, блоки могут представлять одну или более схем (например, FPGA, специализированных интегральных схем - ASIC и т.д.), предназначенных для выполнения упомянутых операций.
[85] Любые описания процедур, элементы или блоки в последовательности операций, проиллюстрированной на фиг. 10, могут представлять модули, сегменты или участки кода, которые включают в себя одну или более исполнимых инструкций для реализации конкретных логических функций или элементов в процедуре.
Иллюстративные пункты
[86] A. Система, содержащая: приемный порт для приема содержания электронной передачи; и модуль извлечения для: анализа содержания для определения одного или более смысловых значений содержания электронной передачи; запрашивания содержания одного или более источников данных, относящегося к электронной передаче; и автоматического извлечения запроса или обязательства из содержания, по меньшей мере, отчасти на основе (i) одного или более смысловых значений содержания и (ii) содержания одного или более источников данных.
[87] B. Система по пункту A, в которой содержание одного или более источников данных содержит личные данные одного или более авторов содержания электронной передачи.
[88] C. Система по пункту A, в которой электронная передача содержит аудио, изображение или видео, и дополнительно содержащая: модуль преобразования для: преобразования аудио, изображения или видео в соответствующий текст для генерации содержания электронной передачи; и предоставления содержания электронной передачи модулю извлечения.
[89] D. Система по пункту A, в которой модуль извлечения выполнен с возможностью анализа содержания электронной передачи путем применения статистических моделей к содержанию электронной передачи.
[90] E. Система по пункту A, в которой модуль извлечения выполнен с возможностью дополнения извлеченного запроса или обязательства идентификацией людей и одного или более положений, связанных с извлеченным запросом или обязательством.
[91] F. Система по пункту A, дополнительно содержащий: модуль машинного обучения, выполненный с возможностью использования содержания электронной передачи и/или содержания одного или более источников данных в качестве тренировочных данных.
[92] G. Система по пункту A, в которой модуль извлечения выполнен с возможностью (i) анализировать содержание электронной передачи и (ii) автоматически извлекать запрос или обязательство из содержания электронной передачи в реальном времени.
[93] H. Способ, содержащий: прием сообщения; применение языкового анализа к сообщению для автоматического преобразования сообщения в признаки машинного языка; поиск в источниках данных информации, относящейся к сообщению; прием информации, относящейся к сообщению, из источников данных; и автоматическую идентификацию запроса или обязательства среди признаков машинного языка, по меньшей мере, отчасти на основе принятой информации.
[94] I. Способ по пункту H, в котором сообщение содержит аудио, изображение или видео, и применение языкового анализа к сообщению дополнительно содержит: определение текста, который соответствует аудио, изображению или видео; и применение языкового анализа к тексту, который соответствует аудио, изображению или видео.
[95] J. Способ по пункту H, в котором источники данных, относящихся к сообщению, содержат другие сообщения.
[96] K. Способ по пункту H, в котором источники данных, относящихся к сообщению, содержат один или более аспектов автора сообщения.
[97] L. Способ по пункту H, в котором прием сообщения дополнительно содержит: последовательный прием участков сообщения в течение промежутка времени; и в течение промежутка времени, применение языкового анализа к принятым участкам сообщения.
[98] M. Способ по пункту H, дополнительно содержащий: маркировку и/или аннотирование сообщения как содержащего запрос или обязательство.
[99] N. Вычислительное устройство, содержащее: порт приема/передачи для приема и передачи данных; и процессор для: анализа электронного сообщения, которое вводится пользователем через пользовательский интерфейс; поиска в данных содержания, относящегося к электронному сообщению; и извлечения, из электронного сообщения, текста, соответствующего запросу или обязательству, по меньшей мере, отчасти на основе содержания, относящегося к электронному сообщению.
[100] O. Вычислительное устройство по пункту N, в котором процессор выполнен с возможностью: определения важности запроса или обязательства, по меньшей мере, отчасти на основе содержания, относящегося к электронному сообщению.
[101] P. Вычислительное устройство по пункту N, в котором процессор выполнен с возможностью: применения электронного сообщения или данных в качестве тренировочных данных для процесса машинного обучения.
[102] Q. Вычислительное устройство по пункту P, в котором анализ электронного сообщения осуществляется процессом машинного обучения.
[103] R. Вычислительное устройство по пункту N, дополнительно содержащий: электронный дисплей, и при этом процессор дополнительно выполнен с возможностью генерации изображения, подлежащего отображению на электронном дисплее, причем изображение включает в себя предложение пользователю подтвердить, является ли текст, соответствующий запросу или обязательству, точным или истинным.
[104] S. Вычислительное устройство по пункту N, в котором процессор дополнительно выполнен с возможностью: анализа параметров электронного сообщения, причем параметры включают в себя одно или более из: количества получателей, длины, даты и времени и заголовка темы отдельного электронного сообщения.
[105] T. Вычислительное устройство по пункту N, в котором процессор дополнительно выполнен с возможностью: анализировать информацию о пользователе, пока пользователь вводит электронное сообщение.
[106] Хотя технологии были описаны применительно к структурным признакам и/или этапам способа, следует понимать, что нижеследующая формула изобретения не обязана ограничиваться описанными признаками или этапами. Напротив, признаки и этапы описаны как иллюстративные реализации таких технологий.
[107] Если не указано обратное, все вышеописанные способы и процессы можно реализовать полностью или частично программными модулями, исполняемыми одним или более компьютерами или процессорами общего назначения. Программные модули могут храниться на компьютерно-считываемом носителе данных любого типа или другом компьютерном запоминающем устройстве. Некоторые или все способы, альтернативно, могут быть реализованы, полностью или отчасти специализированным компьютерным оборудованием, например, FPGA, ASIC и т.д.
[108] Условные выражения, например, в том числе, "может", "мог бы", "способен" или "имеет возможность", если конкретно не указано обратное, используются для указания, что определенные примеры включают в себя, в то время как другие примеры не включают в себя, указанные признаки, элементы и/или этапы. Таким образом, если не указано обратное, такие условные выражения не подразумевают, что признаки, элементы и/или этапы каким-либо образом необходимы для одного или более примеров, или что один или более примеров обязательно включают в себя логику для принятия решения, при наличии или в отсутствие пользовательского ввода или подсказки, включены ли эти признаки, элементы и/или этапы или подлежат ли они осуществлению в любом конкретном примере.
[109] Сослагательные выражения, например, выражение ʺпо меньшей мере, один из X, Y и Zʺ, если конкретно не указано обратное, следует понимать в том смысле, что элемент, термин и т.д. может быть любым из X, Y или Z или их комбинации.
[110] Вышеописанные примеры предусматривают многочисленные вариации и модификации, и их элементы следует рассматривать в числе других допустимых примеров. Все подобные модификации и вариации подлежат включению в объем этого изобретения.