Một phương pháp lọc trước theo ngữ cảnh cho hệ tư vấn
Đỗ Thị Liên
MỘT PHƯƠNG PHÁP LỌC TRƯỚC THEO
NGỮ CẢNH CHO HỆ TƯ VẤN
Đỗ Thị Liên
Học viện Cô ng nghệ Bưu chính Viễn thô ng
1Tóm tắt: Hệ tư vấn là hệ thống được thiết kế để hướng
người dùng đến những đối tượng quan tâm, yêu thích, khi lượng
thông tin quá lớn vượt quá khả năng xử lý của người dùng. Bên
cạnh những thông tin phổ biến (người dùng, sản phẩm, đánh giá
của người dùng với sản phẩm) được khai thác thường xuyên
trong hệ tư vấn, một trong những yếu tố quan trọng ảnh hưởng
tới việc ra quyết định trong hệ tư vấn được đặc biệt quan tâm
nghiên cứu trong những năm gần đây, đó là thông tin ngữ cảnh
sử dụng sản phẩm của người dùng. Mặc dù việc tích hợp ngữ
cảnh vào hệ tư vấn được chứng minh là giúp nâng cao đáng kể
chất lượng tư vấn sản phẩm tới người dùng, tuy nhiên khó khăn
điển hình gặp phải đối với hệ tư vấn dựa vào ngữ cảnh lúc này
là làm thế nào để tích hợp thông tin ngữ cảnh và vấn đề dữ liệu
thưa, điều này ảnh hưởng trực tiếp tới chất lượng tư vấn. Trong
bài báo này, tác giả đề xuất một phương pháp lọc trước theo
ngữ cảnh cho hệ tư vấn cho phép tích hợp đầy đủ thông tin ngữ
cảnh và giải quyết hiệu quả vấn đề dữ liệu thưa. Trong đó, việc
tích hợp ngữ cảnh được thực hiện bằng thủ tục phân tách sản
phẩm theo ngữ cảnh và vấn đề dữ liệu thưa được giải quyết qua
quá trình huấn luyện theo mô hình đồng huấn luyện cho bài
toán phân lớp của lọc cộng tác. Kết quả thực nghiệm trên một
số bộ dữ liệu thực cho thấy phương pháp đề xuất cải thiện đáng
kể chất lượng dự đoán so với các phương pháp tư vấn dựa vào
ngữ cảnh cơ sở trước đây.
xem còn trời khô ráo thì có khi lại không thích. Do vậy
việc xem xét kết hợp thông tin ngữ cảnh vào các hệ tư vấn
đang là chủ đề rất được quan tâm nghiên cứu trong những
năm gần đây. Theo như [2]: “Thông tin ngữ cảnh là
những thông tin có thể mô tả được hoàn cảnh của một
thực thể. Thực thể ở đây có thể là người, là vật hoặc là đối
tượng có liên quan tới sự tương tác giữa người dùng và
ứng dụng, bao gồm cả bản thân người dùng và ứng dụng
đó”. Chẳng hạn đối với hệ tư vấn du lịch, yếu tố ngữ cảnh
có thể là thời gian (buổi trong ngày, thời gian trong tuần,
mùa), bạn đồng hành (một mình, gia đình, bạn bè). Hệ tư
vấn sẽ đóng vai trò ghi nhớ lại sở thích của người dùng
theo ngữ cảnh để đưa ra những gợi ý chính xác nhất. Ví
dụ một số hệ tư vấn dựa trên ngữ cảnh như hệ tư vấn phim
và âm nhạc [3], tư vấn địa điểm yêu thích [4], thương mại
điện tử [5],…Khi đó, bài toán tư vấn theo ngữ cảnh sẽ
được biểu diễn dựa trên ma trận đánh giá đa chiều (Multi-
dimensional matrix) như sau:
푅1: 푈푠푒푟 × 퐼푡푒푚 × 퐶표푛푡푒푥푡 → 푅푎푡ꢀ푛ꢁ
(2)
Để giải quyết bài toán tư vấn theo ngữ cảnh, có 3
hướng tiếp cận điển hình được biết đến là: Lọc trước theo
ngữ cảnh (Contextual Prefiltering), lọc sau theo ngữ cảnh
(Contextual Postfiltering) và mô hình hóa ngữ cảnh
(Contextual Modeling) [2][6]. Trong đó, lọc trước ngữ
cảnh sử dụng thông tin ngữ cảnh để lọc tập dữ liệu ban
đầu nhằm chỉ giữ lại những dữ liệu phù hợp với ngữ cảnh
yêu cầu, dữ liệu lọc được sẽ được học bởi các phương
pháp tư vấn truyền thống. Trái ngược với hướng lọc trước
theo ngữ cảnh, lọc sau theo ngữ cảnh sẽ sử dụng các
phương pháp tư vấn truyền thống để học dữ liệu, kết quả
dự đoán thu được sẽ được lọc lại một lần nữa bởi ngữ
cảnh hiện thời nhằm thu được kết quả tư vấn cuối cùng.
Đối với hai hướng tiếp cận lọc trước theo ngữ cảnh và lọc
sau theo ngữ cảnh thì thông tin ngữ cảnh không được tích
hợp trong quá trình huấn luyện. Một hướng tiếp cận thứ
ba cho phép tích hợp trực tiếp ngữ cảnh vào quá trình
huấn luyện và tư vấn đó là mô hình hóa ngữ cảnh. Theo
hướng tiếp cận thứ ba này thì thông tin ngữ cảnh, người
dùng và sản phẩm được biểu diễn trực tiếp trong cùng một
mô hình, khi đó ma trận đánh giá đa chiều sẽ được sử
dụng trực tiếp cho quá trình huấn luyện và tư vấn. Căn cứ
vào kết quả thực nghiệm nhiều nghiên cứu đã chỉ ra rằng
mỗi phương pháp đều có những ưu nhược điểm riêng,
không có phương pháp nào là tốt cho mọi trường hợp dữ
liệu, việc lựa chọn phương pháp nào sẽ phụ thuộc vào
hiệu quả cho từng bộ dữ liệu của bài toán nghiệp vụ khác
nhau [7], nhưng hai hướng tiếp cận lọc trước theo ngữ
cảnh và mô hình hóa ngữ cảnh đã và đang thu hút được sự
quan tâm đặc biệt của cộng đồng nghiên cứu về hệ tư vấn
theo ngữ cảnh, với số lượng bài báo công bố lớn hơn
hướng tiếp cận còn lại và chứng minh cho hiệu quả tư vấn
cao trong nhiều trường hợp. Mặc dù vậy, một số vấn đề
chính còn tồn tại với phương pháp thuộc hướng tiếp cận
Từ khóa: Hệ tư vấn dựa vào ngữ cảnh (Context-aware
recommender system - CARS); Lọc cộng tác dựa vào ngữ cảnh
(Context-aware collaborative filtering - CACF); Ngữ cảnh
(Context); Lọc trước theo ngữ cảnh (Contextual pre-filtering);
Phân tách sản phẩm theo ngữ cảnh (Item splitting); Mô hình
đồng huấn luyện (Co-training model).
I. MỞ ĐẦU
Hệ tư vấn (Recommender System) được xem như một
hệ thống lọc tích cực, có chức năng hỗ trợ đưa ra quyết
định, nhằm mục đích cung cấp cho người sử dụng những
gợi ý về sản phẩm phù hợp với sở thích riêng của từng
người. Các nghiên cứu về việc xây dựng hệ tư vấn truyền
thống trước đây chủ yếu tập trung sử dụng thông tin của
người dùng, sản phẩm và đánh giá của người dùng với sản
phẩm trong việc đưa ra gợi ý. Bài toán tư vấn truyền
thống có thể được biểu diễn dựa trên ma trận đánh giá hai
chiều sau:
푅표: 푈푠푒푟 × 퐼푡푒푚 → 푅푎푡ꢀ푛ꢁ
(1)
Để giải quyết bài toán tư vấn truyền thống, các nghiên
cứu đã có được tiếp cận theo ba hướng chính là: lọc cộng
tác, lọc theo nội dung và lọc kết hợp [1].
Tuy nhiên trên thực tế, đánh giá của người dùng không
cố định, mà thay đổi theo ngữ cảnh bên ngoài. Ví dụ một
người trời nóng thì thích ăn kem, nhưng trời lạnh lại thích
ăn lẩu. Hoặc cùng một bộ phim nhưng trời mưa thì thích
Tác giả liên hệ: Đỗ Thị Liên
Email: [email protected]u.vn
Đến tòa soạn: 10/2020, chỉnh sửa: 11/2020 , chấp nhận đăng: 12/2020
SOÁ 04A (CS.01) 2020
TAÏP CHÍ KHOA HOÏC COÂNG NGHEÄ THOÂNG TIN VAØ TRUYEÀN THOÂNG
121
MỘT PHƯƠNG PHÁP LỌC TRƯỚC THEO NGỮ CẢNH CHO HỆ TƯ VẤN
lọc trước ngữ cảnh và mô hình hóa ngữ cảnh là vấn đề dữ
liệu thưa. Ngoài ra việc tích hợp các thông tin ngữ cảnh
vào quá trình huấn luyện và tư vấn khiến cho các phương
pháp mô hình hóa ngữ cảnh còn gặp phải vấn đề là tăng
độ phức tạp tính toán khi số chiều dữ liệu tăng lên.
diễn từ sự kết hợp của người dùng, sản phẩm và các chiều
ngữ cảnh tương ứng. Trên cơ sở đó, có khá nhiều công
trình nghiên cứu liên quan khác được công bố sau đó
nhằm giải quyết các vấn đề khác nhau của hệ tư vấn theo
ngữ cảnh, trong đó tập trung vào cải tiến các phương pháp
tư vấn theo ngữ cảnh.
Nhằm phát huy tính đơn giản trong cài đặt và tận dụng
được các phương pháp tư vấn truyền thống đã có, trong
bài báo này tác giả tiếp cận các phương pháp lọc trước
theo ngữ cảnh là đối tượng nghiên cứu của mình. Theo
hướng này, có một số nghiên cứu điển hình như: phương
pháp phân tách sản phẩm theo ngữ cảnh (Item splitting)
được đề xuất bởi Baltrunas và Ricci[8], phương pháp
phân cụm người dùng và sản phẩm dựa trên điều kiện ngữ
cảnh [9], phương pháp thu giảm số chiều nhằm giữ lại
trong tập giữ liệu một tập nhỏ hơn những ngữ cảnh quan
trọng [10]. Theo đó, phương pháp phân tách sản phẩm
theo ngữ cảnh chỉ sử dụng một chiều ngữ cảnh để phân
tách sản phẩm ban đầu thành các sản phẩm giả lập, khiến
có khá nhiều thông tin từ các chiều ngữ cảnh khác không
được khai thác triệt để vào quá trình tư vấn sau này.
Phương pháp phân cụm theo ngữ cảnh cũng gặp vấn đề
cần thay đổi theo mỗi tập dữ liệu khác nhau, dẫn tới khó
khăn trong việc kết hợp kết quả tư vấn sau đó. Phương
pháp thu giảm số chiều cũng gặp vấn đề có thể bỏ qua
thông tin hữu ích từ những chiều ngữ cảnh khác phục vụ
cho quá trình huấn luyện dữ liệu.
Các phương pháp đưa ra để giải quyết bài toán tư vấn
theo ngữ cảnh thuộc ba hướng tiếp cận: (i) lọc trước ngữ
cảnh, (ii) lọc sau ngữ cảnh và (iii) mô hình hóa ngữ cảnh
[2][6].
Về cơ bản, các phương pháp tư vấn theo ngữ cảnh
thuộc hướng lọc trước ngữ cảnh sử dụng thông tin ngữ
cảnh để lọc tập dữ liệu ban đầu nhằm chỉ giữ lại những dữ
liệu phù hợp với ngữ cảnh yêu cầu.Trong đó, phân tách
sản phẩm theo ngữ cảnh (Item splitting) [8] là một
phương pháp điển hình thuộc hướng tiếp cận này được
đánh giá cho hiệu quả tư vấn tương đối tốt trên nhiều tập
dữ liệu. Phương pháp này thực hiện tách mỗi sản phẩm
trong tập dữ liệu ban đầu thành các sản phẩm giả lập.
Trong đó, mỗi sản phẩm giả lập được tạo ra từ sự kết hợp
sản phẩm ban đầu với một tình huống ngữ cảnh cụ thể.
Tập dữ liệu lọc được sẽ dùng để huấn luyện và tư vấn.
Quá trình huấn luyện và tư vấn cho hệ tư vấn theo ngữ
cảnh sau đó có thể sử dụng trực tiếp những phương pháp
lọc thông tin đã được áp dụng cho các hệ tư vấn truyền
thống. Ví dụ như một số phương pháp lọc cộng tác như
Để giảm thiểu những hạn chế nêu trên, tác giả đề xuất
một phương pháp tư vấn cộng tác theo ngữ cảnh mới
thuộc hướng tiếp cận lọc trước ngữ cảnh nhằm giải quyết
hạn chế còn tồn tại phổ biến, đó là tích hợp đầy đủ thông
tin ngữ cảnh và giải quyết hiệu quả vấn đề dữ liệu thưa
của hệ tư vấn theo ngữ cảnh. Cụ thể, tác giả đề xuất sử
dụng phương pháp phân tách sản phẩm theo ngữ cảnh cải
tiến nhằm khắc phục hạn chế nêu trên của phương pháp
phân tách sản phẩm theo ngữ cảnh nguyên thủy, đó là cho
phép tích hợp đầy đủ thông tin ngữ cảnh trong việc
chuyển hóa sản phẩm ban đầu thành sản phẩm giả lập.
Tuy nhiên khi áp dụng thủ tục phân tách sản phẩm theo
ngữ cảnh cải tiến lên ma trận đánh giá đa chiều 푅1, với
việc giới thiệu các sản phẩm giả lập, sẽ càng khiến ma
trận đánh giá hai chiều 푅표 thu được càng thưa thớt hơn
nữa, điều này sẽ được giải quyết qua quá trình học dữ liệu
đánh giá theo mô hình đồng huấn luyện cho bài toán phân
lớp của lọc cộng tác. Đồng huấn luyện là một phương
pháp học bán giám sát điển hình sử dụng để học từ cả
những đánh giá đã biết và chưa biết trong ma trận đánh
giá để đưa ra dự đoán, từ đó giải quyết hiệu quả vấn đề dữ
liệu thưa của ma trận đánh giá, giúp nâng cao chất lượng
tư vấn. Kết quả thực nghiệm trên một số bộ dữ liệu thực
cho thấy phương pháp đề xuất cải thiện đáng kể chất
lượng dự đoán so với các phương pháp tư vấn dựa vào
ngữ cảnh cơ sở trước đây. Phương pháp đề xuất cũng
được đánh giá là đơn giản trong cài đặt và tận dụng được
các phương pháp tư vấn truyền thống đã có.
UserKNN,
ItemKNN,
Matrix
Factorization,
SLIM…[2][6] sẽ được áp dụng trực tiếp sau bước lọc
trước ngữ cảnh để sinh những sản phẩm dự đoán cho
người dùng trong một tình huống ngữ cảnh cụ thể. Tương
tự như thế, phân tách người dùng theo ngữ cảnh (User
splitting), phân tách cả người dùng và sản phẩm theo ngữ
cảnh (UI splitting) là các phương pháp được đưa ra thuộc
hướng này có cơ chế hoạt động tương tự [11].
Trái ngược với hướng lọc trước ngữ cảnh, lọc sau ngữ
cảnh sử dụng toàn bộ ma trận đánh giá đã loại bỏ đi các
chiều ngữ cảnh để huấn luyện và tư vấn. Kết quả tư vấn sẽ
được lọc lại một lần nữa để thu được kết quả tư vấn cuối
cùng là những sản phẩm mới chưa được người dùng đánh
giá trong một tình huống ngữ cảnh cụ thể. Như vậy các
phương pháp tư vấn theo ngữ cảnh thuộc hướng lọc sau
ngữ cảnh cũng có thể áp dụng các phương pháp tư vấn
truyền thống như (i).
Hướng tiếp cận thứ ba là mô hình hóa ngữ cảnh. Theo
hướng này thông tin ngữ cảnh, người dùng và sản phẩm
được biểu diễn trực tiếp trong cùng một mô hình. Khi đó
ma trận đánh giá đa chiều sẽ được sử dụng trực tiếp cho
quá trình huấn luyện và tư vấn. Với hướng tiếp cận này,
một số phương pháp mô hình hóa ngữ cảnh được đưa ra
như: Mô hình hóa ngữ cảnh độc lập Tensor
Decomposition [12] và mô hình hóa ngữ cảnh phụ thuộc
[13][14]. Thực nghiệm cho thấy các phương pháp mô
hình hóa ngữ cảnh phụ thuộc cho kết quả tốt hơn phương
pháp mô hình hóa ngữ cảnh độc lập [14]. Tuy nhiên vấn
đề đặt ra với các phương pháp mô hình hóa ngữ cảnh phụ
thuộc là khi tích hợp ngữ cảnh vào hệ tư vấn dựa trên các
giải thuật tư vấn truyền thống như Matrix Factorization,
SLIM…là vấn đề dữ liệu thưa và khả năng mở rộng của
nó. Ngoài ra các phương pháp mô hình hóa ngữ cảnh cũng
được đánh giá là có độ phức tạp lớn hơn các phương pháp
thuộc hướng lọc trước và sau theo ngữ cảnh, đặc biệt khi
số chiều ngữ cảnh tăng lên.
Để trọng tâm vào phương pháp đề xuất, Mục II tác giả
trình bày các nghiên cứu liên quan. Tiếp đến là phương
pháp đề xuất trong Mục III. Mục IV trình bày phương
pháp thực nghiệm và đánh giá. Mục V nêu kết luận và
hướng phát triển trong thời gian tới.
II. CÁC NGHIÊN CỨU LIÊN QUAN
Việc khai thác thông tin ngữ cảnh trong hệ tư vấn
được đề cập đầu tiên trong nghiên cứu của Adomavicius
and Tuzhilin [1], theo đó dữ liệu huấn luyện được biểu
SOÁ 04A (CS.01) 2020
TAÏP CHÍ KHOA HOÏC COÂNG NGHEÄ THOÂNG TIN VAØ TRUYEÀN THOÂNG
122
Đỗ Thị Liên
Trong bài báo này, tác giả tiếp cận nghiên cứu đề xuất
phương pháp tư vấn theo ngữ cảnh mới, cụ thể là một
phương pháp tư vấn thuộc hướng lọc trước theo ngữ cảnh.
Trong đề xuất của mình, tác giả tiếp cận kết hợp thủ tục
phân tách sản phẩm theo ngữ cảnh cải tiến với mô hình
đồng huấn luyện cho lọc cộng tác. Khác với việc sử dụng
một chiều ngữ cảnh để phân tách sản phẩm ban đầu thành
các sản phẩm giả lập không cho phép khai thác triệt để
thông tin từ các chiều ngữ cảnh còn lại, thủ tục phân tách
sản phẩm theo ngữ cảnh cải tiến sẽ kết hợp sử dụng tất cả
các chiều ngữ cảnh để phân tách sản phẩm ban đầu thành
các sản phẩm giả lập, điều này giúp tích hợp đầy đủ thông
tin ngữ cảnh vào quá trình tư vấn. Việc giới thiệu các sản
phẩm giả lập cũng đồng thời chuyển hóa ma trận đánh giá
đa chiều thành ma trận đánh giá hai chiều. Tuy nhiên, bản
thân ma trận đánh giá đa chiều ban đầu khá thưa khi được
chuyển hóa thành ma trận đánh giá hai chiều càng trở lên
thưa thớt hơn nữa. Để giải quyết vấn đề này, tác giả tiếp
cận học dữ liệu đánh giá cho lọc cộng tác bằng mô hình
đồng huấn luyện, đây là một phương pháp điển hình thuộc
hướng học bán giám sát cho bài toán phân lớp, nhằm học
từ cả những đánh giá đã biết và chưa biết trong ma trận
đánh giá, từ đó giải quyết hiệu quả vấn đề dữ liệu thưa của
ma trận đánh giá, giúp nâng cao chất lượng tư vấn cho hệ
tư vấn theo ngữ cảnh.
kết hợp sản phẩm ban đầu với một tình huống ngữ cảnh
cụ thể, thủ tục này gọi là “Item Splitting” [8].
Thủ tục “Item Splitting” trước đây chỉ sử dụng một
chiều ngữ cảnh duy nhất để phân tách sản phẩm theo ngữ
cảnh, việc chọn chiều ngữ cảnh này dựa vào độ đo thống
kê, như độ lợi thông tin (Information gain) [3][11] . Điều
này trong nhiều trường hợp khiến cho khá nhiều thông tin
từ các chiều ngữ cảnh khác không được khai thác triệt để
vào quá trình tư vấn sau này.
Từ lập luận đưa ra ở trên, tác giả đề xuất phương pháp
phân tách sản phẩm theo ngữ cảnh cải tiến nhằm khắc
phục hạn chế nêu trên của phương pháp phân tách sản
phẩm theo ngữ cảnh nguyên thủy. Phương pháp phân tách
sản phẩm theo ngữ cảnh cải tiến cho phép tích hợp đầy đủ
thông tin ngữ cảnh trong việc chuyển hóa sản phẩm ban
đầu thành sản phẩm giả lập. Các bước thực hiện cụ thể
như sau:
• Bước 1. Tạo ra 1 chiều ngữ cảnh mới 퐶 đại diện
cho 퐾 chiều ngữ cảnh 퐶1, 퐶2, … , 퐶퐾 bằng cách lấy
tích Đề-các của tất cả các chiều ngữ cảnh. Khi
đó, mỗi điều kiện ngữ cảnh của 퐶 là sự kết hợp
các điều kiện ngữ cảnh của các chiều tương ứng.
Số lượng điều kiện ngữ cảnh của 퐶 là 푁푐 , với
푁푐 = 푁푐 ∗ 푁푐 ∗ … ∗ 푁푐 .
1
2
퐾
III. PHƯƠNG PHÁP ĐỀ XUẤT
• Bước 2. Tạo ra tập sản phẩm giả lập 푇 bằng cách
lấy tích Đề-các của tập sản phẩm 푃 và chiều ngữ
cảnh 퐶. Khi đó, mỗi sản phẩm giả lập thuộc 푇 là
sự kết hợp của một sản phẩm ban đầu thuộc 푃 với
một điều kiện ngữ cảnh thuộc 퐶. Số lượng sản
phẩm trong tập 푇 là 퐻, với 퐻 = 푀 ∗ 푁푐.
Về cơ bản phương pháp đề xuất được thực hiện bằng
cách kết hợp hai phương pháp: 1) Lọc trước theo ngữ
cảnh; 2) Lọc cộng tác bằng đồng huấn luyện. Sự kết hợp
của hai phương pháp này trong phương pháp đề xuất được
thể hiện qua ba bước: 1) Phân tách sản phẩm theo ngữ
cảnh; 2) Học dữ liệu bằng mô hình đồng huấn luyện; 3)
Sinh tư vấn. Ba bước này kết hợp với nhau trong một bộ
khung đề xuất về triển khai phương pháp lọc trước theo
ngữ cảnh dựa vào đồng huấn luyện cho hệ tư vấn theo ngữ
cảnh trong Hình 1 dưới đây.
• Bước 3. Chuyển đổi ma trận đánh giá đa chiều về
ma trận đánh giá hai chiều bằng việc loại bỏ đi
tập ngữ cảnh, thay tập sản phẩm ban đầu 푃 bằng
tập sản phẩm giả lập 푇.
Ví dụ áp dụng phương pháp phân tách sản phẩm theo
ngữ cảnh lên ma trận đánh giá đa chiều của lọc cộng tác
theo ngữ cảnh (Bảng 1) ta thu được ma trận đánh giá hai
chiều (Bảng 2), với 푡1 là sản phẩm giả lập được tạo ra bởi
sự kết hợp của sản phẩm 푝1 và tình huống ngữ cảnh
(“Cuối tuần”,”Tại nhà”,”Trẻ em”). Với ví dụ được đưa ra
trong Bảng 1, hệ tư vấn có 2 sản phẩm và 12 tình huống
ngữ cảnh có thể có, do vậy số lượng sản phẩm giả lập
được sinh ra theo phương pháp phân tách sản phẩm theo
ngữ cảnh cải tiến là 24. Ma trận đánh giá hai chiều nhận
được thể hiện trong Bảng 2, tác giả sắp xếp những cặp
người dùng - sản phẩm có đánh giá trong những dòng trên
cùng của ma trận và những cặp còn lại không có đánh giá
ở bên dưới. Để tiết kiệm không gian trình bày, những cặp
người dùng - sản phẩm không có đánh giá không nêu đầy
đủ trong Bảng 2.
Phân tách sản
phẩm theo
ngữ cảnh
U
U
C
T
P
Đồng huấn luyện
Mô hình học theo
Ma trận đánh giá R
cập nhật các đánh giá
dự đoán mới
người dùng
Ma trận đánh giá R
cập nhật các đánh giá
dự đoán mới
Mô hình học theo
sản phẩm
Ma trận đánh giá R đã
tích hợp đầy đủ các đánh
giá dự đoán
Danh sá ch Top-N
sản phẩm tư vấn
Sinh tư vấn
Hình 1. Bộ khung triển khai phương pháp lọc trước theo ngữ
cảnh dựa vào đồng huấn luyện.
A. Phân tách sản phẩm theo ngữ cảnh
Bảng 1. Ma trận đánh giá đa chiều của lọc cộng tác theo ngữ
cảnh
Thông tin đầu vào cho bài toán tư vấn theo ngữ cảnh
gồm có: Tập hợp hữu hạn gồm 푁 người dùng 푈 =
{푢1, 푢1, … , 푢푁}, 푀 sản phẩm 푃 = {푝1, 푝2, … , 푝푀} và K
chiều ngữ cảnh 퐶1, 퐶2, … , 퐶퐾 , mỗi chiều ngữ cảnh có
tương ứng 푁푐 , 푁푐 , … , 푁푐 điều kiện ngữ cảnh. Từ thông
Người Sản
dùng phẩm
Đánh
giá
Thời
gian
Địa Bạn đồng
điểm hành
푢1
푢1
푢2
푝1
푝1
푝1
5
4
3
Cuối
tuần
Tại
Trẻ em
nhà
2
퐾
tin đầu vào tr1ên, việc phân tách sản phẩm theo ngữ cảnh
sẽ chuyển hóa sản phẩm ban đầu theo ngữ cảnh thành các
sản phẩm giả lập. Mỗi sản phẩm giả lập được tạo ra từ sự
Trong
tuần
Tại
Gia đình
nhà
Cuối Tại rạp Đối tác
123
SOÁ 04A (CS.01) 2020
TAÏP CHÍ KHOA HOÏC COÂNG NGHEÄ THOÂNG TIN VAØ TRUYEÀN THOÂNG
MỘT PHƯƠNG PHÁP LỌC TRƯỚC THEO NGỮ CẢNH CHO HỆ TƯ VẤN
giá trị đánh giá biết trước này còn gọi là nhãn phân loại.
tuần
Như vậy, việc áp dụng các phương pháp học có giám sát
cho hệ tư vấn cộng tác dựa vào bộ nhớ sẽ bỏ qua rất nhiều
các mẫu dữ liệu khác chưa được gán nhãn vào quá trình tư
vấn, vấn đề dữ liệu thưa này sẽ ảnh hưởng trực tiếp tới
chất lượng tư vấn. Với mong muốn có thể khai thác đầy
đủ dữ liệu gán nhãn và chưa gán nhãn từ ma trận đánh giá
đầu vào cho hệ tư vấn nhằm hạn chế ảnh hưởng của vấn
đề dữ liệu thưa, tác giả tập trung nghiên cứu vào hướng
tiếp cận học bán giám sát cho bài toán phân lớp, trong
trường hợp này là bài toán lọc cộng tác.
푢2
푢3
푢3
푝1
푝1
푝2
4
3
2
Trong
tuần
Tại
nhà
Gia đình
Cuối Tại rạp Đối tác
tuần
Cuối Tại rạp Đối tác
tuần
Bảng 2. Ma trận đánh giá hai chiều nhận được sau phân tách
sản phẩm theo ngữ cảnh
Người dùng Sản phẩm giả lập Đánh giá
Trong các phương pháp học bán giám sát đã được đưa
ra [21][22], tác giả tiếp cận phương pháp đồng huấn luyện
để giải quyết bài toán phân lớp của lọc cộng tác. Lý do
cho việc lựa chọn này là phương pháp đồng huấn luyện
được đánh giá là phù hợp cho các bộ dữ liệu chứa các
mẫu dữ liệu được quan sát dưới hai góc nhìn độc lập nhau,
trong trường hợp này mỗi đánh giá trong ma trận đánh giá
sẽ được quan sát dưới hai góc nhìn người dùng và sản
phẩm.
푢1
푢1
푢2
푢2
푢3
푢3
푢1
…
푡1
푡3
푡2
푡3
푡2
푡4
푡2
…
5
4
3
4
3
2
0
…
0
Quá trình đồng huấn luyện sẽ sử dụng 2 bộ phân lớp
xác định nhằm học các mẫu dữ liệu độc lập từ quan sát
theo người dùng và quan sát theo sản phẩm để gán nhãn
cho các mẫu dữ liệu chưa biết, trong trường hợp này là
đưa ra dự đoán đánh giá cho những giá trị đánh giá chưa
biết trong ma trận đánh giá. Quá trình học này được lặp lại
luân phiên giữa hai cơ chế quan sát theo người dùng và
theo sản phẩm đến khi thỏa mãn điều kiện các mẫu dữ liệu
đều được gán nhãn (Ma trận đánh giá được cập nhật đầy
đủ các giá trị đánh giá) hoặc số vòng lặp đạt đến ngưỡng
xác định. Cụ thể quá trình học theo người dùng sẽ dự đoán
được một số nhãn phân loại tin cậy cho mẫu dữ liệu chưa
biết đánh giá chuyển giao cho quá trình học theo sản
phẩm. Ngược lại, quá trình học theo sản phẩm cũng dự
đoán được một số nhãn phân loại cho mẫu dữ liệu chưa
biết đánh giá chuyển giao cho quá trình học theo người
dùng. Mỗi quá trình học đó sẽ cập nhật những đánh giá dự
đoán mới vào ma trận đánh giá. Hai quá trình học được
thực hiện luân phiên nhau theo đúng tinh thần của thuật
toán đồng huấn luyện, điều này góp phần hạn chế ảnh
hưởng của vấn đề dữ liệu thưa cho lọc cộng tác.
푢3
푡24
Quá trình phân tách sản phẩm theo ngữ cảnh sẽ biến
đổi ma trận đánh giá đa chiều 푅1 (biểu diễn đánh giá của
người dùng với sản phẩm trong các tình huống ngữ cảnh
khác nhau) về ma trận đánh giá hai chiều 푅표 (biểu diễn
đánh giá của người dùng với sản phẩm giả lập). Trên thực
tế, số lượng các đánh giá ban đầu đưa ra bởi người dùng
cho các sản phẩm trong các tình huống ngữ cảnh là rất ít,
khiến cho ma trận 푅1 rất thưa. Khi áp dụng thủ tục phân
tách sản phẩm theo ngữ cảnh cải tiến lên 푅1, với việc giới
thiệu các sản phẩm giả lập, sẽ càng khiến ma trận 푅표 thu
được càng thưa thớt hơn nữa.
Để hạn chế những vấn đề dữ liệu thưa của lọc cộng tác
áp dụng cho ma trận đánh giá hai chiều 푅표, tác giả tiến
hành học ma trận đánh giá của lọc cộng tác bằng mô hình
đồng huấn luyện. Nội dung chi tiết của mô hình đồng
huấn luyện cho lọc cộng tác được trình bày trong mục B
dưới đây.
B. Mô hình đồng huấn luyện cho lọc cộng tác
Bài toán lọc cộng tác nhằm dự đoán các đánh giá chưa
biết từ tập các đánh giá đã biết có thể phát biểu như bài
toán phân lớp cơ sở của học máy [15][16][17][18]. Tiếp
cận lọc cộng tác bằng phân lớp ta cần cá nhân hóa mô
hình học theo người dùng hoặc theo sản phẩm nhằm gán
nhãn cho những giá trị đánh giá chưa biết trong ma trận
đánh giá. Do vậy, việc xác định được phương pháp phân
lớp phù hợp cho lọc cộng tác sẽ quyết định chất lượng của
hệ tư vấn.
Nội dung mục 1) và 2) dưới đây sẽ lần lượt trình bày
các quá trình xây dựng mô hình học theo người dùng, xây
dựng mô hình học theo sản phẩm từ ma trận đánh giá 푅표
nhận được theo thủ tục phân tách sản phẩm theo ngữ cảnh
(Mục A). Trên cơ sở đó đề xuất kết hợp hai mô hình này
trong hai phương pháp đồng huấn luyện cho lọc cộng tác
trong mục 3). Kết quả của quá trình đồng huấn luyện là
ma trận 푅표 đã tích hợp đầy đủ các giá trị đánh giá dự đoán
sẽ được sử dụng để sinh tư vấn những sản phẩm phù hợp
với người dùng hiện thời
Về cơ bản, bài toán phân lớp là một loại bài toán của
lĩnh vực học máy. Các nghiên cứu về học máy dựa trên
phương thức học dữ liệu chỉ ra rằng có bốn hướng tiếp
cận học máy chính [19][20], đó là: 1) Học có giám sát
(Supervised learning); 2) Học không giám sát
(Unsupervised learning); 3) Học bán giám sát (Semi-
supervised learning); 4) Học củng cố (Reinforcement
learning). Trong bốn hướng tiếp cận học máy này thì học
có giám sát và bán giám sát là hai hướng tiếp cận phù hợp
để giải quyết bài toán phân lớp ở quy mô tổng quát. Với
thông tin đầu vào của lọc cộng tác là ma trận đánh giá chỉ
có một số rất ít đánh giá biết trước, nếu áp dụng các
phương pháp học máy có giám sát thì chỉ có một số ít
đánh giá tham gia vào quá trình học để sinh ra tư vấn, các
1) Mô hình học theo người dùng
Mô hình học theo người dùng được sử dụng trong bài
báo dựa vào phương pháp lọc cộng tác theo người dùng
UserBased k-NN [1][23]. Đây là phương pháp được đánh
giá là đơn giản trong cài đặt, thời gian thực hiện nhanh và
có thể thực hiện được trên mọi loại dữ liệu. Tuy nhiên
nhược điểm điển hình với phương pháp này là vấn đề dữ
liệu thưa, điều này sẽ được tác giả giải quyết trong mô
hình đồng huấn luyện đưa ra bởi bài báo.
Thuật toán UserBased k-NN đã có xây dựng cho mỗi
người dùng một tập các láng giềng có các đánh giá tương
tự trong ma trận người dùng – sản phẩm, các đánh giá từ
SOÁ 04A (CS.01) 2020
TAÏP CHÍ KHOA HOÏC COÂNG NGHEÄ THOÂNG TIN VAØ TRUYEÀN THOÂNG
124
Đỗ Thị Liên
những người dùng này sau đó được sử dụng để đưa ra dự
đoán, làm cơ sở để đưa ra tư vấn. Trong đề xuất này, việc
xác định mức độ tương tự giữa các cặp người dùng không
Phương pháp CoTrainning-UserItem được mô tả chi
tiết trong Thuật toán 3.2 thực hiện thông qua 푡 vòng lặp.
Thuật toán 1. Thuật toán CoTrainning-UserItem
dùng để xác định tập láng giềng 퐾 tác động trực tiếp lên
푖
Đầu vào:Khởi tạo ma trận đánh giá 푅표 = {푟( )} =
0
푖푥
(0)
tư vấn, mà chỉ để dùng vào việc xác định các nhãn phân
loại chắc chắn 푟 cho người dùng 푢푖. Theo đó, mô hình
푖푦
học theo người dùng đề xuất được thực hiện thông qua 3
bước: (1) Tính toán độ tương tự giữa các cặp người dùng;
(2) Tìm tập láng giềng cho người dùng cần tư vấn; (3)
Xác định các nhãn phân loại chắc chắn cho ma trận đánh
giá.
{푟 }.
푖푥
Đầu ra :Ma trận dự đoán 푅표 = {푟( )}.
푡
푖푥
(푡)
Các bước tiến hành:
1. Khởi tạo số bước lặp ban đầu: 푡0;
2. Bước lặp:
Bước 1. Tính toán mức độ tương tự giữa các cặp người
dùng
Độ tương tự dựa trên độ đo tương quan Pearson
Repeat
∑
(푟 − 푟̅푖)(푟 − 푟̅푗)
(3)
푝 ∈푇 ∩푇
푖푥
푗푥
푥
푖
푗
푢푖푗
=
2.1. Tăng bước lặp: 푡푡 + 1;
(푟 − 푟̅푖)2
(푟 − 푟̅푗)2
푗
∑
∑
푡 ∈푇 ∩푇 푗푥
푥
√
푡 ∈푇 ∩푇
푖푥
푥
푖
푗
푖
2.2. Huấn luyện theo mô hình học theo người dùng:
(푡)
a) Tìm 푢 theo công thức (3).
푖푗
Trong đó :
o
푇
푖푗
= {푡푥|푟 ≠ ∅ ∩ 푟 ≠ ∅} là tập tất
b) Tìm 퐾(푡)
푖푥
푗푥
푖
cả các sản phẩm cùng được đánh giá bởi
푢푖 và 푢푗.
c) Dự đoán 푟(푡) theo công thức (4).
푖푥
2.3. Huấn luyện theo mô hình học theo sản phẩm:
o
푟̅푖 , 푟̅ là trung bình cộng các đánh giá
푗
(푡)
a) Tìm 푡 căn cứ theo thuật toán ItemBased
푥푦
khác 0 của 푢푖 và 푢푗.
k-NN cơ sở [1][23].
Bước 2: Xác định tập láng giềng cho người dùng cần
tư vấn
b) Tìm 퐾푥(푡)
c) Dự đoán 푟(푡)
.
Tại bước này ta chỉ cần sắp xếp các giá trị uij theo thứ
.
푖푥
tự giảm dần, sau đó chọn tập 퐾 người dùng đầu tiên làm
tập láng giềng của người dùng 푢푖.
푖
Until (푟(푡) = 푟(푡−1)
)
푖푥
푖푥
Bước 3: Xác định các nhãn phân loại chắc chắn
cho ma trận
(0)
Tại bước khởi tạo 푡 = 0, ma trận dự đoán 푅1
=
{푟( )} được lấy bằng chính ma trận đánh giá ban đầu 푅1 =
{푟 }. Tại đầu mỗi bước lặp, 푡 được tăng lên 1 đơn vị. Tại
0
푖푥
Dựa trên tập láng giềng 퐾 của người dùng 푢푖 ∈ 푈, các
푖
푖푥
mẫu dữ liệu chưa có đánh giá được gán nhãn giá trị dự
đoán (nhãn phân loại chắc chắn) theo công thức (4).
bước 2.2, quá trình huấn luyện theo người dùng được thực
hiện tuần tự theo các bước (2.2.a), (2.2.b),(2.2.c). Tại
bước (2.2.a) ta cần xác định mức độ tương tự 푢푖(푗푡) giữa
(4)
∑
푢 ∈퐾 (푟 − 푟̅푗)푢푖푗
푗푥
푗
푖
푟
푖푥
= 푟̅ +
푖
người 푢푖 ∈ 푈 và người dùng 푢푗 theo công thức (3). Tại
∑
푖 |푢푖푗|
푢 ∈퐾
푗
(푡)
푖푗
bước (2.2.b), sử dụng 푢 đã được xác định tại bước
Ma trận đánh giá nhận được sau mô hình học theo
người dùng được bổ sung các đánh giá dự đoán mới, phục
vụ cho quá trình huấn luyện theo mô hình học theo sản
phẩm trong phương pháp đồng huấn luyện được trình bày
ở mục tiếp theo của bài báo.
(2.2.a) ta xác định được 퐾(푡) là tập láng giềng của người
푖
dùng 푢푖 tại bước lặp thứ 푡. Tại bước (2.2.c), sử dụng 퐾(푡)
푖
đã xác định tại bước (2.2.b) ta dự đoán được 푟(푡) là quan
푖푥
điểm chắc chắn của người dùng 푢푖 cho các sản phẩm 푝푥
2) Mô hình học theo sản phẩm
tại bước lặp thứ 푡 theo công thức (4). Các giá trị 푟(푡) dự
푖푥
Mô hình học theo sản phẩm được sử dụng trong bài
báo dựa vào phương pháp lọc cộng tác theo sản phẩm
ItemBased k-NN [1][23].Tương tự như đối với người
dùng, việc xác định mức độ mức độ tương tự giữa các cặp
sản phẩm 푝푥 ∈ 푃 không dùng để xác định tập láng giềng
퐾푥 tác động trực tiếp lên tư vấn như trong [1][23], mà chỉ
để dùng vào việc xác định các nhãn phân loại chắc chắn
đoán theo người dùng tại bước lặp thứ 푡 được bổ sung
thêm vào quá trình huấn luyện theo sản phẩm tại bước 2.3.
(푡)
푥푦
Tại bước (2.3.a) ta cần xác định mức độ tương tự 푡
giữa sản phẩm 푡푥 ∈ 푇 và sản phẩm 푡푦. Tại bước (2.3.b),
(푡)
sử dụng 푡 đã được xác định tại bước (2.3.a) ta tìm được
푥푦
퐾푥(푡) là tập láng giềng của sản phẩm 푡푥 tại bước lặp thứ 푡 .
푟 cho sản phẩm 푡푥. Ma trận đánh giá nhận được sau mô
푖푥
Tại bước (2.3.c), sử dụng 퐾푥(푡) đã xác định tại bước (2.3.b)
hình học theo sản phẩm được bổ sung các đánh giá dự
đoán mới, phục vụ cho quá trình huấn luyện theo mô hình
học theo người dùng trong phương pháp đồng huấn luyện
được trình bày ở mục tiếp theo của bài báo.
ta dự đoán được 푟(푡) là quan điểm chắc chắn của người
푖푥
dùng 푢푖 cho các sản phẩm 푡푥 tại bước lặp thứ 푡. Sau bước
2.3, thuật toán kiểm tra nếu thỏa mãn điều kiện hội tụ là
không có nhãn phân loại nào được bổ sung vào ma trận dự
3) Lọc cộng tác bằng phương pháp đồng huấn luyện
SOÁ 04A (CS.01) 2020
TAÏP CHÍ KHOA HOÏC COÂNG NGHEÄ THOÂNG TIN VAØ TRUYEÀN THOÂNG
125
MỘT PHƯƠNG PHÁP LỌC TRƯỚC THEO NGỮ CẢNH CHO HỆ TƯ VẤN
đoán, khi đó r(t) = ri(xt−1)thì dừng lại, nếu chưa thì quá
trình đồng huấn luyện tiếp theo được thực hiện ở vòng lặp
tiếp theo.
thực hiện trước, quá trình nào thực hiện sau trong cơ chế
chuyển giao tri thức giữa các mô hình.
ix
IV. THỰC NGHIỆM VÀ KẾT QUẢ
A. Dữ liệu thực nghiệm
C. Sinh tư vấn
Sau khi kết thúc quá trình đồng huấn luyện, hệ thống
thu được ma trận dự đoán 푅표 là cơ sở để sinh ra tư vấn
sản phẩm phù hợp cho người dùng theo ngữ cảnh, điều
này được miêu tả cụ thể trong Thuật toán 2 dưới đây.
Để thấy rõ hiệu quả của phương pháp đề xuất, tác giả
thực hiện tiến hành thực nghiệm trên hai bộ dữ liệu
DepaulMovie, InCarMusic [24].
(푡)
•
Bộ dữ liệu DepaulMovie chứa 5043 đánh giá từ 97
người dùng cho 79 phim trong các tình huống ngữ
cảnh khác nhau. Bộ dữ liệu này có 3 chiều ngữ cảnh
là Time, Location, Companion. Chiều ngữ cảnh Time
có 2 điều kiện ngữ cảnh (“Weekend”, “Weekday”),
chiều ngữ cảnh Location có 2 điều kiện ngữ cảnh
(“Home”, “Cinema”), chiều ngữ cảnh Companion có
3 điều kiện ngữ cảnh (“Alone”, “Family”, “Partner”).
Các mức đánh giá nằm trong dải từ 1 đến 5, mức độ
thưa thớt của dữ liệu là 94,516%. Các mức đánh giá
1, 2, 3, 4, 5 được chuyển đổi thành 0.2, 0.4, 0.6, 0.8,
1.0.
Như vậy, trên cơ sở bộ khung triển khai phương pháp
lọc trước theo ngữ cảnh dựa vào đồng huấn luyện với 3
bước thực hiện ở Mục A, Mục B, Mục C trình bày ở trên,
tác giả đề xuất hai thuật toán mới cho lọc trước ngữ cảnh
dựa vào đồng huấn luyện theo người dùng (IS-
CoTraining-UserItem) và lọc trước ngữ cảnh dựa vào
đồng huấn luyện theo sản phẩm (IS-CoTraining-
ItemUser) dưới đây.
Thuật toán 2. Thuật toán IS-CoTraining-UserItem
Đầu vào:
- Ma trận đánh giá đa chiều 푅1 (chứa thông tin ngữ
cảnh).
- 푢푎 ∈ 푈 là người dùng hiện thời cần được tư vấn.
- ꢂ ∈ (퐶1 × 퐶2 × … × 퐶퐾) là ngữ cảnh ứng với người
dùng hiện thời.
•
Bộ dữ liệu InCarMusic chứa 3938 đánh giá từ 1042
người dùng, 139 album trong các tình huống ngữ
cảnh khác nhau. Bộ dữ liệu này có 8 chiều ngữ cảnh
là Driving style, Road type, Landscape, Sleepiness,
Traffic conditions, Mood, Weather, Natural
Phenomena. Chiều ngữ cảnh Driving style có 2 điều
kiện ngữ cảnh (“Relaxed driving”, “Sport driving”),
chiều ngữ cảnh Road type có 3 điều kiện ngữ cảnh
(“City”, “Highway”, “Serpentine”), chiều ngữ cảnh
Landscape có 4 điều kiện ngữ cảnh (“Coast line”,
“country side”, “mountains/hills”, “Urban”), chiều
ngữ cảnh Sleepiness có 2 điều kiện ngữ cảnh
(“Awake”, “Sleepy”), chiều ngữ cảnh Traffic
conditions có 3 điều kiện ngữ cảnh (“Free road”,
“Many Cars”, “Traffic jam”), chiều ngữ cảnh Mood
có 4 điều kiện ngữ cảnh (“Active”, “Happy”, “Lazy”,
“Sad”), chiều ngữ cảnh Weather có 4 điều kiện ngữ
cảnh (“Cloudy”, “Snowing”, “Sunny”, “Rainy”),
chiều ngữ cảnh Natural Phenomena có 4 điều kiện
ngữ cảnh (“Day time”, “Morning”, “Night”,
“Afternoon”). Các mức đánh giá nằm trong dải từ 1
đến 5, mức độ thưa thớt của dữ liệu là 99.9996996%.
Các mức đánh giá 1, 2, 3, 4, 5 được chuyển đổi thành
0.2, 0.4, 0.6, 0.8, 1.0.
- 퐾1 là số lượng người dùng trong tập láng giềng với 푢푎.
- 퐾2 là số lượng sản phẩm cần tư vấn cho 푢푎.
Đầu ra:
- Danh sách 퐾2 sản phẩm tư vấn tới người dùng 푢푎
trong tình huống ngữ cảnh ꢂ.
Các bước thực hiện:
Bước 1. Chuyển đổi ma trận đánh giá dạng đa chiều 푅1
về dạng hai chiều 푅표
Theo thủ tục phân tách sản phẩm theo ngữ cảnh
(Mục A).
Bước 2. Học dữ liệu bằng mô hình đồng huấn luyện
(Theo Thuật toán 1)
Bước 3. Sinh tư vấn cho người dùng hiện thời 푢푎 trong
ngữ cảnh ꢂ.
(푡)
• Từ ma trận 푅표 sắp xếp các sản phẩm chưa
được đánh giá ban đầu bởi người dùng hiện thời
푢푎 theo thứ tự giảm dần của 푟(푡). Với mỗi người
푖푥
dùng hiện thời 푢푎 , chọn 퐾1 sản phẩm có đầu
tiên trong số đó tư vấn cho người dùng 푢푎.
B. Cài đặt thực nghiệm
1) Độ đo
• Chuyển đổi ma trận dự đoán đánh giá hai chiều
chứa sản phẩm giả lập (trong tập 푇) về ma trận
dự đoán đánh giá đa chiều chứa sản phẩm thực
(thuộc tập 푃) và tình huống ngữ cảnh đi kèm
(thuộc tập 퐶).
Hai nhiệm vụ chính của hệ tư vấn là dự đoán đánh giá
và tư vấn danh sách ngắn các sản phẩm cho người dùng
hiện thời. Để đánh giá hiệu quả của đánh giá dự đoán, các
độ đo thường được sử dụng là 푀퐴퐸, 푅푀푆퐸, 푀푃퐸. Để
đánh giá hiệu quả tư vấn danh sách sản phẩm, các độ đo
điển hình được sử dụng là 푃푟푒ꢂꢀ푠ꢀ표푛@푁 , 푀퐴푃@푁 .
Trong bài báo này, tác giả tập trung đánh giá hiệu quả tư
vấn danh sách sản phẩm của phương pháp đề xuất trong
sự so sánh với các phương pháp tư vấn theo ngữ cảnh cơ
sở nên độ đo 푃푟푒ꢂꢀ푠ꢀ표푛@푁, 푀퐴푃@푁 sẽ được lựa chọn
để đánh giá kết quả. Cụ thể độ đo như sau:
• Chọn 퐾2 sản phẩm thực trong 푃 có đánh giá dự
đoán cao nhất để tư vấn cho người dùng 푢푎
trong tình huống ngữ cảnh ꢂ.
Phương pháp lọc trước ngữ cảnh dựa vào sản phẩm đề
xuất (IS-CoTraining-ItemUser) có cơ chế thực hiện tương
tự phương pháp lọc trước ngữ cảnh dựa vào người dùng
(IS-CoTraining-UserItem). Điểm khác biệt cơ bản giữa
hai phương pháp đồng huấn luyện này là quá trình nào
-
Độ chính xác Precision@N cho biết tỷ lệ dự đoán
chính xác trong top-N sản phẩm dự đoán cho mỗi
người dùng (top-N items).
SOÁ 04A (CS.01) 2020
TAÏP CHÍ KHOA HOÏC COÂNG NGHEÄ THOÂNG TIN VAØ TRUYEÀN THOÂNG
126
Đỗ Thị Liên
{
}
| 푟푒푙푒푣푎푛푡 푖푡푒푚푠 ∩{푡표푝−푁 푖푡푒푚푠}|
-
-
-
-
ItemSplitting-CoTraining-UserItem: Phương pháp
lọc trước ngữ cảnh dựa vào đồng huấn luyện theo
người dùng,kết hợp hai phương pháp: 1) Lọc trước
theo ngữ cảnh nguyên thủy; 2) Lọc cộng tác bằng
đồng huấn luyện theo người dùng.
(5)
Precision@N =
푁
-
푀퐴푃 thể hiện tính đúng đắn về thứ hạng của những
gợi ý. 푀퐴푃@푘 được định nghĩa thông qua 퐴푃@푘
(퐴푣푒푟푎ꢁ푒 푃푟푒ꢂꢀ푠ꢀ표푛) dưới đây.
ItemSplitting-CoTraining-ItemUser: Phương pháp
lọc trước ngữ cảnh dựa vào đồng huấn luyện theo
sản phẩm,kết hợp hai phương pháp: 1) Lọc trước
theo ngữ cảnh nguyên thủy; 2) Lọc cộng tác bằng
đồng huấn luyện theo sản phẩm.
퐴푃@푘
(6)
푘
1
(
)
=
=
∑ 푃푟푒ꢂꢀ푠ꢀ표푛@ꢀ 푛ế푢 푠ả푛 푝ℎẩ푚 푡ℎứ ꢀ 푝ℎù ℎợ푝
푚
푖=1
푘
1
IS-CoTraining-UserItem: Phương pháp lọc trước ngữ
cảnh dựa vào đồng huấn luyện theo người dùng đề
xuất, kết hợp hai phương pháp: 1) Lọc trước theo
ngữ cảnh cải tiến; 2) Lọc cộng tác bằng đồng huấn
luyện theo người dùng.
∑ 푃푟푒ꢂꢀ푠ꢀ표푛@ꢀ. 푟푒푙(ꢀ)
푚
푖=1
Trong đó:
( )
푟푒푙 ꢀ = 1 nếu sản phẩm thứ ꢀ phù hợp
với người dùng, 푟푒푙 ꢀ = 0 trong trường
hợp còn lại.
푚: tổng số lượng sản phẩm liên quan.
•
( )
IS-CoTraining-ItemUser: Phương pháp lọc trước ngữ
cảnh dựa vào đồng huấn luyện theo sản phẩm đề
xuất, kết hợp hai phương pháp: 1) Lọc trước theo
ngữ cảnh cải tiến; 2) Lọc cộng tác bằng đồng huấn
luyện theo sản phẩm.
•
Độ đo 퐴푃@푘 được áp dụng để tính độ chính xác trung
bình cho mỗi người dùng thuộc tập 푈푡푒푠푡. Trên cơ sở đó,
độ chính xác trung bình tuyệt đối 푀퐴푃@푘 cho tất cả
người dùng trong tập 푈푡푒푠푡 được tính bằng trung bình
C. Kết quả thực nghiệm
Kết quả thực nghiệm được đưa ra trong Bảng 1, Bảng
2 nhằm đánh giá một số kịch bản sau:
cộng 퐴푃@푘 của các người dùng trong 푈푡푒푠푡
.
| 푈
푡푒푠푡
|
(7)
1
-
So sánh ItemSplitting-CoTraining-UserItem,
ItemSplitting-CoTraining-ItemUser với các phương
pháp lọc trước sử dụng 1 chiều ngữ cảnh.
푀퐴푃@푘 =
∑ (퐴푃@푘)푢
푖
| 푈푡푒푠푡
|
푖=1
2) Phương pháp thực nghiệm
-
So sánh IS-CoTraining-UserItem, IS-CoTraining-
ItemUser với ItemSplitting-CoTraining-UserItem,
ItemSplitting-CoTraining-ItemUser.
Để đánh giá độ chính xác của danh sách sản phẩm tư
vấn, tác giả thực hiện phân chia tập dữ liệu U thành 2 tập
Utrain và Utest sử dụng phương pháp kiểm thử chéo (k-fold
cross-validation) vì đây là phương pháp được sử dụng
rộng rãi và cho kết quả đánh giá khách quan nhất. Trong
thực nghiệm, tác giả sẽ lấy 푘 = 10 để tiến hành chia dữ
liệu kiểm nghiệm. Việc thực nghiệm được thực hiện 10
lần và lấy trung bình kết quả thực nghiệm.
Bảng 3. Giá trị Precision@10, MAP@10 trên tập DepaulMovie
Phương pháp
UserSplitting-BiasedMF
ItemSplitting-BiasedMF
UISplitting-BiasedMF
ItemSplitting-
Precision@10
0.089
MAP@10
0.161
0.086
0.147
0.084
0.144
3) Các phương pháp tư vấn được sử dụng để so sánh
-
UserSplitting-BiasedMF [11]: Phương pháp tư vấn
dựa vào ngữ cảnh, sử dụng phương pháp phân tách
người dùng theo ngữ cảnh nguyên thủy, trong đó mỗi
người dùng được tách thành hai người dùng giả lập
tùy thuộc vào tình huống ngữ cảnh kết hợp với họ.
Sau đó huấn luyện và đưa ra tư vấn sử dụng phương
pháp phân rã ma trận BiasedMF (Biased-Matrix
Factorization) [25].
0.119
0.121
0.119
0.122
0.135
0.152
0.160
0.159
CoTraining-UserItem
ItemSplitting -
CoTraining-ItemUser
IS-CoTraining-
UserItem
IS-CoTraining-
-
-
ItemSplitting-BiasedMF [8][26]: Phương pháp tư vấn
dựa vào ngữ cảnh, sử dụng phương pháp phân tách
sản phẩm theo ngữ cảnh nguyên thủy, trong đó mỗi
sản phẩm được tách thành hai sản phẩm giả lập tùy
thuộc vào tình huống ngữ cảnh kết hợp với nó. Sau
đó huấn luyện và đưa ra tư vấn sử dụng phương pháp
phân rã ma trận BiasedMF.
ItemUser
Bảng 4. Giá trị Precision@10, MAP@10 trên tập InCarMusic
Phương pháp
UserSplitting-BiasedMF
ItemSplitting-BiasedMF
UISplitting-BiasedMF
ItemSplitting-
Precision@10
0.033
MAP@10
0.125
0.034
0.127
UISplitting-BasedMF [26]: Phương pháp tư vấn dựa
vào ngữ cảnh, sử dụng phương pháp phân tách cả
người dùng và sản phẩm theo ngữ cảnh, sau đó huấn
luyện và đưa ra tư vấn sử dụng phương pháp phân rã
ma trận BiasedMF.
0.033
0.117
0.065
0.036
0.037
CoTraining-UserItem
ItemSplitting-
0.112
CoTraining-ItemUser
SOÁ 04A (CS.01) 2020
TAÏP CHÍ KHOA HOÏC COÂNG NGHEÄ THOÂNG TIN VAØ TRUYEÀN THOÂNG
127
MỘT PHƯƠNG PHÁP LỌC TRƯỚC THEO NGỮ CẢNH CHO HỆ TƯ VẤN
V. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
IS-CoTraining-
UserItem
0.037
0.145
Bài báo đã trình bày đề xuất một phương pháp lọc
trước theo ngữ cảnh mới cho hệ tư vấn, cho phép tích hợp
đầy đủ thông tin ngữ cảnh và giải quyết hiệu quả vấn đề
dữ liệu thưa. Trong đó, việc tích hợp ngữ cảnh được thực
hiện bằng thủ tục phân tách sản phẩm theo ngữ cảnh cải
tiến. Quá trình phân tách sản phẩm theo ngữ cảnh sẽ biến
đổi ma trận đánh giá đa chiều vốn dĩ đã thưa về ma trận
đánh giá hai chiều càng trở lên thưa thớt hơn nữa. Để giải
quyết vấn đề thưa thớt dữ liệu này, tác giả tiếp cận
phương pháp đồng huấn luyện cho lọc cộng tác, đây là
một phương pháp thuộc hướng tiếp cận học bán giám sát
cho bài toán phân lớp. Trong đó, quá trình huấn luyện
theo người dùng bổ sung thêm một số nhãn phân loại chắc
chắn cho quá trình huấn luyện theo sản phẩm. Ngược lại,
quá trình huấn luyện theo sản phẩm bổ sung thêm các
nhãn phân loại chắc chắn cho quá trình huấn luyện theo
người dùng. Hai quá trình huấn luyện thực hiện đồng thời
cho phép bổ sung các nhãn phân loại tin cậy theo mỗi
bước thực hiện, nhờ vậy cải thiện độ chính xác dự đoán
đánh giá và tư vấn sản phẩm phù hợp cho người dùng. Kết
quả thực nghiệm trên một số bộ dữ liệu thực cho thấy
phương pháp đề xuất cải thiện đáng kể chất lượng dự
đoán so với các phương pháp tư vấn dựa vào ngữ cảnh cơ
sở trước đây.
IS-CoTraining-
ItemUser
0.038
0.141
Một số nhận xét được đưa ra căn cứ vào phân tích kết
quả thực nghiệm đưa ra trong Bảng 1, Bảng 2 như sau:
1) Các phương pháp lọc trước sử dụng 1 chiều ngữ
cảnh
ItemSplitting-CoTraining-UserItem,
cho lại
ItemSplitting-CoTraining-ItemUser
Precision@10 tốt hơn, nhưng MAP@10 lại cho kết
quả thấp hơn các phương pháp tư vấn theo ngữ cảnh
cơ sở cùng hướng. Như vậy có thể khẳng định việc
dùng 1 chiều ngữ cảnh trong phương pháp phân tách
sản phẩm theo ngữ cảnh kết hợp với phương pháp
đồng huấn luyện cho lọc cộng tác chưa hẳn là giải
pháp tối ưu.
2) Kết hợp phương pháp phân tách sản phẩm theo ngữ
cảnh cải tiến (sử dụng đồng thời nhiều chiều ngữ
cảnh) và phương pháp CoTraining-UserItem,
CoTraining-ItemUser để tạo thành phương pháp đề
xuất IS-CoTraining-UserItem, IS-CoTraining-
ItemUser. So sánh về giá trị Precision@10 nhận thấy
phương pháp CoTraining-UserItem, CoTraining-
ItemUser cho Precision@10 cao hơn chút ít so với
ItemSplitting-CoTraining-UserItem, ItemSplitting-
CoTraining-ItemUser. So sánh về giá trị MAP@10
của phương pháp đề xuất lớn hơn ItemSplitting-
Trong thời gian tới, tác giả dự định sẽ mở rộng nghiên
cứu của mình cho hệ tư vấn lai theo ngữ cảnh nhằm tích
hợp được nhiều thông tin phục vụ cho quá trình huấn
luyện nâng cao chất lượng tư vấn. Ngoài ra tác giả cũng
có kế hoạch nghiên cứu phát triển các phương pháp mô
hình hóa ngữ cảnh phụ thuộc áp dụng cho hệ tư vấn theo
ngữ cảnh.
CoTraining-UserItem,
ItemSplitting-CoTraining-
ItemUser trong cả 2 tập dữ liệu. Điều đó chứng tỏ
việc sử dụng đồng thời nhiều chiều ngữ cảnh giúp bổ
sung thông tin hữu ích cho quá trình tư vấn hơn việc
sử dụng 1 chiều ngữ cảnh xét cả ở tiêu chí
Precision@10 và MAP@10. Kết quả kiểm nghiệm
cũng chỉ ra rằng phương pháp đề xuất IS-
CoTraining-UserItem, IS-CoTraining-ItemUser cho
lại độ chính xác 푃푟푒ꢂꢀ푠ꢀ표푛@10 tốt hơn các phương
pháp cơ sở. Đặc biệt, phương pháp IS-CoTraining-
ItemUser cho 푃푟푒ꢂꢀ푠ꢀ표푛@10 cao nhất đối với cả hai
tập dữ liệu. Phương pháp IS-CoTraining-UserItem
cho 푀퐴푃@10 cao nhất trên tập dữ liệu InCarMusic.
Quan sát riêng trên tập dữ liệu DepaulMovie, tác giả
nhận thấy phương pháp UserSplitting-BiasedMF cho
MAP@10 cao nhất các phương pháp khác, điều này
có thể được lý giải là do DepaulMovie là tập dữ liệu
ít thưa thớt hơn trong hai tập dữ liệu. Các kết quả
này đưa ra bằng chứng cho thấy phương pháp đề
xuất bởi bài báo ít nhạy cảm với dữ liệu thưa thớt so
với các phương pháp tư vấn theo ngữ cảnh cơ sở, dù
thực tế phương pháp đề xuất tích hợp đầy đủ các
thông tin ngữ cảnh.
TÀI LIỆU THAM KHẢO
[1] G. Adomavicius and A. Tuzhilin, “Toward the next
generation of recommender systems: A survey of the state-
of-the-art and possible extensions,” IEEE Trans. Knowl.
Data Eng., vol. 17, no. 6, pp. 734–749, 2005, doi:
10.1109/TKDE.2005.99.
[2] G. Adomavicius, B. Mobasher, F. Ricci, and A. Tuzhilin,
“Context-Aware Recommender Systems,” AI Mag., vol. 32,
no. 3, pp. 67–80, 2011.
[3] L. Baltrunas, B. Ludwig, and F. Ricci, “Matrix
Factorization Techniques for Context Aware,” Acm Rs, no.
October,
pp.
301–304,
2011,
doi:
10.1145/2043932.2043988.
[4] L. Cai, J. Xu, J. Liu, and T. Pei, “Integrating spatial and
temporal contexts into a factorization model for POI
recommendation,” Int. J. Geogr. Inf. Sci., vol. 32, no. 3, pp.
524–546, 2018, doi: 10.1080/13658816.2017.1400550.
[5] A. Razia Sulthana and S. Ramasamy, “Ontology and
context based recommendation system using Neuro-Fuzzy
Classification,” Comput. Electr. Eng., vol. 0, pp. 1–13,
2018, doi: 10.1016/j.compeleceng.2018.01.034.
[6] F. Ricci, L. Rokach, B. Shapira, and P. B.Kantor,
Recommender systems handbook. Springer, 2011.
3) Trong hai phương pháp đề xuất bởi bài báo, IS-
[7] U. Panniello, A. Tuzhilin, and M. Gorgoglione, “Comparing
context-aware recommender systems in terms of accuracy
and diversity,” User Model. User-adapt. Interact., vol. 24,
no. 1–2, pp. 35–65, 2014, doi: 10.1007/s11257-012-9135-y.
[8] L. Baltrunas and F. Ricci, “Context-Based Splitting of Item
Ratings in Collaborative Filtering,” in Proceedings of the
third ACM conference on Recommender systems - RecSys
’09, 2009, pp. 245–248.
CoTraining-ItemUser
cho
độ
chính
xác 푃푟푒ꢂꢀ푠ꢀ표푛@10 cao hơn IS-CoTraining-
UserItem, điều này được lý giải là bởi vì tại bước 1
của thuật toán, các sản phẩm được phân tách thành
các sản phẩm giả lập nên thông tin về sản phẩm được
khai thác chi tiết và đầy đủ hơn cho quá trình huấn
luyện và sinh tư vấn sau đó.
[9] H. Yin and B. Cui, Spatio-Temporal Recommendation in
Social Media. 2016.
[10] M. Unger, A. Bar, B. Shapira, and L. Rokach, “Towards
SOÁ 04A (CS.01) 2020
TAÏP CHÍ KHOA HOÏC COÂNG NGHEÄ THOÂNG TIN VAØ TRUYEÀN THOÂNG
128
Đỗ Thị Liên
latent
context-aware
recommendation
systems,”
A CONTEXTUAL PRE-FILTERING METHOD
FOR CONTEXT-AWARE RECOMMENDER
SYSTEMS
Knowledge-Based Syst., vol. 104, pp. 165–178, 2016, doi:
10.1016/j.knosys.2016.04.020.
[11] Y. Zheng, R. Burke, and B. Mobasher, “Splitting
approaches for context-aware recommendation,” Proc. 29th
Annu. ACM Symp. Appl. Comput. - SAC ’14, pp. 274–279,
2014, doi: 10.1145/2554850.2554989.
[12] A. Karatzoglou, X. Amatriain, L. Baltrunas, and N.
Oliver, “Multiverse Recommendation: N-dimensional
Tensor Factorization for Context-aware Collaborative
Filtering,” in Proceedings of the Fourth ACM Conference
on Recommender Systems, 2010, pp. 79–86, doi:
10.1145/1864708.1864727.
Abstract: Recommender systems are specially designed
to toward users to interested items when huge
information from Internet is beyond the user’s processing
capability. A common characteristic of recommender
systems is that they mainly focus on modeling users,
items and ratings. In parallel, there is an understanding
that it is also important to consider the context in which a
recommendation is made. Although the integration of
context into recommender systems has been shown to
improve quality of suggestions significantly, the main
difficulty of context-aware recommender systems is how
to integrate effectively and the data sparseness problem
which directly affect to quality of the recommendation. In
this paper, I will propose a new contextual pre-filtering
method that allow fully integrated context situations and
resolve effectively the data sparseness problem. In there,
the contextual integration is done by a item splitting
proceduce based on context and the data sparseness issue
is resolved through the training process according to the
co-training model for classification problem of
collaborative filtering. The experimental results on some
[13] G. Adomavicius, R. Sankaranarayanan, S. Sen, and A.
Tuzhilin, “Incorporating Contextual Information in
Recommender Systems Using
a
Multidimensional
Approach,” ACM Trans. Inf. Syst., vol. 23, no. 1, pp. 103–
145, Jan. 2005, doi: 10.1145/1055709.1055714.
[14] Y. Zheng, “Tutorialꢀ: Context In Recommender Systems,”
2016.
[15] C. Basu, H. Hirsh, and W. Cohen, “Recommendation as
classification: using social and content-based information in
recommendation,” in AAAI ’98/IAAI ’98 Proceedings of the
fifteenth
intelligence/Innovative
intelligence, 1998, pp. 714–720, [Online]. Available:
national/tenth
conference
applications
on
of
Artificial
artificial
[16] X. Su, T. M. Khoshgoftaar, X. Zhu, and R. Greiner,
“Imputation-boosted collaborative filtering using machine
learning classifiers,” Proc. 2008 ACM Symp. Appl. Comput.
real data sets
show that the proposed method
outperforms several baselines and state-of-the-art
context-aware recommendation methods.
-
SAC
’08,
no.
2,
p.
949,
2008,
doi:
10.1145/1363686.1363903.
Keyword: Context-aware recommender system - CARS;
Context-aware collaborative filtering - CACF; Context;
Contextual pre-filtering; Item splitting; Co-training
model.
[17] D. Billsus and M. J. Pazzani, “Learning Collaborative
Information Filters,” in ICML ’98 Proceedings of the
Fifteenth International Conference on Machine Learning,
1998,
pp.
46–54,
[Online].
Available:
[18] N. D. Phuong and T. M. Phuong, “Collaborative Filtering
by Multi-task Learning,” vol. 00, no. c, pp. 1–6, 2008.
[19] I. Portugal, P. Alencar, and D. Cowan, “The use of
machine learning algorithms in recommender systems: A
systematic review,” Expert Syst. Appl., vol. 97, pp. 205–
227, 2018, doi: 10.1016/j.eswa.2017.12.020.
[20] S. Shalev-Shwartz and S. Ben-David, Understanding
Machine Learningꢀ: From Theory to Algorithms. Cambridge
University Press, 2014.
Đỗ Thị Liên, Nhận bằng tốt nghiệp đại
học, thạc sỹ và học vị tiến sĩ tại Học
viện Công nghệ Bưu chính Viễn thông
vào các năm 2010, 2013, 2020. Hiện là
giảng viên tại Học Viện Công nghệ Bưu
Chính Viễn Thông.
Lĩnh vực nghiên cứu chính: học máy
ứng dụng trong lọc thông tin, phát triển
ứng dụng đa phương tiện.
[21] A. Z. Olivier Chapelle, Bernhard Scho ̈lkopf, A semi-
supervised learning, vol. 1, no. 2. The MIT Press
Cambridge, Massachusetts London, England, 2009.
[22] P. Rai, “Semi-supervised Learning,” in CS 5350/6350:
Machine Learning, 2011, vol. 2011.
[23] X. Su and T. M. Khoshgoftaar, “A Survey of
Collaborative Filtering Techniques,” Adv. Artif. Intell., vol.
2009, 2009, doi: 10.1155/2009/421425.
[24] Y. Zheng, B. Mobasher, and R. Burke, “CARSKit: A
Java-Based Context-Aware Recommendation Engine,” in
Proceedings of the 2015 IEEE International Conference on
Data Mining Workshop (ICDMW), 2015, pp. 1668–1671,
doi: 10.1109/ICDMW.2015.222.
[25] Y. Koren, R. Bell, and C. Volinsky, “Matrix factorization
techniques for recommender systems,” Computer (Long.
Beach. Calif)., vol. 42, no. 8, pp. 30–37, 2009, doi:
10.1109/MC.2009.263.
[26] L. Baltrunas and F. Ricci, “Experimental evaluation of
context-dependent collaborative filtering using item
splitting,” User Model. User-adapt. Interact., vol. 24, no.
1–2, pp. 7–34, 2014, doi: 10.1007/s11257-012-9137-9.
SOÁ 04A (CS.01) 2020
TAÏP CHÍ KHOA HOÏC COÂNG NGHEÄ THOÂNG TIN VAØ TRUYEÀN THOÂNG
129
Bạn đang xem tài liệu "Một phương pháp lọc trước theo ngữ cảnh cho hệ tư vấn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
mot_phuong_phap_loc_truoc_theo_ngu_canh_cho_he_tu_van.pdf

