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.
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ê
ĐẠ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:
- luan_an_he_tu_van_dua_tren_muc_do_quan_trong_ham_y_thong_ke.pdf
- 0_Trang phu bia luan an tien si - Phan Phuong Lan.pdf
- 2_Tom tat luan an (Tieng Viet) - Phan Phuong Lan.pdf
- 3_Tom tat luan an (Tieng Anh) - Phan Phuong Lan.pdf
- 4_Dong gop moi cua luan an (Tieng Viet) - Phan Phuong Lan.pdf
- 5_Dong gop moi cua luan an (Tieng Anh) - Phan Phuong Lan.pdf
- 6_Trich yeu luan an (Tieng Viet) - Phan Phuong Lan.pdf
- 7_Trich yeu luan an (Tieng Anh) - Phan Phuong Lan.pdf