Chương 4 Giải pháp tính hạng trang cải tiến cho máy tìm kiếm Vinahoo

Một phần của tài liệu Luận văn thạc sỹ CNTT: Khai phá dữ liệu Web và ứng dụng trích chọn thông tin việc làm (Trang 28 - 31)

tìm kiếm Vinahoo

4.1. Tính tốn PageRank trong Vinahoo

Trong [1], tác giả đã trình bày kỹ về cấu trúc, CSDL, mã nguồn của máy tìm kiếm Vinahoo. Ở đây, chúng tơi tập trung trình bày về module đánh chỉ số trong đó

thực thi tính tốn PageRank.

4.1.1. Mơ hình thực thi của module đánh chỉ số

Trong máy tìm kiếm Vinahoo, q trình tính tốn PageRank cho các trang web

được tích hợp trong module index. Đầu tiên module này sẽ tiến hành quá trình crawler để tải nội dung các trang web. Q trình này có tương tác với các đối tượng chính là

Internet, hệ quản trị cơ sở dữ liệu SQL và cơ sở dữ liệu chứa các file nhị phân tạm. Sau đó, q trình index sẽ tiến hành đánh chỉ số ngược cho các url mới tải về và lưu trong các cấu trúc dữ liệu thuận tiện cho việc tìm kiếm các url theo từ khóa của module tìm kiếm sau này, cũng như tính giá trị PageRank cho các trang mới này. Quá trình này sẽ sử dụng đầu vào là nội dung các trang web mới cập nhật trong file nhị

phân tạm, cùng các thơng tin đã có trong file nhị phân cũ. Nó thực hiện việc sắp xếp các url theo từ khóa rồi kết hợp với nội dung cũ của các url trong file nhị phân, và cuối cùng là tính hạng cho các trang Web dựa vào các liên kết giữa các trang.

4.1.2. Q trình tính tốn PageRank trong Vinahoo

4.1.2.1. Cấu trúc hàng đợi các url trong Vinahoo

Vinahoo sử dụng một cấu trúc dữ liệu bảng băm để làm hàng đợi lưu các url cần được index. Lý do vì cấu trúc bảng băm rất thuận tiện cho việc tìm kiếm một phần tử trong danh sách. Vì vậy quá trình kiểm tra một URL đã có mặt trong hàng đợi hay chưa là rất dễ dàng. Các URL trong hàng đợi được nhóm theo site, các url thuộc cùng một site được nhóm vào một danh sách FIFO gọi là CSiteUrls. Việc nhóm các URL theo site có tác ưu điểm là làm giảm việc xử lý các tên miền DNS, giảm số lần phải kết nối tới server, cũng như làm giảm số lần phải duyệt file robots.txt. Do đó làm giảm

đáng kể thời gian duyệt Web. Khi có một url thuộc vào một site cần đưa vào hàng đợi,

url đó được thêm vào cuối danh sách url của site nó thuộc vào. Tồn bộ hàng đợi là

Khi cần lấy ra một url để duyệt tiếp, url ở đỉnh danh sách của site hiện tại sẽ được trích ra. Cấu trúc của hàng đợi này như sau:

Hình6: Cấu trúc hàng đợi CSiteQueue trong Vinahoo

Trong đó: mỗi CsiteUrls là một danh sách một chiều các mảng chứa url thuộc về cùng một site. Và CurlLinks là một mảng gồm 100 url liên tiếp.

Hình7: Cấu trúc một phần tử CSiteUrl

4.1.2.2. Qúa trình tính tốn PageRank trong Vinahoo

Đối với máy tìm kiếm Vinahoo, sau khi đánh chỉ mục các trang Web trong cơ

sở dữ liệu, q trình tính tốn PageRank được thực hiện. Trong Vinahoo, đại lượng PageRank được coi như chính giá trị hạng và giá trị PageRank được lấy trực tiếp để

làm tiêu chí hiển thị có thứ tự các trang ra màn hình cho người dùng. Cơng thức tính PageRank được sử dụng là cơng thức tính PageRank đơn giản. Các trang được tính

PageRank lần lượt, giá trị PageRank được lưu vào file nhị phân. Hạng trang trong Vinahoo được tính theo cơng thức đệ qui. Hàm thực hiện PageRank là: CalsRanks(

CSQLDatabase *database)

4.1.2.3. Nhu cầu đẩy nhanh tốc dộ tính tốn PageRank

Như đã đề cập ở các chương trước, việc xếp hạng các trang Web trong CSDL là một bộ phận rất quan trọng trong một hệ thống tìm kiếm. Chất lượng của module này sẽ ảnh hưởng trực tiếp tới các bước sau của q trình tìm kiếm. Một trong những tính chất quan trọng nhất của module này là tính hiệu quả về thời gian. Nếu q trình tính PageRank khơng đủ nhanh, thì sẽ làm gia tăng thời gian chết của các bộ phận khác trong máy tìm kiếm. Như vậy hệ thống tìm kiếm sẽ khơng cung cấp được chất

m_current

CSiteUrls CSiteUrls ..... CSiteUrls

m_last m_first

lượng tìm kiếm tốt cho người dùng. Việc nâng cao được tốc độ tính tốn PageRank

cũng có tác dụng tăng thêm mức độ tính tốn các vectơ thành phần, hướng tới việc xếp hạng các trang Web quan tâm tới các tiêu chí của người dùng.

4.2.3. Đề xuất giải pháp

4.2.3.1. Cài đặt Modified Adaptive PageRank

Phần này trình bày các đề xuất cài đặt thuật tốn tính hạng Modified Adaptive PageRank trên máy tìm kiếm Vinahoo. Hiện tại, trong modul index của Vinahoo chỉ cài đặt thuật tốn tính PageRank đơn giản. Chúng tơi tiến hành thay modul tính tốn

PageRank bằng modul tương ứng với thuật tốn Modified Adaptive PageRank, vì một số lý do sau:

- Modified Adaptive PageRank được phát triển dựa trên nền của thuật toán PageRank - thuật toán đã được cài đặt trong phần mềm Vinahoo. Khả năng tích hợp Modified Adaptive PageRank vào Vinahoo có độ thành công cao.

- Modified Adaptive PageRank đẩy mạnh tốc độ tính tốn, giảm tính tốn dư thừa.

Để tận dụng tối đa các lớp sẵn có của Vinahoo[1], chúng tôi [2] không xây

dựng ma trận An x n như trong lý thuyết, mà vẫn áp dụng công thức đệ qui nhưng đưa thêm vào phương pháp Modified Adaptive PageRank.

Để đánh dấu sự hội tụ của một trang, chúng ta có hai cách:

- Cách thứ nhất: Thêm thuộc tính cho UrlRank cùng với tách các Url đã hội tụ- chưa hội tụ ra hai file riêng biệt khi lưu trữ.

- Cách hai: Khi lưu trữ sẽ lưu thêm thuộc tính hội tụ converged bằng 1 nếu hội tụ, bằng 0 nếu ngược lại.

Qua so sánh ưu nhược điểm của từng cách, chúng tôi thấy rằng việc lưu hạng của các trang ra hai file có vẻ sẽ tíết kiệm bộ nhớ hơn là lưu trữ thêm thuộc tính hội tụ. Tuy nhiên, khi lưu trữ chúng ta cần lưu trữ toàn bộ PageRank của các URL theo thứ tự lưu trữ là urlID, điều đó giúp q trình đọc và ghi dữ liệu rất thuận tiện và đơn giản. Do vậy, nếu lưu theo hai file khác nhau lại cần có thơng số urlID đi kèm cùng với mỗi giá trị RageRank. Điều đó khơng hề tíết kiệm bộ nhớ, tính tốn khơng đơn giản hơn

Do vậy, chúng tơi chọn cách thêm một thuộc tính đánh dấu sự hội tụ của một UrlRank và khi lưu PageRank của các Url ta sẽ lưu thêm giá trị converged - để đánh dấu nếu giá trị hạng của trang đó đã hội tụ.

nếu giá trị PageRank của trang đã hội tụ ngược lại

4.2. Kết quả thực nghiệm và đánh giá

Một phần của tài liệu Luận văn thạc sỹ CNTT: Khai phá dữ liệu Web và ứng dụng trích chọn thông tin việc làm (Trang 28 - 31)

Tải bản đầy đủ (PDF)

(35 trang)