BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM
------------------------
MAI THẾ PHÚC
BẢO VỆ TÍNH RIÊNG TƢ TRONG KHAI THÁC
LUẬT KẾT HỢP TỪ CƠ SỞ DỮ LIỆU ĐƢỢC
THUÊ NGOÀI
LUẬN VĂN THẠC SĨ
Chuyên ngành: Công Nghệ Thông Tin
Mã ngành: 60480201
TP. HỒ CHÍ MINH, tháng 06 năm 2016
CÔNG TRÌNH ĐƢỢC HOÀN THÀNH TẠI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM
Cán bộ hƣớng dẫn khoa học:
PGS.TS. Võ Đình Bảy
Luận văn Thạc sĩ đƣợc bảo vệ tại Trƣờng Đại học Công nghệ TP. HCM ngày 10
tháng 09 năm 2016.
Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:
Họ và Tên
TT
Chức danh Hội đồng
1
PGS.TS Quản Thành Thơ
Chủ tịch
2
TS. Trần Đức Khánh
Phản biện 1
3
TS. Nguyễn Thị Thúy Loan
Phản biện 2
4
TS. Lƣ Nhật Vinh
5
TS. Phạm Thị Thiết
Ủy viên
Ủy viên, Thƣ ký
Xác nhận của Chủ tịch Hội đồng đánh giá Luận văn sau khi Luận văn đã sửa
chữa (nếu có).
Chủ tịch Hội đồng đánh giá LV
PGS. TS Quản Thành Thơ
TRƢỜNG ĐH CÔNG NGHỆ TP. HCM
CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM
PHÒNG QLKH – ĐTSĐH
Độc lập – Tự do – Hạnh phúc
TP. HCM, ngày 30 tháng 06 năm 2016
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: MAI THẾ PHÖC
Giới tính: Nam
Ngày, tháng, năm sinh: 10/02/1979
Nơi sinh: Thanh Hoá
Chuyên ngành: Công nghệ thông tin
MSHV: 1441860051
I- Tên đề tài:
BẢO VỆ TÍNH RIÊNG TƢ TRONG KHAI THÁC LUẬT KẾT HỢP TỪ CƠ SỞ
DỮ LIỆU ĐƢỢC THUÊ NGOÀI
II- Nhiệm vụ và nội dung:
-
Tìm hiểu về bảo toàn tính riêng tƣ trong khai thác dữ liệu giao dịch.
-
Tìm hiểu về kỹ thuật mã hoá, giải mã trong khuôn khổ bảo toàn tính
riêng tƣ trong CSDL thuê ngoài
-
Xây dựng chƣơng trình mô phỏng với k-privacy thích hợp
III- Ngày giao nhiệm vụ: 23/01/2016
IV- Ngày hoàn thành nhiệm vụ: 23/06/2016
V- Cán bộ hƣớng dẫn: PGS.TS. VÕ ĐÌNH BẢY
CÁN BỘ HƢỚNG DẪN
PGS.TS Võ Đình Bảy
KHOA QUẢN LÝ CHUYÊN NGÀNH
i
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả
nêu trong Luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất kỳ công trình
nào khác.
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này
cũng nhƣ các trích dẫn hay tài liệu học thuật tham khảo đã đƣợc cảm ơn đến tác giả và
các thông tin trích dẫn trong Luận văn đã đƣợc chỉ rõ nguồn gốc.
Học viên thực hiện Luận văn
Mai Thế Phúc
ii
LỜI CÁM ƠN
Trƣớc hết, cho tôi đƣợc gửi lời cảm ơn đến sự hƣớng dẫn và giúp đỡ tận tình
của PGS.TS Võ Đình Bảy.
Xin cảm ơn các Thầy/Cô, Khoa CNTT Đại Học Công Nghệ TP. HCM đã
giúp đỡ và cung cấp cho tôi những kiến thức quý giá trong suốt thời gian học tập
và nghiên cứu thực hiện luận văn.
Tôi cũng xin gởi lời cảm ơn đến gia đình, bạn bè và những ngƣời thân đã
luôn quan tâm và giúp đỡ tôi trong suốt thời gian học tập và nghiên cứu hoàn thành
luận văn này.
Luận văn không thể tránh khỏi những sai sót, rất mong nhận đƣợc ý kiến
đóng góp của mọi ngƣời cho luận văn đƣợc hoàn thiện hơn.
Tôi xin chân thành cảm ơn.
TP. Hồ Chí Minh, ngày 30 tháng 06 năm 2016
Mai Thế Phúc
iii
TÓM TẮT
Trong khai thác dữ liệu, khai thác và bảo vệ tính riêng tƣ từ cơ sở dữ liệu bên
ngoài là một hƣớng nghiên cứu mới. Với sự bùng nổ của dữ liệu và điện toán đám mây
hiện nay, thách thức đối với khoa học này ngày càng tăng.
Ví dụ, một công ty (chủ sở hữu dữ liệu) thiếu chuyên môn hay nguồn lực
tính toán có thể thuê ngoài bên thứ ba (máy chủ) khai thác dữ liệu của mình. Tuy nhiên,
cả các mặt hàng và các luật kết hợp của các cơ sở dữ liệu bên ngoài đƣợc coi là tài sản
riêng của công ty (chủ sở hữu dữ liệu). Để bảo vệ sự riêng tƣ của công ty, chủ sở hữu dữ
liệu biến đổi dữ liệu và các mối liên hệ của nó đến máy chủ, gửi truy vấn khai thác đến
máy chủ, và phục hồi các mô hình thực sự từ các mô hình trích đƣợc từ máy chủ.
Nghiên cứu trong luận văn này tập trung vào nghiên cứu các thuật toán mã
hóa và giải mã của một mô hình sở hữu dữ liệu thuê ngoài, chẳng hạn là một siêu thị
cung cấp dữ liệu cho một đơn vị làm dịch vụ gia công khai thác dữ liệu để nhận về các
luật kết hợp từ đơn vị đó.Với yêu cầu phải bảo toàn tính riêng tƣ của dữ liệu, nghĩa là sẽ
không tiết lộ dữ liệu bán hàng cũng nhƣ thông tin có đƣợc từ việc phân tích khai thác dữ
liệu này.
iv
ABSTRACT
In data mining, the exploitation and preserve privacy from external databases is a
new research direction. With the explosion of data and cloud computing today, the
challenge for this science growing. For example, a company (data owner) lacking in
expertise or computational resources can outsource its mining needs to a third party
service provider (server). However, both the items and the association rules of the
outsourced database are considered private property of the corporation (data owner). To
protect corporate privacy, the data owner transforms its data and ships it to the server,
sends mining queries to the server, and recovers the true patterns from the extracted
patterns received from the server.
Research in this thesis focuses on the study of algorithms of encryption and
decryption a data model outside ownership, for example, a supermarket, providing data to a
mining company service of data to get the association rules from that supermarket. With the
request to preserve the privacy of the data, ie will not disclose sales data as well as
information obtained from the analysis of this data mining
.
v
MỤC LỤC
LỜI CAM ĐOAN ..................................................................................................... i
TÓM TẮT
........................................................................................................... iii
PHẦN MỞ ĐẦU .......................................................................................................1
MỤC TIÊU CỦA ĐỀ TÀI: .......................................................................................1
NỘI DUNG NGHIÊN CỨU: ....................................................................................2
PHƢƠNG PHÁP NGHIÊN CỨU ............................................................................2
CHƢƠNG 1 :TỔNG QUAN VỀ KHAI THÁC DỮ LIỆU .....................................4
1.1
GIỚI THIỆU ĐỀ TÀI ....................................................................................4
1.2
KHAI THÁC TẬP PHỔ BIẾN VÀ LUẬT KẾT HỢP ...................................6
1.3
1.2.1
Một số khái niệm ..................................................................................6
1.2.2
Khai thác tập phổ biến, luật kết hợp ....................................................8
BẢO TOÀN TÍNH RIÊNG TƢ TRONG KHAI THÁC DỮ LIỆU ..............15
1.3.1
Phân loại các phương pháp PPDM ...................................................17
2.3.2 Đánh giá thuật toán PPDM ...................................................................18
2.3.2.1 Dựa vào hiệu năng ..........................................................................19
2.3.2.2 Dựa vào tính hữu dụng của dữ liệu .................................................19
2.3.2.3 Dựa vào mức độ không tin chắc .....................................................19
2.3.2.4 Dựa vào độ chịu đựng .....................................................................20
CHƢƠNG 2 :CÁC THUẬT TOÁN BẢO TOÀN TÍNH RIÊNG TƢ ...................21
2.1
CHỈNH SỬA DỮ LIỆU TRONG CSDL NHỊ PHÂN ..................................21
2.2
THAY GIÁ TRỊ DỮ LIỆU THẬT BẰNG GIÁ TRỊ KHÔNG XÁC ĐỊNH 25
2.3
ẨN TẬP MỤC NHẠY CẢM .......................................................................29
2.4 THUẬT TOÁN ẨN TẬP MỤC NHẠY CẢM ...............................................................31
CHƢƠNG 3 KỸ THUẬT MÃ HÓA VÀ GIẢI MÃ DỮ LIỆU .............................36
vi
3.1
3.2
CÁC NGHIÊN CỨU LIÊN QUAN ..............................................................36
3.1.1
Đặt vấn đề ..........................................................................................36
3.1.2
Một số nghiên cứu liên quan ..............................................................38
MÃ HÓA VÀ GIẢI MÃ DỮ LIỆU THUÊ NGOÀI .....................................40
3.2.1
Dữ liệu khai thác ................................................................................40
3.2.2
Mô hình bảo mật ................................................................................41
3.2.3
Kiến thức của đối thủ .........................................................................42
3.2.4
Mô hình tấn công ...............................................................................42
3.2.5
Mã hóa và giải mã .............................................................................44
CHƢƠNG 4 KẾT QUẢ CHƢƠNG TRÌNH THỰC NGHIỆM ............................54
4.1
MÔI TRƢỜNG THỰC NGHIỆM................................................................54
4.2
KẾT QUẢ THỰC NGHIỆM ........................................................................55
4.2.1 SỐ GIAO DỊCH GIẢ .........................................................................................55
4.2.2 THỜI GIAN MÃ HÓA .......................................................................................59
4.3
ĐÁNH GIÁ ..................................................................................................62
CHƢƠNG 5 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ........................................64
5.1
ƢU ĐIỂM .....................................................................................................64
5.2
HẠN CHẾ ....................................................................................................65
5.3
HƢỚNG PHÁT TRIỂN ...............................................................................65
TÀI LIỆU THAM KHẢO ..................................................................................... 66
vii
DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt
CSDL
DB
Ý nghĩa
Cơ sở dữ liệu
Cơ sở dữ liệu (DataBase)
TDB
Cơ sở dữ liệu giao dịch (Transaction DataBase)
Conf
Độ đo tin cậy (Confidence)
Supp
Độ đo hỗ trợ (Support)
SM
Khoảng độ đo an toàn (Safety margin)
SMC
SMPM
Bảo mật tính toán đa thành phần (Secure Multiparty Computation)
Khai thác nhiều bên trên các bộ dữ liệu phân tán (Secure Multiparty
Privatecy Mining)
MCT
Ngƣỡng tin cậy tối thiểu (MinConf)
MST
Ngƣỡng hỗ trợ tối thiểu (MinSupp)
PPDM
Khai thác dữ liệu đảm bảo tính riêng tƣ (Privacy Preserving Data
Mining)
PPDP
Công bố dữ liệu bảo mật tính riêng tƣ (Prevacy Preserving Data
Publishing)
PPPP
Công bố mô hình bảo mật tính riêng tƣ (Prevacy Preserving Patern
Publishing)
viii
DANH MỤC CÁC BẢNG
Bảng 1.1 Cơ sở dữ liệu giao dịch ....................................................................................... 7
Bảng 1.2 CSDL y tế .......................................................................................................... 15
Bảng 2.1 Bảng so sánh bốn thuật toán 1a, 1b, 2a, 2b ..................................................... 25
Bảng 2.2 CSDL giao tác gốc D ........................................................................................ 29
Bảng 2.3 CSDL giao tác mô tả quá trình ẩn AB ............................................................. 30
Bảng 2.4 Sửa giá trị của E trong các bộ chứa ADE ........................................................ 33
Bảng 2.5 Sửa giá trị của E trong các bộ chứa ABE ........................................................ 34
Bảng 3.1 CSDL giao dịch, độ hỗ trợ các mặt hàng ......................................................... 40
Bảng 3.2 TDB và độ hỗ trợ ............................................................................................. 47
Bảng 3.3 Gom nhóm với Frugal với k=2 ....................................................................................48
Bảng 3.4 Gom nhóm với Frugal với k=2 ....................................................................................48
Bảng 3.5 Bảng nhiễu ......................................................................................................... 50
Bảng 3.6 Giao dịch giả ...................................................................................................... 51
Bảng 3.7 Bảng băm ........................................................................................................... 52
Bảng 4.1 Cơ sở dữ liệu thực nghiệm ................................................................................ 54
Bảng 4.2 Tổng hợp giao dịch giả...................................................................................... 55
Bảng 4.3 Thời gian thực thi RobFrugal ........................................................................... 59
ix
DANH MỤC CÁC HÌNH
Hình 1.1 Thuật toán Apriori.............................................................................................. 10
Hình 1.2 Thuật toán khai thác luật kết hợp ...................................................................... 14
Hình 2.1 Thuật toán 1a ...................................................................................................... 22
Hình 2.2 Thuật toán 1b ...................................................................................................... 23
Hình 2.3 Thuật toán 2a ...................................................................................................... 24
Hình 2.4 Thuật toán 2b ...................................................................................................... 24
Hình 3.1 Cấu trúc của mô hình dịch vụ khai thác ......................................................... 38
Hình 3.2 Lƣợc đồ mã hóa và giải mã ............................................................................... 58
1
PHẦN MỞ ĐẦU
Lý do chọn đề tài
Cùng với sự phát triển ngày càng mạnh mẽ của ngành công nghệ thông tin, mà nổi
bật là sự phát triển của internet, điện toán đám mây các dịch vụ khai thác dữ liệu thuê
ngoài (Outsourced) cũng đƣợc phát triển nhƣ một dịch vụ hình mẫu, cho phép các tổ chức
có nguồn lực hạn chế tính toán hoặc khai thác dữ liệu có thể thuê bên ngoài khai thác dữ
liệu của họ [4][17][13]. Ví dụ, các dữ liệu hoạt động giao dịch từ những cửa hàng khác
nhau của Safeway, một chuỗi cửa hàng hoạt động tại Mỹ và Canada, có thể đƣợc chuyển
đến một bên thứ ba cung cấp dịch vụ khai thác cho Safeway. Việc quản lý Safeway không
cần phải sử dụng một đội ngũ các chuyên gia khai thác dữ liệu. Bên cạnh đó, họ có thể cắt
giảm yêu cầu quản lý dữ liệu cục bộ, vì theo định kỳ dữ liệu đƣợc chuyển đến các nhà
cung cấp dịch vụ và những ngƣời có trách nhiệm duy trì sẽ tiến hành khai thác nó để đáp
ứng các yêu cầu từ các nhà phân tích kinh doanh của Safeway. Trong ví dụ này, Safeway
là một chủ sở hữu dữ liệu, là một khách hàng (client) và cung cấp dịch vụ đƣợc gọi là nhà
cung cấp dịch vụ (server). Một trong những vấn đề chính của mô hình này là các server có
quyền truy cập vào dữ liệu có giá trị của client và có thể tìm hiểu các thông tin từ nó bằng
cách nhìn vào các giao dịch, server có thể tìm hiểu các dữ liệu nhạy cảm mà bên client
không muốn công khai (đơn vị hợp tác, lƣợt khách,...).
Để thực hiện việc chia sẻ dữ liệu cho đối tác khai thác, đồng thời bảo vệ đƣợc tính
riêng tƣ trong cơ sở dữ liệu, đề tài này nghiên cứu về việc khai thác luật kết hợp trong
khuôn khổ bảo vệ tính riêng tư từ dữ liệu giao dịch được thuê ngoài
Mục tiêu của đề tài:
Từ những đòi hỏi ngày càng gắt gao của môi trƣờng kinh doanh, yêu cầu doanh
nghiệp phải năng động chia sẻ thông tin của mình cho nhiều đối tƣợng khác nhau. Chẳng
hạn công ty thuê bên ngoài khai thác dữ liệu để định hƣớng chiến lƣợc kinh doanh của
mình..., vì vậy mà việc bảo vệ thông tin là rất quan trọng của công ty, Hầu hết các doanh
2
nghiệp ngày nay đều sử dụng các hệ quản trị cơ sở dữ liệu [2] để lƣu trữ tập trung tất cả
các thông tin quý giá của mình. Hiển nhiên hệ thống sẽ là tiêu điểm tấn công của những
kẻ xấu. Ở mức độ nhẹ, các cuộc tấn công sẽ làm hệ thống CSDL bị hỏng hóc, hoạt động
không ổn định, mất mát dữ liệu làm cho các giao dịch hàng ngày của doanh nghiệp bị
đình trệ. Nghiêm trọng hơn, các thông tin sống còn của doanh nghiệp bị tiết lộ (nhƣ chiến
lƣợc kinh doanh, các thông tin về khách hàng, nhà cung cấp, tài chánh, mức lƣơng nhân
viên,…) và đƣợc đem bán cho các doanh nghiệp đối thủ. Có thể nói là thiệt hại của việc
thông tin bị rò rỉ là vô cùng lớn.
Từ những lý do này, Luận văn nghiên cứu một kỹ thuật mã hóa có thể biến đổi cơ
sở dữ liệu ban đầu D thành D* [4] và gởi CSDL đã mã hoá này cho bên ngoài khai thác
nhằm bảo toàn tính riêng tƣ cho cơ sở dữ liệu của doanh nghiệp. Sự bảo vệ này có nghĩa
là kẻ tấn công có một xác suất rất hạn chế trong việc dự đoán các mặt hàng thực tế trong
dữ liệu bán hàng hoặc trong các kết quả khai thác dữ liệu; ngƣợc lại, chủ sở hữu dữ liệu
có thể giải mã một cách hiệu quả các kết quả khai thác và việc mã hóa cơ sở dữ liệu ban
đầu có thể đƣợc thực hiện một cách hiệu quả.
Nội dung nghiên cứu:
Đề tài này nghiên cứu các nội dung chính sau:
-
Tìm hiểu về bảo toàn tính riêng tƣ trong khai thác dữ liệu giao dịch.
-
Tìm hiểu về kỹ thuật mã hoá, giải mã trong khuôn khổ bảo toàn tính riêng
tƣ trong CSDL thuê ngoài [4]
-
Xây dựng chƣơng trình mô phỏng với k-private thích hợp
Phƣơng pháp nghiên cứu
-
Tiến hành thu thập và đọc các tài liệu có liên quan đến đề tài
-
Tìm tài liệu bởi các từ khoá ―Privatecy-Preserving‖ , ―Mining‖+ ―Association
rules‖ + ―Outsoured‖
-
Nghiên cứu tổng quan về cơ sở dữ liệu giao dịch.
-
Nghiên cứu mô hình mã hóa và giải mã Encription/Decription
3
-
Xây dựng chƣơng trình và đánh giá kết quả đạt đƣợc.
Bố cục luận văn
Luận văn đƣợc tổ chức thành năm chƣơng:
Chƣơng 1: Trình bày tổng quan về khai thác dữ liệu và bảo toàn tính riêng tƣ.
Chƣơng 2: Trình bày lý thuyết và các thuật toán bảo toàn tính riêng tƣ.
Chƣơng 3: Trình bày lý thuyết, thuật toán và các ví dụ minh họa thuật toán mã hóa
và giải mã dữ liệu sử dụng cho dữ liệu ngoài.
Chƣơng 4: Kết quả chƣơng trình thực nghiệm.
Chƣơng 5: Kết luận và hƣớng phát triển
4
CHƢƠNG 1
TỔNG QUAN VỀ KHAI THÁC DỮ LIỆU
BẢO TOÀN TÍNH RIÊNG TƢ
1.1 GIỚI THIỆU ĐỀ TÀI
Sự phát triển mạnh mẽ của mạng internet hiện nay dẫn đến sự bùng nổ của thông
tin, tri thức và với khối lƣợng dữ liệu ngày càng lớn đã thúc đẩy một lĩnh vực nghiên cứu
đầy tiềm năng là khai thác tri thức và khai thác dữ liệu. Chúng ta đang bị ngập trong khối
dữ liệu khổng lồ nhƣng những dữ liệu thật sự có giá trị thì rất nhỏ. Vì vậy, việc khai thác
dữ liệu là quá trình giúp chúng ta có đƣợc những dữ liệu có giá trị từ khối dữ liệu khổng
lồ đó.
Chẳng hạn tại một siêu thị, qua quá trình khai thác dữ liệu ngƣời ta phát hiện ra
rằng, nếu một ngƣời mua một thùng bia thì thƣờng mua thêm một kilogram khô mực, hay
một ngƣời mua kem đánh răng thì thƣờng mua thêm bàn chải đánh răng và khăn mặt…
Từ những khai thác dữ liệu đơn giản đó có thể giúp siêu thị đó kinh doanh tốt hơn.
Một ví dụ khác về ngành y học, ngƣời ta để ý rằng, một số bệnh chỉ xảy ra ở một
số vùng trên trái đất hoặc khi một nhóm ngƣời đã mắc một số bệnh thì những ngƣời này
thƣờng mắc thêm một số bệnh giống nhau nữa… Điều này giúp cho ngành y tế có thể
chuẩn bị một số bệnh lạ ở các vùng có địa lý, khí hậu giống nhau hay phòng một số bệnh
cho những ngƣời đã mắc những bệnh theo quy luật trƣớc đó.
Nhiều quốc gia khác nhau cũng có thể liên kết, chia sẻ dữ liệu với nhau để từ đó
suy ra các quy luật của bọn tội phạm, khủng bố nhằm hỗ trợ việc truy bắt chúng và ngăn
ngừa các cuộc khủng bố đẫm máu có thể sảy ra.
Nhƣ vậy, khai thác dữ liệu mà cụ thể là khai thác luật kết hợp là một nhiệm vụ
khai thác dữ liệu cơ bản, rất có lợi cho nhiều đơn vị, tổ chức và các quốc gia trên thế giới.
5
Tuy nhiên, việc khai thác này khó có thể tiến hành ở một đơn vị hay một tổ chức khi yêu
cầu chia sẻ dữ liệu xuất hiện giữa nhiều bên hay khi nhu cầu khai thác dữ liệu thuê cho
nhà cung cấp dịch vụ của bên thứ ba. Ví dụ, dữ liệu về hoạt động giao dịch của các gian
hàng khác nhau trong một chuỗi siêu thị có thể đƣợc gửi đến cho bên thứ ba cung cấp
dịch vụ khai thác dữ liệu. Việc quản lý siêu thị không cần đến một đội ngũ các chuyên
gia khai thác dữ liệu nội bộ. Bên cạnh đó, họ có thể cắt giảm các yêu cầu về quản lý dữ
liệu nội bộ bởi vì các dữ liệu sẽ đƣợc định kỳ chuyển đến cho ngƣời cung cấp dịch vụ là
ngƣời phụ trách việc duy trì các dịch vụ này và tiến hành khai thác nhằm đáp ứng yêu cầu
từ các nhà phân tích kinh doanh của chuỗi siêu thị. Dự kiến rằng mô hình ―dịch vụ khai
thác và quản lý dữ liệu‖ sẽ phát triển với sự ra đời và phổ biến của điện toán đám mây.
Trong ví dụ trên chuỗi siêu thị, khách hàng là chủ sở hữu dữ liệu và nhà cung cấp
dịch vụ đƣợc gọi là máy chủ. Một trong những vấn đề chính của mô hình này là máy chủ
có quyền truy cập vào các dữ liệu có giá trị của chủ sở hữu và có thể biết hoặc tiết lộ
thông tin nhạy cảm của họ, hoặc khi nhìn vào các giao dịch, máy chủ (hoặc một kẻ xâm
nhập có quyền truy cập vào máy chủ) có thể biết sản phẩm (mặt hàng) nào đã đƣợc mua
cùng nhau, và đến lƣợt mình, các mô hình khai thác mô tả hành vi của khách hàng trong
siêu thị. Trong trƣờng hợp này, các giao dịch mua bán và mô hình đƣợc khai thác và tất
cả các thông tin có thể lấy từ dữ liệu đều là tài sản của siêu thị và phải đƣợc giữ an toàn
khỏi máy chủ và bất cứ kẻ xâm nhập nào khác. Thực sự là các thông tin lấy từ dữ liệu có
thể đƣợc các siêu thị sử dụng trong các quyết định tiếp thị quan trọng nhằm cải thiện dịch
vụ của họ.
Vấn đề về bảo toàn thông tin cho các bên tham gia khai thác hay bên cung cấp dữ
liệu cho dịch vụ khai thác là một vấn đề rất quan trọng và là đề tài nghiên cứu chính của
luận văn này.
6
1.2 KHAI THÁC TẬP PHỔ BIẾN VÀ LUẬT KẾT HỢP
1.2.1 Một số khái niệm
Khi dữ liệu đƣợc tổ chức theo một cấu trúc, đƣợc xử lý và mang đến cho con
ngƣời những ý nghĩa, những hiểu biết nào đó thì khi đó nó trở thành thông tin có giá trị.
Một số ngƣời có thể quan niệm thông tin là quan hệ giữa các dữ liệu. Các dữ liệu đƣợc
sắp xếp theo một thứ tự hoặc đƣợc tập hợp lại theo một ràng buộc nào đó sẽ chứa đựng
thông tin. Nếu những ràng buộc dữ liệu này đƣợc chỉ ra một cách rõ ràng, có ý nghĩa thì
đó là các tri thức.
Tri thức: Là các thông tin đƣợc tích hợp, bao gồm các sự kiện và mối quan hệ
giữa chúng, đã đƣợc nhận thức, khám phá, hoặc nghiên cứu. Tri thức có thể
đƣợc xem nhƣ là dữ liệu trừu tƣợng và tổng quát ở mức độ cao.
Khám phá tri thức: Là quá trình rút trích ra các tri thức chƣa đƣợc nhận ra,
tiềm ẩn trong các tập dữ liệu lớn một cách tự động. Khám phá tri thức hay phát
hiện tri thức trong cơ sở dữ liệu là một quá trình gồm một loạt các bƣớc phân
tích dữ liệu nhằm rút ra đƣợc các thông tin có ích, xác định đƣợc các giá trị,
quy luật tiềm ẩn trong các khuôn mẫu hay mô hình dữ liệu.
Khai thác dữ liệu: Là một bƣớc trong quá trình khám phá tri thức, gồm các
thuật toán khai thác dữ liệu chuyên dùng với một số quy định về hiệu quả tính
toán chấp nhận đƣợc để tìm ra các mẫu, các mô hình dữ liệu hoặc các thông
tin có ích. Nói cách khác, mục tiêu của khai thác dữ liệu là rút trích ra những
thông tin có giá trị tồn tại trong CSDL nhƣng ẩn trong khối lƣợng lớn dữ liệu.
Dữ liệu giao dịch: Cho I = {i1, i2, …, in} là tập tất cả các mục dữ
liệu (mặt hàng). T = {t1, t2, …, tm} là tập tất cả các giao dịch trong
CSDL giao dịch D. CSDL đƣợc cho là quan hệ hai ngôi I T. Nếu
mục iI xảy ra trong giao dịch tT thì ta viết là (i, t) , kí hiệu i
t.
7
Tập phổ biến (kí hiệu FI): XI đƣợc gọi là phổ biến nếu (X) minSupp (với
minSupp là giá trị do ngƣời dùng chỉ định).
Luật kết hợp: Một luật kết hợp có dạng AB, với A I, B I và A B =
Ø. Luật AB ngầm chứa trong D với độ đo Supp s, trong đó s là tỷ lệ các
giao dịch trong D chứa A B, đƣợc diễn tả bằng xác suất P(A B). Luật
AB có độ đo Conf c trong tập D, thì c là tỷ lệ giữa các giao dịch trong D
chứa A thì chứa luôn B, đƣợc diễn tả bằng xác suất P(B/A).
Để minh họa cho các khái niệm trên, ta lấy ví dụ CSDL với các giao dịch sau.
Bảng 1.1. Cơ sở dữ liệu giao dịch
Mã giao dịch
Giao dịch
(Tid)
(Transaction)
1
A, B, C, D, E
2
C, D, E
3
A, C, B, D
4
A, C, D, E
5
A, C, D, B, E
6
C, D, B
Hạng mục (item): mặt hàng A = apple, B = bread, C = cereal, D = donuts, E =
eggs.
Tập các hạng mục (itemset): danh sách các hạng mục trong giỏ hàng nhƣ
{A, B, C, D, E}.
Giao dịch (Transaction): tập các hạng mục đƣợc mua trong một giỏ hàng,
lƣu kèm với mã giao dịch (TID).
8
Tập k-hạng mục (k-itemset): Ví dụ danh sách sản phẩm đơn (1-itemset)
nhƣ {A, B, C}, danh sách cặp sản phẩm đi kèm (2-itemset) nhƣ {{A,B},{A,C}},
danh sách 3 sản phẩm đi kèm (3-itemset) nhƣ {{A,B, C},{B, C, E}}.
Độ hỗ trợ: đƣợc kí hiệu (X), hay Supp(X) đƣợc tính bằng công thức:
Supp(X)=Count(X)/|D| , trong đó: X I
Tính chất của tập phổ biến:
- Mọi tập con của tập phổ biến cũng là tập phổ biến: Nghĩa là, Nếu X phổ biến
thì mọi YX cũng phổ biến.
- Mọi tập cha của tập không phổ biến cũng không phổ biến: Nghĩa là, nếu X
không phổ biến thì mọi Y (XY) cũng không phổ biến
1.2.2 Khai thác tập phổ biến, luật kết hợp
Phát biểu bài toán:
Cho một tập các mục I, một cơ sở dữ liệu giao dịch D, ngƣỡng hỗ trợ minSupp,
ngƣỡng tin cậy minConf. Tìm tất cả các luật kết hợp XY trên CSDL D sao cho: Supp(X
Y) ≥ minSupp và conf(XY) ≥ minConf. Bài toán khai thác luật kết hợp có thể đƣợc
chia ra làm 2 bài toán con đƣợc phát biểu trong thuật toán sau:
Nội dung thuật toán
Vào: I, D, minSupp, minConf
Ra: Các luật kết hợp thỏa mãn minSupp và minConf
Phƣơng thức:
(1)
Tìm tất cả các tập mục phổ biến từ CSDL D nghĩa là tìm tất cả các tập
mục có độ hỗ trợ lớn hơn hoặc bằng minSupp.
(2)
Sinh ra các luật từ các tập mục phổ biến sao cho độ tin cậy của luật lớn
hơn hoặc bằng minConf.
9
Apriori là thuật toán khai thác tập kết hợp và từ đó có thể khai thác luật kết hợp do
RaKesh Agrawal, Ramakrishnan Srikant đƣa ra vào năm 1994, là nền tảng cho việc phát
triển những thuật toán sau này. Thuật toán sinh tập mục ứng cử từ những tập mục phổ
biến ở bƣớc trƣớc, sử dụng kĩ thuật ―tỉa‖ để bỏ đi tập mục ứng cử không thỏa mãn
ngƣỡng hỗ trợ cho trƣớc.
Thuật toán Apriori
Input: Tập các giao dịch D, ngưỡng hỗ trợ minSupp
Output: Tập F
bao gồm các tập mục phổ biến trên D
Method:
L1 = find_frequent_1-itemset(D);
for (k = 2; Lk-1 ≠ ; k++)
{Ck = Apriori_gen(Lk-1);// sinh tập mục ứng cử mới Ck;
For each giao tác t ∈ D
{//Quét D để đếm
Ct = subset(Ck, t);// các ứng viên chứa trong t;
For each Cứng viên
ci ∈ C t
ci.count ++ ;
}
Lk = {ci ∈ Ck|ci.count ≥ minSupp}
}
Return L=
k
Lk ;
10
Procedure apriori_gen(Lk-1:tập (k-1) item phổ biến)
for each tập item l1 Lk-1
for each tập item l2 Lk-1
if (l1[1] = l2[1]) (l1[2] = l2[2]) … (l1[k-2] = l2[k-2])
(l1[k-1] < l2[k-1]) then {
c = l1 kết l2; // bước kết: phát sinh các ứng viên
if
has_infrequent_subset(c, Lk-1) then
delete c; // loại bỏ các ứng viên không đạt
else add c to Ck;
}
return Ck;
//-------------------------------------------------------procedure has_infrequent_subset(c: ứng viên tập k item;
Lk-1: các tập (k-1) item phổ biến);// sử dụng kiến thức trước
for each tập con (k-1) s of c
if s Lk-1 then
return TRUE;
return FALSE;
Hình 1.1 Thuật toán Apriori
Trong thuật toán này giai đoạn đầu đơn giản chỉ là việc tính độ hỗ trợ của các mục.
Để xác định L1, ta chỉ giữ lại các mục có độ hỗ trợ lớn hơn hoặc bằng minSupp.
Trong các giai đoạn thứ k sau đó (k >1), mỗi giai đoạn gồm có 2 pha:
11
Pha thứ 1: Các (k-1)-itemset phổ biến trong tập Lk-1 tìm đƣợc trong giai đoạn
thứ k-1 đƣợc dùng để sinh ra các tập mục ứng cử Ck bằng cách thực hiện hàm
apriori_gen().
Pha thứ 2: CSDL D sẽ đƣợc quét để tính độ hỗ trợ cho mỗi tập mục ứng cử trong
Ck. Các tập mục ứng cử trong Ck mà đƣợc chứa trong giao dịch t có thể đƣợc xác định
một cách hiệu quả bằng việc sử dụng cây băm.
Hàm apriori_gen() thực hiện hai bƣớc:
Bƣớc 1- Kết nối: Để tìm Lk, một tập ứng viên các tập k item đƣợc sinh bởi việc
kết Lk-1 với chính nó. Tập các ứng viên này đƣợc đặt là Ck. Gọi l1 và l2 là các tập item
trong Lk-1. Ký hiệu li[j] chỉ tới item thứ j trong li (chẳng hạn, l1[k–2] chỉ tới item
cuối thứ 2 trong l1). Với quy ƣớc, Apriori giả sử các item trong một giao tác hay tập item
đã đƣợc sắp xếp theo thứ tự từ điển. Đối với tập (k–1) item, li nghĩa là các item đƣợc
sắp xếp thành li[1]
hiện, với các phần tử của Lk-1 là khả kết nếu (k–2) items đầu tiên của chúng là chung.
Do vậy, các phần tử l1 và l2 của Lk-1 đƣợc kết nếu (l1[1] = l2[1])
(l1[2]
= l2[2]) … (l1[k–2] = l2[k–2]) (l1[k–1]
kiện l1[k–1]
sinh. Tập item tạo ra bởi việc kết l1 và l2 là l1[1], l1[2] , … , l1[k-2],
l2[k-1].
Bƣớc 2 - Cắt tỉa: Ck là tập cha của Lk, do đó, những phần tử của nó có thể hoặc
không thể phổ biến, nhƣng tất cả các tập k item phổ biến thuộc Ck. Việc quét cơ sở dữ
liệu để xác định số lƣợng của mỗi ứng viên trong Ck sẽ cho kết quả trong việc xác định
của Lk (chẳng hạn, tất cả ứng viên có số lƣợng không nhỏ hơn độ hỗ trợ tối thiểu là phổ
biến theo định nghĩa, và do đó thuộc về Lk). Tuy nhiên, Ck có thể khổng lồ, và nó có thể
đòi hỏi việc tính toán cực nhọc.
Để giảm kích thƣớc của Ck, tính chất Apriori đƣợc sử dụng nhƣ sau. Vài tập (k–1)
12
items là không phổ biến thì không thể là tập con của một tập k items phổ biến. Sau đó,
nếu vài tập con (k–1) items của ứng viên tập k items không thuộc Lk-1, thì ứng viên
cũng không thể là phổ biến và có thể loại bỏ khỏi Ck. Việc kiểm tra tập con này có thể
hoàn thành một cách nhanh chóng bằng cách giữ một cây băm (hash tree) của tất cả các
tập item phổ biến.
Ví dụ 1.1: Giả sử ta có có sở dữ liệu giao dịch nhƣ trong bảng 1.1, với minSupp
là 50% (=3 items). Các bƣớc thực hiện thuật toán Apriori nhƣ sau :
TID
Nội dung
Danh mục
Độ phổ biến
A
4
C
6
1
A, C, B, E
2
C, D, E
3
A, C, B, E
D
4
4
A, C, D, E
B
4
5
A, C, D, B, E
E
5
6
C, D, B
Quét DB L1
L1
Tiếp tục, kết danh sách L1 với chính nó (L1 & L1) để sinh ra bảng ứng viên C2
Quét C2, loại bỏ các item có độ phổ biến nhỏ hơn 3 để đƣợc L2
13
Danh mục
Độ phổ biến
Danh mục
Độ phổ biến
AC
4
AC
4
AD
2
AB
3
AB
3
Quét DB
AE
4
AE
4
Loại bỏ Item
CD
4
CD
4
Độ phổ biến<3
CB
4
CB
4
CE
5
CE
5
DE
3
DB
2
BE
3
DE
3
BE
3
Danh mục
Độ phổ biến
Danh mục
Độ phổ biến
ACB
3
ACB
3
ACE
4
ACE
4
ABE
3
ABE
3
CDE
3
CDE
3
CBE
3
CBE
3
Danh mục
Độ phổ biến
ACBE
3
DỪNG
C2
L3
Quét DB
L2
C3
Danh mục Độ phổ biến L4
C4
ACBE
C5={}
3
Danh mục Độ phổ biến C5
Nhƣ vậy, với cơ sở dữ liệu ví dụ sau 4 bƣớc của thuật toán Apriori ta thu đƣợc
mƣời chín tập phổ biến : {{A}, {C}, {D}, {B}, {E}, {AC}, {AB}, {AE},