Thuật toán CCP

Một phần của tài liệu Luận văn tốt nghiệp: Giải pháp tính hạng trang khai thác cấu trúc Block của web và áp dụng vào máy tìm kiếm ppt (Trang 27 - 29)

P =( p i j) nxn (2)

3.2.2Thuật toán CCP

Phương pháp sử dụng cấu trúc Block theo thành phần liên thông trong bài

toán tính hạng trang có thểđược chia làm các bước:

- Bước 1: Chia đồ thị ra các thành phần liên thông với các ma trận kề tương

ứng.

- Bước 2: Tính toán PageRank cho các trang trong mỗi thành phần liên thông

dựa trên việc tính toán vector riêng của ma trận kề của thành phần liên thông đó.

- Bước 3: Tổ hợp hạng trang cuối cùng dựa trên hạng trang nhận được sau bước 2 như trong công thức (11).

Trong quá trình tính toán, để được hiệu quả, chúng ta sẽ coi như chỉ làm việc với trường hợp trung bình, có nghĩa là xét các thành phần liên thông với số đỉnh trung bình. Do vậy chúng ta cần giải quyết hai trường hơp: đó là thành phần liên thông có số đỉnh vượt quá hoặc nhỏ hơn ngưỡng trung bình. Để giải quyết các trường hợp này, cần

đưa ra hai số để làm ngưỡng, gọi là min và max. Khi đó, ∀Pi i=1,k ta cần

max

min≤ni ≤ ; nếu ni ≤minthì sẽ ghép những thành phần liên thông có sốđỉnh tương

tự đểđược một thành phần liên thông có số đỉnh thoã mãn điều kiện, nếu ni ≥maxthì cần phải tách thành phần liên thông này ra thànhnhững thành phần liên thông nhỏ hơn

để thoả mãn điều kiện. Tuy nhiên khi tách và hợp các thành phần liên thông, hạng của các trang sẽ thay đổi và chúng ta sẽ phải xử lý vấn đề này. Từ đây đề xuất cách giải quyết như sau đối với hai trường hợp:

- Trường hợp gộp: Đây là trường hơp đơn giản, PageRank của các trang sẽ được tính toán và lấy ra từ thành phần liên thông sau khi được gộp. Trong trường hợp này, chúng ta chỉ cần gộp sao cho số đỉnh của thành phần liên thông vừa đủ lớn hơn min. (min ởđây có thể thử nghiệm với nhiều sốđểđưa ra được số min tối ưu nhất).

- Trường hợp tách: Đối với trường hợp này, vấn đề lý thuyết sẽ khó khăn hơn

so với trường hợp trên. Khi chúng ta tách một thành phần liên thông lớn thành một

thành phần liên thông nhỏ, thì giữa những thành phần nhỏ này có những liên hệ nhất

định với nhau, và ta cần phải thể hiện hoặc sử dụng những liên hệ này để kết quả nhận

thành m khối (mỗi khối đều tự liên thông) và giữa các khối này có những liên kết nào

đó tới nhau (vì được tách ra từ một thành phần liên thông lớn).

• Bước 1: Chúng ta tính hạng cho tất cả các trang trong mỗi thành

phần liên thông nhỏ như bình thường.

• Bước 2: Coi mỗi thành phần liên thông nhỏ như một nút của đồ

thị, chúng ta sẽđược một đồ thị gồm m nút và số liên kết tới mỗi nút cũng như tổng số liên kết có trong đồ thị. Hạng của mỗi nút trong đồ thị mới được xây dựng này sẽ bằng số liên kết tới chính nút đó chia cho tổng số liên kết trong đồ thị. Tại sao lại chọn hạng trang cho mỗi nút trong đồ thị như vậy? Khi ta chọn giá trị như

vậy thì tổng tất cả các hạng trong đồ thị mới này sẽ bằng 1 (thoả

mãn điều kiện là tổng các xác suất).

• Bước 3: Do trong m khối, mỗi khối có vector PageRank riêng, và

tổng các thành phần của vector PageRank của mỗi khối này đều bằng 1, do vậy khi gộp lại tổng các thành phần của m vector ứng với các khối sẽ bằng m. Do vậy, để tổng thành phần của các vector PageRank của m khối bằng 1, ta sẽ lấy PageRank đại diện của mỗi khối nhân với PageRank thành phần.

Hệ số min, max cũng như số đỉnh trung bình của mỗi khối sẽ được thử

nghiệm để tìm ra được hệ số tối ưu.

Chương tiếp theo giới thiệu mô hình máy tìm kiếm Vinahoo và áp dụng thử (adsbygoogle = window.adsbygoogle || []).push({});

nghiệm thuật toán Modified Adaptive PageRank cho bài toán tính hạng trang trong

Một phần của tài liệu Luận văn tốt nghiệp: Giải pháp tính hạng trang khai thác cấu trúc Block của web và áp dụng vào máy tìm kiếm ppt (Trang 27 - 29)