Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
ĐẠ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 http://www.dantri.com.vn, 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 0� 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, 0� 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 0� cho mỗi cụm c để tối thiểu hóa đại
lượng ∑ |� − 0�|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 ∆0� cho cụm 0� gần
d nhất:
∆0�= � 56�� − 0�" � 7 0� 8 � � �ℎ :0 :< �8 ℎ = �ℎá� ?
�
Sau khi quét một lần qua tất cả các trang web, tất cả các 0@ được cập nhật đồng
loạt bởi công thức 0@ ∶= 0@ + ∆0@ , trong đó 6 đượ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 0@. Việc phân bố trang web d không bị giới
hạn chỉ đến một 0@ 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 0@ và d. Ví dụ, có thể
làm mềm công thức tính ∆0@ ở trên như sau:
∆0@ = 61|� − 0@|�
∑ 1|� − 0@|�C�� − 0@
Hoặc:
∆0@ = 6 DE|�EFG|�
∑ DE|�EFG|�C�� − 0@
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 H = I��, ��, . . , �KL. Tập từ
vựng của corpus này là V. Tài liệu m gồm MN từ O rút từ một tập từ vựng:
I:�, :�, . . , :PL.
Trong LDA, một tài liệu ONQQQQQQR = &ON,S+S/�TU đầu tiên được tạo ra bằng cách chọn
một phân phối trên chủ đề VNQQQQQR từ một phân bố Dirichlet �H�<�WR, phân phối này quyết
định chủ đề cho những từ ở trong văn bản đó. Sau đó, chủ đề XN,S được tạo ra từ phân
phối đa thức Y7Z:�VNQQQQQR. Cuối cùng, mỗi từ ON,S được tạo ra bằng cách lấy mẫu từ
phân phối đa thức Y7Z:�[\U,]QQQQQQQQQQR.
for mỗi tài liệu � ∈ [1, Y]do lấy mẫu tỷ lệ VNQQQQQR~H�<�WR lấy mẫu độ dài tài liệu MN~ab����ξ for mỗi từ � ∈ [1, MN] do lấy mẫu chỉ số chủ đề XN,S~Y7Z:�VNQQQQQR lấy mẫu từ ON,S~Y7Z:�[\U,]QQQQQQQQQQR 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:
=�ONQQQQQQR, XNQQQQQR, dNQQQQQReWR, Ф" = g =�ON,S|[\U,]QQQQQQQQQQR=�XN,S|dNQQQQQR=�dNQQQQQR|WRTU
S/�
Xác suất của tài liệu hiN được tính bởi tích phân trên jiNtrên miền \iN như sau:
11
= k hiN l mi, Фn = o = k jiN | min . g = kON,S| jiN, Фn �TU
S/� jiN
Cuối cùng, xác suất của cả tập dữ liệu $ = p hiNqN/�K
là tích của tất cả xác suất
của các tài liệu:
= r$s mi, Фt = g = k hiN l mi, ФnK
N/� �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:
- W và u: Tham số mức.
- VNQQQQQR: phân phối của chủ đề trong tài liệu thứ m (Tham số cấp độ tài liệu). VNQQQQQR biểu diễn tham số cho =�X|� = �, thành phần trộn chủ đề cho tài liệu m.
- XN,S : Chỉ số chủ đề (từ thứ n của văn bản m).
- ON,S: Từ thứ n của văn bản m chỉ bởi XN,S (Biến cấp độ từ)
- [.QQQQQR: phân phối của các từ được sinh từ chủ đề XN,S. [.QQQQQR biểu diễn tham số cho
=�:|X = �, thành phần trộn của chủ đề k.
- Y: số lượng các tài liệu.
- MN: Số lượng các từ trong tài liệu thứ m (độ dài của văn bản).
- v: Số lượng các chủ đề Nn.
- H�< và Y7Z: 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 OQQR và XR 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à d như tham số để ước lượng,
mà còn quan tâm đến phân phối hậu nghiệm a�XR|OQQR. 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:
O |X , Ф�\-~Y7Z:�Ф�\-
Ф~Dirichlet�β
X |��-~Y7Z:��-
Θ��-~H�<��ℎZD:�W
W và u 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à
=�OQQR, XR,Θ,Ф|α, β. Vì những điều kiện tiền nghiệm liên hợp với Ф và Θ, ta có thể tính
được =�OQQR, XR 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:
=�X = �|X¬�QQQQQR, OQQR = �.,¬ �� + u��∑ �.�j + ujPj/� � − 1 = �N,¬ �. + W.
�∑ �N�! + W!�!/� � − 1
Trong đó, t là số lần từ được phân cho chủ đề k
∑ �.�j − 1Pj/� là tổng số từ được phân cho chủ đề k trừ phân định hiện thời.
�N,¬ �. là số từ trong tài liệu m được phân cho chủ đề k.
∑ �N�! − 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 WR, uR là đều, nghĩa là mọi W. là
giống nhau, tương tự với uR.
Sau quá trình lấy mẫu Gibbs, hai ma trận Ф và Θ được tính như sau:
13
[.,� = �.�� + u�∑ �.�j + ujPj/�
dN,. = �N�. + W.∑ �N�! + W!�!/�
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ừ ONQQQQQQR� ; 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ủ đề XR� với vector từ
ONQQQQQQR� và mô hình LDA:
��Θ, Ф: =�XR|OQQR, � = =(XR�, OQQR�,OQQR, XR. Tương tự, ta tính mẫu Gibbs cập nhật như
sau:
=�X̃ = �eX¬�QQQQQR� ,OQQR�" =�.
(� + ��.,¬ (� + u�
�∑ �.(j + ��.
(j + ujPj/� � − 1
=�N,¬
(. + W.
�∑ �N�(\ + W\
�\/� � − 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à
VN�� = &VN� ,�, … , VN� ,. , … , VN� ,�+ với mỗi thành phần được tính như sau:
dN� ,. =�N�
(. + W.
∑ �N�(\ + W\
�\/�
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
=�O = g =�OST
S/�
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 =�O|X. Xác suất của tài liệu sẽ
là:
=�O = � =�X g =�OS|XT
S/�\
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 =�ϴ|W
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 OS là độc lập có điều kiện với chủ đề z chưa biết
như sau:
=��, OS = =�� � =�OS|X=�X|�\
Mô hình pLSI đã quan niệm tài liệu có thể có nhiều chủ đề và các =�X|� 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
17
Mô hình trên mô tả không gian chủ đề cho 3 chủ đề, được đặt trong không gian
từ với 3 từ. 3 đỉnh của không gian từ tương ứng mới ba phân phối của mỗi từ tương
ứng. 3 đỉnh của không gian chủ đề tương ứng với 3 phân phối khác nhau trên các từ.
Mô hình phức hợp các unigram đặt mỗi tài liệu ở góc của không gian chủ đề. Mô hình
pLSI đặt tài liệu ở những vị trí ký hiệu “x” và LDA đặt phân phối cho các tài liệu qua
các vòng tròn đồng tâm.
18
Chương 3. Mô hình hệ thống Chương này mô tả hệ thống được xây dựng để phân cụm web bằng chủ đề Nn với
tập hợp dữ liệu lớn.
3.1. Tổng quan Mô hình được trình bày như hình 6:
Hình 6: Mô hình phân cụm đa cấp ứng dụng chủ đề �n
Mô hình này bao gồm chủ yếu 5 bước như sau:
(a) Chọn dữ liệu miền chuNn
(b) Tiến hành phân tích chủ đề cho dữ liệu miền
Cụm 1.1
Phân cụm cấp II
Cụm 1.m … Cụm k.1
Phân cụm cấp II
Cụm k.n …
Dữ liệu học Ước lượng mô
hình Phân tích chủ đề
Đặc trưng
trang web biểu
diễn qua các
Các trang
web cần phân
cụm
Phân cụm cấp I
Cụm 1 Cụm k
19
(c) Tìm những cụm từ đi cùng nhau trong dữ liệu miền
(d) Tiến hành phân tích chủ đề cho các trang web cần phân cụm
(e) Bằng thông tin về các trang web biểu diễn qua chủ đề Nn, phân cụm các trang
web
Trong 5 bước trên, chọn dữ liệu miền chuNn (a) có thể xem là pha quan trọng
nhất. Dữ liệu miền cần phải lớn và giàu thông tin, đủ để bao quát nhiều từ, khái niệm
và chủ đề tương ứng với nhiều miền ứng dụng. Hơn nữa, từ vựng trong tập dữ liệu
miền cần có mối liên hệ gắn kết với những dữ liệu được phân cụm trong tương lai. Dữ
liệu miền không nhất thiết phải có cấu trúc tốt như Wikipedia tiếng Anh hoặc DMOZ.
Điều đó nói lên khả năng linh hoạt trong việc việc sử dụng tập dữ liệu trong mô hình
trên. Sau khi được tập hợp, dữ liệu cần được tiền xử lý, loại bỏ nhiễu và những từ
không liên quan để pha (b) có thể tiến hành với kết quả tốt. Trong khuôn khổ của
khóa luận, tôi đề xuất sử dụng dữ liệu miền lấy từ 3 website: http://dantri.com.vn,
http://vietnamnet.vn/, và http://vnexpress.net. Đây là những trang web có lượng thông
tin lớn, bao quát trên nhiều miền chủ đề và được ập nhật thường xuyên.
Mô hình chủ đề Nn được ước lượng có thể được dùng như nguồn tri thức cho
những tác vụ khác như là phân lớp. Do đó, phân tích chủ đề là một giải pháp kinh tế,
phát triển được và có tính sử dụng lại để làm giàu các trang web trên Internet.
Thông thường, phân tích chủ đề có thể được tiến hành bằng một trong các mô
hình khai phá chủ đề Nn như pLSA, LDA, DTM và CTM. Trong đó, luôn có sự trao
đổi giữa độ giàu thông tin của chủ đề và thời gian thực thi của hệ thống. Trong mô
hình này, tôi chọn LDA vì tính sinh hoàn thiện và không quá phức tạp. Nói cách khác,
với LDA, ta có thể ghi nhận những quan hệ ngữ nghĩa trong dữ liệu văn bản nhưng
vẫn hạn chế được chi phí trong mức chấp nhận được.
Kết quả của pha (b), sử dụng mô hình LDA, là mô hình chủ đề đươc ước lượng,
bao gồm thông tin về các chủ đề Nn và phân phối xác suất của các từ tương ứng với
từng chủ đề. Dựa vào mô hình trên và tập các trang web, ta có thể tiến hành phân tích
chủ đề cho những trang web đó. Chú ý rằng các trang web đó được phân tích chủ đề
dựa trên mô hình được tạo bởi dữ liệu miền trước đó, nói cách khác nó là mô hình đã
được phân tích và hội tụ trước khi dùng trong pha phân tích chủ đề. Nói cách khác, khi
các chủ đề được ước lượng với số lượng dữ liệu miền đủ lớn, chúng có thể dùng như
tri thức miền để biểu diễn các trang web khác. Với mỗi trang web, kết quả của (d) là
phân phối của chủ đề Nn, trong đó chủ đề tương ứng với xác suất cao sẽ được chọn là
chủ đề liên quan. Ví dụ: Câu truy vấn “suy thoái” có thể liên quan đến chủ đề “chính
20
trị” hoặc “kinh tế”. Việc sử dụng thông tin chủ đề Nn như thế nào cho hiệu quả phụ
thuộc vào cách biểu diễn trang web và các thuật toán phân cụm (e).
Với mô hình này, ta có thể lựa chọn nhiều thuật toán phân cụm. Trong thí
nghiệm này, tôi sử dụng phân cụm K-means “cứng”. Tuy nhiên, các thuật toán phân
cụm khác, chẳng hạn HAC có thể được sử dụng. Với K-means, ta có thể chọn trước số
trọng tâm cụm tương ứng với số cụm cần phân.
3.2. Tiền xử lý dữ liệu tiếng Việt Tiền xử lý là việc làm cần thiết và tiên quyết trong khai phá dữ liệu nói chung và
trong khảo sát chủ đề Nn nói riêng. Do mục tiêu của khóa luận là tiến hành phân cụm
trang web trên miền tiếng Việt nên trong việc tiến xử lý dữ liệu cần quan tâm đến
những đặc trưng của tiếng Việt. Hình dưới đây mô tả quá trình tiền xử lý được thực
hiện trong khóa luận:
Hình 7: Các công đoạn xử lý trang web tiếng Việt
3.2.1. Phân đoạn câu (Sentence segmentation) Tách câu: Là việc quyết định xem một dấu câu cụ thể nào đó trong văn bản có
phải là biên của câu hay không. Giống như tiếng Anh, các dấu kết thúc câu trong tiếng
Việt gồm có dấu chấm (“.”), dấu hỏi (“?”) hay dấu chấm than (“!”). Chúng ta không
gặp nhiều vấn đề với dấu hỏi hay dấu chấm than. Tuy nhiên, với dấu chấm, xảy ra
nhiều trường hợp như sau:
(1) Dấu chấm có thể là dấu kết thúc câu
(2) Dấu chấm có thể đại diện cho từ viết tắt
(3) Dấu chấm dùng trong các đường liên kết
Trong một số trường hợp, ta thấy dấu chấm đảm nhiệm cả chức năng (1) và (2).
3.2.2. Tách câu (Sentence Tokenization) Đây là việc tách những dấu câu khỏi từ đi kém, chẳng hạn như việc tách dấu
phNy (“,”) hoặc dấu chấm (“.”) ra khỏi từ đứng trước.
21
3.2.3. Tách từ Trong tiếng Việt có từ đơn và từ ghép, tuy nhiên không có dấu hiệu vào về mặt
ký hiệu trong văn bản cho ta biết điều này: Từ ghép gồm nhiều tiếng ghép lại, các
tiếng cách nhau bởi dấu cách tương tự như với từ đơn. Việc tách từ trong tiếng Việt là
tách một câu thành một chuỗi các từ đơn và từ ghép. Đây là một công đoạn bắt buộc
trong tiền xử lý dữ liệu. Công đoạn này vấp phải một số trở ngại như sau:
• Nhập nhằng trùng lặp: Có nhiều cách để kết hợp các tiếng với nhau để tạo
từ ghép có nghĩa. Chẳng hạn trong đoạn “Thủy tinh thể lỏng” thì “Thủy
tinh” và “Thủy tinh thể” đều là những từ ghép có nghĩa.
• Nhập nhằng kết hợp: Có những từ ghép mà các tiếng của nó đều có nghĩa,
chẳng hạn như “trường phái” thì hai từ đơn: “trường” và “phái” đều có
nghĩa.
Công đoạn tách từ được tôi thực hiện bằng công cụ jvntextpro, công cụ này sử
dụng thuật toán Miền ngẫu nhiên có điều kiện (Conditional Random Fields).
3.2.4. Lọc bỏ nhiễu Sau các pha phân đoạn câu, tách câu, tách từ, các từ đơn, từ ghép, các số (hay gọi
chung là các token) được phân tách với nhau bởi dấu cách. Công đoạn tiếp theo cần
làm là lọc những từ vô nghĩa như số, ngày tháng, những từ hoặc tiếng quá ngắn (trong
khóa luận này, từ hoặc tiếng quá ngắn là những từ hoặc tiếng có ít hơn hoặc bảng 2 ký
tự), những từ tiếng việt không dấu.
Các từ ít liên quan đến nội dung trang web cần lọc bỏ bao gồm: giới từ, từ nối, từ
phủ định, đại từ… Đây là những từ gây nhiễu, ảnh hưởng không nhỏ đến quá trình xây
dựng chủ đề Nn.
22
Bảng 1: Một số từ nhiễu cần được loại bỏ
Loại từ Ví dụ
Mạo từ Cái, con, nó, chiếc…
Từ đếm Một, hai, ba…
Đại từ, danh từ Hắn, anh ta, chị ta, cô ta, cô ấy,
tôi…
Từ nối Tuy, nhưng, thì, nên, do…
Từ phủ định Không, ngược lại, trái lại, vì…
Giới từ Trên, trong, ở, tại…
3.3. Phương pháp phân cụm Để tiến hành phân cụm, trước hết ta cần xây dựng chủ đề Nn. Dữ liệu toàn thể sau
khi được tiền xử lý, được sử dụng như file đầu vào cho JGibbsLDA, đầu ra cho ta mô
hình chủ đề Nn bao gồm nhiều tập các từ thể hiện chủ đề Nn, mỗi tập tương ứng với
một chủ đề Nn.
Sau đó, để phân cụm các trang web mới, ta biểu diễn mỗi trang web dưới dạng
vector k chiều với k là số chủ đề Nn đã được tạo ra. Bằng việc so sánh các từ trong
trang web với những từ trong mỗi chủ đề Nn, ta có thể xây dựng nên vector biểu diễn
trang web như trên. Chú ý rằng những từ trong chủ đề Nn đã được tiền xử lý, do đó
trang web mới trước khi phân cụm cũng cần được tiền xử lý. Để loại bỏ nhiễu, ta có
thể đặt một giá trị ngưỡng nào đó để loại bỏ hẳn ảnh hưởng của một chủ đề ít liên quan
đến trang web mới. Vector sau đó được chuNn hóa trước khi được dùng trong tính
toán.
Sau khi biểu diễn được các tài liệu cần phân cụm dưới dạng vector, ta sử dụng
thuật toán K-means để phân cụm chúng. Khóa luận dùng độ đo cosin trong quá trình
quyết định ghép các trang web vào một cụm hay không. Độ đo cosin được xác định
như sau:
Giả sử có hai tài liệu là �� và ��, được biểu diễn bởi:
��QQQQR = I���, ���, … , ���L
��QQQQR = I���, ���, … , ���L Khi đó khoảng cách (hay độ tương tự) giữa hai tài liệu �� và �� là:
������, �� = ∑ ��� ∗ �� � /��∑ �� �� /� ∗ �∑ �� �� /�
23
Thuật toán có ưu điểm là dễ triển khai, không quá phức tạp và ta có thể xác định
trước số cụm cần phân, điều này thuận lợi cho việc đánh giá kết quả. Chi tiết về đánh
giá kết quả phân cụm được trình bày ở phần sau.
3.4. Đánh giá phân cụm Các trang web khi được trích rút từ website được trích rút theo từng chủ đề nhỏ.
Những chủ đề này được dùng trong việc đối sánh với kết quả phân cụm để đánh giá
kết quả việc phân cụm.
Đại lượng sử dụng để đánh gia là Độ chính xác (Precision), độ hồi tưởng (Recall)
và độ đo F (F-Score)[9]. Độ chính xác với một cụm được tính bằng số tài liệu phân
cụm đúng trên tổng số tài liệu được phân vào cụm đó. Độ hồi tưởng với một cụm được
xác định bằng số tài liệu đúng trên tổng số tài liệu thực chất thuộc về cụm đó.
Độ chính xác với cụm thứ i được tính như sau: a<D����b� = �a �a + �a
Độ hồi tưởng với cụm thứ i được tính như sau:
�D��ZZ = �a �a + �M Trong đó: TP = true positive, FP = false positive, FN = false negative.
Chi tiết về TP, FP, FN được giải thích trong bảng sau:
Cụm �� Chuyên gia xếp
“đúng”
Chuyên gia xếp
“sai” Tổng số
Máy phân cụm xếp
“đúng” �a �a �
Máy phân cụm xếp
“sai” �M �M M − �
Tổng số � M − � N
Hình 8: Giải thích về các đại lượng TP, FP, FN, TN
Độ chính xác và độ hồi tưởng có sự được mất (tradeoff) với nhau. Để đánh giá
tổng kể kết quả, ta sử dụng đại lượng F-score được tính như sau:
�� = �u� + 1a � u�a + �
Với u > 0 là tham số thể hiện mức độ quan tâm với độ chính xác hoặc độ hồi
tưởng của hệ thống. Trong khóa luận này, tôi sử dụng giá trị của u là 1.
24
Sau đó, để đánh giá kết quả tổng thể của hệ thống, ta tính trung bình các giá trị
độ chính xác, độ hồi tưởng và F-score trên tất cả các cụm:
a<D����b� = ∑ a<D����b� � /� v
�D��ZZ = ∑ �D��ZZ � /� v
� − ��b<D = ∑ � � /�v
25
Chương 4. Thực nghiệm
4.1. Môi trường thực nghiệm Bảng 2: Môi trường thực nghiệm
Thành phần Chỉ số
CPU Intel Core 2 Duo 2.1GHz
RAM 2G
HDD 320GB
Hệ điều hành Windows 7 Professionals
4.2. Công cụ thực nghiệm Để tiến hành thực nghiệm, tôi sử dụng JVNTextPro [13] để tiến hành tách từ
tiếng Việt. Để tạo mô hình chủ đề Nn, tôi sử dụng JGibbsLDA [12].
Bên cạnh đó, tôi tự xây dựng chương trình lọc bỏ html tag và lọc bỏ những từ
nhiễu trong quá trình tiền xử lý cũng như chương trình phân cụm và đánh giá kết quả
phân cụm với chủ đề Nn bằng thuật toán K-means.
4.3. Chu$n bị dữ liệu
4.3.1. Dữ liệu học
4.3.1.1. Dữ liệu tổng thể (Universal dataset) cho xây dựng chủ đề $n mức 1 Đây là dữ liệu để học mô hình chủ đề Nn. Yêu cầu quan trọng của dữ liệu tổng
thể là phải đủ lớn, bao quát trên nhiều miền dữ liệu và phải được tiền xử lý, lọc nhiễu.
Dữ liệu được trích rút từ 3 website: http://vnexpress.vn, http://vietnamnet.net,
http://dantri.com.vn. Đây là những website lưu trữ lượng thông tin lớn, được cập nhật
liên tục và trải rộng trên nhiều chủ đề. Tôi tiến hành trích rút theo 10 chủ đề sau: Kinh
doanh-kinh tế, khoa học, pháp luật, sức khỏe, giải trí, thể thao, công nghệ, thế giới,
giáo dục, chính trị-xã hội. Đây là những chủ đề được quan tâm và bao quát hầu hết
những chủ đề của nhiều website.
Dữ liệu sau khi được trích rút có tất cả khoảng 150MB dữ liệu với 12888 files.
Sau khi tiền xử lý, loại bỏ những từ vô nghĩa và kém liên quan, thu được dữ liệu tổng
thể dung lượng 42MB, số lượng văn bản 12888.
Chi tiết về số lượng trang web được trích rút trên từng chủ đề được trình bày chi
tiết trong bảng dưới đây:
26
Bảng 3: Chi tiết số lượng trang web được trích rút với 10 chủ đề lớn
STT Chủ đề Vnexpress Vietnamnet Dantri Tổng số
1 Kinh Tế 997 232 523 1752
2 Khoa Học 222 369
591
3 Pháp Luật 128 192 173 493
4 Sức Khỏe 324 67 478 869
5 Giải trí 342 411
753
6 Thể Thao 235
740 975
7 Công nghệ 174 431 344 949
8 Thế Giới 755 787 841 2383
9 Giáo Dục
428 787 1215
10 Xã Hội 738 739 899 2376
Tổng 4191 3656 4661 12888
Chủ đề với số trang web nhiều nhất là “Thế giới”: 2383 và chủ đề có số trang
web nhỏ nhất là pháp luật với 493 trang.
Sau khi được trích rút, các trang web được tiền xử lý với các bước như sau:
• Xóa html tag
• Lọc bỏ nhiễu lần 1
• Tách từ, sử dụng JVNTextPro
• Lọc bỏ nhiễu lần 2
Sau quá trình tiền xử lý, dữ liệu tổng thể thu được nặng 42MB, được lưu trong
file với dòng đầu tiên là số các trang web và các dòng tiếp theo là nội dung các trang
web đã được tiền xử lý. Dưới đây là minh họa về dữ liệu tổng thể:
12888
Lượng xe Rolls Royce Phantom nhập_khNu về Việt_Nam hiện…
Bộ sưu_tập xe Cường_đô la_lên trang ô_tô nước_ngoài …
Theo thông_tin ban_đầu xe vừa có_mặt Hà_Nội cuối nữ_hoàng Aston Martin
Rapide …
Chưa đầy tuần sau khi xuất_hiện hình_ảnh hiếm_hoi Lamborghini LP6704 …
Siêu xe màu_xanh Lamborghini Murcielago LP640 có_mặt Đà_Nẵng …
Hình 9: Minh họa về file dữ liệu học cho JGibbsLDA
4.3.1.2. Dữ liệu kinh tế cho chủ đề $n mức 2
27
Để bổ sung thêm số trang web về lĩnh vực kinh tế, tôi tiến hành trích rút thêm các
trang web về kinh tế từ http://www6.vnmedia.vn/, http://www.tienphong.vn/. Các
trang web được trích rút gồm 1329 trang web, kết hợp với 1752 trang web về kinh tế
đã trích rút ở trên, tất cả có 3081 trang web. Thống kê trên 5 chủ đề con: Doanh
nghiệp, chứng khoán, bất động sản, mua sắm, kinh tế thế giới như bảng 4:
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ế
STT Chủ đề
VnExpress Vietnamnet Dantri Vnmedia Tien
phong Tổng
số
1 Bất động sản
123 133 159 150 200 765
2 Chứng khoán
307 99 139 127 220 892
3 Doanh nghiệp
99
89 135
323
4 Mua sắm
286
201
487
5 Thế Giới
162
136 145 171 614
6 Tổng
số 977 232 523 758 591 3081
Dữ liệu học cho lĩnh vực kinh tế có dung lượng 10.4 MB. File đầu vào cho
JGibbsLDA có định dạng tương tự như trong hình 9.
4.3.2. Dữ liệu kiểm tra
4.3.2.1. Phân cụm mức 1 Để tiến hành đánh giá kết quả phân cụm mức 1, tôi tiến hành trích rút các trang
web từ http://baomoi.com, theo 10 chủ đề như với dữ liệu tổng thể. Chi tiết về dữ liệu
phân cụm mức 1 được nêu như hình dưới đây:
28
Số chủ đề: 10 chủ đề
Tổng số file: 2000
Số lượng trang web trên mỗi chủ đề: 200
Độ lớn dữ liệu chưa qua xử lý (Độ lớn các file html): 34MB
Độ lớn dữ liệu đã qua xử lý: 8.89MB
Hình 10: Mô tả dữ liệu đánh giá phân cụm mức 1
4.3.2.2. Phân cụm mức 2 Để tiến hành đánh giá kết quả phân cụm mức 2, tôi tiến hành trích rút các trang
web từ http://vneconomy.vn là một chuyên trang về kinh tế, thị tường theo 5 chủ đề,
gồm có: Doanh nghiệp, mua sắm, chứng khoán, bất động sản, thế giới. Chi tiết về dữ
liệu phân cụm mức 2 được nêu như dưới đây:
Số chủ đề: 5 chủ đề
Tổng số file: 500
Số lượng trang web trên mỗi chủ đề: 100
Độ lớn dữ liệu chưa qua xử lý (Độ lớn các file html): 15MB
Độ lớn dữ liệu đã qua xử lý: 3.82MB
Hình 11: Mô tả dữ liệu đánh giá phân cụm mức 2
4.4. Quá trình thực nghiệm
4.4.1. Xây dựng mô hình chủ đề $n
4.4.1.1. Xây dựng mô hình chủ đề $n mức 1 Để minh họa về chủ đề Nn, file dữ liệu tổng thể được sử dụng như file đầu vào
cho JGibbsLDA với các tham số như sau:
Bảng 5: Bảng các giá trị tham số cho JGibbsLDA để tạo chủ đề �n gồm 20 từ
Tham số Giá trị
alpha 0.5
beta 0.1
K // Số chủ đề Nn 10
niters // Số vòng lặp 2000
savesteps // Số vòng lặp mỗi lần lưu mô hình 20
twords // Số từ trong 1 chủ đề Nn 20
29
Hình dưới đây cho ta ví dụ về các chủ đề Nn được tạo ra với K = 10, twords = 20.
Pháp luật Quốc tế Công nghệ Kinh tế
1 xe Mỹ xe giá
2 xảy_ra nước Nhật tăng
3 phường Trung_Quốc sử_dụng thị_trường
4 TP tổng_thống Nhật_Bản USD
5 tai_nạn Nga nhà_máy mức
6 đối_tượng chính_phủ máy_tính giảm
7 vụ tấn_công điện đầu_tư
8 đường máy_bay hạt_nhân mua
9 tuổi Anh thông_tin công_ty
10 huyện nói điện_thoai nhà
11 nạn_nhân việc hãng giao_dịch
12 điều_tra khu_vực người_dùng người_mua
13 làm phát_ngôn_viên khách_hàng cổ_phiếu
14 Hà_Nội tuyên_bố năm_tới bán
15 cơ_quan thành_phố di_động lớn
16 đi quốc_gia phiên_bản chứng_khoán
17 Thành_phố lực_lượng ipad vàng
18 hàng Pháp mẫu doanh_nghiệp
19 Công_an tự_vệ dịch_vụ phiên
20 nhà an_ninh phân_mềm lãi_ròng
Hinh 12: Ví dụ về kết quả tạo mô hình chủ đề �n
Qua hình trên, ta thấy việc khảo sát chủ đề Nn có thể mô hình những hiện tượng
ngôn ngữ như từ đồng nghĩa, từ viết tắt. Ví dụ, trong chủ đề về “Quốc tế”, từ “nói” và
từ “tuyên_bố” là hai từ đồng nghĩa; trong chủ đề về “Pháp luật”, “TP” là từ viết tắt của
“thành_phố”. Thêm nữa, khảo sát chủ đề Nn là một giải pháp tiết kiệm cho việc ghi
nhận ngữ nghĩa của những từ mới (những từ trong tiếng nước ngoài hoặc tên của thực
thể). Chẳng hạn, ở chủ đề về “Công nghệ”, từ “ipad” là một từ mới, thể hiện tên của
thực thể, không có trong từ điển tiếng Việt.
Các chủ đề ở mức 1 (Kinh tế, pháp luật, xã hội…) là những chủ đề tương đối
rộng, cần số từ tương đối lớn để thể hiện bao quát chủ đề. Vì thế, tôi tiến hành xây
dựng chủ đề Nn với 40 từ mỗi chủ đề. Các chủ đề Nn được tạo ra sẽ được dùng trong thì
30
nghiệm gom cụm mức 1 như trình bày trong phần 4.4.2.Phân cụm mức 1. Chi tiết
tham số đầu vào cho JGibbsLDA trong pha này được mô tả chi tiết như dưới đây:
Bảng 6: Bảng tham số cho JGibbsLDA để tạo chủ đề �n mức 1 gồm 40 từ
Tham số Giá trị
alpha 0.5
beta 0.1
K // Số chủ đề Nn 10
niters // Số vòng lặp 2000
savesteps // Số vòng lặp mỗi lần lưu mô hình 200
twords // Số từ trong 1 chủ đề Nn 40
4.4.1.2. Xây dựng mô hình chủ đề $n mức 2 Các chủ đề ở mức 2 (bất động sản, chứng khoán…) là các chủ đề con trong lĩnh
vực kinh tế, do đó tôi sử dụng số từ trong mỗi chủ đề ít hơn. Tôi tiến hành xây dựng 3
mô hính chủ đề Nn tương ứng với tham số vòng lặp lần lượt là 1000, 1500, 2000 để
tiến hành phân cụm mức 2 trong phần 6.2. Chi tiết tham số xây dựng chủ đề Nn mức 2
như sau:
Bảng 7: Bảng tham số cho JGibbsLDA để tạo chủ đề �n mức 2 gồm 20 từ
Tham số Giá trị
alpha 0.5
beta 0.1
K // Số chủ đề Nn 10
niters // Số vòng lặp
1000,
1500,
2000
savesteps // Số vòng lặp mỗi lần lưu mô hình 200
twords // Số từ trong 1 chủ đề Nn 20
4.4.2. Phân cụm mức 1 Trước hết chúng tôi tiến hành phân cụm web trên http://baomoi.com, trên miền
dữ liệu toàn thể gồm 10 chủ đề. Kết quả phân cụm bằng thuật toán K-means với chủ
đề Nn được tạo ra với tham số được trình bày trong Bảng 5: Bảng các giá trị tham số
cho JGibbsLDA để tạo chủ đề �n gồm 20 từ như sau:
31
Hình 13: F-Score của 10 chủ đề qua phân cụm
Thí nghiệm đầu tiên thực nghiệm với K = 10 tương ứng với số chủ đề ban đầu.
Kết quả cho ta thấy lĩnh vực kinh doanh, kinh tế đạt F-score cao nhất 95.22. Do đó,
trong khuôn khổ của kháo luận, tôi tiến hành phân cụm mức 2 đối với các trang web
trong lĩnh vực kinh doanh, kinh tế.
4.4.3. Phân cụm mức 2 Trong phần này, tôi tiến hành đánh giá độ chính xác của phân cụm mức 2 với
chủ đề Nn tạo ra từ số vòng lặp khác nhau. Dữ liệu học được dùng để tạo chủ đề Nn là
3081 trang web đã được xử lý, về lĩnh vực kinh doanh, kinh tế, như trong Bảng 4: Chi
tiết số lượng trang web được trích rút 5 với chủ đề con thuộc lĩnh vực kinh tế. Tiến
hành thực nghiệm tạo ra chủ đề Nn với tham số như trong Bảng 7: Bảng tham số cho
JGibbsLDA để tạo chủ đề �n mức 2 gồm 20 từ, ta có F-score qua các lần thí nghiệm
như dưới đây:
Bất Đấng
Sấn
Chấng
Khoán
Doanh
Nghiấp
Mua
Sấm
Thấ
Giấi
Trung
Bình
1000 vòng 61.66 61.7 62.92 56.79 58.26 60.266
1500 vòng 78.74 77.78 69.14 72.92 73.59 74.434
2000 vòng 86.32 93.75 93.88 94.85 84.21 90.602
Hình 14: Đánh giá phân cụm mức 2 với số vòng lặp 1000, 1500, 2000
0
10
20
30
40
50
60
70
80
90
100
Giải Trí Kinh Tế Khoa
Học
Giáo
Dục
Pháp
Luật
Sức
Khỏe
ThếGiới
ThểThao
Công
NghệXã Hội Trung
Bình
F-Score của 10 chủ đề
Precision Recall F-score
32
Qua thí nghiệm trên ta có thể thấy độ chính xác của việc phân cụm tăng khi số
vòng lặp tăng lên: F-Score của phân cụm mức 2 với chủ đề Nn được tạo ra với số vòng
lặp lần lượt là 1000, 1500, 2000 vòng lần lượt là: 60.27, 70.43, 90.6. Lý do là qua
nhiều vòng lặp hơn, ta tạo ra được chủ đề Nn hội tụ-nói cách khác: chính xác hơn. Ví
dụ dưới đây về chủ đề Nn được tạo ra với chủ đề “Bất động sản”, là chủ đề con trong
chủ đề mức 1 là “Kinh doanh”.
Bất động sản – 1000 vòng Bất động sản –2000 vòng
1 điện dự_án
2 thành_phố nhà
3 cấp_phép giao_dịch
4 khu xây_dựng
5 mặt_bằng đầu_tư
6 chỉ_đạo quy_định
7 nhà cấp_phép
8 Bộ nhà_ở
9 tỷ dự_án
10 ngày chỉ đạo
Hình 15: Ví dụ về chủ đề bất động sản với số vòng lặp là 1000 và 2000
Bằng cảm quan, ta có thể thấy chủ đề Nn được tạo ra với số vòng 2000 dùng
những từ đặc trưng hơn, thể hiện rõ chủ đề về đất đai hơn: Những từ được sử dụng dài
hơn, ít bị nhầm lẫn với những trong chủ đề khác. Ví dụ, trong chủ đề tạo ra từ 1000
vòng: Từ “ngày” có thể có trong rất nhiều chủ đề như tài chính, giao thương, từ “tỷ”
có thể có trong chủ đề về chứng khoán, tài chính… Do đó dùng những từ dài hơn, đặc
trưng hơn như trong chủ đề tạo ra từ 2000 vòng để phân cụm sẽ có kết quả tốt hơn.
Tuy nhiên độ chính xác chỉ tăng đến một giới hạn nào đó, do đó ta không cần
tăng số vòng lặp lên quá lớn để đạt độ chính xác cao, trong khi thời gian thực thi cũng
là một yếu tố cần cân nhắc tới. (Hình 16: Thời gian xây dựng mô hình chủ đề �n mức
2)
4.4.4. Thời gian xây dựng mô hình chủ đề $n 2 Xem xét thời gian chạy của công đoạn tạo mô hình chủ đề Nn với tham số như
trong Bảng 7: Bảng tham số cho JGibbsLDA để tạo chủ đề �n mức 2 gồm 20 từ ta có
bảng sau:
33
Hình 16: Đánh giá thời gian xây dựng mô hình chủ đề �n mức 2
Qua biểu đồ trên, ta có thể thấy thời gian tạo mô hình chủ đề Nn tăng tuyến tính
khi số vòng lặp tăng. Tuy nhiên, số vòng lặp đủ lớn mới dẫn tới sự hội tụ của mô hình
chủ đề Nn. Thời gian xây dựng chủ đề Nn khá lớn do lượng dữ liệu xử lý trong thí
nghiệm là lớn. Tuy nhiên, nếu ứng dụng chủ đề Nn trong các môđun phân cụm của các
máy tìm kiếm, ta có thể chủ động xây dựng sẵn chủ đề Nn. Do đó, ứng dụng của chủ đề
Nn trong việc phân cụm kết quả của máy tìm kiếm cũng rất khả thi.
0
200
400
600
800
1000
1200
1400
1600
1800
1000 vòng 1500 vòng 2000 vòng
Thời gian xây dựng mô hình chủ đề ẩn
mức 2
Thời gian
34
Kết luận và định hướng
• Với các kết quả đã đạt được, khóa luận đã đóng góp:
o Xây dựng mô hình phân cụm đa cấp trang web. Các công việc đã làm:
� Phân tích và tạo ra mô hình chủ đề Nn mức 1 cho 10 chủ đề lớn
(Kinh tế, giáo dục, pháp luật…)
� Phân tích và tạo ra mô hình chủ đề Nn mức 2 cho những chủ đề
con thuộc chủ đề kinh tế (Bất động sản, chứng khoán, mua
sắm…)
� Áp dụng chủ đề Nn mức 1 và mức 2 để biểu diễn trang web thông
qua các chủ đề.
� Áp dụng thuật toán K-means trong phân cụm
o Thử nghiệm ban đầu với các trang web được trích rút từ một số website
như dantri, vietnamnet, vnexpress, baomoi, vneconomy, tienphongonline
cho kết quả khá tốt.
• Những vấn đề còn tồn tại:
o Khóa luận chỉ mới áp dụng phân cụm mức 2 với lĩnh vực kinh tế.
o Các lĩnh vực khác được phân cụm mức 1.
• Định hướng phát triển:
o Phân cụm đa mức ở mức độ sâu hơn (n mức)
o Phân cụm đa mức với nhiều lĩnh vực hơn ( giáo dục, xã hội, quốc tế…)
o Tích hợp hệ thống vào máy tìm kiếm.
35
Tài liệu tham khảo
Tiếng Việt [1] Hà Quang Thụy, Phan Xuân Hiếu, Đoàn Sơn, Nguyễn CNm Tú, Nguyễn Thu
Trang, Giáo trình khai phá web, Nhà xuất bản Đại học Quốc gia Hà Nội, 2009.
[2] Nguyễn Thu Trang, Học xếp hạng trong tính hạng đối tượng và tạo nhãn cụm
tài liệu, Luận văn thạc sỹ, Đại học công nghệ, Đại học quốc gia Hà Nội. 2008, tr. 37-
48.
Tiếng Anh [3] Robert C. Macgregor, Ann T.Hodgkinson, “Small Business Clustering
Technologies: Applications in Marketing, Management, IT and Economics”, IGI
Publishing Hershey, PA, USA 2006 ISBN:1599041278, 2006.
[4] Lawrie, D. J., and Croft, W. B, “Generating hierarchical summaries for web
searches”, SIGIR '03: Proceedings of the 26th annual international ACM SIGIR
conference on Research and development in informaion retrieval (New York, NY, USA,
2003), ACM, 2003, pp. 457-458.
[5] Zhu, D., and Dreher, H, “Improving web search by categorization, clustering,
and personalization”, ADMA '08: Proceedings of the 4th international conference on
Advanced Data Mining and Applications (Berlin, Heidelberg), Springer-Verlag, 2008,
pp. 659-666.
[6] Gelgi, F., Davulcu, H., and Vadrevu, S, “Term ranking for clustering web
search results”, WebDB, 2007.
[7] Geraci, F., Pellegrini, M., Maggini, M., and Sebastiani, F, “Cluster
generation and cluster labelling for web snippets: A fast and accurate hierarchical
solution”, ISPIRE, 2006, pp. 25-36.
[8] Mecca, G., Raunich, S., and Pappalardo, A, “A new algorithm for clustering
search results”, Data Knowl. Eng, 2007, pp. 504-522.
[9] Jiawei Han and Micheline Kamber. “Data Mining: Concepts and Techniques,
2nd edition”. The Morgan Kaufmann Series in Data Management Systems, Jim Gray,
Series Editor, Morgan Kaufmann Publishers, ISBN 1-55860-901-6, 2006.
[10] Hỉerarchical Agglomerative Clustering. Stanford University’s lecture.
http://nlp.stanford.edu/IR-book/html/htmledition/hierarchical-agglomerative-
clustering-1.html
36
[11] Jih-Jeng Huang, Gwo-Hshiung Tzeng, Chorng-Shyong Ong, “Marketing
segmentation using support vector clustering”, Expert Systems with Applications
Volume 32, Issue 2, 2007, pp. 313-317.
[12] http://jgibblda.sourceforge.net/.
[13] http://jvntextpro.sourceforge.net/.
[14] Zeng, H.-J., He, Q.-C., Chen, Z., Ma, W.-Y. Ma, J, “Learning to cluster web
search results”, SIGIR '04: Proceedings of the 27th annual inter-national ACM SIGIR
conference on Research and development in information retrieval ACM, 2004, pp.
210-217.
[15] K-means Algorithm. Stanford University’s lecture.
http://nlp.stanford.edu/IR-book/html/htmledition/k-means-1.html
[16] David M.Blei, Andrew Y.Ng and Michael I.Jordan, “Latent Dirichlet
Allocation”, Journal The Journal of Machine Learning Research, 2003.
[17] Amini, M. R., Usunier, N., and Gallinari, P, “Automatic text summarization
based on word clusters and ranking algorithms”, Proceedings of the 27 th European
Conference on Information Retrieval, 2005, pp. 142-156.
[18] Nguyễn CNm Tú, Phan Xuân Hiếu, Susumu Horiguchi, Nguyễn Thu Trang,
Hà Quang Thụy, “Web Search Clustering and Labeling with Hidden Topics”, Journal
ACM Transactions on Asian Language Information Processing (TALIP), 2009.
[19] Mei, Q., Shen, X., and Zhai, C, “Automatic labeling of multinomial topic
models”, KDD '07: Proceedings of the 13th ACM SIGKDD international conference
on Knowledge discovery and data mining (New York, NY, USA, 2007), ACM, 2007,
pp. 490-499.
[20] Russell, S., Lodwick, W. “Fuzzy clustering in data mining for telco
database marketing campaigns”, Fuzzy Information Processing Society, 1999.
NAFIPS. 18th International Conference of the North American, 1999.
[21] Thomas Hofmann, “Probabilistic latent semantic indexing”, Proceedings of
the 22nd annual international ACM SIGIR conference on Research and development
in information retrieval, 1999
[22] Jiang, Z., Joshi, A., Krishnapuram, R., and Yi, L, “Retriever Improving
Web Search Engine Results Using Clustering”, Tech. rep., University of Maryland
Baltimore County, 2000.
[23] Zheng, Z., Chen, K., Sun, G., and Zha, H. “A regression framework for
learning ranking functions using relative relevance judgments”, ISIGIR '07:
Proceedings of the 30th annual international ACM SIGIR conference on Research and
37
development in information retrieval (New York, NY, USA, 2007), ACM, 2007, pp.
287-294.
[24] Scott C. Deerwester, Susan T. Dumais, Thomas K. Landauer, George W.
Furnas, Richard A. Harshman, “Indexing by Latent Semantic Analysis”, JASIS 41(6) ,
1990