Van đề khó khăn chung của hau hết hệ thống gợi ý là khi người dùng mới chưa có bat kỳ đánh giá hay phản hồi nào trong hệ thống thì hau như hệ thống chưa đưa ragợi ý chính xác cho họ, tươ
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
PHẠM THỊ BÍCH HẠNH
VAN ĐÈ COLD-START TRONG HỆ THONG GOI Ý
VÀ ỨNG DỤNG
KHÓA LUẬN THẠC SĨNgành: Khoa học máy tính
Mã số: 68.48.01.01
TP HO CHÍ MINH - 2017
Trang 2Tôi xin cam đoan tất cả các kết quả được trình bày trong khóa luận là của bản thân
tôi, được thực hiện dưới sự hướng dẫn của PGS.TS Đỗ Văn Nhơn Các sé liệu, những
kết luận đã tìm hiểu được trình bày trong khóa luận này là trung thực và chưa từng đượccông bố dưới bat cứ hình thức nào Tuy nhiên, dé tài cũng sử dụng một số nhận xét, đánhgiá cũng như số liệu của các tác giả, cơ quan tổ chức khác và cũng được thé hiện trong
phần tài liệu tham khảo.
Tôi xin chịu trách nhiệm về bài viết của mình.
Học viên
Phạm Thị Bích Hạnh
Trang 3Tôi xin gửi lời cảm ơn sâu sắc nhất đến quý Thầy/Cô khoa Khoa học máy tính,
trường Đại học Công nghệ thông tin, đặc biệt là PGS TS Đỗ Văn Nhơn, người đã tận
tình hướng dẫn và giúp đỡ tôi hoàn thành khóa luận nay Được làm việc với Thay là cơhội lớn để tôi được học hỏi nhiều điều trong lĩnh vực nghiên cứu khoa học, xin cảm ơnThay đã luôn tận tình hướng dẫn tôi một cách hết sức nghiêm túc, và khoa học
Xin cảm ơn gia đình và những người thân, bạn bè đồng nghiệp đã luôn chia sẻ mọi khó khăn và là chỗ dựa vững chắc cho tôi trong suốt thời gian thực hiện và hoàn thành
khóa luận.
Tôi xin chân thành cảm ơn.
Tác giả
Phạm Thị Bích Hạnh
Trang 41.2.1 Tình hình nghiên cứu ngoài nước
1.2.2 Tình hình nghiên cứu trong nước
2.2 Bài toán gợi ý
2.3 Ý nghĩa của hệ thống gợi ý.
2.4 Những phương pháp tiếp cận hệ thống gợi ý
2.4.1 Tiếp cận dựa trên nội dung (Content-Based)
2.4.2 _ Tiếp cận lọc cộng tác (Collaborative Filtering - CF) .- :-c2 102.4.2.1 Phương pháp gợi ý sử dụng bộ nhớ:
2.4.2.2 Phương pháp gợi ý dựa trên mô hình: -¿-¿- - + +©5+c+cec+zxes+ 142.4.2.3 Vấn để tồn tại 22222 22 212222211222211122212112011111 0.111 xe 15
Trang 52.4.4 Tiếp cận dựa trên ngữ cảnh (Context-Aware) 55s cccccccererrrrer 17
2.5 Các kỹ thuật chính trong RS§ - - 6-56 kề té HH HH HH rớy 20
2.5.1 Ky thuật k láng giéng dựa trên người dùng/mục tin (User/Item kNNs) 21
2.7.2 Các tiêu chí đánh giá + kề rước 28 2.7.2.1 Đánh giá độ tin cậy của giải thuật - ¿5c 5c 28
3.4.2 Ap dụng việc bồ sung trọng sỐ ccc:+222++++++++++t222222222222222222221122xe 35
Trang 63.5.1 Mô tả kí hiệu chư ưưện 36
3.52 Lưuđồ ìccerrrrriieriirrrriirrrree 37
S2 (GIải|HUẬU, /./////22////000/20/0///0020/(/030024/0023///1141200/0040/0004/0/06/003/ 00003) 39
CHƯƠNG 4 THỰC NGHIỆM VÀ ĐÁNH GIÁ 22cccz222cvvcse+ 4I
AU, Dữ liệu (HC HGHIỆTH, 20222422(20210/4/4123/0243219012324020904/0/06/023319/930 4I
4.1.1 Bộ CSDL Movie L€ns: - 5c St tt S2 E2121111112111111121 11111 ke 41 4.1.2 Bộ CSDL Restaurant - St tt 2121221111121111212121111112 1111 cà 42 4.2 Cách thức kiêm tra của ứng dung ecceseseeseesesseesesseseeseesessesneseseeseeseaseases 44 4.3 Phương pháp đánh giá hiệu quả của ứng dụng - + sec 45
4.4, Tìm siêu tham số (hyper paraimat€r) -cccc:+2222+++c++++222222222222222211222211 xe 45
4.5 Cài đặt chương trình thực nghiệm ¿- - + +55 Sv*‡xexvErkrxerrkrxrrererver 47
4.6 Kết quả thực nghiệm -c:-222V2222+++222EEEE2222EE2E2211112121221211122 1221, e2 50
4.6.1 Giao diện chương trình -¿- + két H111 key 50
4.6.2 Sơ lược về nghiên cứu liên quan và kết quả dat được - : 51
Trang 7Vi dụ bảng ma trận Người dùng x Sản phẩm entries found 10
(Cáo phương THUS lại LẠO s0 0 000/ 666.0006266 06620366 y0 30062 16 Bang mô ta User của CSDL Movie Lens -+- ¿©5255 5s+s++se>+ 4I
Bang mô tả Movie của CSDL Movie Lens . c +-5-5555+55+++ 42 Bang mô ta Rating của CSDL Movie Lens - + + s+ss<+5s2 42
Bang mô ta User của CSDL Restaurant 42 Bang mô ta Place cua CSDL Restaurant 43
Bang mô ta Rating của CSDL Restaurant
Kết quả tìm kiếm thô tham số k được thực hiện 3
Kết quả tìm mịn k với dé liệu ngau nhiên.
Trang 8Hình 2.1 Các phương pháp xử lý ngữ cảnh - 65k ước 19 Hình 2.2 Giải thuật User-kNN sec cnrrrieerrrerrirrriiriirriirrrirrierree 2 Hình 2.3 Phân rã ma trận R thành hai ma trận P va (QT - <++++xexvxzxex 23 Hình 2.4 Giải thuật phân rã ma trận ¿+ tk ớy 26
Hình 3.1 Mô hình xử lý vấn đề Cold-start
Hình 3.2 Xác định factor tương đồng của người dùng mới dựa vào độ tương
thuộc tính giữa user mới và các user trong hệ thốn,
Hình 3.3 Lưu đồ giải thuật MF-KNN xử lý vấn đề Cold-start
Hình 3.4 Giải thuật MF-KNN giải quyết vấn đề Cold-start - 40 Hình 4.1 Giao diện và kết quả chương trình của đề tài -:::ccccc:cccz+zccez 51
Hình 4.2 Minh họa kết quả nghiên cứu [1] scccscccsssccssssssssssssssssssssssssssnnesssssseseeeseeeeeeee 52
Trang 9CHUONG 1 TONG QUAN 1.1 Đặt vấn đề.
Ngày nay với sự phát triển gia tăng không ngừng của các hệ thống thương mạiđiện tử đã mang lại cho chúng ta rất nhiều lợi ích trong nhiều lĩnh vực khác nhau Vớiđặc thù của các hệ thống thương mại điện tử tốn ít chỉ phí và sản phẩm được quảng
bá nhanh chóng tới tay người tiêu dùng nên ngày càng được nhiều người lựa chọn
hình thức kinh doanh này Tuy nhiên với việc hàng ngày có hàng trăm website thương,
mại điện tử ra đời đã làm phát sinh ra một số thách thức, một trong những thách thức
đó là người dùng làm sao chọn lựa được sản phẩm mà họ cần trong vô vàn sản phẩmtrong thế giới ảo này? Điều đó làm cho người dùng cảm thấy choáng ngợp, rối rắmtrong việc lựa chọn những thông tin cần thiết đối với mình Mặc dù các bộ máy tìmkiếm không lồ như Google đã giúp rất nhiều trong việc tìm kiếm thông tin nhưng kếtquả trả về quá nhiều, người dùng khó có thé kiểm tra hết và thực tế nó vẫn chưa mang
lại hiệu quả trong việc chọn ra những thông tin phù hợp riêng cho người dùng.
Thông thường khi một khách hàng vào một website thương mại điện tử thì có
hai xu hướng: thứ nhất là họ đã định hướng được sản phẩm cụ thể muốn mua, thứ hai
là họ chỉ định hướng được thể loại sản phẩm cần mua Đối với trường hợp thứ nhất
thì đơn giản là họ đã định hướng được sẽ mua sản phẩm nào rồi, vấn đề chỉ là chọn
mua ở đâu mà thôi Đối với trường hợp thứ hai thì người dùng sẽ gặp khó khăn hơnnhiều, họ sẽ phải chọn sản phẩm phù hợp nhất với nhu cầu của họ Vấn đề đặt ra làlàm sao người dùng có thể làm được điều đó trong vô vàn sản phẩm cùng chủng loại
mà họ đang tìm.
Để giải quyết vấn đề này chúng ta cần có một hệ thống hiệu quả, tối ưu hơn cả
bộ máy tìm kiếm để có thể tự động trích lọc ra những thông tin phù hợp với nhu cầutừng người dùng khác nhau Hệ thống gợi ý ra đời đề giải quyết vấn đề này dựa vào
những sở thích hay sự lựa chọn, đánh giá của chính người dùng đó hoặc những người
dùng khác trong quá khứ, từ đó giúp người dùng dé dàng chọn được thông tin phùhợp nhu cầu của mình Hệ thống gợi ý (Recommender Systems - RS) là một dangcủa hệ thống lọc thông tin (information filtering), nó được sử dụng dé dự đoán sởthích (preference) hay xếp hạng (rating) mà người dùng (user) có thé dành cho mộtmục thông tin (item) nào đó ma họ chưa xem xét tới trong quá khứ (item có thé là bài
1
Trang 10báo, bộ phim, đoạn video clip, sách ) [5] nhằm đưa ra những gợi ý về những mục
tin phù hợp cho người dùng.
Van đề khó khăn chung của hau hết hệ thống gợi ý là khi người dùng mới chưa
có bat kỳ đánh giá hay phản hồi nào trong hệ thống thì hau như hệ thống chưa đưa ragợi ý chính xác cho họ, tương tự đối với sản phẩm mới trong hệ thống, những sảnphẩm chưa từng được người dùng đánh giá cũng khó được lựa chọn dé gợi ý chongười dùng khác, đó chính là vấn đề khởi đầu lạnh hay còn gọi là vấn đề “Cold-start”trong hệ thống gợi ý
“Khởi đầu lạnh” (Cold-start) [4] là vấn đề xảy ra đối với user mới hoặc itemmới trong hệ thống gợi ý Khởi đầu lạnh đối với user mới là khi một user đó lần đầutiên tham gia vào hệ thống và chưa có bất kỳ đánh giá hay phản hồi nào lên các itemstrong hệ thống; Do đó có rat ít thông tin hoặc hầu như không có thông tin nào củauser giúp hệ thông đưa ra gợi ý phù hợp Vấn đề hoàn toàn tương tự đối với một itemmới trên hệ thống Item mới không có bat kỳ sự đánh giá nào của cộng đồng ngườidùng Trong cả hai trường hợp, items mới sẽ không được gợi ý cho đến khi có usersđánh giá và user mới cũng không có được gợi ý những sản phẩm họ yêu thích vì họchưa đánh giá hoặc mua sản phẩm nào trong quá khứ
1.2 Tình hình nghiên cứu
1.2.1 Tình hình nghiên cứu ngoài nước
Dé khắc phục những khó khăn trong van dé này, đã có nhiều nghiên cứu đưa ra
các giải pháp xử lý khác nhau:
Một trong những nghiên cứu giải quyết vấn đề Cold-start là kỹ thuật FMF(Function Matrix Factorization) [1] Nghiên cứu xây dựng một nền tang cho cây quyếtđịnh học đồng thời giữa các thông tin khảo sát ban đầu và các nhân tố tiềm ân chothông tin người dùng/mục tin Sử dụng mô hình cây quyết định, tại mỗi nút trong cây
sẽ đưa ra các truy van và người dùng sẽ chọn câu trả lời để đến các nút con tiếp theo,
từ đó hệ thống đưa ra gợi ý cho người dùng Mô hình FMF hiện nay dựa trên một
công thức ma trận phân rã cơ bản và không đưa vào các tính năng nội dung như thông
tin đặc trưng của người sử dụng.
Nghiên cứu của Zeno Gantner, et.al sử dụng “Bayesian Personalized Ranking”
[2] để huấn luyện mô hình dự đoán dựa vào ánh xạ từ các thuộc tính của các đối tượng
Trang 11Một kỹ thuật khác cũng giải quyết khá tốt vấn đề cold-start là Context-aware
Semi-supervised Co-training algorithm (CSEL) [3], kỹ thuật này sử dụng mô hình
phân rã dé bắt lấy chỉ tiết các ngữ cảnh của người dùng - mục tin (user — item) Sau
đó, để xây dựng một mô hình có khả năng tăng hiệu suất gợi ý bằng cách tận dụngngữ cảnh, và đề xuất một giải thuật học bán giám sát Thuật toán xây dựng mô hình
dự đoán khác nhau sử dụng các ví dụ với những bối cảnh khác nhau và sau đó sửdụng các chiến lược hợp tác đào tạo đê cho phép mỗi mô hình dự đoán đề học hỏi từcác mô hình dự báo khác Phương pháp này có nhiều ưu điểm phân biệt hơn cácphương pháp gợi ý tiêu chuẩn khác trong việc giải quyết các vấn đề khởi đầu lạnh.Đầu tiên, nó định nghĩa một ngữ cảnh chi tiết nói chính xác hơn là đề mô hình hóacác sở thích của người dùng - mục tin Thứ hai, phương pháp tự nhiên có thé hỗ trợviệc học có giám sát và bán giám sát, cung cấp một cách linh hoạt đề kết hợp các dữ
liệu không có nhãn Kỹ thuật này xây dựng mô hình có khả năng tăng độ chính xác
của các dự đoán bằng cách kết hợp ngữ cảnh với kỹ thuật đồng huấn luyện có giám
sát và bán giám sát.
Nhìn chung có nhiều phương pháp giải quyết vấn đề cold-start, tuy nhiên cácphương pháp thường kết hợp với các mô hình xử lý khá phức tạp, điền hình là trongcác mô hình quyết định [1], hệ thống gợi ý phải tương tác với người dùng để đánhgiá các câu trả lời, hay trong nghiên cứu [3] sử dụng kỹ thuật đồng huấn luyện bán
giám sát và có giám sát cũng áp dụng mô hình dựa vào ngữ cảnh từ đó mới đưa ra
được dự đoán.
1.2.2 Tình hình nghiên cứu trong nước.
Ở nước ta, về mặt thực tiễn hiện nay đã có nhiều hệ thống (website) có chứcnăng gợi ý như hệ thống gợi ý sản phẩm, phim ảnh, bài hát, sách tuy nhiên đa phầncác hệ thống này chỉ gợi ý dựa trên những thông tin cơ bản như: gợi ý dựa trên nộidung giống như cùng loại sản phẩm, cùng nhà cung cấp, (www.vatgia.com,
3
Trang 12www.enbac.com, www.lazada.com ) Thương mại điện tử ở Việt Nam đang bước đầuphát triển, do vậy hệ thống gợi ý sẽ mở ra nhiều tiềm năng trong tương lai, ké cả trong
nghiên cứu và ứng dụng.
Vé mặt nghiên cứu ta có nghiên cứu về hệ thống gợi ý sản phẩm trong bán hangtrực tuyến sử dụng kỹ thuật lọc cộng tác [25] của Nguyễn Hùng Dũng và NguyễnThái Nghe, bài viế giới thiệu kỹ thuật lọc cộng tác dựa trên mô hình láng giềng (môhình lân cận) để gợi ý sản phẩm trong hệ thống bán hàng trực tuyến Bài viết thực
hiện việc cài đặt kỹ thuật này và so sánh độ tin cậy của nó với các kỹ thuật cơ bản
khác, và xây dựng một hệ thống bán hàng trực tuyến có tích hợp kỹ thuật lọc cộngtác vào hệ thống đề nó có thể gợi ý sản phẩm phù hợp cho người dùng Tương tự ta
có các hệ thống gợi ý khác như gợi ý bài hát [26]
Nghiên cứu xây dựng hệ thống gợi ý phim [27] Triệu Vĩnh Viêm,Triệu Yến Yến
và Nguyễn Thai Nghe bài viết một tiếp cận tích hợp các ưu điểm của cả hai tiếp cận
mô hình nhân tố tim an và mô hình láng giềng dựa vào phương pháp đã được đề xuấtbởi Koren (2010) Ở đây, bên cạnh việc xây dưng một hệ thống trên nền web đề gợi
ý phim ảnh cho người dùng, bài viết cũng đã điều chỉnh mô hình đã có bằng cách đưavào các hệ số regularization trên từng tham số khác nhau của mô hình nhằm cải tiếnkết quả dự đoán
1.3 Mục tiêu đề tài
Van dé Cold-start là một rào cản lớn cho sự phát triển của hệ thống gợi ý Mụctiêu của đề tài là tập trung tìm hiểu các phương pháp giải quyết giải quyết Cold starttrong hệ thống gợi ý, vận dụng các phương pháp đã tìm hiểu dé ứng dụng vào việcgiải quyết vấn đề Cold-start trong hệ thống gợi ý phim dựa trên bộ dữ liệu chuẩn (cụ
thể Movilens) Bên cạnh việc vận dụng các phương pháp sẵn có đề tài cũng có bổ
sung việc đưa thêm trọng số cho từng thuộc tính của người dùng hoặc sản phẩm đểnâng cao độ chính xác cũng như mức độ hữu ích của hệ thống gợi ý đối với người sử
dụng.
1.4 Đối tượng và phạm vi nghiên cứu
Tập dữ liệu thực nghiệm chính được thu thập từ tập dữ liệu Movilens 100K của
nhóm nghiên cứu GroupLens Đây là dir liệu chuẩn dùng đề đánh giá giải thuật lọc
cộng tác, dữ liệu này được tập hợp từ các đánh giá của người dùng tại website
Trang 13http://movielens.umn.edu) Dữ liệu này được trích ra từ hệ thống gợi ý phim chongười dùng Bên cạnh đó đề tài còn thực hiện nghiên cứu trên các bộ dữ liệu khác
như Movie Lens 1M, và Restaurant.
Các mô hình của phương pháp lọc cộng tác trong hệ thống gợi ý: mô hình nhân
tố tiềm ấn - xác định mối quan hệ tiềm ấn trên cả người dùng và mục thông tin; và
mô hình láng giéng - phân tích độ tương tự giữa các mục thông tin với nhau hay giữa
những người dùng với nhau, kỹ thuật phân rã ma trận.
Các phương pháp kiểm tra và các tiêu chí đánh giá hệ thông
Chương 2: Cơ sở lý thuyết hệ thống gợi ý
Chương này trình bày những khái niệm cơ bản và những phương pháp tiếp cận
hệ thống gợi ý, ứng dụng và hạn chế, các nghỉ thức kiểm tra đánh giá hệ thống
Chương 3: Vấn đề Cold-start trong hệ thống gợi ý phim
Trong chương này sẽ vận dụng các phương pháp đề xử lý vấn đề Cold-starttrong hệ thống gợi ý phim đối với users và items Bên cạnh việc vận dụng các phươngpháp dé tài cũng có bé sung việc đưa thêm trọng số cho từng thuộc tính của ngườidùng hoặc sản phẩm đề nâng cao độ chính xác cũng như mức độ hữu ích của hệ thốnggợi ý đối với người sử dụng
Chương 4: Thực nghiệm và đánh giá
Chương này sẽ trình bày việc thử nghiệm ứng dụng và các phương pháp đánh
giá thử nghiệm, từ đó so sánh kết quả thực nghiệm của đề tài với phương pháp dựđoán cơ sở (baseline) và nghiên cứu liên quan trong hệ thống gợi ý
Chương 5: Kết luận và hướng phát triển
Tổng kết các kết quả đạt được, các vấn đề còn tồn tại và định hướng phát triển
của đê tài.
Trang 14CHUONG 2 CƠ SO LÝ THUYET HE THONG GỢI Ý
2.1 Khai niệm:
Hệ thống gợi ý (recommender systems — RS) thường được sử dụng dé dự đoán sở
thích của người dùng dựa vào những phản hồi (feedbacks) của họ nhằm gợi ý các sản phẩm (item) mà người dùng có thể thích RS hiện đang được ứng dụng ở rất nhiều lĩnh
vực khác nhau như: trong thương mại điện tử (bán hàng trực tuyến), trong giải trí (âmnhạc, phim ảnh, tin tức ), trong giáo dục dao tạo (gợi ý nguồn tài nguyên học tập như:
sách, báo, ).
Ví dụ, trong hệ thống bán hàng trực tuyến (chẳng hạn như Amazon), nhằm tối ưu
hóa khả năng mua sắm của khách hàng (user), người ta quan tâm đến việc những kháchhang nào đã “yêu thích" những sản phẩm (item) nào bằng cách dựa vào dữ liệu quá khứcủa họ (dữ liệu này có thể là xếp hạng mà người dùng đã bình chọn trên sản phẩm, thời
gian duyệt (browse) trên sản phâm, số lần click chuột trên sản phâm ) từ đó hệ thống
sẽ dự đoán được người dùng có thể thích sản phẩm nào và đưa ra những gợi phù hợp cho
họ.
2.2 Bài toán gợi ý
Trong hầu hết các trường hợp, bài toán gợi ý được coi là bài toán ước lượng trước
xếp hạng (rating) của các sản phẩm (phim, cd, nhà hàng ) chưa được người dùng xem
xét Việc ước lượng này thường dựa trên những đánh giá đã có của chính người dùng đó
hoặc những người dùng khác Những sản phẩm có xếp hạng cao nhất sẽ được dùng đề
gợi ý.
Theo Adomavicius và Tuzhilin [4] bài toán gợi ý được mô tả như sau:
Định nghĩa 1: Không gian người dùng
Không gian người dùng là tập tất cả những người dùng mà hệ thống quan sát được,
để thực hiện các phân tích, gợi ý Ký hiệu là: U,U = {u,;, x, , trạ}.
Định nghĩa 2: Không gian đối tượng gợi ý
Không gian đối tượng gợi ý là tập tat cả những đối tượng sẽ được gợi ý cho người
dùng Tùy vào ứng dụng cụ thể, các đối tượng gợi ý có thể là sách, báo, phim ảnh, địa
Trang 15điểm, nhà hàng, khách san, con người, v.v Ký hiệu là: P,P = {P1) Por D3, - Pm}:
Dinh nghia 3: Ham hitu ich
Ham hữu ích f là ánh xạ ƒ:U x P > R, dùng để ước lượng mức độ hữu ích củap€P với € U Với R là tập có thứ tự các số nguyên hoặc thực trong một khoảng nhất
định.
Phát biểu bài toán khuyến nghị
Cho trước:
*®U = {uy, Uz, Ug, ,Un}: không gian người dùng.
*P = {P\,Pa,Ð3, Ð,„} : không gian đối tượng gợi ý
Mục đích của hệ gợi ý là đi tìm hàm hữu ích ƒ, ước lượng giá trị của ƒ(u,p) (với
p€P,uec U) Giá trị của ƒ(w,p) giúp tiên đoán u sẽ thích p nhiều hay ít, hay p hữu íchđối với như thé nào Đối với mỗi người dùng wu € U, hệ gợi ý cần chọn TopN đối tượngp€P hữu ích nhất đối với người dùng u dé gợi ý, Propy =< ĐuDĐ¿:DĐ3, -sPTopN >>(với TopN < m) Việc chon TopN bao nhiêu là tùy thuộc vào như cầu thông tin của
người dùng, cũng như mục đích cung cắp thông tin của hệ gợi ý.
Các đối tượng p € Propn được chọn thỏa mãn các điều kiện ràng buộc sau:
i) Vix © Prạpy, ff Pe) = ƒ(u,p¿¿ì), với 1 Sk < TopN — 1 Tức là tập các
đối tượng gợi ý Propy là tập có thứ tự Đối tượng đứng trước có giá trị của ham hữu ich
ƒ lớn hơn hoặc bằng đối tượng đứng sau, hay đối tượng đứng trước ưu tiên gợi ý cho uhơn đối tượng đứng sau
ii) ) Vpy © Prẹpg, VPi © P\Propn f (UP) >, fu pj) Tức giá trị hữu ich của
các đôi tượng được gợi ý, được xác định thông qua ham ƒ, phải lớn hơn hoặc bằng nhữngđối tượng không được gợi ý
Việc xây dựng hàm hữu ích f và ước lượng giá trị hữu ích của các đối tượng gợi
ý p€P với những người dùng w € U có thể thực hiện bằng nhiều phương pháp khác
nhau như: dựa vào kinh nghiệm (heuristics), máy học, lý thuyết xấp xi, v.v
2.3 Ý nghĩa của hệ thống gợi ý.
Hệ thống gợi ý đã chứng minh được ý nghĩa to lớn: giúp cho người sử dụng trực
7
Trang 16tuyến đối phó với tình trạng quá tải thông tin và đã trở thành một trong những công cụ
mạnh mẽ và phổ biến trong thương mại điện tử.
Những ý nghĩa mà hệ thống gợi ý mang lại:
> Khả năng đưa ra các dịch vụ cá nhân hóa, hướng tới từng đối tượng kháchhàng cụ thể
> Tăng mức tín nhiệm và trung thành của khách hàng.
> Tăng doanh thu, tăng CTR (Click-through rate)
> Thêm hiểu biết về khách hàng
> Những giá tri cụ thé mà hệ thống gợi ý mang lại:
Vv Netflix: 2/3 trong số những bộ phim được xem là từ hệ thống gợi ý
> Google News: hệ thống gợi ý đem lại hơn 38% click-throughs
> Amazon: 35% doanh số bán hàng từ hệ thống gợi ý
> Choicestream: 28% người dùng mua sản phẩm âm nhạc khi ho tìm đượcsản phẩm yêu thích từ những gợi ý
2.4 Những phương pháp tiếp cận hệ thống gợi ý
Tùy thuộc vào phạm vi và vấn đề cụ thể mà ta có cách tiếp cận khác nhau Có rất nhiều phương pháp tiếp cận dé xây dựng hệ thống gợi ý, tuy nhiên có thé phân thành bốn
cách tiếp cận chính: tiếp cận dựa trên nội dung (Content-Based RecommendationSystem), tiếp cận dựa trên lọc cộng tác(Collaborative Filtering Recomnendation System),
tiếp cận kết hợp (Hybrid), tiếp cận theo ngữ cảnh (Context-aware Recomnendation System) Hiện nay cách tiếp cận tốt nhất của hệ thống gợi ý là phương pháp lọc cộng tác,
có thé kết hợp thêm những cách tiếp cận khác dé cải thiện kết quả.
2.4.1 Tiếp cận dựa trên nội dung (Content-Based)
Gợi ý dựa trên nội dung được dựa trên sự sẵn có của mô tả về đối tượng Phương
pháp gợi ý dựa trên nội dung, dựa trên độ phù hợp r(w,ø) của sản phẩm ? với người
dùng u được đánh giá dựa trên độ phù hợp r(u, p'), trong đó p’ € P và tương tự như 7Ø.
Vi dụ, đê gợi ý một bộ phim cho người dùng +, hệ thống tư vấn sẽ tìm các đặc điểm của
những bộ phim từng được 1 đánh giá cao trong quá khứ (như diễn viên, đạo diễn );
Trang 17sau đó chỉ những bộ phim tương đồng với sở thích của mới được giới thiệu.
Hướng tiếp cận dựa trên nội dung bắt nguồn từ những nghiên cứu về thu thập thông
tin (IR-information retrieval) và lọc thông tin (IF - information filtering) Do đó, rấtnhiều hệ thống dựa trên nội dung hiện nay tập trung vào tư vấn các đối tượng chứa dữliệu text như văn bản, tin tức, website Những tiến bộ so với hướng tiếp cận cũ của IR
là do việc sử dụng hồ sơ về người dùng (chứa thông tin về sở thích, nhu cầu ) Hồ sơ này được xây dựng dựa trên những thông tin được người dùng cung cấp trực tiếp (khi
trả lời khảo sát) hoặc gián tiếp (do khai phá thông tin từ các giao dịch của người dùng)
Đề thực hiện việc ước lượng có hay không người dùng + sẽ thích đối tượng gợi ý
p, hoặc thích nhiều hay it Tức là, xây dựng một hàm hữu ích f (u, p) của các đối tượng
gợi ý p với người dùng u và ước lượng giá trị hữu ích này.
Hoạt động: Các phương pháp dựa trên tiếp cận nội dung thông thường sẽ thực hiện
các bước sau:
Bước I: Biêu diễn nội dung đối tượng gợi ý p € P, Content(p).
Bước 2: M6 hình hóa sở thích người dùng u € U, gọi tắt là hồ sơ người dùng
(User’s Profile), ký hiệu UserProfile(u).
Bước 3: Ước lượng giá tri hữu ich dựa trên độ tương tự nội dung của đối tượng gợi
ý p với hồ sơ người dùng u Hệ thống sẽ ưu tiên gợi ý những đối tượng p có nội dungtương tự cao so với hồ sơ người dùng 0
Phân loại: Hệ thống gợi ý dựa trên nội dung có thé chia thành hai nhóm chính:
> Một là các phương pháp dựa trên bộ nhớ, thực hiện tính toán độ tương tự giữa Content(p) va UserProfile(u) dùng các độ đo tương tự Cosine, Euclide.
> Hai là các phương pháp dựa trên mô hình, với mô hình được học từ dữ liệu
dùng các kỹ thuật học máy như mạng Bayes, phân cụm, cây quyết định, mạng nơron nhân tạo để tạo nên dự đoán, phân các đối tượng gợi ý thành những đối tượng người
dùng quan tâm (1) hay không quan tâm (0).
Ưu điểm: Gợi ý dựa trên nội dung có những ưu điểm:
> Đầu tiên, nó không yêu cau số lượng người sử dụng lớn dé đạt được độ chính
xác đề nghị hợp lý.
Trang 18> Ngoài ra, các mặt hàng mới có thể được gợi ý ngay dựa trên thuộc tính có
a
san.
Han chế: Gợi ý dựa trên nội dung có những điểm hạn chế sau:
> Các khó khăn liên quan đến phân tích nội dung như: thông tin mô tả đốitượng có chất lượng kém và bị lỗi, những mô tả về nội dung rất khó dé so sánh và rút ragợi ý, chẳng hạn so sánh nội dung của các file video, audio
> Khong thể da dang trong gợi ý (các đối tượng gợi ý ngoài lĩnh vực quan sát).
> Người dùng mới (khởi đầu lạnh)
2.4.2 Tiếp cận lọc cộng tác (Collaborative Filtering - CF)
Tiếp cận CF được xem là tiếp cận thành công nhất đề xây dựng các hệ thống gợi ý
và ứng dụng rộng rãi trong lĩnh vực thương mại điện tử.
Ý tưởng chung của tiếp cận CF là khai thác thông tin, hành vi quá khứ của người
dùng dựa trên các đánh giá sẵn có dé tiên đoán, lượng hóa mức độ hữu ích của các đốitượng cần gợi ý mà người dùng chưa biết
Bài toán lọc cộng tác là: bài toán dựa trên hành vi quá khứ của người dùng (trong
việc đánh giá sản phâm) để đưa ra dự đoán.
Đầu vào của bài toán là: ma trận thể hiện những hành vi quá khứ, gọi là ma trận Ngườidùng- Sản phẩm (ma trận User x Item) Hàng là người dùng, cột là sản phẩm, giá trị mỗi
ô là đánh giá của người dùng lên sản phẩm đó
Tùy theo hệ thống mà đánh giá của người dùng được quy ước những giá trị nào.
Trong ví dụ này, các đánh giá có giá trị từ 1 — 5
Bảng 2.1 Ví dụ bảng ma trận Người dùng x Sản phẩm entries found
Sản phâm 1 Sản phâm 2 Sản phâm 3
Người dùng 1 1 0 5
Người dùng 2 4 2 2
Người dùng 3 0 0 0
O ma trận này, đánh giá của người dùng | đối sản phâm | là 1, sản phâm 3 là 5,
sản phẩm 2 chưa được đánh giá
Đầu ra của bài toán là: đánh giá của người dùng lên những sản phẩm mà họ chưa
Trang 19đánh giá Hệ thống gợi ý dựa trên các đánh giá này mà xếp hạng các sản phẩm và gợi ý
cho người dùng.
Trong ví dụ này, hệ thống gợi ý phải đưa ra dự toán, người dùng 1 đánh giá sản
phẩm 2 là bao nhiêu Người dùng 3 đánh giá sản phẩm 1, 2, 3 là bao nhiêu
Phát biểu ở dạng tổng quát: Hệ thống gợi ý dựa trên lọc cộng tác dự đoán độ phùhợp r (u,i) của một sản phẩm i với người dùng dựa trên độ phù hợp r(0,í) giữangười dùng u’ và i, trong đó + là người có cùng sở thích với u Ví dụ, để gợi ý một bộphim cho người dùng wu, đầu tiên hệ thống cộng tác tìm những người dùng khác có cùng
sở thích phim ảnh với u Sau đó, những bộ phim được họ đánh giá cao sẽ được dùng dé
tư vấn cho Có nhiều hệ thống, cộng tác đã được phát triển như: Youtube (video),
Amazon.com (sách)
Các phương pháp CF nói chung được phân thành hai nhóm chính:
> — CF dựa trên bộ nhớ như các thuật toán tính toán tương tự, lân cận.
> CF dựa trên mô hình như các thuật toán gom cum, phân lớp giám sát, thừa
số hóa ma trận (Matrix Factorization).
2.4.2.1 Phương pháp gợi ý sử dụng bộ nhớ:
Phương pháp gợi ý hay còn gọi là phương pháp láng giềng gần based) dựa trên bộ nhớ dự đoán những chỉ số đánh giá dựa vào tập hợp tat cả những đối tượng đã được đánh giá bởi những người dùng trước đó Giá trị cần dự đoán r(u, i) của
(Neighborhood-người dùng u đối với đối tượng i thường được tính toán bằng một hàm tổng hợp
(aggregation) của những chi số đánh giá từ những người dùng khác đối với đối tượng i
(ở đây người ta xét đến những người dùng tương tự với người dùng u, có thé là tat cả
người dùng, hoặc chon ra tập hợp n người dùng tương tự nhất):
ríu,Ì) = aggTT'eu(U, ) (2.1)
Trong đó, U là tập hợp n người dùng tương tự với người dùng u (n có giá trị nhỏ
nhất là 1, lớn nhất là toàn bộ tập hợp những người dùng) và họ đã có đánh giá trên đối
tượng i Một vai ví dụ về công thức tính r(u, i) như sau:
ll
Trang 20Tyegl sim aa r(u) là chỉ số đánh giá trung bình của người dùng u đôi với các đôi
tượng được định nghĩa bằng công thức r(u) = Sie sur(u, i) voi Su=
[sul
{ilr(u,i) # 0}, sim(u,w) là độ tương tự (similarity) giữa hai người dùng u và wu’.
Những người dùng có độ tương tự càng cao thì khả năng sở thích của họ giống nhaucàng tăng, mức độ ảnh hưởng của những chỉ số đánh giá r(0,) trong công thức càng
lớn Điều này giúp chỉ số dự đoán r(u, i) cho người dùng u có độ chính xác cao hơn.Có nhiều cách dé tính độ tương tự này, trong hầu hết các cách tính toán, người ta dựa vào
những chi số đánh giá trên những đối tượng mà cả người dùng cũng như +z đã từngđánh giá Có hai công thức được dùng phô biến đó là hệ số tương quan Pearson và hệ số
tương quan Cosine.
Hệ số tương quan Pearson:
Lsesry [rG.s) — r9] lrÚy,s) — r0)] 05)
sim(x,y) =
|5<sotrG,s) = 7G] 82-5 Ir0,s) =0) ]
Hệ số tương quan Cosine:
x.y Lsesxy 7 (%, Sry, 8) (2.6)
IIXII x IIylÍ/Ssesxyr?Œ,s) /Zsesxy 7? s)
Trang 21hợp các đối tượng cùng được đánh giá bởi người dùng x và y, # ÿlà tích vô hướng của
nhánh nhỏ là phương pháp dựa trên người dùng (user-based) và phương pháp dựa trên
đối tượng (item-based) Cũng có những nghiên cứu cho rằng phương pháp dựa trên đốitượng trong một số trường hợp có thể cho hiệu năng cao hơn, chất lượng dự đoán cũng
cao hơn.
ï) Lọc cộng tác dựa trên người dùng (user-based)
Trong phương pháp này, việc dự đoán hạng của người dùng u cho mục ¡ bằng cáchtìm những người dùng tương tự nhất với và sử dụng kết hợp hạng của những ngườidùng cho mục i như đánh giá dự đoán của người dùng u cho mục i Bỏ qua nhiễu vàhiệu quả tính toán, bằng cách giới hạn số lượng người tương đồng bởi một con số cụ thé.Những người tương đồng nhất với người dùng œ được gọi là hàng xóm của u, ký hiệu là
N(u) Trong lọc cộng tác dựa trên người dùng, hạng của người dùng u cho mục i được tính bởi công thức:
Xưen(@ Sữn(u, 9) (%,
Deen) sim(u, v)
Tụ, = Tụ + 27
Trong đó số người dùng là hàng xóm của u là N(u) được xác định trước Vi dụ,
N(u) là top 10 người tương đồng nhất với u
ii) Lọc cộng tác dựa trên đối tượng (item-based)
Với phương pháp này, chúng ta tính toán đánh giá trung bình của mỗi người dùngkhác nhau và tìm những người dùng tương đồng nhất cho người mà chúng ta đang tìmkiếm các tư vấn Tuy nhiên, hầu hết các hệ thống trực tuyến, người dùng không có quá
nhiều đánh giá, vì vậy, giá trị trung bình và độ tương tự có thé không đáng tin cậy Điều này thường có kết quả khác nhau về độ tương đồng người dùng khi có đánh giá mới
được thêm vào hệ thống Nói cách khác, hệ thống thường có nhiều đánh giá và trung
13
Trang 22bình các đánh giá và độ tương đồng giữa chúng có thể ồn định hơn Trong lọc cộng tác
dựa trên nội dung, chúng ta thực hiện lọc cộng tác bằng cách tìm các sản phẩm tương tự nhất Đánh giá của người dùng u cho mục i được tính bởi công thức:
nụ =T,+ Lew SIMEN Cus —T/) (2.8)
Trong đó, i và j tương ứng là giá trị trung bình đánh giá của mục i,j.
2.4.2.2 Phương pháp gợi ý dựa trên mô hình:
Việc thiết kế và mô phỏng các mô hình (máy học và các thuật toán khai phá dữ liệu)cho phép các hệ thống học và nhận ra các mô hình (pattern) phức tạp thông qua bướchuấn luyện dữ liệu, và sau đó có thể đưa ra những dự đoán thông minh trong hệ thốnggợi ý
Xây dựng mô hình huấn luyện dựa trên tập đánh giá người dùng — sản phẩm Môhình này sẽ được sử dụng đề đưa ra các quan điểm, đánh giá của người dùng về sản phẩm
họ chưa được đánh giá.
Các kỹ thuật thông dụng của tiếp cận lọc cộng tác dựa trên mô hình:
> M6 hình mang Bayes (Bayesian Belif Net): Mô hình mang Bayes biểu
diễn mỗi sản phẩm như một đỉnh của đồ thị, trang thái của đỉnh tương ứng với giá trịđánh giá của người dùng đối với sản phẩm đã được đánh giá Cấu trúc của mạng được
nhận biết từ tập dữ liệu huấn luyện Breese đề xuất phương pháp mạng Bayes đơn giản cho lọc cộng tác, Breese giả thiết các giá trị đánh giá được xem xét như những số nguyên
nằm giữa 0 và n Đánh giá chưa biết của người dùng + đối với sản phẩm p là Tup được
ước lượng thông qua những đánh giá trước đó của người dùng u Gọi P, = {p'€
P|r„„: # 9} Khi đó, đánh giá chưa biết của người dùng đối với sản phẩm p được
Trang 23dữ liệu có các phan tử trong cụm giống nhau nhiều nhất, và khác nhau nhiều nhất đối
với các phần tử thuộc các cụm khác Các phương pháp phân cụm cho lọc cộng tác được
sử dụng để phân chia tập người dùng (hoặc tập sản phẩm) thành các cụm người dùng
(hoặc sản phẩm) có sở thích tương tự nhau Khi đó, người dùng (hoặc sản phẩm) thuộccụm nào sẽ được dự đoán và tư vấn các sản phẩm được đánh giá cao trong cụm đó
Độ đo dùng đề ước lượng mức độ giống nhau giữa các đối tượng dữ liệu thường
được sử dụng là khoảng cách Minkowski và độ tương quan Pearson.
Cho hai đối tượng dữ liệu X = (x„%z, ,Xm),Ý = uz, ,y„) Khi đó,
khoảng cách Minkowski được định nghĩa theo công thức:
d(X,Y) = (2.10)
Trong đó, n là sé chiều của X va Y; x;, y là giá tri thành phần thứ i của X và Y; q
là một số nguyên dương Nếu q = 1, thì đ(X,Y) là khoảng cách Minkowski Nếu q =
2, thì d(X,Y) là khoảng cach Euclid.
> Mô hình ngữ nghĩa tìm ẩn (Latent Semantic Model): Mô hình ngữ
nghĩa 4n cho lọc cộng tác dựa vào các kỹ thuật thống kê, trong đó các tham biến 4n đượcthiết lập trong một mô hình hỗn hợp dé khám phá ra cộng đồng người dùng phù hợp vớimẫu hồ sơ thích hợp Hofmann đề xuất mô hình định hướng (AM) cấp 3 bằng cách mở
rộng mô hình định hướng cấp 2 đã được áp dụng cho bài toán phân tích ngữ nghĩa văn
bản Sau đó sử dụng thuật toán EM (Expectation Maximization) để ước lượng ngữ nghĩacác tham biến
> Một số mô hình khác: Lọc cộng tác sử dụng các kỹ thuật rút gọn không
gian ma trận SVD (singular value decomposition), mô hình đồ thị (Graph-Based Model).
2.4.2.3 Vấn đề tồn tại
So với lọc theo nội dung, lọc cộng tác có ưu điểm là không đòi hỏi biểu diễn sản
phẩm dưới dạng các đặc trưng nội dung Ngoài ra, lọc công tác cho kết quả chính xáchơn trong một số ứng dụng Tuy nhiên, lọc cộng tác vẫn gặp phải những hạn chế cần
được tiếp tục nghiên cứu dưới đây:
15
Trang 24> Vấn đề người dùng mới (New User Problem) Cũng giống như lọc theonội dung, để phân bổ chính xác các sản phẩm người dùng quan tâm, lọc cộng tác phải
ước lượng được sở thích của người dùng đối với các sản phẩm mới thông qua những
đánh giá của họ trong quá khứ Trong trường hợp một người dùng mới, số đánh giá của
người dùng cho các sản phẩm là Ø, khi đó phương pháp lọc cộng tác không thé đưa ra những tư vấn chính xác cho người dùng này.
> Vấn đề sản phẩm mới (New Item Problem) Trong lọc thông tin, các sản
phẩm thường xuyên được bồ sung, cập nhật vào hệ thống Khi xuất hiện một sản phẩmmới, tất cả đánh giá người dùng cho sản phẩm này đều là Ø Do đó, lọc cộng tác không
thể tư vấn sản phẩm cho bắt kỳ người dùng nào trong hệ thống.
> Vấn đề dữ liệu thưa (Sparsity Data Problem) Kết quả dự đoán của lọccộng tác phụ thuộc chủ yếu vào só các đánh giá có trước của người dùng đối với các sảnphẩm Tuy nhiên, đối với các hệ thống thực tế, số lượng người dùng và sản phẩm là rất
lớn (hàng triệu người dùng và sản phẩm), số những đánh giá biết trước thường rất nhỏ
so với số lượng các đánh giá cần được dự đoán.
2.4.3 Tiếp cận kết hợp (Hybrid)
Những phương pháp khác nhau đều có những điểm mạnh, cũng như điểm yếu của
nó Để tận dụng những điểm mạnh và hạn chế điểm yếu của những tiếp cận khác nhau,
nhiều nghiên cứu đã tập trung phát triển các hệ gợi ý dựa trên việc kết hợp các tiếp cận
khác nhau, được gọi là tiếp cận lai (Hybrid Approach) hay hệ gợi ý lai (Hybrid
Recommender System) Robin Burke đã khảo sát các phương pháp lai cho hệ gợi ý và
trình bay tóm tắt 7 nhóm phương pháp tiếp cận lai phô biến: Lai có trọng số (Weighted
Hybrid); Lai chuyển đổi (Switching Hybrid); Lai trộn (Mixed Hybrid); Lai kết hợp đặc
trưng (Feature Combination Hybrid); Lai theo đợt (Cascade Hybrid); Lai tăng cường đặc
trưng (Feature Augmentation Hybrid); Lai meta (Meta-Level Hybrid).
Bảng 2.2 Các phương thức lai tạo
Các phương thức lai tạo Mô tả
Weight Dau ra (scores hoặc votes) từ một sô kỹ thuật được
Trang 25kết hợp với mức độ quan trọng khác nhau dé cung
cấp gợi ý cuối cùng
Switching Tùy thuộc vào tình hình, hệ thông sẽ thay đôi từ một
kỹ thuật này sang kỹ thuật khác Mixed Goi ý từ một sô kỹ thuật được trình bày tại cùng một
thời điêm
Feature Combination Những tính năng từ những nguồn hệ thông gợi ý
khác nhau được kết hợp như là đầu vào cho một kỹ
thuật.
Cascade Cac dau ra từ một kỹ thuật được sử dụng như là dau
vào của một kỹ thuật khác.
Feature Augmentation Các dau ra từ một kỹ thuật được sử dụng như là dau
vào các tính năng của kỹ thuật khác Meta-Level Mô hình học băng một hệ gợi ý được sử dụng như
là đầu vào cho hệ gợi ý khác
Những van đề còn ton tại:
> Thiếu sự kết hợp hiệu quả các đặc trưng nội dung vào lọc cộng tác Không
phải tất cả các đặc trưng nội dung của sản phẩm đều ảnh hưởng đến thói quen sử dụngsản phẩm của tất cả người dùng Việc tìm ra tập các đặc trưng nội dung có ảnh hưởng
quan trọng đến thói quen sử dụng sản phẩm của mỗi người dùng cụ thẻ, sẽ cải thiện đáng
kể kết quả dự đoán của các mô hình.
> Thiếu sự kết hợp hiệu quả các đặc tính của lọc cộng tác vào lọc nội dung.Các phương pháp lọc cộng tác thực hiện dự đoán dựa trên tập đánh giá người dùng đốivới sản phẩm Trái lại, các phương pháp lọc nội dung dựa trên biểu diễn nội dung sản
phẩm và hồ sơ người dùng sản phẩm Việc thực hiện tính toán mức độ tương tự theo nội dung trên cả nội dung sản phẩm và đánh giá người dùng chưa giải quyết triệt để mâu
thuẫn giữa các cách tiếp cận
2.4.4 Tiếp cận dựa trên ngữ cảnh (Context-Aware)
17
Trang 26Hệ thống gợi ý đã đem lại những thay đổi lớn, chính vì vậy cải thiện hệ thống gợi
ý chưa bao giờ là một bài toán cũ Các hệ thống gợi ý càng ngày càng phải hướng người dùng nhiều hơn Chính vì thế yếu tố ngữ cảnh (context) là một trong những yếu tố mang
tình hướng người dùng cao, bởi vì với các ngữ cảnh khác nhau, rõ ràng con người có
những hành động khác nhau.
Ngữ cảnh dé cập đến bắt kì thông tin nào có thé mô tả được hoàn cảnh của một đối tượng: thời gian, nơi chốn, thời tiết, là vị trí hiện tại những yếu tố mà ảnh hưởng đến hành vi của đối tượng Ví dụ như, việc một người dùng quyết định có đến ăn ở một nhà
hàng hay không tùy thuộc vào khoảng cách từ vị trí hiện tại của cô ấy đến nhà hàng là
xa hay gần Hay còn tùy thuộc vào vị trí của nhà hàng như là nhà hàng đó có gần trạm
xe buýt không, có gần trạm ATM hay không
Các phương pháp tiếp cận:
Không giống như một số hệ thống gợi ý truyền thống (gợi ý hai chiều - 2D) chỉxét đến hai yếu tố người dùng đánh giá sản pham đó bao nhiêu Một cách tổng quát ta
có:
Người dùng x Sản Pham > Đánh giá
Hệ thống gợi ý dựa trên bối cảnh của người dùng phải xem xét các ngữ cảnh ảnhhưởng đến đánh giá của họ Ví dụ, cùng một món ăn, khi người dùng ăn với vào lúc trời
mưa thì họ đánh giá 2, lúc trời không mưa họ 5 Một cách tông quát, ta có:
Người dùng x Sản phâm x Ngữ cảnh > Đánh giá
Các phương pháp tiếp cận sẽ tập trung giải quyết bài toán, có thêm yếu tố ngữ
cảnh thì những dự toán về đánh giá của người dùng lên một sản phẩm sẽ được xử lý nhưthế nào Theo Hand Book [6] thì có 3 phương pháp như sau:
Trang 27(a) Contextual Pre-Filtering (b) Contextual Post-Filtering (c) Contextual Modeling
Data Data Data
UxIxCxR UxIxCxR UxIxCxR
2D Recommender 2D Recommender MD Recommender
ra Uxi3R vn UxI2R $ UxIxC>R
> Xử lý ngữ cảnh đầu vào - Contextual Pre-Filtering: Trong mô hình này,
thông tin về bối cảnh được sử dụng dé lựa chọn hoặc xây dựng các thiết lập có liên quan của bản ghi dữ liệu (tức là xếp hạng) Sau đó, xếp hạng có thể được dự đoán sử dụng bất
kỳ hệ thống gợi ý 2D truyền thống trên các dữ liệu đã chọn
> Xứ lý ngữ cảnh đầu ra - Contextual Post-Fitering: Trong mô hình này,
ngữ cảnh thông tin ban đầu bị bỏ qua, và xếp hạng được dự đoán bằng cách sử dung bat
kỳ phương pháp gợi ý 2D truyền thống trên toàn bộ dữ liệu Sau đó, các gợi ý được điều
chỉnh (contextualized) cho mỗi người sử dụng bằng cách sử dụng các thông tin theo ngữcảnh Theo [handbook] phương pháp tiếp cận xử lý ngữ cảnh ở đầu ra được phân làmhai hướng tiếp cận:
° Tiếp cận Heuristic based: Tập trung vào tìm ra các thuộc tính của
một user cụ thể trong một ngữ cảnh cụ thể Sau đó dựa những thuộc tính để điều chỉnh
và tìm ra những gợi ý phù hợp Việc điều chỉnh gợi ý theo ngữ cảnh bao gồm hai bước:
Bước 1: Loc (Filtering): loại những gợi ý ít liên quan đến các
thuộc tính ở trên.
Bước 2: Xếp hạng (Ranking): xếp hạng giảm dần các gợi ý có
19
Trang 28liên quan đến các thuộc tính ở trên.
Tiép cận Model based (hay còn được gọi là mô hình hóa): Phương
pháp này xây dựng một mô hình dự toán Mô hình này có thé đưa ra xác suất một ngườidùng cụ thé chọn một sản phẩm cụ thé trong một bối cảnh cụ thé là bao nhiêu Sau đó
xác suất này được dùng để điều chỉnh và tìm ra gợi ý phù hợp Việc điều chỉnh bao gồm
hai bước:
Bước 1: Loc (Filtering): loại những sản phẩm mà xác suất ngườidùng chọn sản phẩm đó trong bối cảnh cụ thể nhỏ hơn một ngưỡng định sẵn trước
Bước 2: Xếp hạng (Ranking): xếp hạng từ cao đến thấp cho các
sản phẩm có xác suất được chọn cao hơn ngưỡng.
Việc lựa chọn hướng, tiếp cận nào cần được dựa trên các tiêu chí mà ứng dụng (mà
sử dụng hệ thống gợi ý) hướng đến
> Mô hình hóa ngữ cảnh: Contextual Modeling: Cả hai cách tiếp cận ở
trên, thì ngữ cảnh được xem xét theo hướng đưa bài toán trở về mô hình truyền thống Người dùng x Sản phẩm (reduced- based) Trong cách tiếp cận này, thông tin theo ngữ cảnh được sử dụng trực tiếp trong kỹ thuật mô hình hóa như là một phần của dự toán
-đánh giá.
2.5 Cac kỹ thuật chính trong RS
Hiện tại, trong RS có rất nhiều giải thuật được đề xuất, tuy nhiên có thể gom chúng
vào trong các nhóm chính theo (Su et.al., 2009), (Ricci et.al., 2010), (Bobadilla et.al.,
2013)):
> Nhom giải thuật lọc cộng tác (Collaborative Filtering): trong nhóm này,
các giải thuật chủ yếu sử dụng:
e Phuong pháp láng giéng (Neighborhood-based, còn gọi là Memory
based), trong đó hoặc là dựa trên dữ liệu quá khứ của người dùng “tương tự - similarity” (user-based approach), hoặc là dựa trên dữ liệu quá khứ của những item “tương tự” (item-based approach)
e _ Dựa trên mô hình (Model-based): Nhóm này liên quan đến việc xây
dựng các mô hình dự đoán dựa trên dữ liệu thu thập được trong quá khứ Như mô hình
Trang 29Bayesian, các mô hình nhân té tiềm ân (latent factor models): trong đó kỹ thuật phân rã
ma trận (matrix factorization) là một điển hình
> _ Nhóm giải thuật lọc trên nội dung (Content-based Filtering): Gợi ý
các item dựa vào hồ sơ (profiles) của người dùng hoặc dựa vào nội dung/thuộc tính
(attributes) của những item tương tự như item mà người dùng đã chọn trong quá khứ.
> Nhóm lai ghép: Kết hợp cả 2 cách trên.
Một trong những khuyết điểm của phương pháp lọc theo nội dung là khó khăntrong việc thu thập thông tin, trong khi phần lớn các mô hình dựa trên lọc cộng tác chỉcần 3 thông tin (user id, item id, feedback) là có thé hoạt động tốt Do vậy khuynh hướng
hiện nay đa phần các nhà nghiên cứu thiên về nhóm lọc cộng tác.
Sau đây là tóm tắt các kỹ thuật thông dụng và nổi trội (state-ofthe-art) trong hệ
được xác định trước khi thực hiện thuật toán.
2.5.1.1 Phương pháp thực hiện
Thông thường, có hai cách tiếp cận của lọc cộng tác theo mô hình K láng giềng: hệ
dựa trên người dùng (User_KNN) - tức dự đoán dựa trên sự tương tự giữa các người
dùng và hệ dựa trên sản phẩm (Item_KNN) — dự đoán dựa trên sự tương tự giữa các sảnphẩm Hệ dựa trên người dùng (User_KNN) xác định sự tương tự giữa hai người dùng
thông qua việc so sánh các đánh giá của họ trên cùng sản phẩm, sau đó dự đoán đánh giá
sản phẩm i bởi người dùng u, hay chính là đánh giá trung bình của những người dùng
tương tự với người dùng + Có nhiều phương pháp tính toán mức độ tương đồng của các cặp users/items Hai phương pháp phổ biến nhất là độ tương quan Pearson đã được đề
cập ở công thức (2.5) và độ tương quan Cosin (2.6).
21
Trang 30Từ độ tương đồng của các user đã xác định trên ta tính giá trị dự đoán cho user uđối với item ¡ theo công thức:
ˆ Lweky sim(u,u') Tyr
Trong đó:
fụ¡: giá trị dự đoán của người dùng u đối với item I
yi: giá trị đánh giá của user (w' € K,,) trong tập K người dùng tương đồng
nhất với u.
sim(u, w’): độ tương đồng Của user 1 với tứ.
Ngoài ra có thể dựa vào độ tương tự của các item để đưa ra dự đoán đánh giá của
các user trong hệ thống đối với item theo công thức:
LF Lien, SMG 1) Tur (2.12)
“ Yivex; |simG@i)|
Trong đó:
Fy: giá trị dự đoán của người dùng u đối với item i.
Tụ: giá trị đánh giá của user u đối với item i’ (” € K,) trong tập K items tươngđồng nhất với i
sim(i, i’): độ tương đồng của item i với
2.5.1.2 Thuật toán
Phương pháp User kNN dé dự đoán đánh giá của người dùng + trên sản phẩm iđược biểu diễn bằng ngôn ngữ giả như sau [25]:
1: procedure USERKNN-CF (7, , r, Dtrein)
for u=1 to Ndo
Trang 31Kỹ thuật phân rã ma trận là việc chia một ma trận lớn R thành hai ma trận có kích
thước nhỏ hơn P và Q, sao cho ta có thể xây dựng lại R từ hai ma trận nhỏ hơn này càngchính xác càng tốt, nghĩa là R ~ P.Q” [7], được minh họa như trong hình bên dưới:
mm items kfactors
1 3 AL m
—————
2 4 #a | fax Yar | Và | Vị | Váa | Yim
Š 1tiš * «| ® Tia |v [vẽ | vee | vam || F898
Hình 2.3 Phân rã ma tran R thành hai ma trận P va QT
Trong đó:
Ma trận R(mxn) hay còn gọi là Rating matrix là một ma trận mà ở đó mỗi dòng
là một user, mỗi cột là một item, mỗi ô là một giá trị đánh giá đại điện cho mức độ “thích”(preference) của user dành cho item tương ứng Các ô trống là người dùng chưa có đánh
giá trên item đó Thông thường đối với hệ thống lọc cộng tác số lượng user và item là rất lớn, tuy vậy mỗi user chỉ đưa ra một số rất ít các đánh giá của mình trong tập các item Điều nay làm cho ma trận đầu vào r,; có số các đánh giá r„¡ rất it, do vậy sẽ tạo
nên một ma trận cực thưa (sparse matrix) Chức năng của RS là dựa vào các giá trị đã có
23
Trang 32trong ma trận đánh giá dé tìm được các giá trị của các 6 trống hay dự đoán được các giátrị rating của user cho từng item trong hệ thống.
Ma trận P(n x k) với P € RỈUlXX là một ma trận mà mỗi dòng là một vectorbao gồm K nhân té tiềm ẩn (latent factors) mô tả người dùng u
Ma trận Q(k xX m) với Q € RỈ!*F là một ma trận mà mỗi dòng là một vectorbao gồm K nhân té tiềm ẩn (latent factors) mô tả cho item i (thông thường K « |U| và
K |I|) Trong hình bên trên QT là ma trận chuyển vị (transpose) của ma trận Q
Gọi p„yuà q¡„ là các phan tử tương ứng của hai ma trận P và Q Khi đó xếp hạng
của người dùng u trên mục tin i được dự đoán theo công thức:
K
đụ = Pade = (P.O a 2.13)
k=1
2.5.2.1 Phương pháp thực hiện:
Van dé then chốt của kỹ thuật MF là làm sao dé tìm được giá trị của hai tham số P
va Hai tham số này có được bằng cách tối ưu hóa hàm mục tiêu Hàm mục tiêu thôngdụng nhất là Root Mean Squared Error (RMSE) được biểu diễn như sau:
2 K
OW 2.5 tn Tỳ = @$7 (+ _) Pats) (2.14)
kal
(ui) € Dan (u.i) € Drain
Trong đó: D!7#? là tập dữ liệu huấn luyện.
Một trong những kỹ thuật có thể dùng đề tối ưu hóa hàm mục tiêu là kỹ thuật stochastic gradient descent [Bottou, 2004; Bell & Koren, 2007] Đầu tiên ta khởi tạo 2
ma trận P và Q với các giá trị ngẫu nhiên, sau đó từng bước cập nhật các giá trị củachúng cho đến khi hàm mục tiêu hội tụ về giá trị nhỏ nhất (convergence) Đề làm đượcđiều đó ta phải biết nên tăng hay giảm giá trị của P và Q qua mỗi lần cập nhật Do vậy
phải tìm đạo hàm của chúng theo công thức:
Trang 33LAI TÊN, _3
gag Om = ~~ ta) Pa (2.16) Sau khi tim đạo hàm, các phan tử của P va Q sẽ được cập nhật ngược hướng với
giá trị đạo hàm [Tackacs et al.,2009] qua công thức:
prew = paid _ a0" - = Pl + 28 - (rụ — Pui) Un (2.17)
Với hàm mục tiêu mới ta sẽ cập nhật lại giá tri py, và Giz bằng công thức:
Pu” = pc + 8 (2Œ — Ÿui)4ịy — A Pae (220)
qe” = phe" + 8 (2Œ — Fui)Pure — A a9") (2.21)
giá trị dự đoán cho u vai này, như ở các dòng 5-9 Sau đó cập nhật các giá trị của P và
25
Trang 34Q tương ứng của u và i như ở đòng 11-14.
1: procedure Matrix_Factorization(D:zai, K, B, A, Iter)
// P[IU|I][K] và O[|ITI][K] là 2 ma trận nhân tố tiém ẩn cần tìm
2: P := N(0, Ø2) // Khởi tạo ngẫu nhiên theo phân phối chuẩn
3: O := N(0,02) ) // Khởi tạo ngẫu nhiên theo phân phối chuẩn
4: for (iter:=1; iter <= Iter * |DTMTM|; iter++)
5: Chon ngẫu nhiên một dòng (u, i, rei) từ D?rain
12: P[u][k] := P[u][k] + B * (eu * O[i][k] - A * Pfu] [k])
13: O[i][k] := O[i][k] + B * (eu * Plu] [k] - A * O[i][k]) 14: end for
15: Break nêu đã hội tụ
ẩn thì phương pháp phân rã ma trận hiện dang là một state-of-the-art trong hệ thông gợi
ý Hầu hết các tiếp cận chung nhất của CF là dựa trên mô hình láng giềng (Neighborhood Models), mô hình user-user (user-based CF) Bên cạnh đó, một tiếp cận trong dựa trên
độ tương tự giữa các phan tử (item-based CF) với quy mô tập dữ liệu rất lớn và đưa racác đề xuất chat lượng cao trong thời gian thực Mô hình nhân tố tiềm an có dạng tương
tự như phương pháp phân tích giá trị don (Singular Value Decomposition), chuyên đồi