MO DAU
1 Tinh cấp thiết của đề tai
Trong những năm gần đây, hệ thống khuyến nghị đã thể hiện được tầm quan trọng của nó trong sự thành công của thương mại điện tử và dan trở nên phố cập trong các ứng
dụng khác nhau (ví dụ như Netflix, Amazon, Ebay, Yahoo, Google, Movielens, Last.fm,
eClick.vn ) Việc áp dụng và cải tiến các hệ thống khuyến nghị vẫn luôn là một thách thức cho các nhà khoa học trong nước cũng ngoài nước Đã có rất nhiều các phương pháp được áp dụng trong hệ thống khuyến nghị nhưng phương pháp phô biến nhất hiện nay là phương pháp thừa số hóa ma trận Đây là phương pháp cho hiệu quả tốt cả về chất lượng khuyến nghị cũng như khả năng mở rộng Chính vì vậy, tôi quyết định chọn đề tài cho luận văn của mình là “Nghiên cứu về hệ thống khuyến nghị dựa vào kỹ thuật thừa số hóa
ma trận”.
2 Tông quan về van dé nghiên cứu
Hệ thống khuyến nghị là hệ thống bao gồm các kỹ thuật và công cụ phần mềm nhằm đưa ra những gợi ý cho người sử dụng, đáp ứng nhu cầu của họ về một sản phẩm,
dịch vụ nào đó trên Internet.
Trong hầu hết các trường hợp, bài toán khuyến nghị được coi là bài toán ước lượng xếp hang (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 từ 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 dé khuyến nghị Từ đó người dùng có những lựa chọn thích hợp với nhu cầu và thị hiếu của mình.
Hệ thống khuyến nghị sử dụng các kỹ thuật lọc để chọn ra những loại thông tin đặc trưng nhằm hiển thị các phan tử thích hợp với sở thích của người dùng Nhìn chung các kỹ thuật lọc trong hệ thống khuyến nghị được phát triển dựa trên hai phương pháp tiếp cận là lọc nội dung (content filtering) và lọc cộng tác (collaborative filtering).
Phương pháp lọc nội dung khai thác những khía cạnh liên quan đến nội dung thông tin sản pham hoặc người dùng đã từng sử dụng hay truy nhập trong quá khứ dé khuyến nghị Ví dụ, để gợi ý một bộ phim cho người dùng u, hệ thống khuyến nghị sẽ tìm các đặc điểm của các bộ phim từng được u đánh giá cao (diễn viên, đạo diễn, thé loại phim, ), sau đó chỉ những bộ phim tương đồng với sở thích của u mới được giới thiệu.
Phương pháp lọc cộng tác tận dụng các ý kiến, đánh giá được cung cấp bởi một cộng đồng người dùng tương tự dé tư van cho người dùng đang hoạt động Ví dụ, dé gợi ý một bộ phim cho người dùng u, đầu tiên hệ thống khuyến nghị sẽ 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ư van cho người dùng u.
So với lọc nội dung, lọc cộng tác có một số ưu điểm như: có thể lọc thông tin thuộc bất kì thể loại nào, không yêu cầu mô tả thông tin về người dùng một cách tường minh và có khả năng ứng dụng thực tiễn cao.
Trang 2Có hai phương pháp tiếp cận trong lọc cộng tác là lọc cộng tác dựa trên bộ nhớ và
lọc cộng tác dựa trên mô hình.
Lọc cộng tác dựa trên bộ nhớ thường sử dụng toàn bộ dữ liệu đã có của người
dùng dé dự đoán đánh giá của người đó về một sản phẩm mới Nó có khả năng đưa trực tiếp dit liệu mới vào bang dit liệu nên nó đạt khá nhiều thành công khi được áp dụng vào các ứng dụng thực tế.
Lọc cộng tác dựa trên mô hình không sử dụng tất cả đữ liệu đã có để đưa ra dự đoán, thay vào đó nó năm bắt thông tin trong từng bước giống như một sự thỏa thuận về
mô hình các sở thích của người dùng Nó có khả năng mở rộng với các tập dữ liệu lớn,
cải thiện hiệu suất dự đoán.
Trên thực tế, lĩnh vực thương mại điện tử (đặc biệt là các công ty mua bán trực tuyến lớn như eBay, Amazon) là một môi trường mang tới nhiều thách thức nhất cho hệ thống khuyến nghị bởi việc gia tăng rất nhanh chóng về số lượng người dùng cũng như các sản phâm Chính vì vậy mà nhu cầu cải tiến để nâng cao hiệu quả của hệ thống luôn
được coi trọng.
Phương pháp thừa số hóa ma trận là một phương pháp thành công nhất của mô
hình nhân tố ẩn (một phương pháp tiếp cận trong loc cộng tác dựa trên mô hình) Nó
phân tích ma trận thừa số thành 2 ma trận nhỏ hơn dựa vào một nhân tổ an là k thuộc tinh nào đó Phương pháp này có hiệu cao đối với trường hợp bộ đữ liệu lớn và ma trận thưa
Một trong số những phương pháp hay được dùng kết hợp với phương pháp thừa số hóa ma trận là phương pháp sử dụng các đặc trưng ưu tiên Nếu như phương pháp thừa số
hóa ma trận coi các thuộc tính là như nhau thì phương pháp sử dụng các đặc trưng ưu tiên
lại đánh trọng số vào các thuộc tính quan trọng Thuộc tính quan trọng là thuộc tính mà người dùng quan tâm nhiều hơn khi lựa chọn sản phẩm Ví dụ như với dữ liệu âm nhạc thì các thuộc tính như: nghệ sỹ, album, thể loại, là những thuộc tính quan trọng Chính vì vậy mà khi sử dụng phương pháp này kết hợp với phương pháp thừa số hóa ma trận sẽ
làm nâng cao hiệu quả của hệ thống.
*) Khao sát các công trình đã dang tải liên quan đền đề tài làm luận văn:
Hiện nay trên thế giới đã có rất nhiều các công trình nghiên cứu về hệ thống khuyến nghị, và chủ yếu là nghiên cứu và phát triển kỹ thuật lọc cộng tác Ở nước ta cũng có rất nhiều nhà khoa học tham gia nghiên cứu về vấn đề này Đây cũng là đề tài được nhiều học viên lựa chọn làm để nghiên cứu làm luận văn tốt nghiệp đại học, thạc sỹ, tiến
Theo tìm hiểu của tôi trên internet thì hiện nay trong nước đã có một số dé tài nghiên cứu về phương pháp thừa số hóa ma trận và thử nghiệm với bộ dữ liệu phim ảnh của Movielens và Netflix Tuy nhiên tôi chưa thấy có dé tài nào nghiên cứu về phương pháp sử dụng các đặc trưng ưu tiên (một phương pháp được phát triển từ phương pháp thừa số hóa ma trận) và việc thử nghiệm các phương pháp với bộ dữ liệu về âm nhạc.
Chính vì vậy mà trong luận văn này, tôi sẽ tập trung chủ yếu vào việc nghiên cứu về phương pháp thừa số hóa ma trận và phương pháp sử dụng các đặc trưng ưu tiên, đồng
Trang 3thời thử nghiệm chúng với bộ dữ liệu thực nghiệm về âm nhạc phổ biến trên thế giới của
3 Mục đích nghiên cứu
Mục đích nghiên cứu của luận văn là nắm được các kiến thức cơ bản về hệ thong khuyến nghị, các kỹ thuật loc trong hệ thống khuyến nghị Trong đó chú trong tới phương pháp thừa số hóa ma trận, phương pháp sử dụng các đặc trưng ưu tiên và thử nghiệm
chúng trên bộ dữ liệu về âm nhạc của Yahoo 4 Đối tượng và phạm vị nghiên cứu
- Tổng quan về hệ thông khuyến nghị người dùng - Các kỹ thuật lọc trong hệ thống khuyến nghị
- Nghiên cứu cơ bản về phương pháp thừa số hóa ma trận và phương pháp sử dụng các
đặc trưng ưu tiên.
- Thực nghiệm và đánh giá các phương pháp thừa số hóa ma trận và phương pháp sử dụng các đặc trưng ưu tiên trên bộ dữ liệu về âm nhạc của Yahoo.
5 Phương pháp nghiên cứu
- Phương pháp tài liệu: Sưu tầm, nghiên cứu các tài liệu liên quan tại các thư viện, tạp
chí, các sách báo trên Internet.
- Phương pháp thực nghiệm: cài đặt chương trình demo sử dụng phần mềm mã nguồn mở và thực nghiệm trên bộ dữ liệu về âm nhạc của Yahoo dé đánh giá, phân tích và so
sánh tính hiệu quả của các phương pháp sử dụng trong luận văn.
6 Bố cục của luận văn
Nội dung luận văn được xây dựng thành ba chương và phần kết luận, trong đó:
Chương 1 giới thiệu tong quan về hệ thống khuyến nghị Chương này trình bay những nghiên cứu cơ bản về lọc thông tin, hệ thống khuyến nghị, các kỹ thuật lọc cho hệ thống khuyến nghị.
Chương 2 nghiên cứu về kỹ thuật lọc cộng tác, bao gồm: phát biểu bài toán lọc cộng tác, các phương pháp tiếp cận trong lọc cộng tác và một số tiêu chí đánh giá hệ thống khuyến nghị Trong đó phương pháp thừa số hóa ma trận và phương pháp sử dụng các đặc trưng ưu tiên được đi sâu vào tìm hiểu dé làm cơ sở cho các đánh giá, thử nghiệm
trong chương 3.
Chương 3 thực nghiệm và đánh giá với dữ liệu âm nhạc Mục tiêu chính của
chương này là thực hiện phương pháp thừa số ma trận và phương pháp sử dụng các đặc trưng ưu tiên trên tập đữ liệu về âm nhạc của Yahoo Kết quả thực nghiệm được lấy làm căn cứ dé đánh giá hai phương pháp chính được trình bày trong luận văn là phương pháp thừa số hóa ma trận và phương pháp sử dụng các đặc trưng ưu tiên.
Phan kết luận trình bày các kết quả dat được và hướng nghiên cứu tiếp theo của
luận văn.
Trang 4Chương 1.
TONG QUAN VE HỆ THONG KHUYEN NGHỊ
Trong những năm gần đây, hệ thống khuyến nghị đã chứng tỏ được vai trò quan trọng của nó trong sự thành công của thương mại điện tử cũng như một số lĩnh vực khác Trong chương nay, chúng tôi sẽ trình bày một cách tổng quan về hệ thống khuyên nghị, bao gồm các khái niệm liên quan, bài toán khuyến nghị và các kỹ thuật lọc trong hệ thống khuyến nghị.
1.1 Khái niệm chung1.1.1 Lọc thông tin
Hệ thong loc thông tin''?! là một hệ thong nhằm loại bỏ thông tin dư thừa hoặc
không mong muốn từ một luồng thông tin sử dụng tự động trên máy vi tính để cung cấpcác thông tin thích hợp cho người dùng Thông tin được cung cấp có thể là trang web,
phim ảnh, âm nhạc, văn bản, dịch vụ, Để thực hiện, các hồ sơ này được so sánh với một số các đặc tính tham khảo Hệ thống lọc thông tin là một mô hình mới của sự tìm kiếm, các sản phẩm có liên quan tự tìm ra người dùng thay vì người dùng tìm kiếm
Với những tiến bộ trong công nghệ thông tin, hệ thống đã phát triển rất nhanh chóng và mang lại hiệu quả cao cho các hệ thống trực tuyến Hệ thống khuyến nghị, hệ thống trợ giúp cá nhân, hệ thống khai thác dữ liệu xã hội và các hệ thống thích nghi người dùng có thé được gọi chung là hệ thống lọc thông tin (IF).
1.1.2 Hệ thống khuyến nghị
Hệ thống khuyến nghị (Recommender System — RS)! là một loại hình cụ thé của lọc thông tin Dựa trên thông đã có về người dùng, hệ thống khuyến nghị sẽ xem xét trong số lượng rất lớn các item (hàng hóa, thông tin, dịch vụ, ) và tư vấn cho người dùng một danh sách ngắn gọn nhưng đầy đủ những item mà người dùng có khả năng
quan tâm.
Item là thuật ngữ chung dùng dé chỉ những gì người dùng cần tương tác trong hệ thống khuyến nghị Một hệ thống khuyến nghị thông thường sẽ tập trung vào một loại Item cụ thé nào đó (ví dụ như tin tức, trang web, phim ảnh, âm nhạc, ) Nó sử dụng các thiết kế về giao diện và các kỹ thuật, thuật toán nhằm đưa ra những gợi ý tùy chỉnh, cung cấp các gợi ý có ích và hiệu quả cho Item đó.
Một vài ứng dụng nồi tiếng về hệ thống khuyến nghị như: hệ thống khuyến nghị sản phẩm của Amazon, hệ tư vẫn phim của Netflix, hệ thống tìm kiếm của Google, hệ tư van video của Youtube, hệ tư van của Yahoo Hệ thống khuyến nghị đã chứng minh được ý nghĩa to lớn trong việc giúp người sử dụng trực tuyến đối phó với tình trạng quá tải thông tin Chính vì vậy nó trở thành một công cụ mạnh mẽ và phổ biến trong thương mại điện tử, giải tri va nhiều lĩnh vực khác.
1.1.3 Một số lợi ích của hệ thong khuyến nghị
- Tăng số lượng các mặt hàng bán ra cho các hệ thống thương mại điện tử.
Trang 5- Tăng sự hài lòng của người dùng.
- Tăng độ tin cậy, độ trung thực của người dùng.
- Hiểu rõ hơn về những gì người dùng muốn.
1.1.4 Giới thiệu bài toán về hệ thong khuyến nghị
Goi U là tập tat cả người dùng (users) và P là tập tat cả các sản phẩm (items) có thé tư vấn Tập P có thé rất lớn, từ hàng trăm ngàn (sách, cd, ) đến hàng triệu (như website) Tập U trong một số trường hợp cũng có thể lên đến hàng triệu người dùng Hàm r(u,p) đo độ phù hợp (hay thứ hang) của sản phẩm p với user u:
r:UxP->R (1.1)
Trong đó, R là tập các đánh giá (rating) được sắp thứ tự Với mỗi người dùng u 6U, cần tìm san phẩm péP sao cho hàm r(u,p) đạt gia trị lớn nhất.
1.2 Các kỹ thuật lọc cho hệ thống khuyến nghị
1.2.1 Kỹ thuật lọc dựa theo nội dung
Kỹ thuật lọc dựa theo nội dung (Content-Based Filtering)!°! được dựa trên các mô tả có sẵn về đối tượng Phương pháp khuyến nghị dựa trên độ phù hợp r(u,p) của sản phẩm p với người dùng được đánh gia dựa trên độ phù hợp r(u,p;), trong đó p, thuộc P
và tương tự như p Ví dụ, dé gợi ý một bộ phim cho người dùng u, hệ thong khuyén nghi
sẽ tìm các đặc điểm của những bộ phim từng được đánh giá cao (như diễn viên, dao diễn, thể loại, ; sau đó chỉ những bộ phim tương đồng với sở thích của u mới được giới
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à loc thông tin (IF — Information Filtering) Do đó
rất nhiều hệ thong dựa trên nội dung hiện nay tập trung vào việc gợi ý các đối tượng chứa dữ liệu text như văn ban, tin tức, website, Việc thu thập thông tin tao hồ sơ người dùng
(chứa thông tin về sở thich, nu cau, ) được xây dựng dựa trên những thông tin mà 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).
1.2.2 Kỹ thuật lọc cộng tác
Ý tưởng cơ bản của kỹ thuật lọc cộng tác (Collaborative Filtering) là dựa vào các đánh giá của những người dùng quá khứ lên các sản phẩm dé dự đoán sự đánh giá của họ
lên các sản phẩm ma họ chưa đánh giá.
Hệ thống lọc cộng tác dự đoán mức độ phù hợp r(u,p) của một sản phẩm p với người dùng u dựa trên mức độ phù hợp r(u;p) giữa người dùng u; và sản phẩm p, trong đó u; là người dùng có cùng sở thích với u Ví dụ, dé gợi ý một bộ phim cho người dùng u, đầu tiên hệ thống cộng tác sẽ 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ư van cho u.
Ngay từ khi ra đời, các hệ thống lọc cộng tác đã thể hiện sự ưu việt hơn các hệ thống lọc theo nội dung Những ưu điểm của hệ thống lọc cộng tác như: có thé lọc được
Trang 6mọi loại thông tin, có thể lọc kết hợp nhiều loại thông tin trong một hệ thống, không cần
mô tả thông tin chỉ tiết về item hay người dùng, đơn giản hơn trong cài đặt.
1.2.3 Kỹ thuật Hybrid
Kỹ thuật Hybrid"! là phương pháp kết hợp của hai kỹ thuật lọc dựa theo nội dung và kỹ thuật lọc cộng tác Mỗi kỹ thuật đều có những ưu điểm và nhược điểm riêng, do đó khi kết hợp có thê khắc phục những hạn chế của từng kỹ thuật Thông thường có 4 cách kết hợp như sau:
i) Cài đặt hai phương pháp riêng rẽ rồi kết hợp dự đoán của chúng với nhau Có hai
lựa chọn cho trường hợp này là:
- _ Kết hợp kết quả của cả hai phương pháp thành một kết quả chung duy nhất - Tai mỗi thời điểm chọn một phương pháp cho kết quả tốt hơn
ii) Tích hợp các đặc trưng của phương pháp dựa trên nội dung vào hệ thống lọc cộng
iii) Tích hợp các đặc trưng của phương pháp cộng tác vào hệ thông dựa trên nội dung iv) Xây dựng mô hình hợp nhất, bao gồm các đặc trưng của cả hai phương pháp.
Kỹ thuật Hybrid có thé cải thiện hiệu suất dự đoán, và quan trọng hơn là nó vượt qua những vấn đề lọc thông tin như dữ liệu thưa thớt, người dùng mới Tuy nhiên, sự kết
hợp này làm gia tăng độ phức tạp và giá thành cao.
Trang 7Chương 2.
KỸ THUẬT LỌC CỘNG TÁC
Giả thuyết của lọc cộng tác là: “nếu người dùng i và j đánh giá cho n sản phẩm
tương tự nhau, hoặc có hành vi tương tự nhau (như xem, mua, nghe, ) thì họ sẽ có các
đánh giá tương tự nhau đối với các sản phẩm khác”.
2.1 Bài toán lọc cộng tác
Bài toán lọc cộng tác được phát biểu như sau:
Cho một tập hữu hạn gồm có N người dùng =(u;, uo, , uy}, một tập gồm M sản phẩm P =(p,, po, , puJ Mỗi sản phẩm p; thuộc P có thé là phim, ảnh, tai liệu, sách, hàng hóa, dịch vụ hoặc bất kì dang thông tin nao mà người dùng cần đến Một ma trận
R=(r;) với i=1, N; j=1, M, thé hiện mối quan hệ giữa tập người dùng U va tập sảnpham P Trong đó r là đánh giá của người dùng u; cho sản phẩm Dj.
Các giá trị r;; nhận giá tri theo các hình thức: thu thập trực tiếp ý kiến đánh giá của người dùng u; về sản phẩm p; hoặc thu thập gián tiếp thông qua cơ chế phản hồi của
người dùng.
Gọi u, là người dùng hiện thời cần được khuyến nghị sản pham Py VỚI ruy=Ø (nghĩa là người dùng u, chưa đánh giá hoặc chưa từng biết đến sản phẩm py) Bài toán lọc cộng tác có nhiệm vụ dự đoán đánh giá r,, của người dùng u, với sản phẩm py Từ đó giới thiệu cho người dùng u, những sản phẩm phù hợp nhất dựa trên giá trị r„, những sản phẩm được khuyến nghị cho người dùng u, là những sản pham có đánh giá cao.
2.2 Các phương pháp tiếp cận trong lọc cộng tác
Trong lọc cộng tác, người ta thường chia ra làm hai nhóm chính là phương pháp
tiếp cận dựa trên bộ nhớ và phương pháp tiếp cận dựa trên mô hình.
2.2.1 Lọc cộng tác dựa trên bộ nhớ
Phương pháp lọc cộng tác dựa trên bộ nhớ (Memory-base Collaborative
Filtering J SIL] có đặc trưng cơ bản là nó thường sử dụng toàn bộ đữ liệu đã có dé dự đoán đánh giá của một người dùng nào đó về sản phâm mới Nhờ lợi thé là nó có khả năng đưa trực tiếp dữ liệu mới vào bảng dữ liệu, do đó nó đạt được khá nhiều thành công khi được
áp dụng vào các ứng dụng thực tế Cũng do đó mà các kỹ thuật này thường đưa ra các dự đoán chính xác hơn trong các hệ trực tuyến — nơi mà luôn có dữ liệu mới được cập nhật Tuy nhiên các hệ thống thường gặp phải van đề là sự thưa thớt dữ liệu.
Thông thường có hai cách tiếp cận dựa trên bộ nhớ: hệ dựa trên người dùng - tức là dự đoán trên sự tương tự giữa các người dùng và hệ dựa trên sản phẩm - dự đoán dựa trên sự tương tự giữa các sản phẩm.
Hệ dựa trên người dùng 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 y bởi
người dùng i, 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 i.
Trang 8Những hệ dựa trên sản phẩm thì xử lý theo phương pháp ngược lại: chúng tính sự tương tự giữa sản phẩm x và sản phẩm y thông qua so sánh trọng số đánh giá được tạo ra bởi cùng người dùng ¿ trên sản pham x và y.
Hiệu quả của các phương pháp lọc cộng tac dựa vào bộ nhớ phụ thuộc vào độ đo
tương tự giữa các cặp người dùng hoặc sản phẩm Có một số phương pháp tính độ đo tương tự như: khoảng cách Manhattan, khoảng cách Euclidean, hệ số tương quan Pearon,
2.2.1.2 Phương pháp cải tiến K-hàng xóm gần nhất (KNN)
Phương pháp KNN (K-nearest neighbor)!'”Ì là phương pháp phổ biến được sử
dụng trong phương pháp lọc cộng tác dựa trên bộ nhớ Nó sử dụng toàn bộ cơ sở dữ liệu
dé tạo ra các dự đoán trực tiếp.
KNN được phan ra làm hai phương pháp cơ bản là KNN dựa trên người dùng va
KNN dựa trên sản pham Trong hau hết các trường hợp thực tế, hiệu quả của phương pháp KNN dựa trên người dùng là kém hơn so với phương pháp KNN dựa trên sản phẩm.
*) Thuật toán KNN dựa trên người dùng:
Y tưởng của phương pháp này là: Tim tap (u,),uW,2, ,„„) người dùng tương tự nhất với người dùng u, Sau đó dựa vào đánh giá của k người dùng này với sản phẩm Dy dé dự đoán đánh giá của người dùng , với sản phẩm Py.
Các bước cu thé như sau:
- Goi d(u,,u,) là độ đo tương tự giữa người dùng u, và người dùng u;.
- Tim tập k người dùng gần nhất (00s, ,„„) với người dùng u, theo công thức:
k={min; d(uj,u,)} , với i=1 k (2.5)
- Tinh đánh giá dự đoán cua r,, của người dùng u, với san phẩm Py theo công thức
+ ryiy là đánh giá của người dùng u,; cho sản pham p,
+ hu,;) là mức độ ảnh hưởng của người dùng u,; trong việc đưa ra dự đoán đánhgiá r„, h(u,;) được tính theo công thức sau:
Trang 9AU Uy) (2.7)k
Sid (ưu „) h, (u,;) =
* ) Thuật toán KNN dựa trên sản phẩm
Ý tưởng của thuật toán KNN dựa trên sản phẩm dé xác định đánh giá của người dùng u lên sản phẩm m là: ta có thé tìm các sản phẩm khác tương tự như m và dựa trên những đánh giá của u xếp hạng cho các sản phẩm tương tự đó dé suy ra đánh giá của người dùng cho sản phẩm m.
ĐỀ xác định các sản phẩm tương tự, ta có thể sử dụng hệ SỐ tương quan cosin Hệ số tương quan cosin cho hai sản phẩm a và b được xác định như sau:
» Cự ~ RR, ~~ R,)
cos(a, b) = — Sewer) (2.8)
» (Ria ~~ R, y » (Ry ~~ R, y’
ueU (a)©U (b) ueU (a)^U (b)
Trong đó:
+ R,, là đánh giá của người dùng cho sản phẩm a;
+R, là giá trị trung bình các đánh giá của người dùng u;
+ U@) và U(b) tương ứng là tập người dùng đánh giá cho sản phẩm a và tập người
dùng đánh giá cho sản phẩm b.
Dựa vào công thức trên ta tìm được tập & sản phẩm tương tự nhất với sản phẩm m
mà người dùng w đã đánh giá và kí hiệu là N/ 0n).
Từ đó ta có công thức tính dự đoán đánh giá của người dùng lên sản phẩm m
2.2.2 Lọc cộng tác dựa trên mô hình
Ngược lại với phương pháp lọc dựa trên bộ nhớ, phương pháp lọc dựa trên mô
hình (Model-base Collaborative Filtering)”” sử dụng tập đánh giá dé xây dựng mô hình huấn luyện Kết quả của mô hình huấn luyện được sử dụng dé sinh ra các dự đoán quan điểm của người dùng về các sản phẩm mà họ chưa đánh giá Có rất nhiều thuật toán lọc
cộng tác dựa trên mô hình như: mô hình mạng Bayes, mô hình phân nhóm, mô hình ngữ
nghĩa tiềm ân,
Lọc cộng tác dựa trên mô hình có ưu điểm là mô hình huấn luyện có kích thước nhỏ hơn rất nhiều so với ma trận đánh giá Do đó nó xử lý dữ liệu nhanh và xử lý đữ liệu thưa thớt tốt hơn so với lọc dựa trên bộ nhớ Điều này giúp khả năng mở rộng với các tập
Trang 10dữ liệu lớn và cải thiện hiệu suất dự đoán Tuy nhiên nó có nhược điểm là giá thành xây dựng mô hình cao, cần phải có một sự cân bằng giữa hiệu suất và khả năng mở rộng dự đoán, có thể bị mất thông tin hữu ích do mô hình giảm và một số mô hình có khó khăn
trong việc giải nghĩa các dự đoán.
2.3 Mô hình nhân tố ấn
Mô hình nhân tố ân (Latent factor models)'''! là một phương pháp tiếp cận trong lọc cộng tác, có mục tiêu khám phá các tính năng tiềm ân có thể giải thích các xếp hạng được quan sát Một số mô hình nhân tố ân phô biến như: pLSA (Hofmann — 2004), mạng nơ-ron (Salakhutdinov — 2007), phân bé Dirichlet tiềm ấn (Blei — 2003), mô hình được
tạo ra từ việc phân tích giá trị đơn (singular value decomposition - SVD) trong ma trận
người dùng — sản phẩm.
Về cơ bản, các mô hình nhân tố ân sử dụng các mô tả về người dùng và sản phẩm để giải thích sự xếp hạng Ví dụ đối với phim ảnh, các nhân tố được phát hiện có đặc điểm rõ ràng như: bộ phim hài so với phim truyền hình, số lượng hành động, định hướng đến trẻ em; khía cạnh ít được định nghĩa như chiều sâu của sự phát triển nhân vật; hoặc những yếu tố hoàn toàn không thé giải thích được; đối với người dùng có nhân tổ đo lường có bao nhiêu người thích các bộ phim có điểm số cao trên yếu tố phim ảnh tương
Hình 2.1 minh họa ý tưởng trên với một vi dụ đơn giản trong không gian hai
chiều Ta xem xét hai khía cạnh đặc trưng như định hướng nữ đối lập với nam, thê loại phim chân thực đối lập với thể loại phim giả tưởng Hình vẽ cho thấy một số bộ phim nồi tiếng và một vài người dùng hư cấu có thé rơi vào hai khía cạnh này Đối với mô hình
này, dự đoán đánh giá của một người dùng cho một bộ phim, so với đánh giá trung bình
của bộ phim, tương đương với vi trí của bộ phim và người dùng đó trên đồ thị Ví dụ, chúng ta có thể đoán rằng Gus thích “Dumb and Dumber”, ghét “The Color Purple”, và bình thường với “braveheart” Lưu ý rằng một số bộ phim (vi dụ như “Ocean’s 11”) và một số người dùng (vi dụ như Dave) có thể được mô tả là trung lập đối với cả hai chiều.
Trang 112.4 Phương pháp thừa số hóa ma trận” 2.4.1 Ma trận thừa số
Cho tập dữ liệu gồm: tập U là tập gồm có N người dùng và tập P là tập gồm có M
sản phâm, ma trận R là ma trận các đánh giá R =(r;, i=1 N, j=1 M} Mỗi giá tri rj thé
hiện đánh gia của người dùng u;e U đối với sản phẩm p;eP Giá tri rj có thể thu thập trực tiếp bằng cách hỏi ý kiến người dùng hoặc thu thập gián tiếp thông qua cơ chế phản hồi
của người dùng.
Trong cấu trúc cơ bản của ma trận thừa số thì đặc trưng của người dùng và sản phẩm được biéu diễn bởi một vector nhân tố suy ra từ mô hình đánh giá các sản phẩm Su phù hợp của các nhân tố giữa người dùng và sản phẩm được thể hiện bởi vector q,eRf Mỗi người dùng u được liên kết với một vector p, ER’ Đối với mỗi sản phẩm i, các phan tử g; đánh giá mức độ tích cực hay tiêu cực của các nhân tố mà sản phẩm đang sở hữu Đối với mỗi người dùng u, các phan tử p„ đo lường mức độ quan tâm của người dùng đối với các sản phẩm về các nhân tố tương ứng là tích cực hay tiêu cực Kết qua đánh giá sản phẩm q/ p, nam bat được mối tương tác giữa người dùng và sản phẩm i Điều này tương đương với việc người dùng wu đánh giá sản phẩm i và được ký hiệu là r„,
từ đó dẫn đến công thức ước tính như sau:
ru =) Du (2.10)
Vi dụ minh hoa như sau:
Ts v6 qs5x3 P3x6
rạ; = (a,b,c)* (x,y,z) = a*x + b*y + c*z
A Vector nhân tố người dùng
Xép hang du doan ru =
Tu =i PIu
Vector nhan té san pham
Hình 2.2 Ví du minh hoa phương pháp thừa số hóa ma trận
Van đề thách thức chính là tính toán dé lập ánh xạ của từng sản phâm và người dùng đến các vector nhân tố dis p„ € R’ Dựa vào công thức (2.10) ta có thé dé dang ước tính đánh giá của một người dùng cung cấp cho bất kỳ một sản phẩm nảo.
2.4.2 Phát biểu bài toán
Mục đích của phương pháp thừa số hóa ma trận là xấp xỉ ma trận đánh giá R thành hai ma trận nhỏ hơn Phát biểu bài toán như sau:
Trang 12Cho tập đữ liệu huấn luyện:
- _ Ma trận đầu vào Rye (N người dùng và M san phẩm) là ma trận các đánh giá của người dùng i cho sản phẩm j (với i=1 N, j=1 M).
- _ Z là tập dữ liệu huấn luyện của ma trận đầu vào R, chính là những đánh giá thực tế của người dùng ¡ cho sản phẩm /.
Với K là một tham số bắt kì (K<M,N), ta có không gian tham SỐ:
- _ Ma trận Wyex là hàng nhân tố ân của sản phẩm người dùng của ma trận R - _ Ma trận Hy«y là cột nhân tố ân của sản phẩm của ma trận R.
Khi đó ta có:
LẠ ~ Wyre H vụ (2.11)
Quá trình phân tích ma trận sẽ xảy ra van đề tốn thất Giá trị ton thất được kí hiệu là L„(W,‹,H), thể hiện giá tri tốn thất tại (ij) Gia trị trung bình của ham tốn thất cảng
nhỏ thì tính hiệu quả của mô hình càng được đánh giá cao và ngược lại Tức là :
argmin Ð /,(W,,H,,) (2.12) (,j)eZ
2.4.3 Thuật toán Gradient descent (GD)
2.4.3.1 Cơ sở lý thuyết
Gradient descent (GD) là thuật toán cơ bản nhất nhằm dé tối ưu hóa một hàm Nó
còn có tên gọi khác là Steepes descent Gradient descent là phương pháp lặp di lặp lại
việc đưa ra một điểm ban đầu, sau đó gradient âm trong danh sách di chuyên theo hướng
tới điểm tới hạn, chính là tối thiểu địa phương mong muốn.
*) Phát biểu bài toán :
Cho hàm đa biến f(x) được định nghĩa và khả vi trong khu vực của điểm a Đi từ a theo hướng gradient âm của F tại a (kí hiệu là —VF(ø)) thì F(x) giảm nhanh nhất Với z đủ nhỏ, nếu b=a—YWF(a) thì F(a)> F(b).
Dựa vào những điều trên ta bắt đầu với điểm tối thiểu cục bộ của F là Xo, sau đó
xem xét day Xo, Xị, X2, như sau:
Xi =X, Yn VF(x,),1 20 (2.13)
Ta có: F(x) = F(x¡)3 F(x2)= Do đó ta hy vọng day (xạ) hội tu đến mức tối thiểu cục bộ mong muốn Lưu ý rằng giá trị của y được phép thay đổi tại mỗi lần lặp.
*) Thuật toán:
Thuật toán được khởi tạo với một giá trị dự đoán ban đầu xạ, một số lần lặp tối đa N„„„, một sai số gradient cho phép e, được sử dụng để xác định thuật toán đã đạt đến điểm quan trong, và một sai số bước £, dé xác định tiến trình có ý nghĩa đang được thực
hiện Nó thực hiện như sau: