Вы можете использовать смещенный рейтинг страницы , как описано Хавеливалой в этой статье .
Идея проста, вместо использования обычного случайного компонента: [1/n,1/n,....,1/n]
, используйте смещенный случайный компонент, а когда вы совершаете случайный обход, вместо того, чтобы переходить на каждую страницу с вероятностью 1 / n,на каждую страницу с вероятностью f(doc)
, где f (doc) выше для новых страниц и Sigma(f(doc)) = 1
[для всех документов в коллекции, поэтому ваш случайный компонент будет [f(doc1),f(doc2),...,f(docn)]
Обратите внимание, чтодля каждого документа обязательным является f(doc)>0
, иначе конвергенция не гарантируется [теорема Perron-Frobenius не применима].
Другая возможность - вычисление обычного ранга страницы,и умножение на другую функцию g:Collection->R
, которая дает числовое значение для каждой страницы, и чем новее страница, тем выше оценка для этого документа.
РЕДАКТИРОВАТЬ:
В ответ на редактирование исходного вопроса:
Еще одна возможность при создании графика для Интернета, добавить дополнительную информацию w:E->[0,1]
, что означает: добавить функцию веса для каждого edge, обозначающий, насколько это важно, если ссылка была сделана вскоре после первоначального редактирования, w (e) будет ближе к 1, а если намного позже, оценка будет ближе к 0.
При создании матрицы, для которой вы рассчитываете PageRank, вместо простого двоичного значения, указывающего на ребро, в графе укажите Matrix[v1][v2] <- w((v1,v2))
.
Если у вас есть эта матрица, вычислите PageRank как обычно.