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

Ứng dụng kỹ thuật lọc cộng tác để xây dựng hệ thống khuyến nghị sách tại trung tâm học liệu trường đại học quảng bình

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 (6.67 MB, 70 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

NGUYỄN NGỌC THÀNH

ỨNG DỤNG KỸ THUẬT LỌC
CỘNG TÁC ĐỂ XÂY DỰNG HỆ THỐNG
KHUYẾN NGHỊ SÁCH TẠI TRUNG TÂM HỌC LIỆU
TRƯỜNG ĐẠI HỌC QUẢNG BÌNH

Chuyên ngành: Khoa học máy tính
Mã số: 8480101

LUẬN VĂN THẠC SĨ KỸ THUẬT

Người hướng dẫn khoa học: TS. PHẠM XUÂN HẬU

Đà Nẵng, Năm 2018


LỜI CAM ĐOAN

Tôi xin cam đoan luận văn này là công trình nghiên cứu hoàn toàn của tôi.
Các nội dung của luận văn, những điều được trình bày trong luận văn hoặc là
của cá nhân tôi hoặc là được tổng hợp từ nhiều nguồn tài liệu tham khảo. Tất cả
các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp.
Tôi xin chịu hoàn toàn trách nhiệm và chịu mọi hình thức kỷ luật theo quy
định cho lời cam đoan của mình.

Tác giả luận văn ký và ghi rõ họ tên



TRANG TÓM TẮT LUẬN VĂN
ỨNG DỤNG KỸ THUẬT LỌC CỘNG TÁC ĐỂ XÂY DỰNG HỆ THỐNG
KHUYẾN NGHỊ SÁCH TẠI TRUNG TÂM HỌC LIỆU
TRƯỜNG ĐẠI HỌC QUẢNG BÌNH

Học viên: Nguyễn Ngọc Thành Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01.01 Khóa: K34 Trường Đại học Bách khoa - ĐHĐN
Tóm tắt - Hệ thống khuyến nghị được ứng dụng rất thành công trong dự đoán
sở thích, thói quen của người dùng dựa vào sở thích, thói quen của họ trong quá
khứ. Hệ thống khuyến nghị đang được ứng dụng trong rất nhiều lĩnh vực khác nhau
như thương mại điện tử (hỗ trợ bán hàng trực tuyến), giải trí (khuyến nghị phim
ảnh, bài hát,..), giáo dục đào tạo (khuyến nghị nguồn tài nguyên học tập, nghiên
cứu,..). Chính vì khả năng ứng dụng rộng rãi của nó, Hệ thống khuyến nghị mở ra
nhiều tiềm năng trong nghiên cứu cũng như trong xây dựng các hệ thống thực tế.
Trong bài viết này, chúng tôi sẽ giới thiệu sơ lược về hệ thống khuyến nghị và
những vấn đề liên quan, các nhóm kỹ thuật hiện đang được ứng dụng trong hệ
thống khuyến nghị.
Từ khóa – hệ thống khuyến nghị; lọc cộng tác; k-láng giềng gần nhất; đánh
giá; dự đoán
USING COLABORATIVE FITTERING TO BUILD A BOOK
RECOMMENDATION SYSTEM APPLY FOR QB UNIVERSITY
LIBRARY RESOURCE CENTER
Abstract - Recommender Systems (RS) are successfully applied in predicting
user preferences. For instance, RS has been used in many areas such as in ecommerce (for onlin shopping), in entertainments (music/movie/video clip...
recommendation), and in education learning resource recommendation). Because of
its usefulness and popularity, RS becomes an interesting and potential research
topic. It is widely used for building intelligent systems. In this work, we introduce
about the RS and the current techniques which are commonly used in RS.
Key words - Recommender systems; collaborative filtering; K-nearest

neighbor; rating; gues.


MỤC LỤC
TRANG BÌA
LỜI CAM ĐOAN
TRANG TÓM TẮT LUẬN VĂN
MỤC LỤC
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH
MỞ ĐẦU ....................................................................................................................... 1

1. Lý do chọn đề tài:.................................................................................. 1
2. Mục đích nghiên cứu: ........................................................................... 2
3. Đối tượng và phạm vi nghiên cứu: ....................................................... 2
4. Phương pháp nghiên cứu: ..................................................................... 2
5. Ý nghĩa khoa học và thực tiễn của đề tài: ............................................. 2
6. Cấu trúc của luận văn: ........................................................................... 3
CHƯƠNG 1. GIỚI THIỆU TỔNG QUAN VỀ HỆ THỐNG KHUYẾN NGHỊ ........... 4

1.1. Lọc thông tin .................................................................................................. 4
1.2. Hệ thống khuyến nghị .................................................................................... 5
1.3. Ứng dụng của hệ thống khuyến nghị ............................................................. 7
1.4. Phát biểu bài toán khuyến nghị: ..................................................................... 9
1.5. Các phương pháp lọc cho hệ thống khuyến nghị ......................................... 10
1.5.1 Phương pháp khuyến nghị dựa vào lọc nội dung: ........................ 10
1.5.2 Phương pháp khuyến nghị dựa vào lọc cộng tác: ......................... 14
1.5.3 Phương pháp khuyến nghị dựa vào lọc kết hợp:........................... 15
CHƯƠNG 2. PHƯƠNG PHÁP LỌC CỘNG TÁC ..................................................... 19

2.1. Kỹ thuật lọc cộng tác ............................................................................................. 19

2.1.1 Lọc cộng tác .................................................................................. 19
2.1.2 Bài toán lọc cộng tác ..................................................................... 20
2.2. Các kỹ thuật lọc cộng tác ....................................................................................... 22


2.2.1 Kỹ thuật dựa lọc cộng tác dựa trên bộ nhớ ................................... 22
2.2.2. Kỹ thuật lọc cộng tác dựa trên mô hình ........................................ 29
2.3. Tính toán dự đoán và khuyến nghi ........................................................................ 31

2.3.1. Công thức dự doán dựa trên trung bình đánh giá sản phẩm lân cận.
....................................................................................................... 31
2.3.2. Công thức dự đoán dựa trên tổng trọng số (Weighted Sum) ........ 32
2.3.3. Công thức dự đoán dựa trên tổng trọng số với đánh giá trung bình
của người dùng .................................................................................................... 33
2.3.4. Công thức dự đoán dựa trên tổng trọng số với trung bình đánh giá
lên sản phẩm ....................................................................................................... 35
CHƯƠNG 3. XÂY DỰNG HỆ THỐNG KHUYẾN NGHỊ SÁCH TẠI TRUNG TÂM
HỌC LIỆU TRƯỜNG ĐẠI HỌC QUẢNG BÌNH ...................................................... 37
3.1. Giới thiệu bài toán ................................................................................................. 37
3.2. Áp dụng kỹ thuật lọc cộng tác cho bài toán khuyến nghị sách: ............................ 38

3.3. Xây dựng hệ thống ....................................................................................... 41
3.3.1. Giới thiệu hệ thống ........................................................................ 41
3.3.2. Môi trường cài đặt hệ thống .......................................................... 41
3.3.3. Các chức năng chính của hệ thống................................................ 41
3.3.4. Sơ đồ Use case .............................................................................. 43
3.3.5. Lược đồ Cơ sở dữ liệu quan hệ ..................................................... 44
3.3.6. Giải thuật xử lý chính của hệ thống .............................................. 45

3.3.7. Một số hình ảnh chính của hệ thống ............................................. 47
KẾT LUẬN VÀ KIẾN NGHỊ ...................................................................................... 51
DANH MỤC TÀI LIỆU THAM KHẢO ..................................................................... 52

QU ẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN THẠC SĨ (BẢN SAO)
BẢN SAO KẾT LUẬN CỦA HỘI ĐỒNG, BẢN SAO NHẬN XÉT CỦA CÁC
PHẢN BIỆN.


DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
CBF

Lọc theo nội dung

CF

Lọc cộng tác

HF

Lọc kết hợp

IF

Thông tin

KNN

K-láng giềng gần nhất


MBF

Lọc dựa vào bộ nhớ

MDBF

Lọc dựa vào mô hình
Hệ thống khuyến nghị

RS


DANH MỤC CÁC BẢNG

Bảng 2.1. Bảng đánh giá người dùng với các sản phẩm ................................................. 21
Bảng 2.2. Bảng tính độ tương tự theo công thức cosine. ................................................ 26
Bảng 2.3. Bảng tính độ tương tự theo công thức Pearson. .............................................. 27
Bảng 2.4. Bảng dự đoán và KN theo phương pháp tính trung bình dự đoán. ................. 32
Bảng 2.5. Bảng dự đoán và khuyến nghị theo phương pháp Weigth Sum. .................... 33
Bảng 2.6. Bảng dự đoán và khuyến nghị theo phương pháp tổng trọng số với đánh giá
trung bình của người dùng và sử dụng độ tương tự Cosine. ........................................... 34
Bảng 2.7. Bảng dự đoán và khuyến nghị theo phương pháp tổng trọng số với đánh giá
trung bình sản phẩm và sử dụng độ tương tự Cosine. ..................................................... 36


DANH MỤC CÁC HÌNH
Hình 1.1. Minh họa hệ thống khuyến nghị sách cho người đọc ..................................... 6
Hình 1.2. Ví dụ minh họa cho hệ thống khuyến nghị bán hàng của Amazon ................ 7
Hình 1.3. Ví dụ minh họa cho hệ thống khuyến nghị video của Youtube ..................... 7
Hình 1.4. Ví dụ minh họa cho hệ thống khuyến nghị bài hát ......................................... 8

Hình 1.5. Ví dụ minh họa cho hệ thống khuyến nghị du lịch......................................... 8
Hình 1.6. Ví dụ minh họa cho hệ thống khuyến nghị môn học cho sinh viên ............... 9
Hình 1.7. Mô hình tổng quát phương pháp khuyến nghị dựa vào lọc nội dung ........... 11
Hình 1.8. Mô hình tổng quát phương pháp khuyến nghị dựa vào lọc cộng tác ........... 15
Hình 3.1. Use case người dùng ..................................................................................... 43
Hình 3.2. Use case xem đầu sách khuyến nghị ............................................................ 43
Hình 3.3. Use case hệ thống trung tâm ......................................................................... 44
Hình 3.4. Lược đồ cơ sở dữ liệu quan hệ ..................................................................... 44
Hình 3.5. Giao diện website của hệ thống khuyến nghị sách ....................................... 47
Hình 3.6. Giao diện của người dùng mô tả chi tiết sách .............................................. 48
Hình 3.7. Giao diện đăng ký người dùng của hệ thống ................................................ 48
Hình 3.8. Giao diện thông báo người dùng chưa đủ CSDL ......................................... 49
Hình 3.9. Giao diện thông báo người dùng mới đã đánh giá đủ CSDL ....................... 49
Hình 3.10. Giao diện hệ thống khuyến nghị sách cho người dùng .............................. 50


1
MỞ ĐẦU
1. Lý do chọn đề tài:
Hiện nay, cùng với sự phát triển của công nghệ thông tin, nhu cầu tìm kiếm,
lựa chọn thông tin trên Internet ngày càng trở nên phổ biến và lượng thông tin
được đưa lên Internet hằng ngày tăng theo cấp số nhân.
Vì thế một thách thức mới đặt ra là người sử dụng phải đối mặt với một kho
thông tin khổng lồ như vậy thì việc họ không có đủ thời gian để xem xét lựa chọn
tất cả các cuốn sách, tất cả cá bộ phim, các tạp chí hay các bài hát,… Họ không
biết mình nên tìm xem phim gì, đọc cuốn sách nào phù hợp với sở thích, nhu cầu
của bản thân. Cụ thể như ở Trung tâm Học liệu Trường Đại học Quảng Bình, dữ
liệu Sách tham khảo khá nhiều, hiện nay mỗi sinh viên khi đến Trung tâm Học
liệu tìm tài liệu chủ yếu vào tìm kiếm, mỗi lần tìm kiếm được kết quả tương đối
nhiều gây cho sự nhiễu thông tin của sinh viên đó, mặt khác đối với mỗi sinh viên

muốn truy cập tìm nguồi dữ liệu sách tham khảo đúng với sở thích của mình sẽ
tốn nhiều thời gian.
Để giải quyết vấn đề trên hệ thống khuyến nghị (Recommendation Systems RS) được đề xuất, từ đó đã nhiều kết quả nghiên cứu về hệ thống khuyến nghị áp
dụng trên các lĩnh vực khác nhau, đối tượng thông tin khác nhau được triển khai.
Các kết quả nghiên cứu đó nhằm hỗ trợ người dùng các sản phẩm phù hợp với
nhu cầu và sở thích của họ. Hệ khuyến nghị là một cơ chế tự động nhằm giúp
người dùng nhận được các thông tin sản phẩm mà có khả năng được người dùng
thích nhất. Hệ khuyến nghị đã trở nên rất phổ biến trong những năm gần đây và
đang được sử dụng trong các ứng dụng khác nhau. Hệ thống dựa vào các thông
tin của người dùng cung cấp thông qua quá trình tương tác để khuyến nghị.
Những kết quả khuyến nghị có thể được cập nhật dựa vào ngữ cảnh cũng như
thông tin người dùng mà hệ thống có được.


2
Chính vì vậy tôi chọn đề tài luận văn “Ứng dụng kỹ thuật lọc cộng tác để
xây dựng hệ thống khuyến nghị Sách tại Trung tâm Học liệu Trường đại học
Quảng Bình”. Trong luận văn này, tôi trình bày các kiến thức, các phương pháp
và các thuật toán cơ bản áp dụng cho hệ khuyến nghị. Trọng tâm của luận văn là
tập trung tìm hiểu, nghiên cứu về kỹ thuật lọc cộng tác và cùng với các thuật toán
cơ bản cho quá trình khuyến nghị sách tại tại Trung tâm Học liệu Trường Đại học
Quảng Bình.
2. Mục đích nghiên cứu:
Mục đích của luận văn là tìm hiểu hệ khuyến nghị và ứng dụng kỹ thuật lọc
cộng tác để xây dựng hệ thống khuyến nghị sách tại Trung tâm Học liệu Trường
đại học Quảng Bình
3. Đối tượng và phạm vi nghiên cứu:
Đối tượng nghiên cứu là hệ thống khuyến nghị và kỹ thuật lọc cộng tác của
hệ thống khuyến nghị.
Phạm vi của đề tài này tập trung nghiên cứu vào: kỹ thuật lọc cộng tác để

xây dựng ứng dụng hệ khuyến nghị sách tại Trường Đại học Quảng Bình.
4. Phương pháp nghiên cứu:
Dựa trên việc thu thập, nghiên cứu và tìm hiểu hệ thống khuyến nghị từ
những tài liệu nghiên cứu đã được công bố trên các tạp chí, sách trong và ngoài
nước, đặc biệt chú trọng đến những nghiên cứu chuyên sâu về kỹ thuật lọc cộng
tác và áp dụng kỹ thuật lọc cộng tác vào các ứng dụng thực tế.
5. Ý nghĩa khoa học và thực tiễn của đề tài:
Ý nghĩa khoa học của đề tài là hiểu được hệ thống khuyến nghị và áp dụng
được kỹ thuật lọc cộng tác để xây dựng được một hệ thống khuyến nghị.
Ý nghĩa thực tiễn của đề tài là xây dựng được hệ thống khuyến nghị sách
cho Trung tâm học liệu, Trường Đại học Quảng Bình.


3
6. Cấu trúc của luận văn:
Nội dung luận văn được xây dựng gồm 3 chương, trong đó:
Chương 1: Tổng quan về hệ thống khuyến nghị.
Chương 2: Kỹ thuật lọc cộng tác
Chương 3: Xây dựng hệ thống khuyến nghị Sách tại Trung tâm Học liệu
Trường Đại học Quảng Bình
Trong chương 1, tôi đi tìm hiểu chung về hệ thống khuyến nghị, các phương
pháp trong hệ thống khuyến nghị: lọc dựa vào nội dung, lọc cộng tác và kỹ thuật
kết hợp giữa lọc nội dung và lọc cộng tác. Trong chương 2, tôi trình bày chi tiết
hơn về kỹ thuật lọc cộng tác, các phương pháp của lọc cộng tác cùng với các kỹ
thuật của nó. Chương 3, tôi tiến hành Xây dựng ứng dụng khuyến nghị Sách trên
bộ dữ liệu sách của Trung tâm Học liệu Trường Đại học Quảng Bình dựa vào kỹ
thuật lọc cộng tác.


4


Chương 1 - GIỚI THIỆU TỔNG QUAN VỀ HỆ THỐNG
KHUYẾN NGHỊ
Chương này trình bày những vấn đề tổng quan về Hệ thống khuyến nghị và
các phương pháp cũng như kỷ thuật của của Hệ thống khuyến nghị. Trên cơ sở
những nghiên cứu cơ bản, xác định rõ hướng nghiên cứu cụ thể của đề tài. Những
kết quả nghiên cứu của đề tài sẽ được trình bày trong các chương tiếp theo của
luận văn.
Do hệ thống khuyến nghị là lĩnh vực nghiên cứu có phạm vi rộng lớn, sau
khi trình bày cơ bản về hệ thống khuyến nghị, luận văn tập trung trình bày vào
chủ đề nghiên cứu chính của luận văn đó là áp dụng kỷ thuật lọc cộng tác của hệ
thống khuyến nghị để xây dựng một ứng dụng thực tiễn.
1.1 Lọc thông tin
Lọc thông tin (IF) là lĩnh vực nghiên cứu các quá trình cung cấp thông tin
thích hợp, ngăn ngừa và gỡ bỏ thông tin không thích hợp cho mỗi người dùng [6].
Thông tin được cung cấp (còn được gọi là sản phẩm) có thể là văn bản, trang
web, phim, ảnh, dịch vụ hoặc bất kỳ dạng thông tin nào được sản sinh ra từ các
phương tiện truyền thông. Phạm vi ứng dụng của lọc thông tin trải rộng trong
nhiều ứng dụng thực tế khác nhau của khoa học máy tính. Ứng dụng tiêu biểu
nhất của lọc thông tin được kể đến là lọc kết quả tìm kiếm trong các máy tìm
kiếm, lọc e-mail dựa trên nội dung thư và hồ sơ người dùng, lọc thông tin văn bản
trên các máy chủ để cung cấp thông tin cho tập thể hoặc cá nhân thích hợp, loại
bỏ những trang thông tin có ảnh hưởng không tốt đối với người dùng. Đặc biệt,
lọc thông tin có vai trò quan trọng cho các hệ thống khuyến nghị ứng dụng trong
thương mại điện tử.
Kiến trúc tổng quát của hệ thống lọc thông tin
Một hệ thống lọc thông tin tổng quát bao gồm bốn thành phần cơ bản [6]:
Thành phần phân tích dữ liệu, thành phần mô hình người dùng, thành phần học và
thành phần lọc.



5
Thành phần phân tích dữ liệu có nhiệm vụ thu thập dữ liệu về sản phẩm từ
các nhà cung cấp thông tin (ví dụ tài liệu, thư điện tử, sách, báo, tạp chí, phim,
ảnh...).
Thành phần mô hình người dùng có thể “hiện” hoặc “ẩn” dùng để lấy thông
tin về người dùng, như giới tính, tuổi, nơi sinh sống và thông tin người dùng đã
truy vấn trước đó để tạo nên hồ sơ người dùng. Hồ sơ người dùng sau khi tạo ra
được chuyển đến thành phần học để thực hiện nhiệm vụ huấn luyện.
Thành phần học thực hiện huấn luyện trên tập hồ sơ và phản hồi của người
dùng theo một thuật toán học máy cụ thể. Thuật toán học lấy dữ liệu từ thành
phần mô tả người dùng; lấy dữ liệu về sản phẩm đã được biểu diễn từ thành phần
lọc kết hợp với thông tin phản hồi người dùng để thực hiện nhiệm vụ huấn luyện.
Kết quả quá trình học được chuyển lại cho bộ phận lọc để thực hiện nhiệm vụ tiếp
theo.
Thành phần lọc là thành phần quan trọng nhất của hệ thống, có nhiệm vụ
xem xét sự phù hợp giữa hồ sơ người dùng và biểu diễn dữ liệu sản phẩm để đưa
ra quyết định phân bổ sản phẩm. Nếu dữ liệu sản phẩm phù hợp với hồ sơ người
dùng, sản phẩm sẽ được cung cấp cho người dùng đó.
1.2 Hệ thống khuyến nghị
Hệ khuyến nghị (Recommender Systems hoặc Recommendation Systems) là
những hệ thống được thiết kế để hướng người dùng đến những đối tượng quan
tâm, yêu thích, khi lượng thông tin quá lớn vượt quá khả năng xử lý của người
dùng, hệ khuyến nghị là những công cụ phần mềm, kỹ thuật cung cấp những đề
xuất các đối tượng có thể hữu ích với người dùng. Những đề xuất liên quan đến
quyết định của người dùng như: sản phẩm nào nên mua, cuốn sách nào nên đọc
bài hát nào nên nghe, hay tin tức nào nên xem…
Vào giữa thập niên 90s hệ thống khuyến nghị được xem như là một lĩnh vực
nghiên cứu độc lập, tập trung vào những vấn đề liên quan đến khuyến nghị phụ



6
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, khuyến
nghị được đưa về việc đánh giá trọng số cho những sản phẩm mà người dùng
chưa mua (sử dụng).
Trong hình thức đơn giản nhất, các khuyến nghị mang tính cá nhân hóa cung
cấp một danh sách các sản phẩm đã được đánh giá. Để thực hiện việc đánh giá
này, hệ thống khuyến nghị 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. Để hoàn thành một công việc như thế, hệ
thống khuyến nghị thu thập sở thích của các người dùng, bằng cách dựa trên các
đánh giá 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 khuyến nghị có thể xem xét việc một người dung xem
thông tin trên một trang web sản phẩm cụ thể 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 khuyến nghị sách: Một người
dùng đăng nhập vào một hệ thống website sách, người này cần xem 01 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 khuyến nghị cho người đó xem một hoặc vài quyển sách mà dự đoán rằng
người này sẽ thích. Để khuyến nghị đượ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, thông tin các quyển sách.
Có một vài cách khuyến nghị 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 để khuyến
nghị.

Hình 1.1 Minh họa hệ thống khuyến nghị sách cho người đọc


7
1.3 Ứng dụng của hệ thống khuyến nghị
Phạm vi ứng dụng của hệ thống khuyến nghị là rất rộng. Nhất là trong lĩnh

vực bán hàng trực tuyến, thương mại điện tử, thiết bị gia dụng, sách…
Khuyến nghị bán hàng trực tuyến
Trong hệ thống bán hàng trực tuyến ( nhằm tối
ưu hóa khả năng mua sắm của khách hàng, người ta quan tâm đến việc những
khách hàng nào đã “yêu thích” những sản phẩm nào đó bằng cách dựa vào dữ liệu
quá khứ của họ từ đó hệ thống sẽ dự đoán được người dùng.

Hình 1.2 Ví dụ minh họa cho hệ thống khuyến nghị bán hàng của Amazon
Khuyến nghị phim, bài hát
Ngoài những lĩnh vực trên, hiện tại hệ thống khuyến nghị cũng được ứng
dụng khá thành công trong nhiều lĩnh vực khác như trong giải trí như khuyến
nghị bài hát, phim ảnh, video ( />
Hình 1.3 Ví dụ minh họa cho hệ thống khuyến nghị video của Youtube


8
Nhóm tác giả Nguyễn Tấn Phong và Nguyễn Thái Nghệ [7] đã giới thiệu
một giải pháp trong xây dựng Hệ thống gợi ý bài hát dựa vào phản hổi tiềm ẩn từ
người dùng.

Hình 1.4 Ví dụ minh họa cho hệ thống khuyến nghị bài hát
Khuyến nghị du lịch
Nhóm tác giả Lưu Chân Thiện, Nguyễn Thái Nghe [8] đã đề xuất một một
tiếp cận trong xây dựng hệ thống gợi ý theo ngữ cảnh. Hệ thống gợi ý theo ngữ
cảnh, áp dụng cho khuyến nghị các điểm du lịch phù hợp nhất với du khách.

Hình 1.5 Ví dụ minh họa cho hệ thống khuyến nghị du lịch


9

Khuyến nghị trong Giáo dục
Nhóm tác giả Huỳnh Lý Thanh Nhàn và Nguyễn Thái Nghệ [9] đã đề xuất
hệ thống dự đoán kết quả học tập của sinh viên, từ đó đưa ra những khuyến nghị
phù hợp cho sinh viên lựa chọn những môn học tự chọn.

Hình 1.6 Ví dụ minh họa cho hệ thống khuyến nghị môn học cho sinh viên
1.4 Phát biểu bài toán khuyến nghị:
Theo Adomavicius và Tuzhilin trong [1], trong hầu hết các trường hợp, bài
toán khuyến nghị đượ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. Những sản phẩm có hạng cao nhất sẽ được dùng để
khuyến nghị.
Một cách hình thức, bài toán khuyến nghị được mô tả như sau:
Cho U là tập các người dùng (Users);
I là tập các sản phẩm (Items);
R = U x I, là tập đánh giá (Ratings) của các người dùng U trên các đối tượng
sản phẩm I.


10
được gọi là đánh giá (mức độ yêu thích) của người
dùng u với sản phẩm i.
Tìm tập sản phẩm khuyến nghị

, sao cho các sản phẩm này được dự

đoán có khả năng phù hợp với nhu cầu của người dùng hiện tại.
1.5 Các phương pháp lọc cho hệ thống khuyến nghị
Các hệ thống khuyến nghị được phân loại thành ba loại [2]: Khuyến nghị

dựa vào phương pháp lọc theo nội dung (Content-Based Filtering
Recommendation), khuyến nghị dựa vào phương pháp lọc cộng tác
(Collaborative Filtering Recommendation) và khuyến nghị dựa vào phương pháp
lọc kết hợp (Hybrid Filtering Recommendation).
1.5.1 Phương pháp khuyến nghị dựa vào lọc nội dung:
Với kỹ thuật khuyến nghị dựa trên nội dung (CBF), mức độ yêu thích rui của
sản phẩm i với người dùng u được đánh giá dựa trên mức độ yêu thích ruj trong
đó j I và là sản phẩm đã được đánh giá bởi u. Ví dụ, để gợi ý một cuốn sách cho
người dùng u, hệ thống khuyến nghị sẽ tìm các đặc điểm của những cuốn sách
từng được u đánh giá cao (như tác giả, nhà sản xuất...) sau đó chỉ những cuốn
sách tương đồng với sở thích của người u mới được khuyến nghị.
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 và lọc thông tin. Do đó, rất nhiều hệ thống dựa trên nội dung hiện
nay tập trung vào khuyến nghị 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 việc thu thập thông tin
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ơ (User profile) 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).


11

Hình 1.7 Mô hình tổng quát phương pháp khuyến nghị dựa vào lọc nội dung
1.5.1.1 Bài toán lọc theo nội dung
Bài toán lọc theo nội dung được phát biểu như sau. Cho I= {i1, i2,.., in} là tập
gồm n sản phẩm. Nội dung sản phẩm i

I được ký hiệu là Content(i) được biểu


diễn thông qua tập K đặc trưng nội dung của I. Tập các đặc trưng sản phẩm i
được xây dựng bằng các kỹ thuật truy vấn thông tin để thực hiện mục đích dự
đoán những sản phẩm khác tương tự với i.
Cho U={u1, u2,.., um} là tập gồm m người dùng. Với mỗi người dùng u U,
gọi ContentBasedProfile(u) là hồ sơ người dùng u. Hồ sơ của người dùng u có thể
là lịch sử truy cập hoặc đánh giá của người đó đối với các sản phẩm hoặc các
thông tin khác được tập hợp trong quá trình tương tác với hệ thống.
ContentBasedProfile(u) được xây dựng bằng cách phân tích nội dung các
sản phẩm mà người dùng u đã từng truy nhập hoặc đánh giá dựa trên các kỹ thuật
truy vấn thông tin.
Khuyến nghị dựa vào nội dung khi đó sẽ dự đoán những sản phẩm mới có
nội dung thích hợp với người dùng dựa trên tập hồ sơ sản phẩm Content(i) và hồ
sơ người dùng ContendBasedProfile(u).


12
1.5.1.2 Các phương pháp pháp lọc theo nội dung
Như đã trình bày ở trên, lọc theo nội dung được tiếp cận theo hai cách: lọc
dựa trên bộ nhớ và lọc dựa trên mô hình.
* Lọc dựa vào bộ nhớ:
Kỹ thuật dựa vào bộ nhớ là kỹ thuật sử dụng toàn bộ tập hồ sơ sản phẩm và
tập hồ sơ người dùng để thực hiện huấn luyện và dự đoán. Trong kỹ thuật này,
các sản phẩm mới được tính toán và so sánh với tất cả hồ sơ người dùng. Những
sản phẩm mới có mức độ tương tự cao nhất với hồ sơ người dùng sẽ được dùng
để khuyến nghị cho người dùng này.
Để thực hiện phương pháp lọc theo nội dung, ta cần giải quyết hai vấn đề:
thứ nhất là biểu diễn Content(i) dưới dạng vector trọng số các đặc trưng nội dung,
thứ hai là tính độ tương tự giữa hồ sơ người dùng và hồ sơ sản phẩm.
a) Phương pháp biểu diễn hồ sơ sản phẩm:
Phương pháp ước lượng trọng số các đặc trưng thông dụng nhất thường

được sử dụng là phép đo tần suất kết hợp với tần suất xuất hiện ngược. Phương
pháp được thực hiện như sau.
Gọi fi,j là số lần đặc trưng nội dung ki xuất hiện trong sản phẩm Ij. Khi đó tần
suất TFi,j của đặc trưng nội dung ki trong sản phẩm Ij có thể được xác định theo
công thức:

Ở đây, maxzfx,j là số lần xuất hiện nhiều nhất của đặc trưng nội dung kz trong
sản phẩm Ij.
Tuy nhiên, những đặc trưng nội dung xuất hiện trong nhiều sản phẩm không
được dùng để xem xét mức độ tương tự giữa các sản phẩm, thậm chí những đặc
trưng nội dung này không chứa đựng nhiều thông tin phản ánh nội dung sản


13
phẩm. Chính vì vậy, tần suất xuất hiện ngược IDFi, kết hợp với tần suất TFi,j cho
phép ta chú ý nhiều hơn đến những đặc trưng nội dung có trong sản phẩm này
nhưng ít xuất hiện trong các sản phẩm khác.
Phương pháp xác định tần suất xuất hiện ngược được thực hiện như sau. Giả
sử hệ có N sản phẩm cần được phân bổ hoặc khuyến nghị cho người dùng và đặc
trưng nội dung ki xuất hiện trong ni sản phẩm. Tần suất xuất hiện ngược IDFi của
đặc trưng nội dung ki có tần suất xuất hiện trong sản phẩm Ij là TFi,j được xác
định theo công thức dưới đây mức độ quan trọng hay trọng số của đặc trưng nội
dung ki được xác định theo công thức

Trong công thức trên, đặc trưng nội dung ki xuất hiện trong đại đa số các sản
phẩm cần phân bổ đến người dùng. Nói cách khác, những đặc trưng nội dung có
trong mọi sản phẩm thì đặc trưng đó không chứa nhiều nội dung thông tin phản
ánh sản phẩm. Ngược lại, nếu đặc trưng nội dung chỉ xuất hiện trong một sản
phẩm thì ni = 1, khi đó wi,j= TFị,j. Như vậy, những đặc trưng nội dung chỉ xuất
hiện ở một loại sản phẩm và không xuất hiện ở những sản phẩm khác thì những

đặc trưng nội dung này chứa nhiều nội dung quan trọng đối với sản phẩm.
Bằng cách ước lượng này, mỗi sản phẩm ij

I được biểu diễn như một véc

tơ trọng số các đặc trưng nội dung Content(i) = (w1j w2j,..,wKj). Trong đó, K là số
lượng đặc trưng nội dung của toàn bộ sản phẩm.
b) Phương pháp biểu diễn hồ sơ người dùng:
Mỗi hồ sơ người dùng ContentBasedProfile(u) cũng được biểu diễn bằng
một véc tơ trọng số các đặc trưng nội dung (w1, w2,…, wk) , trong đó mỗi wk, biểu
thị mức độ quan trọng của đặc trưng nội dung k đối với người dùng u. Véc tơ
trọng số được tính toán bằng các kỹ thuật khác nhau từ véc tơ hồ sơ sản phẩm đã


14
được người dùng thường xuyên truy cập hoặc đánh giá và tính toán véctơ trọng số
mỗi hồ sơ người dùng ContentBasedProfile(u) từ đó tính toán độ tương tự.
Với cách biểu diễn như trên, véctơ trọng số các đặc trưng nội dung sản phẩm
ContentBasedProfile(u) và Content(i) có cùng số chiều và ước lượng theo cùng
một phương pháp. Việc xác định mức độ thích hợp của mỗi sản phẩm i

I cho

người dùng u được xem xét theo mức độ giống nhau giữa véc tơ hồ sơ người
dùng u

và véc hồ tơ sản phẩm

I.


r (u, i) = Sim(ContentBased Profile(u), Content( i))
Phương pháp ước lượng mức độ giống nhau giữa véc tơ hồ sơ người dùng
và véc tơ hồ sơ sản phẩm

u

I được dùng phổ biến là tìm cosin của hai véc

tơ trọng số wu và wi.
Các cách tính độ tương tự như Cosine, Pearson cũng được áp dung trong
những nghiên cứu khác nhau và chúng sẽ được trình bày cụ thể ở chương 2.
* Lọc dựa vào mô hình:
Kỹ thuật dựa trên mô hình là phương pháp sử dụng tập hồ sơ sản phẩm và
tập hồ sơ người dùng để xây dựng nên mô hình huấn luyện. Mô hình dự đoán sau
đó sẽ sử dụng kết quả của mô hình huấn luyện để sinh ra khuyến nghị cho người
dùng. Trong cách tiếp cận này, lọc nội dung có thể sử dụng các kỹ thuật học máy
như mạng Bayes, phân cụm, cây quyết định, mạng nơron nhân tạo để tạo nên dự
đoán.
1.5.2 Phương pháp khuyến nghị dựa vào lọc cộng tác:
Không giống như phương pháp lọc theo nội dung, phương pháp lọc cộng tác
(CF) khai thác những khía cạnh liên quan đến thói quen sở thích của người sử
dụng sản phẩm để đưa ra dự đoán các sản phẩm mới cho người dùng này. Chính
vì vậy, lọc cộng tác có thể lọc hiệu quả trên nhiều dạng sản phẩm khác nhau như
hàng hóa, phim, ảnh, tài liệu,... Cùng trên một hệ khuyến nghị, người dùng sẽ
được khuyến nghị nhiều loại mặt hàng khác nhau cho dù các mặt hàng này có thể


15
biểu diễn trên không gian các đặc trưng nội dung khác nhau. Trong chương 2 tôi
sẽ đi sâu tìm hiểu về phương pháp này.


Hình 1.8 Mô hình tổng quát phương pháp khuyến nghị dựa vào lọc cộng tác
1.5.3 Phương pháp khuyến nghị dựa vào lọc kết hợp:
Hệ thống sẽ khuyến nghị cho người dùng những sản phẩm tương tự với một
số sản phẩm họ đã từng mua hoặc từng truy cập trong quá khứ và sản phẩm của
những người có sở thích giống họ đã từng ưa thích trong quá khứ.

1.5.3.1 Phát biểu bài toán của khuyến nghị dựa vào lọc kết hợp
Cho tập người dùng U, tập sản phẩm I và ma trận lọc cộng tác R={ rij }, i =
1…n,
j = 1…m là ma trận đánh giá, trong đó mỗi người dùng ui
mình cho một số sản phẩm i

U đưa ra đánh giá của

I bằng một số ri. Giá trị ri phản ánh mức độ ưa

thích của người dùng u đối với sản phẩm i. Tập C = {c1, c2,…, ck} là tập k đặc
trưng biểu diễn nội dung thông tin các sản phẩm i
dụ nếu i

I hoặc người dùng u

U. Ví

I là một bộ phim, khi đó ta có thể biểu diễn nội dung của phim thông

qua các đặc trưng Ci : “thể loại”, “đạo diễn”, “diễn viên”, “hãng sản xuất” và các
đặc trưng nội dung khác của phim; nếu u


U là một người dùng thì ta có thể xem


16
xét đặc trưng Ci : “tuổi”, “giới tính”, “nghề nghiệp” và các đặc trưng nội dung
khác phản ánh thông tin cá nhân người dùng.
Bài toán của lọc kết hợp là dự đoán cho người dùng hiện thời u những sản
phẩm i

I chưa được u đánh giá dựa trên ma trận đánh giá r và các đặc trưng nội

dung
C = {c1, c2,.., ck}.
1.5.3.2 Các kỹ thuật của lọc kết hợp
Lọc kết hợp được tiếp cận theo bốn kỹ thuật chính: Kết hợp tuyến tính, kết
hợp đặc tính của lọc nội dung vào lọc cộng tác, kết hợp đặc tính của lọc cộng tác
vào lọc nội dung và xây dựng mô hình hợp nhất giữa lọc cộng tác và lọc nội dung
[6].
Thứ nhất, Kết hợp tuyến tính là kỹ thuật xây dựng hai lược đồ lọc nội dung
và lọc cộng tác độc lập nhau. Kết quả dự đoán của toàn bộ mô hình có thể được
lựa chọn từ kỹ thuật cho kết quả tốt hơn. Ưu điểm của kỹ thuật này là kế thừa
được kỹ thuật biểu diễn và tính toán vốn có của các kỹ thuật khác. Nhược điểm
lớn nhất của kỹ thuật này là cho lại kết quả không cao vì chưa có sự kết hợp hiệu
quả giữa nội dung và đánh giá người dùng.
Thứ hai, Kết hợp đặc tính của lọc nội dung vào lọc cộng tác là kỹ thuật dựa
trên các kỹ thuật lọc cộng tác thuần túy nhưng vẫn duy trì hồ sơ người dùng như
một tham biến tham khảo khi tính toán sự tương tự giữa các cặp người dùng. Kỹ
thuật có thể phát hiện ra những sản phẩm tương tự với hồ sơ người dùng hoặc
không tương tự với hồ sơ người dùng. Trong trường hợp dữ liệu thưa hoặc người
dùng mới, mức độ tương tự giữa hồ sơ người dùng và sản phẩm sẽ được xem xét

đến để tạo nên dự đoán.
Thứ ba, Kết hợp đặc tính của lọc cộng tác vào lọc nội dung là kỹ thuật xem
xét các đánh giá người dùng của lọc cộng tác như một thành phần trong mỗi hồ
sơ người dùng. Kỹ thuật dự đoán thực hiện theo lọc nội dung thuần túy và so sánh


17
với kết quả dựa trên biểu diễn hồ sơ người dùng mở rộng. Kỹ thuật phổ biến nhất
thực hiện theo mô hình này là sử dụng các kỹ thuật giảm số chiều cho hồ sơ
người dùng trước khi kết hợp với đánh giá người dùng.
Thứ tư, Mô hình hợp nhất là kỹ thuật biểu diễn đặc trưng nội dung và đánh
giá người dùng trên cùng mô hình. Kết quả dự đoán dựa trên mô hình dữ liệu hợp
nhất của cả nội dung và đánh giá người dùng.
Các kỹ thuật lọc cộng tác áp dụng cho các hệ khuyến nghị được phân thành
hai hướng tiếp cận: kỹ thuật lọc dựa vào bộ nhớ (Memory-Based Filtering) và kỹ
thuật lọc dựa vào mô hình (Model-Based Filtering).
Các kỹ thuật dựa vào bộ nhớ (MBF):Kỹ thuật lọc cộng tác dựa vào bộ nhớ
thường sử dụng toàn bộ dữ liệu đã có của người dùng để dự đoán đánh giá của
người đó về một sản phẩm mới. Là kỹ thuật có khả năng đưa trực tiếp dữ liệu mới
vào bảng dữ liệu nên nó đạt khá nhiều thành công khi được áp dụng vào các ứng
dụng thực tế. Đặc biệt, kỹ thuật này phát huy tính hiệu quả cao trong các hệ thống
trực tuyến (là nơi luôn có dữ liệu mới được cập nhật) thường đưa ra các dự đoán
chính xác hơn.
Kỹ thuật lọc cộng tác dựa vào bộ nhớ (Memory-Based Collaborative
Filtering) được thực hiện theo hai cách tiếp cận chính: Lọc dựa vào người dùng
(User-Based Collaborative Filtering) và lọc dựa vào sản phẩm (Item-Based
Collaborative Filtering). Hiệu quả của các kỹ thuật lọc dựa vào bộ nhớ phụ thuộc
vào độ đo tương tự giữa các cặp người dùng hoặc sản phẩm.
Các kỹ thuật lọc dựa trên mô hình (MDBF): kỹ thuật tiếp cận dựa trên mô
hình không sử dụng tất 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 người dùng. Các mô hình được phát triển bằng cách sử dụng phương
thức khai thác dữ liệu, thuật toán học máy để tìm mô hình dựa trên dữ liệu huấn
luyện. Chúng được sử dụng để đưa ra dự đoán cho dữ liệu thực tế. Có rất nhiều
thuật toán CF dựa trên mô hình như: mạng Bayes, mô hình phân nhóm, mô hình


×