Tải bản đầy đủ (.pdf) (26 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 (1.56 MB, 26 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

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

Đà Nẵng - Năm 2018


Công trình được hoàn thành tại
TRƯỜNG ĐẠI HỌC BÁCH KHOA

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

Phản biện 1: TS. NGUYỄN VĂN HIỆU

Phản biện 2: PGS.TS. HUỲNH CÔNG PHÁP

Luận văn được bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp
thạc sĩ họp tại Trường Đại học Bách khoa vào ngày 05 tháng 01 năm
2019.


Có thể tìm hiểu luận văn tại:
- Trung tâm Học liệu và Truyền thông Đại học Đà Nẵng tại
Trường Đại học Bách khoa
- Thư viện Khoa Công nghệ thông tin Trường Đại học Bách khoa Đại học Đà Nẵng


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.
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.
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”.
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


2
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.
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


3
Chương 1 - GIỚI THIỆU TỔNG QUAN VỀ HỆ THỐNG
KHUYẾN NGHỊ
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.
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.
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.


4

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.
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, hệ thống
website 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. Tuy nhiên để nâng cao chất lượng
của khuyến nghị cho người dùng, hệ thông khuyến nghị cần sử dụng
thông tin của tất cả người dùng và thông tin của tất cả sản phẩm, sử
dụng các thuật toán để đưa ra khuyến nghị phù hợp nhất cho người
dùng.
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 báo, phim ảnh,…
1.4 Phát biểu bài toán 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);


5
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.
đượ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 (ContentBased Filtering Recommendation).
khuyến nghị dựa vào phương pháp lọc cộng tác (Collaborative
Filtering Recommendation).
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:
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.


6
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).
1.5.1.2 Các phương pháp pháp lọc theo nội dung
* 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.
* 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


7
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ể 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.
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

U đưa ra đánh giá của mình cho một số sản phẩm i

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
Ví dụ nếu i

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

U.

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


8
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.
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.
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.

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


9
Tổng kết chương 1
Trong chương này, luận văn đã trình bày một số khái niệm và
kiến thức cơ bản về lọc thông tin và hệ thống khuyến nghị, các
phương pháp của hệ thống khuyến nghị cũng như các kỹ thuật chính
của các phương pháp. Trong chương tiếp theo tôi đi sâu tìm hiểu về
các phương pháp lọc cộng tác và các kỹ thuật, thuật toán của các
phương pháp lọc cộng tác.


10
Chương 2 - PHƯƠNG PHÁP LỌC CỘNG TÁC
2.1 Kỹ thuật lọc cộng tác
2.1.1 Lọc cộng tác
Trong phương pháp này, hệ thống sẽ tính toán độ tương tự giữa
những người dùng hay sản phẩm từ đó người dùng hiện tại sẽ được
khuyến nghị những sản phẩm phù hợp bởi những người dùng có
cùng sở thích đã đánh giá trước đó.
2.1.2 Bài toán lọc cộng tác
Bài toán lọc cộng tác:
Cho danh sách người m người dùng U={u1, u2, ... , um} và một

danh sách n sản phẩm I = {i1, i2,..., in}. rui là đánh giá sản phẩm i của
người dùng u; r nhận giá trị từ 0 đến 5. Với r=0 khi sản phẩm i chưa
được đánh giá bởi người dùng u. Mỗi người dùng u có danh sách các
sản phẩm Iu, mà người dùng đã đánh giá về những sản phẩm đó.
Yêu cầu:
Khuyến nghị danh sách Ip gồm n sản phẩm mà người dùng u thích
nhất, sao cho: Ip Iu= .
Các bước trong quá trình khuyến nghị theo phương pháp lọc cộng
tác dựa trên sản phẩm:
Bước 1: Tiền xử lý dữ liệu: Dữ liệu được thu thập là những đánh
giá sản phẩm của người dùng. Dữ liệu thu thường rất lớn và tuy
nhiên một số đánh giá có thể không có ích trong quá trình khuyến
nghị theo phương pháp lọc cộng tác. Đề xuất được đưa ra để tối ưu
dữ liệu đầu vào: một số sản phẩm hoặc người dùng sẽ được loại bỏ
nếu người dùng đó đánh giá quá ít sản phẩm, hoặc sản phẩm được
quá ít đánh giá.
Bước 2: Xây dựng Ma trận đánh giá, hàng là danh sách người
dùng, cột là danh sách sản phẩm.


11
Bước 3: Tính độ tương tự của 2 sản phẩm hoặc 2 người dùng, xây
dựng Ma trận tương tự của các sản phẩm.
Bước 4: Khuyến nghị cho người dùng các sản phẩm mà họ chưa
lựa chọn có khả năng phù hợp với sở thích của của họ dựa vào các
dự đoán của hệ thống.
2.2 Các kỹ thuật lọc cộng tác
2.2.1 Kỹ thuật dựa lọc cộng tác dựa trên bộ nhớ
Các kỹ thuật dựa trên bộ nhớ [6] sử dụng toàn bộ ma trận đánh
giá để sinh ra dự đoán các sản phẩm cho người dùng hiện tại. Kỹ

thuật được thực hiện theo hai bước: Tính toán mức độ tương tự và
bước tạo nên dự đoán.
Tính toán mức độ tương tự: Mô tả khoảng cách, sự liên quan, hay
trọng số giữa hai người dùng u1 và u2 (hoặc giữa hai sản phẩm i1 và
i2).
Dự đoán: Đưa ra dự đoán cho người dùng cần được khuyến nghị
bằng cách xác định tập láng giềng của người dùng này (hoặc sản
phẩm). Tập láng giềng của người dùng (sản phẩm) cần khuyến nghị
được xác định dựa trên mức độ tương tự giữa các cặp người dùng
hoặc sản phẩm.
Bước quan trọng trong giải thuật lọc cộng tác dựa trên sản phẩm
là tính toán độ tương tự giữa các sản phẩm và sau đó chọn những sản
phẩm mà tương đương nhất để sử dụng trong công thức dự đoán. Ý
tưởng cơ bản trong tính toán độ tương tự giữa hai sản phẩm i và j là:
chọn các cặp người dùng mà đã đánh giá cả 2 sản phẩm và sau đó áp
dụng kỹ thuật tính toán độ tương tự để mô tả độ tương tự như
Khoảng cách Manhattan, khoảng cách Euclidean, hệ số tương tự
Cosine, hệ số tương quan Pearson, Thuật toán K-láng giềng gần
nhất.


12
a) Hệ số tương tự Cosine.
Trong trường hợp này, cả 2 sản phẩm được biểu diễn thông qua 2
véc-tơ m chiều không gian đánh giá của người dùng. Độ tương tự
giữa chúng được đo dựa trên tính toán cosine góc giữa 2 véc-tơ đó
[3]. Trong ma trận đánh giá m x n, độ tương tự giữa hay sản phẩm i
và j, biểu diễn là sim(i,j) được cho bởi công thức:

( )

√∑
√∑
Trong đó:
rui là đánh giá của người dùng u với sản phẩm i
ruj là đánh giá của người dùng u với sản phẩm j
S là tập các người dùng đã đánh giá cả 2 sản phẩm i,j
Mỗi một sản phẩm được đánh giá bởi n người dùng và được xác
định như là 1 véc-tơ n chiều trong công thức này, ở đây những người
dùng được chọn là những người đã đánh giá cả 2 sản phẩm i và j.
Như vậy theo công thức ở trên, kết quả là cosine của góc hợp giữa 2
véc-tơ đó. Và vì các đánh giá là dương nên, cosine của 2 véc-tơ bằng
1 thể hiện 2 sản phẩm tự nhau hoàn toàn với những đánh giá của
người dùng, cosine của 2 véc-tơ bằng 0, thể hiện 2 sản phẩm này
không tương tự nhau.
b) Thuật toán K-láng giềng gần nhất (K-nearest neighbor)
Có hai cách tiếp cận của phương pháp lọc cộng tác theo kỹ thuật
K láng giềng [5] đó là dự đoán dựa trên sự tương tự giữa các người
dùng (User_kNN) và dựa trên mục tin (Item_kNN)
Kỹ thuật K láng giềng dựa trên người dùng xác định độ tương tự
giữa hai người dùng thông qua việc so sánh các đánh giá của họ trên
cùng sản phẩm, sau đó dự đoán đánh giá trên sản phẩm i bởi người


13
dùng u, thông qua các đánh giá của những người dùng tương tự với
người dùng u. Độ tương tự giữa các người dùng có thể được tính
theo Cosine hoặc Pearson
(




)

√∑

√∑
Trong đó:

rui là đánh giá của người dùng u với sản phẩm i
ruj là đánh giá của người dùng u với sản phẩm j
S là tập các người dùng đã đánh giá cả 2 sản phẩm i, j
Tương tự, kỹ thuật K láng giềng dựa trên mục tin (KNN) cũng xác
định độ tương tự dựa trên các mục tin bằng phương pháp Cosine
hoặc Pearson
Sau khi tính toán độ tương tự giữa các người dùng hay giữa các
sản phẩm, đánh giá của người dùng u trên sản phẩm i được dự đoán
theo các công thức như bên dưới:


Trong đó:

()
( )|

(

)
(

)|


( ): là tập sản phẩm tương tự nhất với sản phẩm i

mà người dùng u đã đánh giá.
ruj : là đánh giá mà người dùng u đã đánh giá sản phẩm j
pui : là dự đoán đánh giá của người dùng u với sản phẩm i.
2.2.2. Kỹ thuật lọc cộng tác dựa trên mô hình
Khác với phương pháp dựa trên bộ nhớ, phương pháp dựa trên
mô hình (model-based) sử dụng kĩ thuật thống kê và học máy trên dữ
liệu nền (các đánh giá đã biết) để xây dựng nên các mô hình. Mô


14
hình này sau đó sẽ được dùng để dự đoán hạng của các sản phẩm
chưa được đánh giá.
a) Mô hình mạng Bayes:
Mô hình mạng Bayes biểu diễn mỗi sản phẩm như một đỉnh của
đồ thị, trạng thái của đỉnh tương ứng với giá trị đánh giá của người
dùng đối với sản phẩm đã được đánh giá. Cấu trúc của mạng được
nhận biết từ tập dữ liệu huấn luyện.
b) Mô hình phân cụm:
Một cụm là tập các đối tượng dữ liệu có các phần tử trong cụm
giống nhau nhiều nhất, và khác nhau nhiều nhất đối với các phần tử
thuộc các cụm khác. Các phương pháp phân cụm cho lọc cộng tác
được sử dụng để phân chia tập người dùng (hoặc tập sản phẩm)
thành các cụm người dùng (hoặc sản phẩm) có sở thích tương tự
nhau.
c) Mô hình thống kê:
Là phương pháp được sử dụng cho phép người dùng thuộc về,
một mức độ nào đó, các nhóm khác nhau. Và sự phân cấp các nhóm

cũng được đề xuất, để một nhóm người dùng được xem xét không có
ý kiến trên một tài nguyên cụ thể, thì nhóm cao hơn sẽ được xem xét
khuyến nghị.
2.3 Tính toán dự đoán và khuyến nghi
Bước quan trọng nhất của hệ thống lọc cộng tác là đưa ra kết quả
dự đoán.
Dự đoán đánh giá của một người dùng lên một sản phẩm được
suy ra từ các đánh giá của người dùng đó trên các sản phẩm lân cận.
Một số công thức dự đoán cơ bản: dự đoán dựa trên trung bình đánh
giá sản phẩm lân cận, dự đoán dựa trên tổng trọng số, dự đoán dựa


15
trên tổng trọng số với đánh giá trung bình của người dùng, dự đoán
dựa trên trung bình đánh giá sản phẩm lân cận.
2.3.1 Công thức dự đoán dựa trên trung bình đánh giá sản
phẩn lân cận
2.3.2 Công thức dự đoán dựa trên tổng trọng số
Dự đoán đánh giá của người dùng u với sản phẩm i được cho bởi
công thức sau:



(


|

)
(


)|

Iu: các sản phẩm mà người dùng u đã đánh giá
là đánh giá sản phẩm j của người dung u
sim(i,j) là độ tương tự của 2 sản phẩm i, j
Tập các sản phẩm lân cận của của sản phẩm i
Công thức tính toán đánh giá của người dùng u lên sản phẩm i
dựa vào những đánh giá của người dùng u lên các sản phẩm tương tự
với i.
Tổng kết chương 2
Trong chương này, luận văn đã trình bày về phương pháp lọc
cộng tác của hệ thống khuyến nghị, bài toán của lọc cộng tác của hệ
thống khuyến nghị, tìm hiểu các kỹ thuật, thuật toán cơ bản và tính
toán dự đoán và khuyến nghị cho người dùng. Trong chương tiếp
theo, luận văn sẽ thử nghiệm áp dụng kỹ thuật, thuật toán của
phương pháp lọc cộng tác vào 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.


16

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
3.1. Giới thiệu bài toán
Trung tâm Học liệu Trường Đại học Quảng Bình thành lập ngày
27/3/2013 trên cơ sở Thư viện của Trường ĐHQB. Trung tâm hoạt
động trong lĩnh vực thông tin và thư viện, có nhiệm vụ phục vụ hoạt
động giảng dạy, học tập, đào tạo, nghiên cứu khoa học … góp phần

quan trọng để nâng cao chất lượng đào tạo nguồn nhân lực; đồng
thời là địa điểm tổ chức các Hội thảo, Hội nghị trong nước và quốc tế
của Trường Đại học Quảng Bình.
Chiến lược phát triển của Trung tâm Học liệu Trường Đại học
Quảng Bình là tổ chức xây dựng theo mô hình một Trung tâm thông
tin điện tử hiện đại; chú trọng xây dựng hệ thống Thông tin-Thư
viện.
Tuy nhiên hệ thống web của trung tâm chưa có chức năng khuyến
nghị sách cho người dùng. Thiết nghĩ đây là một chức năng hay và
đang rất thịnh hành trên các hệ thống thông tin. Với hệ thống này hy
vọng rằng sẽ giúp ích rất nhiều cho giảng viên cũng như sinh viên
Trường Đại học Quảng Bình thuận tiện hơn trong việc tìm kiếm
thông tin tài liệu cũng như các đầu sách mà mình muốn tìm kiếm
3.2 Áp dụng kỹ thuật lọc cộng tác cho bài toán khuyến nghị
sách:
Bài toán đặt ra: Tìm tập K=(u1, u2, …, uk) người dùng tương tự
nhất với người dùng cần khuyến nghị u. Sau đó, dựa vào đánh giá
của tập người dùng gần nhất (tập K người dùng) để tiến hành khuyến


17
nghị các sản phẩm sách mà hệ thống dự đoán có khả năng phù hợp
với người dùng u nhất.
Tập người dùng là người người dùng đã đăng ký và được hệ
thống xác nhận. Các đánh giá của người dùng lên những đầu sách
dưới dạng rating có điểm số từ 1 đến 5 tương ứng với độ thích của
người dùng từ dở đến rất hay. Các điểm số rating được người dùng
đánh giá các đầu sách mà người dùng đã đọc, tham khảo và đưa ra
đánh giá, nó sẽ được lưu lại ở cơ sở dữ liệu.
Các bước tiến hành:

Bước 1: Để tìm được tập các người dùng gần nhất (tập K) thì sử
dụng một trong bốn phương pháp đã nêu ra ở trên để tính khoảng
cách của người dùng cần khuyến nghị u với những người dùng khác
uk. Sau khi đã có tương tự giữa người dùng cần khuyến nghị và các
người dùng khác sim( u,uk) thì tôi dựa vào các độ tương tự đó để tìm
ra k người dùng gần nhất (u1,u2,…uk) với u:
k={mini sim(u,uk)}
Để làm được điều này thì khi có cơ sở dữ liệu của các đánh giá
người dùng lên các đầu sách đã được lưu ở cơ sở dữ liệu. Ta tiến
hành định nghĩa một ma trận rating có kích thước m X n ; trong đó m
là số lượng người dùng, n là số lượng các đầu sách, các giá trị của
ma trận là điểm đánh giá của người dùng lên các đầu sách, ta quy
ước giá trị 0 là giá trị mà người dùng chưa đánh giá đầu sách đó.
Để tìm được tập người dùng gần nhất tức là đi tìm được sự giống
nhau giữa các người dùng, chúng ta sẽ sử dụng điểm đánh giá của
người dùng đó lên tất cả các sản phẩm làm vector đại diện cho người
dùng, rồi so sánh các vector với nhau để tìm sự giống nhau. Có nhiều
phương pháp để tính toán độ giống nhau giữa các vector, tôi đã trình
bày ở chương 2 như Pearson, Cosine, ...


18
Dễ dàng nhận thấy rằng các phần tử trên đường chéo của ma trận
bằng 1, có nghĩa là người dùng cần khuyến nghị u hoàn toàn giống
với người dùng khác uk. Các giá trị nhận càng gần giá trị 1 thể hiện
cho việc hai người dùng càng giống nhau.
Bước 2: Tìm các sản phẩm của K-láng giềng đã đánh mà người
dùng cần khuyến nghị chưa đánh giá để tiến hành khuyến nghị.
Áp dụng cho bài toán cụ thể có 2 trường hợp xảy ra :
Thứ nhất, Khi số lượng người dùng láng giềng gần nhất đã đánh

giá sản phẩm i ít thì lúc này hệ thống sẽ đề xuất đối với người dùng
cần khuyến nghị u là các sản phẩm phù hợp nhất dựa vào các sản
phẩm được đánh giá cao của những người dùng láng giềng mà người
dùng cần khuyến nghị chưa đánh giá.
Thứ hai, Khi số lượng người dùng láng giềng nhiều thì bài toán
đặt ra là khi có nhiều láng giềng cùng đánh giá một sản phẩm i
nhưng các giá trị đánh giá khác nhau, nên phải dự đoán xem đánh giá
chung của họ có cao hay không để có thể khuyến nghị tốt hơn cho
người dùng u cho sản phẩm i. Đánh giá dự đoán ruk là giá trị dự đoán
được từ K láng giềng gần nhất đối với sản phẩm i. Khi đó, công thức
tính toán dự đoán đánh giá của người cần khuyến nghị cho sản phẩm
i như sau:


(

)

Trong đó:
+ rui là kết quả dự đoán đánh giá của người dùng u cần khuyến
nghị cho sản phẩm i
+
+ h(

là đánh giá của người dùng uk cho sản phẩm i
) là mức độ ảnh hưởng của người dùng uk trong việc đưa ra

dự đoán đánh giá ruk cho sản phẩm i , hi(
thức sau:


) được tính bằng công


19

(

)

(


)
(

)

3.3 Xây dựng hệ thống
3.3.1 Giới thiệu hệ thố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 Binh được xây dựng dưới dạng một website cung cấp
thông tin về các cuốn sách có tại trung tâm giúp người dùng (cụ thể ở
đây là giảng viên và sinh viên của trường) có thể xem và mượn sách.
Khi người dùng đăng nhập vào hệ thống, người dùng sẽ nhận
được danh sách các cuốn sách hệ thống khuyến nghị cho họ.
3.3.2 Môi trường cài đặt hệ thống
Môi trường được cài đặt trên nền web và được thiết kế theo mô
hình MVC ( Model View Controller) dùng ngôn ngữ lập trình PHP
kết hợp với hệ quản trị cơ sở dữ liệu MySQL
3.3.3 Các chức năng chính của hệ thống

Đăng nhập: Trang chủ của hệ thống được định danh bằng một
địa chỉ Website, người dùng có thể đăng nhập thông qua địa chỉ Web
để truy nhập vào trang chủ của hệ thống
Đăng ký: Cho phép người dùng thực hiện đang ký tạo một tài
khoản trên hệ thống. Người dùng phải cung cấp các thông tin như tên
truy cập, mật khẩu, email,…
Danh sách các đầu sách: Chức năng này cung cấp danh sách
các cuốn sách theo thể loại…
Sách mới: Chức năng này cung cấp danh sách các cuốn sách
mới vừa được đưa vào kho dữ liệu của trung tâm.
Tóm tắt nội dung sách: Cung cấp thông tin nội dung của sách
như tóm tắt nội dung, năm sản xuất, số trang …
Đánh giá sách của người dùng: Hệ thống sẽ cơ chế đánh giá


20
sao cho người dùng từ không hay cho đến rất hay, người dùng có thể
đánh giá những cuốn sách mà mình đã đọc, mượn.
Chức năng khuyến nghị sách cho người dùng: đây là chức năng
quan trọng nhất của hệ thống, chức năng khuyến nghị sách bằng
thuật toán KNN để khuyến nghị các cuốn sách phù hợp cho từng
người dùng khác nhau. Những cuốn sách được hệ thống khuyến nghị
này được thể hiện dưới dạng một danh sách sắp xếp theo thứ tự ưu
tiên giảm dần theo giá trị dự đoán nhằm giúp người dùng có thể tìm
những cuốn sách mà mình yêu thích, đúng với nhu cầu của mình một
cách nhanh nhất.
3.3.4 Sơ đồ Use case

Hình 3.2 Use case xem đầu sách khuyến nghị



21
3.3.5 Lược đồ Cơ sở dữ liệu quan hệ

Hình 3.4 Lược đồ cơ sở dữ liệu quan hệ
3.3.6 Giải thuật xử lý chính của hệ thống
Giải thuật hệ thống khuyến nghị cho người dùng


22
3.3.7 Một số hình ảnh chính của hệ thống

Hình 3.5 Giao diện website của hệ thống KN sách


23

Hình 3.6 Giao diện của người dùng mô tả chi tiết sách

Hình 3.10 Giao diện hệ thống KN sách cho người dùng


×