Vì vậy mục tiêu của luận văn này nhằm tìm hiểu một số giải pháp tìm kiếm thông tin, cụ thể ở đây là tìm kiếm văn bản theo nội dung trong một cơ sở dữ liệu nhằm đánh giá sự tương đồng về
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG
***
TRƯƠNG THỊ QUỲNH HƯƠNG
XÂY DỰNG GIẢI PHÁP ĐỂ THIẾT KẾ CÔNG CỤ ĐÁNH GIÁ SỰ TƯƠNG ĐỒNG VỀ NỘI DUNG CỦA HAI TÀI LIỆU
VĂN BẢN TIẾNG VIỆT
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Đồng Nai – 2013
Trang 2TRƯỜNG ĐẠI HỌC LẠC HỒNG
***
TRƯƠNG THỊ QUỲNH HƯƠNG
XÂY DỰNG GIẢI PHÁP ĐỂ THIẾT KẾ CÔNG CỤ ĐÁNH GIÁ SỰ TƯƠNG ĐỒNG VỀ NỘI DUNG CỦA HAI TÀI LIỆU
VĂN BẢN TIẾNG VIỆT
Chuyên ngành: CÔNG NGHỆ THÔNG TIN
Mã số: 60.48.01
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC
Đồng Nai – 2013
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là kết quả công trình nghiên cứu của bản thân, không sao chép của người khác Các số liệu, kết quả trình bày trong luận văn này
là trung thực Tất cả những tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp
Tôi xin chịu hoàn toàn trách nhiệm cho lời cam đoan của mình
Học viên
Trương Thị Quỳnh Hương
Trang 4LỜI CẢM ƠN
Em xin bày tỏ lòng thành kính và biết ơn sâu sắc đến thầy PGS.TS.Trần Văn Lăng đã nhiệt tình hướng dẫn, chỉ bảo em trong suốt quá trình thực hiện luận văn này
Em xin chân thành cảm ơn Quý thầy cô Khoa Công nghệ thông tin trường Đại học Lạc Hồng đã tạo điều kiện thuận lợi cho em trong suốt thời gian học tập
và nghiên cứu tại trường
Xin cảm ơn các anh chị em, bạn bè, đồng nghiệp đã giúp đỡ và động viên rất nhiều trong quá trình em thực hiện luận văn này
Xin cảm ơn cha mẹ, anh chị em và những người thân đã và luôn là chỗ dựa tinh thần, là nguồn động lực to lớn để em vượt qua những khó khăn trong quá trình thực hiện luận văn này
Xin chân thành cảm ơn!
Đồng Nai, ngày 2 tháng 12 năm 2013
Học viên
Trương Thị Quỳnh Hương
Trang 5MỤC LỤC LỜI CAM ĐOAN
LỜI CẢM ƠN
MỤC LỤC
DANH MỤC HÌNH
DANH MỤC BẢNG
DANH MỤC CÁC TỪ VIẾT TẮT
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN 3
1.1 Giới thiệu hệ tìm kiếm thông tin 3
1.1.1 Kỹ thuật tìm kiếm thông tin 3
1.1.2 Một số vấn đề trong tìm kiếm thông tin 4
1.1.3 Hệ thống tìm kiếm thông tin – IRS 5
1.2 Sự khác biệt giữa các hệ thống IR và các hệ thống thông tin khác 11
1.3 Các hệ tìm kiếm văn bản thường được sử dụng hiện nay 13
CHƯƠNG 2: MỘT SỐ KỸ THUẬT TÌM KIẾM VÀ SO SÁNH VĂN BẢN THEO NỘI DUNG 15
2.1 Các truy vấn Boolean và chỉ mục tài liệu 15
2.1.1 Truy vấn Boolean 15
2.1.2 Cấu trúc tệp 16
2.1.3 Các từ dừng và từ gốc 18
2.1.4 Chỉ số hoá và bổ sung 19
2.1.5 Kỹ thuật nén chỉ số (index compression) 21
2.1.6 Chỉ mục tự động 23
2.2 Thước đo hiệu năng 25
Trang 62.3 Mô hình truy tìm không gian vectơ 29
2.4 Mô hình truy tìm theo xác suất 31
2.5 Mô hình truy tìm trên cơ sở cụm 32
2.6 Kỹ thuật phản hồi phù hợp 33
2.7 Mô hình LSI (Latent semantic indexing) 35
2.7.1 Ý tưởng cơ bản của LSI 35
2.7.2 Một số khái niệm cơ bản 37
2.7.3 Kỹ thuật SVD (singular value decomposition) 39
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỰC NGHIỆM 51
3.1 Giới thiệu bài toán 51
3.2 Chức năng chương trình 52
3.3 Quy trình phát triển ứng dụng 52
3.3.1 Xây dựng ma trận Term – Doc 52
3.3.2 Lập chỉ mục tài liệu 52
3.3.3 Xây dựng ma trận trọng số 53
3.3.4 Phương pháp LSI 53
4.2 Cài đặt thử nghiệm 54
4.3 Hoạt động cơ bản của chương trình 54
KẾT LUẬN 56 TÀI LIỆU THAM KHẢO
Trang 7DANH MỤC HÌNH
Hình 1.1 Mô hình tổng quát tìm kiếm thông tin 6
Hình 1.2 Tiến trình truy vấn tài liệu cơ sở 8
Hình 1.3 Mô hình kiến trúc của hệ tìm kiếm thông tin 9
Hình 1.4 Cấu trúc hệ tìm kiếm thông tin tiêu biểu 10
Hình 2.1 Sơ đồ duy trì các chỉ số trong tập hợp động 20
Hình 2.2 Mô tả recall 26
Hình 2.3 Mô tả Precision 27
Hình 2.4 Đồ thị so sánh hiệu năng 28
Hình 2.5 Sử dụng các khái niệm cho truy vấn 35
Hình 2.6 Biểu đồ 2-D của 12 thuật ngữ và 9 tài liệu từ tập mẫu 41
Hình 2.7 Sơ đồ SVD của một ma trận hình chữ nhật thuật ngữ- tài liệu 42
Hình 2.8 Sơ đồ của SVD được giảm lược của một ma trận thuật ngữ-tài liệu 44
Hình 2.9 Đồ thị Recall - Precision của thuật toán LSI 50
Hình 3.1 Giao diện chính của chương trình 54
Hình 3.2 Giao diện chức năng cấu hình 55
Hình 3.3 Giao diện tìm kiếm theo mô hình LSI 55
Trang 8DANH MỤC BẢNG
Bảng 1.1: So sánh IRS với các hệ thống thông tin khác 13 Bảng 2.1 Kết quả recall và precision 29 Bảng 2.2 Số lần xuất hiện của thuật ngữ trong mỗi tài liệu 40
Trang 9Latent Semantic Indexing Question Anser System Singular Value Decomposition
Hệ quản trị cơ sở dữ liệu
Hệ hỗ trợ ra quyết định
Hệ quản lý thông tin Truy tìm thông tin Chỉ số hóa ngữ nghĩa ẩn
Hệ trả lời câu hỏi
Kỹ thuật tách giá trị đơn
Trang 10MỞ ĐẦU
Đặt vấn đề
Ngày nay máy tính đã được sử dụng trong mọi lĩnh vực của đời sống, vì vậy kho thông tin trong máy tính tăng trưởng không ngừng và thật khó khăn cho công tác tìm kiếm (nhất là tìm kiếm trên các file văn bản) Chính vì thế cần có các hệ thống tìm kiếm thông tin (Information Retrieval) hỗ trợ người dùng tìm kiếm một cách chính xác và nhanh chóng các thông tin mà họ cần trên kho tư liệu khổng lồ này
Hiện nay có một số hệ thống tìm kiếm như GoogleDesktop, DTSearch, Lucene, tuy nhiên các hệ thống này sử dung các kỹ thuật tìm kiếm đơn giản nên hiệu quả còn chưa cao Vì vậy mục tiêu của luận văn này nhằm tìm hiểu một số giải pháp tìm kiếm thông tin, cụ thể ở đây là tìm kiếm văn bản theo nội dung trong một cơ sở
dữ liệu nhằm đánh giá sự tương đồng về nội dung của hai tài liệu văn bản tiếng Việt
Mục đích của luận văn
Mục đích của luận văn là nghiên cứu các phương pháp tìm kiếm văn bản và tìm cách ứng dụng mô hình mô hình LSI (Latent semantic indexing) để giải quyết bài toán này Trên cơ sở đó thiết kế công cụ đánh giá sự tương đồng về nội dung của hai tài liệu văn bản tiếng Việt
Phương pháp nghiên cứu
Để thực hiện đề tài này, đầu tiên cần nghiên cứu tổng quan tình hình trong và ngoài nước về vấn đề tìm kiếm tài liệu Sau khi đã có cái nhìn tổng quan về hiện trạng giải quyết vấn đề này thì lựa chọn hướng giải quyết hợp lý nhất và đi vào nghiên cứu các
lý thuyết chuyên sâu Trong đề tài này cần nghiên cứu các thuật toán tìm kiếm và so sánh mẫu văn bản theo nội dung, lập chỉ mục tài liệu và tìm kiếm không gian vector Sau khi nắm rõ các cơ sở lý thuyết đề tài sẽ xây dựng một chương trình để thử nghiệm đánh giá tính đúng đắn của các lý thuyết đã nêu
Nội dung của luận văn
Trang 11Cấu trúc luận văn gồm phần mở đầu, kết luận,tài liệu tham khảo và phần nội dung gồm
ba chương và được trình bày theo thứ tự sau:
Chương 3: XÂY DỰNG CHƯƠNG TRÌNH THỰC NGHIỆM
Chương này phát triển chương trình thử nghiệm áp dụng kỹ thuật chỉ mục và kỹ
thuật tìm kiếm văn bản theo nội dung
Trang 12CHƯƠNG 1: TỔNG QUAN
1.1 Giới thiệu hệ tìm kiếm thông tin (Đặng Văn Đức, 2004, Chương 1)
1.1.1 Kỹ thuật tìm kiếm thông tin
Kỹ thuật truy vấn tài liệu văn bản được gọi chung là kỹ thuật tìm kiếm thông
tin (IR – Information Retrieval) Kỹ thuật IR trong hệ thống đa phương tiện rất quan
trọng vì hai lý do chính sau đây:
• Đang tồn tại số lượng lớn tài liệu văn bản trong các thư viện Mà văn bản là tài nguyên rất quan trọng đối với các cơ quan tổ chức Do đó cần có IR đủ tốt để sử dụng có hiệu quả các thông tin lưu trữ trong các tài liệu
• Văn bản được sử dụng để mô tả các media khác như video, audio, ảnh để có thể sử dụng các kỹ thuật IR qui ước vào việc truy vấn các thông tin đa phương tiện
Hai nhiệm vụ chính của thiết kế hệ thống IR nhằm giải quyết vấn đề sau:
• Trình diễn và truy vấn tài liệu như thế nào?
• So sánh tính tương đồng giữa các tài liệu và biểu diễn truy vấn ra sao? Các mô hình truy vấn sẽ xác định hai khía cạnh này Có bốn mô hình truy vấn hay được sử dụng, đó là:
• Đối sánh chính xác (exact match),
• Không gian vector,
• Xác suất
• Trên cơ sở cụm (cluster-based)
Trong kỹ thuật đối sánh chính xác (hoàn toàn), mô hình Boolean hay được sử
dụng nhất
Mặc dù các mô hình truy vấn khác nhau, sử dụng sự trình diễn và chỉ mục tài
Trang 13liệu khác nhau, nhưng nói chung tiến trình chỉ mục được sử dụng trong chúng là tương tự nhau Để nâng cao hiệu năng truy vấn, việc xử lý ngôn ngữ tự nhiên và các kỹ thuật trí tuệ nhân tạo được áp dụng
Vì tính nhập nhằng và tồn tại nhiều biến thể của ngôn ngữ tự nhiên, cho nên
hầu như không thể truy vấn mọi tài liệu ( items) liên quan hay loại đi mọi tài liệu
không liên quan Do vậy, thước đo hiệu năng IR là rất quan trọng
Các kỹ thuật IR rất phổ biến vì nó được sử dụng trong các môtơ tìm kiếm của
1.1.2 Một số vấn đề trong tìm kiếm thông tin
Kể từ những năm 40, các vấn đề trong việc lưu trữ thông tin và tìm kiếm thông tin đã thu hút sự chú ý rất lớn Với một lượng thông tin khổng lồ thì việc tìm kiếm chính xác và nhanh chóng càng trở nên khó khăn hơn Với sự ra đời của máy tính, rất nhiều ý tưởng lớn được đưa ra nhằm cung cấp một hệ thống tìm kiếm thông minh và chính xác Tuy nhiên, vấn đề tìm kiếm sao cho hiệu quả vẫn chưa được giải quyết
Về nguyên tắc, việc lưu trữ thông tin và tìm kiếm thông tin thì đơn giản Giả sử
có một kho chứa các tài liệu và một người muốn tìm các tài liệu liên quan đến yêu cầu của mình Người đó có thể đọc tất cả các tài liệu trong kho, giữ lại các tài liệu liên quan và bỏ đi các tài liệu không liên quan Rõ ràng giải pháp này không thực tế bởi vì tốn rất nhiều thời gian
Với sự ra đời của máy vi tính tốc độ cao, máy tính có thể “đọc” thay cho con người để trích ra các tài liệu có liên quan trong toàn bộ tập dữ liệu Tuy nhiên vấn đề lúc này là làm sao để xác định được tài liệu nào liên quan đến yêu cầu của người sử dụng Do đó, mục tiêu của một hệ thống tìm kiếm thông tin tự động là truy tìm được tất cả các tài liệu có liên quan đến yêu cầu của người sử dụng
1.1.3 Hệ thống tìm kiếm thông tin – IRS
Các h ệ thống tự động tìm kiếm thông tin (IR - Information Retrieval) đã
Trang 14được phát triển để quản lý khối lượng lớn tài liệu từ những năm 40 của thế kỷ XX Chức năng chính của hệ thống IR là lưu trữ và quản trị khối lượng văn bản lớn theo
cách sao cho dễ dàng truy vấn (query) tài liệu mà người sử dụng quan tâm Chú ý
rằng đồng nghĩa với IR là text IR dù rằng ý nghĩa đầy đủ của khái niệm IR là đề cập đến tìm kiếm bất kỳ loại thông tin nào
Sau đây là định nghĩa về hệ thống tìm kiếm thông tin của một số tác giả:
Salton (1989):
“Hệ thống tìm kiếm thông tin xử lý các tập tin lưu trữ và những yêu cầu về thông tin, xác định và tìm từ các tập tin những thông tin phù hợp với những yêu cầu về thông tin Việctìm kiếm những thông tin đặc thù phụ thuộc vào sự tương tự giữa các thông tin được lưu trữ và các yêu cầu, được đánh giá bằng các h so sánh các giá trị của các thuộc tính đối với thông tin được lưu trữ và các yêu cầu về thông tin.”
Kowalski (1997) :
“Hệ thống tìm kiếm thông tin là một hệ thống có khả năng lưu trữ, tìm kiếm và duy trì thông tin Thông tin trong những trường hợp này có thể bao gồm văn bản, hình ảnh,
âm thanh, video và những đối tượng đa phương tiện khác.”
Tìm kiếm thông tin là lĩnh vực nghiên cứu nhằm tìm ra các giải pháp giúp người sử dụng có thể tìm thấy các thông tin mình cần trong một khối lượng lớn dữ liệu Nhiệm vụ của một hệ thống tìm kiếm thông tin tương tự như nhiệm vụ tổ chức phân loại tài liệu và phục vụ việc tra cứu của một thư viện Một hệ thống tìm kiếm thông tin có hai chức năng chính: lập chỉ mục (indexing) và tra cứu (interrogation) Lập chỉ mục là giai đoạn phân tích tài liệu (document) để xác định các chỉ mục (term/index term) biểu diễn nội dung của tài liệu Việc lập chỉ mục có thể dựa vào một cấu trúc phân lớp có sẵn (control vocabulary) như cách làm của các nhân viên thư viện, phân loại tài liệu theo một bộ phân loại cho trước Các chỉ mục trong cách làm này là tồn tại trước và độc lập với tài liệu Cách thứ hai để lập chỉ mục là rút trích các chỉ mục từ chính nội dung của tài liệu (free text) Trong luận văn này tác giả chỉ đề cập đến cách thứ hai này Cuối giai đoạn lập chỉ mục nội dung của các
Trang 15tài liệu có trong kho tài liệu (corpus) được biểu diễn bằng tập các chỉ mục
Mô hình tổng quát tìm kiếm thông tin:
Hình 1.1 Mô hình tổng quát tìm kiếm thông tin
Mô hình 1.1 gồm 4 thành phần:
• Mô hình yêu cầu: Sử dụng để biểu diễn yêu cầu của người sử dụng
• Mô hình tài liệu: Biểu diễn trừu tượng tài liệu thực và nội dung của chúng
• Hàm ánh xạ (đối sánh) : Xác đ ị n h sự phù hợp của hệ thống đối với yêu cầu
• Tri thức: Biểu diễn các tri thức để mô tả ngữ nghĩa thuộc lĩnh vực tài liệu
Biểu diễn hình thức:
D – Biểu diễn các tài liệu Docs
Q – Biểu diễn câu truy vấn Query (yêu cầu)
Trang 16F- Khung mô hình hóa của D, Q và quan hệ giữa chúng
R(q, di) – Hàm đối sánh hay xếp hạng
Quy trình của hệ thống tìm kiếm thông tin như sau:
+ Người sử dụng muốn xem tài liệu liên quan đến một chủ đề nào đó
+ Người sử dụng cung cấp mô tả về tài liệu muốn xem dưới dạng câu truy vấn + Từ câu truy vấn này hệ thống lọc ra những cụm từ và chỉ mục của tài liệu đã được xử lý trước đó
+ Những tài liệu nào liên quan cao nhất với mô tả sẽ được trả về cho người sử dụng
Mục đích của IR là hiển thị một tập thông tin thỏa mãn nhu cầu của người sử dụng Chúng ta định nghĩa thông tin yêu cầu là câu truy vấn (Query), thông tin tìm được là tài liệu (Document) Mục đích của hệ thống IR là tự động tìm kiếm các tài liệu bằng cách kiểm tra độ tương quan giữa câu truy vấn và đặc trưng của tài liệu Kết quả thành công khi kết quả trả về của hệ thống phù hợp với yêu cầu của câu truy vấn
Hệ thống IR gồm các bản ghi không có cấu trúc Chúng không chứa các thuộc tính cố định Nó chỉ đơn thuần là tài liệu văn bản Các tài liệu này có thể chỉ
mục bằng các từ khóa, bộ mô tả tài liệu, hay các thuật ngữ (term) chỉ mục Mỗi
thuật ngữ chỉ mục được sử dụng để mô tả nội dung văn bản chỉ theo một khía cạnh nào đó, không đầy đủ và không rõ ràng cho toàn bộ nội dung văn bản Nhiều thuật ngữ chỉ mục được gắn theo tài liệu hay văn bản cụ thể Bởi vì các thao tác truy vấn văn bản phụ thuộc trực tiếp vào nội dung đại diện, sử dụng để mô tả các bản ghi lưu trữ, do vậy cần phải có nhiều cố gắng để tập trung vào phân tích nội dung của các tài liệu lưu trữ và vấn đề sinh từ khóa, chỉ mục
Ở đây, sẽ không thực tế nếu coi trọng truy vấn trên cơ sở đối sánh chính xác giữa
Trang 17câu truy vấn và các thuật ngữ tài liệu để tìm ra tài liệu kết quả Thay vì, truy vấn các mục liên quan với đủ mức độ tương đồng giữa tập thuật ngữ gắn theo câu truy vấn và tài liệu, được sinh ra bởi phương pháp xấp xỉ hay đối sánh từng phần Hơn nữa cùng thuật ngữ có thể có nhiều ý nghĩa khác nhau
Hình 1.2 Tiến trình truy vấn tài liệu cơ sở
Phía phải hình 1.2 chỉ ra rằng các tài liệu được xử lý off-line để có đại diện (mô tả) Các đại diện này được lưu trữ cùng với các tài liệu
Phía trái hình 1.2 chỉ ra quá trình truy vấn Người sử dụng đưa ra câu truy vấn và được xử lý on-line để có đại diện của mình Sau đó đối sánh đại diện truy vấn với đại diện tài liệu Các tài liệu được xem như tương đồng sẽ được trình diễn cho người sử dụng Họ đá nh giá tài liệu cho lại và quyết định tài liệu nào thực sự tương đồng với thông tin họ cần Một hệ thống IR tốt cần phải cho phép người sử dụng cung cấp phản hồi thích hợp cho hệ thống Hệ thống sử dụng thông tin này để điều chỉnh truy vấn, đại diện truy vấn, hoặc/và đại diện tài liệu Tìm kiếm khác tiếp theo được thực hiện trên cơ sở câu truy vấn đại diện tài liệu đã hiệu chỉnh Nếu cần, tiến trình
Trang 18phản hồi tìm kiếm được thực hiện lặp vài lần Chú ý rằng, không phải tất cả các hệ thống IR đều có tiến trình phản hồi thích hợp
Các mô hình IR khác nhau s ử dụng các phương pháp khác nhau trong đại diện truy vấn và đại diện tài liệu, đối sánh tương đồng hoặc/và phản hồi thích hợp
Kiến trúc của hệ tìm kiếm thông tin:
Hình 1.3 Mô hình kiến trúc của hệ tìm kiếm thông tin
Trang 19Hình 1.4 Cấu trúc hệ tìm kiếm thông tin tiêu biểu
Hệ thống tìm kiếm thông tin gồm có 3 bộ phận chính: bộ phận phân tích văn bản, bộ phận lập chỉ mục, bộ phận so khớp và sắp xếp các tài liệu trả về
(1) Bộ phận phân tích văn bản: bộ phận này có nhiệm vụ phân tích các văn
bản thu thập được thành các từ riêng biệt Tương tự, khi người dùng nhập câu truy vấn thì câu truy vấn cũng được phân tích thành các từ riêng biệt
(2) Bộ phận lập chỉ mục: các từ trích được từ các văn bản thu thập được sẽ
được bộ phận này lựa chọn để làm các từ chỉ mục Các từ chỉ mục phải là các từ thể hiện được nội dung của văn bản Hai bộ phận phân tích văn bản và lập chỉ mục thường đi liền với nhau và thường chỉ gọi là bộ phận lập chỉ mục
(3) Bộ phận so khớp và sắp xếp các tài liệu trả về: Các từ trích được từ câu
truy vấn và các từ chỉ mục của văn bản sẽ được so khớp với nhau để tìm ra các tài liệu liên quan đến câu truy vấn Mỗi tài liệu có một độ tương quan với câu truy vấn
Trang 20Các tài liệu này sẽ được sắp xếp theo độ tương quan giảm dần và trả về cho người sử dụng
1.2 Sự khác biệt giữa các hệ thống IR và các hệ thống thông tin khác
Hệ thống tìm kiếm thông tin cũng tương tự như nhiều hệ thống xử lý thông tin khác Hiện nay các hệ thống thông tin quan trọng nhất là: hệ quản trị cơ sở dữ liệu (DBMS), hệ quản lý thông tin (IMS), hệ hỗ trợ ra quyết định (DSS), hệ trả lời câu hỏi (QAS) và hệ tìm kiếm thông tin (IR) Việc hiểu biết sự khác nhau giữa hai hệ thống tìm kiếm văn bản (IR) và các hệ thống thông tin khác giúp ta hểi u rõ các kỹ thuật tìm kiếm văn bản
Hệ quản trị cơ sở dữ liệu:
Bất cứ hệ thống thông tin tự động nào cũng dựa trên một tập các mục được lưu trữ (gọi là cơ sở dữ liệu) cần thiết cho việc truy cập Do đó hệ quản trị cơ sở dữ liệu đơn giản là một hệ thống được thiết kế nhằm thao tác và duy trì điều khiển cơ sở dữ liệu
DBMS tổ chức lưu trữ các dữ liệu của mình dưới dạng các bảng Mỗi một cơ
sở dữ liệu được lưu trữ thành nhiều bảng khác nhau Mỗi một cột trong bảng là một
thuộc tính, và mỗi một dòng là một bộ dữ liệu cụ thể Trong mỗi một bảng có một thuộc tính duy nhất đại diện cho bảng, nó không được trùng lặp và ta gọi đó là khoá chính Các bảng có mối liên hệ với nhau thông qua các khoá ngoại Hệ quản tri cơ sở
dữ liệu có một tập các lệnh để hỗ trợ cho người sử dụng truy vấn đến dữ liệu của mình Vì vậy muốn truy vấn đến cơ sở dữ liệu trong hệ quản trị cơ sở dữ liệu ta phải học hết các tập lệnh này Nhưng ngược lại nó sẽ cung cấp cho ta các dữ liệu đầy đủ
và hoàn toàn chính xác Hiện nay hệ quản trị cơ sở dữ liệu được sử dụng rộng rãi trên thế giới Một số hệ quản trị cơ sở dữ liệu thông dụng: Access, SQL Server, Oracle
Hệ quản lý thông tin (IMS):
Trang 21Hệ quản lý thông tin là hệ quản trị cơ sở dữ liệu nhưng có thêm nhiều chức năng về việc quản lý Những chức năng quản lý này phụ thuộc vào giá trị của nhiều kiểu dữ liệu khác nhau Nói chung bất kỳ hệ thống nào có mục đích đặc biệt phục vụ cho việc quản lý thì ta gọi nó là hệ quản lý thông tin
Hệ hỗ trợ ra quyết định (DSS)
Hệ hỗ trợ ra quyết định sẽ dựa vào các tập luật được học, từ những luật đã học rút ra những luật mới, sau khi gặp một vấn đề nó sẽ căn cứ vào vào tập các luật để đưa ra những quyết định thay cho con người Hệ thống này đang được áp dụng nhiều cho công việc nhận dạng và chuẩn đoán bệnh
Hệ trả lời câu hỏi (QAS):
Hệ trả lời câu hỏi cung cấp việc truy cập đến các thông tin bằng ngôn ngữ tự nhiên Việc lưu trữ cơ sở dữ liệu thường bao gồm một số lượng lớn các vấn đề liên quan đến các lĩnh vực riêng biệt và các kiến thức tổng quát Câu hỏi của người dùng
có thể ở dạng ngôn ngữ tự nhiên Công việc của hệ trả lời câu hỏi là phân tích câu truy vấn của người dùng, so sánh với các tri thức được lưu trữ, và tập hợp các vấn đề
có liên quan lại để đưa ra câu trả lời thích hợp
Tuy nhiên, hệ trả lời câu hỏi chỉ đang thử nghiệm Việc xác định ý nghĩa của ngôn ngữ tự nhiên dường như vẫn là chướng ngại lớn để có thể sử dụng rộng rãi hệ thống này
Trang 22Bảng 1.1: So sánh IRS với các hệ thống thông tin khác
Tìm kiếm Nội dung trong
các tài liệu
Các phần tử có kiểu dữ liệu đã được định
Các sự kiện rõ ràng
Giống DBMS nhưng hỗ trợ thêm những thủ tục (Tính tổng, tính trung bình, phép chiếu…)
ngôn ngữ tự nhiên
Các phần tử dữ liệu dạng bảng
Các sự kiện rõ ràng và các kiến thức
1.3 Các hệ tìm kiếm văn bản thường được sử dụng hiện nay
GoogleDesktop:
Google desktop search giúp cho chúng ta có thể tìm kiếm một cách dễ dàng trong máy tính củca mình giống như việc tìm kiếm trên web của google Google Desktop là một ứng dụng cung cấp cho chúng ta tìm kiếm một văn bản với từ khóa đầy đủ trong mail, các file, âm nhạc, ảnh, chat, Gmail, và các trang web nằm trong máy mình Bằng việc làm cho có thể tìm kiếm được trên máy tính của mình, Desktop đặt những thông tin của người dùng vào trong tầm kiểm soát và rất linh hoạt trong việc tổ chức file mail và bookmark
Google Desktop không chỉ giúp chúng ta tìm kiếm trong máy mà còn có thể giúp chúng ta lấy thông tin trên mạng và chúng được bố trí trong gadgets và sidebar Chúng ta có thể đặt Google Gadgets ở bất cứ chỗ nào trong máy tính, nó sẽ hiển thị thông tin về mail, thời tiết, ảnh, tin tức và nhiều thứ khác Sidebar là vertical bar nằm trên máy có tác dụng tổ chức lại các Gadgets
DTSearch:
Trang 23DTSearch là một hệ tìm kiếm thực hiện theo mô hình boolean Nó lập chỉ mục khá nhanh và có nhiều lựa chọn thích hợp cho người sử dụng Ngoài việc cung cấp giao diện tìm kiếm trực tiếp và lập chỉ mục thì DTSearch còn cung cấp thư viện dll dùng cho lập trình viên Thư viện dll này có khả năng lập chỉ mục, thực hiện tìm kiếm theo mô hình boolean Có thể nói DTSearch là điển hình tìm kiếm văn bản theo
mô hình boolean khá tốt hiện nay
Hệ tìm kiếm văn bản Lucene:
Hệ tìm kiếm văn bản Lucene là hệ tìm kiếm mã nguồn mở Hệ thống được phát triển cả trên nền Net và cả trên ngôn ngữ Java Hệ thống hiện cũng được khá
nhiều lập trình viên phát triển
Trang 24CHƯƠNG 2: MỘT SỐ KỸ THUẬT TÌM KIẾM VÀ SO SÁNH
VĂN BẢN THEO NỘI DUNG
Tất cả các chiến lược tìm kiếm được dựa vào việc so sánh giữa truy vấn với các tài liệu được lưu trữ Đôi khi, việc so sánh này chỉ là gián tiếp khi truy vấn được so sánh với các cụm (hoặc chính xác hơn với những đặc điểm đại diện cho các cụm)
Tạo sự phân biệt giữa các kiểu chiến lược tìm kiếm khác nhau đôi khi có thể được hiểu qua việc xét ngôn ngữ truy vấn, đó là ngôn ngữ để biểu diễn thông tin Tính tự nhiên của ngôn ngữ truy vấn thường yêu cầu tính tự nhiên trong chiến lược tìm kiếm
Ví dụ, một ngôn ngữ truy vấn được biểu diễn bằng việc kết hợp theo logic các từ khóa cho phép tìm kiếm, thông thường được yêu cầu kiểu tìm kiếm Boolean Đây là mô hình tìm kiếm mà kết quả mang lại là kiểu logic qua việc so sánh truy vấn với các tài liệu Tuy nhiên, ở đây ta không kiểm tra các ngôn ngữ truy vấn nhưng thay vào đó nhận biết được
sự khác nhau qua việc đưa vào các máy tìm kiếm
2.1 Các truy vấn Boolean và chỉ mục tài liệu (Đặng Văn Đức, 2004, Chương 4)
2.1.1 Truy vấn Boolean
Loại đơn giản nhất của truy vấn yêu cầu gồm mối quan hệ giữa các thuật ngữ và các tài liệu, các truy vấn giống như:
1 Những tài liệu chứa từ “Java”
2 Những tài liệu chứa từ “Java” nhưng không chứa từ “coffee”
3 Các tài liệu chứa cụm “Java beans” hoặc thuật ngữ “API”
4 Các tài liệu mà “Java” và “Island” xuất hiện trong cùng một câu
Hai truy vấn đầu được gọi là những truy vấn “gần” (proximity queries) bởi chúng bao gồm khoảng cách từ vựng giữa các dấu hiệu Các câu hỏi này có thể được trả lời sử dụng chỉ số ngược Phần sau sẽ mô tả việc các chỉ số được xây dựng từ một tập hợp các tài liệu ngược như thế nào
Các câu truy vấn được biểu diễn bởi tập từ khóa kết nối với tập phép toán Bool
Ba loại toán tử hay được sử dụng là OR, AND và NOT Quy tắc truy tìm kiếm như
Trang 25sau:
- Toán tử OR: Xem xét hai thuật ngữ đồng nghĩa Ví dụ, cho trước câu truy vấn
(term1 OR term2) thì hiện diện của một trong hai thuật ngữ trong bản ghi (hay trong tài
liệu) đủ để đáp ứng truy tìm bản ghi này
- Toán tử AND: Tổ hợp các thuật ngữ (hay từ khóa) vào một câu thuật ngữ
Vậy, truy vấn (term1 AND term2) chỉ ra cả hai thuật ngữ phải đồng thời hiện diện
trong tài liệu để đem lại kết quả
- Toán tử NOT: Là hạn chế hay thuật ngữ hẹp, thông thường nó được sử dụng
với toán tử AND Câu truy vấn (term1 AND NOT term2) dẫn tới truy tìm bản ghi có
term1 nhưng không có term2
Các tệp chữ ký (signature files): chứa các chữ ký (mẫu bit) đại diện cho tài liệu Có
nhiều cách để sinh chữ ký tài liệu Câu truy vấn được đại diện bởi chữ ký mà nó sẽ được
so sánh với chữ ký tài liệu trong khi truy tìm
Cách sử dụng chung nhất là tệp mục lục (inverted) Đó là loại tệp chỉ mục Các tệp
mục lục (Inverted Files)
Trong tệp mục lục, chỉ mục được xây dựng cho mỗi thuật ngữ để lưu trữ chỉ số định danh (ID) bản ghi cho toàn bộ bản ghi chứa thuật ngữ này Một đầu vào tệp mục
Trang 26lục thông thường chứa từ khóa (thuật ngữ) và một số ID tài liệu Mỗi từ khóa và các
ID tài liệu (mà nó chứa từ khóa) được tổ chức thành một hàng Ví dụ tệp mục lục như sau:
Term1: Record1, Record3
Term2: Record1, Record2
Term3: Record2, Record3, Record4
Term4: Record1, Record2, Record3, Record4
trong đó, Termi (i = 1,2,3,4) là số ID của thuật ngữ chỉ mục i, Recordi (i = 1, 2, 3, 4) là
số ID của bản ghi (record) i hay tài liệu i
Dòng 1 có nghĩa rằng Record1 và Record3 chứa Term1 Các dòng khác có ý
nghĩa tương tự Việc tìm kiếm sẽ được thực hiện nhanh chóng trong các tệp mục lục Chỉ các hàng chứa thuật ngữ tìm kiếm mới được truy tìm Không cần tìm mọi bản ghi trong CSDL
Quy tắc tìm kiếm bằng mô hình Bool trên cơ sở các tệp mục lục như sau:
• Truy vấn AND: Ví dụ (Termi AND Termj), cho danh sách trộn hàng i với hàng j trong tệp mục lục và mọi bản ghi đều chứa Termi và Termj sẽ là kết quả truy tìm
ở đầu ra Ví dụ: (Term1 AND Term2) cho kết quả là Record1
• Truy vấn OR: Ví dụ (Termi OR Term j), cho danh sách trộn cho hàng i và j, mọimục trong danh sách trộn là đầu ra kết quả Ví dụ truy vấn (Term1 OR Term2 ) sẽ cho kết quả là Record1, Record2 và Record3
• Truy vấn NOT: Ví dụ (Termi AND NOT Termj) sẽ cho kết quả là các mục xuất hiện trong hàng i nhưng không trong hàng j Truy vấn (Term4 AND NOT Term1 ) cho kết quả là Record2, Record4 Truy vấn (Term1 AND NOT Term4) sẽ
cho đầu ra là rỗng
Mở rộng thao tác tệp mục lục
Cho đến thời điểm hiện tại ta đã bỏ qua hai yếu tố quan trọng khi chỉ mục và truy tìm tài liệu, đó là vị trí của các thuật ngữ và ý nghĩa các thuật ngữ (tần số thuật ngữ) trong tài liệu Trong các truy vấn AND, mọi bản ghi chứa cả hai thuật ngữ được tìm
Trang 27thấy, không quan tâm đến vị trí của chúng trong tài liệu Các thuật ngữ có tầm quan trọng như nhau, không quan tâm đến tần số xuất hiện trong tài liệu Để nâng cao hiệu quả truy vấn, hai yếu tố này cần được xem xét
Các quan hệ đặc tả giữa hai hay nhiều thuật ngữ được tăng cường bằng cách bổ sung các tham số “tính gần kề” vào đặc tả truy vấn Khi tham số gần kề được bổ sung, chủ điểm được xác định cụ thể hơn, tính phù hợp của mục truy vấn được sẽ cao hơn
Hai tham số thuộc nhóm này có thể là đặc tả “within sentence” và “adjacency”:
• (Termi within sentence Termj) có nghĩa rằng thuật ngữ i và thuật ngữ j
cùng xuất hiện trong câu của bản ghi vừa tìm ra
• (Termi adjacency Termj) có nghĩa các thuật ngữ i và j xuất hiện liền kề trong
các tài liệu tìm ra
Để hỗ trợ loại truy vấn này, thông tin vị trí thuật ngữ phải gộp vào tệp mục lục Cấu trúc tổng quát của file này sẽ như sau:
Termi: Record no., Paragraph no., Sentence no., Word no
Ví dụ, nếu tệp mục lục có các đầu vào sau:
information: R99, 10, 8, 3; R15, 15, 3, 6; R166, 2, 3, 1
retrieval: R77, 9, 7, 2; R99, 10, 8, 4; R166, 10, 2, 5
thì kết quả truy vấn (information within sentence retrieval) là R99
Trong ví dụ trên, các thuật ngữ “information” và “retrieval” xuất hiện trong
cùng câu R99 của tài liệu Mặt khác, dù R166 đều chứa cả hai thuật ngữ này nhưng lại
ở vị trí khác nhau của tài liệu, do vậy truy vấn không cho lại kết quả (không phải là
“information retrieval”) Có thể hai thuật ngữ này được sử dụng trong các ngữ cảnh
khác nhau
2.1.3 Các từ dừng và từ gốc
Đa số ngôn ngữ tự nhiên có những từ chức năng, những liên từ, giới từ xuất hiện với số lượng lớn trong các tài liệu và điển hình là ít được sử dụng trong việc xác định các tài liệu thoả mãn thông tin tìm kiếm Các từ như vậy (ví dụ a, an, the, on
Trang 28trong tiếng Anh) được gọi là từ dừng (stopword)
Các kỹ thuật tìm kiếm thông thường không chỉ số hoá các từ dừng, nhưng có ý tưởng thay thế chúng với một đối tượng thay thế để ghi nhớ sự xuất hiện của các từ dừng Điều này cho phép tìm kiếm những cụm từ chứa các từ dừng, ví dụ như “gone with the wind” Việc giảm bớt không gian chỉ số và cải thiện thực hiện là những lý do quan trọng để loại trừ các từ dừng Tuy nhiên, như vậy một số câu truy vấn như “to be or not to be” có thể không còn được hỏi Một điều nữa là từ nhiều nghĩa (một từ có nhiều nghĩa phụ thuộc vào văn cảnh hoặc cách nói): “can” là một động từ thì không có ích cho các truy vấn từ khoá, nhưng “can” là một danh từ có thể là trung tâm đối với một câu truy vấn, vì vậy nó không nằm trong danh sách từ dừng
Stemming (từ gốc) hay conflating là phương thức hỗ trợ sự phù hợp của một
thuật ngữ truy vấn với biến đổi hình thái trong kho dữ liệu Trong tiếng Anh, cũng như trong một số ngôn ngữ khác, các phần của văn nói, thời và số lượng được chuyển từ những biến tố của từ Có thể muốn một truy vấn chứa từ “gaining” phù hợp với một tài liệu chứa từ “gains”, hay tài liệu chứa đựng từ “went” dùng để trả lời cho một truy vấn chứa từ “goes” Các phương pháp stemming nhìn chung sử dụng sự kết hợp việc phân tích hình thái (chẳng hạn, thuật toán của Porter và tra cứu từ điển như WordNet) Stemming có thể làm tăng số lượng các tài liệu trả lời, nhưng có thể bao gồm cả các tài liệu không thích hợp Chẳng hạn, giải thuật của Porter không chấp nhận “university”
và “universal” cùng là “univers” Conflating, xác định các thuật ngữ liên quan qua việc
sử dụng từ điển, trong đó liệt kê các thuật ngữ đồng nghĩa và đôi khi liệt kê cả quan hệ
giữa chúng Ví dụ, các từ “study”, “learning”, “schoolwork”, “reading” có ý nghĩa
tương tự nhau Thay vì sử dụng 4 thuật ngữ chỉ mục, có thể chỉ sử dụng một thuật ngữ
“study” tổng quát để đại diện bốn thuật ngữ này
2.1.4 Chỉ số hoá và bổ sung
Các tài liệu được duyệt và phân loại để được mệnh đề (d, t), gồm tài liệu d với thuật ngữ t Thao tác cơ bản của việc chỉ mục “ngược” (inverting) bao gồm việc đổi chỗ thứ tự sắp xếp theo (t, d) như biểu diễn sau
Trang 29Chúng ta dễ dàng tạo tập (t, d) trong cấu trúc dữ liệu Với một tập hợp động có các tài liệu được thêm vào, sửa đổi hay xoá đi, một sự thay đổi tài liệu ở mức đơn giản cần cập nhật hàng trăm tới hàng nghìn các bản ghi
Hình 2.1 đưa ra một giải pháp đơn giản hơn Đầu tiên, một chỉ số chuẩn tĩnh được tạo ngoài (t, d) được phân loại Đây là chỉ mục chính được dùng để trả lời các câu truy vấn Trong đó, các tài liệu được thêm vào hay xoá đi được gọi là “documents
in flux” (ở đây, chúng ta có thể mô tả sự thay đổi dữ liệu với việc xoá thực hiện sau việc chèn cho đơn giản) Các tài liệu thay đổi liên tục (flux) được biểu diễn bởi một bản ghi được kí hiệu (d, t) biểu diễn bằng (d, t, s), trong đó s là một bit cho biết tài liệu đã được xoá hay được chèn
Hình 2.1 Sơ đồ duy trì các chỉ số trong tập hợp động
Các bản ghi (d, t, s) được đánh chỉ mục để tạo một chỉ mục phụ Truy vấn của người sử dụng được gửi cho cả chỉ mục chính và chỉ mục phụ Mục đích chỉ mục
Trang 30chính là trả lại một tập tài liệu D0 Chỉ mục phụ trả lại hai tập tài liệu: một là D+, là tập các tài liệu vẫn chưa được đánh chỉ mục trong D0 mà được đối sánh với truy vấn và tập khác
là D-, là tập đối sánh các tài liệu với truy vấn đã được loại bỏ khỏi tập hợp từ khi D0 được xây dựng Câu trả lời cuối cùng cho truy vấn là D0 ∪ D+ \ D-
Chỉ số phụ được tạo nhanh chóng, bởi vậy có thể không được xây dựng cẩn thận và chuẩn như chỉ số chính Khi chỉ số phụ trở nên quá lớn, kí hiệu các bản ghi (d, t, s) được phân loại trong (t, d, s) và trộn-lọc (merge - purged) trong các bản ghi (t, d) chính Kết quả được sử dụng để xây dựng lại chỉ mục chính và khi đó chỉ số phụ có thể được làm rỗng Thông thường, điều này bao gồm việc phân tích các log truy vấn cho những từ khoá thường xuyên và ưu tiên các bản ghi ngược
2.1.5 Kỹ thuật nén chỉ số (index compression)
Trường hợp các modul thiếu từ dừng và dấu chấm câu, một chỉ số ngược với thông tin vị trí có thể được sử dụng để xây dựng lại các tài liệu trong một tập hợp Bởi vậy, kích thước của chỉ mục thực tế so sánh được với kích thước của kho dữ liệu Mặc dù, việc lưu trữ đem lại một số lợi ích nhưng chỉ số chương trình điều khiển lớn sẽ dẫn tới một số lượng lớn I/O ngẫu nhiên Bởi vậy, cài đặt IR lớn, hiệu năng cao thì việc nén chỉ số càng nhiều càng tốt là thực sự quan trọng và nó có thể được lưu giữ trong
bộ nhớ
Một phần chính của không gian chỉ mục bị chiếm bởi các ID tài liệu Một ID tài liệu cần một tập hợp lớn hơn, số lượng các bit lớn hơn để biểu diễn Trên Internet, phần lớn cần ít nhất 32 bit để biểu diễn các ID tài liệu trong một hệ thống truy xuất trên 2 tỉ trang
Cách dễ hơn trong việc lưu trữ các ID tài liệu là sắp xếp chúng tăng dần và lưu trữ đầy đủ ID đầu tiên, rồi sau đó chỉ lưu sự khác nhau với ID trước mà chúng ta gọi là gap Điều này được gọi là mã hoá delta (delta encoding)
Chẳng hạn, nếu từ bottle xuất hiện trong các tài liệu được đánh số 5, 30 và 47, bản ghi cho bottle là vectơ (5, 25, 17)
Với ví dụ này có thể không giống như việc lưu trữ tài liệu với số lượng lớn,
Trang 31nhưng đã cho thấy các thuật ngữ thường xuyên thì ID gap trung bình sẽ nhỏ hơn và những thuật ngữ hiếm xuất hiện dù sao cũng không chiếm quá nhiều không gian, vì vậy cả hai trường hợp đó đều có lợi
Vấn đề tiếp theo là mã hoá những gap này với số lượng các bit hay biến đổi, vì vậy một gap nhỏ yêu cầu số các bit ít hơn nhiều so với một ID tài liệu Mã hoá nhị phân chuẩn gán cùng chiều dài cho tất cả các ký hiệu hay những giá trị sẽ được mã hoá, là tối ưu (nếu số các bit trong mã hoá giá trị x là L(x), yêu cầu của mã này là ∑x
Pr(x)L(x) số các bit yêu cầu để truyền một kí hiệu Một mã tối ưu giảm đến mức tối thiểu giá trị này) khi tất cả các giá trị có thể tương đương, trừ các gap Cách khác với
mã đơn nguyên (một gap x được biểu diễn bởi x-1 những dấu hiệu theo sau), ưu tiên những gap ngắn khá mạnh (nó là tối ưu nếu gap theo sau được đưa ra bởi Pr(X =x)=2-x, xác suất của việc làm mất các gap lớn)
Có nhiều phương pháp cũng sử dụng các kỹ thuật giảm bớt chi phí thời gian Cách tiếp cận đơn giản là tập hợp các tài liệu trong các kho (buckets) Giả sử chúng ta
có một triệu tài liệu, mỗi tài liệu với ID 20-bit Chúng ta có thể tập hợp chúng vào một nghìn bucket với một nghìn tài liệu trong mỗi bucket Các ID bucket sẽ yêu cầu chi phí chỉ 10 bit
Cách khác đơn giản hơn, một chỉ mục ngược được thiết lập từ các thuật ngữ đến các ID bucket, tiết kiệm được rất nhiều không gian vì các ID tài liệu rút ngắn lại đến một nửa kích thước Khi một bucket trả lời một truy vấn, tất cả các tài liệu trong bucket đó cần được duyệt, tốn nhiều thời gian hơn Tránh điều đó, cách tiếp cận thứ hai của ý tưởng là chỉ mục các tài liệu trong mỗi bucket riêng rẽ Ý tưởng sơ bộ sử dụng các kỹ thuật như vậy để giới hạn không gian thực hiện
Thông thường, một chỉ mục bị nén tới giới hạn thì việc nâng cấp rất hỗn độn khi thêm, xoá hoặc sửa đổi các tài liệu Ví dụ, nếu có các tài liệu mới thì phải thêm vào chỉ mục ngược, các bản ghi của một vài thuật ngữ sẽ tăng kích thước Điều đó chỉ có thể được giải quyết với nhiều I/O ngẫu nhiên tạo ra những việc cập nhật thay đổi lớn
Trang 322.1.6 Chỉ mục tự động
Trong tiến trình chỉ mục, tài liệu được coi như danh sách các từ, trong đó các từ dừng đã được loại khỏi danh sách Các thuật ngữ hay từ còn lại được xử lý tiếp để nâng cao hiệu quả chỉ mục và truy tìm Các thao tác chung nhất thực hiện trên các
thuật ngữ này là tìm từ gốc (stemming), tìm từ đồng nghĩa và xác định trọng số
Với stemming, tệp chỉ mục sẽ đầy đủ hơn và việc truy tìm thông tin sẽ hiệu quả hơn Recall thông tin sẽ được nâng cao bởi vì gốc từ (root) tổng quát hơn và nhiều tài liệu liên quan sẽ được tìm ra để đáp ứng câu truy vấn Nhưng precision có thể giảm vì
thuật ngữ gốc từ ít tính cụ thể
Các thuật ngữ chỉ mục khác nhau có các tần số xuất hiện và tầm quan trọng khác nhau trong tài liệu Chú ý rằng, tần số xuất hiện của các thuật ngữ sau khi thực
hiện stemming và thực hiện thesaurus sẽ là tổng tần số của mọi biến đổi (variantions)
Ví dụ, tần số khái niệm “retriev” sẽ là tổng tần số xuất hiện của các thuật ngữ
“retrieve”, “retrieval”, “retrieving” và “retrieved” Việc đề xuất các trọng số “thuật
ngữ quan trọng” cho thuật ngữ tài liệu và thuật ngữ câu truy vấn có thể giúp phân biệt mức độ quan trọng của các thuật ngữ trong kết quả tìm kiếm Khi bổ sung trọng số cho các thuật ngữ trong tệp mục lục, các tài liệu khác nhau với tính tương đồng khác nhau
có thể xếp hạng theo dãy thứ tự độ tương đồng giảm dần, vào thời điểm truy vấn
Ví dụ một tệp mục lục với trọng số thuật ngữ như sau:
Term1: R1, 0.3; R3, 0.5; R6, 0.8; R7, 0.2; R11, 1
Term2: R2, 0.7; R3, 0.6; R7, 0.5; R9, 0.5
Term3: R1, 0.8; R2, 0.4; R9, 0.7
Dòng đầu tiên có nghĩa rằng trọng số của thuật ngữ 1 (Term1) là 0.3 trong bản ghi
1 (R1), 0.5 trong bản ghi 3 (R3), 0.8 trong bản ghi 6 (R6), 0.2 trong bản ghi 7 (R7) và 1 trong bản ghi 11 (R11) Tương tự trong các dòng khác
Các thao tác Bool với trọng số thuật ngữ có thể thực hiện như sau:
- Truy vấn OR: Trọng số cao hơn giữa các bản ghi chứa các thuật ngữ truy vấn được sử dụng làm độ tương đồng giữa câu truy vấn và tài liệu Danh sách kết quả xếp
Trang 33theo thứ tự độ tương đồng giảm dần Ví dụ, truy vấn (Term2 OR Term3) có thứ tự đầu ra
là R1 (0.8), R2 (0.7), R9 (0.7), R3 (0.6) và R7 (0.5)
- Truy vấn AND: Trọng số thấp hơn giữa các bản ghi chung, phù hợp thuật ngữ truy vấn được sử dụng làm độ tương đồng giữa câu truy vấn và tài liệu Ví dụ, truy vấn
(Term2 AND Term3) có thứ tự đầu ra là R9 và R2
- Truy vấn NOT: Độ tương đồng giữa câu truy vấn và các tài liệu là khác nhau
giữa các đầu vào trong tệp mục lục Ví dụ, truy vấn (Term2 AND NOT Term3) có thứ tự
đầu ra là R3, R7
Việc sắp xếp kết quả cho lại theo thứ tự rất quan trọng vì những mục đầu tiên phải là có ích nhất cho người sử dụng Họ chỉ cần quan sát vài mục đầu tiên thay cho duyệt toàn bộ kết quả
Việc gán các thuật ngữ chỉ mục cho tài liệu và câu truy vấn để phân biệt các tài liệu mà người sử dụng quan tâm với các tài liệu khác
Trong một tài liệu cụ thể, thuật ngữ nào xuất hiện thường xuyên hơn thì nó quan trọng hơn, nên nó có trọng số lớn hơn
Trong ngữ cảnh tập hợp toàn bộ tài liệu, nếu thuật ngữ xuất hiện hầu hết trong các tài liệu thì nó không phải là lựa chọn tốt làm thuật ngữ chỉ mục, vì nó không giúp phân biệt các tài liệu người sử dụng quan tâm với tài liệu khác
Do vậy, thuật ngữ được chỉ mục tốt là thuật ngữ xuất hiện thường xuyên trong vài tài liệu nhưng không xuất hiện trong các tài liệu khác Khi gán trọng số thuật ngữ, cần phải quan tâm đến cả hai: tần số thuật ngữ (tfij) và tần số tài liệu (dfj) Công thức chung để tính trọng số thuật ngữ là:
Wij = tfij * log (N/dfj)
trong đó, Wij là trọng số của thuật ngữ j trong tài liệu i, tfij là tần số của thuật ngữ j trong tài liệu i, N là tổng số tài liệu trong tập hợp, dfj là số tài liệu chứa thuật ngữ j Trọng số trên tỷ lệ với tần số thuật ngữ và tỷ lệ nghịch với tần số tài liệu, công thức này
thường được gọi là tf-idf [idf=log(N/dfi)]
Trên cơ sở công thức trên, nếu thuật ngữ xuất hiện trong toàn bộ tài liệu (dfj =