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

Nghiên cứu về hệ thống khuyến nghị và ứng dụng trong bài toán khuyến nghị bộ phim liên quan

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 (727.75 KB, 40 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC VINH

NGUYỄN VĂN NIỆM

LUẬN VĂN THẠC SỸ
Chuyên ngành: CÔNG NGHỆ THÔNG TIN

NGHI N C U VỀ HỆ TH NG

HU ẾN NGHỊ VÀ

NG

DỤNG TRONG BÀI TOÁN KHUYẾN NGHỊ BỘ PHIM LIÊN QUAN

Giáo viên hƣớng dẫn: TS. TRẦN XUÂN SANG

Nghệ an, 7/2018


LỜI CẢM ƠN

Trƣớc tiên, em xin bày tỏ lòng biết ơn chân thành và sâu sắc nhất tới TS.
Trần Xuân Sang đã tận tình hƣớng dẫn em trong suốt suốt quá trình thực hiện đề
tài.
Em xin gửi lời cảm ơn sâu sắc tới quý Thầy Cô trong viện Kỹ thuật và Công
nghệ trƣờng Đại học Vinh đã truyền đạt kiến thức quý báu cho em trong 2 năm
học vừa qua.
Em xin gửi lời cảm ơn tới Ban Giám Hiệu, các thầy cô giáo đồng nghiệp
trƣờng THPT Con Cuông đã tạo điều kiện giúp đỡ em trong công việc để cho em


đƣợc học tập và hoàn thành luận văn Thạc sĩ.
Xin chân thành cảm ơn các anh chị và bạn bè, đặc biệt là các thành viên
trong lớp K24 CNTT Đại Học Vinh đã ủng hộ, giúp đỡ và động viên tôi trong
suốt thời gian học tập vừa qua.
Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho
phép nhƣng chắc chắn sẽ không tránh khỏi những thiếu sót. Em kính mong nhận
đƣợc sự cảm thơng và tận tình chỉ bảo của q Thầy Cơ và các bạn.
Em xin chân thành cảm ơn!

1


LỜI CAM ĐOAN

Tôi xin cam đoan luận văn này là do tự bản thân thực hiện và là sản phẩm
của riêng tôi. Các số liệu và tài liệu trong luận văn là trung thực, các tin thứ cấp
sử dụng trong luận văn là có nguồn gốc và đƣợc trích dẫn rõ ràng.
Tơi hồn tồn chịu trách nhiệm về tính xác thực và nguyên bản của luận
văn.
Học viên

Nguyễn Văn Niệm

2


MỤC LỤC

LỜI CẢM ƠN ........................................................................................................ 1
MỤC LỤC .............................................................................................................. 3

CHƢƠNG I ............................................................................................................ 6
TỎNG QUAN VỀ ĐỀ TÀI .................................................................................... 6
1. SỰ CẦN THIẾT CỦA VẤN ĐỀ NGHIÊN CỨU ........................................................ 6
2. MỤC TIÊU NGHIÊN CỨU ................................................................................... 6
2.1. Mục tiêu tổng quát .................................................................................. 6
2.2. Mục tiêu cụ thể ........................................................................................ 6
3. ĐỐI TƢỢNG VÀ PHẠM VI NGHIÊN CỨU ............................................................ 7
3.1. Đối tượng nghiên cứu ............................................................................. 7
3.2. Phạm vi nghiên cứu ................................................................................. 7
4. NỘI DUNG NGHIÊN CỨU................................................................................... 7
CHƢƠNG II ........................................................................................................... 8
HỆ THỐNG KHUYẾN NGHỊ TỰ ĐỘNG ........................................................... 8
2.1. HỆ THỐNG KHUYẾN NGHỊ............................................................................. 8
2.1.1. Khái niệm ............................................................................................. 8
2.1.2. Cách thức hoạt động của hệ thống khuyến nghị ................................ 10
2.1.3. Các chức năng của hệ thống khuyến nghị ......................................... 13
2.1.4. Các phương pháp khai thác dữ liệu được sử dụng ............................ 14
2.1.5. Đánh giá các phương pháp ................................................................ 17
CHƢƠNG III ....................................................................................................... 19
HỆ THỐNG TỰ ĐỘNG GỢI Ý BỘ PHIM LIÊN QUAN .................................. 19
3.1. MƠ TẢ BÀI TỐN ........................................................................................ 19
3.2. LỌC CỘNG TÁC ........................................................................................... 20
3.2.1. Giới thiệu............................................................................................ 20
3.2.2. Lọc cộng tác dựa trên bộ nhớ ............................................................ 22
3


3.2.3. Lọc cộng tác dựa trên mơ hình .......................................................... 25
3.3. KẾT QUẢ THỰC NGHIỆM ............................................................................. 33
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ........................................................... 38

1. NHỮNG KẾT QUẢ ĐẠT ĐƢỢC VÀ MẶT HẠN CHẾ ............................................ 38
2. HƢỚNG PHÁT TRIỂN CỦA ĐỀ TÀI ................................................................... 38
TÀI LIỆU THAM KHẢO .................................................................................... 39

4


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

1

ACO

Ant colony optimization

2

ACS

Ant Colony System

3

AS

Ant System

4

GA


Genetic Algorithm

5

NP

Non-deterministic Polynomial-time

6

SM

Stable Marriage

7

TSP

Travelling Salesman Problem

5


CHƢƠNG I
TỎNG QUAN VỀ ĐỀ TÀI

1. Sự cần thiết của vấn đề nghiên cứu
Ngày nay chúng ta sống trong công nghệ số, với sự phát triển của internet
đã đƣa con ngƣời vào thế giới với một lƣợng lớn các thông tin nhƣ âm nhạc,

phim ảnh, sách vở, trang web,… với những đặc tính khác nhau. Trƣớc những
thơng tin khổng lồ đó, ngƣời dùng cảm thấy bối rối và khơng biết chọn cái nào là
thích hợp với mình và nên chọn cái nào trƣớc, cái nào sau.
Hệ thống khuyến nghị có thể giúp chúng ta chỉ ra các thông tin phù hợp
trong số thơng tin khổng lồ chƣa có trật tự đó, nó sử dụng các kỹ thuật lọc để
chọn ra những loại thông tin đặc trƣng nhằm hiển thị các phần tử phù hợp với sở
thích của ngƣời dùng. Theo cách này, hệ thống có tích hợp tính năng khuyến
nghị sẽ thu hút đƣợc ngƣời dùng cả về sự hài lòng và tin cậy. Các hệ thống
khuyến nghị tiêu biểu nhƣ Amazon, Netflix, IMDb, Youtube, Last.fm,
MovieLens… đã tăng đƣợc số lƣợng khách truy cập nhờ vào tính năng hỗ trợ
quyết định này của hệ thống.
2. Mục tiêu nghiên cứu
2.1. Mục tiêu tổng quát
Nghiên cứu, áp dụng về hệ thống khuyến nghị tự động và ứng dụng trong
khuyến nghị phim.
2.2. Mục tiêu cụ thể
Đề tài tập trung vào các mục tiêu cụ thể sau:
(i) Nghiên cứu tổng quan hệ thống khuyến nghị.
(ii) Nghiên cứu về hệ khuyến nghị phim.

6


3. Đối tƣợng và phạm vi nghiên cứu
3.1. Đối tƣợng nghiên cứu
(a) Nghiên cứu lý thuyết
- Nghiên cứu hệ thống khuyến nghị tự động.
- Nghiên cứu áp dụng về hệ thống khuyến nghị tự động trong khuyến nghị
phim.
(b) Nghiên cứu thực nghiệm

- Nghiên cứu tài liệu về ngôn ngữ lập trình để cài đặt các thuật tốn thử
nghiệm.
- Cài đặt và đánh giá hiệu quả của bài toán về hệ thống tự động khuyến nghị
và ứng dụng trong khuyến nghị phim.
3.2. Phạm vi nghiên cứu
Trong luận văn này tôi nghiên cứu hệ thống khuyến nghị dựa trên nội dung
(Content-Based Recommendation System) và Khuyến nghị lọc cộng tác để đánh
giá tƣơng quan (Collaborative Filtering Recomnendation System).
4. Nội dung nghiên cứu
- Nghiên cứu tổng quan lý thuyết về hệ thống khuyến nghị tự động và ứng
dụng trong khuyến nghị phim.
- Nghiên cứu ngơn ngữ lập trình để cài đặt thuật tốn.
- Viết báo cáo luận văn.

7


CHƢƠNG II
HỆ TH NG

HU ẾN NGHỊ TỰ ĐỘNG

2.1. Hệ thống khuyến nghị
Thông thƣờng, con 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 khuyến nghị 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 …

2.1.1.

hái niệm

Hệ thống khuyến nghị là kỹ thuật cung cấp những khuyến nghị 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 khuyến
8


nghị đƣợ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 Khuyến
nghị nhƣ: Khuyến nghị 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 khuyến nghị đã 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 q tải thơng tin. Hệ khuyến nghị 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 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 tố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 trăm ngàn (sách, phim, đĩa CD…) đến hàng
triệu (website…). Tập U cũng có thể lên tới hàng triệu.
Trong hệ thống khuyến nghị, độ 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 tồ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 khuyến nghị
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…

9



Vấn đề chính của hệ thống khuyến nghị là hàm r khơng đƣợc xác định trên
tồn khơng gian 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 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 khuyến nghị phải dự đố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 khuyến nghị phù
hợp nhất.
Harry potter
A

Harry
5

BA
CB
DC
D

potter
9
6


Star trek
∅ trek

Star
5
6
56

6

Xmen
7Xmen
5
7

5
8

Transformer
9
Transform

9
er
8
9
8

8 số bộ phim đã xem
9
Bảng 2.1.1: Đánh giá của người dùng về một

2.1.2. Cách thức hoạt động của hệ thống khuyến nghị

Nếu chúng ta thấy quá trình khuyến nghị nhƣ một hộp đen, nhƣ thể hiện
trong hình 2.1.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
khuyến nghị. 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ệ khuyến nghị 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ệ khuyến nghị đƣợc
thể hiện trong hình dƣới đây, là một tập các khuyến nghị cho ngƣời sử dụng. Các
đề xuất này phụ thuộc vào phƣơng pháp hệ khuyến nghị, 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…

10


Quá trình hoạt động đƣợc thể hiện chi tiết hơn trong hình 2.1.2b, 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 2.1.2b 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ệ khuyến nghị, 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 tồn bộ q trình hệ khuyến nghị thực hiện dự đốn và đƣa ra khuyến
nghị cho ngƣời dùng. Nếu thông tin thu thập không đầy đủ, hay mâu thuẩn; hệ
thống khuyến nghị sẽ khơng thể thực hiện chức năng dự đốn, đƣa ra đề xuất. Vì
lí do này, cần đặc biệt lƣu ý q 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ự đố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

11


đã đƣợc xử lí trong hai bƣớc đầu, biểu diễn thông tin dƣới dạng quy định của hệ
khuyến nghị, thực hiện các dự đố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 q trình gời ý là
đƣa ra các thơng tin khuyến nghị 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 q trình
khuyến nghị, đƣ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 khuyến nghị. 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…

Hình 2.1.2b: Đánh giá của người dùng về một số bộ phim đã xem

12


2.1.3. Các chức năng của hệ thống khuyến nghị
Hệ thống Khuyến nghị 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 Khuyến nghị. Thay vì ngƣời
dùng chỉ mua một sản phẩm mà họ cần, họ đƣợc Khuyến nghị 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
Khuyến nghị tìm ra những „mối quan tâm ẩn‟. Bằng cách đó, hệ thống Khuyến
nghị 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
Khuyến nghị 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 Khuyến nghị. 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 Khuyến nghị 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 Khuyến nghị là
hiểu nhu cầu của ngƣời dùng, khuyến nghị cho họ những thứ họ cần...Chính vì
vậy hệ thống Khuyến nghị 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 khuyến
nghị cho ngƣời dùng những lựa chọn và họ hài lịng vể những khuyến nghị đó 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 Khuyến nghị 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
cho các sản phẩm, hệ thống sẽ mang lại cho ngƣời dùng nhiều khuyến nghị chính
xác hơn, phù hợp với nhu cầu, sở thích của họ.

13


2.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ự đố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 xỉ, 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:
2.1.4.1.

huyến nghị dựa trên nội dung

Khuyến nghị 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ụ, để khuyến nghị 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).
Khuyến nghị dựa trên nội dung có những ƣu điểm:
Đầu tiên, nó khơng u cầu số lƣợng ngƣời sử dụng lớn để đạt đƣợc độ
chính xác đề nghị hợp lý.
Ngồi ra, các mặt hàng mới có thể đƣợc Khuyến nghị ngay dựa trên thuộc
tính có sẵn.
Tuy nhiên, nhƣợc điểm của Khuyến nghị 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

14


mơ tả về nội dung rất khó để so sánh và rút ra khuyến nghị, 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 Khuyến nghị
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
2.1.4.2.

huyến nghị lọc cộng tác để đánh giá tƣơng quan

Ý 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.
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 đến 5
Bảng 2.1.4.2. Ví dụ ma trận Người dùng x Sản phẩm
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

Ở 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 Khuyến nghị dựa trên các đánh giá này mà xếp hạng các
sản phẩm và khuyến nghị cho ngƣời dùng.

15


Trong ví dụ này, hệ thống Khuyến nghị 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 Khuyến nghị 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ụ, để khuyến nghị 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).
2.1.4.3.

ết hợp các phƣơng pháp


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 Khuyến nghị chính xác hơn.
Có thể phân thành bốn cách kết hợp nhƣ sau:
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 khuyến nghị 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 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ó q ít sản phẩm chung đƣợc đánh giá bởi cả hai ngƣời. Một
16


lợi ích khác là các khuyến nghị 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.
2.1.5. Đánh giá các phƣơng pháp
Các phƣơng pháp học trong hệ khuyến nghị đều có điểm mạnh và điểm yếu.
Một số vấn đề cần giải quyết trong hệ khuyến nghị:
Ngƣời dùng mới: Vì hệ thống đƣa ra khuyến nghị 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
khuyến nghị. 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
khuyến nghị.
Mức độ thƣa của dữ liệu (sparsity): trong các hệ khuyến nghị, 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

17


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ệ khuyến nghị 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.


18


CHƢƠNG III
HỆ TH NG TỰ ĐỘNG GỢI Ý BỘ PHIM LIÊN QUAN

3.1. Mơ tả bài tốn
Xây dựng hệ thống khuyến nghị phim. Hệ thống có m ngƣời dùng, và n bộ
phim. Xác định danh sách các bộ phim mà ngƣời dùng u chƣa xem và theo dự
đoán ngƣời dùng u mức độ ƣu tiên cao cho các bộ phim này.
Phát biểu bài tốn dạng cơng thức tốn học:
Giả sử
tập m ngƣời dùng trong hệ thống.
tập n bộ phim trong hệ thống.
một ngƣời dùng u
một bộ phim i
đánh giá của ngƣời dùng

cho bộ phim

. Giá trị đánh giá có thể là giá trị nhị phân
nguyên

.

nhận giá trị trong tập
, hoặc giá trị số

.


Hệ khuyến nghị 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 tốn, đƣa ra
ngƣời dùng

bộ phim với

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 khuyến nghị 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 tốn, dự đố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 khuyến nghị cho họ.

19


3.2. Lọc cộng tác
3.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 tố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 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ự đố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ự đố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 = {u1, u2, …, um} và một tập n sản phẩm I = {i1, i2, …, in}. Với mỗi
ngƣời dùng ui có thể đƣa ra ý kiến về một tập sản phẩm Iui. Chú ý rằng Iui  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 ua  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ợ

20


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ự đốn (Prediction) là giá trị bằng số, Paj, biểu thị giá trị đã đƣợc dự đoán
cho item ij  Iua cho ngƣời dùng thực sự ua. 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, Ir  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à Ir  Iua =  . Giao diện
này của thuật tốn CF cũng có thể đƣợc biết nhƣ là tư vấn Top – N.
Hình 3.2.1: 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

2

i
...

.
i….

i

i
n

i1

P

aj

Dự đoán


(dự đoán item

j cho ngƣời dùng
thực sự a)
Ti1 , Ti 2 ,..., TiN  (danh sách

Khuyến nghị

N user
Input (bảng trọng số đánh
giá)

Thuật toán CF

các items cho
ngƣời dùng thực
sự)
Output (Các kết
quả trên)

Thuật tốn CF biểu diễn tồ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ể aij 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 đó.

21


Thuật tố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ự đố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.
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.
3.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 tồn bộ dữ liệu đã có để dự đố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ự đốn chính
xác hơn trong các hệ trực tuyến – nơi mà ở đó ln 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

22



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ự đố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ử vij, tƣơng ứng với
lựa chọn của ngƣời dùng i và sản phẩm j. Nếu Ii là 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:

vi =

1
Ii

v
jI i

i, j

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 hồn chỉnh đối với ngƣời dùng và tập các trọng số đƣợc
tính tố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ự đốn, thì pa,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:
n

pa , j  va  k  w( a,i )( vi . j  vi )
i 1


(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.
3.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à:
23


 (v  v )(v  v )
 (v  v )  (v  v )
a, j

j

w(a, i) =

a

i, j

i


2

a, j

j

a

j

i, j

(2)

2

i

Trong đó: va,j là trọng số đánh giá của ngƣời dùng a trên sản phẩm j.

va 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.
vi,j là trọng số đánh giá của ngƣời dùng i trên sản phẩm j.
v i 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.



là phép tổng trên những item cho cả ngƣời dùng a và i với


j

những lựa chọn đã đƣợc ghi nhận.
3.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à:

w( a , i ) =


j

va , j



kI a

vi , j
va2,k




kI i

vi2,k

(3)

Trong đó: va,j là trọng số đánh giá của ngƣời dùng a trên sản phẩm j.

24


×