Использование текста ссылки

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

Метод ранжирования страниц по текстам ссылок требует дополнительного параметра – списка идентификаторов слов, созданного в результате первичной обработки запроса. Добавьте этот метод в класс searcher:

def linktextscore(self,rows,wordids):

linkscores=dict([(row[0],0) for row in rows]) for wordid in wordids:

cur=self.con.execute(‘select link.fromid,link.toid from linkwords,link where wordid=%d and linkwords.linkid=link.rowid’ % wordid) for (fromid,toid) in cur: if toid in linkscores: pr=self.con.execute(‘select score from pagerank where urlid=%d’ % fromid). fetchone( )[0]

linkscores[toid]+=pr maxscore=max(linkscores.values( )) normalizedscores=dict([(u,float(l)/maxscore) for (u,l) in linkscores. items()])

return normalizedscores

Этот код в цикле обходит все слова из списка wordids и ищет ссылки, содержащие эти слова. Если страница, на которую ведет ссылка, совпадает с каким-нибудь результатом поиска, то ранг источника ссылки прибавляется к окончательному рангу этой страницы. Страница, на которую ведет много ссылок со значимых страниц, содержащих поисковые слова, получит очень высокий ранг. Для многих найденных страниц вообще не будет ссылок с подходящим текстом, поэтому их ранг окажется равен 0.

Чтобы активировать ранжирование по тексту ссылок, просто добавьте в список weights такую строку:

(1.0,self.linktextscore(rows,wordids)) Не существует стандартных весов для всех рассмотренных метрик, которые были бы одинаково хороши во всех случаях. Даже самые крупные поисковые машины часто изменяют методы ранжирования результатов. Метрики и назначаемые им веса сильно зависят от конкретного приложения.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100