1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng luật kết hợp trong hỗ trợ tư vấn chọn chuyên ngành học cho sinh viên

12 573 1
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Ứng dụng luật kết hợp trong hỗ trợ tư vấn chọn chuyên ngành học cho sinh viên
Tác giả Phạm Thị Thanh Mai
Người hướng dẫn PGS.TS. Nguyễn Bá Tường
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Truyền dữ liệu và mạng máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2012
Thành phố Hà Nội
Định dạng
Số trang 12
Dung lượng 443,11 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mục đích của luận văn là: Tìm hiểu kỹ thuật khai phá dữ liệu, nghiên cứu sử dụng kỹ thuật khai phá luật kết hợp trong hỗ trợ tư vấn chọn chuyên ngành học cho sinh viên, trình bầy ví dụ á

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

-

PHẠM THỊ THANH MAI

ỨNG DỤNG LUẬT KẾT HỢP TRONG HỖ TRỢ TƯ VẤN CHỌN CHUYÊN NGÀNH HỌCCHO SINH VIÊN

Chuyên ngành: Truyền dữ liệu và mạng máy tính

Mã số: 60.48.15

TÓM TẮT LUẬN VĂN THẠC SĨ

HÀ NỘI - 2012

Trang 2

Luận văn được hoàn thành tại:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Người hướng dẫn khoa học:PGS.TS NGUYỄN BÁ TƯỜNG

Phản biện 1: ………

Phản biện 2: ………

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông Vào lúc: giờ ngày tháng năm

Có thể tìm hiểu luận văn tại:

- Thư viện của Học viện Công nghệ Bưu chính Viễn thông

Trang 3

Hướng phát triển tiếp theo của luận văn:

 Để quá trình đào tạo theo tín chỉ hoạt động có hiệu quả,

cần xây dựng một hệ thống hoàn chỉnh hỗ trợ cả quá

trình đào tạo (hỗ trợ thêm nhiều chức năng: sắp xếp lịch

học, sinh viên đăng ký môn học, …)

 Hiện nay, dữ liệu được lưu trữ ngày một tăng, để ứng

dụng khai phá dữ liệu vào các bài toán này cần tiếp

tục nghiên cứu các phương pháp xử lý cho bài toán có

dữ liệu lớn Xem xét, nghiên cứu một số ứng dụng

khác của Khai phá dữ liệu

MỞ ĐẦU

Bước sang thế kỷ 21 chúng ta đang phải đối mặt với sự gia tăng, bùng nổ của dữ liệu từ mức độ Terabytes đến mức độ Petabytes, đã làm nảy sinh và thúc đẩy sự phát triển của kỹ thuật thu thập, lưu trữ, phân tích và khai phá dữ liệu Khai phá

dữ liệu là khai phá những thông tin hữu ích tiềm ẩn, không được biết trước trong cơ sở dữ liệu Khai phá dữ liệu đã và đang được ứng dụng thành công trong nhiều lĩnh vực khác nhau như thương mại, tài chính, thị trường chứng khoán, y học, thiên văn học, sinh học, giáo dục và viễn thông…

Hệ thống giáo dục nước ta đang dần chuyển từ đào tạo theo niên chế sang đào tạo theo tín chỉ Đào tạo tín chỉ có rất nhiều ưu điểm, giúp sinh viên có thể tự quản lý quỹ thời gian của mình và tùy theo khả năng của mình sinh viên sẽ tự quyết định các môn học từng kỳ, tạo điều kiện cho sinh viên đạt được kết quả cao nhất trong học tập Vì thế việc xây dựng một hệ thống tư vấn lựa chọn chuyên ngành học cho sinh viên là điều cần thiết và rất hữu ích

Mục đích của luận văn là: Tìm hiểu kỹ thuật khai phá dữ liệu, nghiên cứu sử dụng kỹ thuật khai phá luật kết hợp trong

hỗ trợ tư vấn chọn chuyên ngành học cho sinh viên, trình bầy ví

dụ áp dụng cho nghiên cứu xây dựng hệ thống tư vấn lựa chọn chuyên ngành học cho sinh viên tại trường Cao đẳng Kinh tế -

Kỹ thuật Thương mại

Trang 4

Chương 1 - TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU

1.1 Đặt vấn đề

Ngày nay dữ liệu được lưu trữ ngày càng gia tăng Vấn đề

đặt ra là phải làm gì để tìm ra những tri thức hữu ích, tiềm ẩn từ

một lượng lớn khổng lồ dữ liệu như vậy

Nhiệm vụ của Khai phá dữ liệu là từ dữ liệu có sẵn tìm ra

những thông tin tiềm ẩn có giá trị mà trước đó chưa được phát

hiện cũng như tìm ra những xu hướng phát triển và các xu hướng

tác động lên chúng Các kỹ thuật cho phép lấy được tri thức từ cơ

sở dữ liệu được gọi là các kỹ thuật khai phá dữ liệu (DM: Data

Mining) Có rất nhiều kỹ thuật khai phá dữ liệu khác nhau tuân

theo các bước của quá trình phát hiện tri thức

1.2 Quá trình phát hiện tri thức từ cơ sở dữ liệu

1.2.1 Quá trình phát hiện tri thức

Quá trình phát hiện tri thức từ cơ sở dữ liệu bao gồm

năm giai đoạn sau:

1 Hiểu và xác định vấn đề

2 Thu thập và tiền xử lý dữ liệu

3 Khai phá dữ liệu

4 Minh họa, đánh giá tri thức được phát hiện

5 Đưa kết quả vào thực tế

KẾT LUẬN

Luận văn “Ứng dụng luật kết hợp trong hỗ trợ tư vấn chọn chuyên ngành học cho sinh viên” đã trình bày một số

kết quả sau đây:

 Những nghiên cứu về khai phá dữ liệu và ứng dụng trong nhiều lĩnh vực khác nhau nhằm khai phá nguồn

dữ liệu phong phú được lưu trữ trong các hệ thống thông tin Khai phá dữ liệu cũng được áp dụng nhiều trong việc tư vấn, dự báo, đặc biệt là những ứng dụng cho tư vấn trong giáo dục

 Khai phá dữ liệu có rất nhiều hướng tiếp cận (nhiều nhiệm vụ, mục đích), nhưng có 3 nhiệm vụ phổ biến: phát hiện Luật kết hợp (Association rules), Phân cụm (Clustering) và Phân loại (Classification) Trong đó nhiệm vụ phát hiện luật kết hợp là một trong những nhiệm vụ được quan tâm, nghiên cứu nhiều nhất

 Tìm hiểu được những ưu điểm cũng như những khó khăn trong việc đào tạo theo tín chỉ Sử dụng phần mềm mã nguồn mở Weka (đang được sử dụng phổ biến) cho việc sinh các luật kết hợp Xây dựng một hệ thống tư vấn môn học cho Sinh viên nhằm giúp sinh viên định hướng được trong việc lựa chọn môn học, chuyên ngành học

Trang 5

Giai đoạn 2 (tư vấn): sử dụng các luật nhận được từ giai đoạn

1 để đưa ra những tư vấn cho người dùng

 Người dùng cập nhập dữ liệu điểm các môn Đại

cương của mình

 Sau đó, người dùng có thể yêu cầu hệ thống đưa ra

những định hướng về chuyên ngành hoặc định hướng

về môn lựa chọn (chương trình sẽ hiển thị ra các luật

phù hợp với dữ liệu điểm mà người dùng đã cập nhật)

Hình 3.6.:Thuật toán tư vấn

3.4 Kết luận chương

Trong chương này đã trình bầy được những thuận lợi và

khó khăn về quá trình đào tạo theo tín chỉ Hiểu được các bước

tiền xử lý dữ liệu từ nguồn dữ liệu thu thập được Sử dụng

được phần mềm mã nguồn mở Weka vào việc sinh ra tập luật

kết hợp Từ đó mô tả một tiến trình tư vấn môn học cho sinh

viên Giúp sinh viên định hướng được việc học tập, đạt kết quả

tốt trong học tập

FOR tất cả các luật DO

IF các cặp mamon, loaidiem

trong vế trái của luật i trùng với cặp

mamon_loaidiem của bangdiem THEN

Luật i là luật được tư vấn

cho người dùng

END

Hình trên mô tả 5 giai đoạn trong quá trình phát hiện tri thức từ cơ sở dữ liệu Quá trình phát hiện tri thức từ cơ sở dữ liệu là một quá trình tương tác, lặp đi lặp lại theo chu trình liên tục kiểu xoáy trôn ốc, trong đó lần lặp sau hoàn chỉnh hơn lần lặp trước Giai đoạn sau sử dụng kết quả của giai đoạn trước

1.2.2 Các nhiệm vụ của khai phá dữ liệu 1.3 Các kỹ thuật khai phá dữ liệu

 Cây quyết định

 Luật kết hợp

 Mạng Nơron

 Thuật toán di truyền

(1) Cây quyết định: Cây quyết định là một cấu trúc

giống như một lưu đồ mà mỗi nút trong của cây biểu diễn một trường hợp thử hoặc một phép kiểm tra trên một thuộc tính Mỗi một phân nhánh của một nút biểu diễn một khả năng giá trị (miền giá trị) của phép thử Các giá trị này nằm về một phía so với ngưỡng tương ứng của nút Các nút lá biểu diễn các lớp hoặc phân bố lớp Nút trên cùng trong cây gọi là nút gốc

(2) Luật kết hợp: Trong thực tế những chuyên gia về

kinh doanh và tiếp thị rất quan tâm đến các luật có dạng như: “ 90% phụ nữ có xe máy màu đỏ và đeo đồng hồ Thuỵ Sỹ thì dùng nước hoa hiệu Chanel” Những thông tin như vậy rất hữu ích cho việc định hướng các hoạt động tiếp thị và kinh doanh Luật kết hợp có dạng X=>Y

Tuy nhiên những thông tin tìm được từ một cơ sở dữ liệu

là rất lớn Nhưng thông tin nào là đáng tin cậy Phương pháp

Trang 6

khai phá luật kết hợp có hai yếu tố đặc trưng đó là độ hỗ trợ

(support)- tần xuất xuất hiện của một tập mục trong cơ sở dữ

liệu và độ tin cậy (confidence)- tỉ lệ phần trăm các bản ghi chứa

Y trong số các bản ghi có X

(3) Mạng nơron: Có nhiều kiến trúc khác nhau cho

mạng nơron, chúng sử dụng các cách kết nối mạng khác nhau

và chiến lựơc học khác nhau để thực hiện các nhiệm vụ Khi sử

dụng mạng nơron chúng ta phải phân biệt hai giai đoạn: giai

đoạn mã hoá trong mạng nơron được học trên các mẫu dữ liệu

huấn luyện, thực hiện một nhiệm vụ nào đó và giai đoạn giải

mã trong đó mạng được sử dụng để phân lớp, làm dự báo hoặc

thực hiện bắt cứ nhiệm vụ học nào liên quan

(4) Thuật toán di truyền: Việc xây dựng các thuật toán

di truyền phỏng sinh học nhằm tìm ra các giải pháp tốt nhất bao

gồm các bước sau:

1 Tạo ra cơ chế mã di truyền dưới dạng các xâu của một

bảng mã kỹ tự hạn chế

2 Thiết lập môi trường nhân tạo trên máy tính trên đó

các giải pháp có thể tham gia “đấu tranh sinh tồn” với nhau để

xác định độ đo thành công hay thất bại, hay còn được gọi là

“hàm thích nghi”

3 Phát triển các “phép lai ghép” để các giải pháp kết hợp

với nhau Khi đó các xâu mã di truyền của giải pháp cha và mẹ

bị cắt đi và xếp lại Trong quá trình sinh sản như vậy các kiểu

đột biến có thể được áp dụng

4 Cung cấp một quần thể các giải pháp ban đầu tương đối

đa dạng và để máy tính thực hiện “cuộc chơi tiến hoá” bằng cách

3.2 Kiến trúc hệ tư vấn

3.2.1 Kiến trúc chương trình

Hình 3.1.Kiến trúc của hệ thống tư vấn

3.2.2 Mô tả chương trình

Giai đoạn 1 (khai phá dữ liệu):

Trong giai đoạn này phần mềm mã nguồn Weka được

sử dụng để sinh các luật kết hợp

 Từ dữ liệu thu thập được, ta chỉnh sửa sao cho không mất đi tính chính xác của dữ liệu

 Tạo file dữ liệu định dạng ARFF

 Tải file dữ liệu vào phần mềm mã nguồn mở Weka

 Sử dụng phần sinh luật kết hợp, với thuật toán Apriori, ta được một tập luật kết hợp lưu dưới dạng file text

Trang 7

Chương 3: NGHIÊN CỨU XÂY DỰNG HỆ THỐNG

HỖ TRỢ TƯ VẤN CHỌN CHUYÊN NGÀNH HỌC

CHO SINH VIÊN TẠI TRƯỜNG CAO ĐẲNG KINH

TẾ KỸ THUẬT THƯƠNG MẠI

Chương này giới thiệu về mô hình đào tạo theo tín chỉ,

tìm hiểu cách sử dụng phần mềm mã nguồn mở Weka để sinh

luật kết hợp Sau đó nghiên cứu xây dựng một hệ thống tư vấn

môn học cho Sinh viên

3.1 Giới thiệu về mô hình đào tạo theo tín chỉ

- Sinh viên chủ động đăng ký môn học

- Sinh viên sẽ tốt nghiệp sau khi hoàn thành 42 tín chỉ đại

cương, 69 tín chỉ chuyên ngành

- Sinh viên dễ dàng chuyển đổi chuyên ngành mà vẫn được

bảo lưu các điểm tương ứng

- Sinh viên chủ động sắp xếp lịch học của mình sao cho

phù hợp với lực học, tài chính

- Sinh viên có thể học lại, thi lại các môn với các lớp sau

mà không cần tổ chức thi lại

loại bỏ các giải pháp từ mỗi cá thể và thay thế chúng bằng các con cháu hoặc các đột biến của các giải pháp tốt Thuật toán sẽ kết thúc khi một họ các giải pháp thành công được sinh ra

1.4 Ứng dụng khai phá dữ liệu trong giáo dục

Hiện đã có rất nhiều nghiên cứu về ứng dụng khai phá dữ liệu cho giáo dục Những khai phá dữ liệu trong giáo dục đã nổi bật lên như là một lĩnh vực nghiên cứu độc lập trong những năm gần đây, mà cao điểm là năm 2008 với sự thành lập hội nghị quốc tế về khai phá dữ liệu giáo dục, và những bài báo về

khai phá dữ liệu giáo Đó là “Applying Data Mining Techniques

to e-Learning Problems” của Félix Castro1, Alfredo Vellido1,

Àngela Nebot1, và Francisco Mugica3, “Recommendation in

Higher Education Using Data Mining Techniques” của César

Vialardi, Javier Bravo, Leila Shafti, Álvaro Ortigosa, “Using

Association Rules for Course Recommendation” của Narimel

Bendakir và Esma A¨ımeur

Việc ứng dụng khai phá dữ liệu trong giáo dục đóng vai trò rất quan trọng trong việc phát triển giáo dục cũng như trợ giúp đáng kể cho các hoạt động giáo dục

Trang 8

Chương 2: LUẬT KẾT HỢP

Khai phá luật kết hợp là tìm ra những mối quan hệ kết

hợp từ một tập các mục dữ liệu, thông thường từ những cơ sở

dữ liệu lớn, đã được giới thiệu năm 1993 Từ đó đến nay, khai

phá luật kết hợp đã thu hút nhiều quan tâm của các nhà nghiên

cứu, không ngừng được phát triển và đóng vai trò quan trọng

trong khai phá tri thức từ cơ sở dữ liệu

2.1 Các khái niệm

Kí hiệu I = {i1, i2, …, im} là tập các thuộc tính D là cơ

sở dữ liệu của tập các giao tác, mỗi giao tác T là một tập mục

con của tập mục I, T  I Mỗi giao tác có một định danh duy

nhất gọi là TID (Transaction Identification) X={i1, i2,…,ik} I

được gọi là một tập mục hay một tập k-mục nếu nó chứa k

mục Một giao tác T được gọi là chứa tập mục X chỉ khi X  T

Mỗi giao tác là một bộ <TID, I>, I là tập mụ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 số các giao tác T D có chứa tập X và 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 Supp(X)

Độ hỗ trợ của luật X Y là tỉ số của số giao tác có chứa

X Y và số giao tác trong cơ sở dữ liệu D, kí hiệu:

Supp(XY)

| D

|

| T X : D T

| (X)

End Call ap_genrules (l k , H m+1 );

End

2.5 Sinh các luật kết hợp với phần mềm mã nguồn mở Weka

Weka đã được phát triển ở trường Đại học Waikato ở New Zealand và là tên viết tắt của Waikato Environment for Knowledge Analysis Hệ thống này được viết bằng Java Nó chạy trên bất kỳ platform nào, đã được thử nghiệm với Linux

và windows, và hệ điều hành Macintosh Nó cung cấp một giao diện thống nhất với nhiều thuật toán khác nhau, cùng với các phương pháp cho việc xử lý trước và xử lý sau và dành cho việc đánh giá kết quả của các sơ đồ học trên bất kỳ tập dữ liệu cho trước nào

Weka có thể download từ

http://www.cs.waikato.ac.nz/ml/weka

Để sử dụng được phần mềm Weka ta phải chuẩn bị dữ liệu dưới dạng file ARFF

Dữ liệu đầu ra có thể được lưu trong file dạng text

2.6 Kết luận chương

Trong chương 2 này, chúng ta đã tìm hiểu được các khái niệm cơ bản, các thuật toán khai phá luật kết hợp

và tìm hiểu về một phần mềm mã nguồn mở Weka, cách

sử dụng Weka để sinh ra luật kết hợp - một phần mềm đang được sử dụng rất phổ biến

Trang 9

End

return =  k L k ;

Thuật toán AprioriHibrid

Thuật toán AprioriHyrid là thuật toán lai của 2 thuật toán

Apriori và AprioriTID; nghĩa là ban đầu sử dụng thuật toán

Apriori, khi k nhỏ vừa đủ bộ nhớ và số phần tử của tập ứng

viên Ck nhỏ hơn Ck-1 thì chuyển sang sử dụng thuật toán

AprioriTID Điều kiện thứ hai để tránh hiện tượng k đủ vộ

nhớn nhưng k+1 không đủ bộ nhớ Kích thước của k được

ước lượng bằng công thức candidatescCksuport(c)+ số giao tác

2.4.2 Thuật toán sinh luật kết hợp

For all large k-itemset lk , k2, do begin

H 1 ={hệ quả của luật từ l k với một

item có mặt trong phần hệ quả}

Call ap_genrules (l k , H l );

End

Procedure ap_genrules (lk :large k-itemset,

H m : set of m-item consequents)

If (k >m+1) then begin

H m+1 =Apriori_gen(H m );

For all h m+1  H m+1 do begin

Conf = support (l k )/support (l k -h m+1 );

If (conf minconf) then Output the rule (l k –h m+1 )  h m+1 With confidence =conf and support=support(l k );

Else Delete h from H ;

Độ Tin cậy (Confidence)

Độ tin cậy của một luật r =X Y là tỉ số (phần trăm) của

số giao tác trong D chứa X Y với số giao tác trong D có chứa tập mục X Kí hiệu độ tin cậy của một luật là conf (r) Ta

có 0 conf 1

Tập mục (Itemset)

Tập mục X được gọi là tập mục thường xuyên nếu có Supp(X) MinSup, ( MinSup là giá trị cho trứoc)

Luật kết hợp

Cho một giao tác, mỗi giao tác là một tập mục, một luật

là một biểu thức có dạng XY, với X, Y là các tập mục, X 

Y = , X  I, Y  I, X được gọi là tiền đề, Y gọi là kết luận của luật

Một luật X  Y thoả mãn trên D nếu với một support tối thiểu minsup và một ngưỡng confidence tối thiểu minconf cho trước ta phải có:

Support (X Y) minsup

Và Confidence (X Y) minconf

(X và Y phải là các tập mục thường xuyên trên D)

Tính chất 4 Luật kết hợp không có tính bắc cầu

Nếu X Y và Y Z thoả trên D thì không thể khăng định X Z thoả mãn trên D

| D

|

| T Y X : D T

| Y) (X

Trang 10

Tính chất 5 Luật kết hợp không có tính tách

Nếu X Y Z thì X Z và Y Z chưa chắc xảy ra

Tính chất 6 Luật kết hợp không có tính bắc cầu

Nếu X Y và Y Z thoả trên D thì không thể khăng

định X Z thoả mãn trên D

Tính chất 7

Nếu luật X (L-X) không thoả độ tin cậy cực tiểu thì

luật Y(L-Y) cũng không thoả mãn, với các tập mục Y X

L

2.2 Mô tả kho dữ liệu điểm của bài toán

Với cơ sở dữ liệu (CSDL) có được của trên 6.000 sinh

viên và gần 2000 sinh viên đã tốt nghiệp (kể từ khóa 11 đến

khóa 13) (ký hiệu là một CSDL D)

Ta có thể xem cơ sở dữ liệu D là một ma trận trong đó

mỗi dòng thể hiện một giao tác và mỗi cột ứng với một mục

(thuộc tính) Ma trận này có thể trình bày theo 4 cách: Dạng

véc tơ mục ngang, Dạng danh sách mục ngang, Dạng véc tơ

định danh dọc, Danh sách định danh dọc

Dạng véc tơ mục ngang: HIV (Horizontal Item Vecto)

cơ sở dữ liệu được tổ chức như một tập của các dòng trong đó

mỗi dòng lưu trữ định danh (TID) của giao tác và một vectơ

else Ck = C k  {c}; kết tập c vào C k

end;

Return C k ;

End;

Hàm kiểm tra tập con k-1 mục của ứng cử viên k-mục không là tập phổ biến:

function has_infrequent_subset(c: ứng cử

viên k-mục; L k-1 tập phổ biến k-1 mục)

Begin

//sử dụng tập mục phổ biến trước

For (mỗi tập con k-1 mục s của c) do

If s  Lk-1 then return TRUE;

End;

Thuật toán AprioriTID

L1= {Large 1-itemset};

C’1 = Database D;

for (k=2; Lk-1   ; k++) do

Begin

C k = apriori_gen(L k-1 );

C’ k = ;

for tất cả t  C’k-1 do begin

// xác định tập ứng viên trong C k chứa trong giao dịch với định //danh t Tid (Transaction Code)

C t = c  C k | (c-c[k])  t.Set_of_ItemSets^(c-c[k-1] t.Set_of_ItemSets

for những ứng viên c  Ct do c.count ++;

if (Ct) then C’k += < t.Tid, C t >

end

L k = c C k | c.count  minsup;

Ngày đăng: 17/02/2014, 09:46

HÌNH ẢNH LIÊN QUAN

Hình 3.6.:Thuật toán tư vấn - Ứng dụng luật kết hợp trong hỗ trợ tư vấn chọn chuyên ngành học cho sinh viên
Hình 3.6. Thuật toán tư vấn (Trang 5)
Bảng mã kỹ tự  hạn chế. - Ứng dụng luật kết hợp trong hỗ trợ tư vấn chọn chuyên ngành học cho sinh viên
Bảng m ã kỹ tự hạn chế (Trang 6)
Hình 2.3. Dạng biểu diễn của CSDL  2.3. Xây dựng bài toán tổng quát - Ứng dụng luật kết hợp trong hỗ trợ tư vấn chọn chuyên ngành học cho sinh viên
Hình 2.3. Dạng biểu diễn của CSDL 2.3. Xây dựng bài toán tổng quát (Trang 11)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w