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

