Làm thế nào để so sánh hai thuật toán xếp hạng?


12

Tôi muốn so sánh hai thuật toán xếp hạng. Trong các thuật toán này, khách hàng chỉ định một số điều kiện trong tìm kiếm của mình. Theo yêu cầu của khách hàng, các thuật toán này sẽ chỉ định điểm cho từng mục trong cơ sở dữ liệu và truy xuất các mục có điểm cao nhất.

Tôi đã đọc các chủ đề khác nhau liên quan đến câu hỏi của tôi trong trang web này và tìm kiếm trên mạng. Theo các tìm kiếm của tôi, bài viết phù hợp nhất giải thích về một số số liệu để so sánh các thuật toán xếp hạng, là: Brian McFee và Gert RG Lanckriet, Số liệu học để xếp hạng, ICML 2010 ( https://bmcfee.github.io/ con / mlr .pdf ). Tôi nghĩ pre @ k, MAP, MRR và NDCG, là những số liệu tốt để sử dụng, nhưng tôi có một vấn đề:

Thuật toán của tôi sắp xếp kết quả, vì vậy mục đầu tiên trong danh sách kết quả của tôi là mục tốt nhất có điểm cao nhất, kết quả thứ hai có điểm cao thứ hai, v.v. Tôi giới hạn thuật toán tìm kiếm của tôi, ví dụ như tìm 5 kết quả tốt nhất. Kết quả là 5 mục hàng đầu nhất. Vì vậy, độ chính xác sẽ là 1. Khi tôi giới hạn tìm kiếm của mình để tìm kết quả tốt nhất, Nó sẽ tìm thấy kết quả tốt nhất. Một lần nữa, độ chính xác sẽ là 1. Nhưng vấn đề là ở chỗ, không thể chấp nhận được đối với những người nhìn thấy kết quả này.

Tôi có thể làm gì? Làm thế nào tôi có thể so sánh các thuật toán này và hiển thị một thuật toán tốt hơn thuật toán kia?

Câu trả lời:


5

Chiết khấu tích lũy (DCG) là một trong những số liệu phổ biến nhất được sử dụng để đánh giá xếp hạng bởi bất kỳ công cụ tìm kiếm nào. Đó là thước đo chất lượng xếp hạng. Trong truy xuất thông tin, nó thường được sử dụng để đo lường hiệu quả của công cụ tìm kiếm web.

Nó dựa trên các giả định sau:

  1. Các tài liệu có liên quan cao sẽ hữu ích hơn nếu xuất hiện sớm hơn trong kết quả tìm kiếm.
  2. Các tài liệu có liên quan cao sẽ hữu ích hơn các tài liệu có liên quan bên lề tốt hơn các tài liệu không liên quan.

Công thức cho DCG như sau:

(1)DCGp=i=1prelilog2(i+1)=rel1+i=2prelilog2(i+1)

Ở đâu:

  • i là vị trí trả về của một tài liệu trong kết quả tìm kiếm.
  • reli là mức độ phù hợp của tài liệu
  • tổng cộng trên p (số kết quả được trả về) do đó, tích lũy tích lũy mang lại số liệu hiệu suất của kết quả được trả về.

DCG có nguồn gốc từ CG (Tích lũy tăng) , được đưa ra bởi:

(2)CGp=i=1preli

Từ (2) có thể thấy rằng không thay đổi để thay đổi thứ tự kết quả. Do đó, để khắc phục vấn đề này DCG đã được giới thiệu. Có một hình thức khác của DCG, phổ biến để đặt trọng tâm rất cao vào việc truy xuất các tài liệu. Phiên bản DCG này được cung cấp bởi:CGp

(3)DCGp=i=1p2reli1log2(i+1)

Một nhược điểm rõ ràng của phương trình DCG được trình bày trong (1) và (3) là các thuật toán trả về một số kết quả khác nhau không thể được so sánh một cách hiệu quả. Điều này là do giá trị của càng cao thì giá trị của sẽ càng cao .pDCGp

Để khắc phục vấn đề này, DCG (nDCG) được chuẩn hóa được đề xuất. Nó được đưa ra bởi,

nDCGp=DCGpIDCGp

nơi là lý tưởng , được đưa ra bởi,IDCGpDCGp

IDCGp=i=1|REL|2reli1log2(i+1)

Ở đâu | LIÊN | là danh sách các tài liệu được sắp xếp theo mức độ phù hợp trong kho văn bản cho đến vị trí p.

Đối với một thuật toán xếp hạng hoàn hảo,

DCGp=IDCGp

Vì các giá trị của nDCG được chia tỷ lệ trong phạm vi [0,1], nên có thể so sánh truy vấn chéo bằng cách sử dụng các số liệu này.

Hạn chế: 1. nDCG không xử phạt việc truy xuất tài liệu xấu trong kết quả. Điều này có thể khắc phục bằng cách điều chỉnh các giá trị liên quan được quy cho các tài liệu. 2. nDCG không xử phạt các tài liệu bị thiếu. Điều này có thể được khắc phục bằng cách sửa kích thước truy xuất và sử dụng điểm tối thiểu cho các tài liệu bị thiếu.

Tham khảo điều này để xem các tính toán ví dụ của nDCG.

Tài liệu tham khảo


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.