khai phá tập mục thường xuyên lợi ích cao trong cơ sở dữ liệu

88 480 1
khai phá tập mục thường xuyên lợi ích cao trong cơ sở dữ liệu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN AN KHÁNH KHAI PHÁ TẬP MỤC THƢỜNG XUYÊN LỢI ÍCH CAO TRONG CƠ SỞ DỮ LIỆU LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN - 2012 THÁI NGUYÊN - 2012 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN AN KHÁNH KHAI PHÁ TẬP MỤC THƢỜNG XUYÊN LỢI ÍCH CAO TRONG CƠ SỞ DỮ LIỆU Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Ngƣời hƣớng dẫn khoa học: GS. TS: Vũ Đức Thi THÁI NGUYÊN - 2012 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn LỜI CẢM ƠN Lời đầu tiên cho tôi xin gửi lời cảm ơn chân thành và biết ơn sâu sắc đến GS. TS Vũ Đức Thi – Viện Công nghệ Thông tin, Viện Khoa học và Công nghệ Việt Nam, ngƣời thầy đáng kính đã chỉ bảo và hƣớng dẫn tận tình cho tôi trong suốt quá trình nghiên cứu khoa học và thực hiện luận văn này Tôi xin chân thành cảm ơn sự dậy bảo, giúp đỡ, tạo điều kiện và khuyến khích tôi trong quá trình học tập và nghiên cứu của các thầy cô giáo Viện Công nghệ Thông tin, Viện Khoa học và Công nghệ Việt Nam Xin chân thành cảm ơn Ban Giám hiệu và thầy cô giáo Trƣờng Đại học Công nghệ Thông tin và Truyền thông – Đại học Thái Nguyên, nơi tôi học tập và làm việc, xin đƣợc gửi lời cảm ơn chân thành và sâu sắc nhất đến các thầy cô. Và cuối cùng, tôi xin gửi lời cảm ơn tới gia đình, bạn bè và đồng nghiệp – những ngƣời luôn ở bên tôi những lúc khó khăn nhất, luôn động viên tôi, khuyến khích tôi trong cuộc sống và trong công việc. Tôi xin chân thành cảm ơn! Thái Nguyên, ngày 20 tháng 6 năm 2012 Tác giả Nguyễn An Khánh Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn LỜI CAM ĐOAN Tôi xin cam đoan Luận văn “ Khai phá tập mục thƣờng xuyên lợi ích cao trong cơ sở dữ liệu “ đƣợc thực hiện theo đúng mục tiêu đề ra dƣới sự hƣớng dẫn của GS. TS Vũ Đức Thi. Trong toàn bộ luận văn, những điều đƣợc trình bày là của cá nhân hoặc là đƣợc tổng họp từ nhiều nguồn tài liệu. Tất cả các loại tài liệu đều có xuất xứ rõ ràng và đƣợc trích dẫn hợp pháp. Thái Nguyên, ngày 20 tháng 6 năm 2012 Tác giả Nguyễn An Khánh Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT Trong luận văn này, dùng thống nhất các ký hiệu và chữ viết tắt sau: Các ký hiệu: I = {i 1 ,i 2 ,…,i n }: Tập n mục dữ liệu. DB = {T 1, T 2 ,…,T m }: Cơ sở dữ liệu có m giao tác. db: cơ sở dữ liệu giao tác con của DB, db  DB. i p : Mục dữ liệu thứ p. T q : Giao tác thứ q. n: Số mục dữ liệu một cơ sở dữ liệu giao tác. m: Số giao tác một cơ sở dữ liệu giao tác. A, B, C,…: Tên các mục dữ liệu trong cơ sở dữ liệu giao tác ví dụ. X, Y,…: Tập con của tập mục dữ liệu I, X, Y  I. X = ABC thay cho X={A,B,C} trong các cơ sở dữ liệu giao tác ví dụ. Nếu X  Y thì X gọi là tập con của tập Y, Y gọi là tập cha của tập X. minsup: Ngƣỡng độ hỗ trợ tối thiểu. minShare: Ngƣỡng cổ phần tối thiểu. minutil: Giá trị lợi ích tối thiểu. X: Số phần tử của tập hợp X. Viết tắt: CSDL: Cơ sở dữ liệu. CNTT: Công nghệ Thông tin. CNTT và TT: Công nghệ Thông tin và Truyền thông. DL: Dữ liệu. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn MỤC LỤC MỞ ĐẦU 7 Chƣơng 1 KHAI PHÁ TẬP MỤC THƢỜNG XUYÊN VÀ MỘT SỐ MỞ RỘNG 9 1.1MỞ ĐẦU 9 1.2CÁC KHÁI NIỆM CƠ BẢN 10 1.2.1 Cơ sở dữ liệu giao tác 10 1.2.2 Tập mục thƣờng xuyên và luật kết hợp 13 1.2.3 Bài toán khai phá luật kết hợp 14 1.3 KHAI PHÁ TẬP MỤC THƢỜNG XUYÊN 15 1.3.1 Các cách tiếp cận khai phá tập mục thƣờng xuyên 15 1.3.2 Thuật toán Apriori 16 1.3.3 Thuật toán FP-growth 21 1.4 MỞ RỘNG BÀI TOÁN KHAI PHÁ TẬP MỤC THƢỜNG XUYÊN 27 1.5 KẾT LUẬN CHƢƠNG 1 28 Chƣơng 2 KHAI PHÁ TẬP MỤC LỢI ÍCH CAO 30 2.1. GIỚI THIỆU 30 2.2 BÀI TOÁN KHAI PHÁ TẬP MỤC LỢI ÍCH CAO 32 2.3 THUẬT TOÁN COUI-Mine1 35 2.3.1 Xây dựng cây TWUI-tree 37 2.3.2 Khai phá cây TWUI-tree 42 2.3.3 Đánh giá thuật toán COUI-Mine1 51 2.3.3.1: Bƣớc xây dựng cây TWUI-tree: 51 2.3.3.2: Bƣớc khai phá cây TWU-tree 52 2.3.4 Nhận xét thuật toán COUI-Mine1 54 2.3.5 Khai phá tƣơng tác với cây TWUI-tree 55 2.4 THUẬT TOÁN COUI-Mine2 57 2.4.1 Xây dựng cây UP-tree 57 2.4.2 Khai phá cây UP-tree 59 2.4.3 Ví dụ áp dụng minh họa 61 2.4.3.1 Xây dựng cây UP-tree 62 2.4.3.2 Khai phá cây UP-tree 64 2.4.4 Nhận xét thuật toán COUI-Mine2 68 2.5 THUẬT TOÁN COUI-Mine3 70 2.5.1 Cơ sở của thuật toán 70 2.5.2 Xây dựng và khai phá mảng giao tác 71 2.5.2.1 Xây dựng mảng giao tác 71 2.5.2.2 Khai phá mảng giao tác : 75 2.5.3 Nhận xét thuật toán COUI-Mine3 78 2.6 KẾT LUẬN CHƢƠNG 2 80 Chƣơng 3 THỰC NGHIỆM THUẬT TOÁN KHAI PHÁ TẬP MỤC LỢI ÍCH CAO 81 PHẦN KẾT LUẬN 85 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 7 MỞ ĐẦU Ngày nay, cùng với sự phát triển không ngừng của ngành công nghệ thông tin và truyền thông vào nhiều lĩnh vực đời sống văn hóa xã hội, quản lý kinh tế, khoa học kỹ thuật, … đã tạo ra nhiều cơ sở dữ liệu khổng lồ. Để khai thác hiệu quả nguồn thông tin dữ liệu lớn, hỗ chợ tiến trình ra quyết định, bên cạnh các phƣơng pháp khai thác thông tin truyền thống một khuynh hƣớng kỹ thuật mới ra đời đó là Kỹ thuật Khai phá dữ liệu và khám phá tri thức (KDD – Knownledge Discovery and DataMining) là một lĩnh vực quan trọng của nghành Công nghệ thông tin. Đây là lĩnh vực đã thu hút đƣợc đông đảo các nhà khoa học trên thế giới và trong nƣớc tham gia nghiên cứu. Khai phá tập mục thƣờng xuyên là bài toán có vai trò quan trọng trong nhiều nhiệm vụ khai phá dữ liệu. Mô hình khai phá tập mục thƣờng xuyên cơ bản có nhiều ứng dụng trong thực tế bên cạnh đó còn có những hạn chế, không đáp ứng đƣợc nhu cầu của ngƣời sử dụng. Để đáp ứng yêu cầu thực tiễn, một số hƣớng mở rộng của bài toán đã đƣợc quan tâm nghiên cứu, theo hƣớng này, từ các bài toán khai phá tập mục thƣờng xuyên ban đầu các nhà nghiên cứu đã đề xuất các mô hình mở rộng, một trong số đó có mô hình Khai phá tập mục lợi ích cao, đánh giá lợi ích mà tập mục dữ liệu mang lại trong cơ sở dữ liệu. Khai phá tập mục lợi ích cao là thực sự là một lĩnh vực đang thu hút nhiều nhà nghiên cứu tham gia. Trong luận văn này, tôi trình bày ba thuật toán khai phá tập mục lợi ích cao dựa trên cấu trúc cây đơn giản và cách khai phá không đệ quy (Thuật toán COUI- Mine1, COUI-Mine2, COUI-Mine 3). Các thuật toán đề xuất sử dụng cấu trúc cây FP-tree đƣợc Han, Wang và Yin giới thiệu năm 2000 trong cách khai phá cây FP- tree không đệ quy bởi cấu trúc cây COFI-tree do Mohammad El-Hajj và Osmar R. Zaiane đề xuất năm 2003. Hai thuật toán đầu sử dụng cấu trúc cây FP-tree để xây dựng cây chứa thông tin của các giao tác, sau đó khai phá cây này để tìm ra các tập Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 8 mục lợi ích cao. Thuật toán thứ 3 chuyển đổi dữ liệu thành mạng ma trận để lƣu ở bộ nhớ ngoài, sau khi đã chuyển đổi sang dạng biểu diễn mới, có thể khai phá các ngƣỡng lợi ích khác nhau. Thuật toán thứ ba này có thể khai phá đƣợc các tập dữ liệu lớn vì hầu nhƣ toàn bộ dữ liệu đặt tại bộ nhớ ngoài, chỉ đƣa vào bộ nhớ trong một phần nhỏ dữ liệu để khai phá. Ba thuật toán đề xuất thực hiện khai phá hiệu quả vì các lí do: 1) Số lần duyệt cơ sở dữ liệu ít, 2) Không sinh ra khối lƣợng khổng lồ các tập ứng viên, giảm chi phí thanh toán và 3) sử dụng tiết kiệm bộ nhớ. Với thời gian và kiến thức còn hạn chế, luận văn này không tránh khỏi những thiếu sót, rất mong đƣợc sự quan tâm định hƣớng của thầy cô giáo sự góp ý của các bạn đồng nghiệp để báo cáo hoàn thiện hơn. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 9 Chƣơng 1 KHAI PHÁ TẬP MỤC THƢỜNG XUYÊN VÀ MỘT SỐ MỞ RỘNG 1.1 MỞ ĐẦU Khai phá tập mục thƣờng xuyên đóng vai trò quan trọng trong nhiều nhiệm vụ khai phá dữ liệu. Khai phá tập mục thƣờng xuyên xuất hiện nhƣ là bài toán con của nhiều lĩnh vực khai phá dữ liệu nhƣ khám phá luật kết hợp, khám phá mẫu tuần tự, phân tích tƣơng quan, phân lớp, phân cụm dữ liệu, khai phá Web,…Bài toán khai phá tập mục thƣờng xuyên đƣợc giới thiệu lần đầu bởi Agrawal vào năm 1993 khi phân tích cơ sở dữ liệu bán hàng của siêu thị, trong mô hình của bài toán khai phá luật kết hợp. Khai phá luật kết hợp là phát hiện những mối quan hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu, các mối quan hệ đó chính là các luật kết hợp. Khai phá luật kết hợp có hai bƣớc: bƣớc thứ nhất, tìm các tập mục thƣờng xuyên thỏa mãn ngƣỡng độ hỗ trợ tối thiểu minsup cho trƣớc, bƣớc thứ hai, từ các tập mục thƣờng xuyên tìm đƣợc, sinh ra các luật kết hợp thỏa mãn ngƣỡng độ tin cậy minconf cho trƣớc. Mọi khó khăn của bài toán khai phá luật kết hợp tập trung ở bƣớc thứ nhất, đó là khai phá tất cả các tập mục thƣờng xuyên thỏa mãn ngƣỡng độ hỗ trợ cho trƣớc. Kể từ khi Agrawal đề xuất, khai phá tập mục thƣờng xuyên đã thu hút đƣợc sự quan tâm của nhiều nhà nghiên cứu, đã có hàng trăm kết quả nghiên cứu đƣợc công bố giới thiệu các thuật toán mới hay đề xuất các giải pháp nâng cao hiệu quả các thuật toán đã có. Tập mục thƣờng xuyên đã có vai trò quan trọng trong nhiều ứng dụng thực tế nhƣ quản lý quan hệ khách hàng, nâng cao hiệu quả của thƣơng mại điện tử, trong lĩnh vực tin sinh học, phân tích cấu trúc của Protein và DNA, mở rộng truy vấn, phát hiện xâm nhập mạng,… Mô hình khai phá tập mục thƣờng xuyên cơ bản có nhiều ứng dụng trong thực tế nhƣng có những hạn chế, không đáp ứng đầy đủ yêu cầu của ngƣời sử dụng. Rằng buộc về độ hỗ trợ và độ tin cậy của luật kết hợp chỉ mang ngữ nghĩa thống kê, Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 10 không phản ánh đƣợc vai trò khác nhau của các thuộc tính cũng nhƣ đặc tính dữ liệu vốn có của chúng trong cơ sở dữ liệu. Để đáp ứng yêu cầu của thực tiễn, khai phá tập mục thƣờng xuyên đã có nhiều cách thức mở rộng và ứng dụng, từ thay đổi phƣơng pháp luận đến thay đổi đa dạng các kiểu dữ liệu, mở rộng các nhiệm vụ khai phá và đa dạng các ứng dụng mới. Trong những năm qua, đã có nhiều hƣớng mở rộng bài toán đƣợc quan tâm nghiên cứu. Chƣơng một này sẽ trình bày các vấn đề cơ bản của bài toán khai phá tập mục thƣờng xuyên và một số mở rộng của bài toán. 1.2 CÁC KHÁI NIỆM CƠ BẢN Khai phá luật kết hợp là một kỹ thuật quan trọng của khai phá dữ liệu. Mục tiêu khai phá là phát hiện những mối quan hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu. Mô hình đầu tiên của bài toán khai phá luật kết hợp là mô hình nhị phân (hay còn gọi là mô hình cơ bản) đƣợc R.Agrawal, T.Imielinski và A.Swami đề xuất vào năm 1993, xuất phát từ nhu cầu phân tích dữ liệu của cơ sở dữ liệu giao tác, phát hiện các mối quan hệ giữa các tập mục hàng hóa (Itemsets) đã bán đƣợc tại các siêu thị. Việc xác định các quan hệ này không phân biệt vai trò khác nhau cũng nhƣ không dựa vào các đặc tính dữ liệu vốn có của các thuộc tính mà chỉ dựa vào sự xuất hiện cùng lúc của chúng. Phần tiếp sau đây nêu một số khái niệm cơ bản và phát biểu bài toán khai phá luật kết hợp, bài toán đầu tiên dẫn đến bài toán khai phá tập mục thƣờng xuyên. 1.2.1 Cơ sở dữ liệu giao tác Định nghĩa 1.1: Cho tập các mục (item) I={i 1 ,i 2 ,…,i n }. Một giao tác (transaction) T là một tập con của I, T  I. Cơ sở dữ liệu giao tác là một tập các giao tác DB ={T 1 ,T 2 ,…,T m }. Mỗi giao tác đƣợc gán một định danh TID. Một tập mục con X  I, gồm k mục phân biệt đƣợc gọi là một k-tập mục. Giao tác T gọi là chứa tập mục X nếu X  T. Biểu biễn cơ sở dữ liệu giao tác: Cơ sở dữ liệu giao tác thƣờng đƣợc biểu diễn ở dạng biểu diễn ngang, biểu diễn dọc và biểu diễn bởi ma trận giao tác. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn [...]... TWU thấp, twu(X) < minutil, thì tập X và mọi tập cha của X đều là tập mục lợi ích thấp, có thể loại bỏ chúng trong quá trình khai phá tập mục lợi ích cao - Tập các mục lợi ích cao chứa trong tập các tập mục lợi ích TWU cao Điều này có nghĩa là, nếu ta tìm đƣợc tập các tập mục lợi ích TWU cao thì ta chỉ cần tìm các tập mục lợi ích cao trong tập đó Do tập mục lợi ích TWU cao có tính chất phản đơn điệu... tính trong cơ sở dữ liệu Theo hƣớng này, nhiều nhà nghiên cứu đề xuất các mô hình mở rộn: khai phá tập mục cổ phần cao, đánh giá sự đóng gióp của tập mục trong tổng số các mục dữ liệu của cơ sở dữ liệu; khai phá tập mục lợi ích cao, đánh giá lợi ích mà tập mục mang lại trong cơ sở dữ liệu Các tác giả đề xuất mô hình khai phá tập mục lợi ích cao và các thuật toán Umining, Umining-H để khai phá 1.5 KẾT LUẬN... http://www.lrc-tnu.edu.vn 30 Chƣơng 2 KHAI PHÁ TẬP MỤC LỢI ÍCH CAO 2.1 GIỚI THIỆU Khai phá tập mục lợi ích cao là sự mở rộng, tổng quát hóa của khai phá tập mục cổ phần cao Mô hình khai phá tập mục lợi ích cao đƣợc Yao và cộng sự đề xuất (Hong Yao và Hamilton, 2006; H.Yao, Hamilton và Butz, 2004) Trong mô hình khai phá tập mục lợi ích cao, giá trị của mục dữ liệu trong giao tác là một số(nhƣ số lƣợng... Về mặt ngữ nghĩa, tập mục lợi ích cao khác với tập mục thƣờng xuyên, dù có khai phá trên tập dữ liệu nhị phân với ngƣỡng lợi ích minutil bằng ngƣỡng độ hỗ trợ minsup thì kết quả khai phá cũng khác nhau, các tập mục tìm đƣợc có ý nghĩa khác nhau Nhƣ vậy, phát triển mở rộng bài toán khai phá tập mục thƣờng xuyên thành bài toán khai phá tập mục cổ phần cao và khai phá tập mục lợi ích cao không đơn thuần... ngƣỡng lợi ích minutil(>0) và xét tập mục X X đƣợc gọi là tập mục lợi ích cao nếu u(X)  minutil Trƣờng hợp ngƣợc lại, X đƣợc gọi là tập mục lợi ích thấp Định nghĩa 2.10: Cho cơ sở dữ liệu giao tác DB và ràng buộc lợi ích minutil, khai phá tập mục lợi ích cao là tìm tập HU(High Utilty), chứa tất cả các tập mục lợi ích cao, tức là tập HU ={X X  I, u(X)  minutil} Nhận xét: Số hóa bởi Trung tâm Học liệu. .. mở rộng kiểu dữ liệu mà là thay đổi nhiệm vụ khai phá, khai phá với nhiệm vụ mới và kết quả các tập mục tìm được có các ứng dụng mới Khai phá lợi ích cao theo mô hình của khai phá cổ phần cao: Cho cơ sở dữ liệu giao tác và bảng lợi ích, ngƣỡng lợi ích minutil, nếu giá trị ip trong mỗi giao tác đƣợc thay thành o(ip, Tq) x s(ip) thì nhiệm vụ khai phá lợi ích cao trở thành khai phá cổ phần cao với min_lmv... Với ngƣỡng lợi ích minutil, nếu X là tập mục lợi ích cao thì X cũng là tập mục lợi ích TWU cao vì twu(X) ≥ u(X) ≥ minutil, ngƣợc lại, nếu X là tập mục lơi ích TWU thấp thì X cũng là tập mục lơi ích thấp Y.Liu đã chứng minh: - Ràng buộc lợi ích TWU có tính chất phản đơn điệu, tức là: Mọi tập mục cha của tập mục lợi ích TWU thấp cũng là tập mục lợi ích TWU thấp Do vậy, nếu X là tập mục lợi ích TWU thấp,... ngoài ra còn có bảng lợi ích cho biết lợi ích mang lại khi bán một đơn vị hàng đó (gọi là giá trị chủ quan, do ngƣời quản lý kinh doanh xác định) Lợi ích của một tập mục là số đo lợi nhuận mà tập mục đó đóng góp trong cơ sở dữ liệu, nó có thể là tổng lợi nhuận, là tổng chi phí của tập mục Khai phá tập mục lợi ích cao là khám phá tất cả các tập mục có lợi ích không nhỏ hơn ngƣỡng lợi ích tối thiểu quy... dụng các phƣơng pháp khai phá của tập mục thƣờng xuyên để tìm các tập mục lợi ích TWU cao Trong các phƣơng pháp tập mục thƣờng xuyên thì phƣơng pháp nén các giao tác lên cấu trúc cây rồi khai phá cây đó là phƣơng pháp có nhiều ƣu điểm và hiệu quả Dựa trên ý tƣởng khai phá tập mục thƣờng xuyên của thuật toán COFItree trình bày ở chƣơng 1, luận văn đề xuất thuật toán khai phá tập mục lợi ích cao, gọi là... Ràng buộc ích không có tính chất phản đơn điệu, ví dụ, trong cơ sở dữ liệu bảng 2.1, ta có u(BC)=620=u(BCD) - Có thể coi khai phá tập mục cổ phần cao là trƣờng hợp đặc biệt của khai phá tập mục lợi ích cao khi tất cả các mục dữ liệu trong các giao tác là 0 hoặc 1 và tất cả giá trị chủ quan bằng 1 thì ta gặp lại mô hình dữ liệu của khai phá tập mục thƣờng xuyên - Về . dữ liệu một cơ sở dữ liệu giao tác. m: Số giao tác một cơ sở dữ liệu giao tác. A, B, C,…: Tên các mục dữ liệu trong cơ sở dữ liệu giao tác ví dụ. X, Y,…: Tập con của tập mục dữ liệu I, X, Y. để khai phá tập mục thƣờng xuyên. Bài toán khai phá tập mục thƣờng xuyên có thể chia thành hai bài toán nhỏ: Tìm các tập mục ứng viên và tìm các tập mục thƣờng xuyên. Tập mục ứng viên là tập. bài toán khai phá tập mục thƣờng xuyên ban đầu các nhà nghiên cứu đã đề xuất các mô hình mở rộng, một trong số đó có mô hình Khai phá tập mục lợi ích cao, đánh giá lợi ích mà tập mục dữ liệu mang

Ngày đăng: 05/10/2014, 02:38

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan