Thuật toán PopRank được xây dựng nhằm khắc phục các điểm yếu của PageRank để xếp hạng các đối tượng hiệu quả hơn. Thuật toán PopRank được phát triển bởi Nie và các cộng sự tại phòng nghiên cứu Châu Á của Microsoft. Nó được sử dụng đầu tiên cho mục đích xếp hạng các bài báo khoa học trong dự án Libra, tuy nhiên nó có thể sử dụng để xếp hạng nhiều đối tượng khác nhau như hình ảnh, bản nhạc, bộ phim… [NZ+2005]
PopRank là một thuật tốn phân tích liên kết độc lập lĩnh vực ở cấp độ đối tượng. Nó quan tâm tới nhiều loại liên kết khác nhau bằng cách gán tự động các hệ số truyền khác nhau cho mỗi loại liên kết. Việc gán các hệ số này được thực hiện nhờ áp dụng thuật toán “simulated annealing” với một tập mẫu là các đối tượng đã được xếp hạng sẵn bởi các chuyên gia trong lĩnh vực. Để giảm thiểu thời gian học các hệ số, chỉ một phần các đối tượng được sử dụng trong quá trình học. Những vấn đề này sẽ được trình bày chi tiết ở phần tiếp theo.
b) Định nghĩa
a. Mơ hình PopRank
Ta xét một mơ hình các đối tượng thuộc nhiều loại khác nhau nằm trên nhiều trang web. Người dùng các thể đi đến một đối tượng nào đó thơng qua
việc vào trang web chứa đối tượng đó, hoặc đi trực tiếp đến đối tượng đó từ liên kết ở những đối tượng khác.
Giả sử có một người duyệt qua các đối tượng một cách ngẫu nhiên. Bắt đầu quá trình duyệt, người này vào một trang web bất kỳ và theo các đường siêu liên kết đi đến các trang web khác. Khi tìm được một đối tượng thích hợp, người này có thể sẽ đi theo các đường liên kết của đối tượng này để đến các đối tượng khác. Quá trình duyệt này khơng quay ngược lại, nhưng người duyệt có thể cảm thấy chán và dừng việc duyệt này lại để bắt đầu lại với một việc duyệt mới.
Ta thấy q trình duyệt này có thể chia ra hai giai đoạn. Ở giai đoạn đầu, người dùng duyệt ở cấp độ các trang web, liên kết giữa các trang này đều đồng nhất là các siêu liên kết nên ta có thể áp dụng thuật tốn PageRank để biểu diễn cho giai đoạn này và tính tốn hạng các trang. Ở giai đoạn sau, người dùng duyệt ở cấp độ đối tượng, các loại liên kết giữa các đối tượng này hỗn tạp nên khơng thể dùng PageRank. Khi đó, hạng của một đối tượng sẽ được tổng hợp từ hạng của trang web chứa nó và hạng có được do các mối liên kết giữa các đối tượng. Để tính hạng tổng hợp này ta sẽ áp dụng công thức PopRank sau:
∑ (12)
Với:
, là tập các đối tượng loại và
loại
, là các vector hạng tổng hợp của các đối tượng loại X và loại Y. là vector hạng trang web chứa các đối tượng loại tính theo
PageRank dựa vào siêu liên kết.
[ ] là ma trận kề của đồ thị các đối tượng với các phần tử có
giá trị như sau:
o , nếu có liên kết cấp đối tượng từ đối tượng tới
đối tượng ; là số lượng liên kết từ đối tượng y tới
o , trong các trường hợp khác.
là hệ số truyền của một kiểu liên kết từ một đối tượng loại tới một đối tượng loại , và ∑ .
là hệ số suy giảm, biểu thị xác suất người dùng chán việc lần theo các
liên kết giữa các đối tượng và bắt đầu duyệt lại từ các trang web.
Việc tính tốn có thể thực hiện hồn tồn giống như tính tốn
PageRank. có thể tính tốn khá đơn giản bằng phương pháp. Điều cần quan
tâm ở đây chính là việc gán tự động các hệ số truyền .
b. Tính tốn hệ số truyền
Các hệ số truyền đóng một vai trị quan trọng trong tính tốn PopRank, giá trị các hệ số truyền có ảnh hưởng lớn tới giá trị hạng của các đối tượng. Việc gán giá trị cho các hệ số truyền bằng tay là khơng thể được khi giá trị này cần có độ chính xác cao và số lượng loại đối tượng tăng lên.
Để gán tự động các hệ số truyền, Nie và các cộng sự đề ra mơ hình học như sau [NZ+2005]: sử dụng chuyên gia để tạo ba danh sách nhỏ các đối tượng đã xếp hạng, sau đó tìm một tổ hợp các giá trị hệ số truyền làm cho thứ tự nhận được khi xếp hạng bằng PopRank giống nhất với thứ tự nhận được từ các chuyên gia. Lúc này bài toán trở thành bài toán ước lượng tham số, thời gian để ước lượng tất cả các khả năng có thể rất lâu. Để giảm thời gian này, Nie và các cộng sự đề xuất sử dụng một giải thuật heuristic để tăng tốc độ tìm kiếm bộ giá trị hệ số truyền tối ưu, đồng thời chỉ tiến hành chọn một tập con các đối tượng trong các trang web để kiểm tra ước lượng thay vì tồn bộ. Tuy độ chính xác có thể giảm đi một chút nhưng có thể chấp nhận được, và tốc độ được cải thiện rất nhiều.
Giải thuật tìm kiếm bộ giá trị tối ưu gọi là SAFA (Simulated Annealing for FactorAssignment), được cho dưới đây: