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

Изобретение относится к средствам ранжирования документов в сети, использующим систему с инкрементным обновлением. Техническим результатом является сокращение времени поиска документов в сети с повышением соответствия результатов поиска поисковому запросу. В способе ранжирования документов в сети в ответ на введенный пользователем поисковый запрос, содержащий один или несколько термов поискового запроса, используют классификатор запроса с инкрементным обновлением на основе данных использования с отображением ранжированных документов с вычисленными значениями параметров просмотра, сохраненными для каждого из термов поискового запроса, при этом обновляют значения подсчета с использованием инкрементного обновления. 4 н. и 13 з.п. ф-лы, 6 ил.

 

Предшествующий уровень техники

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

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

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

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

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

Описание чертежей

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

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

На фиг.3A-3B представлена логическая блок-схема, изображающая иллюстративные этапы в иллюстративном способе создания ранжированных результатов поиска, использующем модель с инкрементным обновлением.

На фиг.4A-4B представлена логическая блок-схема, изображающая иллюстративные этапы в способе создания ранжированных результатов поиска, использующем модель с инкрементным обновлением, которая также содержит компонент временного затухания.

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

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

Раскрыты способы ранжирования документов в сети, использующие классификатор запроса с инкрементным обновлением. Релевантность каждого документа данному поисковому запросу вычисляется с использованием классификатора запроса с инкрементным обновлением, который использует данные пользователя в реальном времени для каждой комбинации данных введенный запрос/выбранный результат. Релевантность документа для каждого документа, определенная одним только классификатором запроса или в комбинации с другими компонентами функции ранжирования, может использоваться для ранжирования документов в пределах данного сетевого пространства (например, пространства корпоративной интрасети или Интернета). Иллюстративная процедура поиска, в которой могут использоваться раскрытые способы, изображена как иллюстративная процедура 10 на фиг.1.

На фиг.1 изображена иллюстративная процедура 10 поиска, которая начинается с этапа 80 процедуры, на котором пользователь вводит поисковый запрос. От этапа 80 иллюстративная процедура 10 поиска переходит к этапу 200, на котором поисковый механизм ищет во всех документах в пределах сетевого пространства один или несколько термов поискового запроса. От этапа 200 иллюстративная процедура 10 поиска переходит к этапу 300, на котором функция ранжирования поискового механизма ранжирует документы в пределах сетевого пространства на основе релевантности каждого документа поисковому запросу, причем релевантность документа основана на вероятности выборки этого документа при условии поискового запроса на основе модифицированной наивной байесовской модели, описанной ниже. От этапа 300 иллюстративная процедура 10 поиска переходит к этапу 400, на котором пользователю представляются ранжированные результаты поиска, как правило, в порядке убывания, идентифицирующие документы в пределах сетевого пространства, которые наиболее релевантны поисковому запросу (т.е. имеют самую высокую вероятность выборки при условии конкретного поискового запроса).

Как более подробно обсуждается ниже, способы ранжирования документов содержат использование в реальном времени "данных реакции пользователя" или "данных использования документа", относящихся к фактическому использованию (например, просмотру) одного или нескольких документов в пределах сетевого пространства одним или несколькими пользователями. Данные использования документа формируются и сохраняются кодом приложения на web-сервере, который отделен от данного поискового механизма. Например, данные использования документа могут поддерживаться web-сайтом так, что каждый раз, когда пользователь запрашивает URL, сервер обновляет счетчик использования или значение счета. Счетчик использования может поддерживать связанные с документом данные, полученные за данный интервал времени, например, за прошлую неделю, за прошлый месяц, за прошлый год или за время существования данного документа или набора документов. Код приложения можно использовать для получения данных использования из web-сайта через (i) специальный интерфейс прикладного программирования (API), (ii) запрос web-службы или (iii) запрос web-страницы администрирования, которая возвращает данные использования для каждого URL на web-сайте.

Релевантность документа может использоваться для ранжирования документов в пределах сетевого пространства и предоставления ранжированных результатов поиска пользователю. Например, способ ранжирования документов в сети может содержать этапы определения релевантности документа для каждого документа в сети с использованием классификатора запроса с инкрементным обновлением, и ранжирования документов в требуемом порядке (как правило, в порядке убывания) на основе релевантности документа каждого документа относительно введенного пользователем поискового запроса.

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

Иллюстративная операционная среда

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

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

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

Согласно фиг.2 иллюстративная система для реализации способов и процедур, раскрытых в этом документе, включает в себя универсальное вычислительное устройство в виде компьютера 110. Компоненты компьютера 110 могут содержать, например, блок 120 обработки, системную память 130 и системную шину 121, которая соединяет различные элементы системы, в том числе, например, системную память 130 с блоком 120 обработки. Системная шина 121 может относиться к любому из нескольких типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, использующих любую из множества шинных архитектур. В качестве примера такие архитектуры включают в себя шину архитектуры промышленного стандарта (ISA), шину микроканальной архитектуры (MCA), шину расширенной архитектуры промышленного стандарта (EISA), локальную шину ассоциации по стандартизации в области видеотехники (VESA), шину межсоединения периферийных компонентов (PCI), также известную как шина расширения и т.д.

Компьютер 110, обычно, содержит множество компьютерночитаемых носителей. Компьютерночитаемыми носителями могут быть любые доступные носители, к которым может осуществить доступ компьютер 110 и которые содержат как энергозависимые, так и энергонезависимые носители, съемные и несъемные носители. В качестве примера компьютерночитаемые носители могут включать в себя носители хранения, среды связи и т.д. Компьютерные носители хранения включают в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, например, компьютерночитаемых команд, структур данных, программных модулей или других данных. Компьютерночитаемые носители хранения включают в себя, например, оперативное запоминающее устройство (RAM, ОЗУ), постоянное запоминающее устройство (ROM, ПЗУ), электрически стираемое программируемое ПЗУ (EEPROM), флеш-память или другую технологию памяти, компакт-диск (CD-ROM), универсальные цифровые диски (DVD) или другое хранилище на оптических дисках, магнитофонные кассеты, магнитную ленту, магнитное дисковое хранилище или другие магнитные устройства хранения, или любой другой носитель, который можно использовать для хранения требуемой информации и к которому может осуществлять доступ компьютер 110. Среды связи обычно воплощают компьютерночитаемые команды, структуры данных, программные модули или другие данные в модулированном сигнале данных, например в несущей, или другом транспортном механизме и включают в себя любые среды доставки информации. Термин "модулированный сигнал данных" означает сигнал, имеющий одну или более своих характеристик установленными или измененными таким образом, чтобы кодировать в этом сигнале информацию. В качестве примера среды связи включают в себя, например, такие проводные среды, как проводная сеть или прямое проводное соединение, и беспроводные среды, как акустические, радиочастотные, инфракрасные и другие беспроводные среды. Комбинации любых приведенных выше носителей и сред также следует отнести к компьютерночитаемым носителям информации, используемым в этом документе.

Системная память 130 включает в себя компьютерночитаемые носители информации в виде энергозависимой и/или энергонезависимой памяти, например, постоянного запоминающего устройства (ROM, ПЗУ) 131 и оперативного запоминающего устройства (RAM, ОЗУ) 132. Базовая система 133 ввода/вывода (BIOS), содержащая основные процедуры, которые помогают передавать информацию между элементами в пределах компьютера 110, например во время запуска, обычно хранится в ROM 131. RAM 132 обычно содержит данные и/или программные модули, к которым осуществляется непосредственный доступ, и/или которыми в настоящее время управляет блок 120 обработки. В качестве примера на фиг.2 изображены, например, операционная система 134, прикладные программы 135, другие программные модули 136 и данные 137 программ.

Компьютер 110 может также содержать другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители хранения. Только в качестве примера на фиг.2 изображен накопитель 140 на жестких дисках, который осуществляет считывание с несъемных энергонезависимых магнитных носителей или запись на них, накопитель 151 на магнитных дисках, который осуществляет считывание со съемного энергонезависимого магнитного диска 152 или запись на него, накопитель 155 на оптических дисках, который осуществляет считывание со съемного энергонезависимого оптического диска 156, например, CD ROM или другого оптического носителя, или запись на него. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители хранения, которые можно использовать в иллюстративной рабочей среде, включают в себя, например, кассеты с магнитной лентой, карты флэш-памяти, универсальные цифровые диски, цифровую видеоленту, твердотельное ОЗУ (RAM), твердотельное ПЗУ (ROM) и т.п. Накопитель 141 на жестких дисках обычно соединен с системной шиной 121 через интерфейс несъемной памяти, например, интерфейс 140, а накопитель 151 на магнитных дисках и накопитель 155 на оптических дисках обычно соединяют с системной шиной 121 посредством интерфейса съемной памяти, например, интерфейса 150.

Накопители и связанные с ними компьютерные носители хранения, рассмотренные выше и изображенные на фиг.2, обеспечивают хранение компьютерночитаемых команд, структур данных, программных модулей и других данных для компьютера 110. На фиг.2, например, изображен накопитель 141 на жестких дисках как хранящий операционную систему 144, прикладные программы 145, другие программные модули 146 и данные 147 программ. Следует отметить, что эти компоненты могут либо быть идентичны операционной системе 134, прикладным программам 135, другим программным модулям 136 и данным 137 программ или отличаться от них. Операционной системе 144, прикладным программам 145, другим программным модулям 146 и данным 147 программ здесь даны другие ссылочные позиции, чтобы, как минимум, показать, что они являются другими экземплярами.

Пользователь может вводить команды и информацию (например, один или несколько термов или слов поискового запроса) в компьютер 110 через устройства ввода, например, клавиатуру 162 и указательное устройство 161, обычно называемое мышью, трекболом или сенсорной панелью. Другие устройства ввода (не изображены) могут включать в себя микрофон, джойстик, игровой планшет, спутниковую тарелку, сканер или подобное. Указанные и другие устройства ввода часто соединяют с блоком 120 обработки через пользовательский интерфейс 160 ввода, который подключен к системной шине 121, но они могут быть подсоединены через другой интерфейс и другие шинные структуры, например, через параллельный порт, игровой порт или универсальную последовательную шину (USB). Монитор 191 или другой тип дисплея (например, для предоставления результатов поиска пользователю для просмотра) также подключен к системной шине 121 через интерфейс, например, видеоинтерфейс 190. Кроме монитора 191, компьютер 110 также может содержать другие периферийные устройства вывода, например, громкоговорители 197 и принтер 196, которые могут быть подсоединены через интерфейс 195 внешнего периферийного устройства вывода.

С использованием логических соединений с одним или большим количеством удаленных компьютеров, например, с удаленным компьютером 180, компьютер 110 может работать в сетевой среде. Удаленный компьютер 180 может быть персональным компьютером, сервером, маршрутизатором, сетевым PC, одноранговым устройством сети или другим обычным узлом сети и обычно содержит многие или все из описанных выше элементов компьютера 110, хотя на фиг.2 было изображено только запоминающее устройство 181. Логические соединения, изображенные на фиг.2, включают в себя локальную сеть (LAN) 171 и глобальную сеть (WAN) 173, но могут также содержать другие сети. Такие сетевые среды обычны для офисов, корпоративных вычислительных сетей, интрасетей и Интернета.

При использовании компьютера 110 в сетевой среде LAN его соединяют с LAN 171 через сетевой интерфейс или адаптер 170. Если компьютер 110 используют в сетевой среде WAN, то он обычно содержит модем 172 или другие средства для установления связи через WAN 173, например через Интернет. Модем 172, который может быть внутренним или внешним, может быть соединен с системной шиной 121 через пользовательский интерфейс 160 ввода или другой соответствующий механизм. В сетевой среде изображенные программные модули компьютера 110 или их части могут храниться на удаленном запоминающем устройстве. В качестве примера на фиг.2, например, изображены удаленные прикладные программы 185 как находящиеся на запоминающем устройстве 181. Будет понятно, что изображенные сетевые соединения являются иллюстративными и могут быть использованы другие средства установления линии связи между компьютерами.

Способы и процедуры, раскрытые в этом документе, могут быть реализованы с использованием одной или нескольких прикладных программ, в том числе, например, серверного системного программного обеспечения (например, приложения программного обеспечения WINDOWS SERVER SYSTEM™), поискового ранжирующего приложения и приложения для формирования, поддержки и хранения данных использования документов в пределах сетевого пространства (например, приложения услуг WINDOWS® SHAREPOINT® Services), любое из которых может быть одной из множества прикладных программ, обозначенных как прикладные программы 135, прикладные программы 145 и удаленные прикладные программы 185 в иллюстративной системе 100.

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

Реализация иллюстративных вариантов осуществления

Как упоминалось выше, предоставлены способы ранжирования документов в сети, использующие классификатор запроса с инкрементным обновлением. Раскрытые способы ранжирования документов в сети используют модифицированную наивную байесовскую модель, описанную ниже.

Правило Байеса гласит, что вероятность A при условии B, P(A|B) связана с вероятностью B при условии A, P(B|A) и может быть выражена отношением

P(A|B)P(B) = P(B|A)P(A)

Если B состоит из множества "признаков" {f1...fN}, то наивная байесовская аппроксимация приводит к

В раскрытых способах ранжирования документов модель классификатора запроса использует аналогичную формулу, которая предсказывает появление "Ресурса" ("Asset") (например, выбранного документа или "хита") при условии поискового "Запроса" ("Query"), где признаки являются термами или словами в поисковом запросе. Модель классификатора запроса, используемая в этом документе, выражается формулой

где

Asset - возвращаемые ресурс или задача (например, документ),

Query - запрос пользователя, содержащий один или несколько термов поискового запроса,

NQ - количество термов в поисковом запросе,

V-NQ - количество термов, отсутствующих в поисковом запросе, где V - размер словаря,

P(wi∈Q|Asset) - вероятность присутствия терма в поисковом запросе и

P(wi∉Q|Asset) - вероятность отсутствия терма в поисковом запросе.

При взятии логарифма от обеих сторон, формула принимает вид

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

Так как вероятность отсутствия слова в данном поисковом запросе равна 1 минус вероятность присутствия слова в данном поисковом запросе, то формула принимает вид

С раскрытием каждого терма с использованием следующих уравнений

формула принимает вид

где

#(Asset) - количество раз, которое данный "Ресурс" ("Asset") (например, данный документ в сети) выбирается для просмотра любым пользователем,

#(T) - общее количество поисковых запросов, которые были зарегистрированы системой, и

#(wi, Asset) - количество раз, которое данный "Ресурс" ("Asset") (например, данный документ в сети) и терм поискового запроса, wi, из поискового запроса были сопоставлены любым пользователем.

При использовании аппроксимации рядом Тейлора для log(1-x)

аппроксимация первого порядка равна просто -x. Следовательно, с использованием аппроксимации первого порядка

и сумма принимает вид

Формула модели классификатора запроса, используемой в настоящее время в этом документе, принимает вид

где

∑#(wi, Asset) - сумма количества раз, которое данный "Ресурс" ("Asset") (например, данный документ в сети) и какой-либо терм поискового запроса, wi, из поискового запроса были сопоставлены любым пользователем.

Зная значения термов #(Asset), #(wi, Asset) и ∑#(wi, Asset) для каждого ресурса и каждой комбинации поисковый запрос/ресурс, можно вычислить значения log[#(Asset)] и log[#(wi, Asset)] и можно использовать вышеупомянутую формулу (I) для обеспечения оценок релевантности документов (т.е. вероятностей выборки данного ресурса или документа на основе данного поискового запроса) для документов в пределах сетевого пространства.

Как упоминалось выше, фактическое использование или данные реакции пользователя (например, значения термов #(Asset) и #(wi, Asset)) могут быть получены из одного или нескольких файлов, в которых хранятся данные фактического использования для одного или нескольких документов в сети. Данные фактического использования могут сохраняться вместе с документом как компонент документа или могут сохраняться в файле хранения данных отдельно от фактического документа. Выборку и хранение данных можно выполнять с использованием любого известного способа, в том числе, например, вызовов web-службы, систем языка структурированных запросов (SQL) и т.д. Например, можно использовать удаленную систему хранения для хранения данных фактического использования, в том числе, например, количество запросов к каждому документу в данной сети по всем пользователям.

На фиг.3A-3B представлена логическая блок-схема, изображающая иллюстративные этапы в иллюстративном способе создания ранжированных результатов поиска в ответ на поисковый запрос, введенный пользователем, причем этот способ использует данные реакции пользователя в системе с инкрементным обновлением. Как показано на фиг.3, иллюстративный способ 30 начинается с этапа 201 и переходит к этапу 202, на котором пользователь вводит поисковый запрос, например, отдельное слово или строку слов или термов. От этапа 202 иллюстративный способ 30 переходит к этапу 203, на котором компонент(ы) поискового запроса "разбиваются на лексемы." Как используется в этом документе, термин "разбитый на лексемы" относится к процедуре, в которой блок разбиения на слова используется для создания списка "лексем" из строки слов или термов. Например, поисковый запрос "печать проблемы цвет" разбивается на лексемы для формирования набора лексем/компонентов поискового запроса {"печать", "проблемы", "цвет"}. Каждая "лексема" в списке представляет каждый компонент поискового запроса wi, используемый в формуле классификатора запроса, описанной выше.

От этапа 203 иллюстративный способ 30 переходит к этапу 205, на котором предварительно вычисленные, сохраненные значения #(wi, Asset) и log[#(wi, Asset)] извлекаются из базы данных для каждого компонента запроса, wi (например, "печать", "проблемы" и "цвет"). От этапа 205, иллюстративный способ 30 переходит к этапу 208, на котором предварительно вычисленные, сохраненные значения #(Asset), log[#(Asset)] и ∑#(wi, Asset) извлекаются из базы данных хранения данных. От этапа 208 иллюстративный способ 30 переходит к этапу 209, на котором данные использования из этапов 205 и 208, а именно (1) значения #(wi, Asset) и log[#(wi, Asset)] для каждой комбинации терм/ресурс запроса и (2) значения #(Asset), log[#(Asset)] и ∑#(wi, Asset) для каждого ресурса используются в формуле (I), предоставленной выше, для определения релевантности документа каждого документа в сетевом пространстве относительно поискового запроса.

От этапа 209 иллюстративный способ 30 переходит к этапу 210, изображенному на фиг.3B, на котором все документы ранжируются в порядке убывания релевантности. Иллюстративный способ 30 далее переходит к этапу 211, на котором, по меньшей мере, часть результатов поиска выводится на экран пользователя. От этапа 211 иллюстративный способ 30 переходит к этапу 212, на котором пользователь выбирает (например, щелкает мышью) данный результат поиска (например, ресурс) для просмотра.

После выбора конкретного документа или результата поиска (например ресурса) для просмотра, иллюстративный способ 30 переходит к этапу 213, на котором значение подсчета #(Asset), #(wi, Asset) и Σ#(wi, Asset) обновляются для отражения реакции пользователя. Следует отметить, что процедура обновления значений подсчета #(Asset), #(wi, Asset) и ∑#(wi, Asset) может происходить в любое время после выбора пользователем данного результата поиска (например ресурса). Например, значения подсчета могут обновляться сразу или в некоторый момент времени после фактического выбора данного результата поиска. Значения подсчета могут обновляться, например, каждый час или один раз в 24 часа. Если значения не обновляются сразу, то в течение данного периода времени (например, в течение 24 часов) ведется регистрационный журнал для временного хранения данных реакции пользователя за время этого периода. В конце каждого периода времени используется код приложения для обновления каждого значения подсчета.

От этапа 213 иллюстративный способ 30 переходит к этапу 214, на котором вычисляются значения log[#(Asset)] и log[#(wi, Asset)]. От этапа 214 иллюстративный способ 30 переходит к этапу 215, на котором обновленные значения из этапов 213 и 214 (т.е., #(Asset), #(wi, Asset), ∑#(wi, Asset), log[#(Asset)] и log[#(wi, Asset)]) сохраняются в базе данных, заменяя ранее сохраненные значения.

От этапа 215 иллюстративный способ 30 переходит к этапу 216 принятия решения, на котором пользователь принимает решение, просматривать ли другие результаты поиска, предоставленные на этапе 211. Если пользователь принимает решение просмотреть другие результаты поиска, предоставленные на этапе 211, то иллюстративный способ 30 переходит к этапу 216, на котором пользователь возвращается к результатам поиска, предоставленным на этапе 211. От этапа 217 иллюстративный способ 30 возвращается к этапу 212 и выполняется, как описано выше.

Возвращаясь к этапу 216 принятия решения, если на этапе 216 принятия решения пользователь принимает решение не просматривать другие результаты поиска, предоставленные на этапе 211, то иллюстративный способ 30 переходит к этапу 218 принятия решения. На этапе 218 принятия решения пользователь принимает решение, выполнять ли новый поиск. Если пользователь принимает решение выполнять новый поиск, то иллюстративный способ 30 переходит к этапу 219, на котором иллюстративный способ 30 возвращается к этапу 202 и выполняется, как описано выше. Если на этапе 216 принятия решения пользователь принимает решение не выполнять новый поиск, то иллюстративный способ 30 переходит к этапу 220, на котором иллюстративный способ 30 заканчивается.

Вышеописанный способ предоставления ранжированных результатов поиска пользователю в системе с инкрементным обновлением может также содержать компонент временного затухания, в котором более недавним данным запрос/ресурс дается больший вес при вычислении значений #(Asset), #(wi, Asset), ∑[#(wi, Asset)], log[#(Asset)] и log[#(wi, Asset)] по сравнению с более старыми данными запрос/ресурс. Например, терм запроса "троян" мог означать нечто совсем другое 2000 лет назад в отличие от того, что этот терм означал несколько лет назад, когда спортивная команда под названием "Троян" выиграла футбольный титул колледжа, и что этот терм означал недавно, когда вирус "Троянский конь" появился как компьютерный вирус. Наличие компонента временного затухания в раскрытых способах обеспечивает смещение к более недавним предпочтениям пользователей, а также к более поздним событиям.

При использовании компонента временного затухания, для взвешивания более поздних событий используется больший весовой коэффициент, чем для взвешивания ранних событий. Иллюстративный весовой множитель содержит λt, причем λ является числом, меньшим 1,0, и t является целым числом, представляющим возраст запроса и/или компонента значения подсчета ресурса (например, t может представлять данный 24-часовой период так, что t=0 представляет последний 24-часовой период, t=1 представляет предыдущий 24-часовой период, t=2 представляет 24-часовой период, предшествующий 24-часовому периоду при t=1, и т.д.). Вышеописанные значения подсчета, используемые в формуле (I), могут быть установлены равными следующим значениям

В каждом из вышеупомянутых значений подсчета, по мере увеличения t (т.е., увеличения возраста запроса и/или компонента ресурса), значение λt уменьшается, в результате чего более старым компонентам данного значения подсчета дается меньший вес, чем более новым компонентам значения подсчета. Например, в иллюстративном варианте осуществления, в котором частота является 24-часовым периодом, совершенно новым запросам (т.е. запросам за последний 24-часовой период) дается вес 1, в то время как запросу однодневной давности (т.е. запросам за предыдущий 24-часовой период) дается вес λ, а запросу 100-дневной давности дается вес λ100. С установкой λ в значение, например, 0,995 в вышеупомянутой модели, вес данного запроса постепенно уменьшается за двухлетний период.

Для обновления значений подсчета в конце данного периода времени (например, в конце 24-часового периода), значения подсчета просто должны быть пересчитаны следующим образом

где

#(Asset)(new), #(wi, Asset)(new) и ∑#(wi, Asset)(new) представляют значения с инкрементным обновлением для подсчетов #(Asset), #(wi, Asset) и ∑#(wi, Asset) соответственно,

#(Assef)(0), #(wi, Asset)(0) и ∑#(wi, Asset)(0) представляют количество событий за последний период времени (например, последний 24-часовой период) для подсчетов #(Asset), #(wi, Asset) и ∑#(wi, Asset) соответственно, и

#(Asset)(old), #(wi, Asset)(old) и ∑#(wi, Asset)(old) представляют совокупные значения подсчета до последнего периода времени (например, значения подсчета более 24-часовой давности), для подсчетов #(Asset), #(wi, Asset) и ∑#(wi, Asset) соответственно. Такой способ, использующий модель временного затухания с инкрементным обновлением, описан далее со ссылкой на фиг.4A-4B.

Как изображено на фиг.4A, иллюстративный способ 40 начинается с начального этапа 301 и переходит к этапу 302, на котором пользователь выбирает весовой коэффициент λt, причем λ является числом, меньшим 1,0, и t является целым числом, представляющим возраст запроса и/или компонента значения подсчета ресурса. От этапа 302 иллюстративный способ 40 переходит к этапу 303, на котором пользователь выбирает частоту, с которой обновляются все значения подсчета #(Asset), #(wi, Asset) и ∑#(wi, Asset). Как правило, все значения подсчета обновляются один раз в течение 24-часового периода (т.е. каждая единица времени, представляемая t, является 24-часовым периодом времени), однако пользователь может выбрать любую требуемую частоту, например, обновление значения подсчета каждый час (т.е. каждая единица времени, представляемая t, является одним часом).

От этапа 303 иллюстративный способ 40 переходит к этапу 305, на котором контролируются время и дата для датирования данного запроса и реакции пользователя. От этапа 305 иллюстративный способ 40 переходит к этапу 306, на котором значения подсчета инкрементно обновляются (например, обновляются в конце данного периода частоты), как описано выше. На этом этапе все, что требуется для инкрементного обновления каждого значения подсчета, - это добавить новые данные комбинации запрос/ресурс (т.е. данные #(Asset)(0), #(wi, Asset)(0) и ∑#(wi, Asset)(0)) с весом 1,0 к ранее сохраненному значению подсчета (т.е., #(Asset)(old), #(wi, Asset)(old) и ∑#(wi, Asset)(old)), затухающего со временем посредством множителя λ. Как упоминалось выше, обновленные значения подсчета равны:

От этапа 306 иллюстративный способ 40 переходит к этапу 307, на котором вычисляются значения log[#(Asset)] и log[#(wi, Asset), и все обновленные значения сохраняются в базе данных. От этапа 307 иллюстративный способ 40 переходит к этапу 308 принятия решения, как изображено на фиг.4B, на котором пользователь принимает решение, выполнять ли поиск. Если на этапе 308 принятия решения пользователь принимает решение выполнить поиск, то иллюстративный способ 40 переходит к этапу 318, на котором выполняются вышеописанные этапы 202 по 211 иллюстративного способа 30 (изображенного на фиг.3A-3B). От этапа 318, иллюстративный способ 40 переходит к этапу 309, на котором пользователь выбирает (например, щелкает мышью) данный результат поиска (например, ресурс) для просмотра.

После выбора конкретного документа или результата поиска (например, ресурса) для просмотра иллюстративный способ 40 переходит к этапу 310, на котором значения #(Asset)(0), #(wi, Asset)(0) и Σ#(wi, Asset)(0) обновляются для отражения реакции пользователя. Значения #(Asset)(0), #(wi, Asset)(0) и Σ#(wi, Asset)(0) временно сохраняются до конца периода частоты (например, конца 24-часового периода). Как упоминалось выше, упомянутый период частоты может быть любым требуемым отрезком времени, но, как правило, является 24-часовым периодом. В конце каждого периода времени для обновления каждого значения подсчета #(Asset), #(wi, Asset) и ∑#(wi, Asset) используется код приложения для предоставления значений подсчета #(Asset)(new), #(wi, Asset)(new) и ∑#(wi, Asset)(new) с инкрементным обновлением, как описано на этапе 306.

От этапа 310 иллюстративный способ 40 переходит к этапу 311 принятия решения, на котором пользователь принимает решение, рассматривать ли другие результаты поиска, предоставленные в 318 (т.е. на этапе 211 иллюстративного способа 30, который является компонентом этапа 318 иллюстративного способа 40). Если пользователь принимает решение просмотреть другие результаты поиска, обеспеченные на этапе 318, то иллюстративный способ 40 переходит к этапу 312, на котором пользователь возвращается к результатам поиска, обеспеченным на этапе 318. От этапа 312 иллюстративный способ 40 возвращается к этапу 309 и выполняется, как описано выше.

Возвращаясь к этапу 311 принятия решения, если на этапе 311 принятия решения пользователь принимает решение не просматривать другие результаты поиска, обеспеченные на этапе 318, то иллюстративный способ 40 переходит к этапу 313 принятия решения. На этапе 313 принятия решения пользователь принимает решение, выполнять ли новый поиск. Если пользователь принимает решение выполнять новый поиск, то иллюстративный способ 40 переходит к этапу 314, на котором иллюстративный способ 40 возвращается к этапу 318 и выполняется, как описано выше. Если на этапе 313 принятия решения пользователь принимает решение не выполнять новый поиск, то иллюстративный способ 40 переходит к этапу 315 принятия решения, на котором кодом приложения принимается решение, на основе выбранной частоты на этапе 303, требуется ли обновлять значения подсчета, #(Asset), #(wi, Asset) и ∑#(wi, Asset). Если кодом приложения принято решение, что значения подсчета должны быть обновлены (т.е. период времени частоты закончился), то иллюстративный способ 40 возвращается к этапу 306 и выполняется, как описано выше. Если на этапе 315 принятия решения кодом приложения принято решение, что значения подсчета не должны быть обновлены, то иллюстративный способ 40 возвращается к этапу 308 и выполняется, как описано выше.

Возвращаясь к этапу 308 принятия решения, если на этапе 308 принятия решения пользователь принимает решение не выполнять поиск, то иллюстративный способ 40 переходит к этапу 319, на котором иллюстративный способ 40 возвращается к этапу 315 принятия решения и выполняется, как описано выше.

Вышеописанные способы ранжирования документов в ответ на поисковый запрос с использованием системы с инкрементным обновлением с компонентом временного затухания или без него могут использоваться одни или в комбинации с другими компонентами функции ранжирования для предоставления ранжированных результатов поиска пользователю. При использовании в комбинации с другими компонентами функции ранжирования может использоваться любой известный компонент или компоненты функции ранжирования. Известные компоненты функции ранжирования могут включать в себя, например, (i) компонент функции ранжирования со взвешиванием поля, описанный в американской патентной заявке серийный № 10/804,326, озаглавленной "FIELD WEIGHTING IN TEXT DOCUMENT SEARCHING", поданной 18 марта 2004 г., предмет которой полностью включен в этот документ по ссылке, (ii) компонент функции ранжирования по количеству щелчков мышью, раскрытый в американской патентной заявке серийный номер 10/955,983, озаглавленной "SYSTEM AND METHOD FOR RANKING SEARCH RESULTS USING CLICK DISTANCE", поданной 30 августа 2004 г., предмет которой полностью включен в этот документ по ссылке, (iii) смещенный компонент функции ранжирования по количеству щелчков мышью, раскрытый в американской патентной заявке серийный номер 11/206,286, озаглавленной "RANKING FUNCTIONS USING A BIASED CLICK DISTANCE OF A DOCUMENT ON A NETWORK", поданной 15 августа 2005 г., предмет которой полностью включен в этот документ по ссылке, (iv) глубину URL документа или (v) любую комбинацию с (i) по (iv).

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

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

1. Машиночитаемый носитель информации, на котором сохранены машиноисполняемые команды, которые при их исполнении компьютером предписывают компьютеру:
ранжировать документы в сети в ответ на введенный пользователем поисковый запрос, содержащий один или несколько термов поискового запроса, используя классификатор запроса с инкрементным обновлением на основе данных использования;
отображать пользователю документы, ранжированные посредством упомянутого классификатора запроса на основе данных использования, содержащих заранее вычисленные значения #(wi, Asset) и log[#(wi, Asset)], сохраненные для каждого из термов поискового запроса, и заранее вычисленные значения #(Asset), log[#(Asset)] и Σ#(wi, Asset), сохраненные для каждого из документов;
обновлять данные использования в ответ на выбор пользователем документа для просмотра путем:
обновления значений подсчета #(Asset), #(wi, Asset) и Σ#(wi, Asset),
вычисления значений log[#(Asset)] и log[#(wi, Asset)],
сохранения обновленных данных использования, замещая упомянутые заранее вычисленные значения,
причем #(Asset) представляет количество раз, которое заданный документ в сети был выбран для просмотра,
log[#(Asset)] представляет логарифм #(Asset),
#(wi, Asset) представляет количество раз, которое было найдено соответствие между заданным документом в сети и термом поискового запроса, wi, из поискового запроса,
log[#(wi, Asset)] представляет логарифм #(wi, Asset) и
Σ#(wi, Asset) представляет сумму количества раз, которое было найдено соответствие между заданным документом в сети и термом поискового запроса, wi, из поискового запроса.

2. Машиночитаемый носитель информации по п.1, причем каждый документ в сети ранжируется на основе его релевантности поисковому запросу, и предоставляется оценка релевантности документа с использованием формулы (I):

где P(Asset|Query) представляет вероятность возвращения заданного документа. Asset, при условии конкретного введенного пользователем поискового запроса, Query,
NQ - количество термов в поисковом запросе,
V - размер словаря сети и
#(Т) - общее количество поисковых запросов, которые были обработаны.

3. Машиночитаемый носитель информации по п.1, причем классификатор запроса с инкрементным обновлением обновляется в конце каждого периода времени, причем упомянутый период времени равен по продолжительности 24 ч или меньше чем 24 ч.

4. Машиночитаемый носитель информации по п.3, причем обновление значений подсчета #(Asset), #(wi, Asset) и Σ#(wi, Asset) содержит добавление новых данных, которые были собраны в течение упомянутого периода времени, к ранее сохраненным значениям подсчета #(Asset)(old), #(wi, Asset)(old) и Σ#(wi, Asset)(old).

5. Машиночитаемый носитель информации по п.1, причем классификатор запроса с инкрементным обновлением также содержит компонент временнóго затухания, причем поздним поисковым запросам и реакциям пользователя дается больший вес, чем ранним поисковым запросам и реакциям пользователя.

6. Машиночитаемый носитель информации по п.1, причем:



где λ - весовой множитель со значением меньше 1,0, и
t - целое число, представляющее возраст компонента значения подсчета.

7. Машиночитаемый носитель информации по п.6, причем обновление значений подсчета #(Asset), #(wi, Asset) и Σ#(wi, Asset) содержит пересчет #(Asset), #(wi, Asset) и Σ#(wi, Asset) следующим образом:
#(Asset)(new)=#(Asset)(0)+λ[#(Asset)(old)],
#(wi, Asset)(new)=#(wi, Asset)(0)+λ#(wi, Asset(old)], и
Σ#(wi, Asset)(new)=Σ#(wi, Asset)(0)+λ[Σ#(wi, Asset)(old)],
где #(Asset)(new), #(wi, Asset)(new) и Σ#(wi, Asset)(new) каждый независимо представляют инкрементно обновленные значения для значений подсчета #(Asset), #(wi, Asset) и Σ#(wi, Asset) соответственно,
#(Asset)(0), #(wi, Asset)(0) и Σ#(wi, Asset)(0) каждый независимо представляют количество возникновений в пределах последнего периода времени соответственно, и
#(Asset)(old), #(wi, Asset)(old) и Σ#(wi, Asset)(old) каждый независимо представляют совокупные значения подсчета до последнего периода соответственно.

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

9. Компьютерная система, содержащая машиночитаемый носитель информации по п.1 и исполняющая сохраненные на нем машиноисполняемые команды.

10. Компьютерно-реализуемый способ инкрементного обновления компонента классификатора запроса в поисковой машине компьютера, содержащий этапы, на которых:
определяют значения подсчета #(Asset), #(wi, Asset) и Σ#(wi, Asset), причем #(Asset) представляет количество раз, которое заданный документ в сети выбран для просмотра, #(wi, Asset) представляет количество раз, которое было найдено соответствие между заданным документом в сети и термом поискового запроса, wi, из поискового запроса, и Σ#(wi, Asset) представляет сумму количества раз, которое было найдено соответствие между заданным документом в сети и термом поискового запроса, wi, из поискового запроса;
вычисляют значения log[#(Asset)] и log[#(wi, Asset)], причем log[#(Asset)] представляет логарифм #(Asset) и log[#(wi, Asset)] представляет логарифм #(wi, Asset);
сохраняют значения подсчета #(Asset), #(wi, Asset) и Σ#(wi, Asset) и вычисленные значения log[#(Asset)] и log[#(wi, Asset)] в базе данных компьютера, при этом значения #(wi, Asset) и log[#(wi, Asset)] сохраняются для термов поискового запроса, а значения #(Asset), log[#(Asset)] и Σ#(wi, Asset) сохраняются для документов;
отображают одному или более пользователям документы, ранжированные посредством упомянутого классификатора запроса на основе ранее сохраненных значений подсчета и вычисленных значений, в ответ на вводимые пользователями поисковые запросы, принимаемые поисковой машиной компьютера;
в течение периода времени получают реакции от этих одного или более пользователей, выбирающих документы для просмотра; и
обновляют сохраненные значения подсчета и вычисленные значения путем добавления новых данных, собранных в течение упомянутого периода времени, к ранее сохраненным значениям подсчета #(Asset), #(wi, Asset) и Σ#(wi, Asset) и вычисленным значениям log[#(Asset)] и log[#(wi, Asset)].

11. Способ по п.10, в котором упомянутый период времени равен по продолжительности 24 ч или меньше чем 24 ч.

12. Способ по п.10, в котором при обновлении хранимых значений подсчета #(Asset), #(wi, Asset) и Σ#(wi, Asset) выполняют пересчет #(Asset), #(wi, Asset) и Σ#(wi, Asset) следующим образом:
#(Asset)(new)=#(Asset)(0)+λ[#(Asset)(old)],
#(wi, Asset)(new)=#(wi, Asset)(0)+λ#(wi, Asset(old)], и
Σ#(wi, Asset)(new)=Σ#(wi, Asset)(0)+λ[Σ#(wi, Asset)(old)],
где #(Asset)(new), #(wi, Asset)(new) и Σ#(wi, Asset)(new) представляют инкрементно обновленные значения для значений подсчета #(Asset), #(wi, Asset) и Σ#(wi, Asset) соответственно,
#(Asset)(0), #(wi, Asset)(0) и Σ#(wi, Asset)(0) представляют количество возникновений в пределах последнего периода времени соответственно,
#(Asset)(old), #(wi, Asset)(old) и Σ#(wi, Asset)(old) каждый независимо представляют совокупные значения подсчета до последнего периода соответственно, и
λ является весовым коэффициентом.

13. Способ по п.12, в котором λ имеет значение меньше 1,0.

14. Способ по п.10, дополнительно содержащий этап, на котором определяют оценку релевантности документа для документа в сети относительно введенного пользователем поискового запроса.

15. Способ по п.14, в котором оценка релевантности документа определяется с использованием формулы (I):

где P(Asset|Query) представляет вероятность возвращения заданного документа, Asset, при условии конкретного введенного пользователем поискового запроса, Query,
NQ - количество термов в поисковом запросе,
V - размер словаря сети, и
#(Т) - общее количество поисковых запросов, которые были обработаны.

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

17. Машиночитаемый носитель информации, на котором сохранены машиноисполняемые команды, которые при их исполнении компьютером предписывают компьютеру выполнять способ по п.10.



 

Похожие патенты:

Изобретение относится к семантической навигации по множеству документов. .

Изобретение относится к компьютерной системе, которая обеспечивает представление данных пользователю. .

Изобретение относится к области доступа к данным. .

Изобретение относится к области извлечения сводки содержимого множества изображений. .

Изобретение относится к аннотированию посредством поиска. .

Изобретение относится к способам, компьютерным программным продуктам, информационным серверам, источникам информации и системам, представленным в контексте извлечения информации из источников информации.

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

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

Изобретение относится к средствам отображения аудиовизуальной информации

Изобретение относится к созданию журнала встреч с цифровым медиа контентом

Изобретение относится к способу выполнения запросов к базам данных

Изобретение относится к области технической кибернетики и предназначено для обмена между базами данных системы с исключением повторной записи уже имеющихся данных

Изобретение относится к вычислительной технике

Изобретение относится к области распределенных файловых систем для хранилищ данных большой емкости

Изобретение относится к вычислительной технике, в частности к автоматизированной системе учета и контроля выдачи военнослужащим стрелкового оружия
Наверх