TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN HỆ THỐNG THÔNG TIN TSÀN QUẾ HƯƠNG – 0112385 VÕ HỒ BẢO KHANH – 0112387 XÂY DỰNG BỘ NGỮ LIỆU ĐỂ ĐÁNH GIÁ BẰNG TIẾNG VIỆT VÀ CHƯƠNG TRÌNH TRỢ GIÚP ĐÁNH GIÁ CÁC HỆ TÌM KIẾM THÔNG TIN

KHÓA LUẬN CỬ NHÂN TIN HỌC

GIÁO VIÊN HƯỚNG DẪN T.S HỒ BẢO QUỐC

NIÊN KHÓA 2001 - 2005

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Ý KIẾN CỦA GIÁO VIÊN PHẢN BIỆN

………………………………………………………………………………………

….…………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

………………………………………………………………………………………

……………………………………………………………………………………… ……………………………………………………………………………………… ………………………………………………………………………………………

Trang 2

Xác nhận của GVPB

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

ĐỀ CƯƠNG CHI TIẾT

Thông tin chung về đề tài: Tên đề tài: Xây dựng bộ ngữ liệu để đánh giá (test collection) bằng tiếng Việt và chương trình trợ giúp đánh giá các hệ tìm kiếm thông tin GVHD: Tiến sĩ Hồ Bảo Quốc Sinh viên thực hiện: 1. MSSV: 0112385 Họ và tên: Tsàn Quế Hương 2. MSSV: 0112387 Họ và tên: Võ Hồ Bảo Khanh

Tóm tắt nội dung luận văn: Đề tài gồm 2 phần : 1. Xây dựng bộ ngữ liệu để đánh giá các hệ thống tìm kiếm thông tin tiếng Việt. Việc xây dựng bộ ngữ liệu gồm ba phần : _ Xây dựng ngữ liệu mẫu tiếng Việt _ Xây dựng tập câu truy vấn mẫu tiếng Việt _ Xây dựng một bảng đánh giá bằng thủ công 2.Xây dựng một hệ thống chương trình trợ giúp việc đánh giá các hệ thống tìm kiếm thông tin với thành phần đầu vào : ngữ liệu mẫu, câu truy vấn mẫu, hệ thống tìm kiếm thông tin ; các thành phần đầu ra : kết quả truy vấn, kết quả đánh giá, nội dung tập tài liệu, câu truy vấn

Một số từ khóa chính liên quan đến nội dung đề tài: Đánh giá các hệ thống tìm kiếm thông tin (information retrieval systems evaluation)

Lĩnh vực áp dụng: Đánh giá các hệ thống tìm kiếm thông tin tiếng Việt.

Các thuật toán, phương pháp, quy trình chính được nghiên cứu, ứng dụng trong đề tài _ Tìm hiểu về tìm kiếm thông tin (information retrieval), đánh giá các hệ thống tìm kiếm thông tin (information retrieval systems evaluation) _ Tìm hiểu cấu trúc của bộ ngữ liệu, phương pháp xây dựng bộ ngữ liệu của TREC (Text REtrieval Conference) _ Tìm hiểu và sử dụng các hệ thống tìm kiếm : SMART, IOTA ,Lucene,Terrier… _ Xây dựng bộ ngữ liệu kiểm tra bằng tiếng Việt

Trang 3

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

_ Xây dựng một hệ chương trình phục vụ việc kiểm tra và đánh giá các hệ thống tìm kiếm thông tin. Chương trình phải chạy được trên hai hệ điều hành : Windows và Linux, chương trình viết bằng ngôn ngữ Java

Các công cụ, công nghệ chính được nghiên cứu, ứng dụng trong đề tài Borland Jbuider X Visual Studio . NET Microsoft Visio 2003 Rational Rose Microsoft Word, Power Point

Xác nhận của GVHD

Trang 4

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Lời cám ơn

(cid:90) (cid:88)  

Chúng em xin chân thành cảm ơn các Thầy Cô Khoa Công nghệ Thông tin đã

hướng dẫn và giảng dạy rất nhiệt tình cho chúng em trong suốt bốn năm học ở

Trường Đại học Khoa học Tự nhiên. Những kiến thức mà chúng em đã học được

trên giảng đường sẽ là hành trang quý báu trên bước đường đời của chúng em.

Chúng em xin cảm ơn Thầy Hồ Bảo Quốc đã tạo cơ hội cho chúng em được

nghiên cứu học hỏi về lĩnh vực tìm kiếm thông tin bằng Tiếng Việt, một lĩnh vực

tương đối mới và hấp dẫn ở Việt Nam . Một lần nữa chúng em xin cảm ơn Thầy vì

Thầy đã tận tình hướng dẫn chúng em đề tài luận văn “Xây dựng bộ ngữ liệu dùng

để đánh giá bằng tiếng Việt và chương trình trợ giúp đánh giá các hệ thống tìm

kiếm thông tin”.

Chúng em xin cảm ơn gia đình, các anh chị, bạn bè đã động viên, giúp đỡ

chúng em để hoàn thành tốt đề tài luận văn này.

Nhóm sinh viên thực hiện

Trang 5

Tsàn Quế Hương – Võ Hồ Bảo Khanh

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

MỤC LỤC MỞ ĐẦU ............................................................................................................ 10 Chương 1 : TỔNG QUAN ................................................................................. 13 1.1. Tổng quan về tìm kiếm thông tin và hệ thống tìm kiếm thông tin ........................13 1.2. Tổng quan về đánh giá các hệ thống tìm kiếm thông tin ......................................14 1.2.1. Lý do để tiến hành đánh giá các hệ thống tìm kiếm thông tin........................14 1.2.2. Các tiêu chuẩn được dùng để đánh giá .........................................................15 1.2.3. Các mô hình đánh giá...................................................................................15 1.2.4. Các độ đo dùng để đánh giá .........................................................................18 1.2.5. Các phương pháp xây dựng bộ ngữ liệu dùng để đánh giá ............................18 1.2.6. Phương pháp xây dựng bộ ngữ liệu được chọn.............................................20 1.2.7. Phương pháp đánh giá tầm quan trọng của kết quả trả về .............................21 Chương 2 : CƠ SỞ LÝ THUYẾT....................................................................... 22 2.1. Tìm kiếm thông tin và các hệ thống tìm kiếm thông tin.......................................22 2.1.1. Lịch sử tìm kiếm thông tin và hệ thống tìm kiếm thông tin...........................22 2.1.2. Hệ thống tìm kiếm thông tin.........................................................................25 2.1.2.1. Khái niệm về hệ thống tìm kiếm thông tin .............................................25 2.1.2.2. Cách thức hoạt động của hệ thống tìm kiếm thông tin............................25 2.1.2.3. Các phương tiện tìm kiếm thông tin (Search Engines) ...........................27 2.1.3. So sánh tìm kiếm thông tin cổ điển và tìm kiếm thông tin trên Web .............29 2.1.4. So sánh tìm kiếm thông tin với tìm kiếm dữ liệu ..........................................30 2.1.5. Công thức trừu tượng trong tìm kiếm thông tin ............................................31 2.1.6. Các mô hình tìm kiếm thông tin cổ điển để sắp thứ tự liên quan ...................32 2.1.6.1. Mô hình Đại số Bool .............................................................................32 2.1.6.2. Mô hình không gian vec-tơ....................................................................33 2.2. Đánh giá các hệ thống tìm kiếm thông tin ...........................................................36 2.2.1. Nền tảng đánh giá các hệ thống tìm kiếm thông tin ......................................36 2.2.2. Mô hình đánh giá hướng hệ thống ................................................................37 2.2.2.1. Từ Cranfield đến TREC ........................................................................37 2.2.2.2. Thủ tục đánh giá....................................................................................39 2.2.2.3. Đánh giá sự liên quan............................................................................40 2.2.3. Thực hiện đo khả năng tìm kiếm ..................................................................41 2.2.3.1. Các khái niệm về độ đo và liên quan .....................................................41 2.2.3.2. Cách tính độ bao phủ (R) và độ chính xác (P)........................................42 2.2.3.3. Phương pháp tính độ chính xác dựa trên 11 điểm chuẩn của độ bao phủ 44 2.2.3.3.1. Đồ thị biểu diễn hiệu suất thực thi hệ thống tìm kiếm .....................44 2.2.3.3.2. Đường cong độ bao phủ và độ chính xác RP...................................45 2.2.3.3.3. Đường cong RP cho tập truy vấn ....................................................47 2.2.3.3.4. Đánh giá hệ thống tìm kiếm thông tin dựa vào đồ thị ......................48 2.2.3.4. Sự liên quan giữa câu hỏi và tài liệu ......................................................49 2.2.3.4.1. Các độ liên quan .............................................................................49 2.2.3.4.2. Các vấn đề về độ liên quan .............................................................49 2.2.3.4.3. Đánh giá với độ liên quan nhiều cấp độ ..........................................51 2.2.3.4.4. Phương pháp đo độ bao phủ (R), độ chính xác (P) dựa trên độ liên quan nhiều cấp độ ..........................................................................................53

Trang 6

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

2.2.4. TREC và đánh giá theo chuẩn TREC ...........................................................54 2.2.4.1. TREC là gì? ..........................................................................................54 2.2.4.2. Cách xây dựng ngữ liệu của TREC........................................................56 2.2.4.2.1. Xây dựng tập hợp các tài liệu..........................................................57 2.2.4.2.2. Xây dựng các chủ đề.......................................................................57 2.2.4.2.3. Xây dựng bảng đánh giá liên quan chuẩn........................................58 2.3. Ngữ liệu tiếng Việt .............................................................................................59 2.3.1. Từ................................................................................................................60 2.3.1.1. Quan niệm về từ....................................................................................60 2.3.1.2. Quan niệm về hình vị ............................................................................61 2.3.1.3. Khái niệm về cấu tạo từ.........................................................................61 2.3.2. Ranh giới từ .................................................................................................62 Chương 3 : THIẾT KẾ VÀ CÀI ĐẶT ................................................................. 63 3.1. Xây dựng bộ ngữ liệu dùng để đánh giá ..............................................................63 3.1.1. Xây dựng kho ngữ liệu bằng tiếng Việt ........................................................63 3.1.1.1. Chuẩn hóa ngữ liệu ...............................................................................63 3.1.1.1.1. Chuẩn hóa dạng ngữ liệu ................................................................63 3.1.1.1.2. Định dạng ngữ liệu .........................................................................64 3.1.2. Xây dựng tập câu hỏi bằng tiếng Việt...........................................................64 3.1.3. Tách từ tiếng Việt ........................................................................................65 3.1.4. Xây dựng bảng đánh giá...............................................................................65 3.1.4.1. Hệ thống SMART .................................................................................66 3.1.4.1.1. Giới thiệu hệ thống SMART...........................................................66 3.1.4.1.2. Quá trình tìm kiếm thông tin của SMART ......................................66 3.1.4.1.3. Mô hình vec-tơ của hệ thống SMART ............................................67 3.1.4.1.4. Sử dụng mô hình vec-tơ..................................................................69 3.1.4.2. Hệ thống Search4Vn .............................................................................73 3.1.4.3. Hệ thống TERRIER ..............................................................................73 3.1.4.4. Hệ thống X-IOTA .................................................................................74 3.1.4.5. Hệ thống LUCENE ...............................................................................74 3.2. Phân tích hệ thống đánh giá các hệ thống tìm kiếm thông tin ..............................74 3.2.1. Mô tả hệ thống trợ giúp đánh giá..................................................................74 3.2.1.1. Phát biểu bài toán..................................................................................74 3.2.1.2. Mục tiêu................................................................................................75 3.2.1.3. Phạm vi .................................................................................................75 3.2.1.4. Chức năng .............................................................................................75 3.2.1.5. Tính khả dụng .......................................................................................76 3.2.1.6. Hiệu suất ...............................................................................................76 3.2.1.7. Tính bảo mật .........................................................................................76 3.2.2. Phân tích hệ thống đánh giá..........................................................................76 3.2.2.1. Chức năng của hệ thống ........................................................................76 3.2.2.2. Chức năng yêu cầu ................................................................................77 3.2.2.2.1. Chức năng đánh giá một hệ thống IR ..............................................77 3.2.2.2.2. Chức năng so sánh nhiều hệ thống IR .............................................77 3.2.2.2.3. Sơ đồ use case ................................................................................77 3.2.2.2.4. Sơ đồ tuần tự hoạt động usecase .....................................................79

Trang 7

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

3.3. Thiết kế hệ thống đánh giá ..................................................................................86 3.3.1. Các chức năng của chương trình...................................................................86 3.3.1.1. Chức năng “Định dạng cơ sở dữ liệu tài liệu” ........................................86 3.3.1.2. Chức năng “Định dạng kết quả trả về”...................................................86 3.3.1.3. Chức năng “Định dạng file index”.........................................................87 3.3.1.4. Chức năng “Thực thi hệ thống IR” ........................................................87 3.3.1.5. Chức năng “Xử lý kết quả trả về” ..........................................................87 3.3.1.6. Chức năng ”Đánh giá một hệ thống IR”.................................................87 3.3.1.7. Chức năng “Đánh giá nhiều hệ thống IR”..............................................87 3.3.2. Thiết kế hệ thống .........................................................................................88 3.3.2.1. Sơ đồ kiến trúc tổng thể.........................................................................88 3.3.2.1.1. Danh sách các lớp đối tượng...........................................................88 3.3.2.1.2. Lớp đối tượng thể hiện....................................................................88 3.3.2.1.3. Lớp đối tượng xử lý........................................................................91 3.3.2.1.4. Lớp đối tượng lưu trữ .....................................................................99 3.3.2.2. Sơ đồ kiến trúc tổng quát cho từng chức năng của chương trình ............99 3.3.2.2.1. Chức năng “Định dạng tài liệu” ......................................................99 3.3.2.2.2. Chức năng “Định dạng câu hỏi”.................................................... 100 3.3.2.2.3. Chức năng “Thực thi hệ thống” .................................................... 101 3.3.2.2.4. Chức năng “Định dạng kết quả”.................................................... 102 3.3.2.2.5. Chức năng “Định dạng file index” ................................................ 103 3.3.2.2.6. Chức năng “Đánh giá và hiện thi kết quả đánh giá” ...................... 103 3.3.2.2.7. Chức năng ”So sánh các hệ thống IR đã được thực thi” ................ 104 3.3.2.3. Thiết kế dữ liệu – tổ chức lưu trữ......................................................... 105 3.3.2.3.1. Mô hình dữ liệu ............................................................................ 105 3.3.2.3.2. Sơ đồ logic dữ liệu........................................................................ 107 3.3.2.4. Tố chức lưu trữ dữ liệu........................................................................ 110 3.3.2.4.1. System.......................................................................................... 110 3.3.2.4.2. Topic ............................................................................................ 112 3.3.2.4.3. Index_topic................................................................................... 113 3.3.2.4.4. Document ..................................................................................... 114 3.3.2.4.5. Index_Doc.................................................................................... 115 3.3.2.4.6. relevant_TT.................................................................................. 115 3.3.2.4.7. relevant_LT .................................................................................. 116 3.3.2.4.8. evaluation..................................................................................... 117 3.3.2.5. Thiết kế giao diện................................................................................ 119 3.3.2.5.1. Sơ đồ liên hệ giữa các màn hình ................................................... 119 3.3.2.6. Thiết kế màn hình................................................................................ 122 3.3.2.6.1. Màn hình chính (TH_Main) .......................................................... 122 3.3.2.6.2. Màn hình định dạng tài liệu (TH_DDTaiLieu) .............................. 122 3.3.2.6.3. Màn hình tạo thuộc tính cho tài liệu (TH_TTTaiLieu) .................. 124 3.3.2.6.4. Màn hình định dạng câu hỏi (TH_DDCauHoi).............................. 125 3.3.2.6.5. Màn hình tạo thuộc tính cho câu hỏi (TH_TTCauHoi) .................. 127 3.3.2.6.6. Màn hình xử lý điều kiện để thực thi hệ thống IR.......................... 128 3.3.2.6.7. Màn hình thực thi hệ thống (TH_ThucThiHT) .............................. 129 3.3.2.6.8. Màn hình định dạng kết quả (TH_DDKetQua).............................. 130

Trang 8

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

3.3.2.6.9. Màn hình định dạng thông tin index (TH_DDIndex)..................... 131 3.3.2.6.10. Màn hình đánh giá hệ thống (TH_KqDanhGia)........................... 133 3.3.2.6.11. Màn hình xem đồ thị của hệ thống .............................................. 136 3.3.2.6.12. Màn hình xem chi tiết (TH_XemChiTiet) ................................... 136 3.3.2.6.13. Màn hình so sánh hệ thống (TH_SoSanhHT) .............................. 138 3.3.2.7. Thiết kế hệ thống lớp đối tượng........................................................... 139 3.3.2.7.1. Các lớp đối tượng xử lý ................................................................ 139 3.3.2.7.2. Các lớp đối tượng lưu trữ.............................................................. 169 Chương 4 : KẾT QUẢ ĐÁNH GIÁ .................................................................. 171 4.1. Ngưỡng đánh giá .............................................................................................. 171 4.2. Đánh giá hệ thống tìm kiếm thông tin search4VN ............................................. 171 4.3. So sánh hệ thống tìm kiếm search4VN và hệ thống Lucene............................... 177 4.4. Nhận xét chương trình hỗ trợ đánh giá hệ thống tìm kiếm thông tin .................. 179 4.4.1. Ưu điểm..................................................................................................... 179 4.4.2. Khuyết điểm .............................................................................................. 179 Chương 5 : KẾT LUẬN .................................................................................... 181 Chương 6 : HƯỚNG PHÁT TRIỂN.................................................................. 182 PHỤ LỤC ......................................................................................................... 183 Tài liệu tham khảo .......................................................................................... 186

Trang 9

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

MỞ ĐẦU

Tìm kiếm thông tin là nhu cầu thiết thực của tất cả mọi người. Đặc biệt trong

bối cảnh bùng nổ thông tin như hiện nay, gồm có sự ra đời của internet và sáng

kiến về thư viện điện tử, nhu cầu tìm kiếm thông tin lại càng phát triển. Nhưng

nhờ có sự trợ giúp của công nghệ thông tin con người có thể thỏa mãn nhu cầu này

một cách dễ dàng. Thật vậy, có rất nhiều hệ thống tìm kiếm thông tin

(Information Retrieval system hay IR system) trên máy tính đang tồn tại để trợ

giúp con người. Tuy nhiên, khả năng tìm kiếm thông tin của các hệ thống này

chắc chắn khác nhau. Do đó, việc đánh giá các hệ thống tìm kiếm thông tin

(Evaluation of Information Retrieval systems) là một nhu cầu không thể thiếu

nhằm xác định các hệ thống tìm kiếm thông tin hiệu quả. Việc đánh giá này có ý

nghĩa rất lớn đối với sự tồn tại và phát triển của các hệ thống tìm kiếm thông tin.

Nó giúp xác định khả năng tìm kiếm của các hệ thống tìm kiếm thông tin từ đó mà

các tổ chức, công ty, trường học tạo ra hệ thống này có thể phát triển, thay đổi hệ

thống để đưa ra khả năng tìm kiếm thông tin tốt nhất. Ngoài ra, việc xác định các

hệ thống tìm kiếm thông tin hiệu quả rất hữu ích đối với người dùng, họ sẽ cảm

thấy tin tưởng vào kết quả tìm kiếm mà hệ thống tìm được. Xa hơn nữa, việc đánh

giá sẽ tạo ra một cuộc cách mạng trong lĩnh vực tìm kiếm thông tin; giúp đưa tìm

kiếm thông tin vào trong thế giới thực của đời sống. Chẳng hạn, khi các hệ thống

tìm kiếm thông tin tiến bộ chuyển từ nghiên cứu sang thế giới thực của cạnh tranh

thương mại thì những nhà thiết kế, nhà phát triển, người bán hàng, và những đại

diện bán hàng của các sản phẩm thông tin mới như sách điện tử, và các phương

tiện tìm kiếm (Search engines) … muốn biết sản phẩm của họ có cung cấp cho

những người sử dụng và người mua hàng tiềm năng các lợi thế cạnh tranh hay

không, sẽ được thỏa mãn nhu cầu thông tin này một cách dễ dàng, chính xác.

Khả năng tìm kiếm của hệ thống tìm kiếm thông tin chúng tôi vừa đề cập

được nghiên cứu ở nhiều cấp độ: thứ nhất là về khả năng xử lý tức thời gian tìm

Trang 10

kiếm và không gian lưu trữ hay còn gọi là hiệu năng; thứ hai là về khả năng tìm

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

kiếm hay hiệu quả của kết quả trả về; thứ ba là khả năng về hệ thống tức hệ thống

có thỏa mãn nhu cầu thông tin của người dùng hay không.

Hiện nay, trên thế giới đã có rất nhiều hệ thống đánh giá các hệ thống tìm kiếm

thông tin nhưng chủ yếu là đánh giá các hệ thống tìm kiếm thông tin tiếng Anh,

tiếng Pháp. Đối với tiếng Việt, theo chúng tôi được biết, chưa có một hệ thống nào

được dùng để đánh giá các hệ thống tìm kiếm thông tin tiếng Việt. Nhưng theo xu

hướng phát triển của đất nước và nhu cầu tìm kiếm thông tin thì các hệ thống tìm

kiếm thông tin tiếng Việt bắt buộc phải tồn tại và phát triển. Vì vậy, Việt Nam

chúng ta rất cần các hệ thống được dùng để đánh giá hiệu năng, hiệu quả của các

hệ thống tìm kiếm thông tin tiếng Việt.

Do ý nghĩa to lớn của lĩnh vực nghiên cứu đánh giá này, chúng tôi đã quyết

định chọn đề tài đánh giá các hệ thống tìm kiếm thông tin. Chúng tôi nghĩ rằng hệ

thống đánh giá của chúng tôi sẽ là cơ sở để đánh giá tất cả các hệ thống tìm kiếm

thông tin, nhất là hệ thống tìm kiếm thông tin tiếng Việt. Chúng tôi cũng hy vọng

hệ thống của chúng tôi sẽ góp phần vào sự phát triển của các hệ thống tìm kiếm

thông tin, của tìm kiếm thông tin và của công nghệ thông tin nước ta.

Thực hiện đánh giá khả năng tìm kiếm, chúng tôi tập trung vào đánh giá hiệu

quả của kết quả tìm kiếm được trả về (cấp độ thứ hai trong khả năng tìm kiếm của

hệ thống thông tin ở trên). Hiệu quả của kết quả trả về được định nghĩa là khả

năng hệ thống tìm kiếm thông tin tìm được các tài liệu liên quan (Relevant

Documents) và loại bỏ đi những tài liệu không liên quan (Irrelevant

Documents). Đây là mô hình hướng hệ thống trong nghiên cứu tìm kiếm thông tin.

Mô hình này mô hình đánh giá được sử dụng nhiều nhất và hiệu quả nhất trên thế

giới.

Và để xây dựng hệ thống đánh giá các hệ thống tìm kiếm thông tin tiếng Việt

theo mô hình hướng hệ thống, trước hết, chúng tôi cần phải xây dựng bộ ngữ liệu

dùng để đánh giá bằng tiếng Việt (a Vietnamese Test collection). Bộ ngữ liệu

Trang 11

dùng để đánh giá gồm có kho ngữ liệu mẫu bằng tiếng Việt (a Vietnamese

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Corpus hay a set of Vietnamese documents), tập câu truy vấn mẫu bằng tiếng

Việt (a set of Vietnamese queries), và bảng đánh giá liên quan chuẩn

(Relevance Judgment). Chúng tôi tìm hiểu và thực hiện xây dựng bộ ngữ liệu

dùng để đánh giá theo tiêu chuẩn của Hội nghị về Tìm kiếm thông tin Văn bản

(Text REtrieval Conference hay TREC) của Hoa Kỳ, một trong những Hội nghị

hàng đầu trên thế giới về Tìm kiếm Thông tin.

Tiếp theo, chúng tôi xây dựng chương trình trợ giúp đánh giá các hệ thống tìm

kiếm thông tin, cho phép người dùng thao tác, thực hiện đánh giá các hệ thống một

cách dễ dàng. Kết quả trả về của chương trình đánh giá có được dựa vào bộ ngữ

liệu mẫu được dùng đánh giá. Kết quả trả về này gồm có kết quả truy vấn của hệ

thống tìm kiếm thông tin và kết quả đánh giá. Kết quả đánh giá được tính dựa trên

sự kết hợp của hai độ đo: độ bao phủ (Recall) và độ chính xác (Precision). Từ

kết quả trả về, chúng ta có thể biết được khả năng tìm kiếm của riêng từng hệ

Trang 12

thống tìm kiếm thông tin và so sánh khả năng của các hệ thống tìm kiếm với nhau.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Chương 1 : TỔNG QUAN

1.1. Tổng quan về tìm kiếm thông tin và hệ thống tìm kiếm thông tin

Tìm kiếm thông tin liên quan đến việc biểu diễn, lưu trữ, tổ chức và tiếp cận các yếu tố thông tin (một tài liệu có thể có một hoặc nhiều yếu tố thông tin) [1 ].

Theo lý thuyết, không có giới hạn về các loại yếu tố thông tin trong tìm kiếm

thông tin. Trên thực tế, các loại yếu tố thông tin ngày càng trở nên đa dạng cùng

với sự phát triển của xã hội. Ngoài ra, một tập hợp các yếu tố thông tin được gọi là

hữu dụng khi và chỉ khi nó đầy đủ và luôn được cập nhật. Đầy đủ ở đây có nghĩa

là tập hợp này phải chứa một tỉ lệ lớn các yếu tố thông tin được xem là có khả

năng liên quan đến các lĩnh vực xác định. Hơn nữa, việc biểu diễn và tổ chức các

yếu tố thông tin nên cung cấp cho người dùng cách truy cập dễ dàng nhất đến

thông tin mà người đó quan tâm. Nhưng không may là tính chất của nhu cầu thông

tin người dùng không phải đơn giản. Chúng ta xem xét một ví dụ về một nhu cầu

thông tin hiển nhiên của người sử dụng trong ngữ cảnh tìm kiếm World Wide Web

hay chỉ là Web:

Tìm tất cả các trang hay tài liệu chứa thông tin về bệnh ung thư phổi và nguyên

nhân dẫn đến ung thư phổi, các tài liệu được xem là liên quan phải vừa nói đến các

triệu chứng ung thư phổi, vừa nói đến nguyên nhân dẫn đến căn bệnh này gồm cả

tác hại của việc hút thuốc và ô nhiễm môi trường.

Từ ví dụ trên, chúng ta thấy rõ ràng là sự mô tả đầy đủ nhu cầu thông tin người

dùng không thể được sử dụng trực tiếp để tìm kiếm trên bình diện của các phương

tiện tìm kiếm Web (Web Search Engine) hay hệ thống tìm kiếm thông tin (IR

system) hiện nay. Thay vào đó, người sử dụng phải dịch nhu cầu thông tin của

mình sang một câu truy vấn có thể được xử lý bằng phương tiện tìm kiếm hay hệ

thống tìm kiếm thông tin. Điều này tạo ra một tập các từ khóa tóm tắt mô tả nhu

cầu thông tin người dùng hay còn gọi là câu truy vấn. Dựa trên câu truy vấn của

người sử dụng, mục đích chính của hệ thống tìm kiếm thông tin là tìm kiếm các

Trang 13

thông tin hữu ích hay liên quan cho người sử dụng.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Vậy có thể nói một cách tổng quát, hệ thống tìm kiếm thông tin là một hệ

thống cho phép người sử dụng tìm kiếm tài liệu để thỏa mãn nhu cầu thông tin từ

một kho ngữ liệu lớn.

Để tìm kiếm thông tin, hệ thống tìm kiếm phải thực hiện các công việc sau.

Trước hết, hệ thống tìm kiếm xử lý tài liệu thô thành những tài liệu được tách từ,

phân đoạn (tokenized documents) và sau đó lập chỉ mục (index) dựa trên vị trí

của từ. Khi người dùng đưa vào câu truy vấn, hệ thống tìm kiếm thông tin cũng sẽ

xử lý các câu truy vấn thành ngôn ngữ chỉ mục mô tả các yếu tố thông tin cần tìm

kiếm và thực hiện đối chiếu với chỉ mục tài liệu để tìm ra các tài liệu liên quan.

Cuối cùng, các tài liệu liên quan sẽ được trả về cho người dùng theo một danh

sách được sắp xếp theo độ ưu tiên chính xác giảm dần (ranked list).

1.2. Tổng quan về đánh giá các hệ thống tìm kiếm thông tin

1.2.1. Lý do để tiến hành đánh giá các hệ thống tìm kiếm thông tin

Khi nhu cầu tìm kiếm thông tin phát triển, có rất nhiều mô hình, thuật toán, hệ

thống tìm kiếm thông tin ra đời. Do đó, việc đánh giá các mô hình, thuật toán, hệ

thống tìm kiếm thông tin là điều bắt buộc phải làm.

Chúng ta so sánh một hệ thống (có thể là một hệ thống mới) với các hệ thống

khác đã tồn tại về phương diện: tính hiệu quả, chi phí, thời gian , tốc độ xử lý…

Hệ thống tìm kiếm thông tin thường thực hiện hai quá trình: quá trình lập chỉ

mục và quá trình tìm kiếm. Mỗi một quá trình sẽ có nhiều phương pháp để thực

hiện, đánh giá hệ thống cũng có thể dùng để xác định tính tối ưu của các phương

pháp trên.

Lý do khác để tiến hành đánh giá là để so sánh các thành phần của hệ thống.

Do hệ thống gồm nhiều thành phần, đánh giá hệ thống để xác định cách mỗi thành

phần của hệ thống thực thi để khi có sự thay đổi một thành phần bởi một thành

phần khác thì sự thay đổi đó ảnh hưởng đến hệ thống như thế nào, từ đó ta có thể

Trang 14

quyết định có nên thay đổi thành phần đó không.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Đánh giá để tìm kiếm thành phần nào là tốt nhất cho hàm xếp thứ tự (dot-

product, cosine…); thành phần nào là tốt nhất cho lựa chọn thuật ngữ (loại bỏ

stopword, phương pháp lấy gốc từ stemming …); thành phần nào là tốt nhất trong

lựa chọn phương pháp đánh giá thuật ngữ (term weighting) như TF, IDF … (các

thành phần này sẽ được nói rõ hơn trong chương sau).

So sánh để biết người sử dụng cần danh sách các tài liệu trả về (ranked list) dài

cỡ bao nhiêu để họ có thể nhìn dễ dàng nhất. Đánh giá để biết hệ thống nào thật sự

tốt, người dùng có thể tin tưởng kết quả trả về được.

1.2.2. Các tiêu chuẩn được dùng để đánh giá

Hiện nay, trên thế giới có ba tiêu chuẩn được dùng để đánh giá hệ thống tìm

kiếm thông tin. Thứ nhất là tiêu chuẩn về tính hiệu quả tức sự chính xác, tính đầy

đủ của kết quả trả về so với mục đích tìm kiếm của người sử dụng, và giá trị vẫn

có thể đoán được trong các tình huống khác có nghĩa là khi đưa vào các câu truy

vấn khác, tập tài liệu khác thì hệ thống vẫn có thể tìm ra kết quả chính xác. Thứ

hai là tiêu chuẩn về hiệu năng, gồm có tốc độ tìm kiếm của thuật toán, khả năng

lưu trữ, thời gian trả về cho người sử dụng, thời gian lập chỉ mục, kích thước chỉ

mục… Thứ ba là tiêu chuẩn về khả năng sử dụng hệ thống tức là có thể nghiên

cứu, học hỏi trên hệ thống tìm kiếm, người không biết tin học hay các chuyên gia

tin học đềi có thể sử dụng hệ thống.

1.2.3. Các mô hình đánh giá

Theo chúng tôi được biết, trên thế giới có tất cả bốn mô hình đánh giá các hệ

thống tìm kiếm thông tin. Chúng bao gồm : đánh giá hộp kính, đánh giá hộp đen,

Đánh giá hộp kính (glass box evaluation) : đánh giá hệ thống dựa trên

đánh giá hướng hệ thống, đánh giá hướng người dùng hay còn gọi là đánh giá nghiên cứu người dùng [ 2].

việc đánh giá tất cả mọi thành phần của hệ thống. Có nghĩa là khi biết rõ

Trang 15

các thành phần của hệ thống, chúng ta tiến hành đánh giá các thành phần đó.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Đánh giá hộp đen (black box evaluation) : đánh giá hệ thống bằng cách

xem hệ thống như là một thực thể hợp nhất, không đánh giá chính xác các

Đánh giá hướng hệ thống (system-oriented evaluation) là xu hướng

thành phần bên trong hệ thống.

đánh giá chính từ khi các hệ thống tìm kiếm và lập chỉ mục tự động được

phát triển vào những năm 1960. Một trong những mục đích chính của

hướng đánh giá này là kiểm tra các hệ thống tự động cũng như các thủ tục

thủ công thực thi như thế nào. Ngoài ra, mô hình này còn đánh giá so sánh

các cách thực hiện liên quan đến các ngôn ngữ chỉ mục, xử lý tìm kiếm của

hệ thống của các hệ thống khác nhau hay đánh giá so sánh các lược đồ chỉ

mục tự động khác nhau. Đánh giá hướng hệ thống có một điểm lợi là điều

kiện môi trường kiểm tra được quản lý chặt chẽ, sử dụng phương pháp đánh

giá theo lô hay còn gọi là đánh giá dựa trên tập câu truy vấn; có nghĩa là hệ

thống tìm kiếm thông tin lần lượt thực hiện các câu truy vấn, tìm kiếm trên

tập dữ liệu đã được xây dựng và ghi lại kết quả những tài liệu nào liên quan

đến câu truy vấn nào rồi đem so sánh với Bảng Đánh giá liên quan chuẩn

(Relevance judgment) đã được xây dựng. Với mỗi câu truy vấn tính toán

độ chính xác và độ bao phủ dựa trên kết quả trả về và bảng đánh giá liên

quan chuẩn để nhận xét hiệu quả tìm kiếm của hệ thống tìm kiếm thông tin.

Hướng đánh giá này được thực hiện rất phổ biến ở các dự án, hội nghị về

nghiên cứu hệ thống tìm kiếm thông tin như: Cranfield , MEDLARS,

SMART, STAIRS và TREC.

Đánh giá hướng người dùng (user studies evaluation): Hướng nghiên

cứu người dùng ra đời vào những năm 1970 khi mà nhiều hệ thống tìm

kiếm thông tin thương mại ra đời. Mục đích chính của hướng nghiên cứu này là nhằm xác định cách thức tìm kiếm của người sử dụng [ 3]. Hướng

đánh giá này còn cho phép xem xét hệ thống ở khía cạnh người dùng; tức là

đánh giá về mặt tương tác với người sử dụng như giao diện của hệ thống

Trang 16

tìm kiếm thông tin, thời gian hệ thống tìm kiếm đối với một câu truy vấn,

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

mức độ hài lòng của người sử dụng… Hướng nghiên cứu này cho rằng nhu

cầu của người dùng được thoả mãn tương đương với hiệu quả của hệ thống.

Chỉ khi nhu cầu thông tin người dùng được thỏa mãn, khi ấy tìm kiếm

thông tin mới được gọi là có ích. Hội nghị quốc tế về Tìm kiếm Thông tin

trong Ngữ cảnh (Information Seeking in Context) được tổ chức như là

một diễn đàn cho các nhà nghiên cứu lĩnh vực này khám phá các phương

pháp và các kết quả nghiên cứu. Một hội nghị khác mới được thành lập tên

là Nhóm Quan tâm Đặc biệt (Special Interest Group - SIG) đến tìm kiếm,

nhu cầu và sử dụng thông tin của Xã hội Hoa Kỳ về Khoa học Thông tin

(American Society of Information Science). Những hội nghị này cũng

tương tự như TREC trong việc cố gắng khuyến khích nghiên cứu hướng

người dùng, để phát triển mối liên hệ giữa các nhà nghiên cứu trong kỹ

thuật, giáo dục và chính phủ, và để xác định, cải tiến các kỹ thuật tìm kiếm

thích hợp. Nhưng các hội nghị này khác nhau ở chỗ các hội nghị mới chưa

có phương pháp luận đánh giá chuẩn nào được xúc tiến. Đánh giá hướng

người dùng có đóng góp rất lớn đến lĩnh vực tìm kiếm thông tin. Đóng góp

này gồm có việc xác định cách thức tìm kiếm thông tin của con người, nối

liền khoảng cách giữa nhu cầu thông tin giữa các cá nhân và các hệ thống

tìm kiếm thông tin, dẫn đến một thế hệ mới của các hệ thống tìm kiếm

thông tin bao gồm các giao diện đồ hoạ máy tính-người sử dụng.

Hiện nay, trong số bốn mô hình trên thì hai mô hình đánh giá hướng hệ thống

và hướng người dùng đang được sử dụng chính và rộng rãi nhất. Trong phạm vi đề

tài của chúng tôi, chúng tôi chỉ sử dụng mô hình đánh giá hướng hệ thống vì mô

hình đánh giá hướng người dùng cần có sự hợp tác của rất nhiều người dùng để

lấy thông tin phản hồi sau khi sử dụng hệ thống tìm kiếm thông tin đó hoặc cần

phải tham gia trao đổi về hiệu năng tìm kiếm tại các hội nghị. Nhưng các hội nghị

dành cho mô hình đánh giá hướng người dùng đa số chưa có một phương pháp

Trang 17

luận cụ thể nào dùng để đánh giá. Ngoài ra, với mô hình hướng hệ thống, chúng

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

tôi có thể xây dựng ứng dụng để đánh giá nhiều hệ thống tìm kiếm thông tin một

cách tự động.

1.2.4. Các độ đo dùng để đánh giá

Độ bao phủ (Recall) và độ chính xác (Precision) là 2 đơn vị đo cơ bản nhất để đánh giá chất lượng một hệ thống tìm kiếm thông tin [4 ]. Độ bao phủ là tỉ lệ

giữa các tài liệu liên quan được trả về trên tổng số các tài liệu liên quan thật sự.

Trong khi đó, độ chính xác là tỉ lệ giữa các tài liệu liên quan được trả về trên tổng

số tài liệu được trả về.

Có nhiều phương pháp sử dụng một hoặc các độ đo này để tính toán đánh giá,

chẳng hạn phương pháp Độ chính xác trung bình (Mean Average Precision –

MAP) chỉ sử dụng độ chính xác, không quan tâm đến độ bao phủ. Phương pháp đo

dựa trên giá trị đơn Swet’s E-Measure hoặc chiều dài tìm kiếm trung bình thì cũng

chỉ sử dụng một giá trị để tính toán. Phương pháp tính độ chính xác dựa trên 11

điểm chuẩn của độ bao phủ sử dụng cả hai độ đo độ bao phủ và độ chính xác.

Chúng tôi thực hiện đánh giá theo phương pháp tính độ chính xác dựa trên 11

điểm chuẩn của độ bao phủ bởi vì phương pháp này khá đơn giản, dễ thực hiện

tính toán, đo và đánh giá. Ngoài ra, phương pháp này trực quan với cách biểu diễn

đồ thị của các điểm bao phủ, chính xác từ đó dễ dàng thấy hiệu quả tìm kiếm của

riêng từng hệ thống và so sánh các hệ thống đánh giá với nhau.

1.2.5. Các phương pháp xây dựng bộ ngữ liệu dùng để đánh giá

Theo mô hình hướng hệ thống, trước hết phải xây dựng bộ ngữ liệu dùng để

đánh giá (test collection). Bộ ngữ liệu dùng để đánh giá gồm có tập các tài liệu

mẫu, tập câu truy vấn mẫu, và bảng đánh giá liên quan chuẩn.

• Tập tài liệu dùng để đánh giá được thu thập từ các nguồn khác nhau, gồm

nhiều chủ đề khác nhau. Tập tài liệu này phải là những tài liệu mẫu bao

quát càng nhiều lĩnh vực càng tốt, phản ánh được các vấn đề đa dạng khác

Trang 18

nhau, các phong cách văn chương khác nhau … Điều này có nghĩa là tập

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

tài liệu mẫu này phải có kích thước lớn, vì vậy tập tài liệu này còn được gọi

là kho ngữ liệu mẫu.

• Tập câu truy vấn mẫu là những câu hỏi được tạo ra phù hợp với tập tài liệu

mẫu. Tập câu truy vấn này sau đó sẽ được sử dụng để tìm kiếm.

• Bảng đánh giá liên quan chuẩn là bảng chứa thông tin về số thứ tự câu hỏi

và các tài liệu liên quan thật sự của câu hỏi đó. Bảng Đánh giá liên quan

chuẩn được dùng như là bảng đối chiếu để tính độ bao phủ và độ chính xác.

Có nhiều cách khác nhau để tạo bảng đánh giá liên quan chuẩn hay bảng

Relevance judgment. Các phương pháp này gồm có:

(cid:56) Phương pháp đánh giá toàn bộ, phương pháp này thường không khả

thi vì tỉ lệ tập câu hỏi*tập tài liệu là quá lớn. Phương pháp này rất tốn

chi phí.

(cid:56) Phương pháp Pooling hay còn gọi là phương pháp lấy một số tài liệu

liên quan nhất để làm bảng đánh giá liên quan chuẩn. Phương pháp này

sử dụng tốt cho đánh giá nhiều hệ thống tìm kiếm thông tin. Phương

pháp này đòi hỏi phải có một sự đa dạng các hệ thống tìm kiếm thông

tin. Bước đầu tiên của phương pháp này là tìm thấy các tài liệu liên

quan cho mỗi hệ thống. Các hệ thống khác nhau tìm thấy các tài liệu

liên quan khác nhau. Bước tiếp theo là tổng hợp các kết quả của tất cả

các hệ thống lại và lấy phần giao của các bảng đánh giá liên quan của

các hệ thống. Nhưng phần giao này có thể chỉ là một số lượng nhất định

các tài liệu gần như chính xác nhất. Việc đánh giá dựa trên phương pháp

này thật sự khách quan khi đánh giá các hệ thống không được chọn để

giao lấy bảng Đánh giá liên quan chuẩn.

(cid:56) Phương pháp đánh giá hướng dẫn chỉ tìm kiếm thỉnh thoảng cho kết

quả tốt. Phương pháp này cho phép tương tác giữa nghiên cứu truy vấn,

tìm kiếm, đánh giá. Tăng cường thêm bằng cách xem lại, điều chỉnh,

Trang 19

đánh giá lại. Nói chung, khi sử dụng phương pháp này, người đánh giá

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

phải thao tác bằng tay rất nhiều, xem các tài liệu trả về có thật sự là liên

quan hay chưa để đưa vào bảng Đánh giá liên quan chuẩn.

(cid:56) Các đánh giá dựa trên những thành phần đã biết, phương pháp này

tốn ít chi phí nhất. Phương pháp này cho phép thay đổi câu hỏi để tìm ra

một tài liệu đã biết.

1.2.6. Phương pháp xây dựng bộ ngữ liệu được chọn

Kể từ năm 1992, khi Hội nghị về Tìm kiếm thông tin Văn bản (Text REtrieval

Conference hay TREC) của Hoa Kỳ ra đời, mô hình hướng hệ thống mới thật sự

phát triển. Bởi vì hằng năm, TREC tổ chức hội nghị để kêu gọi tham gia đánh giá

các hệ thống tìm kiếm thông tin, đặc biệt kêu gọi đánh giá theo mô hình hướng hệ

thống. Nhờ đó mà mỗi năm khối lượng, kích thước bộ ngữ liệu dùng để đánh giá

tăng lên rất đáng kể cùng với sự phát triển về số lượng các tổ chức, trường Đại học

tham gia TREC. TREC được xem là Hội nghị lớn nhất thế giới về đánh giá các hệ

thống tìm kiếm thông tin và là một trong những Hội nghị có uy tín trong lĩnh vực

tìm kiếm thông tin. TREC xây dựng bảng đánh giá liên quan chuẩn theo phương

pháp Pooling. TREC còn đưa ra các tiêu chuẩn, định dạng cho ngữ liệu rất rõ ràng,

và dễ tuân theo.

Vì vậy, chúng tôi quyết định chọn phương pháp xây dựng ngữ liệu theo tiêu

chuẩn và cách làm của TREC. Chúng tôi định dạng câu hỏi và tài liệu theo tiêu

chuẩn định dạng mà TREC đưa ra, đồng thời làm bảng đánh giá liên quan chuẩn

theo phương pháp Pooling hay phương pháp lấy một số tài liệu liên quan nhất để

làm bảng Đánh giá liên quan giống TREC vì cách tạo bảng đánh giá khách quan

mà nó mang lại và không phải tốn nhiều thời gian, chi phí.

Tuy nhiên, đối với tiếng Việt, việc xây dựng bộ ngữ liệu đánh giá phức tạp hơn

là xây dựng bộ ngữ liệu tiếng Anh, tiếng Pháp trong trường hợp dùng các hệ thống

tìm kiếm phổ biến, nổi tiếng sẵn có cho tiếng Anh, Pháp để tìm kiếm thông tin

tiếng Việt. Bởi vì đặc thù loại hình ngôn ngữ khác nhau giữa tiếng Anh, Pháp và

Trang 20

tiếng Việt. Chẳng hạn, trong tiếng Anh, Pháp mỗi từ là một từ đơn, cách nhau bởi

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

một khoảng trắng nhưng tiếng Việt thì hoàn toàn khác, một từ có thể gồm từ một

từ đơn trở lên. Do đó, để những hệ thống tìm kiếm thông tin, ngữ liệu phải được

chuẩn hóa về giống với tiêu chuẩn ngữ liệu dùng để tìm kiếm của hệ thống đó.

Nhưng cũng chính điều này làm cho ngữ liệu của chúng tôi có thể được sử dụng

linh hoạt để đánh giá nhiều hệ thống tìm kiếm thông tin cho nhiều thứ tiếng khác

nhau. Điều này còn có ý nghĩa rất lớn trong tìm kiếm thông tin vì chúng ta có thể

sử dụng hệ thống tìm kiếm hiệu quả của nước ngoài để tìm kiếm thông tin tiếng

Việt.

1.2.7. Phương pháp đánh giá tầm quan trọng của kết quả trả về

Các độ đo thực hiện toàn bộ hệ thống tìm kiếm chủ yếu được lấy trung bình

trên tập câu hỏi. Vì tính chất biến đổi của các câu hỏi là rất lớn, và sự thay đổi của

các độ đo tính toán là rất cao, nên đòi hỏi một phương pháp phân tích thống kê

thích hợp để đánh giá xem sự khác biệt được đo giữa các hệ thống có phải là có ý

nghĩa thống kê đến một độ tin cậy nhất định không. Vì vậy, phương pháp đánh giá

Trang 21

tầm quan trọng của kết quả trả về được sử dụng là phương pháp thống kê.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Chương 2 : CƠ SỞ LÝ THUYẾT

2.1. Tìm kiếm thông tin và các hệ thống tìm kiếm thông tin

2.1.1. Lịch sử tìm kiếm thông tin và hệ thống tìm kiếm thông tin

Tìm kiếm thông tin có một lịch sử lâu đời gắn liền với các thư viện và trung

tâm tìm kiếm thông tin. Trước đây, khi mà máy tính và internet chưa ra đời, những

người có nhu cầu thông tin ngoài việc nhờ sự trợ giúp thông tin từ bạn bè, người

thân còn có thể tìm đến thư viện hoặc các trung tâm thông tin để tìm kiếm thông

tin cần thiết. Cách biểu diễn, lưu trữ, tổ chức và phổ biến thông tin của thư viện

được xem là cách làm truyền thống của một hệ thống tìm kiếm thông tin. Thư viện,

khi tiếp nhận các yếu tố thông tin hay tài liệu mới, trước hết là phân tích yếu tố

thông tin đó. Sau đó, những mô tả thích hợp sẽ được chọn ra để mô tả, phản ánh

nội dung của yếu tố thông tin đó. Dựa trên những mô tả này, mỗi yếu tố thông tin

sẽ được phân loại theo những thủ tục đã được thiết lập rồi sáp nhập vào tập hợp

các yếu tố thông tin đã tồn tại. Các thủ tục này được tạo ra để hệ thống hóa các

yêu cầu (các yêu cầu được thiết kế để thay thế cho một nhu cầu thông tin ) và để

so sánh những yêu cầu, truy vấn đó với mô tả của các yếu tố thông tin đã lưu trữ.

Việc so sánh này chính là cơ sở để quyết định các yếu tố thông tin thích hợp với

câu truy vấn tương ứng. Cuối cùng, một cơ chế tìm kiếm và phổ biến thông tin sẽ

được dùng để trả các yếu tố thông tin cần thiết đến người sử dụng hệ thống.

Tuy nhiên, chúng ta phải xem xét vấn đề nảy sinh về vị trí thật sự của một yếu

tố thông tin mới được thêm vào trong tập hợp tài liệu. Có nhiều cơ chế tiếp cận

khác nhau để giải quyết vấn đề này nhưng chúng đều liên quan đến cách tổ chức

vật lý hoặc luận lý các yếu tố thông tin. Trong thư viện, cách tổ chức vật lý chính

là việc lập chỉ mục cho tài liệu, tức là sự sắp xếp các con số của các quyển sách,

cách đánh số thường được quy định bởi các thư viện lớn. Những quyển sách sẽ

được đặt vào những vị trí xác định dựa vào những con số này. Ngoài ra, cách tổ

Trang 22

chức luận lý dữ liệu phải được thêm vào với cách tổ chức vật lý để giúp người sử

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

dụng tìm kiếm thông tin dễ dàng hơn. Chẳng hạn, những quyển sách ấn bản về tìm

kiếm thông tin có thể được xác định bằng cách nhìn vào danh mục các chủ đề của

thư viện với thuật ngữ cần tìm là “tìm kiếm thông tin”. Một khi ta tìm thấy thuật

ngữ thích hợp, các thẻ số kế tiếp nhau sẽ xác định những quyển sách liên quan đến

chủ đề đang tìm kiếm. Những quyển sách này phụ thuộc vào các con số và chúng

sẽ được tìm thấy tại những vị trí xác định. Bên cạnh đó, mỗi khi muốn thay đổi

thuật ngữ chủ đề của sách, chúng ta không cần thay đổi vị trí của sách trên kệ

sách; tức là, các yếu tố thông tin có thể được tổ chức luận lý lại bằng cách thay đổi

danh mục thư viện mà không cần thay đổi sắp xếp vật lý.

Xã hội ngày càng phát triển do đó thông tin rất đa dạng phong phú, bài toán đặt

ra là chúng ta phải làm sao để quản lý được số lượng thông tin khổng lồ một cách

có hiệu quả. Từ đó dẫn đến nhu cầu làm giảm một lượng các yếu tố thông tin đến

một kích thước có thể quản lý, các yếu tố thông tin còn lại được xem là có liên

quan nhiều nhất đến lĩnh vực tìm kiếm. Mặt khác, chúng ta rất khó dự đoán mẫu,

trạng thái phát triển tương lai của thông tin, hoặc nếu có thể dự đoán thì tỉ lệ rủi ro

rất cao. Khó khăn tiếp theo trong việc tổ chức thông tin hiệu quả là ước muốn giữ

những yếu tố liên quan gần nhau. Ví dụ, những chủ đề liên quan đến nhiều lĩnh

vực như phân tích hệ thống (nó liên quan đến khoa học máy tính, vận trù học, kỹ

thuật học, khoa học quản lý, giáo dục và các hệ thống thông tin) không thể để gần

nhau được mà phải để riêng ra theo từng lĩnh vực : đây là một khó khăn. Còn rất

nhiều khó khăn nữa, chẳng hạn các khó khăn trong phân loại, so sánh tài liệu, yếu

tố thông tin; lập chỉ mục, đánh số cho tài liệu. Và những khó khăn này sẽ không

được giải quyết nếu không có sự ra đời của máy tính. Quả thật, nhờ có máy tính

mà việc lưu trữ, tìm kiếm thông tin trở nên dễ dàng hơn. Máy tính có thể thao tác

trên tất cả các loại thông tin và có thể lưu trữ một cách nhanh chóng một số lượng

thông tin khổng lồ. Ngoài ra, cơ chế tìm kiếm thông tin trên máy tính có thể rất

nhanh chóng và hiệu quả tùy thuộc mô hình cài đặt, thuật toán của cơ chế đó. Cơ

chế tìm kiếm này cũng khá giống với cơ chế tìm kiếm thông tin của thư viện.

Trang 23

Trước hết, dựa trên ngôn ngữ chỉ mục và các yếu tố thông tin đại diện cho nội

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

dung của tài liệu, tập tài liệu sẽ được biểu diễn dưới dạng tập hợp các chỉ mục đại

diện cho tập tài liệu đó. Trong khi đó, nhu cầu tìm kiếm thông tin được biểu diễn

dưới dạng câu truy vấn có cấu trúc hoặc không cấu trúc mà máy có thể hiểu được.

Sau đó, máy sẽ so sánh hai dạng biểu diễn trên, biểu diễn tài liệu và biểu diễn câu

truy vấn, để biết được tài liệu nào phù hợp với truy vấn nào. Sau khi so sánh, máy

sẽ định vị được vị trí vật lý của yếu tố thông tin cần tìm kiếm và phổ biến nó đến

người sử dụng. Đây là cơ chế tìm kiếm chung cho mọi hệ thống tìm kiếm thông tin.

Tuy nhiên, cách đây không quá 20 năm, sau khi máy tính ra đời, các hệ thống

tìm kiếm thông tin chủ yếu được sử dụng trong phòng thí nghiệm để tìm kiếm một

kho ngữ liệu sách và tài liệu. Mặc dù chúng không bao hàm các phương pháp toán

phức tạp, nhưng khi Internet phát triển thì kỹ thuật tìm kiếm chủ yếu trên World

Wide Web chính là các kỹ thuật tìm kiếm thông tin. Quả thật, các hệ thống tìm

kiếm thông tin ngày càng phát triển về thuật toán, kỹ thuật tìm kiếm thông tin nhờ

có sự ra đời của Internet. Vì nhu cầu tìm kiếm thông tin của con người trên

Internet là một nhu cầu phổ biến, thiết thực, không thể thiếu nên các nhà phát triển

hệ thống tìm kiếm thông tin cũng phải nỗ lực để mang lại hiệu năng, hiệu quả cho

người sử dụng.

Chúng ta thấy rõ ràng là nghiên cứu tìm kiếm thông tin có truyền thống tập

trung vào tìm kiếm thông tin dạng văn bản (Text Retrieval) hay tài liệu văn

bản (Document Retrieval). Trong một thời gian dài, tìm kiếm thông tin gần như

đồng nghĩa với tìm kiếm tài liệu hay tìm kiếm văn bản. Trong thời gian gần đây,

các viễn cảnh ứng dụng mới như ứng dụng trả lời câu hỏi (question answering),

ứng dụng nhận dạng chủ đề (topic detection), hay ứng dụng lưu vết (tracking)

trở thành các lĩnh vực hoạt động mạnh mẽ trong nghiên cứu tìm kiếm thông tin.

Càng ngày ranh giới giữa cộng đồng tìm kiếm thông tin hay cộng đồng tìm kiếm

thông tin và các cộng đồng nghiên cứu xử lý ngôn ngữ tự nhiên, cộng đồng nghiên

Trang 24

cứu cơ sở dữ liệu trở nên mờ nhạt khi các cộng đồng này cùng nhau phát triển các

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

lĩnh vực quan tâm chung; ví dụ như trả lời câu hỏi, tóm tắt và tìm kiếm thông tin

từ các tài liệu có cấu trúc.

Một lĩnh vực phát triển khác mà các kỹ thuật tìm kiếm thông tin đang kế tục và

phát huy, đó là tìm kiếm thông tin không văn bản hay còn gọi là tìm kiếm thông

tin đa phương tiện. Loại hình tìm kiếm này sẽ dựa trên rút trích tự động các phần

văn bản hay lời nói của các tài liệu đa phương tiện, sau đó được xử lý bởi các kỹ

thuật tìm kiếm thông tin dựa văn bản (text-based IR techniques). Tuy nhiên,

người ta ngày càng quan tâm đến sự phát triển các kỹ thuật phơi bày cụ thể thông

tin phương tiện truyền thông rồi tích hợp chúng với các phương pháp tìm kiếm đã

được thiết lập tốt hơn là cách rút trích chúng tôi đã trình bày.

Trong phạm vi đề tài, chúng tôi chỉ giới hạn tìm kiếm thông tin trên văn bản.

2.1.2. Hệ thống tìm kiếm thông tin

2.1.2.1. Khái niệm về hệ thống tìm kiếm thông tin

Theo lý thuyết, hệ thống tìm kiếm thông tin là một hệ thống thông tin. Nó được

sử dụng để lưu trữ, xử lý, tra cứu, tìm kiếm, và phổ biến các yếu tố thông tin đến

người sử dụng. Hệ thống tìm kiếm thông tin thường thao tác với các dữ liệu dạng

văn bản và không có sự giới hạn về các yếu tố thông tin trong văn bản.

Hệ thống thông tin bao gồm một tập hợp các yếu tố thông tin, một tập các yêu

cầu, và một vài cơ chế tìm kiếm để quyết định yếu tố thông tin nào liên quan đến

các yêu cầu. Theo nguyên tắc, mối quan hệ giữa các câu truy vấn và tài liệu có

được từ sự so sánh trực tiếp. Nhưng trên thực tế, sự liên quan giữa các câu truy

vấn và tài liệu xác định không phải được quyết định trực tiếp; mà gián tiếp bằng

cách : các tài liệu, yếu tố thông tin phải chuyển sang ngôn ngữ chỉ mục trước khi

xác định mức độ liên quan.

2.1.2.2. Cách thức hoạt động của hệ thống tìm kiếm thông tin

Hình 1 minh họa cấu trúc, cách hoạt động cơ bản của một hệ thống tìm kiếm

Trang 25

thông tin cổ điển.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Hình 1.

Ở giai đoạn đầu tiên, giai đoạn tiền xử lý, tài liệu thô của ngữ liệu được xử

lý thành các tài liệu được tách từ, phân đoạn (tokenized documents) và

sau đó được lập chỉ mục thành một danh sách các vị trí của từ (postings

per terms).

Ở giai đoạn thứ hai, người sử dụng đưa ra một câu truy vấn (phi cấu trúc

bằng ngôn ngữ tự nhiên) mô tả nhu cầu thông tin của họ. Hệ thống tìm

kiếm thông tin sẽ biểu diễn câu truy vấn này thành những câu truy vấn có

hoặc không có cấu trúc mà máy có thể hiểu được. Hệ thống tìm kiếm thông

tin bắt đầu thực hiện chất vấn, đối chiếu để tìm ra tài liệu, các yếu tố thông

tin có thể trả lời và liên quan đến câu truy vấn. Các thủ tục được dùng để

quyết định các yếu tố thông tin có liên quan đến câu truy vấn đều dựa trên

biểu diễn của các câu truy vấn và các yếu tố thông tin có chứa các thành

phần ngôn ngữ chỉ mục.

Cuối cùng, các tài liệu, yếu tố thông tin được tìm thấy được hiển thị thành

một danh sách tài liệu và được sắp xếp theo thứ tự liên quan (ranked

Trang 26

retrieved documents). Thông thường, những tài liệu, yếu tố thông tin có

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

liên quan nhiều nhất được xếp trên những tài liệu ít liên quan hơn. Tùy vào

các hệ thống tìm kiếm thông tin khác nhau mà chúng hiển thị thông tin liên

quan theo những cách khác nhau. Chẳng hạn, có hệ thống chỉ hiển thị tên

tiêu đề và đường dẫn đến tài liệu đó, hoặc có hệ thống vừa hiển thị tên,

đường dẫn, vừa hiển thị một ít nội dung liên quan đến câu truy vấn, hoặc có

những hệ thống phục vụ tìm kiếm thông tin trên mạng thì thêm vào các liên

kết đến các trang web khác nhau.

Nhiều hệ thống thông tin còn có cả cơ chế cho phép người sử dụng cung cấp

phản hồi đến chất lượng của kết quả trả về. Sử dụng phản hồi, hệ thống cố gắng

thích ứng và nỗ lực tìm ra những kết quả tốt nhất cho câu truy vấn.

Việc lập chỉ mục trong giai đoạn tiền xử lý chúng tôi vừa đề cập về nguyên tắc

thì giống nhau đối với từng hệ thống nhưng về thuật toán, cách thức thì khác nhau.

Nguyên tắc lập chỉ mục: Tài liệu hay yếu tố thông tin phi cấu trúc khi thêm mới sẽ

được hệ thống tìm kiếm thông tin chuyển sang một thể đặc biệt, đó là ngôn ngữ

chỉ mục. Việc chuyển đổi thành phần thông tin thành ngôn ngữ chỉ mục được thực

hiện thủ công, hay tự động hoặc cả hai và nó được gọi là tiến trình lập chỉ mục.

Tiến trình lập chỉ mục này được thực hiện dựa trên các yếu tố thông tin đại diện

cho nội dung của tài liệu. Do đó, kết quả của tiến trình này là một tập chỉ mục đại

diện cho tài liệu đó.

2.1.2.3. Các phương tiện tìm kiếm thông tin (Search Engines)

Hình 2 minh họa cấu trúc cơ bản của các phương tiện tìm kiếm. Một phương

tiện tìm kiếm là một hệ thống tìm kiếm thông tin, tuy nhiên, nó không giống hoàn

toàn với hệ thống tìm kiếm thông tin cổ điển đã mô tả ở trên. Sự khác biệt giữa các

hệ thống tìm kiếm thông tin cổ điển và các phương tiện tìm kiếm bắt nguồn từ sự

khác biệt nguồn gốc dữ liệu, có nghĩa là một kho lưu trữ khép kín được định nghĩa

tốt trái ngược với World Wide Web. Vì không có cách tiếp cận trực tiếp đến các

tài liệu trên Web (như là có trong kho ngữ liệu thư viện), phương tiện tìm kiếm

Trang 27

phải cần đến thành phần crawler ( tạm gọi là đường chạy của xích). Thành phần

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

phần mềm này chịu trách nhiệm lấy các trang web về và lưu trữ chúng trong một

kho nội bộ. Cơ chế crawling (đường chạy của xích) đưa ra các thách thức công

nghệ liên quan đến hiệu năng của quá trình và đến sự liên quan của tài liệu – vì các

trang web là động, nên crawler phải giữ cho kho nội bộ luôn được cập nhật hằng

ngày.

Việc crawling các tài liệu ngoài Web thì không đủ bởi vì dữ liệu web gồm có

nhiều thông tin dư thừa. Phân tích toàn cục có trách nhiệm loại bỏ dữ liệu không

quan trọng như các trang Web giống nhau và các trang bao gồm sách báo không

lành mạnh. Ngoài ra, phân tích toàn cục cũng chịu trách nhiệm tính toán toàn cục

được dùng trong các hệ thống tìm kiếm thông tin như sắp xếp thứ tự trang (thứ tự

trang hầu hết được xác định bởi những trang có liên kết với nó và những trang nó

liên kết tới).

Trang 28

Hình 2.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

2.1.3. So sánh tìm kiếm thông tin cổ điển và tìm kiếm thông tin trên

Web

Bảng dưới đây biểu diễn sự khác biệt giữa các hệ thống tìm kiếm thông tin cổ

điển (IR cổ điển) và các hệ thống tìm kiếm thông tin Web (Web IR).

IR cổ điển Web IR

Lớn Khổng lồ Kích thước

Sạch, không trùng lắp Lộn xộn, trùng lắp Chất lượng dữ liệu

Hiếm Liên tục Tỉ lệ thay đổi dữ liệu

Có thể Truy cập một phần Khả năng truy cập dữ

liệu

Đồng nhất, cùng nguồn Rất đa dạng Đa dạng định dạng

gốc

Văn bản HTML Tài liệu

Nhỏ Lớn # liên quan

Dựa nội dung Dựa liên kết Kỹ thuật IR

Khối lượng dữ liệu trong một hệ thống IR cổ điển khá lớn, trong khi đó khối

lượng dữ liệu này trong hệ thống Web IR là khổng lồ. Khác biệt lớn nhất trong

khối lượng dữ liệu, chính là các thứ tự của lượng, ảnh hưởng đến phần cứng được

đòi hỏi (một máy tính thì không bao giờ đủ, bộ nhớ không thể chứa toàn bộ dữ

liệu) và các thuật toán (các định nghĩa hiệu năng của thời gian và không gian bị

thay đổi).

Một khác biệt nữa là khác biệt của dữ liệu. Trong hệ thống IR cổ điển dữ liệu

được làm sạch, trong khi đó dữ liệu trên Web IR thì phức tạp, cả hai đều do sự

trùng lắp vô ý và do các spam có dụng ý tăng thứ hạng của trang đó hoặc chỉ tạo

sự lộn xộn .

Như đã đề cập ở trên, sự thay đổi dữ liệu trong IR cổ điển là không thường

Trang 29

xuyên ,do đó nó thường được lập chỉ mục 1 lần. Ngược lại, dữ liệu trên Web thì

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

thay đổi thường xuyên nên chỉ mục cũng cần được cập nhật. Hơn nữa, tính khả

truy cập của dữ liệu là không quan trọng trong Web IR.

Tài liệu trong IR cổ điển thường đồng nhất về định dạng còn tài liệu trong Web

IR gồm nhiều loại khác nhau: bất cứ ai cũng có thể tạo một trang web trong bất kì

định dạng nào và bất kì ngôn ngữ nào.

Một điểm khác biệt quan trọng nữa là tài liệu web không thường xuyên được

viết ở dạng văn bản thô như trong tài liệu IR cổ điển. Trang Web thường được viết

bằng HTML (Hypertext Markup Language) , vừa có những lợi ích và bất lợi

đối với hệ thống tìm kiếm thông tin : một mặt, nó bao gồm dữ liệu có cấu trúc

giúp việc phân tích dễ dàng hơn ; mặt khác, nó thường không chứa nhiều văn bản

(hệ thống IR dựa trên thứ này), do đó khó phân loại hơn.

Kết quả trả về trong Web IR cũng nhiều hơn so với IR cổ điển, do đó khó để

sắp thứ tự danh sách kết quả hơn.

Và cuối cùng, IR cổ điển sử dụng kĩ thuật sắp thứ tự chỉ dựa trên nội dung

(content-based). Tuy nhiên, kĩ thuật này không thể áp dụng với Web IR. Nó đã

từng là một kĩ thuật thông dụng cho đến khi Google giới thiệu kĩ thuật sắp thứ tự

mới dựa trên liên kết (link-based) . Kĩ thuật sắp thứ tự dựa trên liên kết sử dụng

siêu liên kết (hyperlink) giữa các tài liệu web để sắp thứ tự các trang web một

cách hiệu quả và chắc chắn hơn.

2.1.4. So sánh tìm kiếm thông tin với tìm kiếm dữ liệu

Một hệ thống tìm kiếm thông tin không phải là một hệ thống tìm kiếm dữ liệu.

Bảng dưới đây trình bày một số thuộc tính khác nhau giữa hệ thống tìm kiếm

thông tin và hệ thống tìm kiếm dữ liệu.

Tìm kiếm thông tin Tìm kiếm dữ liệu

Văn bản tự do, không cấu Các bảng dữ liệu, có cấu Dữ liệu

trúc trúc

Từ khóa, ngôn ngữ tự nhiên SQL, đại số quan hệ Truy vấn

Trang 30

Liên quan tương đối, xấp xỉ Liên quan chính xác Kết quả

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Sắp xếp theo mức độ liên Không sắp xếp Kết quả

quan

Những người không phải Người sử dụng có kiến thức Truy cập

chuyên gia hoặc các tiến trình tự động

Hệ thống tìm kiếm thông tin thu thập tài liệu dựa trên yêu cầu thông tin của

người dùng. Câu truy vấn trên dữ liệu không có cấu trúc (thường là dạng văn bản

tự do), sử dụng từ khóa hoặc ngôn ngữ tự nhiên và do vậy có thể được viết bởi

người dùng không thông thạo. Vì cú pháp của câu truy vấn không được định nghĩa

chính xác nên kết quả có thể bao gồm các kết hợp không chính xác và thứ tự liên

quan hay tương quan (relevance) của chúng chỉ là gần đúng.

Hệ thống tìm kiếm dữ liệu thu thập một tập hợp các tài liệu phù hợp về mặt cú

pháp với câu truy vấn của người sử dụng. Câu truy vấn trên dữ liệu có cấu trúc

( hường là bảng trong cơ sở dữ liệu) và thường sử dụng một ngôn ngữ truy vấn

được định nghĩa hoàn chỉnh như là SQL hay đại số quan hệ. Người sử dụng phải

quen thuộc với cú pháp và hiểu được ngữ nghĩa của ngôn ngữ truy vấn. Vì vậy,

câu truy vấn thường được viết bởi người am hiểu hoặc một quá trình tự động. Kết

quả trả về bao gồm tất cả các tài liệu chính xác phù hợp với ngữ nghĩa của câu truy

vấn, thứ tự bất kì.

2.1.5. Công thức trừu tượng trong tìm kiếm thông tin

Gọi D là tập hợp các tài liệu và Q là tập hợp các câu truy vấn.

Hàm f: D × Q → R là hàm tính độ tương quan của một cặp (tài liệu, câu truy

vấn) bởi mức độ tương quan của tài liệu đối với câu truy vấn. Đối với mỗi câu truy

π trên D.

q

vấn q trong Q , f chỉ ra một thứ tự ( riêng phần)

Hoạt động của một hệ thống tìm kiếm thông tin bao gồm 2 pha chính. Trong

suốt pha đầu tiên, D được tiền xử lí và chỉ mục I được tạo ra tương ứng. Trong pha

thứ 2 , cho trước một câu truy vấn trong Q, I được dùng để xuất ra một hoán vị π

Trang 31

trên D.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Mục tiêu chính của một hệ thống tìm kiếm thông tin là xuất ra một hoán vị π

π bằng cách sử dụng một chỉ mục đặc và phản hồi trong một thời gian

q

gần với

ngắn. Chẳng hạn, chúng ta không muốn đạt độ chính xác cao bằng cách sử dụng

chỉ mục lớn trong đó bao gồm một hoán vị trên D cho mỗi câu truy vấn có thể có

hoặc bằng cách duyệt toàn bộ chỉ mục cho mỗi câu truy vấn.

Chúng ta sử dụng khái niệm tokens để biểu diễn tài liệu. Đặt T là không gian

tokens. Không gian tokens có thể bao gồm , ví dụ như là :toàn bộ từ trong tiếng

Anh, một tập hợp các cụm từ hoặc một tập hợp các URLs. Chúng ta định nghĩa

kR (k là số tokens trong không gian tokens).

một tài liệu là một vec-tơ thực d trong

d là trọng lượng của i

t trong d. Có rất nhiều cách để tính i

d ,cách dễ nhất là i

Goị

t trong d. i

tính số lần xuất hiện của

2.1.6. Các mô hình tìm kiếm thông tin cổ điển để sắp thứ tự liên

quan

Nghiên cứu tìm kiếm thông tin dựa trên rất nhiều mô hình khác nhau. Ở đây,

chúng tôi xin nêu ra hai mô hình được sử dụng nhiều nhất.

2.1.6.1. Mô hình Đại số Bool

Mô hình liên quan (relevance) cơ bản nhất trong hệ thống tìm kiếm thông tin

cổ điển là mô hình Đại số Bool hay Boolean. Một tài liệu được định nghĩa là một

d =1 khi

i

d có mặt i

(trọng lượng boolean) trong đó vec-tơ boolean d trong

k}1,0{

trong d. Một câu truy vấn được định nghĩa là một công thức boolean q trên các

k}1,0{

→ {0,1} .Nghĩa là, q là một hàm mà khi cho trước một vec-tơ tokens :q:

biểu diễn một tài liệu thì sẽ trả về một giá trị boolean phụ thuộc vào trong

độ liên quan giữa tài liệu và câu truy vấn. Hàm tính độ liên quan được định nghĩa

đơn giản bằng cách áp dụng hàm này trên một tài liệu, f(d,q) = q(d). Ví dụ

như ,một câu truy vấn trong mô hình boolean có thể là “Micheal Jordan” AND

Trang 32

(Not basketball). Lợi ích chính của mô hình boolean là tính đơn giản cho người sử

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

dụng, tuy nhiên hàm tính độ liên quan của nó quá tồi khi nó chỉ trả về một giá trị

boolean.

2.1.6.2. Mô hình không gian vec-tơ

Mô hình thông dụng trong hệ thống tìm kiếm thông tin cổ điển dùng để sắp thứ

tự liên quan là mô hình không gian vectơ hay vec-tơ (VSM). Một tài liệu là một

kR (trọng lượng thực),

d được xác định dựa trên một hàm tính i

vec-tơ thực d trong

kR trong đó

toán, thường là điểm TF-IDF (sẽ được đề cập sau trong phần này). Tương tự như

q là i

một tài liệu, một câu truy vấn cũng là một vec-tơ thực trong

t trong q. Hàm tính độ liên quan là f(d,q) = sim (d,q) trong đó i

trọng lượng của

sim(d,q) là mức độ giống nhau giữa d và q. Tiếp theo chúng ta sẽ phương thức để

đo sự giống nhau của một vec-tơ tài liệu và một vec-tơ truy vấn, sau đó trình bày

điểm TF-IDF dùng để tính trọng lượng của tokens trong tài liệu.

Trực giác có thể dẫn ta đến cách định nghĩa sự giống nhau giữa một vec-tơ tài

liệu và một vec-tơ truy vấn bằng vec-tơ khác biệt của chúng (hình bên dưới)

Phương thức này sẽ gán một trọng lượng đáng kể cho các tokens xuất hiện

trong tài liệu nhưng không xuất hiện trong câu truy vấn. Vec-tơ truy vấn thường

thưa thớt hơn nhiều so với vec-tơ tài liệu, vì vậy một phương thức tốt hơn nên loại

(b) Cosin

(a) Vec-tơ khác nhau

bỏ hiệu ứng của các tokens không xuất hiện trong câu truy vấn.

Trang 33

Hình biểu diễn độ tương tự của vec-tơ tài liệu d và vec-tơ truy vấn q

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Phương thức đo sự giống nhau cosine (hình 5b) dựa trên quan sát ở trên, là

phương thức thông dụng để đo sự giống nhau giữa một vec-tơ tài liệu và một vec-

tơ truy vấn.

Chú ý là nếu góc giữa 2 vec-tơ nhỏ thì cosine gần tới 1, là giá trị lớn nhất của

sự giống nhau. Nếu 2 vec-tơ gần như vuông góc thì cosine gần tới không,nghĩa là

sự giống nhau nhỏ nhất.

TF-IDF là phương pháp thông dụng để “cân nặng” (đánh giá) các thuật ngữ

(term) trong một tài liệu. Ý tưởng cơ bản của phương pháp này là xem xét tính

phổ biến của một thuật ngữ trong một tài liệu khi so sánh với tính phổ biến của

1d có 100

thuật ngữ đó trong các tài liệu khác. Ví dụ như , xem xét một tài liệu

2d có 100000 thuật ngữ, 10

thuật ngữ, 10 trong số đó là “java” và một tài liệu

trong số đó là “java”. Vì tần số xuất hiện (tính phổ biến) của thuật ngữ “java”

1d cao hơn đáng kể so với trong

2d nên trọng lượng của thuật ngữ “java”

trong

1d phải cao hơn trong

2d .Bây giờ xem xét một sự thật là thuật ngữ

trong

1d . Vì nó là một thuật ngữ thông dụng trong

“the” ,cũng xuất hiện 10 lần trong

các tài liệu nên nó không nên có trọng lượng bằng thuật ngữ “java” mặc dù mức

độ phổ biến của chúng là như nhau.

N

)

Định nghĩa chính qui của điểm TF-IDF cho một tài liệu được định nghĩa như

i

,(∑= itdn

t ) là số lần xuất hiện của i

t trong d và i

D chỉ số tài liệu chứa

sau. Gọi n(d, là tổng số

i

t và D là tổng số tài liệu có trong tập hợp. i

tokens trong d.

t ) ,là tần số xuất hiện của i

t trong d. i

Tần số thuật ngữ ( term frequency) TF (d,

Có một vài cách để tính tần số thuật ngữ. 2 cách thông dụng nhất là chia số lần

xuất hiện của token trong tài liệu cho hoặc là tổng số token có trong tài liệu hoặc

Trang 34

là số lần xuất hiện của token xuất hiện nhiều nhất trong tài liệu:

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Trong bất kì trường hợp nào, thuật ngữ xuất hiện nhiều hơn sẽ có điểm TF cao

(cao nhất là 1) và thuật ngữ ít xuất hiện sẽ có điểm TF gần bằng 0.

t ) (Inverse Document Frequency) là tần số nghịch đảo của i

t i

Ngược lại, IDF(

trong tất cả các tài liệu có trong tập hợp. Nó thường được đo bằng loga của tỉ số

t . i

giữa tổng số tài liệu có trong tập hợp và số tài liệu trong tập hợp có chứa

t ) = i

D ) i

log ( D / IDF (

Chú ý là hàm loga được áp dụng chỉ vì những lí do số học. Thuật ngữ thường

xuyên xuất hiện trong tài liệu như là “the” vì vậy sẽ có điểm IDF gần bằng 0 và

thuật ngữ hiếm gặp sẽ có IDF gần bằng 1. Điểm TF-IDF được tính bằng cách nhân

điểm TF và điểm IDF:

t ) = TF (d, i

t ) × IDF ( i

t ) i

TF-IDF (d,

Qua công thức trên, ta có thể thấy rằng TF-IDF sẽ cho điểm một thuật ngữ cao

hơn nếu nó xuất hiện thường xuyên trong một tài liệu và không xuất hiện thường

xuyên trong các tài liệu khác.

Mô hình không gian vec-tơ , thường xuyên sử dụng TF-IDF để đánh giá các thuật

ngữ và hàm cosine là hàm đo mức độ giống nhau, thể hiện là một phương thức

tính độ liên quan giữa một tài liệu và một câu truy vấn tin cậy hơn mô hình

boolean ở trên. Bên cạnh đó, VSM có những hiện thực hiệu quả và thể hiện hiệu

suất tốt trong thực tế. Nhược điểm chính của phương pháp này là nó giả định các

thuật ngữ độc lập nhau. Trong thực tế, các thuật ngữ thường có liên quan với nhau

Trang 35

và hiểu được điều này có thể dẫn đến việc tính độ liên quan tốt hơn.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

2.2. Đánh giá các hệ thống tìm kiếm thông tin

2.2.1. Nền tảng đánh giá các hệ thống tìm kiếm thông tin

Một trong những giới thiệu tốt nhất về đánh giá các hệ thống tìm kiếm thông tin có trong chương 7 của [ 5 ] . Ở đây, chúng tôi tập trung chủ yếu vào những gì

có thể được đánh giá trong tìm kiếm thông tin.

Mức độ bao phủ của bộ ngữ liệu: mở rộng đến mức hệ thống bao gồm các

thành phần liên quan. Vì vậy, mức độ bao phủ của tài liệu phải xử lý với

vấn đề chất lượng của bộ ngữ liệu. Điều này quan trọng trong tìm kiếm

thông tin dạng Web vì mỗi phương tiện tìm kiếm (Search engine) được biết

là có thể bao phủ 16% không gian Web.

Hiệu năng: Khoảng thời gian trung bình giữa thời gian một yêu cầu được

đưa ra và câu trả lời được trả về. Hiệu năng được xem như thời gian thực

hiện tìm kiếm, sử dụng bộ nhớ, v.v ..

Biểu diễn của kết quả trả về.

Kết quả liên quan đến người dùng trong việc lấy câu trả lời cho một yêu

cầu.

Độ bao phủ của hệ thống: tỉ lệ các tài liệu liên quan được trả về.

Độ chính xác của hệ thống :tỉ lệ các tài liệu trả về thật sự liên quan.

Cả độ bao phủ và độ chính xác đều liên quan đến hiệu quả tìm kiếm.

Trong đề tài luận văn của chúng tôi, chúng tôi tập trung vào hai khía cạnh cuối

cùng (độ bao phủ, độ chính xác của hệ thống) vì chúng chiếm ưu thế nhiều nhất

trong đánh giá các hệ thống tìm kiếm thông tin.

Hai khía cạnh này là một phần của mô hình đánh giá hướng hệ thống mà chúng

Trang 36

tôi đã đề cập trong phần tổng quan. Chúng tôi xin được nói rõ hơn về mô hình này.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

2.2.2. Mô hình đánh giá hướng hệ thống

Kỹ thuật của hướng đánh giá tìm kiếm hướng hệ thống và các độ đo khả năng

thực thi kết hợp của nó được phát triển trong một số lượng các dự án nghiên cứu

thời gian dài : Cranfield , MEDLARS, SMART, STAIRS và TREC.

Ý tưởng chính là để đo khả năng thực hiện của hệ thống tìm kiếm thông tin

bằng cách chạy một tập các câu hỏi trong bộ ngữ liệu dùng để đánh giá, được chỉ

mục bởi hệ thống và lưu lại kết quả. Đối với mỗi câu truy vấn, có thể tính được độ

chính xác và độ bao phủ của tập kết quả được lưu lại. Như đã được định nghĩa ở

chương 1, độ chính xác (precision) là tỉ lệ của tập tài liệu liên quan được trả về so

với tập tài liệu kết quả, độ bao phủ (recall) là tỉ lệ của tập tài liệu liên quan được

trả về trên tổng số tài liệu liên quan. Những định nghĩa chính xác hơn của phần

này và các độ đo liên quan sẽ được trình bày ở mục 2.2.3.

2.2.2.1. Từ Cranfield đến TREC

Dự án Cranfield do Cleverdon thực hiện thường được đánh giá như là mô hình

chủ lực của TREC. Cleverdon tạo ra các cuộc kiểm thử Cranfield, Cranfield chủ

yếu được dùng trong thí nghiệm với mục đích chính là xem xét, đánh giá các hàm,

chức năng lập chỉ mục khác nhau thực hiện khác nhau như thế nào. Mục đích

chính là xác định thuật toán nào là tối ưu nhất, phù hợp nhất với các tiêu chuẩn đo

lường và độ đo. Từ đó truyền thống nghiên cứu thử nghiệm hướng hệ thống ra đời.

Salton ở Hoa Kỳ là người đầu tiên mở rộng phương pháp thử nghiệm cho đánh giá các thuật toán tìm kiếm thông tin theo mô hình Không gian Vec-tơ [6] . Ông

bắt đầu nghiên cứu tìm kiếm thông tin tại Đại học Harvard năm 1961. Ông muốn

phát triển một khung làm việc (framework) cho so sánh khả năng lập chỉ mục và

các kỹ thuật tìm kiếm thông tin của hệ thống. Khung làm việc được thực hiện bởi

một loạt các thuật toán và được biết đến như là hệ thống SMART. Dự án SMART

có lẽ là nghiên cứu tìm kiếm thông tin kéo dài nhất cho đến ngày hôm nay, trong

khoảng thời gian từ 1961 đến khi Salton mất năm 1996, nhóm SMART đã thử

Trang 37

nghiệm nhiều khía cạnh của tìm kiếm thông tin: đánh giá thuật ngữ (term

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

weighting), mở rộng câu hỏ (query expansion), phản hồi tương quan (relevance

feedback), phân lớp (clustering) v.v. Tất cả các thử nghiệm đều dựa trên hệ thống

tìm kiếm thông tin SMART, chi tiết của hệ thống này sẽ được trình bày ở mục

3.1.4.1. Dự án SMART đạt được kết quả tốt nhất trong mô hình Không gian vec-tơ

trực quan và hiệu quả.

Chương trình TREC đang tiến hành hiện nay đã được thôi thúc bởi các nghiên

cứu Cranfield và SMART. TREC bắt đầu năm 1992 với hai nhiệm vụ chính:

nghiên cứu “ad-hoc” và nghiên cứu “routing”. Kể từ đó, nhiều nhiệm vụ mới được

kiểm tra trong nhiều track khác nhau. Ưu điểm chính của TREC là kích thước của

ngữ liệu dùng để đánh giá thực tế hơn những dự án khác và việc đánh giá thì mở

cho bất kỳ nhóm nghiên cứu nào. Những người tham gia vào TREC qua các năm

tăng lên một cách nhanh chóng. Số lượng có ý nghĩa các nhóm tham gia mỗi năm,

bảo đảm sự ổn định và có thể so sánh qua các năm. TREC sử dụng ủy ban đánh

giá từ Viện Quốc gia về Tiêu chuẩn và Công nghệ Hoa Kỳ (National Institute of

Standard and Technology - NIST) để thực hiện đánh giá. Nghiên cứu STAIR là

một trong những nghiên cứu đầu tiên phát triển thủ tục mới để đo độ bao phủ, bởi

vì kích thước lớn của ngữ liệu làm cho việc tạo bảng Đánh giá liên quan chuẩn quá

tốn nhiều chi phí. TREC cũng bố trí các độ đo bao phủ của nó trên việc xem xét

một tập nhỏ các tài liệu (pool - gọi là “hồ” hay tập hợp xác định) nhưng sử dụng

các phương pháp khác nhau để tạo nó. Tập hợp xác định này được tạo từ một mẫu

các việc chạy hệ thống tìm kiếm khác nhau (càng khác nhau càng tốt). Đối với mỗi

câu truy vấn, danh sách các tài liệu trả về được kết hợp với nhau bằng cách trộn

vào nhau và loại bỏ các tài liệu lặp lại. Kết quả là một danh sách các tài liệu thống

nhất. Cuối cùng, người đánh giá xem lại để đánh giá là các tài liệu trong danh sách

này (có một danh sách các câu hỏi) có thật sự liên quan đến câu hỏi tương ứng

không. Ảnh hưởng của TREC trong tìm kiếm thông tin là rất lớn và chất lượng của

bộ ngữ liệu kiểm tra là rất tốt vì có nhiều hệ thống tham gia đóng góp vào tập hợp

Trang 38

xác định các tài liệu và do tính chất tiếp tục của chương trình TREC. TREC đã tạo

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

ra một tài sản lớn bộ ngữ liệu dùng để đánh giá mà có thể được dùng trong số

lượng lớn các thử nghiệm được kiểm soát.

Ưu điểm lớn của các thử nghiệm được kiểm soát là nó có thể được lặp lại.

Trước khi TREC ra đời, có nhiều bộ ngữ liệu kiểm tra nhỏ, rất khó để so sánh các

phương pháp giữa các nhóm khác nhau. Tình trạng này ngăn cản sự phát triển của

đánh giá các hệ thống tìm kiếm thông tin. TREC có mục tiêu là xây dựng một số

lượng các bộ ngữ liệu đánh giá lớn cho tìm kiếm thông tin, chủ yếu là để thực hiện

đánh giá dưới các điều kiện được kiểm soát và cho phép thực hiện lại việc đánh

giá.

Nhìn vào những kết quả mà các nhóm tham gia TREC từ khi TREC bắt đầu,

chúng ta có thể thấy một sự tiến bộ đáng kể.

Chi tiết về TREC sẽ được giới thiệu trong mục 2.2.4 .

2.2.2.2. Thủ tục đánh giá

Phương pháp thử nghiệm hướng hệ thống được thực hiện qua các bước phân

biệt sau:

• Trước hết, xây dựng một bộ ngữ liệu dùng để đánh giá. Bộ ngữ liệu dùng

để đánh giá gồm có tập các tài liệu mẫu, tập câu truy vấn mẫu, và bảng

đánh giá liên quan chuẩn. Theo lý thuyết, mỗi kết hợp câu truy vấn-tài liệu

đều được kiểm tra liên quan. Nhưng trên thực tế, chỉ một phần tập tài liệu

được xem xét cho mỗi câu truy vấn.

• Các hệ thống tìm kiếm thực hiện tìm kiếm trên bộ ngữ dùng để đánh giá:

lập chỉ mục tập tài liệu, tạo các câu hỏi từ chủ đề (topic), tạo bảng liên quan

có thứ tự các tài liệu cho mỗi câu hỏi.

• Đánh giá các độ đo thực hiện: Các độ đo cổ điển là độ bao phủ và độ chính

xác, nhưng có một số lượng lớn các độ đo khác. Đó là độ đo trung bình

nghiêm ngặt (Mean average precision).

• Đánh giá tầm quan trọng của kết quả trả về bằng phương pháp thống kê.

Trang 39

Các độ đo thực hiện toàn bộ hệ thống tìm kiếm chủ yếu được lấy trung bình

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

trên tập câu hỏi. Vì tính chất biến đổi của các câu hỏi là rất lớn, và sự thay

đổi của các độ đo tính toán là rất cao, nên đòi hỏi một phương pháp phân

tích thống kê thích hợp để đánh giá xem sự khác biệt được đo giữa các hệ

thống có phải là có ý nghĩa thống kê đến một độ tin cậy nhất định không.

2.2.2.3. Đánh giá sự liên quan

Trong đánh giá các hệ thống tìm kiếm thông tin theo kiểu của TREC, có hai

giả định quan trọng, mà không có trong các thiết lập ở thế giới thực :

• Sự liên quan hoàn toàn theo khái niệm: một tài liệu chỉ có thể là liên

quan hoặc không liên quan.

• Sự liên quan của một tài liệu hoàn toàn độc lập với các tài liệu khác.

Các giả định này làm đơn giản việc đo các hệ thống tìm kiếm. Nhiều nhà

nghiên cứu đã thử nghiệm với nhiều tỉ lệ khác nhau của sự liên quan. Các tỉ lệ này

được trình bày rõ hơn trong mục 2.2.3.4.

Giả định về sự liên quan của một tài liệu hoàn toàn độc lập với các tài liệu khác

không thực tế trong hầu hết các trường hợp. Trong hầu hết các trường hợp tìm

kiếm thông tin cơ bản, chẳng hạn tìm kiếm thông tin trên web, những người tìm

kiếm muốn tìm một câu trả lời cho một câu hỏi xác định hay một vài tham khảo.

Giả sử rằng người sử dụng sẽ bắt đầu duyệt qua các tài liệu được tìm thấy bắt đầu

từ những tài liệu liên quan nhất, các tài liệu ít liên quan hơn thì phụ thuộc vào tài

liệu liên quan đã đọc. Xác suất có tài liệu mới giảm dần theo danh sách tài liệu. Sự

phụ thuộc này thường bị bỏ qua bởi các nhà nghiên cứu tìm kiếm thông tin.

Có nhiều mối quan tâm về tính chủ quan của thủ tục đánh giá. Con ngừơi

thường có những ý kiến khác nhau về sự liên quan. Điều này có ảnh hưởng xấu

đến sự phát triển của các đánh giá của TREC. Tuy nhiên, đã có nhiều nghiên cứu

để giải quyết vấn đề này và thấy rằng ảnh hưởng trên tập các hệ thống có kết quả

sắp thứ tự liên quan thì có thể bỏ qua. Một nghiên cứu gần đây liên quan đến bộ

ngữ liệu để đánh giá của TREC kiểm thử nhiều vấn đề khác nhau:

Trang 40

• Đánh giá bởi tác giả khác với không phải tác giả

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

• Đánh giá một bảng khác với đánh giá nhóm bảng đánh giá • Đánh giá trong cùng một môi trường khác với đánh giá nhiều môi trường

Những yếu tố này ảnh hưởng đến giá trị tuyệt đối của các độ đo khả năng thực

hiện, nhưng thứ tự liên quan của các hệ thống vẫn ổn định.

2.2.3. Thực hiện đo khả năng tìm kiếm

Các độ đo cổ điển cho khả năng tìm kiếm của các thử nghiệm hệ thống thông

tin là độ bao phủ và độ chính xác. Trong những phần tiếp theo, chúng tôi mô tả

các thủ tục để đo độ chính xác và độ bao phủ và tính độ đo cho các hệ thống tìm

kiếm có kết quả được sắp thứ tự trong tình huống không thể đánh giá tất cả các tài

liệu trong bộ ngữ liệu kiểm tra. Từ độ bao phủ và độ chính xác, chúng tôi dùng

phương pháp tính độ chính xác dựa trên 11 điểm của độ bao phủ để tính độ chính

xác. Kết quả trả về từ phương pháp này là một bảng biến thiên của độ chính xác và

độ bao phủ hay là một hàm số của độ chính xác dựa trên độ bao phủ. Có thể biểu

diễn đồ thị liên hệ giữa độ chính xác và độ bao phủ từ hàm số này để cho biết hiệu

quả trả về của hệ thống một cách trực quan, và có thể so sánh nhiều hệ thống với

nhau dựa trên đồ thị.

(cid:131) Tính liên quan của tài liệu (relevant ):

2.2.3.1. Các khái niệm về độ đo và liên quan

Một tài liệu được gọi là có liên quan khi nội dung của tài liệu đó có đề

(cid:131) Độ bao phủ (Recall - R):

cập đến vấn đề mà câu truy vấn của người dùng quan tâm.

Cho biết khả năng của hệ thống tìm kiếm được những tài liệu có liên

(cid:131) Độ chính xác (Precision - P):

quan.

(cid:131) Khả năng loại bỏ: (Fall out - F):

Cho biết khả năng của hệ thống tìm được những tài liệu chính xác

Trang 41

Cho biết khả năng của hệ thống loại bỏ những tài liệu không liên quan

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Tập dữ liệu về tài liệu

A ∩ B

B

A

Tập tài liệu có liên quan

Tập tài liệu trả về

Tập tài liệu trả về có liên quan

Có liên quan Không liên quan (Relevant) (non- relevant)

A

B

A ∩ B

∩ B

A ∩

Tìm thấy (retrieved) Không tìm thấy (not retrieved)

(cid:131) Độ bao phủ (R):

A ∩ B

2.2.3.2. Cách tính độ bao phủ (R) và độ chính xác (P)

( 1 )

R =

B

(cid:131) Độ chính xác (P):

( 2 )

A ∩ B

P =

A

(cid:131) Khả năng loại bỏ: (Fall out - F):

∩B

( 3 )

Trang 42

F =

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

R * G

(cid:153) Mối liên hệ giữa R, P, F:

( 4 )

R * G + F* (1-G)

F =

G : là nhân tố tổng quát đo độ dày đặc của tài liệu liên quan trong tập dữ

A

liệu (cid:217) G cho biết độ liên quan của tài liệu so với câu truy vấn là cao hay thấp

( 5 )

Với S là tập tài liệu

G =

S

(cid:153) Vấn đề đo độ bao phủ:

Tính độ bao phủ là một vấn đề khó khăn trong việc đánh giá hệ thống tìm

kiếm thông tin bởi vì nó liên quan đến việc định giá thủ công tổng số tài liệu

liên quan trong tập tài liệu đối với mỗi câu truy vấn (vấn đề tạo bảng liên quan

lý thuyết) , việc định giá như vậy rất tốn kém nếu tập dữ liệu lớn. Để giải quyết

vấn đề này người ta đưa ra phương pháp “pooling”.Ý tưởng của phương pháp

“pooling” là trong danh sách tài liệu trả về chỉ lấy n tài liệu đầu, n được gọi là

chiều dài của “pool”.

Việc tạo bảng liên quan lý thuyết áp dụng phương pháp “pooling” được tiến

hành như sau: tiến hành tìm kiếm trên nhiều hệ thống áp dụng phương pháp

“pooling”, có thể tài liệu liên quan được trả về của một hệ thống là cao, ta tiến

hành giao các tập tài liệu liên quan trả về của các hệ thống đó và chỉ lấy n tài

liệu đầu.

Bởi vì tập kết quả trả về được sắp xếp theo thứ tự nên độ chính xác và độ

bao phủ có thể tính được tại các ngưỡng vị trí thứ tự thứ i tài liệu.

(cid:153) Vấn đề bảng liên quan thực tế

Đối với cách tính trên ta phải quan niệm về độ liên quan của tài liệu trên 2

Trang 43

mức độ : hoặc là tài liệu có liên quan hoặc là tài liệu không liên quan. Cách

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

quy ước như vậy nhằm làm đơn giản hoá cách đánh giá. Trên thực tế , độ liên

quan của tài liệu không chỉ là 2 mức độ mà có thể có nhiều mức độ.

2.2.3.3. Phương pháp tính độ chính xác dựa trên 11 điểm chuẩn

của độ bao phủ

2.2.3.3.1. Đồ thị biểu diễn hiệu suất thực thi hệ thống tìm kiếm

(cid:131) Ứng với 1 câu truy vấn được thực hiện bởi hệ thống sẽ có 1 độ bao

phủ (Ri) , độ chính xác (Pi) cụ thể .

(cid:131) Với 1 cặp (Ri,Pi) biểu diễn trên hệ trục toạ độ ROP tương ứng với 1

điểm.

(cid:131) Biểu diễn kết quả của tập câu truy vấn trên ROP ta sẽ có 2 đường

cong mô tả hiệu suất thực thi của hệ thống. Đường cong có dạng:

(cid:131) Từ đồ thị ta có thể rút ra kết luận: độ bao phủ vả độ chính xác có

mối quan hệ gần như tỷ lệ nghịch, khi R tăng thì P có thể sẽ giảm và

ngược lại.

(cid:131) Khi ta cố gắng làm tăng R bằng cách tăng số tài liệu trả về (N), theo

công thức (1) :

N tăng nên cơ may số tài liệu có liên quan sẽ tăng trên tổng số tài

liệu có liên quan so với câu truy vấn trong bảng liên quan chuẩn là

Trang 44

không đổi

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

(cid:214) R sẽ có thể tăng

(cid:131) Mặt khác theo công thức (2) do N tăng có nghĩa là số tài liệu trả về

tăng mặc dù số tài liệu có liên quan tăng nhưng không đáng kể so

với số tài liệu trả về (lúc này cũng tăng) nên P sẽ giảm.

Nói cách khác, khi cho hệ thống thực thi 1 câu truy vấn mà ta tăng số tài

liệu trả về thì kết quả sẽ có được nhiều tài liệu có ích nhiều hơn nhưng số tài

liệu không liên quan (tài liệu rác) cũng sẽ tăng.

2.2.3.3.2. Đường cong độ bao phủ và độ chính xác RP

Cơ sở tính bảng giá trị cho đường cong RP dựa vào bảng liên quan lý

thuyết và danh sách tài liệu liên quan đã được sắp thứ tự do hệ thống tìm kiếm

thông tin trả về(còn gọi là bảng liên quan thực tế).

Xét ví dụ sau:

Thực hiện kiểm tra hệ thống tìm kiếm thông tin với tập câu hỏi.

Xét câu hỏi thứ k, cách tính như sau:

Tài liệu liên quan được trả về là phần giao của danh sách tài liệu liên

quan theo lý thuyết và theo thực tế => Tổng số tài liệu liên quan được trả

về : 5

Bảng giá trị R,P tính với n tài liệu được trả về

Số tài liệu n Doc Liên quan Độ bao Độ chính Số tài

liệu liên ID theo lý phủ (R) xác (P) liệu trả

quan được thuyết ? về

trả về

1 588 1 1 1/5=0.2 1/1=1.00 true

2 589 2 2 2/5=0.4 2/2=1.00 true

3 576 false 2 3 2/5=0.4 2/3=0.67

4 590 3 4 3/5=0.6 3/4=0.75 true

5 986 false 3 5 3/5=0.6 3/5=0.60

Trang 45

6 592 4 6 4/5=0.8 4/6=0.67 true

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

7 984 false 4 4/5=0.8 4/7=0.57 7

8 988 false 4 4/5=0.8 4/8=0.50 8

9 578 false 4 4/5=0.8 4/9=0.44 9

10 985 false 4 4/5=0.8 4/10=0.40 10

11 103 false 4 4/5=0.8 4/11=0.36 11

12 591 false 4 4/5=0.8 4/12=0.33 12

13 772 5 5/5=1.0 5/13=0.38 13 true

14 990 false 5 5/5=1.0 5/14=0.36 14

Nhìn bảng giá trị trên, ta thấy tại giá trị R=0.6 có 2 giá trị P (P=0.75 và

P=0.6) và ngược lại tại giá trị P=1.0 có 2 giá trị R (R=0.2, R=0.4)

Để xây dựng đường cong cho một câu truy vấn ta dùng phương pháp tính

nội suy độ chính xác dựa trên 11 điểm chuẩn của độ bao phủ:

Xét các giá trị R tại các điểm chuẩn 0.0, 0.1, 0.2, 0.3, 0.4,0.5,0.6,0.7,0.8,0.9,

P = max P với j ≥ i

R( i )

R( j )

1.0, tại các vị trí tính giá trị P theo công thức sau:

Ta có bảng nội suy các giá trị P cho câu hỏi thứ k như sau:

N Doc Độ bao Độ chính Độ chính Độ bao

ID phủ (R) xác đã nội xác (P) phủ chuẩn

suy hoá

1 588 1/5=0.2 1/1=1.00 1.00 0.0

2 589 2/5=0.4 2/2=1.00 1.00 0.1

3 576 2/5=0.4 2/3=0.67 1.00 0.2

4 590 3/5=0.6 3/4=0.75 1.00 0.3

5 986 3/5=0.6 3/5=0.60 1.00 0.4

6 592 4/5=0.8 4/6=0.67 0.75 0.5

Trang 46

7 984 4/5=0.8 4/7=0.57 0.75 0.6

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

8 988 4/5=0.8 4/8=0.50 0.7 0.67

9 578 4/5=0.8 4/9=0.44 0.8 0.67

10 985 4/5=0.8 4/10=0.40 0.9 0.38

11 103 4/5=0.8 4/11=0.36 1.0 0.38

12 591 4/5=0.8 4/12=0.33

13 772 5/5=1.0 5/13=0.38

14 990 5/5=1.0 5/14=0.36

0 . 1

8 . 0

i

i

n o s c e r

6 . 0

P

4 . 0

2 . 0

Đồ thị RP cho câu hỏi thứ k:

2.2.3.3.3. Đường cong RP cho tập truy vấn

Xét tập câu truy vần gổm N câu truy vấn

- Lần lượt tính bảng giá trị RP nội suy như trên (tính P dựa trên 11 điểm

chuẩn của R)

Trang 47

- Tính giá trị trung bình P tại các điểm chuẩn của R như sau:

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Nhận xét:

Phương pháp đánh giá hệ thống dựa vào bảng giá trị RP nội suy không

đánh giá một cách chính xác hiệu suất tìm kiếm thông tin của hệ thống tìm

kiếm thông tin bởi vì các giá trị của R,P là các giá trị nội suy.

2.2.3.3.4. Đánh giá hệ thống tìm kiếm thông tin dựa vào đồ thị

Ta tiến hành kiểm tra 2 hệ thống với cùng 1 tập tài liệu mẫu và tập câu

truy vấn mẫu. Giả sử đồ thị diễn của 2 hệ thống như sau:

Nhìn trên đồ thị :

Đường cong A biểu diễn hiệu suất thực thi của hệ thống A

Đường cong B biểu diễn hiệu suất thực thi của hệ thống B

Do đường A nằm trên đường B nên hiệu suất của hệ thống A lớn hơn hệ

thống B

(cid:214) Một cách tổng quát : đường cong nào càng gần về phía góc trên bên

phải của hệ trục toạ độ (có nghĩa là độ chính xác và độ bao phủ là lớn nhất)

thì đó chính là đường cong biểu diễn hiệu suất thực thi tốt nhất.

Với cách biểu diễn trên đồ thị như vậy ta có thể đánh giá nhiều hệ thống

Trang 48

hoặc đánh giá 1 hệ thống trong những điều kiện thực thi khác nhau.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

2.2.3.4. Sự liên quan giữa câu hỏi và tài liệu

2.2.3.4.1. Các độ liên quan

(cid:131) Độ liên quan nhị phân (binary relevance): là độ liên quan chỉ có 2

Các độ liên quan được nói đến rất rõ trong [ 7 ].

giá trị : hoặc là có liên quan (relevant _ 1), hoặc không liên quan

(cid:131) Độ liên quan nhiều mức độ (độ liên quan đa cấp độ) : (multiple

(not relevant _ 0).

degree relevance, multiple level relevance): độ liên quan được xét ở

nhiều mức độ ,có nhiều giá trị . Ví dụ độ liên quan 3 mức độ :

- Mức độ có liên quan (relevant): 2

- Mức độ liên quan bộ phận (partically relevant): 1

- Không liên quan (not relevant) : 0

2.2.3.4.2. Các vấn đề về độ liên quan

(cid:131) một tập tài liệu (document) đại diện

(cid:131) một tập chủ đề (topic) đại diện

(cid:131) một vài câu truy vấn cho mỗi chủ đề

(cid:131) bảng đánh giá độ liên quan của mỗi tài liệu với mỗi chủ đề

Cơ sở đánh giá hệ thống tìm kiếm thông tin:

Do đó vấn đề cơ bản của việc đánh giá là phải thống nhất quan điểm

về mức độ liên quan.

Độ liên quan là một khái niệm đa khía cạnh (multifaceted), đa chiều

(multidimensional). Khái niệm về độ liên quan đến nay vẫn là một vấn đề khó

khăn trong lĩnh vực khoa học thông tin.Những cuộc nghiên cứu gần đây đã tập

trung vào nhân tố ảnh hưởng lên việc đánh giá độ liên quan và chiều (hoặc tiêu

chuấn) của độ liên quan. Có nhiều loại độ liên quan: độ liên quan thuật toán, độ

liên quan chủ đề, độ liên quan nhận thức, độ liên quan tình huống, độ liên quan

Trang 49

động cơ.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Độ liên quan vốn mang tính chủ quan, đánh giá độ liên quan thường không

thống nhất do tính cá nhân và nhân tố thời gian :

- Một tài liệu được đánh giá là có liên quan với tỉ lệ nào đó nhưng đồi

với người khác tỉ lệ này sẽ khác => độ liên quan phủ thuộc tính cá

nhân

- Một tài liệu được đánh giá là có liên quan với tỉ lệ nào đó tại thời

điểm t , nhưng tại thời điểm t’ tỉ lệ đó sẽ thay đổi => độ liên quan

phụ thuộc nhân tố thời gian . Tuy nhiên sự thay đổi này có thể chấp

nhận được do nó tương đối thấp

Trong hầu hết các thử nghiệm đánh giá hệ thống tìm kiếm thông tin (bao gồm

cả những thử nghiệm của TREC) người ta thường quan tâm độ liên quan nhị phân

(có nghĩa là tài liệu hoặc là được đánh giá là có liên quan (1) hoặc không có liên

quan (0)). Ưu điểm của dộ liên quan nhị phân là việc tính toán R, P đơn giản ;

khuyết điểm là không thể phản ánh được khả năng liên quan của tài liệu ở nhiều

mức độ đúng với thực tế.

Trong cách đánh giá tìm kiếm thông tin của TREC, khái niệm “liên quan” là

một khái niệm tuyệt đối: một tài liệu hoặc là liên quan hoặc là không liên quan.

Điều giả sử này nhằm làm đơn giản hóa việc tính toán các độ đo. Nhiều cuộc kiềm

tra khác đã tiến hành đánh giá với tỷ lệ độ liên quan nhiều mức độ.

Độ liên quan 3 cấp độ đã được thực hiện ở Hội nghị NTCIR 1999 (NII-

NACSIS Test Collection for IR systems), WEB track của TREC-9.

Độ liên quan 4 cấp được dùng trong NTCIR 2000.

Tỷ lệ độ liên quan của một tài liệu tại vị trí thứ N sẽ được trừ hao, điều này

phản ánh một tình trạng là tài liệu trả về càng phía dưới danh sách càng có ít giá trị

hơn đối với người sử dụng : mặc dù do mức độ tương quan không giảm nhưng sự

trùng lắp thống tin với những tài liệu phía trên cũng làm cho tài liệu phìa dưới kém

phần giá trị hơn.

Giả sử rằng sự liên quan của một tài liệu là độc lập với các tài liệu khác là

Trang 50

không thực tế trong hầu hết các trường hợp. Trong hầu hết các nhiệm vụ tìm kiếm

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

thông tin cơ bản giống như tìm kiếm trên mạng, tìm kiếm câu trả lời cho một câu

hỏi đặc biệt nào đó hoặc cho một vài sự tham khảo nào đó, giả sử rắng một người

dùng đọc lướt qua các tài liệu được trả về sẽ bắt đầu với tài liệu dễ thấy nhất ,nổi

bật nhất (ở phía trên danh sách) do đó độ liên quan của tài liệu phía dưới danh

sách sẽ phụ thuộc vào những tài liệu đã được đọc. Khả năng một tài liệu chứa

những thông tin mới sẽ giảm xuống đến cuối danh sách tài liệu. Sự phụ thuộc này

thường được bỏ qua trong những lần nghiên cứu tìm kiếm thông tin.

Ngoài ra việc định giá độ liên quan này mang tính chủ quan. Chúng ta

thường có nhiều ý kiến khác nhau về mức độ liên quan. Do đó mức độ liên

quan của tài liệu được phân biệt:

(cid:131) bảng liên quan đươc định giá do tác giả của tài liệu hay không

phải tác giả

(cid:131) bảng liên quan được định giá bởi một nhóm đánh giá

(cid:131) bảng liên quan được định giá trong cùng điều kiện hay được định

giá trong các điều kiện khác nhau

2.2.3.4.3. Đánh giá với độ liên quan nhiều cấp độ

(Multiple degree relevance or non-binary relevance)

Trong một vài thử nghiệm về đánh giá độ liên quan nhiều cấp độ chỉ có một

vài thí nghiệm thực sự cho thấy lợi ích của việc đánh giá độ liên quan ở nhiều

cấp độ khác nhau.

Độ bao phủ (R) , độ chính xác (P) là phương pháp cổ điển để đánh giá khả

năng thực thi của IR và thường được tính dựa trên việc đánh giá độ liên quan

nhị phân. Do đó việc đánh giá độ liên quan nhiều cấp độ chỉ được tiến hành ở

bước đầu , sau đó những giá trị mức độ sẽ được qui về 2 giá trị 0,1 để đánh giá

o có liên quan (relevant) => ký hiệu A

o

Ví dụ : đánh giá độ liên quan được tiến hành 3 mức độ:

o không liên quan (not relevant) => ký hiệu C

Trang 51

liên quan một phần (partically relevant ) => ký hiệu B

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Mức độ liên quan sẽ được qui về 2 giá trị để tính R , P. Có 2 cách tính:

A, B mang giá trị 1 (có liên quan)

C mang giá trị 0 (không liên quan)

hoặc

A mang giá giá trị 1 (có liên quan)

B,C mang giá trị 0 (không liên quan)

Với cách tiến hành như vậy để duy trì mức độ liên quan của tài liệu,

định dạng một tập tin đánh giá độ liên quan (relevant judgement) như sau:

topic-ID dumy doc-ID relevant assessment

Trong đó :

topic-ID : chỉ số của chủ đề (topic)

dumy : là trường cho biết tài liệu đó có mức độ liên quan là bao

nhiêu (A,hoặc B ,hoặc C)

doc-ID : chỉ số tài liệu

relevant assessment: mang giá trị 0 hoặc 1 , giá trị đánh giá độ liên

quan sau khi được qui về độ liên quan nhị phân.

o độ liên quan cao (highly relevant)

o độ liên quan vừa (fairly relevant)

o độ liên quan trung bình (marginally relevant)

o không liên quan (irrelevant)

Một ví dụ khác về đo độ liên quan của tài liệu ở 4 mức độ:

Tuy nhiên trong các Hội nghị về Đánh giá các hệ thống thông tin gần đây,

độ liên quan nhị phân vẫn còn được xem là một cách đánh giá chuẩn, thậm chí

nhiều trường hợp đánh giá độ liên quan ở nhiều cấp độ nhưng cũng được qui

về đánh giá nhị phân để tính độ bao phủ và độ chính xác. Cách tiến hành này

có khuyết điểm là nó không kiểm tra được từng mức độ cụ thể của độ liên quan.

Một số người có quan điểm là cách đo độ R và P dựa vào việc đánh giá nhị

Trang 52

phân là nên tránh vì cách tính như vậy không quan tâm đến sự thay đổi và độ

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

phức tạp của mức độ liên quan, làm sai lệch tính tự nhiên và thực tế của độ liên

quan. Một giải pháp để giải quyết vấn đề này là tổng quát hoá độ R và P.

Dựa vào lý thuyết, thực nghiệm, nghiên cứu, mức độ liên quan của tài liệu

thay đổi một cách rõ ràng, một vài tài liệu thì liên quan nhiều hơn, một số khác

thì ít hơn. Thật là khó để xác định mức độ liên quan khi tiến hành đánh giá.

Điều này còn tuỳ thuộc vào tình huống đánh giá hệ thống của chúng ta.

2.2.3.4.4. Phương pháp đo độ bao phủ (R), độ chính xác (P) dựa

trên độ liên quan nhiều cấp độ

Phương pháp đo dựa vào độ bao phủ (R ) và độ chính xác (P) là một

phương pháp truyền thống nhưng độ đo R,P chỉ được tính dựa vào độ liên quan

nhị phân

Đối với trường hợp độ liên quan nhiều cấp độ ta có 2 cách giải quyết sau:

- qui tất cả mức độ liên quan về 2 giá trị 0,1 (giống như đưa về dộ liên

quan nhị phân ) => cách này theo Schamber là nên tránh

- tổng quát hoá R và P

(cid:153) Độ bao phủ tổng quát và độ chính xác tổng quát:

(generalized , non-binary recall and precision)

Gọi R là tập n tài liệu được phục hồi từ cơ sở dữ liệu tài liệu

D= { d1, d2, …, dN } với một câu truy vấn thuộc về một chủ đề nào

đó , R ≤ D

Gọi tài liệu di trong cơ sở dữ liệ tài liệu có tỉ lệ độ liên quan là r(di)

Độ bao phủ tổng quát gR và độ chính xác tổng quát gP được tính

theo công thức như sau:

∑r(d) d є R ∑r(d) d є D

Trang 53

gP = gR= ∑ r(d) d є R n

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Cách tính này cũng tương tự tính R, P nhị phân truyền thống , nó cũng cho

phép tính R trung bình và P trung bình của tập câu truy vấn, tính P dựa trên R,

hoặc tính dựa trên ngưỡng giới hạn số tài liệu trả về và cũng cho phép biểu diễn

đường cong PR

Ghi chú : r(d) là một con số thực có giá trị trong khoảng (0.0, 1.0)

Ví dụ với mức độ liên quan là 4. Tính r(d)

o Mức độ liên quan cao : 3 => r(d)=3/4

o Mức độ liên quan vừa : 2 => r(d)=2/4

o Mức độ liên quan trung bình : 1 => r(d)=1/4

Không liên quan :0 => r(d)=0

2.2.4. TREC và đánh giá theo chuẩn TREC

2.2.4.1. TREC là gì?

TREC là viết tắt của Text REtrieval Conference, có nghĩa là Hội nghị về Tìm

kiếm Thông tin Văn bản, được tổ chức hằng năm tại Viện Quốc gia về Tiêu chuẩn và Công nghệ Hoa Kỳ (NIST _ National Institute Standard and Technology) [ 8].

TREC là một loạt Hội nghị chuyên cung cấp cơ sở hạ tầng cho việc kiểm tra, đánh

giá quy mô lớn về công nghệ tìm kiếm (chủ yếu là tìm kiếm văn bản). Hội nghị

TREC được tạo ra để thúc đẩy nghiên cứu về các công nghệ tìm kiếm thông tin.

Các mục tiêu chính của TREC là :

• Khuyến khích các nghiên cứu trong tìm kiếm thông tin dựa trên ngữ liệu

đánh giá qui mô lớn.

• Phát triển giao tiếp, liên lạc giữa các ngành công nghiệp, giáo dục và chính

phủ bằng cách cung cấp một diễn đàn mở để trao đổi các ý kiến nghiên cứu. • Hỗ trợ trao đổi công nghệ từ những phòng thí nghiệm nghiên cứu thành

những sản phẩm thương mại.

• Cải thiện vượt bật các phương pháp luận tìm kiếm trên các vấn đề thế giới

Trang 54

thực và các độ đo cho tìm kiếm thông tin.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

• Tạo ra một loạt ngữ liệu đánh giá liên quan các khía cạnh khác nhau của

tìm kiếm thông tin.

• Phát triển các công nghệ đánh giá thích hợp sẵn có mà được sử dụng bởi

ngành công nghệp và giáo dục, bao gồm cả việc phát triển các công nghệ

đánh giá mới thích hợp hơn với các hệ thống hiện tại.

Kêu gọi tham gia

Tiến hành công bố

Xác định công việc

Hội nghị TREC

Kiếm được tài liệu

Phân tích kết quả

Phát triển chủ đề

Đánh giá kết quả

Thử nghiệm tìm kiếm thông tin

Đánh giá độ liên quan

Chu trình Hội nghị hằng năm của TREC :

TREC gồm các lĩnh vực tập trung khác nhau gọi là TRACK. Nhiệm vụ của các

TRACK chủ yếu là tập trung vào vấn đề con của tìm kiếm thông tin văn bản.

Chính những TRACK này tiếp thêm sinh lực, và làm cho TREC tiếp tục phát

triển vì những TRACK này thực hiện :

+ Ngữ liệu chuyên môn hóa hỗ trợ nghiên cứu trong các lĩnh vực mới.

+ Những thí nghiệm qui mô lớn gỡ những lỗi mà công việc gặp phải.

Trang 55

+ Cung cấp những dấu hiệu về sự phát triển của công nghệ đánh giá.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Tuy nhiên, sự phát triển tập hợp TRACK trong một TREC cụ thể phụ thuộc

vào :

+ Sự hưởng ứng của những người tham gia.

+ Các công việc mà TREC đưa ra có thích hợp hay không

+ Nhu cầu về tài trợ

+ Sự ràng buộc về nguồn ngữ liệu…

Đánh giá theo tiêu chuẩn của TREC chính là xây dựng bộ ngữ lịêu dùng để

đánh giá theo chuẩn của TREC và phương pháp đánh giá theo độ liên quan theo

chuẩn TREC, thêm vào đó là phương pháp đánh giá kết quả theo chuẩn 11 điểm

của độ bao phủ.

Vì phương pháp đánh giá theo độ liên quan, phương pháp đánh giá kết quả

theo chuẩn 11 điểm của độ bao phủ đã được trình bày đến trong các phần trên nên

chúng tôi chủ yếu sẽ trình bày trong phần tiếp theo về cách xây dựng ngữ liệu của

TREC.

2.2.4.2. Cách xây dựng ngữ liệu của TREC

Như chúng tôi đã đề cập, TREC đánh giá các hệ thống tìm kiếm thông tin theo

mô hình hướng hệ thống. Theo mô hình này, bắt buộc hệ thống đánh giá phải thực

hiện các công việc đã đề cập trong phần 2.2.2. Trong đó, phần xây dựng bộ ngữ

liệu đánh giá là phần quan trọng nhất và TREC làm rất tốt công việc này do kích

thước của bộ ngữ liệu rất lớn và thực tế. Ngoài ra, việc đánh giá thì mở cho rất

nhiều nhóm nghiên cứu, số người tham gia vào TREC qua các năm tăng lên một

cách nhanh chóng. Số lượng có ý nghĩa các nhóm tham gia mỗi năm, bảo đảm sự

ổn định và có thể so sánh qua các năm. TREC cũng xây dựng bộ ngữ liệu dùng để

đánh giá gồm ba phần : tập tài liệu hay kho ngữ mẫu, tập câu truy vấn, và bảng

đánh giá liên quan chuẩn. Đối với từng phần, TREC đều đưa ra các chuẩn xây

Trang 56

dựng và định dạng khá tốt. Vì vậy, chúng tôi cũng thực hiện định dạng bộ ngữ liệu theo chuẩn TREC. Sau đây là cách xây dựng ngữ liệu của TREC [ 9].

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

2.2.4.2.1. Xây dựng tập hợp các tài liệu

Tùy thuộc vào mục đích, nhu cầu của người thực hiện đánh giá, họ sẽ chọn

tập các tài liệu xác định để xây dựng. Tập tài liệu này phải là mẫu của các loại

văn bản mà họ chọn. Tuy nhiên, tập các tài liệu này phải được xem xét các

điều kiện về thể loại, số lượng, là văn bản đầy đủ hoặc là bản tóm tắt. Ngoài ra,

việc lựa chọn tập tài liệu mà phản ánh được tính đa dạng của vấn đề, của việc

lựa chọn từ ngữ, văn phong, hình thức… cũng rất quan trọng. Tập hợp tài liệu

thường phải rất lớn.

Ngữ liệu chính của TREC chứa 3 gigabytes văn bản (trên 1,000,000 tài

liệu). Các tài liệu được sử dụng ở các TRACK khác nhau là nhỏ hoặc lớn phụ

thuộc vào nhu cầu của TRACK đó và dữ liệu có sẵn.

Các tập tài liệu chính của TREC chủ yếu bao gồm những bài báo giấy và

những bài báo điện tử, ngoài ra còn có một số tài liệu khác nhưng số lượng tài

liệu này rất ít. Những cấu trúc cấp cao trong mỗi tài liệu được gán nhãn bằng

SGML, và mỗi tài liệu được gán bởi một thẻ xác định duy nhất được gọi là

DOCNO (số thứ tự của tài liệu). Để giữ tính thật của tài liệu, văn bản sẽ được

giữ gần giống với văn bản gốc có thể. Tuy nhiên, ngữ liệu của TREC không

được xác định, sửa các lỗi chính tả, tách câu, tách những bảng cấu trúc lạ và

những lỗi tương tự như vậy.

2.2.4.2.2. Xây dựng các chủ đề

TREC phân biệt một lời yêu cầu thông tin (topic - chủ đề ) với cấu trúc dữ

liệu mà được thật sự đưa vào trong một hệ thống tìm kiếm thông tin (query -

câu truy vấn). Bộ ngữ liệu của TREC cung cấp các chủ đề cho phép một phạm

vi lớn các phương pháp tạo câu truy vấn được đánh giá và cũng bao gồm một

sự trình bày rõ ràng rằng tiêu chuẩn gì làm cho tài liệu liên quan đến chủ đề.

Mỗi cách trình bày chủ đề thường gồm bốn phần : một thẻ định danh

(number), một tiêu đề (title), một đoạn mô tả (description) và một đoạn

Trang 57

tường thuật (narrative).

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Trong đó thẻ định danh được dùng để phân biệt các chủ đề với nhau. Còn

đoạn mô tả được dùng để mô tả rõ ràng hơn nội dung tiêu đề của chủ đề. Đoạn

tường thuật được tạo ra để làm chuẩn cho biết tài liệu nào thật sự liên quan đến

chủ đề đang đề cập.

Ngoài ra, những phần khác nhau của các chủ đề của TREC cho phép người

nghiên cứu kiểm tra hiệu quả chiều dài những câu truy vấn khác nhau với biểu

diễn tìm kiếm.

Từ một chủ đề có thể tạo ra nhiều câu truy vấn khác nhau. Khi tìm kiếm,

các câu truy vấn sẽ được sử dụng để tìm kiếm. Thông thường, mỗi năm TREC

lại tạo 50 chủ đề mới.

Chủ đề được tạo ra bởi những người đánh giá. Họ tạo ra các chủ đề ứng

viên và gởi đến NIST. Các chủ đề ứng viên này liên quan đến những vấn đề bất

kỳ mà họ quan tâm. Sau đó, NIST sẽ tìm kiếm thông tin với các chủ đề ứng

viên này bằng hệ thống tìm kiếm TREC PRISE. Cuối cùng, NIST sẽ chọn ra

những chủ đề nào có số lượng kết quả trả về gần với ngưỡng các tài liệu liên

quan đã được đặt ra và số lượng các chủ để được chọn phải chia đều cho những

người đánh giá

2.2.4.2.3. Xây dựng bảng đánh giá liên quan chuẩn

Bảng đánh giá liên quan chuẩn là bảng chứa các chủ đề và các tài liệu liên

quan thật sự của các chủ đề đó. Dựa trên bảng đánh giá liên quan chuẩn này,

người đánh giá xác định các tài liệu nào là thật sự liên quan đến chủ đề nào sau

khi chạy các hệ thống tìm kiếm. TREC hầu như sử dụng bảng đánh giá liên

quan theo độ liên quan nhị phân (hoặc tài liệu liên quan đến chủ đề hoặc

không). Để biết là tài liệu đó có liên quan thật sự hay không thì người đánh giá

sẽ xem trong phần tường thuật của chủ đề. Phần này ghi rất chi tiết về những

tài liệu như thế nào là liên quan. Sau đó, người đánh giá sẽ đánh dấu tài liệu

Trang 58

nào là liên quan và tài liệu nào không liên quan.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Ví dụ : Chủ đề về “kinh tế tri thức”, nó có tường thuật là : “Các tài liệu

được gọi là liên quan là những tài liệu nói về nền kinh tế tri thức, thế nào là

nền kinh tế tri thức, ảnh hưởng của nền kinh tế tri thức của các nước trên thế

giới”.

Nhưng cách đánh giá bằng thủ công của người không thể thực hiện được

với số lượng tài liệu quá lớn, đặc biệt là tài liệu của TREC. Vì vậy, TREC áp

dụng phương pháp Pooling để làm bảng đánh giá liên quan chuẩn. Phương

pháp này chúng tôi đã trình bày ở trên. Tại NIST, khi những người tham gia

đăng ký hệ thống tìm kiếm của họ tại NIST, họ phải thực hiện tìm kiếm với các

chủ đề của NIST bằng hệ thống tìm kiếm của họ. Sau đó, kết quả được sắp xếp

theo thứ tự các tài liệu trong bộ ngữ liệu kiểm tra đối với từng chủ đề. NIST sẽ

chọn một số các kết quả và trộn lại với nhau, nếu chọn càng nhiều hệ thống thì

bảng đánh giá liên quan chuẩn càng chính xác. Sau mỗi lần chạy, X tài liệu

đúng nhất (thường X =100) được thêm vào trong Pool hay còn gọi là danh sách

các tài liệu chính xác của từng chủ đề. Nhiều tài lịêu được tìm thấy trong trong

X có trong nhiều hơn một lần chạy để tìm kiếm, vì vậy Pool thường nhỏ hơn

con số lý thuyết X*số_lượng _các_bảng_kết_quả_được_chọn.

Bộ ngữ liệu dùng để đánh giá theo phương pháp Pooling mặc dù không công

bằng lắm trong trường hợp đánh giá các hệ thống chưa tham gia vào tìm kiếm

để lấy bảng đánh giá liên quan chuẩn nhưng phương pháp này cho ra kết quả

có thể tin cậy được. Và sự khác biệt khi tính độ bao phủ, độ chính xác không

chênh lệch nhiều so với đánh giá bằng thủ công.

2.3. Ngữ liệu tiếng Việt

Chúng tôi xây dựng bộ ngữ liệu dùng để đánh giá bằng tiếng Việt và chương

trình đánh giá các hệ thống tìm kíêm thông tin, đặc biệt là các hệ thống tìm kiếm

Trang 59

thông tin tiếng Việt nên việc nói đến ngữ liệu tiếng Việt là phần không thể thiếu.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Khác với tiếng Anh, Pháp (thường được dùng trong các hệ thống tìm kiếm

thống tin phổ biến), tiếng Việt có những đặc thù riêng, đặc biệt trong việc xác định

từ tiếng Việt.

2.3.1. Từ

2.3.1.1. Quan niệm về từ

Theo [10 ], thì tổng hợp từ các sách ngôn ngữ học đại cương, sách ngữ pháp và

sách về từ vựng học, chúng tôi xin trình bày lại một số định nghĩa điển hình về từ

như sau:

♦ Từ là một hình thái tự do nhỏ nhất. ♦ Từ là đơn vị ngôn ngữ có tính hai mặt : âm và nghĩa. Từ có khả năng độc

lập về cú pháp khi sử dụng trong lời.

♦ Từ là đơn vị nhỏ nhất có nghĩa của ngôn ngữ, được vận dụng độc lập, tái

hiện tự do trong lời nói để xây dựng nên câu”. Đây cũng chính là định nghĩa

mà trong ngôn ngữ học đại cương hay sử dụng.

Từ các định nghĩa trên, ta rút ra những nét đặc trưng chính của từ như sau:

Về hình thức : từ phải là một khối về cấu tạo (mặt chính tả, ngữ âm)

Về nội dung : từ phải có ý nghĩa hoàn chỉnh.

Về khả năng : từ có khả năng hoạt động tự do và độc lập về cú pháp.

Ngoài ra, ta còn gặp một số thuật ngữ khác trong ngôn ngữ học đại cương mà

S.E.Jakhontov [ 11] đưa ra để nhận diện từ, như:

1. Từ ngữ âm: đó là những đơn vị được thống nhất với hiện tượng ngữ âm nào

đó. Đối với Việt ngữ, đó chính là những âm tiết, hay còn gọi là “tiếng”, “tiếng một

2. Từ chính tả: đó là những khoảng cách giữa 2 chỗ trên văn tự; tức là những

đơn vị được viết liền thành khối, đối với tiếng Việt, đó chính là “chữ”

3. Từ hoàn chỉnh: đó là những cấu trúc ổn định, không thể tách rời hay hoán

Trang 60

vị các thành tố của chúng.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

4. Từ từ điển học: đó là đơn vị mà căn cứ vào đặc điểm ý nghĩa của nó phải

xếp riêng trong từ điển.

5. Từ biến tố: đó là những đơn vị luôn luôn gồm 2 phần: gốc từ (biểu thị ý

nghĩa đối tượng) và phụ tố (biểu thị mối liên hệ với các từ khác trong câu). Đây

còn gọi là từ ngữ pháp.

Về phương diện xử lý tự động bằng máy tính, thì từ chính tả và từ từ điển là hai

loại được nhận diện dễ nhất và được sử dụng nhiều nhất trong tài liệu này.

2.3.1.2. Quan niệm về hình vị

Trong ngữ pháp truyền thống thì hình vị được xem là thành tố trực tiếp để tạo nên

từ. Do đó, hình vị được xem như là đơn vị tế bào gốc, đơn vị tế bào của ngữ pháp,

và còn được gọi là từ tố. Chính vì vậy, mà việc nhận diện hình vị phải là bước đi

đầu tiên trong việc nhận diện từ. Để nhận diện hình vị, Jakhontov đưa ra cách

phân xuất câu đến mức tối giản, gọi là từ câu, hay hình vị; ngoài ra, giới ngôn ngữ

học hay sử dụng phương pháp lập hình vuông Greenberg để đối sánh. Ví dụ: đối

sánh “có lý” và “có ý”, ta tách được thành 3 hình vị: “có”, “lý” và “ý”.

Trước hết ta hãy xem lại quan niệm về hình vị (morpheme) trong ngôn ngữ học

đại cương: theo Baudouin de Courtenay thì hình vị là bộ phận nhỏ nhất có nghĩa

của từ, còn theo Bloomfield thì hình vị là đơn vị ngôn ngữ nhỏ nhất có nghĩa.

Nhưng quan niệm thường thấy trong ngôn ngữ học đại cương là: “hình vị là đơn vị

ngôn ngữ nhỏ nhất có nghĩa và/hoặc có giá trị (chức năng) về mặt ngữ pháp”.

“Từ” được cấu tạo bằng một hình vị hay nhiều hình vị kết hợp với nhau theo

những nguyên tắc nhất định. Ví dụ: anti-virus (chống vi rút). Hình vị bao gồm hai

loại: hình vị tự do (như: work, home,…) và hình vị hạn chế (như: -ed, -less,…).

Trong hình vị hạn chế gồm hình vị biến tố (như: work-ed) và hình vị phái sinh

(như: home-less).

2.3.1.3. Khái niệm về cấu tạo từ

Trang 61

Từ được cấu tạo nhờ các hình vị (morpheme).

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Ví dụ: anti + poison = antipoison. Hình vị là đơn vị ngôn ngữ nhỏ nhất có nghĩa

và/hoặc có giá trị (chức năng) về mặt ngữ pháp.

Hình vị gồm các loại :

- Hình vị tự do : tự nó xuất hiện với tư cách là một từ độc lập, ví dụ : house, man,

black, nhà, người, đen...

- Hình vị hạn chế : xuất hiện trong tư thế đi kèm, phụ thuộc vào hình vị khác, nó

bao gồm các hình vị biến tố và hình vị phát sinh.

Ví dụ : -ing, -ed, -s, -ness, ...

Để cấu tạo từ, người ta dùng các phương thức :

- Dùng một hình vị.

- Tổ hợp 2 hay nhiều hình vị.

- Thêm phụ tố (tiền, trung, hậu tố) vào.

- Láy.

2.3.2. Ranh giới từ

Nhận diện ranh giới từ (word boundary identification) hay còn gọi là phân

đoạn từ (word segmentation) là một công đoạn tiên quyết đối với hầu hết các hệ

xử lý ngôn ngữ tự nhiên. Đối với các ngôn ngữ biến hình (tiếng Anh, tiếng Nga,...)

thì ranh giới từ được xác định chủ yếu bằng khoảng trắng hay dấu câu, còn đối với

các ngôn ngữ đơn lập (trong đó có tiếng Việt) thì khoảng trắng không thể là tiêu

chí để nhận diện từ. Muốn xác định được ranh giới từ trong các ngôn ngữ này,

chúng ta phải dựa vào các thông tin ở mức cao hơn, như hình thái, từ pháp, cú

Trang 62

pháp, hoặc ngữ nghĩa và thậm chí cả ngữ dụng.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Chương 3 : THIẾT KẾ VÀ CÀI ĐẶT

3.1. Xây dựng bộ ngữ liệu dùng để đánh giá

Như chúng tôi đã trình bày trong các phần trên, chúng tôi xây dựng bộ ngữ liệu

dùng để đánh giá theo tiêu chuẩn của TREC. Việc xây dựng gồm 3 phần sau :

3.1.1. Xây dựng kho ngữ liệu bằng tiếng Việt

Chúng tôi xây dựng kho ngữ liệu dùng để đánh giá bằng cách thu thập tài liệu

từ các báo điện tử, chẳng hạn : www.tuoitre.com.vn, www.thanhnien.com.vn,

www.vnexpress.net . Các tài liệu này bao gồm rất nhiều lĩnh vực khác nhau gồm

có khoa học kỹ thuật, kinh tế, giáo dục, văn hóa, thời sự … Kho ngữ liệu của

chúng tôi cho đến nay đã có gần 15.000 tài liệu, với kích thước lưu trữ là 34 MB.

Tuy nhiên, các tài liệu này ở dưới dạng thô, chưa được chuẩn hóa nên bước

quan trọng nhất là chuẩn hóa ngữ liệu.

3.1.1.1. Chuẩn hóa ngữ liệu

Chuẩn hóa ngữ liệu là chuẩn hoá thành một dạng, một tiêu chuẩn duy nhất.

Việc chuẩn hoá ngữ liệu gồm các nhiệm vụ sau:

3.1.1.1.1. Chuẩn hóa dạng ngữ liệu

Chuẩn hoá dạng ký tự: đưa về đúng dạng điện tử, định dạng tập tin

(từ các định dạng tập tin khác nhau sẽ chuyển về txt, loại bỏ những

thứ không phải là văn bản), đúng mã ký tự (chuyển về mã Unicode).

Chuẩn hoá tập tin: mỗi tập tin ngữ liệu sẽ gồm một số câu (khoảng

2000 từ), mỗi câu có thể nằm trên một dòng, hết câu, ngắt xuống

dòng cứng sau dấu chấm câu. Mỗi đầu câu, sẽ có một mã số định

danh để cho biết thông tin về văn bản, như: ngôn ngữ (Anh, Việt,

Pháp, Hoa, …), lĩnh vực của tập tin (văn học, tin học, kinh tế, thể

Trang 63

thao,…), tiểu loại (như: trong văn học có truyện ngắn, tiểu thuyết,

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

thơ, ký, …) và thông tin về số hiệu câu (câu thứ mấy trong tập tin),

số hiệu văn bản (văn bản thứ mấy trong tiểu loại/lĩnh vực đang xét).

Chuẩn hoá chính tả: xem xét biến thể hình thái chính tả, như: quy tắc

bỏ dấu thanh (với tiếng Việt: bỏ dấu trên nguyên âm chính theo

nguyên tắc thẩm mỹ hay bỏ trên nguyên âm chính theo nguyên tắc

ngữ âm học), các biến thể chữ viết, như: cách viết i/y trong tiếng

Việt “hoá lý” và “hóa lí”.

3.1.1.1.2. Định dạng ngữ liệu

Sau khi thu thập ngữ liệu và chuẩn hóa ngữ liệu về dạng văn bản, chúng

tôi chuyển tất cả ngữ liệu sang định dạng XML với một thẻ định danh như

DOCNO của TREC. Thẻ định danh của chúng tôi là DOCID. Sở dĩ chúng

tôi chuyển sang định dạng XML là vì như thế chúng tôi có thể dễ dàng

chuyển đổi định dạng để tìm kiếm cho tất cả các hệ thống tìm kiếm khác

nhau. Định dạng ngữ liệu của chúng tôi có trong phần phụ lục.

Chúng tôi có chương trình cho phép chuyển đổi định dạng từ text sang

XML giống tài liệu của chúng tôi. Chương trình này rất hữu ích trong việc

tạo thêm tài liệu cho kho ngữ liệu của chúng tôi.

3.1.2. Xây dựng tập câu hỏi bằng tiếng Việt

Tập câu hỏi được xây dựng bằng cách đọc lướt qua một số tài liệu và tạo một tập

X câu hỏi. Sau đó, chúng tôi tạo định dạng cho câu hỏi theo tiêu chuẩn của TREC,

tức câu hỏi phải có phần định danh, tiêu đề, mô tả và tường thuật. Câu hỏi cũng

được định dạng ở XML.

Tiếp theo, chúng tôi chạy tập X các câu hỏi cho các hệ thống tìm kiếm. Rồi xem

lại kết quả tìm kiếm của các hệ thống để lựa chọn những câu hỏi nào là tối ưu nhất

để tạo tập Y câu hỏi chính thức. Vì vậy Y luôn nhỏ hơn hay bằng X.

(cid:153) Cả câu hỏi và ngữ liệu tiếng Việt đều phải được tách từ trong trường hợp

Trang 64

đánh giá các hệ thống tìm kiếm tiếng Anh cho tiếng Việt vì hệ thống tiếng

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Anh không thể nào được dùng để đánh giá hệ thống tiếng Việt. Do đó,

chúng tôi cũng xây dựng một chương trình tách từ cho ngữ liệu tiếng Việt.

3.1.3. Tách từ tiếng Việt

Để nhận diện ranh giới từ, chúng tôi đã sử dụng một số hình như: MM

Maximum Matching: forward / backward ; LRMM: Left Right, RLMM: Right

Left và phương pháp MMSEG : Maximum Matching Segmentation.

Theo phương pháp LRMM để phân đoạn từ tiếng Việt trong một ngữ/câu,

ta đi từ trái sang phải và chọn từ có nhiều âm tiết nhất mà có mặt trong từ điển, rồi

cứ tiếp tục cho từ kế tiếp cho đến hết câu. Với cách này, ta dễ dàng tách được

chính xác các ngữ/câu như: “hợp tác xã | mua bán”; “thành lập | nước | Việt Nam |

dân chủ | cộng hoà”,…. Phương pháp RLMM thì ngược lại, trong một câu/ngữ, ta

đi từ phải sang trái và chọn từ có nhiều âm tiết nhất mà có mặt trong từ điển, rồi

cứ tiếp tục cho từ kế tiếp cho đến hết câu. Phương pháp MMSEG là sự kết hợp của

cả hai phương pháp LRMM và RLMM, do đó MMSEG cho kết quả tốt hơn hai

phương pháp trên.

3.1.4. Xây dựng bảng đánh giá

Chúng tôi xây dựng bảng đánh giá theo phương pháp Pooling. Chúng tôi chạy các

hệ thống khác nhau để đánh giá. Chúng tôi đã tìm hiểu các hệ thống sau:

Hệ thống SMART [12 ] của Đại học Cornell phát triển, một hệ thống kinh

điển về mô hình vec-tơ . Hệ thống XIOTA [ 13], hệ thống cho phép định dạng ngữ liệu theo XML,

được phát triển tại Pháp. Hệ thống Terrier [14 ] của Đại học Glasgow, Scot-len. Hệ thống này được

dùng để chạy các track Tetra, Robust của TREC. Hệ thống Lucene [15 ], do nhóm Jakarta Apache phát triển, đây là một

Trang 65

search engine được dùng phổ biến.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Hệ thống Tìm kiếm Tiếng Việt hay Search4Vn của một nhóm làm luận

văn khóa 2001 phát triển để tìm kiếm thông tin tiếng Việt.

Tuy nhiên, đa số các hệ thống làm cho tiếng Anh nên mã hóa của các hệ thống

này không hỗ trợ tiếng Việt (mặc dù tiếng Việt được mã hóa bằng mã Unicode), vì

vậy muốn thực thi các hệ thống tìm kiếm cho tiếng Việt bắt buộc chúng tôi phải

thực hiện chuyển mã cho chương trình tìm kiếm. Các hệ thống này được viết trên

rất nhiều ngôn ngữ khác nhau, gồm có ngôn ngữ C trên Linux, ngôn ngữ BASH

Shell, ngôn ngữ Java, JSP, ngôn ngữ DOT NET; và tài liệu cho các thành phần mã

nguồn không đầy đủ nên chúng tôi khó có thể chỉnh sửa hết tất cả các hệ thống.

Chúng tôi đã làm hết khả năng có thể để đọc mã nguồn và tìm cách sửa mã cho hệ

thống tìm kiếm nhưng chúng tôi chỉ có thể chạy được vài hệ thống.

Sau khi chạy các hệ thống, chúng tôi giao các bảng liên quan lại thành bảng

liên quan chuẩn. Sau đó, chúng tôi đọc lại và tạo bảng đánh giá liên quan chuẩn

hòan chỉnh.

3.1.4.1. Hệ thống SMART

3.1.4.1.1. Giới thiệu hệ thống SMART

SMART là một hệ thống tìm kiếm thông tin dựa trên mô hình vector được

đề xuất bởi Salton vào cuối những năm 60. Mục đích chính của SMART là

cung cấp một nền tảng cho việc xây dựng tìm kiếm thông tin, lập chỉ mục,

đánh giá tìm kiếm thông tin.

Mục đích thứ hai là cung cấp cho người dùng thông tin cuối cùng vừa nhỏ

thích hợp với người dùng.

SMART có những ưu điểm và khuyết điểm của nó.SMART được thiết kế

rất linh hoạt, nó cho phép thêm chỉnh sửa các đoạn mã và có thể chạy trên bất

kỳ hệ thống UNIX với yêu cầu về kích thước bộ nhớ nhỏ.

3.1.4.1.2. Quá trình tìm kiếm thông tin của SMART

Trang 66

SMART thực hiện qua 4 thủ tục:

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

1. lập chỉ mục tự động : trích dẫn và xác định các yếu tố thông tin là từ hay

cụm từ (term) của tài liệu và câu truy vấn.

2. Phân loại tài liệu: tập hợp các tài liệu có liên quan với nhau để tạo thành

những lớp tài liệu có cùng chủ đề, làm như vậy để hệ thống có thể tìm được

nhiều tài liệu có chủ đề tương tự đồng thời cũng làm tăng tốc độ xử lý của

hệ thống (xin xem giải thích phần dưới).

3. Xác định tài liệu được trả về bằng cách tính độ tương tự (similarity) giữa

các yếu tố thông tin được lưu trữ và các yếu tố thông tin vừa được phân tích

từ câu truy vấn mới nhập vào, sắp xép kết quả trả về theo thứ tự giảm dần

4. Cải tiến câu lệnh tìm kiếm (câu truy vấn) nhằm xây dựng lại câu truy vấn

độ tương tự. Quá trình này , hệ thống SMART dùng mô hình vec-tơ.

dựa vào những thông tin được lấy từ kết quả của quá trình phục hồi truy

vấn trước.

3.1.4.1.3. Mô hình vec-tơ của hệ thống SMART

Trong mô hình này, mỗi tài liệu được đặc trưng bởi 1 vector của tập các từ

ngữ (term). Tập các từ ngữ này được xác định bởi quá trình lập chỉ mục của hệ

thống. Có nghĩa là với mỗi tài liệu cụ thể DOCi sẽ được xác định bởi tập từ

ngữ TERM1 ,TERM2,…..,TERMt (Từ ngữ ở đây có thể gọi 1 cách rộng hơn là

yếu tố thông tin vì nó có thể là một từ, ngữ được trích dẫn từ các tài liệu hay

một từ , cụm từ lấy từ các từ điển thuật ngữ đồng nghĩa). Một tập các tài liệu

DOC1, DOC2, …., DOCn có thể được biểu diễn thành 1 ma trận trong đó mỗi

dòng của ma trận là 1 tài liệu, mỗi cột biểu diễn 1 yếu tố thông tin của các atì

liệu.

TERM1 TERM2 … TERMt

DOC1 TERM11 TERM12 … TERM1t

DOC2 TERM21 TERM22 … TERM2t

….

Trang 67

DOC3 TERM31 TERM32 … TERM3t

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

TERMij gọi là trọng số thông tin của yếu tố thông tin TEMj trong tài liệu

DOCi , nó chính là tần số xuất hiện của TERMj trong tài liệu DOCi.

TERMij=0 có nghĩa là trong tài liệu DOCi không tồn tại yếu tố thông tin

TERMj

=> Tương tự như vậy các câu truy vấn khi được đưa vào hệ thống cũng sẽ

được biểu diễn thành vector có t thành phần TERM có sẵn của tài liệu. Nhưng

giá trị của các TERMij không phải là trọng số mà có giá trị trị nhị phân.

- Khi TERMij=0 : từ (ngữ) của câu truy vấn không có trong tập yếu tố thông

tin tài liệu

(cid:131) Biểu diễn hình học của tập vec-tơ tài liệu:

- TERMij=1 : từ (ngữ) của câu truy vấn có trong tập yếu tố thông tin tài liệu

Tập tài liệu gồm n DOC : DOC1, DOC2,…,DOCn và t yếu tố thông tin

TERM1, TERM2, …, TERMt.

Theo mô hình vector : một tài liệu biểu diễn thành 1 vector trên không

gian t chiều . Vậy ta có n vector tài liệu

DOC1 (TERM11,TERM12,…..,TERM1t)

DOC2 (TERM21,TERM22,…..,TERM2t)

….

DOCn (TERMn1,TERMn2,…..,TERMnt)

Lần lượt tính cos của góc tạo bởi 2 vector tài liệu DOCi,DOCj theo cộng thức

(TERMik * TERMjk)

sau:

COS (DOCi, DOCj)=

t ∑ k=1 t

(TERMik)^2

(TERMjk)^2

t √ ∑ √ ∑ k=1

k=1

Ta thấy góc α tạo bởi 2 vector DOCi , DOCj càng nhỏ thì vector DOCi và

DOCj càng gần nhau hay trọng số của các yếu tố thông tin so với tài liệu DOCi,

DOCj gần bằng nhau (cid:217) tài liệu DOCi và DOCj có cùng chủ đề

Trang 68

Để thể hiện ý nghĩa trên ta có khái niệm độ tương tự

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

(cid:214) Độ tương tự của các tài liệu chính là cos của góc tạo bởi 2 vector DOCi, DOCj

(cid:214) Đây chính là cách xác định phân loại tài liệu của hệ thống

Một cách tương tự ta có thể định nghĩa độ tương tự của tài liệu và câu truy vấn:

Xét 1 câu truy vấn Qj cụ thể , Qj có thể được biểu diễn dưới dạng vector như sau:

Qj (QTERMj1, QTERMj2,…,QTERMjt)

Vector Qj cũng được biểu diễn trong không gian t chiều như tập tài liệu

Độ tương tự của câu truy vấn so với tài liệu DOCi chính là cos của góc α tạo

t COS (DOCi, Qj) = ∑ k=1 t

t

(QTERMjk)^2

(TERMik * QTERMjk) √ ∑ √ ∑ (TERMik)^2 k=1

k=1

bởi 2 vector Qj và DOCi .

Do giá trị của các vector Qj và DOCi luôn là 1 con số lớn hơn bằng 0, nên

cosα >=0 => α là góc trong khoảng [0, ∏ ] .

Do hàm số cos trong khoảng [ 0,∏ ] là hàm số nghịch biến nên cosα càng

lớn thì α càng nhỏ có nghĩa là nếu 2 vector càng gần nhau thì độ tương tự càng

lớn hay nội dung của tài liệu DOCi liên quan nhiều đến yêu cầu của câu truy

vấn Qj.

3.1.4.1.4. Sử dụng mô hình vec-tơ

Phân loại tài liệu:

Dựa vào việc tính độ tương tự giữa các vector tài liệu ta có thể phân loại tài

• Mục đích của việc phân tài liệu:

liệu, những tài liệu có độ tương tự gần nhau sẽ xếp vào 1 lớp

Là để tạo ra 1 tập tin cluster document. Dưới đây là ví dụ của tập tin

Trang 69

cluster:

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

x

x

o

x

x

x

x

x

o

x

o x

x

o

o

x

x

x

x

x

o

x

Mỗi 1 điểm x ký hiệu cho 1 vector tài liệu, khoảng cách giữa 2 điểm x tỷ lệ

nghịch với độ tương tự (khoảng cách giữa 2 điểm x càng lớn có nghĩa là độ tương

tự giữa 2 tài liệu càng nhỏ và ngược lại).

Mỗi đường tròn đại diện cho lớp tài liệu.

Để đặc trưng cho lớp đó người ta định nghĩa thêm 1 vector đặc biệt gọi là

vector centroid , nó cũng giống như trọng tâm của tập các điểm x , được thể hiện

• Cách tính vector centroid

trên hình vẽ là ‘o’.

Giả sử có m tài liệu thuộc lớp p, vector centroid của lớp p được biểu diễn

như sau:

CENTROIDp = CTERMp1 , CTERMp2,….,CTERMpt

m

1 CTERMpk = ∑ TERMik m i=1

Trong đó :

• Mục đích của việc đưa ra vector centroid:

với TERMik là trọng số của term k của tài liệu i trong lớp p

Đầu tiên ,mỗi câu truy vấn sẽ được so sánh với các vector centroid để tính

độ tương tự giữa vector truy vấn và vector centroid thay vì phải tính với tất cả

Trang 70

các vector tài liệu . Nếu độ tương tự đó đủ lớn (có nghĩa là lớp tài liệu đó thích

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

hợp) thì ta tiếp tục so sánh vector truy vấn với các vector tài liệu trong lớp mà

vector centroid đó đại diện . Tài liệu nào có độ tương tự lớn sẽ được phục hồi

Giả sử có n tài liệu trong tập cơ sở dữ liệu tài liệu được phân chia thành x

lớp (nên có x vector centroid) , mỗi lớp có khả năng chứa n/x tài liệu

Số lần so sánh giữa câu truy vấn và vector centroid là x lần.

Sau khi đã so sánh x lần với các vector centroid ta chọn được 1 vector

centroid có độ tương tự lớn nhất và tiến hành so sánh với n/x tài liệu trong lớp

có vector centroid đó đại diện

(cid:214) Tổng số lần so sánh là x + n/x (*)

Nếu không thiết lập tập tin cluster (tức là không định nghĩa vector

centroid ) tổng số lần so sánh của 1 câu truy vấn với n tập tài liệu là n lần

Áp dụng bất đẳng thức Cauchy cho biểu thức (*):

x n

x + ≥ 2√ n

x n

Dấu “=” xảy ra khi x = (cid:217) x = √ n

Vậy số lần so sánh ít nhất sẽ là 2√ n với số cluster trong tập tài liệu là x =

√ n

Đối với tập tài liệu lớn với các tài liệu có nhiều chủ đề khác nhau không

đồng nhất thì số lượng cluster (lớp) sẽ lớn, lúc đó số lần so sánh giữa vector

truy vấn và các vector centroid sẽ lớn . Để giải quyết trường hợp này , một lần

nữa ta lại áp dụng phương pháp tính độ tương tự giữa các vector centroid như

cách tính độ tương tự giữa các tài liệu để phân lớp cho tập vector centroid.

Nói tóm lại việc tính độ tương tự giữa các tài liệu để phân lớp tài liệu tạo ra

1 vector đại diện cho lớp đó gọi là vector centroid , tương tự việc phân lớp

vector centroid sẽ tạo ra 1 vector đại diện cho lớp vector centroid đó gọi là

vector supercentroid và lớp đó được gọi là superclass

Do đó việc tìm kiếm tài liệu sẽ được thực hiện qua 3 bước:

i. Đầu tiên so sánh vector truy vấn với các vector supercentroid thuộc

Trang 71

các superclass

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

ii. Sau đó so sánh câu truy vấn với các vector centroid của các

superclass thoả ở bước 1

iii. Cuối cùng so sánh câu truy vấn với các vector tài liệu của các lớp mà

• Một ví dụ về cấu trúc của tập tin cluster:

vector centroid thoả ở bước 2

Việc tổ chức các file cluster phải thích hợp với sự phát triển của tập cơ sở

dữ liệu tài liệu, bởi vì 1 tài liệu mới được thêm vào cơ sở dữ liệu cũng sẽ được

thực hiện so sánh tương tự như đối với câu truy vấn. Các item của tài liệu sẽ

được so sánh với các supercentroid và các centroid đã có , kết quả là tài liệu sẽ

được thêm vào những cluster thích hợp mà độ tương tự giữa các cluster đủ lớn.

Sau đó hệ thống phải tiến hành tính lại các vector supercentroid và centroid của

SUPERCENTROIDk SCTERMk1 , SCTERMk2 , …… , SCTERMkt

CENTROIDPOINTER i CENTROIDPOINTER j ….

CENTROIDi CTERMi1 , CTERMi2 , …… , CTERMit

DOCPOINTER i1 DOCPOINTER i2 …..

CENTROIDj CTERMj1 , CTERMj2 , …… , CTERMjt

DOCPOINTER j1 DOCPOINTER j2 ….

DOCi1 TERMi11 , TERMi12 , …… , TERMi1t

DOCi2 TERMi21 , TERMi22 , …… , TERMi22

……

DOCj1 TERMj11 , TERMj12 , …… , TERMj1t

DOCj2 TERMj21 , TERMj22 , …… , TERMj22

……

Trang 72

những cluster vừa mới có thêm tài liệu mới

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Xác định tài liệu thích hợp trả về

Cải tiến câu truy vấn:

Thủ tục cải tiến câu truy vấn của hệ thống SMART còn được gọi là quá trình

gửi thông tin phản hồi về tính liên quan của tài liệu (Relevance feedback) việc

đánh giá độ liên quan mà người sử dụng cung cấp cho hệ thống dựa trên những tài

liệu được phục hồi của câu truy vấn trước đó, để xây dựng lại mô hình vector truy

vấn mới. Mục đích của quá trình này là xây dựng câu truy vấn mới có hiệu quả

thực thi tốt hơn

Thủ tục cải tiến câu truy vấn được thực thi như sau:

i. Các từ ngữ xuất hiện trong tài liệu được người dùng xác định là có liên quan

sẽ được thêm vào mô hình vector truy vấn ban đầu hoặc trọng số của những từ

ngữ này (term) sẽ được tăng lên.

ii. Các từ ngữ xuất hiện trong tài liệu được người dùng xác định là không có

liên quan sẽ được xoá ra khỏi câu truy vấn ban đầu hoặc trọng số của nó sẽ

được giảm lên.Thủ tục cải tiến câu truy vấn sẽ được thực thi một cách tự động

dựa vào thông tin phản hồi từ phía người dùng. Quá trình này có thể được tiến

hành nhiều lần để tìm ra câu truy vấn tối ưu nhất

3.1.4.2. Hệ thống Search4Vn

Hệ thống này cũng sử dụng mô hình không gian vectơ để tìm kiếm. Mục đích

hệ thống này là để tìm kiếm thông tin tiếng Việt. Mô hình tách từ được sử dụng là

Longest Matching. Hệ thống được viết bằng ngôn ngữ C#.

3.1.4.3. Hệ thống TERRIER

Hệ thống này cũng sử dụng mô hình không gian vectơ để tìm kiếm. Kết quả

tìm kiếm có TF và IDF để các chuyên gia có thể biết hệ thống tìm theo mô hình đó

tốt hay không. Tuy nhiên, hệ thống này chưa hỗ trợ Unicode,và các lớp được viết

cho Unicode lại thuộc một thư viện chuẩn(thư viện antlr của Java) nên việc

Trang 73

chuyển mã rất khó khăn. Muốn chuyển mã bắt buộc phải thay đổi cách viết

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

chương trình của hệ thống. Cho đến nay, chúng tôi chưa thể chuyển mã để tìm

kiếm tiếng Việt.

Hệ thống này được viết bằng Java và JSP nên độc lập môi trường.

3.1.4.4. Hệ thống X-IOTA

Hệ thống XIOTA hay hệ thống IOTA là một khung làm việc XML mở cho thử

nghiệm tìm kiếm thông tin. Vì sử dụng XML nên XIOTA rất linh hoạt trong xử lý

ngữ liệu, hỗ trợ cài đặt nhanh nhiều thành phần thử nghiệm khác nhau mà dùng

các xử lý ngôn ngữ tự nhiên tự động.

Hệ thống XIOTA cũng tìm kiếm theo mô hình vec-tơ. Hệ thống X-IOTA được

viết bằng C++ chạy trên môi trường Linux. Tuy nhiên, hệ thống này đang trong

giai đoạn thử nghiệm nên thành phần mã nguồn chưa ổn định để tìm kiếm thông

tin.

3.1.4.5. Hệ thống LUCENE

Hệ thống này cũng sử dụng mô hình không gian vec-tơ để tìm kiếm. Hệ thống

được viết bằng ngôn ngữ Java. Lucene cũng là một hệ thống mã nguồn mở, là một

công cụ tìm kiếm mà người sử dụng có thể phát triển giao diện tìm kiếm theo ý

riêng của mình.

Chúng tôi cũng đã thêm giao diện và sửa mã của Lucene để có thể tìm kiếm

được tiếng Việt.

3.2. Phân tích hệ thống đánh giá các hệ thống tìm kiếm thông tin

3.2.1. Mô tả hệ thống trợ giúp đánh giá

3.2.1.1. Phát biểu bài toán

Như chúng tôi đã đề cập, chúng tôi thực hiện đánh giá dựa trên mô hình

hướng hệ thống để đánh giá kết quả trả về của các hệ thống tìm kiếm thông tin

(chúng tôi gọi tắt là hệ thống IR). Nhưng để việc đánh giá được thực hiện một

Trang 74

cách rõ ràng, trực quan và đặc biệt là tự động hóa thì nhất thiết phải cần đến hệ

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

thống trợ giúp đánh giá các hệ tìm kiếm thông tin. Hệ thống trợ giúp đánh giá

gồm có chương trình hỗ trợ đánh giá các hệ thống tìm kiếm tự động và bộ ngữ

liệu dùng để đánh giá.

3.2.1.2. Mục tiêu

Chương trình hỗ trợ đánh giá cho phép thực thi và xem cách thức hoạt động

của các hệ thống tìm kiếm thông tin bất kỳ. Để thực thi tìm kiếm trên một hệ

thống tìm kiếm thông tin bất kỳ, chương trình phải cho phép định dạng bộ ngữ

liệu dùng để đánh giá của chương trình thành bộ ngữ liệu mà hệ thống tìm

kiếm có thể hiểu và tìm kiếm được. Còn cách thức hoạt động của hệ thống tìm

kiếm chủ yếu là việc lập chỉ mục câu hỏi, tài liệu để cho người đánh giá thấy

một cách trực quan cách lập chỉ mục của hệ thống tìm kiếm và so sánh cách lập

chỉ mục của các hệ thống với nhau. Nhưng phần quan trọng nhất mà chương

trình phải hỗ trợ đó là tính hiệu suất thực thi của các hệ thống tìm kiếm thông

tin để biết được hệ thống tìm kiếm có tốt hay không. Hiệu suất thực thi được

tính dựa trên độ đo độ bao phủ và độ chính xác của kết quả mà hệ thống tìm

kiếm trả về. Hiệu suất thực thi của từng hệ thống và so sánh hiệu suất của các

hệ thống được biểu diễn bằng đồ thị trực quan cho phép người đánh giá có thể

dễ dàng xác định khả năng tìm kiếm của một hệ thống và so sánh nhiều hệ

thống tìm kiếm với nhau.

3.2.1.3. Phạm vi

Phạm vi của hệ thống đánh giá là chỉ trợ giúp các hệ thống IR có:

- các file kết quả và file chỉ mục là dạng XML

- tập dữ liệu kiểm thử (tập tài liệu và tập câu hỏi) có thể ở dạng XML hay

dạng text file

3.2.1.4. Chức năng

- Định dạng tập tài liệu và tập câu hỏi của chương trình phù hợp với cấu

Trang 75

trúc hệ thống IR

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

- cho phép thực thi một hệ thống IR (với điều kiện hệ thống IR phải có

file thực thi)

- Cho phép xem cách thức hoạt động của hệ thống IR (ví dụ như cách lập

chỉ mục bộ ngữ liệu dùng để đánh giá).

- Hiểu thông tin kết quả trả về của hệ thống IR và tính toán ,đánh giá hệ

thống IR đó

- cho phép xem kết quả đánh giá của một hệ thống cụ thể

- so sánh các hệ thống IR

cho phép xem đồ thị biểu diễn đường cong RP chuẩn hóa

3.2.1.5. Tính khả dụng

- Tương thích, chạy được trên hai môi trường Windows và Linux

- Giao diện người dùng dễ sử dụng, cho phép định dạng, xem hệ thống tìm

kiếm thực thi và đánh giá trực quan bằng đồ thị.

3.2.1.6. Hiệu suất

- có khả năng định dạng bộ ngữ liệu dùng để đánh giá kích thước lớn một

cách nhanh chóng.

3.2.1.7. Tính bảo mật

(không có)

3.2.2. Phân tích hệ thống đánh giá

3.2.2.1. Chức năng của hệ thống

(cid:131) Đánh giá kết quả truy vấn của một hệ thống IR

(cid:131) So sánh hiệu suất thực thi của nhiều hệ thống IR

Trang 76

Hệ thống trợ giúp đánh giá có các chức năng chính sau:

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

3.2.2.2. Chức năng yêu cầu

3.2.2.2.1. Chức năng đánh giá một hệ thống IR

3.2.2.2.2. Chức năng so sánh nhiều hệ thống IR

Trang 77

3.2.2.2.3. Sơ đồ use case

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

So sanh nhieu he thong IR

Thuc thi he thong IR

(from Use Cases)

(from Use Cases)

Dinh dang tai lieu

He thong IR

(from Use Cases)

(from Actors)

NguoiSuDung

Dinh dang index file

Tap du lieu kiem tra

(from Actors)

(from Use Cases)

(from Actors)

Dinh dang cau hoi

(from Use Cases)

Dinh dang ket qua

(from Use Cases)

Xem ket qua danh gia

(from Use Cases)

(cid:153) Mô tả usecase:

Dinh dang tai lieu

Usecase này cho phép người sử dụng chuyển đổi cấu trúc tập tài liệu

của chương trình thành cấu trúc tài liệu của hệ thống IR

Dinh dang cau hoi:

Usecase này cho phép người sử dụng chuyển đổi cấu trúc tập câu hỏi

của chương trình thành cấu trúc câu hỏi của hệ thống IR

Thuc thi he thong IR:

Usecase này cho phép thực thi một hệ thống IR bên ngoài

Dinh dang ket qua:

Usecase này cho phép người sử dụng chuyển đổi cấu trúc tập tin kết quả

của hệ thống IR thành cấu trúc tập tin kết quả do chương trình định

nghĩa và xử lý các thông tin kết quả này để đánh giá hệ thống IR

Dinh dang index file:

Usecase này cho phép người sử dụng chuyển đổi cấu trúc tập tin index

của hệ thống IR thành cấu trúc tập tin index do chương trình định nghĩa

Trang 78

Xem ket qua danh gia

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Usecase này cho phép người sử dụng xem kết quả đánh giá hệ thống IR

So sanh nhieu he thong IR

Usecase này cho phép so sánh nhiều hệ thống IR với nhau

3.2.2.2.4. Sơ đồ tuần tự hoạt động usecase

TH_DDTaiLieu

XL_Doc

XL_XML

XL_Text

LT_XML

LT_Text

: NguoiSuDung

Mo man hinh

Nhap thong tin dinh dang

Yeu cau chuyen sang XML

Dinh dang tai lieu

Chuyen doi XML

Ghi file XML

Yeu cau chuyen sang text

Chuyen doi text

Ghi file text

Yeu cau dinh dang text

Trang 79

Dinh dang tai lieu:

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

XL_Topic

TH_DDCauHoi

XL_XML

XL_Text

LT_XML

LT_Text

: NguoiSuDung

Mo man hinh

Nhap thong tin dinh dang

Yeu cau chuyen sang XML

Dinh dang cau hoi

Chuyen doi XML

Ghi file XML

Yeu cau chuyen doi sang text

Dinh dang cau hoi text

Chuyen doi sang Text

Ghi file text

Trang 80

Dinh dang cau hoi:

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

TH_ThucThiHT

TH_DKThucThi

XL_HeThongIR

: NguoiSuDung

: He thong IR

Mo man hinh

Yeu cau thuc thi he thong IR

Xet tap du lieu kiem tra da san sang ?

Chua san sang Yeu cau nhap vi tri luu tru tap du lieu

Nhap vi tri luu tap du lieu

Sao chep tap du lieu den vi tri yeu cau

Thuc thi he thong

hien thi he thong IR

Da san sang

Thuc thi he thong

Hien thi he thong IR

Trang 81

Thuc thi he thong IR:

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

TH_DDKetQua

XL_KetQua

XL_XML

LT_XML

: NguoiSuDung

Mo man hinh

Nhap thong tin dinh dang

Yeu cau dinh dangDinh dang ket qua IR Lay du lieu file kq

doc file ket qua

Thong tin ve ket qua

Tao file ket qua co cau truc cua chuong trinh

Ghi file XML

Trang 82

Dinh dang ket qua

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

TH_DDIndex

XL_XML

LT_XML

: NguoiSuDung

XL_Index

Mo man hinh

Nhap thong tin dinh dang

Yeu cau chuyen doi

Chuyen doi file index tai lieu

Lay thong tin file index tai lieu

Thong tin file index tai lieu

Tao file index tai lieu theo cau truc cua chuong trinh

Ghi file XML

Chuyen doi file index cau hoi

Lay thong tin file index cau hoi

Thong tin file index cau hoi

Ghi file XML

Dinh dang index file:

Trang 83

Xem ket qua danh gia

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

XL_Topic

TH_Kq_DanhGia

TH_XemChiTietTH_DoThi_HeThong

XL_KetQua

XL_Doc

XL_Index

XL_HeThongIR

XL_XML XL_DoThi LT_XML

: NguoiSuDung

Mo nam hinh

Yeu cau thong tin ve cac he thong da danh gia

Lay noi dung cua cac the theo yeu cau cua file xml

Doc file he thong

danh sach he thong

Hien thi danh sach he thong Chon he thong can xem

Lay noi dung cua cac the theo yeu cau cua file xml

Doc file danh gia

Lay danh sach cac cau hoi duoc kiem tra Danh sach cau hoi

xem thong tin lien quan cua mot cau hoi

Lay cac tai lieu lien quan den cau hoi do va ket qua danh gia

Lay noi dung cua cac the theo yeu cau cua file xml

Doc file danh gia

Cac tai lieu lien quan va thong tin danh gia

Hien thi ket qua danh gia

Yeu cau xem thong tin chi tiet

Mo man hinh xem chi tiet

Lay noi dung cua cau hoi

Doc file cau hoi tuong ung

Lay noi dung cua cac the theo yeu cau Noi dung theo yeu cau

Noi dung cau hoi

Lay noi dung tai lieu lien quan va do tuong quan

Lay noi dung cua cac the theo yeu cau

Doc file tai lieu tuong ung

Noi dung theo yeu cau

Noi dung tai lieu lien quan va do tuong quan

Lay thong tin chi muc cua tai lieu va cau hoi

Lay noi dung cua cac the theo yeu cau

Doc file index cua tai lieu va cau hoi

Noi dung theo yeu cau

Noi dung index

hien thi thong tin lien quan cua cau voi voi 1 tai lieu

Yeu cau xem do thi he thong

Lay thong tin ve do chinh xac o 11 diem chuan cua do bao phu

Lay noi dung cua the theo yeu cau Doc file he thong

Ve do thi he thong

Hien thi duong cong RP len do thi

Trang 84

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

TH_SoSanhHT

XL_HeThongIR

XL_DoThi

XL_XML

LT_XML

: NguoiSuDung

Mo man hinh

Lay danh sach cac he thong

Lay thong tin cac the theo yeu cau

Doc file he thong

Thong tin theo yeu cau

Danh sach he thong IR

Hien thi cac he thong IR

Chon cac he thong IR can so s anh

Lay gia tri R,P chuan cua cac he thong

Lay thong tin cac the theo yeu cau

Doc file he thong

thong tin theo yeu cau

Thong tin R,P o 11 diem chuan

Yeu cau ve do thi

Hien thi cac duong cong RP len do thi

Trang 85

So sanh nhieu he thong IR

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

3.3. Thiết kế hệ thống đánh giá

Đánh giá nhiều hệ thống IR

Đánh giá một hệ thống IR

Thực thi hệ thống IR

Xử lý kết quả trả về

3.3.1. Các chức năng của chương trình

Định dạng cơ sở dữ liệu kiểm tra Định dạng tập kết quả Định dạng index file

3.3.1.1. Chức năng “Định dạng cơ sở dữ liệu tài liệu”

Chương trình phải xây dựng tập cơ sở dữ liệu dùng cho việc kiểm tra

các hệ thống IR . Tập cơ sở dữ liệu bao gồm : các tài liệu , tâp câu truy vấn .

(Ngoài ra còn có bảng kết quả đánh giá chuẩn để so sánh hệ thống IR với

các hệ thống IR chuẩn). Với chức năng này, chương trình sẽ cho phép

người dùng khai báo định dạng dữ liệu (bao gồm tài liệu và câu truy vấn)

mà hệ thống IR của họ cần. Dựa vào định dạng này , chương trình sẽ tạo

tập dữ liệu có nội dung là tập dữ liệu của mình nhưng có cấu trúc của hệ

thống IR

3.3.1.2. Chức năng “Định dạng kết quả trả về”

Hệ thống IR sau khi thực hiện tất cả các câu truy vấn trong tập cơ sở dữ

liệu tài liệu , sẽ gửi kết quả thực thi về cho chương trình.

Mỗi hệ thống IR sẽ định dạng kết quả trả về khác nhau, và kết quả trả về

mà chương trình quan tâm là tập tin kết quả ghi nhận sự liên quan của mỗi

Trang 86

câu hỏi với tập tài liệu

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Chức năng này ghi nhận các thông tin định dạng kết quả tạo file kết quả

có cấu trúc của chương trình và ghi nhận thông tin kết quả của hệ thống IR

(cid:206) tạo bảng liên quan thực tế (do chương trình IR cần đánh giá cung cấp)

3.3.1.3. Chức năng “Định dạng file index”

Hệ thống IR có lưu trữ thông tin lập chỉ mục cho tài liệu và cho câu

hỏi Để hỗ trợ người dùng đánh giá chức năng lập chỉ mục của hệ thống IR,

chương trình hiện thị thông tin chỉ mục của hệ thống IR. Do đó chức năng

này cho phép người dùng khai báo cấu trúc file index để chương trinh lấy

thông tin

3.3.1.4. Chức năng “Thực thi hệ thống IR”

Gọi thực thi hệ thống IR

3.3.1.5. Chức năng “Xử lý kết quả trả về”

Dựa vào bảng đánh giá chuẩn (bảng liên quan theo lý thuyết) và bảng

liên quan tính độ bao phủ,độ chính xác và các giá trị độ chính xác tại 11

điểm chuẩn của độ bao phủ, tính giá trị độ bao phủ trung bình, độ chính xác

trung bình

3.3.1.6. Chức năng ”Đánh giá một hệ thống IR”

Dựa vào tập kết quả trả về đã được cấu hình theo định dạng của chương

trình, chuương trình sẽ tính hiệu suất thực thi của hệ thống dựa vào độ bao

phủ và độ chính xác

3.3.1.7. Chức năng “Đánh giá nhiều hệ thống IR”

Dựa vào tập tin lưu trữ kết quả trả về của từng hệ thống mà nó đã đánh

Trang 87

giá, chương trình sẽ so sánh các hệ thống

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

3.3.2. Thiết kế hệ thống

TH_Main

TH_DDTaiLieu TH_DDCauHoi

TH_DKThucThi

TH_ThucThiHT

TH_TTTaiLieu TH_TTCauHoi

TH_DDIndex

TH_DDKetQua

Tầng thể hiện

TH_DoThi_HeThong

TH_SoSanhHT

TH_XemChiTiet

CHeThongIR

CKetQua

CIndex

CFormat

CTopic

CRelevant

CDocument

Tầng xử lý

XL_Index

XL_KetQua

XL_HeThongIR

XL_Doc

XL_Topic

XL_XML

XL_Text

XL_DoThi

LT_XML

LT_Text

Tầng lưu trữ

TH_KqDanhGia

3.3.2.1. Sơ đồ kiến trúc tổng thể

3.3.2.1.1. Danh sách các lớp đối tượng

STT Tên

3.3.2.1.2. Lớp đối tượng thể hiện

Ý nghĩa Ghi chú

1 TH_Main Màn hình chính Từ màn hình chính, chúng ta

của chương trình có thể thực thi tất cả các

chức năng của chương trình

2 TH_DDTaiLieu Định dạng tài liệu Tất cả tài liệu của chương

Trang 88

trình được lưu bằng file

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

XML, chức năng này của

chương trình cho phép

chuyển đổi các tài liệu XML

thành các tài liệu XML khác

(có định dạng khác) hoặc tài

liệu dạng text (phù hớp với

định dạng của file tài liệu

của hệ thống IR bên ngoài)

3 TH_TTTaiLieu Định dạng thuộc Khi chuyển các file XML tài

tính cho các thẻ liệu của chương trình (F1)

tài liệu nếu có sang file XML khác (F2) :

các thẻ của F1 tương ứng với

các thẻ của F2 mà các thẻ

của F2 có thuộc tính là các

thẻ của F1 hoặc thẻ mới thì

chương trình sẽ hiện thị màn

hình TH_TTTaiLieu cho

phép người dùng định nghĩa

các thuộc tính đó

Chú ý : với chức năng

chuyển từ file XML (file tài

liệu của chương trình) sang

file text (file tài liệu phù hợp

với hệ thống IR) sẽ không

cần màn hình này

4 TH_DDCauHoi Định dạng câu (tương tự TH_DDTaiLieu)

hỏi

Trang 89

5 TH_TTCauHoi Định dạng thuộc (tương tự TH_TTTaiLieu )

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

tính cho các thẻ

câu hỏi nếu có

Màn hình này chỉ dùng khi 6 TH_DKThucThi Màn hình nhập

người dùng không định dạng điều kiện cần

tài liệu và câu hỏi và muốn thiết trước khi

thực thi hệ thống IR. Nhiệm thực thi hệ thống

vụ của màn hình này là yêu

cầu người dùng cung cấp nơi

lưu trữ tập tài liệu và tập câu

hỏi của hệ thống IR

7 TH_ThucThiHT Thực thi hệ thống Tại màn hình này sẽ gọi các

IR bên ngoài hệ thống IR cần thực thi sau

khi đã chuyển đối tập dữ liếu

kiểm tra (gồm tập tài liệu và

tập câu hỏi)phù hợp với hệ

thống IR đó.

8 TH_DDKetQua Định dạng kết Sau khi thực thi hệ thống IR

quả xong, chúng ta cần lấy thông

tin về định dạng các file kết

quả của hệ thống IR trả về để

chương trình có thể đánh giá

dựa trên các file kết quả này

Chức năng định dạng tập tin 9 TH_DDIndex Màn hình định

chỉ mục không bắt buộc dạng các tập tin

chỉ mục của tập

tài liệu và tập câu

hỏi

Trang 90

10 TH_Kq_DanhGia Hiện thị kết quả Màn hình này chỉ thể hiện

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

đánh giá của một đánh giá dưới góc độ hệ

hệ thống IR thống

Tại màn hình xem kết quả 11 TH_XemChiTiet Màn hình cho

đánh giá (TH_Kq_DanhGia), phép xem thông

khi muốn xem chi tiết sự liên tin cụ thẻ của một

quan của một tài liệu cụ thể tài liệu liên quan

với một câu truy vấn nào đó đến 1 câu truy

chương trình sẽ gọi màn vấn

hình này

12 TH_DoThi_HeThon Màn hình biểu

g diễn đường cong

RP của một câu

hỏi

13 TH_SoSanhHT So sánh các hệ

thống IR

STT Tên

3.3.2.1.3. Lớp đối tượng xử lý

Ý nghĩa Ghi chú

Cấu trúc định dạng như sau: 1 CFormat Cho phép khai

- oldId: thứ tự của thẻ trong tài báo cấu trúc của

liệu cũ các dạng định

- newId: thứ tự của thẻ trong tài dạng của tài

liệu mới liệu và câu hỏi

- oldTag: tên thẻ (section) cũ

- newTag: tên thẻ (section) mới

- haveAttr : đánh dấu nếu thẻ đó

có thuộc tính

Trang 91

- attrArray: mảng lưu trữ giá trị

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

thuộc tính (có kiểu CFormat)

(Ghi chú: các trường

haveAttr,attrArray chỉ dùng đối

với file XML không dùng cho file

text)

Thông tin định dạng của các thẻ ,

thuộc tính của thẻ(nếu là file

XML) và thông tin định dạng của

các section (nếu là file text) sẽ

được ghi nhận thông qua lớp

Cformat. Thông tin này sẽ được

chuyển xuống cho lớp XL_Doc để

thực hiện việc chuyển đổi

Cấu trúc của một tài liệu như sau: 2 CDocument Cho phép khai

- DocID: để phân biệt các tài liệu báo cấu trúc của

- Title: chủ đề của câu hỏi đó tài liệu để lưu

- Author: tác giả của tài liệu đó trữ các giá trị

- Date: ngày tạo tài liệu nội dung của

- News: tài liệu được lấy từ đâu các thẻ (hoặc

- Content: nội dung tài liệu section) của tài

Nội dung của các thẻ hay các liệu

section của tài liệu sẽ được trả về

cho chương trình thông qua lớp

CDocument khi cần

Chương trình thông qua lớp 3 XL_Doc Xử lý các họat

XL_Doc để thực hiện các chức động , các chức

năng như: năng của tài

Trang 92

- chuyển tài liệu theo định dạng liệu

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

của hệ thống IR bất kỳ

- lấy các danh sách các tài liệu

- lấy thông tin một tài liệu bất kỳ

dựa vào chỉ số của nó (DocID), …

(chú ý: thông tin hệ thống sẽ được

trả về dưới cấu trúc của lớp

CDocument)

Cấu trúc của một câu hỏi (topic) 4 CTopic Cho phép khai

gồm: báo cấu trúc của

- TopID : để phân biệt các câu hỏi câu hỏi để lưu

- Title : nội dung của câu hỏi trữ các giá trị

- Description: giải thích câu hỏi nội dung của

- Narrative: yêu cầu mức độ tương các thẻ (hoặc

quan của một tài liệu được cho là section) của câu

có liên quan đến câu hỏi đó hỏi

Nội dung của các thẻ hay các

section của câu hỏi sẽ được trả về

cho chương trình thông qua lớp

CTopic khi cần

Chương trình thông qua lớp 5 XL_Topic Xử lý các họat

XL_Topic để thực hiện các chức động , các chức

năng như: năng của câu

- chuyển file câu hỏi theo định hỏi

dạng của hệ thống IR bất kỳ

- lấy các danh sách các câu hỏi

- lấy thông tin một câu hỏi bất kỳ

dựa vào chỉ số của nó (TopID), …

Trang 93

(chú ý: thông tin hệ thống sẽ được

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

trả về dưới cấu trúc của lớp

CTopic)

Cấu trúc một hệ thống IR như sau: 6 CHeThongIR Cho phép khai

- TenHT: tên hệ thống báo cấu trúc của

- ID: chỉ số của hệ thống để phân hệ thống IR để

biệt các hệ thống lưu trữ các giá

- Ngày kiểm tra: ngày giờ tiến trị nội dung của

hành kiểm tra hệ thống IR đó các thẻ (hoặc

- R trung bình: độ bao phủ trung section) của hệ

thống IR bình của hệ thống IR đó (tính trên

tổng số câu hỏi thực thi)

- P trung bình: độ chính xác trung

bình của hệ thống IR đó (tính trên

tổng số câu hỏi thực thi)

Các chức năng liên quan đến hệ 7 XL_HeThongIR Xử lý các họat

thống IR : động chức năng

- Thực thi hệ thống IR liên quan đến

- Lấy danh sách các hệ thống IR hệ thống IR

đã được đánh giá

- Lấy thông tin một hệ thống IR

bất kỳ dựa vào chỉ số của nó (ID)

(chú ý: thông tin hệ thống sẽ được

trả về dưới cấu trúc của lớp

CHeThongIR)

File kết quả là một file lưu trữ mối 8 CKetQua Cho phép khai

liên hệ giữa các câu hỏi với các tài báo cấu trúc

Trang 94

liệu và mức độ liên quan của nó định dạng các

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

file kết quả trả (độ tương quan) . Cấu trúc của kết

quả CKetQua: về của hệ thống

- TopicID: tên thẻ tương ứng với

TopicID trong file kết quả trả về

của hệ thống IR

- DocID: tên thẻ tương ứng với

DocID trong file kết quả

- ThuocTinh_TopicID: tên thuộc

tính tương ứng với thẻ TopicID

( nếu thẻ tương ứng với TopicID

có thuộc tính )

- ThuocTinh_DocID:thẻ thuộc

tính tương ứng với thẻ DocID

( nếu thẻ tương ứng với DocID có

thuộc tính )

- TagSim: thẻ tương ứng với thẻ

định nghĩa độ tương quan

- ThuocTinh_Sim:thẻ thuộc tính

tương ứng với thẻ TagSim (nếu

thẻ TagSim có thuộc tính)

Chương trình dùng lớp CketQua

để định nghĩa định dạng của file

kết quả trả về của một hệ thống IR

bất kỳ

Cấu trúc mô tả sự liên quan như 9 CRelevant Cho phép khai

sau: báo cấu trúc sự

- DocID: tài liệu tại vị trí thứ tự n liên quan của

Trang 95

của danh sách các tài liệu trả về đã tài liệu tại vị trí

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

thứ tự n của sắp xếp.

danh sách các - Relevant : tài liệu trả về đó có

tài liệu trả về liên quan hay không

- Precision: độ chính xác của tài của một câu hỏi

liệu ở vị trí thứ tự n

- Recall: độ bao phủ của tài liệu ở

vị trí thứ n

(cid:131) Chức năng xử lý kết quả trả về 10 XL_KetQua Xử lý các chức

của hệ thống IR: năng liên quan

- Chuyển đổi định dạng của file đến kết quả trả

kết quả từ hệ thống IR bên ngoài về của hệ thống

sang định dạng mà chương trình IR và xử lý

chức năng đánh định nghĩa để chương trình hiểu

giá hệ thống IR và sử dụng

đó (cid:131) Chức năng xử lý đánh giá hệ

thống IR:

- Tính độ bao phủ, độ chính xác

cho từng câu hỏi và độ chính xác

tại 11 điểm chuẩn của độ bao phủ

- Ghi nhận kết quả đánh giá

- Phát sinh tự động chỉ số Id

cho các hệ thống thực hiên kiểm

tra

- Tính độ bao phủ trung bình

và độ bao phủ chính xác cho hệ

thống IR đó

- Tính độ chính xác dựa trên 10

Trang 96

điểm chuẩn của độ bao phủ

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

- Lấy thông tin đánh giá trả về

cho chương trình ….

Chương trình sẽ hỗ trợ hiện thị 11 CIndex Cho phép khai

thông số lập chỉ mục của hệ thống báo cấu trúc

IR, cho phép người dùng có thể định dạng các

dựa vào kết quả đó để đánh giá file index trả về

phương pháp lập chỉ mục của hệ của hệ thống IR

thống IR đó.

Cấu trúc của CIndex:

- ID : thẻ trong file chỉ mục mô tả

chỉ số của câu truy vấn hay tài liệu

được lập chỉ mục

- ThuocTinh_ID: thuộc tính của

thẻ ID nếu ID có thuộc tính (tức là

nếu trong thẻ ID không chứa nội

dung của chỉ số tài liệu hay câu

hỏi mà nội dung đó được lưu

trong thuộc tính của thẻ ID)

- Term: thẻ mô tả từ có nghĩa

trong tài liệu hay câu hỏi được lập

chỉ mục

- ThuocTinh_Term: thuộc tính của

thẻ Term (nếu nội dung của từ lưu

trong thuộc tính của thẻ Term)

- Weigh: thẻ mô tả trọng số của từ

(term) trên

- ThuocTinh_Weigh: thuộc tính

Trang 97

của thẻ Weigh nếu nội dung trọng

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

số lưu trong thuộc tính của thẻ

Weigh

Người dùng cung cấp các thông số

về tên thẻ trong tập tin chỉ mục

tương ứng cấu trúc các thẻ trong

CIndex của chương trình đã được

định nghĩa như trên để chương

trình thực hiện việc ánh xạ lấy

thông tin lập chỉ mục của hệ thống

IR

Các chức năng của lớp 12 XL_Index Xử lý các chức

XL_Index : năng liên quan

- chuyển đổi định dạng của file đến file index

Index của hê thống IR trả về của hệ

- lấy thông tin về file index sau thống IR

khi đã định dạng trả về cho

chương trình ứng với một câu hỏi

(hay tài liệu )bất kỳ

13 XL_DoThi Xử lý việc liên

quan đến vẽ đồ

thị

14 XL_XML Thực hiện các

chức năng tạo

file XML ,

chuyển đổi một

file XML bất kỳ

sang một file

Trang 98

XML có định

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

dạng khác

15 XL_Text Thực hiện các

chức năng tạo

file text ,

chuyển đổi một

file XML bất kỳ

sang một file

text có định

dạng khác

3.3.2.1.4. Lớp đối tượng lưu trữ

STT Tên Ý nghĩa Ghi chú

1 LT_XML Thực hiện việc đoc ghi các file XML,

thao tác trực tiếp với file XML

2 LT_Text Thực hiện việc đoc ghi các file text,

thao tác trực tiếp với file text

3.3.2.2. Sơ đồ kiến trúc tổng quát cho từng chức năng của

chương trình

3.3.2.2.1. Chức năng “Định dạng tài liệu”

Qui trình thực hiện

Để định dạng tài liệu, chúng ta cần thực hiện các bước sau:

Thông qua TH_DDTaiLieu:

- Chọn loại file mà tài liệu cần kết xuất (là file xml hay text)

- Nếu là file text : chương trình yêu cầu người dùng ánh xạ các thẻ

của tài liệu với các section tương ứng do hệ thống IR quy định,

Trang 99

trong trường hợp không tồn tại section tương ứng với thẻ tài liệu

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

của chương trình , chương trình sẽ cho phép người dùng tự định

nghĩa thêm section mới

- Nếu là file xml: chương trình yêu cầu người dùng ánh xạ các thẻ

của tài liệu với các thẻ tương ứng do hệ thống IR quy định.

Tương tự như trên người dùng cũng được phép định nghĩa thẻ

mới

Thông qua TH_TTTaiLieu: (chỉ dùng trong trường hợp file kết xuất

là file xml)nếu các thẻ tương ứng của hệ thống IR có thẻ có thuộc

tính ứng với thẻ tài liệu của chương trình hoặc là thẻ mới cũng được

thực hiện

TH_DDTaiLieu

TH_TTTaiLieu

CFormat

CDocument

XL_Doc

XL_XML

XL_Text

LT_XML

LT_Text

Sơ đồ:

3.3.2.2.2. Chức năng “Định dạng câu hỏi”

Qui trình thực hiện:

Để định dạng câu hỏi, chúng ta cần thực hiện các bước sau:

Thông qua TH_DDCauHoi:

- Chọn loại file mà câu hỏi cần kết xuất (là file xml hay text)

- Nếu là file text : chương trình yêu cầu người dùng ánh xạ các thẻ

của câu hỏi với các section tương ứng do hệ thống IR quy định,

Trang 100

trong trường hợp không tồn tại section tương ứng với thẻ câu hỏi

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

của chương trình , chương trình sẽ cho phép người dùng tự định

nghĩa thêm section mới

- Nếu là file xml: chương trình yêu cầu người dùng ánh xạ các thẻ

của câu hỏi với các thẻ tương ứng do hệ thống IR quy định.

Tương tự như trên người dùng cũng được phép định nghĩa thẻ

mới

Thông qua TH_TTCauHoi: (chỉ dùng trong trường hợp file kết xuất

là file xml)nếu các thẻ tương ứng của hệ thống IR có thẻ có thuộc

tính ứng với thẻ câu hỏi của chương trình hoặc là thẻ mới cũng được

thực hiện

TH_DDCauHoi

TH_TTCauHoi

CFormat

CTopic

XL_Topic

XL_XML

XL_Text

LT_XML

LT_Text

Sơ đồ:

(cid:153) (chú ý: các section hoặc thẻ mới có thể có thứ tự khác với thứ tự của các

thẻ tài liệu hay thẻ câu hỏi)

3.3.2.2.3. Chức năng “Thực thi hệ thống”

Qui trình thực hiện:

Chương trình gọi hệ thống IR bên ngoài thực hiện chức năng tìm

Trang 101

kiếm trên kho dữ liệu đã được định dạng

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

TH_ThucThiHT

XL_HeThongIR

Sơ đồ

3.3.2.2.4. Chức năng “Định dạng kết quả”

Qui trình thực hiện:

Sau khi hệ thống IR thực hiện tim kiếm xong trên kho dữ liệu do chương

trình cung cấp, chương trình yêu cầu hệ thống IR cung cấp thông tin định

dạng của file kết quả. Để định dạng file kết quả ta tiến hành các bước sau:

Chương trình chỉ chấp nhận file kết quả trả về của hệ thống IR là dạng file

xml

- Người dùng thực hiện ánh xạ các thẻ tương ứng của file kết quả của hệ

thống IR với các thẻ theo quy ước của chương trinh. Nếu nội dung kết

quả được định nghĩa trong thuộc tính của thẻ thì người dùng phải khai

báo thẻ đó và thuộc tính của thẻ đó

- Chương trình tiến hành đọc các giá trị kết quả dựa vào thông tin định

dạng mà người dùng cung cấp, ghi lại các giá trị đó vào file theo cấu

trúc của chương trình định nghĩa

TH_DDKetQua

CKetQua

XL_KetQua

XL_XML

LT_XML

Trang 102

Sơ đồ:

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

3.3.2.2.5. Chức năng “Định dạng file index”

Qui trình thực hiện:

Người sử dụng có thể khai báo định nghĩa các thẻ tương ứng của file

lập chỉ mục (chương trình không bắt buộc, nếu không được khai báo

chương trình không thể hiện thông tin lập chỉ mục cho người dùng

xem).Để định dạng file index ta tiến hành các bước sau:

Chương trình chỉ chấp nhận file index của hệ thống IR là dạng file

xml

- Người dùng thực hiện ánh xạ các thẻ tương ứng của file index

của hệ thống IR với các thẻ theo quy ước của chương trinh. Nếu

nội dung index được định nghĩa trong thuộc tính của thẻ thì

người dùng phải khai báo thẻ đó và thuộc tính của thẻ đó

- Chương trình tiến hành đọc các giá trị index dựa vào thông tin

định dạng mà người dùng cung cấp, ghi lại các giá trị đó vào file

theo cấu trúc của chương trình định nghĩa

TH_DDIndex

CIndex

XL_Index

XL_XML

LT_XML

Sơ đồ:

3.3.2.2.6. Chức năng “Đánh giá và hiện thi kết quả đánh giá”

Qui trình thực hiện:

- Chọn hệ thống cần xem kết quả đánh giá

Trang 103

- Chương trình hiện thi kết quả đánh giá của hệ thống đó

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

- Chương trình cho phép người dùng xem chi tiết thông tin về từng

câu hỏi , tài liệu liên quan (nội dung, thông tin lập chỉ mục)

TH_ChiTietCauHoi

TH_KqDanhGia

TH_ChiTietTaiLieu

XL_Topic

XL_HeThongIR

XL_KetQua

XL_Topic

XL_XML

LT_XML

Sơ đồ:

3.3.2.2.7. Chức năng ”So sánh các hệ thống IR đã được thực thi”

Qui trình thực hiện::

Các hệ thống IR đã được thực thi và đánh giá sẽ được ghi nhận lại,

chương trình cho phép người dùng chọn các hệ thống trong số hệ thống

trên để thực hiện so sánh.

- Chọn các hệ thống cần so sánh

- Thực hiện so sánh

TH_KqDanhGia

XL_HeThongIR

XL_KetQua

XL_XML

LT_XML

Trang 104

Sơ đồ:

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

(cid:153) Qui trình tổng quát để đánh giá một hệ thống IR:

- Định dạng tập dữ liệu kiểm tra bao gồm tập tài liệu và tập câu hỏi

- Thực thi hệ thống IR trên tập dữ liệu đã định dạng: hệ thống IR sẽ chạy các

câu hỉ trong tập câu hỏi , tìm kiếm trên tập tài liệu đó , sau đó sẽ phải trả

về cho chương trình file kết quả mô tả sự liên quan của các câu hỏi với các

tài liệu và độ tương quan của chúng

- Định dạng file kết quả trả về của hệ thống IR để chương trình có thể hiểu

được các thông tin kết quả. Thông tin kết quả bao gồm: chỉ số của các câu

hỏi, chỉ số của các tài liệu liên quan đến mỗi câu hỏi đó, và độ tương quan

của chúng .

- Định dạng tập tin chỉ mục nếu thông tin về chỉ mục của tập tài liệu và câu

hỏi được ghi nhận dưới file xml.

- Xem thông tin đánh giá về hệ thống IR trên. Thông tin đánh giá gồm: câu

hỏi được thực thi, tập tài liên được hệ thống IR trả về, tập tài liệu có liên

quan theo lý thuyết (dựa vào bảng liên quan của chương trình đã xây dựng

sẵn trước), độ chính xác , độ bao phủ của hệ thống khi thực thi tìm kiếm

câu hỏi đó, và thông tin về độ chính xác tính trên 11 điểm chuẩn của độ bao

phủ, thông tin về đường cong RP

Sau khi đánh giá được nhiều hệ thống, chương trình còn cho phép người dùng

so sánh dựa các hệ thống dựa trên đường cong chuẩn RP

3.3.2.3. Thiết kế dữ liệu – tổ chức lưu trữ

3.3.2.3.1. Mô hình dữ liệu

Trang 105

a) Mô hình ER:

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

b) Giải thích :

Chương trình lưu giữ các giá trị đánh giá của một hệ thống IR được tiến

hành kiểm tra.Hệ thống IR là một thực thể (System)

Mỗi một hệ thống sau khi thực hiện việc tìm kiếm dựa trên tập dữ liệu (gồm

tập tài liệu và tập câu hỏi) được chương trình cung cấp, sẽ thông báo cho

chương trình biết thông tin về sự liên quan của các câu hỏi với tập tài liệu và

mức độ liên quan của nó. Chương trình sẽ ghi nhận lại thông tin liên quan đó

gọi là bảng liên quan thực tế (relevant_TT).

Để thực hiện việc kiểm tra chương trình có sẵn bảng liên quan của tập dữ

liệu, gọi là bảng liên quan theo lý thuyết (relevant_LT)

Mỗi một hệ thống sau khi thực thi tập câu hỏi trên tập tài liệu kiểm tra đó sẽ

có một bảng đánh giá theo từng câu hỏi (evaluation). Bảng đánh giá gồm các

thông tin sau:các câu hỏi được thực thi, về số tài liệu liên quan thực sự trả về(là

phần giao của các tài liệu trong bảng liên quan lý thuyết và bảng liên quan thực

tế của hệ thống IR), số tài liệu liên quan theo lý thuyết , số tài liệu trả về (do hệ

thống IR), độ bao phủ ,độ chính xác của hệ thống khi thực hiện câu hỏi đó và

độ chính xác tại 11 điểm chuẩn của độ bao phủ.Các thông tin này có được do

chương trình tính toán dựa vào bảng liên quan thực tế của một hệ thống IR xác

Trang 106

định và bảng liên quan lý thuyết.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Mỗi một câu hỏi hay một tài liệu đều được lập chỉ mục theo một phương

pháp nào đó của một hệ thống IR cụ thể (Index_Topic) (Index_Doc). Thông tin

về index này sẽ được thông báo cho chương trình biết được để hỗ trợ hiện thị

cho người dùng có thể đánh giá phương pháp index đó có thật sự tốt hay không

3.3.2.3.2. Sơ đồ logic dữ liệu

Trang 107

Sơ đồ logic :

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Giải thích:

(cid:131) System: sysID,Name,Date,AvgRecall, AvgPrecision,

R00,R01,R02,R03,R04,R05,R06,R07,R08,R09,R10

- Mỗi hệ thống được phân biệt với các hệ thống khác dựa vào sysID của

nó. Thông tin đánh giá ở mức độ hệ thống bao gồm : (tên, ngày thực

hiện kiểm tra, Độ bao phủ trung bình, độ chính xác trung bình , độ chính

xác trung bình được tính ở 11 điểm chuẩn của độ bao phủ : R00… R10)

sẽ được lưu lại

(cid:131) Terms: termID, Term

- Danh sách các từ có nghĩa.

(cid:131) Topic: TopID , Title, Des, Narr

- Tập câu hỏi (topic) sẽ được lưu và được phân biệt bởi TopID.Thông tin

mà chương trình quan tâm đến câu hỏi là nội dung của nó (title), các thông

tin phụ như chú giải (description) , ràng buộc liên quan (narrative) chỉ có ý

nghĩa đối với người dùng để đánh giá khi nào một tài liệu được gọi là có

liên quan đến câu hỏi này, phần thông tin này không có ý nghĩa đối với

chương trình

(cid:131) Index_topic : topID, sysID,size

- Mỗi câu hỏi sẽ được lập 1 chỉ mục theo phương pháp lập chỉ mục của

hệ thống IR cụ thể (có sysID), thông tin chỉ mục của từng câu hỏi chỉ

thuộc về 1 câu hỏi đó,thông tin chỉ mục bao gồm : kích thước của chỉ

mục (tổng số từ trong câu hỏi được lập chỉ mục), các từ được lập chỉ

mục và trọng số của mỗi từ đó

(cid:131) Topic_term : termID,topID,sysID,weigh

- Mỗi index_topic sẽ được lập chỉ mục dựa trên bảng từ có nghĩa (term)

và đánh trọng số (weigh) cho mỗi từ.

Trang 108

(cid:131) Document: DocID, Title, Author, Date,News, Content

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

- Tập tài liệu (document) sẽ được lưu và được phân biệt bởi DocID.Thông

tin mà chương trình quan tâm đến tài liệu là nội dung của nó (content), chủ

đề (title), tác giả của tài liệu đó (author), ngày tạo (date), nguồn gốc của tài

liệu (news)…

(cid:131) Index_Doc : docID,sysID, size

- Mỗi tài liệu sẽ được lập 1 chỉ mục theo phương pháp lập chỉ mục của hệ

thống IR cụ thể (có sysID), thông tin chỉ mục của từng tài liệu chỉ thuộc

về 1 tài liệu đó,thông tin chỉ mục bao gồm : kích thước của chỉ mục

(tổng số từ trong tài liệu được lập chỉ mục), các từ lập chỉ mục và trọng

số của mỗi từ đó

(cid:131) Doc_term : termID,docID,sysID,weigh

- Mỗi index_doc sẽ được lập chỉ mục dựa trên bảng từ có nghĩa (term) và

đánh trọng số (weigh) cho mỗi từ.

(cid:131) relevant_TT: topID,DocID,sysID, similarity

- Mối liên hệ giữa câu hỏi và tài liệu được hệ thống IR cụ thể (có một sysID

cụ thể)bên ngoài trả về, chương trình sẽ ghi nhận để đánh giá

(cid:131) relevant_LT : topID,DocID

- Sự liên quan đến tài liệu của một câu hỏi với tài liệu theo lý thuyết.Sự liên

quan theo lý thuết này được tạo ra từ bên ngoài qua việc kiểm tra nhiều hệ

thống

(cid:131) evaluation: sysID,TopID, Ret_Rel, Ret,Rel,R,P,

R00,R01,R02,R03,R04,R05,R06,R07,R08,R09,R10

- Mỗi một topic được thực thi trên một hệ thống (có sysId cụ thể) sẽ được

chương trình đánh giá và lưu trữ các thông tin như: số tài liệu có liên quan

được trả về (RET_REL), số tài liệu liên quan theo lý thyết (REL), số tài

liệu trả về thực sự(RET,tính độ bao phủ ,độ chính xác và các độ chính xác

Trang 109

tại 11 điểm chuẩn của độ bao phủ (R00.. R10)….

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

3.3.2.4. Tố chức lưu trữ dữ liệu

Tất cả dữ liệu được lưu trữ dưới file XML

3.3.2.4.1. System

- Các hệ thống IR sau khi được tiến hành kiểm tra sẽ được lưu trữ trong file

system.xml.

- Ngoài ra để đưa ra bảng giá trị thực hiện việc vẽ đường cong RP , chương

trình sẽ tính giá trị độ chính xác được tính ở các điểm chuẩn của độ bao

phủ .Tất cả các giá trị này sẽ được lưu trữ .

Cấu trúc DTD của file system.xml như sau:

AVGPRECISION, R00, R01, R02, R03, R04, R05, R06, R07, R08, R09,

R10)>

Trang 110

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

(cid:131) Diễn giải:

: mỗi hệ thống sẽ được cấp một chỉ số duy nhất

sysID

: tên hệ thống

: ngày giờ tiến hành kiểm tra hệ thống

: độ bao phủ trung bình

: độ chính xác trung bình

Trang 111

: giá trị độ chính xác tại các điểm chuẩn i của R

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

3.3.2.4.2. Topic

Các câu hỏi dùng để kiểm tra hệ thống IR được lưu trữ thành các file có cấu

trúc như sau:

Cấu trúc DTD:

(cid:131) Diễn giải:

: chỉ số của câu hỏi

: nội dung của câu hỏi</p> <p><DES> : chú thích cho câu hỏi</p> <p><NARR>: yêu cầu về sự liên quan của câu hỏi đối với tài liệu</p> <p>(Thông tin DES, NARR chỉ có ý nghĩa cho việc nghiên cứu sự liên quan</p> <p>Trang 112</p> <p>của câu hỏi với tài liệu)</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>3.3.2.4.3. Index_topic</p> <p>Mỗi một câu hỏi được lập chỉ mục theo phương pháp lập chỉ mục của hệ</p> <p>thống IR bên ngoài. Chương trình tổ chức việc lưu các file chỉ mục của các</p> <p>topic thuộc về một hệ thống là một file xml, có nghĩa là hệ thống IR có</p> <p>sysID1 được tiến hành kiểm tra có thông tin về chỉ mục của tập câu hỏi của</p> <p>chương trình , các thông tin đó sẽ được lưu thanh một file xml, thông tin lập</p> <p>chỉ mục của hệ thống khác sysID2 sẽ được lưu thành file xml khác. Cách</p> <p>đặt tên của file chỉ mục sẽ được đặt theo nguyên tắc sau: (để có thể dễ tiến</p> <p>hành việc đọc file)</p> <p>Tên file chỉ mục câu hỏi của hệ thống IR có sysID1 = “idx_topic_”+</p> <p>sysID1+ “.xml”</p> <p>Cấu trúc DTD của file như sau:</p> <p><!ELEMENT MATRIX (INDEX*)></p> <p><!ATTLIST MATRIX SIZE CDATA #REQUIRE></p> <p><!ELEMENT INDEX (TERM)></p> <p><!ATTLIST INDEX ID CDATA #REQUIRE</p> <p>SIZE CDATA #REQUIRE></p> <p><!ELEMENT TERM(#PCDATA)></p> <p><!ATTLIST TERM WORD CDATA #REQUIRE</p> <p>WEIGH CDATA #REQUIRE></p> <p>Cấu trúc của file như sau:</p> <p><MATRIX SIZE = “”></p> <p><INDEX ID=”” SIZE = “”></p> <p><TERM WORD=”” WEIGH=””></p> <p></INDEX></p> <p></MATRIX></p> <p>(cid:131) Diễn giải:</p> <p>Trang 113</p> <p>- <MATRIX SIZE =””>: size là tổng số câu hỏi được lập chỉ mục</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>- <INDEX ID =”” SIZE = “”> :ID là topicID của một câu hỏi;size là</p> <p>tổng số từ trong một câu hỏi được lập chỉ mục</p> <p>- <TERM WORD=”” WEIGH=””> : word: là từ trong câu hỏi có topicID</p> <p>được lập chỉ mục, weigh là trọng số của nó</p> <p>3.3.2.4.4. Document</p> <p>Các tài liệu dùng để kiểm tra hệ thống IR được lưu trữ thành các file có cấu</p> <p>Cấu trúc DTD :</p> <p>trúc như sau:</p> <p><!ELEMENT DOCUMENT(DOC*)></p> <p><!ELEMENT</p> <p>DOC(DOCID,TITLE,AUTHOR,DATE,NEWS,CONTENT)></p> <p><!ELEMENT DOCID(#PCDATA)></p> <p><!ELEMENT TITLE (#PCDATA)></p> <p><!ELEMENT AUTHOR (#PCDATA)></p> <p><!ELEMENT DATE (#PCDATA)></p> <p><!ELEMENT NEWS (#PCDATA)></p> <p><!ELEMENT CONTENT (#PCDATA)></p> <p><DOCUMENT></p> <p><DOC></p> <p><DOCID> </DOCID></p> <p><TITLE>

Trang 114

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

(cid:131) Diễn giải:

: chỉ số của tài liệu

: chủ đề của tài liệu</p> <p><AUTHOR>: tác giải tài liệu</p> <p><DATE> ngày tạo tài liệu</p> <p><NEWS>: nguồn gốc tài tiệu</p> <p><CONTENT> nội dung của tài liệu</p> <p>3.3.2.4.5. Index_Doc</p> <p>Tương tự cách lưu trữ của Index_Topic, các file lập chỉ mục tài liệu của hệ</p> <p>thống sysID cụ thể sẽ được lưu thành một file xml riêng biệt.Cách tổ chức</p> <p>cấu trúc ý nghĩa của file xml đó cũng tương tự như file lưu trữ index của</p> <p>topic, nhưng cách đặt tên của file chỉ mục tài liệu của một hệ thống cụ thể</p> <p>như sau:</p> <p>Tên file = “idx_doc_”+ sysID + “.xml”</p> <p>3.3.2.4.6. relevant_TT</p> <p>Mỗi hệ thống sau khi đã tìm kiếm trên kho dữ liệu của chương trình sẽ trả</p> <p>về cho chương trình file biểu diễn mối liên quan của các câu hỏi với các tài</p> <p>liệu.Chương trình ghi nhận lại các thông tin sự liên quan đó của một hệ</p> <p>thống IR cụ thể (có sysID) bằng một file xml, có nghĩa là sự liên quan thực</p> <p>tế của các câu hỏi với tài liệu do một hệ thống IR cụ thể sysID1 sẽ được lưu</p> <p>thành một file, con sự liên hệ topic-doc của hệ thống khác sysID2 sẽ được</p> <p>lưu thành file khác. Do đó chương trình quy định cách đặt tên cho file như</p> <p>sau:</p> <p>(cid:131) Cấu trúc của file được tổ chức như sau:</p> <p>Tên file = “rel_”+sysID + “.xml”</p> <p><!ELEMENT RELEVANT(REL*)></p> <p>Trang 115</p> <p><ELEMENT REL(DOCID)></p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p><!ATTLIST REL TOPID CDATA #REQUIRE></p> <p><!ELEMENT DOCID(#PCDATA)></p> <p><!ATTLIST DOCID SIMILARITY CDATA ></p> <p><RELEVANT></p> <p><REL TOPID=””></p> <p><DOCID SIMILARITY=”” “”></p> <p></REL></p> <p>(cid:131) Diễn giải:</p> <p></RELEVANT></p> <p><TOPID>: chỉ số của topic</p> <p><DOC ID>: chỉ số của tài liệu có liên quan với câu hỏi có chỉ số là TOPID</p> <p><SIMILARITY>: độ tương quan của tài liệu DOCID với câu hỏi TOPID</p> <p>3.3.2.4.7. relevant_LT</p> <p>Chương trình đã tạo sẵn bảng liên quan giữa câu hỏi với tài liệu (bảng liên</p> <p>quan theo lý thuyết). File lưu trữ thông tin liên quan có cấu trúc sau:</p> <p><!ELEMENT RELEVANT(REL*)></p> <p><ELEMENT REL(DOCID)></p> <p><!ATTLIST REL TOPID CDATA #REQUIRE></p> <p><!ELEMENT DOCID(#PCDATA)></p> <p><RELEVANT></p> <p><REL TOPID=””></p> <p><DOCID> </DOCID></p> <p>(cid:131) Diễn giải: (tương tự như trên)</p> <p>Trang 116</p> <p></RELEVANT></p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>3.3.2.4.8. evaluation</p> <p>Với 1 câu hỏi được thực thi bởi 1 hệ thống IR bất kỳ, chương trình sẽ tính</p> <p>tóan các thông tin về : số tài liệu liên quan, số tài liệu trả về, số tài liệu liên</p> <p>quan được trả về,độ bao phủ, độ chính xác. Các thông tin này sẽ được lưu</p> <p>trữ vào file evaluation.xml. Cấu trúc file này như sau:</p> <p>DTD :</p> <p><!ELEMENT EVALUATION(SYSTEM*)></p> <p><!ELEMENT SYSTEM(EVAL*)></p> <p><!ATTLIST SYSTEM SYSID CDATA #REQUIRE></p> <p><!ELEMENT EVAL(RETREL,RET,REL, RECALL, PRECISION, R00,</p> <p>R01, R02, R03, R04, R05, R06, R07, R08, R09, R10)></p> <p><!ATTLIST EVAL TOPID CDATA #REQUIRE></p> <p><!ELEMENT RETREL(#PCDATA)></p> <p><!ELEMENT RET(#PCDATA)></p> <p><!ELEMENT REL(#PCDATA)></p> <p><!ELEMENT RECALL (#PCDATA)></p> <p><!ELEMENT PRECISION (#PCDATA)></p> <p><!ELEMENT R00 (#PCDATA)></p> <p><!ELEMENT R02 (#PCDATA)></p> <p><!ELEMENT R03 (#PCDATA)></p> <p><!ELEMENT R04 (#PCDATA)></p> <p><!ELEMENT R05 (#PCDATA)></p> <p><!ELEMENT R06 (#PCDATA)></p> <p><!ELEMENT R07 (#PCDATA)></p> <p><!ELEMENT R08 (#PCDATA)></p> <p><!ELEMENT R09 (#PCDATA)></p> <p>Trang 117</p> <p><!ELEMENT R10 (#PCDATA)></p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p><EVALUATION></p> <p><SYSTEM SYSID=””></p> <p><EVAL TOPID=””></p> <p><RETREL> </RETREL></p> <p><RET> </RET></p> <p><REL> </REL></p> <p><RECALL> </RECALL></p> <p><PRECISION> </PRECISION></p> <p><R00> </R00></p> <p><R01> </R01></p> <p><R02> </R02></p> <p><R03> </R03></p> <p><R04> </R04></p> <p><R05> </R05></p> <p><R06> </R06></p> <p><R07> </R07></p> <p><R08> </R08></p> <p><R09> </R09></p> <p><R10> </R10></p> <p></EVAL></p> <p></SYSTEM ></p> <p>(cid:131) Diễn giải:</p> <p></EVALUATION></p> <p><SYSTEM SYSID=””> : chỉ số của hệ thống IR</p> <p><EVAL TOPID=””> :chỉ số câu hỏi được thực thi bởi hệ thống IR đó</p> <p><RETREL>: số tài liệu có liên quan được trả về (retrieval relevant)</p> <p><RET>: số tài liệu trả về (retrieval)</p> <p><REL>: số tài liệu liên quan (relevant)</p> <p>Trang 118</p> <p><RECALL> : độ bao phủ của câu hỏi TopID</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p><PRECISION>: độ chính xác của câu hỏi TopID</p> <p><Ri>: độ chính xác của câu hỏi TopID được tính tại 11 điểm chuẩn của độ</p> <p>bao phủ</p> <p>3.3.2.5. Thiết kế giao diện</p> <p>3.3.2.5.1. Sơ đồ liên hệ giữa các màn hình</p> <p>Qui trình 1:</p> <p>Từ màn hình chính chọn:</p> <p>Bước 1: Định dạng tài liệu</p> <p>Bước 2: định dạng kết quả</p> <p>Bước 3: Thực thi hệ thống IR</p> <p>Bước 4: Định dạng kết quả trả về của hệ thống</p> <p>Bước 5: Định dạng file index</p> <p>Bước 6: Xem kết quả định dạng</p> <p>Bước 7: xem đồ thị hệ thống</p> <p>Bước 8: xem chi tiết</p> <p>Nếu kho dữ liệu của chương trình có cấu trúc giống với cấu trúc định dạng của</p> <p>hệ thống IR thì bước định dạng dữ liệu (bước 1 và 2) có thể bỏ qua.</p> <p>Có thể hệ thống IR được thực hiện bên ngoài, bước 3 được bỏ qua, người dùng</p> <p>chỉ thông báo cho chương trình các file kết quả và file index để thực hiện việc</p> <p>fraTTTaiLieu</p> <p>fraDDTaiLieu</p> <p>fraDDCauHoi</p> <p>fraTTCauHoi</p> <p>fraThucThiHT</p> <p>fraDDKetQua</p> <p>fraDDIndex</p> <p>fraKqDanhGia</p> <p>fraSoSanhHT</p> <p>fraXemChiTiet</p> <p>fraDoThi_HeThong</p> <p>Trang 119</p> <p>đánh giá.</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>Qui trình 2:</p> <p>Từ màn hình chính chọn:</p> <p>(cid:131) Gọi màn hình thông báo cho chương trình biết vị trí các kho dữ liệu cần</p> <p>- Thực thi hệ thống IR:</p> <p>(cid:131) Gọi màn hình thực thi hệ thống IR =>fraThucThiHT</p> <p>(cid:131) Xử lý kết quả trả về</p> <p>(cid:131) Định dạng tập tin chỉ mục (có thể không có)</p> <p>(cid:131) Xem thông tin kết qua đánh giá</p> <p>(cid:131) Xem chi tiết</p> <p>(cid:131) Xem đồ thị hệ thống</p> <p>fraDKThucThi</p> <p>fraThucThiHT</p> <p>fraDDKetQua</p> <p>fraDDIndex</p> <p>fraKqDanhGia</p> <p>fraXemChiTiet</p> <p>fraDoThi_HeThong</p> <p>để =>fraDKThucThi</p> <p>Qui trình 3:</p> <p>Từ màn hình chính chọn:</p> <p>(cid:131) Gọi màn hình xử lý kết quả trả về, yêu cầu nhập thông tin về tên hệ thống</p> <p>(cid:131) Định dạng tập tin chỉ mục (có thể không có)</p> <p>(cid:131) Xem thông tin kết quả đánh giá</p> <p>(cid:131) Xem chi tiết</p> <p>Trang 120</p> <p>- Xử lý kết quả trả về:</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>(cid:131) Xem đồ thị hệ thống</p> <p>fraDDKetQua</p> <p>fraDDIndex</p> <p>fraKqDanhGia</p> <p>fraXemChiTiet</p> <p>fraDoThi_HeThong</p> <p>Nhập tên hệ thống</p> <p>Qui trình 4:</p> <p>Từ màn hình chính chọn:</p> <p>(cid:131) Gọi màn hình xem thông tin kết quả đánh giá, yêu cầu chọn hệ thống cần</p> <p>- Xem thông tin kết quả đánh giá:</p> <p>(cid:131) Xem chi tiết</p> <p>(cid:131) Xem đồ thị hệ thống</p> <p>Chọn hệ thống cần xem</p> <p>fraKqDanhGia</p> <p>fraXemChiTiet</p> <p>fraDoThi_HeThong</p> <p>xem</p> <p>Qui trình 5:</p> <p>Từ màn hình chính chọn:</p> <p>Trang 121</p> <p>- so sánh nhiều hệ thống => gọi màn hình fraSoSanhHT</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>3.3.2.6. Thiết kế màn hình</p> <p>3.3.2.6.1. Màn hình chính (TH_Main)</p> <p>Ký hiệu: fraMain</p> <p>Cho phép liên kết các chức năng của chương trình.Chương trình gồm các</p> <p>chức năng sau:</p> <p>- Chuyển đổi định dạng của kho dữ liệu (để phù hợp với định dạng dữ</p> <p>liệu của hệ thống IR cần kiểm tra).Kho dữ liệu bao gồm: tập tài liệu và</p> <p>tập câu hỏi</p> <p>- Thực thi hệ thống IR bên ngoài</p> <p>- Chuyển đổi định dạng các file kết quả và file index của hệ thống IR để</p> <p>tạo file kết quả và index cho chương trình</p> <p>- Đánh giá hệ thống IR</p> <p>- So sánh các hệ thống IR đã được đánh giá</p> <p>3.3.2.6.2. Màn hình định dạng tài liệu (TH_DDTaiLieu)</p> <p>1</p> <p>2</p> <p>3</p> <p>4</p> <p>5</p> <p>6</p> <p>8</p> <p>7</p> <p>Trang 122</p> <p>Ký hiệu: fraDDTaiLieu</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>(cid:131) Diễn giải:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 txtViTri Textbox Cho phép người dùng nhập vị trí cần</p> <p>lưu của tập tài liệu mới sau khi đã được</p> <p>định dạng</p> <p>2 bntChonViTri button hỗ trợ người dùng tìm vị trí thích hợp</p> <p>để lưu tập tài liệu mới đã định dạng</p> <p>xong</p> <p>3 cboLoaiFile comboBox chọn loại file cần kết xuất : là file xml</p> <p>hay file text</p> <p>4 tblTaiLieu table Cho phép người dùng ánh xạ các thẻ tài</p> <p>liệu của chương trình với các thẻ tài</p> <p>liệu của hệ thống IR, đồng thời cho</p> <p>phép định nghĩa mới các thẻ nếu thẻ đó</p> <p>không tương ứng với bất kỳ thẻ nào</p> <p>trong thẻ tài liệu của chương trình</p> <p>5 btnThem Button Thêm một dòng của bảng tblTaiLieu</p> <p>6 btnXoa Button Xoá một dòng của bảng tblTaiLieu</p> <p>7 btnTiepTuc Button Nếu là file text không có khái niệm</p> <p>thuộc tính nên chương trình sẽ thực</p> <p>hiện việc tạo các file tài liệu phù hợp</p> <p>với định dạng mà người dùng cung cấp</p> <p>và tiếp tục cho phép địng dạng tập câu</p> <p>hỏi</p> <p>Nếu là file xml không có thuộc tính ,</p> <p>tương tự như trên</p> <p>Nếu là file xml có thuộc tính, tiếp tục</p> <p>Trang 123</p> <p>cho phép người dùng định nghĩa các</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>thẻ tương ứng với thuộc tính của thẻ tài</p> <p>liệu trong tập tài liệu của hệ thống IR</p> <p>8 btnHuyBo Button huỷ bỏ thao tác định dạng các tài liệu</p> <p>3.3.2.6.3. Màn hình tạo thuộc tính cho tài liệu (TH_TTTaiLieu)</p> <p>Ký hiệu: fraTTTaiLieu</p> <h2>Tạo thuộc tính cho thẻ tài liệu</h2> <p>Định nghĩa thuộc tính của thẻ tài liệu</p> <p>Thẻ hệ thống IR Tên thuộc tính</p> <p>Thẻ tương ứng</p> <p>DOCMENT</p> <p>1</p> <p>Thêm</p> <p>Xoá</p> <p>3</p> <p>Đóng màn hình</p> <p>Tiếp tục</p> <p>Trở lại</p> <p>2</p> <p>4</p> <p>5</p> <p>6</p> <p>(cid:131) Diễn giải:</p> <p></p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 tblThuocTinh Table Cho phép người dùng định nghĩa</p> <p>thuộc tính của các thẻ mới đã</p> <p>được định nghĩa ở màn hình</p> <p>fraDDTaiLieu, thuộc tính của thẻ</p> <p>mới có thẻ tương ứng với thẻ tài</p> <p>liệu của chương trình hoặc là thẻ</p> <p>mới</p> <p>Trang 124</p> <p>2 btnThem Button Thêm một dòng của bảng</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>tblThuocTinh</p> <p>3 btnXoa Button Xoá một dòng của bảng</p> <p>tblThuocTinh</p> <p>4 btnTroLai Button trở lại màn hình fraDDTaiLieu</p> <p>5 btnTiepTuc Button thực hiện việc tạo các file tài liệu</p> <p>phù hợp với định dạng mà người</p> <p>dùng đã cung cấp và tiếp tục cho</p> <p>người dùng định dạng tập câu hỏi</p> <p>6 btnDong Button Đóng màn hình</p> <p>3.3.2.6.4. Màn hình định dạng câu hỏi (TH_DDCauHoi)</p> <p>1</p> <p>2</p> <p>3</p> <p>4</p> <p>5</p> <p>6</p> <p>7</p> <p>8</p> <p>(cid:131) Diễn giải:</p> <p>Ký hiệu: fraDDCauHoi</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>Trang 125</p> <p>1 txtViTri Textbox Cho phép người dùng nhập vị trí cần</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>lưu của tập câu hỏi sau khi đã được</p> <p>định dạng</p> <p>2 bntChonViTri button hỗ trợ người dùng tìm vị trí thích hợp</p> <p>để lưu tập câu hỏi mới đã định dạng</p> <p>xong</p> <p>3 cboLoaiFile comboBox chọn loại file cần kết xuất : là file xml</p> <p>hay file text</p> <p>4 tblCauHoi table Cho phép người dùng ánh xạ các thẻ</p> <p>câu hỏi của chương trình với các thẻ</p> <p>câu hỏi của hệ thống IR, đồng thời cho</p> <p>phép định nghĩa mới các thẻ nếu thẻ đó</p> <p>không tương ứng với bất kỳ thẻ nào</p> <p>trong thẻ câu hỏi của chương trình</p> <p>5 btnThem Button Thêm một dòng của bảng tblCauHoi</p> <p>6 btnXoa Button Xoá một dòng của bảng tblCauHoi</p> <p>7 btnTiepTuc Button Nếu là file text không có khái niệm</p> <p>thuộc tính nên chương trình sẽ thực</p> <p>hiện việc tạo các file câu hỏi phù hợp</p> <p>với định dạng mà người dùng cung cấp</p> <p>và tiếp tục cho phép thực thi hệ thống</p> <p>IR cần thực hiện</p> <p>Nếu là file xml không có thuộc tính ,</p> <p>tương tự như trên</p> <p>Nếu là file xml có thuộc tính, tiếp tục</p> <p>cho phép người dùng định nghĩa các thẻ</p> <p>tương ứng với thuộc tính của thẻ câu</p> <p>hỏi trong tập câu hỏi của hệ thống IR</p> <p>Trang 126</p> <p>8 btnHuyBo Button huỷ bỏ thao tác định dạng các câu hỏi</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>3.3.2.6.5. Màn hình tạo thuộc tính cho câu hỏi (TH_TTCauHoi)</p> <p>Ký hiệu: fraTTCauHoi</p> <h2>Tạo thuộc tính cho thẻ câu hỏi</h2> <p>Định nghĩa thuộc tính của thẻ câu hỏi</p> <p>Thẻ hệ thống IR</p> <p>Tên thuộc tính</p> <p>Thẻ tương ứng</p> <p>TOPID</p> <p>1</p> <p>Thêm</p> <p>Xoá</p> <p>2</p> <p>Huỷ bỏ</p> <p>Trở lai</p> <p>Tiếp tục</p> <p>3</p> <p>6</p> <p>5</p> <p>4</p> <p>(cid:131) Diễn giải:</p> <p></p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 tblThuocTinh Table Cho phép người dùng định nghĩa thuộc</p> <p>tính của các thẻ mới đã được định nghĩa ở</p> <p>màn hình fraDDCauHoi, thuộc tính của thẻ</p> <p>mới có thẻ tương ứng với thẻ câu hỏi của</p> <p>chương trình hoặc là thẻ mới</p> <p>2 btnThem Button Thêm một dòng của bảng tblThuocTinh</p> <p>3 btnXoa Button Xoá một dòng của bảng tblThuocTinh</p> <p>4 btnTroLai Button trở lại màn hình fraDDCauHoi</p> <p>5 btnTiepTuc Button thực hiện việc tạo các file câu hỏi phù hợp</p> <p>với định dạng mà người dùng đã cung cấp</p> <p>và tiếp tục cho phép gọi thực thi hệ thống</p> <p>Trang 127</p> <p>IR</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>6 btnDong Button Đóng màn hình</p> <p>3.3.2.6.6. Màn hình xử lý điều kiện để thực thi hệ thống IR</p> <p>Ký hiệu:fraDKThucThi</p> <p>Chú ý: Hệ thống IR bất kỳ nào được tiến hành đều phải thực thi trên kho dữ</p> <p>liệu kiểm tra của chương trình. Nếu khi thực hiện hệ thống này , người dùng bỏ</p> <p>qua bước định dạng kho dữ liệu (do kho dữ liệu của chương trình có cấu trúc</p> <p>giống kho dữ liệu của hệ thống IR) thì phải cho chương trình biết là kho dữ</p> <p>1</p> <p>2</p> <p>4</p> <p>5</p> <p>3</p> <p>6</p> <p>(cid:131) Diễn giải:</p> <p>liệu của chương trình nên để ở vị trí nào để hệ thống IR có thể thực thi được.</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 txtTaiLieu Textbox Cho phép người dùng nhập vị trí của các</p> <p>file tài liêu</p> <p>2 btnVTTaiLieu Button hỗ trợ người dùng mở thư mục lưu các</p> <p>file tài liệu</p> <p>3 txtCauHoi Textbox Cho phép người dùng nhập vị trí của các</p> <p>file câu hỏi.</p> <p>4 btnVTCauHoi button hỗ trợ người dùng mở thư mục lưu các</p> <p>file câu hỏi</p> <p>Trang 128</p> <p>5 btnGhiNhan Button Ghi nhận vi trí để lưu tài liệu và câu hỏi,</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>sao chép tất cả tài liệu và câu hòi của</p> <p>chương trình vào vị trí mới , và gọi màn</p> <p>hình thực hiện của hệ thống IR</p> <p>6 btnHuyBo button huỷ bỏ thao tác thực thi hệ thống IR</p> <p>3.3.2.6.7. Màn hình thực thi hệ thống (TH_ThucThiHT)</p> <p>1</p> <p>2</p> <p>6</p> <p>3</p> <p>4</p> <p>5</p> <p>(cid:131) Diễn giải:</p> <p>Ký hiệu: fraThucThiHT</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>txtDuongDan Textbox Cho phép người dùng nhập vị trí file 1</p> <p>thực thi hệ thống IR bên ngoài</p> <p>btnMoFile Button hỗ trợ người dùng mở file thực thi 2</p> <p>txtTenHT Textbox Cho phép nhập tên hệ thống. Mặc định 3</p> <p>chương trình sẽ xem tên file thực thi hệ</p> <p>thống IR là tên hệ thống đó</p> <p>btnThucHien button thực hiện gọi hệ thống IR thực thi 4</p> <p>btnXLyKQ Button Gọi màn hình thực hiện việc định dạng 5</p> <p>và xử lý kết quả trả về của hệ thống IR</p> <p>Trang 129</p> <p>btnHuyBo button huỷ bỏ thao tác thực thi hệ thống IR 6</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>3.3.2.6.8. Màn hình định dạng kết quả (TH_DDKetQua)</p> <p>1</p> <p>2</p> <p>3</p> <p>4</p> <p>6</p> <p>5</p> <p>(cid:131) Diễn giải:</p> <p>Ky hiệu: fraDDKetQua</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 txtTenHT Textbox Cho phép nhập tên hệ thống, nếu chưa</p> <p>nhập tên hệ thống từ màn hình thực thi</p> <p>hệ thống (nếu người dùng thực thi hệ</p> <p>thống IR ở bên ngoài), nếu đã thực thi</p> <p>hệ thống IR rồi thì txtTenHT sẽ hiện</p> <p>thị tên hệ thống (không cần nhập lần</p> <p>nữa)</p> <p>2 txtViTri Textbox Cho phép người dùng nhập vị trí file</p> <p>kết quả của hệ thống IR bên ngoài</p> <p>3 bntChonViTri Button Hỗ trợ người dùng chọn file kết quả</p> <p>4 tblKetQua Table Ghi nhận giá trị thẻ tương ứng. Ví dụ :</p> <p>Trang 130</p> <p>nếu TopicID là một thẻ trong file kết</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>quả thì không cần định nghĩa thuộc</p> <p>tính chỉ cần định nghĩa thẻ tương ứng</p> <p>với TopicID , nếu TopicID là một</p> <p>thuộc tính thì cần định nghĩa thẻ chứa</p> <p>thuộc tính đó và định nghĩa thẻ tương</p> <p>ứng với thuộc tính đó</p> <p>btnThucHien Button thực hiện ghi file kết quả cho chương 5</p> <p>trình</p> <p>btnHuyBo Button huỷ bỏ thao tác định dạng file kết quả 6</p> <p>3.3.2.6.9. Màn hình định dạng thông tin index (TH_DDIndex)</p> <p>Ký hiệu: fraDDIndex</p> <p>2</p> <p>1</p> <p>3</p> <p>4</p> <p>6</p> <p>5</p> <p>Trang 131</p> <p>(cid:131) Định dạng file index của câu hỏi:</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>7</p> <p>8</p> <p>9</p> <p>10</p> <p>(cid:131) Diễn giải:</p> <p>(cid:131) Định dạng file index của tài liệu:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 tabCauHoi Tab định nghĩa file index của câu</p> <p>control hỏi</p> <p>2 txtViTri_idxTopic Textbox Cho phép người dùng nhập vị</p> <p>trí file index của câu hỏi của</p> <p>hệ thống IR bên ngoài</p> <p>3 bntChonViTri_idxTopic Button hỗ trợ người dùng chọn file</p> <p>index của câu hỏi</p> <p>4 tblIdx_Topic Table Ghi nhận giá trị thẻ tương ứng.</p> <p>Ví dụ : nếu TopicID là một thẻ</p> <p>trong file kết quả thì không</p> <p>cần định nghĩa thuộc tính chỉ</p> <p>cần định nghĩa thẻ tương ứng</p> <p>Trang 132</p> <p>với TopicID , nếu TopicID là</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>một thuộc tính thì cần định</p> <p>nghĩa thẻ chứa thuộc tính đó</p> <p>và định nghĩa thẻ tương ứng</p> <p>với thuộc tính đó</p> <p>5 btnThucHien Button thực hiện ghi file index của</p> <p>câu hỏi và của tài liệu cho</p> <p>chương trình</p> <p>6 btnHuyBo Button huỷ bỏ thao tác định dạng file</p> <p>index</p> <p>7 tabTaiLieu Tab định nghĩa file index của tài</p> <p>control liệu</p> <p>8 txtViTri_idxDoc Textbox Cho phép người dùng nhập vị</p> <p>trí file index của tài liệu của hệ</p> <p>thống IR bên ngoài</p> <p>9 bntChonViTri_idxDoc Button hỗ trợ người dùng chọn file</p> <p>index của tài liệu</p> <p>10 tblIdx_Doc Table Ghi nhận giá trị thẻ tương ứng.</p> <p>3.3.2.6.10. Màn hình đánh giá hệ thống (TH_KqDanhGia)</p> <p>Trang 133</p> <p>Ký hiệu: fraKq_DanhGia</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>4</p> <p>1</p> <p>2</p> <p>3</p> <p>6</p> <p>5</p> <p>8</p> <p>9</p> <p>7</p> <p>11</p> <p>10</p> <p>12</p> <p>14</p> <p>15</p> <p>13</p> <p>17</p> <p>16</p> <p>(cid:131) Diễn giải:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 cboHeThong comboBox Cho phép chọn hệ thống cần xem</p> <p>(txtHeThong) (textbox) kết quả đánh giá nếu người sử dụng</p> <p>gọi màn hình này từ màn hình chính,</p> <p>nếu màn hình này được gọi từ màn</p> <p>hình xử lý kết quả ,txtxHeThong sẽ</p> <p>Trang 134</p> <p>hiện thị đúng tên của hệ thống đang</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>được thực thi</p> <p>2 txtsysID Textbox Sau khi chọn hệ thống cần xem</p> <p>chương trình tự động hiện thi system</p> <p>ID của hệ thống</p> <p>3 txtNgay Textbox Chương trình tự động hiện thị thông</p> <p>tin về ngày giờ thực hiện kiểm tra hệ</p> <p>thống IR đó</p> <p>4 txtRtb Textbox thể hiện thông tin về độ bao phủ</p> <p>trung bình của hệ thống khi thực thi</p> <p>tập câu hỏi</p> <p>5 txtPtb Textbox thể hiện thông tin về độ chính xác</p> <p>trung bình của hệ thống IR</p> <p>6 lblTongSoCauHoi Lable thể hiện thông tin về tổng số câu hỏi</p> <p>đã được hệ thống IR thực hiện kiểm</p> <p>tra</p> <p>7 lstCauHoi Listbox thể hiện tập câu hỏi đã được thực</p> <p>hện bởi hệ thống IR</p> <p>8 txtNoiDungCH Textbox Nội dung của một câu hỏi mỗi khi</p> <p>người dùng chọn câu hỏi cần xem ở</p> <p>lstCauHoi</p> <p>9 lblSoTLTraVe Số tài liệu trả về ứng với 1 câu hỏi Label</p> <p>10 tblCauHoi Thông tin câu hỏi gồm có: số thứ tự Table</p> <p>n, tài liệu được trả về,có liên quan</p> <p>theo lý thuyết hay không, độ bao</p> <p>phủ và độ chính xác tại vị trí thứ n</p> <p>11 tblRPChuanHoa Table Bảng RP chuẩn hóa (tính độ chính</p> <p>xác tại 11 điểm chuẩn của độ bao</p> <p>Trang 135</p> <p>phủ ứng với 1 câu hỏi)</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>txtR 12 Textbox Độ bao phủ của 1 câu hỏi</p> <p>txtP 13 Textbox Độ chính xác của 1 câu hỏi</p> <p>14 lblSoTLLienQuan Label Số tài liệu liên quan ứng với 1 câu</p> <p>hỏi</p> <p>15 lblSoTLRel_Ret Label Số tài liệu liên quan được trả về ứng</p> <p>với 1 câu hỏi</p> <p>16 btnVeDoThi Button Vẽ đồ thị của hệ thống khi thực thi</p> <p>tập câu hỏi</p> <p>17 btnDong Button Đóng màn hình</p> <p>3.3.2.6.11. Màn hình xem đồ thị của hệ thống</p> <p>Ký hiệu: fraDoThi_HeThong</p> <p>Màn hình này sẽ vẽ đồ thị của hệ thống được đánh giá trên tập câu hỏi kiểm tra</p> <p>3.3.2.6.12. Màn hình xem chi tiết (TH_XemChiTiet)</p> <p>Ký hiệu: fraXemChiTiet</p> <p>Màn hình này được gọi khi người dùng muốn xem thông tin chi tiết về sự liên</p> <p>quan của một câu hỏi với 1 tài liệu cụ thể.</p> <p>Đứng tại màn hình xem kết quả đánh giá (fraKq_DanhGia) , nhấn vào DocID</p> <p>của tài liệu muốn xem (bởi vì trên màn hình fraKq_DanhGia,</p> <p>tblTaiLieuPhucHoi chi thể hiện các DocID của tài liệu được trả về), chương</p> <p>trình sẽ hiện thị màn hình xem chi tiết này.Thông tin chi tiết gồm có : nội dung</p> <p>của câu hỏi,nội dung của tài liệu liên quan đến câu hỏi đó, độ tương quan của</p> <p>Trang 136</p> <p>câu hỏi với tài liệu và thông tin tài liệu và câu hỏi đó được lập chỉ mục</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <h4>Chi tiết tài liệu Chi tiết tài liệu</h4> <p>1</p> <p>2</p> <p>4</p> <h2>Thông tin chi tiết 3</h2> <p>Độ tương quan :…...</p> <p>Từ Trọng số</p> <p>Câu hỏi: ….</p> <p>5</p> <p>Tài liệu: DocID= ... 6</p> <p>Từ</p> <p>Trọng số</p> <p>7</p> <p>Đóng màn hình</p> <p>8</p> <p>(cid:131) Diễn giải:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>lblSim Lable Độ tương quan giữa câu hỏi và tài 1</p> <p>liệu</p> <p>lblTopID Lable Chỉ số (topicID) của tài liệu 2</p> <p>txtCauHoi textbox thể hiện nội dung của câu hỏi đó 3</p> <p>tblIndex_CauHoi table Thể hiện nội dung chỉ mục của câu 4</p> <p>hỏi</p> <p>lblDocID Lable Chỉ số ID của tài liệu 5</p> <p>txtTaiLieu textbox Nội dung tài liệu 6</p> <p>tblIndex_TaiLieu table Nội dung chỉ mục của tài liệu 7</p> <p>Trang 137</p> <p>btnDong Button Đóng màn hình 8</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>3.3.2.6.13. Màn hình so sánh hệ thống (TH_SoSanhHT)</p> <p>2</p> <p>4</p> <p>1</p> <p>3</p> <p>5</p> <p>6</p> <p>(cid:131) Diễn giải:</p> <p>Ký hiệu: fraSoSanhHT</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>lstHT ListBox Danh sách hệ thống IR 1</p> <p>btnChon Button chọn một hệ thống bên danh sách hệ 2</p> <p>thống</p> <p>btnBo Button bỏ một hệ thống bên danh sách hệ thống 3</p> <p>đã chọn</p> <p>lstHTChon ListBox Danh sách hệ thống đã được chọn 4</p> <p>Đồ thị hiện thị đồ thị của các hệ thống đã chọn 5</p> <p>Trang 138</p> <p>btnDong Button Đóng màn hình 6</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>3.3.2.7. Thiết kế hệ thống lớp đối tượng</p> <p>3.3.2.7.1. Các lớp đối tượng xử lý</p> <p>a) CFormat:</p> <p>Ý nghĩa :</p> <p>Định nghĩa cấu trúc các thông số cần thiết để định dạng tài liệu và câu hỏi</p> <p>Mô tả:</p> <p>Cấu trúc thông số định dạng:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 oldTag Kiểu chuỗi Thẻ cũ cần chuyển đổi</p> <p>2 newTag Kiểu chuỗi Thẻ mới (từ thẻ cũ đổi sang thẻ mới)</p> <p>3 Content Kiểu chuỗi Nội dung của thẻ cũ</p> <p>4 oldId Kiểu chuỗi Thứ tự của thẻ cũ trong file xml cũ</p> <p>5 newId Kiểu chuỗi Thứ tự của thẻ mới trong file xml mới</p> <p>6 haveAttr Kiểu logic Thẻ mới đó có thuộc tính hay không?</p> <p>7 attrArray Mảng Nếu thẻ mới có thuộc tính thì attrArray sẽ</p> <p>CFormat lưu danh sách các thuộc tính (Thuộc tính</p> <p>có cấu trúc dạng thẻ: tên thuộc tính</p> <p>(tương ứng với tên thẻ mới- newTag)),</p> <p>thẻ tương ứng với thuộc tính trên</p> <p>(oldTag)</p> <p>b) CDocument:</p> <p>Ý nghĩa</p> <p>Định nghĩa cấu trúc của tài liệu để lưu trữ các giá trị nội dung của các thẻ</p> <p>(hoặc section) của tài liệu</p> <p>Trang 139</p> <p>Mô tả:</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>DocID Kiểu chuỗi docID của tài liệu 1</p> <p>Title Kiểu chuỗi tiêu đề của tài liệu 2</p> <p>Content Kiểu chuỗi Nội dung của tài liệu 3</p> <p>Date Kiểu chuỗi Ngày tạo tài liệu 4</p> <p>Author Kiểu chuỗi Tác giả của tài liệu 5</p> <p>News Kiểu logic Nguồn gốc của tài liệu 6</p> <p>c) CTopic:</p> <p>Ý nghĩa:</p> <p>Định nghĩa cấu trúc của tài liệu để lưu trữ các giá trị nội dung của các thẻ</p> <p>(hoặc section) của câu hỏi</p> <p>Mô tả:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>TopID Kiểu chuỗi docID của câu hỏi 1</p> <p>Title Kiểu chuỗi Nội dung của câu hỏi 2</p> <p>Description Kiểu chuỗi Chú thích của câu hỏi 3</p> <p>Narrative Kiểu chuỗi Nội dung yêu cầu liên quan của câu hỏi 4</p> <p>d) CHeThongIR:</p> <p>Ý nghĩa:</p> <p>Định nghĩa cấu trúc hệ thống IR</p> <p>Mô tả:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>strTenHT Kiểu chuỗi Tên hệ thống IR 1</p> <p>strID Kiểu chuỗi ID của hệ thống IR 2</p> <p>NgayKiemTra Kiểu chuỗi Ngày tiến hành kiểm tra hệ thống IR 3</p> <p>Trang 140</p> <p>Rtrungbinh Kiểu chuỗi Độ bao phủ trung bình 4</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>Ptrungbinh Kiểu chuỗi Độ chính xác trung bình 5</p> <p>fP Mảng số Độ chính xác trung bình tại 11 điểm 6</p> <p>thực chuẩn của độ bao phủ</p> <p>e) CKetQua:</p> <p>Ý nghĩa:</p> <p>Định nghĩa cấu trúc định dạng của file kết quả trả vế của hệ thống IR (file</p> <p>kết quả tar3 về của hệ thống IR chính là bảng liên quan thực tế)</p> <p>Mô tả:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 TopicID Thẻ tương ứng với TopicID Kiểu</p> <p>chuỗi</p> <p>Kiểu 2 DocID Thẻ tương ứng với DocID</p> <p>chuỗi</p> <p>3 ThuocTinh_TopicID Kiểu Tên thuộc tính tương ứng với</p> <p>chuỗi TopicID nếu thẻ tương ứng với</p> <p>TopicID có thuộc tính</p> <p>4 ThuocTinh_DocID Kiểu Tên thuộc tính tương ứng với</p> <p>chuỗi DocID nếu thẻ tương ứng với</p> <p>DocID có thuộc tính</p> <p>Kiểu 5 TagSim Thẻ tương ứng với similarity (thẻ</p> <p>chuỗi Similarity)</p> <p>Kiểu 6 ThuocTinh_Sim Tên thuộc tính tương ứng với</p> <p>chuỗi Similarity nếu thẻ tương ứng với</p> <p>Trang 141</p> <p>Similarity có thuộc tính</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>f) CRelevant:</p> <p>Ý nghĩa</p> <p>Định nghĩa cấu trúc sự liên quan của tài liệu tại vị trí thứ tự n của danh sách</p> <p>các tài liệu trả về của một câu hỏi</p> <p>(cid:214) Thông tin về độ chính xác và độ bao phủ tại vị trí thứ n sẽ được lưu</p> <p>trong mảng cấu trúc CRelevant để thực hiện nội suy tính độ chính xác</p> <p>tại 11 điểm chuẩn của độ bao phủ (tính P (r) , với r có giá trị là 0.0,</p> <p>0.1 ,0.2 ,0.3 ,0.4, 0.5 , 0.6 , 0.7, 0.8, 0.9, 1.0)</p> <p>Mô tả:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>DocID Kiểu chuỗi docID của câu hỏi tại vị trí thứ tự n 1</p> <p>bRelevant Kiểu logic Tài liệu tại vị trí n có liên quan hay 2</p> <p>không?</p> <p>3 fPrecision Kiểu số Độ chính xác của tài liệu tại vị trí n</p> <p>thực</p> <p>4 fRecall Kiểu số Độ bao phủ của tài liệu tại vị trí n</p> <p>thực</p> <p>g) CIndex:</p> <p>Ý nghĩa:</p> <p>Định nghĩa cấu trúc định dạng các file index trả về của hệ thống IR</p> <p>Mô tả:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 ID Kiểu chuỗi ID của câu hỏi hoặc tài liệu được lập</p> <p>chỉ mục</p> <p>2 word Kiểu chuỗi Từ có nghĩa xuất hiện trong câu hỏi</p> <p>hoặc tài liệu</p> <p>Trang 142</p> <p>3 weigh Kiểu số Trọng số của từ đó</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>nguyên</p> <p>h) XL_XML :</p> <p>XL_XML</p> <p>TranslateXML</p> <p>Sơ đồ lớp:</p> <p>Mô tả:</p> <p>Phương thức: TranslateXML</p> <p>o Ý nghĩa: chuyển đổi cấu trúc của một file xml sang cấu trúc file xml</p> <p>khác</p> <p>o Tham số đầu vào:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 Format Kiểu mảng mảng Cformat lưu trữ cấu trúc định dạng</p> <p>CFormat mới mà file xml mới cần chuyển đổi sang</p> <p>cấu trúc đó</p> <p>newFile Kiểu chuỗi file xml mới bao gồm cả đường dẫn 2</p> <p>oldPathFile Kiểu chuỗi đường dẫn file xml cũ 3</p> <p>oldFile Kiểu chuỗi tên file xml cũ 4</p> <p>Ghi chú:</p> <p>Tham số format có kiểu mảng CFormat với:</p> <p>newTag : là tên thẻ trong file xml mới tương ứng với oldTag</p> <p>oldTag là các thẻ trong file xml cũ</p> <p>newId: là thứ tự của thẻ mới trong file xml mới</p> <p>oldTag: là thứ tự của thẻ cũ</p> <p>haveAttr: thẻ mới cần tạo có thuộc tinh hay không?, nếu có lưu thuộc</p> <p>Trang 143</p> <p>tính vào mảng attrArray</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>Ví dụ : có file xml như sau:</p> <p><DOCUMENT> (cid:206) nút gốc (có thứ tự =0)</p> <p><DOC> (cid:206) nút kế gốc (có thứ tực bằng 1)</p> <p><DOCID> “ 1 “ <DOCID></p> <p><TITLE> “Thanh niên Việt Nam” <TITLE></p> <p></DOC></p> <p></DOCUMENT></p> <p>Đổi sang file xml có cấu trúc như sau:</p> <p><DOCUMENT></p> <p><DOC DOCID=”1”></p> <p><TITLE> “Thanh niên Việt Nam” <TITLE></p> <p></DOC></p> <p></DOCUMENT></p> <p>Định nghĩa mảng format như sau:</p> <p>CFormat[] f=new CFormat[3];</p> <p>f[0]=new CFormat();</p> <p>f[0].oldId=f[0].newId=0;</p> <p>f[0].newTag="TAILIEU";</p> <p>f[0].oldTag="DOCUMENT";</p> <p>f[0].haveAttr=false;</p> <p>f[1]=new CFormat();</p> <p>f[1].newId=f[1].oldId=1;</p> <p>f[1].newTag="TL";</p> <p>f[1].oldTag="DOC";</p> <p>f[1].haveAttr=true;</p> <p>f[1].attrArray=new CFormat[1];</p> <p>f[1].attrArray[0]=new CFormat();</p> <p>Trang 144</p> <p>f[1].attrArray[0].oldTag="DOCID";</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>f[1].attrArray[0].newTag="ID";</p> <p>f[2]=new CFormat();</p> <p>f[2].newId=f[2].oldId=2;</p> <p>f[2].newTag="CHUDE";</p> <p>f[2].oldTag="TITLE";</p> <p>o Kết quả trả về:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 kq Kiểu số Kết quả trả về để xác nhận chuyển đổi</p> <p>nguyên thành công hay thất bại</p> <p>o Mô tả thuật toán:</p> <p>- Tìm newTag của nút gốc trong mảng format (nút gốc là nút có thứ tự</p> <p>newId=0) , dựa vào khai báo của mảng format (newTag) tạo nút gốc cho</p> <p>file xml mới</p> <p>- Đọc file xml cũ dựa vào oldPathFile và oldFile: gọi phương thức</p> <p>ReadXML của lớp LT_XML</p> <p>- Tìm vị trí của nút kế gốc trong mảng format(nút kế gốc là nút có oldId=1)</p> <p>=>idxroot</p> <p>- Lấy danh sách các nút kế gốc ( thẻ oldTag) =>Nodes</p> <p>- Gọi nodelen là chiều dài của danh sách Nodes</p> <p>- Lặp i=0 -> i=nodelen</p> <p>- Bắt đấu lặp i</p> <p>Kiềm tra xem format[idxroot] có thuộc tính hay không:</p> <p>(format[idxroot].haveAttr ?)</p> <p>Nếu có thuộc tính</p> <p>(duyệt tất cả các thuộc tính của nút kế gốc để gán nội dung cho nó)</p> <p>Trang 145</p> <p>- Với mỗi thuộc tính:</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>- xem thuộc tính của nút kế gốc có oldTag là gì, nếu có oldTag =””</p> <p>có nghĩa là tạo mới thuộc tính, nếu oldTag !=”” : đọc nội dung của oldTag</p> <p>gán váo format[idxroot].Content</p> <p>Ngược lại không có thuộc tính</p> <p>- Tạo nội dung cho các phần tử format[k] (k!=idxroot)</p> <p>(chú ý: nút kế gốc format[idxroot] không chứa nội dung)</p> <p>- kiểm tra xem từng phần tử trong mảng format khác với</p> <p>format[idxroot] có thuộc tính hay không</p> <p>- Nếu phần tử format[k] có thuộc tính : đọc nội dung thẻ tương</p> <p>ứng với thuộc tính đó (oldTag) và ghi nhận nội dung vào</p> <p>format[k].attrArray[j].Content</p> <p>Sau khi gán nội dung cho các thẻ mới trong mảng format :</p> <p>- Sắp xếp thứ tự mảng format theo thứ tự tăng dần của newId</p> <p>- Tạo node cho file xml mới</p> <p>- Cuối lặp i (cid:206) đã ánh xạ xong các node của file xml cũ sang file xml mới</p> <p>k) XL_Text:</p> <p>XL_XML</p> <p>TranslateText</p> <p>Sơ đồ lớp:</p> <p>Mô tả:</p> <p>Phương thức : TranslateText</p> <p>o Ý nghĩa:</p> <p>đổi cấu trúc của một file xml sang cấu trúc file text khác với các thẻ của file</p> <p>xml tương ứng với các section của file text</p> <p>o Tham số đầu vào:</p> <p>Trang 146</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>1 format Kiểu mảng mảng Cformat lưu trữ cấu trúc định dạng</p> <p>CFormat mới mà file xml mới cần chuyển đổi sang</p> <p>cấu trúc đó</p> <p>newFile Kiểu chuỗi file xml mới bao gồm cả đường dẫn 2</p> <p>oldPathFile Kiểu chuỗi đường dẫn file xml cũ 3</p> <p>oldFile Kiểu chuỗi tên file xml cũ 4</p> <p>o Kết quả trả về:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 kq Kiểu số Kết quả trả về để xác nhận chuyển đổi</p> <p>nguyên thành công hay thất bại</p> <p>o Thuật toán:</p> <p>- Tìm newTag của nút gốc trong mảng format (nút gốc là nút có thứ tự</p> <p>newId=0) , dựa vào khai báo của mảng format (newTag) tạo nút gốc cho</p> <p>file xml mới</p> <p>- Đọc file xml cũ dựa vào oldPathFile và oldFile: gọi phương thức</p> <p>ReadXML của lớp LT_XML</p> <p>- Do file text mới không có khái niệm thẻ gốc chỉ cần những thẻ chứa dữ liệu</p> <p>- Lấy danh sách các nút có thẻ là format[0].oldTag =>Nodes (format[0] là</p> <p>nút kế gốc trong file xml cũ (không kể nút gốc))</p> <p>- Gọi strNoiDung lưu giữ nội dung của file text</p> <p>- Gọi nodelen là chiều dài của danh sách Nodes</p> <p>- Lặp k=0 ->k=nodelen</p> <p>Bắt đấu lặp i</p> <p>Với mỗi phần tử format[i]:</p> <p>- kiểm tra xem format[i].oldTag =”” hay không ?</p> <p>o Nếu bằng rỗng: tạo section mới cho file text mà nộ dung của</p> <p>Trang 147</p> <p>section đó là rỗng :</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>strNoiDung = strNoiDung + format[i].newTag + “ký tự xuống dòng”</p> <p>o Nếu khác rỗng :</p> <p>- lấy nội dung của thẻ có tên là format[i].oldTag gán vào nội dung</p> <p>của section mới : format[i].Content</p> <p>strNoiDung = strNoiDung + format[i].newTag + “ký tự xuống dòng”</p> <p>+ format[i].Content + “ký tự xuống dòng”</p> <p>Cuối lặp i</p> <p>- Ghi lên file text : gọi phương thức WriteText(strNoiDung,newFile) của lớp</p> <p>LT_Text</p> <p>- Gửi kết quả thực hiện thành công hay thất bại cho chương trình</p> <p>l) XL_Doc</p> <p>XL_Doc</p> <p>Static String Doc_Path="coll"; Static int SO_DOC=50; DinhDangTaiLieu DinhDangTaiLieuText LayDSTaiLieu LayTaiLieu</p> <p>Sơ đồ lớp:</p> <p>Mô tả:</p> <p>Thuộc tính:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 Doc_Path Kiểu chuỗi Đường dẫn của tập tài liệu của chương</p> <p>trình , mặc định là tất cả các tập dữ liệu</p> <p>sẽ được lưu tại thư mục “coll” của</p> <p>chương trình</p> <p>2 SO_DOC Kiểu số Số tài liệu trong một file tài liệu , mặc</p> <p>nguyên định là có 50 tài liệu trong một file tài</p> <p>Trang 148</p> <p>liệu</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>Phương thức :DinhDangTaiLieu</p> <p>o Ý nghĩa:chuyển đổi định dạng của tập tài liệu , chuyển sang file xml</p> <p>o Tham số đầu vào:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 format Kiểu mảng mảng Cformat lưu trữ cấu trúc định dạng</p> <p>CFormat mới mà file xml mới cần chuyển đổi sang</p> <p>cấu trúc đó</p> <p>2 Path Kiểu chuỗi Đường dẫn đến thư mục chứa tập tài liệu đã</p> <p>chuyển đổi</p> <p>o Kết quả trả về:(không có)</p> <p>o Mô tả thuật toán:</p> <p>- Từ biến Doc_Path : duyệt tất cả các file xml nằm trong thư mục đó</p> <p>- Nếu Path=”” : có nghĩa là người sử dụng không nhập vị trí file tài</p> <p>liệu mới đã được chuyển đổi => lưu tất cả các file đã chuyển đổi mới</p> <p>vào thư mục mặc định của chương trình</p> <p>- Nếu Path != “”: lưu các file đã chuyển đổi vào thư mục Path</p> <p>- Với mỗi file tài liệu xml của chương trình : gọi phương thức</p> <p>TranslateXML của lớp XL_XML thực hiện chuyển đổi và tạo file</p> <p>xml mới cho từng file xml tài liệu cũ</p> <p>Phương thức: DinhDangTaiLieuText</p> <p>o Ý nghĩa:chuyển đổi định dạng của tập tài liệu , chuyển sang file text</p> <p>o Tham số đầu vào:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 format Kiểu mảng mảng Cformat lưu trữ cấu trúc định dạng mới</p> <p>CFormat mà file xml mới cần chuyển đổi sang cấu trúc</p> <p>Trang 149</p> <p>đó</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>2 Path Kiểu chuỗi Đường dẫn đến thư mục chứa tập tài liệu đã</p> <p>chuyển đổi</p> <p>o Kết quả trả về (không có)</p> <p>o Mô tả thuật toán:</p> <p>- Từ biến Doc_Path : duyệt tất cả các file xml nằm trong thư mục đó</p> <p>- Nếu Path=”” : có nghĩa là người sử dụng không nhập vị trí file tài</p> <p>liệu mới đã được chuyển đổi => lưu tất cả các file đã chuyển đổi mới</p> <p>vào thư mục mặc định của chương trình</p> <p>- Nếu Path != “”: lưu các file đã chuyển đổi vào thư mục Path</p> <p>Với mỗi file tài liệu xml của chương trình : gọi phương thức</p> <p>TranslateText của lớp XL_Text thực hiện chuyển đổi và tạo file text</p> <p>mới cho từng file xml tài liệu cũ</p> <p>LayDSTaiLieu:</p> <p>o Ý nghĩa:lấy danh sách tài liệu của file tài liệu bất kỳ dựa vào tên file</p> <p>của nó</p> <p>o Tham số đầu vào:</p> <p>fn (kiểu chuỗi ): là tên file tài liệu cần lấy</p> <p>o Kết quả trả về:</p> <p>dsDoc(Kiểu mảng CDocument) : lưu thông tin của danh sách tài liệu</p> <p>nằm trong file tài liệu có tên là fn</p> <p>o Mô tả thuật toán:</p> <p>- Đọc file xml có tên là fn</p> <p>- Lấy danh sách các node trong file xml có tên thẻ là “DOC” =></p> <p>lstNode</p> <p>- Gọi n là chiều dài của lstNode</p> <p>- Khai báo dsDoc là mảng CDocument với n phần tử</p> <p>- Duyệt danh sách lstNode:</p> <p>Trang 150</p> <p>Lặp i=0 đến n</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>Đầu lặp i:</p> <p>Lấy danh sách node con của lstNode[i] => childList</p> <p>Lặp j=0 cho đến cuối childList</p> <p>Đầu lặp j</p> <p>tìm các thẻ “DOCID”,”TITLE”,”CONTENT”... lấy nội</p> <p>dung tương ứng với các thẻ đó gán vào dsDoc[i]</p> <p>Cuối lặp j</p> <p>Cuối lặp i</p> <p>LayTaiLieu</p> <p>o Ý nghĩa:lấy tài liệu của một tài liệu bất kỳ dựa vào DocID của nó</p> <p>o Tham số đầu vào:</p> <p>DocID (kiểu chuỗi ): là chỉ số của tài liệu cần lấy</p> <p>o Kết quả trả về:</p> <p>Kq (Kiểu CDocument) : lưu thông tin của tài liệu có chỉ số là DocID</p> <p>o Mô tả thuật toán:</p> <p>- Tìm tên file tài liệu chứa tài liệu có chỉ số là DocID:</p> <p>Do mỗi file chứa SO_DOC tài liệu và mỗi file tài liệu được đặt tên</p> <p>theo quy tắc “vn_” + n số 0 + số thứ tự : ví dụ file “vn_000001”</p> <p>chứa SO_DOC tài liệu, mỗi tài liệu trong file “vn_000001” được</p> <p>đánh chỉ số DocID từ 1 đến 50, và file “vn_000002” chứa SO_DOC</p> <p>tài liệu , các tài liệu được đánh số tiếp tục từ 51 đến 100</p> <p>nên ta có thể từ DocID tính được tên file chứa DocID đó như sau:</p> <p>int tenfile =DocID / SO_DOC;</p> <p>int m = DocID % SO_DOC;</p> <p>if (m != 0) tenfile += 1;</p> <p>tên file= “vn_” + n số 0 + tenfile</p> <p>- Gọi phương thức LayDSTaiLieu với đầu vào là fn : kết quả được</p> <p>danh sách tài liệu CDocument dsdoc</p> <p>Trang 151</p> <p>- Tìm trong dsdoc tài liệu có docID=DocID => Kq</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>- Trả về cho chương trình tài liệu thích hợp Kq</p> <p>m) XL_Topic</p> <p>XL_Topic</p> <p>Static String Topic_Path="topic" DinhDangCauHoi DinhDangCauHoiText LayDSTopicID LayDSCauHoi LayTongSoCauHoi NoiDungTopic</p> <p>Sơ đồ lớp:</p> <p>Mô tả:</p> <p>Thuộc tính:</p> <p>Topic_Path:(kiểu chuỗi ) lưu giữ thư mục chứa tập câu hỏi, mặc định</p> <p>tập câu hỏi sẽ được lưu trong thư mục “topic” của chương trình</p> <p>Phương thức DinhDangCauHoi</p> <p>o Ý nghĩa: chuyển đổi định dạng của tập tài liệu , chuyển sang file</p> <p>xml</p> <p>o Tham số đầu vào:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 format Kiểu mảng mảng CFormat lưu trữ cấu trúc định dạng</p> <p>CFormat mới mà file xml mới cần chuyển đổi sang cấu</p> <p>trúc đó</p> <p>2 Path Kiểu chuỗi Đường dẫn đến thư mục chứa tập câu hỏi đã</p> <p>chuyển đổi</p> <p>o Kết quả trả về (không có)</p> <p>o Mô tả thuật toán:</p> <p>Trang 152</p> <p>- Từ biến Topic_Path: duyệt tất cả các file xml nằm trong thư mục đó</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>- Nếu Path=”” : có nghĩa là người sử dụng không nhập vị trí file tài</p> <p>liệu mới đã được chuyển đổi => lưu tất cả các file đã chuyển đổi mới</p> <p>vào thư mục mặc định của chương trình</p> <p>- Nếu Path != “”: lưu các file đã chuyển đổi vào thư mục Path</p> <p>- Với mỗi file tài liệu xml của chương trình : gọi phương thức</p> <p>TranslateXML của lớp XL_XML thực hiện chuyển đổi và tạo file</p> <p>xml mới cho từng file xml tài liệu cũ</p> <p>Phương thức DinhDangCauHoiText</p> <p>o Ý nghĩa: chuyển đổi định dạng của tập tài liệu , chuyển sang file text</p> <p>o Tham số đầu vào:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 format Kiểu mảng mảng CFormat lưu trữ cấu trúc định dạng</p> <p>CFormat mới mà file xml mới cần chuyển đổi sang</p> <p>cấu trúc đó</p> <p>2 Path Kiểu chuỗi Đường dẫn đến thư mục chứa tập câu hỏi</p> <p>đã chuyển đổi</p> <p>o Kết quả trả về (không có)</p> <p>o Mô tả thuật toán:</p> <p>- Từ biến Topic_Path : duyệt tất cả các file xml nằm trong thư mục đó</p> <p>- Nếu Path=”” : có nghĩa là người sử dụng không nhập vị trí file tài</p> <p>liệu mới đã được chuyển đổi => lưu tất cả các file đã chuyển đổi mới</p> <p>vào thư mục mặc định của chương trình</p> <p>- Nếu Path != “”: lưu các file đã chuyển đổi vào thư mục Path</p> <p>Với mỗi file tài liệu xml của chương trình : gọi phương thức</p> <p>TranslateText của lớp XL_Text thực hiện chuyển đổi và tạo file text</p> <p>mới cho từng file xml tài liệu cũ</p> <p>Phương thức LayDSTopicID</p> <p>Trang 153</p> <p>o Ý nghĩa :lấy tất cả topicID của file câu hỏi</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>o Tham số đầu vào : (không có)</p> <p>o Kết quả trả về:</p> <p>Mảng chuỗi topicID : lưu thông tin của tất cả topicID của câu hỏi</p> <p>o Mô tả thuật toán:</p> <p>- Duyệt thư mục có đường dẫn là Topic_Path</p> <p>- Đọc từng file xml câu hỏi trong thư mục Topic_Path</p> <p>- Lấy danh sách các node trong file xml có tên thẻ là “TOP” =></p> <p>lstNode</p> <p>- Gọi n là chiều dài của lstNode</p> <p>- Khai báo topicID là mảng chuỗi với n phần tử</p> <p>- Duyệt danh sách lstNode:</p> <p>Lặp i=0 đến n</p> <p>Đầu lặp i:</p> <p>Lấy danh sách node con của lstNode[i] => childList</p> <p>Lặp j=0 cho đến cuối childList</p> <p>Đầu lặp j</p> <p>tìm thẻ “TOPID và lấy nội dung của thẻ đó gán vào</p> <p>topicID[i]</p> <p>Cuối lặp j</p> <p>Cuối lặp i</p> <p>Phương thức LayDSCauHoi</p> <p>o Ý nghĩa :lấy tất cả thông tin câu hỏi của file câu hỏi</p> <p>o Tham số đầu vào : (không có)</p> <p>o Kết quả trả về:</p> <p>Mảng CTopic dsTopic: lưu thông tin của tất cả câu hỏi</p> <p>o Mô tả thuật toán:</p> <p>- Duyệt thư mục có đường dẫn là Topic_Path</p> <p>Trang 154</p> <p>- Đọc từng file xml câu hỏi trong thư mục Topic_Path</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>- Lấy danh sách các node trong file xml có tên thẻ là “TOP” =></p> <p>lstNode</p> <p>- Gọi n là chiều dài của lstNode</p> <p>- Khai báo dsTopic là mảng CTopic với n phần tử</p> <p>- Duyệt danh sách lstNode:</p> <p>Lặp i=0 đến n</p> <p>Đầu lặp i:</p> <p>Lấy danh sách node con của lstNode[i] => childList</p> <p>Lặp j=0 cho đến cuối childList</p> <p>Đầu lặp j</p> <p>tìm thẻ “TOPID”, “TITLE” và lấy nội dung của các thẻ đó</p> <p>gán vào dsTopic[i]</p> <p>Cuối lặp j</p> <p>Cuối lặp i</p> <p>Phương thức LayTongSoCauHoi</p> <p>o Ý nghĩa :lấy tổng số câu hỏi thực hiện có trong kho dữ liệu</p> <p>o Tham số đầu vào : (không có)</p> <p>o Kết quả trả về:</p> <p>Kq : kiểu số nguyên</p> <p>o Mô tả thuật toán:</p> <p>- Gọi phương thức LayDSTopicID =>dsTopic</p> <p>- Kq= chiều dài của mảng dsTopic</p> <p>Phương thức NoiDungTopic</p> <p>o Ý nghĩa:lấy nội dung của một câu hỏi bất kỳ dựa vào TopIDcủa nó</p> <p>o Tham số đầu vào:</p> <p>TopID(kiểu chuỗi ): là chỉ số của câu hỏi cần lấy</p> <p>o Kết quả trả về:</p> <p>Kq (Kiểu chuỗi) : lưu thông tin của nội dung của câu hỏi có chỉ số là</p> <p>Trang 155</p> <p>TopID</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>o Mô tả thuật toán:</p> <p>- Gọi phương thức LayDSCauHoi => ds</p> <p>- Tìm trong ds câu hỏi có topID=TopID => Kq</p> <p>- Trả về cho chương trình tài liệu thích hợp Kq</p> <p>n) XL_KetQua</p> <p>XL_KetQua</p> <p>static String result_Path="result" static String eval_File="evaluation.xml" static String system_File="system.xml" static String rel_File="relevant.xml" static String relevant_Path="result/relevant" float RTrungBinh=0; float PTrungBinh=0; int TongSoTopic=0 String systemID DinhDangKqIR CapNhat_evaluation TinhDoChinhXac_Chuan TaoSysID ThemSystem</p> <p>Sơ đồ lớp:</p> <p>Mô tả:</p> <p>Phương thức DinhDangKqIR:</p> <p>o Ý nghĩa:định dạng file kết quả trả về của hệ thống IR</p> <p>o Tham số đầu vào:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 fn Kiểu chuỗi Tên file kết quả trả về của hệ thống IR</p> <p>2 sysID Kiểu chuỗi System ID của hệ thống IR</p> <p>3 kq CKetQua Định dạng của file kết quả</p> <p>o Kết quả trả về:</p> <p>Kq: kiểu số nguyên ; cho biết kết quả định dạng thành công hay thất bại</p> <p>Trang 156</p> <p>o Mô tả thuật toán:</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>Ghi chú: file kết quả của hệ thống sẽ được chuyển đổi sang file mới có</p> <p>cấu trúc đo chương trình đưa ra như sau: (xem phần “Tổ chức lưu trữ dữ</p> <p>liệu” (relevant_TT ))</p> <p><RELEVANT></p> <p><REL TOPID=””></p> <p><DOCID SIMILARITY=”” “”></p> <p></REL></p> <p></RELEVANT></p> <p>Mỗi bảng liên quan thực tế của hệ thống sẽ được lưu thành 1 file riêng</p> <p>biệt có tên là “rel_” + sysID + “.xml”</p> <p>- Tao file xml mới , tạo nút gốc RELEVANT</p> <p>- Đọc file xml fn, lấy các nút có tên là kq.TopicID</p> <p>• Kiểm tra xem nút TopicID có thuộc tính hay không</p> <p>- Duyệt tất cả các nút trên</p> <p>• Nếu có thuộc tính : lấy giá trị của thuộc tính gán vào biến</p> <p>(kq.ThuocTinh_TopicID==”” ?)</p> <p>• Nếu không có thuộc tính: lấy giá trị của nút TopicID</p> <p>• Tạo nút REL và tạo thuộc tính TOPID có giá trị là nội dung</p> <p>tạm temp</p> <p>• Lấy các nút con của nút TopicID</p> <p>• Duyệt tất cả các nút con:</p> <p>của biến temp</p> <p>- Xem nút nào là kq.DocID :</p> <p>- Kiểm tra xem nút DocID có thuộc tính hay không</p> <p>(kq.ThuocTinh_DocID=”” ?)</p> <p>- Nếu có thuộc tính : lấy giá trị thuộc tính gán váo biến</p> <p>strChild</p> <p>- Nếu không lấy giá trị của nút DocID gán váo biến strChild</p> <p>Trang 157</p> <p>- Tạo nút “DOCID” với nội dung là strChild</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>- Xét xem có nút con nào có tên là kq.TagSim</p> <p>- Kiểm tra xem nút TagSim có thuộc tính hay không</p> <p>(kq.ThuocTinh_Sim =”” ?)</p> <p>- Nếu có thuộc tính : lấy giá trị thuộc tính gán váo biến</p> <p>strChild</p> <p>- Nếu không lấy giá trị của nút TagSim gán váo biến</p> <p>strChild</p> <p>- Tạo thuộc tính “SIMILARITY” cho nút “DOCID” với nội</p> <p>dung là strChild</p> <p>- Ghi lên file xml mới với tên theo công thức sau: “rel_” + sysID +</p> <p>“.xml” => gọi phương thức WriteXML của lớp LT_XML</p> <p>Phương thức CapNhat_evaluation</p> <p>o Ý nghĩa: cập nhật file evaluation.xml : thêm thông tin topic được</p> <p>đánh giá do hệ thống IR thực hiện</p> <p>o Tham số đầu vào:</p> <p>sysID (kiểu chuỗi): system ID của hệ thống thực thi đánh giá</p> <p>o Kết quả trả về: (không có)</p> <p>o Mô tả thuật toán:</p> <p>- Đọc file evaluation.xml để chuẩn bị thêm thông tin danh sách câu</p> <p>hỏi do hệ thống IR (sysID) thực hiện được đánh giá</p> <p>- Tạo node “SYSTEM” với thuộc tính “SYSID” =sysID</p> <p>- Đọc file relevant.xml là file lưu thông tin bảng liên quan lý thuyết để</p> <p>lấy thông tin liên quan lý thuyết</p> <p>- Lấy thông tin bảng liên quan thực tế . Thông tin này phụ thuộc hệ</p> <p>thống IR cần kiểm tra. Do mỗi hệ thống IR trả về bảng liên quan</p> <p>thực tế đều được lưu thành một file cho hệ thống đó, với cách đặt tên</p> <p>file là : “rel_” + sysID. Nên tên file lưu bảng liên quan thực tế của</p> <p>một hệ thống IR sysID là:</p> <p>Trang 158</p> <p>retfn=relevant_Path+"/rel_"+sysID+".xml"</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>- Lấy danh sách topicID (=> gọi phương thức LayDSTopicID của lớp</p> <p>XL_Topic)</p> <p>- Duyệt danh sách topicID: Với mỗi topicID:</p> <p>o Lấy các tài liệu liên quan lý thuyết đối với topicID đó kết quả được</p> <p>mảng chuỗi lưu DocID liên quan relArr=> tính được số tài liệu liên</p> <p>quan</p> <p>o Lấy các tài liệu liên quan thực tế đối với topicID đó kết quả được</p> <p>mảng chuỗi lưu DocID trả về retArr => tính được số tài liệu trả về</p> <p>o Lấy phần giao của 2 mảng relArr và retArr => tính được số tài liệu</p> <p>liên quan được trả về</p> <p>o Tính độ bao phủ</p> <p>o Tính độ chính xác</p> <p>o Tính độ chính xác tại 11 điểm chuẩn của độ bao phủ => gọi</p> <p>phương thức TinhDoChinhXac_Chuan => kết quả được mảng gồm</p> <p>11 phần tử lưu 11 giá trị độ chính xác tại 11 điểm chuẩn độ bao</p> <p>phủ (strPrecision)</p> <p>o Tính R trung bình và P trung bình</p> <p>o Ghi nhận topicID này vào file evaluation.xml</p> <p>Phương thức TinhDoChinhXac_Chuan</p> <p>o Ý nghĩa: tính độ chính xác tại 11 điểm chuẩn của độ bao phủ của</p> <p>một topic</p> <p>o Tham số đầu vào:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 retArr Kiểu chuỗi mảng docID liên quan tực tế do hệ thống</p> <p>IR trả về của một topicID</p> <p>2 relArr Kiểu chuỗi mảng docID liên quan theo lý thuyết của</p> <p>Trang 159</p> <p>một topicID</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>o Kết quả trả về:</p> <p>strPrecision (kiểu mảng chuỗi) giá trị độ chính xác tại 11 điểm chuẩn</p> <p>của độ bao phủ</p> <p>o Mô tả thuật toán:</p> <p>- // ở đây ta dùng lớp CRelevant để tính độ chính xác và độ bao phủ</p> <p>atị vị trí // thứ n của tài liệu trong dãy tài liệu liên quan trả về</p> <p>- Khai báo arrRelTT là mảng CRelevant .Khởi tạo giá trị mặc định</p> <p>cho mảng arrReTT:</p> <p>o Khởi tạo giá trị DocID : gán các DocID liên quan vào mảng</p> <p>arrRelTT</p> <p>o Khởi tại giá trị bRelevant: với các DocID có liên quan lý thuyết</p> <p>(dựa vào mảng relArr) thì đánh dấu bRelevant tại vị trí đó bằng</p> <p>true</p> <p>- Tính tổng số tài liệu liên quan trong mảng CRelevant arrRelTT :</p> <p>đếm số bRelevant bằng true => sumRelLT</p> <p>- Tính R và P cho từng vị trí:</p> <p>Gọi soRel_Rel là số tài liệu liên quan trong mảng arrRelTT tại vị trí thứ i</p> <p>o Lặp i=0 cho tới cuối mảng arrRelTT</p> <p>- Nếu ( arrRelTT[i].bRelevant==true ) soRel_Rel tăng lên 1</p> <p>- arrRelTT[i].fPrecision= soRel_Rel/(i+1);</p> <p>- arrRelTT[i].fRecall=soRel_Rel/sumRelLT;</p> <p>Cuối lặp i</p> <p>- Nội suy với các giá trị R,P tại các thứ tự từ 1 đến hết mảng</p> <p>arrRelTT :</p> <p>Gọi Recall=0</p> <p>Gọi arrP là mảng số thực lưu giá trị độ chính xác tại 11 điểm chuẩn đó</p> <p>Trang 160</p> <p>o Lặp i=0 cho tới 11</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>• Tìm chỉ số idx của mảng arrRelTT có arrRelTT[i].fRecall =</p> <p>Recall hoặc ( arrRelTT[i].fRecall < Recall + 0.1 và</p> <p>• Nếu tìm không thấy idx=-1 gán arrP[i]=-1;</p> <p>• Ngược lại tim thấy (idx!=-1) :tìm giá trị max từ vị trí idx cho</p> <p>arrRelTT[i].fRecall > Recall)</p> <p>đến cuối của mảng arrRelTT . Gán giá trị max này cho</p> <p>arrP[i]. =>Đây chính là giá trị độ chính xác tại độ recall</p> <p>chuẩn</p> <p>Cuối lặp i</p> <p>- Sau khi nội suy ta được mảng số thực arrP lưu giá trị 11 độ chính</p> <p>xác => đổi từ số thực sang chuỗi để thuận lợi việc ghi lên file =></p> <p>strPrecision</p> <p>- Trả về cho chương trình mảng strPrecision</p> <p>Phương thức TaoSysID</p> <p>o Ý nghĩa: định dạng file kết quả trả vể của hệ thống IR</p> <p>o Tham số đầu vào (không có)</p> <p>o Kết quả trả về;</p> <p>systemID: kiểu chuỗi</p> <p>o Mô tả thuật toán:</p> <p>- Đọc file system.xml</p> <p>- Lấy số node “SYSTEM” => sysID</p> <p>- sysID=sysID +1</p> <p>- đổi sysID sang chuỗi => systemID</p> <p>- trả về cho chương trình systemID</p> <p>Phương thức ThemSystem</p> <p>o Ý nghĩa: định dạng file kết quả trả vể của hệ thống IR</p> <p>Trang 161</p> <p>o Tham số đầu vào:</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>sysID Kiểu chuỗi System ID của hệ thống cần thêm 1</p> <p>name Kiểu chuỗi Tên hệ thống cần thêm 2</p> <p>o Kết quả trả về: (không có)</p> <p>o Mô tả thuật toán:</p> <p>- Đọc file system.xml (file system.xml là file lưu tất cả các hệ thống</p> <p>đã tiến hành đánh giá)</p> <p>- Tạo node “SYSTEM” và thuộc tính của nó “SYSID” có giá trị là</p> <p>sysID</p> <p>- Tạo các node “NAME” “DATE” “AVGPRECISON”</p> <p>“AVGRECALL”, với giá trị lần lượt là name, ngày giờ hệ thống,</p> <p>PtrungBinh, RtrungBinh.</p> <p>- Ghi lên file xml (gọi phương thức WriteXML của lớp LT_XML)</p> <p>o) XL_HeThongIR</p> <p>XL_HeThongIR</p> <p>Static String path_system="result/system.xml" ThucThiHTIR LayDSThongTinHeThong LayHeThong</p> <p>Sơ đồ lớp:</p> <p>Mô tả:</p> <p>Phương thức ThucThiHTIR:</p> <p>o Ý nghĩa: gọi hệ thống IR thực thi</p> <p>o Tham số đầu vào: (không có)</p> <p>o Kết quả trả về: (không có)</p> <p>Trang 162</p> <p>o Mô tả thuật toán:</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>Gọi hệ thống IR hiện thị để cho phép người dùng thực hiện hệ thống IR</p> <p>đó</p> <p>Phương thức LayDSThongTinHeThong:</p> <p>o Ý nghĩa: gọi hệ thống IR thực thi</p> <p>o Tham số đầu vào: (không có)</p> <p>o Kết quả trả về:</p> <p>ht mảng CheThongIR lưu thông tin giá trị của danh sách hệ thống IR bao</p> <p>gồm sysID, tên, ngày kiểm tra , R trung bình , P trung bình</p> <p>o Mô tả thuật toán:</p> <p>- Đọc file system.xml</p> <p>- Lấy nội dung các thẻ “SYSTEM” (“SYSID”) ,</p> <p>“NAME” , ”DATE” , ”AVGRECALL” , “AVGPRECISION” gán</p> <p>vào ht[i]</p> <p>- Trả về cho chương trình danh sách ht</p> <p>Phương thức LayHeThong:</p> <p>o Ý nghĩa: lấy hệ thống bất kỳ dựa vào sysid nhập vào</p> <p>o Tham số đầu vào:</p> <p>sysID: (kiểu chuỗi) : systemID của hệ thống cần lấy</p> <p>o Kết quả trả về:</p> <p>kq (kiểu CHeThongIR) : hệ thống IR</p> <p>o Mô tả thuật toán:</p> <p>- gọi phương thức LayDSThongTinHeThong =>ht</p> <p>- Duyệt hệ thống ht , xem ht[i] nào có systemID =sysID =>kq</p> <p>Trang 163</p> <p>- Trả về cho chương trình kq</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>p) XL_Index</p> <p>XL_Index</p> <p>String index_Path="result/index" DinhDangIndex DinhDangIndex_topic DinhDangIndex_document LayNoiDungIndex LayNoiDungIdx_Doc LayNoiDungIdx_Topic</p> <p>Sơ đồ lớp:</p> <p>Mô tả:</p> <p>Phương thức “DinhDangIndex”</p> <p>o Ý nghĩa: do cấu trúc của file index tài liệi và index câu hỏi tương tự</p> <p>nhau nên phương thức “DinhDangIndex” sẽ định dạng cùng một kiểu</p> <p>file cấu trúc</p> <p>o Tham số đầu vào:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 fn Kiểu chuỗi Tên file index của hệ thống IR</p> <p>2 newfn Kiểu chuỗi Tên file xml mới</p> <p>3 idx CIndex Định dạng của file index</p> <p>o Kết quả trả về:</p> <p>- Kq: lỗi chương trình : thành công hay thất bại</p> <p>o Mô tả thuật toán:</p> <p>(tương tự định dạng file kết quả)</p> <p>Ghi chú: file index của hệ thống sẽ được chuyển đổi sang file mới có</p> <p>cấu trúc đo chương trình đưa ra như sau: (xem phần “Tổ chức lưu trữ dữ</p> <p>Trang 164</p> <p>liệu” (index ))</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p><MATRIX SIZE = “”></p> <p><INDEX ID=”” SIZE = “”></p> <p><TERM WORD=”” WEIGH=””></p> <p></INDEX></p> <p></MATRIX></p> <p>Mỗi bảng liên quan thực tế của hệ thống sẽ được lưu thành 1 file riêng</p> <p>biệt có tên là “rel_” + sysID + “.xml”</p> <p>- Đọc file xml fn, lấy các nút có tên là idx.ID => Nodes</p> <p>- Tao file xml mới , tạo nút gốc MATRIX, với thuộc tính SIZE là số</p> <p>nút của Nodes</p> <p>• Kiểm</p> <p>- Duyệt tất cả các nút trong Nodes</p> <p>tra xem nút ID có thuộc tính hay không</p> <p>• Nếu có thuộc tính : lấy giá trị của thuộc tính gán vào biến</p> <p>(idx.ThuocTinh_ID==”” ?)</p> <p>• Nếu không có thuộc tính: lấy giá trị của nút ID</p> <p>• Tạo nút “INDEX” và tạo thuộc tính ID có giá trị là nội dung</p> <p>tạm temp</p> <p>• Lấy các nút con của nút ID =>child</p> <p>• Tạo thuộc tính “SIZE” của nút “INDEX” có giá trị là số nút</p> <p>của biến temp</p> <p>• Duyệt tất cả các nút con child:</p> <p>của child</p> <p>- Xem nút nào là idx.Term :</p> <p>- Kiểm tra xem nút Term có thuộc tính hay không</p> <p>(idx.ThuocTinh_Term =”” ?)</p> <p>- Nếu có thuộc tính : lấy giá trị thuộc tính gán váo biến</p> <p>strChild</p> <p>Trang 165</p> <p>- Nếu không lấy giá trị của nút DocID gán váo biến strChild</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>- Tạo nút “TERM” và thuộc tính WORD“” với nội dung là</p> <p>strChild</p> <p>- Xét xem có nút con nào có tên là idx.Weigh</p> <p>- Kiểm tra xem nút Weigh có thuộc tính hay không</p> <p>(idx.ThuocTinh_Weigh =”” ?)</p> <p>- Nếu có thuộc tính : lấy giá trị thuộc tính gán váo biến</p> <p>strChild</p> <p>- Nếu không lấy giá trị của nút Weigh gán váo biến strChild</p> <p>- Tạo thuộc tính “WEIGH” cho nút “TERMM” với nội</p> <p>dung là strChild</p> <p>- Ghi lên file xml mới với tên là newfn => gọi phương thức</p> <p>WriteXML của lớp LT_XML</p> <p>Phương thức “DinhDangIndex_topic”</p> <p>o Ý nghĩa: định dạng file index của câu hỏi</p> <p>o Tham số đầu vào:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 fn Kiểu chuỗi Tên file index của hệ thống IR</p> <p>2 sysId Kiểu chuỗi systemID của hệ thống IR</p> <p>3 idx CIndex Định dạng của file index</p> <p>o Kết quả trả về:</p> <p>- Kq: lỗi chương trình : thành công hay thất bại</p> <p>o Mô tả thuật toán:</p> <p>- file index của câu hỏi được đặt tên theo công thức sau:</p> <p>“idxTopic_" + sysId + ".xml" => newfn</p> <p>- Gọi phương thức “DinhDangIndex” với các tham số đầu vào là fn,</p> <p>newfn , idx</p> <p>Phương thức “DinhDangIndex_document”</p> <p>o Ý nghĩa: định dạng file index của tài liệu</p> <p>Trang 166</p> <p>o Tham số đầu vào:</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 fn Kiểu chuỗi Tên file index của hệ thống IR</p> <p>2 sysId Kiểu chuỗi systemID của hệ thống IR</p> <p>3 idx CIndex Định dạng của file index</p> <p>o Kết quả trả về:</p> <p>- Kq: lỗi chương trình : thành công hay thất bại</p> <p>o Mô tả thuật toán:</p> <p>- file index của câu hỏi được đặt tên theo công thức sau:</p> <p>“idxDocument_" + sysId + ".xml" => newfn</p> <p>- Gọi phương thức “DinhDangIndex” với các tham số đầu vào là fn,</p> <p>newfn , idx</p> <p>Phương thức “LayNoiDungIndex”</p> <p>o Ý nghĩa: do cấu trúc của các tập tin index của tài liệu và câu hỏi</p> <p>tương tự nhau, nên phương thức “LayNoiDungIndex” là dùng chung</p> <p>cho 2 phương thức lấy nội dung riêng cho từng file index tài liệu và</p> <p>câu hỏi</p> <p>o Tham số đầu vào:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 fn Kiểu chuỗi Tên file index của hệ thống IR</p> <p>2 ID Kiểu chuỗi ID của tài liệu hay câu hỏi</p> <p>o Kết quả trả về:</p> <p>- strNoiDung: mảng 2 chiều: ghi nhận nội dung của index gồm 2 trường</p> <p>“WORD” và “TERM”</p> <p>o Mô tả thuật toán:</p> <p>- Đọc file xml fn , lấy các nút có tên là “INDEX” => lst</p> <p>• Lấy thuộc tính “ID” của nút “INDEX” => strId</p> <p>• Kiểm tra xem strId có là ID cần tìm hay không?</p> <p>Trang 167</p> <p>- Duyệt các nút trong lst:</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>• Nếu phải tìm lấy các nút con của nút “INDEX” đó =></p> <p>• Duyệt các nút trong childList</p> <p>childList</p> <p>- Lấy giá trị của thuộc tính ”WORD” nút con gán vào</p> <p>strNoiDung[k][0]</p> <p>- Lấy giá trị của thuộc tính ”WEIGH” nút con gán vào</p> <p>strNoiDung[k][1]</p> <p>- k=k+1;</p> <p>Phương thức “LayNoiDungIdx_Doc”</p> <p>o Ý nghĩa: lấy nội dung của file index tài liệu</p> <p>o Tham số đầu vào:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>sysID Kiểu chuỗi systemID của hệ thống IR 1</p> <p>DocId Kiểu chuỗi ID của tài liệu 2</p> <p>o Kết quả trả về:</p> <p>- strNoiDung: mảng 2 chiều: ghi nhận nội dung của index gồm 2 trường</p> <p>“WORD” và “TERM”</p> <p>o Mô tả thuật toán:</p> <p>- Gọi fn=”idxDocument_" + sysID + ".xml"</p> <p>- Gọi phương thức LayNoiDungIndex với tham số đầu vào là fn,</p> <p>DocId</p> <p>Phương thức LayNoiDungIdx_Topic”</p> <p>o Ý nghĩa: lấy nội dung của file index câu hỏi</p> <p>o Tham số đầu vào:</p> <p>STT Tên Loại kiểu Ý nghĩa</p> <p>1 sysID Kiểu chuỗi systemID của hệ thống IR</p> <p>Trang 168</p> <p>2 TopId Kiểu chuỗi ID của tài liệu</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>o Kết quả trả về:</p> <p>- strNoiDung: mảng 2 chiều: ghi nhận nội dung của index gồm 2 trường</p> <p>“WORD” và “TERM”</p> <p>o Mô tả thuật toán:</p> <p>- Gọi fn=”idxDocument_" + sysID + ".xml"</p> <p>- Gọi phương thức LayNoiDungIndex với tham số đầu vào là fn,</p> <p>DTopId</p> <p>q) XL_DoThi</p> <p>(vẽ đồ thi đường cong RP)</p> <p>3.3.2.7.2. Các lớp đối tượng lưu trữ</p> <p>a) LT_XML:</p> <p>LT_XML</p> <p>ReadXML WriteXML</p> <p>Sơ đồ lớp:</p> <p>Mô tả:</p> <p>Phuơng thức ReadXML:</p> <p>o Ý nghĩa: đọc một file XML bất kỳ</p> <p>o Tham số đầu vào</p> <p>fileName : kiểu chuỗi ; tên file xml cần đọc</p> <p>o Kết quả trả về:</p> <p>Kq: kiểu số nguyên cho biết đọc file thành công hay thất bại</p> <p>o Mô tả thuật toán</p> <p>- Đọc file xml có tên là fileName</p> <p>- Trả kết quả đọc về cho chương trình</p> <p>Phương thức WriteXML:</p> <p>Trang 169</p> <p>o Ý nghĩa: ghi lên file xml bất kỳ</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>o Tham số đầu vào</p> <p>fn : kiểu chuỗi ; tên file cần ghi</p> <p>Doc : Document ; nội dung các node của file xml mới cần tạo</p> <p>o Kết quả trả về:</p> <p>Kq: kiểu số nguyên cho biết ghi file thành công hay thất bại</p> <p>o Mô tả thuật toán</p> <p>- ghi nội dung các node của file xml mới</p> <p>- trả kết quả về cho chương trình</p> <p>b ) LT_Text:</p> <p>LT_Text</p> <p>WriteText</p> <p>Sơ đồ lớp:</p> <p>Mô tả:</p> <p>Phương thức WriteText:</p> <p>o Ý nghĩa: cho phép ghi một chuỗi lên file dạng text => dùng để tạo</p> <p>file text khi chuyển định dạng từ file xml sang file text</p> <p>o Tham số đầu vào:</p> <p>fn: kiểu chuỗi ; là tên file text cần tạo</p> <p>strNoiDung: kiểu chuỗi; là nội dung cần ghi lên file</p> <p>o Kết quả trả về:</p> <p>Kq : kiểu số nguyên : thông báo cho chương trình biết là tạo file</p> <p>thành công hay thất bại</p> <p>o Mô tả thuật toán:</p> <p>- Ghi strNoiDung vào file mới tạo.</p> <p>Trang 170</p> <p>- Tạo mới file với tên file là fn</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <h4>Chương 4 : KẾT QUẢ ĐÁNH GIÁ</h4> <p>4.1. Ngưỡng đánh giá</p> <p>Để thực hiện đánh giá hệ thống tìm kiếm thông tin chương trình xây dựng bảng</p> <p>đánh giá chuẩn. Bảng đánh giá chuẩn này được thực hiện dựa trên phương pháp</p> <p>pooling với chiều dài pool là 50 tài liệu liên quan đầu.</p> <p>Chương trình thực hiện đánh giá hai hệ thống search4VN và Lucene lần lượt</p> <p>tại các ngưỡng đánh giá là 50,100,1000. Sau đó tiến hành so sánh hai hệ thống</p> <p>trên.</p> <p>Để đánh giá độ tin cậy và khả năng tìm kiếm thông tin của hệ thống ta tiến</p> <p>hành tính độ bao phủ và độ chính xác cho từng câu truy vấn, và tính độ bao phủ và</p> <p>độ chính xác của hệ thống (chính là độ bao phủ và độ chính xác trung bình). Sau</p> <p>đó tiến hành đánh giá dựa trên đường cong chuẩn RP .</p> <p>4.2. Đánh giá hệ thống tìm kiếm thông tin search4VN</p> <p>Đánh giá hệ thống search4VN ở các ngưỡng 50, 100 , 1000</p> <p>STT Ngưỡng c=50 Ngưỡng c=100 Ngưỡng c=1000</p> <p>Câu Recall Precision Recall Precision Recall Precision</p> <p>truy (Ri) P(i) (Ri) P(i) (Ri) P(i)</p> <p>vấn</p> <p>1 0.66 0.66 0.82 0.41 0.86 0.043</p> <p>2 0.56 0.56 0.7 0.35 0.88 0.06128</p> <p>3 0.46 0.46 0.64 0.32 0.82 0.041</p> <p>4 0.58 0.58 0.76 0.38 0.88 0.044</p> <p>5 0.56 0.56 0.82 0.41 0.9 0.045</p> <p>6 0.62 0.62 0.76 0.38 0.88 0.184874</p> <p>7 0.28 0.28 0.42 0.21 0.8 0.04</p> <p>Trang 171</p> <p>8 0.46 0.46 0.48 0.24 0.86 0.06636</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>9 0.56 0.56 0.78 0.39 0.84 0.042</p> <p>10 0.36 0.36 0.46 0.23 0.8 0.04</p> <p>11 0.18 0.18 0.36 0.18 0.7 0.035</p> <p>12 0.48 0.48 0.64 0.32 0.88 0.044</p> <p>13 0.36 0.36 0.48 0.24 0.82 0.041</p> <p>14 0.52 0.52 0.7 0.35 0.82 0.041</p> <p>15 0.42 0.42 0.6 0.3 0.84 0.042</p> <p>16 0.34 0.34 0.62 0.31 0.84 0.042</p> <p>0.09224 17 0.44 0.44 0.68 0.34 0.88</p> <p>0.487804 0.341463</p> <p>9 42 0.80488 0.196429 0.2 0.28 18</p> <p>19 0.34 0.34 0.38 0.19 0.8 0.04</p> <p>20 0.6 0.6 0.84 0.42 0.86 0.043</p> <p>21 0.4 0.4 0.62 0.31 0.82 0.041</p> <p>22 0.52 0.52 0.68 0.34 0.88 0.044</p> <p>23 0.42 0.42 0.74 0.37 0.92 0.055355</p> <p>24 0.34 0.34 0.4 0.2 0.82 0.041</p> <p>25 0.56 0.56 0.6 0.3 0.86 0.043</p> <p>26 0.5 0.5 0.6 0.3 0.84 0.042</p> <p>27 0.54 0.54 0.68 0.34 0.84 0.042</p> <p>28 0.18 0.18 0.22 0.11 0.72 0.036</p> <p>29 0.56 0.56 0.7 0.35 0.86 0.043</p> <p>30 0.54 0.54 0.74 0.37 1.0 0.05</p> <p>31 0.36 0.36 0.58 0.29 0.76 0.038</p> <p>32 0.5 0.5 0.64 0.32 0.82 0.041</p> <p>33 0.38 0.38 0.74 0.37 0.78 0.039</p> <p>34 0.54 0.54 0.7 0.35 0.82 0.041</p> <p>Trang 172</p> <p>35 0.5 0.5 0.64 0.32 0.84 0.042</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>36 0.2 0.2 0.28 0.14 0.88 0.044</p> <p>37 0.62 0.62 0.74 0.37 0.86 0.043</p> <p>38 0.48 0.48 0.62 0.31 0.86 0.064</p> <p>39 0.34 0.34 0.46 0.23 0.8 0.04</p> <p>40 0.32 0.32 0.48 0.24 0.76 0.038</p> <p>41 0.46 0.46 0.72 0.36 0.82 0.051638</p> <p>42 0.3 0.3 0.74 0.37 0.8 0.09195</p> <p>43 0.68 0.68 0.8 0.4 0.82 0.041</p> <p>44 0.36 0.36 0.46 0.23 0.74 0.037</p> <p>45 0.46 0.46 0.76 0.38 0.82 0.041</p> <p>46 0.5 0.5 0.6 0.3 0.84 0.042</p> <p>47 0.28 0.28 0.42 0.21 0.74 0.037</p> <p>48 0.48 0.48 0.8 0.4 0.86 0.043</p> <p>49 0.22 0.22 0.24 0.12 0.76 0.038</p> <p>50 0.48 0.48 0.66 0.33 0.78 0.039</p> <p>51 0.48 0.48 0.66 0.33 0.84 0.042</p> <p>52 0.6 0.6 0.66 0.33 0.86 0.043</p> <p>53 0.52 0.52 0.74 0.37 0.88 0.044</p> <p>54 0.64 0.64 0.7 0.35 0.88 0.079855</p> <p>55 0.72 0.72 0.82 0.41 0.9 0.045</p> <p>56 0.38 0.38 0.58 0.29 0.86 0.043</p> <p>57 0.46 0.46 0.66 0.33 0.86 0.043</p> <p>58 0.2 0.2 0.34 0.17 0.88 0.0538</p> <p>59 0.5 0.5 0.74 0.37 0.88 0.044</p> <p>60 0.22 0.22 0.38 0.19 0.78 0.039</p> <p>61 0.6 0.6 0.72 0.36 0.88 0.044</p> <p>62 0.2 0.2 0.36 0.18 0.58 0.029</p> <p>Trang 173</p> <p>63 0.5 0.5 0.72 0.36 0.9 0.045</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>N</p> <p>N</p> <p>N</p> <p>N</p> <p>N</p> <p>N</p> <p>i∑ R</p> <p>i∑ P</p> <p>i∑ R</p> <p>i∑ P</p> <p>i∑ R</p> <p>i∑ P</p> <p>i</p> <p>i</p> <p>i</p> <p>i</p> <p>i</p> <p>i</p> <p>64 0.7 0.7 0.78 0.39 0.86 0.043</p> <p>=1 N</p> <p>=1 N</p> <p>=1 N</p> <p>=1 N</p> <p>=1 N</p> <p>=1 N</p> <p>R= P= R= P= R= P=</p> <p>=0.45096 =0.44999 =0.61480 =0.306718 =0.83320 =0.049851</p> <p>034 996 95 77 14 24</p> <p>Nhận xét:</p> <p>(cid:153) Với ngưỡng đánh giá là 50</p> <p>Do chiều dài pool là 50 bằng với ngưỡng đánh giá nên độ bao phủ và độ</p> <p>chính xác bằng nhau .</p> <p>Xét câu hỏi thứ 18: do số tài liệu liên quan thực sự khi lấy phần giao 2</p> <p>hệ thống nhỏ hơn chiều dài pool 50 nên khi dùng phương pháp pooling với</p> <p>chiều dài pool l12 50 thì số tài liệu liên quan theo lý thuyết sẽ nhỏ hơn</p> <p>chiều dài pool (50) và thực tế là chỉ có 41 tài liệu liên quan theo lý thuyết</p> <p>trong khi đó số tài liệu trả về là 50 vì ngưỡng đánh giá là 50 nên độ chính</p> <p>xác nhỏ hơn độ bao phủ.</p> <p>(cid:153) Với ngưỡng đánh giá là 100</p> <p>Do ngưỡng đánh giá (số tài liệu trả về ) gấp đôi chiều dài pool (số tài</p> <p>liệu liên quan theo lý thuyết) nên độ bao phủ gần như lớn gấp đôi độ chính</p> <p>xác.</p> <p>(cid:153) Với ngưỡng đánh giá là 1000:</p> <p>Do ngưỡng đánh giá lớn tức là số tài liệu hệ thống search4VN trả về lớn</p> <p>(1000) tài liệu nên độ chính xác so với độ chính xác khác ở ngưỡng 50 và</p> <p>100.</p> <p>(cid:153) Với cùng câu hỏi:</p> <p>Cùng một câu hỏi nếu ngưỡng đánh giá càng cao (có nghĩa là số tài trả</p> <p>về của hệ thống tìm kiếm bên ngoài tăng), nên số tài liệu liên quan được trả</p> <p>về có thể sẽ tăng nên độ bao phủ của ngưỡng đánh giá cao sẽ cao hơn độ</p> <p>Trang 174</p> <p>chính xác.</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>Tính toán độ chính xác tại 11 điểm chuẩn của độ bao phủ:</p> <p>R P (c=50) P (c=100) P (c=1000)</p> <p>0.0 0.92311794 0.9234109 0.9234109</p> <p>0.1 0.7882654 0.78855836 0.78855836</p> <p>0.2 0.69403636 0.6889597 0.6889597</p> <p>0.3 0.63090414 0.6179958 0.6106299</p> <p>0.4 0.5820023 0.55077547 0.53635085</p> <p>0.5 0.5450672 0.49265072 0.46107948</p> <p>0.6 0.5310865 0.4223546 0.3832133</p> <p>0.7 0.5289436 0.39856696 0.29289013</p> <p>0.8 0.5289436 0.39096713 0.1897545</p> <p>0.9 0.5289436 0.39096713 0.18582451</p> <p>1.0 0.5289436 0.39096713 0.18582451</p> <p>Nhận xét :</p> <p>Nếu càng tăng ngưỡng đánh giá độ chính xác giảm do số tài liệu trả về tăng</p> <p>mà số tài liệu liên quan được trả về tăng không đáng kể.</p> <p>Trang 175</p> <p>Đường cong RP của hệ thống search4VN như sau:</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>c= 50</p> <p>Trang 176</p> <p>c=100</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>c=1000</p> <p>4.3. So sánh hệ thống tìm kiếm search4VN và hệ thống Lucene</p> <p>So sánh hệ thống search4VN và Lucene ở các ngưỡng 50, 1000</p> <p>c=50 c=1000</p> <p>R P (searchVN) P (Lucene) P (searchVN) P (Lucene)</p> <p>0.0 0.92311794 0.9883535 0.9234109 0.9883535</p> <p>0.1 0.7882654 0.9370161 0.78855836 0.9370161</p> <p>0.2 0.69403636 0.8891043 0.6889597 0.88669646</p> <p>0.3 0.63090414 0.8682885 0.6106299 0.86513025</p> <p>0.4 0.5820023 0.8526954 0.53635085 0.8495781</p> <p>0.5 0.5450672 0.8452069 0.46107948 0.84239674</p> <p>0.6 0.5310865 0.8401279 0.3832133 0.83736676</p> <p>0.7 0.5289436 0.83058465 0.29289013 0.828869</p> <p>Trang 177</p> <p>0.8 0.5289436 0.8242704 0.1897545 0.77039164</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>0.5289436 0.8242704 0.18582451 0.29168567 0.9</p> <p>0.5289436 0.8242704 0.18582451 0.29168567 1.0</p> <p>c=50</p> <p>c=1000</p> <p>Nhận xét : ta thấy đồ thị của search4VN nằm dưới đồ thị Lucene nên hệ</p> <p>Trang 178</p> <p>thống search4VN có hiệu suất thực thi thấp hơn so với hệ thống Lucene</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>4.4. Nhận xét chương trình hỗ trợ đánh giá hệ thống tìm kiếm thông</p> <p>tin</p> <p>4.4.1. Ưu điểm</p> <p>• Có thể đánh giá được các hệ thống tiếng Anh và Tiếng Việt • Không phụ thuộc vào cấu trúc định dạng của bộ ngữ liệu dùng để đánh</p> <p>giá</p> <p>• So sánh được các hệ thống tìm kiếm • Đánh giá các hệ thống tìm kiếm dựa trên đường cong RP trực quan dễ</p> <p>hiểu</p> <p>• Mặc dù hạn chế về đặc thù của ngôn ngữ tiếng Việt với các ngôn ngữ</p> <p>khác. Ví dụ tiếng Việt là loại hình đơn lập phi hình thái, còn tiếng Anh</p> <p>là loại hình biến cách hay còn gọi là loại hình khuất chiết trong đó xác</p> <p>định ranh giới từ không phải dựa vào khoảng trắng như các thứ tiếng</p> <p>biến hình khác, nhưng chúng tôi đã giải quyết được vấn đề này bằng</p> <p>cách chuẩn hóa lại từ tiếng Việt để các hệ thống tìm kiếm tiếng Anh có</p> <p>thể hiểu được ranh giới từ tiếng Việt và tìm kiếm được với tiếng Việt.</p> <p>4.4.2. Khuyết điểm</p> <p>Hệ thống trợ giúp đánh giá thật sự cho kết quả đáng tin cậy khi bảng đánh</p> <p>giá liên quan chuẩn chính xác và khách quan. Do đó đánh giá hệ thống trợ giúp</p> <p>đánh giá phụ thuộc vào bảng đánh giá liên quan chuẩn</p> <p>Tiếng Việt là một ngôn ngữ có dấu nên việc mã hoá Tiếng Việt cũng gây</p> <p>nhiều khó khăn trong việc lập chỉ mục của các hệ thống tim kiếm tiếng Anh</p> <p>với kho ngữ liệu là tiếng Việt.</p> <p>Do đó việc chạy các hệ thống tìm kiếm thông tin vốn chỉ dành cho tiếng</p> <p>Anh không thể tiến hành cho Tiếng Việt. Trong luận văn này, chúng tôi đã</p> <p>nghiên cứu các hệ thống tìm kiếm thông tin tiếng Anh như SMART, IOTA,</p> <p>Trang 179</p> <p>TERRIER, LUCENE và đã gặp rất nhiều khó khăn với việc lập chỉ mục cho</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <p>kho ngữ liệu Tiếng Việt mặc dù chúng tôi đã cố gắng hết sức chỉnh sửa mã</p> <p>nguồn cho tất cả các hệ thống này. Nhưng cuối cùng, chỉ có hệ thống LUCENE</p> <p>có thể tìm kiếm được với Tiếng Việt. Bảng đánh giá liên quan chuẩn được trích</p> <p>ra từ phần giao của hai hệ thống LUCENE và Search4VN. Vì vậy bảng đánh</p> <p>giá liên quan chuẩn lúc đầu có một số chỗ chưa chính xác do có ít hệ thống tìm</p> <p>kiếm thông tin tiếng Việt. Chúng tôi đã cố gắng khắc phục vấn đề này bằng</p> <p>cách xem lại bảng liên quan chuẩn bằng thủ công và lấy ra những tài liệu nào</p> <p>thật sự liên quan đến câu hỏi nhất để hoàn thiện bảng này. Cách làm này chỉ là</p> <p>giải pháp tạm thời cho bộ ngữ liệu dùng để đánh giá hiện tại của chúng tôi.</p> <p>Nếu có nhu cầu phát triển thêm bộ ngữ liệu dùng để đánh giá, các bạn nên xây</p> <p>dựng thêm bảng đánh giá này bằng cách chạy nhiều hệ thống tìm kiếm thông</p> <p>Trang 180</p> <p>tin tiếng Việt hơn mà không cần thay đổi gì về mô hình của hệ thống.</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <h4>Chương 5 : KẾT LUẬN</h4> <p>Công tác đánh giá (evaluation) một mô hình, một hệ thống nói chung cũng</p> <p>quan trọng không kém so với việc xây dựng một mô hình hay một hệ thống.</p> <p>Đề tài của chúng tôi nhằm tự động hoá công tác đánh giá các hệ thống tìm</p> <p>kiếm thông tin (IR systems). Với việc tự động hoá đó, chúng ta có thể đánh giá</p> <p>một cách nhanh chóng, chính xác và quan trọng là khách quan khả năng và</p> <p>hiệu suất tìm kiếm của các hệ thống tìm kiếm thông tin.Nhờ sự đánh giá đó,</p> <p>những người xây dựng hệ thống IR có được sự phản hồi (feedback) nhanh</p> <p>chóng kịp thời, để họ kịp điều chỉnh (setting) lại mô hình, phương pháp mà</p> <p>họ vừa cài đặt, thử nghiệm cho một hệ thống IR. Chính nhờ sự điều chỉnh kịp</p> <p>thời và phù hợp các thông số của mô hình trên chính hệ thống IR đó, từ đó họ</p> <p>mới có thể đưa đến một hệ thống IR tối ưu (optimal IR system).</p> <p>Nhờ có sự đánh giá kịp thời và nhanh chóng như vậy mà các nhà xây dựng hệ</p> <p>thống IR sẽ được khích lệ về mặt tinh thần, tiết kiệm về mặt thời gian, công</p> <p>sức, thay vì phải đợi một thời gian dài chờ đợi sự đánh giá bằng phương pháp</p> <p>thủ công như trước đây (phải để cho nhiều người sử dụng trong thời gian dài</p> <p>rồi mới nhận được ý kiến phản hồi từ phía người sử dụng, các ý kiến này có thể</p> <p>chính xác mà cũng có thể là chủ quan). Từ đó, họ càng có tinh thần, thời gian</p> <p>và công sức để đầu tư vào việc cải thiện mô hình/phương pháp của mình được</p> <p>nhiều hơn.</p> <p>Việc đánh giá này là để biết được điểm mạnh, điểm yếu của từng hệ thống IR</p> <p>mà từ đó ta chọn ra được hệ thống IR tối ưu phục vụ cho nhu cầu tìm kiếm</p> <p>thông tin một cách có hiệu quả.</p> <p>Chúng tôi hy vọng đề tài này sẽ là một đóng góp nhỏ có ý nghĩa cho việc</p> <p>Trang 181</p> <p>nghiên cứu về lĩnh vực tìm kiếm thông tin.</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <h4>Chương 6 : HƯỚNG PHÁT TRIỂN</h4> <p>Việc nghiên cứu đánh giá các hệ thống tìm kiếm thông tin rất đa dạng với</p> <p>nhiều phương pháp, mô hình đánh giá khác nhau. Những mô hình, phương pháp</p> <p>này đang được tiếp tục nghiên cứu, bàn luận trên thế giới.</p> <p>Trên cơ sở những phần đã nghiên cứu và thực hiện, đề tài của chúng tôi có các</p> <p>hướng phát triển sau :</p> <p>Hướng phát triển về mô hình đánh giá tổng quát: mô hình đánh giá</p> <p>hướng người dùng.</p> <p>Hướng phát triển về phương pháp xây dựng bộ ngữ liệu dùng để đánh</p> <p>giá, đặc biệt trong phương pháp xây dựng bảng đánh giá liên quan</p> <p>chuẩn nhằm tạo ra bảng đánh giá khách quan và chính xác.</p> <p>Hướng phát triển về phương pháp đánh giá: Ngoài cách đánh giá dựa</p> <p>vào 11 điểm chuẩn của độ bao phủ, đề tài có thể phát triển thêm các</p> <p>phương pháp đánh giá khác như phương pháp đánh giá dựa trên độ</p> <p>chính xác trung bình nghiêm ngặt (Mean Average Precision – MAP), đo</p> <p>dựa trên giá trị đơn Swet’s E-Measure (Single-valued Measure) hoặc</p> <p>Trang 182</p> <p>chiều dài tìm kiếm trung bình.</p> <h4>Luận văn : Đánh giá các hệ thống tìm kiếm thông tin</h4> <h4>PHỤ LỤC</h4> <p>1. Câu hỏi mẫu:</p> <p><TOPIC></p> <p><TOP></p> <p><TOPID>1</TOPID></p> <p><TITLE>kinh tế tri thức

nền kinh tế tri thức là gì, ý nghĩa của nền kinh tế tri thức, tình

hình xây dựng nền kinh tế tri thức?

Các tài liệu liên quan phải có định nghĩa và ý nghĩa của

kinh tế tri thức,các yếu tố hình thành nền kinh tế tri thức, nhu cầu

xây dựng nền kinh tế tri thức tại Việt Nam, tình hình nền kinh tế tri

thức tại Việt Nam

2

vụ án tham nhũng lớn

thông tin về các vụ án tham nhũng lớn

Các tài liệu liên quan phải chứa thông tin về các vụ án

tham nhũng lớn,các tội danh liên quan như nhận hối lộ, biển thủ

công quỹ, nguyên nhân và hậu quả của tham nhũng, ý kiến của nhân

dân và báo chí, các biện pháp chống tham nhũng trong bộ máy công

quyền

3

an toàn giao thông tại Việt Nam

Trang 183

vấn đề an toàn giao thông tại Việt Nam

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Các tài liệu liên quan phải nói về tình hình an toàn giao

thông tại Việt Nam gồm có các chính sách của chính phủ về an toàn

giao thông, tình trạng vi phạm trật tự an toàn giao thông, ùn tắc giao thông ,tai nạn giao thông

2. Tài liệu mẫu

1

Thanh niên VN: động lực cho những ý tưởng mới, tầm</p> <p>nhìn mới

Tác giả :Đ.Bình

Ngày :01/12/2000

Tên tờ báo : Tuổi trẻ

Số báo : 155/2000

Thể loại :

Trang : trang 1, 14

Thanh niên VN: động lực cho những ý tưởng mới,

tầm nhìn mới.

(TT-Hà Nội) - Tại lễ khai mạc Diễn đàn thanh niên (TN) VN với chủ

đề “Sẵn sàng cho thế kỷ 21” sáng 30-11 tại Hà Nội (do Hội Liên

hiệp TN VN phối hợp với các cơ quan LHQ tại VN tổ chức), ông

Edouard Wattez, điều phối viên thường trú LHQ tại VN, đã nhấn

mạnh: “Với 60% dân số ở độ tuổi dưới 30, VN thật sự là một đất

nước trẻ. Đây là một thời điểm khá đặc biệt trong lịch sử đất nước

các bạn - thời điểm của hòa bình và đổi mới, thời điểm của VN đã

bắt đầu mở cửa với thế giới và tiến hành hiện đại hóa, thời điểm của

Trang 184

VN có vai trò to lớn trong các hội nghị toàn cầu, trong các tổ chức

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

quốc tế và vai trò của VN ngày càng trở nên quan trọng hơn. TN VN

có vai trò quan trọng trong quá trình mở cửa với thế giới....

Đ. Bình

3. Bảng đánh giá liên quan chuẩn

Bảng đánh giá liên quan chuẩn gồm hai thành phần chính: câu hỏi và các tài

liệu liên quan thật sự của câu hỏi đó.

Cấu trúc DTD của file chứa bảng đánh giá liên quan chuẩn được tổ chức như

sau:

Diễn giải:

: chỉ số của topic

: chỉ số của tài liệu có liên quan với câu hỏi có chỉ số là TOPID

Ví dụ một phần bảng đánh giá liên quan chuẩn:

10456

3407

6689

1582

12854

Trang 185

2476

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

Tài liệu tham khảo

[ 1 ] Ricardo Beaza-Yates & Berthier Ribeiro-Neto, Modern Information

Retrieval, Addison Press, Anh, 1999. [ 2 ] Wessel Kraaij, Variations on Language Modeling for Information Retrieval,

Thesis Enschede, Print Partners Ipskamp, Enschede, 2004. [ 3 ] Mei-Mei Wu & Danie H. SonnenWald, Reflections on Information Retrieval

Evaluation, Hội nghị TREC, 2004. [ 4 ] F C Johnson, J R Griffiths, R J Hartley, A framework for the evaluation of

Internet search engines, The Council of Museums, Archives and Libraries, Anh,

2001. [ 5 ] Van Rijsbergen C.J., Information Retrieval, Tái bản lần 2, ButterWorths,

Luân Đôn, 1979, Chương 7 có tại

[ 6 ] Gerard Salton, Micheal J. McGrill, Introduction to Modern Information

http://www.dcs.gla.ac.uk/Keith/Chapter.7/Ch7.html

Retrieval, International Student Edition, New York, 1983. [ 7 ] Pia Borlund , The IIR evaluation model: a framework for evaluation of

interactive information retrieval systems, Information Research, 2003. [ 8 ] Hội nghị TREC : http://trec.nist.gov [9 ] Ellen M. Voorhees, Overview of TREC 2003, National Institute of Standards

and Technology, 2003. [ 10 ] Đinh Điền, giáo trình Xử lý Ngôn ngữ Tự nhiên, Đại học Khoa học Tự nhiên

Tp. Hồ Chí Minh, 2004. [ 11 ] Nguyễn Văn Tu, Từ và vốn từ tiếng Việt hiện đại, NXB Đại học & THCN,

Hà Nội , 1978. [ 12 ] Địa chỉ ftp của SMART : ftp://ftp.cs.cornell.edu/pub/smart/ [ 13 ] Jean-Pierre Chevallet, XIOTA: An open XML framework for IR

[ 14 ] Địa chỉ trang Web của Terrier : http://ir.dcs.gla.ac.uk/terrier/

Trang 186

Experimentation, Hội nghị CLEF, 2004.

Luận văn : Đánh giá các hệ thống tìm kiếm thông tin

[ 15 ] Địa chỉ trang Web của Lucene : http://lucene.apache.org/java/docs/index.html

Trang 187