Tải bản đầy đủ (.docx) (36 trang)

nghiên cứu hệ gợi ý và ứng dụng trong website gợi ý phim

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 (498.21 KB, 36 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
BÁO CÁO THỰC TẬP TỐT NGHIỆP
Đề tài: NGHIÊN CỨU HỆ GỢI Ý VÀ ỨNG DỤNG TRONG WEBSITE GỢI
Ý PHIM
Giảng viên hướng dẫn : PGS.TS Lê Thanh Hương
Sinh viên thực hiện : Trần Đức Việt
MSSV : 20083159
Lớp : HTTT-K53
1
TTTN-2013-Trần Đức Việt-BKHN
Mục Lục
2
TTTN-2013-Trần Đức Việt-BKHN
CHƯƠNG I : TỔNG QUAN VỀ ĐỀ TÀI
1. Đặt vấn đề
Người sử dụng các hệ thống thông tin, đặc biệt là các trang thương mại điện tử,
thường gặp khó khăn trong việc tìm kiếm và lựa chọn các thông tin cần thiết và phủ hợp
để giải quyết một vấn đề nhất định, như việc chọn mua một máy ảnh kỹ thuật số phù hợp,
hoặc việc lập kế hoạch cho một chuyến đi du lịch; bởi vì người sử dụng có quá nhiều lựa
chọn, nhưng không có đủ thời gian hoặc tri thức để tự đánh giá những lựa chọn này và
đưa ra quyết định hợp lý. Bạn chọn mua cuốn sách nào giữa hàng triệu đầu sách được
Amazon cung cấp, hay xem video trong số hàng trăm triệu video được tải lên Youtube.
Bạn có thể tìm sự trợ giúp với công cụ tìm kiếm với những từ khóa cụ thể. Nhưng với
trường hợp, bạn không biết rõ sự ưu tiên của mình, công cụ tìm kiếm khó có thể phát huy
tác dụng, lúc này bạn cần đến sự giúp đỡ của hệ gợi ý. Các hệ thống gợi ý (Recommender
System) là công cụ hỗ trợ ra quyết định, nhằm mục đích cung cấp cho người sử dụng
những gợi ý về thông tin, sản phẩm, và dịch vụ phù hợp nhất với yêu cầu và sở thích
riêng của từng người tại từng tình huống yêu cầu cụ thể.
Với sự trợ giúp của hệ gợi ý, bạn còn có thể tìm hiểu sở thích của mình và chia sẻ
cho cộng đồng. Nếu bạn là fan hâm mộ ban nhạc The Beatles, một đề xuất đưa ra: bạn


khó có thể bỏ qua những giai điệu của một nhóm nhạc người Anh khác là Radiohead.
Radiohead rất nổi tiếng trong ngành công nghiệp âm nhạc, và đặc biệt là ở Anh trong
khoảng thập niên 90 với những ca khúc bất hủ “Creep”, Pablo Honey, hay The Bends…
Khác với The Beatles, Radiohead không chơi thể loại nhạc pop đã làm nên tên tuổi của
The Beatles, mà thay vào đó là dòng nhạc rock, hay punk rock. Vậy thì lí do tại sao mà
người hâm mộ Beatles, sẽ yêu thích Radiohead. Minh chứng cho điều này được thể hiện
qua thông tin thu thập về hành vi trực tuyến của người dùng tại trang web Last.fm.
Last.fm là một trang cộng đòng âm nhạc, tập hợp thông tin về âm nhạc mà các thành viên
lắng nghe, sau đó tổng hợp đưa ra các kết quả mang tính thống kê, giúp tìm hiểu thị hiếu
âm nhạc và chia sẻ cho mọi người. Trang web giúp người dùng bằng cách gợi ý những
nghệ sĩ, dòng nhạc đáng quan tâm. Cụ thể ở đây, những người nghe Beatles, thì những
bài hát của những nghệ sĩ khác nào đáng để thưởng thức tiếp theo. Một danh sách những
nghệ sĩ sẽ được Last.fm đưa ra, đứng đầu trong danh sách là Bob Dylan – một nghệ sĩ nổi
tiếng cùng thời với The Beatles, và tiếp theo trong danh sách là Radio head. Theo
Last.fm, người hâm mộ Beatles nghe nhiều của Radiohead, và ngược lại.
Để đưa ra các gợi ý đó, Last.fm đã sử dụng một ứng dụng là hệ gợi ý. Hệ thống
tổng hợp hành vi trực tuyến của nhiều người để tìm ra các xu hướng, và đưa ra các Gợi ý
dựa trên những thông tin ngày. Hoạt động của hệ gợi ý có thể hiểu đơn giản là quá trình
tìm kiếm hoạt động của những người dùng tương tự khi nghe nhạc, đánh giá phim, hay
đọc tin tức. Những đề xuất được hệ gợi ý đưa ra giúp người dùng lựa chọn nội dung đáng
3
TTTN-2013-Trần Đức Việt-BKHN
quan tâm tiếp theo, và kết quả đề xuất đôi khi cũng gây bất ngờ ví dụ như việc gợi ý cho
những fan hâm mộ Beatles thưởng thức giai điệu của Radio head.
Ngoài Last.fm, các cửa hàng âm nhạc iTunes của Apples cũng cung cấp dịch vụ
giúp Gợi ý những bài hát và album. Amazon.com cung cấp tính năng gợi ý trên tất cả các
mặt hàng cung cấp: sách, âm nhạc, game…. Netflix.com một nhà cung cấp dịch vụ bán lẻ
đưa ra hệ thống đề xuất các chương trình tivi, hay phim nên xem. Youtube, Yahoo,
IMDB, Rotten Romatoes, và Metacritic đều áp dụng những dịch vụ gợi ý tương tự.
Vai trò quan trọng của hệ gợi ý ngày càng được thể hiện rõ, trở thành một công cụ

hữu hiệu đối phó với vấn đề quá tải thông tin, dưới đây là các minh chứng cụ thể:
- Hệ gợi ý đóng một vai trò quan trọng trong các trang web nổi tiếng như
Amazon.com, Youtube, Netflix, Yahoo, TripAdvisor, IMDB… Thêm vào đó,
nhiều công ty truyền thông đang phát triển và triển khai các hệ thống gợi ý như
một phần dịch vụ cung cấp cho các thuê bao. Một minh chứng cho hoạt động đó:
Netflix, nhà cung cấp dịch vụ cho thuê phim trực tuyến, đã trao giải thưởng một
triệu dollar cho đội xuất sắc đầu tiên cải thiện đáng kể hiệu suất hoạt động của hệ
gợi ý của hang.
- Có rất nhiều hội nghị, hội thảo chuyên biệt liên quan đến lĩnh vực hệ gợi ý, có thể
đề cập tới ACM Recommender System (RecSyss), thành lập năm 2007 là sự kiện
hàng đáng chú ý hàng năm trong lĩnh vực nghiên cứu ứng dụng hệ gợi ý. Bên cạnh
đó, các buổi họp dành riêng cho vấn đề hệ gợi ý được tổ chức trong các hội nghị
trong lĩnh vực cơ sở dữ liệu, hệ thống thông tin… Trong số các hội nghị đó, phải
đề cập đến ACM SIGIR Special Interst Group on Information Retrieval (SIGIR),
User Modeling, Adapation and Personalization (UMAP), và ACM’s Special
Interest Group on Management of Data (SIGMOD).
- Hiện nay trong các tổ chức giáo dục bậc đại học và sau đại học trên thế giới, các
khóa học về hệ gợi ý, hướng dẫn về hệ gợi ý rất phổ biến, đặc biệt trong các
chuyên ngành khoa học máy tính. Rất nhiều cuốn sách giới thiệu về hệ gợi ý đã
được xuất bản gần đây.
- Các tạp chí khoa học xuất bản các số đặc biệt dành nói về việc nghiên cứu, và phát
triển trogn lĩnh vực hệ gợi ý. Trong số này, các tạp chí dành riêng cho vần đề hệ
gợi ý : AI Communication (2008), IEEE Intelligent Systems (2007), International
Journal of Electronic Commerce (2006), International Journal of Computer
Science and Applications (2006), ACM Transactions on Computer-Human
Interaction (2005), và ACM Transactions of Information Systems (2004).
2. Giới thiệu về đề tài
Nghiên cứu và ứng dụng hệ gợi ý giúp nâng cao tính thông minh của ứng dụng
web, cụ thể ở đây xây dựng hệ gợi ý phim (movie recommender system) giải quyết câu
hỏi bằng cách nào khai phá dữ liệu, xử lí và đưa ra thông tin cho người dùng một cách

4
TTTN-2013-Trần Đức Việt-BKHN
hiệu quả nhất trong trường hợp có hàng ngàn bộ phim, cá nhân một người dùng cụ thể
phải lựa chọn quyết định xem bộ phim nào. Để trả lời câu hỏi đưa ra, yêu cầu đặt ra phải
xây dựng được phương pháp phân loại, tìm kiếm, trích rút và đưa ra gợi ý bộ phim cho
người dùng.
Yêu cầu đặt ra : xây dựng hệ thống gợi ý giúp đưa ra gợi ý bộ phim nên xem với
người dùng cụ thể một cách hiêu quả với yêu cầu về thời gian (thời gian đáp ứng yêu cầu
người dùng), không gian (với số lượng lớn dữ liệu người dùng và phim).
Để làm rõ yêu cầu đặt ra, chúng ta sẽ thu hẹp phạm vi nghiên cứu bằng việc trả lời
các câu hỏi:
- Hệ gợi ý dựa trên phương pháp lọc nào?, bằng cách nào đưa ra gợi ý bộ phim nên
xem với cá nhân cụ thể?
- Trong trường hợp, có thêm phim mới hoặc người dùng mới, hệ thống có đưa ra
được gợi ý hợp lí không?
- Bằng cách nào sử dụng thông tin về các đặc tính của bộ phim kết hợp với phương
pháp lọc?
- Hiệu quả của hệ thống gợi ý được đánh giá dựa trên các tiêu chí nào?
2.1 Mục tiêu của đề tài
Nghiên cứu hệ thống gợi ý: cách thức hoạt động, mô hình, các phương pháp, tầm
quan trọng của hệ gợi ý
Lựa chọn, nghiên cứu, và cài đặt phương pháp gợi ý phù hợp cho bài toán đặt ra:
xây dựng hệ gợi ý giúp người dùng lựa chọn những bộ phim đáng chú ý, phù hợp với sở
thích cả nhân.
Xây dựng và triển khai website với chức năng hệ gợi ý, giúp cung cấp cho người
dùng những đề xuất bộ phim nên xem
2.2 Phạm vi của đề tài
Đề tài nghiên cứu về hệ gợi ý và ứng dụng triển khai trong website gợi ý phim
cung cấp chức năng gợi ý phim cho những người dùng.
Đối tượng gợi ý: Các tựa phim trong cơ sở dữ liệu.

Đối tượng được gợi ý:
- Người dùng có tài khoản trên hệ thống và đã có hành vi được lưu lại trên hệ thống.
- Người dùng là khách không có tài khoản trên hệ thống, ghé thăm hệ thống để tìm
kiếm tựa phim.
Nội dung gợi ý: là tập các tựa phim được hệ thống cho là phù hợp nhất với người
dùng trong một ngữ cảnh xác định.
5
TTTN-2013-Trần Đức Việt-BKHN
2.3 Kịch bản dự kiến
Với ứng dụng cụ thể trong website phim em xin đưa ra các kịch bản sau:
- Kịch bản 1: Người dùng kích vào một bộ phim, hệ thống sẽ đưa ra gợi ý về các bộ
phim có nội dung tương tự. Ví dụ như cùng thể loại (hành động, tình cảm ), cùng
diễn viên chính, đạo diễn
- Kịch bản 2: Người dùng kích vào một bộ phim, hệ thống sẽ đưa ra gợi ý để xem
phim này bạn nên xem những phim nào trước (vd: các phần trước của bộ phim
này).
- Kịch bản 3: Người dùng tìm kiếm một bộ phim mà không có trong cơ sở dữ liệu,
hệ thống sẽ đưa ra gợi ý về các phim có thể mà người dùng mong muốn tìm mà có
trong cơ sở dữ liệu.
2.4 Phương pháp tiếp cận
Trong hệ thống này, ta tiếp cận bằng phương pháp lọc cộng tác.
Bộ dữ liệu mẫu được sử dụng do phòng thí nghiệm Grouplens thuộc bộ môn khoa
học máy tính trường đại học Minnesota cung cấp, có thể truy cập từ địa chỉ website
Dữ liệu mẫu bao gồm 1682 bộ phim,
943 người dùng, và đánh giá.
6
TTTN-2013-Trần Đức Việt-BKHN
CHƯƠNG II : HỆ THỐNG GỢI Ý
1. Hệ thống gợi ý
Trong cuộc sống hàng ngày, trong rất nhiều trường hợp, người ta đưa ra các lựa

chọn dựa trên những ý kiến hay lời khuyên của mọi người xung quanh, có thể qua lời
nói, các bản đánh giá sản phẩm, khảo sát thị trường, thư giới thiệu …v v. Nhưng trong
kỉ nguyên thông tin, hàng triệu thông tin được đưa lên internet mỗi ngày, điều này dẫn
tới yêu cầu phải có các phương pháp tự động thu thập thông tin và đưa ra lời khuyên để
hỗ trợ cho các phương pháp truyến thống trên . Hệ tư vấn (recommender system) là một
giải pháp như vậy. Hệ thống này đưa ra gợi ý dựa trên những gì người dùng đã làm
trong quá khứ, hoặc dựa trên tổng hợp ý kiến của những người dùng khác. Hệ tư vấn đã
trở thành một ứng dụng quan trọng và thu hút được sự quan tâm lớn của các nhà
nghiên cứu cũng như các doanh nghiệp.
Một vài hệ tư vấn nổi tiếng:
- Phim / TV/ âm nhạc: MovieLens, EachMovie, Morse, Firefly, Flycasting,
Ringo…
- Tin tức / báo chí: Tapestry, GroupLens, Lotus Notes, Anatagonomy…
- Sách / Tài liệu: Amazon.com, Foxtrot, InfoFinder…
- Web: Phoaks, Gab, Fab, IfWeb, Let's Browse …
- Nhà hàng: Adaptive Place Advisor, Polylens, Pocket restaurent finder…
-
Du lịch: Dietorecs, LifestyleFinder …
1.1 Khái niệm
Hệ thống gợi ý là kỹ thuật cung cấp những gợi ý cho nhu cầu về một sản phẩm,
dịch vụ nào đó trên Internet cho người sử dụng. Những gợi ý được cung cấp là nhằm mục
đích hỗ trợ người sử dụng trong quá trình ra quyết định lựa chọn sản phẩm, dịch vụ,
chẳng hạn như những sách nào có thể người dùng muốn mua, những bài hát nào có thể
người dùng thích nghe, hoặc tin tức nào người dùng muốn đọc. Một vài ứng dụng nổi
tiếng về hệ thống Gợi ý như: Gợi ý sản phầm của Amazon.com [paper của amazon], hệ
tư vấn phim của NetFlix…[paper của về Netflix] Hệ thống gợi ý đã chứng minh được ý
nghĩa to lớn: giúp cho người sử dụng trực tuyến đối phó với tình trạng quá tải thông tin.
Hệ gợi ý trở thành một trong những công cụ mạnh mẽ và phổ biến trong thương mại điện
tử.
Theo Adomavicius và Tuzhilin, trong hầu hết các trường hợp, bài toán tư vấn

được coi là bài toán ước lượng trước hạng (rating) của các sản phẩm (phim, cd, nhà
7
TTTN-2013-Trần Đức Việt-BKHN
hàng …) chưa được người dùng xem xét. Việc ước lượng này thường dựa trên những
đánh giá đã có của chính người dùng đó hoặc những người dùng khác. Những sản
phẩm có hạng cao nhất sẽ được dùng để tư vấn.
Một cách hình thức, bài toán tư vấn được mô tả như sau:
Gọi U là tập tất cả các người dùng; I là tập tất cả các sản phẩm có thể tư vấn. Tập I
có thể rất lớn, từ hàng tram ngàn (sách, phim, cd…) đến hàng triệu (website…). Tập U
cũng có thể lên tới hàng triệu.
Hàm r(u,i) đo độ phù hợp hay hạng của sản phẩm i với người dùng r: u: U×I R
với R là tập được sắp thứ tự. Với mỗi người dùng u ϵ U, cần tìm sản phẩm i’ϵ I sao cho
hàm r(u,i’) đạt giá trị lớn nhất: u ϵ U, i’
u
= argmax
i’
ϵ
I
r(u,i)
Trong hệ thống gợi ý, độ phù hợp của một sản phẩm thường được đo bằng điểm,
ví dụ người dùng A đánh giá bộ phim “Star war 3” được 7/10 điểm. Tuy nhiên, độ phù
hợp có thể là một hàm bất kỳ phụ thuộc vào ứng dụng cụ thể. Giá trị của hàm u có thể
được xác định bởi người dùng hoặc tính toàn bằng một công thức nào đó.
Mỗi người dùng trong không gian U được xác định bởi một hồ sơ (profile). Hồ sơ
này bao gồm nhiều loại thông tin: tuổi, giới tính, thu nhập… hoặc chỉ gồm trường mã số
người dùng ( user id). Tương tự mỗi sản phẩm s trong không gian I cũng được xác định
bởi một tập đặc trưng. Ví dụ trong hệ thống gợi ý phim, đặc trưng có thể là : tên phim,
thể loại, đạo diễn, năm sản xuất, diễn viên chính…
Vấn đề chính của hệ thống gợi ý là hàm r không được xác định trên toàn không
gian U×I mà chỉ xác định trên một miền nhỏ của không gian này. Điều này dẫn tới hàm r

phải được ngoại suy trong không gian U×I. Thông thường, độ phù hợp được thể hiện
bằng điểm và chỉ xác định trên tập các sản phẩm đã từng được người dùng đánh giá từ
trước ( thường khá nhỏ). Như ví dụ trong bảng dưới là đánh giá của một số người dụng
với các phim mà họ đã từng xem (thang điểm từ 0-10, Ø nghĩa là bộ phim chưa được
người dùng cho điểm). Từ những thông tin đó, hệ thống gợi ý phải dự đoán (ngoại suy)
điểm cho các bộ phim chưa được người dùng đánh giá, từ đó đưa ra các gợi ý phù hợp
nhất.
Harry potter Star trek Xmen Transformer
A
5

7 9
B
9 5 5

C
6 6

8
D
∅ ∅
8 9
8
TTTN-2013-Trần Đức Việt-BKHN
Đánh giá của người dùng về một số bộ phim đã
xem
1.2 Cách thức hoạt động của hệ thống gợi ý
Nếu chúng ta thấy quá trình gợi ý như một hộp đen, như thể hiện trong hình 2, và
xác định hai nguồn thông tin cần thiết: user profile – thông tin người dùng, item data –
thông tin các sản phẩm như đầu vào cho quá trình gợi ý. Các thông tin này có thể được

lưu trữ theo các dữ liệu có cấu trúc, hoặc cũng có thể được rút ra từ các nguồn dữ liệu phi
cấu trúc: website liên quan, hành vi mua sắm… Thông tin về các sản phẩm, dịch vụ dưới
nhiều dạng khác nhau: siêu dữ liệu (metadata), hoặc thông tin về các đặc tính của sản
phẩm, hoặc chính sản phẩm đó với trường hợp dữ liệu điện tử. Trong trường hợp sản
phẩm âm thanh (audio), video, các thông tin mà hệ gợi ý cần lưu trữ và thực hiện có kích
thước lớn, với nhiều chiều. Kết quả đầu ra của hệ gợi ý được thể hiện trong hình dưới
đây, là một tập các gợi ý cho người sử dụng. Các đề xuất này phụ thuộc vào phương pháp
hệ gợi ý, nhưng cụ thể là một tập danh sách sản phẩm, các thông tin vắn tắt, hình chụp…
Quá trình hoạt động được thể hiện chi tiết hơn trong hình 3, bao gồm các bước
sau: tập hợp thông tin, lựa chọn, chuyển đổi, cấu trúc hóa thông tin, và biểu diễn thông
tin. Tất cả các bước được trình bày trong hình 3 dưới đây là mô tả cụ thể các bước:
- Tập hợp thông tin (Information Recollection): các thông tin lưu trữ không được
thực hiện bởi hệ gợi ý, nhưng nó đóng một vai trò quang trọng. Nó bao gồm các thông tin
cá nhân người sử dụng, lịch sử các giao dịch, thông tin về sự ưu tiên của người dùng
(user preference), và thông tin về sản phẩm như metadata, đặc tính sản phẩm. Bước này
đóng một vai trò quan trọng, vì nó là cơ sở cho toàn bộ quá trình hệ gợi ý thực hiện dự
đoán và đưa ra gợi ý cho người dùng. Nếu thông tin thu thập không đầy đủ, hay mâu
9
TTTN-2013-Trần Đức Việt-BKHN
thuẩn; hệ thống gợi ý sẽ không thể thực hiện chức năng dự đoán, đưa ra đề xuất. Vì lí do
này, cần đặc biệt lưu ý quá trình thu thập thông tin vì nó phản ánh sở thích người dung,
thông tin sản phẩm, dịch vụ.
- Lựa chọn thông tin (Selection): Bước lựa chọn bao gồm việc xác định những
thông tin liên quan trực tiếp đến quá trình xử lí, dự đoán. Cách lựa chọn tập thông tin phu
thuộc chặt chẽ và phương pháp tiếp cận của hệ thống. Từ tập thông tin lựa chọn, giúp
chúng ta xác định được độ tương quan giữa hai sản phẩm bất kì, hoặc hai người dùng.
- Chuyển đổi thông tin (Transformation): mục tiêu chính của bước chuyển dổi là
thực hiện các biến đổi thong tin, xây dựng các mô hình, các hàm từ dữ liệu đã được xử lí
trong hai bước đầu, biểu diễn thông tin dưới dạng quy định của hệ gợi ý, thực hiện các dự
đoán.

- Cấu trúc thông tin (Structuring): Cấu trúc thông tin có liên quan đến việc cấu
trúc, tổ chức thông tin mà người dùng duyệt qua các thông tin đề xuất đưa ra. Bước này
bao gồm các hoạt động như nhóm nhóm các sản phẩm, xếp hạng các sản phẩm, phân loại,
liên kết các sản phẩm có quan hệ với nhau…
- Trình bày thông tin (Presentation): Bước cuối cùng trong quá trình gời ý là đưa
ra các thông tin gợi ý cho người dùng theo các tiêu chuẩn: bố trí, định dạng tài liệu, màu
sắc, phông chữ…Đây là bước cuối cùng trong quá trình gợi ý, đưa thông tin đầu ra cho
người dùng cụ thể.
- Thông tin phản hồi: Thu nhận các thông tin phản hồi là một bước thêm vào, tùy
theo mỗi hệ thống gợi ý. Mặc dù bước này là tùy chọn, nhưng nó giúp ích rất nhiều trong
việc cải thiện hoạt động, nâng cao kết quả của hệ gợi. Phản hồi của người dùng được hệ
thống ghi nhận với hai dạng tiềm ẩn(implicit), hoặc rõ ràng (explicit). Với phản hồi rõ
ràng (explicit feedback), người sử dụng cung cấp các thông tin thể hiện mức độ ưu tiên
với các sản phẩm liên quan. Các phản hồi tiềm ẩn (implicit feedback) có được bằng cách
thu thập, phân tích các hành vi người dùng: lịch sử duyệt các sản phẩm, số lần viếng
thăm, thời gian lưu lại…
10
TTTN-2013-Trần Đức Việt-BKHN
1.3 Các chức năng của hệ thống gợi ý
Hệ thống Gợi ý là công cụ phần mềm với các đề xuất cho người dùng những sản phầm,
dịch vụ mà họ có thể muốn sử dụng. Dưới đây là một số chức năng của hệ thống:
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ử: Đây có lẽ là
chức năng quan trọng nhất của hệ thống Gợi ý. Thay vì người dùng chỉ mua một sản
phẩm mà họ cần, họ được Gợi ý mua những sản phẩm ‘có thể họ cũng quan tâm’ mà bản
thân họ không nhận ra. Hệ thống Gợi ý tìm ra những ‘mối quan tâm ẩn’. Bằng cách đó,
hệ thống Gợi ý làm gia tăng nhu cầu của người dùng và gia tăng số lượng mặt hàng bán
ra.Tương tự đối với các hệ thống phi thương mại (như các trang báo), hệ thống Gợi ý sẽ
giúp người dùng tiếp cận với nhiều đối tượng hơn.
Bán các mặt hàng đa dạng hơn trên các hệ thống thương mại điện tử: Đây là chức năng
quan trọng thứ hai của hệ thống Gợi ý. Hầu hết các hệ thống thương mại đều có các mặt

hàng hết sức là đa dạng. Khi nắm bắt được nhu cầu của người dùng, hệ thống Gợi ý dễ
dàng mang đến sự đa dạng trong sự lụa chọn hàng hóa.
Tăng sự hài lòng người dùng: Vai trò chủ đạo của hệ thống Gợi ý là hiểu nhu cầu của
người dùng, gợi ý cho họ những thứ họ cần Chính vì vậy hệ thống Gợi ý tăng sự hài
lòng của người dùng trên hệ thống.
Tăng độ tin cậy, độ trung thực của người dùng: Một khi hệ thống gợi ý cho người dùng
những lựa chọn và họ hài lòng vể những gợi ý đó thì lòng tin của họ đối với hệ thống (nơi
mà giúp họ tìm ra những thứ họ thực sự quan tâm) được nâng lên một cách đáng kể. Đây
thật sự là một điều thích thú và thu hút người dùng. Có một điểm quan trọng là hệ thống
Gợi ý hoạt động dựa trên những xếp hạng thật từ chính bản thân người dùng trong quá
khứ. Do đó, khi người dùng càng tin cậy vào hệ thống, đưa ra những đánh giá trung thực
11
TTTN-2013-Trần Đức Việt-BKHN
cho các sản phẩm, hệ thống sẽ mang lại cho người dùng nhiều gợi ý chính xác hơn, phù
hợp với nhu cầu, sở thích của họ.
1.4 Các phương pháp khai thác dữ liệu được sử dụng
Có rất nhiều cách để dự đoán, ước lượng hạng/điểm cho các sản phẩm như sử dụng học
máy, lí thuyết xấp sỉ, các thuật toán dựa trên kinh nghiệm…Các hệ thống tư vấn thường
được phân thành ba loại dựa trên cách nó dùng để ước lượng hạng của sản phẩm:
1.4.1 Gợi ý dựa trên nội dung (Content-Based Recommendation System):
Gợi ý dựa trên nội dung được dựa trên sự sẵn có của mô tả về đối tượng. Phương pháp tư
vấn dựa trên nội dung, dựa trên độ phù hợp r (u, i) của sản phẩm i với người dùng u được
đánh giá dựa trên độ phù hợp r (u, i’), trong đó i’ ϵ I và tương tự như i. Ví dụ, để gợi ý
một bộ phim cho người dùng u, hệ thống tư vấn sẽ tìm các đặc điểm của những bộ phim
từng được u đánh giá cao (như diễn viên, đạo diễn…); sau đó chỉ những bộ phim tương
đồng với sở thích của u mới được giới thiệu.
Hướng tiếp cận dựa trên nội dung bắt nguồn từ những nghiên cứu về thu thập thông tin
(IR-information retrieval) và lọc thông tin (IF - information filtering). Do đó, rất nhiều hệ
thống dựa trên nội dung hiện nay tập trung vào tư vấn các đối tượng chứa dữ liệu text
như văn bản, tin tức, website… Những tiến bộ so với hướng tiếp cận cũ của IR là do việc

sử dụng hồ sơ về người dùng (chứa thông tin về sở thích, nhu cầu…). Hồ sơ này được
xây dựng dựa trên những thông tin được người dùng cung cấp trực tiếp (khi trả lời khảo
sát) hoặc gián tiếp (do khai phá thông tin từ các giao dịch của người dùng).
Gợi ý dựa trên nội dung có những ưu điểm:
Đầu tiên, nó không yêu cầu số lượng người sử dụng lớn để đạt được độ chính xác đề nghị
hợp lý.
Ngoài ra, các mặt hàng mới có thể được Gợi ý ngay dựa trên thuộc tính có sẵn.
Tuy nhiên, nhược điểm của Gợi ý dựa trên nội dung là khi thông tin mô tả đối tượng có
chất lượng kém và bị lỗi. Trong một số trường hợp, những mô tả về nội dung rất khó để
so sánh và rút ra gợi ý, chẳng hạn so sánh nội dung của các file video, audio Việc phân
tích nội dung của các đối tượng sản phẩm để đưa ra các sản phẩm tương tự nhau, từ đó
đưa ra các Gợi ý cho người dùng vẫn chưa phản ánh đúng sở thích của người dùng đó với
các sản phẩm
1.4.2 Gợi ý lọc cộng tác để đánh giá tương quan (Collaborative Filtering
Recomnendation System):
Ý tưởng cơ bản của các hệ thống này 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ịch vụ để dự đoán sự đánh giá của họ lên các sản phẩm, dịch vụ
mà họ chưa đánh.
12
TTTN-2013-Trần Đức Việt-BKHN
Bài toán lọc cộng tác (hay đánh giá độ tương quan) dựa trên hành vi quá khứ của người
dùng (trong việc đánh giá sản phẩm) để đưa ra dự đoán.
Đầu vào của bài toán là ma trận thể hiện những hành vi quá khứ, gọi là ma trận Người
dùng- Sản phẩm (m trận User x Item). Hàng là người dùng, cột là sản phẩm, giá trị mỗi ô
là đánh giá của người dùng lên sản phẩm đó.
Tùy theo hệ thống mà đánh giá của người dùng được quy ước những giá trị nào. Trong
ví dụ này, các đánh giá có giá trị từ 1->5
Sản phẩm 1 Sản phẩm 2 Sản phẩm 3
Người dùng 1 1 0 5
Người dùng 2 4 2 2

Người dùng 3 0 0 0
Bảng: Ví dụ ma trận Người dùng x Sản phẩm
Ở ma trận này, đánh giá của người dùng 1 đối sản phẩm 1 là 1, sản phẩm 3 là 5, sản phẩm
2 chưa được đánh giá.
Đầu ra của bài toán là: đánh giá của người dùng lên những sản phẩm mà họ chưa đánh
giá. Hệ thống Gợi ý dựa trên các đánh giá này mà xếp hạng các sản phẩm và gợi ý cho
người dùng.
Trong ví dụ này, hệ thống Gợi ý phải đưa ra dự toán, người dùng 1 đánh giá sản phẩm 2
là bao nhiêu. Người dùng 3 đánh giá sản phẩm 1, 2, 3 là bao nhiêu.
Hệ thống Gợi ý lọc cộng tác dự đoán độ phù hợp u (c,s) của một sản phẩm s với người
dùng c dựa trên độ phù hợp u (c,s) giữa người dùng ci và c, trong đó ci là người có cùng
sở thích với c. Ví dụ, để gợi ý một bộ phim cho người dùng c, đầu tiên hệ thống cộng tác
tìm những người dùng khác có cùng sở thích phim ảnh với c. Sau đó, những bộ phim
được họ đánh giá cao sẽ được dùng để tư vấn cho c. Có nhiều hệ thống cộng tác đã được
phát triển như: Youtube (video), Amazon.com (sách)… Các hệ thống này có thể chia
thành hai loại: dựa trên kinh nghiệm (heuristic-based hay memory-based) và dựa trên mô
hình (model-based).
1.4.3 Kết hợp các phương pháp (Hybrid):
Các cách tiếp cận khác nhau có những ưu điểm và nhược điểm riêng. Do đó cần thiết kết
hợp các kỹ thuật khác nhau để tận dụng ưu điểm và nhược điểm của các cách tiếp cận để
có được hệ thống Gợi ý chính xác hơn.
Có thể phân thành bốn cách kết hợp như sau:
13
TTTN-2013-Trần Đức Việt-BKHN
Cài đặt hai phương pháp riêng rẽ rồi kết hợp dự đoán của chúng: Có hai kịch bản cho
trường hợp này. Cách 1: 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, sử dụng cách kết hợp tuyến tính (linear combination) hoặc voting
scheme. Cách 2: Tại mỗi thời điểm, chỉ chọn phương pháp cho kết quả tốt hơn (dựa trên
một số độ đo chất lượng tư vấn nào đó). Ví dụ, hệ thống DailyLearner system chọn
phương pháp nào đưa ra gợi ý với độ chính xác (confidence) cao hơn.

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 cộng tác: Một
số hệ thống lai (như Fab) dựa chủ yếu trên các kĩ thuật cộng tác nhưng vẫn duy trì hồ sơ
về người dùng (theo dạng của mô hình dựa trên nội dung). Hồ sơ này được dùng để tính
độ tương đồng giữa hai người dùng, nhờ đó giải quyết được trường hợp có quá ít sản
phẩm chung được đánh giá bởi cả hai người. Một lợi ích khác là các gợi ý sẽ không chỉ
giới hạn trong các sản phẩm được đánh giá cao bởi những người cùng sở thích (gián
tiếp), mà còn cả với những sản phẩm có độ tương đồng cao với sở thích của chính người
dùng đó (trực tiếp).
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 đặc trưng:
Hướng tiếp cận phổ biến nhất là dùng các kĩ thuật giảm số chiều trên tập hồ sơ của
phương pháp dựa trên nội dung. Ví dụ, sử dụng phân tích ngữ nghĩa ẩn (latent semantic
analysis) để tạo ra cách nhìn cộng tác (collaborative view) với tập hồ sơ người dùng (mỗi
hồ sơ được biểu diễn bởi một vector từ khóa).
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: đề xuất kết
hợp đặc trưng của cả hai phương pháp vào một bộ phân lớp dựa trên luật (rule-based
classifier). Popescul và cộng sự trong đưa ra phương pháp xác suất hợp nhất dựa trên
phân tích xác suất ngữ nghĩa ẩn (probabilistic latent semantic analysis).
14
TTTN-2013-Trần Đức Việt-BKHN
1.4.4 Một số phương pháp khác
Hệ gợi ý dựa trên profile của người dùng (Demographic):
Hệ thống đưa ra gợi ý về sản phẩm dựa trên các điểu tra khảo sát mang tính xã hội học
dựa trên profile của người dùng. Hệ thống tập trung vào việc phân loại người dùng dựa
trên các đặc tính cá nhân: tuổi, giới tính, nghề nghiệp, trình độ học vấn…
Dựa trên tri thức (Knowledge-based):
Hệ gợi ý dựa trên tri thức (knowledge-based recommender system) đưa ra các gợi ý về
sản phẩm trong một lĩnh vực cụ thể, dựa trên việc xem xét các đặc tính của sản phẩm,
nhu cầu và sở thích người dung, đánh giá dụng ích của sản phầm.
15
TTTN-2013-Trần Đức Việt-BKHN

1.5 Đánh giá các phương pháp
Các phương pháp học trong hệ gợi ý đều có điểm mạnh và điểm yếu. Một số vấn đề cần
giải quyết trong hệ gợi ý:
Người dùng mới: Vì hệ thống đưa ra gợi ý dựa trên kết quả so sánh giữa người dùng yêu
cầu và những người dùng khác trong hệ thống thông qua đánh giá của người dùng với sản
phẩm, người dùng có ít đánh giá sẽ khó khăn hơn trong việc phân loại người dùng.
Sản phẩm mới : sản phẩm có ít đánh giá sẽ khó khăn cho việc đưa ra gợi ý. Vấn để xét
tới ở đây “early rater”, những người đầu tiên đánh giá một sản phẩm sẽ nhận được ít lợi
ích từ việc đánh giá này.
Để giải quyết các vấn đề này, cần có cơ chế để người dùng cung cấp các thông tin khởi
tạo cần thiết (user profile) trước khi hệ thống có thể đưa các gợi ý.
Mức độ thưa của dữ liệu (sparsity): trong các hệ gợi ý, số lượng đánh giá của người dùng
được thu thập thường rất nhỏ so với số lượng người dùng nhân với số lượng sản phẩm.
Vì vậy yêu cầu đặt ra là một phương pháp dự đoán hoạt động hiệu quả trong cả trường
hợp dữ liệu thu thập không lớn.
Quy mô hệ thống (Scalability): hệ gợi ý cần được thiết kế để hoạt động tốt cùng với sự
tăng lên của số lượng người dùng và số lượng sản phẩm.
Một vài bài báo như đã thực hiện so sánh hiệu năng của hệ thống lai ghép với các hệ
thống dựa trên nội dung hoặc cộng tác thuần túy và cho thấy hệ thống lai ghép có độ
chính xác cao hơn.
16
TTTN-2013-Trần Đức Việt-BKHN
Phương pháp Ưu điểm Nhược điểm
Dựa trên nội dung
(content base)
1. Tri thức chuyên gia
có thể không áp
dụng
2. Mức động: độ chính
xác nâng lên theo

thời gian
3. Độ chính xác được
cải thiện theo thời
gian hoạt động.
1. Vấn đề người dùng
mới
2. Độ chính xác phụ
thuộc vào khối
lượng dữ liệu
3. Vấn đề về sự ổn
đinh, tính mềm dẻo
Lọc cộng tác
(Collaborative)
1. Áp dụng được với
nhiều loại sản phẩm
2. Tri thức chuyên gia
có thể không áp
dụng
3. Độ chính xác được
cải thiện theo thời
gian hoạt động.
1. Vấn đề người dùng
mới
2. Vấn đề sản phẩm
mới
3. Vấn đề “gray
sheep”
4. Độ chính xác phụ
thuộc vào khối
lượng dữ liệu

5. Vấn đề về sự ổn
đinh, tính mềm dẻo
dựa trên profile của người
dùng
(Demographic)
1. Áp dụng được với
nhiều loại sản phẩm
2. Tri thức chuyên gia
có thể không áp
dụng
3. Độ chính xác được
cải thiện theo thời
gian hoạt động.
1. Vấn đề người dùng
mới
2. Vấn đề “gray
sheep”
3. Độ chính xác phụ
thuộc vào khối
4. Vấn đề về sự ổn
đinh, tính mềm dẻo
Dựa trên tri thức
(Knowledge-based)
1. Nhạy với sự thay đổi
nhu cầu, sở thích
người dùng.
2. Sử dụng các đặc
điểm về dụng ích
sản phầm
3. Ánh xạ giữa nhu cầu

1. Có thể đưa ra gợi ý
không cần trải qua
quá trình học
2. Yêu cầu kiến thức
chuyên gia
17
TTTN-2013-Trần Đức Việt-BKHN
người dùng và sản
phẩm
18
TTTN-2013-Trần Đức Việt-BKHN
CHƯƠNG III : HỆ THỐNG GỢI Ý PHIM
1. Mô tả bài toán
Xây dựng hệ thống gợi ý phim. Hệ thống có người dùng, và bộ phim. Xác định danh
sách các bộ phim mà người dùng chưa xem và theo dự đoán người dùng mức độ ưu tiên
cao cho các bộ phim này.
Phát biểu bài toán dạng công thức toán học:
Giả sử
tập người dùng trong hệ thống.
tập bộ phim trong hệ thống.
một người dùng
một bộ phim
đánh giá của người dùng cho bộ phim . nhận giá trị trong tập . Giá trị đánh giá có
thể là giá trị nhị phân , hoặc giá trị số nguyên .
Hệ gợi ý sẽ dự đoán đánh giá của người dùng u cho tập các bộ phim:
. Dựa trên kết quả tính toán, đưa ra bộ phim với mà người dùng chưa xem, mà theo dự
đoán mức độ ưu tiên của người dùng cho các bộ phim thuộc tập gợi ý là cao nhất.
Dựa trên các dữ liệu thu thập là đánh giá của người dùng với các bộ phim trong hệ thống
(explicit data), áp dụng các mô hình tính toán, dự đoán đánh giá của một người dùng xác
định với các bộ phim mà họ chưa xem. Dựa trên dữ liệu thu thập về đánh giá của cộng

đồng về các bộ phim trong hệ thống, thông tin cá nhân, và các thuộc tính mỗi bộ phim, từ
đó xếp hạng các bộ phim ứng theo mỗi người dùng cụ thể, và đưa ra gợi ý cho họ.
2. Lọc cộng tác
2.1 Giới thiệu
Lọc cộng tác là một kỹ thuật mạnh và được xem là thành công với nhiều hệ thống tư vấn.
Về cơ bản, hệ lọc cộng tác sẽ tự động hóa việc tư vấn dưới hình thức tính toán dựa vào sở
thích của những người dùng trước trong hệ thống nhằm dự đoán mối quan tâm của người
dùng đó với sản phẩm mới, hoặc tư vấn cho họ về những sản phẩm này.
Trong các ngành khoa học cũng như kinh doanh đã có rất nhiều hệ tư vấn cộng tác được
phát triển; và phải kể đến đầu tiên là hệ tư vấn Grundy với việc đề xuất sử dụng bản mẫu
19
TTTN-2013-Trần Đức Việt-BKHN
sẵn như là một cơ chế cho việc xây dựng những mô hình người dùng dựa trên giới hạn về
số lượng thông tin của mỗi người dùng cụ thể. Bằng việc sử dụng bản mẫu sẵn, hệ
Grundy xây dựng những mô hình người dùng cụ thể và sử dụng chúng để tư vấn những
sản phẩm (cụ thể là tài liệu) liên quan đến mỗi người dùng. Theo sau đó là hệ Tapestry
tiếp tục dựa vào mỗi người dùng để xác định ra các mối quan tâm giống nhau giữa họ.
GroupLens, Tư Vấn Video, và Ringo là những hệ được đưa ra đầu tiên để sử dụng
những thuật toán lọc cộng tác nhằm tự động hóa việc dự đoán này. Một ví dụ khác về hệ
tư vấn cộng tác là hệ tư vấn sách của Amazon.com, hệ PHOAKS giúp mọi người tìm ra
những thông tin liên quan trong WWW và hệ tư vấn Jester về những câu truyện cười.
Nói chung, mục tiêu chính của lọc cộng tác là đề xuất ra những sản phẩm mới hoặc dự
đoán tính hữu ích về một sản phẩm nào đó cho một người dùng cụ thể dựa trên thị hiếu
của những người dùng trước đó và những ý kiến đánh giá của họ.
Xét ngữ cảnh của một hệ lọc cộng tác cụ thể, chúng ta đưa ra tập m người dùng: U = {u
1
,
u
2
, …, u

m
} và một tập n sản phẩm I = {i
1
, i
2
, …, i
n
}. Với mỗi người dùng u
i
có thể đưa ra
ý kiến về một tập sản phẩm I
ui
. Chú ý rằng I
ui
I, và nó có thể là tập rỗng (null-set). Ở
đây tồn tại một người dùng đặc biệt u
a
U được gọi là người dùng thực sự, họ chính là
những người mà cần đến sự hỗ trợ của hệ cộng tác để tìm kiếm những sản phẩm phù hợp
nhất dựa theo hai hình thức sau:
• Dự đoán (Prediction) là giá trị bằng số, P
aj
, biểu thị giá trị đã được dự đoán cho
item i
j
I
ua
cho người dùng thực sự u
a
. Các giá trị được dự đoán phải nằm trong

khoảng cho phép (ví dụ: từ 1 đến 5).
• Tư vấn (Recommendation) là danh sách N các items, I
r
I, mà người dùng thực
sự quan tâm nhiều nhất. Chú ý rằng danh sách này phải nằm trong những item
chưa thực sự được người dùng biết đến, nghĩa là I
r
I
ua
= . Giao diện này của
thuật toán CF cũng có thể được biết như là tư vấn Top – N.
20
TTTN-2013-Trần Đức Việt-BKHN
Dưới đây là hình thể hiện tiến trình của một hệ lọc cộng tác:
item cần được dự doán
i
1
i
1
i
2
i
i….
i
n
N user
Input (bảng trọng số đánh
giá)
Dự đoán (Prediction )
Tư Vấn (Recommendation)

Thuật toán CF
(dự đoán item j cho
người dùng thực sự
a)
(danh
sách các items cho
người dùng thực sự)
Output (Các kết quả trên)
Thuật toán CF biểu diễn toàn bộ dữ liệu của ma trận m n (user - item) như là một
ma trận trọng số đánh giá A. Mỗi thực thể a
ij
trong A thể hiện một điểm thể hiện mối
quan tâm (hay chính là trọng số đánh giá) của người dùng thứ i về sản phẩm thứ j. Các
đánh giá này được đặt trong một khoảng quy định trước và cũng có thể bằng 0 nếu người
dùng đó chưa từng biết đến sản phẩm đó.
Thuật toán về hệ tư vấn cộng tác có thể được chia thành hai loại sau:
• Lọc cộng tác dựa trên bộ nhớ (memory – based hay heuristic – based): Nó thao
tác trên toàn bộ cơ sở dữ liệu người dùng để đưa ra những dự đoán.
• Ngược lại, lọc cộng tác dựa mô hình ( model – based): Nó sử dụng cơ sở dữ liệu
người dùng để đánh giá hoặc học mô hình, sau đó sử dụng cho các dự đoán.
Những hệ lọc cộng tác thường được phân biệt thông qua hoạt động lựa chọn tường
minh hay không tường mình.
21
TTTN-2013-Trần Đức Việt-BKHN
Lựa chọn tường minh ám chỉ việc người dùng chủ động bày tỏ sở thích của mình về
một chủ đề và thường thường có một tỷ lệ hệ số riêng biệt. Chẳng hạn, hệ GroupLens
của Resnick et al. [1994] sử dụng hệ số từ 1(tồi) đến 5 (tốt) cho mỗi người dùng để đánh
giá các bài báo Netnews, và người dùng đánh giá rõ ràng đối với mỗi bài báo sau khi đọc
nó.
Lựa chọn không tường minh ám chỉ việc làm sáng tỏ thái độ hay lựa chọn của người

dùng để từ đó đưa ra những ứng cử hoặc sở thích phù hợp.
Những lựa chọn không tường minh dựa trên dữ liệu trình duyệt (chẳng hạn những
ứng dụng Web), lịch sử xuất bản (chẳng hạn trong trực tuyến hay lưu trữ truyền thống),
hay những mẫu truy cập thông tin khác.
2.2 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ớ có đặc trưng cơ bản là nó thường sử
dụng toàn bộ dữ liệu đã có để 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, chúng ta sẽ nhận thấy rằng
các hệ thống thế này thường gặp phải vấn đề đó 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
dự đoán dựa trên sự tương tự giữa các người dùng và hệ dựa trên sản phẩm – 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 j 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. Vì vậy, cơ sở dữ liệu của người dùng bao
gồm tập các ứng cử v
ij,
tương ứng với lựa chọn của người dùng i và sản phẩm j. Nếu I
i

tập những sản phẩm mà người dùng i đã đánh giá, thì chúng ta có thể xác định đánh giá
chính (giá trị đánh giá tring bình) cho người dùng i như sau:
22
TTTN-2013-Trần Đức Việt-BKHN
Trong thuật toán lọc cộng tác dựa trên bộ nhớ, chúng ta dự đoán những lựa chọn của
người dùng thực sự (được chỉ ra với một chỉ số a ở phía dưới) dựa trên một vài thông tin
không hoàn chỉnh đối với người dùng và tập các trọng số được tính toán từ cơ sở dữ liệu

người dùng. Giả thiết rằng những lựa chọn của người dùng thực sự với một item j đã
được dự đoán, thì p
a,j
là tổng các lựa chọn được đánh trọng số (mức quan trọng_weight)
của những người dùng khác nhau:
(1)
Trong đó, n là số lượng những người dùng trong cơ sở dữ liệu của lọc cộng tác với những
trọng số (weight) khác không. Những trọng số w (i,a) có thể tương ứng với khoảng cách,
độ tương quan, hoặc mức tương tự giữa mỗi người dùng i với người dùng thực sự. K là
một hệ số chuẩn hóa, thí dụ những giá trị tuyệt đối của tổng các trọng số về mặt tiện ích.
2.2.1 Độ tương quan Pearson
Công thức chung của kỹ thuật lọc cộng tác theo phương pháp thống kê xuất hiện đầu tiên
trong dự án Group Lens, ở đó hệ số tương quan Pearson được xác định như là cơ sở của
những đánh giá [Resnick et al., 1994]. Độ tương quan giữa hai người dùng a và i là:
w(a, i) = (2)
Trong đó: v
a,j
là trọng số đánh giá của người dùng a trên sản phẩm j.
là trọng số đánh giá trung bình của người dùng a trên tất cả các sản phẩm.
v
i,j
là trọng số đánh giá của người dùng i trên sản phẩm j.
là trọng số đánh giá trung bình của người dùng i trên tất cả các sản phẩm.
23
TTTN-2013-Trần Đức Việt-BKHN
là phép tổng trên những item cho cả người dùng a và i với những lựa chọn
đã được ghi nhận.
2.2.2 Độ tương tự Vector
Trong lĩnh vực của việc truy vấn thông tin, độ tương tự giữa hai tài liệu thường
được đo bằng việc xem xét mỗi tài liệu như là môt vector tần suất xuất hiện của từ và

được tính bằng cosin của hai vector tấn suất này [Salton và McGill, 1983].
Chúng ta có thể thông qua dạng thức này để thực hiện kỹ thuật lọc cộng tác, ở đó
những người dùng trích ra role của các tài liệu, những chữ để trích ra các role của từ, và
những lựa chọn trích ra các role của tần số xuất hiện của từ. Chú ý rằng khi dùng thuật
toán này, những lựa chọn quan sát được phải đưa ra sở thích rõ ràng, không có role cho
những lựa chọn mập mờ, và những item không được chú ý nhận giá trị lựa chọn là 0.
Mối quan hệ của các trọng số là:
(3)
Trong đó: v
a,j
là trọng số đánh giá của người dùng a trên sản phẩm j.
v
i,j
là trọng số đánh giá của người dùng i trên sản phẩm j.
Những số hạng bình phương trong mẫu số cung cấp những lựa chọn
chuẩn.
2.3 Lọc cộng tác dựa trên mô hình
Ngược lại với phương pháp dựa trên bộ nhớ, phương pháp tiếp cận dựa trên mô
hình không sử dụng tất cả các dữ liệu đã có để đưa ra dự đoán. Thay vào đó, chúng 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. Những phương pháp như vậy có nhiều thuận lợi trong việc cung cấp nhanh
và có những dự đoán chính xác, giảm thiểu đi tính nhạy cảm trong trường hợp ít dữ liệu.
24
TTTN-2013-Trần Đức Việt-BKHN
Tuy nhiên, chúng thường yêu cầu nhiều thời gian để nắm bắt mô hình, làm giảm đi hiệu
quả trong việc cài đặt trên các ứng dụng trực tuyến – nơi mà dữ liệu thường xuyên được
thêm vào.
Từ quan điểm xác suất, nhiệm vụ của lọc cộng tác là có thể nhìn lại việc tính toán
những giá trị đánh giá được mong chờ, chúng cũng đưa ra những gì mà chúng ta muốn
biết về người dùng. Đối với người dùng thực sự, chúng ta mong muốn đoán trước được

những đánh giá về các item mới. Nếu giả thuyết rằng những lựa chọn này là số nguyên
trong khoảng từ 0m, thì ta có:
(4)
Trong đó, biểu thức xác suất đưa ra giá trị đánh giá về mặt xác suất của người dùng
thực sự cho item j quan sát được trước đó. Trong tài liệu này, tôi khảo sát hai mô hình
xác suất khác nhau cho lọc cộng tác là mô hình Cluster và mạng Bayes.
Trong mô hình Cluster, người dùng có sở thích giống nhau được tập hợp lại thành
một class. Trong class người dùng, sự đánh giá được xem là độc lập với nhau, nghĩa là
cấu trúc mô hình giống như mô hình Bayes thô sơ ban đầu. Số lượng của các class và các
thông số của mô hình được biết từ dữ liệu. Và thuật toán tôi lựa chọn sử dụng trong mô
hình này là thuật toán K- Mean Clustering.
Với mô hình Bayes thì chúng ta sẽ biểu diễn mỗi item như là một node trong mạng
này, ở đó mỗi trạng thái của node tương ứng với giá trị trọng số của mỗi item có thể nhận
biết được. Cả cấu trúc của mạng và xác suất điều kiện được nhận biết từ dữ liệu. Vì vậy
giới hạn của phương pháp này là mỗi người dùng có thể được tập hợp lại thành một
nhóm (cluster) đơn lẻ, trong khi một vài ứng dụng tư vấn có thể được lợi từ khả năng hợp
các người dùng thành một vài nhóm cùng một lúc. Chẳng hạn, trong tư vấn về sách,
người dùng quan tâm đến một chủ đề (ví dụ: lập trình) với mục đích công việc nhưng
hoàn toàn có thể quan tâm đến chủ đề khác vào những thời gian rảnh rỗi.
2.3.1 Hệ phân loại Naïve Bayes
Hệ phân loại naïve Bayes có thể được biểu diễn thành mạng Bayes như trong hình
25
TTTN-2013-Trần Đức Việt-BKHN

×