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

Nghiên cứu giải thuật RBMs trong Deep Learning cho hệ lọc cộng tác và viết chương trình mô phỏng

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

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG

KHOA CƠNG NGHỆ THÔNG TIN I
--------

ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Đề tài: NGHIÊN CỨU THUẬT TOÁN RBM TRONG
DEEP LEARNING CHO HỆ LỌC CỘNG TÁC VÀ
VIẾT CHƯƠNG TRÌNH MƠ PHỎNG

Giảng viên hướng dẫn: ThS. TRỊNH THỊ VÂN ANH
Sinh viên thực hiện: NGUYỄN ĐĂNG KHIÊM
Lớp: D11CNPM4
Khóa: 2011 - 2016
Hệ: CHÍNH QUY


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Hà Nội, tháng 11 năm 2015


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

LỜI CẢM ƠN
Sau một thời gian dài được học tập, thực tập tại trường em cũng đã hồn
thành đồ án tốt nghiệp cuối khóa.
Lời đầu tiên cho em được phép gửi tới cô giáo ThS. Trịnh Thị Vân Anh –
giảng viên Khoa Công nghệ Thông tin I tại Học viện Cơng nghệ Bưu chính Viễn
thơng lời cảm ơn sâu sắc và chân thành nhất, cảm ơn cơ đã chỉ bảo, đơn đốc để em


có thể hồn thành bài đồ án tốt nghiệp của mình. Một cơ giáo đối với em là vơ cùng
nhiệt tình, cá tính, và năng động.
Em cũng xin gửi lời cảm ơn tới tồn thể các thầy, các cơ trong khoa đã hết
lịng dạy dỗ em trong q trình học tập tại trường. Mỗi thầy, mỗi cô có những nét
đă ̣c biê ̣t. Đằng sau sự nghiêm khắc như mặc định là “luật” những “lệnh” là sự tâm
huyết của các thầy, các cơ vì kỹ năng, kiến thức và sự chun nghiệp thế hệ trẻ
tương lai. Ai từng là sinh viên của thầy cơ cũng sẽ có những cảm nhận riêng, nhưng
đối với em. Thầy cô tuyệt vời lắm ạ!. Thầy cô giúp em trang bị được một khối kiến
thức và kinh nghiệm quý báu trong chuyên môn, cuộc sống để làm hành trang bước
vào đời.
Con xin gửi lời cảm ơn chân thành đến bố mẹ, ba anh trai và chị gái, đại gia
đình những người ln quan tâm, chăm sóc cho con cả về vật chất lẫn tinh thần,
luôn tạo điều kiện tốt nhất cho con để con có thể chuyên tâm học tập, nghiên cứu.
Nơi là nguồn động viên, tìm bến đỗ khi mệt mỏi là chỗ dựa vững chắc nhất cho con.
Cuối cùng, xin cảm ơn tất cả bạn bè đặc biệt những người đã đồng hành với
tôi trên suốt chặng đường vừa qua, những người đã giúp đỡ, khích lệ cũng như phê
bình góp ý giúp tơi hồn thành khóa luận thuận lợi nhất. Các bạn đã cho tơi những
tình cảm q giá và thiêng liêng nhất, tơi sẽ không bao giờ quên.
Xin chân thành cảm ơn!.
Hà Nội, tháng 11 năm 2015
Nguyễn Đăng Khiêm


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

NHẬN XÉT
(Của giảng viên phản biện)
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
….
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
….
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
…………………………………………………………………………………
Điểm: …………………Bằng chữ:……………………………………….
……….., ngày….tháng ….năm 2015
CÁN BỘ- GIẢNG VIÊN PHẢN BIỆN
(Ký, ghi rõ họ tên)

.



ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

NHẬN XÉT, ĐÁNH GIÁ, CHO ĐIỂM
(Của người hướng dẫn)
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
….
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
….
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

………………………………………………………………………………………
…………………………………………………………………………………
Điểm: …………………Bằng chữ:……………………………………….
Đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp.
……….., ngày….tháng ….năm 2015

.

CÁN BỘ- GIẢNG VIÊN HƯỚNG DẪN
(Ký, ghi rõ họ tên)

.


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

MỤC LỤC
MỤC LỤC..............................................................................................................................i
DANH MỤC CÁC HÌNH...................................................................................................iii
DANH MỤC CÁC BẢNG..................................................................................................iv
DANH MỤC CÁC CHỮ VIẾT TẮT..................................................................................v
PHẦN MỞ ĐẦU...................................................................................................................1
CHƯƠNG 1: GIỚI THIỆU KỸ THUẬT LỌC CỘNG TÁC TRONG HỆ TƯ VẤN....1
1.1

Hệ thống tư vấn......................................................................................................1

1.1.1

Giới thiệu chung...............................................................................................1


1.1.2

Ứng dụng của hệ tư vấn...................................................................................2

1.2

Bài toán tư vấn.......................................................................................................2

1.3. Phân loại hệ thống tư vấn.........................................................................................4
1.3.1. Phương pháp tư vấn dựa trên nội dung.................................................................4
1.3.2. Phương pháp tư vấn dự trên kỹ thuật lọc cộng tác.............................................10
1.3.3. Tư vấn dựa trên cách tiếp cận kết hợp................................................................16
1.4. Kết luận....................................................................................................................18
CHƯƠNG 2 MÁY HẠN CHẾ BOTLZMANN (RBMs) TRONG LỌC CỘNG TÁC. 19
2.1

Máy Botlzmann (Botlzmann Machine).............................................................19

2.1.1

Mơ hình máy Bolzmann.................................................................................19

2.1.2

Huấn luyện cho máy Botlzmann....................................................................21

2.2

Máy hạn chế Botlzmann (Restrist Botlzmann Machine).................................23


2.3.1

Mơ hình máy hạn chế Botlzmann..................................................................23

2.3.2

Huấn luyện cho máy hạn chế Botlzmann (RBM)..........................................24

2.3

Máy hạn chế Botlzmann (RBMs) trong lọc cộng tác........................................26

2.3.1

Mơ hình máy hạn chế Botlzmann trong lọc cộng tác.....................................26

2.3.2

Huấn luyện máy hạn chế Botlzmann (RBMs) trong lọc cộng tác..................29

2.3.3

Dự đoán..........................................................................................................29

2.4

Kết luận................................................................................................................30

CHƯƠNG 3 CÀI ĐẶT BÀI TỐN..................................................................................31

3.1

Xây dựng bài tốn................................................................................................31

3.2

Hệ thống của máy hạn chế Boltzmann (RBMs) trong lọc cộng tác................32

3.3

Mô tả dữ liệu Dataset Netflix..............................................................................34
i


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

3.4

Cài đặt bài toán....................................................................................................37

3.4.1

Ý nghĩa các tham số trong máy hạn chế Boltzmann......................................37

3.4.2

Yêu cầu hệ thống và thư viện sử dụng...........................................................39

3.4.3


Kết quả thực nghiệm và đánh giá...................................................................39

3.5

Kết luận................................................................................................................46

KẾT LUẬN.........................................................................................................................48
TÀI LIỆU THAM KHẢO.................................................................................................50

ii


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

DANH MỤC CÁC HÌNH
Hình 1. 1: Minh họa hệ thống tư vấn sách cho người đọc.........................................2
Hình 1. 2: Minh họa phương pháp tư vấn dựa trên lọc nội dung...............................5
Hình 1. 3: Minh họa phương pháp tư vấn dựa trên lọc cộng tác..............................10
Hình 1. 4: Quy trình của hệ thơng tư vấn dựa trên lọc cộng tác...............................11
Hình 2. 1: Mạng nơ-ron hồi quy một lớp................................................................19
Hình 2. 2: Một Boltzmann Machine. Các nút có thể nối với nhau theo bất kỳ cách
nào........................................................................................................................... 20
Hình 2. 3: Một Restricted Boltzmann Machine chỉ có sự liên kết giữa các nút hiện
và các nút ẩn............................................................................................................24
Hình 2. 4: Huấn luyện CD. Nút hiện và nút ẩn được cập nhật qua T bước lặp........26
Hình 2. 5: So sánh RBMs nhị phân và RBMs trong lọc cộng tác[8]........................27
Hình 2. 6: Restricted Boltzmann Machine cho lọc cộng tác. Nút hiện nhị phân được
thay thế với các softmax units. Mỗi người dùng chỉ có một RBMs bao gồm softmax
units cho những bộ phim được đánh giá bởi người dùng đó....................................28
Hình 3. 1: Xây dựng bài tốn trong lọc cộng tác.....................................................31

Hình 3. 2: Sơ đồ khối hệ thống sử dụng giải thuật RBMs trong lọc cộng tác..........32
Hình 3. 3: Biểu diễn sai số dự đốn.........................................................................34
Hình 3. 4: Định dạng của đánh giá những người dùng đối với những bộ phim.......35
Hình 3. 5: Thủ tục sử dụng phương pháp walk-forward chia tập dữ liệu trong
Netflix..................................................................................................................... 37
Hình 3. 6: Thư viện Numpy tính tốn tốn học trong ngơn ngữ Python..................39
Hình 3. 7: File cấu hình lần một cho huấn luyện RBMs lần một.............................40
Hình 3. 8: Kết quả chỉ số RMSE thu được lần một..................................................41
Hình 3. 9: Đồ thị chỉ số đánh giá RMSE lần một....................................................41
Hình 3. 10: File cấu hình lần một cho huấn luyện RBMs lần hai............................42
Hình 3. 11: Kết quả dữ liệu kiểm tra (validation set) RMSE thu được lần hai........43
Hình 3. 12: Đồ thị chỉ số đánh giá RMSE lần hai....................................................43
Hình 3. 13: File cấu hình lần một cho huấn luyện RBMs lần ba.............................44
Hình 3. 14: Kết quả dữ liệu kiểm tra (validation set) RMSE thu được lần ba..........45
iii


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Hình 3. 15: Đồ thị chỉ số đánh giá RMSE lần ba....................................................46

DANH MỤC CÁC BẢNG
Bảng 1. 1: Minh họa đánh giá của người dùng về 1 số bộ phim đã xem...................4
Bảng 2. 1: Bảng giải thuật Positive phase................................................................22
Bảng 2. 2: Bảng giải thuật Negative phase..............................................................23
Bảng 2. 3: Bảng giải thuật huấn luyện phân kỳ tương phản CD..............................25
Bảng 2. 4: Những người dùng đánh giá cho từng bộ phim......................................28
Bảng 2. 5: Một người dùng (U2 bảng 1) đánh giá cho những bộ phim....................28
Bảng 2. 6: Dự đoán của giải thuật RBMs trong lọc cộng tác...................................30
Bảng 3. 1: Tập dữ liệu Test cho ví dụ RMSE..........................................................33

Bảng 3. 2: Tập giá trị được dự đoán và sai số trong ví dụ RMSE............................34
Bảng 3. 3: Thơng số dữ liệu mà Netflix cung cấp....................................................36
Bảng 3. 4: Bảng yêu cầu hệ thống và thư viện sử dụng...........................................39

iv


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

DANH MỤC CÁC CHỮ VIẾT TẮT
STT

Ký hiệu

Tiếng Anh

Tiếng Việt

1

BM

Botlzmann Machine

Máy Botlzmann

2

RBM


Restrict Botlzmann Machine

Máy hạn chế Botlzmann

3

CF

Collarborative Filter

Lọc cộng tác

4

v

visible unit

Nút hiện

5

h

hidden unit

Nút ẩn

6


RMSE

Root Mean Squared Error

Căn bậc hai của trung
bình bình phương sai số

7

CD

Contrastive Divergence

Phân kỳ tương phản

8

E

Energy function

Hàm năng lượng

9

u

user

Người dùng


10

DL

Deep Learning

Học sâu

11

ML

Machine Learning

Học máy

v


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

PHẦN MỞ ĐẦU
Sự phát triển của Internet đã mở ra cho con người rất nhiều cơ hội và thách thức.
Thương mại điện tự ra đời và phát triển mạnh mẽ. Tất cả các sản phẩm, mặt hàng
đều có thể được trao đổi, mua bán trên mạng. Với mỗi từ khóa được tìm kiếm,
khách hàng có được một lượng lớn danh sách các sản phẩm có vẻ phù hợp. Danh
sách đó có thể lên tới hàng trăm, hàng nghìn sản phẩm có liên quan đến tìm kiếm.
Vấn đề là chúng ta chỉ cần một lượng sản phẩm vừa phải trong số những sản phẩm
đó, và khơng muốn bỏ thêm những chi phí tìm kiếm khác để có được những sản

phẩm đúng mong muốn hơn. Chính vì vậy mà hệ thống tư vấn ra đời nhằm mang
đến những lựa chọn phù hợp nhất, gần nhất với mong muốn của người dùng. Ngày
nay, hệ thống tư vấn được nghiên cứu và áp dụng trong rất nhiều lĩnh vực như tư
vấn phim, tư vấn âm nhạc, tư vấn sách…. Ví dụ như ở hệ thống tư vấn Amazon, các
sản phẩm gợi ý cho người dùng hầu hết xuất phát từ việc sử dụng thuật toán tư vấn
[7], khách hàng mua một mặt hàng A sẽ được giới thiệu mặt hàng B. Hay hệ giới
thiệu phim (ở Netfix (Netflix[12] nổi tiếng với hệ thống giới thiệu phim Cinematch
và là dịch vụ truyền hình qua Internet với nội dung chủ yếu là phim và các show
truyền hình đã thu hút tỷ giờ xem rất lớn vượt xa các hãng truyền hình cable truyền
thống), MovieLens), giới thiệu âm nhạc (tại Last.fm). Như vậy, hệ tư vấn là một
lĩnh vực rất được chú trọng và đang được nghiên cứu cả trong ngành và trong giới
học thuật.
Một số cơng ty có mơ hình kinh doanh hầu hết dựa vào hệ tư vấn mà họ sử
dụng. Cho thuê DVD tại công ty Netlfix là một trong những ví dụ nổi bật nhất [10].
Là CEO của Netlfix, Reed Hastings nói: ”Người dân có ít thời gian để nhận thức
được họ muốn chọn một bộ phim ”. Năm 2000, Netflix giới thiệu Cinematch, hệ
thống giới thiệu của riêng mình. Phiên bản đầu tiên làm việc rất kém nhưng nó được
cải thiện theo thời gian khi các lập trình viên thử những ý tưởng mới và tinh chỉnh
các thuật tốn của họ. Điều thú vị là hệ thống khơng chỉ đơn giản là đề xuất các bộ
phim bom tấn mới nhất mà ngược lại, các phim nhỏ hơn hoặc độc lập thường được
đề xuất cho người dùng. Hệ thống tư vấn giúp người dùng tìm thấy những gì mị họ

SVTH: Nguyễn Đăng Khiêm _D11CNPM4

1


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

muốn và đồng nghĩa rằng công ty sẽ tiêu thụ nhiều sản phẩm hơn. Điều mà Netlfix

rất coi trọng trong quá trình kinh doanh của họ.
Lọc cộng tác (Collaborative Filtering) là một trong những kỹ thuật lọc thơng tin
trong hệ tư vấn. Nó khai thác những khía cạnh liên quan đến thói quen sử dụng sản
phẩm của cộng đồng người dùng có cùng sở thích để tạo nên tư vấn.
Với sự có mặt ngày càng nhiều khách hàng và sản phẩm, hệ thống tư vấn đang
phải đối mặt với việc tư vấn mỗi giây cho hàng triệu khách hàng và sản phẩm. Đồng
thời, chất lượng của các đề xuất phải đủ cao, đủ tin tưởng để giúp người dùng tìm
thấy bất kỳ điều gì giống như mong muốn của họ. Hầu hết các thuật toán cho hệ tư
vấn đã không được xây dựng để phù hợp với dữ liệu lớn, người dùng mới, sản phẩm
mới, thưa thớt dữ liệu đánh giá của người dùng khi đó có thể gián tiếp ảnh hưởng
đến chất lượng tư vấn.
Đề tài: “Nghiên cứu giải thuật RBMs trong Deep Learning cho hệ lọc cộng
tác và viết chương trình mơ phỏng” sẽ góp phần nào đó trong việc giải quyết
những vấn đề cịn tồn tại của lọc thơng tin cho các hệ tư vấn.
Đồ án được chia làm ba chương, trong đó:
Chương 1. Giới thiệu kỹ thuật lọc cơng tác trong hệ tư vấn
Giới thiệu về hệ tư vấn, bài toán trong hệ tư vấn, phân loại hệ tư vấn, cụ thể là tư
vấn dựa trên nội dung và lọc cộng tác. Mơ tả các vấn đề cịn tồn tại trong lọc cộng
tác.
Chương 2. Máy hạn chế Botlzmann (RBMs) trong lọc cơng tác
Mơ hình, huấn luyện, và dự đốn về giải thuật máy Botlzmann (Botlzmann
Machine), máy hạn chế Botlzmann (Restricted Boltzmann Machine), máy hạn chế
Botlzmann (RBM’s) trong lọc cộng tác, cách giải thuật giải quyết trong bài toán lọc
cộng tác.
Chương 3. Cài đặt bài toán
Xác định bài toán, xây dựng hệ thống mà giải thuật sử dụng trong bài tốn, và
mơ tả dữ liệu trước khi đồ án sử dụng để cài đặt thực nghiệm, môi trường cài đặt,
kết quả và đánh giá độ chính xác của thuật tốn.
Cuối cùng là kết luận và tài liệu tham khảo
SVTH: Nguyễn Đăng Khiêm _D11CNPM4


2


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

CHƯƠNG 1: GIỚI THIỆU...

CHƯƠNG 1: GIỚI THIỆU KỸ THUẬT LỌC CỘNG TÁC
TRONG HỆ TƯ VẤN
1.1 Hệ thống tư vấn
1.1.1 Giới thiệu chung
Hệ thống tư vấn (Recommender Systems -RSs) là những công cụ hay kỹ thuật phần
mềm cung cấp các gợi ý về các sản phẩm cho người dùng. Các gợi ý này liên quan
đến quá trình ra quyết định về loại sản phẩm cần mua, loại âm nhạc cần nghe, hoặc
tin tức cần đọc,...
Vào giữa thập niên 1990, hệ thống tư vấn được xem như là một lĩnh vực nghiên cứu
độc lập khi bắt đầu tập trung vào những vấn đề liên quan đến tư vấn mà phụ thuộc
rõ ràng những cấu trúc trọng số. Trong hầu hết các trường hợp, tư vấn được đưa về
việc đánh giá trọng số cho những sản phẩm mà người dùng chưa chọn lựa (sử dụng)
Trong hình thức đơn giản nhất, các tư vấn mang tính cá nhân hóa cung cấp một
danh sách các sản phẩm đã được xếp hạng. Để thực hiện việc xếp hạng này, hệ
thống tư vấn cố gắng dự đoán các sản phẩm hoặc dịch vụ phù hợp nhất dựa trên sở
thích của người dùng. Để hồn thành một cơng việc như thế, hệ thống tư vấn thu
thập sở thích của các người dùng, bằng cách dựa trên các xếp hạng của họ về các
sản phẩm hoặc được suy diễn từ các hành động của người dùng. Ví dụ, một hệ
thống tư vấn có thể xem xét việc một người dùng xem thông tin trên website của
một trang sản phẩm như là một dấu hiệu ngầm định về sở thích của người đó đối
với sản phẩm trên trang đó.
Ví dụ minh họa hoạt động của một hệ thống tư vấn: Một người dùng đăng nhập vào

một hệ thống website đọc sách, người này cần xem một quyển sách về văn học
nhưng không biết là nên xem quyển sách nào, hệ thống website cần tư vấn cho
người đó xem một hoặc vài quyển sách mà dự đốn rằng người này sẽ thích quyển
sách mà được hệ thống tư vấn. Để tư vấn được cho người dùng, hệ thống cần thu
thập các thông tin về người dùng và các người dùng khác, thu thập thông tin các
quyển sách. Có một vài cách tư vấn truyền thống đơn giản nhất như, chọn những
quyển sách được nhiều người ưa thích nhất, hoặc chọn những quyển mới nhất để tư
vấn. Tuy nhiên để nâng cao chất lượng của tư vấn cho người dùng, hệ thống tư vấn

SVTH: Nguyễn Đăng Khiêm _D11CNPM4

1


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

CHƯƠNG 1: GIỚI THIỆU...

cần sử dụng các thông tin của tất cả những người dùng và thông tin của tất cả các
sản phẩm, sử dụng các thuật toán để đưa ra tư vấn phù hợp nhất cho người dùng.

Hình 1. 1: Minh họa hệ thống tư vấn sách cho người đọc

1.1.2 Ứng dụng của hệ tư vấn
Phạm vi ứng dụng của hệ thống tư vấn lựa chọn là rất rộng. Trong thương mại điện
tử, hầu hết các hệ thống này là các hệ thống bán sách, giới thiệu phim, tin tức, đĩa
CD ca nhạc, các trang Web...
-

Phim: Netflix, Firefly, MovieCritic, MovieLens, Mangarate, Morse


-

Âm nhạc: Firefly, CdNow

-

Sách: Amazon, Barnes&Noble

-

Web: Webwatcher, Webfilter, Webwasher, Select, Webdoggie,
Gustos

-

Tin tức: Shift, Infoscan, NewsSieve, Borger, RAMA, GroupLens.

-

Thương mại điện tử: TripMatcher (du lịch), ShopMatcher, E-Markets

1.2 Bài toán tư vấn
Theo Adomavicius và Tuzhilin trong [7], 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 đánh giá (rating) của các sản phẩm (phim, cd,
sách, nhà hàng,…) chưa được người dùng xem xét. Việc ước lượng này thường dựa
trên các đánh giá đã có của chính người dùng đó hoặc những người dùng khác.

SVTH: Nguyễn Đăng Khiêm _D11CNPM4


2


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

CHƯƠNG 1: GIỚI THIỆU...

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 các người dùng (Users) của hệ thống.

-

Gọi I là tồn bộ khơng gian đối tượng sản phẩm (Items).

-

Hàm r(u,i) là đánh giá (độ phù hợp) của người dùng u với sản phẩm i.

 Vậy bài toán là sự ánh xạ r: UxI  R. Trong đó R chính là tập hợp các đối
tượng được đưa ra giới thiệu. Tập R sẽ được sắp xếp theo thứ tự giảm dần
của r. Cơng việc chính của giải thuật là đi tìm giá trị hàm r = f(u, i), với r lớn
nhất là sản phẩm i được người dùng u ưa thích nhất.
Trong hệ thống tư vấn, độ phù hợp của một sản phẩm thường được cho bằng điểm.
Ví dụ người dùng A đánh giá bộ phim Walking dead được điểm 7/10. Tuy nhiên,
nhìn chung độ phù hợp có thể là một hàm bất kì tùy thuộc vào ứng dụng cụ thể. Giá
trị của r có thể được xác định bởi người dùng hoặc được tính tốn bởi 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 có thể gồm rất nhiều loại thơng tin: tuổi, giới tính, thu nhập, … hoặc có thể
chỉ gồm một mã người dùng (user id) duy nhất. Tương tự, mỗi sản phẩm trong
không gian I cũng được xác định bởi một tập các đặc trưng. Ví dụ, trong hệ thống tư
vấn phim, đặc trưng của mỗi bộ phim 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 tư vấn là r khơng được xác
định trên tồn khơng gian U × I mà chỉ trên một miền nhỏ của khơng gian đó. Điều
này dẫn tới việc 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. Ví dụ, bảng 1.1 mô tả đánh giá của một số
người dùng với các phim mà họ đã xem (thang điểm từ 1-5, kí hiệu Ø nghĩa là bộ
phim chưa được người dùng đánh giá). Từ những thơng tin đó, hệ thống tư vấn phải
dự đoán điểm cho các bộ phim chưa được người dùng đánh giá, từ đó đưa ra những
gợi ý phù hợp nhất.

SVTH: Nguyễn Đăng Khiêm _D11CNPM4

3


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

CHƯƠNG 1: GIỚI THIỆU...

Bảng 1. 1: Minh họa đánh giá của người dùng về 1 số bộ phim đã xem

Walking dead

X-Men

Iron Man


Spider Man

User A

3

Ø

2

Ø

User B

4

2

Ø

Ø

User C

Ø

4

4


5

1.3. Phân loại hệ thống tư vấn
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 … Theo [1], các hệ
thống tư vấn thường được phân thành ba loại:
-

Tư vấn dựa trên nội dung: Người dùng sẽ được tư vấn những sản
phẩm tương tự với những sản phẩm đã được người dùng đó ưa thích
trước đây.

-

Tư vấn dựa trên cộng tác: Người dùng sẽ được tư vấn những sản
phẩm được ưa chuộng xuất phát từ những người dùng có cùng thị hiếu
và sở thích với mình.

-

Tư vấn dựa trên cách tiếp cận kết hợp: Kết hợp hai phương pháp tiếp
cận dựa trên nội dung và cộng tác.

1.3.1. Phương pháp tư vấn dựa trên nội dung
Với phương pháp tư vấn dựa trên nội dung, độ 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 (Information Retrieval) và lọc thơng tin (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
văn bản như 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

SVTH: Nguyễn Đăng Khiêm _D11CNPM4

4


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

CHƯƠNG 1: GIỚI THIỆU...

(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).

Hình 1. 2: Minh họa phương pháp tư vấn dựa trên lọc nội dung

Giả sử ta xem Content(i) là một thông tin riêng của sản phẩm, nghĩa là một tập các
đặc tính đặc trưng cho sản phẩm i. Nó thường được tính tốn thơng qua việc trích
rút từ tập các đặc tính của sản phẩm i (nội dung của nó) và ứng với mỗi mục đích tư
vấn sẽ xác định ra sản phẩm thích hợp. Dễ dàng nhận thấy những hệ thống tư vấn
dựa trên nội dung thường thiết kế cho hầu hết những sản phẩm được tư vấn dựa trên
text (văn bản) và nội dung của những hệ thống này được mô tả như là một từ khóa

(keyword). Chẳng hạn, thành phần của hệ thống Fab.com dựa trên nội dung tư vấn
trang Web cho người dùng, trình bày nội dung trang Web đó với 100 từ quan trọng
nhất. “Tầm quan trọng” (việc cung cấp nhiều thông tin) của từ kj trong tài liệu dj
được xác định bằng độ đo trọng số w ij định nghĩa qua một vài phương pháp khác
nhau.
Một trong những thước đo phổ biến để xác định mức độ quan trọng của từ khóa
trong việc truy vấn thơng tin là đo tần suất xuất hiện của mục từ trong tài liệu (Term
Frequency) và tần số nghịch đảo của tần suất xuất hiện các tài liệu (Inverse
Document Frequency) được định nghĩa như sau: Giả sử N là tổng số tài liệu được tư
vấn cho người dùng và từ khóa kj xuất hiện trong ni của chúng (ni là tổng số tài liệu

SVTH: Nguyễn Đăng Khiêm _D11CNPM4

5


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

CHƯƠNG 1: GIỚI THIỆU...

có từ khóa k). Giả sử fi,j là số lần từ khóa ki xuất hiện trong tài liệu dj. TFi,j là tần số
xuất hiện từ khóa ki trong tài liệu dj:
TFi , j 

Trong đó: max z

f z, j

fi, j
max z f z , j


(1. 1)

là số lần xuất hiện cao nhất của từ khóa kz trong tồn tập tài liệu

dj. Tuy nhiên, những từ khóa xuất hiện trong nhiều tài liệu có thể khơng được phân
biệt với nhau giữa tài liệu liên quan và khơng liên quan. Vì vậy, tần số nghịch đảo
tần suất xuất hiện của các tài liệu IDF i được đưa ra để phân biệt giữa các từ khóa
này và thường dùng kết hợp với tần suất xuất hiện của từ khóa (TF i,j mang lại tầm
quan trọng cho từ khóa):
IDF  log

N
ni

(1. 2)

Vậy sự kết hợp của TF và IDF sẽ xác định mức độ quan trọng của từ khóa k i cần
xét.
wi , j  TFi , j  IDFi

(1. 3)

Và nội dung của tài liệu dj được xác định như sau:
Content (d j )  (w1 j ,..., w kj )

(1. 4)

Như đã nói ở trên, hệ thống dựa trên nội dung thường được dùng để tư vấn những
những sản phẩm đã được người dùng đó trước đây ưa thích. Cụ thể, những sản

phẩm được tiến cử đem so sánh trọng số với các sản phẩm mà người dùng trước đây
đã sử dụng và từ đó tìm ra sản phẩm phù hợp nhất để tư vấn.
ContentBasedProfile(u) là hồ sơ cá nhân của người dùng u chứa những thị hiếu và
sở thích của người dùng. Hồ sơ cá nhân thu được thơng qua việc phân tích nội dung
của những sản phẩm và trọng số do người dùng đánh giá trước đó, nó thường được
xây dựng bằng cách sử dụng kỹ thuật phân tích từ khóa từ việc truy vấn thơng tin.
Chẳng hạn, ContentBasedProfile(u) có thể được định nghĩa như là một véc-tơ của
SVTH: Nguyễn Đăng Khiêm _D11CNPM4

6


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

CHƯƠNG 1: GIỚI THIỆU...

những mức độ quan trọng (wu1, …., wuk) , mỗi mức này sẽ biểu diễn tầm quan trọng
của từ khóa ki với người dùng u và nó có thể được tính tốn từ các véc-tơ nội dung
đã được đánh trọng số cụ thể thơng qua các kỹ thuật khác nhau. Ví dụ một vài
phương pháp tính trung bình cộng, tính tốn ContentBasedProfile (u) như là một
véc-tơ “trung bình” từ những véc-tơ nội dung cụ thể.
Trong những hệ thống dựa trên nội dung, hàm tiện ích r(u,i) thường được định
nghĩa như sau:
r (u,i)  Sim(ContentBaseProfile(u), content(i))

(1. 5)

Dựa trên việc truy vấn thông tin để tư vấn các trang Web, Web sites URLs hoặc các
thơng điệp tin tức Usenet, thì cả ContentBasedProfile (u) của người dùng u và





Content (i) của tài liệu i đều có thể được trình bày như các TF-IDF véc-tơ wu và wi
của các từ khóa quan trọng. Hàm r(u,i) được biểu diễn trong việc truy vấn thông tin




thường được xác định theo véc-tơ wu và wi như sau:
K

 
w u .w i
 
r (u,i)  cos(w u , w i )  

wu 2  wi


2

W
j 1

K

W j ,i

j ,u


K

W W
2
i ,u

j 1

j 1

(1. 6)
2
j ,i

Trong đó K là tổng số các từ khóa trong hệ thống.
Ví dụ, nếu user u đọc nhiều bài báo trực tuyến về chủ để Tin Sinh Học thì kỹ thuật
tư vấn dựa trên nội dung sẽ có khả năng tư vấn những bài báo khác về tin sinh học
cho user u nếu nó có nhiều thuật ngữ liên quan đến tin sinh học hơn vì vậy


ContentBasedProfile (u) sẽ được xác định bằng véc-tơ wu mô tả các thuật ngữ kj với
mức độ quan trọng cao wju. Hơn nữa, hệ thống tư vấn này còn sử dụng cosin hoặc
thước đo mức độ tương đồng để gán giá trị hàm r(u,i) cao cho những bài báo i có
nhiều thuật ngữ tin sinh học và giá trị hàm hàm r(u,i) thấp cho những bài báo có ít


thuật ngữ tin sinh học hơn thông qua véc-tơ wi .
Bên cạnh phương pháp truy vấn thông tin mà cơ sở là dựa trên các hàm heuristic
truyền thống, tư vấn dựa trên nội dung còn sử dụng các kỹ thuật khác như phân loại

Bayes và nhiều kỹ thuật máy học khác bao gồm phân cụm, cây quyết định, và mạng
SVTH: Nguyễn Đăng Khiêm _D11CNPM4

7


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

CHƯƠNG 1: GIỚI THIỆU...

nơ-ron nhân tạo. Những kỹ thuật này khác với phương pháp dựa trên việc truy vấn
thơng tin, ở đây chúng tính tốn hàm tiện ích khơng dựa trên hàm heuristic giống
như việc đánh giá độ tương quan bằng hàm cosin mà nó dựa trên các mơ hình được
biết từ dữ liệu phía dưới nhờ sử dụng các kỹ thuật máy học và thống kê. Chẳng hạn,
dựa trên tập các trang Web được đánh trọng số thể hiện mức độ liên quan đến người
dùng, sử dụng kỹ thuật phân loại Naïve Bayes để phân loại các trang Web không
được đánh trọng số. Hơn nữa, kỹ thuật phân loại Naïve Bayes thường được dùng để
đánh giá xác suất trang pj có thuộc lớp Ci khơng (có quan hệ hay khơng có quan hệ)
dựa vào tập các từ khóa k1,j ,……,kn,j trong trang đó:
P (Ci | k1, j &...& k n , j )

(1. 7)

Ngoài ra, giả thuyết rằng các khóa này độc lập với nhau vì vậy xác suất ở trên tương
ứng với:
P (Ci  P (K x , j | Ci ))

(1. 8)

Mặc dù giả thuyết các từ khóa độc lập với nhau không nhất thiết phải áp dụng ở

nhiều ứng dụng nhưng kết quả thực nghiệm đã chứng minh kỹ thuật phân loại Nạve
Bayes vẫn đưa ra độ chính xác cao về mức độ phân loại. Hơn nữa cả P (kx,j| Ci) và P
(Ci) có thể được đánh giá từ dữ liệu hướng dẫn phía dưới. Với mỗi trang pj, xác suất
P (Ci| k1,j & …& kn,j) được tính tốn ứng với mỗi lớp C i và trang pj sẽ được gán cho
lớp Ci nếu nó có xác suất lớn nhất.
Khi việc cung cấp kỹ thuật tư vấn khơng rõ ràng thì tập truy vấn văn bản sẽ đưa ra
một vài kỹ thuật thường được sử dụng trong những hệ thống tư vấn nội dung. Một
trong số đó là kỹ thuật lọc thích ứng; nó tập trung vào việc nhận biết các tài liệu liên
quan cũng như là quan sát từng tài liệu trong những luồng tài liệu tiếp theo để tăng
thêm độ chính xác. Một ví dụ khác là đặt ngưỡng (threshold setting). Nó tập trung
vào việc xác định phạm vi tài liệu ăn khớp với những câu truy vấn được đưa ra liên
quan đến người dùng.
Theo như nhận xét Linden, Smith trong [7] hệ thống tư vấn hướng dựa trên nội
dung đưa ra một số những giới hạn sau:

SVTH: Nguyễn Đăng Khiêm _D11CNPM4

8


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

CHƯƠNG 1: GIỚI THIỆU...

- Giới hạn trong phân tích nội dung: Nếu hai sản phẩm khác nhau được
biểu diễn cùng một tập đặc trưng thì chúng khơng thể phân biệt được. Vì vậy khi
những tài liệu dựa trên văn bản thường được biểu diễn dưới những từ khóa quan
trọng, thì những hệ thống dựa trên nội dung không thể phân biệt được cái nào hợp,
cái nào không hợp nếu chúng cùng sử dụng một thuật ngữ.
- Q chun mơn hóa (Overspecialization): Khi hệ thống chỉ có thể tư vấn

những sản phẩm có trọng số cao dựa trên những thơng tin của người dùng, thì người
dùg sẽ bị giới hạn trong việc tư vấn những sản phẩm khác có liên quan sản phẩm
trên mà đã được đánh trọng số. Chẳng hạn, một người khơng có kinh nghiệm với
các món ăn của người Huế thì ngay cả những cửa hàng lớn nhất kiểu Huế trong
thành phố cũng không bao giờ được tư vấn. Đây là một vấn đề đã được nghiên cứu
trong nhiều lĩnh vực, nó thường được ấn định bằng việc giới thiệu một cách ngẫu
nhiên. Chẳng hạn, việc sử dụng những thuật toán di truyền được đề xuất như là khả
năng giải quyết các vấn đề về ngữ cảnh của việc lọc thông tin. Thêm vào đó, vấn đề
liên quan đến việc q chun mơn hóa cịn là những hệ thống dựa trên nội dung
khơng thể tư vấn những sản phẩm mà khác với những gì mà người dùng đã biết
trước đó. Trong trường hợp nào đó, những sản phẩm khơng nên được tư vấn nếu
chúng có q nhiều điểm tương đồng với những gì mà người dùng đã gặp, như một
bài báo tin tức tuy là khác nhau nhưng đưa về cùng một sự kiện. Vì vậy, một vài hệ
thống tư vấn dựa trên nội dung khơng chỉ lọc ra những sản phẩm có quá nhiều điểm
khác với sở thích của người dùng mà cịn lọc cả chính những sản phẩm có q nhiều
điểm giống của người dùng trước đó. Nói tóm lại, tính đa dạng của việc tư vấn
thường là những đặc điểm mô tả trong hệ thống tư vấn. Lý tưởng nhất là người
dùng sẽ tự đưa ra trọng số của những lựa chọn thay cho việc đưa ra một tập các khả
năng lựa chọn. Chẳng hạn, không phải là một ý kiến tuyệt vời nếu ta tư vấn tất cả
các bộ phim của Woody Allen tới người dùng mà chỉ ưa thích một trong số những
bộ phim đó.
- Vấn đề người dùng mới: Người dùng phải đánh giá đầy đủ cho những sản
phẩm trước khi hệ thống tư vấn dựa trên nội dung có thể hiểu những sở thích của
người dùng và từ đó đưa ra cho người dùng những tư vấn tin cậy. Vì vậy, với người

SVTH: Nguyễn Đăng Khiêm _D11CNPM4

9



ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

CHƯƠNG 1: GIỚI THIỆU...

dùng mới, thơng tin về việc đánh trọng số rất ít nên khó có thể đảm bảo việc tư vấn
sẽ tốt.
- Vấn đề thông tin sản phẩm mới: Lọc nội dung phân tích các đặc điểm của
sản phẩm để so sánh với những sản phẩm mà người dùng đã đánh giá trước đó, với
những sản phẩm có thơng tin khơng đầy đủ hoặc quá đặc biệt, rất khó để đưa ra 1 tư
vấn chính xác với các sản phẩm như vậy.

1.3.2. Phương pháp tư vấn dự trên kỹ thuật lọc cộng tác
Mục đích của giải thuật lọc cộng tác là gợi ý những sản phẩm mới hoặc dự đoán
một sản phẩm hợp lý cho người dùng, dựa trên những sở thích trước đây và lựa
chọn từ những sở thích của những người dùng khác.

Hình 1. 3: Minh họa phương pháp tư vấn dựa trên lọc cộng tác

Trong kịch bản điển hình của lọc cộng tác, có một danh sách m người dùng U ={u 1,
u2, … , um} và một danh sách n sản phẩm I = {i 1, i2,…, in}. Mỗi người dùng ui có
danh sách các sản phẩm Su, mà người dùng đã đánh giá về sản phẩm đó. Chú ý rằng
Su  I và Iui có thể là rỗng.

SVTH: Nguyễn Đăng Khiêm _D11CNPM4

10


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC


CHƯƠNG 1: GIỚI THIỆU...

Vị trí cần dự đoán

i1
u1
u2
...

Đầu vào: Ma trận đánh giá R
Rating maxtrix

Dự đoán
Prediction
Tư vấn
Recommendation

Raj (Dự đoán của người dùng
a trên tài nguyên j)

{Ti1, Ti2,..., TiN} danh sách
N tài nguyên đầu tiên cho
người dùng a

Giải thuật lọc cộng tác
Collaborative Filtering Algorithm

Đầu ra

Hình 1. 4: Quy trình của hệ thơng tư vấn dựa trên lọc cộng tác


Hình 1.4 mơ tả quy trình lọc cộng tác bao gồm 2 nhiệm vụ chính là:
-

Dự đốn: cho ra giá trị Raj thể hiện đánh giá của người dùng a lên tài
nguyên j.
- Tư vấn: cho ra danh sách N tài nguyên {TiN} mà người dùng a thích nhất.
Trong phạm vi của đồ án chỉ tập trung vào phần sử dụng giải thuật trong lọc

cộng tác để dự đoán ra giá trị Raj đánh giá độ hiệu quả của thuật toán qua RMSE.
Giải thuật lọc cộng tác được mô tả thông qua một ma trận đánh giá R m x n người
dùng và sản phẩm. Mỗi phần tử ai,j trong mảng R biểu diễn đánh giá của người dùng
thứ i đối với sản phẩm thứ j. Mỗi đánh giá cá nhân là một số và nó có thể nhận giá
trị 0 khi người dùng chưa đánh giá sản phẩm đó. Các nhà nghiên cứu đã xây dựng
một số các giải thuật lọc cộng tác mà có thể chia thành 2 loại chính: dựa trên bộ nhớ
(Memory-based) và dựa trên mơ hình (Model-based).
Giải thuật lọc cơng tác dựa trên bộ nhớ (Memory-based): Giải thuật lọc cộng tác
dựa trên bộ nhớ sử dụng các cơ sở dữ liệu người dùng – sản phẩm để dự đoán.
Những hệ thống triển khai kỹ thuật thống kê để tìm những lựa chọn của người dùng,

SVTH: Nguyễn Đăng Khiêm _D11CNPM4

11


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

CHƯƠNG 1: GIỚI THIỆU...

như biết người lân cận, có lịch sử phù hợp với người dùng đích (ví dụ, người dùng

đánh giá tương tự các sản phẩm khác nhau hoặc có khuynh hướng mua những sản
phẩm tương tự nhau). Một khi lân cận của người dùng được hình thành, hệ thống sử
dụng những giải thuật khác nhau để kết hợp những sở thích của người dùng lân cận
để đề xuất một dự đoán hoặc một tư vấn top-N cho người dùng.
Theo [7], Thuật toán dựa trên bộ nhớ về căn bản sử dụng các độ do kinh nghiệm
(heuristics) để sinh ra dự đoán dựa trên tập các sản phẩm của người dùng. Cụ thể là,
đánh giá trị ru,i của người dùng u đối với sản phẩm i thường được tính tốn như là
một sự kết hợp trọng số của nhiều người dùng khác nhau với cùng một sản phẩm i
(thường là N sản phẩm giống nhau nhất):

ru ,i  aggr (ru ',i )
uUˆ

Trong đó

ˆ
U

(1. 9)

biểu diễn tập người dùng N có trọng số về sản phẩm i giống nhất với

người dùng u (N có thể bắt đầu từ 1 đến tất cả người dùng). Một số ví dụ về đánh
giá ru,i là:

ru ,i 

1
N


r

u 'U

(1. 10)

u ',i

ru ,i  k  sim(u, u')  ru ',i

(1. 11)

ru ,i  ru  k  sim(u, u')  (ru ',i  ru ' )

(1. 12)

u 'U

u 'U

Trong đó :
k: hệ số chuẩn hóa và thường được lựa chọn là k= 1 / u 'Uˆ sim(u , u ' )
ru

: trọng số trung bình của người dùng u, được định nghĩa như sau:

ru 

1
Su


r

sSu

u ,i

(1. 13)

Với :

su  {s  S | ru ,i  }
SVTH: Nguyễn Đăng Khiêm _D11CNPM4

(1. 14)
12


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

CHƯƠNG 1: GIỚI THIỆU...

Trường hợp đơn giản nhất, giá trị đánh giá có thể là trung bình cộng của các đánh
giá người dùng khác lên sản phẩm đó như cơng thức (1.10). Tuy nhiên, phương
pháp tiếp cận kết hợp phổ biến nhất thường được sử dụng tính tổng mức quan trọng
như theo cơng thức (1.11). Đánh giá sự giống nhau giữa người dùng u và u’,
sim(u,u’) về cơ bản là đo độ tương quan giữa những người dùng và thường được
xem là trọng số, nghĩa là với những người dùng giống nhau nhất thì r u’,i sẽ được thực
hiện dựa vào dự đoán của r u,i. Chú ý rằng sim(x,y) như 1 hàm heuristics, được được
giới thiệu để đánh giá mức khác nhau giữa các người dùng giống nhau, nhằm làm

đơn giản hóa việc sử dụng thừa số k như biểu diễn ở trên.
Những phương pháp tiếp cận khác nhau thường được tính tốn hàm tương quan
sim(u,u’) giữa những người dùng trong hệ thống tư vấn cộng tác. Trong hầu hết các
phương pháp tiếp cận này, sự tương đồng giữa hai người dùng dựa trên những đánh
giá về sản phẩm được cả u và u’ quan tâm. Một trong những phương pháp phổ biến
nhất là dựa trên sự tương quan và cosine. Cụ thể, đầu tiên, xem S xy là tập tất cả các
sản pẩm của người dùng x và y; nghĩa là Sxy={i  S|rx,i   & ry,i   }. Trong hệ
thống tư vấn cộng tác, S xy thường được sử dụng để đưa ra kết quả tức thì cho việc
tính tốn “người hàng xóm gần nhất” của người dùng x và thường được tính tốn để
đưa ra xếp hạng rõ ràng, nghĩa là tính tốn tìm ra điểm giao nhau giữa tập Sx và Sy.
Giải thuật lọc cộng tác dựa trên mơ hình (Model-based): Giải thuật lọc cộng tác
dựa trên mơ hình cung cấp các tư vấn sản phẩm bằng việc phát triển một mơ hình
đánh giá của người dùng. Giải thuật loại này thuộc phương pháp tính xác suất và xử
lý lọc cộng tác như tính tốn giá trị kỳ vọng của một dự đoán người dùng, cho đánh
giá của người đó với các sản phẩm khác. Xử lý xây dựng mơ hình được thực hiện
bởi nhiều các giải thuật học máy khác nhau như mạng Bayes, phân cụm, và phương
pháp dựa trên luật (rule-based), mơ hình hồi quy tuyến tính, mơ hình entropy cực
đại…
Thuật tốn dựa trên mơ hình sử dụng tập đánh giá để đưa ra một mô hình mà sau
đó được sử dụng để tạo ra những dự đốn về trọng số. Chẳng hạn, phương pháp tính
xác suất để lọc cộng tác, trong đó những trọng số (đánh giá) chưa biết được tính như
sau:
SVTH: Nguyễn Đăng Khiêm _D11CNPM4

13


×