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

Chiến lược hiệu quả ẩn các tập mục hữu ích cao nhạy cảm trên cơ sở dữ liệu giao tác

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (455.26 KB, 11 trang )

Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XIV về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR), TP. HCM, ngày 23-24/12/2021
DOI: 10.15625/vap.2021.0084

CHIẾN LƯỢC HIỆU QUẢ ẨN CÁC TẬP MỤC HỮU ÍCH CAO NHẠY CẢM
TRÊN CƠ SỞ DỮ LIỆU GIAO TÁC
Nguyễn Khắc Chiến1, Nguyễn Trọng Nghĩa2
Khoa Ngoại ngữ - Tin học, Trường Đại học Cảnh sát nhân dân
2
Trường Đại học Thủ Dầu Một

1

,

TÓM TẮT: Bài tốn ẩn các tập mục độ hữu ích cao nhạy cảm đang là chủ đề được nhiều nhà nghiên cứu quan tâm. Mục
tiêu của bài toán là bảo vệ các thông tin nhạy cảm trong các cơ sở dữ liệu giao tác, sao cho chúng không thể khám phá được bằng
các phương pháp khai thác tập mục độ hữu ích cao với cùng một ngưỡng độ hữu ích tối thiểu do người dùng đưa vào. Bên cạnh đó,
các phương pháp ẩn tập mục độ hữu ích cao nhạy cảm cố gắng giảm thiểu các hiệu ứng phụ trên các thơng tin khơng nhạy cảm và
tính tồn vẹn của cơ sở dữ liệu ban đầu. Một số phép đo hiệu ứng phụ thường được sử dụng như chi phí ẩn nhầm các tập mục không
nhạy cảm (MC), độ tương tự về độ hữu ích của cơ sở dữ liệu trước và sau quá trình ẩn (DUS), độ tương tự về độ hữu ích của các
tập mục độ hữu ích cao trước và sau q trình ẩn (IUS),... Hiện đã có một số phương pháp ẩn hiệu quả để giải quyết vấn đề này, tuy
nhiên những phương pháp này vẫn còn tạo ra các hiệu ứng phụ không mong muốn, như ẩn nhầm nhiều tập mục không nhạy cảm,
các độ tương tự về độ hữu ích của cơ sở dữ liệu thấp... Bài báo này đề xuất chiến lược sửa đổi một cách hiệu quả để ẩn các tập mục
độ hữu ích cao nhạy cảm làm giảm thiểu các hiệu ứng phụ trên các thông tin không nhạy cảm và làm tăng độ tương tự về cơ sở dữ
liệu. Kết quả thực nghiệm cho thấy thuật toán đề xuất hiệu quả hơn các thuật tốn hiện có về mặt các hiệu ứng phụ, như ẩn nhầm
các thông tin không nhạy cảm ít hơn, đảm bảo chất lượng của cơ sở dữ liệu sau q trình ẩn.
Từ khóa: High utility itemset, high utility mining, hiding high utility itemset, privacy-preserving utility mining.

I. GIỚI THIỆU
Khai phá dữ liệu được sử dụng để khám phá tri thức và thông tin ra quyết định từ dữ liệu khổng lồ [3]. Trong
các dự án hợp tác, dữ liệu được chia sẻ giữa các công ty khác nhau để cùng có lợi. Tuy nhiên, điều này mang lại nguy


cơ để lộ thông tin nhạy cảm chứa trong cơ sở dữ liệu (CSDL) [13]. Các thông tin nhạy cảm có thể được biểu diễn dưới
dạng tập hợp các mẫu phổ biến và các mẫu có độ hữu ích cao có tính bảo mật. Do đó, người sở hữu dữ liệu muốn che
giấu thông tin nhạy cảm này đi trước khi chia sẻ CSDL này với đối tác. Để giải quyết bài tốn này, khai thác dữ liệu
bảo vệ tính riêng tư đã được đề xuất và trở thành một hướng nghiên cứu quan trọng [1]. Các phương pháp khai thác dữ
liệu bảo vệ tính riêng tư đã được áp dụng trong nhiều lĩnh vực khác nhau, chẳng hạn như trong điện toán đám mây, sức
khỏe điện tử, mạng cảm biến không dây và các dịch vụ định vị [12].
Phương pháp để che giấu các thông tin nhạy cảm là sửa đổi CSDL ban đầu thành một CSDL đã sửa đổi bằng
cách sửa đổi một số mục trong CSDL ban đầu. Atallah và cộng sự [2] đã chứng minh bài tốn che giấu các thơng tin
nhạy cảm trong CSDL tối ưu là bài tốn NP-khó và nhóm tác giả đã đề xuất một thuật toán sửa đổi dữ liệu dựa trên
chiến lược heuristic. Sau đó, đã có nhiều cơng trình nghiên cứu về lĩnh vực này. Tuy nhiên, hiện có rất ít cơng trình
nghiên cứu về phương pháp ẩn thơng tin nhạy cảm để bảo vệ các tập mục độ hữu ích cao nhạy cảm trong CSDL giao
tác dựa trên khái niệm về độ hữu ích. Yeh và cộng sự (2010) [17] lần đầu tiên đưa ra hai thuật toán heuristic HHUIF và
MSICF để ẩn các tập mục có độ hữu ích cao nhạy cảm. Hai thuật tốn này mới chỉ xem xét đến các mục có độ hữu ích
cao để sửa đổi, chưa xem xét việc ảnh hưởng đến các hiệu ứng phụ như ẩn nhầm các tập mục không nhạy cảm hay độ
tương tự về dữ liệu trước và sau q trình sửa đổi. Sau đó cũng có một số cơng trình khác đã được cơng bố, như [16],
[14], [8], [10], [5] và [11] nhằm cải tiến các thuật toán trong [17] và quan tâm cải thiện các hiệu ứng phụ như giảm
thiểu chi phí ẩn nhầm các thông tin không nhạy cảm và tăng độ tương tự của dữ liệu trước và sau quá trình ẩn các tập
mục nhạy cảm. Các hiệu ứng phụ được tạo ra khi thực hiện sửa đổi một số mục trong cơ sở dữ liệu giao tác nhằm làm
giảm độ hữu ích của các tập mục nhạy cảm xuống dưới ngưỡng độ hữu ích tối thiểu do người dùng đưa vào. Trong
cơng trình [11] đã đề xuất ba thuật tốn heuristic SMAU, SMIU và SMSE nhằm để ẩn các tập mục độ hữu ích cao nhạy
cảm đồng thời làm giảm thiểu các hiệu ứng phụ tạo ra trong quá trình ẩn. Tuy nhiên, các thuật toán trong [11] vẫn tạo
ra các hiệu ứng phụ không mong muốn. Bài báo này đề xuất phương pháp cải tiến các thuật toán SMAU và SMIU
trong [11] nhằm giảm thiểu các hiệu ứng phụ, như giảm số tập mục không nhạy cảm bị ẩn nhầm và tăng độ tương tự
của cơ sở dữ liệu trước và sau q trình ẩn. Thuật tốn đề xuất sẽ tập trung vào việc lựa chọn các tập mục nhạy cảm
nào được ẩn trước, đưa ra chiến lược chọn lựa giao tác sửa đổi và mục cần phải sửa đổi một cách hiệu quả để giảm
thiểu các hiệu ứng phụ không mong muốn và bảo đảm chất lượng CSDL cao nhất có thể. Kết quả thực nghiệm đã cho
thấy thuật tốn đề xuất hiệu quả hơn các thuật toán trong [11] về chi phí ẩn nhầm các thơng tin khơng nhạy cảm và tính
ổn định của CSDL sau khi sửa đổi.
Phần còn lại của bài báo được tổ chức như sau. Phần II đánh giá các cơng trình liên quan. Trong Phần III các khái
niệm cơ bản và phát biểu bài tốn ẩn tập mục độ hữu ích cao nhạy cảm. Phần IV đề xuất thuật toán ẩn tập mục độ hữu ích

cao nhạy cảm. Phần V trình bày kết quả thực nghiệm và đánh giá. Cuối cùng, kết luận của bài báo trình bày trong Phần
VI.


414

CHIẾN LƯỢC HIỆU QUẢ ẨN CÁC TẬP MỤC HỮU ÍCH CAO NHẠY CẢM TRÊN CƠ SỞ DỮ LIỆU GIAO TÁC

II. CÁC CƠNG TRÌNH LIÊN QUAN
Trong những năm gần đây, các phương pháp khai thác độ hữu ích bảo vệ tính riêng tư được nhiều nhà nghiên cứu
quan tâm. Bài toán này trở nên quan trọng vì nó xem xét cả số lượng và lợi nhuận của mỗi mục có trong CSDL giao tác để
ẩn các tập mục có độ hữu ích cao nhạy cảm. Vì mục đích của khai phá độ hữu ích cao bảo vệ tính riêng tư để ẩn các thông
tin nhạy cảm (các các tập mục độ hữu ích cao nhạy cảm) trong CSDL, trong khi đó vẫn đảm bảo các thông tin quan trọng
khác vẫn được cung cấp cho đối phương, bài toán này được xem như là bài tốn tối ưu. Việc tìm ra các giao tác và các
mục để sửa đổi trong quá trình ẩn các tập mục có độ hữu ích cao nhạy cảm một cách tối ưu là một bài tốn khó và không
khả thi [2]. Trong năm 2010, Yeh và cộng sự [17] là nhóm tác giả đầu tiên đưa ra hai thuật toán heuristic HHUIF và
MSICF để ẩn các tập mục có độ hữu ích cao nhạy cảm. Hai thuật tốn này chọn mục có độ hữu ích cao nhất làm mục sửa
đổi cho q trình ẩn. Thuật tốn HHUIF loại bỏ các mục có độ hữu ích cao nhất. Thuật toán MSICF xem xét số lượng
xung đột trong quá trình ẩn. Các thuật tốn trong [17] chưa quan tâm đến các hiệu ứng phụ.
Sau đó, có một số cơng trình đã đề xuất các thuật tốn nhằm cải tiến hai thuật tốn trong [17], như cơng trình của
Vo và cộng sự (2013) [16] đề xuất thuật toán nhằm cải tiến thuật toán HHUIF về mặt thời gian, nhưng chưa có sự đánh
giá về các hiệu ứng phụ. Selvaraj và cộng sự (2013) [14] đề xuất một thuật toán cải tiến MHIS ở việc chọn mục sửa đổi
trong trường hợp độ hữu ích của chúng như nhau. Kết quả cho thấy thuật toán MHIS tốt hơn thuật toán HHUIF về các
hiệu ứng phụ HF (không ẩn được) và MC (ẩn nhầm). Yun và Kim (2015) [18] đề xuất thuật toán FPUTT để cải thiện tính
hiệu quả của thuật tốn HHUIF bằng cách sử dụng cấu trúc cây. Kết quả, thuật toán FPUTT nhanh hơn HHUIF khoảng 5
đến 10 lần. Tuy nhiên, các hiệu ứng phụ do FPUTT tạo ra cũng giống như HHUIF. Lin và cộng sự [8] (2015) đề xuất ba
phép đo tương tự để sử dụng như một tiêu chuẩn mới cho việc đánh giá các hiệu ứng phụ trong khai thác độ hữu ích bảo
vệ tính riêng tư. Cơng trình của Lin và cộng sự (2016) [10] đề xuất hai thuật toán MSU-MAU và MSU-MUI để bảo vệ
các tập mục có độ hữu ích cao. Cả hai thuật toán này chọn giao tác chứa tập mục nhạy cảm cần ẩn có độ hữu ích lớn nhất
để sửa đổi. Hai thuật tốn này áp dụng tính chất Max-Min của độ hữu ích để giảm các hiệu ứng phụ và tăng tốc độ của

quá trình sửa đổi dữ liệu so với các thuật toán HHUIF và MSICF. Hơn nữa, thuật toán MSU-MIU tốt hơn thuật toán
MSU-MAU do trong thuật toán MSU-MIU sử dụng phép chiếu tối ưu. Trieu và cộng sự (2020) [5] đề xuất thuật toán cải
tiến thuật tốn HHUIF. Thuật tốn này nhằm mục đích sửa số lượng các mục trong giao tác sửa đổi để ẩn các tập mục có
độ hữu ích cao nhạy cảm. Kết quả cho thấy, thuật toán này hiệu quả hơn HHUIF và MSICF về các hiệu ứng phục và thời
gian thực hiện. Xuan Liu và cộng sự (2020) [11] đề xuất ba thuật toán heuristic là SMAU, SMIU và SMSE để ẩn các tập
mục nhạy cảm trong CSDL giao tác. Cả ba thuật toán trong [11] lựa chọn giao tác hỗ trợ số tập mục khơng nhạy cảm ít
nhất làm giao tác sửa đổi. Các thuật toán này sử dụng hai cấu trúc bảng T-table và HUI-table giúp giảm thiểu số lần qt
CSDL. Trong đó, thuật tốn SMAU lựa chọn mục có độ hữu ích cao nhất để sửa đổi, điều này có thể làm sai lệch nhiều về
độ hữu ích của CSDL trước và sau sửa đổi. Ngược lại, thuật tốn SMIU lựa chọn mục có độ hữu ích nhỏ nhất để sửa đổi,
các mục sửa đổi này có thể nằm trong nhiều tập mục khơng nhạy cảm, do đó khi giảm số lượng hoặc loại bỏ mục đó ra
khỏi CSDL có thể làm ẩn đi các tập mục khơng nhạy cảm.
Do vậy, trong bài báo này sẽ đề xuất chiến lược hiệu quả để lựa chọn các giao tác sửa đổi và mục sửa đổi sao cho
có thể ẩn được tất cả các tập mục nhạy cảm đồng thời giảm thiểu các hiệu ứng phụ trên các thông tin khơng nhạy và có
gắng giảm thiểu việc thay đổi giá trị độ hữu ích của tồn bộ CSDL và các tập mục độ hữu ích cao.
III. CÁC KHÁI NIỆM CƠ BẢN VÀ BÀI TOÁN NGHIÊN CỨU
A. Các khái niệm cơ bản
Một số khái niệm về khai thác tập mục độ hữu ích cao được trình bày trong [6].
Cho 𝐼 = {𝑖1 , 𝑖2 , … , 𝑖𝑚 } là một tập 𝑚 mục phân biệt, trong đó mỗi mục 𝑖𝑝 ∈ 𝐼 có độ hữu ích bên ngồi (được gọi là
lợi nhuận) 𝑒𝑢�𝑖𝑝 �, 1 ≤ 𝑝 ≤ 𝑚 và 𝐷 = {𝑇1 , 𝑇2 , … , 𝑇𝑛 } là một CSDL giao tác, trong đó 𝑇𝑖 là một giao tác chứa một tập
các mục được chứa trong 𝐼.

Mỗi giao tác được gán cho một định danh duy nhất là 𝑇𝐼𝐷. Một tập gồm một hoặc nhiều mục được gọi làm tập
mục. Một giao tác 𝑇 hỗ trợ một tập mục 𝑋 nếu 𝑋 ⊆ 𝐼. Một tập mục 𝑋 = {𝑖1 , 𝑖2 , … , 𝑖𝑘 } chứa k mục được gọi là kitemset. Mỗi mục 𝑖𝑝 trong giao tác 𝑇𝑞 được kết hợp với một số lượng các mục 𝑖𝑝 có trong giao tác 𝑇𝑞 .
Cho một CSDL giao tác như trong Bảng 1 và Bảng 2. Trong Bảng 1, CSDL gồm có 10 giao tác. Trong Bảng 2
là bảng lợi nhuận của từng mục có trong CSDL.
Định nghĩa 1: Số lượng mục 𝑖𝑝 trong giao tác 𝑇𝑞 , ký hiệu là 𝑖𝑢(𝑖𝑝 , 𝑇𝑞 ).
Ví dụ: trong Bảng 1 có 𝑖𝑢(𝑏, 𝑇8 ) = 15 và 𝑖𝑢(𝑑, 𝑇8 ) = 35.

Định nghĩa 2: Lợi nhuận của mục 𝑖𝑝 , nó thể hiện độ quan trọng của mục 𝑖𝑝 , ký hiệu là 𝑒𝑢�𝑖𝑝 �.


Ví dụ: trong Bảng 2 có 𝑒𝑢(𝑏) = 3 và 𝑒𝑢(𝑑) = 1.

Định nghĩa 3: Độ hữu ích của mục 𝑖𝑝 trong giao tác 𝑇𝑞 , ký hiệu là 𝑢(𝑖𝑝 , 𝑇𝑞 ), được tính như sau: 𝑢�𝑖𝑝 , 𝑇𝑞 � =

𝑖𝑢�𝑖𝑝 , 𝑇𝑞 � ∗ 𝑒𝑢(𝑖𝑝 ).


Nguyễn Khắc Chiến, Nguyễn Trọng Nghĩa

415

Ví dụ: 𝑢(𝑏, 𝑇8 ) = 𝑖𝑢(𝑏, 𝑇8 ) ∗ 𝑒𝑢(𝑏) = 15 ∗ 3 = 45.

Định nghĩa 4: Độ hữu ích của tập mục X trong giao tác 𝑇𝑞 , ký hiệu là 𝑢(𝑋, 𝑇𝑞 ), được tính như sau:

𝑢�𝑋, 𝑇𝑞 � = � 𝑢�𝑖𝑝 , 𝑇𝑞 �
𝑖𝑝 ∈𝑋

Ví dụ: 𝑢(𝑏𝑑, 𝑇8 ) = 𝑢(𝑏, 𝑇8 ) + 𝑢(𝑑, 𝑇8 ) = 15 ∗ 3 + 35 ∗ 1 = 80.
Bảng 1. Cho cơ sở dữ liệu giao tác sau

TID
T1
T2
T3
T4
T5
T6
T7
T8

T9
T10

Bảng 3. Các tập mục độ hữu ích cao (𝑚𝑖𝑛𝑢𝑡𝑖𝑙 = 160)

Giao tác (Mục, số lượng)
(a,2),(b,1),(e,3)
(c,1), (d,6)
(b,1), (c,2), (e,1), (f,1)
(a,3), (b,4), (c,2), (d,2), (e,5)
(b,3), (c,5)
(a,2), (e,7), (f,3)
(a,4), (c,15), (d,40)
(b,15), (d,35), (e,3)
(a,5), (b,10), (c,20), (d,30), (e,2), (f,3)
(c,12), (e,4), (f,1)

HID
1
2
3
4
5
6
7
8
9
10

HUIs


Utility (Độ hữu ích)

abcde
abcdef
abce
acd

200
167
168
206

ae
bcde
bde
be
cef
ef

162
160
214
177
160
164

Bảng 2. Bảng lợi nhuận

Mục

Lợi nhuận

a
5

b
3

c
2

d
1

e
6

f
10

Định nghĩa 5: Độ hữu ích của tập mục X, ký hiệu là 𝑢(𝑋), được tính như sau:
𝑢(𝑋) =



𝑋⊆𝑇𝑞 ∧𝑇𝑞 ∈𝐷

𝑢�𝑋, 𝑇𝑞 �

Ví dụ: 𝑢(𝑏𝑑) = 𝑢(𝑏𝑑, 𝑇4 ) + 𝑢(𝑏𝑑, 𝑇8 ) + 𝑢(𝑏𝑑, 𝑇9 ) = 14 + 80 + 60 = 154.


Định nghĩa 6: Độ hữu ích của giao tác 𝑇𝑞 , ký hiệu là 𝑡𝑢(𝑇𝑞 ), được tính như sau:
𝑡𝑢(𝑇𝑞 ) = � 𝑢�𝑖𝑝 , 𝑇𝑞 �
𝑖𝑝 ∈𝑇𝑞

Ví dụ: 𝑡𝑢(𝑇8 ) = 𝑢(𝑏, 𝑇8 ) + 𝑢(𝑑, 𝑇8 ) + 𝑢(𝑒, 𝑇8 ) = 15 ∗ 3 + 35 ∗ 1 + 3 ∗ 6 = 98.

Định nghĩa 7: Bài toán khai tác tập mục độ hữu cao. Một tập mục X được gọi là tập mục độ hữu ích cao nếu độ
hữu ích của X lớn hơn hoặc bằng ngưỡng độ hữu ích tối thiểu do người dùng đưa vào, ký hiệu là 𝑚𝑖𝑛𝑢𝑡𝑖𝑙. Gọi 𝐻𝑈𝐼 là
tập hợp các tập mục độ hữu ích cao, ta có 𝐻𝑈𝐼 = {𝑋 | 𝑋 ∈ 𝐼, 𝑢(𝑋) ≥ 𝑚𝑖𝑛𝑢𝑡𝑖𝑙}.

Với CSDL giao tác cho trong Bảng 1, Bảng 2 và ngưỡng độ hữu ích tối thiểu 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 = 160, các tập mục độ
hữu ích cao (HUI) khai thác được thể hiện trong Bảng 3.
B. Bài toán nghiên cứu

Bài toán nghiên cứu được phát biểu như sau:
Cho một tập hợp các tập mục độ hữu ích cao nhạy cảm (gọi tắt là: tập mục nhạy cảm) cần phải ẩn, ký hiệu là

𝑆𝐻𝑈𝐼 = {𝑠1 , 𝑠2 , … , 𝑠𝑚 }, trong đó 𝑠𝑑 ∈ 𝐻𝑈𝐼, (1 ≤ 𝑑 ≤ 𝑚). Bài toán ẩn tập mục nhạy cảm là việc sửa đổi CSDL
ban đầu D thành CSDL được sửa đổi D’ sao cho độ hữu ích của tất cả các tập mục nhạy cảm 𝑠𝑖 ∈ 𝑆𝐻𝑈𝐼 phải nhỏ hơn
ngưỡng độ hữu ích tối thiểu do người dùng đưa vào, tức là 𝑢(𝑠𝑖 ) < 𝑚𝑖𝑛𝑢𝑡𝑖𝑙, 𝑣ớ𝑖 𝑖 = 1 ÷ 𝑚.

Định nghĩa 8: Gọi 𝑆𝐻𝑈𝐼 = {𝑠1 , 𝑠2 , … , 𝑠𝑚 } là tập hợp các tập mục nhạy cảm, trong đó si là một tập mục
nhạy cảm cần được ẩn trước khi đưa CSDL ra bên ngồi, ta có 𝑆𝐻𝑈𝐼 ⊆ 𝐻𝑈𝐼. Gọi 𝑁𝑆𝐻𝑈𝐼 là tập hợp các tập mục độ
hữu ích cao khơng nhạy cảm (gọi tắt là: tập mục không nhạy cảm), ta có 𝑆𝐻𝑈𝐼 ∪ 𝑁𝑆𝐻𝑈𝐼 = 𝐻𝑈𝐼.
Định nghĩa 9: Gọi 𝑆𝑇 là tập hợp các giao tác nhạy cảm mà mỗi giao tác trong 𝑆𝑇 có chứa ít nhất một tập mục
nhạy cảm.
Q trình sửa đổi dữ liệu của bài tốn ẩn các tập mục nhạy cảm gồm ba bước sau:



416

CHIẾN LƯỢC HIỆU QUẢ ẨN CÁC TẬP MỤC HỮU ÍCH CAO NHẠY CẢM TRÊN CƠ SỞ DỮ LIỆU GIAO TÁC

Bước 1: Áp dụng các thuật toán khai thác độ hữu ích cao trên CSDL giao tác 𝐷 để có được tất cả các tập mục độ
hữu ích cao (HUI);
Bước 2: Xác định tập hợp các tập mục nhạy cảm SHUI dựa trên các yêu cầu của người dùng;

Bước 3: Áp dụng thuật toán ẩn các tập mục nhạy cảm để tạo ra CSDL giao tác được sửa đổi 𝐷’.

Quá trình sửa đổi thường tạo ra các hiệu ứng phụ [4, 7, 9, 15]. Các phép đo hiệu ứng phụ được sử dụng để đánh
giá hiệu suất của thuật toán đề xuất bao gồm:
(1) Chi phí ẩn nhầm các tập mục khơng nhạy cảm (𝑴𝑪):
𝑀𝐶 =

|𝑁𝑆𝐻𝑈𝐼(𝐷) − 𝑁𝑆𝐻𝑈𝐼(𝐷′)|
|𝑁𝑆𝐻𝑈𝐼(𝐷)|

trong đó 𝑁𝑆𝐻𝑈𝐼(𝐷) và 𝑁𝑆𝐻𝑈𝐼(𝐷’) là tập hợp các tập mục không nhạy cảm trong CSDL giao tác 𝐷 và 𝐷’. Với phép
đo này, thuật toán nào tạo ra giá trị 𝑀𝐶 càng nhỏ càng hiệu quả vì chứng tỏ việc ẩn nhầm các tập khơng nhạy cảm ít
xảy ra.
(2) Độ tương tự về độ hữu ích của cơ sở dữ liệu (𝑫𝑼𝑺)

Độ tương tự về độ hữu ích của CSDL (𝐷𝑈𝑆) được sử dụng để đo mức độ giảm độ hữu ích trong toàn bộ CSDL.
Gọi D và D’ lần lượt là CSDL ban đầu và CSDL sau sửa đổi. Độ hữu ích bị giảm sau quá trình ẩn được thể hiện
là độ tương tự về độ hữu ích của CSDL (DUS), được tính như sau:
𝐷𝑈𝑆 =

∑Tq∈D′ tu(Tq )
∑Tq∈D tu(Tq )


trong đó ∑Tq∈D tu(Tq ) và ∑Tq∈D′ tu(Tq ) là tổng các độ hữu ích của các giao tác trong CSDL ban đầu D và CSDL sau
khi sửa đổi D’.
(3) Độ tương tự về độ hữu ích của các tập mục độ hữu ích cao (IUS)

Độ tương tự về độ hữu ích của các tập mục độ hữu ích cao (IUS) là phép đo khác chỉ ra các độ hữu ích bị giảm
của các HUI trước và sau quá trình sửa đổi.
Gọi HUI D v à HUI D′ là các tập mục độ hữu ích cao (HUI) được khai thác từ CSDL ban đầu D và CSDL đã sửa
đổi D’. Độ hữu ích bị giảm xuống của các các tập mục độ hữu ích cao được khai thác trước và sau sửa đổi có thể biểu
thị là độ tương tự về độ hữu ích của các tập mục độ hữu ích cao (IUS), được tính như sau:
𝐼𝑈𝑆 =

∑X∈HUID′ u(X)
∑X∈HUID u(X)

trong đó ∑X∈HUID u(X) và ∑X∈HUID′ u(X) là tổng độ hữu ích của các tập mục độ hữu ích cao trong 𝐷 và 𝐷’.

Ngồi ra, còn một số phép đo khác như ẩn lỗi (𝐻𝐹) - không ẩn được hết các tập mục nhạy cảm và phép đo tạo ra các
tập mục độ hữu ích cao mới (𝐴𝐶). Các phương pháp ẩn được xem xét trong bài báo này đều thực hiện ẩn được tất cả các tập
mục nhạy cảm và không tạo ra các tập mục độ hữu ích cao mới, các phép đo này đều bằng 0, nên không nêu ra ở đây.
Mục tiêu của bài toán ẩn các tập mục nhạy cảm để bảo vệ tính riêng tư khơng chỉ ẩn tất cả các tập mục nhạy
cảm mà còn làm giảm thiểu các hiệu ứng phụ trên các thông tin không nhạy cảm và tính tồn vẹn của CSDL ban đầu.
Thuật toán được đề xuất trong bài báo này cũng nhằm vào mục tiêu này.
IV. THUẬT TOÁN ĐỀ XUẤT
A. Cơ sở đề xuất thuật toán
Phương pháp ẩn các tập mục nhạy cảm là sửa đổi CSDL ban đầu bằng cách xóa hoặc giảm số lượng của một số
mục để độ hữu ích của các tập mục nhạy cảm giảm xuống dưới ngưỡng độ hữu ích 𝑚𝑖𝑛𝑢𝑡𝑖𝑙. Trên cơ sở phương pháp
ẩn tổng quát này, bài toán ẩn tập mục nhạy cảm cần phải xác định được: Giao tác nào được chọn để sửa đổi? và mục
nào được chọn để sửa đổi trong giao tác sửa đổi?


Mục được sửa đổi để ẩn tập mục nhạy cảm được gọi là mục sửa đổi 𝐼𝑣𝑖𝑐 . Giao tác chứa mục sửa đổi được gọi là
giao tác sửa đổi 𝑇𝑣𝑖𝑐 .

Trong bài báo này, chúng ta chỉ xem xét những giao tác hỗ trợ các tập mục nhạy cảm, vì các giao tác khác
khơng có ảnh hưởng gì đến quá trình ẩn. Để giảm các hiệu ứng phụ, thuật toán được đề xuất chỉ chọn những giao tác
nào hỗ trợ số lượng các tập mục khơng nhạy cảm ít nhất làm giao tác sửa đổi, nếu có nhiều giao tác thỏa mãn điều kiện
này thì chọn giao tác nào hỗ trợ nhiều tập mục nhạy cảm nhất để làm giao tác sửa đổi, gọi là 𝑇𝑣𝑖𝑐 .
Định nghĩa 10: Số lượng tập mục nhạy cảm được hỗ trợ bởi giao tác 𝑇 được ký hiệu là 𝑆𝐻𝐶(𝑇).


Nguyễn Khắc Chiến, Nguyễn Trọng Nghĩa

417

Định nghĩa 11: Số lượng tập mục không nhạy cảm được hỗ trợ bởi giao tác T được ký hiệu là 𝑁𝑆𝐻𝐶(𝑇).

Định nghĩa 12: Xác định giao tác sửa đổi 𝑇𝑣𝑖𝑐 . Giao tác nào có số lượng 𝑁𝑆𝐻𝐶(𝑇) nhỏ nhất được chọn làm
giao tác sửa đổi. Nếu có nhiều giao tác như vậy thì chọn giao tác nào hỗ trợ số lượng tập mục nhạy cảm 𝑆𝐻𝐶(𝑇) nhiều
nhất được chọn làm giao tác sửa đổi 𝑇𝑣𝑖𝑐 .
Định nghĩa 13: Xác định mục cần loại bỏ 𝐼𝑠𝑖 : là mục có số lần xuất hiện trong các tập mục không nhạy cảm mà

𝑇𝑣𝑖𝑐 hỗ trợ ít nhất. Nếu có nhiều mục như vậy, thuật tốn đề xuất sẽ chọn mục nào có số lần xuất hiện trong các tập
mục nhạy cảm mà 𝑇𝑣𝑖𝑐 hỗ trợ nhiều nhất, ký hiệu là Isi để loại bỏ khỏi 𝑇𝑣𝑖𝑐 .
Sau khi xác định được giao tác sửa đổi 𝑇𝑣𝑖𝑐 , một mục có trong tập mục nhạy cảm đang cần ẩn được chọn để sửa
đổi làm giảm độ hữu ích của tập mục nhạy cảm này xuống dưới ngưỡng 𝑚𝑖𝑛𝑢𝑡𝑖𝑙.

Khi thực hiện ẩn các tập mục nhạy cảm, thứ tự lựa chọn tập mục nhạy cảm nào được ẩn trước cũng ảnh hưởng
đến quá trình ẩn và tạo ra các hiệu ứng phụ không mong muốn. Trong bài báo này, chúng tôi đề xuất lựa chọn tập mục
nhạy cảm nào có độ hữu ích lớn nhất được thực hiện ẩn trước. Vì khi thực hiện ẩn các tập mục nhạy cảm này, có thể
làm ẩn đi các tập mục nhạy cảm khác, khi đó chúng ta khơng cần phải đi ẩn tập mục nhạy cảm đó nữa. Điều này được

chứng minh trong phần ví dụ minh họa. Do đó, có thể làm tăng tính hiệu quả của q trình ẩn.

Ngồi ra, trong q trình ẩn, việc loại bỏ đi các mục có độ hữu ích cao nhất (như thuật tốn SMAU [11]) hay
mục có độ hữu nhỏ nhất (như thuật tốn SMIU [11]) có thể tạo ra nhiều hiệu ứng phụ không mong muốn trên các
thông tin không nhạy cảm như: làm sai lệch về độ hữu ích của tồn bộ CSDL và độ hữu ích của các tập mục độ hữu ích
cao trước và sau khi sửa đổi. Bên cạnh đó có thể gây ra việc ẩn nhầm nhiều tập mục không nhạy cảm. Để giảm thiểu
các hiệu ứng phụ trên, trong bài báo này đề xuất một chiến lược hiệu quả như sau: Đối với trường hợp phải loại bỏ mục
nhạy cảm ra khỏi giao tác sửa đổi 𝑇𝑣𝑖𝑐 , thuật toán đề xuất sẽ chọn mục 𝐼𝑠𝑖 (Định nghĩa 13) để loại bỏ khỏi 𝑇𝑣𝑖𝑐 . Điều
này sẽ giúp cho q trình ẩn ít ảnh hưởng đến các tập mục không nhạy cảm nhiều nhất. Đối với trường hợp phải loại
bỏ số lượng các mục trong giao tác 𝑇𝑣𝑖𝑐 , thuật toán đề xuất sẽ kiểm tra xem mục 𝐼𝑠𝑖 (Định nghĩa 13) có thỏa mãn để
giảm số lượng hay khơng, nếu thỏa mãn thì loại bỏ số lượng của mục 𝐼𝑠𝑖 . Nếu không thỏa mãn thì thuật tốn đề xuất sẽ
loại bỏ số lượng mục có độ hữu ích lớn nhất.
Gọi 𝑋 là tập mục nhạy cảm. Để ẩn 𝑋, độ hữu ích của 𝑋 phải giảm ít nhất là: 𝑑𝑖𝑓𝑓𝑢 = 𝑢(𝑋) − 𝑚𝑖𝑛𝑡𝑢𝑖𝑙 + 1

Giả sửa 𝐼𝑣𝑖𝑐 là mục sửa đổi được sử dụng để ẩn 𝑋 và 𝑇𝑣𝑖𝑐 là giao tác sửa đổi chứa 𝐼𝑣𝑖𝑐 . Nếu loại bỏ 𝐼𝑣𝑖𝑐 khỏi giao
tác 𝑇𝑣𝑖𝑐 , khi đó độ hữu ích của 𝑋 sẽ giảm một lượng là: 𝑢(𝑋, 𝑇𝑣𝑖𝑐 ). Vì khi loại bỏ 𝐼𝑣𝑖𝑐 , 𝐼𝑣𝑖𝑐 ∈ 𝑋 từ 𝑇𝑣𝑖𝑐 , khi đó 𝑇𝑣𝑖𝑐 sẽ
khơng hỗ trợ 𝑋 nữa, giá trị độ hỗ trợ của 𝑋 phải giảm là: 𝑢(𝑋) − 𝑢(𝑋, 𝑇𝑣𝑖𝑐 ).
Bảng 4. Thuật toán đề xuất (ProAlg)
Input: CSDL giao tác 𝐷, ngưỡng tối thiểu 𝑚𝑖𝑛𝑢𝑡𝑖𝑙, tập mục nhạy cảm 𝑆𝐻𝑈𝐼 = {𝑆1 , 𝑆2 , . . . , 𝑆𝑘 }
Output: CSDL đã sửa đổi 𝐷’
Tạo hai bảng T-table và HUI-table
1
Sắp xếp các 𝑆𝑖 giảm dần theo độ hữu ích 𝑢(𝑆𝑖 ).
2
3
For each 𝑆𝑖 ∈ 𝑆𝐻𝑈𝐼
diffu = u(Si) – minutil +1
4
5
while diffu > 0

6
Tìm tập các giao tác nhạy cảm ST, 𝑆𝑖 ∈ 𝑆𝑇
7
Xác định 𝑇𝑣𝑖𝑐 (Định nghĩa 12)
𝐼𝑚𝑎𝑥 = 𝑎𝑟𝑔𝑚𝑎𝑥𝐼𝜖𝑆𝑖 𝑢(𝐼, 𝑇𝑣𝑖𝑐 )
8
9
If 𝑑𝑖𝑓𝑓𝑢 > 𝑢(𝐼𝑚𝑎𝑥 , 𝑇𝑣𝑖𝑐 ) − 𝑒𝑢(𝐼𝑚𝑎𝑥 )
10
Loại bỏ mục 𝐼𝑠𝑖 (Định nghĩa 13)
else
11
if 𝑑𝑖𝑓𝑓𝑢 <= 𝑢(𝐼𝑠𝑖 , 𝑇𝑣𝑖𝑐 ) − 𝑒𝑢(𝐼𝑠𝑖 ) //Giảm số lượng của 𝐼𝑠𝑖 trong 𝑇𝑣𝑖𝑐 để ẩn 𝑆𝑖
𝑑𝑖𝑓𝑓𝑢
𝑑𝑖𝑢 = �

12
13
14
15
16
17
18

𝑒𝑢(𝐼𝑠𝑖 )

else //Giảm số lượng của 𝐼𝑚𝑎𝑥 trong 𝑇𝑣𝑖𝑐 để ẩn 𝑆𝑖
𝑑𝑖𝑢 = �

𝑑𝑖𝑓𝑓𝑢


𝑒𝑢(𝐼𝑚𝑎𝑥 )



end if
Cập nhật hai bảng T-table, HUI-table và giá trị diffu tương ứng
end while
end for

Đối với các thuật toán ẩn tập mục nhạy cảm đã có thường phải quét CSDL nhiều lần, trong bài báo này chúng
tôi sẽ sử dụng cấu trúc dữ liệu được trình bày trong [11] để giảm số lần quét CSDL, cấu trúc dữ liệu được giới thiệu
trong các Định nghĩa 14, Định nghĩa 15 và Định nghĩa 16:
Định nghĩa 14: Cho một giao tác 𝑇, danh sách mục (I-list) lưu trữ thông tin của các mục trong giao tác 𝑇. Mỗi
mục 𝑖 trong I-list gồm ba thành phần: 𝑖 = 〈𝐼𝑡𝑒𝑚, 𝐼𝑛𝑈𝑡𝑖𝑙𝑖𝑡𝑦, 𝑈𝑡𝑖𝑙𝑖𝑡𝑦〉. Trong đó 𝐼𝑡𝑒𝑚 là mục 𝑖, 𝐼𝑢𝑈𝑡𝑖𝑙𝑖𝑡𝑦 là số lượng
của mục 𝑖 trong giao tác 𝑇, 𝑈𝑡𝑖𝑙𝑖𝑡𝑦 là độ hữu ích của 𝑖 trong 𝑇.


418

CHIẾN LƯỢC HIỆU QUẢ ẨN CÁC TẬP MỤC HỮU ÍCH CAO NHẠY CẢM TRÊN CƠ SỞ DỮ LIỆU GIAO TÁC

Ví dụ trong Bảng 1, I-list của T8 là <(b,15,45)(d,35,35)(e,3,18)>.
Định nghĩa 15: Cho một CSDL 𝐷, một tập hợp các tập mục độ hữu ích cao 𝐻𝑈𝐼 = {𝑋 | 𝑋 ∈ 𝐼, 𝑢(𝑋) ≥
𝑚𝑖𝑛𝑢𝑡𝑖𝑙}, một bảng tập mục độ hữu ích cao (HUI-table) chứa thông tin về các tập mục độ hữu ích cao được khai thác
từ CSDL giao tác D. Mỗi tập mục độ hữu ích cao 𝑋 trong bảng HUI-table có bốn thành phần:
𝑋 =< 𝐻𝐼𝐷, 𝐼𝑡𝑒𝑚𝑠, 𝐻𝑈𝐼 − 𝑢𝑡𝑖𝑙𝑖𝑡𝑦, 𝑇𝐼𝐷𝑠 >. Trong đó 𝐻𝐼𝐷 là định danh duy nhất của 𝑋, 𝐼𝑡𝑒𝑚𝑠 là danh sách các mục
có trong 𝑋, 𝐻𝑈𝐼 − 𝑢𝑡𝑖𝑙𝑖𝑡𝑦 là độ hữu ích của 𝑋, 𝑇𝐼𝐷𝑠 cho biết các giao tác hỗ trợ 𝑋 trong 𝐷.

Với CSDL giao tác cho trong Bảng 1 và Bảng 2 với ngưỡng độ hữu ích tối thiểu là 𝑚𝑖𝑛𝑢𝑡𝑖𝑙 = 160. Chúng ta

xây dựng được bảng HUI-Table như trong Bảng 6.

Định nghĩa 16: Cho CSDL D, một tập hợp các tập mục nhạy cảm 𝑆𝐻𝑈𝐼 = {𝑆1 , 𝑆2 , . . . , 𝑆𝑘 } , Bảng giao tác (Ttable) chứa thông tin của các giao tác nhạy cảm trong D. Mỗi giao tác T trong bảng T-table có bốn thành phần: T =
<TID, SID, NSID, I-list>. Trong đó TID là mã định danh duy nhất của T, SID và NSID lần lượt là mã định danh các
tập mục nhạy cảm và tập mục không nhạy cảm được hỗ trợ bởi T. I-list là danh sách mục của T.
Giả sử tập mục độ hữu ích cao nhạy cảm cần phải ẩn là 𝑆𝐻𝑈𝐼 = {< 𝑎𝑒 >, < 𝑏𝑑𝑒 >, < 𝑎𝑏𝑐𝑑𝑒 >}, chúng ta
xây dựng được bảng T-Table như trong Bảng 7.

Thuật toán đề xuất được trình bày trong Bảng 4. Thuật tốn được thực hiện như sau: Đầu tiền là xây dựng hai
bảng T-Table và HUI-Table (dòng 1). Các tập mục nhạy cảm SHi được sắp xếp giảm dần theo độ hữu ích (dịng 2).
Tiếp theo thực hiện vọng lặp để lần lượt ẩn các tập mục nhạy từ dịng 3 -20. Tính độ hữu ích cần phải giảm đối với mỗi
tập mục nhạy cảm (dòng 4). Thực hiện vòng lặp để thực hiện ẩn tập mục nhạy cảm: Trong khi 𝑑𝑖𝑓𝑓𝑢 > 0, tìm tập các
giao tác nhạy cảm ST. Xác định giao tác cần sửa đổi Tvic theo Định nghĩa 14 và mục cần sửa đổi Imax, Isi theo định
nghĩa 15 từ dòng 7-17. Sau đó cập nhật các giá trị tương ứng và cập nhật cho bảng T-Table v à HUI-Table. Thực hiện
cho tới khi ẩn được hết các tập mục nhạy cảm thì kết thúc thuật tốn. Thuật tốn đề xuất đảm bảo ẩn được hết các tập
mục nhạy cảm.
B. Ví dụ minh họa
Với CSDL cho trong Bảng 1 và Bảng 2 với ngưỡng độ hữu ích tối thiểu minutil =160, chúng ta có bảng các tập
mục độ hữu ích cao HUI trong Bảng 3.
Giải sử tập mục nhạy cảm cần ẩn là 𝑆𝐻𝑈𝐼 = {< 𝑎𝑒 >, < 𝑏𝑑𝑒 >, < 𝑎𝑏𝑐𝑑𝑒 >}.

Đầu tiên, chúng ta đi xây dựng các bảng I-List của các giao tác T trong CSDL (Bảng 5).
Bảng 5. Bảng cơ sở dữ liệu có dạng cấu trúc I-List
TID

Bảng 6. Bảng HUI-Table

I-List

HID


Items

HUI-Utility

TIDs

T1

(a,2,10) (b,1,3) (e,3,18)

1

abcde

200

T4, T9

T2

(c,1,2) (d,6,6)

2

abcdef

167

T9


T3

(b,1,3) (c,2,4) (e,1,6) (f,1,10)

3

abce

168

T4,T9

T4

(a,3,15)(b,4,12)(c,2,4)(d,2,2)(e,5,30)

4

acd

206

T4,T7,T9

T5

(b,3,9)(c,5,10)

5


ae

162

T1,T4,T6,T9

T6

(a,2,10)(e,7,42)(f,3,30)

6

bcde

160

T4,T9

T7

(a,4,20)(c,15,30)(d,40,40)

7

bde

214

T4,T8,T9


T8

(b,15,45)(d,35,35)(e,3,18)

8

be

177

T1,T3,T4,T8,T9

T9

(a,5,25)(b,10,30)(c,20,40)(d,30,30)(e,2,12)(f,3,30)

9

cef

160

T3,T9

T10

(c,12,24)(e,4,24)(f,1,10)

10


ef

164

T3,T6,T9,T10

Bảng 7. Bảng T-Table
TID
T1
T4
T6
T8
T9

SID
5
1,5,7
5
7
1,5,7

NSID
8
3,4,6,8
10
8
2,3,4,6,8,9,10

I-List

(a,2,10) (b,1,3) (e,3,18)
(a,3,15)(b,4,12)(c,2,4)(d,2,2)(e,5,30)
(a,2,10)(e,7,42)(f,3,30)
(b,15,45)(d,35,35)(e,3,18)
(a,5,25)(b,10,30)(c,20,40)(d,30,30)(e,2,12)(f,3,30)

Tiếp theo, sắp xếp giảm dần theo độ hữu ích: 𝑆𝐻𝑈𝐼 = {< 𝑏𝑑𝑒 > (214), < 𝑎𝑏𝑐𝑑𝑒 > (200), < 𝑎𝑒 > (162)}
Như vậy, thuật toán chọn tập mục nhạy cảm S1= <bde> ẩn trước: tính độ hữu ích cần phải giảm:

diffu = 214 -160+1 = 55.


Nguyễn Khắc Chiến, Nguyễn Trọng Nghĩa

419

Tập mục nhạy cảm S1 = <bde> có các giao tác T4, T8 và T9 hỗ trợ, vập tập hợp các giao tác nhạy cảm ST =
<T4, T8, T9>. Tính số lượng các tập mục không nhạy cảm mà các giao tác nhạy cảm hỗ trợ. Ta có NSHC(T4) =4,
NSHC(T8)=1 và NSHC(T9)=7. Vậy chúng ta chọn giao tác T8 có số lượng hỗ trợ các tập mục khơng nhạy cảm ít nhất
làm giao tác sửa đổi Tvic = T8.
Tiếp theo, thuật tốn tìm mục cần sửa đổi để giảm độ hữu ích của tập mục nhạy cảm. Ta có: u(b,T8)=45,
u(d,T8)=35 và u(e,T8)=18. Trong đó u(b,T8) có gía trị độ hữu ích lớn nhất.
Vì diffu =55 > u(b,T8) – eu(b) =45-3=42, do đó, bắt buộc phải loại bỏ một mục nhạy cảm trong S1 ra khỏi giao
tác T8. (Đối với thuật tốn SMAU [11] thì chọn mục b để loại bỏ khỏi giao tác T8, thuật tốn SMIU [11] thì chọn mục
e loại bỏ khỏi giao tác T8).
Đối với thuật toán đề xuất sẽ chọn mục nào xuất hiện trong các tập mục không nhạy cảm mà T8 hỗ trợ ít nhất,
nếu có nhiều mục thỏa mãn thì chọn mục nào xuất hiện trong các tập mục nhạy cảm mà T8 hỗ trợ nhiều nhất (Định
nghĩa 13). Ở đây, ta thấy mục b, e cùng xuất hiện trong một tập mục không nhạy cảm mà T8 hỗ trợ là <be>, mục d
không xuất hiện trong tập mục không nhạy cảm mà T8 hỗ trợ. Như vậy, thuật toán đề xuất sẽ chọn mục d để loại bỏ
khỏi giao tác T8. Khi loại bỏ mục d, ta thấy nó khơng ảnh hưởng đến bất kỳ tập mục không nhạy cảm nào.

Khi loại bỏ mục d ra khỏi giao tác T8, khi đó T8 khơng hỗ trợ tập mục nhạy cảm <bde> nữa. Độ hữu ích của
tập mục <bde> sẽ bị giảm xuống còn lại là: 𝑢(< 𝑏𝑑𝑒 >) = 214 – 𝑢(< 𝑏𝑑𝑒 >, 𝑇8) = 214 – 98 = 116 <
𝑚𝑖𝑛𝑢𝑡𝑖𝑙. Như vậy tập mục nhạy cảm S1 = <bde> đã được ẩn thành cơng.
Thuật tốn sẽ cập nhật lại các giá trị trong các bảng HUI-table (Bảng 8) và T-table (Bảng 9).
Bảng 8. Bảng HUI-Table cập nhật lần 1
HID

Items

HUI-Utility

TIDs

1

abcde

200

T4,T9

2

abcdef

167

T9

3


abce

168

T4,T9

4

acd

206

T4,T7,T9

5

ae

162

T1,T4,T6,T9

6

bcde

160

T4,T9


7

bde

116

T4,T9

8

be

177

T1,T3,T4,T8,T9

9

cef

160

T3,T9

10

ef

164


T3,T6,T9,T10

Bảng 9. Bảng T-Table cập nhật lần 1
TID

SID

NSID

T1

5

8

(a,2,10) (b,1,3) (e,3,18)

T4

1,5,7

3,4,6,8

(a,3,15)(b,4,12)(c,2,4)(d,2,2)(e,5,30)

T6

5


10

(a,2,10)(e,7,42)(f,3,30)

1,5,7

2,3,4,6,8,9,10

(a,5,25)(b,10,30)(c,20,40)(d,30,30)(e,2,12)(f,3,30)

I-List

T8
T9

(b,15,45)(e,3,18)

Thuật toán tiếp tục chọn tập mục nhạy cảm S2=<abcde> để thực hiện ẩn. Tính 𝑑𝑖𝑓𝑓𝑢 = 200 − 160 + 1 = 41.
Tập hợp các giao tác nhạy cảm hỗ trợ tập mục S2 là ST=<T4,T9>. Ta có NSHC(T4) =4 và NSHC(T9)=7, như vậy chọn
giao tác T4 làm giao tác sửa đổi Tvic = T4. Tìm mục sửa đổi, ta có u(a,T4)=15, u(b,T4)=12, u(c,T4)=4, u(d,T4)=2 và
u(e,T4)=30. Ta thấy mục e có giá trị độ hỗ trợ lớn nhất và diffu =41 > u(e,T4)-eu(e) = 30-5=25, như vậy bắt buộc phải
loại bỏ một mục nhạy cảm trong S2 = <abcde> ra khỏi giao tác T4 để giảm độ hữu ích của tập mục nhạy S2. (Đối với
thuật tốn SMAU [11] thì chọn mục e để loại bỏ khỏi giao tác T4, thuật tốn SMIU [11] thì chọn mục d loại bỏ khỏi
giao tác T8).
Bảng 10. Bảng so sánh kết quả chạy thuật toán đề xuất với các thuật toán SMAU, SMIU [11]
Thuật toán
SMAU
SMIU
ProAlg


Số lần thực hiện
để ẩn các tập
mục nhạy cảm
3
3
2

Số tập mục
không nhạy cảm
bị ẩn nhầm
3
3
1

Độ hữu ích của
toàn bộ CSDL
bị giảm đi
81
23
50

Độ hữu ích của các
tập mục độ hữu
ích cao bị giảm đi
476
437
260


CHIẾN LƯỢC HIỆU QUẢ ẨN CÁC TẬP MỤC HỮU ÍCH CAO NHẠY CẢM TRÊN CƠ SỞ DỮ LIỆU GIAO TÁC


420

Trong thuật tốn đề xuất, tìm mục xuất hiện trong các tập mục khơng nhạy cảm do T4 hỗ trợ ít nhất để loại bỏ. Ta
có giao tác T4 hỗ trợ các tập mục không nhạy cảm là: <abce>, <acd>, <bcde>, <be>. Như vậy, ta thấy NSHC(a,T4)=2,
NSHC(b,T4)=3, NSHC(c,T4)=3, NSHC(d,T4)=2 và NSHC(e,T4)=3. Có hai mục a và d có cùng giá trị nhỏ nhất bằng 2.
Thuật toán đề xuất tiêp tục xét hai mục a và d. Xem mục nào xuất hiện trong các tập mục nhạy cảm nhiều nhất.
Giao tác T4 hỗ trợ hai tập mục nhạy cảm <abcde> và <ae> (khơng tính tập mục <bde> vì đã được ẩn rồi). Ta thấy
SHC(a,T4) =2 và SHC(d,T4) =1. Như vậy, thuật toán sẽ chọn mục a để loại khỏi giao tác T4, T4 khơng cịn hỗ trợ tập
mục <abcde>, giá trị độ hữu ích của <abcde> sẽ giảm xuống cịn lại: u(<abcde>) = 200 – 63 = 137 < minutil, như
vậy đã ẩn được tập mục S2 = <abcde>.
Ngoài ra, ta thấy tập mục nhạy cảm S3 = <ae> cũng bị ẩn theo, vì T4 cũng hỗ trợ tập mục <ae>. Khi loại bỏ a
ra khỏi T4 thì T4 cũng khơng cịn hỗ trợ tập mục <ae> nữa, độ hữu ích của tập mục <ae> còn lại là: 𝑢(< 𝑎𝑒 >) =
162 – 45 = 117 < 𝑚𝑖𝑛𝑢𝑡𝑖𝑙. Vậy tập mục nhạy S3 = <ae> cũng được ẩn.
Thuật toán cập nhật lại các giá trị cho bảng HUI-table, bảng T-Table.

Thuật toán đã ẩn xong tất cả các tập mục nhạy cảm và kết thúc thuật tốn. Đối với ví dụ này, thuật tốn đề xuất
đã thực hiện ẩn thành cơng các tập mục nhạy và đã ẩn nhầm một tập mục không nhạy cảm <abce>. Về giá trị độ hữu
ích của tồn bộ CSDL đã bị giảm đi 50 (DUS) và tổng độ hữu ích của các tập mục độ hữu ích cao bị giảm đi 260 (IUS).
Các kết quả này được so sánh với kết quả chạy thuật toán SMAU và SMIU [11] trong Bảng 10.
Bảng 11. Cơ sở dữ liệu dùng cho thực nghiệm

Cơ sở dữ liệu
BMS_2
Mushroom

Số giao tác
77512
8124


Số lượng mục
3340
119

Như vậy, với thuật tốn đề xuất, có thể ẩn nhầm tập mục khơng nhạy cảm ít hơn, sự thay đổi về CSDL trước và
sau khi sửa đổi cũng có thể ít hơn. Về giá trị độ hữu ích của tồn bộ CSDL có thể ít hơn so với thuật tốn SMAU, có
thể nhiều hơn thuật tốn SMIU. Về thay đổi độ hữu ích của các tập mục độ hữu ích cao thì thuật tốn đề xuất có thể ít
hơn hẳn so với hai thuật toán SMAU và SMIU. Để có cơ sở đánh giá khách quan hơn, thuật tốn đề xuất được chạy
thực nghiệm trên CSDL thực tế và được trình bày trong phần V.

20000

99.5

15000

99

10000
5000

98.5
98
97.5

0
150

180


200

250

280

150

300

180

SMIU

SMAU

ProAlg

(b)

BMS_2

BMS_2

11000

20

IUS(%)


30

10000
9000
180

200

250

280

300

SMIU

ProAlg

280

300

ProAlg

10
0
150

180


Số tập mục nhạy cảm
SMAU

250

SMIU

(a)

12000

150

200

Số tập mục nhạy cảm

Số tập mục nhạy cảm
SMAU

MC(%)

BMS_2
DUS(%)

Thời gian thực hiện (ms)

BMS_2

200


250

280

Số tập mục nhạy cảm
SMAU

(c)

SMIU
(d)

Hình 1. Kết quả chạy thực nghiệm trên dữ liệu BMS_2

ProAlg

300


Nguyễn Khắc Chiến, Nguyễn Trọng Nghĩa

421

V. KẾT QUẢ THỰC NGHIỆM
A. Mô tả dữ liệu và hệ thống thực nghiệm
Thực nghiệm được thực hiện trên máy tính Intel ® Core™ i7 CPU 2.00GHz, RAM 8GB chạy trên Windows 10.
Các thuật toán được cài đặt bằng ngôn ngữ Java. CSDL thực ngiệm được lấy trên trang web được mô tả trong Bảng 11.
CSDL được thực hiện tạo thêm số lượng các mục trong từng giao tác một cách ngẫu nhiên, lấy các giá trị trong
khoảng �1-10� và các giá trị lợi nhuận của mỗi mục cũng được tạo ra một cách ngẫu nhiên. Thuật toán đề xuất được so

sánh với các thuật tốn SMAU và SMIU trong cơng trình [11]. Các thuật toán được so sánh về thời gian thực hiện, chi
phí ẩn nhầm các tập mục khơng nhạy cảm (MC), độ tương tự về độ hữu ích của CSDL trước và sau quá trình ẩn (DUS)
và độ tương tự về độ hữu ích của các tập mục độ hữu ích cao trước và sau quá trình ẩn (IUS). Với các phép đo này, nếu
giá trị của MC càng lớn, tức là việc ẩn nhầm các tập mục không nhạy càng nhiều do đó thuật tốn khơng hiệu quả. Nếu
giá trị DUS và IUS càng lớn, tức là việc sửa đổi dữ liệu diễn ra ít hơn, việc giảm độ hữu ích của toàn bộ CSDL (DUS)
và độ hữu ích của các tập mục độ hữu ích cao (IUS) trước và sau q trình ẩn ít hơn thì thuật tốn được đánh giá là
hiệu quả trên các phép đo này.

Mushroom

60000

100

40000

99

DUS (%)

Thời gianthwcj hiện (ms)

Mushroom

20000

97

0
50


60

70

80

90

50

100

SMIU

60

70

80

90

100

Số tập mục nhạy cảm

Số tập mục nhạy cảm
SMAU


SMAU

ProAlg

SMIU

ProAlg

(a)

(b)

Mushroom

Mushroom
20

100
95
90
85
80
75

IUS (%)

MC (%)

98


15
10
5
0

50

60

70

80

90

100

50

SMIU
(c)

ProAlg

70

80

90


100

Số tập mục nhạy cảm

Số tập mục nhạy cảm
SMAU

60

SMAU

SMIU

ProAlg

(d)
Hình 2. Kết quả chạy thực nghiệm trên dữ liệu Mushroom

Trong quá trình ẩn các tập mục nhạy cảm làm sao để giảm thiểu các hiệu ứng phụ trên các thông tin không nhạy
cảm thường quan trọng hơn việc giảm thời gian thực hiện. Do đó, trong bài báo này sẽ tập trung vào việc giảm các hiệu
ứng phụ được tạo ra trong quá trình ẩn các tập mục độ hữu ích cao nhạy cảm.
Trong thực nghiệm chạy các thuật toán đề xuất (ProAlg) và các thuật toán trong [11], các phép đo để đánh giá là
thời gian thực hiện, MC, DUS và IUS trên hai bộ dữ liệu thực là BMS_2 và Mushroom. Hai bộ dữ liệu này đã được
nhiều cơng trình sử dụng để đánh giá các thuật tốn của mình.
B. Kết quả thực nghiệm
Trong phần này, sử dụng thuật toán EFIM [19] để khai thác các tập mục độ hữu ích cao trong CSDL BMS_2 và
Mushroom.


422


CHIẾN LƯỢC HIỆU QUẢ ẨN CÁC TẬP MỤC HỮU ÍCH CAO NHẠY CẢM TRÊN CƠ SỞ DỮ LIỆU GIAO TÁC

Trong Hình 1 là kết quả so sánh thuật tốn đề xuất (ProAlg) với các thuật toán SMAU và SMIU với số lượng số
tập mục nhạy cảm được lấy một cách ngẫu nhiên, với số lượng lần lượt là: 150, 180, 200, 250, 280 và 300 chạy trên
CSDL thưa BMS_2. Hình 1a cho thấy thời gian thực hiện của thuật toán đề xuất thường nhiều hơn so với hai thuật tốn
cịn lại. Tuy nhiêu, trong Hình 1(b), cho thấy thuật tốn SMIU hiệu quả nhất về phép đo DUS. Thuật toán đề xuất
(ProAlg) hiệu quả hơn thuật toán SMAU về độ đo DUS. Bên cạnh đó, Hình 1(d) lại cho thấy thuật toán đề xuất
(ProAlg) lại hiệu quả nhất về độ đo độ tương tự độ hữu ích các tập mục độ hữu ích cao (IUS), độ hữu ích của các tập
mục độ hữu ích cao của CSDL sau q trình ần của thuật toán đề xuất lớn nhất, điều này cũng chứng tỏ việc ẩn nhầm
các tập mục không nhạy cảm của thuật tốn đề xuất là ít nhất, như được thể hiện trong Hình 1c.
Tương tự, Hình 2 là kết quả chạy thực nghiệm trên CSDL Mushroom với số lượng số tập mục nhạy cảm được
lấy một cách ngẫu nhiên, với số lượng lần lượt là: 50, 60, 70, 80, 90 và 100. Kết quả cũng tương tự như trên, thời gian
thực hiện của thuật toán đề xuất (ProAlg) nhiều nhất. Tuy nhiên, thuật toán đề xuất (ProAlg) lại tốt nhất trên hai độ đo
MC và IUS. Về độ đo DUS, thuật toán đề xuất hiệu quả hơn nhiều so với thuật toán SMAU, nhưng vẫn kém thuật toán
SMIU. Điều này cũng đúng vì thuật tốn SMIU thường loại bỏ các mục có độ hữu ích nhỏ nhất. Cịn thuật tốn SMAU
thường loại bỏ các mục có độ hữu ích cao nhất.
VI. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Bài báo đã đề xuất được một thuật toán ẩn các tập mục độ hữu ích cao nhạy cảm trong CSDL giao tác hiệu quả
dựa vào chiến lược lựa chọn giao tác sửa đổi và mục sửa đổi đã được trình bày ở trên. Kết quả thực nghiệm đã cho
thấy, thuật toán đề xuất hiệu quả hơn thuật toán SMAU và SMIU trong cơng trình [11] về chi phí ẩn nhầm các tập mục
không nhạy (MC) và độ tương tự về độ hữu ích của các tập mục độ hữu ích cao (IUS) trên CSDL thực nghiệm. Về độ
đo độ tương tự của CSDL (DUS), thuật toán đề xuất tốt hơn thuật toán SMAU và kém hơn so với thuật toán SMIU.
Ngược lại, thời gian thực hiện của thuật toán đề xuất lại nhiều hơn hai thuật tốn cịn lại.
Trong tương lai, chúng tôi tiếp tục cải tiến và thử nghiệm thuật toán đề xuất trên các CSDL giao tác khác và so
sánh với các thuật toán ẩn khác để đánh giá tính hiệu quả của thuật tốn đề xuất.
TÀI LIỆU THAM KHẢO
[1]. Agrawal, R. and R. Srikant. Privacy-preserving data mining. Proceedings of the 2000 ACM SIGMOD international
conference on Management of data, 2000.
[2]. Atallah, M., et al. Disclosure limitation of sensitive rules. Proceedings 1999 Workshop on Knowledge and Data Engineering

Exchange (KDEX'99)(Cat. No. PR00453). 1999. IEEE.
[3]. Fournier‐Viger, P., et al., A survey of itemset mining. Wiley Interdisciplinary Reviews: Data Mining and Knowledge
Discovery, 7(4): p. e120, 2017.
[4]. Gkoulalas-Divanis, A., J. Haritsa, and M. Kantarcioglu, Privacy issues in association rule mining, in Frequent Pattern Mining.
Springer. p. 369-401, 2014.
[5]. Huynh Trieu, V., H. Le Quoc, and C. Truong Ngoc, An efficient algorithm for hiding sensitive-high utility itemsets. Intelligent
Data Analysis, 24(4): p. 831-845, 2020.
[6]. Krishnamoorthy, S., Pruning strategies for mining high utility itemsets. Expert Systems with Applications, 42(5): p. 23712381, 2015.
[7]. Lee, G. and Y. C. Chen, Protecting sensitive knowledge in association patterns mining. Wiley Interdisciplinary Reviews: Data
Mining and Knowledge Discovery, 2(1): p. 60-68, 2012.
[8]. Lin, C. W., et al., A GA-based approach to hide sensitive high utility itemsets. The Scientific World Journal, 2014.
[9]. Lin, J. C. W., et al. A sanitization approach of privacy preserving utility mining. in International Conference on Genetic and
Evolutionary Computing, 2015. Springer.
[10]. Lin, J. C. W., et al., Fast algorithms for hiding sensitive high-utility itemsets in privacy-preserving utility mining. Engineering
Applications of Artificial Intelligence, 55: p. 269-284, 2016.
[11]. Liu, X., S. Wen, and W. Zuo, Effective sanitization approaches to protect sensitive knowledge in high-utility itemset mining.
Applied Intelligence, 50(1): p. 169-191, 2020.
[12]. Mendes, R. and J. P. Vilela, Privacy-preserving data mining: methods, metrics, and applications. IEEE Access, 5: p. 1056210582, 2017.
[13]. O'Leary, D. E., Knowledge Discovery as a Threat to Database Security. Knowledge discovery in databases, 9: p. 507-516,
1991.
[14]. Selvaraj, R. and V. M. Kuthadi, A modified hiding high utility item first algorithm (HHUIF) with item selector (MHIS) for
hiding sensitive itemsets, 2013.
[15]. Verykios, V. S., Association rule hiding methods. Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery,
3(1): p. 28-36, 2013.
[16]. Vo, B., et al. An Efficient Method for Hiding High Utility Itemsets. in KES-AMSTA, 2013.
[17]. Yeh, J. S. and P. C. Hsu, HHUIF and MSICF: Novel algorithms for privacy preserving utility mining. Expert Systems with
Applications 37(7): p. 4779-4786, , 2010.
[18]. Yun, U. and J. Kim, A fast perturbation algorithm using tree structure for privacy preserving utility mining. Expert Systems
with Applications, 42(3): p. 1149-1165, 2015.
[19]. Zida, S., et al. EFIM: a highly efficient algorithm for high-utility itemset mining. Mexican international conference on

artificial intelligence, 2015. Springer.


Nguyễn Khắc Chiến, Nguyễn Trọng Nghĩa

423

AN EFFECTIVE STRATEGY TO HIDE SENSITIVE HIGH UTILITY ITEMSETS
IN TRANSACTION DATABASE
Nguyen Khac Chien, Nguyen Trong Nghia
ABSTRACT: The problem of hiding sensitive high utility itemsets is a topic of interest to many researchers. The goal of the
problem is to protect sensitive information in transactional databases, so that they cannot be discovered by methods of mining high
utility itemsets with the same minimum utility threshold. In addition, methods for hiding sensitive high utility itemsets attempt to
minimize side effects on non-sensitive information and on the integrity of the original database. Some commonly side effect
measures are being used, such as the Missing Cost (MC) of hiding non-sensitive itemsets, Database Utility Similarity (DUS) before
and after the hiding process, Itemset Utility Similarity (IUS) before and after the hidden process, etc. There are already some
effective hiding methods to deal with this problem, but these methods still cause undesirable side effects, such as hiding multiple
non-sensitive itemsets, similarity of low utility of database, etc. This paper proposes an efficient modification strategy to hide
sensitive high utility itemsets while minimizing side effects on non-sensitive information and increase database similarity.
Experimental results show that the proposed algorithm is more efficient than the existing algorithms in terms of side effects, such as
hiding less sensitive information, ensuring the quality of the database after the hiding process.



×