ĐẠi h Ọc qu Ốc gia hÀ n Ội tr ƯỜng ĐẠi h Ọc...

46
ĐẠI HC QUC GIA HÀ NI TRƯỜNG ĐẠI HC CÔNG NGHĐào Minh Tùng PHÂN CM ĐA MC WEB BNG K-MEANS DA TRÊN CHĐỀ N VÀ THC NGHIM ĐÁNH GIÁ KHÓA LUN TT NGHIP ĐẠI HC HCHÍNH QUY Ngành: Công nghthông tin Hà Ni - 2011

Upload: others

Post on 25-Jan-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

ĐẠ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

Page 2: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

ĐẠ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

Page 3: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 4: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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.

Page 5: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 6: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 7: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 8: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 9: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 10: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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:

Page 11: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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.

Page 12: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 13: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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à

Page 14: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 15: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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:

Page 16: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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à �!.

Page 17: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 18: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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@

Page 19: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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:

Page 20: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 21: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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:

Page 22: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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:

Page 23: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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ị

Page 24: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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).

Page 25: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 26: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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.

Page 27: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 28: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 29: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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.

Page 30: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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.

Page 31: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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à:

������, �� = ∑ ��� ∗ �� � /��∑ �� �� /� ∗ �∑ �� �� /�

Page 32: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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.

Page 33: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 34: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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:

Page 35: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 36: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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:

Page 37: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 38: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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ì

Page 39: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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:

Page 40: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 41: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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:

Page 42: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 43: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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.

Page 44: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 45: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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

Page 46: ĐẠI H ỌC QU ỐC GIA HÀ N ỘI TR ƯỜNG ĐẠI H ỌC ...uet.vnu.edu.vn/~thuyhq/Student_Thesis/K52_Dao_Minh_Tung...Tôi xin cám ơn sự hỗ tr ợ từ đề tài QG.10.38

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