Mục tiêu chính của đề tài là phát triển ứng dụng tự động gom cụm các xuất bản của cùng một tác giả ứng dụng cho cơ sở dữ liệu khoa học DBLP, tập trung vào việc xác định những thuộc tính
Trang 1TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM
TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA CÔNG NGHỆ THÔNG TIN & TOÁN ỨNG DỤNG
LUẬN VĂN TỐT NGHIỆP
Khoá: 12
TP Hồ Chí Minh năm 2012
Trang 2TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM
TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA CÔNG NGHỆ THÔNG TIN & TOÁN ỨNG DỤNG
LUẬN VĂN TỐT NGHIỆP
Khoá: 12
TP Hồ Chí Minh năm 2012
Trang 3LỜI CẢM ƠN
Để hoàn thành luận văn tốt nghiệp này, chúng tôi xin gởi lời cảm ơn sâu sắc nhất đến Tiến sĩ Nguyễn Thanh Hiên đã dành rất nhiều thời gian và tâm huyết hướng dẫn nghiên cứu và động viên nhóm chúng tôi trong suốt thời gian nghiên cứu qua Chúng tôi tin rằng, bằng những lời lẽ thông thường sẽ không đủ để chuyển tải hết lòng biết ơn với những công sức và tâm huyết Thầy đã bỏ ra để giúp chúng tôi hoàn thành luận văn tốt nghiệp Dù vậy, chúng tôi cũng muốn viết ra đây, và gởi đến Thầy, lời cảm ơn chân thành nhất Chúng em cảm ơn thầy!
Bên cạnh đó, chúng tôi cũng rất cảm ơn những giảng viên trong Khoa công nghệ thông tin, Trường đại học Tôn Đức Thắng, đã tận tình giảng dạy và trang bị cho chúng tôi thật nhiều kiến thức bổ ích trong các năm học qua, góp phần rất lớn vào việc nghiên cứu luận văn tốt nghiệp này
Cuối cùng chúng tôi xin gởi lòng biết ơn sâu sắc đến người thân, bạn bè luôn bên cạnh động viên, hỗ trợ về mặt tinh thần để chúng tôi vượt qua khó khăn và hoàn thành luận văn tốt nghiệp
Mặc dù chúng tôi đã có nhiều cố gắng hoàn thiện luận văn bằng tất cả sự nhiệt tình và năng lực của bản than, tuy nhiên, không thể tránh khỏi những thiếu xót Chúng tôi mong nhận được những đóng góp quí báu của quý thầy cô và các bạn
TP Hồ Chí Minh, tháng 7 năm 2012 Nhóm sinh viên thực hiện
Hà Minh Nhật
Lâm Minh Khánh Hùng
Trang 4NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 5
NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
Trang 6
có cấu trúc Con người mong muốn có những thông tin ở dạng thực thể, bản ghi hoặc những trích dẫn hơn là đọc lướt từng trang trên internet hoặc ngồi tìm từng trích dẫn trong cơ sở dữ liệu khoa học để tìm ra thông tin mình mong muốn
Một trong những đối tượng tìm kiếm được quan tâm nhất hiện nay là tìm kiếm
Con người Cụ thể là tìm kiếm thông tin của một người hoặc tìm kiếm những trích
dẫn của một tác giả mà họ quan tâm Tuy nhiên, khi thực hiện thu thập thông tin của một người hoặc muốn tìm kiếm tác giả nào đã xuất bản tác phẩm nào, chúng ta vấp phải thách thức là những người khác nhau có cùng tên, tên được viết tắt hoặc các thông tin lưu trữ vào cơ sở dữ liệu không đầy đủ dẫn đến việc tìm kiếm không theo
ý muốn
Vì vậy, đối với hệ thống cơ sở dữ liệu khoa học DBLP việc phân cụm những xuất bản hoặc những trích dẫn của cùng một tác giả có một ý nghĩa rất quan trọng Chính vì vậy mà chúng tôi đã chọn đề tài: “Phát triển hệ thống tự đồng gom cụm những xuất bản của cùng một tác giả”
Mục tiêu chính của đề tài là phát triển ứng dụng tự động gom cụm các xuất bản của cùng một tác giả ứng dụng cho cơ sở dữ liệu khoa học DBLP, tập trung vào việc xác định những thuộc tính nào để phân cụm cũng như tập trung giải quyết các vấn đề trong việc phân cụm trích dẫn trong các cơ sở dữ liệu lớn
Trang 7MỤC LỤC
LỜI CẢM ƠN i
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ii
NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN iii
LỜI MỞ ĐẦU iv
MỤC LỤC v
DANH MỤC THUẬT NGỮ VIẾT TẮT xi
Chương 1: 1
TỔNG QUAN 1
1.1 Phát biểu vấn đề 1
1.1.1 Động cơ nghiên cứu 1
1.1.2 Mục đích của luận văn 2
1.1.3 Đối tượng của luận văn 2
1.2 Các công trình liên quan 2
1.2.1 CiteSeer 2
1.2.2 DBLP 3
1.2.3 ACM Portal 3
1.3 Phạm vi và nội dung nghiên cứu của luận văn 4
1.4 Kế hoạch thực hiện 5
1.5 Cấu trúc của luận văn 6
Chương 2: 7
CƠ SỞ KIẾN THỨC 7
2.1 Giới thiệu 7
2.2 Phương pháp học có giám sát và học không giám sát 8
2.3.1 Chuẩn đo 9
2.3.2 Đo khoảng cách giữa hai điểm dữ liệu 9
2.3.3 Đo khoảng cách giữa hai cụm 12
2.4 Các giải thuật phân cụm dữ liệu 13
2.4.1 Thuật toán phân cụm phân hoạch: K-means 13
2.4.2 Thuật toán phân cụm dựa vào mật độ: DBSCAN 15
Trang 82.4.3 Thuật toán phân cụm phân cấp – HAC 21
Chương 3: 26
PHÂN CỤM CÁC XUẤT BẢN 26
CỦA CÙNG MỘT TÁC GIẢ 26
3.1 Giới thiệu 26
3.2 Lựa chọn thuộc tính 27
3.3 Độ tương tự Cosine 27
3.4 Giải thuật phân cụm HAC 31
3.5 Kết luận 37
Chương 4: 39
PHẦN MỀM THỰC NGHIỆM 39
VÀ ĐÁNH GIÁ 39
4.1 Giới thiệu 39
4.2 Cấu trúc cơ sở dữ liệu 39
4.3 Chương trình thử nghiệm 41
4.4 Kết quả thực nghiêm 44
4.5 Kết luận 54
TÀI LIỆU THAM KHẢO 55
Trang 9DANH MỤC CÁC BẢNG
Bảng 1.1: Kế hoạch thực hiện của luận văn 5
Bảng 3.1: Danh sách các từ có trong hai văn bản 28
Bảng 3.2: Ma trận khoảng cách của hai tài liệu văn bản 28
Bảng 3.3: Danh sách các từ có trong hai tên tác giả 29
Bảng 3.4: Ma trận khoảng cách của hai tên tác giả 29
Bảng 3.5: Ma trận khoảng cách của một danh sách tên có từ Ricardo 32
Bảng 3.6: Ma trận khoảng cách được cập nhật sau khi gom 5 cụm thành 4 cụm 34
Bảng 3.7: Ma trận khoảng cách cập nhật lại sau khi gom cụm 4 cụm thành 3 cụm 35
Bảng 3.8: Ma trận khoảng cách cập nhật lại sau khi đã gom 3 cụm thành 2 cụm 36
Bảng 4.1: Cấu trúc một bản ghi trong cơ sở dữ liệu khoa học DBLP 40
Bảng 4.2: Danh sách tên tác giả và độ tương tự 42
Bảng 4.3: Kết quả tính F-measure giữa gom cụm bằng tay và gom cụm bằng hệ thống 48
Bảng 4.4: Giao các tên giữa cụm 1 của hệ thống gom với tất cả các cụm gom bằng tay 49
Bảng 4.5: Giao các tên giữa cụm 2 của hệ thống gom với tất cả các cụm gom bằng tay 50
Bảng 4.6: Giao các tên giữa cụm 3 của hệ thống gom với tất cả các cụm gom bằng tay 50
Trang 10Bảng 4.7: Giao các tên giữa cụm 4 của hệ thống gom với tất cả các cụm
Trang 11DANH MỤC CÁC HÌNH
Hình 2.1: Vùng lân cận của p với ngưỡng Eps 15
Hình 2.2: Quan hệ tới được trực tiếp theo mật độ 16
Hình 2.3: Quan hệ tới được theo mật độ 17
Hình 2.4: Quan hệ kết nối theo mật độ 17
Hình 2.5: Đối tượng Nhiễu 18
Hình 2.6: Ví dụ về kỹ thuật phân cụm phân cấp 21
Hình 2.7: Ví dụ về phương pháp phân cụm bottom up và top-down 22
Hình 2.8: Đo khoảng cách giữa hai cụm với Single link 23
Hình 2.9: Đo khoảng cách giữa hai cụm với Complete link 23
Hình 2.10: Đo khoảng cách giữa hai cụm với Average link 24
Hình 3.1: Cây phân cụm ở mức 0 45
Hình 3.2: Cây phân cụm ở mức 1 34
Hình 3.3: Cây phân cụm ở mức 2 35
Hình 3.4: Cây phân cụm ở mức 3 36
Hình 3.5: Cây phân cụm ở mức 4 37
Hình 4.1: Giao diện của hệ thống 43
Hình 4.2: Quan hệ giữa hai cụm 44
Hình 4.3: Cây phân cụm được thực hiện bằng tay 47
Hình 4.4: Cây phân cụm được thực hiện bằng hệ thống 48
Trang 12DANH MỤC CÁC GIẢI THUẬT
Giải thuật 2.1: Giải thuật phân cụm K-means 14 Giải thuật 2.2: Giải thuật phân cụm DBSCAN 20 Giải thuật 2.3: Giải thuật phân cụm HAC 22 Giải thuật 3.1: Giải thuật phân cụm HAC áp dụng cho phân cụm tên tác giả 32
Trang 13DANH MỤC THUẬT NGỮ VIẾT
TẮT
Thuật
Project
Dự án tài liệu tham khảo và thư viện kỹ thuật số
Applications with Noise
Phân cụm không gian dựa vào mật độ áp dụng với nhiễu
Trang 14Chương 1:
TỔNG QUAN
1.1 Phát biểu vấn đề
1.1.1 Động cơ nghiên cứu
Ngày nay, vấn đề truy tìm thông tin trên Internet hay trong các Thư viện kỹ thuật số đã được các nhà nghiên cứu đặc biệt quan tâm Dữ liệu trong thư viện số hay trên internet đang gia tăng rất nhanh Việc tìm kiếm những thông tin hữu ích và đúng yêu cầu ngày càng tăng và trở nên cấp thiết Hiện nay, trong Thư viện kỹ thuật
số hoặc Cơ sở dữ liệu khoa học số lượng ấn phẩm và số lượng tác giả tăng vọt, dữ liệu được lưu trữ có khả năng xảy ra một trong ba vấn đề sau:
Điều này có thể xảy ra do bốn vấn đề sau: do các tên tác giả hoặc tên đồng tác giả được viết tắt, do lỗi chính tả, do thay đổi tên sau khi kết hôn hoặc
do việc sử dụng bút danh Ví dụ, tác giả cuốn “Latent Dirichlet Allocation” xuất bản dưới tên “David Michel Blei” nhưng cũng tác giả đó xuất bản cuốn “Text Mining: Theory and Applications” dưới tên “Blei David Michel”
một tên có thể của nhiều người Điển hình với tên “George” có thể đây là tên của tổng thống thứ 43 của Hoa kỳ “George Walker Bush”, hoặc đây có thể là tên của tổng thống thứ 41 của Hoa kỳ “George H W Bush”, nhưng đây cũng có thể là tên của tổng thống đầu tiên của Hoa kỳ “George Washington”, hoặc đây cũng có thể là tên của một nhà nghiên cứu chuyên nghiên cứu về các phương pháp phân tích dữ liệu và vấn đề phân cụm –
“George Adam”
ghi trong cơ sở dữ liệu thường gồm có những thuộc tính như tên tác giả, tên đồng tác giả, tiêu đề, năm xuất bản, số trang, khối lượng xuất bản, số lượng xuất bản Tuy nhiên, có thể do nhân viên nhập liệu không nhập đầy
đủ tất cả những thông tin này mà bỏ xót một số thuộc tính Điển hình chỉ
Trang 15nhập những thuộc tính bắt buộc như tên tác giả, tên đồng tác giả, tiêu đề, năm xuất bản mà không nhập những thông tin khác như khối lượng hay số lượng xuất bản, …
Để giải quyết những vấn đề này và giúp cho người tìm kiếm xác định được tác giả nào đã viết tác phẩm nào và ngược lại Chúng tôi đã chọn đề tài “Phát triển hệ thống tự động gom cụm các xuất bản của cùng một tác giả”, ứng dụng cho cơ sở dữ liệu khoa học DBLP Đây là chủ đề đã được nhiều nhà nghiên cứu quan tâm nhưng
họ vẫn chưa giải quyết triệt để Do đó, chúng tôi quyết định nghiên cứu chủ đề này
để giải quyết những vấn đề đang gặp phải trong cơ sở dữ liệu khoa học hiện nay
1.1.2 Mục đích của luận văn
Mục đích chính của luận văn là phát triển ứng dụng tự động gom cụm các xuất bản của cùng một tác giả ứng dụng cho cơ sở dữ liệu khoa học DBLP Để gom cụm đúng theo yêu cầu Trước tiên, phải lựa chọn chính xác các thuộc tính theo yêu cầu
để phân cụm trong cơ sở dữ liệu khoa học Tiếp theo, phải tính toán độ tương tự giữa các thuộc tính Và cuối cùng, gom các thuộc tính đã chọn vào thành một cụm
sử dụng giải thuật phân cụm HAC Giải thuật này thuộc lĩnh vực học tập không giám sát trong học máy và thường được sử dụng để phân cụm trong những cơ sở dữ liệu lớn
1.1.3 Đối tượng của luận văn
Khi người dùng có nhu cầu tìm kiếm những ấn phẩm hoặc những bài báo khoa học của một tác giả mà họ quan tâm trong cơ sở dữ liệu khoa học DBLP Người dùng chỉ cần nhập vào một tên bất kỳ mà họ muốn tìm Hệ thống sẽ tự động tính toán và tự động gom cụm những xuất bản của một tác giả nếu tác giả đó có trong hệ thống để giúp cho người dùng tìm kiếm thông tin dễ dàng Tuy nhiên, những tác giả cùng các tác phẩm trong cơ sở dữ liệu không được quản lý bằng một mã số duy nhất
mà được lưu trữ dưới dạng một Bản ghi, nên việc tính toán và gom cụm sẽ không chính xác tuyệt đối mà chỉ hiển thị kết quả tương đối
1.2 Các công trình liên quan
1.2.1 CiteSeer
Citeseer1 là một Công cụ tìm kiếm và là Thư viện kỹ thuật số để lưu trữ các sách, tạp chí, bài báo khoa học chủ yếu trong các lĩnh vực khoa học máy tính Đây
là hệ thống lập chỉ mục trích dẫn tự động đầu tiên Mục tiêu của CiteSeer là thu thập
dữ liệu khoa học trên các trang web công cộng và sử dụng một chỉ số trích dẫn để cho phép người dùng dễ dàng tìm kiếm được các trích dẫn chính xác của một tác giả Tuy nhiên, hệ thống này có một số hạn chế trong thiết kế kiến trúc nên đã được Tiến sĩ Isaac Councill và Tiến sĩ C Lee Giles của trường cao đẳng Thông tin khoa học và Công nghệ, Đại học bang Pennsylvania phát triển lên thành hệ thống CiteseerX
1
http://en.wikipedia.org/wiki/CiteSeer
Trang 16CiteseerX2 tiếp tục hỗ trợ các mục tiêu vạch ra bởi Citeseer và cho phép người dùng tìm kiếm tài liệu hoặc tìm kiếm các tác phẩm của một tác giả nào đó có trong
hệ thống mà chỉ cần người dùng biết tên tác giả hoặc tên tác phẩm, hệ thống sẽ tự động gom cụm và hiển thị kết quả theo yêu cầu và còn hỗ trợ liên kết cho phép người dùng truy vấn thông tin họ muốn tìm kiếm trên các trang khác như Bing, Ask, CSB, Yahoo, Scholar, Libra Hiện nay, nó còn cung cấp thêm một tính năng nữa đó
là Bảng tìm kiếm, tính năng này cho phép người dùng biết được tài liệu họ muốn tìm kiếm nằm trong bảng nào Hiện tại, hệ thống này đã lưu trữ hơn 2 triệu tài liệu, gần 2 triệu tác giả và hơn 40 triệu trích dẫn
DBLP3 cũng là một hệ thống lưu trữ tài liệu về lĩnh vực khoa học máy tính của
trường đại học Trier, Đức Ban đầu nó là một hệ thống cơ sở dữ liệu và lập trình logic và đã tồn tại ít nhất từ những năm 1980 Hệ thống này chỉ lưu trữ những tài liệu đã được đăng trên các tạp chí khoa học quốc tế kèm theo những thông tin liên quan như thông tin về nhà xuất bản, thông tin về tạp chí, thông tin về hội nghị,…của bất kỳ nhà nghiên cứu của bất kỳ quốc gia nào Hiện nay, DBLP đã lập chỉ mục với hơn 2 triệu bài viết với gần 2 triệu tác giả và có nhiều liên kết tới trang chủ của các nhà khoa học máy tính
gồm có các thuộc tính như loại bản ghi, tên tác giả, tên đồng tác giả, tiêu đề, số lượng xuất bản, nhà xuất bản, số trang, các siêu liên kết, … Hệ thống này cho phép người dùng tìm kiếm những xuất bản của một tác giả khi biết tên của tác giả Người dùng chỉ cần nhập vào một tên hoặc một từ trong một tên họ quan tâm, hệ thống sẽ
tự động gom cụm tất cả những tên tác giả có từ hoặc có tên tương tự với tên người dùng nhập vào và hiển thị kết quả cho người dùng lựa chọn Và mỗi tên tác giả hiển thị sẽ được gom những xuất bản của tác giả đó một cách tự động và được sắp xếp giảm dần theo năm Hệ thống này còn hỗ trợ người dùng tìm kiếm tác phẩm của tác giả người dùng muốn tìm trên các trang lưu trữ dữ liệu hoặc trang tìm kiếm khác như CiteSeerX, Google Scholar, pobzone.org, Bip TeX
1.2.3 ACM Portal
gồm có hai thành phần chính đó là Thư viện kỹ thuật số ACM và trang Trích dẫn trực tuyến của tài liệu về ngành khoa học máy tính Trong đó, Thư viên kỹ thuật số ACM là một nguồn tài nguyên trực truyến rất hữu ích cho những người quan tâm đến ngành khoa học máy tính và chúng còn phục vụ cho các thành viên của hiệp hội hay những nhà nghiên cứu máy tính có được các ấn phẩm, các bài báo khoa học Còn Trang trích dẫn trực tuyến dùng để cung cấp các quyền truy cập đến một ngân hàng trích dẫn khoảng lồ mà các trích dẫn này có thể có hoặc không có trong ACM
Trang 17Thư viện kỹ thuật số ACM là kho lưu trữ các trích dẫn và các văn bản đầy đủ của các tạp chí, bản tin và hội nghị ACM, hoặc các tài liệu của các nhà xuất bản khác mà ACM đã thỏa thuận và hợp tác Thành viên của thư viện kỹ thuật số ACM
có thể truy cập vào trang www.computingreviews.com, đây là trang dịch vụ đánh giá trực tuyến hàng đầu cho sách và bài viết trên tất cả các lĩnh vực của khoa học máy tính Thư viện kỹ thuật số này còn lưu trữ tất cả các văn bản của hội nghị, các
ấn phẩm khoa học được xuất bản trước những năm 1950, hơn 50 000 thư mục trích dẫn và hơn 1 000 trang văn bản
Còn trang Trích dẫn trực tuyến thì cung cấp các quyền truy cập đến một ngân hàng khổng lồ với hơn 750.000 thư mục trích dẫn không có trong thư viện ACM Bao gồm các tạp chí, sách, bài báo và luận án của các công trình khoa học máy tính Trang trích dẫn này khác với thư viện kỹ thuật số ở chỗ: Thư viện kỹ thuật số là kho lưu trữ văn bản đầy đủ của những giấy tờ được xuất bản bởi ACM, trong khi trang trích dẫn là một bộ sưu tập các trích dẫn và những bản tóm tắt của các công trình được xuất bản bởi ACM hoặc các nhà xuất bản khác mà có thỏa thuận hoặc hợp tác với ACM
1.3 Phạm vi và nội dung nghiên cứu của luận văn
Phân cụm dữ liệu là một đề tài rất thực tế đã được nhiều nhà nghiên cứu quan tâm trong lĩnh vực khai phá dữ liệu và học máy Trong khuôn khổ luận văn này, chúng tôi nghiên cứu vấn đề phân cụm dữ liệu để phát triển hệ thống tự động gom cụm những xuất bản của cùng một tác giả ứng dụng trong cơ sở dữ liệu khoa học DBLP Nội dung nghiên cứu của chúng tôi có thể được chia thành các nội dung sau:
được nhiều nhà nghiên cứu quan tâm và đã được ứng dụng trong nhiều lĩnh vực Tuy nhiên, tùy từng nhà nghiên cứu hoặc tùy vào từng ứng dụng
mà lựa chọn những thuộc tính để phân cụm cho phù hợp
Tìm hiểu cách tính toán độ tương tự giữa các thuộc tính Hiện nay có nhiều cách để tính toán độ tương tự giữa các thuộc tính nhưng tùy vào từng kiểu dữ liệu của thuộc tính mà chọn cách tính độ tương tự cho phù hợp và mang lại hiệu quả
phân cụm nhưng chúng tôi chỉ tìm hiểu và so sánh ba giải thuật điển hình: giải thuật K-means, giải thuật DBSCAN, giải thuật HAC Ba giải thuật này phổ biến và áp dụng được cho nhiều loại dữ liệu
gom những xuất bản của một tác giả vào thành một cụm mà còn gom những tên tác giả có độ tương tự cao vào thành một cụm vì hai tên có độ tương tự cao rất có khả năng là cùng một người) theo kỹ thuật phân cụm HAC
Trang 18 Viết chương trình thực nghiệm và thực hiện việc đánh giá kết quả theo yêu cầu của luận văn Việc đánh giá này giúp cho biết được chất lượng gom cụm của chương trình đạt đến mức nào để có thể tiếp tục nâng cấp trong tương lai
1.4 Kế hoạch thực hiện
Bảng 1.1: Kế hoạch thực hiện của luận văn
GIAN
1
1
Tìm hiểu về cơ sở dữ liệu DBLP Cách khai thác
dữ liệu trong DBLP bằng Proximity Cấu trúc file XML DTD, Tìm hiểu về phân cụm dữ liệu và viết đề cương luận văn
19/3-9/4
2
3
2
phương pháp học không giám sát Tìm hiểu về những độ tương tự cho dữ liệu văn bản như Cosine, Jaccard
10/4-16/4
5
3
Cosine để tìm kiếm những tác giả mà có độ tương tự lớn hơn một ngưỡng tùy chọn
Tìm hiểu những giải thuật phân cụm như means, DBSCAN, HAC Nêu được ưu, nhược điểm của những giải thuật trên và viết báo cáo giữa kỳ
12
Trang 191.5 Cấu trúc của luận văn
Mục tiêu của chương này là phát biểu vấn đề nghiên cứu, trong đó chúng tôi giới thiệu động cơ nghiên cứu, phát biểu khái quát mục tiêu và đối tượng nghiên cứu của luận văn, trình bày những công trình liên quan, phạm vi, nội dung nghiên cứu và kế hoạch thực hiện của luận văn, các chương còn lại được tổ chức như sau
Chương 2 – Cơ sở kiến thức
Chương này trình bày kiến thức nền tảng được sử dụng trong luận văn Trước tiên, chúng tôi trình bày khái quát về phương pháp học có giám sát và phương pháp học không giảm sát vì hai phương pháp này liên quan đến vấn đề phân cụm dữ liệu
và mục tiêu của luận văn Sau đó, chúng tôi sẽ trình bày một số độ đo khoảng cách hiện nay được nhiều nhà nghiên cứu áp dụng để tính độ tương tự của dữ liệu và cuối cùng chúng tôi sẽ giới thiệu một số giải thuật phân cụm điển hình để có thể cung cấp thêm một số kiến thức để xây dựng ứng dụng thực nghiệm cho luận văn này
Chương 3 – Phân cụm các xuất bản của cùng một tác giả
Chương này giới thiệu quá trình phân cụm các xuất bản của cùng một tác giả dựa trên quá trình phân cụm dữ liệu hiện nay Đầu tiên, chúng tôi giới thiệu về việc lựa chọn thuộc tính và chúng tôi đã chọn thuộc tính tên để phân cụm Sau đó, chúng tôi tính toán độ tương tự giữa các tên để xác định những cặp tên tương tự để tạo ra một danh sách các tên mà có độ tương tự với tên nhập vào lớn hơn một ngưỡng, ngưỡng này được chúng tôi tính toán bằng tay Và cuối cùng, chúng tôi chọn giải thuật gom cụm HAC để gom cụm những tên tác giả và tác phẩm theo yêu cầu của luận văn
Chương 4 – Phần mềm thực nghiệm và đánh giá kết quả
Chương này chúng tôi giới thiệu cấu trúc dữ liệu của cơ sở dữ liệu khoa học DBLP Tiếp theo, giới thiệu về phần mềm thực nghiệm Và cuối cùng, chúng tôi trình bày kết quả thực nghiệm và đánh giá chất lượng việc gom cụm của hệ thống
Trang 20Chương 2:
CƠ SỞ KIẾN THỨC
2.1 Giới thiệu
Chúng tôi đang quan tâm đến việc giải quyết bài toán về phân cụm dữ liệu, cụ
thể hơn là gom cụm những xuất bản của cùng một tác giả ứng dụng trong cơ sở dữ liệu khoa học DBLP Trước đây, đã có nhiều công trình nghiên cứu về vấn đề phân cụm dữ liệu, điển hình như: phân cụm dữ liệu văn bản hay phân cụm trang web Những công trình này đã được nhiều nhà nghiên cứu giải quyết và nghiên cứu thông qua các kỹ thuật học máy hay lĩnh vực khai phá dữ liệu Kỹ thuật này tạo ra các chương trình máy tính bằng việc phân tích những tập dữ liệu
Nhiệm vụ phân cụm dữ liệu này được tiến hành thủ công Đầu tiên, người thực hiện sẽ phân tích các nội dung của dữ liệu, tiếp theo gán tài liệu với một lớp thích hợp, gọi là gán nhãn dữ liệu và sau đó sử dụng một mô hình dự đoán để đưa ra kết qua tương ứng Các kỹ thuật này thường dựa vào một bộ dữ liệu huấn luyện Do đó, chất lượng của các cụm muốn cao thì phải phụ thuộc vào các bộ dữ liệu huấn luyện phù hợp Tuy nhiên, trong DBLP có rất nhiều dữ liệu và các trích dẫn được tạo ra hằng ngày, các dữ liệu không được quản lý bằng mã số duy nhất Do đó, không thể
có các chuyên gia ngày nào cũng định nghĩa ra bộ dữ liệu huấn luyện mới để gán cho từng dữ liệu theo cách này
Để giải quyết vấn đề trên, các kỹ thuật phân cụm đã được sử dụng, sự thu hút của phân tích cụm là việc nó có thể tìm thấy các cụm trực tiếp từ dữ liệu đưa vào
mà không cần như các bộ dữ liệu huấn luyện Nghĩa là, từ một tên tác giả có thể tìm thấy được tất cả những tên tương tự tên tác giả muốn tìm và tìm được tất cả những tác phẩm của tất cả những tác giả đó mà không cần biết trong cơ sở dữ liệu có bao nhiêu tên tác giả
Trong chương này, chúng tôi trình bày những kiến thức cơ bản được sử dụng trong khuôn khổ luận văn Phần 2.2 trình bày khái niệm về phương pháp học có giám sát và phương pháp học không giám sát Phần 2.3 trình bày những độ đo khoảng cách Phần 2.4 sẽ trình bày một số giải thuật phân cụm dữ liệu điển hình và cuối cùng Phần 2.5 tóm lược những vấn đề đã trình bày trong chương này Sau đây, chúng tôi sẽ đi vào chi tiết nội dung của từng phần
Trang 212.2 Phương pháp học có giám sát và phương pháp học không giám sát
Hiện nay có rất nhiều kỹ thuật dùng để phân cụm dữ liệu tự động có thể được
áp dụng hiệu quả trong các tập dữ liệu quy mô lớn Hai cách tiếp cận thông thường dựa trên những loại kiến thức của học máy đó là: phương pháp học có giám sát [2,
4, 8] và phương pháp học không giám sát [2, 3, 5, 6, 8, 9, 10] Hai phương pháp này
có hai qui trình thực hiện và mục tiêu khác nhau nhưng lại có điểm chung là để gom cụm dữ liệu
trong tập dữ liệu huấn luyện đều được gán nhãn với kết quả chính xác (chẳng hạn
,
là quá trình phân chia một tập dữ liệu thành các cụm dữ liệu tương tự nhau mà chưa biết trước các tập dữ liệu huấn luyện và các dữ liệu trong tập này đều không được gán nhãn Do đó, nhiệm vụ trong việc học này là khó khăn hơn
nghĩa là khi đưa vào một dữ liệu bất kỳ, dựa vào việc gán nhãn dữ liệu và tập dữ liệu huấn luyện, nó sẽ dự đoán đầu ra tương ứng Còn mục tiêu của việc học không giám sát6 dùng để tìm ra một mô hình phân cụm phù hợp với các kiểu dữ liệu Trong cơ sở dữ liệu khoa học, phân cụm là việc gom cụm các bản ghi lại với nhau dựa trên một số đặc điểm giống nhau của chúng và mỗi cụm tương ứng với một tên tác giả mà chưa biết trước được dữ liệu đầu vào và tất cả các bản ghi trong cơ sở dữ liệu đều không được gán nhãn
Nói chung, phương pháp học có giám sát mang lại kết quả tốt hơn phương pháp học không giám sát Bởi vì trong học có giám sát, các dữ liệu trong tập dữ liệu huấn luyện đều được gán nhãn, do đó, với một giá trị đầu vào nó sẽ dự đoán chính xác dữ liệu đầu ra Tuy nhiên, phương pháp này không phù hợp với các cơ sở dữ liệu lớn vì thông thường dữ liệu trong đó không được gán nhãn, do đó, khó có thể
dự đoán được đầu ra Còn học không giám sát thì độ chính xác trong phân cụm không đạt giá trị cao như học có giám sát vì dữ liệu đầu vào của nó là một biến ngẫu nhiên hoặc một tên tác giả không biết trước Tuy nhiên, phương pháp này được áp dùng cho cơ sở dữ liệu lớn vì dữ liệu đầu vào không cần biết trước
Trong khuôn khổ luận văn này, chúng tôi phát triển hệ thống tự động gom cụm các xuất bản của một tác giả ứng dụng trong cơ sở dữ liệu khoa học DBLP Đây là một vấn đề gom cụm dữ liệu trong một cơ sở dữ liệu lớn, mà tất cả các bản ghi trong nó đều không được gán nhãn Do đó, chúng tôi nghiên cứu kỹ thuật phân cụm thuộc phương pháp học không giám sát để giải quyết bài toán phân cụm trong luận văn Tiếp theo, chúng tôi sẽ trình bày một số độ đo khoảng cách để có thêm kiến thức về từng độ đo và để quyết định xem nên lựa chọn độ đo nào thích hợp cho khuôn khổ luận văn này
Trang 222.3 Độ đo khoảng cách
Độ đo khoảng cách là một vấn đề quan trọng trong phân cụm dữ liệu [1] Hiện nay có rất nhiều độ đo được sử dụng để phân cụm Tuy nhiên, trong nhiều trường hợp, lựa chọn sai độ đo có thể ảnh hưởng phần lớn đến kết quả của phân cụm Sự tương tự giữa hai đối tượng được định nghĩa như một độ đo mức độ mà hai đối tượng là như nhau Có hai vấn đề chính liên quan đến vấn đề này là: (a) Làm thế nào để đo khoảng cách giữa hai điểm dữ liệu, và (b) làm thế nào để đo khoảng cách giữa hai cụm
2.3.1 Chuẩn đo
Không phải mọi độ đo khoảng cách đều là chuẩn đo Chuẩn đo là một tiêu chuẩn được con người đặt ra để dựa vào đó mà đánh giá độ đo nào đủ tiêu chuẩn để được đưa vào áp dụng trong phân cụm dữ liệu [18] Giả sử cho x và y là hai đối tượng bất kỳ và d(x,y) là khoảng cách giữa x và y Để hội đủ điều kiện là một độ đo, thì độ đo d phải đáp ứng bốn điều kiện sau:
Khoảng cách giữa hai điểm bất kỳ phải là không âm Nghĩa là d(x,y) >= 0
tượng giống hệt nhau, đó là, d (x, y) = 0 khi và chỉ khi x = y
Khoảng cách phải là đối xứng, có nghĩa là, khoảng cách từ x đến y là tương tự như khoảng cách từ y để x, tức là d (x, y) = d (y, x)
d (x, z) ≤ d (x, y) + d (y, z)
2.3.2 Đo khoảng cách giữa hai điểm dữ liệu
Trong các thư viện kỹ thuật số hoặc cơ sở dữ liệu khoa học DBLP, các thuộc tính trong mỗi bản ghi của tác giả thường được lưu trữ dưới dạng chuỗi, thường chỉ
có thuộc tính năm xuất bản, khối lượng hay số lượng xuất bản thì lưu trữ dưới dạng
số Trong khuôn khổ của chương cơ sở kiến thức này, chúng tôi muốn trình bày những độ đo khác nhau có thể áp dụng cho những kiểu dữ liệu khác nhau để người đọc có thể có một cái nhìn tổng quan về từng loại độ đo hoặc giúp họ làm tài liệu tham khảo cho những ứng dụng khác Sau đây, chúng tôi sẽ trình bày chi tiết một số
độ đo cụ thể để tính toán khoảng cách giữa các thuộc tính trong một bản ghi
Khoảng cách chỉnh sửa chuỗi
Khoảng cách chỉnh sửa chuỗi được sử dụng rộng rãi trong nhiều ứng dụng, đặc biệt là trong tích hợp dữ liệu, nó là giá trị nhỏ nhất của việc thêm vào, xóa và
thay thế cần thiết để chuyển đổi chuỗi này thành chuỗi khác [18] Giả sử D(s, t, i, j)
là khoảng cách chỉnh sửa giữa hai chuỗi s[1 i] và t[1 j] Chúng tôi ký hiệu s i là kí
tự thứ i của s và t j là kí tự thứ j của t Khoảng cách D(s,t,i,j) được xác định đệ qui, trong đó D(s,t,0,0) = 0 và
Trang 23( )
{
( ) ( ) ( )
(2.1)
Sau đây là ví dụ về chỉnh sửa khoảng cách giữa hai chuỗi s = “Willlaim” và chuỗi t = “William” bằng các thao tác chỉnh sửa như sau:
Copy chữ cái tiếp theo trong s vào vị trí tiếp theo trong t
Chèn thêm chữ cái tiếp theo trong t mà không xuất hiện trong s
Thay thế chữ cái khác trong t cho chữ cái tiếp theo trong s
Xóa chữ cái tiếp theo trong s, có nghĩa là không copy nó vào t
Tuy nhiên, khoảng cách chỉnh sửa có thể không nhận ra được tên một người
mà được viết theo hai kiểu khác nhau (ví dụ, “Hà Minh Nhật” với “Minh Nhật Hà”) Để xử lý vấn đề này, khoảng cách giữa các hoán vị khác nhau của một tên tác giả được tính toán và giá trị tối thiểu được trả lại Một giải pháp khác là sử dụng N-gram, tức là, tính toán có bao nhiêu ký tự lặp lại liên tục ở hai tên tác giả Ngoài ra,
có thể xác định sự giống nhau giữa hai tên tác giả bằng các giải pháp của độ đo tương tự Tiếp theo đây, chúng tôi sẽ trình bày các giải pháp của độ đo tương tự cho
dữ liệu ở dạng văn bản
Độ tương tự cho dữ liệu văn bản
Trước khi phân cụm, độ đo tương tự hoặc độ đo khoảng cách phải được xác định trước Độ đo này phản ánh mức độ gần gũi, hay tách rời của các đối tượng mục tiêu và phải tương ứng với các đặc điểm được cho là để phân biệt các cụm trong các
dữ liệu [1], [11] Trong nhiều trường hợp, những đặc điểm này phụ thuộc vào dữ liệu hoặc phụ thuộc vào bối cảnh của vấn đề, và không có độ đo nào là tốt nhất cho tất cả các loại của vấn đề phân cụm
Hơn nữa, lựa chọn một độ tương tự thích hợp cũng rất quan trọng trong phân tích cụm, đặc biệt đối với những thuật toán phân cụm cụ thể Ví dụ, thuật toán phân cụm dựa trên mật độ, như DBSCAN, chúng dựa rất nhiều vào việc tính toán độ tương tự thuật toán này cho thấy các cụm như các khu vực dày đặc trong những bộ
dữ liệu, và mật độ của một điểm cho trước của một đối tượng lần lượt ước tính với các phần tử của đối tượng lân cận, giá trị này được xác định là độ đo tương tự của chúng Vì vậy, hiểu biết hiệu quả những độ đo khác nhau là rất quan trọng trong việc lựa chọn độ đo nào là tốt nhất cho từng trường hợp
Nói chung, độ đo tương tự giữa hai đối tượng là một giá trị số, mà giá trị số này phụ thuộc vào yếu tố của các thuộc tính của hai đối tượng và các độ đo của chính nó Việc tính toán độ tương tự giữa hai đối tượng với đối tượng là tài liệu văn
Trang 24bản, thì thường sử dụng độ tương tự Euclidean, Cosine, Jaccard là phù hợp Sau đây, chúng tôi sẽ trình bày chi tiết những độ đo tương tự này để giúp người đọc có thêm một số kiến thức cơ bản về độ đo và giúp cho chúng tôi lựa chọn độ đo thích hợp cho khuôn khổ luận văn này
Khoảng cách Euclidean
Khoảng cách Euclidean là một độ đo tiêu chuẩn cho các vấn đề hình học
Đó là khoảng cách giữa hai điểm thông thường và có thể được đo một cách dễ dàng với một độ đo trong không gian hai hoặc ba chiều Khoảng cách Euclidean đáp ứng tất cả bốn điều kiện trên và do đó là một độ đo thực sự
Khoảng cách Euclidean giữa hai tài liệu r i và r j được biểu diễn trong không gian là vector từ ⃗⃗⃗ , ⃗⃗⃗ được tính toán bằng:
( ⃗⃗⃗ ⃗⃗⃗ ) √(∑ | | )
Trong đó, chúng tôi sử dụng giá trị tfidf như là trọng số từ, đó là
( ) Tần số trọng lượng tfidf của một từ t trong một tài liệu d được
Mỗi tài liệu r m được biểu diễn là một vector từ ⃗⃗⃗⃗ trong không gian Độ
tương tự cosine giữa hai tài liệu r i và r j được tính toán bằng:
( ) ⃗⃗ ⃗⃗
⃗⃗ | ⃗⃗ |
∑
Trong đó, w ti , w tj là trọng số của từ t trong vector r i , r j ; V là từ mà chứa
tất cả những từ trong tài liệu √∑ , √∑ là độ lớn của w ti , w tj
Nếu độ tương tự cosine là 1, góc giữa r i , r j là 0o, tức là, hai tài liệu giống
nhau hoàn toàn Ngược lại, nếu độ tương tự cosine là 0, thì góc giữa r i và r j là
90o, nghĩa là hai tài liệu không tương tự nhau
Trang 25Hệ số Jaccard
Hệ số Jaccard hoặc chỉ số Jaccard là một độ đo tương tự thường được dùng để so sánh sự giống nhau và sự đa dạng giữa hai tài liệu Hệ số Jaccard
so sánh tổng trọng số từ của những từ chung với tổng trọng số của những từ
mà có mặt ở một trong hai tài liệu nhưng không có trong những từ chung [1]
Hệ số Jaccard giữa hai tài liệu r i , r j được tính bằng kích thước của việc giao giữa hai tài liệu chia cho kính thước hội của hai tài liệu
( ) | |
Khoảng cách Jaccard là bổ sung cho hệ số Jaccard Nó được tính bằng cách lấy 1 trừ đi hệ số Jaccard:
( ) ( ) | |
| |Trong trường hợp hai đối tượng có n thuộc tính ở dạng nhị phân, nghĩa là mỗi thuộc tính có thể có giá trị là 0 hoặc 1 thì hệ số Jaccard8 được tính như sau:
( )
Trong đó, f11 đại diện cho tổng số các thuộc tính có giá trị là 1 trong cả hai đối tượng; f01 đại diện cho tổng số các thuộc tính trong đó thuộc tính của đối tượng thứ nhất có giá trị là 0 và thuộc tính của đối tượng thứ hai có giá trị
là 1; f10 đại diện cho tổng số các thuộc tính trong đó thuộc tính của đối tượng thứ nhất có giá trị là 1 và thuộc tính của đối tượng thứ hai có giá trị là 0; f00 đại diện cho tổng số các thuộc tính có giá trị là 0 trong cả hai đối tượng Trong đó,
f 11 + f 10 + f 01 + f 00 = n
2.3.3 Đo khoảng cách giữa hai cụm
Trong phân cụm dữ liệu, sau khi đã sử dụng các độ đo khoảng cách hoặc độ tương tự giữa các đối tượng để tạo thành cụm có các đối tượng tương tự nhau, còn các đối tượng không tương tự nhau được gom vào thành cụm khác [1, 15] Một vấn
đề tiếp theo quan trọng không kém đó là vấn đề làm thế nào để đo khoảng giữa hai cụm dữ liệu Việc đo khoảng cách giữa hai cụm dữ liệu còn tùy thuộc vào từng giải thuật phân cụm Đối với giải thuật phân cụm HAC thì độ đo khoảng cách giữa hai cụm là một vấn đề không thể thiếu bởi vì chúng là một bước quan trọng của giải thuật
Trang 26Tiếp theo đây, chúng tôi sẽ giới thiệu về phân cụm dữ liệu, trình bày mục đích của phân cụm và trình bày chi tiết ba giải thuật phân cụm dữ liệu điển hình đã được rất nhiều nhà nghiên cứu áp dụng cho nhiều đề tài, để có thêm một số kiến thức về phân cụm dữ liệu và để quyết định xem nên lựa chọn giải thuật phân cụm dữ liệu nào cho phù hợp với khuôn khổ luận văn này
2.4 Các giải thuật phân cụm dữ liệu
Phân cụm dữ liệu9 là một kỹ thuật quan trọng trong nhiều lĩnh vực, đặc biệt là trong khai phá dữ liệu Nó thuộc lĩnh vực học không giám sát trong học máy Có rất nhiều định nghĩa khác nhau về kỹ thuật này, nhưng thực ra bản chất của phân cụm
dữ liệu là qui trình tìm cách nhóm các đối tượng đã cho vào các cụm, sao cho các đối tượng trong một cụm tương tự nhau và các đối tượng khác cụm thì không tương
tự nhau [1, 15]
Mục đích của phân cụm9 là tìm ra bản chất bên trong của các cụm của dữ liệu Hiện nay, có rất nhiều thuật toán phân cụm và các thuật toán này đều sinh ra các cụm Tuy nhiên, không có tiêu chí nào được xem là tốt nhất để đánh giá hiệu quả của phân cụm, điều này thường tùy vào từng mục đích phân cụm của từng ứng dụng Sau đây, chúng tôi sẽ trình bày ba thuật toán phân cụm điển hình để quyết định xem nên lựa chọn thuật toán nào để phân cụm trong khuôn khổ luận văn này
2.4.1 Thuật toán phân cụm phân hoạch: K-means
tưởng chính của thuật toán là tìm cách phân nhóm các đối tượng đã cho vào K cụm (K là số cụm được xác định trước) sao cho tổng bình phương khoảng cách giữa các
đối tượng đến tâm cụm là nhỏ nhất
Mục đích của thuật toán K-means là sinh K cụm dữ liệu từ một tập dữ liệu chứa n đối tượng trong không gian d chiều X i = { x i1 , x i2 , … ,x id }, i = 1/n, sao cho
hàm tiêu chuẩn ∑ ∑ ( ) đạt giá trị tối thiểu, trong đó: m i là
vào của thuật toán là số cụm K và tham số đầu ra của thuật toán là các trọng tâm của
Trang 27Giải thuật 2.1: Giải thuật phân cụm K-means 10
Đầu vào: Tập các đối tượng và số cụm K
Đầu ra: Các cụm trọng tâm
Bước 1: Chọn ngẫu nhiên K trọng tâm cho K cụm Mỗi cụm đại diện bằng các trọng
tâm của cụm
Bước 2: Tính khoảng cách giữa các đối tượng đến trọng tâm K (thường dùng
khoảng cách Euclidean)
Bước 3: Gom các đối tượng vào cụm gần nhất
Bước 4: Cập nhật lại trong tâm K cho các cụm
Bước 5: Thực hiện lại bước 2, 3, 4 đến khi không có sự thay đổi trọng tâm của cụm
Trong kỹ thuật phân cụm K-means, đầu tiên chọn một giá trị K và chọn ngẫu nhiên K trọng tâm của đối tượng dữ liệu Sau đó, tính toán khoảng cách giữa đối
tượng dữ liệu đến trọng tâm ở mỗi cụm để tìm kiếm phần tử nào là tương tự và thêm vào cụm đó Từ khoảng cách này có thể tính toán khoảng cách mới của cụm
và lặp lại quá trình này cho đến khi mỗi đối tượng là một bộ phận của cụm K
Trong tâm của cụm là một vector, trong đó giá trị của mỗi đối tượng là trung bình cộng của các thành phần tương ứng của các đối tượng vector dữ liệu trong cụm đang xét Độ đo khoảng cách giữa các đối tượng thường được sử dụng là độ đo khoảng cách Euclidean vì đây là độ đo này dễ xác định và dễ xác định được giá trị nhỏ nhất Tuy nhiên, có thể sử dụng hàm tiêu chuẩn và độ đo khoảng cách khác bởi
vì còn tùy thuộc vào từng ứng dụng hoặc quan điểm khác nhau của người sử dùng Hiện nay, chưa có một thuật toán nào là hoàn hảo cho mọi ứng dụng Một thuật toán chỉ phù hợp cho một hoặc một vài lĩnh vực và áp dụng được cho một số bài toán Do đó, thuật toán nào cũng đều có ưu điểm và hạn chế Sau đây, chúng tôi
sẽ trình bày một số ưu điểm và hạn chế của thuật toán K-means
Ưu điểm
với những dữ liệu mới Các bước của thuật toán là hữu hạn và sau khi lặp được hữu
hạn bước thì sẽ đảm bảo sẽ luôn tìm được K cụm và trong một cụm luôn có ít nhất
một đối tượng Các đối tượng trong một cụm là tương tự nhau trong cụm đó, phi tương tự trong cụm khác, không bị chồng chéo lên nhau và chúng không phân cấp
Hạn chế
dạng phức tạp và gặp khó khăn trong việc xác định các trọng tâm cụm ban đầu các
Trang 28trọng tâm cụm lúc khởi tạo được chọn ngẫu nhiên không theo một quy tắc hay một chuẩn nào, và việc gom các đối tượng lại thành một cụm phụ thuộc rất nhiều vào việc khởi tạo các vector trọng tâm cụm Ngoài ra, thuật toàn này rất nhạy với dữ liệu nhiễu và các đối tượng không rõ ràng bởi vì những đối tượng này khó có thể xác định chính xác thuộc cụm nào và cuối cùng thuật toán này khó có thể chọn ra được số lượng cụm tối ưu ngay từ đầu mà phải thực hiện qua nhiều lần lặp
2.4.2 Thuật toán phân cụm dựa vào mật độ: DBSCAN
Thuật toán phân cụm dựa vào mật độ thông dụng nhất là thuật toán
hiểu quả đối với các cơ sở dữ liệu lớn và có khả năng xử lý nhiễu Ý tưởng của thuật toán [16] là vùng lân cận mỗi đối tượng trong một cụm có số đối tượng lớn hơn ngưỡng tối thiểu Hình dạng của vùng lân cận phụ thuộc vào hàm khoảng cách giữa các đối tượng (nếu sử dụng khoảng cách Manhattan trong không gian 2 chiều vùng lân cận có hình chữ nhật, nếu sử dụng khoảng cách Euclidean trong không gian 2 chiều thì vùng lân cận có hình tròn)
Một cụm được xác định là một tập con của các đối tượng mà tập con này thỏa mãn là tập tất cả các đối tượng kết nối theo mật độ với các vùng lân cận của nó [16] Các đối tượng trong mỗi cụm được phân ra làm 2 loại: đối tượng bên trong cụm (đối tượng nhân) và đối tượng nằm trên đường biên của cụm (đối tượng biên) Thuật toán DBSCAN có thể áp dụng cho các tập dữ liệu không gian đa chiều Trước khi đi vào nghiên cứu thuật toán, chúng tôi sẽ trình bày một số định nghĩa và bổ đề
để làm cơ sở lý thuyết cho thuật toán
Định nghĩa 1
Vùng lân cận Eps của đối tượng p, ký hiệu N Eps (p) [16] là tập hợp các đối
tượng sao cho khoảng cách giữa p và q nhỏ hơn Eps Định nghĩa này được mô tả như sau: N Eps (p) = {q D | Dist(p,q) ≤ Eps}, trong đó D là tập dữ liệu cho trước
Hình 2.1: Vùng lân cận của p với ngưỡng Eps [16]
Trang 29 Một đối tượng p muốn nằm trong một cụm C nào đó thì N Eps (p) phải có tối
thiểu MinPts đối tượng
Theo định nghĩa trên, chỉ những đối tượng thực sự nằm trong cụm mới thoả mãn điều kiện là đối tượng thuộc vào cụm Những đối tượng nằm ở biên của cụm
thì không thoả mãn điều kiện đó, bởi vì thông thường thì lân cận với ngưỡng Eps của đối tượng biên thì nhỏ hơn lân cận với ngưỡng Eps của đối tượng nhân
Để tránh được điều này, ta có thể đưa ra một tiêu chuẩn khác để định nghĩa
một đối tượng thuộc vào một cụm như sau: Nếu một đối tượng p muốn thuộc một cụm C phải tồn tại một đối tượng q mà p N Eps (q) và số đối tượng trong N Eps (q)
phải lớn hơn số đối tượng tối thiểu Điều này có thể được định nghĩa một cách hình thức như sau
Định nghĩa 2
Đối tượng p tới được trực tiếp theo mật độ thỏa Eps, MinPts từ đối tượng q
[16] nếu p N Eps (q) và | NEps(q) | ≥ MinPts
Hình 2.2: Quan hệ tới được trực tiếp theo mật độ [16]
Tính chất:
Nếu p, q đều là đối tượng nhân thì quan hệ tới được trực tiếp theo mật độ
là đối xứng, nghĩa là p tới được trực tiếp theo mật độ từ q và ngược lại
thì chỉ có đối tượng biên tới được trực tiếp theo mật độ từ đối tượng nhân
mà không có chiều ngược lại
Định nghĩa 3
Đối tượng p tới được theo mật độ [16] thỏa Eps, MinPts từ đối tượng q nếu
tồn tại một dãy p 1 , , p n (p 1 = q, p n = p) sao cho p i+1 tới được theo mật độ trực tiếp
từ p i
Trang 30Hình 2.3: Quan hệ tới được theo mật độ [16]
Tính chất:
mật độ và có tính bắt cầu
xứng, nghĩa là p tới được theo mật độ từ q và ngược lại
ngược lại
đối tượng biên tới được theo mật độ từ đối tượng nhân mà không có chiều ngược lại
Định nghĩa 4
Đối tượng p kết nối theo mật độ [16] thỏa Eps, MinPts với đối tượng q nếu tồn
tại đối tượng o sao cho cả p và q đều tới được theo mật độ từ o
Hình 2.4: Quan hệ kết nối theo mật độ [16]
Tính chất:
kết nối theo mật độ còn có mỗi quan hệ có tính phản xạ
Quan hệ kết nối theo mật độ là mỗi quan hệ có tính đối xứng
Trang 31Định nghĩa 5
Cho cơ sở dữ liệu D, cụm C thỏa Eps và MinPts [16] là tập con khác rỗng của D
thỏa 2 điều kiện sau:
1) ∀ p,q: nếu p C và q tới được theo mật độ từ p thỏa Eps và MinPts thì q C
2) ∀ p,q C: p kết nối theo mật độ với p thỏa Eps và MinPts
Cụm C thỏa định nghĩa 5 sẽ có ít nhất MinPts đối tượng vì lý do sau: C phải
có ít nhất một đối tượng p (C khác rỗng), p phải kết nối theo mật độ với bản thân nó thông qua một đối tượng o (điều kiện 2 của định nghĩa 5) Vì vậy, o là đối tượng nhân và vùng lân cận Eps của o có ít nhất MinPts đối tượng
Định nghĩa 6
Cho các cụm C 1 , , C k của cơ sở dữ liệu D với các tham số Eps i và MinPts i , (i
= 1, , k) Tập nhiễu [16] là tập các đối tượng thuộc D nhưng không thuộc bất kỳ
cụm C i nào Tức là nhiễu = {p D | ∀i: p ∉ Ci}
Hình 2.5: Đối tượng Nhiễu
Lưu ý rằng trong cụm C Eps và MinPts chứa ít nhất MinPts đối tượng bởi vì những lý do sau đây Khi C chứa ít nhất một đối tượng p, p phải là tới được theo mật độ đến chính nó thông qua một số đối tượng o (có thể bằng p) Như vậy, ít nhất
o phải đáp ứng các điều kiện đối tượng nhân và do đó, lân cận Eps của o phải chứa
ít nhất MinPts đối tượng
Bổ đề 1
Giả sử p là một đối tượng trong D và |N Eps (p)| ≥ MinPts, tập O = {o|o D và
o là tới được theo mật độ từ p thỏa Eps và MinPts} [16] là một cụm thỏa Eps và MinPts
Như vậy, cụm C không hoàn toàn là duy nhất, tuy nhiên, mỗi một đối tượng trong C tới được theo mật độ từ bất cứ một đối tượng nhân nào của C, vì vậy C
chứa đúng một số đối tượng kết nối theo mật độ với đối tượng nhân tuỳ ý
Trang 32Trong những định nghĩa và bổ đề trên, chúng ta đều thấy nói đến tham số Eps
và MinPts Vậy tham số này được xác định như thế nào? Sau đây, chúng tôi sẽ trình
bày cách xác định hai tham số này như sau
Tham số Eps và MinPts cho thuật toán DBSCAN có thể được xác định bằng tay hoặc thông qua thuật toán Heuristics [16] Thuật toán này xác định tham số Eps
và MinPts cho cụm có mật độ ít dày đặc nhất và dựa trên hai cách sau: Gọi d là khoảng cách giữa đối tượng p và đối tượng gần nhất thứ k thì vùng lân cận d của đối tượng p chứa k+1 đối tượng Thay đổi giá trị k không dẫn đến thay đổi lớn giá trị của d trừ khi k đối tượng này cùng nằm xấp xỉ trên một đường thẳng
Với giá trị k cho trước, hàm k-dist là khoảng cách từ một đối tượng đến đối tượng gần nhất thứ k Tạo đồ thị sorted k-dist bằng cách sắp xếp các đối tượng theo giá trị k-dist giảm dần Nếu chọn một đối tượng bất kỳ p, đặt tham số Eps là k-
dist(p) và MinPts là k, các đối tượng có khoảng cách với p nhỏ hơn hoặc bằng giá
trị k-dist sẽ thuộc về cụm tạo bởi đối tượng p
Nếu tìm được đối tượng ngưỡng với giá trị k-dist lớn nhất ở trong cụm nhỏ nhất của D, ta sẽ tìm được giá trị tham số mong muốn Đối tượng ngưỡng này là đối tượng đầu tiên trong vùng lõm đầu tiên của đồ thị sorted k-dist Tất cả các đối tượng với giá trị k-dist cao hơn được xem là nhiễu Các đối tượng còn lại sẽ thuộc về một
cụm nào đó
Tóm lại, tham số Eps và MinPts cho thuật toán DBSCAN có thể xác định như
sau: đầu tiên, hệ thống tính toán khoảng cách từ một đối tượng đến đối tượng gần
nhất thứ k Tiếp theo, nếu người dùng có thể ước tính số phần trăm nhiễu thì hệ
thống sẽ đề nghị đối tượng ngưỡng theo số phần trăm nhiễu do người dùng nhập vào Và cuối cùng, người dùng có thể chấp nhận đối tượng ngưỡng được đề nghị hoặc chọn đối tượng khác làm đối tượng ngưỡng
Thuật toán
Trong phần này, chúng tôi trình bày giải thuật DBSCAN [16] Giải thuật này được thiết kế để phát hiện ra các cụm và nhiễu trong cơ sở dữ liệu không gian đa chiều thỏa mãn định nghĩa 5 và định nghĩa 6 và được mô tả như sau Để thực hiện giải thuật này trước tiên, chúng ta phải biết các thông số Eps và MinPts thích hợp của mỗi cụm và ít nhất một đối tượng từ một cụm tương ứng Sau đó, chúng ta có thể lấy tất cả các đối tượng tới được theo mật độ từ các đối tượng trước bằng cách
sử dụng tham số chính xác Sau đây là các bước thực hiện của giải thuật này
Trang 33Giải thuật 2.2: Giải thuật phân cụm DBSCAN [16]
Đầu vào: Toàn bộ các đối tượng trong cơ sở dữ liệu và hai tham số Eps và MinPts Đầu ra: Các cụm dữ liệu đã được xử lý
Bước 1: Chọn một đối tượng p tuỳ ý
Bước 2: Lấy tất cả các đối tượng tới được theo mật độ từ p với Eps và MinPts Bước 3: Nếu p là đối tượng nhân thì tạo ra một cụm theo Eps và MinPts
Bước 4: Nếu p là một đối tượng biên, không có đối tượng nào là kết nối theo mật độ
từ p và DBSCAN sẽ đi tìm đối tượng tiếp theo của tập dữ liệu
Bước 5: Quá trình tiếp tục cho đến khi tất cả các đối tượng được xử lý
Thuật toán DBSCAN có thể tìm ra các cụm với hình thù bất kỳ, trong khi đó tại cùng một thời điểm ít bị ảnh hưởng bởi thứ tự của các đối tượng dữ liệu nhập vào Khi có một đối tượng được chèn vào chỉ tác động đến một láng giềng xác định
Mặt khác, DBSCAN yêu cầu người dùng xác định vùng lân cận Eps của các đối tượng và tham số tối thiểu MinPts, thông thường các tham số này được xác định
bằng phép chọn ngẫu nhiên hoặc theo kinh nghiệm
Trừ một số trường hợp ngoại lệ, kết quả của DBSCAN độc lập với thứ tự
duyệt của các đối tượng dữ liệu Khi tham số Eps được đưa vào là nhỏ so với kích
thước của không gian dữ liệu thì độ phức tạp tính toán trung bình của mỗi truy vấn
là O(n*logn) Sau đây, chúng tôi trình bày một số ưu điểm và hạn chế của thuật toán này như sau
Ưu điểm 11
Trái ngược với thuật toán k-means, thuật toán DBSCAN không đòi hỏi xác định số lượng các cụm dữ liệu ở đầu vào mà chỉ cần cung cấp hai tham số Eps và MinPts nhưng kết quả có thể tìm thấy các cụm có hình dạng tùy ý, thậm chí nó có thể tìm thấy một cụm bao quanh hoàn toàn bởi một cụm khác Đặc biệt, thuật toán này có tác dụng đáng kể trong việc xử lý nhiễu
Hạn chế 11
Thuật toán này không áp dụng được trên các cơ sở dữ liệu mà mật độ giữa các đối tượng dữ liệu giữa các cụm khác nhau có sự chênh lệch lớn Việc lựa chọn hai tham số Minpts và Eps không thích hợp có thể dẫn tới không phát hiện ra được cụm nào Và thời gian tính toán và dự đoán giá trị của thuật toán là rất lớn bởi vì nó phải tính toán lần lượt trên từng đối tượng dữ liệu
Trang 342.4.3 Thuật toán phân cụm phân cấp – HAC
Trong khai phá dữ liệu, phân cụm phân cấp12 là một phương pháp phân tích cụm để xây dựng nên một hệ thống các cụm Khác với phân cụm phân hoạch, phân cụm phân cấp không cần số cụm k ở đầu vào mà dùng ma trận khoảng cách làm tiêu chuẩn gom cụm Kỹ thuật phân cụm này xây dựng nguyên tắc phân loại dựa trên cây phân cấp (dendrogram) từ một tập hợp các tài liệu (mà không cần phải biết số lượng các cụm) Trong đó, các lá của cây biểu diễn từng đối tượng và các nút biểu diễn các cụm
Hình 2.6: Ví dụ về kỹ thuật phân cụm phân cấp
Một trong những đặc điểm hấp dẫn của kỹ thuật phân cụm phân cấp là chúng liên quan đến một nguyên tắc phân loại phổ biến trong ngành sinh học như giới, hệ, chi, loài, … Một tính năng hấp dẫn nữa của kỹ thuật phân cụm này là không cần biết trước số lượng các cụm Thay vào đó, bất kỳ số lượng mong muốn của cụm có thể thu được bằng cách “cắt” cây phân cụm ở mức thích hợp Trong kỹ thuật phân cụm phân cấp có hai phương pháp chính đó là: phương pháp bottom – up và phương pháp top - down
: Phương pháp này bắt đầu với mỗi đối tượng được khởi tạo tương ứng với các cụm riêng biệt, sau đó tiến hành gom các đối tượng theo một độ đo tương tự (như khoảng cách giữa hai trung tâm của hai cụm), quá trình này được thực hiện cho đến khi tất cả các cụm được gom vào một cụm (mức cao nhất của cây phân cấp) hoặc cho đến khi thỏa mãn các điều kiện dừng
: Bắt đầu từ cụm lớn nhất chứa tất cả các đối tượng Chia cụm không tương tự nhau nhất thành các cụm nhỏ hơn và tiếp diễn cho đến khi có n cụm thoả mãn điều kiện dừng
12
http://en.wikipedia.org/wiki/Hierarchical_clustering