Tải bản đầy đủ (.pdf) (60 trang)

Nghiên cứu, xây dựng hệ thống khuyến nghị phim tự động (Luận văn thạc sĩ)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.48 MB, 60 trang )

HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
---------------------------------------

BÙI VĂN MINH

NGHIÊN CỨU, XÂY DỰNG HỆ THỐNG
KHUYẾN NGHỊ PHIM TỰ ĐỘNG

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)

HÀ NỘI – 2018


HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG
---------------------------------------

BÙI VĂN MINH

NGHIÊN CỨU, XÂY DỰNG HỆ THỐNG
KHUYẾN NGHỊ PHIM TỰ ĐỘNG
CHUYÊN NGÀNH

:

KHOA HỌC MÁY TÍNH

MÃ SỐ

:


8.48.01.01

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)

NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. NGUYỄN VĂN THỦY

HÀ NỘI - 2018


i

LỜI CAM ĐOAN
Luận văn này là thành quả của quá trình học tập nghiên cứu của tôi cùng sự
giúp đỡ, khuyến khích của các quý thầy cô sau 2 năm theo học chương trình đào
tạo Thạc sĩ, chuyên ngành Khoa học máy tính của trường Học viện Công nghệ
Bưu chính Viễn thông.
Tôi cam đoan đây là công trình nghiên cứu của riêng. Nội dung của luận
văn có tham khảo và sử dụng một số thông tin, tài liệu từ các nguồn sách, tạp chí
được liệt kê trong danh mục các tài liệu tham khảo và được trích dẫn hợp pháp.
Tác giả
(Ký và ghi rõ họ tên)

Bùi Văn Minh


ii

LỜI CÁM ƠN

Thực tế luôn cho thấy, sự thành công nào cũng đều gắn liền với những
sự hỗ trợ, giúp đỡ của những người xung quanh dù cho sự giúp đỡ đó là ít hay
nhiều, trực tiếp hay gián tiếp. Trong suốt thời gian từ khi bắt đầu làm luận văn
đến nay, em đã nhận được sự quan tâm, chỉ bảo, giúp đỡ của thầy cô, gia đình
và bạn bè xung quanh.
Với tấm lòng biết ơn vô cùng sâu sắc, em xin gửi lời cảm ơn chân thành nhất
từ đáy long đến quý Thầy Cô của học viện đã cùng dùng những tri thức và tâm
huyết của mình để có thể truyền đạt cho chúng em trong vốn kiến thức quý báu suốt
thời gian học tập tại trường.
Đặc biệt, em xin chân thành cảm ơn TS. Nguyễn Văn Thủy đã tận tâm chỉ
bảo hướng dẫn em qua từng buổi nói chuyện, thảo luận về đề tài nghiên cứu. Nhờ
có những lời hướng dẫn, dạy bảo đó, bài luận văn này của em đã hoàn thành một
cách suất sắc nhất. Một lần nữa, em xin gửi lời cảm ơn chân thành đến thầy.
Do vốn kiến thức còn hạn chế, không tránh khỏi những thiếu sót, em rất
mong nhận được ý kiến đóng góp của quý Thầy Cô để bài luận được hoàn
thiện hơn.
Hà Nội, ngày 10 tháng 11 năm 2017
Học viên

Bùi Văn Minh


iii

MỤC LỤC
LỜI CAM ĐOAN ............................................................................................. i
LỜI CÁM ƠN .................................................................................................. ii
MỞ ĐẦU .......................................................................................................... 1
CHƢƠNG 1: TỔNG QUAN VỀ HỆ THỐNG KHUYẾN NGHỊ ............... 3
1.1. Giới thiệu về hệ thống khuyến nghị ..................................................... 3

1.2. Khái quát về phương pháp khuyến nghị............................................. 4
1.2.1. Bài toán khuyến nghị............................................................. 4
1.2.2. Phương pháp sử dụng dữ liệu khuyến nghị........................... 6
1.3. Một số ứng dụng thực tế của hệ thống khuyến nghị ........................... 9
1.3.1. Dịch vụ Netflix ...................................................................... 9
1.3.2. Dịch vụ YouTube ................................................................ 11
1.3.3. Website thương mại Amazon .............................................. 14
CHƢƠNG 2: PHƢƠNG PHÁP KHUYẾN NGHỊ ..................................... 18
2.1. Khuyến nghị dựa trên nội dung........................................................ 18
2.1.1. Phương pháp dự đoán .......................................................... 19
2.1.2. Ưu điểm ............................................................................... 19
2.1.3. Nhược điểm ......................................................................... 20
2.2. Lọc cộng tác .................................................................................... 20
2.2.1. Cách tiếp cận dựa trên bộ nhớ ............................................. 21
2.2.2. Cách tiếp cận dựa trên mô hình ........................................... 23
2.2.3. Một số hạn chế của lọc cộng tác ......................................... 24
2.3. PMF (Probabilistic Matrix Factorization) ........................................ 25
2.4. BPMF (Bayesian Probabilistic Matrix Factorization) ...................... 27
2.4.1. Mô hình ............................................................................... 27
2.4.2. Dự đoán ............................................................................... 28


iv

2.4.3. Kết luận ............................................................................... 29
2.5. ALS (Alternating Least Squares) ..................................................... 31
2.5.1. Phân loại ma trận cơ bản cho vấn đề khuyến nghị .............. 31
2.5.2. Alternating Least Squares ................................................... 32
2.5.3. Xu hướng người dùng và xu hướng sản phẩm .................... 34
2.5.4. Kết luận ............................................................................... 37

CHƢƠNG 3: THỰC NGHIỆM, ĐÁNH GIÁ VÀ XÂY DỰNG HỆ
THỐNG KHUYẾN NGHỊ PHIM TỰ ĐỘNG ............................................ 38
3.1. Thực nghiệm mô hình, thuật toán .................................................... 38
3.1.1. Giới thiệu tập dữ liệu thử nghiệm MovieLens .................... 38
3.1.2. PMF ..................................................................................... 40
3.1.3. BPMF .................................................................................. 40
3.1.4. ALS...................................................................................... 40
3.2. Kết quả thực nghiệm........................................................................ 41
3.2.1. PMF và BPMF..................................................................... 41
3.2.2. ALS...................................................................................... 41
3.3. Đánh giá kết quả .............................................................................. 42
3.4. Áp dụng xây dựng hệ thống ............................................................. 43
3.4.1.. Thiết kế hệ thống ................................................................ 43
3.4.2. Xây dựng hệ thống khuyến nghị phim. ............................... 43
KẾT LUẬN .................................................................................................... 49
TÀI LIỆU THAM KHẢO ............................................................................ 50


v

DANH MỤC TỪ VIẾT TẮT

STT

Từ viết
tắt

Tiếng Anh

Tiếng Việt

Sai số toàn phương

1

RMSE

Root mean squared error

2

ALS

Alternating Least Squares

Thuật toán ALS

3

PMF

Probabilistic Matrix Factorization

Thuật toán PMF

4

BPMF

5


MCMC

Markov Chain Monte Carlo

6

INTS

Interactions

Sự tương tác

7

IMTS

Impressions

Số lần hiển thị

8

HMF

Hybrid matrix factorization

Ma trận nhân tử lai

Bayesian Probabilistic Matrix
Factorization


trung bình

Thuật toán BPMF
Chuỗi thuật toán
Markov Monte Carlo


vi

DANH MỤC CÁC BẢNG BIỂU
Bảng 3.1. Kết quả thực nghiệm RMSE của PMF và BPMF. ................................ 41
Bảng 3.2. Kết quả thực nghiệm ALS. ................................................................. 42
Bảng 3.3. So sánh giữa cơ sở dữ liệu hướng cột và cơ sở dữ liệu hướng dòng ...... 44


vii

DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Bài toán dự đoán đánh giá. .................................................................... 5
Hình 1.2. Ma trận biểu diễn dữ liệu trong hệ khuyến nghị...................................... 6
Hình 1.3. Dự đoán đánh giá dựa trên dữ liệu rõ ràng. ............................................ 7
Hình 1.4. Dự đoán dựa trên dữ liệu ẩn. ................................................................. 9
Hình 1.5. Giao diện của Netflix .......................................................................... 10
Hình 1.6. Giao diện YouTube ............................................................................ 12
Hình 1.7. Giao diện khuyến nghị trên trang chủ, chiếm tỉ lệ click cao. ................. 14
Hình 1.7. Giao diện khuyến nghị của Amazon khi xem bàn phím ........................ 15
Hình 1.8. Khuyến nghị tại trang chủ của Amazon sau khi xem một số mặt hàng ... 16
Hình 2.1. Khuyến nghị dựa trên độ tương tự của sản phẩm .................................. 18
Hình 2.2. Khuyến nghị dựa trên người dùng ....................................................... 21

Hình 2.3. Mô hình đồ họa cho Probabilistic Matrix Factorization. ....................... 25
Hình 2.4. Mô hình đồ họa biểu diễn BPMF. ........................................................ 27
Hình 3.1. Định dạng file users. ........................................................................... 38
Hình 3.2. Định dạng file ratings. ........................................................................ 39
Hình 3.3. Định dạng file movies. ........................................................................ 39
Hình 3.4. Sơ đồ hệ thống khuyến nghị. ............................................................... 43
Hình 3.5. Quan hệ giữa các bảng trong cơ sở dữ liệu. .......................................... 46


1

MỞ ĐẦU
Cùng với sự phát triển bùng nổ của internet, các kênh tìm hiểu thông tin, giải
trí, thương mại điện tử… cũng phát triển nhanh chóng và mạnh mẽ. Giờ đây, gần
như chúng ta có thể tìm kiếm được mọi thứ trên internet, từ tài liệu, sách, truyện,
phim, video đến mặt hàng, sản phẩm…
Mỗi người, khi có một nhu cầu mua bán hoặc giải trí, sẽ có 2 cách để thực
hiện. Thứ nhất, người đó có thể đến một địa điểm bán hàng hoặc vui chơi, nơi đó có
những nhân viên có thể khuyến nghị về vấn đề của khách hàng hoặc khách hàng có
thể thỏa thích xem qua những sản phẩm trên kệ hàng. Thứ 2, người có nhu cầu sử
dụng internet để tìm kiếm.
Người thích đọc sách, các trang web đọc sách online, mua bán sách sẽ là địa
chỉ truy cập thường xuyên. Người dùng có thể tìm kiếm ra cuốn sách mình muốn
đọc nhưng có thể, có những cuốn sách hay, phù hợp mà họ không biết đến.
Người thích mua sắm có thể tìm kiếm những gì mình cần mua trên các trang
bán hàng, nhưng có thể có những vật dụng khác mà nhất thời chưa nghĩ ra hoặc
chưa được biết đến phù hợp với họ.
Tương tự như vậy, người thích xem phim tìm kiếm các bộ phim ưa thích trên
các trang xem phim trực tuyến, nhưng có thể có những bộ phim khác phù hợp với
thể loại, sở thích của người dùng mà họ không biết đến.

Điểm yếu so với cách thứ nhất của cách thứ 2 – sử dụng internet chính là ở các
trang web truyền thống thiếu đi một nhân viên tư vấn cho khách hàng truy cập vào
trang web của mình. Có nhiều giải pháp được đưa ra như lập một kênh trò chuyện
trực tuyến giữa nhân viên bán hàng và người dùng, gọi điện thoại tư vấn. Như vậy,
với một trang web có lượng truy cập lớn, số nhân viên trực cũng phải cần rất nhiều.
Điều này đòi hỏi chi phí cao. Vì vậy, hệ thống khuyến nghị tự động ra đời, giải
quyết được các vấn đề đó.
Việc lựa chọn đề tài trên với các mục đích sau:
- Nghiên cứu tổng quan về hệ thống khuyến nghị và các phương pháp
học máy.


2

- Nghiên cứu sâu về các thuật toán PMF (Probabilistic Matrix Factorization),
BPMF (Bayesian Probabilistic Matrix Factorization), ALS (Alternating Least
Squares).
- Ứng dụng và xây dựng hệ thống khuyến nghị phim tự động với tập dữ liệu
MovieLens
Luận văn sẽ được trình bày trong 3 chương chính với nội dung như sau:
Chƣơng 1. Tổng quan về hệ thống khuyến nghị
Chương 1 sẽ giới thiệu về hệ thống khuyến nghị và khái quát về phương pháp
khuyến nghị. Sau đó sẽ giới thiệu về một số nghiên cứu có liên quan đến đề tài.
Chƣơng 2. Phương pháp khuyến nghị
Chương 2 sẽ giới thiệu về tập dữ liệu thử nghiệm MovieLens và trình bày chi
tiết về các thuật toán PMF (Probabilistic Matrix Factorization), BPMF (Bayesian
Probabilistic Matrix Factorization), ALS (Alternating Least Squares).
Chƣơng 3. Thử nghiệm, đánh giá và xây dựng hệ thống khuyến nghị
phim tự động
Chương 3 sẽ trình bày về phương pháp thử nghiệm thuật toán trong hệ thống

khuyến nghị, từ đó, áp dụng vào thử nghiệm, đánh giá thuật toán. Sau đó là quá
trình xây dựng hệ thống khuyến nghị phim tự động.


3

CHƢƠNG 1: TỔNG QUAN VỀ HỆ THỐNG KHUYẾN NGHỊ
1.1. Giới thiệu về hệ thống khuyến nghị
Kể từ khi thương mại hình thành và phát triển, những câu hỏi lớn được đặt
ra: “làm sao để bán được nhiều hàng hóa?”, “làm sao để khách hàng hài lòng với
sản phẩm?”… Vấn đề quyết định cho câu trả lời của những câu hỏi đó chính là
quảng cáo và tư vấn sản phẩm đến người tiêu dùng, hay nói cách khác là khuyến
nghị đến người tiêu dùng.
Dựa theo sự phát triển của thương mại, có thể chia khuyến nghị thành 2 loại:
truyền thống và hiện đại:
Truyền thống:
- Nhân viên bán hàng, tư vấn tại cửa hàng: đây là phương pháp mà hầu hết
các cửa hàng hiện nay đều sử dụng. Ưu điểm của nó cũng dễ dàng nhận thấy, nhân
viên cửa hàng có thể sử dụng kiến thức của mình để tư vấn trực tiếp, thuyết phục
khách hàng. Tuy nhiên, phương pháp này cần nguồn nhân lực lớn, chi phí cao, độ
hiệu quả phụ thuộc vào tính con người ở cả phía nhân viên tư vấn và khách hàng.
Ngoài ra, lượng khách hàng phân bố không đồng đều theo thời gian, có khi đông
khách, có khi vắng khách, dẫn tới thêm một bài toán nan giải khác là sử dụng hiệu
quả nguồn nhân lực để có doanh số, lợi nhuận tốt nhất.
- Phát tờ rơi, treo biển quảng cáo: thuê người phát tờ rơi ở những nơi đông
người hay treo biển quảng cáo để quảng bá mặt hàng của mình. Đây là cách làm rất
phổ biến từ trước đến nay. Tuy nhiên, chi phí cho phương pháp này khá cao và nó
mang tính phổ cập tới mọi người, nghĩa là thông tin sẽ bị lãng phí cho những người
không có nhu cầu.
Hiện đại: song song với những phương pháp khuyến nghị truyền thống vẫn

tồn tại, thế giới thương mại đã sinh ra những phương pháp khuyến nghị mới dựa
trên sự tiến bộ của khoa học, công nghệ, có hiệu quả cao như:


4

- Quảng cáo qua thông tin đại chúng như phát thanh, truyền hình… và sử
dụng nhân viên tư vấn qua tổng đài: về cơ bản, 2 phương pháp này có các đặc điểm
giống với việc treo biển quảng cáo và nhân viên bán hàng, tư vấn tại chỗ.
- Hệ thống khuyến nghị tự động: cùng với sự bùng nổ của internet, các
mạng xã hội, kênh giải trí cũng phát triển lớn mạnh không ngừng với tập người
dùng vô cùng lớn. Cuối tháng 6/2017, Facebook đạt cột mốc 2 tỉ người dùng,
YouTube cũng có trên 1 tỉ người dùng và đang trên đà tăng trưởng mạnh. Cùng với
đó là vô số các kênh giải trí, tin tức, mua sắm… lớn nhỏ khác, như xem phim, nghe
nhạc, báo chí, website bán hàng, chia sẻ kinh nghiệm… Đây chính là môi trường
quảng cáo cực kì tiềm năng. Mọi hành vi người dùng đều được lưu lại để phục vụ
mục đích làm dữ liệu nghiên cứu cho hệ thống khuyến nghị.
Hiện nay, mọi hệ thống có hiển thị quảng cáo trên internet đều sử dụng hệ
thống khuyến nghị để đưa ra những quảng cáo, đề xuất tốt nhất có thể cho người
dùng. Để làm được điều đó, hệ thống khuyến nghị sử dụng các thuật toán để phân
tích, dự đoán dựa trên dữ liệu hành vi người dùng được lưu lại. Nhờ đó, quảng cáo
mang tính cá nhân hóa tới người dùng. Hệ thống sẽ biết chính xác từng người sử
dụng có nhu cầu gì, muốn mua gì, xem gì để đưa ra khuyến nghị.
Phương pháp sử dụng hệ thống khuyến nghị khắc phục được gần như mọi
nhược điểm mà các phương pháp khác gặp phải. Thậm chí nó còn ưu việt ở chỗ, nó
nắm bắt được mọi hành vi người dùng trên từng hệ thống, vì vậy có thể dự đoán
được sở thích, tính cách trước khi cho ra kết quả.

1.2. Khái quát về phƣơng pháp khuyến nghị
1.2.1. Bài toán khuyến nghị

Trước khi luận văn trình bày khái quát về bài toán khuyến nghị, cần làm rõ 2
thuật ngữ được sử dụng: người dùng (user) và sản phẩm (item). Thứ nhất, khái niệm
người dùng ở đây là người sử dụng hệ thống để thực hiện các thao tác mua bán,
giao dịch, xem, đánh giá… Thứ hai, khái niệm sản phẩm là mặt hàng được giao


5

bán, video, bộ phim, bản nhạc, bài báo… Trong hầu hết các hệ thống khuyến nghị,
dữ liệu được sẵn sàng dưới dạng đánh giá của người dùng về sản phẩm.
Bài toán được đặt ra như sau: Với các dữ liệu tập người dùng U, tập các sản
phẩm I và tập dữ liệu D = {u, i,

}, trong đó, u

U, i

I,

là đánh giá của

người dùng u cho sản phẩm i. Cần dự đoán đánh giá sản phẩm của một người dùng
thứ n nào đó

cho sản phẩm

.

Hình 1.1. Bài toán dự đoán đánh giá.


Cụ thể, các thông tin này được biểu diễn thông qua một ma trận như trong
Hình 1.2. Ở đó, mỗi dòng là một người dùng, mỗi cột là một sản phẩm, và mỗi ô là
một giá trị đánh giá biểu diễn “mức độ thích” của người dùng trên sản phẩm tương
ứng. Các ô có giá trị là những sản phẩm mà các người dùng đã đánh giá trong quá
khứ. Những ô trống là những sản phẩm chưa được xếp hạng (điều đáng lưu ý là mỗi
người dùng chỉ xếp hạng cho một vài sản phẩm trong quá khứ, do vậy có rất nhiều ô
trống trong ma trận này – còn gọi là ma trận thưa – sparse matrix).


6

Hình 1.2. Ma trận biểu diễn dữ liệu trong hệ khuyến nghị.

Nhiệm vụ chính của hệ khuyến nghị là dựa vào các ô đã có giá trị trong ma
trận trên (dữ liệu thu được từ quá khứ), thông qua mô hình đã được xây dựng, hệ
khuyến nghị dự đoán các ô còn trống (của người dùng hiện hành), sau đó sắp xếp
kết quả dự đoán (ví dụ, từ cao xuống thấp) và chọn ra những sản phẩm được đánh
giá cao nhất, từ đó gợi ý chúng cho người dùng.
Để đánh giá độ chính xác của việc dự đoán, luận văn sử dựng độ đo Root
Mean Squared Error (RMSE):

√|
Trong đó,

|



(


là tập dữ liệu kiểm thử,

̂ )

(1.1)

là đánh giá của người dùng u đến

sản phẩm i, ̂ là đánh giá dự đoán của người dùng u đến sản phẩm i.

1.2.2. Phương pháp sử dụng dữ liệu khuyến nghị
Để giải quyết bài toán khuyến nghị, có nhiều phương pháp có thể giải quyết
được việc đó. Mỗi phương pháp sử dụng dữ liệu người dùng - sản phẩm theo những
cách khác nhau. Nhìn chung, có thể phân loại cách sử dụng dữ liệu người dùng - sản
phẩm thành 2 nhóm: Sử dụng dữ liệu rõ ràng và sử dụng dữ liệu ẩn.


7

a. Sử dụng dữ liệu rõ ràng
Những dữ liệu rõ ràng được sử dụng trong các thuật toán khuyến nghị như:
- Hồ sơ của sản phầm và người sử dụng: Đối với sản phẩm phim truyện là thể
loại, tác giả, diễn viễn, đạo diễn … đối với báo, tạp chí là các từ quan trọng trong
văn bản … Đối với người sử dụng, những thông tin như đánh giá của người dùng về
sản phẩm tương tự sản phẩm cần dự đoán.
- Dữ liệu đánh giá của toàn bộ hệ thống người dùng và sản phẩm: Sử dụng dữ
liệu đó để xây dựng ma trận đánh giá người dùng – sản phẩm.

Hình 1.3. Dự đoán đánh giá dựa trên dữ liệu rõ ràng.


Những thuật toán chỉ sử dụng dữ liệu rõ ràng thường đơn giản, dễ cài đặt.
Tuy nhiện độ chính xác dự đoán thường không cao.

b. Sử dụng dữ liệu ẩn
Dựa trên dữ liệu đánh giá người dùng và những dữ liệu rõ ràng, có thể phân
tích ra những dữ liệu ẩn, có ích cho việc dự đoán. Cụ thể, trong hệ khuyến nghị
phim tự động, những dữ liệu ẩn:
- Xu hướng phim (Movie biases): thể hiện sự phổ biến của các phim theo thời
gian. Một số sự kiện có thể làm cho một bộ phim trở nên được yêu thích hơn hoặc ít
yêu thích hơn. Điều này thể hiện trong các mô hình bởi thực tế là movie bias không
phải là vô hướng mà là một hàm thay đổi theo thời gian. Hiệu ứng này tương đối dễ


8

nắm bắt, bởi vì những thay đổi như vậy kéo dài một khoảng thời gian. Tuy nhiên,
việc thay đổi mức bias hàng ngày là không được mong đợi, mà là thay đổi trong
thời gian dài hơn.
- Xu hướng người dùng (User biases): người dùng thay đổi đánh giá cơ bản
theo thời gian. Ví dụ: một người dùng có xu hướng đánh giá một bộ phim trung
bình "4 sao", giờ đây có thể đánh giá một bộ phim "3 sao". Những ảnh hưởng như
vậy có thể xuất phát từ nhiều lý do. Ví dụ: nó liên quan đến thay đổi tự nhiên theo
thang đánh giá của người dùng, thực tế là các đánh giá được đưa ra liên quan đến
các đánh giá khác đã được đưa ra gần đây. Điều quan trọng là, hiệu ứng này được
đặc trưng bởi hai tính chất khiến khó có thể bắt được. Thứ nhất, cần quan sát hiệu
quả của giải pháp từng ngày, đây là giải pháp tốt và có sẵn trong dữ liệu. Nói cách
khác, user bias có hiệu quả trong một ngày có thể khác biệt đáng kể so với user bias
vào ngày hôm trước hoặc ngày hôm sau. Khó khăn thứ hai bắt nguồn từ thực tế là
người dùng thường gắn với chỉ một số ít các đánh giá, đặc biệt là khi tập trung vào
đánh giá của họ trong một ngày.

- Sở thích của người dùng: người dùng thay đổi sở thích theo thời gian. Ví
dụ, một fan hâm mộ của thể loại "tâm lý ly kỳ" có thể trở thành một fan hâm mộ
của "bộ phim truyền hình tội phạm" một năm sau đó. Tương tự, con người thay đổi
nhận thức của họ về một số diễn viên và đạo diễn nhất định. Một phần của hiệu ứng
này cũng liên quan đến thực tế là nhiều người có thể đánh giá trong cùng một hộ gia
đình. Hiệu ứng này được mô phỏng bằng cách lấy các yếu tố người dùng như là một
hàm thay đổi theo thời gian. Một lần nữa, cần phải mô hình hóa những thay đổi ở
mức rất tốt của xu hướng hàng ngày (sau tất cả, tại mỗi phiên mới, có thể nhận được
đánh giá từ một người khác trong gia đình), trong khi phải đối mặt với sự khan hiếm
đánh giá.
Thực tế, rất khó khăn để chỉ ra được chính xác dữ liệu ẩn như vậy. Ví dụ, để
chỉ ra một người thích nghe bài hát nào đó, người này nghe bài hát 1 lần, có thể chỉ
ra rằng bài hát không được thích. Tuy nhiên, cũng có thể do người dùng này bận


9

hoặc không chú ý hoặc không thể tìm ra bài hát đó và thực sự muốn nghe một lần
nữa. Nếu một người nghe bài hát 100 lần, chắc chắn rằng người đó thích bài hát đó.

Hình 1.4. Dự đoán dựa trên dữ liệu ẩn.

Những thuật toán sử dụng dữ liệu ẩn thường rất phức tạp trong tính toán và
triển khai. Tuy nhiên, độ chính xác thu được là tốt hơn rất nhiều so với những thuật
toán chỉ sử dụng dữ liệu rõ ràng.

1.3. Một số ứng dụng thực tế của hệ thống khuyến nghị
1.3.1. Dịch vụ Netflix
Netflix là một kênh phim truyện có hơn 75 triệu người theo dõi ở hơn 190
quốc gia và mỗi người trong số họ đều có trải nghiệm khác nhau mỗi khi họ đăng

nhập. Công ty có khoảng 1.000 người, trụ sở đặt tại Thung lũng Silicon, họ là
những người chịu trách nhiệm về kiến trúc sản phẩm và thuật toán cá nhân hóa
được đặt lại mỗi 24 giờ một lần để đảm bảo người dùng khám phá nội dung chính
xác những gì họ muốn xem trong số 13.000 phim trong bất kỳ thời điểm nào.


10

Phó chủ tịch về đổi mới sản phẩm của Netflix, Chris Jaffe, giải thích rằng
khoảng ba hoặc bốn năm trước, công ty nhận ra rằng cần phải giải quyết "vấn đề
hang thỏ" - có quá nhiều nội dung mà người dùng bị mất. Cũng giống như
Facebook News Feed, trên Netflix, người dùng đánh giá cao rằng một số nội dung
bị loại trừ bởi vì họ không thể xem được tất cả [22]. Netflix biết rằng chỉ có 90 giây
để thuyết phục người sử dụng có cái gì đó để họ xem trước khi họ từ bỏ dịch vụ và
chuyển sang một thứ khác, do đó, việc cá nhân hóa là chìa khóa để bảo đảm người
dùng tiếp tục quay trở lại.

Hình 1.5. Giao diện của Netflix

Nhưng cũng có vấn đề quá cá nhân hóa, vì vậy Netflix phải giới thiệu các
biến thể. Ví dụ một người dùng nói anh ấy thực sự thích những bộ phim truyền hình
kinh dị. Thuật toán biết điều đó, vì vậy nó sẽ chỉ cho anh ta hướng tới những
chương trình khác của thể loại đó. Nhưng mọi lúc và sau đó, nó sẽ gây kinh hoàng
khi đánh giá sự quan tâm của người này. Người dùng đã không xem một bộ phim
kinh dị trong bốn năm, do đó, các thuật toán nhanh chóng học được rằng người
dùng không quan tâm. Vì vậy, nó sẽ thử cái gì đó khác - có thể là một phim tài liệu


11


hoặc một bộ phim hài - để cho anh ta biết Netflix có nhiều hơn những bộ phim
truyền hình kinh dị.
Để xây dựng được hệ thống khuyến nghị như vậy, Netflix đã tổ chức các
diễn đàn, cuộc thi về khuyến nghị với giá trị giải thưởng lên đến hàng triệu đô la
cho những giải pháp tốt. Điển hình là giải pháp BellKor [11] đã đạt giải nhất của
năm 2008. Hầu hết các phương pháp được sử dụng trong giải pháp BellKor đều
được huấn luyện bằng cách sử dụng kĩ thuật giảm độ dốc tiêu chuẩn (standard
stochastic gradient descent). Bên cạnh việc sử dùng các phương pháp lọc cộng tác
cho tập hợp các giá trị đánh giá thưa thớt, tính chính xác cao thu được bằng cách
xem xét các đặc trưng khác của dữ liệu. Đầu tiên là thông tin về những bộ phim mà
mỗi người dùng chọn để đánh giá. Điều này phản ánh thực tế là các bộ phim được
đánh giá được chọn một cách có chủ đích bởi người dùng và không phải là một mẫu
ngẫu nhiên. Đặc trưng quan trọng thứ hai, đóng một vai trò rất quan trọng là tính
đến các hiệu ứng thời gian và nhận ra rằng các tham số mô tả dữ liệu không phải là
tĩnh mà là hàm biến thiên. Ngoài việc lựa chọn các đặc trưng của dữ liệu để mô
hình hóa, làm việc với các mô hình được thiết kế tốt cũng rất quan trọng. Nhờ vậy,
giải pháp BellKor cho kết quả dự đoán với RMSE = 0.8643.
Netflix đã đầu tư 5 tỷ đô la cho việc sản xuất chương trình vào năm 2016, sẽ
không có lý do nếu giả định rằng Netflix cũng điều chỉnh thuật toán dựa trên các
chương trình được đầu tư của họ.

1.3.2. Dịch vụ YouTube
Với trên 1 tỉ người dùng, mục tiêu của hệ thống khuyến nghị video trên
YouTube là rõ ràng: cung cấp các đề xuất video chất lượng cao được cá nhân hóa
cho người dùng của mình. Tuy nhiên, có một số thách thức trong cách cung cấp các
đề xuất video được cá nhân hoá:
- Thứ nhất, lượng video tải lên YouTube là vô cùng lớn.
- Thứ hai, phần lớn video này có siêu dữ liệu kém như tiêu đề và mô tả
không đầy đủ hoặc không liên quan.



12

- Thứ ba, số liệu sẵn có cho hệ khuyến nghị trên YouTube để đo lường sự
quan tâm của người dùng là rất mơ hồ so với những số liệu sẵn có cho các hệ thống
khuyến nghị khác như Amazon. Ví dụ: mua sản phẩm là yếu tố rõ ràng hơn về sự
quan tâm của người dùng hơn là xem video.
Hơn nữa, các đề xuất video trên YouTube phải mới mẻ vì nhiều video trên
YouTube vòng đời ngắn và các video cũ hơn thường nhận được ít sự quan tâm đến
từ người dùng.

Hình 1.6. Giao diện YouTube

Hệ thống đề xuất YouTube lấy dữ liệu từ hai nguồn chính. Đầu tiên là dữ
liệu nội dung, chẳng hạn như siêu dữ liệu như tiêu đề và mô tả. Thứ hai là dữ liệu
hoạt động của người dùng, được phân loại là dữ liệu rõ ràng, chẳng hạn như xếp
hạng và mục yêu thích và các dữ liệu ẩn, chẳng hạn như thời gian xem.
Trước khi tạo các video ứng viên đề xuất, hệ thống sẽ xác định một tập hợp
các video có liên quan mà người dùng có thể xem sau khi xem một video hạt giống
nhất định. Để làm như vậy, nó sử dụng một phương pháp được gọi là thăm viếng
(co-visitation) hoặc khám phá quy tắc liên kết để xác định cặp video được theo dõi
trong một phiên nhất định và tính điểm số liên quan cho các video này. Hệ thống
sau đó kết hợp các quy tắc liên kết của video liên quan với hoạt động của người
dùng trên trang web, chẳng hạn như video được người dùng xem và yêu thích, để


13

tạo ra một tập hợp video hạt giống. Một khi điều này được thực hiện, nó lưu vết
đường dẫn của các video liên quan tới hạt giống này thiết lập để tạo ra các video

khuyến nghị ứng viên. Hãy suy nghĩ về hạt giống đặt ra như là trung tâm của một
trang web và các ứng cử viên đề nghị tiềm năng như các điểm trên web mở rộng ra
ngoài từ trung tâm. Điểm càng gần trung tâm của web thì càng có nhiều liên quan
đến hạt giống và xa hơn thì ít liên quan hơn.
Khi một loạt các khuyến nghị ứng viên đã được tạo ra, chúng được xếp hạng
theo các tín hiệu khác nhau, có thể được tổ chức thành ba nhóm:
- Chất lượng video.
- Đặc trưng của người dùng.
- Đa dạng hóa.
Tín hiệu chất lượng video bao gồm các số liệu như số lượt xem, xếp hạng
video, nhận xét, mục yêu thích và các hoạt động chia sẻ. Tín hiệu cụ thể người dùng
được sử dụng để tăng các video tương tự với sở thích riêng của người dùng. Các
thuộc tính video hạt giống như số lần xem và thời gian xem được sử dụng để tạo ra
các tín hiệu đặc trưng người dùng này. Để tăng tính đa dạng, video ứng cử viên đề
xuất quá giống nhau được xóa và được thay thế bằng nội dung đa dạng hơn. Logic
cho đa dạng như vậy là người dùng có nhiều sở thích và sở thích xem tương ứng; do
đó, một bộ đề xuất quá giống với video hạt giống sẽ không phản ánh chính xác thị
hiếu của người dùng.
Hệ thống khuyến nghị của YouTube đã làm tốt để cải thiện trải nghiệm của người
dùng. Các video được đề xuất chiếm khoảng 60% số nhấp chuột trên trang chủ.


14

Hình 1.7. Giao diện khuyến nghị trên trang chủ, chiếm tỉ lệ click cao.

Hơn nữa, kết quả quan sát trong khoảng thời gian 21 ngày, tỷ lệ nhấp chuột
cho các video được đề xuất đã đạt được ở 207% so với trung bình cũng những video
được xem nhiều nhất [20].


1.3.3. Website thương mại Amazon
Doanh thu của Amazon đã tăng lên rất lớn dựa trên việc tích hợp thành công
các đề xuất qua trải nghiệm mua hàng - từ lúc khám phá sản phẩm cho đến khi rời
khỏi website. Việc cho phép đề xuất được cá nhân hóa trong thương mại điện tử có
lẽ là lý do số một cho các công cụ đề xuất để hạn chế những vấn đề như là vấn đề
đuôi dài (long tail) - các sản phẩm hiếm hoi, mờ nhạt không phổ biến và không dẫn
đến doanh thu. Đề xuất các mặt hàng có đuôi dài cho người mua sắm là rất quan
trọng, bởi vì nếu thành công nó có tiềm năng tạo doanh số cho hàng tồn kho chậm.


15

Hình 1.7. Giao diện khuyến nghị của Amazon khi xem bàn phím

Các thuật toán đề xuất của nhà bán lẻ khổng lồ dựa trên các yếu tố như: lịch
sử mua hàng của người dùng, các mặt hàng trong giỏ hàng, mặt hàng họ đánh giá và
thích, và những gì khách hàng khác đã xem và mua. Tuy nhiên, đối với một nhà bán
lẻ với nhiều mặt hàng như Amazon, thách thức đó là những khuyến nghị nào sẽ xuất
hiện và theo thứ tự nào – một vấn đề được biết đến như là "học cách xếp hạng"
trong khoa học dữ liệu. Một vấn đề thứ cấp là sự đa dạng – làm thế nào để hiển thị
những sự lựa chọn đa dạng của các sản phẩm trong đề xuất cho khác hàng. Amazon
có thể đạt được mức độ quan tâm cao của khách hàng với thuật toán dựa trên quy
trình là lọc cộng tác item – to – item.


16

Hình 1.8. Khuyến nghị tại trang chủ của Amazon sau khi xem một số mặt hàng

Tầm quan trọng của việc đề xuất đúng sản phẩm cho đúng người dùng có thể

được đánh giá bởi thực tế là 35% tổng doanh thu được ước tính là được tạo ra bởi
công cụ khuyến nghị. Amazon đang đầu tư một lượng lớn tài năng và nguồn lực để
có được kỹ năng học tập hiệu quả hơn, đặc biệt là công nghệ "deep learning" với
mục đích làm cho các công cụ khuyến nghị học hỏi và quy mô hiệu quả hơn. Deep
learning bao gồm việc tăng cường sức mạnh mạng tính toán cho phép tạo ra các
hình thức học tập phức tạp hơn.
Vào tháng 5 năm 2016, Amazon mở ra công nghệ trí tuệ nhân tạo tiên tiến
dựa trên một nền tảng điện toán đám mây. Công ty đã công bố DSSTNE, một


×