Tư vấn bằng xếp hạng hàm ý thống kê trên dữ liệu không phải nhị phân

Bài báo đề xuất một mô hình tư vấn lọc cộng tác dựa trên

người dùng sử dụng độ đo xếp hạng hàm ý thống kê cho dữ liệu

không phải nhị phân để dự đoán các xếp hạng, từ đó gợi ý cho người

cần tư vấn những mục dữ liệu phù hợp. Hiệu quả của mô hình đề

xuất được đánh giá qua sai số của các dự đoán (sai số tuyệt đối

trung bình và căn bậc hai của sai số bình phương trung bình) và

được so sánh với hiệu quả của các mô hình tư vấn lọc cộng tác dựa

trên người dùng sử dụng một trong hai độ đo phổ biến Pearson và

Cosine của gói recommenderlab. Kết quả thực nghiệm trên các tập

dữ liệu mẫu của MovieLens và Dating cho thấy, mô hình đề xuất có

sai số dự đoán thấp hơn so với các mô hình được so sánh khi số xếp

hạng biết trước của người cần tư vấn nhiều hơn 2.

pdf 6 trang kimcuc 4260
Bạn đang xem tài liệu "Tư vấn bằng xếp hạng hàm ý thống kê trên dữ liệu không phải nhị phân", để 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: Tư vấn bằng xếp hạng hàm ý thống kê trên dữ liệu không phải nhị phân

Tư vấn bằng xếp hạng hàm ý thống kê trên dữ liệu không phải nhị phân
ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, VOL. 17, NO. 1.1, 2019 99 
TƯ VẤN BẰNG XẾP HẠNG HÀM Ý THỐNG KÊ TRÊN 
DỮ LIỆU KHÔNG PHẢI NHỊ PHÂN 
STATISTICAL IMPLICATIVE RATING BASED RECOMMENDATION 
USING NON-BINARY DATA 
Phan Phương Lan1, Nguyễn Thị Thùy Linh1, Huỳnh Hữu Hưng2, Huỳnh Xuân Hiệp1 
1Trường Đại học Cần Thơ; {pplan, nttlinh, hxhiep}@ctu.edu.vn 
2Trường Đại học Bách khoa - Đại học Đà Nẵng; hhhung@dut.edu.vn 
Tóm tắt - Bài báo đề xuất một mô hình tư vấn lọc cộng tác dựa trên 
người dùng sử dụng độ đo xếp hạng hàm ý thống kê cho dữ liệu 
không phải nhị phân để dự đoán các xếp hạng, từ đó gợi ý cho người 
cần tư vấn những mục dữ liệu phù hợp. Hiệu quả của mô hình đề 
xuất được đánh giá qua sai số của các dự đoán (sai số tuyệt đối 
trung bình và căn bậc hai của sai số bình phương trung bình) và 
được so sánh với hiệu quả của các mô hình tư vấn lọc cộng tác dựa 
trên người dùng sử dụng một trong hai độ đo phổ biến Pearson và 
Cosine của gói recommenderlab. Kết quả thực nghiệm trên các tập 
dữ liệu mẫu của MovieLens và Dating cho thấy, mô hình đề xuất có 
sai số dự đoán thấp hơn so với các mô hình được so sánh khi số xếp 
hạng biết trước của người cần tư vấn nhiều hơn 2. 
Abstract - The paper proposes a recommendation model that 
uses the user based collaborative filtering approach and the 
statistical implicative rating measure on the non-binary data to 
predict the user ratings, then recommend the suitable items to 
users. The performance of the proposed model is evaluated by 
the metrics mean absolute error and root mean square error; and 
compared to some existing models of recommenderlab package - 
the user based collaborative filtering model using Cosine or 
Pearson. The experimental results on two datasets MovieLens 
and Dating show that the predictive errors of the proposed model 
is lower than that of compared models when the number of known 
ratings of user (needing the recommendation) is greater than 2. 
Từ khóa - Hệ tư vấn; độ đo xếp hạng hàm ý thống kê; lọc cộng 
tác dựa trên người dùng; sai số tuyệt đối trung bình; căn bậc hai 
của sai số bình phương trung bình. 
Key words - recommender system; statistical implicative rating 
measure; user based collaborative filtering; mean absolute error; 
root mean square error. 
1. Đặt vấn đề 
Hệ tư vấn lọc cộng tác dựa trên người dùng (user 
based collaborative filtering recommender system) [1] 
thường sử dụng một độ đo nào đó (như Cosine, Pearson,) 
để tìm những người dùng tương tự nhất với người cần tư 
vấn. Sau đó sử dụng thông tin xếp hạng của những người 
đó để dự đoán xếp hạng của người cần tư vấn cho các sản 
phẩm và gợi ý một danh sách sản phẩm có thể phù hợp với 
người này. Trong khi đó, phương pháp phân tích dữ liệu 
hàm ý thống kê (statistical implicative analysis) [2] thường 
dựa trên các độ đo như chỉ số hàm ý, cường độ hàm ý, 
cường độ hàm ý có entropy, hay giá trị gắn kết để phát hiện 
những mối quan hệ mạnh giữa các đối tượng. Vì vậy, 
những độ đo hàm ý thống kê có thể được sử dụng để phát 
triển các hệ tư vấn. 
Một số nghiên cứu xây dựng hệ tư vấn dựa trên người 
dùng sử dụng độ đo phân tích hàm ý thống kê được trình 
bày trong [3], [4]. [3] đề xuất mô hình tư vấn sử dụng độ 
đo mới dựa trên cường độ hàm ý cho dữ liệu nhị phân; và 
thực hiện đánh giá mô hình này theo nhóm đo độ chính 
xác của các dự đoán sử dụng (như độ bao phủ - recall, độ 
chính xác – precision, độ đo điều hòa F1). Tuy nhiên, [3] 
chỉ mới xây dựng và đánh giá mô hình tư vấn cho loại dữ 
liệu nhị phân. [4] đề xuất mô hình tư vấn sử dụng độ đo 
mới dựa trên chỉ số hàm ý và thực hiện đánh giá mô hình 
này theo nhóm đo độ chính xác của các dự đoán sử dụng 
và nhóm đo độ chính xác của các dự đoán xếp hạng (như 
sai số tuyệt đối trung bình - MAE, căn bậc hai của sai số 
bình phương trung bình - RMSE). Tuy nhiên, việc đánh 
giá theo MAE và RMSE trong [4] là chưa thực sự phù 
hợp vì công thức chỉ số hàm ý mà các tác giả sử dụng là 
dành cho dữ liệu nhị phân, nên các giá trị xếp hạng không 
ở dạng nhị phân (ví dụ: các giá trị 1 hay 5) đều được tính 
như nhau (cùng có giá trị 1), từ đó ảnh hưởng đến việc dự 
đoán xếp hạng. Ngoài ra, việc đánh giá mô hình tư vấn đề 
xuất trong [4] chưa thực sự đầy đủ: chỉ dựa trên 25 láng 
giềng gần nhất và không nêu rõ số xếp hạng biết trước 
của mỗi người cần tư vấn trong tập dữ liệu kiểm thử.Vì 
vậy, để góp phần giải quyết những tồn tại vừa nêu, trong 
bài báo này, nhóm tác giả thực hiện xây dựng và đánh giá 
mô hình tư vấn cho loại dữ liệu không phải nhị phân. Cụ 
thể, đề xuất một mô hình tư vấn mới bằng tiếp cận lọc 
cộng tác dựa trên người dùng và một độ đo mới để dự 
đoán xếp hạng của người cần tư vấn cho một mục dữ liệu 
cụ thể. Độ đo mới được phát triển dựa trên cường độ hàm 
ý của dữ liệu không phải nhị phân. 
2. Tư vấn bằng xếp hạng hàm ý thống kê trên dữ liệu 
không phải nhị phân 
2.1. Mô hình tư vấn bằng xếp hạng hàm ý thống kê trên 
dữ liệu không phải nhị phân 
Mô hình tư vấn bằng xếp hạng hàm ý thống kê trên dữ 
liệu không phải nhị phân - được phác họa như Hình 1 - sử 
dụng phương pháp lọc cộng tác dựa trên người dùng và độ 
đo xếp hạng hàm ý thống kê. Mô hình tư vấn đề xuất có: 
• Một tập hữu hạn 𝑈 gồm 𝑛 người dùng 
𝑈 = {𝑢1, 𝑢2,  , 𝑢𝑛}. 
• Một tập hữu hạn 𝐼 gồm 𝑚 mục dữ liệu (mục, 
item) 𝐼 = {𝑖1, 𝑖2,  , 𝑖𝑚}. Mục có thể là mặt hàng, bộ phim, 
bài hát, v.v. 
• Một ma trận xếp hạng (ma trận đánh giá – rating 
matrix) 𝑅 lưu thông tin phản hồi của người dùng về các 
mục dữ liệu 𝑅 = (𝑟𝑗𝑘)𝑛𝑥𝑚 với 𝑗 = 1, . . , 𝑛 và 
𝑘 = 1, . . , 𝑚.𝑟𝑗𝑘 có giá trị trong khoảng [0, 1]. Nếu các 
giá trị của 𝑅 chưa ở dạng này, chúng phải được chuyển 
100 Phan Phương Lan, Nguyễn Thị Thùy Linh, Huỳnh Hữu Hưng, Huỳnh Xuân Hiệp 
đổi về [0, 1]. Ví dụ, nếu người dùng xếp hạng các sản 
phẩm theo thang từ 1 đến 5, và giá trị xếp hạng của người 
dùng 𝑢𝑗 cho sản phẩm 𝑖𝑘 là 4 thì giá trị được quy đổi là 
𝑟𝑗𝑖 = 4/5 = 0.8. 
• Một vector 𝑅𝑢𝑎 có kích thước 𝑚.𝑅𝑢𝑎[𝑖𝑘] với 
𝑘 = 1, . . , 𝑚 lưu xếp hạng của người dùng cần tư vấn 𝑢𝑎 
cho mục dữ liệu 𝑖𝑘, hoặc là rỗng (NA) nếu 𝑢𝑎 chưa xếp 
hạng 𝑖𝑘. 
Hình 1. Mô hình tư vấn bằng xếp hạng hàm ý thống kê với 
dữ liệu không phải nhị phân 
Mô hình tư vấn đề xuất hoạt động theo Giải thuật 
IIRUBCFRS với những công việc chính được thực hiện: 
• Xây dựng vector 𝑉 lưu cường độ hàm ý 𝜑(𝑢𝑎, 𝑢𝑗) 
của người cần được tư vấn 𝑢𝑎 và từng người dùng 𝑢𝑗 ∈ 𝑈 
với 𝑗 = 1. . 𝑛. 𝜑(𝑢𝑎, 𝑢𝑗) được tính theo công thức (2) của 
Mục 2.2. 
• Dự đoán xếp hạng của 𝑢𝑎 cho các mục dữ liệu thuộc 𝐼 
dựa trên độ đo xếp hạng hàm ý KnnIR (K nearest neighbor 
Implicative Ratings) như công thức (3) của Mục 2.3. 
• Lọc lại danh sách các mục dữ liệu bằng cách loại 
bỏ những mục đã được xếp hạng thực sự bởi 𝑢𝑎. 
• Gợi ý cho 𝑢𝑎 các mục dữ liệu trong danh sách đã 
được lọc và có giá trị xếp hạng dự đoán. 
IIRUBCFRS (vector 𝑅𝑢𝑎; ratingmatrix R; int knn){ 
V = Tinhcuongdohamy(𝑅𝑢𝑎, R); 
𝑅𝑢𝑎
′ = Dudoanxephang(V, R, knn); 
Filteredlist = Loaibomucdaxephang(𝑅𝑢𝑎, 𝑅𝑢𝑎
′ ); 
Reclist = GoiyNmuc(Filteredlist); 
return Reclist; 
} 
Mục tiêu của mô hình tư vấn đề xuất là dự đoán các 
xếp hạng sao cho sai số tuyệt đối trung bình và căn bậc 
hai của sai số bình phương trung bình của nó sẽ nhỏ hơn 
khi so với của một số mô hình lọc cộng tác dựa trên người 
dùng hiện có. 
2.2. Độ đo cường độ hàm ý 
Bên cạnh việc đề xuất hai độ đo quan trọng chỉ số hàm 
ý và cường độ hàm ý cho loại biến nhị phân, phương pháp 
phân tích hàm ý thống kê còn cập nhật công thức của hai 
độ đo này để áp dụng cho loại biến modal. Biến 𝑎 được 
gọi là biến modal [2] nếu giá trị 𝑎(𝑖) của 𝑎 được xác 
định bởi đối tượng 𝑖 nằm trong khoảng [0, 1]. 
Chỉ số hàm ý của hai biến modal 𝑎, 𝑏 được tính theo 
công thức (1) [2]. Trong đó, 𝑎(𝑖) và �̅�(𝑖) là giá trị của các 
biến 𝑎 và �̅� được xác định bởi đối tượng 𝑖; 𝑚𝑎 và 𝑚�̅� là 
giá trị trung bình của các biến 𝑎 và �̅� tương ứng với 
𝑚𝑎 =
1
𝑛
∑ 𝑎(𝑖)𝑖∈𝐸 , 𝑚�̅� =
1
𝑛
∑ �̅�(𝑖) =
1
𝑛
∑ (1 − 𝑏(𝑖))𝑖∈𝐸𝑖∈𝐸 
và 𝐸 gồm 𝑛 đối tượng được mô tả bởi một tập hữu hạn 
các biến modal; và 𝑣𝑎 và 𝑣𝑏 là phương sai của hai biến 𝑎 
và 𝑏 tương ứng với 𝑣𝑎 =
1
𝑛
∑ (𝑎(𝑖) − 𝑚𝑎)
2
𝑖∈𝐸 , 
 𝑣𝑏 =
1
𝑛
∑ (𝑏(𝑖) − 𝑚𝑏)
2
𝑖∈𝐸 . 
𝑞𝑝(𝑎, �̅�) =
1
𝑛
∑ 𝑎(𝑖)�̅�(𝑖) − 𝑚𝑎𝑚�̅�𝑖∈𝐸
√(𝑣𝑎+𝑚𝑎
2 )(𝑣𝑏+𝑚�̅�
2)
𝑛
 (1) 
Cường độ hàm ý của mối quan hệ 𝑎,𝑏 được xác định 
bởi (2) [2]. Trong đó, 𝑞𝑝(𝑎, �̅�) là chỉ số hàm ý được trình 
bày ở trên. 
𝜑(𝑎, 𝑏) =
1
√2𝜋
∫ 𝑒−
𝑡2
2 𝑑𝑡 
∞
𝑞𝑝(𝑎,�̅�)
(2) 
Để sử dụng độ đo cường độ hàm ý trong mô hình tư 
vấn đề xuất, ta xem các biến 𝑎 và 𝑏 chính là người dùng 
cần tư vấn 𝑢𝑎 và một người dùng 𝑢𝑗 ∈ 𝑈với 𝑗 = 1, . . , 𝑛 
tương ứng, 𝑖 chính là một mục dữ liệu 𝑖𝑖 ∈ 𝐼. Như vậy, 
𝜑(𝑎, 𝑏) chính là 𝜑(𝑢𝑎, 𝑢𝑗) ; 𝑎(𝑖) chính là 𝑅𝑢𝑎[𝑖𝑖] và 
𝑏(𝑖) chính là 𝑅[𝑢𝑗 , 𝑖𝑖] (tức 𝑟𝑗𝑖). Giá cường độ hàm ý được 
dùng để tìm những láng giềng gần nhất của 𝑢𝑎. 𝑢𝑘 là một 
trong 𝑘𝑛𝑛 láng giềng gần nhất của 𝑢𝑎 nếu 𝜑(𝑢𝑎, 𝑢𝑘) là 
một trong 𝑘𝑛𝑛 giá trị cao nhất. 
Giải thuật Tinhcuongdohamy tính cường độ hàm ý 
giữa người dùng 𝑢𝑎với từng người dùng 𝑢𝑗(𝑗 = 1, . . , 𝑛) 
gồm các bước chính sau: 
• Tính giá trị trung bình 𝑚𝑎và phương sai 𝑣𝑎dựa 
trên các xếp hạng của người cần tư vấn 𝑢𝑎. 
• Với người dùng 𝑢𝑗 ∈ 𝑈, tính giá trị trung bình 𝑚𝑏 
và phương sai 𝑣𝑏dựa trên các xếp hạng của người cần tư 
vấn 𝑢𝑗 , tính chỉ số hàm ý theo công thức (1) và tính cường 
độ hàm ý theo công thức (2) ; 
• Lặp lại bước trên cho từng người dùng 𝑢𝑗 ∈ 𝑈. 
Tinhcuongdohamy(𝑅𝑢𝑎, R){ 
mean_a = mean(𝑅𝑢𝑎); var_a = var(𝑅𝑢𝑎); 
for từng người dùng 𝑢𝑗 ∈ 𝑈 { 
mean_b = mean(R[j,]); var_b = var(R[j,]); 
sum_ab_ = sum(𝑅𝑢𝑎*(1-R[j,]))/n; 
q_ab_ = (sum_ab_ - mean_a*(1-mean_b))/ 
sqrt((var_a+ mean_a^2)*(var_b+(1-mean_b)^2)/n); 
𝑢𝑎 x I →𝑅𝑢𝑎 U x I →R 
Độ đo 
cường 
độ hàm 
ý 𝜑 
𝑢𝑎 x I →𝑅𝑢𝑎
′ 
Độ đo xếp 
hạng hàm 
ý KnnIR 
Danh sách các mục dữ liệu có xếp hạng 
cao và chưa được xếp hạng bởi 𝑢𝑎 
𝑢𝑎 x U → V 
ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, VOL. 17, NO. 1.1, 2019 101 
V[j] = 1 -pnorm(q_ab_); 
} 
return V; 
} 
2.3. Độ đo xếp hạng hàm ý thống kê 
Giá trị xếp hạng (độ yêu thích) một sản phẩm 𝑖 của 
một người dùng cần tư vấn 𝑢𝑎 có thể gần giống như giá 
trị xếp hạng sản phẩm 𝑖 của những người có cùng sở thích 
(gọi chung là các láng giềng gần nhất 𝑢𝑗). Việc tìm những 
láng giềng này có thể dựa trên cường độ hàm ý giữa hai 
người dùng. Tuy nhiên, nếu người dùng 𝑢𝑎 và láng giềng 
𝑢𝑗 có mối quan hệ hàm ý mạnh nhưng độ yêu thích của 𝑢𝑗 
đối với sản phẩm 𝑖 là thấp thì 𝑢𝑗 sẽ ít ảnh hưởng đến việc 
xếp hạng 𝑖 của 𝑢𝑎 và ngược lại. Vì vậy, nhóm tác giả đề 
xuất độ đo mới KnnIR để dự đoán xếp hạng của người 
dùng 𝑢𝑎 cho một mục dữ liệu 𝑖𝑖. 
KnnIR là giá trị xếp hạng được quy đổi về khoảng [0, 
1] và được xác định theo công thức (3). 
𝐾𝑛𝑛𝐼𝑅(𝑢𝑎, 𝑖𝑖) =
𝐾𝐼𝑅(𝑢𝑎 , 𝑖𝑖)
𝑚𝑎𝑥𝑖𝑙∈𝐼𝐾𝐼𝑅(𝑢𝑎 , 𝑖𝑙)
 (3) 
Trong (3), KIR (Kernel Implicative Rating) là giá trị 
xếp hạng gốc của người dùng 𝑢𝑎 cho một mục dữ liệu 𝑖𝑖. 
𝐾𝐼𝑅(𝑢𝑎, 𝑖𝑖) được tính bởi (4). 
𝐾𝐼𝑅(𝑢𝑎 , 𝑖𝑖) = ∑ 𝜑(𝑢𝑎, 𝑢𝑘) ∗ 𝑅(𝑢𝑘 , 𝑖𝑖)
𝑘𝑛𝑛
𝑘=1
 (4) 
Trong đó, 𝑘𝑛𝑛 là số láng giềng gần nhất của 
𝑢𝑎;𝜑(𝑢𝑎, 𝑢𝑘) là giá trị cường độ hàm ý của 𝑢𝑎 với một 
trong 𝑘𝑛𝑛 láng giềng gần nhất 𝑢𝑘 ∈ 𝑈 và 
𝑘 = 1, . . , kn𝑛; 𝑅(𝑢𝑘, 𝑖𝑖) là giá trị xếp hạng của một trong 
𝑘𝑛𝑛 láng giềng gần nhất 𝑢𝑘 cho mục dữ liệu 𝑖𝑖. 𝑅(𝑢𝑘 , 𝑖𝑖) 
có thể được xem như trọng số của cường độ hàm ý 
𝜑(𝑢𝑎, 𝑢𝑘) đối với mục dữ liệu 𝑖𝑖. 
3. Thực nghiệm 
3.1. Dữ liệu và Công cụ thực nghiệm 
3.1.1. Dữ liệu thực nghiệm 
Bảng 1. Thông tin chung của các tập mẫu được trích xuất từ 
MovieLens và Dating_4000 
Tập dữ liệu 
Số người 
dùng 
Số phim/ 
hồ sơ 
Số xếp 
hạng 
MovieLens 943 1,144 97,370 
Dating_4000 4,000 12,476 337,830 
MovieLens và Dating là hai tập dữ liệu được sử dụng 
trong thực nghiệm. Tập dữ liệu MovieLens [5] - lưu xếp 
hạng của người dùng cho các bộ phim - được thu thập 
thông qua trang web movielens.umn.edu trong khoảng 
thời gian bảy tháng. Tập dữ liệu Dating [6] lưu xếp hạng 
hẹn hò của người dùng cho các hồ sơ ứng viên. Tập dữ 
liệu MovieLens chứa: 943 người dùng; 1,664 phim và 
99,392 xếp hạng với các giá trị từ 1 đến 5 và 5 là tốt nhất. 
Tập dữ liệu Dating có kích thước lớn nên chúng tôi lấy 
thông tin xếp hạng của 4,000 người dùng đầu tiên và tiến 
hành xây dựng ma trận xếp hạng. Kết quả, tập dữ liệu 
Dating_4000 có: 4,000 người dùng; 76,685 hồ sơ ứng 
viên và 520,732 xếp hạng với các giá trị từ 1 đến 10 và 10 
là tốt nhất. 
Để có thể thực nghiệm bằng mô hình tư vấn đề xuất, 
trước tiên, chúng tôi thực hiện tiền xử lý những tập dữ liệu 
này bằng cách quy đổi các giá trị xếp hạng về đoạn [0, 1]. 
Cụ thể, giá trị xếp hạng quy đổi được tính từ giá trị xếp 
hạng gốc chia cho 5 đối với tập MovieLens, chia cho 10 
đối với tập Dating_4000. Bên cạnh đó, nhằm tăng tính 
chính xác trong việc đưa ra gợi ý, thực hiện loại bỏ những 
phim/hồ sơ ứng viên chỉ được xếp hạng bởi một số ít người 
dùng. Cụ thể, chỉ giữ lại những phim/hồ sơ được xếp hạng 
từ 10 người trở lên để trích xuất ra tập dữ liệu mẫu dùng 
trong thực nghiệm. Thông tin chung của các tập mẫu này 
được trình bày trong Bảng 1. 
Ngoài ra, qua việc xác định phân vị người dùng (p% = a 
cho biết có p% số người dùng mà mỗi người đánh giá từ a 
mục dữ liệu trở xuống), ta có 0% số người dùng xếp hạng 
từ 17 phim trở xuống trên tập mẫu của MovieLens và 0% 
số người dùng xếp hạng từ 4 hồ sơ trở xuống trên tập mẫu 
của Dating_4000. Do đó, số xếp hạng biết trước (given) tối 
đa của mỗi người cần tư vấn dùng cho đánh giá hiệu quả 
của mô hình đề xuất là 17 trên tập mẫu của MovieLens và 
4 trên tập mẫu của Dating_4000. Chi tiết về phương pháp 
đánh giá hệ tư vấn được trình bày trong Mục 3.2. 
3.1.2. Công cụ thực nghiệm 
Mô hình tư vấn đề xuất được cài đặt bằng ngôn ngữ R và 
tích hợp vào công cụ mà nhóm tác giả đã phát triển trong 
[7]. Mô hình này được đặt tên là IIMUBCF (User Based 
Collaborative Filtering using Modal Implicative Intensity). 
Bên cạnh đó, nhóm tác giả còn sử dụng mô hình tư 
vấn lọc cộng tác dựa trên người dùng UBCF của gói 
recommenderlab [8] để so sánh với mô hình đề xuất. Mô 
hình UBCF dùng độ đo Cosine và Pearson – những độ đo 
phổ biến – để tìm những láng giềng gần nhất và xây dựng 
danh sách gợi ý. 
3.2. Phương pháp đánh giá hệ tư vấn 
Phương pháp đánh giá chéo 𝑘-tập con [9], và các độ 
đo sai số tuyệt đối trung bình (Mean Absolute Error - 
MAE), căn bậc hai của sai số bình phương trung bình 
(Root Mean Square Error – RMSE) [10] được sử dụng để 
đánh giá hiệu quả của hệ tư vấn. 
Phương pháp đánh giá chéo 𝑘-tập con [9] sẽ phân tách 
tập dữ liệu thành 𝑘 tập có kích thước bằng nhau và thực 
hiện 𝑘 lần đánh giá sau đó lấy kết quả trung bình. Ở mỗi 
lần đánh giá, (𝑘 − 1) tập con được sử dụng làm tập huấn 
luyện và 1 tập con còn lại được sử dụng làm tập kiểm thử. 
Trong thực nghiệm này, 𝑘-tập con được đặt là 5. Tập dữ 
liệu kiểm thử lại được chia thành hai phần: tập dữ liệu truy 
vấn (queryset) và tập dữ liệu đích (targetset) có cùng kích 
thước. Mỗi người dùng trong tập dữ liệu truy vấn có 𝑔𝑖𝑣𝑒𝑛 
xếp hạng được biết trước và được chọn ngẫu nhiên. Như 
vậy, mỗi người dùng trong tập dữ liệu đích gồm những xếp 
hạng còn lại. Tập dữ liệu huấn luyện cùng với tập dữ liệu 
truy vấn được sử dụng để dự đoán xếp hạng của những 
người dùng (trong tập truy vấn) cho các mục dữ liệu chưa 
xếp hạng. Tập dữ liệu đích cùng với các xếp hạng dự đoán 
được sử dụng để đánh giá hiệu quả của hệ tư vấn. 
102 Phan Phương Lan, Nguyễn Thị Thùy Linh, Huỳnh Hữu Hưng, Huỳnh Xuân Hiệp 
Các độ đo MAE và RMSE [10] giúp ta tính sai số của 
các dự đoán. Hai độ đo này có công thức tính như (5) và 
(6). Trong đó, |𝑡𝑎𝑟𝑔𝑒𝑡𝑠𝑒𝑡| là tổng số xếp hạng của tập dữ 
liệu đích, 𝑟𝑖𝑗 là xếp hạng thực của người dùng 𝑢𝑖 cho mục 
dữ liệu 𝑖𝑗 trong tập dữ liệu đích và 𝑟𝑖𝑗
′ là xếp hạng được dự 
đoán của người dùng 𝑢𝑖 cho mục dữ liệu 𝑖𝑗. 
𝑀𝐴𝐸 =
1
|𝑡𝑎𝑟𝑔𝑒𝑡𝑠𝑒𝑡|
∑ |𝑟𝑖𝑗 − 𝑟𝑖𝑗
′ |
(𝑖,𝑗)∈𝑡𝑎𝑟𝑔𝑒𝑡𝑠𝑒𝑡
 (5) 
𝑅𝑀𝑆𝐸 = √
∑ (𝑟𝑖𝑗 − 𝑟𝑖𝑗
′ )2(𝑖,𝑗)∈𝑡𝑎𝑟𝑔𝑒𝑡𝑠𝑒𝑡
|𝑡𝑎𝑟𝑔𝑒𝑡𝑠𝑒𝑡|
 (6) 
Nhóm tác giả xây dựng ba hệ tư vấn IIM UBCFRS, 
Cosine UBCFRS và Pearson UBCFRS, sau đó đánh giá hiệu 
quả của chúng. Hệ tư vấn thứ nhất sử dụng mô hình đề xuất 
IIMUBCF, hai hệ tư vấn còn lại sử dụng mô hình UBCF với 
các độ đo Cosine và Pearson tương ứng. Các thông số được 
sử dụng trong ba hệ tư vấn là: 𝑔𝑖𝑣𝑒𝑛 – số xếp hạng biết 
trước của mỗi người dùng trong tập truy vấn, 𝑘𝑛𝑛 – số láng 
giềng gần nhất, và 𝑡𝑖𝑚𝑒𝑠 – số lần đánh giá theo phương 
pháp 5-tập con. Giá trị MAE và RMSE của từng hệ tư vấn là 
giá trị MAE và RMSE trung bình của 𝑡𝑖𝑚𝑒𝑠 lần đánh giá 
cho từng 𝑔𝑖𝑣𝑒𝑛 trên cùng số láng giềng gần nhất 𝑘𝑛𝑛. Sau 
đó, giá trị MAE và RMSE của ba hệ tư vấn được so sánh với 
nhau để đánh giá hiệu quả của chúng. Hệ tư vấn có hiệu quả 
tốt là hệ có sai số MAE và RMSE nhỏ. 
3.3. Kết quả thực nghiệm 
3.3.1. Kết quả trên tập MovieLens 
Hình 2, Hình 3 và Hình 4 hiển thị giá trị sai số RMSE 
của 3 hệ tư vấn có cùng số given và có cùng số láng giềng 
gần nhất knn thay đổi từ 10 đến 100. Cụ thể, giá trị của các 
tham số (given, times, knn) được sử dụng ở Hình 2 và Hình 
3 là (3, 8, 10 –100), (10, 3, 10 – 100), (9, 5, 10 – 100) 
tương ứng. Kết quả Hình 2 và Hình 3 cho thấy, hệ tư vấn 
sử dụng mô hình đề xuất IIM UBCFRS có giá trị sai số 
thấp nhất. Kết quả Hình 4 cho thấy, giá trị RMSE của IIM 
UBCFRS là thấp nhất trên mọi 𝑘𝑛𝑛 được xét, của Pearson 
UBCFRS là cao nhất trên phân đoạn 𝑘𝑛𝑛 từ 10 đến 60, của 
Cosine UBCFRS là cao nhất trên phân đoạn 𝑘𝑛𝑛 còn lại. 
Khi thay đổi giá trị của 𝑡𝑖𝑚𝑒𝑠 và trên cùng số láng giềng 
gần nhất (𝑘𝑛𝑛: 10 – 100), ta nhận được kết quả tương tự 
như Hình 2 với từng 𝑔𝑖𝑣𝑒𝑛 có giá trị từ 3 đến 8, Hình 3 với 
từng 𝑔𝑖𝑣𝑒𝑛 có giá trị từ 10 đến 17 và Hình 4 với given = 9. 
Hình 2. Giá trị căn bậc hai của sai số bình phương trung bình 
của ba hệ tư vấn khi given = 3, time = 8 và knn:10 - 100 
Hình 3. Giá trị căn bậc hai của sai số bình phương trung bình 
của ba hệ tư vấn khi given = 10, time = 3 và knn:10 - 100 
Hình 4. Giá trị căn bậc hai của sai số bình phương trung bình 
của ba hệ tư vấn khi given = 9, time = 5 và knn:10 - 100 
Hình 5. Giá trị sai số tuyệt đối trung bình của 
ba hệ tư vấn khi given: 2-17, time = 5 và knn = 50 
Hình 6. Sự chênh lệch giữa giá trị RMSE (hay giá trị MAE) của 
hai hệ tư vấn IIM UBCFRS và Pearson UBCFRS khi 
given = 2, time = 5 và knn: 10 - 100 
ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, VOL. 17, NO. 1.1, 2019 103 
Hình 5 hiển thị giá trị MAE của 3 hệ tư vấn với số 
lần đánh giá times = 5 trên cùng số láng giềng gần nhất 
knn = 50 và có given thay đổi từ 2 đến 17. Kết quả Hình 
5 cho thấy giá trị sai số MAE của hệ tư vấn sử dụng mô 
hình đề xuất IIM UBCFRS là thấp nhất trên hầu hết các 
giá trị given (từ 3 đến 17); của hệ tư vấn Cosine 
UBCFRS là cao nhất trên các given từ 2 đến 8; và của 
hệ tư vấn Pearson UBCFRS là cao nhất trên các given 
còn lại. Khi thay đổi giá trị của 𝑡𝑖𝑚𝑒𝑠 và lần lượt gán 
giá trị từ 10 đến 100 cho 𝑘𝑛𝑛, ta cũng nhận được kết quả 
tương tự như vừa phân tích. 
Trong trường hợp given = 2, giá trị RMSE và MAE của 
IIM UBCFRS nhỏ hơn của Cosine UBCFRS nhưng không 
nhỏ nhất như mong đợi. Chúng vẫn lớn hơn giá trị RMSE và 
MAE của Pearson UBCFRS mặc dù khoảng chênh lệch của 
hai hệ thống càng giảm khi 𝑘𝑛𝑛 càng tăng. Hình 6 hiển thị 
sự chênh lệch giá trị RMSE (giá trị MAE) của hệ thống IIM 
UBCFRS và hệ thống Pearson UBCFRS. 
Như vậy, với mọi trường hợp ngoại trừ trường hợp 
given = 2, giá trị sai số dự đoán RMSE và MAE của hệ tư 
vấn sử dụng mô hình đề xuất IIM UBCFRS là thấp nhất. 
Nói cách khác, mô hình tư vấn đề xuất cho hiệu quả tốt 
hơn các mô hình được so sánh. 
3.3.2. Kết quả trên tập Dating_4000 
Hình 7 hiển thị giá trị sai số RMSE của 3 hệ tư vấn 
theo từng nhóm 𝑔𝑖𝑣𝑒𝑛 (lần lượt là 2, 3 và 4) với số 𝑘𝑛𝑛 
thay đổi (từ 10 đến 50) khi times = 1. 
Hình 7. Giá trị căn bậc hai của sai số bình phương trung bình 
của ba hệ tư vấn khi given: 2-4, time = 1 và knn:10 - 50 
Hình 8. Giá trị sai số tuyệt đối trung bình của ba hệ tư vấn khi 
given: 2-4, time = 3 và knn:10 - 50 
Kết quả Hình 7 cho thấy, hệ tư vấn sử dụng mô hình 
đề xuất IIM UBCFRS có giá trị sai số thấp nhất trên mọi 
𝑘𝑛𝑛 khi 𝑔𝑖𝑣𝑒𝑛 từ 3 trở lên. Trong trường hợp given = 2, 
sai số dự đoán của IIM UBCFRS cao hơn của Pearson 
UBCFRS nhưng sẽ tiến đến nhỏ hơn khi 𝑘𝑛𝑛 tăng. 
Hình 8 hiển thị giá trị sai số MAE của 3 hệ tư vấn theo 
từng nhóm 𝑘𝑛𝑛 (lần lượt là 10, 20, 30, 40 và 50) với 
𝑔𝑖𝑣𝑒𝑛 thay đổi (từ 2 đến 4) khi times = 3. Kết quả Hình 8 
cho thấy, giá trị sai số MAE của hệ tư vấn IIM UBCFRS 
là thấp nhất trên mọi 𝑔𝑖𝑣𝑒𝑛 khi 𝑘𝑛𝑛 từ 20 trở lên. Trong 
trường hợp knn = 10, sai số MAE của IIM UBCFRS cao 
hơn của Pearson UBCFRS khi given = 2 nhưng sẽ tiến 
đến nhỏ hơn khi 𝑔𝑖𝑣𝑒𝑛 tăng. 
Do đó, với mọi 𝑘𝑛𝑛 và given >= 3, mô hình đề xuất 
cho hiệu quả tốt hơn mô hình được so sánh vì giá trị sai số 
dự đoán RMSE và MAE của hệ tư vấn sử dụng mô hình 
đề xuất là thấp nhất. 
4. Kết luận 
Bài báo đã xây dựng một mô hình tư vấn bằng tiếp cận 
lọc cộng tác dựa trên người dùng sử dụng độ đo xếp hạng 
hàm ý thống kê trên dữ liệu không phải nhị phân. Mô 
hình tư vấn đề xuất sử dụng độ đo mới để dự đoán xếp 
hạng của người cần tư vấn cho một mục dữ liệu; từ đó gợi 
ý cho người này những mục dữ liệu phù hợp. Giá trị của 
độ đo mới được dựa trên các giá trị cường độ hàm ý mạnh 
nhất của người cần tư vấn với những người dùng khác và 
thông tin xếp hạng đã biết của những người dùng đó cho 
mục dữ liệu đang xét. Mô hình tư vấn đề xuất được so 
sánh với mô hình tư vấn lọc cộng tác dựa trên người dùng 
UBCF của gói recommenderlab. Mô hình UBCF này sử 
dụng hai độ đo phổ biến Cosine/Pearson để tìm các láng 
giềng gần nhất và dự đoán xếp hạng. Hiệu quả của các hệ 
tư vấn sử dụng những mô hình (được so sánh với nhau) 
được đánh giá qua giá trị sai số dự đoán MAE và RMSE. 
Kết quả thực nghiệm trên hai tập mẫu của MovieLens/ 
Dating_4000 cho thấy, mô hình tư vấn đề xuất cho sai số 
dự đoán thấp nhất khi số xếp hạng biết trước của người 
cần tư vấn là từ 3 trở lên. 
Tuy nhiên, khi số xếp hạng biết trước của người cần tư 
vấn là thấp (given = 2), hiệu quả của mô hình đề xuất 
chưa được như mong đợi. Cụ thể, giá trị RMSE hay MAE 
của mô hình đề xuất vẫn cao hơn của mô hình UBCF sử 
dụng độ đo Pearson mặc dù sự chênh lệch giá trị của hai 
mô hình càng giảm khi số láng giềng gần nhất càng tăng. 
Vì vậy, nhóm tác giả sẽ nghiên cứu kỹ thuật lai ghép như 
kết hợp mô hình dựa trên luật với mô hình đề xuất để 
khắc phục nhược điểm vừa nêu. Ngoài ra, việc đánh giá 
mô hình tư vấn có xem xét đến thứ tự của các mục dữ liệu 
trong danh sách gợi ý cho người cần tư vấn chưa được 
thực hiện trong nghiên cứu này. Do đó, trong thời gian 
tới, nhóm tác giả cũng sẽ thực hiện đánh giá theo hướng 
này để có cái nhìn đầy đủ hơn về hiệu quả của mô hình đề 
xuất. Bên cạnh đó, nhóm tác giả sẽ thực nghiệm so sánh 
mô hình đề xuất với một số mô hình tư vấn hiện có khác. 
TÀI LIỆU THAM KHẢO 
[1] J.B. Schafer, D. Frankowski, J. Herlocker, and S. Sen, “Collaborative 
Filtering Recommender Systems”, The Adaptive Web, LNCS 4321, 
Springer-Verlag Berlin Heidelberg, pp. 291-324, 2007. 
[2] R. Gras and P. Kuntz, “An overview of the Statistical Implicative 
Analysis (SIA) development”, Statistical Implicative Analysis, 
104 Phan Phương Lan, Nguyễn Thị Thùy Linh, Huỳnh Hữu Hưng, Huỳnh Xuân Hiệp 
Studies in Computational Intelligence, Springer-Verlag, 127, pp. 
11-40, 2008. 
[3] L. P. Phan, H. H. Huynh, and H. X. Huynh, “User based 
Recommender Systems using Implicative Rating Measure”, 
International Journal of Advanced Computer Science and 
Applications, Volume 10 Issue 11, 2017. 
[4] Phan Quốc Nghĩa, Nguyễn Minh Kỳ, Đặng Hoài Phương, Huỳnh 
Xuân Hiệp, “Hệ tư vấn lọc cộng tác theo người dùng dựa trên độ đo 
hàm ý thống kê”, Kỷ yếu Hội nghị Quốc gia lần thứ X về Nghiên cứu 
cơ bản và ứng dụng Công nghệ Thông tin (FAIR'9), pp. 231-239, 
2016. 
[5] J. Herlocker, J. Konstan, A. Borchers, J. Riedl, “An Algorithmic 
Framework for Performing Collaborative Filtering”, Proceedings 
of the 1999 Conference on Research and Development in 
Information Retrieval. Aug. 1999. 
[6] L. Brozovsky and V. Petricek, “Recommender System for Online 
Dating Service”, Proceedings of Znalosti 2007 Conference. 2007. 
[7] L. P. Phan, N. Q. Phan, K. M. Nguyen, H. H. Huynh, H. X. Huynh, 
F. Guillet, “Interestingnesslab: A Framework for Developing and 
Using Objective Interestingness Measures”, Advances in Intelligent 
Systems and Computing, Springer, 538: pp.302-311, 2017. 
[8] M. Hahsler, “recommenderlab: A Framework for Developing and 
Testing Recommendation Algorithms”, Southern Methodist 
University, 2011. 
[9] R. Kohavi, “A study of cross-validation and bootstrap for accuracy 
estimation and model selection.”, Proceedings of the14th 
International Joint Conference on Artificial Intelligence, pp.1137-
1143, 1995. 
[10] A. Gunawardana and G. Shani, “A Survey of Accuracy Evaluation 
Metrics of Recommendation Tasks”, Journal of Machine Learning 
Research, pp. 2935–2962, 10, 2009. 
(BBT nhận bài: 22/12/2018, hoàn tất thủ tục phản biện: 24/01/2019) 

File đính kèm:

  • pdftu_van_bang_xep_hang_ham_y_thong_ke_tren_du_lieu_khong_phai.pdf