Thuật toán tìm kiếm theo độ tương quan (relevance)

Một phần của tài liệu Xây dựng, thử nghiệm giải pháp tìm kiếm theo yêu cầu người dùng, sử dụng cloud computing và thuật toán mapreduce (Trang 47 - 49)

Khi đã có được dữ liệu chỉ mục, chúng ta có thể tìm kiếm trong nội dung các văn bản thông qua thuật toán tìm kiếm, ở đây sử dụng thuật toán tìm kiếm theo độ tương quan gần nhất của các từ trong truy vấn và trong văn bản. Một trong những

phương pháp hay dùng được gọi là tf*idf [29], dùng để truy vấn thông tin, dựa trên phương pháp thống kê được sử dụng để đánh giá tầm quan trọng của một từ trong văn bản. Trong đó

tf: tần suất xuất hiện của từ trong văn bản. Ta có công thức sau:

∑ = knk j j ni , j i, , tf

Trong đó ni,j là số lần xuất hiện của từ (ti) trong văn bản thứ dj và tổng tất cả các từ trong văn bản dj có kích thước là |dj|.

Tần suất văn bản đảo ngược là một đại lượng để đo độ quan trọng của từ trong văn bản được tính bằng công thức:

1 log idfk = 2 + k nDoc nDoc Trong đó:

- nDock: tổng số tài liệu xuất hiện từ k - nDoc: tổng số tài liệu

Giá trị cuối cùng tf-idf được xác định:

i j i, j i, f x idf idf) - (tf =t

Trong đó giá trị trọng số tf-idf cao được xác định bằng từ có tần suất xuất hiện cao trong tài liệu và số lượng văn bản chứa từ có số lượng thấp trong toàn thể các văn bản, do đó trọng số này có xu hướng lọc ra các từ phổ thông, có tần suất xuất hiện lớn. Giá trị tf-idf cho một từ sẽ lớn hơn 0, chỉ xảy ra khi tỉ số bên trong công thức idf lớn hơn 1.

Trong thực tế để tính điểm tf-idf hay dùng mô hình không gian vector để tính độ tương quan giữa hai văn bản.

Khi người dùng sử dụng một câu truy vấn để tìm kiếm thông tin, bộ phân tích truy vấn sẽ phân tích câu truy vấn, tách ra thành một tập các từ. Sau đó hệ thống tìm kiếm sẽ tìm trong tất cả các chỉ mục đã được đánh chỉ mục sắn, xem các văn bản có độ

tượng quan như thế nào với câu truy vấn. Bằng cách sử dụng công thức tf-idf, hệ thống tìm kiếm sẽ duyệt qua toàn bộ các văn bản để tính điểm của câu truy vấn so với nội dung của văn bản. Sau đó hệ thống tìm kiếm sẽ sắp xếp lại toàn bộ các văn bản theo điểm thu được từ công thức tf-idf theo trật tự từ trên xuống dưới, và trả lại tập kết quả từ toàn bộ các văn bản.

Sau khi đã có tập các văn bản có điểm cao nhất, hệ thống xếp hạng ranking sẽ thực hiện các phép biến đổi điểm, dựa trên các điều kiện độ ưu tiên khác, cập nhật lại điểm chính xác để sắp xếp lại các kết quả. Việc sử dụng càng nhiều điều kiện để sắp xếp càng làm cho hệ thống phức tạp và khó tính toán. Theo Google, họ sử dụng hơn 200 dấu hiệu để sắp xếp kết quả, và cập nhật thuật toán tìm kiếm theo độ tương quan hàng tuần [52].

Một phần của tài liệu Xây dựng, thử nghiệm giải pháp tìm kiếm theo yêu cầu người dùng, sử dụng cloud computing và thuật toán mapreduce (Trang 47 - 49)