Luận án Hệ tư vấn dựa trên mức độ quan trọng hàm ý thống kê

Sự phát triển của công nghệ web, internet và thiết bị điện tử làm cho các dịch

vụ thương mại điện tử, dịch vụ giải trí, v.v ngày càng phong phú cũng như các thông

tin thu thập được ngày càng nhiều và đa dạng. Người dùng có thể bị quá tải thông tin

nên có thể đưa ra quyết định không đúng khi sử dụng những dịch vụ này. Vì vậy, để

đáp ứng nhu cầu tư vấn của người dùng và nhu cầu hỗ trợ kinh doanh của các nhà

cung cấp, hệ tư vấn được xem là một trong các giải pháp hiệu quả cho bài toán bùng

nổ thông tin. Hệ tư vấn (recommendation systems hoặc recommender system) [5] là

kỹ thuật hay công cụ phần mềm được nhúng trong các ứng dụng hoặc trang web giúp

làm giảm tình trạng quá tải thông tin bằng cách tự động truy tìm thông tin và dịch vụ

có liên quan nhất từ một lượng lớn dữ liệu để dự đoán các giá trị xếp hạng/đánh giá

(rating) của người dùng cho một mục dữ liệu (sản phẩm, dịch vụ, v.v) cụ thể và/hoặc

gợi ý các mục có xếp hạng dự đoán cao nhất cho người đó. Trải qua hơn hai mươi

năm phát triển, hệ tư vấn được ứng dụng vào nhiều mặt của cuộc sống như: Thương

mại điện tử, du lịch điện tử, học tập điện tử, dịch vụ điện tử, v.v [30]. Các hệ tư vấn

có thể được phân loại theo kỹ thuật tư vấn [5][10][30], tính chất của dữ liệu [27], lĩnh

vực ứng dụng [30], hoặc đối tượng chính cung cấp thông tin. Hệ tư vấn được xây

dựng theo một trong những kỹ thuật như: Dựa trên nội dung, lọc cộng tác, dựa trên

tri thức, lai ghép [5][10][30]. Trong đó, lọc cộng tác [1][13][15][34] là kỹ thuật quan

trọng và được sử dụng phổ biến nhất. Kỹ thuật này đưa ra các gợi ý cho người dùng

dựa trên những mối quan hệ giữa các mục dữ liệu hay giữa những người dùng. Các

nghiên cứu về hệ tư vấn là khá đa dạng nhưng có thể được nhóm thành các hướng

sau: (1) nghiên cứu về dữ liệu dùng trong hệ tư vấn; (2) đề xuất và cải tiến các phương

pháp tư vấn; (3) đánh giá hệ tư vấn. Mặc dù đã đạt được nhiều thành công song tất cả

những hướng nghiên cứu này vẫn đang được tiếp tục phát triển để đáp ứng sự đa dạng

về lĩnh vực ứng dụng, sự khác nhau trong nhu cầu người dùng và sự phát triển của

công nghệ. Đặc biệt, hướng đề xuất và cải tiến các phương pháp tư vấn giữ vai trò

chủ đạo.

pdf 192 trang dienloan 6200
Bạn đang xem 20 trang mẫu của tài liệu "Luận án Hệ tư vấn dựa trên mức độ quan trọng hàm ý thống kê", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Luận án Hệ tư vấn dựa trên mức độ quan trọng hàm ý thống kê

Luận án Hệ tư vấn dựa trên mức độ quan trọng hàm ý thống kê
 ĐẠI HỌC ĐÀ NẴNG 
TRƯỜNG ĐẠI HỌC BÁCH KHOA 
PHAN PHƯƠNG LAN 
HỆ TƯ VẤN DỰA TRÊN 
MỨC ĐỘ QUAN TRỌNG HÀM Ý THỐNG KÊ 
LUẬN ÁN TIẾN SĨ KỸ THUẬT 
Đà Nẵng - Năm 2019 
ii 
ĐẠI HỌC ĐÀ NẴNG 
TRƯỜNG ĐẠI HỌC BÁCH KHOA 
PHAN PHƯƠNG LAN 
HỆ TƯ VẤN DỰA TRÊN 
MỨC ĐỘ QUAN TRỌNG HÀM Ý THỐNG KÊ 
Chuyên ngành: Khoa học máy tính 
 Mã số: 9480101 
LUẬN ÁN TIẾN SĨ KỸ THUẬT 
Người hướng dẫn khoa học: 
1. PGS. TS. Huỳnh Xuân Hiệp 
 2. TS. Huỳnh Hữu Hưng 
Đà Nẵng - Năm 2019 
LỜI CAM ĐOAN 
Tôi xin cam đoan đây là công trình nghiên cứu do tôi thực hiện, dưới sự hướng 
dẫn của PGS.TS. Huỳnh Xuân Hiệp và TS. Huỳnh Hữu Hưng. 
Tôi cam đoan các kết quả nghiên cứu được trình bày trong luận án là trung 
thực và không sao chép từ bất kỳ công trình nghiên cứu nào khác. Một số kết quả 
nghiên cứu là thành quả tập thể và đã được các đồng tác giả đồng ý cho sử dụng trong 
luận án. Mọi trích dẫn trong luận án đều có ghi nguồn gốc xuất xứ rõ ràng và đầy đủ. 
 Tác giả 
 NCS. Phan Phương Lan 
LỜI CẢM ƠN 
Trước tiên, tôi xin bày tỏ lòng biết ơn sâu sắc và gửi lời tri ân đến PGS. TS. 
Huỳnh Xuân Hiệp và TS. Huỳnh Hữu Hưng đã tận tình hướng dẫn, truyền đạt kiến 
thức và kinh nghiệm nghiên cứu khoa học cho tôi trong suốt quá trình học tập, nghiên 
cứu và hoàn thành luận án. 
Tôi xin chân thành cảm ơn Phòng Đào tạo và Khoa Công nghệ thông tin - 
Trường Đại học Bách khoa đã luôn tạo điều kiện thuận lợi cho tôi trong thời gian làm 
nghiên cứu sinh tại đây. Xin cảm ơn Ban Lãnh đạo trường Đại học Cần Thơ, Khoa 
Công nghệ thông tin và Truyền thông, Bộ môn Công nghệ phần mềm đã luôn hỗ trợ 
và tạo điều kiện tốt nhất để tôi có thể tập trung nghiên cứu. 
Tôi xin được bày tỏ lòng biết ơn chân thành đến GS. TS. Régis Gras đã cung 
cấp cho tôi nhiều tài liệu về lý thuyết phân tích hàm ý thống kê và có những góp ý 
sâu sắc cho nghiên cứu của tôi. Xin chân thành cảm ơn các nhà khoa học đã dành thời 
gian và công sức đọc và đưa ra các góp ý quý báu để luận án được hoàn chỉnh hơn. 
Cuối cùng, tôi xin được gửi lời cảm ơn sâu sắc đến gia đình và bạn thân 
- những người luôn bên cạnh, giúp đỡ và động viên tôi trong suốt thời gian học tập, 
nghiên cứu và hoàn thành luận án. 
Đà Nẵng, ngày 09 tháng 11 năm 2019 
NCS. Phan Phương Lan 
i 
MỤC LỤC 
1. 
MỤC LỤC .................................................................................................................. I 
DANH MỤC THUẬT NGỮ VÀ TỪ VIẾT TẮT ................................................ VI 
DANH MỤC BẢNG ............................................................................................ VIII 
DANH MỤC HÌNH ................................................................................................ IX 
MỞ ĐẦU .................................................................................................................... 1 
CHƯƠNG 1. TỔNG QUAN ..................................................................................... 7 
1.1. Mức độ quan trọng hàm ý thống kê ............................................................................ 7 
1.1.1. Định nghĩa mức độ quan trọng hàm ý thống kê ...................................................... 7 
1.1.2. Mức độ quan trọng hàm ý thống kê cho dữ liệu nhị phân ....................................... 8 
1.1.2.1. Mối quan hệ hàm ý thống kê trên dữ liệu nhị phân .......................................... 8 
1.1.2.2. Chỉ số hàm ý và cường độ hàm ý ................................................................... 10 
1.1.2.3. Cường độ hàm ý có entropy ........................................................................... 12 
1.1.2.4. Chỉ số gắn kết ................................................................................................. 13 
1.1.2.5. Chỉ số đóng góp .............................................................................................. 13 
1.1.2.6. Chỉ số tiêu biểu ............................................................................................... 14 
1.1.3. Mức độ quan trọng hàm ý thống kê cho dữ liệu phi nhị phân ............................... 14 
1.1.3.1. Mối quan hệ hàm ý thống kê trên dữ liệu phi nhị phân .................................. 15 
1.1.3.2. Mức độ quan trọng hàm ý thống kê cho dữ liệu phi nhị phân ........................ 15 
1.2. Mức độ quan trọng xếp hạng hàm ý thống kê ......................................................... 17 
1.3. Hệ tư vấn và các hướng nghiên cứu .......................................................................... 18 
1.3.1. Hệ tư vấn................................................................................................................ 18 
1.3.2. Phân loại hệ tư vấn ................................................................................................ 21 
1.3.2.1. Hệ tư vấn thuộc nhóm cá thể .......................................................................... 22 
1.3.2.2. Hệ tư vấn thuộc nhóm cộng tác/cộng đồng .................................................... 22 
1.3.2.3. Hệ tư vấn thuộc nhóm chuyên gia .................................................................. 23 
1.3.2.4. Hệ tư vấn thuộc nhóm lai ghép ....................................................................... 24 
ii 
1.3.2.5. Hệ tư vấn thuộc nhóm theo ngữ cảnh ............................................................. 25 
1.3.3. Các hướng nghiên cứu về hệ tư vấn ...................................................................... 26 
1.3.3.1. Nghiên cứu về dữ liệu .................................................................................... 26 
1.3.3.2. Nghiên cứu đề xuất và cải tiến các phương pháp tư vấn ................................ 27 
1.3.3.3. Nghiên cứu đánh giá hệ tư vấn ....................................................................... 29 
1.4. Kỹ thuật tư vấn lọc cộng tác ...................................................................................... 29 
1.4.1. Kỹ thuật lọc cộng tác dựa trên bộ nhớ (láng giềng) .............................................. 29 
1.4.2. Kỹ thuật lọc cộng tác dựa trên mô hình ................................................................. 30 
1.4.2.1. Tư vấn lọc cộng tác dựa trên luật kết hợp ...................................................... 30 
1.4.2.2. Mô hình nhân tố tiềm ẩn ................................................................................. 31 
1.5. Đánh giá hiệu quả tư vấn ........................................................................................... 32 
1.5.1. Phương pháp đánh giá chéo k tập con ................................................................... 35 
1.5.2. Tính chính xác của gợi ý ....................................................................................... 36 
1.5.3. Tính chính xác của xếp hạng được dự đoán .......................................................... 37 
1.5.4. Tính chính xác của gợi ý được sắp thứ tự.............................................................. 38 
1.6. Phương pháp tư vấn theo mức độ quan trọng hàm ý thống kê .............................. 39 
1.6.1. Tư vấn dựa trên phân tích hàm ý thống kê hiện có ............................................... 40 
1.6.2. Tư vấn dựa trên mức độ quan trọng hàm ý thống kê ............................................. 41 
1.7. Kết luận chương 1 ....................................................................................................... 43 
CHƯƠNG 2. TƯ VẤN THEO MỨC ĐỘ QUAN TRỌNG HÀM Ý THỐNG KÊ 
TRÊN LUẬT KẾT HỢP ........................................................................................ 44 
2.1. Mô hình tư vấn theo mức độ quan trọng hàm ý thống kê trên luật SIR ............... 44 
2.1.1. Mô hình tư vấn SIR ............................................................................................... 44 
2.1.2. Mô hình tư vấn SIR được cải tiến .......................................................................... 48 
2.2. Hoạt động của mô hình tư vấn theo mức độ quan trọng hàm ý thống kê trên luật . 
 ...................................................................................................................................... 49 
2.2.1. Hoạt động của mô hình tư vấn SIR ....................................................................... 49 
2.2.2. Hoạt động của mô hình tư vấn SIR được cải tiến .................................................. 53 
2.3. Đánh giá hiệu quả tư vấn của mô hình SIR ............................................................. 54 
2.3.1. Dữ liệu thực nghiệm của mô hình SIR .................................................................. 54 
2.3.2. Công cụ thực nghiệm của mô hình SIR ................................................................. 56 
iii 
2.3.3. Hiệu quả tư vấn của mô hình SIR trên dữ liệu nhị phân ....................................... 57 
2.3.3.1. Các giá trị tham số phù hợp ............................................................................ 58 
2.3.3.2. Thời gian xây dựng mô hình tư vấn trước và sau cải tiến .............................. 60 
2.3.3.3. Tính chính xác của gợi ý qua so sánh nội trên dữ liệu nhị phân .................... 62 
2.3.3.4. Tính chính xác của gợi ý qua so sánh ngoại trên dữ liệu nhị phân ................. 66 
2.3.3.5. Mô hình tư vấn SIR trong gợi ý đăng ký học phần ........................................ 69 
2.3.4. Hiệu quả tư vấn của mô hình SIR trên dữ liệu phi nhị phân ................................. 69 
2.3.4.1. Tính chính xác của gợi ý qua so sánh nội trên dữ liệu phi nhị phân .............. 70 
2.3.4.2. Tính chính xác của gợi ý qua so sánh ngoại trên dữ liệu phi nhị phân .......... 73 
2.4. Kết luận chương 2 ....................................................................................................... 75 
CHƯƠNG 3. TƯ VẤN THEO MỨC ĐỘ QUAN TRỌNG XẾP HẠNG HÀM Ý 
THỐNG KÊ TRÊN NGƯỜI DÙNG ..................................................................... 77 
3.1. Định nghĩa mức độ quan trọng xếp hạng hàm ý thống kê trên người dùng ......... 78 
3.2. Mô hình tư vấn theo mức độ quan trọng xếp hạng hàm ý thống kê trên người 
dùng UIR ............................................................................................................................ 79 
3.3. Hoạt động của mô hình tư vấn theo mức độ quan trọng xếp hạng hàm ý thống kê 
trên người dùng .................................................................................................................. 81 
3.4. Đánh giá hiệu quả tư vấn của mô hình UIR ............................................................. 85 
3.4.1. Dữ liệu thực nghiệm của mô hình UIR ................................................................. 85 
3.4.2. Công cụ thực nghiệm của mô hình UIR ................................................................ 86 
3.4.3. Đánh giá mô hình UIR qua tính chính xác của gợi ý ............................................ 86 
3.4.3.1. Tính chính xác của mô hình UIR qua so sánh ngoại ...................................... 87 
3.4.3.2. Tính chính xác của mô hình UIR qua so sánh nội .......................................... 92 
3.4.4. Đánh giá mô hình UIR qua tính chính xác của xếp hạng được dự đoán ............... 95 
3.4.4.1. Sai số của mô hình UIR qua so sánh ngoại .................................................... 95 
3.4.4.2. Sai số của mô hình UIR qua so sánh nội ........................................................ 98 
3.4.5. Đánh giá mô hình UIR qua tính chính xác của gợi ý được sắp thứ tự .................. 99 
3.4.5.1. Độ lợi tích lũy giảm dần của mô hình UIR trên dữ liệu nhị phân ................ 100 
3.4.5.2. Độ lợi tích lũy giảm dần của mô hình UIR trên dữ liệu phi nhị phân .......... 101 
3.5. Kết luận chương 3 ..................................................................................................... 103 
iv 
CHƯƠNG 4. TƯ VẤN THEO MỨC ĐỘ QUAN TRỌNG XẾP HẠNG HÀM Ý 
THỐNG KÊ TRÊN MỤC .................................................................................... 104 
4.1. Định nghĩa mức độ quan trọng xếp hạng hàm ý thống kê trên mục dữ liệu ...... 105 
4.2. Mô hình tư vấn theo mức độ quan trọng xếp hạng hàm ý thống kê trên mục IIR .. 
 .................................................................................................................................... 106 
4.3. Hoạt động của mô hình tư vấn theo mức độ quan trọng xếp hạng hàm ý thống kê 
trên mục ............................................................................................................................ 109 
4.4. Đánh giá hiệu quả tư vấn của mô hình IIR ............................................................ 111 
4.4.1. Dữ liệu và công cụ thực nghiệm của mô hình IIR ............................................... 111 
4.4.2. Thời gian xây dựng ma trận mục trực tiếp và gián tiếp ....................................... 112 
4.4.3. Đánh giá mô hình IIR qua tính chính xác của gợi ý ............................................ 113 
4.4.3.1. Tính chính xác của mô hình IIR qua so sánh nội ......................................... 114 
4.4.3.2. Tính chính xác của mô hình IIR qua so sánh ngoại...................................... 116 
4.4.3.3. Tính ổn định của mô hình IIR ...................................................................... 118 
4.4.4. Đánh giá mô hình IIR qua tính chính xác của xếp hạng được dự đoán ............... 121 
4.4.4.1. Sai số của mô hình IIR qua so sánh nội ........................................................ 122 
4.4.4.2. Sai số của mô hình IIR qua so sánh ngoại .................................................... 126 
4.4.5. Đánh giá mô hình IIR qua tính chính xác của gợi ý được sắp thứ tự .................. 128 
4.5. So sánh hiệu quả tư vấn của các mô hình đề xuất ................................................. 130 
4.5.1. So sánh thời gian tư vấn ...................................................................................... 130 
4.5.2. So sánh tính chính xác của các mô hình .............................................................. 132 
4.5.3. Đánh giá chung về các mô hình đề xuất .............................................................. 136 
4.6. Kết luận chương 4 ..................................................................................................... 138 
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ........................................................... 139 
Kết luận ............................................................................................................................. 139 
Hướng phát triển ............................................................................................................. 140 
DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC ĐÃ CÔNG BỐ .................... 141 
TÀI LIỆU THAM KHẢO .................................................................................... 143 
PHỤ LỤC ..................................................................................................... ...  cần cho hoạt động sinh luật kết hợp */ 
float s=0; float c=0; int l=2; 
/* Sinh tập luật và tính giá trị tin cậy của từng luật */ 
Ruleset = createRules(R,s,c,l); 
/* Biểu diễn tập luật theo phân tích hàm ý thống kê và tính cường độ hàm ý của 
từng luật */ 
Ruleset = presentRules(Ruleset,R); 
for từng luật rk có dạng ij i thuộc tập luật Ruleset { 
/* Lấy giá trị cường độ hàm ý đã được lưu trong Ruleset */ 
16 
IInt[ij,i] = getImplicativeIntensity(Ruleset,rk) 
/* Lấy giá trị tin cậy đã được lưu trong Ruleset */ 
Conf[ij,i] = getConfidence(Ruleset,rk); 
/* Tính giá trị của luật theo công thức (4.2) */ 
V[ij,i] = IInt[ij,i] * Conf[ij,i]; 
} 
/* Lọc lại ma trận V: với mỗi mục dữ liệu, chỉ lấy knn láng giềng gần nhất */ 
V = filteredMatrix(V,knn); 
return V; } 
Xây dựng ma trận mục dữ liệu - trực tiếp 
Giải thuật 4.3 𝑐𝑟𝑒𝑎𝑡𝑒_𝑀_𝑀𝑎𝑡𝑟𝑖𝑥 được sử dụng để xây dựng trực tiếp ma trận 
mục dữ liệu 𝑉. Dữ liệu đầu vào của giải thuật là ma trận xếp hạng 𝑅 và số láng giềng 
gần nhất 𝑘𝑛𝑛. Giải thuật 4.3 thực hiện các bước xử lý sau: 
Với mỗi cặp mục dữ liệu 𝑖௝ , 𝑖, 
- Biểu diễn mối quan hệ (𝑖௝ , 𝑖) theo bộ bốn giá trị {𝑛, 𝑛௜ೕ , 𝑛௜ , 𝑛௜ೕన̅}. 
- Tính giá trị tin cậy c(𝑖௝ , 𝑖)=1-𝑛௜ೕన̅/𝑛௜ೕ. 
- Tính giá trị cường độ hàm ý ((𝑖௝ , 𝑖) và 
- Tính V[(𝑖௝ , 𝑖] = ((𝑖௝ , 𝑖)* c((𝑖௝ , 𝑖). Ta có thể bổ sung ngưỡng tin cậy 𝑐 như một 
tham số đầu vào để lọc lại các mối quan hệ có độ tin cậy ≥c. Mặc nhiên, V[(𝑖௝ , 𝑖] có 
giá trị 0. 
- Lọc lại ma trận mục sao cho với mỗi mục dữ liệu 𝑖, chỉ giữ lại knn mục 𝑖௝ có 
mối quan hệ mạnh nhất (giá trị 𝑣) với 𝑖. 
Giải thuật 4.3 create_M_Matrix: Tạo ma trận mục dữ liệu lưu giá trị của các mối 
quan hệ (𝒊𝒋, 𝒊) và lọc lại ma trận theo knn láng giềng gần nhất 
Đầu vào: ma trận xếp hạng 𝑅, ngưỡng tin cậy 𝑐, số láng giềng gần nhất knn. 
Đầu ra: ma trận 𝑉 chứa giá trị của các mối quan hệ (𝑖௝ , 𝑖) (𝑖௝ → 𝑖 với 𝑖௝ ∈ 𝐼 và 𝑖 ∈ 𝐼) 
create_M_Matrix(ratingmatrix R; float c=0; int knn) { 
V = Khoitaomatran(0, m, m); 
for muc du lieu ij I do 
 for muc du lieu i I do { 
17 
 card = Timbobanso(R); 
 c[ij,i] = Tinhdotincay(card); 
 if (c[ij,i] ≥ c) then { 
 [ij,i] = Tinhcuongdohamy(card); 
V[ij,i] = [ij,i] * c[ij,i]; } 
} 
/* Lọc lại ma trận V: với mỗi mục dữ liệu, chỉ lấy knn láng giềng gần nhất */ 
V = filteredMatrix(V,knn); 
return V; } 
Dự đoán xếp hạng của người dùng cho các mục dữ liệu 
Giải thuật 4.4 𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑅𝑎𝑡𝑖𝑛𝑔𝑠 dự đoán xếp hạng của người cần tư vấn 𝑢௔ cho 
mục dữ liệu 𝑖 ∈ 𝐼. Đầu vào của giải thuật là một vector 𝐴 có kích thước 𝑚 lưu các 
xếp hạng của người dùng 𝑢௔ cần tư vấn; ma trận 𝑉 đã được xác định bởi giải thuật 
𝑓𝑖𝑙𝑡𝑒𝑟𝑒𝑑𝑀𝑎𝑡𝑟𝑖𝑥. Đầu ra của giải thuật là một vector 𝐾𝑛𝑛𝐼𝐼𝑅 có kích thước 𝑚 lưu 
các xếp hạng được dự đoán của người dùng 𝑢௔ cho các mục dữ liệu 𝑖 ∈ 𝐼. 
Giải thuật 4.4 predictRatings: Dự đoán giá trị xếp hạng của một người dùng cho 
các mục dữ liệu 
Đầu vào: ma trận 𝑉, vector 𝐴 chứa các xếp hạng đã được thực hiện của 𝑢௔. 
Đầu ra: một vector có tên 𝐾𝑛𝑛𝐼𝐼𝑅 lưu các giá trị xếp hạng được dự đoán của ua cho 
các mục dữ liệu 𝑖 ∈ 𝐼. 
predictRatings(vector A; matrix IInt_Conf, ) { 
for từng mục i I { 
AIR1[ua,i] = sum(A[ij]*V[ij,i]) với ij I; 
AIR2[ua,i] = sum((A[ij]!=0)*V[ij,i]) với ij I; 
if (getDatatype(A)==”binary”) 
KnnIIR[ua, i] = AIR1[ua, i]/AIR2[ua, i]); 
} 
if (getDatatype(A)==”binary”) 
KnnIIR[ua, ] = AIR1[ua, ]/max(AIR1[ua, ]); 
return KnnIIR; } 
18 
Phụ lục 5: Giải thuật đánh giá hệ tư vấn 
Giải thuật evaluateModels thực hiện đánh giá hiệu quả tư vấn của các mô hình 
theo nhóm độ đo tính chính xác của gợi ý. Dữ liệu đầu vào của giải thuật này là ma 
trận xếp hạng, tên các mô hình tư vấn và những tham số cần có của mô hình để xây 
dựng hệ tư vấn, số tập con 𝑘 cần cho việc phân tách dữ liệu bằng phương pháp k-fold, 
số xếp hạng biết trước của mỗi người dùng trong tập truy vấn 𝑔𝑖𝑣𝑒𝑛 và một vector 
lưu các số mục cần gợi ý 𝑛. Dữ liệu đầu ra là một tập tin định dạng . 𝑐𝑠𝑣 lưu giá trị 
các độ đo đánh giá theo từng số mục mục gợi ý của từng mô hình và có định dạng 
như Bảng Phụ lục 5.1, một biểu đồ vẽ các đường cong ROC và một biểu đồ vẽ các 
đường cong Precision – Recall. 
Bảng Phụ lục 5.1: Định dạng tập tin lưu giá trị các độ đo đánh giá của từng hệ 
tư vấn theo số mục gợi ý 
Tên mô hình: 
Số mục 
gợi ý TP FP FN TN Precision Recall TPR FPR F1 Accuracy 
Giải thuật evaluateModels: Đánh giá các hệ tư vấn 
Đầu vào: ma trận xếp hạng có tên R, tên các mô hình tư vấn và những tham số cần 
thiết cho mô hình đó để xây dựng các hệ tư vấn, số tập con k cần cho việc phân tách 
dữ liệu, số mục biết trước given trong tập truy vấn và một vector n lưu các số mục 
cần gợi ý. 
Đầu ra: tập tin lưu giá trị các độ đo đánh giá của từng hệ tư vấn, biểu đồ vẽ đường 
cong ROC và biểu đồ vẽ đường cong Precision - Recall. 
Các bước xử lý: 
1. /* Phân tách dữ liệu theo phương pháp k-fold */ 
sets=splitKFolds(R,k); 
2. /* Lập một danh sách các mô hình tư vấn sẽ được so sánh */ 
Modellist=createModelList(list(Modelname,Modelparams),, 
 list(Modelname,Modelparams)); 
19 
3. /* Tính giá trị các độ đo đánh giá cho từng mô hình tư vấn trong danh sách 
Modellist */ 
for m=1 to length( Modellist) do { 
/* Thực hiện từng lần đánh giá trong k lần */ 
for r=1 to k do { 
/* Lấy các tập dữ liệu huấn luyện, truy vấn và đích*/ 
Trainset=getData(sets,r); Queryset=getData(sets,r); 
Targetset=getData(sets,r); 
/* Học mô hình tư vấn */ 
Model=createModel (Trainset,getName(Modellist[m]), 
 getParams(Modellist[m])); 
/* Thực hiện gợi ý và tính giá trị theo các độ đo đánh giá */ 
for i=1 to length(n) do { 
TopN=n[i]; 
/* Gợi danh sách TopN mục cho từng người dùng trong tập truy 
vấn Queryset */ 
Reclist=recommendTopItems(Model,Queryset,TopN); 
/* Tính giá trị theo các độ đo đánh giá TN, FP, FN, TP, precision, 
recall, TPR, FPR, accuracy và F1 */ 
Result=calculateValues(Reclist,Targetset); 
if (i=1) Resultlist=Result; 
else Resultlist=bindRow(Resultlist,Result); 
} 
/* Ghép kết quả của từng lần thực thi vào cuối ma trận CMatrix */ 
if (r=1) Cmatrix=Resultlist; 
else Cmatrix=bindColumn(Cmatrix,Resultlist); 
} 
/* Tính giá trị trung bình của k lần thực thi */ 
Mcmatrix=getAverage(Cmatrix); 
/* Ghép kết quả của các mô hình lại với nhau */ 
20 
if (m=1) Evaluationmatrix=Mcmatrix; 
else Evaluationmatrix=bindRow(Evaluationmatrix,Mcmatrix); 
} 
4. /* Lưu các giá trị vào tập tin và Vẽ các biểu đồ */ 
write.csv(Evaluationmatrix,”Evaluationmatrix.csv”); 
plot(FPR(Evaluationmatrix),TPR(Evaluationmatrix), 
 xlab=”FPR”,ylab=”TPR”,title=”ROC Curve”); 
plot(Recall (Evaluationmatrix), Precision (Evaluationmatrix), 
 xlab=”Recall”,ylab=”Precision”,title=”Recall- Precision Curve”); 
Để đánh giá hiệu quả tư vấn của các mô hình theo nhóm độ đo tính chính xác 
của xếp hạng được dự đoán (RMSE, MAE, MSE) hay theo độ đo tính chính xác của 
gợi ý được sắp thứ tự (nDCG), ta cũng làm tương tự như trên. 
21 
Phụ lục 6: Xác định giá trị tham số phù hợp của mô hình SIR, AR và IBCF 
Ngưỡng tin cậy và hỗ trợ trong các mô hình SIR, AR 
Với tập dữ liệu MSWeb(875x135), Hình Phụ lục 6.1.a hiển thị đường cong ROC 
trung bình của 30 lần chạy (times=30) bằng phương pháp k tập con (k=5) của 7 hệ tư 
vấn (s001c002 RS, s001c005 RS, s001c01 RS, s005c005 RS, s005c01 RS, s01c005 
RS, s01c01 RS). Những hệ thống này sử dụng cùng mô hình đề xuất và có các ngưỡng 
(hỗ trợ 𝑠, tin cậy 𝑐) lần lượt là (0,01, 0,02), (0,01, 0,05), (0,01, 0,1), (0,05, 0,05), (0,05, 
0,1), (0,1, 0,05) và (0,1, 0,1); số Vroot biết trước của mỗi người dùng trong tập truy 
vấn (𝑔𝑖𝑣𝑒𝑛) là 7; độ dài luật tối đa (𝑙) là 2; số Vroot cần gợi ý cho người dùng là 1, 
2, 4, 6, 8, 10 và 12. Hình Phụ lục 6.1.b hiển thị đường cong ROC của 7 hệ tư vấn trên 
nhưng với (times, given, l) được thay đổi là (8, 5, 7). Hình Phụ lục 6.2 hiển thị đường 
cong Precision - Recall của 7 hệ tư vấn trên nhưng với (times, given, l) được thay đổi 
là (30, 3, 4). Hình Phụ lục 6.1.a và Hình Phụ lục 6.1.b cho thấy diện tích dưới các 
đường cong ROC của ba hệ tư vấn s001002 RS, s001005 RS và s001c0 RS đều bằng 
nhau nhưng lớn hơn các diện tích nằm dưới các đường cong ROC khác. Hình Phụ lục 
6.2 cho thấy độ chính xác và độ bao phủ của ba hệ tư vấn s001002 RS, s001005 RS 
và s001c01 RS cũng cao hơn so với của các hệ tư vấn còn lại. 
Khi thay đổi bộ giá trị (times, given, l), ta cũng nhận được kết quả tương tự như 
các hình trên. Bên cạnh đó, với cùng ngưỡng hỗ trợ 0,01, kích thước của tập luật kết 
hợp được tạo ra bởi ngưỡng tin cậy 0,02 hoặc 0,05 lớn hơn kích thước của tập luật 
được tạo ra bởi ngưỡng tin cậy 0,1. Do đó, các ngưỡng hỗ trợ và tin cậy được chọn 
cho tập dữ liệu MSWeb(875x135) là 0,01 và 0,1 tương ứng. 
Với cách làm tương tự như trên tập dữ liệu MSWeb(875x135), các ngưỡng hỗ 
trợ và tin cậy được chọn cho tập DKHP(1.130x57) là 0,01 và 0,1 tương ứng. 
22 
Hình Phụ lục 6.1: Đường cong ROC của bẩy hệ tư vấn trên 
tập MSWeb(875x135). 
Hình Phụ lục 6.2: Đường cong Precision - Recall của bẩy hệ tư vấn trên 
tập MSWeb(875x135). 
Độ dài tối đa của một luật trong các mô hình SIR, AR 
Với các ngưỡng tin cậy và hỗ trợ đã xác định cho tập DKHP(1.130x57), ta thay 
đổi độ dài tối đa của một luật để quan sát hiệu quả của hệ tư vấn và từ đó đề nghị một 
(a): (times, given, l) = (4, 6, 2) 
Số Vroot được gợi ý 
cho người dùng 
(b): (times, given, l) = (8, 5, 7) 
(a): (times, given, l) = (2, 1, 4) 
Số Vroot được 
gợi ý cho người dùng 
(b): (times, given, l) = (6, 3, 5) 
23 
ngưỡng độ dài luật phù hợp. Bẩy hệ tư vấn mà độ dài tối đa của một luật được thay 
đổi từ 2 đến 8 (Maxlength2 RS, Maxlength3 RS, Maxlength4 RS, Maxlength5 RS, 
Maxlength6 RS, Maxlength7 RS và MaxRule Length8 RS) được xây dựng. Những 
hệ thống này sử dụng cùng mô hình tư vấn dựa trên luật có ngưỡng hỗ trợ s=0,01 và 
ngưỡng tin cậy c=0,1. Hình Phụ lục 6.3.a và Hình Phụ lục 6.3.b hiển thị đường cong 
Precision - Recall trung bình của 4 lần đánh giá bằng phương pháp k tập con khi của 
số học phần biết trước của mỗi sinh viên cần tư vấn là 3 và 5 tương ứng. Vì mỗi sinh 
viên chỉ được đăng ký tối đa 7 học phần nên số học phần cần gợi ý cho sinh viên có 
thể là (1, 2, 3, 4, 5) cho given=2 và (1, 2) cho given=5. 
Hình Phụ lục 6.4.a và Hình Phụ lục 6.4.b hiển thị đường cong ROC cũng của 7 
hệ tư vấn trên nhưng với (times, given) được thay đổi là (2, 2), (2, 4). 
Hình Phụ lục 6.3: Đường cong Precision - Recall của bẩy hệ tư vấn 
trên tập DKHP(1.130x57). 
(a): (times, given) = (4, 3) 
Số học phần được 
gợi ý cho sinh viên 
(b): (times, given) = (4, 5) 
24 
Hình Phụ lục 6.4: Đường cong ROC của bẩy hệ tư vấn 
trên tập DKHP(1.130x57). 
Hình Phụ lục 6.3 cho thấy: Khi mỗi sinh viên cần tư vấn đã đăng ký 3 học phần 
(given=3), độ chính xác và độ bao phủ của các hệ tư vấn có độ dài tối đa của một luật 
từ 4 đến 8 cao hơn so với các hệ tư vấn Maxlength2 RS, Maxlength3 RS; khi given 
đạt giá trị cao nhất (given=5), độ chính xác và độ bao phủ của các hệ tư vấn có độ dài 
tối đa của một luật từ 5 đến 8 cao hơn so với các hệ tư vấn còn lại. Bên cạnh đó, Hình 
Phụ lục 6.4 cho thấy: khi given=2, đường cong ROC của các hệ tư vấn có độ dài tối 
đa của một luật từ 3 đến 8 trùng nhau và nằm trên đường cong ROC của hệ tư vấn 
Maxlength2 RS; khi given=4, đường cong ROC của các hệ tư vấn có độ dài tối đa 
của một luật từ 4 đến 8 trùng nhau nằm trên đường cong của hai hệ tư vấn còn lại. 
Ngoài ra, khi độ dài tối đa của một luật tăng thì số luật được sinh ra cũng tăng, từ đó 
làm tăng thời gian đưa ra gợi ý. Do đó, trong trường hợp này ngưỡng độ dài tối đa 
của một luật được chọn là 5. 
Với tập dữ liệu MSWeb(875x135), ta cũng thực hiện theo cách như đã làm trên 
DKHP(1.130x57). Kết quả, với các ngưỡng hỗ trợ và tin cậy đã được chọn ở trên, độ 
dài tối đa của một luật cho tập dữ liệu MSWeb(875x135) là 7. 
(a): (times, given) = (2, 2) 
Số học phần được 
gợi ý cho sinh viên 
(b): (times, given) = (2, 4) 
25 
Số láng giềng gần nhất của mô hình IBCF 
Trên tập dữ liệu MSWeb(875x135), bảy hệ tư vấn được xây dựng là k20 
IBCFRS, k40 IBCFRS, k60 IBCFRS, k80 IBCFRS, k100 IBCFRS, k120 IBCFRS và 
k135 IBCFRS. Các hệ thống này sử dụng mô hình IBCF dùng độ đo Jaccard và có 
giá trị 𝑘 được thay đổi là 20, 40, 60, 80, 100, 120 và 135 tương ứng. Tất cả các hệ 
thống đều cùng có: 
- Dãy số mục dữ liệu (Vroot) cần gợi ý cho người dùng 𝑟𝑒𝑐𝑠: 1 đến 12. 
- Số xếp hạng biết trước của mỗi người dùng trong tập truy vấn 𝑔𝑖𝑣𝑒𝑛: 1 đến 7. 
Các hệ thống được đánh giá 𝑡𝑖𝑚𝑒𝑠 lần và mỗi lần đánh giá sẽ sử dụng phương 
pháp đánh giá chéo k tập con. 
Hình Phụ lục 6.5.a và Hình Phụ lục 6.5.b hiển thị đường cong Precision - Recall 
và đường cong ROC của 7 hệ tư vấn khi (times, given) là (5, 4) và (30, 2) tương ứng. 
Các kết quả trên cho thấy: Đường cong ROC của hệ tư vấn sử dụng k=135 nằm trên 
các đường cong ROC của những hệ thống còn lại; đồng thời giá trị chính xác và giá 
trị bao phủ của hệ tư vấn này tại từng số mục cần gợi ý 𝑟𝑒𝑐𝑠 cũng cao hơn so với của 
các hệ khác. 
Hình Phụ lục 6.5: Đường cong Precision - Recall và ROC của bẩy hệ tư vấn 
sử dụng mô hình IBCF trên tập MSWeb(875x135) khi (times, given) là 
(5, 4), (30, 2). 
Số Vroot cần gợi ý 
cho người dùng 
(a): (times, given) = (5, 4) 
(b): (times, given) = (30, 2) 
26 
Hình Phụ lục 6.6.a hiển thị biểu đồ giá trị 𝐹1 của bẩy hệ thống khi số mục cần 
gợi ý recs=10 và số xếp hạng biết trước given=3 theo nhiều lần đánh giá times=5, 15, 
30. Hình Phụ lục 6.6.b hiển thị biểu đồ giá trị 𝐹1 trung bình của tất cả các 𝑟𝑒𝑐𝑠 (từ 1 
đến 12) của 7 hệ thống khi số xếp hạng biết trước given=6 và cũng theo nhiều lần 
đánh giá times = 5, 15, 30. Các kết quả cho thấy giá trị điều hòa giữa độ chính xác và 
độ bao phủ (𝐹1) của hệ tư vấn sử dụng k=135 là cao hơn giá trị 𝐹1 của các hệ thống 
còn lại. 
Hình Phụ lục 6.6: Biểu đồ giá trị F1 của 7 hệ tư vấn sử dụng mô hình IBCF 
trên tập MSWeb(875x135) cho một recs cụ thể (a) và tất cả các recs (b) theo 
nhiều lần đánh giá. 
Khi thay đổi giá trị của 𝑡𝑖𝑚𝑒𝑠 và 𝑔𝑖𝑣𝑒𝑛, ta cũng nhận được kết quả tương tự 
như trên. Cụ thể, hệ thống sử dụng k=135 có hiệu quả cao hơn so với các hệ thống 
được so sánh. Vậy, giá trị phù hợp nhất của tham số 𝑘 cho mọi 𝑔𝑖𝑣𝑒𝑛 được xét khi 
sử dụng tập dữ liệu MSWeb(875x135) là 135. 
Với tập DKHP(1.130x57), ta cũng thực hiện theo cách tương tự như trên tập 
MSWeb(875x135). Kết quả, 57 là giá trị phù hợp nhất của tham số 𝑘 cho mọi 𝑔𝑖𝑣𝑒𝑛 
được xét. 
0.430
0.435
0.440
0.445
0.450
0.455
0.460
times=5 times=15 times=30
Giá trị F1 khi recs=10, given=3 
k135 IBCFRS k120 IBCFRS k100 IBCFRS k80 IBCFRS
k60 IBCFRS k40 IBCFRS k20 IBCFRS
0.375
0.380
0.385
0.390
0.395
0.400
times=5 times=15 times=30
Giá trị F1 của tất cả các recs khi given=6 
k135 IBCFRS k120 IBCFRS k100 IBCFRS k80 IBCFRS
k60 IBCFRS k40 IBCFRS k20 IBCFRS

File đính kèm:

  • pdfluan_an_he_tu_van_dua_tren_muc_do_quan_trong_ham_y_thong_ke.pdf
  • pdf0_Trang phu bia luan an tien si - Phan Phuong Lan.pdf
  • pdf2_Tom tat luan an (Tieng Viet) - Phan Phuong Lan.pdf
  • pdf3_Tom tat luan an (Tieng Anh) - Phan Phuong Lan.pdf
  • pdf4_Dong gop moi cua luan an (Tieng Viet) - Phan Phuong Lan.pdf
  • pdf5_Dong gop moi cua luan an (Tieng Anh) - Phan Phuong Lan.pdf
  • pdf6_Trich yeu luan an (Tieng Viet) - Phan Phuong Lan.pdf
  • pdf7_Trich yeu luan an (Tieng Anh) - Phan Phuong Lan.pdf