1.1.2 Ý nghĩa khoa học và thực tiễn 1.1.4 Mục đích Mục đích của đề tài là tìm hiểu các phương pháp xếp hạng, cài đặt, đánh giá, thực nghiệm các phương pháp xếp hạng lựa chọn phương phá
Trang 1TRẦN VĂN HIỆP
NGHIÊN CỨU PHƯƠNG PHÁP XẾP HẠNG KẾT QUẢ TÌM
KIẾM TRÊN CƠ SỞ DỮ LIỆU BỆNH VIỆN
Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin
Mã số: 60480104
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Trí Thành
Hà Nội - 2015
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Nghiên cứu phương pháp xếp hạng kết quả tìm kiếm trên cơ sở dữ liệu bệnh viện” là công trình nghiên cứu của tôi Những kiến thức
trình bày trong luận văn là do tôi tìm hiểu, nghiên cứu và trình bày lại theo cách hiểu Trong quá trình làm luận văn, tôi có tham khảo các tài liệu có liên quan và đã ghi rõ nguồn tài liệu tham khảo
Hà Nội, ngày tháng năm 2015
Học viên
Trần Văn Hiệp
Trang 3LỜI CẢM ƠN Lời đầu tiên, em xin trân trọng gửi lời cảm ơn sâu sắc đến thầy giáo PGS.TS Nguyễn Trí Thành - Trường Đại Học Công Nghệ, Đại Học Quốc Gia Hà Nội đã trực tiếp hướng dẫn và tận tình giúp đỡ em trong suốt thời gian thực hiện luận văn
Em xin gửi lời cảm ơn chân thành tới toàn thể các thầy cô giáo trong Trường Đại Học Công Nghệ, Đại Học Quốc Gia Hà Nội đã dạy dỗ, giúp đỡ và chỉ bảo cho em trong suốt quá trình học tập
Cuối cùng, em xin gửi lời cảm ơn sâu sắc tới gia đình, bạn bè, đồng nghiệp, những người đã luôn bên cạnh em để động viên, giúp đỡ và tạo điều kiện tốt nhất để
em có thể hoàn thành luận văn
Hà Nội, ngày tháng năm 2015
Học viên
Trần Văn Hiệp
Trang 4MỤC LỤC
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
MỤC LỤC 3
DANH MỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT 5
DANH MỤC CÁC HÌNH VẼ 6
DANH MỤC CÁC BẢNG BIẾU 7
MỞ ĐẦU 8
CHƯƠNG 1:TỔNG QUAN VỀ BÀI TOÁN TÌM KIẾM TRÊN CƠ SỞ DỮ LIỆU BỆNH VIỆN 9
1.1 Tổng quan 9
1.1.1 Giới thiệu 9
1.1.2 Ý nghĩa khoa học và thực tiễn 10
1.1.3 Tầm quan trọng 10
1.1.4 Mục đích 10
1.2 Truy tìm thông tin 11
1.2.1 Hệ thống tìm kiếm thông tin 11
1.2.2 Các hệ thống thông tin khác 12
1.2.3 Các mô hình tìm kiếm thông tin 13
1.2.4 Xếp hạng tài liệu 14
1.3 Kết luận 14
CHƯƠNG 2: MỘT SỐ PHƯƠNG PHÁP XẾP HẠNG 15
2.1 Một số phương pháp tìm kiếm 15
2.1.1 Mô hình tìm kiếm Boolean 15
2.1.2 Tìm kiếm tương tự 17
2.1.3 Độ đo tương tự Cosine 18
2.2 Một số phương pháp xếp hạng 19
2.2.1 Phương pháp xếp hạng dựa trên cấu trúc 19
2.2.2 Phương pháp dựa trên nội dung 20
2.2.2.1 Phương pháp xếp hạng Cosine 22
2.2.2.2 Phương pháp xếp hạng Cosine Short Segments 27
Trang 52.2.2.3 Phương pháp xếp hạng Dice 27
2.2.2.4 Phương pháp xếp hạng Jaccard 27
2.2.2.5 Phương pháp xếp hạng Matching 28
2.2.2.6 Phương pháp Overlap 28
2.3 Kết luận 28
CHƯƠNG 3: ĐỀ XUẤT CẢI TIẾN PHƯƠNG PHÁP XẾP HẠNG 29
3.1 Bài toán ứng dụng 29
3.1.1 Giới thiệu bài toán 29
3.1.2 Mô tả chi tiết 31
3.1.3 Chức năng tìm kiếm chẩn đoán 35
3.1.4 Mô hình hệ thống tìm kiếm 37
3.2 Phương pháp đề xuất 38
3.3 N-gram và áp dụng 38
3.4 Kết luận 41
CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ 42
4.1 Dữ liệu thực nghiệm và phương pháp đánh giá 42
4.1.1 Chuẩn bị dữ liệu thực nghiệm 42
4.1.2 Phương pháp đánh giá kết quả tìm kiếm 42
4.2 Một số kết quả khi chạy chương trình 44
4.2.1 Kết quả khi chạy các phương pháp xếp hạng khác nhau cho cùng một truy vấn trên tập dữ liệu các loại bệnh 44
4.2.1.1 Kết quả tìm kiếm 44
4.2.1.2 Kết quả các phương pháp xếp hạng 45
4.2.2 Kết quả khi đánh giá các phương pháp với các truy vấn khác nhau 51
4.3 Kết luận 52
KẾT LUẬN 53
TÀI LIỆU THAM KHẢO 54
Trang 6DANH MỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT STT Từ viết
tắt/thuật ngữ
2 IDF Inverse Document Frequency Nghịch đảo tần số văn bản
Trang 7DANH MỤC CÁC HÌNH VẼ
Hình 2.1 Mô hình của một chỉ mục ngược 17
Hình 2.2 Minh họa sự tương tự cosine 25
Hình 3.1 Biểu đồ hoạt động chức năng tìm kiếm chẩn đoán bệnh 36
Hình 3.2 Mô hình hệ thống tìm kiếm 37
Trang 8DANH MỤC CÁC BẢNG BIỂU
Bảng 2.1 Giá trị TF-Document 1 23
Bảng 2.2 Giá trị TF-Document 2 23
Bảng 2.3 Giá trị TF-Document 3 23
Bảng 2.4 Giá trị Normalized TF- Document 1 23
Bảng 2.5 Giá trị Normalized TF- Document 2 23
Bảng 2.6 Giá trị Normalized TF- Document 3 23
Bảng 2.7 Giá trị IDF Document 24
Bảng 2.8 Giá trị TFIDF Query 26
Bảng 2.9 Giá trị TFIDF Document 26
Bảng 2.10 Cosine Similarity 27
Bảng 3.1 Danh sách các n-gram 39
Bảng 3.2 Kết quả tìm kiếm truy vấn “bệnh lậu” 39
Bảng 3.3 Kết quả xếp hạng Jaccard truy vấn “bệnh lậu” 40
Bảng 3.4 Kết quả xếp hạng Jaccard n-gram truy vấn “bệnh lậu” 41
Bảng 4.1 Thiết kế bảng danh mục ICD 42
Bảng 4.2 Dữ liệu danh mục ICD 42
Bảng 4.3 Kết quả tìm kiếm truy vấn “viêm họng” 45
Bảng 4.4 Kết quả xếp hạng Cosine truy vấn “viêm họng” 46
Bảng 4.5 Kết quả xếp hạng Cosine Short Segments truy vấn “viêm họng” 47
Bảng 4.6 Kết quả xếp hạng Dice truy vấn “viêm họng” 47
Bảng 4.7 Kết quả xếp hạng Jaccard truy vấn “viêm họng” 48
Bảng 4.8 Kết quả xếp hạng Matching truy vấn “viêm họng” 49
Bảng 4.9 Kết quả xếp hạng Overlap truy vấn “viêm họng” 50
Bảng 4.10 Kết quả đánh giá xếp hạng MAP 51
Bảng 4.11 Kết quả so sánh các phương pháp xếp hạng 52
Bảng 4.12 Kết quả đánh giá xếp hạng áp dụng n-gram MAP 52
Trang 9MỞ ĐẦU Tin học ngày càng phát triển, thay vì việc hàng ngày phải viết thông tin hồ sơ lên giấy, thông tin đó dần dần được số hóa và lưu trữ trên máy tính dưới dạng cơ sở dữ liệu thông qua ứng dụng tin học Lợi ích của việc số hóa là dữ liệu được lưu trữ và quản lý tốt hơn, tra cứu, trích xuất thông tin dễ dàng hơn Thông tin hồ sơ được số hóa ngày càng nhiều vấn đề đặt ra để tìm kiếm thông tin trong tập hồ sơ hàng nghìn thậm trí đến hàng triệu triệu một cách nhanh nhất, hiệu quả nhất đòi hỏi ứng dụng tin học cần phải xây dựng các giải thuật tìm kiếm tối ưu nhất đảm bảo tốc độ tìm kiếm và giá trị người dùng cần
Đối với lĩnh vực tìm kiếm thông tin, mỗi khi người dùng tìm kiếm sẽ thu được kết quả phù hợp hoặc không có kết quả, nếu kết quả trả về là một lượng lớn giá trị phù hợp, người dùng khó có thể dò tìm từng kết quả để tìm ra nhanh nhất kết quả mình muốn tìm Theo tâm lý thông thường người dùng chỉ xem qua vài chục bản ghi đầu tiên và không đủ thời gian để xem tất cả các kết quả trả về Do đó xếp hạng là kỹ thuật đánh giá giá trị từng kết quả trong tập dữ liệu trả về, xếp hạng độ quan trọng để người dùng dễ dàng nhìn thấy giá trị phù hợp mong muốn
Có rất nhiều hệ thống tìm kiếm cần đến kỹ thuật xếp hạng để cung cấp cho người dùng có thể tìm thấy các tài liệu của mình nhanh nhất và xếp nó ở ngay đầu tiên và nhu cầu hệ thống tìm kiếm trên cơ sở dữ liệu bệnh viện cũng cần tới nó Đề tài nghiên cứu hướng tới các phương pháp xếp hạng Trên cơ sở tìm hiểu nắm vững các phương pháp xếp hạng và vận dụng vào việc tìm kiếm xếp hạng trên cơ sở dữ liệu bệnh viện
Bố cục của luận văn gồm 4 chương:
Chương 1 Tổng quan về bài toán tìm kiếm trên cơ sở dữ liệu bệnh viện trình
bày tổng quan về bài toán tìm kiếm trên cơ sở dữ liệu bệnh viện
Chương 2 Một số phương pháp xếp hạng trình bày về các phương pháp xếp hạng,
áp dụng công thức cũng như ví dụ minh họa thực nghiệm cho các phương pháp đó
Chương 3 Đề xuất cải tiến phương pháp xếp hạng trình bày về bài toán ứng
dụng áp dụng phương pháp xếp hạng, cách thức cải tiến phương pháp xếp hạng để đạt được kết quả xếp hạng tốt hơn
Chương 4 Thực nghiệm và đánh giá thực thi chương trình tìm kiếm áp
dụng các phương pháp xếp hạng với số liệu thu thập được, so sánh kết quả từng phương pháp Đánh giá kết quả các phương pháp để chọn ra được phương pháp xếp hạng tốt nhất
Trang 10CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN TÌM KIẾM TRÊN CƠ SỞ DỮ
LIỆU BỆNH VIỆN 1.1 Tổng quan
1.1.1 Giới thiệu
Hiện nay, việc tạo ra những sản phẩm Tin Học mang tính đặc thù của Việt Nam là một điều cần phải được quan tâm, đặc biệt là các phần mềm mang lại hiệu quả làm việc trong các hoạt động mang tính hành chính Việc quản lý số lượng lớn bệnh nhân thông qua hồ sơ bệnh án, theo dõi tiến trình luân chuyển hồ sơ, cũng như việc thống kê
y tế là một trong những công việc hành chính sự vụ đó Một số bệnh viện có khối lượng bệnh nhân lớn là những nơi đang rất cần những công cụ hỗ trợ của Tin học một phần trong những công cụ đó là ứng dụng tìm kiếm dữ liệu
Mỗi khi người dùng tìm kiếm sẽ thu được kết quả phù hợp hoặc không có kết quả, nếu kết quả trả về là một lượng lớn giá trị phù hợp, người dùng khó có thể dò tìm từng kết quả để tìm ra nhanh nhất kết quả mình muốn tìm Theo tâm lý thông thường người dùng chỉ xem qua vài chục bản ghi đầu tiên và không đủ thời gian để xem tất cả các kết quả trả về Do đó xếp hạng là kỹ thuật đánh giá giá trị từng kết quả trong tập dữ liệu trả về, xếp hạng độ quan trọng để người dùng dễ dàng nhìn thấy giá trị phù hợp mong muốn Vì vậy đề tài nghiên cứu hướng tới các phương pháp xếp hạng, đánh giá chọn ra phương pháp nào thực sự tốt nhất Trên cơ sở tìm hiểu nắm vững các phương pháp xếp hạng và vận dụng vào việc tìm kiếm trên cơ sở dữ liệu bệnh viện, điển hình
là bài toán xếp hạng chẩn đoán theo danh mục bệnh tật quốc tế
Thông thường việc ghi chẩn đoán đúng có tầm quan trọng như sau:
Quan trọng cho chính thầy thuốc Giúp thầy thuốc phát triển tư duy, tích
cực suy nghĩ lựa chọn chẩn đoán theo logic (Ví dụ: chẩn đoán tử vong một cách lười biếng “Sốc không hồi phục” Phải suy nghĩ tìm nguyên nhân) Tăng trình độ biện luận lâm sàng và trình độ chuyên môn
Trong tương quan giữa thầy thuốc và người bệnh Giúp thầy thuốc lưu tâm
tìm hiểu người bệnh nhiều hơn và có thêm cơ hội suy nghĩ đến người bệnh, nhất là người bệnh tử vong trong tay mình Thể hiện y đức vì người bệnh hơn là vì bệnh
Trong tương quan giữa thầy thuốc và khoa học Thầy thuốc ghi chẩn đoán
đúng - thống nhất theo danh mục và mã số bệnh tật quốc tế sẽ là đóng góp lớn cho khoa học, vì: ghi chẩn đoán đúng sẽ là những dữ liệu có giá trị trong nghiên cứu khoa học Rất quan trọng trong thời đại Công Nghệ Thông Tin
Trang 11 Trong tương quan giữa thầy thuốc và ngành y tế Đóng góp lớn cho công
tác lưu trữ, báo cáo, thống kê một cách chính xác giúp ngành y tế: Nắm đúng mô hình bệnh tật và tử vong của địa phương Nắm đúng và kịp thời những vấn đề liên quan đến sức khỏe mà xã hội đang quan tâm Từ đó xây dựng được tốt hơn những chương trình, dự án phòng bệnh, chống bệnh và chăm sóc sức khỏe
Nhận thấy vấn đề chẩn đoán đúng bệnh và tầm quan trọng trong việc ghi chẩn đoán đúng là rất quan trọng Đề tài nghiên cứu, cài đặt, đánh giá các phương pháp xếp hạng dựa trên dữ liệu chẩn đoán theo danh mục bệnh tật quốc tế lựa chọn phương pháp xếp hạng tốt nhất vận dụng cho việc tìm kiếm chẩn đoán đúng bệnh
Xét trên dữ liệu chẩn đoán với dữ liệu là các bản ghi danh mục bệnh tật quốc tế
là những câu hay đoạn (ngắn), đề tài lựa chọn phương pháp xếp hạng để xác định
độ tương đồng giữa các câu hay đoạn, sau đó chọn ra câu hay đoạn có độ liên quan lớn nhất
1.1.2 Ý nghĩa khoa học và thực tiễn
1.1.4 Mục đích
Mục đích của đề tài là tìm hiểu các phương pháp xếp hạng, cài đặt, đánh giá, thực nghiệm các phương pháp xếp hạng lựa chọn phương pháp xếp hạng phù hợp vận dụng tốt nhất trong bài toán tìm kiếm trên cơ sở dữ liệu bệnh viện Để đạt được mục đích đề
ra đề tài cần nghiên cứu:
Trang 12Về mặt lý thuyết: Tìm hiểu kiến thức về tìm kiếm thông tin, xếp hạng trong hệ
thống tìm kiếm thông tin, các phương pháp xếp hạng tài liệu, tiêu chí đánh giá kết quả xếp hạng
Về mặt thực nghiệm: Cài đặt, đánh giá các phương pháp xếp hạng và chọn lựa thực
nghiệm được phương pháp xếp hạng tốt nhất
1.2 Truy tìm thông tin
1.2.1 Hệ thống tìm kiếm thông tin
Từ những năm 1940, vấn đề lưu trữ và truy tìm thông tin [1] đã thu hút sự chú ý của các nhà nghiên cứu Hệ thống tìm kiếm đang trở nên cần thiết, vấn đề đó là: chúng
ta có một lượng thông tin rất lớn, yêu cầu truy tìm thông tin một cách chính xác và nhanh chóng
“Sự phù hợp”, đó là khái niệm trung tâm của truy tìm thông tin Mục đích của một chiến lược truy tìm tự động là truy tìm tất cả các tài liệu phù hợp ở cùng thời điểm truy tìm, có thể bao gồm một vài tài liệu không thỏa mãn Tìm ra các đặc trưng của tài liệu để khi tài liệu phù hợp với truy vấn, nó cho phép tài liệu được truy tìm để trả lời truy vấn
Mục đích của hệ thống tìm kiếm thông tin là trả về các thông tin liên quan nhất đến nhu cầu thông tin của người dùng Nhu cầu thông tin của người dùng ở đây có thể xem như một câu truy vấn Thông tin liên quan ở đây có thể là một câu, một đoạn mà
ta gọi chung là tài liệu
Hệ thống tìm kiếm thông tin thường gặp phải vấn đề sự khác biệt giữa câu truy vấn và tài liệu Một ví dụ là câu truy vấn thì ngắn (có thể là hai từ và thậm chí các từ này là những từ không thông dụng) trong khi tài liệu thì rất nhiều Để khắc phục vấn
đề này các hệ thống tìm kiếm thông tin thường tạo ra các hàm biểu diễn để xử lý câu truy vấn và dữ liệu khác nhau sau đó áp dụng phương pháp xếp hạng để xếp hạng kết quả trả về
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ề
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
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ừ
Trang 13thể 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
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 Cá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.2 Các hệ thống 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 (MIS), 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 hệ thống tìm kiếm thông tin và các hệ thống thông tin khác giúp ta hiểu rõ các kỹ thuật tìm kiếm văn bản
Hệ quản trị cơ sở dữ liệu (DBMS) DBMS đơ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 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, 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à khóa chính Các bảng có mối liên hệ với nhau thông qua các khóa ngoại DBMS 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 DBMS được sử dụng rộng rãi trên thế giới Một số DBMS thông dụng như: Access, SQL Server, Oracle
Hệ quản lý thông tin (IMS): IMS là DBMS nhưng có thêm nhiều chức năng
về việc quản lý Những chức năng 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 là IMS
Hệ hỗ trợ ra quyết định (DSS): DSS 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 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à chẩn đoán bệnh
Trang 14 Hệ trả lời câu hỏi (QAS): QAS 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 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 QAS 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, QAS 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
So sánh hệ thống tìm kiếm thông tin 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 nghĩa
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…)
Lưu trữ Các văn bản
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 tổng quát
Xử lý Các câu truy
vấn không chính xác
Các câu truy vấn có cấu trúc
Các câu truy vấn không giới hạn
1.2.3 Các mô hình tìm kiếm thông tin
Mô hình nhị phân (Boolean model) các tài liệu chỉ có 2 trạng thái hoặc liên
quan hoặc không liên quan đối với truy vấn yêu cầu
Ưu điểm của mô hình Boolean:
o Đơn giản và dễ sử dụng
Nhược điểm của mô hình Boolean:
o Vì dựa trên phép toán logic nhị phân nên một tài liệu được tìm kiếm chỉ xác định hai trạng thái: liên quan hoặc không với câu truy vấn
Mô hình xác suất đối với mô hình xác suất, việc đầu tiên sẽ là tính toán xác
suất liên quan và không liên quan của tài liệu so với câu truy vấn Sau đó, sẽ
Trang 15tiến hành sắp xếp các tài liệu giảm dần theo mức độ liên quan của tài liệu với câu truy vấn
Ưu điểm của mô hình xác suất:
o Tài liệu được sắp xếp dựa vào xác suất liên quan đến câu truy vấn
Nhược điểm của mô hình xác suất:
o Mô hình không quan tâm đến số lần xuất hiện của từ chỉ mục trong tài liệu
o Việc tính toán xác suất khá phức tạp và tốn nhiều chi phí
Mô hình không gian vector cả các truy vấn và tài liệu được mô hình hóa
như các vector trong không gian nhiều chiều Sự liên quan giữa một câu truy vấn và tài liệu được tính toán bởi một số đo khoảng cách vector giữa các vector này
Ưu điểm của mô hình không gian vector:
o Đơn giản và dễ hiểu
o Cài đặt đơn giản
o Khắc phục các hạn chế trên mô hình Boolean
Nhược điểm của mô hình không gian vector:
o Số chiều biểu diễn cho tập tài liệu có thể rất lớn nên tốn nhiều không gian lưu trữ
1.2.4 Xếp hạng tài liệu
Một máy tìm kiếm có thể cho lại tới hàng nghìn tài liệu phù hợp, nhưng một người
sử dụng thông thường sẽ chỉ có thể xem xét được một số lượng nhỏ các tài liệu tìm được đó Vì thế, xếp hạng các tài liệu phù hợp theo mức độ tương thích với người dùng là một vấn đề quan trọng, cũng là tiêu điểm trong việc đánh giá một phương pháp truy tìm
Chỉ qua một phần thông tin của người sử dụng được trích lọc biểu thị qua truy vấn,
hệ thống sẽ tìm kiếm và trả lời bằng một tập các tài liệu phù hợp Yêu cầu đó không có thuật toán cụ thể, nhưng được đảm bảo chiến lược xếp hạng luôn ưu tiên cho những tài liệu hữu ích, tài liệu được coi là “gần” với truy vấn hơn sẽ được xếp lên trên tài liệu khác trong danh sách kết quả trả về
1.3 Kết luận
Chương này đã trình bày giới thiệu về bài toán tìm kiếm trên cơ sở dữ liệu bệnh viện, mục tiêu cần thực hiện và nêu khái quát về truy tìm thông tin, xếp hạng tài liệu
Trang 16CHƯƠNG 2: MỘT SỐ PHƯƠNG PHÁP XẾP HẠNG 2.1 Một số phương pháp tìm kiếm
2.1.1 Mô hình tìm kiếm Boolean
Ý nghĩa của việc truy tìm thông tin có thể rất lớn [7] Bạn chỉ cần nhận được một thẻ tín dụng từ ví của bạn để bạn có thể gõ vào số thẻ như một hình thức của truy tìm thông tin Tuy nhiên, như một nghiên cứu của một trường đại học, tìm kiếm thông tin
có thể được định nghĩa như sau:
Truy tìm là tìm kiếm thông tin (thường là các tài liệu) ở một dạng không có cấu trúc (thông thường là văn bản), thỏa mãn nhu cầu thông tin từ trong những nguồn thông tin lớn (được lưu trữ trên các máy tính)
Theo định nghĩa này, truy tìm thông tin sử dụng để là một hoạt động mà chỉ có một số ít người tham gia vào: thư viện tham khảo, trợ lý, và những người tìm kiếm chuyên nghiệp Bây giờ thế giới đã thay đổi, và hàng trăm triệu người tham gia vào truy tìm thông tin hàng ngày khi họ sử dụng một công cụ tìm kiếm web hoặc tìm kiếm thông tin email của họ Truy tìm thông tin nhanh chóng trở thành hình thức chi phối của tiếp cận thông tin, và đã vượt qua cách tìm kiếm cơ sở dữ liệu truyền thống (các loại đó đang xảy ra khi một nhân viên bán hàng nói với bạn: "tôi xin lỗi, tôi chỉ có thể tìm thấy đơn đặt hàng của bạn nếu bạn có thể cho tôi ID đơn đặt hàng của bạn") Một hệ thống tìm kiếm thông tin có 2 chức năng chính là lập chỉ mục cho tài liệu
và tra cứu Quá trình lập chỉ mục là quá trình thống kê biểu diễn nội dung của từng tài liệu trong kho dữ liệu lớn và được đưa vào lưu trữ trong cấu trúc được thiết kế sẵn từ trước gọi là cấu trúc chỉ mục, quá trình này giống như việc phân loại các đầu sách vào các ngăn sách của các nhân viên thư viện Một cách khác để lập chỉ mục là trích rút nội dung từ các tài liệu để lập chỉ mục, cuối cùng của quá trình lập chỉ mục là nội dung của các tài liệu trong kho dữ liệu sẽ được biểu diễn trong chỉ mục, chỉ mục sẽ được hệ thống lưu trữ, quản lý và quá trình tìm kiếm sẽ diễn ra trên nội dung của chỉ mục mà không cần tác động đến các tài liệu trong kho tài liệu Sau quá trình lập chỉ mục thì nội dung của chỉ mục sẽ biểu diễn nội dung của kho tài liệu ở một dạng (sơ đồ) nào đó Sơ
đồ chỉ mục cơ bản nhất là chỉ mục ngược Một sơ đồ chỉ mục ngược được xây dựng để biểu diễn cho tất cả các từ ngữ có trong những tài liệu trong kho dữ liệu Để minh họa cho quá trình xây dựng chỉ mục ngược hãy lấy ví dụ sau, tìm kiếm tên các nhân vật
Trang 17trong các tác phẩm của nhà văn Shakespeare Sau quá trình thu thập các tác phẩm văn học của Shakespeare và thống kê các từ ngữ ta xây dựng bảng thống kê gồm tên nhân vật và tên các vở kịch:
Antory
and Cleopatra
Julius Caesar
The Tempest Hamlet Othello Macbeth …
Đặt là bit 1 nếu vở kịch chứa từ ngữ và bit 0 nếu không chứa từ ngữ Chúng ta
có các vector bits cho mỗi nhóm từ ngữ biểu diễn trong kho tài liệu Ví dụ từ “Antony”
là 110001 Giả sử yêu cầu tìm kiếm là các vở kịch có chứa từ Brutus và Caesar nhưng không có Calpurnia Biểu diễn dạng logic sẽ là: Brutus AND Caesar BUT NOT Calpurnia, việc tìm kiếm sẽ tiến hành phép tính: 110100 AND 110111 AND 101111 =
100100 Như vậy quá trình tìm kiếm sẽ tìm vở kịch thỏa mãn có biểu diễn là 100100
Quá trình thống kê và sử dụng phép so sánh logic như trên được gọi là mô hình tìm kiếm Boolean Mô hình này xem mỗi tài liệu là biểu diễn của các từ ngữ, như vậy thông qua mô hình này có thể xác định được một từ ngữ có xuất hiện trong một tài liệu hay không? Kết quả của mô hình này là tài liệu sẽ đúng hoặc không đúng đối với một câu hỏi tìm kiếm Bên cạnh đó mô hình tìm kiếm Boolean sẽ xây dựng một ma trận nhị phân để làm chỉ mục tìm kiếm cho mô hình, việc xây dựng ma trận này là khá “tốn kém” Giả sử chúng ta có 1 triệu tài liệu, và mỗi tài liệu có khoảng 1000 từ, giả định rằng mỗi từ có kích thước trung bình 6 bytes cho cả khoảng trống và dấu chấm câu Như vậy bằng cách xây dựng ma trận như trên thì chúng ta sẽ có khoảng 6GB dữ liệu,
Trang 18đây là một số kích thước lớn vì vậy chúng ta cần phải tìm cách biểu diễn dữ liệu khác
Mô hình này xem mỗi tài liệu là thể hiện của các từ ngữ
Dựa vào nguyên tắc của mô hình tìm kiếm Boolean là xem mỗi tài liệu là thể hiện của các từ ngữ tạo nên tài liệu, công việc tiếp theo là đánh chỉ mục cho các tài liệu, việc đánh chỉ số cho tài liệu nhằm mục đích để giảm thiểu không gian lưu trữ định danh các tài liệu, sử dụng một số nguyên thay vì lặp lại nhiều lần tên của tài liệu Các từ ngữ trong câu hỏi tìm kiếm sẽ được tách ra và biểu diễn thành một từ điển theo
mô hình sau gọi là chỉ mục ngược:
Hình 2.1 Mô hình của một chỉ mục ngược
Danh sách các từ ngữ trong tài liệu được biểu diễn thành một từ điển (Dictionary) và mỗi từ ngữ sẽ có con trỏ trỏ để trỏ tới danh sách (Posting) là các định danh tài liệu tương ứng có chứa từ này, danh sách các tài liệu chứa từ này cũng sẽ được sắp xếp theo thứ tự Tóm lại, quá trình xây dựng một chỉ mục ngược sẽ trải qua các bước:
Thu thập tất cả các tài liệu cần lập chỉ mục trong kho dữ liệu
Từ ngữ hóa các từ ngữ bằng cách chuyển mỗi tài liệu thành danh sách các từ ngữ
Tạo bộ tiền xử lý ngôn ngữ, lập một danh sách từ ngữ để lập chỉ mục
Tạo ra danh sách từ điển để lưu trữ các từ ngữ và các danh sách để lưu trữ các tài liệu tương ứng
2.1.2 Tìm kiếm tương tự
Chúng ta đã khẳng định rằng các nhu cầu thông tin của người sử dụng trang web thường được trình bày bởi những truy vấn từ khóa, và vì thế sự chính xác về tài liệu được định nghĩa về mặt một truy vấn tới những tài liệu được tìm ra bởi công cụ tìm kiếm gần như thế nào Bởi vì các truy vấn tìm kiếm web thường xuyên không đầy đủ
Trang 19và không rõ ràng, nhiều tài liệu đưa ra có thể không phù hợp với truy vấn Tuy nhiên, khi một tài liệu liên quan được tìm ra, một bộ sưu tập lớn về các tài liệu có thể liên quan, có thể được tìm ra bằng việc lấy lại các tài liệu tương tự với các tài liệu liên
quan Quá trình này được gọi là tìm kiếm tương tự [2] được thực hiện ở một vài công
cụ tìm kiếm (ví dụ, Google) là một lựa chọn để tìm trang tương tự hoặc liên quan đến một trang đã được đưa ra Nói một cách khác tìm kiếm tương tự chính là một dạng của phương pháp sử dụng mô hình không gian vector
2.1.3 Độ đo tương tự Cosine
Độ đo tương tự truy vấn tới tài liệu, điều mà chúng ta đã khám phá cho đến nay được dựa trên mô hình khoảng cách vector, cả hai truy vấn và các tài liệu được trình bày bởi vector TFIDF, và độ đo tương tự được tính bằng cách sử dụng các thuộc tính
số liệu của khoảng cách vector Nó cũng có mục đích tính toán độ đo tương tự giữa các tài liệu Ngoài ra, chúng ta có thể hi vọng rằng độ đo tương tự tài liệu với tài liệu
sẽ chính xác hơn độ đo tương tự giữa truy vấn với tài liệu bởi vì truy vấn thường quá ngắn, vì vậy vector của chúng ta rất thưa thớt trong khoảng cách vector rất rộng lớn Trong tìm kiếm tương tự, chúng ta không quan tâm đến một vector truy vấn nhỏ,
vì vậy chúng ta thoải mái sử dụng nhiều hơn (hoặc tất cả) chiều dài của khoảng cách vector để diễn đạt các tài liệu của chúng ta Trong lĩnh vực này sự rất hấp dẫn để đo chiều dài của khoảng cách vector ảnh hưởng đến kết quả tìm kiếm tương tự như thế
nào Vấn đề này liên quan đến sự lựa chọn đặc điểm, một vài sự lựa chọn có thể được
thử nghiệm như sau:
Sử dụng tất cả các thuật ngữ từ corpus Đây là sự lựa chọn dễ nhất nhưng
có thể gây ra vấn đề nếu corpus quá lớn (ví dụ như công cụ tìm kiếm kho lưu trữ tài liệu của một trang web)
Lựa chọn thuật ngữ với điểm số TF cao Cách tiếp cận này phản ánh điều
kiện rằng sự xuất hiện thuật ngữ thường xuyên trong nhiều tài liệu và vì thế làm cho các tài liệu trở nên tương tự hơn Tuy nhiên, sự tương tự này không
ám chỉ nội dung của tài liệu
Lựa chọn thuật ngữ với điểm số IDF cao Cách tiếp cận này phản ánh nhiều
hơn các thuật ngữ chuyên biệt của tài liệu và vì thế sẽ tạo ra sự khác nhau giữa các tài liệu trong khoảng cách vector Hơn nữa, điều này dẫn đến vector tài liệu cực kỳ thưa thớt, vì vậy tìm kiếm tương tự rất hạn chế với các tài liệu liên quan chặt chẽ
Trang 20 Kết hợp tiêu chí TF và IDF Đây là một loại biện pháp được sử dụng trong
tọa độ vector (sự khác nhau là điểm số TF trong vector được lấy ra từ tài liệu cụ thể), vector sẽ được phổ biến hơn với tọa độ khác không
2.2 Một số phương pháp xếp hạng
Ngày nay có rất nhiều phương pháp xếp hạng được nghiên cứu và đưa ra dựa trên nội dung và cấu trúc của dữ liệu Đề tài nghiên cứu và lựa chọn phương pháp xếp hạng dựa trên nội dung áp dụng vào bài toán tìm kiếm trên cơ sở dữ liệu bệnh viện Dưới đây đề tài trình bày phương pháp xếp hạng PageRank điển hình dựa trên cấu trúc
và các phương pháp xếp hạng dựa trên nội dung
2.2.1 Phương pháp xếp hạng dựa trên cấu trúc
Một số lượng lớn các tài liệu trên mạng internet là các trang web Ngoài việc xử
lý các trang tìm thấy theo yêu cầu của một từ khóa trong kho dữ liệu cập nhật, các hệ thống tìm kiếm còn phải tìm cách chống lại sự nhiễu loạn của các trang không có nội dung phù hợp với yêu cầu nhưng vẫn lọt vào danh sách tuyển chọn của máy truy tìm
Nguyên nhân của các nhiễu loạn này là việc các trang chuyên về quảng cáo hay tiếp thị luôn luôn tìm cách để lọt vào hàng đầu trong danh sách tuyển chọn của hệ thống tìm kiếm Qua đó họ có thể giới thiệu sản phẩm của họ đến người dùng Ngược lại, người dùng, trong đa số các trường hợp, không muốn tìm các quảng cáo tiếp thị mà chỉ muốn tìm các dữ liệu khác theo ý đã ghi trong từ khóa
Do đặc điểm phức tạp trên, việc phân hạng các trang web tìm được bởi một bộ
từ khóa cho trước của máy tìm kiếm sẽ dựa vào việc áp dụng thêm các thuật toán hay biện pháp xử lý đặc biệt Các tiêu chí chủ yếu mà các thuật toán của các hệ thống tìm kiếm Web sử dụng để phân hạng các trang web: tần số phát sinh, thẻ meta và câu lệnh title, ngôn ngữ, số liên kết ngoài
PageRank là thuật toán phân tích các liên kết được dùng trong Google Search
để xếp hạng các trang web
Thuật toán này chỉ định giá trị nhất định cho mỗi thành phần của một tập hợp các văn bản liên kết với nhau, ví dụ như World Wide Web
Mục đích “đo” tầm quan trọng tương đối của các liên kết trong tập hợp đó
Áp dụng cho bất kỳ tập hợp văn bản nào có trích dẫn đối ứng và liên kết cụ thể Giá trị PageRank hình thành từ thuật toán toán học dựa trên webgraph: các trang World Wide Web được coi như các đỉnh và các đường link là các cạnh Khi hình thành webgraph người ta có tính đến những trang của các cơ quan có thẩm quyền như cnn.com hay usa.gov Giá trị xếp hạng cho thấy tầm quan trọng của từng trang cụ thể
Trang 21Mỗi đường link tới trang web sẽ được tính như 1 sự hỗ trợ làm tăng thêm giá trị Pagerank Giá trị Pagerank của trang được định nghĩa đệ quy và phụ thuộc vào số lượng và giá trị của các trang mà có link dẫn đến trang đó Một trang web có chứa nhiều link liên kết từ các trang web có giá trị PageRank cao thì giá trị PageRank của trang đó cũng sẽ cao Có rất nhiều bài viết đã được xuất bản ra công chúng dựa trên nghiên cứu gốc của Page và Brin Trên thực tế khái niệm PageRank rất khó để thao tác Đã có nhiều nghiên cứu tiến hành xác định những ảnh hưởng sai tới PageRank ranking Mục đích là tìm một cách loại bỏ hiệu quả những link từ các văn bản với những ảnh hưởng sai tới PageRank
2.2.2 Phương pháp dựa trên nội dung
Trong các loại dữ liệu hiện nay thì văn bản là loại phổ biến nhất, do vậy các bài toán xử lý văn bản đã được đặt ra từ rất sớm và hiện nay nó vẫn là vấn đề rất được nhiều nhà nghiên cứu quan tâm, một trong những bài toán đó là tìm kiếm, trích xuất văn bản, biểu diễn và phân loại văn bản,…
Cơ sở dữ liệu văn bản có thể chia làm hai loại chính:
Dạng không có cấu trúc: Đây là những tài liệu văn bản thông thường mà
ta đọc thường ngay trên các sách, báo, internet,… đây là dạng dữ liệu của ngôn ngữ tự nhiên của con người và nó không theo một khuân mẫu định sẵn nào cả
Dạng nửa cấu trúc: Đây là những văn bản được tổ chức dưới dạng cấu trúc lỏng, nhưng vẫn thể hiện nội dung chính của văn bản, như văn bản HTML, Email,…
Trong các bài toán xử lý văn bản, ta thấy rằng vai trò của biểu diễn văn bản rất lớn, đặc biệt trong các bài toán tìm kiếm, phân cụm,
Theo các nghiên cứu về cách biểu diễn khác nhau trong xử lý văn bản thì cách biểu diễn tốt nhất là bằng các từ riêng biệt được rút ra từ tài liệu gốc và cách biểu diễn này ảnh hưởng tương đối nhỏ đối với kết quả
Các cách tiếp cận khác nhau sử dụng mô hình toán học khác nhau để tính toán, dưới đây là các phương pháp xếp hạng để tính toán độ đo tương tự giữa câu truy vấn
và tài liệu trong bài toán tìm kiếm
Tương tự Cosine dùng số lần lặp lại của từ xuất hiện trong tài liệu để gán
điểm Ví dụ: từ “game” xuất hiện 2 lần trong tài liệu “The game of life is a game of everlasting learning” thì điểm (trọng số) của nó là 2 Một hình thái
từ được gán điểm là 0 trong bất kỳ tài liệu nào thì nó bị xem là không xuất
Trang 22hiện Để tính giá trị tương tự bằng cosine cho câu truy vấn và tài liệu người
ta thường dùng cách tính tích vô hướng của vector dựa trên phép chia tỉ lệ của hai vector tần suất đặc trưng của câu truy vấn và tài liệu
k ik
N k
jk ik
Q T
Q T D
Q
D Q D Q C
1 2 1
2 1
.
)
,
Trong đó:
ik
T là trọng số của thuật ngữ k trong tài liệu i; Q jklà trọng
số của thuật ngữ k trong câu truy vấn j
Tương tự Cosine Short Segments được tính toán chính xác theo cùng cách
với sự tương tự cosine thông thường ngoại trừ các hình thái từ trong tài liệu
và câu truy vấn được đánh điểm là 1 khi nó xuất hiện và là 0 khi nó không xuất hiện chứ không dùng số lần lặp của từ xuất hiện Tính sự tương tự cosine short segments như sau:
Công thức:
D Q
D Q D Q CS
),
Trong đó:
Q là tập hợp các từ trong câu truy vấn
D là tập hợp các từ trong tài liệu
|.| là phép toán lấy lực lượng của một tập hợp
Tương tự Dice giá trị Dice bằng 0 cho biết câu truy vấn và tài liệu hoàn toàn
khác nhau, ngược lại khi giá trị Dice bằng 1 cho biết câu truy vấn và tài liệu giống nhau
Công thức:
)(
2),(
D Q
D Q D Q DS
Trong đó:
Q là tập hợp các từ trong câu truy vấn
D là tập hợp các từ trong tài liệu
|.| là phép toán lấy lực lượng của một tập hợp
Tương tự Jaccard được tính toán là kích thước của giao chia cho kích thước
hợp của câu truy vấn và tài liệu
Trang 23Công thức:
D Q
D Q D Q JS
),
Trong đó:
Q là tập hợp các từ trong câu truy vấn
D là tập hợp các từ trong tài liệu
|.| là phép toán lấy lực lượng của một tập hợp
Tương tự Matching dựa trên sự kết hợp giao của câu truy vấn và tài liệu
Công thức: MS(Q,D) QD (CT5)
Trong đó:
Q là tập hợp các từ trong câu truy vấn
D là tập hợp các từ trong tài liệu
|.| là phép toán lấy lực lượng của một tập hợp
Tương tự Overlap tính sự chồng chéo giữa câu truy vấn và tài liệu
Công thức:
),
D Q
Trong đó:
Q là tập hợp các từ trong câu truy vấn
D là tập hợp các từ trong tài liệu
|.| là phép toán lấy lực lượng của một tập hợp min( , ) là hàm lấy giá trị nhỏ nhất của 2 tham số truyền
vào
Minh họa cho các phương pháp ta sử dụng 3 tài liệu sau:
Document 1: The game of life is a game of everlasting learning
Document 2: The unexamined life is not worth living
Document 3: Never stop learning
2.2.2.1 Phương pháp xếp hạng Cosine
Áp dụng công thức (CT1) với câu truy vấn: life learning
Các bước để có được độ đo tương tự cosine [8] như sau:
Bước 1 Tính tần suất xuất hiện (TF)
Tần suất xuất hiện (TF): số lần một từ xuất hiện trong tài liệu
Ta có các bảng tần suất xuất hiện như sau:
Trang 24Document 1 the game of life is a everlasting learning
Ví dụ từ the xuất hiện 1 lần trong Document 1 có tổng số từ là 10 ta có chuẩn hóa tần suất xuất hiện: Normal_TF (the) =1/10=0.1
Ta có các bảng chuẩn hóa tần suất xuất hiện như sau:
Document 1 the game of life is a everlasting learning
Normal_TF 0.1 0.2 0.2 0.1 0.1 0.1 0.1 0.1
Bảng 2.4 Giá trị Normalized TF- Document 1
Document 2 the unexamined life is not worth living Normal_TF 0.142857 0.142857 0.142857 0.142857 0.142857 0.142857 0.142857
Bảng 2.5 Giá trị Normalized TF- Document 2
Bảng 2.6 Giá trị Normalized TF- Document 3
Đối với tần suất xuất hiện của từ, thì những từ càng xuất hiện nhiều thì có điểm xếp hạng càng cao, còn những từ hiếm thì điểm xếp hạng lại thấp hơn
Tuy nhiên suy luận trên không phải khi nào cũng đúng, nhiều từ xuất hiện với tần suất cao nhưng lại không mang nhiều ý nghĩa trong văn bản (từ “và”.v.v.) hoặc một số từ không xuất hiện trong văn bản này nhưng lại xuất hiện trong văn bản khác
Trang 25Để khắc phục nhược điểm của TF, phương pháp nghịch đảo tần số văn bản được xây dựng
Bước 2 Tính nghịch đảo tần số văn bản (IDF)
IDF được tính như sau:
n i i e
D
D
Trong đó: e = 2.7182818284…; D i tổng số tài liệu; D j tổng số tài liệu chứa
thuật ngữ Ví dụ: IDF (game) = 1 + log e (3 / 1) = 1 + 1.098726209 = 2.098726209
Với 3 tài liệu trên, áp dụng (1) ta có bảng kết quả:
Bảng 2.7 Giá trị IDF Document
Kết quả trên cho ta thấy với các từ the, life, is, learning xuất hiện 2 tới 3 lần
nhưng có IDF thấp hơn so với các từ khác chỉ xuất hiện 1 lần trong tài liệu
Trang 26Bước 3 Tính TFIDF
Phương pháp này là tổng hợp của hai phương pháp TF và IDF Giá trị trọng số được tính như sau:
Ví dụ đối với Document 1 ta có:
Normal_TF (life) = 0.1 IDF (life) = 1.405507153
TFIDF (life) = 0.11.405507153 = 0.140550715
Bước 4 Độ đo tương tự cosine
Trong mô hình không gian vector, câu truy vấn được xem như là một vector Xếp hạng tài liệu dựa vào sự tương đồng với câu truy vấn, để xếp hạng tài liệu chúng ta so sánh câu truy vấn với tập tài liệu, tài liệu nào càng gần với câu truy vấn thì xếp hạng cao hơn
Để so sánh hai vector, chúng ta tính khoảng cách giữa hai vector hoặc tính góc tạo bởi hai vector đó Tuy nhiên cách tính khoảng cách có nhược điểm không chính xác, bởi vì khoảng cách lớn với các vector có chiều dài khác nhau
Hình 2.2 Minh họa sự tương tự cosine
Do vậy dựa vào góc giữa hai vector để xếp hạng tài liệu, mức độ tương tự xác
định bởi Cosine góc giữa hai vector
Tài liệu được xếp hạng bởi giá trị Cosine giảm dần:
Cos (q, d) = 1 khi d = q Cos (q, d) = 0 khi truy vấn q và tài liệu d không có bất kỳ từ chung nào
Trang 27Trong mô hình không gian vector câu truy vấn được xem như là tài liệu trong tập tài liệu và được biểu diễn như một vector:
Document Q: life learning
Áp dụng các bước tính toán như trên ta có:
Bước 1: Tính Normal_TF của truy vấn Q:
Đối với truy vấn ta có bảng kết quả:
Bảng 2.8 Giá trị TFIDF Query
Đối với các tài liệu Document 1, Document 2, Document 3 các từ khác
với từ truy vấn life và learning khi tính với công thức cosine có kết quả bằng 0
nên không xét đến, ta có bảng kết quả:
TFIDF (Document 1) TFIDF (Document 2) TFIDF (Document 3)
0
197545
01405507152
01405507152
07027535762
07027535762
0
14055075
0702753576
0140550715
0702753576
0
2 2