Chương 1 Bài toán khai thác tập mục độ hữu ích cao đã tìm ra các giá trị hữu ích dựa trên ngưỡng tối thiểu do người dùng quy định. Tuy nhiên, trong thực tế, dữ liệu trong thương mại, ngân hàng cần được chia sẻ. Vấn đề đặt ra là làm thế nào để dữ liệu vẫn được chia sẻ giữa các doanh nghiệp mà vẫn đảm bảo được tính bảo mật trong dữ liệu. Để giải quyết vấn đề đó, bài toán ẩn tập phổ biến có độ hữu ích cao ra đời.
Cụ thể tôi sẽ trình bày trong chương 2. 12 Chương 2: PHƯƠNG PHÁP ẨN TẬP MỤC CÓ ĐỘ HỮU ÍCH CAO 2. Bài toán ẩn tập mục có độ hữu ích cao nhạy cảm Mục tiêu của bài toán ẩn tập mục có độ hữu ích cao nhạy cảm 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 Các khái niệm Sửa đổi dữ liệu (Data sanitization) là quá trình chuyển đổi cơ sở dữ liệu ban đầu thành một cơ sở dữ liệu đã được sửa đổi, sao cho không thể khai thác các tập mục nhạy cảm (sensitive itemsets) từ cơ sở dữ liệu đã sửa đổi và giảm thiểu các hiệu ứng phụ trên các tập mục không nhạy cảm (non-sensitive itemsets). 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à SHUI = {S1, S2, …, Sm}, trong đó Sd ∈ SHUI, (1 ≤ d ≤ m).
Bài toán ẩn tập mục nhạy cảm là việc sửa đổi CSDL ban đầu thành CSDL D’ sao cho độ hữu ích của tất cả tập mục nhạy cảm Sd ∈ SHUI 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à u(Si ) < minutil, với i = 1 ÷ m.1: Gọi SHUI = {S1, S2, …, Sm} là tập hợp các mục nhạy cảm, trong đó Si là tập mục nhạy cảm cần được ẩn trước khi đưa CSDL ra bên ngoài, ta có SHUI, HUI. Gọi NSHUI là tập hợp các 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ó SHUI ∪ NSHUI = HUI.2: Gọi ST là tập hợp các giao tác nhạy cảm mà mỗi giao tác trong ST có chứa ít nhất một tập mục nhạy cảm. [3] 13 Quá trình sửa đổi dữ liệu của bài toán ẩn các tập mục nhạy cảm gồm ba bước sau: Bước 1: Áp dụng các thuật toán khai thác độ hữu ích cao trên cơ sở dữ liệu giao tác D để 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 (các tập mục độ hữu ích cao 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 cơ sở dữ liệu được sửa đổi D’. Sử dụng thuật toán Xác định tập hợp các Sử dụng thuật toán CSDL đã được CSDL ban đầu D khai thác tập mục tập mục có độ hữu ích ẩn tập mục có độ sửa đổi D có độ hữu cao để cao nhạy cảm SHUI hữu cao để ẩn các tìm HUI SHUI Hình 2.1 Quá trình sửa đổi cơ sở dữ liệu 2.
Một số 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 (item) có trong cơ sở dữ liệu giao tác để ẩn các tập mục có độ hữu ích cao nhạy cảm (các tập mụ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 tập mục độ hữu ích cao nhạy cảm) (bài toán ẩn các tập mục có độ hữu ích cao nhạy cảm) trong cơ sở dữ liệu, 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 toá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 toán khó và không khả thi.
Atallah và cộng sự [1] lần đầu tiên chứng minh bài toán sửa đổi tối ưu (optimal sanitization problem) là Bài toán khó (NP-hard) và đã đề xuất một thuật toán heuristic để ẩn các tập phổ biến nhạy cảm. Chiến lược heuristic dựa trên cấu 14 trúc của đồ thị tập phổ biến. Đối với mỗi tập phổ biến nhạy cảm (sensitive itemset), tổ tiên (ancestors) của tập phổ biến này được tìm kiếm để chọn tập cha (parent) có độ hỗ trợ (support) tối đa/lớn nhất như tập mục (itemset) mới phải được ẩn. Vào cuối quá trình này, một tập 1-itemset được chọn.
Giao tác với số lượng tập 2- itemset nhỏ nhất được chọn làm giao tác sửa đổi (victim transaction). Để giảm độ hỗ trợ (support) của tập mục nhạy cảm (sensitive itemset), tập 1-itemset (large-1 itemset) được xóa khỏi giao tác sửa đổi. Trong năm 2010, Yeh và cộng sự [9] 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 toán chọn mục có độ hữu ích cao nhất làm mục sửa đổi cho quá trình ẩn.
Thuật toá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. Sau đó, có một số tác giả khác cũng đề xuất các thuật toán nhằm cải tiến hai thuật toán trên, như Vo và cộng sự (2013) [8] đề xuất thuật toán nhằm cải tiến thuật toán HHUIF về mặt thời gian. Selvaraj và cộng sự (2013) [7] đề 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) [10] đề xuất thuật toán FPUTT để cải thiện tính hiệu quả của thuật toán HHUIF bằng cách sử dụng cấu trúc cây. Kết quả nhanh hơn HHUIF khoảng 5 đến10 lần. Tuy nhiên, các hiệu ứng phụ tạo ra cũng giống như HHUIF.
Lin và cộng sự [4] (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) [5] đề 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. Hai thuật toá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 15 HHUIF và MSICF.
Hơn nữa, thuật toán MSU-MIU tốt hơn thuật toán MSU-MAU do sử dụng phép chiếu tối ưu trong MSU-MIU. Trieu và cộng sự (2020) [2] đề xuất thuật toán cải tiến thuật toán HHUIF. Thuật toá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 chạy.
Xuan Liu và cộng sự (2020) [6] đề 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 [6] 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 quét CSDL. Trong đó, thuật toá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 toá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.3 Phương pháp ẩn tập mục độ hữu ích cao nhạy cảm Mục tiêu bài toán: Ẩn các tập mục có độ hữu ích cao nhạy cảm và giảm hiệu ứng phụ đối với tri thức không nhạy cảm do quá trình sửa đổi gây ra. Xuan Liu và cộng sự [6] đã đề xuất 2 thuật toán Heuristic: 1. Luận văn này sẽ nghiên cứu và tìm hiểu 2 thuật toán SMAU và SMIU trong công trình [6]. Sau đó, luận văn sẽ đề xuất ra được phương pháp hiệu quả để ẩn các tập mục độ hữu ích cao nhạy cảm nhằm khắc phục những hạn chế của 2 thuật toán này.
Chi tiết thuật toán đề xuất được trình bày trong Chương 3. 16 Chiến lược ẩn các tập mục độ hữu ích cao nhạy cảm trong CSDL giao tác là sửa đổi CSDL bằng cách giảm số lượng hoặc loại bỏ một số mục trong CSDL sao cho độ hữu ich của tập mục nhạy cảm giảm xuống dưới ngưỡng độ hữu ích tối thiểu (minutil). Quá trình sửa đổi tập trung vào hai nhiệm vụ sau: - Lựa chọn giao tác để sửa đổi. - Lựa chọn mục để giảm số lượng hoặc loại bỏ khỏi giao tác.
Thuật toán SMAU [6] Thuật toán được mô tả như sau: Ban đầu, tạo 2 bảng T-table và HUI-Table dòng 1. Các tập mục nhạy cảm được ẩn lần lượt. Với mỗi tập mục độ hữu ích cao Si, độ hữu ích cần giảm được tính như dòng 3. Tập mục nhạy cảm sẽ được ẩn khi độ hữu ích được giảm xuống dưới ngưỡng tối thiểu minutil (dòng 4-14).
Tìm các giao tác nhạy cảm ST (dòng 5). Chọn giao tác sửa đổi là giao tác hỗ trợ ít tập mục độ hữu ích cao không nhạy cảm (dòng 6). Xác định mục sửa đổi là mục có độ hữu ích lớn nhất trong tập mục mà giao tác sửa đổi hỗ trợ (dòng 7). Nếu độ hữu ích cần giảm lớn hơn hiệu của độ hữu ích của mục sửa đổi và lợi nhuận của mục đó thì xóa mục sửa đổi (dòng 7-8) ngược lại giảm độ hữu ích một lượng bằng cận trên của độ hữu ích cần sửa đổi chia cho lợi nhuận mục sửa đổi (dòng 11).