Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 40

Chương 1: Hệ thống trợ giúp là gì?

Ngoài kia còn rất nhiều điều khó hiểu về hệ thống gợi ý, vì vậy chúng ta
sẽ bắt đầu cuốn sách này bằng cách tìm hiểu xem nó giải quyết được
những vấn đề gì và nó được sử dụng như thế nào. Đây là những gì chúng
tôi sẽ đề cập:
Hiểu nhiệm vụ mà hệ thống gợi ý đang cố gắng mô phỏng
Phát triển cái nhìn sâu sắc về những đề xuất không được cá
nhân hóa và được cá nhân hóa
Phát triển cách phân loại về cách mô tả người giới thiệu
Giới thiệu website mẫu MovieGEEKs
Hãy lấy một tách cà phê và một chiếc chăn và tạo cảm giác
thoải mái cho phần giới thiệu về thế giới đề xuất này. Chúng ta
sẽ đi sâu vào vấn đề này, trước tiên hãy xem xét các ví dụ thực
tế trước khi chuyển sang các tính toán phức tạp của hệ thống
gợi ý trong các chương sau. Bạn có thể cảm thấy bị cám dỗ để
bỏ qua, nhưng đừng. Bạn cần có kiến thức cơ bản để hiểu kết
quả của những nỗ lực kỹ thuật đề xuất của bạn sẽ như thế nào.

1.1 Khuyến nghị thực tế


Tôi đã sống nhiều năm ở Ý, ở Rome. Rome là một nơi tuyệt
đẹp với nhiều chợ thực phẩm—không phải chợ trung tâm được
tìm thấy trong sách hướng dẫn đầy những túi Gucci nhái (vâng,
túi Gucci ở chợ thực phẩm)—nhưng là những chợ nằm ngoài
tuyến xe buýt du lịch, những chợ nơi người dân địa phương
mua sắm và nơi nông dân bán sản phẩm của họ.
Thứ bảy hàng tuần chúng tôi đến gặp người bán rau tên là
Marino. Chúng tôi là những khách hàng tốt, những người sành ăn
thực sự, vì vậy anh ấy biết rằng nếu anh ấy giới thiệu những thứ
tốt cho chúng tôi, chúng tôi sẽ mua chúng—ngay cả khi chúng
tôi đã có kế hoạch chặt chẽ là chỉ mua những gì có trong danh
sách của mình. Mùa dưa hấu thật tuyệt, nhiều loại cà chua mang
lại nhiều loại quả khác nhau hương vị và tôi sẽ không bao giờ
quên hương vị của phô mai mozzarella tươi. Đôi khi, Marino
cũng khuyên chúng tôi không nên mua thứ gì đó nếu nó không
4
có chất lượng tốt nhất và chúng tôi tin tưởng anh ấy sẽ cho chúng
tôi lời khuyên hữu ích. Đây là một ví dụ về các khuyến nghị.
Marino đã đề xuất những điều tương tự nhiều lần, điều này
không sao với thực phẩm, nhưng điều đó không đúng với hầu hết
các loại sản phẩm khác, chẳng hạn như sách, phim hoặc âm nhạc.

Khi tôi còn trẻ, trước khi Spotify và các dịch vụ phát trực tuyến
khác chiếm lĩnh thị trường âm nhạc, tôi thích mua đĩa CD. Tôi
đến một cửa hàng âm nhạc chủ yếu phục vụ các DJ, tôi đi vòng
quanh và thu thập một chồng đĩa CD, sau đó tìm một chỗ ở quầy
với một cặp tai nghe và bắt đầu nghe. Với những chiếc đĩa CD
làm bối cảnh, tôi đã trò chuyện rất lâu với người đàn ông đứng
sau quầy. Anh ấy kiểm tra xem tôi thích (và không thích) đĩa CD
nào và giới thiệu những đĩa khác dựa trên đó. Tôi đánh giá cao
việc anh ấy nhớ đủ rõ sở thích của tôi giữa những lần ghé thăm và
không giới thiệu những tựa sách giống nhau cho tôi nhiều lần.
Đây cũng là một ví dụ về các khuyến nghị.
Đi làm về (bây giờ tôi đã lớn hơn), tôi luôn kiểm tra hộp thư
của chúng tôi để xem chúng tôi có thư hay không. Thông thường,
hộp thư chứa đầy các quảng cáo từ các siêu thị, liệt kê những thứ
đang giảm giá. Thông thường, quảng cáo hiển thị hình ảnh trái
cây tươi trên một trang và bột rửa chén ở trang tiếp theo—tất cả
những thứ mà các siêu thị muốn khuyên bạn nên mua vì họ cho
rằng đó là một ưu đãi tốt. Đây không phải là khuyến nghị; chúng
là quảng cáo.
Mỗi tuần một lần, tờ báo địa phương có trong số thư. Tờ báo
này đưa ra danh sách top 10 bộ phim được xem nhiều nhất tại rạp
trong tuần đó. Đây là một khuyến nghị không được cá nhân hóa.
Trên truyền hình, người ta phải suy nghĩ nhiều về việc đặt quảng
cáo với nội dung truyền hình phù hợp. Đây là những quảng cáo
được nhắm mục tiêu vì người ta cho rằng một loại người nhất
định đang xem.
Vào tháng 2 năm 2015, các quan chức của Sân bay
Copenhagen đã công bố bố trí 600 màn hình xung quanh sân bay
để hiển thị quảng cáo dựa trên độ tuổi và giới tính ước tính của
người xem, cùng với thông tin về các điểm đến tại các cổng gần
đó. Độ tuổi và giới tính được suy ra bằng cách sử dụng máy ảnh
5
và thuật toán. Thông cáo báo chí về quảng cáo có mô tả như sau:
"Ví dụ: một phụ nữ đi du lịch tới Brussels muốn xem những chiếc
đồng hồ đẹp hoặc một quảng cáo cho một tạp chí tài chính. Một
gia đình đi nghỉ có thể quan tâm nhiều hơn đến các quảng cáo về
kem chống nắng hoặc cho thuê ô tô." l Đây là những quảng cáo có
liên quan hoặc quảng cáo có mục tiêu cao.
Mọi người thường coi quảng cáo trên truyền hình hoặc tại sân
bay là một mối phiền toái, nhưng nếu chúng ta lên mạng, giới hạn
đối với những gì chúng ta coi là xâm lấn sẽ hơi khác một chút. Có
thể có nhiều lý do cho việc này, bản thân nó đã là cả một chủ đề.
Internet vẫn là miền Tây hoang dã và mặc dù tôi nghĩ rằng
quảng cáo tại Sân bay Copenhagen khá xâm lấn, nhưng tôi cũng
cảm thấy khó chịu khi nhìn thấy các quảng cáo trên internet
hướng đến một nhóm mục tiêu mà tôi không thuộc về. Để nhắm
mục tiêu quảng cáo của họ, các trang web cần biết một chút về
bạn là ai.

Trong chương này và các chương sau, bạn sẽ tìm hiểu về các
đề xuất, cách thu thập thông tin về người nhận đề xuất, cách lưu
trữ dữ liệu và cách sử dụng dữ liệu đó. Bạn có thể tính toán các đề
xuất theo nhiều cách khác nhau và bạn sẽ thấy các kỹ thuật được
sử dụng nhiều nhất.
Hệ thống gợi ý không chỉ là một thuật toán ưa thích. Đó cũng
là về việc hiểu dữ liệu và người dùng của bạn. Các nhà khoa học
dữ liệu có một cuộc thảo luận kéo dài về việc liệu điều quan trọng
hơn là có một thuật toán siêu tốt hay có nhiều dữ liệu hơn. Cả hai
đều có mặt trái; siêu thuật toán yêu cầu siêu phần cứng và rất
nhiều phần cứng. Nhiều dữ liệu hơn tạo ra những thách thức khác,
như làm thế nào để truy cập nó đủ nhanh. Xem qua cuốn sách
này, bạn sẽ tìm hiểu về sự cân bằng và có được các công cụ để
đưa ra quyết định tốt hơn.
Các ví dụ trước nhằm minh họa rằng quảng cáo và đề xuất có
thể trông giống với người dùng. Đằng sau màn hình, mục đích
của nội dung là khác nhau; đề xuất được tính toán dựa trên những
gì người dùng đang hoạt động thích, những gì người khác đã thích
trước đây và những gì người nhận thường yêu cầu. Quảng cáo
được đưa ra vì lợi ích của người gửi và thường được đẩy tới
6
người nhận. Sự khác biệt giữa hai có thể trở nên mờ nhạt. Trong
cuốn sách này, tôi sẽ gọi mọi thứ được tính toán từ dữ liệu là
khuyến nghị.

1.1.1Hệ thống gợi ý có sẵn trên internet


Hầu hết những người giới thiệu đều sử dụng internet ở nhà vì đây là
nơi bạn không chỉ có thể tiếp cận từng người dùng mà còn có thể
thu thập dữ liệu hành vi. Hãy xem xét một vài ví dụ.
Một trang web hiển thị danh sách 10 máy làm bánh mì được
bán nhiều nhất cung cấp các đề xuất không mang tính cá nhân
hóa. Nếu một trang web bán vé xem nhà hoặc vé buổi hòa nhạc
hiển thị cho bạn các đề xuất dựa trên nhân khẩu học hoặc vị trí
hiện tại của bạn thì các đề xuất đó được cá nhân hóa một phần.
Bạn có thể tìm thấy các đề xuất được cá nhân hóa trên Amazon,
nơi những khách hàng được xác định sẽ thấy "Đề xuất dành cho
bạn". Ý tưởng về đề xuất được cá nhân hóa cũng nảy sinh từ ý
tưởng rằng mọi người không chỉ quan tâm đến những mặt hàng
phổ biến mà còn quan tâm đến những mặt hàng không được bán
nhiều nhất hoặc những mặt hàng có giá trị lâu dài.

1.1.2Cái đuôi dài


Cái đuôi dài được Chris Anderson đặt ra trong một bài viết trên
tạp chí Wired năm 2004, sau đó được mở rộng thành sách xuất
bản năm 2006 (Hyperion).1 Trong bài báo, Anderson đã xác định
một mô hình kinh doanh mới thường thấy trên internet.
Anderson hiểu rõ rằng nếu bạn là một cửa hàng truyền thống
thì bạn có số lượng kho lưu trữ hạn chế và quan trọng hơn là
không gian hữu hạn để trưng bày sản phẩm cho khách hàng. Bạn
cũng có lượng khách hàng hạn chế vì mọi người phải đến cửa
hàng của bạn. Nếu không có những hạn chế này, bạn không phải
chỉ bán những sản phẩm phổ biến như mô hình kinh doanh
thương mại thông thường. Trong các cửa hàng truyền thống, việc
dự trữ các sản phẩm không phổ biến được coi là một chiến lược
thất bại vì bạn cần lưu trữ nhiều mặt hàng có thể không bao giờ
bán được. Nhưng nếu bạn có một cửa hàng trực tuyến, bạn có thể
lưu trữ vô số sản phẩm vì không gian cho thuê rẻ hoặc nếu bạn
bán nội dung kỹ thuật số, nó sẽ không chiếm bất kỳ không gian
1
7
nào, tốn rất ít hoặc không tốn kém. Ý tưởng đằng sau nền kinh tế
đuôi dài là bạn có thể thu lợi nhuận bằng cách bán nhiều sản
phẩm, nhưng chỉ bán một ít sản phẩm cho nhiều người khác nhau.
Tôi quan tâm đến sự đa dạng, vì vậy tôi nghĩ thật tuyệt khi có
một danh mục sản phẩm khổng lồ, nhưng câu hỏi khó trả lời là
làm cách nào để người dùng tìm thấy thứ họ muốn? Đây là nơi hệ
thống giới thiệu thực hiện lối vào của họ. Bởi vì những hệ thống
này giúp mọi người tìm thấy những thứ đa dạng mà họ không biết
là có tồn tại.
Trên web, vì Amazon và Netflix được coi là những gã khổng lồ
cả về nội dung lẫn đề xuất nên những công ty này được sử dụng
trong nhiều ví dụ xuyên suốt cuốn sách này. Trong phần sau, bạn
sẽ xem xét kỹ hơn Netflix như một ví dụ về hệ thống gợi ý.

1.1.3 Hệ thống gợi ý của Netflix


Như bạn có thể biết, Netflix là một trang web phát trực tuyến.
Miền của nó là miền của phim và phim truyền hình dài tập, đồng
thời nó có luồng nội dung sẵn có liên tục. Mục đích của các đề
xuất của Netflix là giúp bạn quan tâm đến nội dung của nó lâu
nhất có thể và giúp bạn phải trả phí đăng ký hàng tháng.
Dịch vụ này chạy trên nhiều nền tảng nên ngữ cảnh đề xuất của
nó có thể khác nhau. Hình 1.1 là ảnh chụp màn hình Netflix từ
máy tính xách tay của tôi. Tôi cũng có thể truy cập Netflix từ TV,
máy tính bảng và thậm chí cả điện thoại của mình. Nội dung tôi
muốn xem trên mỗi nền tảng khác nhau—Tôi chưa bao giờ xem
một bộ phim giả tưởng hoành tráng trên điện thoại của mình
nhưng tôi yêu thích chúng trên TV.
Hãy bắt đầu phần hướng dẫn này bằng cách xem trang khởi
động đó. Trang đầu được xây dựng dưới dạng một bảng chứa các
hàng có chủ đề như Top Picks, Drama và Popular trên Netflix.
Hàng trên cùng dành riêng cho những gì có trong danh sách của
tôi. Netflix thích danh sách này vì nó không chỉ cho biết những gì
tôi đã xem và những gì tôi đang xem mà còn cả những gì tôi (ít
nhất là tại một thời điểm) đã thể hiện sự quan tâm xem.
Netflix muốn bạn chú ý đến hàng sau vì nó chứa Netflix
Originals—loạt phim do Netflix sản xuất. Những điều này quan
trọng đối với Netflix vì hai lý do, cả về mặt tài chính:
8
Netflix đã chi số tiền lớn để sản xuất nội dung gốc và trong
hầu hết các trường hợp, các chương trình này chỉ được tìm
thấy trên Netflix.
Netflix phải trả tiền cho chủ sở hữu nội dung khi người dùng
xem nội dung của họ. Nếu chủ sở hữu đó là Netflix, điều đó
không chỉ giúp họ tiết kiệm tiền mà còn đưa tiền vào túi họ.
Điểm cuối cùng cũng minh họa điều cần cân nhắc: ngay cả khi
mọi thứ đều được cá nhân hóa trên trang, việc Netflix Originals
nằm ở hàng thứ hai có thể không phải là do tôi xem chúng mà là
do theo đuổi mục tiêu kinh doanh nội bộ.
BIỂU ĐỒ VÀ XU HƯỚNG
Tiếp theo là danh sách Trending Now. Xu hướng là một thuật ngữ
lỏng lẻo có thể có nhiều nghĩa nhưng ở đây nó bao gồm nội dung
phổ biến trong một khoảng thời gian ngắn. Hàng dưới cùng, Phổ
biến trên Netflix, cũng liên quan đến mức độ phổ biến nhưng trong
khoảng thời gian dài hơn, có thể là một tuần. Xu hướng và biểu đồ
sẽ được thảo luận chi tiết trong chương 5.
KHUYẾN NGHỊ
Hàng thứ tư là danh sách Top Picks phù hợp với hồ sơ của tôi.
Danh sách này chứa những gì hầu hết mọi người gọi là đề xuất. Nó
cho biết hệ thống đề xuất của Netflix dự đoán nội dung nào tôi
muốn xem tiếp theo. Có vẻ gần như đúng. Tôi không thích những
bộ phim đẫm máu, đẫm máu và tôi cũng không muốn xem bất kỳ
cuộc mổ xẻ cơ thể nào cả. Không phải tất cả các đề xuất đều theo ý
thích của tôi, nhưng tôi cho rằng Netflix không chỉ sử dụng sở thích
của tôi để xây dựng danh sách này. Đôi khi những người còn lại
trong gia đình tôi cũng xem nội dung bằng hồ sơ của tôi. Hồ sơ là
cách Netflix cho phép người dùng hiện tại cho biết ai đang xem.
Trước khi giới thiệu hồ sơ, Netflix nhắm đến các đề xuất của
mình cho một hộ gia đình hơn là một người. Nó cố gắng luôn thể
hiện điều gì đó cho bố, mẹ và con cái. Nhưng Netflix đã bỏ chương
trình đó nên hiện tại danh sách của tôi không bao gồm bất kỳ
chương trình nào dành cho trẻ em. Nhưng ngay cả khi Netflix đang
sử dụng hồ sơ cá nhân, tôi nghĩ bắt buộc phải xem xét ai đang xem
—không chỉ người có hồ sơ mà còn bất kỳ ai khác. Tôi đã nghe tin
đồn rằng các công ty khác đang nghiên cứu các giải pháp cho phép
bạn thông báo cho hệ thống biết rằng những người khác cũng đang
9
theo dõi. Điều này nhằm cho phép dịch vụ đưa ra các đề xuất phù
hợp với tất cả các thành viên của khán giả. Cho đến nay, tôi chưa
thấy ai chơi.

Microsoft Kinect có thể nhận dạng mọi người ở phía trước TV bằng
cách sử dụng tính năng nhận dạng khuôn mặt/cơ thể. Microsoft đã
tiến một bước xa hơn bằng cách xác định không chỉ các thành viên
trong gia đình mà còn cả những người khác từ danh mục người
dùng đầy đủ của mình, cho phép Kinect nhận ra người dùng khi họ
đến thăm những ngôi nhà khác. Mặc dù là một dấu hiệu cho thấy sự
công nhận của khán giả nhưng Kinect dành cho Xbox One đã bị
ngừng sản xuất vào tháng 10 năm 2017, đánh dấu sự kết thúc của
dòng sản phẩm Kinect.
Quay lại Lựa chọn hàng đầu của Netflix. Bạn có thể tìm thêm chi
tiết về nội dung bằng cách di chuột qua một trong các gợi ý. Chú
10
giải công cụ xuất hiện cùng với mô tả (xem hình 1.2) và xếp hạng
dự đoán, đây là mức mà hệ thống đề xuất ước tính rằng tôi sẽ xếp
hạng nội dung này. Bạn có thể mong đợi rằng các đề xuất trong
Top Picks đều có xếp hạng cao, giống như trong hình 1.1, nhưng
khi xem qua các đề xuất, bạn có thể tìm thấy ví dụ về các mục có
xếp hạng dự đoán thấp, như trong hình 1.3.
Người giới thiệu Netflix có rất nhiều cách, vì vậy có rất nhiều
cách giải thích tại sao Netflix đề xuất một mục mà họ dự đoán tôi
sẽ không đánh giá cao. Một lý do có thể là Netflix đang hướng tới
sự đa dạng hơn là độ chính xác. Một lý do khác có thể là ngay cả

khi tôi không xếp hạng sao tối đa cho một bộ phim, thì đó vẫn có
thể là thứ mà tôi muốn xem. Đây cũng là gợi ý đầu tiên cho thấy
Netflix không đặt nhiều giá trị vào xếp hạng.
Tiêu đề của mỗi hàng là khác nhau; một số thuộc loại Vì bạn đã
xem những bộ đồ. Những dòng này đề xuất những thứ tương tự như
Suit. Các hàng khác là các thể loại như Hài kịch, trong đó, thật kỳ
lạ, lại chứa các phim hài. Bạn có thể nói rằng tiêu đề hàng cũng là
danh sách các đề xuất; bạn có thể gọi đây là đề xuất danh mục.

Hình 1.2 Lựa chọn hàng đầu của Netflix với kết quả trùng khớp
được dự đoán
11

Trận đấu được dự


đoán thấp giữa các
Lựa chọn hàng đầu
Hình 1.3 Lựa chọn hàng đầu của Netflix có xếp hạng dự đoán thấp
Đây có thể là phần cuối của câu chuyện, nhưng bạn sẽ bỏ lỡ phần
quan trọng nhất trong quá trình cá nhân hóa Netflix.
XẾP HẠNG
Mỗi dòng tiêu đề mô tả một tập hợp nội dung. Nội dung này sau đó
được sắp xếp theo hệ thống gợi ý và trình bày theo thứ tự mức độ
liên quan hoặc thứ hạng, bắt đầu từ bên trái như minh họa trong
hình 1.4.

Hình 1.4 Mỗi hàng Netflix được sắp xếp theo mức độ liên quan.
Ngay cả trong Danh sách của tôi, nơi chứa nội dung do tôi tự chọn,
nội dung cũng được sắp xếp theo ước tính của hệ thống gợi ý về
mức độ liên quan của nó đối với tôi. Tôi đã thêm ảnh chụp màn
hình trong hình 1.1 ngày hôm qua. Hôm nay danh sách của tôi có
một thứ tự mới, như trong hình 1.5.

Yesterday

Today

Hình 1.5 Netflix sắp xếp danh sách của tôi theo mức độ liên quan.
12
Hệ thống đề xuất của Netflix cũng cố gắng đề xuất nội dung phù
hợp tại một thời điểm cụ thể hoặc trong một bối cảnh cụ thể. Ví dụ:
buổi sáng Chủ nhật có thể dành nhiều thời gian cho phim hoạt hình
và phim hài, trong khi buổi tối có thể dành nhiều thời gian để xem
phim truyền hình dài tập như Suits.
Một hàng khác có thể gây ngạc nhiên là Phổ biến trên Netflix,
hiển thị nội dung phổ biến hiện nay. Nhưng Netflix không nói rằng
mục phổ biến nhất là mục ở bên trái. Netflix tìm tập hợp các mục
phổ biến nhất và sau đó sắp xếp chúng theo những gì bạn cho là
phù hợp nhất hiện nay.
TĂNG CƯỜNG
Một điểm cần suy ngẫm là tại sao Netflix lại xếp hạng chương trình
Designated Sumivor cao trong Danh sách của tôi, vì tôi đã xem nó
rồi. Nhưng Netflix đã có thông báo cho biết rằng phần mới của
Designated Sumivor đã ra mắt. Điều này có thể giải thích tại sao
chương trình này xuất hiện.
Tăng cường là một cách để các công ty đặt ngón tay lên bàn cân
khi tính toán các đề xuất và Netflix muốn tôi chú ý đến Suit vì đây
là nội dung mới, nghĩa là nó có giá trị mới mẻ. Netflix tăng cường
nội dung dựa trên sự mới mẻ; độ mới có thể có nghĩa là nó mới
hoặc nó đã được đề cập trong tin tức. Việc tăng cường sẽ được đề
cập chi tiết hơn trong chương 6 vì đó là điều mà nhiều chủ sở hữu
trang web yêu cầu ngay khi hệ thống hoạt động.
LƯU Ý Có một họ thuật toán học máy được gọi là tăng
cường, nhưng điều tôi đang đề cập ở đây là một thứ gì đó
khác.2
KẾT NỐI TRUYỀN THÔNG XÃ HỘI
Trong một thời gian ngắn, Netflix cũng đã cố gắng sử dụng dữ liệu
mạng xã hội. Lúc đó, bạn sẽ tìm thấy nội dung giống như minh họa
trong hình 1.6 trên trang Netflix của mình.
Watchec

2
13
Hình 1.6 Netflix muốn biết bạn bè tôi đang xem gì

Netflix khuyến khích bạn kích hoạt Facebook Connect, từ đó cho


phép Netflix truy cập vào danh sách bạn bè cũng như các thông tin
khác của bạn. Một trong những lợi thế của Netflix là nó có thể tìm
thấy bạn bè của bạn và đưa ra các đề xuất xã hội dựa trên những gì
họ thích. Kết nối với Facebook cũng có thể khiến việc xem phim
trở thành một trải nghiệm mang tính xã hội hơn nhiều, đây là điều
mà nhiều công ty truyền thông đang khám phá.
Trong thời đại ngày nay, mọi người không ngồi xem phim một
cách thụ động. Họ thực hiện nhiều nhiệm vụ, xem phim trong khi
ngồi với thiết bị thứ hai (chẳng hạn như máy tính bảng hoặc điện
thoại thông minh). Những gì bạn đang làm trên thiết bị thứ hai có
thể ảnh hưởng lớn đến nội dung bạn xem tiếp theo. Hãy tưởng
tượng rằng sau khi bạn xem thứ gì đó trên Netflix, một thông báo
hiện lên trên điện thoại của bạn rằng một trong những người bạn
của bạn thích một bộ phim và trước tiên, Netflix khuyến nghị đó là
điều tiếp theo nên xem.
Tuy nhiên, tính năng xã hội này đã bị xóa trong khoảng thời gian
2015-2016 với lý do mọi người không hài lòng với việc chia sẻ
phim của họ với mạng Facebook. Theo lời của Neil Hunt, Giám
đốc sản phẩm của Netflix, "Thật không may vì tôi nghĩ có rất nhiều
giá trị trong việc bổ sung các đề xuất thuật toán bằng các đề xuất cá
nhân."
Với một trang được xây dựng gần như hoàn toàn dựa trên các đề
xuất, bạn nên cung cấp càng nhiều thông tin đầu vào theo sở thích
của mình càng tốt. Nếu Netflix không hiểu rõ sở thích của bạn, bạn
sẽ khó tìm được nội dung mình muốn xem.
Năm 2016 Netflix có các tùy chọn giúp người dùng xây dựng hồ
sơ của họ. Menu Hồ sơ Hương vị, được hiển thị trong hình 1.7, cho
phép bạn xếp hạng các chương trình và phim, chọn thể loại bằng
cách cho biết tần suất bạn muốn xem, ví dụ: nội dung Adrenaline
Rush như minh họa trong hình 1.8 hoặc để kiểm tra xem xếp hạng
của bạn có phù hợp với bạn không. những ý kiến hiện nay.
Hình 1.7 Ví dụ về hồ sơ hương vị Netflix năm 2015

Hình 1.8 Menu Tùy chọn Hương vị Netflix

Tùy chọn Hương vị được nhập thủ công cho phép Netflix đưa ra
các đề xuất tốt hơn. Yêu cầu người dùng trợ giúp về hồ sơ hương
vị là một phương pháp thường được sử dụng để cho phép hệ
thống đưa ra đề xuất cho người dùng mới. Tuy nhiên, cũng như
rất nhiều thứ khác, thường có sự khác biệt giữa những gì người
dùng nói họ thích và những gì họ thực sự thích.
em sở thích về hương vị thường là bước đầu tiên để tìm hiểu
người dùng. Và khi người dùng sử dụng hệ thống nhiều hơn,
Netflix có thể thu thập dữ liệu sử dụng, dữ liệu này thường đáng
tin cậy hơn. Netflix hiện đã loại bỏ tính năng này.

1.1.4 Định nghĩa hệ thống gợi ý


Để chắc chắn rằng tất cả chúng ta đều có cùng quan điểm, bảng
1.1 cung cấp một số định nghĩa.
Bảng 1.1 Định nghĩa hệ thống gợi ý
Thuật ngữ Ví dụ về Netflix Định nghĩa
Sự dự đoán Netflix đoán bạn sẽ Dự đoán là ước tính
xếp hạng một mục như mức độ người dùng
thế nào. sẽ xếp hạng/thích
Mức độ liên một mặt hàng.
quan Sắp xếp tất cả các
Thứ tự các mục theo
hàng trên trang (ví dụ: những gì phù hợp nhất
Top Picks và Popular với người dùng hiện
on Facebook) tùy
Sự giới thiệu theo khả năng áp tại. Mức độ liên quan
là một chức năng của
Cá nhân hóa dụng. bối cảnh, nhân khẩu
học và xếp hạng (dự
Hồ sơ hương Lựa chọn hàng đầu cho đoán).
vị tôi. N mục hàng đầu có
Dòng tiêu đề trong liên quan nhất.
Netflix là một ví dụ về Tích hợp sự liên quan
cá nhân hóa. vào bài thuyết trình.
Xem hình 1.8. Một danh sách các
thuật ngữ đặc trưng kết
hợp với các giá trị.
Với những định nghĩa này, cuối cùng chúng ta cũng có thể xác
định được một hệ thống gợi ý.
định nghĩa: hệ thống gợi ý
Hệ thống gợi ý tính toán và cung cấp nội dung phù hợp cho
người dùng dựa trên kiến thức về người dùng, nội dung và sự
tương tác giữa người dùng và sản phẩm.

Với định nghĩa này, bạn có thể nghĩ rằng mình đã tìm ra tất cả.
Nhưng chúng ta hãy xem qua một ví dụ về cách tính toán một đề
xuất và cách nó hoạt động. Hình 1.9 cho thấy cách Netflix có thể
tạo ra hàng Top Picks của tôi. Dưới đây là các bước về cách
Netflix có thể tính toán Lựa chọn hàng đầu của tôi:

1 Đã nhận được yêu cầu về danh sách Top Picks.


2 Máy chủ gọi hệ thống đề xuất, bao gồm một hệ thống các
phương pháp. Bước này được gọi là truy xuất các mục ứng
cử viên. Nó lấy các mục từ cơ sở dữ liệu danh mục giống
nhất với sở thích của người dùng hiện tại.
3 Năm mục hàng đầu (thông thường có thể là 100 mục trở
lên) được chuyển sang bước quy trình tiếp theo, đó là tính
toán dự đoán.
4 Dự đoán được tính toán bằng cách sử dụng tùy chọn người
dùng được lấy từ cơ sở dữ liệu người dùng. Có khả năng
phép tính sẽ loại bỏ một hoặc nhiều mục khỏi danh sách do
xếp hạng được dự đoán nhỏ. Trong hình 1.9, mục C và E
đã bị loại bỏ.
5 Các mục quan trọng là kết quả từ dự đoán được tính toán,
giờ đây đã được thêm xếp hạng dự đoán vào chúng. Kết
quả được đưa vào một quy trình theo thứ tự liên quan.
Hình 1.9 Cách tính các lựa chọn hàng đầu của Netflix

6 Các mặt hàng vui chơi được sắp xếp theo sở thích, bối cảnh
và nhân khẩu học của người dùng. Quá trình thậm chí có
thể cố gắng thêm sự đa dạng vào kết quả càng nhiều càng
tốt.
7 Các mục bây giờ được sắp xếp theo mức độ liên quan. Mục
F đã bị xóa vì tính toán mức độ liên quan cho thấy nó
không phù hợp với người dùng cuối.
8 Đường ống trả về danh sách.
9 Máy chủ trả về kết quả.
Nhìn vào hình 1.9, rõ ràng có nhiều khía cạnh cần cân nhắc khi
làm việc với hệ thống gợi ý. Quy trình trước đó cũng thiếu các
phần thu thập dữ liệu và xây dựng mô hình. Hầu hết các hệ thống
tư vấn đều cố gắng sử dụng dữ liệu trong hình 1.10 bằng cách này
hay cách khác.
Hình 1.9 cũng minh họa một thực tế khác cần xem xét: dự đoán
xếp hạng chỉ là một phần của hệ thống khuyến nghị. Những thứ
khác cũng có thể đóng một vai trò quan trọng trong những gì hệ
thống của bạn sẽ hiển thị cho người dùng. Phần lớn cuốn sách này
nói về việc dự đoán xếp hạng, và điều đó rất quan trọng, ngay cả
khi tôi nói ở đây nghe có vẻ như không đáng kể.
Hình 1.10 Dữ liệu có thể được sử dụng làm dữ liệu đầu vào cho
hệ thống gợi ý.

1.2 Phân loại hệ thống gợi ý


Trước khi bắt đầu triển khai hệ thống đề xuất, bạn nên tìm hiểu kỹ
một chút về loại hệ thống đề xuất mà bạn muốn triển khai. Một
cách tốt để bắt đầu là xem xét các hệ thống tương tự để tìm cảm
hứng. Trong phần này, bạn sẽ tìm hiểu một khuôn khổ để nghiên
cứu và xác định hệ thống gợi ý.
Trong các phần trước, Tour d' Netflix đã cung cấp thông tin
tổng quan về những gì hệ thống đề xuất có thể làm. Phần này giải
thích cách phân loại được sử dụng để phân tích người giới thiệu.
Lần đầu tiên tôi biết đến nó là trong khóa học Coursera của Giáo
sư Joseph A. Konstan và Michael D. Ekstrand "Giới thiệu về Hệ
thống Tư vấn"3 và đã tìm thấy công dụng tốt cho nó kể từ đó.
Phân loại học sử dụng các khía cạnh sau để mô tả một hệ thống:
miền, mục đích, bối cảnh, mức độ cá nhân hóa, ý kiến, quyền
riêng tư và độ tin cậy, giao diện và thuật toán. 4 Chúng ta hãy nhìn
vào từng kích thước đó.
3
4
1.2.1 Tên miền
Tên miền là loại nội dung được đề xuất. Trong ví dụ về Netflix,
miền là phim và phim truyền hình dài tập, nhưng nó có thể là bất
kỳ thứ gì: chuỗi nội dung như danh sách phát, cách tốt nhất để
tham gia các khóa học trực tuyến để đạt được mục tiêu, công việc,
sách, ô tô, cửa hàng tạp hóa, kỳ nghỉ, điểm đến , hoặc thậm chí là
những người hẹn hò.
Tên miền rất quan trọng vì nó cung cấp gợi ý về những gì bạn
sẽ làm với các đề xuất. Tên miền cũng rất quan trọng vì nó cho
biết mức độ sai sót nghiêm trọng như thế nào. Nếu bạn đang làm
công việc giới thiệu âm nhạc thì sẽ không tệ nếu bạn giới thiệu
những bản nhạc không phù hợp. Nếu bạn đang giới thiệu cha mẹ
nuôi cho những đứa trẻ có nhu cầu thì cái giá phải trả cho sự thất
bại là khá cao. Tên miền cũng cho biết liệu bạn có thể đề xuất
điều tương tự nhiều lần hay không.

1.2.2 Mục đích


Mục đích của trang Netflix là gì, cho cả người dùng cuối và nhà
cung cấp? Đối với người dùng cuối, việc sử dụng các đề xuất của
Netflix là tìm nội dung phù hợp mà họ muốn xem vào thời điểm
cụ thể đó. Hãy tưởng tượng rằng bạn không có bất kỳ thứ tự hoặc
bộ lọc nào. Làm thế nào bạn có thể tìm thấy bất cứ thứ gì trong
danh mục Netflix khi nó có hơn 10.000 mục? Và mục đích của
nhà cung cấp (trong trường hợp này là Netflix) cuối cùng là khiến
khách hàng trả tiền đăng ký hàng tháng bằng cách cung cấp nội
dung họ muốn xem, ngay trong tầm tay họ.
Netflix coi lượng nội dung được xem là yếu tố quyết định hiệu
quả hoạt động của họ. Đo lường thứ khác thay vì mục tiêu trực
tiếp của bạn được gọi là sử dụng mục tiêu proxy. Việc sử dụng
mục tiêu proxy là điều bạn nên cẩn thận vì nó có thể vô tình đo
lường những tác động khác ngoài những gì bạn mong muốn—
dành nhiều thời gian hơn cho nền tảng Netflix có thể khiến khách
hàng nản lòng khi tìm kiếm và tìm kiếm mà không tìm thấy thứ
họ đang tìm hoặc họ có thể đã tìm thấy nó, nhưng trang web vẫn
tiếp tục bị đình trệ.5
Đằng sau hậu trường, cũng có thể cần cân nhắc để cân bằng
mọi thứ theo cách Netflix trả ít tiền nhất có thể cho nội dung bạn
đang xem. Netflix có thể trả ít hơn để cung cấp các tập Bạn bè 10
năm tuổi so với một loạt phim mới hơn hoặc thậm chí tốt hơn là
một loạt phim gốc của Netflix mà họ không phải trả phí bản
quyền cho bất kỳ ai.
Mục đích cũng có thể là cung cấp thông tin hoặc giúp đỡ hoặc
giáo dục người dùng. Tuy nhiên, trong hầu hết các trường hợp,
mục đích có lẽ là để bán được nhiều hơn.
Bạn muốn phục vụ loại khách hàng nào: người tiêu dùng đến
một lần và mong đợi những đề xuất tốt hay những khách truy cập
trung thành tạo hồ sơ và quay lại thường xuyên? Trang web có
dựa trên mức tiêu thụ tự động không (ví dụ: đài phát thanh
Spotify, liên tục phát nhạc dựa trên một bài hát hoặc một nghệ
sĩ)?

1.2.3 Bối cảnh


Bối cảnh là môi trường trong đó người tiêu dùng nhận được lời
giới thiệu. Trong ví dụ của chúng tôi, đó có thể là thiết bị khách
hàng sử dụng để xem Netflix hoặc vị trí hiện tại của người nhận,
thời gian trong ngày (hoặc đêm) và những gì người tiêu dùng
đang làm. Người dùng có thời gian để nghiên cứu các đề xuất hay
cần một quyết định nhanh chóng? Bối cảnh cũng có thể bao gồm
thời tiết hoặc thậm chí là tâm trạng của người dùng!
Hãy xem xét việc tìm kiếm một quán cà phê trên Google Maps.
Người dùng đang ngồi trước máy tính văn phòng và tìm kiếm một
quán cà phê ngon hay người dùng đang đứng trên đường khi trời
bắt đầu mưa? Trong kịch bản đầu tiên, phản hồi tốt nhất sẽ xác
định các quán cà phê chất lượng tốt trong bán kính rộng hơn;
trong kịch bản thứ hai, lý tưởng nhất là các đề xuất chỉ bao gồm
5.
địa điểm gần nhất để uống cà phê khi mưa đi qua. Foursquare là
một ví dụ về ứng dụng giúp bạn tìm thấy các quán cà phê. Chúng
ta sẽ xem xét Foursquare ở chương 12.

1.2.4Mức độ cá nhân hóa


Đề xuất có thể có nhiều cấp độ cá nhân hóa, từ sử dụng số liệu
thống kê cơ bản đến xem dữ liệu người dùng cá nhân. Hình 1.11
minh họa các cấp độ này.
Non-personalized Semi-personalized Personalized

Figure 1.11 Personalization levels

KHÔNG CÁ NHÂN HÓA


Danh sách các mặt hàng phổ biến nhất được coi là đề xuất không
được cá nhân hóa: rất có thể người dùng hiện tại có thể thích các
mặt hàng giống như hầu hết những người khác. Các đề xuất
không được cá nhân hóa cũng bao gồm việc hiển thị những thứ
được sắp xếp theo ngày, chẳng hạn như hiển thị các mục mới nhất
trước tiên. Mọi người tương tác với hệ thống đề xuất đều nhận
được cùng một danh sách đề xuất. Và chúng cũng có thể bao gồm
thời điểm quán cà phê gợi ý đồ uống vào chiều thứ Sáu, cà phê
cappuccino vào buổi sáng nhưng bữa nửa buổi vào buổi sáng cuối
tuần.
BÁN/PHÂN ĐOẠN-CÁ NHÂN HÓA
Cấp đề xuất tiếp theo chia người dùng thành các nhóm—đề xuất
được cá nhân hóa bán/phân khúc. Bạn có thể phân đoạn các nhóm
người dùng theo nhiều cách: theo độ tuổi, theo quốc tịch hoặc
theo các mẫu riêng biệt như doanh nhân hoặc sinh viên, người lái
ô tô hoặc người đi xe đạp.
Ví dụ: một hệ thống bán vé buổi hòa nhạc sẽ đề xuất các buổi
biểu diễn dựa trên quốc gia hoặc thành phố của người dùng. Đây
là một trường hợp khác: nếu người dùng đang nghe nhạc trên điện
thoại thông minh, hệ thống có thể cố gắng suy luận xem thiết bị
có đang chuyển động hay không. Nếu nó đang chuyển động,
người đó có thể đang tập thể dục hoặc họ có thể đang lái xe hoặc
đạp xe. Nếu thiết bị đứng yên, người tiêu dùng có thể đang ngồi
trên ghế sofa ở nhà và âm nhạc phù hợp có thể khác.
Hệ thống gợi ý này không biết bất kỳ thông tin cá nhân nào về
bạn, chỉ biết bạn với tư cách là thành viên của một nhóm hoặc
phân khúc. Những người khác cùng nhóm sẽ nhận được đề xuất
tương tự.
CÁ NHÂN HÓA
Đề xuất được cá nhân hóa dựa trên dữ liệu về người dùng hiện tại
cho biết cách người dùng đã tương tác với hệ thống trước đó.
Điều này tạo ra các đề xuất cụ thể cho người dùng này.
Hầu hết các hệ thống đề xuất cũng sử dụng phân khúc và mức
độ phổ biến khi tạo đề xuất được cá nhân hóa. Một ví dụ về đề
xuất được cá nhân hóa là Đề xuất dành cho bạn của Amazon.
Trang bắt đầu của Netflix là một ví dụ điển hình về các đề xuất
được cá nhân hóa.
Thông thường, một trang web áp dụng nhiều loại đề xuất khác
nhau. Chỉ một số trang web, chẳng hạn như Netflix, cung cấp mọi
thứ được cá nhân hóa. Trên Amazon, bạn cũng sẽ tìm thấy Các
mặt hàng được bán nhiều nhất, không được cá nhân hóa, cũng như
danh sách Khách hàng đã mua sản phẩm này cũng đã mua sản
phẩm này, cung cấp các đề xuất cơ bản. Đây là những đề xuất dựa
trên hạt giống, có thể là mục hiện tại mà người dùng đang xem.
1.2.5 Ý kiến của ai
Chuyên gia giới thiệu là hệ thống thủ công mà các chuyên gia giới
thiệu rượu ngon, sách hoặc những thứ tương tự. Những hệ thống
này được sử dụng ở những lĩnh vực thường được chấp nhận rằng
bạn cần phải là chuyên gia để hiểu điều gì là tốt.
Tuy nhiên, thời của các trang web chuyên gia hầu như đã qua,
do đó, thông số ý kiến của ai ngày nay không được sử dụng nhiều.
Hầu như tất cả các trang web đều sử dụng ý kiến của quần chúng.
Họ nói rằng không có quy tắc nào mà không có ngoại lệ; một vài
trang web chuyên gia vẫn còn. Một ví dụ là đề xuất của người
phục vụ rượu trên trang web rượu vang có tên www.vivino.com,
được hiển thị trong hình 1.12. Vivino cũng đang chuyển sang hệ
thống giới thiệu để giới thiệu rượu vang. Vivino đã thêm hệ thống
gợi ý vào ứng dụng của họ vào năm 2017 để giúp người dùng tìm
thấy loại rượu mới phù hợp dựa trên lịch sử xếp hạng của họ.6

Hình 1.12 Vivino.com cung cấp các đề xuất về rượu của chuyên
gia (các đề xuất được bỏ qua để tiết kiệm không gian).

1.2.6 Quyền riêng tư và độ tin cậy


Hệ thống bảo vệ quyền riêng tư của người dùng tốt đến mức nào?
Thông tin thu thập được sử dụng như thế nào? Ví dụ, ở châu Âu,
việc trả tiền vào quỹ hưu trí là điều phổ biến, do ngân hàng xử lý.
Thông thường các ngân hàng này cung cấp các loại kế hoạch tiết
kiệm hưu trí khác nhau. Một hệ thống khuyến nghị những điều
này phải có các quy tắc nghiêm ngặt về quyền riêng tư. Tưởng
tượng

6
điền vào đơn đăng ký kế hoạch tiết kiệm hưu trí và mô tả rằng
bạn đang gặp vấn đề, và một phút sau nhận được cuộc điện thoại
từ bác sĩ chỉnh hình với những lời đề nghị tuyệt vời để giải quyết
chính xác vấn đề của bạn. Hoặc thậm chí tệ hơn, bạn mua một
chiếc giường đặc biệt dành cho những người có vấn đề về lưng và
một giờ sau bạn nhận được email rằng phí bảo hiểm y tế của bạn
đã tăng lên.
Nhiều người coi đề xuất là một hình thức thao túng vì chúng
đưa ra những lựa chọn mà khách hàng có nhiều khả năng chọn
hơn là khi họ được đưa ra lựa chọn ngẫu nhiên. Và hầu hết các
cửa hàng đều cố gắng bán được nhiều hơn nên việc cửa hàng
dùng gợi ý để bán được nhiều hơn khiến mọi người cho rằng mình
đang bị thao túng. Nhưng nếu điều đó có nghĩa là xem một bộ
phim mang tính giải trí hơn là nhàm chán thì tôi nói không sao cả.
Thao tác liên quan nhiều hơn đến động cơ hiển thị một mục cụ thể
hơn là hành động hiển thị nó. Nếu bạn đã đề xuất loại thuốc
không phù hợp và không tối ưu vì nhà cung cấp mua cho chủ sở
hữu trang web những bữa tối ngon hơn, thì đó là hành vi thao
túng, điều này cần được phản đối.
Khi hệ thống khuyến nghị bắt đầu hoạt động và mức tăng
trưởng trong hoạt động kinh doanh được đo lường, nhiều người
có thể cảm thấy muốn đưa ra các ưu tiên của nhà cung cấp, các
mặt hàng tồn kho quá nhiều hoặc có thể là ưu tiên cho nhãn hiệu
thuốc mà khách hàng mua. Hãy cẩn thận: nếu khách hàng bắt đầu
cảm thấy bị thao túng, họ sẽ ngừng tin tưởng vào đề xuất của bạn
và cuối cùng sẽ tìm thấy thứ họ cần ở nơi khác.
Thời điểm các đề xuất có khả năng ảnh hưởng đến các
quyết định, chúng sẽ trở thành mục tiêu của những kẻ gửi
thư rác, kẻ lừa đảo và những người khác có động cơ kém
cao cả hơn để tác động đến quyết định của chúng ta.
—Daniel Tunkelang11

Độ tin cậy cho biết mức độ tin cậy của người tiêu dùng đối với
các khuyến nghị thay vì coi chúng là quảng cáo hoặc nỗ lực thao
túng. Trong ví dụ về Netflix, tôi đã nói về việc các dự đoán có thể
gây nản lòng cho người dùng như thế nào nếu dự đoán ước tính
khác xa với xếp hạng thực tế của người dùng. Đây là về sự đáng
tin cậy. Nếu người dùng thực hiện nghiêm túc các đề xuất thì hệ
thống sẽ đáng tin cậy.

1.2.7Giao diện
Giao diện của hệ thống gợi ý mô tả loại đầu vào và đầu ra mà nó
tạo ra. Chúng ta hãy nhìn vào từng cái.
ĐẦU VÀO
Netflix từng cho phép người dùng nhập lượt thích và lượt không
thích bằng cách xếp hạng nội dung và thêm tùy chọn về thể loại
và chủ đề. Dữ liệu này có thể được sử dụng làm đầu vào cho hệ
thống gợi ý.
Ví dụ về Netflix sử dụng đầu vào rõ ràng, trong đó bạn, người
tiêu dùng, thêm thông tin về những gì bạn thích theo cách thủ
công. Một dạng đầu vào khác là ngầm định, trong đó hệ thống
cố gắng suy ra sở thích bằng cách xem cách bạn tương tác với hệ
thống.
Chương 4 xử lý phản hồi chi tiết hơn.
ĐẦU RA
Các loại đầu ra có thể là dự đoán, đề xuất hoặc lọc. Ví dụ: Netflix
đưa ra đề xuất theo nhiều cách. Nó ước tính các dự đoán, cung
cấp các đề xuất được cá nhân hóa và hiển thị các mục phổ biến,
thường ở dạng danh sách top 10 (nhưng Netflix thậm chí còn cá
nhân hóa danh sách đó).
Nếu đề xuất là một phần tự nhiên của trang thì nó được gọi là
Bản trình bày tự nhiên. Các hàng hiển thị trên Netflix là ví dụ về
đề xuất tự nhiên: Netflix không cho biết đây là đề xuất; chúng là
một phần không thể thiếu của trang web.
Các ví dụ minh họa trong hình 1.13 là phi hữu cơ. Câu hỏi
mạng nóng sử dụng một dạng đề xuất không được cá nhân hóa
bằng cách không nêu rõ ràng những gì được hiển thị. Amazon
hiển thị các đề xuất phi tự nhiên được cá nhân hóa trong danh
sách Đề xuất cho Bạn và New York Times sử dụng các đề xuất
phi tự nhiên hiển thị các bài viết được gửi qua email nhiều nhất.
chỉ được phép thực phẩm Gen 1:29 umit của hàm lượng giác.

Hình 1.13 Ví dụ về các đề xuất phi tự nhiên, không được cá


nhân hóa: Các câu hỏi hấp dẫn trên mạng từ Đã xác thực chéo,
Được gửi qua email nhiều nhất từ New York Times và danh
sách Đề xuất cho bạn được cá nhân hóa từ Amazon

Một số hệ thống giải thích các khuyến nghị. Những người giới
thiệu có khả năng đó được gọi là người giới thiệu hộp trắng;
những thứ không được gọi là người giới thiệu hộp đen. Hình 1.14
cho thấy các ví dụ của từng loại. Sự khác biệt rất quan trọng cần
được xem xét khi chọn một thuật toán vì không phải tất cả đều
cung cấp đường dẫn rõ ràng về lý do dự đoán.
Việc quyết định xem bạn muốn tạo công cụ giới thiệu hộp
trắng hay hộp đen có thể đặt ra những hạn chế về thuật toán bạn
sử dụng. Hệ thống của bạn càng cần giải thích nhiều thì thuật toán
càng đơn giản. Thông thường bạn có thể xem xét quyết định như
trong hình 1.15. Chất lượng của khuyến nghị càng tốt thì lời giải
thích càng phức tạp và khó đưa ra. Vấn đề này được gọi là sự
đánh đổi giữa độ chính xác của mô hình và sự giải thích mô hình.
Tôi đã từng làm việc trong một dự án đặc biệt chú trọng đến
khả năng giải thích và chất lượng. Để giải quyết vấn đề này,
chúng tôi phải xây dựng một thuật toán khác trên hệ thống đề xuất
của mình để cho phép đưa ra các đề xuất có chất lượng tốt đồng
thời có một hệ thống kết nối bằng chứng với kết quả.
Hình 1.14 Đề xuất hộp đen (từ Netflix) và hộp trắng (từ Amazon)

Sự chính xác
Hình 1.15 Khả năng giải thích và chất lượng của khuyến nghị
Hệ thống gợi ý đã trở nên cực kỳ phổ biến trong những năm gần
đây, vì vậy có rất nhiều ví dụ để xem xét. Thông thường, hệ thống
gợi ý được triển khai cho phim, nhạc, sách, tin tức, bài báo nghiên
cứu và hầu hết các sản phẩm nói chung. Nhưng hệ thống tư vấn
cũng có vai trò trong nhiều lĩnh vực khác, chẳng hạn như dịch vụ
tài chính, bảo hiểm nhân thọ, dữ liệu trực tuyến, tìm kiếm việc
làm và trên thực tế, ở mọi nơi đều có những lựa chọn để đưa ra.
Cuốn sách này chủ yếu sử dụng các trang web làm ví dụ nhưng
không có lý do gì để không hoạt động trên các nền tảng khác.
1.2.8 Thuật toán
Một số thuật toán được trình bày trong cuốn sách này. Các thuật
toán được chia thành hai nhóm và chúng phụ thuộc vào loại dữ
liệu bạn sử dụng để đưa ra đề xuất của mình. Các thuật toán sử
dụng dữ liệu sử dụng được gọi là lọc cộng tác. Các thuật toán sử
dụng siêu dữ liệu nội dung và hồ sơ người dùng để tính toán đề
xuất được gọi là lọc dựa trên nội dung. Sự kết hợp của hai loại
này được gọi là khuyến nghị lai.
LỌC CỘNG TÁC
Hình 1.16 minh họa một cách thực hiện lọc cộng tác. Bộ bên
ngoài là catalog đầy đủ. Nhóm ở giữa là nhóm người dùng đã tiêu
thụ các mặt hàng tương tự. Hệ thống đề xuất đề xuất các mặt hàng
từ bộ nhỏ hơn, ở phía trước, giả định rằng nếu người dùng thích
những thứ tương tự như người dùng hiện tại thì người dùng hiện
tại cũng sẽ thích những mặt hàng khác mà nhóm này đã tiêu thụ.
Nhóm được xác định bằng sự trùng lặp giữa những gì người dùng
cá nhân thích và những gì người dùng hiện tại thích. Sau đó,
khoảng trống nội dung mà người dùng hiện tại đang thiếu sẽ được
đề xuất (phần của vòng tròn ở giữa không bị che bởi vòng tròn
biểu thị lượt thích của người dùng hiện tại).
Có nhiều cách để tính toán các đề xuất lọc cộng tác. Bạn sẽ
thấy một phiên bản đơn giản ở chương 8 và một phiên bản không
đơn giản lắm ở
chương 11, nơi chúng ta nói về các thuật toán phân tích nhân tử
ma trận.

Hình 1.16 Sơ đồ lọc cộng


tác
31
LỌC DỰA TRÊN NỘI DUNG
Lọc dựa trên nội dung sử dụng siêu dữ liệu bạn có về các mục
trong danh mục của mình. Ví dụ: Netflix sử dụng mô tả về phim
của mình.
Tùy thuộc vào thuật toán cụ thể, hệ thống có thể tính toán các
đề xuất bằng cách lấy các mục mà người dùng thích và tìm nội
dung tương tự, bằng cách so sánh các mục và hồ sơ người dùng
hoặc, nếu không có người dùng nào tham gia, bằng cách tìm nội
dung tương tự giữa các mục. Khi có hồ sơ người dùng, hệ thống
sẽ tính toán hồ sơ cho từng người dùng chứa các danh mục nội
dung. Nếu Netflix sử dụng tính năng lọc dựa trên nội dung, nó có
thể tạo hồ sơ người dùng về các thể loại như phim ly kỳ, hài kịch,
chính kịch và phim mới, đồng thời mang lại giá trị cho tất cả
chúng. Sau đó, một bộ phim sẽ được đề xuất nếu nó có các giá trị
tương tự với người dùng.
Đây là một ví dụ. Người dùng Thomas thích Guardians of the
Galaxy, Interstellar và loạt phim truyền hình Game of Thrones.
Mỗi người được đánh giá theo hệ thống năm điểm. Bảng 1.2 cho
thấy một cách nhìn vào ba lựa chọn.
Bảng 1.2
Phim và Thể
Truyền loại
hình phiêu
lưu
liên sao 3 3
Trò chơi 1 5
vương quyền 5 4
Những người
bảo vệ thiên

Dựa trên thông tin này, bạn xây dựng hồ sơ của Thomas chỉ ra
Sci-Fi: 3, Adventure: 4. Để tìm những bộ phim khác để giới thiệu,
32
bạn xem qua danh mục để tìm những bộ phim tương tự như hồ sơ
của Thomas.
KHUYẾN CÁO HYBRID
Cả lọc cộng tác và lọc dựa trên nội dung đều có điểm mạnh và
điểm yếu. Lọc cộng tác cần nhiều phản hồi từ người dùng để hoạt
động chính xác, trong khi lọc dựa trên nội dung cần mô tả tốt về
các mục. Thông thường, các đề xuất được tạo ra dưới dạng kết
hợp đầu ra từ hai loại thuật toán mà chúng ta đã nói trước đây,
cộng với các loại đầu vào khác, có thể là khoảng cách từ một địa
điểm hoặc thời gian trong ngày.

1.3Học máy và Giải thưởng Netflix


Hệ thống gợi ý có nhiệm vụ dự đoán nội dung người dùng cần
ngay bây giờ. Bạn có thể dự đoán điều này theo nhiều cách. Xây
dựng hệ thống gợi ý đã trở thành một môn thể thao đa ngành tận
dụng các lĩnh vực khoa học máy tính như học máy, khai thác dữ
liệu, truy xuất thông tin và thậm chí cả tương tác giữa người với
máy tính. Phương pháp học máy và khai thác dữ liệu cho phép
máy tính đưa ra dự đoán bằng cách nghiên cứu các ví dụ về những
gì nó cần dự đoán; do đó, các khuyến nghị có thể được xây dựng
bằng cách sử dụng các chức năng dự đoán này.
Nhiều hệ thống gợi ý tập trung vào các thuật toán học máy để
dự đoán xếp hạng của người dùng đối với các mặt hàng hoặc để
tìm hiểu cách xếp hạng chính xác các mặt hàng cho người dùng.
Một lý do khiến lĩnh vực học máy ngày càng phát triển là mọi
người muốn giải quyết vấn đề về hệ thống gợi ý. Mục đích là triển
khai các thuật toán cho phép máy tính gợi ý những mong muốn
thầm kín của chúng ta, ngay cả trước khi chúng ta biết về chúng.
Nhiều người cho rằng chất xúc tác cho mối quan tâm áp dụng
học máy vào hệ thống giới thiệu là Giải thưởng Netflix nổi tiếng.
Giải Netflix là một cuộc thi do Netflix tổ chức nhằm trao giải
thưởng 1.000.000 USD cho bất kỳ ai có thể nghĩ ra thuật toán cải
thiện đề xuất của họ thêm 10%. Cuộc thi bắt đầu vào năm 2006
và phải mất gần ba năm mới có người chiến thắng. Cuối cùng,
33
thuật toán lai đã giành chiến thắng. Bạn sẽ nhớ lại rằng thuật toán
kết hợp chạy một số thuật toán và sau đó trả về kết quả tổng hợp
từ tất cả các thuật toán đó. Bạn sẽ tìm hiểu về giống lai trong
chương I l.
Netflix chưa bao giờ sử dụng thuật toán chiến thắng, có lẽ vì
nó quá phức tạp nên hiệu suất tác động lên hệ thống không thể
biện minh cho những cải tiến. Đáng buồn thay, chúng tôi không
có Netflix để sử dụng trong khi tìm hiểu về hệ thống đề xuất.
Thay vào đó, tôi đã triển khai một trang demo nhỏ tên là
MovieGEEKs để giới thiệu những điều được mô tả trong cuốn
sách này. Trang web cần phải chỉnh sửa nhiều trước khi có thể
sẵn sàng đưa vào sản xuất. Hiểu hệ thống gợi ý là mục đích chính
của nó.

1.4 Trang web MovieGEEKs


Cuốn sách này nói về cách triển khai hệ thống gợi ý. Nó sẽ cung
cấp cho bạn các công cụ để thực hiện điều đó, bất kể bạn muốn sử
dụng nền tảng nào cho hệ thống đề xuất của mình. Nhưng để làm
bất cứ điều gì thú vị với hệ thống gợi ý, bạn cần có dữ liệu và để
cảm nhận được cách nó hoạt động thì việc nhìn vào các con số là
chưa đủ.
Cuốn sách này tập trung vào các trang web, nhưng điều đó
không có nghĩa là mọi thứ được viết ở đây không áp dụng được
cho bất kỳ loại hệ thống nào khác. Đây là phần giới thiệu ngắn
gọn về khuôn khổ mà chúng ta sẽ thực hiện điệu nhảy của mình.
Trang web MovieGEEKs (http://mng.bz/04k5) được xây dựng
bằng trang web Django. Tôi khuyến khích bạn tải xuống
MovieGEEKs và sử dụng nó khi đọc qua cuốn sách vì nó sẽ giúp
bạn hiểu chuyện gì đang xảy ra. Thực tế đó là trang Django hay
thứ gì khác không quá quan trọng; Tôi sẽ chỉ cho bạn nơi cần xem
xét khi chúng ta làm việc thông qua các ví dụ.
34
Trang web và khuôn khổ Django
Nếu các từ Django web framework nghe có vẻ lạ đối với bạn,
hãy xem tài liệu Django tại
www.djangoproject.com/start/overview/.

Bạn sẽ tải xuống trang web một lần. Nó chứa tất cả các chức năng
được mô tả trong cuốn sách này. Đây là kịch bản hư cấu mà
chúng ta sẽ theo dõi.
Trang web MovieGEEKs

Hãy tưởng tượng rằng bạn có một khách hàng muốn bán đĩa
DVD của mình trực tuyến. Tôi tưởng tượng một cửa hàng cho
thuê DVD cũ ở Bath, Vương quốc Anh, có người chủ muốn thử
bán phim trên internet. Đáng tiếc là cửa hàng không còn tồn tại
(xem hình 1.17).
Cửa hàng không có gì khác ngoài đồ điện tử; nó được quản lý
bằng những tấm thẻ giấy nhỏ và mặc dù bạn có thể nghĩ điều đó
nghe có vẻ không thể thực hiện được nhưng dường như tất cả đều
có tác dụng! Trong đời thực, tôi không nghĩ người chủ sẽ đưa
công việc kinh doanh của mình lên mạng, nhưng một trong những
điều độc đáo ở nơi này là bạn luôn nhận được những đề xuất tuyệt
vời. Người chủ sẽ thực hiện đánh giá hàng tháng—các đề xuất ý
kiến chuyên gia—và những người làm việc ở đó luôn biết mọi thứ
cần biết về phim.
Tôi thích coi hệ thống gợi ý là một nỗ lực nhằm cung cấp dịch
vụ cá nhân cho mọi người trên mạng. Sau đây là mô tả ngắn gọn
về mong muốn của người chủ sở hữu hư cấu.
35

1.17 Mặt tiền của On the Video Front, hoạt động kinh doanh
hư cấu của chúng tôi
1.4.1 Thiết kế và thông số kỹ thuật
Để bắt đầu, bạn cần ghi lại một số điểm tổng thể cho thiết kế.
Trang chính của trang web sẽ hiển thị cho khách truy cập những
thông tin sau:
Một khu vực lát gạch của phim
Tổng quan về từng bộ phim mà không cần rời khỏi trang
Khuyến nghị mang tính cá nhân nhất có thể
Một menu chứa danh sách các thể loại
Mỗi bộ phim nên có trang riêng với thông tin chi tiết như sau:
Áp phích phim
Sự miêu tả
Xếp hạng
Mỗi danh mục phải có một trang chứa các nội dung sau:
Cấu trúc tương tự như trang chủ
Khuyến nghị cụ thể cho danh mục

1.4.2 Kiến trúc


Bạn sẽ sử dụng Python và khung web Django để triển khai trang
web này. Django cho phép bạn chia dự án thành các ứng dụng
khác nhau. Hình 1.18 cho thấy một kiến trúc cấp cao và minh họa
những ứng dụng nào sẽ xây dựng trang web.
Provides

Trang web MovieGEEKs

Chúng ta hãy thực hiện một bước nhanh chóng:


MovieGEEKs—Đây là phần chính của trang web. Ở đây
logic máy khách (HTML, CSS, JavaScript) được đặt cùng
với mã Python chịu trách nhiệm truy xuất dữ liệu phim.
Phân tích—Cầu tàu, nơi mọi thứ có thể được giám sát. Phần
này sẽ sử dụng dữ liệu từ tất cả các cơ sở dữ liệu. Phần phân
tích được mô tả trong chương 4. Collector—Phần này xử lý
việc theo dõi hành vi của người dùng và lưu trữ nó trong cơ
sở dữ liệu bằng chứng. Trình ghi bằng chứng được mô tả
trong chương 2.
Recs—Đây là trọng tâm của câu chuyện này và là điều sẽ tạo
thêm lợi thế cho trang web này. Nó sẽ cung cấp các đề xuất
cho trang MovieGEEKs. Phần khuyến nghị được mô tả ở
chương 5 và phần còn lại của cuốn sách.
Trình tạo đề xuất—Tính năng này tính toán trước các đề xuất
để cung cấp các đề xuất phức tạp cho người dùng. Bạn sẽ
gặp người xây dựng đề xuất lần đầu tiên ở chương 7.
Mỗi thành phần hoặc ứng dụng này đều chứa các mô hình và tính
năng dữ liệu thú vị. Điều này sẽ hoàn toàn lôi kéo du khách trong
tương lai.
MovieGEEKs là một trang web phim chủ yếu vì có sẵn một tập
dữ liệu chứa danh sách dài nội dung—phim, người dùng và xếp
hạng. Quan trọng hơn nữa, nội dung bao gồm các URL chuyển
thành áp phích phim, điều này khiến việc sử dụng nội dung trở
nên thú vị hơn nhiều.
Hình 1.19 hiển thị trang chủ hoặc trang đích của MovieGEEKs.
Khi người dùng nhấp vào một bộ phim, một cửa sổ bật lên sẽ xuất
hiện cung cấp thêm thông tin và liên kết đến nhiều chi tiết hơn
nữa.
Movies order by

Liệt kê các
thể loại.

Đồ thị Khuyến nghị cá nhân

1.19 Trang đích của trang MovieGEEKs


Đó là nó! Đơn giản nhưng nó sẽ có tác dụng. Hãy tiếp tục và tải
xuống ngay bây giờ. Để biết hướng dẫn cài đặt, hãy tham khảo
readme trên GitHub tại http://mng.bz/04k5. Trang MovieGEEKs
sử dụng bộ dữ liệu có tên là Movie Tweetings. Tập dữ liệu này
bao gồm xếp hạng về các bộ phim có trong các dòng tweet có cấu
trúc tốt trên Twitter.7

1.5 Xây dựng hệ thống gợi ý


Trước khi tiếp tục, hãy xem cách bạn xây dựng hệ thống gợi ý.
Giả sử bạn đã có một nền tảng giống như một trang web hoặc một

7
ứng dụng mà bạn muốn thêm hệ thống đề xuất, nó sẽ diễn ra
giống như chu trình được hiển thị trong hình 1.20.
Bán nhiều hơn

Test
implementation Recommender
on

Dữ liệu nhật

Hình 1.20 Cách tiếp cận dựa trên dữ liệu để xây dựng hệ thống tư
vấn

Bắt đầu với ý tưởng rằng bạn muốn bán được nhiều hàng hơn
bằng cách thêm người giới thiệu. Bạn sẽ thu thập dữ liệu hành vi
và sử dụng dữ liệu đó để xây dựng thuật toán, thuật toán này sẽ
tạo ra mô hình khi thuật toán chạy. Mô hình này cũng có thể được
coi là một chức năng, với ID người dùng sẽ tính toán các đề xuất.
Bạn sẽ thử mô hình này trên dữ liệu lịch sử để xem liệu bạn có
thể sử dụng nó để dự đoán hành vi của người dùng hay không. Ví
dụ: nếu bạn có dữ liệu hiển thị những gì người dùng đã mua vào
tháng trước thì bạn có thể tạo mô hình bằng cách sử dụng dữ liệu
của ba tuần đầu tiên để xem mô hình đề xuất những thứ mà người
dùng đã mua trong tuần cuối cùng của tháng dữ liệu của bạn tốt
đến mức nào. Có thể dự đoán những gì người dùng đã mua sẽ tốt
hơn so với hệ thống đề xuất cơ bản, hệ thống này có thể đơn giản
như một phương pháp trả về những mặt hàng phổ biến nhất. Nếu
nó hoạt động tốt, bạn có thể hiển thị nó cho một bộ phận người
dùng của mình và xem liệu bạn có thể theo dõi không
42
sự cải tiến. Nếu bạn thấy cải thiện thì có thể đưa vào sản xuất; nếu
không, nó sẽ quay trở lại bảng vẽ.
Bây giờ bạn đã có ý tưởng về hệ thống gợi ý là gì, hiểu được
những gì cần làm đầu vào và những gì nó có thể tạo ra. Biết được
cơ sở của hệ thống gợi ý sẽ giúp bạn có nền tảng cho chương 2,
chương này trình bày cách thu thập dữ liệu từ người dùng.
Bản tóm tắt
Netflix sử dụng các đề xuất để cá nhân hóa trang web của
mình và giúp người dùng lựa chọn những thứ họ thích.
Hệ thống gợi ý là một thuật ngữ chung cho nhiều thành phần
và phương pháp khác nhau.
Một dự đoán khác với một khuyến nghị. Dự đoán là việc dự
đoán mức xếp hạng mà người dùng sẽ đưa ra cho nội dung,
trong khi đề xuất là danh sách các mục có liên quan đến
người dùng.
Bối cảnh đề xuất là những gì xảy ra xung quanh người dùng
(môi trường của người dùng) khi có đề xuất. Các mục có thể
không được dự đoán là có xếp hạng cao nhất có thể được đề
xuất nếu chúng phù hợp với ngữ cảnh.
Phân loại được mô tả trong chương này rất hữu ích khi bạn
xem xét các hệ thống gợi ý khác hoặc cố gắng thiết kế hệ
thống gợi ý của riêng mình. Bạn nên xem qua cách phân loại
này trước khi bắt đầu triển khai hệ thống đề xuất của riêng
mình.

You might also like