Các mô hình IR trong tìm kiếm và đánh giá kết quả

Một phần của tài liệu xây dựng một công cụ tìm kiếm thực sự (Trang 25 - 29)

1. MỤC ĐÍC H

1.4.5.Các mô hình IR trong tìm kiếm và đánh giá kết quả

1.4.5.1. Mô hình Boolean

Đại số logic được đưa ra bởi nhà toán học người Anh Gorge Boolẹ Mô hình

Boolean trong tìm kiếm và đánh giá kết quả được đưa ra dựa trên các cơ sở về đại số logic trong đó sử dụng các toán tử logic trong các câu truy vấn. Các toán tử cơ bản được sử dụng là AND, OR, NOT.

Theo cách tiếp cận trên thì tài liệu D được coi như là tập các terms (có mặt hay

không có mặt) còn truy vấn Q là một biểu thức logic của các terms. R(D, Q) đánh giá

tài liệu D có thoả mãn truy vấn Q hay không, nhận giá trị Boolean (R=true nghĩa là

thoả mãn và R=false là không thoả mãn). Tuỳ từng phép toán logic mà một tài liệu được đánh giá là có thoả mãn truy vấn hay không, cụ thể như sau:

AND: Khi sử dụng AND, yêu cầu tìm kiếm phải có mặt tất cả các term trong

câu truy vấn. Ví dụ “A AND B” là truy vấn đòi hỏi các tài liệu liên quan phải có sự xuất hiện của cả 2 term A và B.

OR: Khác với AND, OR chỉ cần sự xuất hiện của một trong số các term có

trong truy vấn.

NOT: NOT A có nghĩa là trong tài liệu không được có A mới thỏa mãn.

XOR: các term xuất hiện trong tài liệu với tích chất loại trừ nhau (có mặt term

này thì không có term kia).

Một truy vấn có thể dùng nhiều toán tử và ký hiệu “(” và “)” được sử dụng để xác định thứ tự ưu tiên ngoài sự ưu tiên thông thường của các phép toán logic. Hình sau đây mô tả giải thuật áp dụng cho các truy vấn sử dụng toán từ AND. Đối với các giải thuật khác, cách tiếp cận là tương tự.

1. Với mỗi term t trong query Lấy về từ t

2. Sắp xếp các term giảm dần theo ft

3. Khởi tạo tập hợp C với danh sách term ft nhỏ nhất 4. Với mỗi phần tử t còn lại

Đọc lt

Với mỗi d thuộc C, nếu phần tử d không thuộc lt thì xóa d ra khỏi tập C Nếu C bằng rỗng, trả về kết quả là rỗng

5. Tìm tất cả d thuộc C và trả về cho người dùng Bảng 1. Giải thuật xử lý truy vấn dạng AND Đánh giá về mô hình Boolean:

• Đơn giản, dễ hiểu và dễ thực hiện dựa trên các khái niệm về tập hợp.

• Chỉ tìm ra các tài liệu với các term xuất hiện chính xác trong tài liệụ

• Do R(D, Q) là giá trị logic nên không có sự so sánh để xếp hạng tài liệu tìm kiếm được.

• Tuỳ thuộc truy vấn mà kết quả có thể rất nhiều hoặc rất ít.

• Các khái niệm về tập hợp thì đơn giản nhưng các biểu thức logic thì

không như vậỵ

• Các term được coi trọng như nhaụ

1.4.5.2. Mô hình không gian vector

Mô hình không gian vector[13] (Vector Space Model –VSM) coi mỗi tài liệu hay truy vấn như là một vector trong không gian vector n chiều với n là số lượng term. Độ tương tự giữa truy vấn Q và tài liệu D chính là khoảng cách Euclit

giữa QD: SC(Q, Di) = QDi. Góc cosin giữa Q và D cũng thường được sử dụng để (adsbygoogle = window.adsbygoogle || []).push({});

Hình 10. Ví dụ đơn giản về VSM

Cái khó trong mô hình VSM là xác định các thành phần của các vector. Nó phải thể hiện được những đặc trưng nào của tài liệu được sử dụng để đại diện cho toàn bộ tài liệụ Một cách lý tưởng, chúng tả sử dụng một khái niệm nào đó giống như là “nghĩa” (meaning) của tài liệụ Như vậy thì hai tài liệu khác nhau về câu chữ nhưng có nghĩa như nhau sẽ được thay thế tương tự nhaụ Tuy nhiên, ngôn ngữ tự nhiên là một lĩnh vực rộng lớn và những nghiên cứu của nó vẫn chưa đáp ứng được yêu cầu trên. Chính vì thế mà ở đây, term được coi là các đặc trưng của tài liệụ

• Mô hình không gian vector nhị phân (Binary Vector Space Model)

Do chiều dài của các vector phải bằng nhau nên mỗi term riêng biệt xuất hiện trong tài liệu được tương ứng với một thành phần của vector. Giá trị của các thành phần có thể thay đổị Với mô hình nhị phân (BVSM) thì giá trị của chúng là 0 hoặc là 1 (0- nếu term không xuất hiện trong tài liệu, 1- nếu term xuất hiện trong tài liệu).

Hướng tiếp cận BVSM đơn giản nhưng trong trường hợp có sự xuất hiện nhiều lần của một term trong tài liệu thì BVSM không thể hiện được.

Ví dụ về ngôn ngữ loài voi: Các con voi chỉ dùng 3 từ A, B, C để giao tiếp. Tài

liệu D1={A, A, B} được thay thế bởi vector (1, 1, 0) với thành phần thứ nhất, thứ hai,

thứ 3 lần lượt đại diện cho A, B, C. Truy vấn Q = {A, B} được thay thế bằng vector (1,

1, 0). Khi đó, Tích của Q và D1 là 1.1 + 1.1 + 0.0 = 2. Giả sử có tài liệu D2 ={A} sẽ

được thay thế bằng vector (1, 0, 0) và sẽ có mức độ tương tự với Q là 1.1 + 1.0 + 0.0 = 1. D3 = {C} sẽ có độ tương tự với Q là 0.

• Tần suất term (term frequency – tf)[21]

Như thí dụ nêu trên, D1 có 2 lần xuất hiện của term A nhưng BVSM không biểu

khái niệm tần suất term. Các tài liệu có sự xuất hiện nhiều lần của một term hơn thông thường có mức độ liên quan cao hơn.

Hơn nữa, một term có thể xuất hiện nhiều lần trong một truy vấn và để biểu diễn nó người ta đưa ra khái niệm “tần suất term trong truy vấn” (query term frequency – qtf).

Quay lại thí dụ về ngôn ngữ loài voi, ta có D1 được thay thế bởi (2, 1, 0) và độ tương tự của nó với truy vấn Q là 2.1 + 1.1 + 0.0 = 3, cao hơn so với trường hợp dùng BVSM.

• Tần suất tài liệu đảo (Inverse document frequency - idf) [21]

Nếu chỉ sử dụng tf sẽ không đánh giá được mức độ quan trọng của term trong

tài liệu (một số term trong tài liệu là quan trọng hơn hẳn các term khác). Vì thế mà có thể một số term xuất hiện ít nhưng lại nói lên nội dung chính của tài liệụ Để đánh giá

mức độ quan trọng của term, người ta gán cho chúng một trọng số (weight).

Ý tưởng của khái niệm idf là “các term xuất hiện trong ít tài liệu thường có

trọng số cao còn các term xuất hiện phổ biến có trọng số thấp”. Chẳng hạn như từ “the” xuất hiện trong hầu hết các tài liệu, nên hầu như không có ý nghĩa trong việc xác định nội dung tài liệu (trọng số = 0).

Nếu tần suất xuất hiện của term trong toàn bộ bộ sưu tập tài liệu gồm N tài liệu là df (document frequency) thì idf được tính như sau: idf = log10(N/df ). Để ý rằng nếu term A chỉ xuất hiện trong 1 trên 1 triệu tài liệu thì trọng số của nó là

log10(1.000.000/1)=6, còn nếu term B xuất hiện trong mọi tài liệu thì trọng số của nó là log10(1.000.000/1.000.000)=0. Hàm logarit ở đây có nhiệm vụ giảm tỷ lệ các trọng số để tránh thao tác với các con số quá lớn. Ví dụ truy vấn “black microscope” sẽ gần với các tài liệu chỉ chứa term “microscope” hơn là các tài liệu chỉ chứa term “black”.

• Tần suất term - tần xuất tài liệu đảo (tf-idf)[26]

Giá trị tf-idf được sử dụng để đánh giá các thành phần của vector tài liệu

(document vetor) vì nó là sự kết hợp ảnh hưởng của cả số lần xuất hiện của term và mức độ quan trọng của term trong tài liệụ

Quay lại thí dụ ngôn ngữ loài voi, giả sử idf (A) = 3idf(B) = 4. Lúc này D1

= (A, A, B) được thay thế bằng (6, 4, 0) Q = {A, B} Ta có : SC(Q, D1) = 3.6 + 4.3 + 4.4 = 34.

Chiều dài tài liệu (Document length)

Các tài liệu dài với nhiều từ xuất hiện hơn có xu hướng được đánh giá cao hơn các tài liệu ngắn. Tài liệu dài có nhiều từ ngữ phù hợp với truy vấn tất nhiên là sẽ được đánh giá cao hơn các tài liệu ngắn với ít từ ngữ. Nhằm chuẩn hóa độ dài của tài liệu, (adsbygoogle = window.adsbygoogle || []).push({});

phương pháp cosine được ưa dùng. Phương pháp này chia các độ đo mức độ tương tự

các tài liệu dài được coi là khớp với truy vấn hơn chỉ đơn giản bởi kích thước của chúng.

Lược đồ sau đây cho ta thấy tỷ lệ tìm được ít hơn tỷ lệ tài liệu tương tự áp dụng cho tài liệu nhỏ, và ngược lại với tài liệu có kích thước lớn, tỷ lệ tìm được lại lớn hơn. Giao điểm trên trục ngang (pivot) cho ta tọa độ trên đường thẳng cần thiết cho việc điều chỉnh các nhân tố chuẩn hóạ Độ dốc (slope) của đường thẳng này cũng có thể được tính rạ

Hình 11. Chuẩn hóa độ dài của tài liệu

Một phần của tài liệu xây dựng một công cụ tìm kiếm thực sự (Trang 25 - 29)