Một trong những cách tiếp cận để giải quyết vấn đề này là sử dụng kĩ thuật phân cụm tài liệu theo chủ đề tạo nên cách biểu diễn kết quả tìm kiếm Web cô động và rõ ràng.. Tư tưởng chính c
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
Trường Đại học Công nghệ ––––––––––oOo––––––––––
Trang 2MỤC LỤC
DANH SÁCH HÌNH VẼ 4
DANH SÁCH BẢNG BIỂU 4
BẢNG TỪ VIẾT TẮT 5
TỪ KHÓA 5
MỞ ĐẦU 6
CHƯƠNG 1 - GIỚI THIỆU TỔNG QUAN 7
1.1 Động lực 7
1.2 Phạm vi công việc 9
1.3 Cấu trúc luận văn 11
CHƯƠNG 2 - VẤN ĐỀ TÌM KIẾM WEB VÀ PHÂN CỤM TÀI LIỆU 12
2.1 Máy tìm kiếm Web 12
2.1.1 Cấu trúc bên trong 12
2.1.2 Biểu diễn kết quả tìm kiếm 14
2.2 Phân cụm 16
2.2.1 Khái niệm phân cụm 17
2.2.2 Phân cụm tài liệu 18
2.2.2.1 Khái niệm 18
2.2.2.2 Ứng dụng vào Phân cụm kết quả tìm kiếm Web 18
2.2.3 Các bước thực hiện phân cụm 20
2.2.4 Mục tiêu phân cụm 20
2.2.5 Các vấn đề cần chú ý 20
2.2.6 Giải thuật phân cụm 21
2.2.6.1 Phương pháp phân cụm phân cấp 21
2.2.6.2 Phương pháp phân cụm phân hoạch 23
2.2.7 Đánh giá kết quả phân cụm 25
2.2.8 Ứng dụng phân cụm 25
2.3 Một số kĩ thuật phân cụm kết quả tìm kiếm Web hiện nay 26
2.3.1 Scather/Gather 26
2.3.2 Grouper 26
2.3.3 LINGO 26
2.4 Một số kĩ thuật xử lí tự động tài liệu văn bản 28
2.4.1 Phân tích từ vựng 28
2.4.2 Loại bỏ stop-words 28
2.4.3 Stemming 28
Trang 3CHƯƠNG 3 - PHÂN TÍCH NGỮ NGHĨA TIỀM ẨN VÀ FISHER
KERNEL 30
3.1 Mô hình không gian vectơ 30
3.1.1 Trọng số từ 31
3.1.2 Độ đo tương tự giữa các tài liệu 32
3.2 Phân tích ngữ nghĩa tiềm ẩn (Latent Semantic Analysis - LSA) 33
3.2.1 Đặc điểm ngôn ngữ tự nhiên 34
3.2.2 Ý tưởng LSA 35
3.2.3 Mục tiêu LSA 36
3.2.4 Kĩ thuật LSA 36
3.2.4.1 Biểu diễn tập tài liệu dưới dạng bảng co_occurrence 36
3.2.4.2 SVD 37
3.2.4.2.1 Cơ sở toán học 38
3.2.4.2.2 Chi tiết kĩ thuật SVD 40
3.3 Fisher Kernel 50
3.3.1 Giới thiệu 50
3.3.2 Fisher Kernel 50
3.3.3 Xây dựng Fisher Kernel dựa trên LSA 51
CHƯƠNG 4 - GIẢI THUẬT PHÂN CỤM KẾT QUẢ TÌM KIẾM WEB THEO CÁCH TIẾP CẬN LSA VÀ FISHER KERNEL 55
4.1 Phân cụm tài liệu theo cách tiếp cận LSA và Fisher Kernel 55
4.1.1 Xác định phần tử đại diện nhóm 55
4.1.2 Giải thuật phân cụm phân hoạch theo LSA và Fisher Kernel (LSA-FK) 55
4.2 Phân cụm kết quả tìm kiếm Web theo cách tiếp cận LSA và Fisher Kernel 56
4.2.1 Tiền xử lí 58
4.2.2 Biểu diễn tập tài liệu dưới dạng bảng co_occurrence 59
4.2.2.1 Trích chọn từ đặc trưng 59
4.2.2.2 Đánh giá mức độ quan trọng của từ thông qua phương pháp trọng số từ 59
4.2.3 Khai phá các khái niệm ẩn bên trong tập tài liệu theo phương pháp LSA và tính độ tương tự giữa các tài liệu theo hàm đo độ tương tự Fisher Kernel 60
4.2.3 Phân cụm 60
4.2.5 Tạo nhãn 61
4.3 Mô hình thực hiện 62
4.3.1 Mô hình Carrot 2 62
4.3.2 Lí do chọn ngôn ngữ lập trình Java 64
Trang 4CHƯƠNG 5 - ĐÁNH GIÁ THỰC NGHIỆM 66
5.1 Các phương pháp đánh giá thực nghiệm 66
5.1.1 Sự thật (Ground truth) 66
5.1.2 Ý kiến người sử dụng 68
5.2 Đánh giá giải thuật LSA-FK 69
5.2.1 Giá trị k tối ưu 70
5.2.2 Ngưỡng tương tự 71
5.2.3 Tính tổng quát câu hỏi truy vấn 72
KẾT LUẬN 74
TÀI LIỆU THAM KHẢO 75
PHỤ LỤC 79
Trang 5DANH SÁCH HÌNH VẼ
Hình 1.1 Sự mất cân xứng giữa ý tưởng và câu hỏi truy vấn của người sử dụng
8
Hình 1.2 Khai phá Web 10
Hình 2.1 Cấu trúc bên trong của của máy tìm kiếm Web 12
Hình 2.2 Cấu trúc dữ liệu inverted index 13
Hình 2.3 Giao diện biểu diễn kết quả tìm kiếm của Google 16
Hình 2.4 Mô phỏng phân cụm 17
Hình 2.5 Tiến trình phân cụm tài liệu 19
Hình 2.6 Phân cụm phân cấp 23
Hình 3.1 Biểu diễn hình học SVD 41
Hình 3.2 Biểu diễn hình học mô hình khái niệm (aspect model) 50
Hình 4.1 Kiến trúc Carrot2 63
Hình 4.2 Kiến trúc Carrot2 theo dạng đường ống 63
Hình 4.3 Tiến trình phân cụm của Carrot2 64
Hình 5.1 Giao diện 70
Hình 5.2 Hình bên trái với q=0.77 , hình bên phải với q=0.90 71
Hình 5.3 Hình bên trái với ngưỡng tương tự 0.23 và bên phải 0.53 72
Hình 5.4 Bên trái câu hỏi “Clinton” và bên phải ““hillary rodham clinton” 73 DANH SÁCH BẢNG BIỂU Bảng 3.1 Một số phép đo độ tương tự giữa hai vectơ tài liệu X, Y Trong đó, xi, yi là trọng số thành phần thứ i của vectơ 33
Bảng 3.2 Ma trận biểu diễn quan hệ giữa các từ và các tài liệu 46
Trang 6BẢNG TỪ VIẾT TẮT
Từ hoặc cụm từ Từ viết tắt Từ tiếng Anh
Decomposition
Phân cụm kết quả tìm kiếm
Web theo cách tiếp cận LSA
và Fisher Kernel
and Fisher Kernel approach
to Clustering of Web Search Results
Độ đo tương tự Fisher
Kernel theo LSA
K(LSA(di ), R k )
TỪ KHÓA
Phân cụm, Phân cụm tài liệu, Phân tích ngữ nghĩa tiềm ẩn (LSA), Phân tích trị đặc biệt (SVD), Fisher Kernel
Trang 7MỞ ĐẦU
Hiện nay khai thác và tìm kiếm thông tin trên Internet là vấn đề được rất nhiều nhà nghiên cứu quan tâm Chúng ta đều biết, khối lượng thông tin trên Web khổng lồ, câu hỏi truy vấn của người sử dụng thường ít chính xác, nên số kết quả trả về từ các máy tìm kiếm có thể lên đến hàng trăm hay hàng ngàn tài liệu Do đó, tìm được chính xác tài liệu mình quan tâm là rất khó và đôi lúc là không thể Một trong những cách tiếp cận để giải quyết vấn đề này
là sử dụng kĩ thuật phân cụm tài liệu theo chủ đề tạo nên cách biểu diễn kết quả tìm kiếm Web cô động và rõ ràng Trong luận văn này tôi xin mạnh dạn
đề xuất giải thuật Phân cụm kết quả tìm kiếm Web theo cách tiếp cận phân tích ngữ nghĩa tiềm ẩn (Latent Semantic Analysis) và Fisher Kernel Tư tưởng chính của giải thuật là, trước tiên phân tích ngữ nghĩa tiềm ẩn bên trong tập kết quả để tìm ra các khái niệm bao hàm trong đó, sau đó phân cụm tập kết quả theo tư tưởng giải thuật phân cụm K-means sử dụng hàm độ đo tương tự Fisher Kernel để nhóm các kết quả theo khái niệm chúng mô tả Giải thuật được cài đặt trên mô hình Carrot2
Mặc dù bản thân đã nổ lực cố gắng, được sự tạo điều kiện nghiên cứu rất tốt của trường ĐH Công nghệ và sự hướng dẫn của thầy giáo Vũ Đức Thi, nhưng đề tài không tránh khỏi những thiếu sót, rất mong nhận được sự cộng tác của các chuyên gia, bạn bè và đồng nghiệp
Trang 8Chương 1 - GIỚI THIỆU TỔNG QUAN
Mặc dù hiện nay đã có rất nhiều máy tìm kiếm như Google1
, Altavista2, HotBot3, Lycos4, AllTheWeb5, v.v…giúp chúng ta rất nhiều trong việc tìm kiếm thông tin Song hầu hết các máy này đều thực hiện việc tìm kiếm dựa trên phương pháp tính hạng liên quan (Document Ranking) và biểu diễn kết quả tìm kiếm theo thứ tự hạng xuất hiện Tuy nhiên phương pháp này được đánh giá là không hiệu quả vì một vài nguyên nhân sau đây:
WWW là một kho dữ liệu khổng lồ và luôn được cập nhật thay đổi
do tính động của các trang Web, nên máy tìm kiếm chỉ có thể xây dựng được một phần bảng chỉ số tài liệu 6, do vậy không thể thực hiện tính hạng được cho tất cả các tài liệu
Người sử dụng đặt câu hỏi truy vấn quá ngắn không đủ để thể hiện được mục đích của họ Khi đó kết quả tìm kiếm là chung chung và
có thể lên đến hàng trăm hoặc hàng ngàn kết quả Theo thống kê cho
Trang 9biết không quá một nữa số người sử dụng duyệt quá trang thứ hai và chỉ có 3/4 người sử dụng duyệt hết 2 trang Vậy đa số người sử dụng duyệt tối đa 10-30 kết quả (mặc định hiển thị 10 – 20 kết quả trên
một trang), do đó bỏ qua một số kết quả tìm kiếm cần thiết nhất
Đa số người sử dụng gặp khó khăn trong việc đặt câu hỏi truy vấn nên câu hỏi thường không đúng như mong muốn Sở dĩ như vậy là
vì khi có ý định tìm thông tin trên WWW, thì trong suy nghĩ của họ cũng hình thành khái niệm về cái họ cần tìm Sau đó khái niệm này được chuyển thành một tập các từ và được sử dụng để đặt câu hỏi truy vấn Tuy nhiên tính chính xác của việc chuyển đổi khái niệm thành tập các từ lại phụ thuộc vào nhiều nhân tố, chẳng hạn như kinh nghiệm tìm kiếm, kiến thức cơ bản liên quan đến khái niệm đó, hoặc là sự thành thạo về ngôn ngữ Điều này tạo nên sự bất cân xứng giữa khái niệm và câu hỏi truy vấn Máy tìm kiếm lại chỉ có thể tìm kiếm và sắp xếp kết quả theo các từ khóa trong câu hỏi truy vấn, nên thứ tự hạng xuất hiện của các kết quả không đúng như mong muốn người sử dụng
Hình 1.1 Sự mất cân xứng giữa ý tưởng và câu hỏi truy vấn của người sử dụng
Trang 10 Hơn nữa, phương pháp tính hạng yêu cầu quá khắt khe về mức độ liên quan giữa kết quả tìm kiếm với câu hỏi truy vấn và giả định rằng các kết quả luôn so sánh được với nhau Tuy nhiên điều này là không đúng, vì đối với các câu hỏi truy vấn chung chung có những kết quả chỉ là chủ đề con nên việc so sánh giữa các kết quả không cân xứng Ví dụ, đối với câu hỏi truy vấn “jaguar”, kết quả trả về có thể bao gồm những từ về jaguar cars, jaguar as a cat, Mac OS X Jaguar v.v…
Ngoài ra phương thức này dễ bị Spam lợi dụng để đưa những trang Web xấu lên đầu
Do đó yêu cầu phát triển giao diện tương tác thông minh giữa người và máy, hỗ trợ người sử dụng trong việc tìm kiếm thông tin là cần thiết Nó đang
là một trong những vấn đề được nhiều nhà nghiên cứu quan tâm Mặc dù gần đây đã có nhiều giải thuật được đưa ra, nhưng tôi vẫn mạnh dạn đề xuất giải thuật Phân cụm kết quả tìm kiếm Web theo cách tiếp cận LSA và Fisher Kernel, viết tắt là LSA-FK, với hy vọng đóng góp được một giải thuật phân cụm tốt xử lí được vấn đề từ đồng nghĩa và từ đa nghĩa trong ngôn ngữ tự nhiên với mức độ nhất định
1.2 Phạm vi công việc
Để đạt được mục đích trên, tôi sẽ phải thực hiện những công việc sau:
Tìm hiểu hướng nghiên cứu hiện tại đối với bài toán tìm kiếm thông tin, đặc biệt tập trung vào khai phá nội dung trang Web và tối ưu kết quả trả về;
Vận dụng lí thuyết đại số tuyến tính và kĩ thuật phân tích ma trận để rút gọn số chiều của vectơ biểu diễn nội dung tài liệu, từ đó xây
Trang 11dựng cách biểu diễn tài liệu theo các khái niệm ngữ nghĩa ẩn bên trong tập tài liệu;
Vận dụng lí thuyết xác suất, thống kê toán học và Kernel Method để xây dựng hàm Fisher Kernel đo độ tương tự giữa các tài liệu
Cài đặt giải thuật LSA-FK trên nền Carrot2
;
Đánh giá giải thuật đề ra
Các vấn đề trên thuộc vào lĩnh vực khai phá Web – lĩnh vực riêng của khai thác và tìm kiếm thông tin Trong đó khai phá Web tiếp tục được phân thành một số lĩnh vực sau:
+ Khai phá sử dụng Web, phân tích mẫu truy cập và phân tích xu hướng cá nhân
+ Khai phá kết hợp cấu trúc Web, tập trung vào vấn đề phân tích các cấu trúc liên kết của Web
+ Cuối cùng khai phá nội dung Web, nghiên cứu các vấn đề tìm kiếm thông tin từ Internet Luận văn của tôi thuộc vào lĩnh vực sau cùng này
Khai phá sử dụng Web
Khai phá nội dung
trang Web
Tối ưu kết quả trả về
Khai phá các mẫu truy nhập
Phân tích các xu hướng cá nhân
Trang 121.3 Cấu trúc luận văn
Các phần còn lại của luận văn được tổ chức như sau:
Chương 2 tóm tắt ngắn gọn về máy tìm kiếm Web Đồng thời khảo sát các cách tiếp cận biểu diễn kết quả tìm kiếm Web, trong đó đặc biệt chú ý cách biểu diễn theo chủ đề Phần tiếp của chương này tôi trình bày về các kỹ thuật phân cụm và xử lí văn bản liên quan
Chương 3 giới thiệu các khái niệm sử dụng trong giải thuật phân cụm kết quả tìm kiếm Web Đầu tiên, trình bày hai mô hình Không gian vectơ và Phân tích ngữ nghĩa tiềm ẩn (Latent Semantic Analysis - LSA) được sử dụng nhiều trong bài toán tìm kiếm thông tin Sau cùng, trình bày về Fisher Kernel
Chương 4 trình bày chi tiết về giải thuật phân cụm LSA-FK và cho ví
dụ minh hoạ cần thiết Tóm tắt mô hình Carrot2 cài đặt giải thuật LSA-FK
Chương 5 trình bày các phương pháp đánh giá kết quả thực nghiệm, sau đó thực hiện đánh giá giải thuật LSA-FK
Trang 13Chương 2 - VẤN ĐỀ TÌM KIẾM WEB VÀ PHÂN CỤM TÀI LIỆU
2.1 Máy tìm kiếm Web
Máy tìm kiếm Web là một loại chương trình tiện ích hỗ trợ nhằm giúp người sử dụng tìm kiếm thông tin một cách nhanh chóng và đầy đủ Giao diện tương tác giữa người và máy khá đơn giản và thân thiện Người sử dụng chỉ cần đặt câu hỏi truy vấn về vấn đề quan tâm, sau đó lập tức máy trả về tập kết
quả tìm kiếm (snippets) Mỗi snippet bao gồm tựa đề, địa chỉ web của tài liệu
(được gọi là URL7) và miêu tả ngắn gọn nội dung chính tài liệu Web
2.1.1 Cấu trúc bên trong
Hình 2.1 Cấu trúc bên trong của của máy tìm kiếm Web
Web Crawler
Web Crawler là một trong hai thành phần tương tác trực tiếp với Internet, còn được gọi là Web Spider hoặc Robot Công việc chính của Web Crawler phát hiện những nguồn tài nguyên mới trên Web Để thực hiện công
Trang 14việc này, Web Crawler tìm kiếm đệ quy trên các đường link của tất cả các
trang đã được duyệt
Đồng thời, trong khi khai phá các nguồn tài nguyên mới trên Internet, Web Crawler kiểm tra liệu rằng các trang có còn giá trị sử dụng hay không và liệu chúng đã được cập nhật hay chưa Với chức năng này nó giúp cho máy tìm kiếm cập nhật được nguồn tài nguyên mới và xóa bỏ tài nguyên không còn giá trị sử dụng trong World Wide Web
Chỉ số tài liệu (Document Index)
Modul lập chỉ số tài liệu thực hiện chức năng xây dựng bảng chỉ số tài liệu hỗ trợ công việc tìm kiếm Thông thường, các hệ thống tìm kiếm thông tin thực hiện việc tìm kiếm các tài liệu hoặc dựa trên phương pháp lựa chọn tài liệu (Document Selection) có chứa các từ trong câu hỏi truy vấn, hoặc dựa trên phương pháp tính hạng liên quan (Document Ranking) đến câu hỏi truy vấn Do đó hầu hết các máy tìm kiếm đều sử dụng biến dữ liệu có cấu trúc
inverted index để hỗ trợ thực hiện công việc này Inverted index có cấu trúc
giống như bảng mục lục ở phần cuối của cuốn sách – tương ứng với mỗi một
từ là một danh sách liên kết chứa địa chỉ các trang trong đó nó xuất hiện Với kiểu lưu trữ này nó có khả năng giúp máy tìm kiếm xác định đúng các tài liệu liên quan đến câu hỏi truy vấn
Hình 2.2 Cấu trúc dữ liệu inverted index
Trang 15Lưu trữ tài liệu (Document Cache)
Hiện nay có nhiều máy tìm kiếm vừa lưu trữ bảng chỉ số tài liệu như ở phần trên, vừa lưu trữ bảng chỉ số tài liệu gốc Ví dụ như trong Google, bảng chỉ số tài liệu gốc được sử dụng để tạo các snippet và phục vụ cho việc lưu trữ các phiên bản của tài liệu
Tính hạng tài liệu liên quan (Document Ranking)
Chắc chắn rằng trong môi trường World Wide Web, thậm chí ngay cả với những câu hỏi truy vấn hoàn thiện và chính xác, số kết quả tìm kiếm vẫn có thể lên đến hàng ngàn hoặc hàng triệu Do vậy, cần phải có kĩ thuật tính hạng tài liệu liên quan và đó là công việc của modul tính hạng tài liệu liên quan
Modul xử lí truy vấn (Query Processor)
Modul xử lí truy vấn phối hợp thực hiện cùng với các modul trên để trả lời câu hỏi truy vấn của người sử dụng Cụ thể trong quá trình thực hiện, bộ
xử lí truy vấn kết hợp với bảng chỉ số tài liệu, modul lưu trữ tài liệu, modul tính hạng tài liệu liên quan để đưa ra tập kết quả tìm kiếm Sau đó tập kết quả này được đưa đến người sử dụng thông qua giao diện của máy tìm kiếm
Giao diện biểu diễn kết quả (Presentation interface)
Bất kì một chương trình ứng dụng nào, giao diện là nơi giao tiếp chính giữa người sử dụng với hệ thống máy tính Do vậy khi đánh giá chất lượng chương trình thì giao diện được xếp vào tiêu chí đầu tiên, nó có vai trò vô cùng quan trọng và có ảnh hưởng rất lớn đến toàn bộ chất lượng của chương trình Chính vì những lí do này mà các nhà nghiên cứu tập trung nghiên cứu nhiều về các hình thức biểu diễn giao diện
2.1.2 Biểu diễn kết quả tìm kiếm
Như trên đã thảo luận, giao diện đóng vai trò vô cùng quan trọng, thông
Trang 16qua nó người dùng có thể xác định được những thứ họ cần và các bước thực hiện tiếp theo Hầu hết hiện nay các máy tìm kiếm đều thực hiện việc tìm kiếm dựa trên phương pháp tính hạng liên quan (Document Ranking) và biểu diễn kết quả tìm kiếm theo thứ tự hạng xuất hiện Nhưng vì số lượng kết quả tìm kiếm có thể lên đến hàng ngàn tài liệu, nên người sử dụng không đủ thời gian và kiên nhẫn đọc toàn bộ lượng tài liệu này để xác định các tài liệu cần thiết Do vậy cần có một kĩ thuật mới để nâng cao hiệu quả trong việc duyệt tìm tài liệu Qua thực nghiệm người ta đã chứng minh được rằng việc duyệt tìm đối tượng theo chủ đề là rất nhanh [11] Vậy để nâng cao hiệu quả trong việc tìm kiếm, ta nên biểu diễn kết quả tìm kiếm Web theo chủ đề vì nó có những ưu điểm sau:
Tên chủ đề giúp người sử dụng phát hiện được chủ đề chính trong tập kết quả và do đó có thể xác định nhanh chóng tài liệu cần tìm
Việc phân chia tập kết quả theo chủ đề giúp người sử dụng có thể nghiên cứu thêm các tài liệu liên quan đến những chủ đề khác mà
nó thường bị bỏ qua khi duyệt kết quả tìm kiếm theo thứ tự hạng xuất hiện, vì những kết quả này thường rất xa so với các trang đầu Vậy vấn đề đặt ra là làm thế nào để có thể biểu diễn tập kết quả tìm kiếm theo chủ đề? Như chúng ta đều biết, tập kết quả phụ thuộc vào câu hỏi truy vấn, do đó không thể biết trước bất kỳ thông tin nào về các chủ đề chứa trong tập kết quả này Đây là một thách thức lớn đối với ngành khoa học máy tính Song cũng đã có nhiều giải pháp được đưa ra, một trong những giải pháp
là sử dụng phương pháp phân cụm tài liệu Phân cụm tài liệu thực hiện nhóm các tài liệu theo chủ đề và tạo ra mô tả nội dung của mỗi nhóm Như vậy, người sử dụng chỉ cần quan sát tóm tắt nội dung các nhóm và dễ dàng định vị được vùng tài liệu mà mình quan tâm
Trang 172.2 Phõn cụm
Để giải quyết một vấn đề phức tạp chỳng ta thường hay sử dụng phương phỏp chia để trị, cú thể hiểu nụm na là chia vấn đề phức tạp thành những vấn đề nhỏ ớt phức tạp hơn, đõy là cỏch thức rất tự nhiờn Với phương phỏp này chỳng ta cú thể dễ dàng nắm bắt được cỏc vấn đề cơ bản tiềm ẩn bờn trong vấn đề phức tạp hay được gọi là tỡm cấu trỳc bờn trong vấn đề Phương phỏp phõn cụm cũng xuất phỏt từ ý tưởng này, nú đó được ỏp dụng rộng rói và mang lại nhiều thành cụng trong nhiều lĩnh vực, vớ dụ như khai phỏ dữ liệu, thống kờ và thu thập thụng tin, v.v
tựa đề SNIPPET
tóm tắt nội dung
URL
Hỡnh 2.3 Giao diện biểu diễn kết quả tỡm kiếm Web của Google
Trang 182.2.1 Khái niệm phân cụm
Phân cụm là kĩ thuật quan sát và nhóm các đối tượng lại thành các cụm hoặc kĩ thuật chia một tập dữ liệu ban đầu thành các cụm sao cho thỏa mãn:
Các đối tượng trong mỗi cụm là tương tự hoặc gần nhau được xác định bằng độ tương tự Tức là, các phần tử trong mỗi cụm là tương tự nhau
Các đối tượng thuộc vào các cụm khác nhau thì không tương tự nhau Tức là, các phần tử thuộc cụm này thì phi tương tự với các phần tử thuộc cụm khác
Có thể định nghĩa phân cụm ở mức cơ bản nhất: “Phân cụm là quá trình
tổ chức các đối tượng thành các cụm sao cho các phần tử trong mỗi cụm tương tự nhau”
Ví dụ, minh họa phân cụm
Hình 2.4 Mô phỏng phân cụm
Cho tập dữ liệu (hình bên trái), tiến hành thực hiện phân cụm tập dữ liệu
Trang 19theo khoảng cách hình học Kết thúc quá trình phân cụm ta thu được 4 cụm như hình vẽ bên phải, các đối tượng trong cùng cụm có khoảng cách gần nhau Cách phân cụm theo kiểu này được gọi là phân cụm dựa vào khoảng cách
Ngoài ra, còn có một loại phân cụm khác dựa vào khái niệm Khi đó, các đối tượng trong cùng cụm đều liên quan đến khái niệm chung của cụm Hay nói cách khác, các đối tượng được nhóm lại theo nội dung chúng diễn tả, không đơn giản là chỉ dựa theo độ đo khoảng cách hình học Phân cụm tài liệu
là một trong những ứng dụng loại phân cụm này
2.2.2 Phân cụm tài liệu
Phân tích, tổ chức và sắp xếp kho tài liệu trên máy tính là một thách thức lớn đối với ngành khoa học máy tính Tác vụ chính cần phải thực hiện đối với công việc này là đánh giá mối quan hệ tương tự giữa các tài liệu Thực chất đây là bài toán phân cụm tài liệu
2.2.2.1 Khái niệm
Cho D = {d1, d2, …, dn} là một tập các tài liệu và (di, dj ) là độ tương
tự giữa hai tài liệu di và dj Phân cụm tài liệu là phân rã tập D thành k nhóm C
= {c1, c2,…, ck} thỏa mãn điều kiện các tài liệu cùng nhóm cùng chủ đề và các tài liệu khác nhóm khác chủ đề
2.2.2.2 Ứng dụng vào Phân cụm kết quả tìm kiếm Web
Trong khi phương pháp phân cụm được sử dụng để thực hiện nhiều tác
vụ khác nhau trong lĩnh vực thu thập thông tin [6, 7], phương pháp phân cụm tài liệu chỉ tập trung vào hai hướng nghiên cứu chính Thứ nhất, là công cụ cải tiến hiệu năng thu thập thông tin và là cách thức tổ chức kho tài liệu Ý tưởng phân cụm tài liệu áp dụng cho việc thu thập thông tin xuất phát từ lí thuyết nhóm [11], kết hợp các tài liệu liên quan theo yêu cầu lại với nhau Bằng việc
Trang 20nhóm các tài liệu theo từng cụm khi đó ta dễ dàng phân biệt được tài liệu nào
là liên quan và không liên quan với nhau, vì vậy hiệu quả thu thập tài liệu theo không gian nhóm được cải tiến đáng kể Thứ hai, là công cụ tiện ích hiệu quả khi duyệt tìm thông tin trong tập tài liệu lớn[11, 8] Gần đây nó được sử dụng để phân cụm kết quả tìm kiếm Web[30, 28]
Hình 2.5 Tiến trình phân cụm tài liệu
Khái niệm phân cụm kết quả tìm kiếm Web
Phân cụm kết quả tìm kiếm web là tổ chức sắp xếp tập kết quả tìm kiếm theo chủ đề, giống như cách tạo các thư mục với bố cục từ tổng thể đến chi tiết
Ví dụ đối với câu hỏi truy vấn “clinton” thì các kết quả được trình theo các chủ đề như: “Bill Clinton”, “Hillary Clinton”, “George Clinton”, “Clinton County” v.v…
Yêu cầu đối với phân cụm kết quả tìm kiếm Web
Liên quan : các tài liệu được xếp vào cùng chủ đề phải thực sự liên
quan với nhau
Tính tổng thể: Nhãn của từng chủ đề phải thể hiện được nội dung
chính của chủ đề, đồng thời phải ngắn gọn và súc tích
Nạp chồng: Mỗi một kết quả có thể thuộc về nhiều chủ đề khác
nhau
Tốc độ: theo yêu cầu của chương trình trực tuyến, tốc độ thực hiện
Trang 21được đặt lên hàng đầu, do vậy quá trình thực hiện phân cụm không được phép làm chậm quá trình hồi đáp kết quả truy vấn đến người sử dụng
Tăng tốc độ xử lí: Do yêu cầu về tốc độ, để tiết kiệm thời gian, giải
thuật cần phải xử lí từng kết quả ngay sau khi nhận được từ máy tìm kiếm Hiểu một cách nôm na, nhận được kết quả nào là xử lí ngay kết quả ấy không phải đợi nhận đủ rồi mới thực hiện
2.2.3 Các bước thực hiện phân cụm
1 Xây dựng thủ tục biểu diễn đối tượng,
2 Xây dựng hàm tính độ tương tự,
3 Xây dựng các tiêu chuẩn phân cụm ,
4 Xây dựng mô hình cho cấu trúc cụm dữ liệu,
5 Xây dựng thuật toán phân cụm và xác lập các điều kiện khởi tạo,
6 Đánh giá kết quả phân cụm
Trang 22tìm cấu trúc ẩn bên trong tập hợp dữ liệu chưa được phân loại
Vấn đề thường gặp trong phân cụm là hầu hết dữ liệu cần phân cụm đều chứa nhiễu do quá trình thu thập thiếu chính xác hoặc không đầy đủ, vì vậy cần phải xây dựng chiến lược cho bước tiền xử lí dữ liệu nhằm khắc phục hoặc loại bỏ nhiễu Dữ liệu bị nhiễu có thể được hiểu là dữ liệu không chính xác, hoặc dữ liệu bị khuyết thông tin về một vài thuộc tính nào đó Ngoài ra,
dò tìm phần tử ngoại lai cũng là một trong những hướng nghiên cứu quan trọng trong phân cụm, nhiệm vụ của nó là phát hiện một nhóm nhỏ các đối tượng khác thường so với các đối tượng khác trong dữ liệu phân cụm Khác thường có thể là không tuân theo các hành vi hoặc mô hình của dữ liệu nhằm tránh sự ảnh hưởng của chúng tới quá trình và kết quả của việc phân cụm Khám phá các phần tử ngoại lai đã được phát triển và ứng dụng trong viễn thông, dò tìm gian lận thương mại, làm sạch dữ liệu, v.v…
Phân cụm đang là vấn đề mở và khó
2.2.6 Giải thuật phân cụm
Như trên đã trình bày, tùy thuộc vào từng cấu trúc dữ liệu cụm mà có một giải thuật phân cụm phù hợp Đối với đối tượng dữ liệu là tập tài liệu thường thì người ta sử dụng mô hình không gian vectơ để biểu diễn và đã có nhiều giải thuật phân cụm được đề xuất cho mô hình này Dựa trên các phương pháp tiếp cận có thể phân các giải thuật này thành hai loại: thứ nhất theo phương pháp phân cụm phân hoạch và thứ hai theo phương pháp phân cụm phân cấp
2.2.6.1 Phương pháp phân cụm phân cấp
Phương pháp này xây dựng một phân cấp trên cơ sở các đối tượng dữ liệu đang xem xét Nghĩa là sắp xếp một tập dữ liệu đã cho thành một cấu trúc dạng cây, cấu trúc này được xây dựng theo kĩ thuật đệ quy Theo kĩ thuật này
Trang 23có hai cách tiếp cận phổ biến: hòa nhập nhóm hay được gọi là tiếp cận bottom-up, và phân chia nhóm hay được gọi là tiếp cận top-down
Kĩ thuật tiếp cận bottom-up: Bắt đầu xuất phát khởi tạo mỗi một nhóm tương ứng với mỗi một đối tượng và sau đó tiến hành hòa nhập đối tượng dựa vào độ đo tương tự giữa các nhóm Quá trình này được lặp lại cho đến khi tất
cả các nhóm được hòa nhập thành một nhóm (mức cao nhất của cây phân cấp) hoặc cho đến khi thỏa mãn điều kiện kết thúc Cách tiếp cận này sử dụng chiến lược ăn tham trong quá trình sát nhập
Kĩ thuật tiếp cận top-down: khởi đầu, tất cả các đối tượng được sắp xếp vào cùng một nhóm và sau đó tiến hành chia nhỏ các nhóm Mỗi vòng lặp, thực hiện phân chia nhóm thành các nhóm nhỏ hơn dựa vào độ đo tương tự giữa các nhóm Quá trình được lặp lại cho đến khi mỗi đối tượng là một nhóm riêng biệt hoặc khi thỏa điều kiện dừng Cách tiếp cận này sử dụng chiến lược chia để trị
Giải thuật 1 Phân cụm phân cấp
Input: tập đối tượng d1, , dn, độ đo tương tự (di, dj), i j; i, j = 1 n
1 Khởi tạo các nhóm từ tập đối tượng, mỗi đối tượng tạo thành một nhóm
2 for i = 1 to n - 1 do
3 Nhập hai nhóm tương tự nhau nhất thành một nhóm mới
4 end for
Trang 24Hình 2.6 Phân cụm phân cấp
Chú ý: Có nhiều phương thức đo mức độ tương tự giữa các nhóm, với
mỗi phương thức sẽ thu được các kết quả khác nhau:
Single-linked: khoảng cách giữa hai nhóm được định nghĩa là khoảng cách bé nhất giữa hai đối tượng thuộc hai nhóm khác nhau
Complete-linked : ngược với single-linked, khoảng cách giữa hai nhóm được định nghĩa là khoảng cách lớn nhất giữa hai đối tượng thuộc hai nhóm khác nhau
Average-linked: khoảng cách giữa hai nhóm được định nghĩa là khoảng cách trung bình của tất cả các cặp đối tượng, trong cặp đó mỗi đối tượng thuộc về một nhóm khác nhau
Độ phức tạp tính toán của giải thuật phân cụm phân cấp là O(n2
logn) và chi phí bộ nhớ O(n2), trong đó n là số đối tượng (tài liệu) Giải thuật này là không hiệu quả đối với tập đối tượng cực lớn Khi đó ta áp dụng phương pháp phân cụm phân hoạch
2.2.6.2 Phương pháp phân cụm phân hoạch
Kĩ thuật này xây dựng một phân hoạch của tập dữ liệu n đối tượng thành
tập k nhóm theo điều kiện tối ưu Khởi đầu, giải thuật phân cụm phân hoạch
Trang 25K-means là được sử dụng nhiều nhất và sau đó có thêm các kiểu cải tiến thay đổi của nó (K-mediods mỗi nhóm được đại diện bởi phần tử trong nhóm)
K-means là thuật toán phân cụm được định nghĩa theo phần tử đại diện, nghĩa là mỗi nhóm được xác định bởi tâm của nhóm (điểm có khoảng cách đều với tất cả các cạnh của cái gì đó, điểm hoặc phần tử chính của cái gì đó) Phương pháp này dựa vào độ đo khoảng cách giữa các đối tượng trong cụm Trong thực tế, phần tử trung tâm thường được xác định theo trung bình khoảng cách giữa các đối tượng trong mỗi cụm Như vậy, bắt đầu cần phải khởi tạo một tập các phần tử trung tâm cụm Sau đó thực hiện xác lập cụm theo các tâm cụm (phần tử nào gần với tâm cụm nào nhất thì sẽ thuộc vào cụm đó) và xác
định lại tâm cụm Thực hiện lặp lại cho đến khi thỏa điều kiện hội tụ
Chú ý: theo phương pháp K-means việc chọn k tâm cụm là được chọn
ngẫu nhiên
Giải thuật 2: Giải thuật K-means
Input: Tập n đối tượng, k nhóm
Bước 1 Phân tập n đối tượng thành k tập con tùy ý khác rỗng
Bước 2 Xác định tâm của mỗi nhóm
Bước 3 Phân các đối tượng vào cụm mà nó gần tâm nhất
Bước 4 Quay lại bước 2, hoặc dừng khi không hoặc còn ít sự thay đổi
Độ phức tạp tính toán của giải thuật K-means tương đối thấp (kn),
trong đó k là số nhóm, n là số đối tượng (tài liệu) Vì vậy giải thuật này được
đánh giá là thích hợp trong việc ứng dụng phân cụm tập tài liệu kích thước lớn
Một vài điều kiện hội tụ thường được sử dụng trong phân cụm phân cấp [33]
Trang 262.2.7 Đánh giá kết quả phân cụm
Làm thế nào để đánh giá được chất lượng cụm? Trong thực tế, không
có một tiêu chuẩn tuyệt đối nào, tùy theo các mục đích phân cụm sẽ có các tiêu chuẩn cụm khác nhau phù hợp với yêu cầu sử dụng Các tiêu chuẩn này được người sử dụng đưa ra tùy theo từng bài toán phân cụm cụ thể
Tuy nhiên, nhìn chung một phương thức phân cụm được đánh giá là tốt nếu tạo ra được các cụm có chất lượng cao, tức là các đối tượng trong cùng cụm có mức tương tự với nhau rất cao, còn các đối tượng không cùng cụm mức tương tự rất thấp (phi tương tự) Ngoài ra, chất lượng của phương pháp phân cụm còn được đánh giá bằng khả năng khám phá một vài hoặc tất cả cấu trúc ẩn bên trong nó
Ta có thể tổng quát rằng, bản chất của việc phân cụm là xác định các đối tượng tương tự nhau để nhóm lại thành cụm Do đó, chất lượng của kết quả phân cụm phụ thuộc chủ yếu hàm độ đo tương tự Vậy hàm độ đo tương
tự đóng vai trò quyết định chất lượng cụm dữ liệu
2.2.8 Ứng dụng phân cụm
Phân cụm dữ liệu có thể được ứng dụng trong nhiều lĩnh vực:
Thương mại: phân nhóm khách hàng theo hành vi mua hàng từ cơ sở
dữ liệu lớn chứa các thông tin về thuộc tính và hành vi mua sắm của khách hàng
Sinh học: phân lớp động vật và thực vật theo tập thuộc tính của chúng
Thư viện: phân loại sách
Nghiên cứu trái đất: phân cụm để theo dõi các tâm động đất từ đó xác định được các vùng nguy hiểm
WWW: phân cụm kết quả tìm kiếm web, v.v…
Trang 272.3 Một số kĩ thuật phân cụm kết quả tìm kiếm Web hiện nay
2.3.1 Scather/Gather
Scather/Gather xuất phát từ ý tưởng duyệt tập tài liệu theo nhóm chủ đề
Nó đã được chứng minh là có hiệu quả trong việc đặt câu hỏi truy vấn theo chủ
đề [19] Scather/Gather thực hiện nhóm các tài liệu theo chủ đề, và biểu diễn
các nhãn mô tả tóm tắt nội dung của mỗi nhóm đến người sử dụng Nhãn tóm
tắt gồm có tên chủ đề và số lượng tài liệu trong mỗi nhóm Scather/Gather áp dụng phương pháp phân cụm phân hoạch, khi đó tập tài liệu n được phân thành
k nhóm, mỗi tài liệu được biểu diễn bởi một vectơ trọng số theo phương pháp TF-IDF Hệ số góc cosin được sử dụng để đo độ tương tự giữa các tài liệu và
giữa các nhóm
2.3.2 Grouper
Grouper là hệ thống post-retrieval đầu tiên, được thiết kế dành riêng
cho phân cụm kết quả tìm kiếm Nó sử dụng giải thuật Suffix Tree Clustering (STC) để nhóm các tài liệu có sử dụng chung cụm từ (chuỗi từ có trật tự)
thành một nhóm Grouper sử dụng cấu trúc dữ liệu kiểu suffix tree (kiểu
inverted index) Tiến trình phân cụm được thực hiện như sau: duyệt cây và nhập các node có chung cụm từ Sau đó sử dụng cụm từ xuất hiện nhiều nhất trong mỗi nhóm làm nhãn Cách tiếp cận này cho phép các nhóm chồng nhau (một tài liệu có thể thuộc vào nhiều nhóm)
2.3.3 LINGO
LINGO [18] dựa trên ý tưởng của Vivisimo LINGO gồm có 4 bước Bước đầu tiền xử lí dữ liệu, sau đó trích chọn các từ đặc trưng Bước thứ hai sử dụng kĩ thuật Latent Semantic Indexing (LSI) xây dựng ma trận xấp xỉ từ - tài liệu và tìm các khái niệm bao hàm trong tập tài liệu Nhãn của mỗi nhóm được tạo ra bằng cách kết hợp các từ trích chọn ở pha trước có nghĩa gần với các
Trang 28khái niệm trong tập tài liệu theo độ đo cosin Khi đó các tài liệu được phân vào
mỗi nhóm theo khái niệm và nhãn Tốc độ của giải thuật phụ thuộc vào thời gian phân tích trị đặc biệt (Singular Value Decomposition –SVD) của ma trận
từ - tài liệu
Ngoài ra còn có một số kĩ thuật AHC (Agglomerative Hierarchical Clustering)[31], CHCA (Class Hierarchy Construction Algorithm)[4], TRSM (Tolerance Rough Set Model)[16]
Hình 2.7 Giao diện biểu diễn kết quả tìm kiếm Web của Vivísimo
Trang 292.4 Một số kĩ thuật xử lí tự động tài liệu văn bản
2.4.1 Phân tích từ vựng
Phân tích từ vựng là phân tách tài liệu thành các từ riêng biệt Tuy nhiên trong một vài trường hợp đặc biệt cần phải có cách hành xử khác trong khi phân tách, chẳng hạn như số, dấu ngoặc, dấu chấm câu và trường hợp chữ hoa, chữ thường Ví dụ về cách hành xử đặc biệt, số thường bị loại ra trong khi phân tích vì một mình nó không mang lại một ý nghĩa nào cho tài liệu (ngoại trừ một vài trường hợp đặc biệt, chẳng hạn trong thu thập thông tin về lĩnh vực lịch sử) Dấu chấm câu, ví dụ như “.”, “!”, “?”, “-“, v.v… cũng thường được loại ra mà không có ảnh hưởng gì đến nội dung của tài liệu Ngoài ra cần phải chú ý một vài trường hợp sau, chẳng hạn đối với những từ ghép nối (state-of-the-art) là không được phép bỏ dấu “-“, vì sẽ làm thay đổi nghĩa của từ
từ và tính từ đặc biệt
2.4.3 Stemming
Stemming là loại bỏ tiền tố và hậu tố của từ để biến đổi về từ gốc Vì trong thực tế một từ gốc có thể có nhiều hình thái biến đổi, chẳng hạn như động từ, danh từ, tính từ, trạng từ; và giữa chúng có mối quan hệ ngữ nghĩa Như vậy, Stemming có thể làm giảm số lượng từ mà không ảnh hưởng đến nội dung tài liệu
Trang 30Ví dụ như những từ: “clusters”, “clustering”, “clustered” là có cùng mối quan hệ với từ “cluster”
Tuy nhiên cần phải thận trọng khi xây dựng giải thuật stemming Nếu giải thuật stemming chỉ sử dụng một tập các quy tắc đơn giản để loại bỏ tiền tố/hậu tố thì có thể dẫn đến hậu quả là sinh ra các từ không chính xác Ví dụ như “computing”, “computation” sau khi stemming sẽ còn là “comput” trong khi đó từ đúng phải là “compute‟
Trang 31Chương 3 - PHÂN TÍCH NGỮ NGHĨA TIỀM ẨN VÀ FISHER KERNEL
Chương này giới thiệu các khái niệm sử dụng trong giải thuật phân cụm kết quả tìm kiếm Web Đầu tiên, trình bày hai mô hình Không gian vectơ và Phân tích ngữ nghĩa tiềm ẩn (Latent Semantic Analysis - LSA) được sử dụng nhiều trong bài toán tìm kiếm thông tin Sau cùng, trình bày về Fisher Kernel
3.1 Mô hình không gian vectơ
Trong bài toán khai thác tìm kiếm thông tin, mỗi tài liệu được xem như
là một chuỗi các từ, và chúng thường được biểu diễn dưới dạng vectơ nhiều chiều Mỗi một chiều tương ứng với một từ riêng biệt Với cách biểu diễn này chúng ta có thể dễ dàng thực hiện phân cụm tài liệu Tuy nhiên, vì phụ thuộc vào số từ riêng biệt trong tài liệu nên số chiều của vectơ thường rất lớn Việc tính toán trong không gian nhiều chiều tốn nhiều thời gian và đôi lúc không thể thực hiện vì hạn chế không gian nhớ và thời gian thực Do đó, để sử dụng hiệu quả cách biểu diễn này trước tiên cần phải giảm số chiều của vectơ
Như chúng ta đều biết, thường thì nội dung của tài liệu đúng bằng nghĩa của tất cả các từ trong nó cộng lại Tuy nhiên, điều đó không có nghĩa
là tất cả các từ trong tài liệu đều có ý nghĩa diễn đạt nội dung tài liệu Vì vậy chúng ta chỉ cần biểu diễn những từ có nghĩa Khi đó số chiều của vectơ sẽ được giảm đáng kể kéo theo làm giảm độ phức tạp tính toán, song vẫn đảm bảo tính toàn vẹn nội dung tài liệu Do đó bước tiền xử lí dữ liệu là không thể thiếu được Nó bao gồm các bước xử lí sau: phân tích từ vựng, stemming, loại
bỏ stop_word, v.v…(xem 2.4)
Sau khi hoàn thành các bước tiền xử lí, ta có thể biểu diễn tập tài liệu theo mô hình không gian vectơ như sau:
Trang 32Giả sử có tập N tài liệu d1, d2, …, dN và tập M từ (sau khi xử lí) Khi
đó, mỗi tài liệu di sẽ được biểu diễn như sau: di = [w1i, w2i, …, wMi]T với wji là trọng số của từ thứ j trong tài liệu di
trong đó tfij là tần số xuất hiện của từ j trong tài liệu di
Phương pháp trọng số TF*IDF (term – frequency – inverse document frequency): gọi t1, t2,…., tm là số từ được trích trọn trong tập D và d1, d2,….,
dn là tập tài liệu Theo phương pháp TF*IDF, trọng số của mỗi từ tj trong tài liệu di được định nghĩa như sau:
w i,j = tf ij * log(n/df i ) , CT 3.2
trong đó,
tfij là số lần xuất hiện của từ tj trong tài liệu di
dfi là số tài liệu trong tập D có chứa từ tj
Phương pháp này và các phiên bản cải tiến của nó thường hay được sử dụng Thực chất theo TF*IDF những từ xuất hiện thường xuyên trong tài liệu
Trang 33(nhân tố TF) thì quan trọng hơn những từ chỉ xuất hiện một vài lần Tuy nhiên, những từ thường xuất hiện trong hầu hết tập tài liệu thì ít hữu ích trong phân biệt nội dung ngữ nghĩa giữa các tài liệu, vì vậy sử dụng nhân tố IDF để làm giảm vai trò của những từ này
3.1.2 Độ đo tương tự giữa các tài liệu
Với cách biểu diễn tập tài liệu theo mô hình không gian vectơ, người ta thường hay sử dụng các độ đo sau để đo độ tương tự giữa các vectơ tài liệu
cả các tài liệu cùng chủ đề Do vậy theo các công thức tính trên thì không thể cho được kết quả chính xác về mức độ tương tự giữa các tài liệu Thứ nhất, đánh giá thấp về mức độ tương tự giữa hai tài liệu mặc dù trong thực tế là chúng khá tương tự, nguyên nhân do từ đồng nghĩa Thứ hai, nó lại đánh giá cao về mức độ tương tự giữa các tài liệu dù rằng trong thực tế là chúng khá khác nhau, nguyên nhân do từ đa nghĩa
Do đó để khắc phục những vấn đề trên, người ta đã đưa ra một phương thức biểu diễn tài liệu mới, đó là biểu diễn theo không gian khái niệm tiềm ẩn bên trong tập tài liệu và xây dựng hàm Fisher Kernel để đo mức độ tương tự giữa các tài liệu
Trang 34Hệ số góc
Y X
Y X
2
t i i i
t i
i i
y x
y x
2 2
1
2
Y X
Y X
t i i i
t i
i i
y x
y x
2 2
1
Hệ số Jaccard
Y X Y X
Y X
t i
t i
i i i
i
t i
i i
y x y
x
y x
2 2
1
Bảng3.1 Một số phép đo độ tương tự giữa hai vectơ tài liệu X, Y Trong đó, x i ,
y i là trọng số thành phần thứ i của vectơ
3.2 Phân tích ngữ nghĩa tiềm ẩn (Latent Semantic Analysis - LSA)
Như trên đã thảo luận, khi biểu diễn tài liệu theo mô hình không gian
vectơ và sử dụng các độ đo tương tự (bảng 3.1) để đo mức độ tương đồng
giữa các tài liệu thì kết quả sẽ không chính xác, nguyên nhân do vấn đề từ đồng nghĩa và từ đa nghĩa Vì vậy trong phần này, tôi xin trình bày cách khắc phục những vấn đề trên bằng cách xây dựng hàm độ đo tương tự Fisher Kernel dựa trên LSA
Trang 353.2.1 Đặc điểm ngôn ngữ tự nhiên
Bất cứ ai trong chúng ta cũng đều biết, ngôn ngữ tự nhiên rất đa dạng
và phong phú, trong đó chứa đựng rất nhiều từ đồng nghĩa và từ đa nghĩa
Theo quan niệm truyền thống, từ đồng nghĩa là những từ có nghĩa gần nhau hay giống nhau Theo quan niệm hiện đại, dựa vào tương quan ngữ cảnh, một
số tác giả cho rằng từ đồng nghĩa là từ có thể thay thế được cho nhau trong những ngữ cảnh giống nhau mà ý nghĩa chung của câu về cơ bản là không thay đổi Dựa vào nghĩa biểu vật và sự vật, hiện tượng được gọi tên cho rằng
từ đồng nghĩa là những từ có nghĩa giống nhau; là những từ khác nhau cùng
chỉ một sự vật, một đặc tính, một hành động nào đó; là những tên khác nhau của một hiện tượng Dựa vào nghĩa biểu niệm và khái niệm, trong hệ thống ngôn ngữ, nói đến hiện tượng đồng nghĩa là phải nói đến sự giống nhau của các nghĩa sở biểu Trong luận văn này, để thống nhất tôi quan niệm từ đồng nghĩa là những từ gần nhau về nghĩa, nhưng khác nhau về âm thanh, biểu thị các sắc thái của một khái niệm Như vậy có thể quan niệm về từ đồng nghĩa như sau: từ đồng nghĩa là những từ có hình thức ngữ âm khác nhau nhưng có quan hệ tương đồng về nghĩa biểu niệm Trong khi đó từ đa nghĩa là những từ
sử dụng vỏ ngữ âm giống nhau để biểu thị những ý nghĩa khác nhau Hoặc nói cách khác, từ đa nghĩa là từ có nhiều hơn một nghĩa phân biệt Do vậy, mặc
dù cùng sử dụng một từ nhưng trong những hoàn cảnh khác nhau thì có thể hiểu theo những nghĩa khác nhau tùy thuộc vào hoàn cảnh
Vì những lí do trên nên có rất nhiều cách khác nhau để diễn tả một chủ
đề Chính vì vậy mà không nhất thiết hai tài liệu phải cùng sử dụng từ miêu tả giống nhau mới được đánh giá là tương tự nhau hoặc là có cùng chủ đề Vậy làm thế nào để có thể đánh giá đúng về mối quan hệ giữa hai tài liệu thông qua các từ sử dụng trong chúng, đây là một vấn đề đang được nhiều nhà nghiên cứu quan tâm Trong thực tế đời sống, vấn đề này được giải quyết rất
Trang 36đơn giản bằng cách xét nghĩa của từ theo ngữ cảnh cụ thể hoặc theo khái niệm Do vậy, để cho máy tính cũng có thể hiểu đúng như con người, các nhà nghiên cứu cũng đã cố gắng đưa ra các mô hình phù hợp LSA là một trong những mô hình được sử dụng phổ biến [25, 26, 29, 23] Với mô hình này các vấn đề từ đồng nghĩa và từ đa nghĩa được giải quyết một cách thỏa đáng
3.2.2 Ý tưởng LSA
Xuất phát từ lập luận, trong tập tài liệu luôn tồn tại các khái niệm ngữ nghĩa tiểm ẩn mà phương pháp phân tích ngữ nghĩa tiềm ẩn đã ra đời Có thể hiểu, phân tích ngữ nghĩa là đưa ra cách “hiểu” văn bản qua mối liên quan ngữ nghĩa của văn bản với tập khái niệm cho trước Khái niệm là ý chung và trừu tượng về một vật, do hoạt động của trí tuệ tạo nên qua các kinh nghiệm đúc kết thành Các khái niệm này biểu thị nghĩa thông qua tập từ khóa sử dụng trong nó Ví dụ, khi nói đến “bệnh viện” thì ta nghĩ ngay đến bác sĩ, y tá, bệnh nhân, thuốc, v.v
Vậy LSA là gì? Phát biểu một cách hình thức, LSA là kĩ thuật chuyển đổi ma trận gốc biểu diễn quan hệ giữa các từ với các tài liệu thành ma trận biểu diễn quan hệ giữa các từ với các khái niệm, và ma trận biểu diễn quan hệ giữa các khái niệm với các tài liệu Sau khi chuyển đổi, từ và tài liệu quan hệ gián tiếp với nhau thông qua các khái niệm Với cách biểu diễn này ngay cả những tài liệu không cùng sử dụng từ miêu tả nội dung vẫn có thể được đánh giá là tương tự nhau
LSA thực hiện được phép biến đổi trên là nhờ vào kĩ thuật thống kê và suy diễn theo các từ sử dụng trong các đoạn văn của các tài liệu Hay nói cách khác, LSA là phương pháp trích chọn và biểu diễn quan hệ từ - tài liệu theo các khái niệm ngữ nghĩa nhờ vào phương pháp thống kê toán học (Landauer and Dumais, 1997), cụ thể hơn là dựa trên kĩ thuật phân tích trị đặc biệt
Trang 37(Singular Value Decomposition - SVD)[13]
Dựa trên cơ sở lí thuyết thống kê toán và đại số tuyến tính, LSA có thể phân tích, suy luận và rút ra được các khái niệm tiềm ẩn bên trong tập tài liệu Điểm nổi bậc của LSA là phương thức học nghĩa của từ giống như cách học của các trẻ lên ba lên bốn Tức là học thông qua quan sát cách sử dụng từ trong từng hoàn cảnh cụ thể, hoàn toàn không qua các định nghĩa tường minh
Do vậy mà không cần phải sử dụng thêm bất kỳ kiến thức nào, ví dụ từ điển, WorldNet v.v… Một điều ngạc nhiên hơn nữa, nhìn chung kết quả học của LSA tốt hơn so với con người Sở dĩ như vậy là vì việc hiểu nghĩa của con người phụ thuộc nhiều vào tri thức của từng người cụ thể
3.2.3 Mục tiêu LSA
Mục tiêu của LSA là giảm số chiều n của không gian thuộc tính Để thực hiện mục tiêu này nó thực hiện ánh xạ không gian vectơ từ (có số chiều rất lớn) vào không gian khái niệm (có số chiều ít hơn nhiều) Thực chất phép ánh xạ này là ánh xạ các từ thường xuyên xuất hiện cùng nhau vào cùng một vectơ Ngoài ra ta có thể hiểu, LSA là kĩ thuật biến đổi trực giao nhằm mục đích tách các thành phần độc lập (tách theo các khái niệm)
3.2.4 Kĩ thuật LSA
3.2.4.1 Biểu diễn tập tài liệu dưới dạng bảng co_occurrence
Theo phương pháp thống kê toán, mỗi tài liệu có thể được biểu diễn rút gọn thông qua tần số xuất hiện của từ trong tài liệu Bỏ qua trật tự xuất hiện của các từ, tập tài liệu D = {d1, d2,…., dN} chứa tập từ W = { w1, w2,…,wM},
có thể được biểu diễn dưới dạng bảng co_occurrence kích thước MxN Giá trị
phần tử [j, i] của bảng là tần số xuất hiện của từ wj trong tài liệu di , kí hiệu n(wj, di)
Trang 38Bảng co_occurrence có thể viết dưới dạng sau: N = (n(wj, di))j,i được gọi là ma trận từ - tài liệu Trong đó, hàng biểu diễn các tài liệu, cột biểu diễn các từ trong tập tài liệu, mỗi phần tử n(wj, di) trong bảng là số lần từ wj được
sử dụng trong tài liệu di
3.2.4.2 SVD
Như trên đã trình bày, LSA sử dụng kĩ thuật SVD với mục đích xác định các khái niệm ẩn bên trong tập tài liệu Vậy SVD là gì mà có thể thực hiện được công việc này?
SVD là kĩ thuật phân tích trị đặc biệt của ma trận dựa trên cơ sở toán đại số và thống kê, chi tiết hơn là nó sử dụng kĩ thuật phân tích vectơ riêng, phân tích trị riêng và phân tích thừa số Phương pháp này được đánh giá là thích hợp trong xử lí ngôn ngữ tự nhiên
Sơ khởi ban đầu, kĩ thuật phân tích này được áp dụng cho mô hình mode, nghĩa là các ma trận biểu diễn các đối tượng cùng kiểu, chẳng hạn ma trận tài liệu – tài liệu Mục đích biểu diễn theo ma trận dạng này là để đánh giá mối quan hệ tương tự giữa các tài liệu, hoặc để đo mức độ sử dụng chung
one-từ vựng giữa các cặp tài liệu Quá trình phân tích ma trận vuông kiểu này còn
được gọi là phân tích trị riêng “Eigen-analysis”, và khi đó kết quả thu được là
hai ma trận có cấu trúc đặc biệt Một là, ma trận trị riêng (eigenvalues) có dạng ma trận chéo; hai là, ma trận vectơ riêng (eigenvectors) tương ứng với từng trị riêng Đặc biệt, các vectơ thành phần của hai ma trận là độc lập Nhìn chung, nhiều vectơ thành phần của hai ma trận này có giá trị rất nhỏ, và do
đó có thể được bỏ qua tạo nên ma trận xấp xỉ ít vectơ thành phần hơn so với
ma trận đầu
Tuy nhiên trong thực tế phát sinh, không phải lúc nào SVD cũng chỉ áp dụng cho mô hình one-mode mà còn được áp dụng cho mô hình two-mode;
Trang 39nghĩa là không chỉ áp dụng cho ma trận vuông đối xứng giữa cặp các đối tượng cùng kiểu mà còn áp dụng cho ma trận chữ nhật với các đối tượng khác nhau trên các hàng và các cột, ví dụ ma trận từ - tài liệu Do đó để có thể áp dụng cho ma trận chữ nhật kĩ thuật này được sửa đổi thành phân tích trị đặc
biệt “Singular Value Decomposision - SVD” Khi thực hiện quá trình SVD
trên ma trận hình chữ nhật thu được ba ma trận có cấu trúc đặc biệt Một ma trận chéo trị đặc biệt (singular values) và hai ma trận vectơ đặc biệt (singular vectors) tương ứng với từng trị đặc biệt Giống như trong mô hình one-mode các vectơ thành phần của các ma trận là độc lập Và có nhiều vectơ thành phần có giá trị rất nhỏ, do đó có thể bỏ qua các vectơ thành phần này tạo nên các ma trận xấp xỉ chứa ít vectơ thành phần hơn so với ma trận đầu Sau đó để tính mức độ tương tự giữa từ - từ, tài liệu – tài liệu, từ - tài liệu thì sử dụng các ma trận xấp xỉ này
Theo quan sát ở trên, dễ dàng nhận thấy rằng trong quá trình SVD lại
phát sinh thêm vấn đề chọn hạng k như thế nào để có thể xây dựng được ma
trận xấp xỉ tốt nhất của ma trận ban đầu Với giả thiết là dữ liệu trong ma trận ban đầu bị nhiễu, không tin cậy nên không cần xây dựng ma trận xấp xỉ chính
xác bằng ma trận A ban đầu Do vậy, việc chọn giá trị k chỉ phụ thuộc vào số khái niệm có nghĩa trong tập tài liệu Nếu giá trị k là quá bé thì có thể một vài khái niệm ẩn bên trong tập tài liệu bị mất Ngược lại, nếu giá trị k quá lớn thì
vấn đề khử nhiễu không được thực hiện tốt
Tóm lại, với bài toán phân loại tài liệu LSA có thể được xem là kĩ thuật phân loại tài liệu theo các khái niệm ẩn bên trong tập tài liệu gốc ban đầu nhờ quá trình SVD
3.2.4.2.1 Cơ sở toán học
Định nghĩa SVD: Cho ma trận Am x n, không mất tính tổng quát m > n
Trang 40và rank(A) = r, khi đó SVD của A được định nghĩa như sau:
A = UV T CT 3.3
trong đó:
UTU = VTV = In và = diag (1, 2,…., n), i > 0 với 1 < i < r, i = 0 với j > r + 1
r cột đầu của ma trận trực giao U và V là các vectơ riêng trực giao tương ứng với r trị riêng khác 0 của AAT
và ATA là ma trận vuông chéo xác định dương, giá trị của các phần tử trong nó bằng căn bậc hai các trị riêng của ma trận AAT
Do vậy, các cột của ma trận U là các vectơ đặc biệt bên trái, còn các cột của ma trận V là các vectơ đặc biệt bên phải [10]
Hai định lí quan trọng dưới đây được sử dụng để giải thích kĩ thuật SVD khai phá thông tin quan trọng ẩn bên trong ma trận
Định lí 1: Thực hiện SVD ma trận A theo công thức 3.3 và có 1 > 2 >
… > r > r+1 = … = n = 0 và gọi R(A) và N(A) lần lượt là hạng và không gian null của A Khi đó,
Tính chất hạng ma trận: rank(A) = r, N(A) span {vr+1, …., vn} (tập tất cả các tổ hợp tuyến tính của các vectơ vr+1, …., vn được gọi là bao tuyến tính), và R(A) span { u1, …., ur}, trong đó U = [u1 u2 … um] và
i v u A