Tải bản đầy đủ (.pdf) (83 trang)

Phân cụm tập 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 và fisher kernel

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.16 MB, 83 trang )








ĐẠI HỌC QUỐC GIA HÀ NỘI
Trường Đại học Công nghệ
––––––––––oOo––––––––––







Nguyễn Thị Ngọc Thanh


PHÂN CỤM TẬP 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 VÀ FISHER
KERNEL


LUẬN VĂN THẠC SỸ
















Hà Nội

1
MỤ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

2
CHƢƠ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

3
CHƢƠ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


4
DANH 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 Carrot
2
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 đó,
x
i
, y
i
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



5
BẢNG TỪ VIẾT TẮT
Từ hoặc cụm từ
Từ viết tắt
Từ tiếng Anh
Phân tích ngữ nghĩa tiềm ẩn
LSA
Latent Semantic Analysis
Phân tích trị đặc biệt

SVD
Singular Value
Decomposition
Phân cụm kết quả tìm kiếm
Web theo cách tiếp cận LSA
và Fisher Kernel.
LSA-FK
Latent Semantic Analysis
and Fisher Kernel approach
to Clustering of Web
Search Results.
Kết quả tìm kiếm Web
Snippet
Result Search Web
Độ đo tương tự Fisher
Kernel theo LSA
K(LSA(d
i
), 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.

6
MỞ ĐẦ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 Carrot
2
.
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.

7
Chƣơng 1 - GIỚI THIỆU TỔNG QUAN
1.1 Động lực
Ngày nay, cùng với sự bùng nổ thông tin và sự phát triển của mạng
truyền thông, Word Wide Web trở thành nguồn tài nguyên thông tin khổng lồ
và quý giá, luôn sẵn sàng phục vụ tất cả mọi người. Nếu không có nó mọi
hoạt động diễn ra hàng ngày sẽ kém hiệu quả. Nhưng làm thế nào sử dụng
nguồn tài nguyên ấy hiệu quả là vấn đề không đơn giản. Điều này phụ thuộc
vào nhiều yếu tố như kinh nghiệm tìm kiếm, kiến thức cơ bản liên quan đến

lĩnh vực cần nghiên cứu, hoặc là sự thành thạo về ngôn ngữ v.v…
Mặc dù hiện nay đã có rất nhiều máy tìm kiếm như Google
1
1
, Altavista
2
2
,
HotBot
3
3
, Lycos
4
4
, AllTheWeb
5
5
, 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
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


1
1

2
2

3
3
http://www hotbot.com
4
4

5
5

6
6
Theo thông tin Google năm 2001 bảng chỉ số có 1.35 tỷ trang, năm 2003 có trên 3.08 tỷ trang

8
biế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

9
 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

10
dự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 Carrot
2
;
 Đá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.









Hình 1.2 Khai phá Web
KHAI PHÁ WEB
Khai phá nội dung
Web
Khai phá cấu trúc
Web
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


11
1.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 Carrot
2
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.

12
Chƣơ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à URL
7
7
) 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


7
7
URL – Uniform Resource Locator

13
việ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

14
Lƣ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

15
qua 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.


16
2.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


17
2.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

18
theo 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 = {d
1
, d
2
, …, d
n

} là một tập các tài liệu và (d
i
, d
j
) là độ tương
tự giữa hai tài liệu d
i
và d
j
. Phân cụm tài liệu là phân rã tập D thành k nhóm C
= {c
1
, c
2
,…, c
k
} 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

19
nhó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

20
đượ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
2.2.4 Mục tiêu phân cụm
Mục tiêu của phân cụm là xác định cấu trúc ẩn bên trong tập dữ liệu
chưa được phân loại.
2.2.5 Các vấn đề cần chú ý
Các nhà nghiên cứu kết luận rằng, hiện nay chưa có một phương pháp
phân cụm tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc
dữ liệu cụm. Vì vậy tương ứng với từng cấu trúc dữ liệu cụm cần phải có một
thuật toán phân cụm phù hợp.
Phân cụm là hình thức học không giám sát do không có thông tin gì về
các lớp dữ liệu và không có sự phân biệt giữa các biến độc lập và phụ thuộc.
Vì vậy phương pháp phân cụm thích hợp trong việc giải quyết các bài toán

21
tì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

22
có 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

23

Hì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(n
2
logn) và
chi phí bộ nhớ O(n
2
), 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 K-

24
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].

×