TỔNG QUAN CHÍNH SÁCH CHIA SẺ DỮ LIỆU VÀ QUYỀN RIÊNG TƯ
Tại sao ta cần phải chia sẻ dữ liệu ?
Chia sẻ dữ liệu mang lại lợi ích cho nhà nghiên cứu, nhà tài trợ nghiên cứu, kho lưu trữ dữ liệu, cộng đồng khoa học và công chúng Nó khuyến khích kết nối và hợp tác nhiều hơn giữa các nhà khoa học và khoa học tốt hơn dẫn đến việc ra quyết định hiệu quả hơn Chia sẻ dữ liệu thường được khuyến khích trong cộng đồng khoa học nhưng nó đòi hỏi rất nhiều nỗ lực, nguồn lực và sự hợp tác Chuẩn bị dữ liệu để được chia sẻ cần có thời gian và tài liệu cẩn thận về quá trình nghiên cứu và kết quả dữ liệu
Dữ liệu chia sẻ cho nhà nghiên cứu và nhà tài trợ nghiên cứu sẽ mang lại lợi ích cho đôi bên Việc chia sẻ dữ liệu sẽ khuyến khích các nhà nghiên cứu quản lý tốt hơn dữ liệu của họ và đảm bảo dữ liệu của họ có chất lượng cao Các nhà tài trợ nghiên cứu có thể hưởng lợi từ dữ liệu chia sẻ bằng cách kích thích sự quan tâm và huy động tiếp tục nghiên cứu trong lĩnh vực khoa học của họ Do đó, chia sẻ dữ liệu có thể giúp nâng cao sự công nhận và nổi bật cho cả nhà nghiên cứu và nhà tài trợ nghiên cứu.
Chia sẻ dữ liệu khuyến khích kết nối và hợp tác nhiều hơn giữa các nhà nghiên cứu, điều này có thể dẫn đến những phát hiện mới quan trọng trong lĩnh vực này Trong thời gian giảm đầu tư tiền tệ cho khoa học và nghiên cứu, chia sẻ dữ liệu hiệu quả hơn vì nó cho phép các nhà nghiên cứu chia sẻ tài nguyên Chia sẻ dữ liệu cho phép các nhà nghiên cứu xây dựng dựa trên công việc của người khác thay vì lặp lại nghiên cứu hiện có Chia sẻ dữ liệu cũng cho phép các nhà nghiên cứu thực hiện phân tích tổng hợp về chủ đề nghiên cứu hiện tại Các phân tích tổng hợp rất quan trọng để thu thập các xu hướng lớn hơn trong một khu vực hoặc chủ đề rộng hơn Do đó chia sẻ dữ liệu đảm bảo việc tiếp tục sản xuất các loại phân tích này
Chia sẻ dữ liệu làm tăng lưu thông và sử dụng dữ liệu trong cộng đồng khoa học bằng cách khuyến khích tính minh bạch tốt hơn, cho phép tái tạo kết quả và thông báo cho cộng đồng khoa học lớn hơn Điều này, có thể mang lại lợi ích lớn cho công chúng vì thông tin tốt hơn và được phổ biến rộng rãi hơn có thể dẫn đến việc ra quyết định sáng suốt cho quy hoạch và chính sách môi trường.
Mối quan tâm trong chia sẽ dữ liệu
Mặc dù có nhiều lợi ích thu được từ việc chia sẻ dữ liệu, có những cân nhắc quan trọng mà các nhà nghiên cứu phải nhận thức được khi chia sẻ dữ liệu của họ Có những lo ngại rằng những người khác sẽ sử dụng dữ liệu không phù hợp hoặc ra khỏi bối cảnh từ mục đích ban đầu của nghiên cứu Ngoài ra, dữ liệu có thể có thông tin nhạy cảm và e ngại về việc duy trì bảo mật là hợp lý
Cuối cùng, các nhà nghiên cứu cũng có thể không yên tâm về viễn cảnh không nhận được sự thừa nhận của những người khác sử dụng dữ liệu của họ hoặc người khác sẽ sử dụng dữ liệu của họ để đạt được lợi thế cạnh tranh Mặc dù đây là những mối quan tâm hợp lệ, nhưng thường duy trì các thực tiễn chia sẻ dữ liệu tốt và tạo ra siêu dữ liệu toàn diện có thể giải quyết phần lớn các vấn đề này.
Dữ liệu độc quyền và nhạy cảm
Dữ liệu độc quyền thường được ghi lại trong các hợp đồng và về mặt pháp lý không nên được công bố hoặc tiết lộ cho các thực thể bên ngoài
Ví dụ về dữ liệu độc quyền: Dữ liệu địa chất và địa vật lý, như bản đồ tài sản, hồ sơ và dự toán dự trữ; dữ liệu nước, như sản xuất và sử dụng nước; và dữ liệu sinh học, chẳng hạn như dữ liệu về các loài chim và các loài có nguy cơ tuyệt chủng, được cung cấp bởi người tư nhân và các công ty
Dữ liệu nhạy cảm là dữ liệu "nếu được phát hành ra công chúng sẽ dẫn đến" tác động bất lợi "đối với đơn vị phân loại hoặc một cá nhân đang sống" hoặc dữ liệu có thể có ý nghĩa kinh tế quan trọng nếu được tiết lộ trước khi phát hành công khai
Ví dụ về dữ liệu nhạy cảm:
+ Dữ liệu về các loài bị đe dọa hoặc có nguy cơ tuyệt chủng, được thu mà chưa được khái quát hoặc tổng hợp
+ Đánh giá tài nguyên năng lượng và khoáng sản và báo cáo hàng hóa khoáng sản thường có ý nghĩa kinh tế quan trọng không được tiết lộ hoặc chia sẻ trước khi phát hành công khai vì việc phát hành trước trong những trường hợp này có thể dẫn đến lợi thế không công bằng hoặc nhận thức về lợi thế không công bằng.
Tính riêng tư là gì ?
Tính riêng tư là tính chất của các dữ liệu nhạy cảm như: định danh, tên, địa chỉ, điện thoại, thu nhập,… của các cá nhân, một số số liệu thống kê các tổ chức, doanh
9 nghiệp… Các thông tin này là bí mật kinh doanh, mà nếu để lộ ra sẽ gây bất lợi cho cá nhân, tổ chức, hay những thông tin do quy định của pháp luật nên không thể tiết lộ ra như bảo hiểm y tế, số tài khoản ngân hàng, Những loại thông tin như trên gọi là những thông tin có tính riêng tư hay là tri thức nhạy cảm
Qua các mục trình bày ở trên chúng ta thấy lợi ích của việc chia sẽ thông tin và cũng như các bất cập gặp phải khi chúng ta chia sẻ dữ liệu
Vậy vấn đề đặt ra là làm sao hài hòa được giữa hai vấn đề vốn mang tính đối lập nhau, chia sẻ dữ liệu mà vẫn đảm bảo được tính riêng tư của liệu Đây là lý do tôi chọn đề tài : “ẨN DANH HÓA DỮ LIỆU CÓ QUAN TÂM LUẬT KẾT HỢP”.
Mục tiêu của đề tài
Với 2 vấn đề đặt ra ở trên là làm sao dữ liệu được chia sẻ phục vụ cho việc khai phá dữ liệu và đồng thời thông tin riêng tư trong đó được bảo vệ Đề tài sẽ có các mục tiêu sau:
- Tìm và thu thập dữ liệu khám chữa bệnh y tế để làm dữ liệu kiểm thử
- Xây dựng thuật toán và hiện thực để cho ra kết quả là file dữ liệu với K dòng giống nhau, trong đó sẽ lưu giữ lại một số luật kết hợp mà đã cho trước
- Triển khai ứng dụng giao diện lên web với mục đích dễ dàng cho các đơn vị tổ chức có nhu cầu sử dụng.
Giới hạn đề tài
-Nghiên cứu này giành một tổ chức, cơ quan, công ty muốn chia sẻ dữ liệu mà thông tin các nhân trong dữ liệu sẽ được bảo vệ tính riêng trong dữ liệu
-Đề tài thực hiện việc che giấu, làm mờ thông tin riêng tư cá nhân trong dữ liệu, tuy nhiên không bảo vệ an toàn tuyệt đối, kẻ tấn công có thể lần ra thông tin nếu hệ số K nhỏ
-Thuật toán sẽ làm dữ liệu bị thay đổi so với dữ liệu gốc theo hệ số K và ngưỡng cho trước, hệ số K càng lớn thì dữ liệu sẽ bị biến đổi càng nhiều
-Dữ liệu được sử dụng đề tài này là dữ liệu khám chữa bệnh y tế của người dân khi đến khám chữa bệnh ở các cơ sở y tế.
Định hướng phương pháp nghiên cứu
- Thực hiện phương pháp kế thừa trên cơ sở kiến thức về luật kết hợp về K- anonymity, một vài thuật toán, kết quả của các bài báo
- Thực hiện phương pháp tổng hợp, phân tích, phương pháp kiểm thử -lựa chọn để chọn và bổ sung thuật toán cho phù hợp với yêu cầu đặt ra
- Thực hiện phương pháp thu thập dữ liệu từ trạm y tế xã/phường bằng phương pháp chia sẻ dữ liệu để có dữ liệu kiểm thử
- Thực hiện phương pháp tiền xử lý dữ liệu để lọc bỏ các thông tin dư thừa không cần thiết, loại bỏ dấu tiếng việt
- Thực hiện phương pháp thực nghiệm để kiểm định kết quả và đánh giá độ chính xác
CÁC KỸ THUẬT BẢO VỆ THÔNG TIN TRONG KHAI PHÁ DỮ LIỆU
Giới thiệu
Trong thời đại số hóa, bảo mật dữ liệu và phân phối chia sẻ dữ liệu là khó đạt được Các tổ chức thu thập thông tin về khách hàng hoặc người dùng của họ để khai thác hoặc sử dụng cho mục đích khác Thông tin thu thập có thể là âm thanh, video, hình ảnh và văn bản, vv Kết quả thu dữ liệu có thể là terabyte
Với sự tiến bộ của phương pháp phân tích và xử lý dữ liệu,các doanh nghiệp, ngành công nghiệp và chính phủ, nó đề xuất giải pháp,tìm ra dịch bệnh hoặc mô hình kinh tế….Mặc dù các phần dữ liệu được phát hành cung cấp có giá trị cho các nhà nghiên cứu, và chúng cũng bao gồm dữ liệu nhạy cảm mà sự riêng tư cũng bị đe dọa
Quyền riêng tư: là việc sử dụng thông tin cá nhân của người dùng, xử lý thông tin sai lệch và kiểm soát quyền truy cập vào thông tin cá nhân
Bảo mật trong khai thác dữ liệu : là một hướng nghiên cứu sáng tạo trong khai thác dữ liệu và thống kê, trong đó các quy trình khai thác dữ liệu được phân tích cho các hiệu ứng khía cạnh mà chúng phải chịu trong bảo mật dữ liệu.
Các mối đe dọa
Mối đe dọa chính của quyền riêng tư là tiết lộ danh tính và thông tin cá nhân, rất nhạy cảm Có một số loại mối đe dọa quyền riêng tư có thể tiết lộ thông tin nhạy cảm:
-Công khai danh tính(Identity disclosure)
-Công khai thuộc tính(Attribute disclosure)
-Công khai thông tin thành viên(Membership disclosure)
Các kỹ thuật bảo vệ thông tin trong khai phá dữ liệu (privacy presrving data mining techniques(PPDM))
Có nhiều kỹ thuật,nhìn chung cho các kỹ thuật này có thể được phân loại thành 5 giai đoạn :
-Thuật toán khai phá dữ liệu:(Data Mining Algorithm )
-Ẩn dữ liệu (Data hiding )
-Kỹ thuật bảo vệ quyền riêng tư (Privacy Preservation Technique )
Với 5 kỹ thuật nên trên có thể được phân loại 3 cách:
-Heuristic approach: chỉ là về sử dụng đối với cơ sở dữ liệu tập trung(cho dữ liệu thô, dữ liệu tổng hợp)
-Reconstruction approach: được sử dụng cho cơ sở dữ liệu tập trung(cho dữ liệu thô) phương pháp phân phối thống kê được sử dụng
-Cryptography approach: hoạt động trên cơ sở dữ liệu phân tán(dữ liệu thô, dữ liệu tổng hợp)
Hình 2.1 các kỹ thuật bảo vệ quyền riêng tư trong khai phá dữ liệu
Các kỹ thuật PPDM có thể được phân loại thêm, trong đó theo những cách tiếp cận này là cách tiếp cận dựa trên ẩn danh(Anonymization ):
13 2.3.1 Kỹ thuật ẩn danh (Anonymization)
-Mục đích của thủ tục ẩn danh là để che giấu sự nhạy cảm hoặc riêng tư thông tin về một cá nhân
-Ẩn danh là một chiến lược để giữ lại dữ liệu, để thông tin gốc sẽ được thay thế thành dữ liệu ẩn Phương pháp k-anonymity nói rằng dữ liệu không thể phân biệt trong
K hồ sơ Điều này có thể được thực hiện bằng cách sử dụng các kỹ thuật Tổng quát hóa(Generalization) và Đàn áp (suppression)
Hình 2.2 Phương pháp k-anonymity sử dụng kỹ thuật tổng quát hóa
2.3.2 Kỹ thuật ngẫu nhiên (Randomization)
-Cách tiếp cận đáp ứng ngẫu nhiên là một cách để che dấu bản gốc thông tin bằng cách thêm một số dữ liệu ngẫu nhiên hoặc tiếng ồn(noise)
-Dữ liệu được thêm vào phải lớn nhất có thể do đó dữ liệu về ai đó không thể được phục hồi
-Quá trình đáp ứng ngẫu nhiên được thực hiện theo 2 giai đoạn:
+Trong giai đoạn chính: thông tin ban đầu được ngẫu nhiên hóa và chuyển sang phía người nhận
+Trong giai đoạn phụ: người nhận tái cấu trúc dữ liệu gốc từ dữ liệu ngẫu nhiên bằng thuật toán tái cấu trúc phân phối
Hình 2.3 kỹ thuật ngẫu nhiên
Cách tiếp cận nhiễu là làm sửa đổi các giá trị thông tin thông thường bằng các giá trị thông tin tổng hợp, để dữ liệu được tính toán từ dữ liệu bị nhiễu không phân biệt được với tính toán từ dữ liệu gốc Cách tiếp cận nhiễu loạn là có 2 loại:
+Additive perturbation: Trong loại phụ gia, tiếng ồn ngẫu nhiên là thêm vào dữ liệu gốc
+Multiplicative perturbation: Trong kiểu nhân, phương pháp xoay ngẫu nhiên(random rotation method) được sử dụng để gây nhiễu dữ liệu
2.3.4 Kỹ thuật ngưng tụ (Condensation):
-Phương pháp ngưng tụ xây dựng các cụm bị ràng buộc trong tập dữ liệu sau đó tạo ra thông tin giả từ số liệu thống kê của các cụm này
-Kỹ thuật này được gọi là ngưng tụ vì cách tiếp cận của nó là sử dụng số liệu thống kê cô đọng của các cụm để tạo dữ liệu giả
-Nó tạo ra các đơn vị có nhiều kích thước dữ liệu, sao cho chắc chắn rằng mỗi và mọi bản ghi đều nằm trong một bộ có kích thước ít nhất giống với mức ẩn danh của nó
-Phát triển, dữ liệu giả được tạo ra từ mỗi và mọi bộ để có thể tạo một bộ thông tin tổng hợp với phân phối hỗn hợp bằng nhau như thông tin được chỉ định Cách tiếp cận này cũng có thể được sử dụng đơn giản cho trong việc gặp trở ngại phân loại
2.3.5 Kỹ thuật mã hóa(Cryptography):
-Các thủ tục mã hóa có ý nghĩa lý tưởng cho các tình huống như nhiều bên hợp tác để tính toán kết quả hoặc chia sẻ kết quả khai thác không có chứa thông tin nhạy cảm và do đó tránh được việc tiết lộ
-Thủ tục mã hóa để tìm tiện ích của nó trong những tình huống như vậy được đưa ra bởi 2 động lực:
15 +Đầu tiên, nó cung cấp một mô hình được xác định rõ về tính riêng tư bao gồm các phương pháp để chứng minh và định lượng nó
+Thứ hai, cần phải có một bộ các thuật toán lớn và cấu trúc mã hóa để áp dụng các phương thức khai thác dữ liệu bảo mật riêng tư khu vực này
-Tuy nhiên, công trình gần đây đã chỉ ra rằng mật mã không bảo vệ đầu ra của một tính toán Thay vào đó, nó ngăn chặn rò rỉ quyền riêng tư trong quá trình tính toán
Do đó, nó không thể cung cấp một câu trả lời đầy đủ cho vấn đề bảo mật dữ liệu khai thác
2.3.6 Ưu điểm và Nhược điểm của các phương pháp PPDM:
Kỹ thuật Ưu điểm Nhược điểm
Anonymization Cách này bảo vệ thông tin cá nhân với các thuộc tính nhạy cảm
Tấn công bằng liên kết, bị mất thông tin
Randomization Kỹ thuật đơn giản; hiệu quả
Không phù hợp cho dữ liệu có nhiều thuộc tính, mất nhiều thông tin trong dữ liệu
Perturbation Kỹ thuật đơn giản;làm ảnh hưởng riêng biệt trên mỗi thuộc tính
Sự bóp méo chỉ là cách để tái tạo lại giá trị ban đầu
Sự mơ hồ về mức độ tương đương của các mẫu tin khác nhau
Condensation Thích hợp cho dữ liệu giả;
Cách tiếp cận tốt hơn so với sửa đổi trong dữ liệu gốc
Dữ liệu giả có cùng định dạng với dữ liệu gốc
Cryptography Cách tiếp cận phù hợp
Cung cấp bộ công cụ lớn để bảo vệ thông tin nhạy cảm
Tính mở rộng quy mô khó khăn khi có nhiều bên tham gia
Bảng 2 1 So sánh thuận lợi và bất lợi của các phương pháp PPDM
KHAI PHÁ DỮ LIỆU VÀ LUẬT KẾT HỢP
Tổng quan về khai phá dữ liệu( data mining)
Khai phá là quá trình trích xuất thông tin, khám phá tri thức có mối tương quan nhất định từ một kho dữ liệu khổng lồ nhằm mục đích dự đoán các xu thế, hành vi trong tương lai hoặc tìm kiếm tập các thông tin hữu ích mà bình thường không thể nhận diện được
3.1.2 Tại sao cần khai phá dữ liệu?
Lượng thông tin được lưu trữ trên các thiết bị điện tử (đĩa cứng, CD-ROM, băng từ, v.v.) không ngừng tăng lên khoảng hơn một thập kỷ trở lại đây Sự tích lũy dữ liệu này xảy ra với một tốc độ bùng nổ Người ta ước đoán rằng lượng thông tin trên toàn cầu tăng gấp đôi sau khoảng hai năm và theo đó số lượng cũng như kích cỡ của các cơ sở dữ liệu cũng tăng lên một cách nhanh chóng Nói một cách hình ảnh là chúng ta đang
“ngập” trong dữ liệu nhưng lại “đói” tri thức Câu hỏi đặt ra là liệu chúng ta có thể khai thác được gì từ những “núi” dữ liệu tưởng chừng như “bỏ đi” ấy không ?
Khai phá dữ liệu ra đời như một hướng giải quyết hữu hiệu cho câu hỏi vừa đặt ra ở trên Tuy nhiên có thể tạm hiểu rằng khai phá dữ liệu như là một công nghệ tri thức giúp khai thác những thông tin hữu ích từ những kho dữ liệu được tích trữ trong suốt quá trình hoạt động của một công ty, tổ chức nào đó
3.1.3 Lợi ích của việc khai thác dữ liệu là gì?
-Trong lĩnh vực tài chính ngân hàng, khai thác dữ liệu được sử dụng để tạo ra các mô hình rủi ro chính xác cho các khoản vay và thế chấp Họ cũng rất hữu ích khi phát hiện các giao dịch gian lận
-Trong tiếp thị, kỹ thuật khai thác dữ liệu được sử dụng để cải thiện chuyển đổi, tăng sự hài lòng của khách hàng và tạo ra các chiến dịch quảng cáo được nhắm mục tiêu, thậm chí họ có thể được sử dụng khi phân tích nhu cầu trên thị trường và tìm ra ý tưởng cho các dòng sản phẩm hoàn toàn mới Điều này được thực hiện bằng cách xem dữ liệu khách hàng và bán hàng lịch sử và tạo ra các mô hình dự đoán mạnh mẽ
17 -Các cửa hàng bán lẻ sử dụng các thói quen / chi tiết mua sắm của khách hàng để tối ưu hóa cách bố trí các cửa hàng của họ nhằm nâng cao trải nghiệm của khách hàng và tăng lợi nhuận
-Các cơ quan quản lý thuế sử dụng các kỹ thuật khai thác dữ liệu để phát hiện các giao dịch gian lận và khai thuế đáng ngờ hoặc các tài liệu kinh doanh khác
-Trong sản xuất, phát hiện dữ liệu được sử dụng để cải thiện an toàn sản phẩm, khả năng sử dụng
3.1.4 Các giai đoạn của khai phá dữ liệu: a Làm sạch dữ liệu (data cleaning & preprocessing): Loại bỏ nhiễu và các dữ liệu không cần thiết b Tích hợp dữ liệu: (data integration): quá trình hợp nhất dữ liệu thành những kho dữ liệu (data warehouses & data marts) sau khi đã làm sạch và tiền xử lý (data cleaning & preprocessing) c Trích chọn dữ liệu (data selection): trích chọn dữ liệu từ những kho dữ liệu và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức Quá trình này bao gồm cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy đủ (incomplete data), v.v d Chuyển đổi dữ liệu: Các dữ liệu được chuyển đổi sang các dạng phù hợp cho quá trình xử lý e Khai phá dữ liệu(data mining): Là một trong các bước quan trọng nhất, trong đó sử dụng những phương pháp thông minh để chắt lọc ra những mẫu dữ liệu f Ước lượng mẫu (knowledge evaluation): Quá trình đánh giá các kết quả tìm được thông qua các độ đo nào đó g Biểu diễn tri thức (knowledge presentation): Quá trình này sử dụng các kỹ thuật để biểu diễn và thể hiện trực quan cho người dùng
18 Hình 3.1 các bước trong khai phá dữ liệu
3.1.4 Các phương pháp chính trong khai phá dữ liệu: a Phương pháp luật kết hợp
Một trong những chủ đề phổ biến của khai phá dữ liệu(KPDL) là khai phá luật kết hợp Mục đích của khai phá luật kết hợp là xác định mối quan hệ, sự kết hợp giữa các mục dữ liệu (item) trong một cơ sở dữ liệu(CSDL) lớn b Phương pháp cây quyết định
Mô tả tri thức dạng đơn giản nhằm phân các đối tượng dữ liệu thành một số lớp nhất định Các nút của cây được gán nhãn là tên các mục dữ liệu, các cạnh được gán các giá trị có thể của các mục dữ liệu, các lá mô tả các lớp khác nhau Các đối tượng được phân lớp theo các đường đi trên cây, qua các cạnh tương ứng với các giá trị của mục dữ liệu tới lá
Có nhiều phương pháp được sử dụng trong phân cụm, phương pháp k-Mean được coi là các kỹ thuật cơ bản của phân cụm Với phương pháp này sẽ chia tập có n đối tượng thành k cụm sao cho các đối tượng trong cùng một cụm thì giống nhau, các đối tượng khác cụm thì khác nhau
-Các phương pháp dựa trên mẫu
19 Phương pháp này sử dụng khai phá chuỗi theo thời gian (Sequential temporal patterns) Xét về mặt kỹ thuật thì tương tự như KPDL bằng luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Một luật mô tả mẫu tuần tự có dạng tiêu biểu X -> Y phản ánh sự xuất hiện của biến cố X sẽ dẫn đến việc xuất hiện kế tiếp biến cố Y Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán bởi chúng có tính dự báo cáo.
Khai phá dữ liệu đảm bảo tính riêng tư?
Vậy khai phá dữ liệu đảm bảo tính riêng tư là việc dùng các thuật toán để trích rút ra những tri thức quan trọng cần thiết cho mục đích khai phá dữ liệu mà không làm lộ ra các thông tin nhạy cảm của các cá nhân, tổ chức có trong tập dữ liệu.
Khai phá luật kết hợp trong cơ sở dữ liệu
+ Giao dịch: danh sách các mặt hàng (mục:item) trong một phiếu mua hàng của khách hàng Giao dịch T là một tập mục
- Toàn bộ tập các mục I={i1,i2, ik} “tất cả các mặt hàng” Một giao dịch là một tập con của I: T I Mỗi giao dịch T có một định danh TID
- A là một tập mục A I và T là một giao dịch: Gọi T chứa A nếu A T +Luật kết hợp
- Gọi A → B là một “luật kết hợp” nếu A T, B T và A B=
- Luật kết hợp A→B có độ hỗ trợ (support) s trong CSDL giao dịch D nếu trong
D có s% các giao dịch T chứa AB:chính là xác suất P(AB) Tập mục A có P(A) ≥s>0 (với s cho trước) được gọi là tập phổ biến (frequent set) Luật kết hợp A→B có độ tin cậy (confidence) c trong CSDL D nếu như trong D có c% các giao dịch T chứa A thì cũng chứa B: chính là xác suất P(B│A)
- Luật A→B được gọi là bảo đảm độ hỗ trợ s trong D nếu s(A→B)≥s
-Luật A → B được gọi là bảo đảm độ tin cậy c trong D nếu c(A→B)≥c Độ hỗ trợ (Support)
* Độ hỗ trợ của một tập mục X trong cơ sở dữ liệu D là tỉ số giữa các giao tác T
D có chứa tập X là tổng số giao tác trong D (hay là phần trăm của các giao tác trong
D có chứa tập mục X), kí hiệu là Supp (X)
*Ta có 0 sự kết hợp giữa tạp chí thể thao với tạp chí về về ô tô (80% là độ tin cậy của luật)
Ví dụ 3.1.2: Ngân hàng muốn thu thập thông tin về lịch sử tín dụng của khách hàng thấy có một luật: 75% khách hàng vay mua nhà và mua xe và có thu nhập hàng tháng dưới 7 triệu thì không có khả năng thanh toán nợ => sự kết hợp giữa vay mua nhà và mua xe, có thu nhập dưới 7 triệu với khả năng thanh toán nợ.(75% là độ tin cậy của luật)
Ví dụ 3.1.3: 20% trên tổng số khách hàng có tài khoản tiết kiệm có thu nhập lớn hơn hoặc bằng 60 triệu một năm với độ tin cậy là 100%
Thu nhập= 60.000.000_max →Tài khoản tiết kiệm= yes [20% ; 100%]
3.3.2 Khai phá luật kết hợp
Khai phá luật kết hợp: là tìm các mẫu phổ biến, sự kết hợp, sự tương quan, hay các cấu trúc nhân quả giữa các tập đối tượng trong các cơ sở dữ liệu giao tác được gọi là các luật kết hợp
Các ứng dụng: Luật kết hợp có ứng dụng trong nhiều lĩnh vực khác nhau của đời sống như: khoa học, hoạt động kinh doanh, tiếp thị, thương mại, phân tích thị trường chứng khoán, tài chính và đầu tư,
Từ các luật kết hợp được trích rút từ chính các cơ sở dữ liệu giao dịch, cơ sở dữ liệu khách hàng mà các siêu thị, các ngân hàng sẽ có chiến lược kinh doanh (sắp xếp các mặt hàng, số lượng các mặt hàng, ), chiến lược tiếp thị, quảng cáo,… để từ đó thúc đẩy hoạt động kinh doanh của mình.
Các phương pháp khai phá luật kết hợp có đảm bảo tính riêng tư
Khai phá luật kết hợp có đảm bảo tính riêng tư là quá trình khai phá các luật kết hợp trong các cơ sở dữ liệu, đồng thời vẫn đảm bảo các thông tin riêng tư của các cá nhân hoặc tổ chức trong các cơ sở dữ liệu không bị lộ cho người khai phá
Tuỳ thuộc vào đặc trưng của nguồn dữ liệu, mô hình dữ liệu mà chúng ta có thể phân chia thành các loại bài toán khai phá luật kết hợp có đảm bảo tính riêng tư khác nhau:
3.4.1 Khai phá luật kết hợp có đảm bảo tính riêng tư với dữ liệu tập trung
Trong bài toán này, người ta giả thiết có một tổ chức sở hữu tập dữ liệu, trong tập dữ liệu có một số thuộc tính nhạy cảm Tổ chức này mong muốn công bố tập dữ liệu
22 cho mục đích nghiên cứu, ví dụ: khai phá luật kết hợp, đồng thời mong muốn bảo vệ các thông tin riêng tư trong tập dữ liệu
Một phương pháp cơ bản để giải quyết bài toán này là thực hiện biến đổi dữ liệu để ẩn các thông tin nhạy cảm trước khi đưa vào khai thác như vậy sẽ không tiết lộ thông tin nhạy cảm
Hình 3.2 Quá trình khai phá luật kết hợp trên CSDL tập trung
Ví dụ 3.1 Một công ty bán hàng muốn nghiên cứu về nhu cầu mua hàng hoá vào mùa hè sắp tới để có phương pháp huy động vốn và đầu tư mặt hàng cho phù hợp và hiệu quả Họ sẽ cung cấp dữ liệu cho chuyên gia để nghiên cứu, tuy nhiên họ lại không muốn để lộ các thông tin về bán hàng của họ Để làm được việc này họ đã biến đổi dữ liệu trước khi chuyển giao cho việc nghiên cứu
Ví dụ 3.2 Một ngân hàng thực hiện khai phá dữ liệu nghiên cứu về khả năng thanh toán nợ của khách hàng dựa trên lịch sử tín dụng của khách hàng trên CSDL của họ Họ sẽ cung cấp dữ liệu cho chuyên gia để nghiên cứu, tuy nhiên họ lại không muốn để lộ các thông tin của khách hàng Để làm được việc này họ đã biến đổi dữ liệu trước khi chuyển giao cho việc nghiên cứu
3.4.2.Khai phá luật kết hợp có đảm bảo tính riêng tư với dữ liệu phân tán
Giả thiết rằng tập dữ liệu được phân tán thành nhiều phần theo chiều ngang hoặc theo chiều dọc trên một nhóm các tổ chức (thành viên), mỗi thành viên sở hữu một tập dữ liệu riêng Vấn đề đặt ra là làm thế nào để các tổ chức có thể chia sẻ tập dữ liệu cho nhau nhằm khai phá ra các luật kết hợp trên tập dữ liệu liên kết của các thành viên, trong khi vẫn bảo vệ được tính riêng tư của mỗi thành viên tham gia
CSDL Đã biến đổi Tri thức
23 Các site khác nhau thu thập cùng các đặc trưng về thông tin của các thực thể khác nhau Cũng có thể hiểu là các Site khác nhau nắm giữ cùng các thuộc tính của các đối tượng khác nhau
Bảng 4.1 Ví dụ về mô hình dữ liệu phân tán ngang
Ví dụ 3.3 Ngân hàng Nhà nước thực hiện khai phá dữ liệu nghiên cứu về khả năng thanh toán nợ của khách hàng dựa trên lịch sử tín dụng của khách hàng trên CSDL của các ngân hàng thương mại Nhưng các ngân hàng này không muốn để lộ thông tin khách hàng cho các ngân hàng khác Khi đó yêu cầu đặt ra là phải thực hiện khai phá luật kết hợp ứng dụng trên CSDL phân tán ngang đảm bảo tính riêng tư
Các site thu thập các đặc trưng khác nhau của cùng tập thực thể, ví dụ: Bệnh viện thu thập các thông tin về bệnh nhân, các chứng bệnh Nhà cung cấp dịch vụ viễn thông cung cấp về thông tin khách hàng, thời gian gọi điện, thời lượng gọi điện…
Tổng hợp 2 cơ sở dữ liệu này lại để nghiên cứu về một mối tương quan giữa các bệnh có thể sinh ra do nguyên nhân sử dụng điện thoại di động
Bảng 4.2 Ví dụ về mô hình dữ liệu phân tán dọc
ĐỀ XUẤT KỸ THUẬT BẢO VỆ TINH RIÊNG TƯ TRONG CHIA SẺ DỮ LIỆU
Đặt vấn đề
Hiện có rất nhiều tổ chức đang thu nhận dữ liệu cá nhân của chúng ta như: Bệnh viện, trường học, ngân hàng, các website mua bán trực tuyến, công ty bảo hiểm, các cơ quan chính quyền,…Ví dụ như thông tin cá nhân của bệnh nhân như: họ tên, ngày sinh, địa chỉ, giới tính, chuẩn đoán mắc các bệnh sẽ được lưu lại ở các cơ sở y tế, bệnh viện Đây là các thông tin cần ghi nhận lại cho các bác sĩ chuẩn đoán bệnh ở các lần khám sau và là cơ sở minh chứng cho đơn vị khám chữa bệnh
Công nghệ khai phá dữ liệu( data mining) sẽ rất có hữu ích cho các nhà phân tích, thống kê để đưa ra dự báo và tuyên đoán Các dữ liệu, sẽ được xử lý, phân tích bởi các trường đại học, các nhà khoa học, các công ty, các nhà phát triển ứng dụng, để tạo ra các ứng dụng, dịch vụ mới có giá trị cao Ví dụ như dựa vào dữ liệu khám chữa bệnh y tế khi khai phá dữ liệu có thể biết được những mối liên hệ (luật kết hợp) như bệnh tăng huyết áp => bệnh đái tháo đường?, bệnh cảm cúm => bệnh ho ?, với tỉ lệ bao nhiêu, để từ đó các chuyên gia y tế có phương hướng, đề xuất, giải pháp, đánh giá, trong việc chữa bệnh được tốt hơn
Trong quá trình khai phá dữ liệu có thể có những luật nhạy cảm không muốn bị lộ, ví dụ: Trong ngân hàng có một số luật được tìm thấy nhưng lại rất nhạy cảm, ngân hàng không muốn tiết lộ ra vì nếu tiết lộ ra sẽ làm ảnh hưởng đến khách hàng, hoặc ảnh hưởng đến ngân hàng, ví dụ như khách hàng sử dụng dịch vụ A và sử dụng dịch vụ B thì thường dẫn đến không có khả năng thanh toán nợ…
Chính vì lí do đó nên trong bài toán khai phá luật kết hợp có đảm bảo tính riêng tư chúng ta cần tính đến việc ẩn đi các luật nhạy cảm
Vấn đề đặt ra là khi thực hiện việc chia sẻ dữ liệu thì lại không muốn các thông tin nhạy cảm bị tiết lộ.Xét về phương diện cá nhân thì sẽ vi phạm quyền riêng tư cá nhân, xét về các tổ chức kinh doanh sẽ làm ảnh hưởng đến bí mật trong kinh doanh, xét về các tổ chức chính trị sẽ làm tiết lộ thông tim mật của quốc gia Do đó cần phải bảo vệ thông tin riêng tư trong dữ liệu trước khi mà chia sẻ cho bên khai thác dữ liệu Với lý là sẽ hạn chế được các thông tin cá nhân, thông tin nhạy cảm và thông tin bí mật không bị tiết lộ
Có nhiều kĩ thuật bảo vệ tính riêng tư, nhìn chung, các kỹ thuật này sẽ làm thay đổi dữ liệu gốc Do đó, việc phân tích sử dụng data mining có thể dẫn đến kết quả không có ý nghĩa Vì vậy, cần phát triển một kĩ thuật vừa bảo vệ thông tin riêng tư, vừa đảm bảo việc khai phá dữ liệu vẫn còn có ý nghĩa.
Các nghiên cứu có liên quan
- Khái niệm k-anonymity được giới thiệu đầu tiên bởi Latanya Sweeney và Pierangela Samarati [8] trong bài báo "Protecting privacy when disclosing information: k-anonymity and its enforcement through generalization and suppression" được phát hành năm 1998 như một nổ lực để gải quyết vấn đề "Đưa ra dữ liệu có cấu trúc trường cụ thể của con người, tạo ra một bản phát hành dữ liệu một cách khoa học đảm bảo rằng các cá nhân là đối tượng của dữ liệu không thể được xác định lại trong khi dữ liệu vẫn thực sự hữu ích" Một bản phát hành dữ liệu được cho là có thuộc tính k- ẩn danh nếu thông tin cho mỗi người có trong bản phát hành không thể được phân biệt với ít nhất k
- 1 cá nhân có thông tin giống nhau trong bản phát hành Ở nghiên cứu này các tác giả đã che giấu được thông tin bằng khái quát hóa và triệt tiêu, đây là một nổ lực rất lớn trong bảo vệ quyền riêng tư cá nhân trong dữ liệu
-Bài báo “a model for protecting privacy” [4] tác giả Latanya Sweeney đã chỉ ra cách mà các kẻ tấn công có thể định danh lại bằng cách liên kết các bảng lại với nhau, nghiên cứu cũng đề ra cách phòng tránh bằng phương pháp k-anomynity với hai phương thức tổng quát hóa và triệt tiêu hóa, nhưng kẻ tấn công có thể vào thứ tự trong bộ dữ liệu xuất hiện mà định danh lại dữ liệu, ngoài ra nếu thuộc tính nhạy cảm(Sensitive) không đa dạng cũng sẽ bị tấn công Ở bài báo này tác giả đã nêu ra các phương pháp tấn công để định danh lại dữ liệu
-“Privacy and Utility Effects of k-anonymity on Association Rule Hiding” [9] đã mở rộng khái niệm k- anonymity ra là ẩn các luật kết hợp mang thông tin nhạy cảm cá nhân và so sánh với phương pháp ẩn các luật kết hợp, ẩn danh cho phương pháp này có mức độ riêng tư cao hơn phương pháp ẩn danh trực tiếp của quy tắc luật kết hợp
-“Hiding collaborative recommendation association rules”[7] Trong bài báo này các tác giả đã ẩn một số dữ liệu (đã cho trước) nhằm ẩn các luật kết trong khai phá dữ liệu, với hai thuật toán là giảm độ tin cậy và tăng độ hỗ trợ DCIS (Decrease Confidence
27 by Increase Support), tăng độ tin cậy và giảm độ hỗ trợ DCDS (Decrease Confidence by Decrease Support) Trong phương pháp này sẽ làm mất/ẩn một vài dữ liệu cho trước
-“Protecting Privacy While Discovering and Maintaining Association Rules”[11].Bài báo các tác giả đưa ra thuật toán M3AR, thuật toán sẽ biến đổi theo phương pháp k-anonymity,nhưng sẽ cho phép giữ lại các luật kết hợp, đánh giá tỉ lệ sinh luật kết hợp mới, luật kết hợp bị mất, so sánh thời gian thực thi với một số thuật toán khác như KACA, Bootom-up, OKA
-Công cụ ARX- Data Anonymization Too[10] là phần mềm mã nguồn mở nhằm loại bỏ định danh dữ liệu nhạy cảm cá nhân, nó đã được thiết kế từ đầu để cung cấp khả năng mở rộng cao, dễ sử dụng và tích hợp chặt chẽ của nhiều khía cạnh khác nhau liên quan đến ẩn danh dữ liệu, với các thuật toán k-anonymity, l-diversity, t-closeness, …Nó hỗ trợ nhiều mô hình riêng tư và rủi ro, phương pháp chuyển đổi dữ liệu và phương pháp phân tích tính hữu dụng của dữ liệu đầu ra
Phần mềm đã được sử dụng trong nhiều bối cảnh, bao gồm các nền tảng phân tích dữ liệu lớn thương mại, dự án nghiên cứu, thử nghiệm chia sẻ dữ liệu và cho mục đích đào tạo Đây là công cụ khá mạnh về K-anonymity nhưng cũng như những bài báo trên là không cho người dùng giữ lại các luật kết hợp
K-anonymity có rất nhiều thuật toán để biến đổi Trên đây là các nghiên cứu có liên quan đến đề tài này nhưng vấn đề ta cần giữ lại các luật kết hợp trong dữ liệu ở một ngưỡng cho phép Đề tài sẽ có điểm khác so với công trình nghiên cứu trước ngoài thực hiện biến đổi dữ liệu thành k-anonymity thì còn cho phép giữ lại luật kết hợp ở một ngưỡng nhất định nào đó.
Mục tiêu nghiên cứu
- Giả sử có bảng dữ liệu, cho thuộc tính định danh(identification) là Họ tên, các thuộc tính Giới tính, tuổi, địa chỉ là thuộc tính định danh gần đúng (Quasi- identifier),Chuẩn đoán bệnh là thuộc tính nhạy cảm (sensitive)
STT Họ tên Giới tính Tuổi Địa chỉ Chuẩn đoán bệnh
1 Nguyễn Thị Liên Nữ 83 Xã Long Hưng Bệnh đái tháo đường
Bảng 4.1 Bảng dữ liệu gốc
-Theo phương pháp K-anonymity truyền thống nếu cho K= 2 thì có thể sẽ có kết quả sau:
STT Họ tên Giới tính Tuổi Địa chỉ Chuẩn đoán bệnh
1 * Nữ 30-90 Xã Tân Châu Bệnh đái tháo đường
2 * Nữ 30-90 Xã Tân Châu Tăng huyết áp
3 * Nữ 30-90 Xã Long Hưng Sỏi thận
4 * Nữ 30-90 Xã Long Hưng Bệnh đái tháo đường
5 * Nữ 30-90 Xã Long Hưng Tăng huyết áp
Bảng 4.2 Kết quả K-anonymity theo truyền thống Ở đây ta thấy Bảng 4.2 sau khi biến đổi thuộc tính Giới tính bị mất giá trị “Nam” sẽ dẫn đến kết quả sau khi khai phá dữ liệu sẽ không còn giá trị
- Bài toán đặt ra là cho phép giữ lại một số luật kết hợp với một ngưỡng nào đó
Ví dụ cho các luật kết hợp ban đầu, với ngưỡng 20%
Nữ Xã Long Hưng, có tần suất xuất hiện(support) là 2/5 (40%);
Nam Xã Long Khánh, có tần suất xuất hiện(support) là 1/5 (20%)
Nếu K-anonymity với K=2 thì ta có thể có các kết quả sau:
STT Họ tên Giới tính Tuổi Địa chỉ Chuẩn đoán bệnh
1 * Nam 30-90 Xã Long Khánh Bệnh đái tháo đường
2 * Nam 30-90 Xã Long Khánh Tăng huyết áp
3 * Nữ 30-90 Xã Long Hưng Sỏi thận
4 * Nữ 30-90 Xã Long Hưng Bệnh đái tháo đường
5 * Nữ 30-90 Xã Long Hưng Tăng huyết áp
Bảng 4.3 trường hợp 1 bảng dữ liệu sau khi biến đổi từ bảng 4.1
Nữ Xã Long Hưng, có tần suất xuất hiện là 3/5(60%)(> ngưỡng ban đầu); Nam Xã Long Khánh, có tần suất xuất hiện là 2/5 (40%)(> ngưỡng ban đầu);
2 Lê Minh Hoàng Nam 62 Xã Tân Châu Tăng huyết áp
3 Trần Thị Hồng Loan Nữ 56 Xã Tân Châu Sỏi thận
4 Nguyễn Bích Ngọc Nữ 89 Xã Long Hưng Bệnh đái tháo đường
5 Nguyễn Lê Công Nam 83 Xã Long Khánh Tăng huyết áp
STT Họ tên Giới tính Tuổi Địa chỉ Chuẩn đoán bệnh
1 * Nam 30-90 Xã Tân Châu Bệnh đái tháo đường
2 * Nam 30-90 Xã Tân Châu Tăng huyết áp
3 * Nữ 30-90 Xã Long Hưng Sỏi thận
4 * Nữ 30-90 Xã Long Hưng Bệnh đái tháo đường
5 * Nữ 30-90 Xã Long Hưng Tăng huyết áp
Bảng 4.4 trường hợp 2 bảng dữ liệu sau khi biến đổi từ bảng 4.1
Nữ Xã Long Hưng, có tần suất xuất hiện là 3/5(60%)(> ngưỡng ban đầu); Nam Xã Long Khánh, có tần suất xuất hiện là 0 (0%)(< ngưỡng ban đầu);
STT Họ tên Giới tính Tuổi Địa chỉ Chuẩn đoán bệnh
1 * Nữ 30-90 Xã Long Hưng Bệnh đái tháo đường
2 * Nam 30-90 Xã Long Khánh Tăng huyết áp
3 * Nam 30-90 Xã Long Khành Sỏi thận
4 * Nữ 30-90 Xã Long Hưng Bệnh đái tháo đường
5 * Nam 30-90 Xã Long Khánh Tăng huyết áp
Bảng 4.5 trường hợp 3 bảng dữ liệu sau khi biến đổi từ bảng 4.1
Nữ => Xã Long Hưng, có tần suất xuất hiện là 2/5(40%)(> ngưỡng ban đầu); Nam => Xã Long Khánh, có tần suất xuất hiện là 3/5 (60%)(> ngưỡng ban đầu);
Trong 3 trường hợp trên thì ta chỉ chấp nhận kết quả Trường hợp 1 và Trường hợp 3 Sau đây là cụ thể mục tiêu chính của đề tài:
Nhận vào một Bảng dữ liệu T với các thông tin cá nhân, sau đó biến đổi thành một bảng T’, bảng T’ với K dòng dữ liệu giống nhau (K- anonymity), nhưng sẽ cho phép giữ lại một số luật kết hợp với một ngưỡng cho trước
Ví dụ ứng dụng thực tế như sau:
STT Họ tên Giới tính Tuổi Địa chỉ Chuẩn đoán bệnh
1 Nguyễn Thị Liên Nữ 83 Xã Long Hưng Bệnh đái tháo đường
+Làm sao tạo thành K(K>=2) dòng giống nhau để không biệt được dòng nào là thông tin đúng
+Nhưng cần giữ lại thông tin sau :
+Lớn hơn hoặc bằng với một ngưỡng cho trước (20%)
-Bảng T’ sau khi biến đổi sẽ là:
STT Họ tên Giới tính Tuổi Địa chỉ Chuẩn đoán bệnh
1 * Nữ 30-90 Xã Long Hưng Bệnh đái tháo đường
2 * Nam 30-90 Xã Long Khánh Tăng huyết áp
3 * Nam 30-90 Xã Long Khành Sỏi thận
4 * Nữ 30-90 Xã Long Hưng Bệnh đái tháo đường
5 * Nam 30-90 Xã Long Khánh Tăng huyết áp
STT Họ tên Giới tính Tuổi Địa chỉ Chuẩn đoán bệnh
1 * Nam 30-90 Xã Long Khánh Bệnh đái tháo đường
2 * Nam 30-90 Xã Long Khánh Tăng huyết áp
3 * Nữ 30-90 Xã Long Hưng Sỏi thận
4 * Nữ 30-90 Xã Long Hưng Bệnh đái tháo đường
5 * Nữ 30-90 Xã Long Hưng Tăng huyết áp
2 Lê Minh Hoàng Nam 62 Xã Tân Châu Tăng huyết áp
3 Trần Thị Hồng Loan Nữ 56 Xã Tân Châu Sỏi thận
4 Nguyễn Bích Ngọc Nữ 89 Xã Long Hưng Bệnh đái tháo đường
5 Nguyễn Lê Công Nam 83 Xã Long Khánh Tăng huyết áp
Quy trình nghiên cứu
Hình 4.1 Quy trình thực hiện nghiên cứu
Các khối công việc cần thực hiện:
Hình 4.2 Sơ đồ các khối công việc cần làm
Khối công việc 1: Thêm dữ liệu vào CSDL
Bước 1: file dữ liệu sau khi thu thập thì tiến hành “làm sạch” và “định dạng”
+ Tạo cấu trúc bảng ano(để chứa dữ liệu ban đầu) với các tên trường giống như tên trường trong file excel, sau đó insert dữ liệu từ file excel vào bảng ano
+Tạo cấu trúc 2 bảng temp_(để chứa dữ liệu tạm) và k_ano(để chứa dữ liệu sau khi biến đổi) có cấu trúc giống như cấu trúc bảng ano
Bước 3: Dùng các biến để ghi nhận các giá từ người dùng: K, field_quasi, field_id, rules, threshold
Khối công việc 2: kiểm tra các ràng buộc dữ liệu
-KẾT QUẢ THỰC NGHIỆM -KẾT LUẬN VÀ KIẾN
TOÁN -THỰC THI, KIỂM THỬ
Khối 1: đưa dữ liệu vào CSDL
Khối 2: Kiểm tra các ràng buộc dữ liệu trước khi thực biến đổi
Khối 3: Thực hiện biến đổi
+Kiểm tra tính hợp lệ của các giá trị từ người dùng (kiểm tra rỗng,chưa chọn,…) +Kiểm tra các luật của người dùng nhập có tồn tạ trong CSDL hay không?
Bước 5: nếu Bước 4 là đúng thì
+ Tạo cấu trúc bảng Luat để chứa các luật kết hợp từ người dùng, sau đó thêm dữ liệu vào bảng này
+Tạo thêm bảng Rules để chứa các luật, bảng này sẽ tự sinh ra tên trường tường ứng với dữ liệu các luật kết hợp, sau đó thêm dữ liệu vào bảng này
Khối công việc 3: Thực hiện biến đổi
Bước 6: Xử lý và tính toán
+Lặp 1:Lặp từ 1 đến tổng số mẩu tin/hệ số K
-Di chuyển k dòng từ bảng ano => bảng temp_
-Cập nhật dữ liệu các field ID thành dấu “*”
+Lặp 2: Lặp từ 1 đến hết các Luật kết hợp trong bảng Luat
-Tính tỉ lệ support của luật đó trong bảng k_ano
-Nếu luật kết hợp có tồn tại trong bảng temp_ và tỉ lệ bảng k_ano
-Nếu luật kết hợp có tồn tại trong bảng ano và tỉ lệ bảng k_ano
-Nếu luật kết hợp có tồn tại trong bảng k_ano và tỉ lệ bảng k_ano
-Trường hợp khác thì cập nhật dữ liệu các field quasi ở bảng temp_, sau đó di chuyển k dòng từ bảng temp => bảng k_ano
Hình 4.3 Sơ đồ thuật toán
35 4.4.2 Mã giả các hàm thực hiện
Input: bảng,danh sách field ID, danh sách field quasi, hệ số k, bảng chứa các luật kết hợp, ngưỡng, tổng số mẩu tin trong bảng ano
Output : bảng với k dòng giống nhau
-Tạo bảng ano theo cấu trúc giống các trường trong file excel
-Tạo cấu trúc các bảng temp_, k_ano, có cấu trúc giống bảng ano
-Nhập: K, field quasi,field id, rules, threshold
-Kiểm tra việc chọn các field ID, field Quasi, nhập Ngưỡng
-Kiểm tra nhập các luật kết hợp có tồn tại trong CSDL?
-Thêm dữ liệu các luật kết hợp vào bảng Luat
-Tạo bảng Rules có cấu trúc với các field tương ứng dữ liệu
-Thêm dữ liệu các luật kết hợp vào bảng Rules
Lặp 1 : (Tổng số mẩu tin bảng ano/K) lần {
-Di chuyển K dòng từ bảng ano sang bảng temp_
Lặp 2: ( lấy lần lượt các luật kết hợp trong bảng Luat) {
-Tính tỉ lệ support của luật kết hợp trong bảng k_ano
- Nếu luật kết hợp có tồn tại trong bảng temp_ && tỉ lệ < ngưỡng thì
+ Hàm cập nhật các field quasi ở bảng temp_
+Di chuyển k dòng từ bảng temp_ sang bảng k_ano
-Nếu luật kết hợp có tồn tại trong bảng ano && tỉ lệ < ngưỡng
36 + Hàm cập nhật các field quasi ở bảng temp_
+Di chuyển k dòng từ bảng temp_ sang bảng k_ano
-Nếu luật kết hợp có tồn tại trong bảng k_ano && tỉ lệ < ngưỡng
+ Hàm cập nhật các field quasi ở bảng temp_
+Di chuyển k dòng từ bảng temp_ sang bảng k_ano
-Nếu luật kết hợp Không có tồn tại trong bảng k_ano && ano && temp_ + Hàm cập nhật các field quasi ở bảng temp_
+Di chuyển k dòng từ bảng temp_ sang bảng k_ano
+ Hàm cập nhật các field quasi ở bảng temp_
+Di chuyển k dòng từ bảng temp_ sang bảng k_ano
+Hàm cập nhập các field quasi:
Input: bảng, danh sách các trường quasi
Output: bảng được cập nhật các dòng
-Chọn giá trị trong 1 cột(field):
+Nếu kiểm tra các dòng có trùng nhau thì thoát
+Khác : lấy từng giá trị, đếm số lần xuất hiện của giá trị đó trong 1 cột, gán vào
1 mảng (giá trị = số lần)
+Tìm giá trị Max trong mảng, giá trị cần lấy
-Hàm cập nhật giá trị 1 cột đó với giá trị đã lấy được cho các giá trị còn lại trong 1 cột(field)
+Hàm cập nhật giá trị 1 cột:
Input: Bảng, tên trường, giá trị
Output : bảng được cập nhật ở trường với giá trị đã cho
THỬ NGHIỆM, ĐÁNH GIÁ
Thử nghiệm
Ngày nay các ứng dụng phần lớn được triển khai trên web với mục đích rộng rãi, truy xuất từ xa nên chương trình được hiện thực trên ứng dụng web, được viết bởi ngôn ngữ mã nguồn mở PHP và Hệ quản trị sơ sở dữ liệu MySQL, dùng webserver Apache. 5.1.1.Định dạng dữ liệu ban đầu (file excel)
-Dữ liệu thô được thu thập từ cơ sở khám chữa bệnh y tế của người dân, được kết xuất ra file excel với các dòng là dữ liệu, các cột là các trường, ngoài ra còn có các thông tin tiêu đề, trang trí định dạng để báo cáo
-Dữ liệu được định dạng với font unicode (Times New Roman)
-Do đó để sử dụng được thì phải tiến hành định dạng và “làm sạch” lại dữ liệu
-Dữ liệu file excel trước khi được import và CSDL thì phải được định dạng như sau: +Dòng tiêu đề(tên các field) phải gõ Không có dấu và không có khoảng trắng
“Họ và Tên” thì chúng ta sẽ sửa lại : “Ho_va_Ten”
+Dữ liệu trong mỗi ô nếu có ngăn cách với nhau bởi dấu “,” thì ta phải thay thế “-“ hoặc
“ấp Bình Hòa, xã Bình Thạnh, huyện Cao lãnh” thì chúng ta sẽ sửa lại :
“ấp Bình Hòa- xã Bình Thạnh- huyện Cao lãnh”
Hình 5.1 Dữ liệu file excel sau khi định dạng
38 5.1.2 Upload và Import dữ liệu
-Tùy vào dữ liệu (số mẩu tin )nhiều hay ít mà thời gian tạo bảng và chèn dữ liệu vào bảng sẽ khác nhau
-Tôi đã kiểm thử file có 657 mẩu tin thì mất thời gian khoảng 25-30 giây để import từ tập tin *.xls vào CSDL, (với HĐH Windows 7, cấu hình máy CPU: Core i3 2.1GHz, RAM 6GB)
Hình 5.2 Màn hình upload và import file excel vào cơ sở dữ liệu
5.1.3 Cung cấp các thông số đầu vào
Hình 5.3 chọn field ID Hình 5.4 chọn field Quasi Hình 5.5 nhập hệ số K, nhập ngưỡng
+Chọn các field ID: khi ta chọn các trường ID thì sau khi biến đổi sẽ bị ẩn thành dấu
“*” trên tất cả các dòng trong bảng kết quả
39 +Chọn các field Quasi: khi ta chọn các field Quasi đây là các trường dữ liệu sẽ được biến đổi
+Chọn K: là số nguyên >=2, ở đây sẽ biến đổi dữ liệu với K dòng giống nhau
+Nhập ngưỡng: là số nguyên > %, là tỉ lệ dòng giống nhau với K dòng và các luật kết hợp đã cho (Hình 5.6)
Hình 5.6 nhập các luật kết hợp
+Nhập luật kết hợp: ở đây ta muốn giữ lại dữ liệu luật kết hợp nào,thì ta sẽ nhập luật kết hợp đó
Ví dụ Hình 5.6 là cần giữ lại những dòng có giá trị trường Giới tính là “Nữ” và trường Tuổi là “58” giữ lại với tỉ lệ (ngưỡng) với giá trị hình 5.5
Lưu ý: Luật kết hợp chúng ta có thể nhập như sau:
Hình 5.7 Luật kết hợp vời nhiều trường
Nếu chúng ta có nhiều trường gom lại bên luật sinh thì ta dùng dấy phẩy “,” để cách nhau Do đó là lý do tại sao ban đầu chúng ta phải định dạng dữ liệu lại (bỏ dấy “,” và thay bởi dấu “-“ hoặc “_”) xem hình 5.8
Hình 5.8 kết quả nhập các luật kết hợp
5.1.4 Kết quả sau khi biến khi biến đổi
Với 657 mẩu tin dữ liệu thì sau thời gian khoảng 6 phút sẽ được bảng kết quả sau:
Hình 5.9 kết quả sau khi biến đổi
ĐÁNH GIÁ
-Tôi đã kiểm thử chương trình trên máy tính Laptop HP Probook 4530s chạy trên HĐH Windows 7 và cài webserver Wamp Server 2.2, cấu hình máy có CPU: Core i3 2.1GHz, RAM 6GB, HDD 250GB
5.2.1 Về số lượng mẩu tin và số luật kết hợp
+ Với số lượng mẩu tin 650
+Tổng số field là 9 field trong đó:
+Số field quasi là 6 field
+Số field ID là 2 field
+ Với các luật kết hợp sau:
Thời gian thực hiện biến đổi (1 luật kết hợp)
Thời gian thực hiện biến đổi (2 luật kết hợp)
Thời gian thực hiện biến đổi (3 luật kết hợp)
Bảng 5.1 đo thời về số lượng mẩu tin và số luật kết hợp
Qua Bảng 5.1 tôi nhận thấy:
+Xét trên mỗi cột luật thời gian sẽ tăng lên gấp đôi khi số lượng mẩu tin tăng gấp đôi
+Xét trên mỗi dòng số luật kết hợp tăng 1 thì thời gian tăng lên gấp đôi
5.2.2 Về hệ số K và số lượng field quasi
42 + Với số lượng mẩu tin 650
+Tổng số field là 9 field trong đó:
+Số field quasi là 6 field
+Số field ID là 2 field
+ Với 1 luật kết hợp sau: “Nữ=>48”
Thời gian thực hiện biến đổi
Thời gian thực hiện biến đổi (5 field quasi)
Thời gian thực hiện biến đổi (6 field quasi)
Thời gian thực hiện biến đổi (7 field quasi)
Bảng 5.2 đo thời gian về hệ số k và và số lượng các field quasi
Qua Bảng 5.2 tôi nhận thấy:
+Xét trên mỗi cột số lượng field quasi khi hệ số K càng tăng thì thời gian thực hiện sẽ giảm
+Xét trên mỗi dòng số lượng field quasi tăng 1 thì thời gian tăng lên nhưng không đáng kể
5.2.3 Về sử dụng bộ nhớ
+Tổng số field là 9 field trong đó:
+Số field quasi là 6 field
+Số field ID là 2 field
+ Với các luật kết hợp sau:
Ta được kết quả như Bảng 5.3
Số mẩu tin Chiếm dụng bộ nhớ (3 luật kết hợp)
Bảng 5.3 Khả năng chiếm dụng bộ nhớ
Công cụ ARX-Data Anonymization Tool
ARX là một phần mềm nguồn mở để ẩn danh dữ liệu cá nhân nhạy cảm Nó đã được thiết kế từ đầu để cung cấp khả năng mở rộng cao, dễ sử dụng và tích hợp chặt chẽ của nhiều khía cạnh khác nhau liên quan đến ẩn danh dữ liệu Điểm nổi bật của nó bao gồm:
+Tiện ích nhất là thống kê so sánh các mô hình ẩn danh
+Hỗ trợ các mô hình riêng tư như: k-anonymity, ℓ-diversity, t-closeness and δ- presence
+Mô hình bảo mật ngữ nghĩa như (ɛ, δ)-differential privacy
+Chuyển đổi dữ liệu với khái quát hóa, triệt tiêu, vi phân và mã hóa trên / dưới cũng như mã hóa toàn cầu và cục bộ
+ Phương pháp phân tích tiện ích dữ liệu
+Phương pháp phân tích rủi ro nhận dạng lại
Qua kiểm thử trên công cụ ARX tôi có kết quả sau:
5.3.1 Về sử dụng bộ nhớ
+ Với số lượng mẩu tin 10.000
+Tổng số field là 9 field trong đó:
+Số field quasi là 6 field
+Số field ID là 2 field
Ta có kết quả sau:
Số mẩu tin Chiếm dụng bộ nhớ
Bảng 5.4 Khả năng chiếm dụng bộ nhớ của công cụ ARX anonymization tool
5.3.2 Về hệ số K và số lượng field quasi
+ Với số lượng mẩu tin 10.000
+Tổng số field là 9 field trong đó:
+Số field quasi là 6 field
+Số field ID là 2 field
Ta có kết quả sau:
Hệ số K Thời gian thực hiện biến đổi
Bảng 5.5 Xét thời gian thực hiện của công cụ ARX anonymization tool
Qua bảng 5.5 tôi nhận thấy thời gian thực hiện của ARX anonymization tool là khá nhanh
Nhận xét: Qua kết quả thực thi của công cụ ẩn danh ARX-Data Anonymization Tool tôi nhận thấy đây là công cụ khá mạnh và đa dạng các mô hình ẩn danh và thực thi cho ra kết quả nhanh so với giải thuật của tôi, nhưng xét thấy đây là công cụ ẩn danh chưa có chọn lọc(ưu tiên dữ liệu) khi mà người dùng muốn ưu tiên giữ lại một số luật kết hợp trong dữ liệu đó chính là điểm mới của đề tài này so với các công cụ đã có trước