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

Phân cụm đa mức Web bằng thuật toán K-means dựa trên chủ đề ẩn và thực nghiệm đánh giá

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 (542.72 KB, 46 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ



Đào Minh Tùng




PHÂN CỤM ĐA MỨC WEB BẰNG K-MEANS
DỰA TRÊN CHỦ ĐỀ ẨN
VÀ THỰC NGHIỆM ĐÁNH GIÁ



KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin










Hà Nội - 2011


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ



Đào Minh Tùng




PHÂN CỤM ĐA MỨC WEB BẰNG K-MEANS
DỰA TRÊN CHỦ ĐỀ ẨN
VÀ THỰC NGHIỆM ĐÁNH GIÁ


KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin

Cán bộ hướng dẫn: Tiến sỹ Đoàn Sơn







Hà Nội - 2011



i

Lời cảm ơn

Trước tiên, tôi muốn gửi lời cảm ơn sâu sắc đến Tiến Sĩ Đoàn Sơn và Phó Giáo
sư Tiến sĩ Hà Quang Thụy, người đã tận tình hướng dẫn tôi trong suốt quá trình thực
hiện khóa luận.
Tôi xin gửi lời cảm ơn chân thành và sâu sắc tới các thầy, cô tại trường Đại học
Công Nghệ đã dạy dỗ và tận tình chỉ bảo cho tôi trong suốt quá trình học tập tại
trường.
Tôi xin cảm ơn tập thể sinh viên K52CHTTT Trường Đại học Công Nghệ cũng
như các bạn trong phòng nghiên cứu KT-SISLAB đã ủng hộ và khuyến khích tôi trong
quá trình nghiên cứu và thực hiện khóa luận này.
Tôi xin cám ơn sự hỗ trợ từ đề tài QG.10.38 của Đại học Quốc gia Hà Nội.
Cuối cùng, tôi muốn gửi lời cảm vô hạn tới gia đình và bạn bè, những người thân
yêu luôn bên cạnh và động viên tôi trong suốt quá trình thực hiện khóa luận tốt nghiệp.
Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép
nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Tôi rất mong nhận được sự góp
ý chân thành của thầy cô và các bạn để tôi hoàn thiện khóa luận của mình.


Hà Nội, ngày 20 tháng 5 năm
2011
Sinh viên
Đào Minh Tùng



i


Tóm tắt nội dung

Trước sự bùng nổ của thông tin, phân cụm dữ liệu nói chung và phân cụm trang
web nói riêng đã trở thành một lĩnh vực nghiên cứu quan trọng. Đặc biệt, hiện nay sự
quan tâm cải tiến đối với chất lượng thuật toán phân cụm rất cao vì sự cần thiết của
những ứng dụng có thể giúp người sử dụng Internet xử lý trạng thái quá tải thông tin,
đưa ra cái nhìn tổng quan về thông tin tìm kiếm được trả về.
Khóa luận đề xuất phương pháp phân cụm trang web đa mức dưới dạng cây bằng
thuật toán K-means dựa trên chủ đề Nn. Thực nghiệm cho kết quả ban đầu khá tốt, có
thể tiếp tục phát triển để ứng dụng trong máy tìm kiếm.



ii

Lời cam đoan
Em xin cam đoan rằng đây là công trình nghiên cứu của mình, có sự giúp đỡ từ
giáo viên hướng dẫn là TS. Đoàn Sơn. Các nội dung nghiên cứu và kết quả trong đề tài
này là trung thực, không sao chép từ bất cứ nguồn nào có sẵn. Những số liệu trong các
bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập
từ nhiều nguồn khác nhau có ghi trong phần tài liệu tham khảo.
Nếu phát hiện có bất kỳ sự gian lận nào, em xin hoàn toàn chịu trách nhiệm
trước hội đồng, cũng như kết quả khóa luận tốt nghiệp của mình.

Đào Minh Tùng




















iii

Mục lục

Lời cảm ơn i

Tóm tắt nội dung i

Lời cam đoan ii

Mục lục iii

Danh sách bảng v

Danh sách hình vẽ vi


Mở đầu 1

Chương 1. Giới thiệu về phân cụm web đa mức 3

1.1.

Phân cụm dữ liệu 3

1.2.

Yêu cầu đối với phân cụm dữ liệu 3

1.3.

Phân cụm web đa mức 4

1.4.

Các thuật toán phân cụm HAC và K-means 5

1.4.1.

Thuật toán HAC (Hierarchical agglomerative clustering) 5

1.4.2.

Thuật toán K-means 6

Chương 2. Phân phối Dirichlet n (LDA) và lấy mẫu Gibbs 10


2.1.

Giới thiệu về phân phối Dirichlet Nn 10

2.2.

Ước lượng LDA với lấy mẫu Gibbs 12

2.3.

Phân định chủ đề theo mô hình LDA với lấy mẫu Gibbs 13

2.4.

Mối quan hệ của LDA với các mô hình biến Nn khác 13

2.4.1.

Mô hình unigram 13

2.4.2.

Mô hình phức hợp các unigram 14

2.4.3.

Chỉ mục ngữ nghĩa tiềm Nn 15

Chương 3. Mô hình hệ thống 18


3.1.

Tổng quan 18

3.2.

Tiền xử lý dữ liệu tiếng Việt 20

3.2.1.

Phân đoạn câu (Sentence segmentation) 20


iv

3.2.2.

Tách câu (Sentence Tokenization) 20

3.2.3.

Tách từ 21

3.2.4.

Lọc bỏ nhiễu 21

3.3.

Phương pháp phân cụm 22


3.4.

Đánh giá phân cụm 23

Chương 4. Thực nghiệm 25

4.1.

Môi trường thực nghiệm 25

4.2.

Công cụ thực nghiệm 25

4.3.

ChuNn bị dữ liệu 25

4.3.1.

Dữ liệu học 25

4.3.2.

Dữ liệu kiểm tra 27

4.4.

Quá trình thực nghiệm 28


4.4.1.

Xây dựng mô hình chủ đề Nn 28

4.4.2.

Phân cụm mức 1 30

4.4.3.

Phân cụm mức 2 31

4.4.4.

Thời gian xây dựng mô hình chủ đề Nn 2 32

Kết luận và định hướng 34

Tài liệu tham khảo 35

Tiếng Việt 35

Tiếng Anh 35




v


Danh sách bảng
Bảng 1: Một số từ nhiễu cần được loại bỏ 22

Bảng 2: Môi trường thực nghiệm 25

Bảng 3: Chi tiết số lượng trang web được trích rút với 10 chủ đề lớn 26

Bảng 4: Chi tiết số lượng trang web được trích rút với 5 chủ đề con thuộc lĩnh vực
kinh tế 27

Bảng 5: Bảng các giá trị tham số cho JGibbsLDA để tạo chủ đề n gồm 20 từ 28

Bảng 6: Bảng tham số cho JGibbsLDA để tạo chủ đề n mức 1 gồm 40 từ 30

Bảng 7: Bảng tham số cho JGibbsLDA để tạo chủ đề n mức 2 gồm 20 từ 30



vi

Danh sách hình vẽ
Hình 1: Ví dụ phân cụm web đa mức 5

Hình 2: Thuật toán K-means 8

Hình 3: Quy trình sinh của LDA 11

Hình 4: Miêu tả sự khác nhau của các mô hình xác suất bằng đồ thị 14

Hình 5: Sự khác biệt giữa các mô hình xác suất mô tả bằng hình học 16


Hình 7: Các công đoạn xử lý trang web tiếng Việt 20

Hình 8: Giải thích về các đại lượng TP, FP, FN, TN 23

Hình 9: Minh họa về file dữ liệu học cho JGibbsLDA 26

Hình 10: Mô tả dữ liệu đánh giá phân cụm mức 1 28

Hình 11: Mô tả dữ liệu đánh giá phân cụm mức 2 28

Hinh 12: Ví dụ về kết quả tạo mô hình chủ đề n 29

Hình 13: F-Score của 10 chủ đề qua phân cụm 31

Hình 14: Đánh giá phân cụm mức 2 với số vòng lặp 1000, 1500, 2000 31

Hình 15: Ví dụ về chủ đề bất động sản với số vòng lặp là 1000 và 2000 32

Hình 16: Đánh giá thời gian xây dựng mô hình chủ đề n mức 2 33



1

Mở đầu

Vấn đề mà người tìm kiếm thông tin trên web phải đối mặt hang ngày là lượng
thông tin quá lớn trên Internet trong khi những trang web thật sự liên quan đến nhu cầu
người dùng rất nhỏ. Những máy tìm kiếm cho phép người dùng thu được những trang

web khớp với truy vấn, nhưng số lượng kết quả trả về thường rất lớn, trong đó có
nhiều tài liệu không liên quan đến mục đích tìm kiếm. Các máy tìm kiếm cố gắng sắp
xếp kết quả, đưa những trang web “liên quan nhất” lên cao hơn, nhưng người dùng vẫn
thường xuyên phải thêm hoặc thay đổi câu truy vấn đề lọc bỏ những kết quả không
liên quan.
Một giải pháp để hỗ trợ người dùng tìm kiếm thông tin nhanh chóng là phân cụm
web [2,9]. Do sự tăng lên nhanh chóng của số lượng các trang web, phân cụm web
đang trở thành một phần quan trọng trong các máy tìm kiếm. Phân cụm web là một
giải pháp sắp xếp lại kết quả tìm kiếm web theo cách thuận tiện hơn cho việc sử
dụng.Với một cách thức phân cụm tốt, kết quả tìm kiếm có thể được tự động sắp xếp
vào những cụm nhất định, điều này nâng cao tính sẵn sàng (availability) và truy cập
được (accessibility) của dữ liệu.
Việc biểu diễn dữ liệu văn bản hiệu quả để khai thác mối quan hệ giữa các thành
phần đang nhận được nhiều nghiên cứu phát triển [18]. Trong đó có thể kể tới mô hình
LSA [24], pLSI [21] và LDA [16]. LDA là mô hình sinh giải quyết được những tồn tại
trong LSA và pLSI [16]. Mô hình LDA có nhiều ứng dụng, trong có ứng dụng khảo
sát chủ đề Nn của các văn bản. Khóa luận này tập trung theo hướng phân cụm đa mức
các bài báo dựa trên mô hình chủ đề Nn và thuật toán phân cụm K-means.
Cách thức phân cụm được tiến hành trong khóa luận bao gồm các bước: Trích rút
dữ liệu, tiền xử lý dữ liệu, xây dựng mô hình chủ đề Nn, biểu diễn văn bản cần phân
cụm qua chủ đề Nn, phân cụm văn bản. Do trên thực tế, các trang web thường được
phân cụm theo 2 mức (Ví dụ, trên trang , các trang web được
phân vào “Kinh doanh”, “pháp luật”, “sức khỏe”… sau đó các trang web thuộc lĩnh
vực “kinh doanh” lại được phân vào cụm nhỏ hơn như “bất động sản”, “chứng khoán”
v v ) trong khuôn khổ khóa luận này, tôi chỉ tập trung phân cụm các trang web theo 2
mức.
Phần còn lại của khóa luận được chia thành bốn chương:

2


Chương 1: Phân cụm web đa mức: Trình bày những nội dung cơ bản về phân
cụm, phân cụm web, phân cụm web đa mức và hai thuật toán phân cụm được sử dụng
phổ biến là HAC và K-means.
Chương 2: Giới thiệu về phân phối Dirichlet Nn và lấy mẫu Gibbs: Trình bày
những nội dung cơ bản về phân phối Dirichlet Nn và lấy mẫu Gibbs, bao gồm những
mô hình toán học và xác suất. Đây là những kiến thức nền tảng cho việc xây dựng mô
hình chủ đề Nn.
Chương 3: Mô hình thực nghiệm: Trình bày mô hình xây dựng chủ đề Nn.
Chương 4: Thực nghiệm: Xây dựng, thử nghiệm và đánh giá phân cụm đa mức
với chủ đề Nn.
Kết luận: Tổng kết những nội dung chính của khóa luận, những điều đã đạt
được, các vấn đề còn tồn tại và hướng phát triển của hệ thống.


3

Chương 1. Giới thiệu về phân cụm web đa mức
1.1. Phân cụm dữ liệu
Phân cụm (Clustering) [2,9] là quá trình phân tách tập các đối tượng dữ liệu
thành tập có nghĩa các tập con được gọi là cụm (cluster). Thông thường, cho trước một
tập n đối tượng, mỗi đối tượng có p thuộc tính, việc phân cụm nhằm mục đích tìm ra
cách chia hợp lý n đối tượng vào một số cụm nào đó. Trong đó, một cụm là một tập
các đối tượng dữ liệu giống nhau theo một số thuộc tính và khác với các đối tượng dữ
liệu thuộc vào cụm khác. Mỗi cụm có thể được xử lý như một nhóm, vì thế phân cụm
còn có thể coi như nén dữ liệu.
Khác với việc phân lớp đối tượng, nhãn của lớp là chưa biết. Điều này xảy ra
thường xuyên với những cơ sở dữ liệu lớn, vì viêc gán nhãn lớp cho số lượng đối
tượng dữ liệu lớn là một quá trình tốn kém. Việc phân cụm rất có ích trong đưa ra cái
nhìn tổng quan trên toàn thể dữ liệu.
Để đạt được điều đó, mỗi cụm cần được tạo nhãn chủ đề, điểu này giúp cho việc

định hướng người dùng về tài liệu trong cụm đó. Việc tạo nhãn cho cụm là một vấn đề
quan trọng và được nhiều nghiên cứu quan tâm [4, 17, 19, 23].
Thông thường, để phân cụm dữ liệu, ta sử dụng những đại lượng khoảng cách, ví
dụ như khoảng cách Euclide. Phân cụm có ứng dụng trong nhiều lĩnh vực như
marketing [3, 11, 20], quản lý [3], kinh tế [3] …
Phân cụm không phải là một lĩnh vực mới [9] nhưng vấn đề phân cụm kết quả trả
về từ máy tìm kiếm được nhiều nhà khoa học quan tâm trong những năm gần đây, với
các nghiên cứu về phân cụm để cải tiến chất lượng tìm kiếm web [5-8, 14, 22].
1.2. Yêu cầu đối với phân cụm dữ liệu
Dưới đây là những yêu cầu thông thường đối với phân cụm dữ liệu [9]:
1) Tính mở rộng được (Scalability)
Nhiều thuật toán phân cụm làm việc tốt trên tập dữ liệu nhỏ, tuy nhiên, chúng có thể
không xử lý được tập dữ liệu lớn, như chứa trên 10 ngàn đối tượng dữ liệu. Một giải
pháp cho vấn đề này là áp dụng thuật toán trên từng tập con của miền dữ liệu lớn, tuy
nhiên cách làm này có thể dẫn tới kết quả sai lệch.
2) Khả năng xử lý dữ liệu đa chiều
Cơ sở dữ liệu có thể có nhiều chiều hay nhiều thuộc tính. Đa số các thuật toán phân
cụm có thể làm việc tốt trên dữ liệu ít chiều, tuy nhiên kém trong xử lý dữ liệu đa
chiều, đặc biệt khi mà các thuộc tính thưa (sparse). Nhiều thuật toán chỉ đơn giản tạo

4

ra một chiều tương ứng với mỗi từ trong tập các từ của tập dữ liệu. Do số lượng các từ
trong mỗi ngôn ngữ đều lớn, không gian dữ liệu thường lên tới trên 10 ngàn chiều,
điều này ảnh hưởng lớn đến quá trình thực hiện của thuật toán. Vấn đề về khả năng xử
lý dữ liệu đa chiều liên quan mật thiết đến vấn đề về tính mở rộng (Scalability) và tính
hiệu quả (Efficiency)
3) Sử dụng tri thức miền ít nhất để quyết định những tham số đầu vào
Đa số các thuật toán phân cụm đều yêu cầu người dùng nhập vào những tham số nhất
định, ví dụ như số cụm mong muốn. Kết quả phân cụm có thể phụ thuộc nhiều vào

những tham số đầu vào đó. Trong khi đó, các tham số thường khó để chọn, đặc biệt
khi dữ liệu là nhiều chiều. Điều này không những gây khó khăn cho người dùng, mà
còn làm cho chất lượng phân cụm khó kiểm soát.
4) Khả năng xử lý dữ liệu nhiễu
Đa số các cơ sở dữ liệu trên thực tế chứa những dữ liệu biên, thiếu, hoặc sai. Những
thuật toán phân cụm phục thuộc vào dữ liệu chuNn có thể dẫn tới kết quả phân cụm tồi
khi xử lý những dữ liệu này.
5) Phân cụm tăng dần và khả năng độc lập với thứ tự dữ liệu đầu vào
Nhiều thuật toán phân cụm không thể xử lý thêm những dữ liệu mới được thêm vào tới
những cấu trúc cụm có sẵn mà phải phân cụm lại từ đầu. Một vài thuật toán phụ thuộc
vào thứ tự của dữ liệu đầu vào, nghĩa là, cho một tập các đối tượng dữ liệu, những
thuật toán đó có thể cho ra những kết quả phân cụm rất khác nhau phụ thuộc vào thứ
tự của dữ liệu. Vì thế, việc thiết lập các thuật toán phân cụm có thểm phân cụm tăng
dần và đọc lập với thứ tự dữ liệu là rất quan trọng.
6) Khả năng xử lý nhiều kiểu dữ liệu
Những chương trình phân cụm cần có khả năng xử lý nhiều kiểu dữ liệu như số, nhị
phân, đa thức hoặc tập hợp của những kiểu dữ liệu trên.
7) Phân cụm dựa trên điều kiện
Những ứng dụng thực tế cần thi hành phân cụm dưới những loại ràng buộc khác nhau.
8) Các cụm có thể hiểu được và tính sử dụng được
Người dùng mong muốn những cụm được phân có tính hiểu được và sử dụng được,
nói cách khác, người dùng có thể nhận ra được sự khác biệt giữa cụm dữ liệu này và
cụm khác.
1.3. Phân cụm web đa mức
Phân cụm trang web [9] là quá trình tổ chức một cách tự động trang web vào các
cụm hay nhóm, sao cho các trang web trong cùng một cụm có độ tương đồng cao so và

5

có sự khác biệt lớn với những trang web trong cụm khác. Nói cách khác, quá trình

phân cụm hướng tới tối đa độ tương đồng bên trong cụm (intra-cluster sinilarity) và tối
thiểu hóa độ tương đồng giữa các cụm (inter-cluster similarity).
Thay vì phân cụm trang web thành tập hợp phẳng các cụm, phân cụm trang web
đa mức [9] tổ chức các trang web thành một cây thuận tiện cho tìm kiếm. Mối quan hệ
cha-con giữa các node trong cây có thể xem như mối quan hệ giữa chủ đề lớn và chủ
đề con của chúng.
Hình dưới đây mô tả trực quan về phân cụm web:












Hình 1: Ví dụ phân cụm web đa mức
1.4. Các thuật toán phân cụm HAC và K-means
1.4.1. Thuật toán HAC (Hierarchical agglomerative clustering)
Thuật toán HAC [10] là một thuật toán phân cụm được sử dụng rất rộng rãi và
được tích hợp vào các ứng dụng thu nhập thông tin. HAC yêu cầu định nghĩa hàm
khoảng cách- hay độ tương tự giữa các cụm và trang web. Ta có thể định nghĩa các
hàm khoảng cách trong không gian Euclide như sau:
- Khoảng cách giữa hai tài liệu: ݏ݅݉

݀





=cos ሺ݀




- Khoảng cách giữa trong tâm của cụm ܵ

và ܵ

: ݏ݅݉

ܵ




=ݏ݅݉ሺܿ

,ܿ

ሻ trong
đó ܿ

, ܿ

lần lượt là trọng tâm hai cụm ܵ


, ܵ

.
- Khi tính khoảng cách giữa hai cụm tài liệu, ta có thể dùng những phương pháp
sau:
Bất động
sản



Web
Kinh tế
Thể thao
Giáo dục
Chứng
khoán
Thị
trường

6

o Phương pháp single-link: khoảng cách giữa hai cụm tài liệu là tổng
khoảng cách của những thành viên gần nhau nhất:
ݏ݅݉

ܵ





=݉ܽݔ


∈ௌ

,ௗ

∈ௌ

ݏ݅݉ሺ݀




o Phương pháp complete-link: khoảng cách giữa hai cụm tài liệu là tổng
khoảng cách của những thành viên xa nhau nhất:
ݏ݅݉

ܵ




=݉݅݊


∈ௌ

,ௗ


∈ௌ

ݏ݅݉ሺ݀




o Phương pháp group-average: khoảng cách giữa hai cụm tài liệu là tổng
khoảng cách trung bình của các thành viên:
ݏ݅݉

ܵ




=
1


||ܵ

|
෍ ݏ݅݉ሺ݀







∈ௌ

,ௗ

∈ௌ


Thuật toán HAC được mô tả chi tiết như dưới đây:
Cho S là tập các trang cần phân cụm, G là tập các cụm, k là số cụm đích, q là độ
tương tự nhỏ nhất.
Bước 1: Khởi tạo G là tập các cụm chỉ gồm một trang web trong tập S.
Bước 2: Nếu
|
ܩ
|
<݇, tức là đã đạt được số cụm mong muốn: Dừng thuật toán.
Bước 3: Tìm hai cụm có độ tương tự (khoảng cách) lớn nhất.
Bước 4: Nếu ݏ݅݉൫ܵ



൯<ݍ thì dừng thuật toán.
Bước 5: Loại bỏ ܵ



khỏi G.
Bước 6: Tạo cụm ܹ =ܵ

∪ ܵ


và ܩ =ܩ∪ܹ.
Bước 7: Quay lại bước 2.
1.4.2. Thuật toán K-means
Thuật toán k-means [15] có thể xếp vào lớp thuật toán phân cụm phẳng, ý tưởng
chính của thuật toán là biểu diễn một cụm bằng trọng tâm của các trang web nằm trong
cụm đó. Thuật toán thực hiện bằng cách tối thiểu hóa tổng bình phương khoảng cách
từ dữ liệu đến tâm của cụm tương ứng. Việc quyết định phân một trang web vào một
cụm là dựa vào độ tương đồng của trang web đó với trọng tậm của các cụm. Tồn tại
hai dạng của thuật toán K-means là dạng cứng và dạng mềm.
1.4.2.1. Thuật toán K-means với gán “cứng”
Dạng “cứng” phân các trang web đến các cụm theo một trong hai giá trị 0 hoặc 1.
Phương pháp biểu diễn vector được sử dụng để biểu diễn trang web. Trong thuật toán
này, cụm được thể hiện bằng vector đại diện, vector này thường là vector của trọng
tâm của cụm. Để thể hiện cụm thứ i, ký hiệu là ܵ

, với vector đại diện di sẽ được mô tả
như sau:

7

ܵ

=

݀∈ܵ|ݏ݅݉ሺ݀,݀

ሻ≤ݏ݅݉ሺ݀,݀

ሻ∀݆≠݅



Trong đó sim(u,v) là giá trị hàm khoảng cách giữa hai vector u và v. Trong
trường hợp mỗi trang web được yêu cầu chỉ thuộc một cụm nhưng khoảng cách giữa
vector đại diện của trang web đó tới vector trọng tâm của hai hay nhiều cụm bằng
nhau, ta có thể chọn ngẫu nhiên trong các cụm đó.
Thuật toán được mô tả chi tiết qua các bước như sau:
Bước 1: Khởi tạo: Chọn số cụm k. Chọn ngẫu nhiên dữ liệu trong tập dữ liệu ban
đầu vào k cụm.
Bước 2: Tính tâm của cụm.
Bước 3: Tính khoảng cách từ các dữ liệu đến tâm các cụm. Chuyển cụm xảy ra
nếu khoảng cách từ dữ liệu đến tâm một cụm khác là nhỏ nhất.
Bước 4: Kiểm tra: Nếu không có thay đổi về cụm thì thuật toán dừng. Ngược lại,
thuật toán quay lại bước 2.
Điểm mấu chốt là ở bước 3, việc di chuyển các trang web giữa các cụm để làm
cực đại hóa độ tương tự giữa các trang web bên trong một cụm. Độ đo tương tự trong
nội tại một cụm được tính bằng công thức:
ܬ=෍ ෍ ݏ݅݉ሺܿ






∈ௌ


௜ୀଵ

Trong đó ܵ


và ܿ

lần lượt là tập hợp các trang web và trọng tâm của cụm i;
ݏ݅݉ሺܿ



ሻ là độ đo cosin giữa ܿ

và ݀

.


8



















Hình 2: Thuật toán K-means
Thuật toán K-means không đảm bảo tìm được giá trị cực đại toàn cục của hàm J
nhưng ta có thể chạy thuật toán một số lần để thu được giá trị cực đại cục bộ. Kết quả
cuối cùng của K-means phụ thuộc rất nhiều vào cách lựa chọn k trang web ban đầu
làm trong tâm của k cụm. Nếu ta tiến hành nhiều lần thí nghiệm , trong mỗi lần đều
chọn ngẫu nhiên k trang web ban đầu thì kết quả nhận được trong các lần thí nghiệm
có thể khác nhau. Nói cách khác, ta có thể tiến hành thí nghiệm một số lần nhất định
với giá trị khởi tạo khác nhau và chọn kết quả của lần chạy tối ưu nhất.
Trong thực tế, nếu dữ liệu quá lớn hoặc giải thuật không hội tụ (Thuật toán
không dừng) có thể dẫn đến thời gian chạy lớn. Do đó, ta có thể sử dụng thêm các điều
kiện dừng như dưới đây:
• Khi số lượng vòng lặp vượt quá một ngưỡng nào đó. Tuy nhiên, điều kiện
dừng này có thể làm cho quá trình phân cụm không được tốt do có thể số
vòng chạy chưa đạt mức cần thiết
• Khi giá trị J nhỏ hơn một ngưỡng nào đó (người lập trình thiết lập ngưỡng
chấp nhận được của thuật toán)
• Khi hiệu hai giá trị liên tiếp của J nhỏ hơn một ngưỡng nào đó. (Mức độ
“tốt” của việc phân cụm không được cải thiện thêm nhiều sau vòng lặp)
Trên thực tế, 3 điều kiện dừng trên có thể được dùng kết hợp với nhau.
Bắt đầu

Số
cluster K

Tính tâm cụm
Tính khoảng

cách t


d


li

u
Nhóm dữ liệu
dựa trên
kho

ng cách
Không thay
đối?
Kết thúc


9

1.4.2.2. Thuật toán K-means với gán “mềm”
Nếu như dạng cứng của thuật toán K-means gán các trang web cho các cụm,
dạng “mềm” lại biểu diễn mỗi cụm c sử dụng một vector ߤ
ܿ
trong không gian. Do
không có một sự rõ ràng trong việc gán các trang web cho các cụm, ߤ
ܿ
không trực tiếp
liên hệ với các trang web, nói cách khác, nó không nhất thiết phải là trọng tâm của các

cụm.
Mực tiêu của K-means dạng “mềm” là tìm ߤ
ܿ
cho mỗi cụm c để tối thiểu hóa đại
lượng

|݀ −ߤ
ܿ
|
2
݀
. Chiến lược đơn giản để thực hiện điều này là đưa ra các vector
trung bình là khoảng cách từ các trang web đến cụm gần nhất. Việc quét qua các trang
web được thực hiện nhiều lần, và với mỗi trang d ta tích lũy một ∆ߤ
ܿ
cho cụm ߤ
ܿ
gần
d nhất:

ߤ
ܿ
=
෍ቊ
߲

݀− ߤ
ܿ

݊ ݑ ߤ

ܿ
݃ ݊ ݀ ݊ℎ ݐ
0 ݐݎ ݊݃ ℎ ݌ ݇ℎáܿ

݀

Sau khi quét một lần qua tất cả các trang web, tất cả các ߤ

được cập nhật đồng
loạt bởi công thức ߤ

∶= ߤ

+ ∆ߤ

, trong đó ߲ được gọi là tỷ lệ học. Chú ý, mỗi lần
chỉ một trang web d được chuyển vào một ߤ

. Việc phân bố trang web d không bị giới
hạn chỉ đến một ߤ

gần nó nhất mà có thể được chia sẻ giữa nhiều trang web. Việc
phân chia cụm c quan hệ trực tiếp đên độ tương tự hiện thời giữa ߤ

và d. Ví dụ, có thể
làm mềm công thức tính ∆ߤ

ở trên như sau:
∆ߤ



1
|
݀−ߤ

|


1
|
݀− ߤ

|


ሺ݀− ߤ


Hoặc:
∆ߤ


݁
ି
|
ௗିఓ

|



݁
ି
|
ௗିఓ

|


ሺ݀− ߤ




10

Chương 2. Phân phối Dirichlet n (LDA) và lấy mẫu
Gibbs
2.1. Giới thiệu về phân phối Dirichlet n
LDA [16] là mô hình sinh xác suất cho dữ liệu rời rạc như text corpora, là phát
triển của một vài mô hình như Bayes ngây thơ, mô hình Hofman’s aspect (cũng được
biết đến với tên gọi khác: probabilistic latent semantic indexing- pLSI) [1]. Trong
trường hợp mô hình hóa dữ liệu văn bản, LDA quan niệm mỗi tài liệu được tạo ra bởi
tập hợp các chủ đề, trong đó tỷ lệ hỗn hợp giá trị liên tục (continuous-valued mixture
proportions) được phân phối như một biến ngẫu nhiên Dirichlet. [2]. Về bản chất,
LDA là một mô hình Bayesian cấp 3 (cấp từ) trong đó mỗi phần của mô hình được coi
như một mô hình trộn hữu hạn trên cơ sở tập các xác suất chủ đề [2]. Mô hình được
trình bày như hình sau:
Giả sử ta có 1 corpus của M tài liệu biểu diễn bởi ܦ =

݀




, ,݀


. Tập từ
vựng của corpus này là V. Tài liệu m gồm ܰ

từ ݓ

rút từ một tập từ vựng:

ݐ



, ,ݐ


.
Trong LDA, một tài liệu ݓ







Ԧ

=

ݓ
௠,௡

௡ୀଵ


đầu tiên được tạo ra bằng cách chọn
một phân phối trên chủ đề ݒ






Ԧ
từ một phân bố Dirichlet

ܦ݅ݎሺߙԦሻ

, phân phối này quyết
định chủ đề cho những từ ở trong văn bản đó. Sau đó, chủ đề ݖ
௠,௡
được tạo ra từ phân
phối đa thức ܯݑ݈ݐሺݒ







Ԧ
ሻ. Cuối cùng, mỗi từ ݓ
௠,௡
được tạo ra bằng cách lấy mẫu từ
phân phối đa thức ܯݑ݈ݐሺ߮

೘,೙










Ԧ
ሻ.
for mỗi tài liệu
݉

[
1
,
ܯ
]
do

lấy mẫu tỷ lệ
ݒ






Ԧ
~
ܦ݅ݎ

ߙ
Ԧ


lấy mẫu độ dài tài liệu ܰ

~ܲ݋݅ݏݏሺξሻ
for mỗi từ ݊∈[1,ܰ

] do
lấy mẫu chỉ số chủ đề ݖ
௠,௡
~ܯݑ݈ݐሺݒ







Ԧ

lấy mẫu từ ݓ
௠,௡
~ܯݑ݈ݐሺ߮

೘,೙










Ԧ

end for
end for
Phân phối đồng thời của cả những biến đã biết và biến Nn có thể xác định như
sau, nếu cho trước các tham số Dirichlet:
݌൫ݓ








Ԧ







Ԧ







Ԧ
หߙԦ,Ф൯=ෑ݌ሺݓ
௠,௡


೘,೙











Ԧ
ሻ݌ሺݖ
௠,௡







Ԧ
ሻ݌ሺߴ






Ԧ
|ߙԦሻ


௡ୀଵ

Xác suất của tài liệu


՜

được tính bởi tích phân trên

՜

trên miền

՜

như sau:

11

݌


՜



՜,Ф

=

݌


՜


|

՜

.ෑ݌

ݓ
௠,௡
|

՜



݀


௡ୀଵ

՜


Cuối cùng, xác suất của cả tập dữ liệu ܹ =


՜


௠ୀଵ


là tích của tất cả xác suất
của các tài liệu:
݌

ܹ


՜,Ф

=ෑ ݌


՜



՜,Ф


௠ୀଵ
ሺ1ሻ
Quy trình trên có thể mô tả qua hình 3 dưới đây:
Trong đó các tham số có thể được mô tả như sau:
- ߙ và ߚ: Tham số mức.
- ݒ







Ԧ
: phân phối của chủ đề trong tài liệu thứ m (Tham số cấp độ tài liệu). ݒ






Ԧ

biểu diễn tham số cho ݌ሺݖ|݀ =݉ሻ, thành phần trộn chủ đề cho tài liệu m.
- ݖ
௠,௡
: Chỉ số chủ đề (từ thứ n của văn bản m).
- ݓ
௠,௡
: Từ thứ n của văn bản m chỉ bởi ݖ
௠,௡
(Biến cấp độ từ)
- ߮






Ԧ
: phân phối của các từ được sinh từ chủ đề ݖ
௠,௡

. ߮






Ԧ
biểu diễn tham số cho
݌ሺݐ|ݖ =݇ሻ, thành phần trộn của chủ đề k.
- ܯ: số lượng các tài liệu.
- ܰ

: Số lượng các từ trong tài liệu thứ m (độ dài của văn bản).
- ܭ: Số lượng các chủ đề Nn.
- ܦ݅ݎ và ܯݑ݈ݐ lần lượt là các phân phối Dirichlet, Multinominal (Đa thức).

Hình 3: Quy trình sinh của LDA

12

2.2. Ước lượng LDA với lấy mẫu Gibbs
Ước lượng tham số cho LDA bằng cách trực tiếp tối đa hóa độ giống nhau của
toàn bộ dữ liệu trong phương trình (1) là không khả thi.Một phương án đặt ra là dùng
phương pháp ước lượng xấp xỉ như lấy mẫu Gibbs [16]. Lấy mẫu Gibb là trường hợp
đặc biệt của chuỗi Markov Monte Carlo (Markov-chain Monte Carlo-MCMC).
(Andrieu và cộng sự, 2003). Phương pháp này có ưu điểm là thuật toán triển khai cho
việc suy diễn xấp xỉ là khá đơn giản.
Lấy ݓሬ


Ԧ
và ݖԦ là hai vector của tất cả các từ và chủ đề của chúng trong toàn bộ tập
dữ liệu W.
Phương pháp lấy mẫu Gibb không chỉ dùng Ф và ߴ như tham số để ước lượng,
mà còn quan tâm đến phân phối hậu nghiệm ܲሺݖԦ|ݓሬ

Ԧ
ሻ. Sau đó ta sẽ có ước lượng của Ф
và Θ bằng cách sử dụng phân phối hậu nghiệm đó. Mô hình xác suất hoàn chỉnh như
sau:
ݓ








~ܯݑ݈ݐሺФ
ሺ௭



Ф~Dirichletሺβሻ
ݖ







~ܯݑ݈ݐሺΘ



Θ
ሺௗ


~ܦ݅ݎ݅ܿℎ݈݁ݐሺߙሻ
ߙ và ߚ là những siêu tham số, chỉ ra ảnh hưởng của điều kiện tiền nghiệm lên Ф
và Θ. Phân phối đồng thời của mọi biến với những biến cho trước trên là
݌ሺݓሬ

Ԧ
,ݖԦ,Θ,Ф|α,βሻ. Vì những điều kiện tiền nghiệm liên hợp với Ф và Θ, ta có thể tính
được ݌ሺݓሬ

Ԧ
,ݖԦሻ bằng tích phân Ф và Θ.
Sử dụng mô hình sinh trên, phân định chủ đề cho một từ nào đó có thể được tính
toán dựa trên phân định chủ đề của các từ khác. Hơn nữa, phân định chủ đề của một từ
t được lấy mẫu từ phân phối đa thức sau:
݌

ݖ


|

ݖ
¬ప





Ԧ
,ݓሬ

Ԧ

=
݊
௞,¬௜
ሺ௧ሻ
+ ߚ



݊

ሺ௩ሻ
+ ߚ


௩ୀଵ
൧ − 1
=
݊

௠,¬௜
ሺ௞ሻ
+ ߙ



݊

ሺ௝ሻ
+ ߙ


௝ୀଵ
൧ − 1

Trong đó, t là số lần từ được phân cho chủ đề k

݊

ሺ௩ሻ
− 1

௩ୀଵ
là tổng số từ được phân cho chủ đề k trừ phân định hiện thời.
݊
௠,¬௜
ሺ௞ሻ
là số từ trong tài liệu m được phân cho chủ đề k.

݊


ሺ௝ሻ
− 1

௝ୀଵ
là tổng số từ trong tài liệu m trừ từ t.
Trong trường hợp thông thường, biến Dirichlet ߙԦ,ߚ
Ԧ
là đều, nghĩa là mọi ߙ


giống nhau, tương tự với ߚ
Ԧ
.
Sau quá trình lấy mẫu Gibbs, hai ma trận Ф và Θ được tính như sau:

13

߮
௞,௧
=
݊

ሺ௧ሻ
+ ߚ


݊

ሺ௩ሻ

+ ߚ


௩ୀଵ

ߴ
௠,௞
=
݊

ሺ௞ሻ
+ ߙ


݊

ሺ௝ሻ
+ ߙ


௝ୀଵ

2.3. Phân định chủ đề theo mô hình LDA với lấy mẫu
Gibbs
Cho mô hình LDA đã ước lượng trước, ta có thể thực hiện phân định chủ đề cho
những tài liệu chưa biết [2]. Một tài liệu mới ݉෥ là 1 vector của các từ ݓ








Ԧ

; mục tiêu
của chúng ta là ước lượng phân phối hậu nghiệm của tất cả các chủ đề ݖԦ

với vector từ
ݓ







Ԧ

và mô hình LDA:
ܮ

Θ,Ф



ݖԦ
|
ݓሬ


Ԧ
, ܮ

= ݌(ݖԦ

, ݓሬ

Ԧ

, ݓሬ

Ԧ
, ݖԦሻ. Tương tự, ta tính mẫu Gibbs cập nhật như
sau:
݌൫ݖ̃

= ݇หݖ
¬ప





Ԧ

, ݓሬ

Ԧ

൯ =

݊

(௧ሻ
+ ݊෤
௞,¬௜
(௧ሻ
+ ߚ



݊

(௩ሻ
+ ݊෤

(௩ሻ
+ ߚ


௩ୀଵ
൧ − 1
=
݊
௠,¬௜
(௞ሻ
+ ߙ



݊



(௭ሻ
+ ߙ


௭ୀଵ
൧ − 1


Trong đó biến ݊෤

(௧ሻ
đếm số thể hiện của t và chủ đề k trong tài liệu mới. Sau khi
thực thi lấy mẫu chủ đề: Phân phối chủ đề của tài liệu mới ݉෥ là
ݒ


෦ =

ݒ


,ଵ
, … ,ݒ


,௞
, … ,ݒ



,௄

với mỗi thành phần được tính như sau:
ߴ


,௞
=
݊


(௞ሻ
+ ߙ


݊


(௭ሻ
+ ߙ


௭ୀଵ

2.4. Mối quan hệ của LDA với các mô hình biến n khác
Trong phần này chúng ta so sánh LDA với những mô hình biến Nn khác đơn giản
hơn dành cho dữ liệu văn bản [16]: Mô hình unigram, mô hình phức hợp các unigram,
(mixture of unigrams) và mô hình pLSI (probabilistic latent semantic indexing).
Những điểm giống và khác nhau được biểu diễn bẳng biểu đồ hình học.

2.4.1. Mô hình unigram
Trong mô hình unigram, các từ trong một tài liệu được lấy một cách độc lập từ
phân phối đa thức:

14

݌

ݓ

=ෑ݌ሺݓ



௡ୀଵ

Mô hình unigram được minh họa qua hình 4a.
2.4.2. Mô hình phức hợp các unigram
Nếu ta bổ sung vào mô hình unigram một biến ngẫu nhiên rời rạc z, ta nhận được
mô hình phức hợp các unigram. (Nigram và cộng sự, 2002). Trong mô hình phức hợp
này, mỗi tài liệu được tạo ra bằng cách trước hết chọn một chủ đề z và sau đó tạo ra N
từ một cách độc lập từ xác suất đa thức có điều kiện ݌ሺݓ|ݖሻ. Xác suất của tài liệu sẽ
là:
݌

ݓ

=෍݌ሺݖሻෑ݌ሺݓ

|ݖሻ


௡ୀଵ௭

Khi ước lượng từ một corpus, phân phối của các từ có thể xem như thể hiện của
các chủ đề với giả định rằng mỗi tài liệu thể hiện chỉ một chủ đề. Thực nghiệm cho
thấy giả định này thường quá giới hạn để mô hình hóa một cách hiệu quả một số lượng
tài liệu lớn [16].


Hình 4: Miêu tả sự khác nhau của các mô hình xác suất bằng đồ thị

15

Trong khi đó, mô hình LDA cho phép tài liệu thể hiện nhiều chủ đề ở những mức
độ khác nhau. Điều này nhận được với chi phí thấp-bằng cách chỉ cần thêm một biến:
Trong mô hình phức hợp các unigrams, ta sử dụng k-1 biến liên quan tới p(z) và trong
mô hình LDA ta chỉ cần dùng k biến liên quan tới ݌ሺϴ|ߙሻ
2.4.3. Chỉ mục ngữ nghĩa tiềm n
Chỉ mục ngữ nghĩa tiềm Nn (Probabilistic latent semantic indexing) [21] cũng là
một mô hình được sử dụng rộng rãi. Mô hình pLSI, được mô tả ở hình 1c, quan niệm
rặng một tài liệu nhãn d và từ nhãn ݓ

là độc lập có điều kiện với chủ đề z chưa biết
như sau:
݌

݀,ݓ


=݌ሺ݀ሻ෍݌ሺݓ


|ݖሻ݌ሺݖ|݀ሻ


Mô hình pLSI đã quan niệm tài liệu có thể có nhiều chủ đề và các ݌ሺݖ|݀ሻ là
những trọng số của các chủ đề đối với tài liệu cụ thể d. d là một biến ngẫu nhiên đa
thức với số giá trị bằng với trong tập dữ liệu học. Với lý do trên, pLSI không phải là
mô hình sinh được xác định tốt (well-defined) cho các tài liệu, không thích hợp để
dùng nó để phân bố xác suất tới những tài liệu chưa biết trước đó.
Một khó khăn đối với pLSI nữa, đó là số lượng tham số cần ước lượng tăng
tuyến tính với số lượng tài liệu học. Các tham số cho mô hình pLSI với k chủ đề là k
phân phối đa thức với độ lớn V và M trên k chủ đề Nn. Điều này dẫn đến số tham số là
kV+kM và vì thế nó tăng tuyến tính theo M. Sự tăng tham số tuyến tính với độ lớn tập
dữ liệu học chỉ ra rằng mô hình dễ dẫn tới phù hợp trội (overfitting) và nói chung, phù
hợp trội là một vấn đề nghiêm trọng.
LDA giải quyết được những vấn đề trên bởi việc coi trọng số chủ đề như k tham
số biến ngẫu nhiên Nn hơn là một tập lớn những biến ngẫu nhiên đơn lẻ liên kết tới tập
dữ liệu học một cách độc lập. LDA là một mô hình sinh xác định tốt và sinh dễ dàng
những tài liệu mới. Thêm nữa, số lượng biến k + kV trong mô hình LDA k chủ đề
không tăng theo độ lớn tập dữ liệu học.
2.4.4. So sánh bằng biểu đồ hình học
Một phương pháp để mô tả sự khác biệt giữa LDA và những mô hình chủ đề Nn
khác là xem xét hình dạng của không gian Nn, và xem cách một tài liệu được biểu diễn
hình học với mỗi mô hình như thế nào.
Tất cả 4 mô hình trên: Unigram, phức hợp các Unigrams, pLSI và LDA thi hành
trong không gian của phân phối trên các từ. Mỗi phân phối có thể xem như một điểm
trong không gian V-1 ( (V-1)-simplex), còn được gọi là không gian từ (word simplex).

16


Mô hình unigram tìm một điểm trong không gian từ và thừa nhận rằng mọi từ
trong tập corpus đến từ những phân phối tương ứng. Các mô hình biến Nn xem xét k
điểm trong không gian từ và tạo một không gian con từ những điểm đó, được gọi là
không gian chủ đề (topic simplex), Chú ý rằng mọi điểm trong không gian chủ đề cũng
là điểm trong không gian từ. Những mô hình biến Nn khác nhau sử dụng những không
gian chủ đề khác nhau trong việc tạo ra tài liệu:
- Mô hình phức hợp các unigrams cho rằng với mỗi tài liệu, một trong k điểm
trong không gian từ được chọn một các ngẫu nhiên và mọi từ trong tìa liệu đó
được lấy từ phân phối tương ứng với điểm đó.
- Mô hình pLSI cho rằng mỗi từ trong một tài liệu học đến từ một chủ đề được
chọn ngẫu nhiên. Chủ đề lại được chọn từ những phân phối hướng tài liệu dựa
trên chủ đề, mà ở đây là điểm trong không gian chủ đề. Có một phân phối như
vậy cho mỗi tài liệu vì thế các tài liệu học xác định phân phối biên trong không
gian chủ đề.
- LDA quan niệm rằng mỗi từ của cả những tài liệu được thấy hoặc chưa thấy
được tạo ra từ một chủ đề được chọn ngẫu nhiên, chủ đề này được lấy từ phân
phối với các tham số chọn ngẫu nhiên. Các tham số này được lấy mẫu một lần
với mỗi tài liệu từ phân phối trên không gian chủ đề.
Sự khác biệt giữa các mô hình được th ể hiện ở hình dưới đây:

Hình 5: Sự khác biệt giữa các mô hình xác suất mô tả bằng hình học

×