Có thể nói, chúng ta đang bị “ngập” trong dữ liệu, và để có thể khai thác thông tin một cách hiệu quả từ những “núi” dữ liệu khổng lồ đó, chúng ta phải viện đến sự hỗ trợ của các công cụ
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
DƯ PHƯƠNG HẠNH
WEB MINING với giải thuật SOM và ứng dụng
cho máy tìm kiếm VINAHOO
luËn v¨n th¹c sÜ CÔNG NGHỆ THÔNG TIN
Hµ néi - 2005
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
DƯ PHƯƠNG HẠNH
WEB MINING với giải thuật SOM và ứng dụng
cho máy tìm kiếm VINAHOO
luËn v¨n th¹c sÜ CÔNG NGHỆ THÔNG TIN
Người hướng dẫn khoa học: TS Hà Quang Thuỵ
Hµ néi - 2005
Trang 3Formatted: Dutch (Netherlands)
Mở đầu 53
Lời cảm ơn 75
Các từ viết tắt 86
Chương 1 Phân cụm dữ liệu Text và Web 97
1.1 Khai phá dữ liệu Text và các mô hình biểu diễn dữ liệu………
97 1.1.1 Khai phá dữ liệu Text 97
1.1.2 Các mô hình biểu diễn dữ liệu text 97
1.1.2.1 Mô hình không gian véc tơ 108
1.1.2.2 Đánh chỉ mục theo ngữ nghĩa tiềm tàng 119
1.1.2.3 Phép chiếu ngẫu nhiên 119
1.1.2.4 Phân cụm từ khoá 119
1.2 Phân cụm dữ liệu trong khai phá WEB………
1210 1.2.1 Bài toán phân cụm trang Web 1210
1.2.2 Sơ bộ về ứng dụng thuật toán SOM trong phân cụm Web 1614
Chương 2 Phương pháp WEBSOM và bộ công cụ SOM Toolbox 1816
2.1 Mạng nơ ron………
1816 2.1.1 Mạng nơ ron sinh học 1816
2.1.2 Mạng nơ ron nhân tạo 1917
2.1.2.1 Cấu tạo mạng nơ ron nhân tạo 1917
2.1.2.2 Mô hình nơ ron 1917
2.2 Thuật toán SOM………
2220 2.3 Phương pháp WEBSOM………
2725 2.3.1 Mã hóa tài liệu 3028
2.3.2 Xây dựng bản đồ (document map) 3129
2.3.2.1 Xây dựng bản đồ dựa trên phần bản đồ nhỏ hơn đã được hình thành trước đó 3129
Formatted: Dutch (Netherlands)
Trang 4Formatted: Dutch (Netherlands)
2.3.2.2 Các thao tác hoàn thiện, làm mịn trên bản đồ 3230
2.4 Công cụ SOM Toolbox………
3432 2.4.1 Định dạng dữ liệu 3432
2.4.2 Xây dựng các tập dữ liệu 3533
2.4.3 Tiền xử lý dữ liệu 3937
2.4.4 Khởi tạo và huấn luyện 3937
2.4.5 Biểu diễn và phân tích 4038
Chương 3 Ứng dụng phương pháp WEBSOM trong bài toán phân cụm trang Web… 4240
3.1 Thử nghiệm thi hành WEBSOM phân cụm trang Web………
4240 3.1.1 Cấu trúc cơ sở dữ liệu trong máy tìm kiếm Vinahoo 4240
3.1.2 Cấu trúc một số bảng chính trong cơ sở dữ liệu MySQL của Vinahoo ……….42
40 3.1.3 Cấu trúc một số file nhị phân trong cơ sở dữ liệu của Vinahoo 4644 3.1.3.1 Cấu trúc các file nhị phân trong thư mục xxw: 4644
3.1.3.2 Cấu trúc các file nhị phân trong thư mục Deltas 4745
3.1.4 Tiến hành thử nghiệm 4846
3.1.5 Đánh giá kết quả thực nghiệm 5149
3.2 Đề xuất giải pháp ứng dụng phương pháp WEBSOM trong máy tìm kiếm Vinahoo………
5351 KẾT LUẬN 5553
Tài liệu tham khảo 5754
Mở đầu 3
Lời cảm ơn 5
Các từ viết tắt 6
Trang 5Formatted: Dutch (Netherlands)
Chương 1 Phân cụm dữ liệu Text và Web 7
1.1 Khai phá dữ liệu Text và các mô hình biểu diễn dữ liệu 7 1.1.1 Khai phá dữ liệu Text 7
1.1.2 Các mô hình biểu diễn dữ liệu text 7
1.1.2.1 Mô hình không gian véc tơ 8
1.1.2.2 Đánh chỉ mục theo ngữ nghĩa tiềm tàng 9
1.1.2.3 Phép chiếu ngẫu nhiên 9
1.1.2.4 Phân cụm từ khoá 9
1.2 Phân cụm dữ liệu trong khai phá WEB 10 1.2.1 Bài toán phân cụm trang Web 10
1.2.2 Sơ bộ về ứng dụng thuật toán SOM trong phân cụm Web 14
Chương 2 Phương pháp WEBSOM và bộ công cụ SOM Toolbox 16
2.1 Mạng nơ ron 16 2.1.1 Mạng nơ ron sinh học 16
2.1.2 Mạng nơ ron nhân tạo 17
2.1.2.1 Cấu tạo mạng nơ ron nhân tạo 17
2.1.2.2 Mô hình nơ ron 17
2.2 Thuật toán SOM 20 2.3 Phương pháp WEBSOM 25 2.3.1 Mã hóa tài liệu 28
2.3.2 Xây dựng bản đồ (document map) 29
2.3.2.1 Xây dựng bản đồ dựa trên phần bản đồ nhỏ hơn đã được hình thành trước đó 29
2.3.2.2 Các thao tác hoàn thiện, làm mịn trên bản đồ 30
2.4 Công cụ SOM Toolbox 32 2.4.1 Định dạng dữ liệu 32
2.4.2 Xây dựng các tập dữ liệu 33
2.4.3 Tiền xử lý dữ liệu 37
2.4.4 Khởi tạo và huấn luyện 37
2.4.5 Biểu diễn và phân tích 38
Trang 6Formatted: Dutch (Netherlands)
Chương 3 Ứng dụng phương pháp WEBSOM trong bài toán phân cụm
trang Web 40
3.1 Cấu trúc cơ sở dữ liệu trong máy tìm kiếm Vinahoo 40
3.1.1 Cấu trúc một số bảng chính trong cơ sở dữ liệu MySQL của
Vinahoo 40
3.1.2 Cấu trúc một số file nhị phân trong cơ sở dữ liệu của Vinahoo 44
3.1.2.1 Cấu trúc các file nhị phân trong thư mục xxw: 44
3.1.2.2 Cấu trúc các file nhị phân trong thư mục Deltas 45
3.2 Cơ chế thực thi quá trình crawler trong module index của máy tìm
3.2.1 Mô hình thực thi của module đánh chỉ số (index) trong Vinahoo
Error! Bookmark not defined.
3.2.2 Quá trình crawler trong Vinahoo Error! Bookmark not defined.
3.2.2.1 Cấu trúc hàng đợi các url trong VinahooError! Bookmark
Tài liệu tham khảo Error! Bookmark not defined.
Trang 7Formatted: Dutch (Netherlands)
Mở đầu
Trong những năm gần đây, Internet đã trở thành một trong những
phương tiện cung cấp hiệu quả các thông tin khoa học, thông tin kinh tế,
thương mại, quảng cáo và mọi mặt khác của đời sống Sự phát triển nhanh
chóng của mạng Internet và Intranet đã sinh ra một khối lượng khổng lồ các dữ
liệu dạng siêu văn bản (dữ liệu Web) Theo thống kê, lượng thông tin trên toàn
cầu tăng gấp đôi sau khoảng hai năm và theo đó số lượng cũng như kích cỡ của
các cơ sở dữ liệu (CSDL) cũng tăng lên một cách nhanh chóng Có thể nói,
chúng ta đang bị “ngập” trong dữ liệu, và để có thể khai thác thông tin một
cách hiệu quả từ những “núi” dữ liệu khổng lồ đó, chúng ta phải viện đến sự hỗ
trợ của các công cụ tìm kiếm, cụ thể là các Máy tìm kiếm (Search Engine) Tuy
nhiên, thường thì các máy tìm kiếm trên Web cho kết quả nhanh nhưng thiếu
độ chính xác hoặc ngược lại Các nhà nghiên cứu ở khắp mọi nơi trên thế giới
đã thực hiện những nỗ lực đáng kể để phát triển các phương pháp nhằm khắc
phục các yếu điểm trên, tức là cố gắng tăng độ chính xác của kết quả tìm kiếm
mà vẫn không gây ảnh hưởng tới tốc độ Một trong các giải pháp được rất
nhiều nhà nghiên cứu quan tâm và triển khai chính là giải thuật SOM (Self
Organizing Map) do giáo sư Teuvo Kohonen đề xuất
SOM (Self Organizing Map) được giáo sư Teuvo Kohonen phát triển, là
một công cụ rất thích hợp trong khai phá dữ liệu SOM là một thuật toán học
mạng nơron không giám sát, qua quá trình “tự tổ chức”, sắp xếp dữ liệu phức
tạp và nhiều chiều, sao cho các dữ liệu giống nhau được nhận ra và xếp cạnh
nhau trên bản đồ [5]
Từ việc tìm hiểu và phân tích giải thuật SOM, hướng tới mục tiêu nâng
cao hiệu quả tìm kiếm, Luận văn với đề tài “WEB Mining với giải thuật SOM
và ứng dụng cho máy tìm kiếm Vinahoo” tập trung vào lĩnh vực khai phá dữ
liệu Web dùng mạng nơron, sử dụng phương pháp học mạng nơron không giám
sát, dùng thuật toán SOM để giải quyết bài toán phân cụm, ứng dụng cho máy
tìm kiếm Vinahoo Nội dung của Luận văn bao gồm các phần chính như sau:
Chương 1: Tìm hiểu các mô hình biểu diễn dữ liệu trang Web, bBài toán
Trang 8Formatted: Dutch (Netherlands)
của giải thuật phân cụm và tTổng quan về áp dụng giải thuật SOM cho bài
toán phân cụm các trang Web [4, 6, 8]
Chương 2: Tìm hiểu giải thuật SOM Tìm hiểu cCấu trúc và quá trình thực thi
phương pháp WEBSOM dựa trên giải thuật SOM và phương pháp học mạng
bộ công cụ SOM Toolbox [2, 5, 7, 8]
Chương 3: Tìm hiểu cấu trúc cơ sở dữ liệu của máy tìm kiếm Vinahoo [10]
Thực nghiệm ứng dụng giải thuật SOM trong phân cụm các trang Web lưu trữ
Trang 9Formatted: Dutch (Netherlands)
Lời cảm ơn
Luận văn được thực hiện dưới sự hướng dẫn của thầy giáo TS Hà
Quang Thụy Tôi xin gửi tới thầy lời cảm ơn chân thành vì sự quan tâm, tận
tình chỉ dẫn, giúp đỡ mà thầy đã dành cho tôi trong suốt quá trình hoàn thành
luận văn
Xin trân trọng cảm ơn TS Nguyễn Tuệ - Chủ nhiệm Bộ môn Các hệ
thống thông tin, PGS.TS Trịnh Nhật Tiến – Chủ nhiệm Khoa Công nghệ thông
tin Xin cảm ơn các bạn, các đồng nghiệp của tôi tại Bộ môn Các hệ thống
thông tin, những người đã hết sức nhiệt tình cho tôi những chỉ dẫn, góp ý trong
suốt quá trình thực hiện luận văn
Tôi cũng xXin gửi lời cảm ơn bố mẹ, em và anhchân thành tới gia đình,
bạn bè, những người đã luôn ở bên tôi, động viên và nâng đỡ giúp đỡ, tạo điều
kiện cho những tiến bộ của tôi
{Nên đặt vị trí của gia đình khác với bàn bè}
Hà Nội ngày 20/12/2005
Dư Phương Hạnh
Trang 10Formatted: Dutch (Netherlands)
Các từ viết tắt
CSDL Cơ sở dữ liệu
VSM Vector Space Model
LSI Latent Semantic Indexing
SOM Self Organizing Map
BMU Best Matching Unit
SVD Singular-Value Decomposition
SVD (singular-value decomposition)
Formatted: Font: Bold, Dutch (Netherlands) Formatted: Dutch (Netherlands)
Trang 11Formatted: Dutch (Netherlands)
Chương 1 Phân cụm dữ liệu Text và Web
1.1 Khai phá dữ liệu Text và các mô hình biểu diễn dữ liệu.
1.1.1 Khai phá dữ liệu Text
Trong những năm gần đây Internet đã trở thành một trong những
phương tiện cung cấp hiệu quả các thông tin khoa học, thông tin kinh tế,
thương mại, quảng cáo và mọi mặt khác của đời sống Sự phát triển nhanh
chóng của mạng Internet và Intranet đã sinh ra một khối lượng khổng lồ các dữ
liệu dạng siêu văn bản (dữ liệu Web) Theo thống kê, lượng thông tin trên toàn
cầu tăng gấp đôi sau khoảng hai năm và theo đó số lượng cũng như kích cỡ của
các cơ sở dữ liệu (CSDL) cũng tăng lên một cách nhanh chóng Có thể nói,
chúng ta đang bị “ngập” trong dữ liệu, và để có thể khai thác thông tin một
cách hiệu quả từ những “núi” dữ liệu khổng lồ đó, chúng ta phải viện đến sự hỗ
trợ của các công cụ tìm kiếm, cụ thể là các Máy tìm kiếm (search Engine) Mục
tiêu của các máy tìm kiếm là thu thập các tài liệu phù hợp với yêu cầu của
người dùng trong một khoảng thời gian càng nhanh càng tốt Tuy nhiên, với
lượng thông tin khổng lồ không ngừng tăng trưởng trên Internet, với những yêu
cầu đôi khi rất mù mờ hoặc phức tạp từ phía người dùng, hiệu quả hoạt động
của máy tìm kiếm phụ thuộc rất nhiều vào phương pháp biểu diễn dữ liệu, giải
thuật áp dụng cho quá trình tìm kiếm và khả năng tương tác trực quan giữa máy
với người dùng
1.1.2 Các mô hình biểu diễn dữ liệu text
Hiện nay, trong phần lớn các nghiên cứu trong lĩnh vực khai phá dữ liệu
text, các văn bản, tài liệu thường được hiển thị như một tập hợp của các từ
Cách tiếp cận này được gọi tên là "Mã hoá kiểu túi" (bag of words encoding),
bỏ qua mục đích của từ cũng như cấu trúc hay dấu chấm câu nhưng lại ghi nhớ
số lần mỗi từ xuất hiện Phương pháp này là một sự đơn giản hoá tối đa về nội
dung thông tin mà các văn bản, tài liệu mang lại Mặc dù không đủ phức tạp để
biểu diễn dữ liệu, nhưng phương pháp này lại mang lại một số lượng thông tin
đáng kể về sự liên quan giữa các từ và các văn bản, điều hết sức quan trọng
trong việc phân cụm dữ liệu theo chủ đề hoặc trong việc lấy thông tin
Trang 12Formatted: Dutch (Netherlands)
(information retrieval) từ một tập dữ liệu lớn Dưới đây là một số phương pháp
biểu diễn dữ liệu, tập trung vào các mô hình có thể được đánh giá một cách tự
động và hiệu quả thông qua một số lượng lớn dữ liệu và đòi hỏi tốc độ xử lý
nhanh Những mô hình này được thiết kế nhằm đưa ra các giải pháp kiến trúc
khả thi về mặt tính toán để giải quyết những công việc mà nếu sử dụng các
phòng thí nghiệm thông thường thì sẽ rất tốn kém, rất chậm và thậm chí là bất
khả thi
1.1.2.1 Mô hình không gian véc tơ
Mô hình véctơ (Vector Space Model), còn gọi là VSM do Salton đưa ra
[11], là cách thức mã hoá tài liệu phù hợp với mục tiêu thực thi nhanh chóng
Mỗi tài liệu sẽ được biểu diễn dưới dạng một véctơ trong không gian t-chiều,
trong đó t là số lượng từ khoá trong từ điển Giá trị di của thành phần thứ i biểu
diễn số lần từ khoá với chỉ số i xuất hiện trong tài liệu Hơn nữa, mỗi từ lại gắn
với một trọng số thể hiện mức độ quan trọng của từ đó Độ tương tự giữa các
tài liệu được tính bằng khoảng cách giữa các điểm hoặc góc giữa các véctơ (mà
không cần quan tâm đến độ dài của các véctơ) Với mô hình này, việc tìm kiếm
các tài liệu phù hợp với yêu cầu tìm kiếm chuyển thành tìm kiếm các véctơ tài
liệu gần nhất với véctơ truy vấn Mặc dù đơn giản, nhưng phương pháp biểu
diễn véctơ và các biến thể của nó hiện là các lựa chọn phổ biến nhất để biểu
diễn văn bản phục vụ mục đích khai phá text Có thể giải thích là do tốc xử lý
các phép toán trên véctơ rất nhanh, các giải thuật chuẩn áp dụng cho véctơ đều
đã có sẵn
Tuy nhiên, phương pháp này mắc phải yếu điểm yếu chính là, trong quá
trình xử lý, bộ nhớ phải lưu trữ các véctơ mẫu có số chiều vô cùng lớn Tất
nhiên kích cỡ của từ điển có thể được thu gọn lại bằng cách lựa chọn một tập
con chứa các từ khóa quan trọng nhất xét theo một số quy luật nào đó, thế
nhưng đây vẫn là một công việc hết sức khó khăn để đảm bảo rằng, tập con các
từ khóa này vẫn có khả năng biểu diễn các đặc trưng cơ bản của các tài liệu
Trang 13Formatted: Dutch (Netherlands)
1.1.2.2 Đánh chỉ mục theo ngữ nghĩa tiềm tàng
Để thực hiện giảm số chiều của các véctơ tài liệu mà căn bản không gây
mất mát thông tin, trước tiên, người ta xây dựng một ma trận mà mỗi cột của
ma trận ứng với một véctơ tài liệu Sau đó, một phương pháp tính toán trên ma
trận, có tên gọi là SVD (singular-value decomposition) được áp dụng để phân
chia ma trận trên thành một tập hợp các yếu tố (factors) được sắp xếp theo trật
tự giảm dần độ ảnh hưởng đối với ma trận ban đầu Và khi những yếu tố sau
cùng, cũng là những yếu tố ít quan trọng nhất bị bỏ qua, thì véctơ tài liệu được
xây dựng dựa trên các yếu tố còn lại sẽ có số chiều nhỏ hơn rất nhiều mà vẫn
giữ được nhiều nhất có thể các thông tin quan trọng Phương pháp này được gọi
là đánh chỉ mục theo ngữ nghĩa tiềm tàng (Latent Semantic Indexing - LSI)
[4]
1.1.2.3 Phép chiếu ngẫu nhiên
Đây là phương pháp làm giảm số chiều của véctơ tài liệu một cách triệt
để mà lại đơn giản hơn rất nhiều so với phương pháp LSI nêu trên và không
gây ảnh hưởng tới độ phân biệt giữa các tài liệu [4] Xét véctơ ni Rn và một
ma trận ngẫu nhiên hình chữ nhật R mà các phần tử trong cột của R ứng với
các véctơ phân bố chuẩn và có độ dài đơn vị Chúng ta sẽ xây dựng các véctơ
tài liệu xi Rm, với m << n bằng phép chiếu:
xi = Rni
Nếu ta xét một cặp tài liệu bất kỳ (ni, nj), sau khi thực hiện phép chiếu ta
thu được tương ứng hai tài liệu (xi, xj), thì độ tương tự của hai tài liệu trước và
sau khi thực hiện phép chiếu là không thay đổi, và khả năng lỗi thì tỷ lệ nghịch
với m Thực nghiệm với giá trị m>100, kết quả thu được cho thấy độ chính xác
phân lớp của phương pháp này bằng với phương pháp VSM, tuy nhiên thời
gian cần thiết để thực hiện thì giảm đi nhiều
1.1.2.4 Phân cụm từ khoá
Phương pháp này được sử dụng nhằm làm giảm số lượng dữ liệu cần biểu
diễn bằng cách nhóm các thành phần tương tự lại với nhau Trong biểu diễn dữ
liệu, một sô phương pháp phân cụm được áp dụng để nhóm các từ tương tự
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Trang 14Formatted: Dutch (Netherlands)
thành một nhóm, sau đó thực hiện biểu diễn tài liệu như tập hợp của các nhóm
từ khoá chứ không phải là tập hợp của từng từ khoá riêng lẻ Giải thuật SOM
dựa trên phương pháp học máy không giám sát là một trong những giải pháp
tốt để thực hiện việc phân cụm từ khoá Chúng ta sẽ đi sâu tìm hiểu vấn đề này
ở chương sau
1.2 Phân cụm dữ liệu trong khai phá WEB
1.2.1 Bài toán phân cụm trang Web
Ngày nay, sự phát triển nhanh chóng của mạng Internet và Intranet đã
sinh ra một khối lượng khổng lồ các dữ liệu dạng siêu văn bản (dữ liệu Web)
Cùng với sự thay đổi và phát triển hàng ngày hàng giờ về nội dung cũng như số
lượng của các trang Web trên Internet thì vấn đề tìm kiếm thông tin đối với
người sử dụng lại ngày càng khó khăn Thực vậy với Internet con người đã làm
quen với các trang Web cùng với vô vàn các thông tin Trong những năm gần
đây Internet đã trở thành một trong những kênh về khoa học, thông tin kinh tế,
thương mại và quảng cáo Một trong những lý do cho sự phát triển này là sự
thấp về giá cả tiêu tốn khi công khai một trang Web trên Internet So sánh với
những dịch vụ khác như mua bán hay quảng cáo trên một tờ báo hay tạp chí, thì
chi phí cho một trang Web rẻ hơn rất nhiều, đồng thời cập nhật nhanh chóng
hơn tới hàng triệu người dùng khắp mọi nơi trên thế giới Thông tin trên các
trang Web đa dạng về mặt nội dung cũng như hình thức Có thể nói Internet
như một xã hội ảo, nó bao gồm các thông tin về mọi mặt của đời sống kinh tế,
xã hội được trình bày dưới dạng văn bản, hình ảnh, âm thanh,
Tuy nhiên cùng với sự đa dạng và số lượng lớn thông tin như vậy đã nảy
sinh vấn đề quá tải thông tin Người ta không thể tìm tự kiếm địa chỉ trang Web
chứa thông tin mà mình cần, đặc biệt là khi chúng ta không có nhiều hiểu biết
về lĩnh vực mình cần tìm kiếm thông tin Do đó, cần phải có một công cụ quản
lý nội dung của các trang Web và cho phép tìm thấy các địa chỉ trang Web có
nội dung giống với yêu cầu của người tìm kiếm Các công cụ như vậy (được
gọi là máy tìm kiếm) quản lý dữ liệu như các đối tượng phi cấu trúc Hiện nay
chúng ta đã quen thuộc với các máy tìm kiềm như Yahoo, Google, Alvista,
Formatted: Font: Times New Roman, Dutch
(Netherlands)
Formatted: Dutch (Netherlands)
Trang 15Formatted: Dutch (Netherlands)
Một trong những bài toán quan trọng trong lĩnh vực khai phá Web là bài
toán phân cụm Web Phân cụm Web - nói một cách khái quát - là việc tự động
sinh ra các lớp tài liệu dựa vào sự tương tự của các tài liệu Các lớp tài liệu ở
đây là chưa biết trước, người dùng có thể chỉ yêu cầu số lượng các lớp cần
phân loại, hệ thống sẽ đưa ra các tài liệu theo từng tập hợp, từng cụm, mỗi tập
hợp chứa các tài liệu tương tự nhau
Phân cụm Web – hiểu một cách đơn giản - là phân cụm trên tập các tài
liệu được lấy từ Web Có hai tình huống phân cụm tài liệu Tình huống thứ
nhất là việc phân cụm trên toàn bộ một CSDL có sẵn gồm rất nhiều tài liệu
Web Thuật toán phân cụm cần tiến hành việc phân cụm toàn bộ tập dữ liệu
thuộc CSDL đó Tình huống này thường được gọi là phân cụm không trực
tuyến (off - line) Tình huống thứ hai thường được áp dụng trên một tập tài liệu
nhỏ là tập hợp các tài liệu do máy tìm kiếm trả về theo một truy vấn của người
dùng Trong trường hợp này, giải pháp phân cụm được tiến hành kiểu trực
tuyến (on - line) theo nghĩa việc phân cụm tiến hành theo từng bộ phận các tài
liệu nhận được Khi đó, thuật toán phải có tính chất “gia tăng” để tiến hành
phân cụm ngay khi chưa có đủ tài liệu và phân cụm tiếp theo cần không tiến
hành với dữ liệu đã được phân cụm
Quá trình xử lý truy vấn và kết quả phân hạng được phản hồi từ các máy
tìm kiếm phụ thuộc vào việc tính toán độ tương tự giữa truy vấn và các tài liệu
Mặc dù các truy vấn liên quan phần nào đến các tài liệu cần tìm, nhưng nó
thường quá ngắn và dễ xảy ra sự nhập nhằng Như đã biết, trung bình các truy
vấn trên Web chỉ gồm hai đến ba từ do đó gây nên độ nhập nhằng Chẳng hạn,
truy vấn star dẫn đến sự nhập nhằng rất cao, các tài liệu lấy được liên quan đến
astronomy, plants, animals, popular media and sports figures… Độ tương tự
giữa các tài liệu của một truy từ đơn như vậy là khác nhau rất lớn Vì lẽ đó, nếu
máy tìm kiếm phân cụm các kết quả theo từng chủ đề thì người dùng có thể
hiểu truy vấn nhanh chóng hoặc tìm vào một chủ đề xác định
Đặc điểm của bài toán Phân cụm Web
Việc phân cụm trực tuyến các tài liệu Web kết quả trả về từ máy tìm
kiếm là rất khác so với việc phân cụm các tài liệu thông thường Một đặc điểm
Trang 16Formatted: Dutch (Netherlands)
là số lượng các tài liệu Web là vô cùng lớn và luôn luôn thay đổi Ngoài ra một
vấn đề nữa là các hệ thống tìm kiếm thông tin là tương tác người dùng cho nên
thời gian đáp ứng của hệ thống phải đủ nhanh, cụ thể bài toán ở đây cần thời
gian đáp ứng cần tính bằng giây Mỗi tài liệu Web không chỉ liên quan đến một
khía cạnh cụ thể nào đó mà đề cập đến nhiều khía cạnh khác nhau Chẳng hạn
như tài liệu nói về “Việt Nam” cũng có thể đề cập đến cuộc đời và sự nghiệp
của “Các danh nhân Việt Nam” Cho nên tồn tại sự trùng lặp thông tin giữa các
tài liệu, có nghĩa là một tài liệu có thể liên quan đến nhiều nội dung khác nhau
Xuất phát từ những đặc điểm đó nên việc phân cụm chỉ nên được thực
hiện trên tập các tài liệu Web của mỗi truy vấn trả về từ máy từ máy tìm kiếm
Sau đó kết quả sẽ được tổ chức lại cho người sử dụng Thông thường một máy
tìm kiếm phục vụ hàng triệu truy vấn một ngày cho nên việc phân phối CPU
cũng như bộ nhớ cho mỗi truy vấn cần được rút ngắn tối đa Cho nên việc phân
cụm có thể được thực hiện trên một máy tách riêng tại đó chỉ nhận các kết quả
của máy tìm kiếm như đầu vào, tạo ra các cụm và biểu diễn chúng cho người
sử dụng
Bảng dưới đây trình bày ví dụ về phân cụm kết quả của truy vấn “Việt
Nam”, ở đây chỉ biểu diễn 5 cụm đầu tiên
Minh họa cho việc phân cụm kết quả truy vấn “Việt Nam”
Số tài liệu: 185
Các cụm Số tài liệu Chủ đề liên quan
Các yêu cầu đối với Phân cụm Web
Để có thể phân các tài liệu Web thành các cụm, việc đầu tiên là cần phải
tính được độ tương tự (hay độ tương đồng) giữa các tài liệu trên cơ sở biểu diễn
Trang 17Formatted: Dutch (Netherlands)
tài liệu Web và xem xét các đo độ tương tự giữa chúng Thuật toán phân cụm
cần đưa ra các điều kiện dừng và gắn nhán cho các cụm một các thích hợp nhất
Căn cứ đặc điểm và yêu cầu của bài toán phân cụm Web thì phương pháp phân
cụm được lựa chọn cần đáp ứng được các yêu cầu sau:
Tính phù hợp: Phương pháp phải tạo nên các cụm trong đó nhóm tài liệu
phù hợp với truy vấn của người dùng tách riêng với các nhóm không phù hợp
khác
Tổng hợp phải dễ đọc: Tránh trường hợp thay vì người dùng không phải
xem xét danh sách các tài liệu được phân hạng lại phải xem xét danh sách tài
liệu trong một cụm Do đó phương pháp phải cung cấp mô tả ngắn gọn và
chính xác của các cụm
Tính đa hình: Vì các tài liệu có nhiều chủ đề, nên tránh việc hạn chế một
tài liệu chỉ thuộc về một cụm
Sử dụng các mẩu thông tin: Phương pháp phải tạo ra các cụm tốt thậm
chí chỉ sử dụng các mẩu thông tin được trả về bởi máy tìm kiếm (thông thường
các máy tìm kiếm chỉ trả về các mẩu thông tin mô tả về tài liệu) Điều này tránh
cho việc người dùng phải chờ đợi hệ thống tải toàn bộ tài liệu gốc từ Web
Tốc độ:Một người sử dụng dù kiên nhẫn cũng chỉ có thể xem xét khoảng
100 tài liệu trong danh sách các tài liệu được phân hạng Hệ thống cần cho
phép người dùng có thể đọc qua một tập đủ lớn các tài liệu trong một thời gian
chấp nhận được Vì vậy cần một phương pháp phân cụm khoảng 1000 mẩu
thông tin trong vài giây
Tính gia tăng: Để tiết kiệm thời gian, phương pháp nên xử lý từng mẩu
thông tin ngay khi lấy được từ Web để có được kết quả tức thời ứng với mỗi
thời điểm
Một số độ đo độ đánh giá
Độ đo đánh giá thuật toán phân cụm là một tiêu chuẩn được chỉ ra bởi
một tập n tài liệu D và một tập các truy vấn Q Với mỗi q Є Q, một tập của các
tài liệu phù hợp là D q Є D được xác định bằng tay Giả sử có một truy vấn được
gửi đến hệ thống, một danh sách được phân hạng các tài liệu (d1, d2, … dn)
được trả về Các hệ thống tìm kiếm thông thường chỉ hiển thị một số mục đầu
Trang 18Formatted: Dutch (Netherlands)
tiên của danh sách này Tương ứng với danh sách như vậy, có thể tính một
danh sách phù hợp (r1, r2,…rn) bởi các số (0/1) trong đó ri =1 nếu di Є Dq và
r
k1
1
Độ chính xác là tỷ số của k tài liệu trên cùng tập tài liệu mà thật sự phù hợp
Một cách đo khác là độ chính xác trung bình (Average Precision):
k precision r
D 1
)(
1
Độ chính xác trung bình là tổng của độ chính xác tại mỗi vị trí phù hợp
trong danh sách đáp ứng chia cho tổng số các tài liệu phù hợp được chọn Độ
chính xác trung bình bằng 1 khi lấy được toàn bộ các tài liệu phù hợp và xếp
loại chúng lên trên tất cả các tài liệu không phù hợp
1.2.2 Sơ bộ về ứng dụng thuật toán SOM trong phân cụm Web
Việc tìm kiếm các tài liệu có liên quan đến nhau trong một tập hợp dữ
liệu rất lớn, thông thường được thực hiện dựa trên các từ khoá và các biểu diễn
logic của chúng Tuy nhiên, thường thì các kết quả trả về nhanh nhưng thiếu độ
chính xác hoặc ngược lại Những nỗ lực đáng kể đã được thực hiện để phát
triển các phương pháp khác, chẳng hạn dựa trên các thống kê từ đơn, nhưng
khả năng ứng dụng của chúng đều thấp Điểm bất lợi căn bản trong các phương
pháp tìm kiếm truyền thống chẳng hạn như tìm kiếm thông qua từ khoá hoặc
đánh chỉ mục nội dung thông tin là: rất khó để xây dựng được các biểu thức tìm
kiếm phù hợp để không loại bỏ các tài liệu phù hợp và cũng không tạo ra các
danh sách dài các tiêu đề không phù hợp với mục tiêu tìm kiếm Giả sử chúng
ta mô tả các tài liệu toàn văn nhờ trọng số của các từ trong tài liệu đó Điểm
hạn chế của phương pháp này là, khi gặp một khối lượng nội dung đủ lớn, số
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Trang 19Formatted: Dutch (Netherlands)
lượng từ được lựa chọn cũng sẽ rất lớn, chẳng hạn là con số 10.000 từ Rất
nhiều nghiên cứu đã chỉ ra rằng, tài liệu có thể được biểu diễn rất hiệu quả dưới
dạng một tập thuộc tính nhỏ hơn rất nhiều nếu như các từ được phân cụm theo
nội dung của chúng từ trước đó hoặc áp dụng một số phương pháp khác để làm
giảm số chiều (xem 1.1.2)
Một vấn đề khác còn lớn hơn mà một số phương pháp tìm kiếm đã không
chú ý hỗ trợ, đó là các trường hợp mà nội dung thông tin cần tìm kiếm là không
rõ ràng và khó để mô tả thành lời Chẳng hạn một số trường hợp, thông tin cần
tìm kiếm nằm ngoài phạm vi hiểu biết của cá nhân thì việc đưa ra các biểu thức
tìm kiếm thật chẳng khác nào đi tìm đường trong bóng đêm và tất nhiên kết quả
thu được là hết sức đáng thất vọng Lúc này đây, nếu trong tay chúng ta có một
tấm bản đồ mô tả tập hợp dữ liệu, trên đó các dữ liệu được sắp xếp và phân
vùng theo nội dung, thì khi đó, ngay chỉ một thông tin nhỏ có liên quan đến vấn
đề cần tìm kiếm cũng trở nên hữu ích Bản đồ hữu ích cho việc tìm kiếm trước
hết là nhờ khả năng trực quan hoá không gian thông tin, sau đó là khả năng
hướng dẫn người dùng đến với vùng thông tin cần tìm kiếm cũng như các
thông tin có liên quan Ta có thể hiểu rằng, trong trường hợp này, người dùng
viện đến sự trợ giúp của máy tìm kiếm không theo nghĩa tìm kiếm thông tin
(searching) mà theo nghĩa thăm dò thông tin (exploration) Sự khác biệt giữa
hai khái niệm này có thể được minh hoạ như sau: Một người tới hiệu sách và
hỏi người bán hàng về một cuốn sách cụ thể mà anh ta đang cần (searching) và
một người đi dạo qua từng kệ sách, đọc từng cái tên sách và phỏng đoán cuốn
sách nào là phù hợp với yêu cầu của anh ta (exploration)
Trong vài năm gần đây, một hướng nghiên cứu mới đã xuất hiện, đó là
một phương pháp tìm kiếm thông tin toàn văn có tính chất thăm dò và công cụ
duyệt tin có tên là WEBSOM [4, 6, -8] Nó được xây dựng dựa trên giải thuật
SOM, là giải thuật áp dụng thuật toán học không giám sát để phân tích và trừu
tượng hoá dữ liệu đa chiều Phương pháp này đáp ứng được cả hai nhu cầu:
phân cụm dữ liệu và trực quan hoá không gian thông tin
Trang 20Formatted: Dutch (Netherlands)
Xúc tu
Khớp nối Nhân
Trục cảm ứng
Chương 2 Phương pháp WEBSOM và bộ công cụ
SOM Toolbox
2.1 Mạng nơ ron
2.1.1 Mạng nơ ron sinh học
Bộ não con người chứa khoảng 1010 các phần tử (được gọi là nơron) liên
kết chặt chẽ với nhau Đối với mỗi nơron, có khoảng 104 liên kết với các nơron
khác Một nơron được cấu tạo bởi các thành phần như tế bào hình cây, tế bào
thân và sợi trục thần kinh (trục cảm ứng) Tế bào hình cây có nhiệm vụ mang
các tín hiệu điện tới tế bào thân, tế bào thân sẽ thực hiện gộp (sum) và phân
ngưỡng các tín hiệu đến Sợi trục thần kinh làm nhiệm vụ đưa tín hiệu từ tế bào
thân tới tế bào hình cây của các nơron liên kết Điểm tiếp xúc giữa một sợi trục
thần kinh của nơron này với một tế bào hình cây của một nơron khác được gọi
là khớp nối (synapse) Sự sắp xếp các nơron và mức độ mạnh yếu của các khớp
thần kinh do các quá trình hoá học phức tạp quyết định, sẽ thiết lập chức năng
của mạng nơron [2]
Khi con người sinh ra, một bộ phận các nơron đã có sẵn trong não, còn
các bộ phận khác được phát triển thông qua quá trình học, và trong quá trình đó
xảy ra việc thiết lập các liên kết mới và loại bỏ đi các liên kết cũ giữa các
nơron Cấu trúc mạng nơron luôn luôn phát triển và thay đổi Các thay đổi có
Hình 2.1 Mô hình mạng nơron sinh học
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Trang 21Formatted: Dutch (Netherlands)
khuynh hướng chủ yếu là làm tăng hay giảm độ mạnh các mối liên kết thông
qua các khớp thần kinh
Một trong những điển hình giải quyết bài toán học máy là thiết lập các
mạng nơron nhân tạo Mạng nơron nhân tạo chưa tiếp cận được sự phức tạp của
bộ não Tuy nhiên, do mô phỏng hoạt động học trong não mà về cơ bản có hai
sự tương quan giữa mạng nơron nhân tạo và nơron sinh học Thứ nhất, cấu trúc
tạo thành chúng đều là các thiết bị tính toán đơn giản (với mạng nơron sinh học
đó là các tế bào thân còn với mạng nhân tạo thì đơn giản hơn nhiều) được liên
kết chặt chẽ với nhau Thứ hai, các liên kết giữa các nơron quyết định chức
năng hoạt động của mạng
2.1.2 Mạng nơ ron nhân tạo
2.1.2.1 Cấu tạo mạng nơ ron nhân tạo
Mạng nơ ron nhân tạo bao gồm các thành phần sau:
1) Tập các đơn vị xử lý;
2) Trạng thái kích hoạt a, hay là đầu ra của đơn vị xử lý;
3) Liên kết giữa các đơn vị, mỗi liên kết được xác định bởi một
trọng số w ji ;
4) Luật lan truyền quyết định cách tính tín hiệu ra, ký hiệu là n của
đơn vị từ đầu vào của nó;
5) Hàm kích hoạt f, xác định mức độ kích hoạt khác dựa trên mức
độ kích hoạt hiện tại;
6) Đơn vị điều chỉnh (độ lệch - bias), ký hiệu là b, của mỗi đơn vị;
7) Phương pháp thu thập thông tin (luật học – learning rule);
2.1.2.2 Mô hình nơ ron
1) Neuron có đầu vào đơn
Trang 22Formatted: Dutch (Netherlands)
01
n n
01
n n
10
11
n
n n n
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Trang 23Formatted: Dutch (Netherlands)
Hàm tuyến tính bão hoà đối xứng: (satlins)
11
11
n n
n n
0
n
n n
max1
n n
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Trang 24Formatted: Dutch (Netherlands)
2 Neuron nhiều đầu vào
2.2 Thuật toán SOM
Trong những năm gần đây, mạng nơ ron đã được ứng dụng rất thành công
trong vô số các trường hợp phân tích các tập dữ liệu phức tạp Một phương
pháp mới rất hiệu quả, ứng dụng thuật toán học mạng nơ ron, trợ giúp việc
thăm dò thông tin (data exploration) trên một tập dữ liệu rất lớn và nhiều chiều,
có tên là WEBSOM, được xây dựng dựa trên giải thuật SOM
SOM (Self Organizing Map) được giáo sư Teuvo Kohonen phát triển, là
một công cụ rất thích hợp trong khai phá dữ liệu SOM là một thuật toán học
mạng nơron không giám sát, qua quá trình “tự tổ chức”, sắp xếp dữ liệu phức
tạp và nhiều chiều, sao cho các dữ liệu giống nhau được nhận ra và xếp cạnh
nhau trên không gian 2 chiều (còn gọi là bản đồ - map) [5]
Formatted: Dutch (Netherlands)
Trang 25Formatted: Dutch (Netherlands)
Để có được những nhìn nhận tổng quan về ánh xạ tự tổ chức
(self-organizing map) và tính phù hợp của nó trong xử lý các tập dữ liệu lớn, chúng
ta sẽ tiến hành xem xét một ví dụ minh hoạ: Một hệ thống xử lý thông tin, với
nhiệm vụ học cách giải quyết các công việc khác nhau sao cho mỗi công việc
đều được hoàn thành tốt Chúng ta hãy giả sử rằng hệ thống có thể gán các
công việc khác nhau đó cho các đơn vị con (sub-units) của hệ thống Các đơn
vị này có thể học từ chính những công việc mà chúng thực hiện Mỗi công việc
được gán cho đơn vị nào có khả năng thực hiện nó tốt nhất Khi các đơn vị đó
nhận được công việc mà nó có thể thực hiện tốt, chúng học và ngày càng trở
nên hoàn thiện hơn trong lĩnh vực đó Đây chính là mô hình chuyên môn hoá
nhờ học ganh đua Hơn nữa, nếu như các đơn vị được liên kết với nhau theo
một cách nào đó để khi một đơn vị đang xử lý một công việc thì các đơn vị
láng giềng của nó cũng được phép học chính công việc đó Cứ như vậy, dần
dần hệ thống sẽ đạt tới mức: các đơn vị gần nhau sẽ có các tính năng gần tương
tự, và các tính năng đó thay đổi một cách từ từ và rất mịn trên toàn bộ hệ thống
Đó là nguyên lý chung của phương pháp ánh xạ tự tổ chức (SOM) Hệ thống
được gọi là một map và công việc cần xử lý chính là việc mô phỏng, chẳng hạn
là biểu diễn một không gian dữ liệu nhiều chiều
Dạng đơn giản nhất của SOM, map là một lưới chứa rất nhiều đơn vị
con, còn công việc cần xử lý là biểu diễn dữ liệu thống kê, ký hiệu là véctơ
x Rn Mỗi đơn vị i trên map có chứa một véctơ mẫu ký hiệu là mi Rn Trong
quá trình học, các véctơ mẫu sẽ thay đổi dần dần Giải thuật SOM bao gồm
đồng thời cả quá trình phân cụm dữ liệu (Clustering) trên các véc tơ mẫu, và
thực hiện phép chiếu không tuyến tính (Nonlinear Projection) biến không gian
dữ liệu nhiều chiều thành lưới 2 chiều mà mỗi mắt lưới được tạo nên bởi các
véctơ mẫu Giải thuật cụ thể được trình bày như sau:
Xét một tập dữ liệu là các vectơ trong không gian n chiều:
n x x x
x 1, 2, ,
Xét một lưới SOM gồm M nơron nằm trong một lưới có kích thước 2
chiều Nơron thứ i có kích thước d là một vectơ:
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Trang 26Formatted: Dutch (Netherlands)
Các nơron trong lưới có liên kết đến các nơron lân cận bằng một quan hệ
láng giềng Các láng giềng liền kề là các nơron lân cận tuỳ theo bán kính lân
cận của nơron thứ i
j d d
d
N i( ) , ,j với d là bán kính lân cận
Các nơron lân cận tuỳ thuộc vào bán kính, được sắp xếp trong lưới theo hình
chữ nhật hoặc hình lục giác Số các lân cận xác định trọng tâm của ma trận trả
về, có ảnh hưởng đến độ chính xác và khả năng tổng quát hoá của SOM
Trước khi huấn luyện cần khởi tạo các vectơ trọng số Một trong ba thủ tục
ban đầu điển hình sau được dùng:
Ngẫu nhiên ban đầu, vectơ trọng số ban đầu được gán giá trị là các giá
trị ngẫu nhiên đủ nhỏ
Ví dụ ban đầu, vectơ trọng số ban đầu được gắn với các ví dụ ngẫu
nhiên rút ra từ tập dữ liệu
Tuyến tính ban đầu, vectơ trọng số ban đầu được gắn trong một không
gian con tuyến tính bởi hai vectơ của tập dữ liệu ban đầu
Trong mỗi bước huấn luyện, chọn ngẫu nhiên một vectơ ví dụ x trong tập
dữ liệu ban đầu Tính toán khoảng cách giữa x đến tất cả các vectơ mẫu, trong
đó c là chỉ số của mẫu gần x nhất gọi là BMU (Best Matching Unit) Sau khi
tìm được BMU, vectơ trọng số của SOM được cập nhập lại Vectơ trọng số của
BMU và các lân cận hình thái của nó di chuyển gần tới vectơ trong không gian
đầu vào Thủ tục cập nhập này trải dài theo BMU và các hình trạng lân cận của
Formatted: Dutch (Netherlands)
Trang 27Formatted: Dutch (Netherlands)
Dưới đây là 5 bước của thuật toán huấn luyện theo phương pháp SOM:
1 Khởi tạo các giá trị trong lưới SOM
For each node i Khởi tạo véctơ trọng số wi (0) đủ nhỏ
Thiết lập bán kính lân cận Ni(0) đủ lớn
2 Khởi tạo véctơ đầu vào
Chọn ngẫu nhiên một véctơ x trong tập huấn luyện
3 Tìm BMU
Tính toán khoảng cách giữa x đến tất cả các vectơ mẫu c là chỉ số của mẫu
gần x nhất chính là BMU, được tìm theo công thức sau:
||x - mc|| = min {||x - mi||} (1)
4 Cập nhật lại các trọng số trong mạng
SOM cập nhật luật cho vectơ trọng số của đơn vị thứ i là tại thời điểm t:
mi (t+1) = mi(t) + α (t) hci(t)[x – mi(t)] (2)
trong đó: t là thời gian, α(t)là hệ số tỷ lệ học, hci là nhân lân cận quanh c tại
thời điểm t, thường được lựa chọn là hàm lân cận Gaussian
5 Chọn véctơ đầu vào tiếp theo
Giảm giá trị hci sao cho hci(t+1)<hci(t)
Lặp lại từ bước 2, chọn tiếp véctơ đầu vào x(t+1) cho đến khi hết các véctơ
trong tập huấn luyện
Dưới đây là hình ảnh mô phỏng việc huấn luyện SOM tại 1 thời điểm t,
Trang 28Formatted: Dutch (Netherlands)
Input pattern: véctơ đầu vào
Winner: BMU
: mũi tên màu đen là giá trị khởi tạo ban đầu; mũi tên màu xám biểu
thị trọng số mới được cập nhật lại sau một lần học
Để tăng tốc độ tính toán, việc huấn luyện cũng có thể được tiến hành
theo khối (Batch Training Algorithm) Tập dữ liệu ban đầu được chia nhỏ
thành các tập con Voronoi
Thuật toán huấn luyện khối cũng là thuật toán lặp, nhưng thay vì chỉ
dùng một vectơ tại một thời điểm, mà toàn bộ tập dữ liệu được thể hiện trên
bản đồ (map) trước khi thực hiện bất kỳ điều chỉnh nào Trong mỗi bước huấn
luyện, tập dữ liệu được phân chia theo vùng Voronoi của các vectơ trọng số
Tính toán tổng các vectơ trọng số trong mỗi tập Voronoi:
nv i
j j
s
1
) (Hình 2.5 Mô phỏng việc huấn luyện SOM
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Trang 29Formatted: Dutch (Netherlands)
với nv i là số các ví dụ trong tập Voronoi của đơn vị i Sau đó, các giá trị mới
của vectơ trọng số có thể được tính toán như sau:
j ij i
t h nv
t s t h t
m
1
1
)(
)()()
1(
với m là số các đơn vị trên bản đồ
Hai bước trên được thực hiện lặp lại cho tới khi giá trị mi đạt tới trạng
thái có thể xem như không thay đổi
2.3 Phương pháp WEBSOM
Trong phiên bản WEBSOM đầu tiên, việc giảm số chiều của véctơ tài liệu
được thực hiện nhờ phương pháp Phân cụm từ khóa (xem 1.1.2.4) Điều đó có
nghĩa là, thuật toán SOM được áp dụng hai lần Lần đầu, SOM được áp dụng
để phân cụm từ khóa thành các các nhóm (word category map) [7, 9] Nhờ đó,
các tài liệu sẽ được biểu diễn dưới dạng các véctơ với các thành phần là các
nhóm từ khóa Sau đó, SOM lại được áp dụng một lần nữa để phân cụm trên
tập các véctơ tài liệu (document map) – xem hình vẽ minh họa dưới đây:
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Trang 30Formatted: Dutch (Netherlands)
Tuy nhiên, việc áp dụng SOM nhiều lần, áp dụng phương pháp huấn
luyện tuần tự khiến tốc độ tính toán giảm Đối với các tập dữ liệu với số chiều
vô cùng lớn, nhu cầu chiếm dụng bộ nhớ, không gian đĩa cứng và thời gian
chiếm dụng CPU trong quá trình huấn luyện là rất đáng kể Khi đó thuật toán
huấn luyện chuẩn như trên là không thích hợp, đòi hỏi phải có một vài cải tiến
để nâng cao hiệu quả tính toán Các cải tiến được đề xuất như sau:
Xây dựng bản đồ từ các mảnh nhỏ hơn đã được dựng cẩn thận trước đó
Áp dụng thuật toán huấn luyện khối
Thực hiện song song hóa quá trình tính toán
Thay vì thực hiện tìm kiếm BMU toàn cục, tiến hành tìm kiếm BMU
cục bộ mà vẫn đảm bảo tính chính xác
Trên những mục tiêu đó, một phương pháp WEBSOM mới ra đời với hiệu
năng được cải thiện rõ rệt [4, 7] Mô hình kiến trúc và xử lý của phương pháp
này được minh họa trong hình vẽ dưới đây:
Hình 2.6 Mô hình WEBSOM đầu tiên
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands) Formatted: Dutch (Netherlands)