усовершенствованные системы и способы ранжирования документов на основании структурно взаимосвязанной информации
Классы МПК: | G06F1/00 Конструктивные элементы вычислительных машин и устройств для обработки данных, не отнесенные к группам 3/00 |
Автор(ы): | НАЙОРК Марк А. (US) |
Патентообладатель(и): | МАЙКРОСОФТ КОРПОРЕЙШН (US) |
Приоритеты: |
подача заявки:
2004-09-15 публикация патента:
20.09.2009 |
Изобретение относится к системе и способу ранжирования Web-страниц на основании информации гиперссылок. Техническим результатом является повышение точности ранжирования Web-страниц. Документ располагается на Web-сервере из множества Web-серверов, причем документ имеет по меньшей мере одну обратную ссылку от по меньшей мере одного исходного документа из множества структурно связанных документов. Web-сервер содержит множество документов или Web-страниц с одним и тем же символическим именем главного компьютера, и/или ассоциированных с одним и тем же доменом, и/или ассоциированных с одним и тем же IP адресом. Оценка для документа вычисляется пропорционально, по меньшей мере, одной оценке, ассоциированной с по меньшей мере одним из упомянутого по меньшей мере одного из исходных документов, и эта оценка вычисляется обратно пропорционально числу упомянутых по меньшей мере одного из исходных документов, расположенных на упомянутом Web-сервере. Ранжирование документа осуществляют на основе вычисленной оценки, и используют ранжирование при ответе на запросы к документу. 8 н. и 30 з.п. ф-лы, 14 ил.
![усовершенствованные системы и способы ранжирования документов на основании структурно взаимосвязанной информации, патент № 2367997](/images/patents/96/2367997/2367997-11.jpg)
![усовершенствованные системы и способы ранжирования документов на основании структурно взаимосвязанной информации, патент № 2367997](/images/patents/96/2367997/2367997-12.jpg)
![усовершенствованные системы и способы ранжирования документов на основании структурно взаимосвязанной информации, патент № 2367997](/images/patents/96/2367997/2367997-13.jpg)
![усовершенствованные системы и способы ранжирования документов на основании структурно взаимосвязанной информации, патент № 2367997](/images/patents/96/2367997/2367997-14.jpg)
![усовершенствованные системы и способы ранжирования документов на основании структурно взаимосвязанной информации, патент № 2367997](/images/patents/96/2367997/2367997-15.jpg)
![усовершенствованные системы и способы ранжирования документов на основании структурно взаимосвязанной информации, патент № 2367997](/images/patents/96/2367997/2367997-16.jpg)
![усовершенствованные системы и способы ранжирования документов на основании структурно взаимосвязанной информации, патент № 2367997](/images/patents/96/2367997/2367997-17.jpg)
![усовершенствованные системы и способы ранжирования документов на основании структурно взаимосвязанной информации, патент № 2367997](/images/patents/96/2367997/2367997-18.jpg)
![усовершенствованные системы и способы ранжирования документов на основании структурно взаимосвязанной информации, патент № 2367997](/images/patents/96/2367997/2367997-19.jpg)
![усовершенствованные системы и способы ранжирования документов на основании структурно взаимосвязанной информации, патент № 2367997](/images/patents/96/2367997/2367997-20.jpg)
![усовершенствованные системы и способы ранжирования документов на основании структурно взаимосвязанной информации, патент № 2367997](/images/patents/96/2367997/2367997-21.jpg)
![усовершенствованные системы и способы ранжирования документов на основании структурно взаимосвязанной информации, патент № 2367997](/images/patents/96/2367997/2367997-22.jpg)
![усовершенствованные системы и способы ранжирования документов на основании структурно взаимосвязанной информации, патент № 2367997](/images/patents/96/2367997/2367997-23.jpg)
![усовершенствованные системы и способы ранжирования документов на основании структурно взаимосвязанной информации, патент № 2367997](/images/patents/96/2367997/2367997-24.jpg)
Формула изобретения
1. Реализованный компьютером способ назначения оценки документу из множества структурно связанных документов для повышения точности ранжирования упомянутого документа в компьютерной среде, причем для каждого документа:
документ располагается на Web-сервере из множества Web-серверов;
документ имеет по меньшей мере одну обратную ссылку от по меньшей мере одного другого документа из упомянутого множества структурно связанных документов;
упомянутый Web-сервер определен по меньшей мере одним сервером, содержащим множество документов или Web-страниц с одним и тем же символическим именем главного компьютера, причем сервер содержит множество документов или Web-страниц, ассоциированных с одним и тем же доменом, и сервер имеет множество документов или Web-страниц, ассоциированных с одним и тем же IP адресом, и
вычисляют оценку для документа в обратной пропорции к числу документов, расположенных на упомянутом Web-сервере,
при этом способ дополнительно содержит этапы сохранения упомянутой оценки в памяти, ранжирования документа на основе вычисленной оценки, и использования упомянутого ранжирования при ответе на запросы к документу.
2. Способ по п.1, дополнительно включающий в себя этап: назначают оценку документу пропорционально числу упомянутых по меньшей мере одного из других документов.
3. Способ по п.1, дополнительно включающий в себя этап: назначают оценку пропорционально по меньшей мере одной оценке, назначенной по меньшей мере одному из упомянутых по меньшей мере одного из других документов.
4. Способ по п.1, дополнительно включающий в себя этап: назначают оценку пропорционально (А) числу упомянутых по меньшей мере одного из других документов и (В) по меньшей мере одной оценке, назначенной по меньшей мере одному из упомянутых по меньшей мере одного из других документов.
5. Способ по п.2, дополнительно включающий в себя этап: назначают оценку документу в обратной пропорции к числу внешних ссылок по меньшей мере одного из упомянутых по меньшей мере одного из других документов.
6. Способ по п.1, в котором упомянутое назначение включает в себя назначение оценки документу в обратной пропорции к числу документов, расположенных в том же самом домене, что и упомянутый документ.
7. Способ по п.1, в котором упомянутое назначение включает в себя назначение оценки документу в обратной пропорции к числу документов, имеющих то же самое символическое имя главного компьютера, что и упомянутый документ.
8. Способ по п.1, в котором упомянутое назначение включает в себя назначение оценки документу в обратной пропорции к числу документов, ассоциированных с тем же самым адресом Интернет-протокола (IP адресом), что и упомянутый документ.
9. Способ по п.1, дополнительно содержащий этап: назначают оценку документу на основании суммирования оценок по меньшей мере одного другого документа, связанного с упомянутым первым документом.
10. Способ по п.1, в котором множество структурно связанных документов является Web-страницами, имеющими гиперссылки, а документ является Web-страницей.
11. Способ по п.1, дополнительно включающий в себя выдачу оценки документа в компонент службы Web-поиска.
12. Способ по п.1, дополнительно включающий в себя назначение предпочтительному набору документов более высоких оценок, чем средняя минимальная оценка.
13. Способ по п.12, в котором набор предпочтительных документов основывается на по меньшей мере одном из: рейтингах Нильсена; рейтингах, назначенных людьми; шаблона использования Web-страниц, выделенных из журналов регистрации агентов- посредников поставщиков услуг Интернет; шаблонах использования Web-страниц, выделенных из поисковых машин; и документах, определенных согласно пользовательским предпочтениям.
14. Способ по п.1, дополнительно включающий в себя изменение оценки документа на основании второго метода оценивания.
15. Способ по п.1, дополнительно включающий в себя сравнение упомянутой оценки со вторым методом оценивания, чтобы обнаружить аномальные результаты.
16. Считываемый компьютером носитель, содержащий выполняемые компьютером модули, содержащие исполняемые компьютером команды интерфейса прикладного программирования для осуществления способа по п.1.
17. Система назначения оценки документу из множества структурно связанных документов для повышения точности ранжирования упомянутого документа в компьютерной среде, содержащая:
по меньшей мере один процессор;
по меньшей мере одну память, связанную с возможностью обмена с упомянутым по меньшей мере одним процессором, причем память имеет сохраненные в ней исполняемые компьютером команды для осуществления способа по п.1.
18. Реализованный компьютером способ назначения оценки документу из множества структурно связанных документов для повышения точности ранжирования упомянутого документа в компьютерной среде, причем для каждого документа:
документ располагается на Web-сервере из множества Web-серверов;
документ имеет по меньшей мере одну обратную ссылку от по меньшей мере одного исходного документа из множества структурно связанных документов,
упомянутый Web-сервер определен по меньшей мере одним сервером, содержащим множество документов или Web-страниц с одним и тем же символическим именем главного компьютера, при этом сервер содержит множество документов или Web-страниц, ассоциированных с одним и тем же доменом, и сервер имеет множество документов или Web-страниц, ассоциированных с одним и тем же IP адресом, и при этом оценка для документа вычисляется пропорционально по меньшей мере одной оценке, ассоциированной с по меньшей мере одним из упомянутого по меньшей мере одного из исходных документов, и эта оценка вычисляется обратно пропорционально числу упомянутых по меньшей мере одного из исходных документов, расположенных на упомянутом Web-сервере,
при этом способ дополнительно содержит этапы сохранения упомянутой оценки в памяти, ранжирования документа на основе вычисленной оценки, и использования упомянутого ранжирования при ответе на запросы к документу.
19. Способ по п.18, в котором оценка вычисляется обратно пропорционально числу упомянутых по меньшей мере одного из исходных документов, расположенных на том же самом Web-сервере.
20. Способ по п.19, в котором оценка вычисляется обратно пропорционально числу упомянутых по меньшей мере одного из исходных документов, имеющих одно и то же символическое имя главного компьютера.
21. Способ по п.19, в котором оценка вычисляется обратно пропорционально числу упомянутых по меньшей мере одного из исходных документов, связанных с одним и тем же доменом.
22. Способ по п.19, в котором оценка вычисляется обратно пропорционально числу упомянутых по меньшей мере одного из исходных документов, ассоциированных с одним и тем же адресом Интернет-протокола.
23. Способ по п.18, в котором множество структурно связанных документов являются Web-страницами, имеющими гиперссылки, а документ является Web-страницей.
24. Считываемый компьютером носитель, содержащий выполняемые компьютером модули, содержащие исполняемые компьютером команды интерфейса прикладного программирования для осуществления способа по п.19.
25. Система назначения оценки документу из множества структурно связанных документов для повышения точности ранжирования упомянутого документа в компьютерной среде, содержащая:
по меньшей мере один процессор;
по меньшей мере одну память, связанную с возможностью обмена с упомянутым по меньшей мере одним процессором, причем память имеет сохраненные в ней исполняемые компьютером команды для осуществления способа по п.19.
26. Система назначения оценки документу из множества структурно связанных документов для повышения точности ранжирования упомянутого документа в компьютерной среде, содержащая:
по меньшей мере один процессор;
по меньшей мере одну память, связанную с возможностью обмена с упомянутым по меньшей мере одним процессором, причем память имеет сохраненные в ней исполняемые компьютером команды для реализации:
интерфейса прикладного программирования для использования с поисковой машиной для запрашивания в базе данных информации Web-страниц и ассоциированных оценок на основании запроса, посредством чего результаты, извлекаемые из базы данных, упорядочиваются по оценкам, связанным с каждым результатом, при этом оценки отражают качество Web-страниц, удовлетворяющих упомянутому запросу; и
генерирования оценок, ассоциированных с информацией Web-страниц, при этом для Web-страницы, имеющей по меньшей мере одну обратную ссылку на по меньшей мере одну соответствующую исходную Web-страницу, оценивающий объект назначает оценку для этой Web-страницы пропорционально по меньшей мере одной оценке, ассоциированной с по меньшей мере одной из по меньшей мере одной соответствующей исходной Web-страницы, и при этом оценка вычисляется обратно пропорционально числу упомянутых по меньшей мере одной соответствующей исходной Web-страницы, расположенной на том же самом Web-сервере.
27. Система по п.26, в которой оценивающий объект работает независимо от запрашивающего механизма.
28. Система по п.26, в которой Web-сервер определяется на основании общего символического имени главного компьютера.
29. Система по п.26, в которой Web-сервер определяется на основании общего домена.
30. Система по п.26, в которой Web-сервер определяется на основании общего адреса Интернет-протокола (IP адрес).
31. Машиночитаемый носитель, содержащий исполняемые компьютером модули, содержащие исполняемые компьютером команды для назначения оценки документу из множества структурно связанных документов, причем документ располагается на Web-сервере и имеет по меньшей мере одну обратную ссылку из по меньшей мере одного другого документа из множества структурно связанных документов, при этом модули содержат средство для назначения оценки документу в обратной пропорции к числу документов, расположенных на упомянутом Web-сервере.
32. Машиночитаемый носитель по п.31, дополнительно включающий в себя средство для назначения оценки документу пропорционально числу упомянутых по меньшей мере одного из других документов.
33. Машиночитаемый носитель по п.31, дополнительно включающий в себя средство для назначения оценки пропорционально по меньшей мере одной оценке, назначенной по меньшей мере одному из упомянутых по меньшей мере одного из других документов.
34. Машиночитаемый носитель по п.31, дополнительно включающий в себя средство для назначения оценки пропорционально (А) числу упомянутых по меньшей мере одного из других документов, и (В) по меньшей мере одной оценке, назначенной по меньшей мере одному из упомянутых по меньшей мере одного из других документов.
35. Машиночитаемый носитель по п.32, дополнительно включающий в себя средство для назначения оценки документу в обратной пропорции к числу внешних ссылок по меньшей мере одного из упомянутых по меньшей мере одного из других документов.
36. Машиночитаемый носитель по п.31, в котором упомянутое средство для назначения включает в себя средство для назначения оценки документу в обратной пропорции к числу документов, расположенных на Web-сервере с тем же самым символическим именем, что и упомянутый документ.
37. Машиночитаемый носитель по п.31, в котором упомянутое средство для назначения включает в себя средство для назначения оценки документу в обратной пропорции к числу документов, расположенных в том же самом домене, что и упомянутый документ.
38. Машиночитаемый носитель по п.31, в котором упомянутое средство для назначения включает в себя средство для назначения оценки документу в обратной пропорции к числу документов, ассоциированных с тем же самым адресом Интернет- протокола, что и упомянутый документ.
Описание изобретения к патенту
Уведомление об авторском праве и разрешение на него
Часть описания данного патентного документа может содержать материалы, которые являются объектом защиты авторского права. Владелец авторского права не возражает против факсимильного воспроизведения кем-либо данного патентного документа или раскрытия патента, как это сделано в патентных файлах или записях Ведомства по патентам и товарным знакам США, но во всех остальных случаях оставляет все авторские права за собой при любым обстоятельствах. Для данного документа должно употребляться следующее уведомление: Все права защищены ©, Microsoft Corp.
Область техники
Данное изобретение относится к ранжированию документов на основании структурно взаимосвязанной информации. В частности, данное изобретение относится к ранжированию Web-страниц на основании информации по гиперссылкам способом, который является стойким к ссылкам на родственные или самообслуживающие ссылки.
Предшествующий уровень техники
Служба(-ы) Web-поиска принимает запрос, например, от пользователя или приложения и возвращает список результатов, например, документов или ссылок на документы, которые удовлетворяют этому запросу. Следует отметить, что термин «документ», как он используется здесь, относится к любому содержимому, которое может быть найдено, и не должен интерпретироваться как ограниченный лишь файлами, такими как документы текстовой обработки или Web-страницы. Чтобы обеспечить удовлетворительное впечатление, этот список результатов должен быть упорядочен с учетом того, что документы, которые являются наиболее релевантными для пользователя, должны стоять первыми. В настоящее время существует множество алгоритмов ранжирования документов, и большинство механизмов Web-поиска использует несколько таких алгоритмов и ранжирует результаты запроса на основании сочетания рангов, присвоенных различными алгоритмами ранжирования.
Множество существующих алгоритмов ранжирования может быть классифицировано на основании того, являются ли они зависящими от запроса (также называемыми «динамическими») или же не зависящими от запроса (также называемыми «статическими»). Зависящие от запроса алгоритмы ранжирования используют в запросе термины, тогда как не зависящие от запроса алгоритмы ранжирования их не используют; то есть, зависящие от запроса алгоритмы ранжирования присваивают качественную оценку каждому документу в Сети. Следовательно, не зависящие от запроса алгоритмы ранжирования могут, по преимуществу, использоваться заблаговременно и не требуют повторного применения, когда бы ни выполнялся запрос.
Алгоритмы ранжирования также могут быть в широком смысле классифицированы на алгоритмы ранжирования по содержимому, по использованию и по ссылкам. Алгоритмы ранжирования по содержимому используют слова в документе для ранжирования документа (например, зависящий от запроса алгоритм ранжирования по содержимому может давать высокие оценки документам, которые содержат термины запроса в начале документа или выделенные большим или жирным шрифтом). Алгоритмы ранжирования по использованию ранжируют Web-страницы на основании оценки того, как часто они просматриваются; такие оценки могут вырабатываться путем анализа записей в журналах регистрации Web-агентов либо путем наблюдения за посещениями сайтов на страницах результатов поисковых машин. Наконец, алгоритмы ранжирования по ссылкам используют для ранжирования Web-страниц гиперссылки между Web-страницами.
Например, очень простой статический алгоритм ранжирования по ссылкам может присваивать такую оценку каждой Web-странице, которая пропорциональна количеству ссылок, указывающих на эту страницу («обратные ссылки»), имея в виду, что ссылки с других страниц, ведущие на эту страницу, «подтверждают» эту страницу. Например, как показано на фиг. 1А, каждая Web-страница A, B, C и D имеет по три ссылки на другие Web-страницы («внешние ссылки»), как показано черными прямоугольниками внутри Web-страниц. В этом примере, используя статический алгоритм ранжирования по ссылкам, страница D получит более низкую количественную оценку, чем страница С, потому что страница D не имеет обратных ссылок, тогда как страница С имеет одну обратную ссылку L2 со страницы В и одну обратную ссылку L1 со страницы А. Отметим, что после загрузки страниц А, В, С и D определенно ясно, как много внешних ссылок имеет каждая из страниц, и куда ведут эти ссылки, поскольку страница может быть прочитана; но при этом может существовать и несколько неизвестных обратных ссылок, таких как обратная ссылка LU с некой пока не известной страницы, и такая ссылка не может быть включена в алгоритм. Основной недостаток этого простого подхода заключается в том, что каждое «подтверждение» трактуется наравне с остальными, что создает простую систему для злоупотреблений.
Алгоритм PageRank является наиболее известным не зависящим от запроса алгоритмом ранжирования по ссылкам, и, соответственно, здесь излагаются его принципы. PageRank создается на принципах простой статической системы на основании ссылок, показанной на фиг. 1А, путем добавления к этой системе рекурсивного уровня. На фиг. 1В показаны четыре Web-страницы и работа алгоритма PageRank. При использовании PageRank принимается во внимание оценка подтверждающей страницы, когда подтверждаемой странице присваивается оценка. Таким образом, вес подтверждения от Web-страницы Е (с оценкой 100) воздействует на оценку, даваемую Web-странице G, существенно сильнее, чем подтверждение от Web-страницы F (с оценкой 9). Интуитивно можно считать, что оценка подтверждающей страницы разделяется среди ее подтверждаемых страниц.
Математически работа алгоритма PageRank может быть объяснена следующим образом. Предположим, что набор известных Web-страниц и ссылок между ними создают граф с набором V вершин (где каждая вершина соответствует Web-странице) и набором Е ребер (где каждое ребро ( u, v) соответствует гиперссылке со страницы u на страницу v). Пусть |V| выражает размер набора V, пусть O(u) выражает выходную степень вершины u (то есть числа гиперссылок, включенных в Web-страницу u), и пусть р будет числом между 0 и 1 (например, 0,15). Таким образом, показатель PageRank R(v) Web-страницы v определяется как:
Формула показателя PageRank часто объясняется следующим образом. Представим посетителя Сети, который выполняет случайную «прогулку» по Сети. На каждом шагу прогулки человек перемещается от одной Web-страницы к другой, используя следующий алгоритм: с некоторой вероятностью р человек выбирает Web-страницу равномерно произвольным образом и переходит на нее; в противном случае человек выбирает одну из ведущих вовне гиперссылок на текущей странице равномерно произвольным образом и следует ей. По этой модели число р иногда называется «возможностью перехода» - возможностью того, что человек перейдет на совершенно произвольную страницу. Если перемещающийся по Сети человек переходит по страницам с вероятностью р и существует |V| Web-страниц, то вероятность перехода к конкретной странице равна p/|V|. Поскольку на каждую страницу можно попасть с помощью перехода, каждой странице гарантируется оценка, равная по меньшей мере p/|V |.
Оценки PageRank могут быть использованы для ранжирования результатов запроса. Вместе со всеми другими коэффициентами поисковая машина, использующая PageRank, будет ранжировать страницы с высокими оценками PageRank выше, чем страницы с более низкими оценками. Поскольку большинство пользователей поисковых машин рассматривают только первые несколько результатов, сотрудники коммерческих Web-сайтов обоснованно заинтересованы в том, чтобы ссылки на их сайты появлялись в списке результатов как можно выше, т.е. в том, чтобы их Web-страницы получали высокие оценки PageRank. Другими словами, сотрудники коммерческих Web-сайтов имеют стимул к искусственному увеличению оценок PageRank для страниц на своих Web-сайтах.
Из анализа формулы PageRank становится ясно, что одним путем увеличения оценки PageRank для Web-страницы v является наличие множества других страниц со ссылками на нее. Это происходит потому, что идея о способности Web-страниц подтверждать другие Web-страницы с помощью внешних ссылок является краеугольным камнем PageRank. Если все страницы, которые ссылаются на v, имеют низкие оценки PageRank, каждая отдельная страница привнесет очень немного, однако, поскольку каждой странице гарантировано, что она имеет оценку PageRank, равную p/|V|, то ссылки из большого количества таких низкокачественных ссылок могут давать вполне заметный итог. Это привносит уязвимость в алгоритм PageRank.
На практике уязвимость PageRank в корыстных целях используется теми Web-сайтами, которые содержат очень большое количество страниц, единственной целью которых является «подтверждение» их основной домашней страницы. Обычно такие подтверждающие страницы содержат ссылку на страницу, которую требуется подтвердить, и еще одну ссылку на другую подтверждающую страницу. Все подтверждающие страницы создаются автоматически в процессе работы. Таким образом, сетевой поисковый механизм, попавший на любую из подтверждающих страниц, продолжает скачивать еще больше подтверждающих страниц (поскольку в действительности подтверждающие страницы ссылаются на другие подтверждающие страницы), тем самым накапливая большое количество таких страниц. Такое большое количество страниц, все из которых подтверждают всего одну страницу, искусственно увеличивает оценку PageRank той страницы, которая подтверждается. Методы, используемые для искусственного увеличения оценок PageRank, принято называть «созданием ссылочного спама» или «ссылочным спамом».
Также известно, что персонализированные оценки PageRank могут создавать вид на Сеть из конкретной точки. Например, при анализе закладок пользователя и извлечении оценок PageRank тех страниц, которые помещены пользователем в закладки, достигается персонализированная система присвоения оценок PageRank. В сущности, пользователь, помечающий Web-страницу как закладку, неявным образом подтверждает Web-страницу как некую единицу, на основе которой пользователь хотел бы видеть систему присвоения оценок. Поскольку пользователь слишком редко выбирает «ссылочный спам» в качестве закладки, не говоря уж о многих страницах «ссылочного спама», идея персонализированного PageRank не полностью решает проблему создания ссылочного спама, поскольку в любом случае остается минимальная оценка, связанная с каждой Web-страницей ссылочного спама.
Таким образом, в нарушение озвученной базовой идеи результаты применения PageRank становятся объектом вмешательства из-за родственных ссылок, т.е. группа страниц может быть создана в целях самоподтверждения и рекламы, не принимая во внимание действительную выгоду подтверждающего и подтверждаемого. При том, что по отношению к оценкам PageRank существует проблема ссылочного спама, должное решение ускользнуло от существующего уровня техники.
Соответственно, существует необходимость в улучшенном не зависящем от запроса алгоритме ранжирования по ссылкам. Конкретнее, требуются улучшенные системы и способы ранжирования, чтобы существенно уменьшить эффект от родственных ссылок. Более того, требуются улучшенные системы и способы ранжирования, чтобы у создателя ссылочного спама не оставалось стимулов создавать группы самоподтверждающих Web-страниц в целях искусственного увеличения оценок PageRank, связанных с целевой(-ыми) подтверждаемой(-ыми) Web-страницей(-ами).
Сущность изобретения
Принимая во внимание изложенные выше недостатки предшествующего уровня техники, настоящее изобретение обеспечивает системы и способы ранжирования документов, основанные на информации о структурных взаимосвязях документов. Системы и способы по изобретению могут быть использованы для ранжирования Web-страниц по информации гиперссылок таким способом, который устойчив к родственным ссылкам. В различных вариантах выполнения изобретение воплощено в службе поиска по Сети для получения качественных результатов запроса. Настоящее изобретение решает проблему уязвимости существующих алгоритмов ранжирования, таких как PageRank, для Web-страниц, которые искусственно создаются для единственной цели увеличения оценки целевой(-ых) страницы(страниц). Интуитивно изобретение обнаруживает, что менее вероятно достичь конкретной страницы на Web-сервере со множеством страниц посредством случайного перехода, чем достичь конкретной страницы на Web-сервере с немногими страницами, что подразумевает, что минимизируется влияние такой страницы на другую страницу путем установки ссылки или подтверждения другой страницы. Таким образом, в различных неограничивающих вариантах выполнения изобретение присваивает гарантированную минимальную оценку каждому Web-серверу, а не каждой Web-странице. Эта минимальная оценка, присвоенная серверу, затем может быть разделена среди всех страниц на Web-сервере.
Другие преимущества и признаки изобретения описаны ниже.
Краткое описание чертежей
Системы и способы обеспечения усовершенствованных алгоритмов ранжирования в соответствии с настоящим изобретением описаны далее со ссылками на приложенные чертежи, на которых:
фиг. 1А и 1В иллюстрируют методы предшествующего уровня техники по ранжированию Web-страниц в соответствии со статическими алгоритмами по ссылкам и PageRank соответственно;
фиг. 2А является блок-схемой, представляющей примерную сетевую среду со множеством вычислительных устройств, в которой может быть воплощено настоящее изобретение;
фиг. 2В является блок-схемой, представляющей примерное неограничивающее вычислительное устройство, в котором может быть воплощено настоящее изобретение;
фиг. 3А-3G иллюстрируют интуитивные построения, стоящие за предотвращением ссылочного спама в соответствии с настоящим изобретением; и
фиг. 4А-4С иллюстрируют примерное воплощение различных вариантов выполнения настоящего изобретения в приложении поисковой машины.
Подробное описание изобретения
Обзор
Как упомянуто выше, алгоритм PageRank выполняет оригинальную задачу сокращения каждой страницы в Сети до единственного числа ее оценки PageRank. PageRank является глобальным ранжированием всех Web-страниц независимо от их содержимого на основании исключительно их положения в структуре графа Сети.
Используя PageRank, результаты поиска упорядочиваются так, что преимущество отдается самым важным и центральным Web-страницам. Механизм PageRank таков, что он использует информацию, которая является внешней для самих Web-страниц - обратные ссылки на них, которые обеспечивают в некотором смысле равный обзор. Более того, обратные ссылки с «важных» страниц рассматриваются как более значительные, чем обратные ссылки со средних ссылок по рекурсивному определению.
Также известно, что персонализированные оценки PageRank могут создавать вид на Сеть с конкретной точки, например, учитывая закладки пользователя и извлекая оценки PageRank тех страниц, которые помещены пользователем в закладки; однако персонализированный PageRank явно не решает проблему создания ссылочного спама, поскольку в любом случае остается минимальная оценка, связанная с каждой Web-страницей ссылочного спама. Соответственно, создатель ссылочного спама по-прежнему может создавать (если требуется, то автоматически) на одном Web-сервере множество Web-страниц, у каждой из которых имеется ее собственная минимальная оценка PageRank, что искусственно увеличивает оценку целевой подтверждаемой Web-страницы путем подтверждения каждой из этих страниц и целевой подтверждаемой Web-страницы. Во множестве Web-страниц, которые создает создатель ссылочного спама, обычно одна или более страниц а) будет иметь одно и то же символическое имя главного компьютера (хоста), б) будет связана с одним и тем же доменом или в) будет связана с одним и тем же IP адресом.
Изобретение устраняет эту уязвимость через понимание того, что менее вероятно достичь конкретной страницы на Web-сервере со множеством страниц через случайный переход, чем достичь конкретной страницы на Web-сервере с немногими страницами. Это подразумевает, что уменьшается влияние такой страницы на другую страницу путем установки ссылки или подтверждения другой страницы. Таким образом, в различных неограничивающих вариантах выполнения изобретение присваивает гарантированную минимальную количественную оценку каждому Web-серверу, а не каждой Web-странице. Эта минимальная оценка, присвоенная серверу, затем может быть разделена среди всех страниц на Web-сервере.
Примерные сетевые и распределенные среды
Специалист может оценить, что изобретение может быть воплощено совместно с компьютером или другим клиентским или серверным устройством, которые могут функционировать как часть компьютерной сети либо в распределенной сетевой среде. В этом отношении настоящее изобретение подходит к любой компьютерной системе или среде, имеющей произвольное количество блоков памяти или хранения и любое количество приложений и процессов, происходящих между любым количеством блоков или томов памяти, которые могут быть использованы вместе с процессами ранжирования документов в соответствии с настоящим изобретением. Настоящее изобретение может применяться к среде с серверными компьютерами и клиентскими компьютерами с удаленной или локальной памятью, функционирующими в сетевой среде или распределенной вычислительной среде. Настоящее изобретение также может быть применено к отдельным вычислительным устройствам, имеющим возможности по функционированию, интерпретации и выполнению языков программирования для выработки, приема и передачи информации вместе с удаленными и локальными устройствами. Загрузка и анализ Web-страниц в частности относится к тем вычислительным устройствам, которые работают в сети или в распределенной вычислительной среде, и таким образом алгоритмы и методы ранжирования в соответствии с настоящим изобретением могут быть применены с большей эффективностью именно в этих средах.
Распределенное вычисление обеспечивает совместное использование компьютерных ресурсов и услуг путем обмена между вычислительными устройствами и системами. Эти ресурсы и услуги включают в себя обмен информацией, хранение в кэше и хранение файлов на дисках. Распределенное вычисление имеет преимущество перед сетевой связностью, позволяя клиентам использовать коллективные усилия для получения выгод как от целого предприятия. В этом отношении множество устройств могут иметь приложения, объекты или ресурсы, которые могут заключать в себя алгоритмы и процессы ранжирования по изобретению.
Фиг. 2А является блок-схемой примерной сетевой или распределенной вычислительной среды. Распределенная вычислительная среда содержит вычислительные объекты 10а, 10b и т.д. и вычислительные объекты или устройства 110а, 110b и 110с и т.д. Эти объекты могут содержать программы, способы, хранилища данных, программируемую логику и т.д. Объекты могут содержать части одинаковых или различных устройств, таких как ПЦА (персональные цифровые ассистенты) (PDA), телевизоров, MP3-плейеров, персональных компьютеров и т.д. Каждый объект может связываться с другим объектом посредством сети 14 связи. Эта сеть может сама по себе содержать другие вычислительные объекты и вычислительные устройства, которые предоставляют услуги системе по фиг. 2А, и может сама по себе представлять собой множество взаимосвязанных сетей. В соответствии с одним аспектом изобретения каждый объект 10а, 10b и т.д. или 110а, 110b 110с и т.д. может содержать приложение, которое может использовать интерфейс прикладного программирования (API) или другие объекты, программное обеспечение, встроенные программы и/или аппаратное обеспечение, чтобы запрашивать использование процессов ранжирования в соответствии с изобретением.
Можно также оценить, что объект, такой как 110с, может находиться в другом вычислительном устройстве 10а, 10b и т.д. либо 110а, 110b и т.д. Таким образом, хотя изображенная физическая среда может показывать соединенные устройства как компьютеры, такая иллюстрация просто является примером, а физическая среда может быть альтернативно изображена или описана, как содержащая различные цифровые устройства, такие как ПЦА, телевизоры, МР3-плейеры и т.п., программные объекты, такие как интерфейсы, СОМ-объекты и т.п.
Существует множество систем, компонентов и сетевых конфигураций, которые поддерживают распределенные вычислительные среды. Например, вычислительные системы могут быть соединены друг с другом посредством проводных или беспроводных систем, локальными сетями или региональными (глобальными) сетями. В настоящее время множество сетей подключены к Интернет, что обеспечивает инфраструктуру для широко распространенных распределенных вычислений и охватывает множество различных сетей. Любая инфраструктура может быть использована для примерных связей, характерных для ранжирования документов, имеющих взаимосвязанные ссылки, в соответствии с настоящим изобретением.
В домашних сетевых средах существует по меньшей мере четыре несравнимые сетевые транспортные среды, каждая из которых поддерживает уникальный протокол - электрическая сеть, сеть данных (как проводная, так и беспроводная), речевая (например, телефонная) и развлекательные данные. Большинство бытовых управляющих устройств, таких как выключатели света и бытовые приборы, используют для соединения электрические сети. Услуги данных обычно попадают в дом через широкополосные среды (например, либо через DSL-модем, либо кабельный модем) и доступны внутри дома с использованием беспроводных (HomeRF или 802.11b) или проводных сред (HomePNA, сеть Ethernet категории 5 и даже электрические сети). Речевой трафик может входить в дом либо с использованием проводной среды (по проводам категории 3), либо беспроводной (например, по мобильному телефону) среды, и может быть распределен внутри дома с использованием проводки категории 3. Развлекательная информация или иные графические данные могут поступать в дом либо через спутник, либо по кабелю и обычно распределяются по дому с использованием коаксиального кабеля. Интерфейсы IEEE 1394 и DVI также являются цифровыми соединительными проводами для кластеров медиа-устройств. Все эти и другие сетевые среды, которые могут появиться как стандарты протоколов, могут быть взаимно соединены для формирования сети, такой как интранет, которая может быть подключена к внешнему миру через Интернет. Вкратце, для хранения и передачи данных существует множество несравнимых устройств, а следовательно, при развитии вычислительным устройствам будут требоваться пути совместного использования данных, таких как данные, доступные или используемые в связи с программными объектами, которые используют технологии ранжирования в соответствии с настоящим изобретением.
Интернетом обычно называют объединение сетей и шлюзов, использующих набор протоколов TCP/IP, который хорошо известен в области компьютерных сетей. TCP/IP является сокращением от Transmission Control Protocol/Internet Protocol
(Протокол управления передачей/межсетевой протокол). Интернет может быть описан как система географически распределенных компьютерных сетей, взаимно соединенных с помощью компьютеров, исполняющих сетевые протоколы, что позволяет пользователям взаимодействовать и совместно использовать информацию по сети(-ям). Из-за такого широко распространенного совместного использования информации удаленные сети, такие как Интернет, вовлечены тем самым в открытую систему, для которой разработчики могут создать программные приложения для выполнения специализированных действий или услуг по существу безо всяких ограничений.
Таким образом, сетевая инфраструктура обеспечивает главный компьютер в сетевых топологиях, таких как архитектура клиент/сервер, одноранговая или гибридная архитектура. «Клиентом» является член класса или группы, использующей услуги другого класса или группы, к которой он не относится. Таким образом, в вычислениях клиентом является процесс, т.е., грубо говоря, набор команд или задач, которые запрашивают услугу, предоставляемую другой программой. Клиентский процесс использует запрошенную услугу без «знания» подробностей о работе другой программы или самой услуги. В архитектуре клиент/сервер, в частности в сетевой системе, клиентом обычно является компьютер, который получает доступ к совместно используемым сетевым ресурсам, предоставляемым другим компьютером, например, сервером. В примере на фиг. 2А компьютеры 110а, 110b и т.д. могут рассматриваться как клиенты, а компьютеры 10а, 10b и т.д. могут рассматриваться как серверы, где серверы 10а, 10b и т.д. поддерживают данные, которые затем дублируются на клиентские компьютеры 110а, 110b и т.д., хотя каждый компьютер может рассматриваться как клиент, как сервер, либо и как клиент, и как сервер в зависимости от обстоятельств. Любое из вычислительных устройств может обрабатывать данные и запрашивать услуги или задачи, которые могут заключать в себя методы ранжирования по изобретению.
Сервером обычно является удаленная компьютерная система, к которой можно получить доступ по удаленной или локальной сети, такой как Интернет. Клиентский процесс может быть активным на первой компьютерной системе, а серверный процесс может быть активным на второй компьютерной системе, осуществляющих связь друг с другом по среде связи, тем самым обеспечивая возможность распределенного функционирования и позволяя многочисленным клиентам получить преимущество от способностей сервера по сбору информации. Любые программные объекты, использованные в соответствии с методами ранжирования по изобретению, могут быть распределены по множеству вычислительных устройств или объектов.
Клиент(ы) и сервер(ы) связываются друг с другом, используя возможность функционирования, предоставляемую уровнем(-ями) протокола. Например, протокол НТТР (HyperText Transfer Protocol - протокол передачи гипертекстовых файлов) является общим протоколом, который используется в связи с WWW (World Wide Web - «Всемирная паутина») или «Web» (Сетью). Обычно сетевой адрес компьютера, такой как IP-адрес, или другая ссылочная информация, такая как URL (Uniform Resource Locator - унифицированный указатель ресурса, УУР), может быть использована для идентификации серверного или клиентского компьютера друг для друга. На сетевой адрес можно ссылаться как на адрес УУР. Связь может быть обеспечена по среде связи, например, клиент(-ы) и сервер(-ы) могут быть подключены друг к другу через TCP/IP соединение(-я) для высокоскоростной связи.
Таким образом, фиг. 2А показывает пример сетевой или распределенной среды с сервером, осуществляющим связь с клиентскими компьютерами по сети/шине, в каковой среде может применяться настоящее изобретение. Более подробно, некоторое количество серверов 10А, 10b и т.д. взаимосвязаны через сеть/шину 14 связи, которой может быть, ЛС, РС, интранет, Интернет и т.п., к некоторому количеству клиентских или удаленных компьютерных устройств 110а, 110b, 110с, 110d, 110е и т.д., таких как портативный компьютер, носимый компьютер, тонкий клиент, бытовой прибор с выходом в сеть, или другое устройство, такое как видеомагнитофон, телевизор, печь, лампа, обогреватель и т.п., в соответствии с настоящим изобретением. Таким образом, предполагается, что настоящее изобретение может быть применено к любому вычислительному устройству, для которого существует необходимость выполнять ранжирование документов, имеющих структурно взаимосвязанные ссылки.
В сетевой среде, в которой сетью/шиной 14 связи является Интернет, например, серверы 10а, 10b и т.д. могут быть Web-серверами, с которыми клиенты 110а, 110b, 110с, 110d, 110е и т.д. общаются с помощью некоторого количества известных протоколов, таких как НТТР. Серверы 10а, 10b также могут быть клиентами 110а, 110b, 110с, 110d, 110е и т.д. в зависимости от характеристики распределенной вычислительной среды.
Линии связи могут быть проводными и беспроводными, как требуется. Клиентские устройства 110а, 110b, 110с, 110d, 110е и т.д. могут быть, а могут и не быть связаны по сети/шине 14 связи, и могут иметь независимые линии связи, подключенные к ним. Например, в случае телевизора или видеомагнитофона они могут быть, а могут и не быть подключены к сети для управления ими. Каждый клиентский компьютер 110а, 110b, 110с, 110d, 110е и т.д. и серверный компьютер 10а, 10b и т.д. могут быть снабжены различными прикладными программными модулями или объектами 135 и линиями связи или возможностью доступа к различным типам элементов или объектов хранения, среди которых могут храниться файлы или потоки данных, или на которые могут быть загружены, переданы или переведены часть(-и) файлов или потоков данных. Любой один или более компьютеров 10а, 10b, 110а, 110b и т.д. могут отвечать за поддержание и обновление базы 20 данных или другого элемента хранения, для хранения данных, обработанных в соответствии с изобретением. Таким образом, настоящее изобретение может быть использовано в вычислительной сетевой среде, имеющей клиентские компьютеры 110а, 110b и т.д., которые могут получать доступ к компьютерной сети/шине 14 и взаимодействовать с ней, и серверные компьютеры 10а, 10b и т.д., которые могут взаимодействовать с клиентскими компьютерами 110а, 110b и т.д. и другими подобными устройствами, и базы 20 данных.
Примерное компьютерное устройство
Фиг. 2В и последующее описание предназначены для обеспечения краткого общего описания подходящей вычислительной среды, в которой может выполняться изобретение. Должно быть понятно, однако, что носимые, портативные и другие компьютерные устройства и вычислительные объекты всех видов предполагаются для использования вместе с настоящим изобретением, то есть в любом месте, которое сопрягается с Web-страницами или другими структурно взаимосвязанными документами в вычислительной среде. Хотя ниже описан компьютер общего назначения, это всего лишь пример, и настоящее изобретение может быть воплощено в тонком клиенте, имеющем функциональную совместимость и взаимодействие с сетью/шиной. Таким образом, настоящее изобретение может быть воплощено в среде с выполняемыми по сети под управлением главной программы услугами, в которые вовлечено очень малое или минимальное количество клиентских ресурсов, например, сетевая среда, в которой клиентское устройство служит исключительно в роли интерфейса с сетью/шиной, такое как объект, помещенный в бытовой прибор. По сути дела, любое место, где могут храниться данные, или из которого данные могут быть извлечены или переданы на другой компьютер, является желательной или пригодной средой для работы методов ранжирования в соответствии с изобретением.
Хотя это и не требуется, изобретение может быть воплощено в операционной системе для использования разработчиком услуг для устройства или объекта и/или включено в прикладное программное обеспечение, которое работает вместе с методами ранжирования по изобретению. Программное обеспечение может быть описано в общем контексте исполняемых компьютером команд, таких как программные модули, исполняемые одним или более компьютерами, такими как клиентские рабочие станции, серверы или другие устройства. В общем случае программные модули включают в себя подпрограммы, программы, объекты, составляющие, структуры данных и т.п., которые выполняют конкретные задачи или воплощают определенные абстрактные типы данных. Обычно функциональность программных модулей может сочетаться или распространяться, как требуется, в различных средах. Кроме того, специалистам понятно, что изобретение может быть осуществлено и с другими конфигурациями компьютерной системы и протоколами. Другие хорошо известные вычислительные системы, среды и/или конфигурации, которые могут быть пригодны для использования с изобретением, включают в себя, но не ограничиваются ими, персональные компьютеры (ПК), банкоматы, серверные компьютеры, носимые или портативные устройства, многопроцессорные системы, микропроцессорные системы, программируемую бытовую электронику, сетевые ПК, бытовые приборы, лампы, элементы управления средой, миникомпьютеры, мэйнфреймы и т.п. Изобретение может действовать в распределенных вычислительных средах, где задачи выполняются удаленными процессорными устройствами, которые подключены через сеть/шину связи или другую среду для передачи данных. В распределенной вычислительной среде программные модули могут быть расположены как на локальных, так и на удаленных компьютерных запоминающих носителях, включающих в себя запоминающие устройства, а клиентские узлы, в свою очередь, могут вести себя как серверные узлы.
Фиг. 2В тем самым иллюстрирует пример подходящей среды 100 вычислительной системы, в которой может воплощаться изобретение, хотя, как ясно из вышеизложенного, среда 100 вычислительной системы является лишь одним из примеров пригодной вычислительной среды и не предназначена предлагать какое-либо ограничение объема использования или функций изобретения. Аналогично, вычислительная среда 100 не должна интерпретироваться как имеющая какую-либо зависимость или требование, относящееся к любой из составляющих или к их сочетанию, показанным для примерной рабочей среды 100.
На фиг. 2В примерная система для воплощения изобретения включает в себя вычислительное устройство общего назначения в виде компьютера 110. Составляющие компьютера 110 могут включать в себя, но не ограничиваться ими, процессор 120, системную память 130, системную шину 21, которая соединяет различные составляющие системы, в том числе системную память с процессором 120. Системная шина 121 может быть одного из нескольких типов шинных структур, включая шину памяти или контроллер памяти, шину для подключения периферийных устройств и локальную шину, при использовании любой архитектуры из множества шинных архитектур. Для примера, но не для ограничения, такие архитектуры включают в себя шину ISA (Industry Standard Architecture - архитектура промышленного стандарта), шину МСА (Micro Channel Architecture - микроканальная архитектура), шину EISA (Enhanced ISA - расширенная ISA), локальную шину VESA (Video Electronics Standards Association - стандарт Ассоциации по стандартизации в области видеотехники и микроэлектроники) и шину PCI (Peripheral Component Interconnect - межсоединение периферийных компонентов), также известную как шина расширения.
Компьютер 110 обычно включает в себя множество машиночитаемых носителей. Машиночитаемыми носителями могут быть любые доступные носители, к которым может получить доступ компьютер 110, и включают в себя как энергозависимые, так и энергонезависимые носители, съемные и несъемные носители. Для примера, но не для ограничения, машиночитаемые носители могут содержать компьютерные носители хранения и среду связи. Компьютерные носители хранения включают в себя как энергозависимые, так и энергонезависимые носители, выполненные по любому способу или технологии для хранения информации, такой как машиночитаемые команды, структуры данных, программные модули или другие данные. Машиночитаемые носители включают в себя, но не ограничиваются ими, ОЗУ, ПЗУ, EEPROM (Electrically Erasable Programmable Read-Only Memory - электрически стираемое программируемое постоянное запоминающее устройство, ЭСППЗУ), флэш-память или другую технологию памяти, компакт-диски (CDROM), диски DVD (Digital Versatile Disk - цифровой многофункциональный диск) или другие устройства хранения на оптических дисках, магнитных кассетах, магнитных лентах, устройства хранения на магнитных дисках или другие магнитные устройства хранения, либо любой другой носитель, который может быть использован для хранения желаемой информации и к которому может получить доступ компьютер 110. Среды связи обычно воплощают машиночитаемые команды, структуры данных, программные модули или другие данные в виде модулированного сигнала данных, такого как сигнал несущей или другой транспортный механизм, и включают в себя любые носители для доставки информации. Термин «модулированный сигнал данных» обозначает сигнал, который имеет одну или более из своих характеристик, установленную или измененную таким образом, чтобы кодировать информацию в сигнале. Для примера, но не для ограничения, среды связи включают в себя проводные носители, такие как проводная сеть или прямое кабельное соединение, и беспроводные носители, такие как акустические, радиочастотные, инфракрасные и другие беспроводные носители. Сочетания любого из перечисленных выше носителей также должны быть включены в объем машиночитаемых носителей.
Системная память 130 включает в себя машиночитаемые носители в форме энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ПЗУ) 131 и оперативное запоминающее устройство (ОЗУ) 132. Базовая система ввода-вывода (Basic Input/Output System, BIOS) 133, содержащая основные подпрограммы, которые помогают передавать информацию между элементами внутри компьютера 110, например, во время запуска компьютера, обычно хранится в ПЗУ 131. ОЗУ 132 обычно содержит данные и/или программные модули, к которым есть немедленный доступ и/или которые в данный момент выполняются процессором 120. Для примера, но не для ограничения, фиг. 2В показывает операционную систему 134, прикладные программы 135, другие программные модули 136 и программные данные 137.
Компьютер 110 также может включать в себя и другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные запоминающие носители. Только для примера фиг. 2В показывает привод 141 жестких дисков, который считывает или записывает информацию на несъемные энергонезависимые магнитные носители, привод 151 магнитных дисков, который считывает или записывает информацию на съемный энергонезависимый магнитный диск 152, и привод 155 оптических дисков, который считывает или записывает информацию на съемный энергонезависимый оптический диск 156, такой как компакт-диск, или другие оптические носители. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные запоминающие носители, которые могут быть использованы для примерной рабочей среды, включают в себя, но не ограничиваются ими, кассеты с магнитной лентой, карточки флэш-памяти, диски DVD, цифровую видеопленку, твердотельное ОЗУ, твердотельное ПЗУ и т.п. Привод 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, Universal Serial Bus - универсальная последовательная шина). Графический интерфейс 182, такой как «северный мост», также может быть подключен к системной шине 121. «Северным мостом» является микропроцессорный набор, который связывается с ЦП или главным процессором 120 и отвечает за связь с портом AGP (Accelerated Graphics Port - ускоренный графический порт). Один или более графических процессоров (ГП) 184 могут связываться с графическим интерфейсом 182. В этом отношении ЦП 184 обычно включают в себя устройство хранения на кристалле, такое как регистровая память, а ГП 184 связывается с видеопамятью 186, где могут выполняться переменные приложений по изобретению. ГП 184, однако, являются не единственным примером сопроцессора, и таким образом, в компьютер 110 может быть включено множество сопроцессорных устройств, и может быть включено множество процедурных программ построения теней, таких как пиксельные и вершинные программы построения теней. Монитор 191 или другой тип устройства отображения также подключен к системной шине 121 через интерфейс, такой как видеоинтерфейс 190, который, в свою очередь, связывается с видеопамятью 186. В дополнение к монитору 191 компьютеры также могут включать в себя другие внешние устройства вывода, такие как громкоговорители 197 и принтер 196, который может быть подключен через внешний периферийный интерфейс 195.
Компьютер 110 может работать в сетевой или распределенной среде с использованием логических соединений с одним или более удаленными компьютерами, такими как удаленный компьютер 180. Удаленным компьютером 180 может быть персональный компьютер, сервер, маршрутизатор, сетевой ПК, одноранговое устройство или другой обычный сетевой узел, и обычно включает в себя множество или все элементы, описанные выше относительно компьютера 110, хотя на фиг. 2В показано только устройство 181 хранения. Логические соединения, показанные на фиг 2В, включают в себя локальную сеть (ЛС) 171 и региональную сеть (РС) 173, но могут включать и другие сети/шины. Такие сетевые среды являются обычным явлением в домах, в офисах, компьютерных сетях в масштабе предприятия, интранетах и в Интернете.
Когда используется сетевая среда ЛС, компьютер 110 подключен к ЛС 171 через сетевой интерфейс или адаптер 170. Когда используется сетевая среда РС, компьютер 110 обычно включает в себя модем 172 или другое средство для установления связи по РС 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, может быть подключен к системной шине 121 через пользовательский интерфейс 160 ввода или другим пригодным механизмом. В сетевой среде программные модули, показанные для компьютера 110, или их части могут храниться в удаленном устройстве хранения. Для примера, но не для ограничения, фиг. 2В показывает удаленные прикладные программы 185 как находящиеся в устройстве 181 памяти. Следует понимать, что показанные сетевые соединения являются примерными, и для установления канала связи между компьютерами могут быть использованы другие средства.
Примерные распределенные вычислительные инфраструктуры или архитектуры
Различные распределенные вычислительные инфраструктуры разработаны и разрабатываются в свете сближения персональных вычислений и Интернет. Отдельные лица и бизнес-пользователи получили единый функционально совместимый и основанный на Сети интерфейс для приложений и вычислительных устройств, делая вычислительные операции все более ориентированными на программы просмотра Сети (Web) или ориентированными на сети.
Например, платформа с управляемым кодом производства компании Microsoft®, то есть NET, включает в себя серверы, услуги по построению из стандартных блоков, такие как основанные на Web хранение данных и загружаемое программное обеспечение для устройств. Говоря в целом, платформа.NET обеспечивает: 1) способность заставить работать вместе весь диапазон вычислительных устройств и предоставить пользователю информацию, автоматически обновляемую и синхронизируемую по всем устройствам; 2) увеличенную интерактивную способность для Web-страниц, дающую возможность более широко использовать язык XML (Extensible Markup Language - расширяемый язык разметки) вместо HTML; 3) онлайновые (оперативные) услуги, которые описывают персонализированный доступ и доставку продуктов и услуг пользователю из центральной стартовой точки для управления различными приложениями, такими как электронная почта, например, или программное обеспечение, такое как Office.NET; 4) централизованное хранение данных, что увеличивает эффективность и легкость в доступе к информации, а также синхронизацию информации среди пользователей и устройств; 5) способность интегрировать различные среды связи, такие как электронная почта, факсы, телефоны; 6) для разработчиков - способность создавать модули, пригодные для повторного использования, тем самым увеличивая производительность и уменьшая количество ошибок в программировании; и 7) множество других кросс-платформенных свойств и свойств интеграции языков.
Хотя некоторые примерные варианты выполнения здесь описаны в связи с программным обеспечением, находящимся в вычислительном устройстве, одна или более частей изобретения могут также быть воплощены с помощью операционной системы, интерфейса API (Application Programming Interface - интерфейс прикладного программирования) или объекта «middle man», объекта управления, аппаратного обеспечения, встроенной («прошитой») программы, промежуточных языковых инструкций или объектов и т.п., так что способы могут включаться, поддерживаться или к ним может быть получен доступ через все языки и услуги, предоставляемые управляемым кодом, таким как код.NET, а также в других распределенных вычислительных инфраструктурах.
Системы и способы ранжирования Web-страниц
Как упомянуто выше в описании уровня техники, настоящее изобретение решает проблему уязвимости в существующих алгоритмах ранжирования, таких как PageRank, для Web-страниц, которые были искусственно созданы для единственной цели увеличения оценки целевой(-ых) страницы(страниц). Предположив, что человек, перемещающий по Сети, собирается совершить случайный переход на конкретный сервер, изобретение распознает, что гораздо вероятнее, что человек перейдет на конкретную страницу на Web-сервере, имеющем множество страниц, чем то, что человек перейдет на конкретную страницу на Web-сервере, имеющем немного страниц. Применяя этот принцип во время применения алгоритма ранжирования, изобретение минимизирует влияние подтверждений, когда они исходят от одного сервера. Чтобы достичь такого уменьшения влияния, в различных неограничивающих вариантах выполнения изобретение присваивает гарантированную минимальную (количественную) оценку каждому Web-серверу, а не каждой Web-странице. Эта минимальная оценка, присвоенная серверу, затем может быть разделена среди всех страниц на Web-сервере. Таким образом, создание произвольно большого количества родственных ссылок с помощью множества страниц на Web-сервере не достигнет более хорошего «значения подтверждения», чем относительно небольшое количество родственных ссылок на нескольких страницах на Web-сервере. В общем случае при произвольно большом количестве родственных ссылок обычно одна или более страниц а) будет иметь одно и то же символическое имя главного компьютера, б) будет связана с одним и тем же доменом или с) будет связана с одним и тем же IP адресом. В одном варианте выполнения изобретение воплощено в виде услуги поиска по Сети в целях предоставления качественных результатов запроса пользователю.
Отметим, что существует несколько возможных определений того, что такое Web-сервер: Web-сервер должен быть определен символическим именем главного компьютера (например, www.google.com), общим доменом, или должен быть определен одним (или несколькими) IP-адресами (например, 207.46.134.222). Хотя варианты выполнения, использующие любое определение Web-сервера, направлены на решение проблемы ссылочного спама, последние два определения гораздо более пригодны для целей изобретения и проявляют себя как более хороший сдерживающий фактор для создателей ссылочного спама, поскольку возможно сконфигурировать DNS-сервер таким образом, чтобы распознавать практически бесконечное количество имен главных компьютеров (документ RFC 1035 ограничивает длину имен главных компьютеров максимум 255 символами, причем каждым символом может быть буква, цифра или дефис. Таким образом, возможны
37255 возможных имен главных компьютеров, что для всех практических целей является «практически бесконечным» количеством), так что возможно сконфигурировать Web-сервер так, чтобы обслуживать бесконечное количество Web-страниц. Приведенные ниже объяснения используют каждое определение по очереди для двух различных вариантов выполнения.
В первом варианте выполнения метрики ранжирования в соответствии с изобретением, Web-сервер определяется по его символическому имени главного компьютера. h(u) обозначает компонент имени главного компьютера в УУРе u, а H является набором всех главных компьютеров, то есть:
VH(h) является набором УУРов, обслуживаемых главным компьютером h, то есть:
Эти два определения затем используются для определения первой новой метрики RH ранжирования в соответствии с первым вариантом выполнения изобретения, которая задается следующим образом:
Во втором варианте выполнения метрики ранжирования в соответствии с изобретением Web-сервер определяется по его доменному имени. d(u) обозначает компонент доменного имени в УУРе u, а D является набором всех доменов, то есть:
VD(h) является набором УУРов, обслуживаемых Web-серверами в домене d, то есть:
Эти два определения затем используются для определения второй новой метрики RD ранжирования в соответствии со вторым вариантом выполнения изобретения, которая задается следующим образом:
В третьем варианте выполнения изобретения Web-сервер определяется по его набору IP-адресов. A(u) обозначает набор IP-адресов, из которых может обслуживаться УУР u (то есть набор IP-адресов, которые распознаются h(u)). A является набором всех IP-адресов, то есть:
VA(a) является набором УУРов, обслуживаемых IP-адресом a, то есть:
Эти два определения затем используются для определения третьей новой метрики RA ранжирования в соответствии с третьим вариантом выполнения изобретения, которая задается следующим образом:
Изобретение теперь будет описано со ссылками на фиг. 3А-3G. Фиг 3А показывает первый узел N1 (например, документ или Web-страница), который имеет ссылку на второй узел N2. Согласно PageRank, N2 является лучшей страницей, чем узел совсем без входящих ссылок, поскольку N1 подтверждает или «утверждает» существование N2 путем ссылки на него. Работа алгоритма PageRank может быть более подробно объяснена путем сравнения фиг. 3В с фиг. 3А. Поскольку на фиг. 3А N1 имеет только одну ссылку на узел N2, тогда как на фиг. 3В узел N1 имеет ссылки на 9 узлов N2-N10, то алгоритм PageRank девальвирует подтверждение узла N1, поскольку N1 беспорядочно подтверждает другие Web-страницы по сравнению с узлом N1 на фиг. 3А. Поскольку узел N1 на фиг. 3А подтверждает другие узлы более избирательно, соответственно, N2 присваивается более высокая оценка на фиг. 3А как результат ссылки от N1 на N2 (все остальные факторы аналогичны). Работа алгоритма PageRank далее может быть объяснена путем сравнения фиг. 3С с фиг. 3А. В этом сравнении оценка, присвоенная подтверждающему N1 на фиг. 3С, в 10 раз больше оценки, присвоенной подтверждающему узлу N1 на фиг. 3А. Соответственно, поскольку качество (оценка) подтверждающего узла выше на фиг. 3С, то оценка, присвоенная узлу N2, выше на фиг. 3С по сравнению с оценкой, присвоенной узлу N2 на фиг. 3А. Сочетание этих двух подходов и создает алгоритм PageRank.
Однако, как отмечено при описании уровня техники, алгоритм PageRank уязвим для сценария, показанного на фиг. 3D, так как любой узел, неважно сколько других узлов его подтверждает, либо неважно насколько мала его собственная PageRank оценка, получает минимальную оценку. Хотя эта минимальная оценка невелика, при больших количествах усиление небольшой оценки может стать очень значительным. Следовательно, владелец узла N2, вручную или автоматически создавая множество подтверждающих ссылок, каждая из которых подтверждает узел N2 и друг друга некоторым образом, таким как показано на фиг. 3D, например, может искусственно увеличить оценку узла N2. Чтобы проделать это наиболее дешевым образом, в общих чертах, создатель ссылочного спама будет обычно помещать каждый из узлов LS1-LS9 ссылочного спама и т.д. на один и тот же главный компьютер (например, www.foo.com), поскольку генерирование дополнительных Web-страниц на одном и том же главном компьютере, таких как www.foo.com/page1, www.foo.com/page2, www.foo.com/page3 и т.д., либо очень дешево, либо вообще бесплатно. Соответственно, умный создатель ссылочного спама может с помощью такого метода увеличить воздействие непопулярной Web-страницы на Сеть. Количество Web-страниц бесконечно, поскольку существуют такие Web-серверы, которые динамически создают и обслуживают бесконечное число страниц. Понятно, что общая стоимость для создания еще одной Web-страницы крайне мала.
В ответ на это изобретение запрещает использование такой технологии ссылочного спама. Предполагая, что все узлы LS1-LS9 ссылочного спама находятся на одном главном компьютере www.foo.com, вместо присвоения минимальной оценки каждому из узлов LS1-LS9 в одном варианте выполнения изобретение присваивает минимальную оценку каждому главному компьютеру и распределяет минимальную оценку на все узлы на этом главном компьютере. Таким образом, даже если существует 1000 узлов LS1-LS1000 ссылочного спама, или если один узел LS1 ссылочного спама находится на главном компьютере www.foo.com, то вклад в подтверждение узла N2 будет одинаковым (предполагая, что все остальные факторы одинаковы). Таким образом, как показано на фиг. 3Е, изобретение присваивает минимальную оценку главному компьютеру www.foo.com и разделяет минимальную оценку на страницы LS1-LS9.
Однако определенные создатели ссылочного спама способны обмануть этот вариант настоящего изобретения. Создатель ссылочного спама может увеличить оценку качества, связанную с его или ее Web-страницей, на относительно небольшую величину, чтобы превысить оценки других Web-страниц с теми же оценками качества. Например, относительно небольшое изменение в оценке качества может принести значительную выгоду создателю ссылочного спама, если Web-страница поднимется в ранжировании результатов обычной поисковой машины с пятого на первое место в рейтинге. В существующем виде системы доменных имен в Интернете пользователь платит за каждое доменное имя годовой взнос (примерно 25 долларов) и способен создать произвольное количество символических имен главных компьютеров внутри домена. Таким образом, создатель ссылочного спама может получить небольшое количество доменов и сконфигурировать DNS-сервер так, чтобы распознавать любые возможные имена главных компьютеров в этих доменах. Создатель спама может затем обеспечить страницы со ссылочным спамом, которые будут приходить от множества разных главных компьютеров внутри этих доменов, тем самым восстанавливая способность поддерживать страницу путем суммирования минимальных оценок очень большого числа страниц. Этот сценарий показан на фиг. 3F, где определенным создателем ссылочного спама выработано множество Web-страниц, каждая из которых происходит с уникального символического имени главного компьютера - www.1foo.com, www.2foo.com, www.3foo.com и т.п.; однако каждый из них также начинается и с общего домена foo.com. Соответственно, во втором варианте выполнения изобретения минимальная оценка присваивается не каждой Web-странице и не каждому отдельному имени главного компьютера, но скорее каждому отдельному доменному имени.
Как выясняется, хотя доменные имена стоят денег, они не чрезмерно дороги. И когда существует бесконечное число Web-страниц и потенциально большое число доменных имен (37255), в действительности существует порядка 15 млн. доменных имен. Создание нового имени главного компьютера бесплатно (путем конфигурирования DNS-сервера на распознавание любого возможного главного компьютера внутри домена), тогда как создание нового доменного имени стоит порядка 25 долларов. Таким образом, поскольку доменное имя можно получить за 25 долларов, для определенного создателя ссылочного спама по-прежнему осуществимо создать систему, показанную на фиг. 3G. На фиг. 3G определенный создатель ссылочного спама создал узлы LS1-LS9 и т.д. ссылочного спама, но в то же время создатель ссылочного спама поместил каждый узел в свой собственный домен со своим собственным именем главного компьютера, www.foo.com, www.goo.com, www.hoo.com и т.п. Сходство, однако, заключается в том, что создатель ссылочного спама поместил каждый из www.foo.com, www.goo.com, www.hoo.com и т.п. на одном и том же IP-адресе. Существует примерно 4 млрд. отдельных IP-адресов. Тогда как получить IP-адрес довольно дешево, маловероятно, что создатель ссылочного спама будет воплощать систему, которая присваивает отдельный IP-адрес на каждую Web-страницу ссылочного спама, поскольку поддержка отдельных IP-адресов не бесконечна. Соответственно, в третьем варианте выполнения изобретения минимальная оценка присваивается не каждой Web-странице, каждому имени главного компьютера или каждому домену, а каждому отдельному IP-адресу, защищаясь от определенного создателя ссылочного спама, поскольку даже если этот создатель ссылочного спама поместит 100 отдельных доменных имен с узлами ссылочного спама на сервер, или создатель ссылочного спама поместит 1 отдельный домен с отдельным узлом ссылочного спама на сервер, эффект от этого в терминах подтверждения узла N2 будет одинаковым (опять же в предположении, что все остальные факторы постоянны).
Хотя изобретение может быть применено для ранжирования любых структурно взаимосвязанных документов, фиг. 4А (блок-схема системы), фиг. 4В и 4С (блок-схемы алгоритмов) иллюстрируют примерное применение настоящего изобретения для ранжирования Web-страниц в приложении поисковой машины. Поскольку алгоритмы изобретения не зависят от запроса, процесс ранжирования документов в соответствии с изобретением может происходить независимо от приложения, такого как поисковая машина, которая запрашивает документы на основе оценок, присвоенных документам. Например, на фиг. 4А один или более механизмов 410 поиска может исследовать источник структурно взаимосвязанных документов 400, таких как Web-страницы в Интернет, и получать документы или относящуюся к делу информацию о документах для хранения в хранилище 420. Относящаяся к делу информация о документах также может приходить от другого(-их) источника(-ов) 415.
Механизмом поиска является программа, которая посещает Web-сайты и считывает их страницы и другую информацию, чтобы создать записи для индекса поисковой машины. Механизмы поиска используются для обнаружения новых документов и новых сайтов путем следования по гиперссылкам от сервера к серверу и индексации информации на основании критерия поиска.
Все большие поисковые машины в Сети имеют такие программы, которые также называются «пауками», «муравьями», «роботами» или «разведчиками». Механизмы поиска обычно программируются так, чтобы посещать сайты, которые были присланы их владельцами, как новые или обновленные. Целые сайты или отдельные страницы могут выборочно посещаться и индексироваться. Механизмы поиска еще называют «ползунами», потому что они «ползают» по сайту по странице за раз, следуя по ссылкам на другие страницы на сайте, пока все страницы не будут прочитаны. Обычно механизмы поиска одновременно «ползают» по множеству Web-сайтов. Обычно механизмы поиска связаны правилами вежливости для Web-механизмов, которые являются частью Стандарта исключений для роботов (Stаndаrd for Robot Exclusion, SRE).
Фиг. 4В с помощью блок-схемы показывает процесс сбора документов. На этапе 450 обнаруживаются Web-страницы, и Web-страницы и/или информация о Web-страницах собираются механизмами поиска. Это может быть итеративный или непрерывный процесс, как показано стрелкой. В любой заданный момент времени, когда известна структура коллекции документов, на этапе 460 изобретение может быть применено для присвоения оценки каждому из собранных документов, так что существует хранилище Web-страниц (или ссылок на них), где каждая имеет связанную с ней оценку качества с использованием метрик RA, RD или RH . Объект 430 через интерфейс 432 API может выполнять разведку после присвоения оценки каждому из документов в хранилище 420. Можно также оценить, как подробно описано ниже, что метрики RA, RD и/или RH могут сочетаться с другими метриками для увеличения качества оценки, присвоенной документу относительно конкретного приложения или пользователя.
Когда генерируется начальное хранилище 420 документов и оценок, которое может обновляться итеративно, непрерывно или периодически, то затем может быть применено примерное приложение в виде поисковой машины. Например, объект 440 поисковой машины (или другое приложение) может на этапе 470 принять входящий запрос от пользователя. На этапе 480 на основании запроса могут быть извлечены Web-страницы, включающие в себя термины запроса в соответствии с критерием запроса, и проранжированы в соответствии с их соответствующими оценками, так что наиболее качественные документы отображаются пользователю первыми, или наиболее заметным образом. В примерном воплощении, как показано на фиг. 4А, запрос принимается серверным объектом 440 поисковой машины, который сопряжен с объектом 430 через интерфейс API 434. Объект 430 извлекает и упорядочивает имеющие отношение к делу Web-страницы (или ссылки на Web-страницы) из хранилища 420 через интерфейс API 432 на основании запроса. Объект 430 затем возвращает упорядоченный список результатов в объект 440 приложения для отображения пользователю. Альтернативно, объект 440 может выполнять упорядочивание результатов на основе связанных с ними оценок.
Как должно быть ясно, метрики изобретения также могут объединяться либо сочетаться с другими улучшениям в общих метриках. Например, с корневым набором «доверенных» документов может быть улучшено общее качество оценок, полученных по всем метрикам. Такие улучшения включают в себя принятие во внимание рейтингов Нильсена. Например, Web-страницы, получившие от Нильсена наивысшую оценку, могут быть использованы как «доверенная» база Web-страниц, от которой отсчитываются все прочие оценки. Более того, рейтинги Нильсена могут быть использованы совместно с метрикой(-ами) по изобретению, чтобы назначить взвешенную оценку. Либо результаты метрик(-и) по изобретению можно сравнить с рейтингами Нильсена, чтобы выявить аномальные результаты.
По сути любой внешний источник информации о доверии к документам, таким как Web-страницы, может быть использован в отношении результатов применения или проверки метрик(-и) по изобретению. Другие примеры включают в себя использование информации на основе коллекции пользовательской информации, полученной от провайдеров Интернет-услуг (IPS). Например, провайдер может собирать непосредственную информацию, аналогичную информации Нильсена, о том, как часто пользователи посещают определенные Web-страницы, и соответственно могут назначать качество, популярность, надежность, оценку на основании шаблонов использования. Для этой цели могут изучаться записи журналов регистрации агентов провайдеров. Другой пример включает в себя изучение людей поисковыми машинами. Простое получение Web-страницей наивысшей оценки не означает, что пользователи будут выбирать эту Web-страницу. Таким образом, поведение людей в поисковых машинах служит для проверки качества Web-страниц. Дополнительно, для сертификации, например, 10000 хороших Web-страниц может быть назначен редактор-человек. При постоянной ответственности на оценку этих 10000 можно сильно повлиять, так что на их силу подтверждения по метрикам по изобретению также будет оказано влияние, так как они известны как доверенные Web-страницы. Другой источник информации о качестве Web-страниц может прийти из предпочтений пользователей, таких как закладки пользователей. Вкратце, метрика(-и) по настоящему изобретению может(могут) объединяться с любой другой известной метрикой, чтобы гарантировать, что пользователю обеспечен наилучший опыт. Преимущественно, любые сочетания, включающие метрику(и) по настоящему изобретению, будут препятствовать усилиям создателей ссылочного спама.
Существует множество путей воплощения настоящего изобретения, например, подходящий интерфейс API, инструментальный набор, код драйверов, операционная система, объекты управления, отдельные объекты и объекты загружаемого программного обеспечения и т.д., что дает возможность приложениям и службам использовать системы и способы ранжирования по изобретению. Изобретение предполагает использование изобретения с точки зрения интерфейса API (или другого объекта программного обеспечения), равно как из объекта программного или аппаратного обеспечения, который принимает Web-страницы или структурную информацию, относящуюся к Web-страницам, для применения методов ранжирования в соответствии с изобретением. Таким образом, различные воплощения изобретения, описанные здесь, могут иметь аспекты, которые полностью относятся к аппаратному обеспечению, частично к аппаратному и частично к программному обеспечению и полностью к программному обеспечению.
Как упомянуто выше, хотя примерные варианты выполнения настоящего изобретения описаны вместе с различными вычислительными устройствами и сетевыми архитектурами, лежащая в основе концепция может быть применена к любому вычислительному устройству или системе, в которой желательно проранжировать структурно взаимосвязанные документы. Например, алгоритм(-ы) и аппаратные воплощения изобретения могут быть применены в операционной системе вычислительного устройства, обеспеченного в виде отдельного объекта в устройстве, в виде части другого объекта, в виде пригодного для повторного использования управления, в виде объекта, загружаемого с сервера, в виде «посредника» между устройством или объектом и сетью, в виде распределенного объекта, в виде аппаратного обеспечения, в виде памяти, в виде комбинации любых перечисленных объектов. Хотя здесь выбраны примерные языки программирования, имена и примеры в качестве представляющих различные варианты выбора, эти языки, имена и примеры не являются ограничивающими. Специалист оценит, что существует множество путей обеспечения (программного) кода и номенклатуры объекта, который достигает той же или равной функциональности, достигнутой различными вариантами выполнения изобретения.
Как указано, описанные здесь различные методы могут быть воплощены в аппаратном или программном обеспечении или, если необходимо, в сочетании их обоих. Таким образом, способы и устройства по настоящему изобретению или определенные аспекты или их части могут принимать форму программного кода (то есть команд), воплощенных на материальных носителях, таких как флоппи-дискеты, компакт-диски, жесткие диски или на любом ином машиночитаемом носителе, при этом, когда программный код загружен внутрь и выполняется машиной, такой как компьютер, машина становится устройством для выполнения изобретения. В случае выполнения программного кода на программируемых компьютерах вычислительное устройство в общем случае содержит процессор, носитель записи, считываемый процессором (включая энергозависимую и энергонезависимую память и/или запоминающие элементы), по меньшей мере одно устройство ввода и по меньшей мере одно устройство вывода. Одна или более программ, которые могут воплотить или использовать методы ранжирования по настоящему изобретению, например, с помощью использования интерфейса API обработки данных, управления повторного использования или т.п., предпочтительно воплощаются на высоком уровне процедурного или объектно-ориентированного языка программирования, чтобы связываться с компьютерной системой. Однако программа(-ы) могут быть воплощены на языке ассемблера или в машинном языке, если необходимо. В любом случае язык может быть скомпилированным или интерпретированным языком и объединенным с аппаратными воплощениями.
Способы и устройства по настоящему изобретению также могут осуществляться через связь, воплощенную в виде программного кода, передаваемого по некоторым транспортным средам, таким как электрическая сеть, волоконная оптика, либо через любую другую форму передачи, в которой программный код принимается и загружается и выполняется машиной, такой как EPROM (Erasable Programmable Read-Only Memory - стираемое программируемое постоянное запоминающее устройство), вентильной матрицей, устройством с программируемой логикой, клиентским компьютером и т.п., и машина становится устройством для выполнения изобретения. При воплощении в процессоре общего назначения программный код объединяется с процессором, чтобы обеспечить уникальное устройство, которое работает, чтобы применить уникальные функции настоящего изобретения. Дополнительно, любые методы хранения, использованные в настоящем изобретении, могут постоянно быть сочетанием аппаратного и программного обеспечения.
Хотя настоящее изобретение описано в связи с предпочтительными вариантами выполнения по разным чертежам, следует понимать, что могут использоваться и другие сходные варианты выполнения, либо к описанному варианту выполнения можно сделать модификации и добавления для выполнения той же самой функции по настоящему изобретению без отхода от него. К примеру, хотя примерные сетевые среды по изобретению описываются в контексте сетевой среды, такой как одноранговая сетевая среда, специалист понимает, что настоящее изобретение не ограничивается ими, и что способы, описанные в настоящей заявке, могут применяться к любым вычислительным устройству или среде, таким как игровая консоль, карманный компьютер, портативный компьютер и т.п., проводной или беспроводный, и может применяться к любому числу таких вычислительных устройств, соединенных по сети связи и взаимодействующих по этой сети. Далее следует подчеркнуть, что предполагается множество компьютерных платформ, в том числе операционных систем карманных устройств и других специфичных для приложений операционных систем, особенно по мере продолжения распространения беспроводных сетевых устройств.
Хотя примерные варианты выполнения относятся к использованию настоящего изобретения в контексте службы Web-поиска, изобретение не ограничивается только контекстом служб Web-поиска, но может быть воплощено для обеспечения вида качественной метрики для любого набора документов или содержания, которые некоторым образом ссылаются друг на друга. Например, пользователь может иметь набор картин, фильмов, песен и т.п., хранящихся на его или ее компьютере (или на множестве вычислительных устройств), которые структурно взаимосвязаны некоторым образом (посредством людей, мест, времен, событий, художника, альбома, заглавия, артистов и т.п.), и оценивание по изобретению может быть применено к этим картинам на основании структурных взаимосвязей содержания. К примеру, сходство или иное отношение между первым содержанием и вторым содержанием можно рассматривать как связь от первого содержания ко второму содержанию. Также, хотя выше описывается интерфейс API 432 в связи с процессом оценивания, отметим, что для этой цели может быть воплощен отдельный интерфейс API, т.е. использование API 432 для извлечения и упорядочения на основании запроса не нуждается в привязке к процессу оценивания. Кроме того, термин «пропорционально», как он используется здесь, относится к любому математическому соотношению между двумя объектами, при этом, когда один объект увеличивается, другой увеличивается согласно всем известным математическим соотношениям, в том числе, но не ограничиваясь ими, геометрическим, линейным, экспоненциальным, логарифмическим и иным соотношениям. То же самое применимо и к термину «обратно пропорционально» или «в обратной пропорции к», т.е. когда один объект увеличивается, другой уменьшается. Дополнительно, поскольку термин «сервер» может означать множество вещей во множестве контекстов, термин «Web-сервер», многократно используемый здесь, предназначен по меньшей мере для указания на компьютер(-ы) и/или серверный(-ые) объект(-ы), содержащие любые один или более из (а) множества Web-страниц с одним и тем же символическим именем главного компьютера (хоста), (b) множества Web-страниц, связанных с одним и тем же доменом, и (с) множества Web-страниц, связанных с одним и тем же IP адресом. Далее настоящее изобретение может воплощаться во множестве микросхем или устройств обработки, а память может аналогично быть реализована на множестве устройств. Поэтому настоящее изобретение не следует ограничивать каким-либо единственным вариантом выполнения, но оно должно толковаться в широте и объеме в соответствии с приложенной формулой изобретения.
Класс G06F1/00 Конструктивные элементы вычислительных машин и устройств для обработки данных, не отнесенные к группам 3/00