Временное ранжирование результатов поиска

Иллюстрации

Показать все

Изобретение относится к системам и способам поиска информации в сети Интернет. Техническим результатом является расширение функциональных возможностей поиска в информационно-поисковой системе благодаря ранжированию результатов поиска на основании временной близости к событию, к которому имеют отношение результаты поиска. Ранжирование заключается в определении временного веса, который является индикацией относительно важности события, изменяющегося со временем, для пользователя. Для каждого результата поиска система распространения информации вычисляет временный вес, который основан на временной близости события, которое относится к результату поиска. Временный вес может использоваться, чтобы заново ранжировать результаты поиска. 3 н. и 17 з.п. ф-лы, 15 ил.

Реферат

Уровень техники

Развитие информационных систем, таких как Интернет, и различных услуг с централизованным управлением для доступа к информационным системам привело к доступности большого объема информации. Поскольку компьютеры становятся все более и более мощными и универсальными, пользователи все больше используют свои компьютеры для большего разнообразия задач. Следствием расширения использования и универсальности компьютеров является увеличивающееся желание со стороны пользователей все более и более полагаться на свои вычислительные устройства, чтобы выполнять свои ежедневные действия. Например, кто-нибудь с доступом к подходящему соединению с Интернет может работать в интерактивном режиме и осуществлять навигацию к информационным страницам (то есть Web-страницам), чтобы собрать информацию, которая является релевантной текущему действию пользователя.

Много служб механизмов поиска, таких как Google и Yahoo!, обеспечивают поиск информации, которая является доступной через Интернет. Эти службы механизма поиска позволяют пользователям искать страницы отображения, например Web-страницы, которые, возможно, представляют интерес для пользователей. После того как пользователь выдает заявку на поиск (то есть запрос), который включает в себя поисковые термины, служба механизма поиска идентифицирует Web-страницы, которые могут относиться к этим поисковым терминам. Чтобы быстро идентифицировать связанные Web-страницы, службы механизма поиска могут поддерживать отображение ключевых слов на Web-страницы. Это отображение может быть выполнено посредством "ползания" (кроулинга) по Web (то есть по "Всемирной паутине"), чтобы идентифицировать ключевые слова каждой Web-страницы. Чтобы «ползать» по сети, служба механизма поиска может использовать список корневых Web-страниц, чтобы идентифицировать все Web-страницы, которые доступны через эти корневые Web-страницы. Ключевые слова любой конкретной Web-страницы могут быть идентифицированы, используя различные известные методы информационного поиска, например идентификации слов заголовка, слов, введенных в метаданные Web-страницы, слов, которые подсвечены, и так далее. Служба механизма поиска может формировать счет релевантности, чтобы указать, насколько релевантной может быть информация Web-страницы поисковому запросу на основании близости каждого совпадения, важности или популярности Web-страницы (например, PageRank в Google), и так далее. Служба механизма поиска затем отображает пользователю ссылки на те Web-страницы в порядке, который основан на ранжировании, определенном их релевантностью.

К сожалению, пользователи информационных систем сталкиваются с проблемой информационной перегрузки. Например, службы механизма поиска часто обеспечивают своего пользователя несоответствующими результатами поиска, таким образом вынуждая пользователя просматривать длинный список Web-страниц, чтобы найти релевантные Web-страницы. Составляющей этой проблемы является постоянное изменение и расширение объема информации и трудности пользователей, с которыми они встречаются при работе с постоянно меняющейся информацией, чтобы обнаружить информацию, которая является заслуживающей доверия и релевантной пользователю.

Сущность изобретения

Обеспечиваются способ и система для ранжирования результатов поиска на основании временной близости к событию, к которому имеют отношение результаты поиска. Система распространения информации ранжирует результаты поиска на основании временного веса, назначенного каждому результату поиска. Временный вес есть индикация важности для пользователя, которая изменяется со временем. Для каждого результата поиска система распространения информации вычисляет временный вес, который основан на временной близости к событию, которое относится к результату поиска. Временный вес может использоваться для повторного ранжирования результатов поиска.

Настоящее описание обеспечивается для представления в упрощенной форме выбора концепций, которые приведены ниже в подробном описании. Этот раздел не предназначен для идентификации ключевых признаков или существенных признаков заявленного объекта изобретения, и при этом не предназначен для использования в качестве помощи в определении объема заявленного объекта изобретения.

Краткое описание чертежей

Фиг. 1 - блок-схема, которая иллюстрирует обработку системы распространения информации согласно некоторым вариантам осуществления.

Фиг. 2 - блок-схема, которая иллюстрирует выбранные компоненты системы распространения информации согласно некоторым вариантам осуществления.

Фиг. 3 - блок - схема последовательности операций, которая иллюстрирует работу компонента профайлера согласно некоторым вариантам осуществления.

Фиг. 4 - блок - схема последовательности операций, которая иллюстрирует работу компонента профайлера по идентификации ключевых терминов согласно некоторым вариантам осуществления.

Фиг. 5 - блок - схема последовательности операций, которая иллюстрирует работу компонента профайлера для формирования запроса согласно некоторым вариантам осуществления.

Фиг. 6 - блок - схема последовательности операций, которая иллюстрирует работу компонента профайлера, чтобы с приращением формировать тему, согласно некоторым вариантам осуществления.

Фиг. 7 - блок - схема последовательности операций, которая иллюстрирует работу компонента сбора информации согласно некоторым вариантам осуществления.

Фиг. 8 - блок - схема последовательности операций, которая иллюстрирует работу компонента ранжирования согласно некоторым вариантам осуществления.

Фиг. 9 - графическое описание значений веса как функции близости к событию согласно некоторым вариантам осуществления.

Фиг. 10 - графическое описание значений веса как функции близости к событию, согласно некоторым вариантам осуществления.

Фиг. 11 - блок - схема последовательности операций, которая иллюстрирует работу компонента ранжирования для вычисления временного веса результата поиска согласно некоторым вариантам осуществления.

Фиг. 12 - блок - схема последовательности операций, которая иллюстрирует воспроизведение информации на основании класса события, соответствующего пользовательскому событию, согласно некоторым вариантам осуществления.

Фиг. 13 - блок - схема последовательности операций, которая иллюстрирует создание класса события, согласно некоторым вариантам осуществления.

Фиг. 14 - данные примерного листинга, которые иллюстрируют класс события, согласно некоторым вариантам осуществления.

Фиг. 15 - блок - схема последовательности операций, которая иллюстрирует обработку класса события, согласно некоторым вариантам осуществления.

Подробное описание

Обеспечиваются способ и система для адаптивного распространения персонализированной и контекстуально релевантной информации. В некоторых вариантах осуществления система распространения информации идентифицирует интересы пользователя и адаптивно распространяет (передает) пользователю информацию, которая является релевантной интересам пользователя. Интересы пользователя могут быть идентифицированы из информации, полученной из различных источников, например, в качестве примера, записей в календаре пользователя, сообщений электронной почты, информация от использования Всемирной паутины (web), документов, данных планирования ресурсов предприятия (ERP) и т.п. Система распространения информации затем создает профиль для пользователя и включает в этот профиль подробности относительно интересов пользователя. Например, система распространения информации может включать в профиль пользователя информацию относительно: информационных источников для запроса информации для представления пользователю; пользовательских событий (например, собраний, встреч и т.д.), которые анализируются, чтобы определить интересы пользователя; тем, полученных из проанализированных событий; запросов, сформированных для проанализированных событий; языковой модели терминов, которые являются релевантными пользователю; предпочтений пользователя для приема релевантной информации и другой информации, касающейся пользователя. Обычно тема (предмет) может быть определена как любая связная концепция для события. Например, для конференции, которую пользователь намеревается посетить, темы могут включать в себя предмет конференции, представление людей на конференции, людей, посетивших конференцию, место проведения конференции, организации, представленные на конференции, информацию о путешествии для пользователя (например, город начала (путешествия), город назначения, режим путешествия, номера рейсов, бронирования мест в гостинице, резервирование автомобиля на прокат и т.д.), и информацию о погоде. Термины, которые являются релевантными пользователю, могут быть получены из различных источников, используемых для идентификации интересов пользователя. Система распространения информации периодически выполняет запросы в профиле пользователя к соответствующим информационным источникам и получает результаты поиска. Используемый здесь термин "результат поиска" или любой его вариант в общем случае относится к результатам, которые отфильтрованы, используя запрос. Система распространения информации затем ранжирует результаты поиска согласно различным факторам и представляет (воспроизводит) ранжированные результаты поиска пользователю. Система распространения информации получает обратную связь от пользователя относительно представленных результатов поиска и включает информацию обратной связи в профиль пользователя. Система распространения информации может обеспечивать пользовательский интерфейс (ПИ, UI), посредством которого пользователь может просматривать и/или модифицировать подробности интересов пользователя, поддерживаемых в профиле пользователя. Например, пользователь может использовать ПИ, чтобы задать уровень важности и/или релевантности событий, тем, терминов, информационных источников и другой информации, включенной в профиль пользователя. Система распространения информации может также контролировать взаимодействие пользователя с воспроизведенными результатами поиска и делать соответствующие модификации в подробностях (деталях) интересов пользователя, поддерживаемых в профиле пользователя. Система распространения информации может также периодически обновлять профиль пользователя более современными или обновленными подробностями относительно интересов пользователя. Таким образом, система распространения информации через какое-то время становится все более и более чувствительной к потребностям пользователя в информации.

В некоторых вариантах осуществления система распространения информации идентифицирует ключевые термины из терминов, которые являются релевантными пользователю, и генерирует запросы из этих ключевых терминов. Система распространения информации может идентифицировать ключевые термины из терминов, извлеченных из сообщений пользователя, и событий, содержащихся в выбранных папках. В качестве примера система распространения информации может сканировать папки недавней электронной почты пользователя (например, папку почтового ящика для приема сообщений и папку посланных элементов) и извлекать термины из этих папок электронной почты. Система распространения информации может затем идентифицировать сообщения электронной почты в других папках, которые относятся к извлеченным терминам, и извлекать термины из этих связанных сообщений электронной почты. Используя извлеченные термины, система распространения информации создает кластеры терминов, которые являются схожими. Каждый кластер ассоциирован с набором терминов. Система распространения информации затем идентифицирует события, например назначенные встречи пользователя, посредством сканирования записей в приложении ведения календаря, и для каждого события идентифицирует кластеры, ассоциированные с событием. Система распространения информации затем создает одну или более тем для каждого события. Каждая тема может рассматриваться как "контейнер", который содержит информацию, которая является релевантной ее ассоциированному событию, например, название события, продолжительность события и т.д. Система распространения информации идентифицирует ключевые термины в идентифицированных кластерах и генерирует запрос из ключевых терминов. Система распространения информации затем помещает сформированный запрос в тему, которая ассоциирована с событием, и включает эту тему в профиль пользователя.

Система распространения информации может использовать различные способы, чтобы сформировать кластеры терминов. В некоторых вариантах осуществления система распространения информации использует алгоритм К-средних значений. Система распространения информации вводит в алгоритм число K, которое задает требуемое количество кластеров. При первом проходе алгоритм берет первые K терминов в качестве средней точки одного кластера. Средняя точка есть средняя позиция кластера (например, средняя позиция терминов в кластере). Алгоритм затем назначает каждый из оставшихся терминов кластеру с самой близкой средней точкой к этому термину (например, кластеру, где разность между средней точкой и термином минимизирована). При последующих проходах алгоритм повторно вычисляет средние точки кластера на основе предыдущего прохода и затем повторно назначает каждый термин кластеру со средней точкой, которая является самой близкой к этому термину. Алгоритм может быть выполнен для фиксированного количества проходов (например, трех) или до тех пор, пока кластеризация не сойдется на решении. Система распространения информации может использовать любой из ряда известных алгоритмов, включающих в себя оценку максимальной вероятности, спектральную кластеризацию и так далее, чтобы сформировать кластеры терминов.

В некоторых вариантах осуществления система распространения информации идентифицирует ключевые термины в кластере на основании общего веса, назначенного каждому термину. Общий вес термина может быть получен из комбинации веса типа термина и веса релевантности термина. Система распространения информации сначала фильтрует термины, чтобы уменьшить количество терминов, которые могут быть идентифицированы как ключевые термины. Например, система распространения информации может отфильтровывать термины, которые являются унифицированным указателем информационного ресурса (URL), и термины, которые составлены из чисел, чтобы уменьшить количество ключевых терминов-кандидатов. Для каждого из остающихся терминов система распространения информации может вычислять вес типа и вес релевантности. Вес типа - это вес, который назначен термину на основании типа термина. Например, система распространения информации может назначать больший вес типа термину, который является именем, например именем человека, чем термину, который составлен из множества слов. Термину, который составлен из множества слов, может, в свою очередь, быть назначен больший вес типа, чем термину, который является одним словом. Система распространения информации может также назначать различные веса типа термину на основании того, появляется ли термин как часть рассматриваемого текста, как тело текста, как текст контактов или других частей события. Вес релевантности термина - есть мера релевантности термина пользователю и, в частности, интересам пользователя. Одна общая методика для определения релевантности термина пользователю основана на частоте термина и обратной частоте документа (TF*IDF). Частота термина относится к количеству появлений термина в документе, и обратная частота документа относится к обратному значению количества документов, которые содержат этот термин. В этом случае документы обычно относятся к различным информационным источникам, используемым для идентификации интересов пользователя. Система распространения информации может идентифицировать термины, которые являются избыточно представленными, и термины, которые являются недостаточно представленными, в качестве терминов, которые имеют маловероятную релевантность пользователю. Каждому из этих терминов система распространения информации назначает низкий вес релевантности. Каждому из остающихся терминов система распространения информации может назначать вес релевантности, основанный на метрике TF*IDF термина. Система распространения информации может использовать любой из множества других известных методов для определения релевантности термина. Система распространения информации может затем получать общий вес для термина на основании веса типа термина и веса релевантности. Например, общий вес термина может быть получен посредством перемножения веса типа и веса релевантности термина. В некоторых вариантах осуществления общий вес термина может быть получен из веса релевантности термина. Система распространения информации может затем выделять в качестве ключевых терминов термины, чьи общие веса выше заранее определенного порога. Система распространения информации может поддерживать термины и их назначенные веса в профиле пользователя, например, в качестве части языковой модели.

В некоторых вариантах осуществления система распространения информации формирует запрос из ключевых терминов, используя шесть наиболее высоко ранжированных ключевых терминов. Система распространения информации сначала ранжирует ключевые термины на основании общих весов, назначенных ключевым терминам. Система распространения информации затем идентифицирует шесть наиболее высоко ранжированных ключевых терминов и генерирует запрос согласно следующему уравнению:

Запрос = А И B И (C ИЛИ D ИЛИ E ИЛИ F) (1),

где А представляет первый наиболее высоко ранжированный ключевой термин, B представляет второй наиболее высоко ранжированный ключевой термин, C представляет третий наиболее высоко ранжированный ключевой термин, D представляет четвертый наиболее высоко ранжированный ключевой термин, E представляет пятый наиболее высоко ранжированный ключевой термин и F представляет шестой наиболее высоко ранжированный ключевой термин. В случаях, когда имеются менее шести ключевых терминов, система распространения информации может генерировать запрос, используя количество доступных ключевых терминов. Например, если имеются только четыре ключевых термина, система распространения информации может генерировать запрос, опуская пятые и шестые наиболее высоко ранжированные ключевые термины в уравнении (1) выше. Примерами других подходящих запросов, когда имеются менее шести ключевых терминов, включают в себя: Запрос = A; Запрос = А И B; Запрос = А И B И C; Запрос = А И B И (C ИЛИ D); и т.д.

В некоторых вариантах осуществления система распространения информации с приращением (инкрементно) формирует темы, которые могут быть интересны пользователю. Например, пользователь может обеспечивать индикацию, что некоторое событие заслуживает освещения в печати (то есть представляет интерес для пользователя). После приема этой индикации система распространения информации идентифицирует интерес пользователя. Например, система распространения информации может идентифицировать тему из указанного события как представляющую интерес для пользователя. Любая из других тем, которые относятся к указанному случаю, может быть также идентифицирована как интерес пользователя. Система распространения информации затем извлекает термины, которые ассоциированы с этой темой, и из этих терминов идентифицирует ключевые термины. Система распространения информации может идентифицировать ключевые термины на основании общих весов, назначенных терминам, как описано выше. Система распространения информации затем генерирует запрос из ключевых терминов и включает этот запрос в профиль пользователя для выполнения. Система распространения информации может также поддерживать извлеченные термины и их назначенные веса в профиле пользователя, например, в качестве части языковой модели.

Система распространения информации собирает информацию для пользователя через периодические интервалы. На очередном интервале система распространения информации выполняет запросы к информационным источникам, указанным в профиле пользователя, чтобы получить результаты поиска. Информационные источники могут включать в себя MSN Search, MSN News Search и другие информационные источники, которые индексируют блоги, выпуски новостей, Web-страницы, источники документов, web-вещания, видеовещания, аудиовещания и т.д., и которые делают результаты поиска доступными через интерфейс. Система распространения информации затем формирует ранжированный список информационных элементов посредством ранжирования элементов информации, включенных в результаты поиска. Система распространения информации затем воспроизводит ранжированные результаты поиска пользователю. Система распространения информации инициализирует периодические интервалы значениями "по умолчанию", которые могут быть модифицированы пользователем. В некоторых вариантах осуществления система распространения информации собирает информацию, касающуюся событий, которые находятся во временном диапазоне, например диапазоне дат. Например, система распространения информации может инициализировать диапазон дат как одну неделю (например, период из семи дней, начинающийся со дня перед текущим днем (сегодняшним)). В этом случае система распространения информации собирает информацию посредством выполнения запросов, сформированных для тем, соответствующих событиям, которые находятся в пределах этого диапазона дат. В некоторых вариантах осуществления система распространения информации позволяет пользователю инициализировать сбор информации. Например, система распространения информации может обеспечивать ПИ, посредством которого пользователь может определить диапазон дат, представляющий интерес, и запрашивать сбор информации.

В некоторых вариантах осуществления система распространения информации ранжирует результаты поиска на основании общего веса, назначенного каждому результату поиска. Общий вес результата поиска может быть получен из комбинации статического веса результата поиска, адаптивного веса результата поиска и временного веса результата поиска. Статический вес может быть получен из различных коэффициентов взвешивания, таких как важность темы/события для пользователя, важность информационного источника, ранжирование, обеспеченное информационным источником, и релевантность терминов интересам пользователя. Например, статический вес для результата поиска может быть комбинацией важности темы, которая соответствует результату поиска, важности информационного источника, который выдал результат поиска, ранга, обеспеченного информационным источником, который выдал результат поиска, и релевантности терминов в результате поиска интересам пользователя. Релевантность терминов может быть определена, используя языковую модель, включенную в профиль пользователя. Например, косинусная мера подобия может использоваться, чтобы измерить подобие (сходство) терминов в результате поиска с терминами в языковой модели. Адаптивный вес - это вес, который назначен результату поиска на основании предпочтения пользователя и/или обратной связи. Например, пользователь может задать дополнительные информационные источники, из которых нужно извлечь информацию. Пользователь может указывать предпочтительный порядок для информационных источников. Пользователь может также указывать предпочтение некоторого типа результата поиска перед другим типом результата поиска. Система распространения информации может также различать предпочтения пользователя посредством контроля взаимодействия пользователя с информационной системой распространения и, в частности, информации, воспроизведенной информационной системой распространения. Система распространения информации может поддерживать информацию относительно предпочтений и взаимодействий пользователя в профиле пользователя. Временный вес - это вес, который назначен результату поиска на основании близости события, которое соответствует результату поиска. Временное взвешивание дополнительно описано ниже. Система распространения информации может затем получать общий вес для каждого результата поиска на основании статического веса результата поиска, адаптивного веса и временного веса. Например, общий вес результата поиска может быть получен посредством суммирования статического веса, адаптивного веса и временного веса результата поиска. Система распространения информации затем ранжирует результаты поиска согласно их общим весам и воспроизводит ранжированный список результатов поиска. В некоторых вариантах осуществления система распространения информации воспроизводит только заранее определенное количество результатов поиска. Например, система распространения информации может только воспроизводить двадцать наиболее высокоранжированных результатов поиска.

В некоторых вариантах осуществления система распространения информации может оповещать пользователей относительно высокорелевантных результатах поиска. Система распространения информации может оповещать пользователя посредством обеспечения индикации на клиентском вычислительном устройстве пользователя. Например, система распространения информации может вынуждать конкретную иконку или индикатор появляться на ПИ на клиентском вычислительном устройстве пользователя. Система распространения информации может также изменять цвет отображенной иконки или индикатора, чтобы указать присутствие результатов поиска переменной релевантности. Для пользователя, использующего мобильное клиентское вычислительное устройство, такого как смартфон, система распространения информации может посылать пользователю текстовое сообщение, сообщающее пользователю о присутствии релевантных результатов поиска.

Временное ранжирование

Временное ранжирование основано на том понятии, что важность информации изменяется со временем. Например, пользователь может иметь два события, запланированные в календаре пользователя: первое событие о встрече на следующей неделе в Нью-Йорке и второе событие о полете в Нью-Йорк для этой встречи. В некоторый момент времени до встречи важность события встречи будет высока (то есть представляет интерес для пользователя), и любые элементы информации (например, новости), относящиеся к событию встречи, будут также важны. При приближении времени к событию полета событие полета также увеличивается в своей важности, и информационные элементы, относящиеся к событию полета, например информация о задержке рейса, также увеличивается в важности. Как только пользователь выполняет полет и приземляется в Нью-Йорке, событие рейса будет иметь значительно уменьшенную важность для пользователя, и соответствующие элементы информации больше не могут быть интересны пользователю. Как можно видеть из этого примера, события имеют важность для пользователя, и информационные элементы, относящиеся к событиям, также имеют важность для пользователя, но эта важность изменяется во времени и, более конкретно, близости к событиям.

В некоторых вариантах осуществления система распространения информации ранжирует результаты поиска на основании временного веса, назначенного каждому результату поиска. Временный вес есть индикация важности результата поиска для пользователя, которая изменяется со временем. Для каждого результата поиска система распространения информации вычисляет временный вес, который основан на близости события во времени, которое относится к результату поиска. Значение временного веса результата поиска может увеличиваться (например, повышаться) экспоненциально в период времени перед началом соответствующего события. В течение соответствующего события значение временного веса может оставаться относительно постоянным (например, на одном уровне) или может возрастать до пика в момент времени в течение соответствующего события и уменьшаться после него. В период времени после окончания соответствующего события значение временного веса может уменьшаться (например, снижаться) экспоненциально до нуля за очень короткий промежуток времени. Значение временного веса может быть вычислено, используя экспоненциальную функцию следующего вида:

f(t)=k*exp(-m * rti) (2),

где rti представляет временной интервал (например, время с текущего момента времени до начала события), сравненный с длительностью события (например, T2-T1, где T2 - конечное время события и T1 - начальное время события), и k и m - весовые коэффициенты, чьи значения выбирают так, чтобы изменить форму функции, как необходимо. Значения, выбранные для весовых коэффициентов k и m, могут быть различными до, в течение и после события. Значения весовых коэффициентов также могут быть настроены так, чтобы сформировать конкретные временные значения веса для конкретных моментов времени. Например, значения весовых коэффициентов могут быть выбраны так, чтобы сформировать временное значение веса, то есть, например, 1/3 от максимального временного значения веса в момент времени, которым является T2-T1 (то есть продолжительность или длительность события) от T1 (то есть начала события).

В некоторых вариантах осуществления система распространения информации вычисляет временный вес результата поиска, используя следующие уравнения:

если текущее время является временем до начала события, относящегося к результату поиска,

TW=BEWF*TimeWeight(2.0*(T1-TN)/(TD*TF)) (3),

если текущее время является временем в течение события, относящегося к результату поиска,

TW=DEWF*TimeWeight(1.0*(((T1+T2)/2))-TN/(TD*TF)) (4),

если текущее время является временем после конца события, относящегося к результату поиска,

TW = AEWF * TimeWeight (4.0 * (TN-T2)/(TD * TF)) (5),

где TN - текущее время, T1 - время начала события, T2 - время конца события, TD - длительность события во времени, BEWF - весовой коэффициент до события, DEWF - весовой коэффициент в течение события, AEWF - весовой коэффициент после события, TF - весовой коэффициент, и TimeWeight (временный вес) является следующей функцией:

TimeWeight (x)=exp (-1.0 * abs(x)) (6),

где exp представляет экспоненциальную функцию "e", и “abs” представляет функцию абсолютной величины. Значения, назначенные весовым коэффициентам BEWF, DEWF, AEWF и TF, управляют скоростью повышения и скоростью снижения временного веса. В некоторых вариантах осуществления система распространения информации может изменять значения, которые назначены весовым коэффициентам, в зависимости от таких факторов, как продолжительность события, важность события и т.д.

Классы событий

В некоторых вариантах осуществления система распространения информации допускает создание классов событий и распространяет информацию, относящуюся к темам, извлеченным из классов событий. Классы событий обычно могут быть представлены как сценарии, которые определяют темы и действия для получения информации, относящейся к темам. Класс события может быть написан на любом из ряда известных языков описания данных, таком как расширяемый язык разметки (XML), и т.д. Классы событий выполняются, чтобы получить информацию, относящуюся к конкретному классу событий. В некоторых вариантах осуществления система распространения информации может обеспечивать ПИ, посредством которого авторизованный пользователь, такой как администратор системы, может создавать класс события. Чтобы создавать класс события, пользователь может использовать ПИ, чтобы задать распознаватель класса события, набор специальных тем и, для каждой указанной специальной темы, набор слотов (мест вставки), распознаватель слота для каждого слота в наборе слотов и набор действий. Распознаватель класса события позволяет идентифицировать соответствующий класс события. Распознаватель класса события может быть определен в форме эвристики, обычных выражений, шаблонов или других подходящих правил, которые могут быть выполнены, чтобы идентифицировать свой соответствующий класс события. Набор специальных тем определяет релевантные идеи для его соответствующего класса события. Например, специальная тема может быть создана для консультации о путешествии, консультации о погоде, встрече, обеде в ресторане и различных других событий или концепциях событий. Каждый слот (место вставки) является параметром (то есть меткой-заполнителем), который описывает атрибут своей соответствующей специальной темы. Например, чтобы создать специальную тему для консультации о путешествии, пользователь может определить слоты (места вставки) для исходящего города ("FromCity"), города адресата ("ToCity"), одного или более промежуточных городов, авиакомпании-перевозчика, номера рейса, даты и т.п. Чтобы создать специальную тему для встречи, пользователь может определить слоты для предмета встречи, приглашенных на встречу посетителей, представленных компаний и т.п. Распознаватель слота позволяет распознавать или идентифицировать значения или "заполнитель слота" (заполнитель места вставки) для своего соответствующего места вставки. Распознаватель места вставки может быть определен в форме эвристики, регулярных выражений, подпрограмм извлечения информации или других подходящих правил, которые могут быть выполнены, чтобы идентифицировать соответствующий заполнитель места вставки для соответствующего места вставки. Например, распознаватель места вставки для места вставки FromCity в специальной теме консультации о путешествии может задать ограничение или предел, что место вставки FromCity может быть заполнено только названием города, распознанного из стандартного или указанного списка названий городов. Система распространения информации может затем выполнять распознаватель места вставки в отношении набора релевантных элементов календаря, сообщений электронной почты и других информационных источников пользователя, чтобы определить значение для места вставки, ограниченного любым указанным ограничением. Заданные действия вызываются, чтобы получить информацию, соответствующую ее специальной теме. Действие может быть определено как параметризованный URL (то есть URL, имеющий один или более параметров), который должен быть инициализирован и вызван. Для инициализации параметризованного URL система распространения информации сначала определяет значение для каждого из параметров, включенных в URL, и затем заменяет параметры их соответствующими значениями. Действие может быть также задано как URL. В некоторых вариантах осуществления пользователь может задать правила для систематизации (классификации) и извлечения релевантной информации из информации, которая получается посредством выполнения указанных действий.

Чтобы распространять информацию, относящуюся к классу событий, система распространения информации сначала идентифицирует пользовательское событие, которое является интересным пользователю. Система распространения информации может идентифицировать пользовательское событие из профиля пользователя. Система распространения информации затем выполняет определенный распознаватель класса событий, чтобы определить, "вписываться ли” пользовательское событие в один из созданных классов событий. Выполнение определенных распознавателей класса событий может не приводить к идентификации или определению класса событий для пользовательского события. Система распространения информации может позволять пользователю задать класс события для пользовательского события. После определения класса событий для выполнения система распространения информации идентифицирует специальные темы, которые были определены для класса событий, и места вставки, которые были определены для каждой специальной темы. Система распространения информации затем идентифицирует распознаватели места вставки, которые были определены для каждого из мест вставки, и выполняет каждый распознаватель места вставки для различных источников информации пользователя