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

XÂY DỰNG HỆ TƯ VẤN DỰA VÀO PHƯƠNG PHÁP LAI

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 (2.11 MB, 26 trang )





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







Lê Thành Đạo




XÂY DỰNG HỆ TƯ VẤN DỰA VÀO PHƯƠNG PHÁP LAI



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



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



HÀ NỘI - 2013








Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG


Người hướng dẫn khoa học: Tiến sỹ Nguyễn Duy Phương


Phản biện 1…………………………………………………………

Phản biện 2: …………………………………………………………





Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại
Học viện Công nghệ Bưu chính Viễn thông
Vào lúc: giờ ngày tháng năm





Có thể tìm hiểu luận văn tại:

- Thư viện của Học viện Công nghệ Bưu chính Viễn thông




1

I. MỞ ĐẦU
1. Lý do chọn đề tài

Hệ tư vấn (Recommender System) là hệ thống có khả năng tự động phân
tích, phân loại, lựa chọn và cung cấp cho người dùng những thông tin, hàng hóa
hay dịch vụ mà họ quan tâm. Hệ tư vấn được xây dựng dựa trên hai kỹ thuật lọc
thông tin chính: Hệ tư vấn dựa vào phương pháp lọc theo nội dung (Content-
Based Filtering Recommendation) và hệ tư vấn dựa vào phương pháp lọc cộng
tác (Collaborative Filtering Recommendation).
Phương pháp tư vấn theo nội dung khai thác những khía cạnh liên quan
đến nội dung thông tin sản phẩm mà người dùng đã từng sử dụng hay truy nhập
trong quá khứ để tạo nên tư vấn. Phương pháp này thực hiện tốt trên các dạng
thông tin được biểu diễn thông qua các đặc trưng nội dung nhưng gặp nhiều khó
khăn trên các dạng thông tin đa phương tiện (hình ảnh, âm thanh, ).
Phương pháp tư vấn cộng tác 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. Phương pháp tư vấn cộng tác thực hiện tốt trên tất cả các dạng thông tin
nhưng gặp phải vấn đề người dùng mới, sản phẩm mới và dữ liệu thưa thớt.
Chính vì vậy, vấn đề kết hợp giữa phương pháp tư vấn theo nội dung và tư vấn
cộng tác nhằm tận dụng lợi thế mỗi phương pháp được quan tâm nghiên cứu.
Đề tài “Xây dựng hệ tư vấn dựa vào phương pháp lai” được thực hiện
trong khuôn khổ luận văn thạc sĩ chuyên ngành Khoa học máy tính với mục
tiêu, đối tượng và phương pháp nghiên cứu cụ thể như sau:

2. Mục đích nghiên cứu
Mục đích của luận văn là nghiên cứu phương pháp tư vấn kết hợp giữa lọc
cộng tác và lọc nội dung. Để thực hiện được mục tiêu này, luận văn cần nghiên
cứu cụ thể phương pháp tư vấn theo nội dung, phương pháp tư vấn cộng tác và
phương pháp kết hợp giữa hai phương pháp này.


2

3. Đối tượng và phạm vi nghiên cứu

Đối tượng nghiên cứu là phương pháp tư vấn theo nội dung, người sử
dụng cùng với thói quen, hành vi sử dụng sản phẩm của họ.
Phạm vi của đề tài này tập trung nghiên cứu vào: phương pháp lọc thông
tin dựa vào nội dung, phương pháp phân loại dựa vào đánh giá người dùng và
kết hợp hai phương pháp này.
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 những kết quả nghiên cứu về
học máy đã được công bố trên các tạp chí trong và ngoài nước, đặc biệt chú
trọng đến những nghiên cứu về học chuyển giao cho lọc cộng tác. Tham dự các
Seminar về lĩnh vực liên quan. Trao đổi, chía sẻ, thảo luận với giáo viên hướng
dẫn và các đồng nghiệp về các kết quả nghiên cứu.
5. Bố cục của luận văn
Nội dung luận văn được xây dựng thành 4 chương, trong đó:
Chương 1: Nội dung chương này trình bày về những kết quả nghiên cứu
về phương pháp tư vấn theo nội dung: phát biểu bài toán tư vấn theo nội dung,
phương pháp biểu diễn các đặc trưng nội dung, phương pháp xây dựng hồ sơ
người dùng, phương pháp dự đoán.
Chương 2: Nội dung chương này trình bày về kết quả nghiên cứu về
phương pháp tư vấn cộng tác, bao gồm: phát biểu bài toán tư vấn cộng tác,

phương pháp tư vấn dựa vào bộ nhớ, phương pháp tư vấn dựa vào mô hình,
phương pháp dự đoán.
Chương 3: Nội dung chương này trình bày về kết quả nghiên cứu về
phương pháp kết hợp giữa các kiểu tư vấn, bao gồm: phát biểu bài toán tư vấn
kết hợp, phương pháp kết hợp giữa lọc nội dung và lọc cộng tác
Chương 4:Nội dung chính của chương tập trung vào xây dựng ứng dụng
của phương pháp học chuyển giao.


3

CHƯƠNG I: PHƯƠNG PHÁP TƯ VẤN THEO NỘI DUNG

Phương pháp tư vấn theo nội dung khai thác những khía cạnh liên quan đến
nội dung thông tin sản phẩm người dùng đã từng sử dụng hay truy nhập trong
quá khứ để tạo nên tư vấn. Các phương pháp tiếp cận cho lọc theo nội dung có
nguồn gốc từ lĩnh vực truy vấn thông tin, trong đó mỗi sản phẩm được biểu diễn
bằng một hồ sơ sản phẩm, mỗi người dùng được biểu diễn bằng một hồ sơ người
dùng.
Về mặt tổng quát thì trong các hệ thống lọc dựa trên nội dung khác nhau có
thể khác nhau về chi tiết nhưng nhìn chung thì các hệ thống này đều phải tạo một
hồ sơ về người dùng và thực hiện so sánh các sản phẩm với hồ sơ của người
dùng để thực hiện tư vấn.

Hình 1.1: Mô hình tổng quát hệ thống lọc theo nội dung




4


1.1. Phát biểu bài toán tư vấn theo nội dung
Bài toán lọc theo nội dung được phát biểu như sau:
Cho P= {p
1
, p
2
, , p
n
} là tập gồm N sản phẩm. Nội dung sản phẩm p

P
được ký hiệu là Content(p) được biểu diễn thông qua tập K đặc trưng nội dung
của P. Tập các đặc trưng sản phẩm P đượ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 p.
Cho U = {u
1
, u
2
, ,u
m
} là tập gồm M người dùng. Với mỗi người dùng
u

U, gọi ContentBasedProfỉle(u) là hồ sơ người dùng u. Hồ sơ của người dùng
u thực chất là lịch sử truy cập hoặc đánh giá của người đó đối với các sản phẩm.
ContentBasedProflle(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.
Bài toán lọc theo nội dung khi đó là 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(p) và hồ sơ
người dùng ContendBasedProflle(u).


1.2. Phương pháp trích chọn đặc trưng(Limited content analysis):
Phương pháp trích chọn đặc trưng hay còn gọi là biểu diễn hồ sơ sản
phẩm.Để có một tập các đặc trưng đầy đủ, nội dung tài liệu phải được biểu diễn
dưới dạng phù hợp để máy tính có thể tự động phân tích, tính toán trọng số các
đặc trưng nội dung hoặc phải được thực hiện bán tự động.
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 TF-IDF
(Term Frequency / Inverse Document Frequency)
.

1.3. 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 (w
1,u
, w
2,u
, ,w
K,u
), trong đó mỗi w
k,u



5

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ố (w
1,u
, w
2,u
, ,w
K,u
) đượ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 đã được người dùng thường xuyên truy cập hoặc đánh giá.
Balabanovic tính toán véctơ trọng số mỗi hồ sơ người dùng
ContentBasedProflle(u) bằng cách lấy trung bình cộng véc tơ trọng số
Content(p
j
) trên các tài liệu p
j

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

P 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

U và véctơ hồ sơ sản phẩm p

P.


1.5. Ví dụ minh họa
1.6. Kết luận chương

Phương pháp lọc theo nội dung làm việc khá hiệu quả với các tài liệu văn
bản và đã có nhiều ứng dụng trên thực tế như hệ thống lọc email, thư rác…
phương pháp này vẫn được khá nhiều hệ thống tư vấn sử dụng do tính dễ cài
đặt, và hiệu quả trong xử lý dữ liệu là văn bản.
T vậy phương pháp vẫn tồn tại một số vấn đề:
- Vấn đề trích chọn đặc trưng (Limited content analysis)
- Vấn đề người dùng mới (new user propblem)
- Vấn đề đánh giá, phản hồi của người dùng



6

CHƯƠNG II:PHƯƠNG PHÁP TƯ VẤN 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 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ệ tư vấn, người dùng sẽ
được tư vấn 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.


Hình 2.1: Mô hình kiến trúc của hệ tư vấn dựa trên cộng tác
2.1. Phát biểu bài toán tư vấn cộng tác
Bài toán lọc cộng tác được phát biểu như sau:
Ký hiệu u = {u

1
, u
2
,…, u
N
} là tập gồm N người dùng, P = {p
1
, p
2
, , p
M
} là
tập gồm M sản phẩm mà người dùng có thể lựa chọn. Mỗi sản phẩm p
j

P có
thể là hàng hóa, phim, ảnh, tạp chí, tài liệu, sách, báo, dịch vụ hoặc bất kỳ dạng
thông tin nào mà người dùng cần đến.
Tiếp theo, ký hiệu R={ r
ij
}, i = 1 N, j = 1 M là ma trận đánh giá, trong
đó mỗi người dùng u
i

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

P
bằng một số r
ij

. Giá trị r
ij
phản ánh mức độ ưa thích của người dùng u
i
đối với
sản phẩm p
j
. Giá trị r
ij
có thể được thu thập trực tiếp bằng cách hỏi ý kiến người


7

dùng hoặc thu thập gián tiếp thông qua cơ chế phản hồi của người dùng. Giá trị
r
ij
=

trong trường hợp người dùng u
i
chưa đánh giá hoặc chưa bao giờ biết
đến sản phẩm p
j
.
Với một người dùng cần được tư vấn u
a
(được gọi là người dùng hiện
thời, người dùng cần được tư vấn, hay người dùng tích cực), bài toán lọc cộng
tác là bài toán dự đoán đánh giá của u

a
đối với những mặt hàng mà u
a
chưa đánh
giá (r
aj
=

), trên cơ sở đó tư vấn cho u
a
những sản phẩm được đánh giá cao.
2.2. Phương pháp tư vấn dựa trên bộ nhớ
Các thuật toán dựa trên kinh nghiệm dự đoán hạng của một sản phẩm dựa
trên toàn bộ các sản phẩm đã được đánh giá trước đó bởi người dùng.Nghĩa là,
hạng của sản phẩm p với người dùng u (r
u,p
) được tổng hợp từ đánh giá của
những người dùng khác về p (thường là N người có sở thích tương đồng nhất
với u).
Phương pháp đượ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ựsim(x, ỵ): Mô tả khoảng cách, sự liên quan,
hay trọng số giữa hai người dùng x vày (hoặc giữa hai sản phẩm X vày).
+ Dự đoán: Đưa ra dự đoán cho người dùng cần được tư vấn bằng cách
xác định tập láng giềng của người dùng này. Tập láng giềng của người dùng
cần tư vấn đượ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.
2.3. Phương pháp tư vấn 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ô 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á.


8

Mô hình đầu tiên được đề xuất bao gồm việc phân nhóm người dùng sử
dụng kỹ thuật phân cụm (clustering) và sau đó việc dự đoán đánh giá một người
dùng trên một tài nguyên chỉ sử dụng các đánh giá của những người dùng thuộc
về cùng nhóm.
2.4. Ví dụ minh họa

2.5. Kết luận
Hệ thống tư vấn cộng tác khắc phục được nhiều nhược điểm của hệ thống
dựa trên nội dung. Một điểm quan trọng là nó có thể xử lý mọi loại dữ liệu và
gợi ý mọi loại sản phẩm, kể cả những sản phẩm mới, nhờ vào tham khảo được ý
kiến của người dùng đối với các sản phẩm, do đó có thể hiệu quả hơn đối với
những sản phẩm không có những mô tả rõ rằng về đặc trưng nôi dung.
Tuy đã khắc phục được nhiều nhược điểm của hệ thống lọc dựa trên nội
dung nhưng hệ thống tư vấn cộng tác vẫn gặp một số vấn đề:
Vẩn đề người dùng mới (New User Problem)
Vẩn đề sản phẩm mới (New Item Problem)
Vẩn đề dữ liệu thưa (Sparsity Data Problem)
Do cả hai phương pháp lọc dựa vào nội dung và lọc cộng tác đều gặp phải
khác nhiều nhược điểm, nhưng có một số phần có thể bù trừ cho nhau tạo ra sự
chính xác cho việc lọc thông tin hơn nên chương tiếp theo chúng ta sẽ tìm hiểu
phương pháp lai.





9

CHƯƠNG III: PHƯƠNG PHÁP KẾT HỢP GIỮA TƯ VẤN
THEO NỘI DUNG VÀ TƯ VẤN CỘNG TÁC
Để khắc phục những hạn chế của hệ thống tư vấn dựa trên nội dung và
cộng tác, luân văn quyết định đi theo một cách tiếp cận lai kết hợp cả hai
phương pháp với mục tiêu này, luận văn tìm hiểu một mô hình thống nhất kết
hợp đánh giá của người dùng từ các tập dữ liệu MovieLens cũng như các tính
năng phim từ IMDB. Có thể phân thành bốn cách kết hợp như sau:
- Kết hợp tuyến tính (Kết hợp hai phương pháp riêng rẽ)
- Kết hợp đặc tính của lọc cộng tác vào lọc nội dung (Thêm đặc trưng của
mô hình dựa trên nội dung vào mô hình cộng tác)
- Kết hợp đặc tính của lọc nội dung vào lọc cộng tác (Thêm đặc trưng của
mô hình cộng tác vào mô hình dựa trên nội dung)
- Mô hình hợp nhất (Mô hình hợp nhất hai phương pháp)
3.1. Phát biểu bài toán
Bài toán lọc kết hợp được phát biểu như sau:
Cho tập người dùng U, tập sản phẩm P và ma trận lọc cộng tác R như đã
được trình bày ở trên, ký hiệu C = {c
1
, c
2
, , c
K
} là tập K đặc trưng biểu diễn nội
dung thông tin các sản phẩm p

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


U. Ví dụ nếu p

P 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
c
i
: “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 c
i
: “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
a
những
sản phẩm p
k

P chưa được u
a
đánh giá dựa trên ma trận đánh giá r
jj
và các đặc
trưng nội dung C = {c
1
, c
2
, , c

K
}.


10

3.2. Kết hợp các đặc trưng nội dung với đánh giá người dùng
Phương pháp này 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. Phương pháp dự đoán thực hiện
theo lọc nội dung thuần túy và so sánh với kết quả dựa trên biểu diễn hồ sơ
người dùng mở rộng. Phương pháp 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.
3.3. Kết hợp đánh giá người dùng với các đặc trưng nội dung
Phương pháp này 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 ContentBasedProfile(u) 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. Phương pháp có thể phát
hiện 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 được đến tạo nên dự đoán.
3.4. Mô hình hợp nhất giữa đánh giá người dùng và các đặc
trưng nội dung
Trong phần này, luận văn tìm hiểu một phương pháp xây dựng liên kết
người dùng với nội dung sản phẩm trên cơ sở cá nhân hóa các liên kết này gọi
là “Unifying Models”. Unifying Models là phương pháp biểu diễn đặc trưng nội
dung và đánh giá người dùng trên cùng mô hình
Tiến hành chuyển đổi thành ma trận toán học, ta sẽ thu được một ma trận
mở rộng chứa tất cả các mối quan hệ giữa người dùng, sản phẩm, các đặc trưng
của người dùng và các đặc trưng của sản phẩm như bảng 3.4:
Bảng 3.5: Ma trận kết hợp người dùng - sản phẩm với các đặc trưng


Sản phẩm Nghề nghiệp ĐT người dùng XY
p
1
p
2
… p
n
o
1
o
2
… o
y
UF
1
UF
2
… UF
z

Người
u
1
r
11
r
12
… r
1n

0 0 … 1 0 1 … 1


11

dùng
u
2
r
21
? … r
2n
1 1 … 0 1 1 … 0
… … … … … … … … … … … … …
u
m
r
m1
r
m2
… r
mn
1 0 … 1 1 0 … 0
Thể
loại
t
1
0 1 … 1

t

2
1 1 … 0
… … … … …
t
k
1 1 … 0
ĐT
sản
phẩm
XY
IF
1
0 0 … 0
IF
2
1 1 … 0
… … … … …
IF
q
1 1 … 0
Sau khi chuyển đổi dữ liệu thành dạng ma trận ở bảng 3.4, chúng ta sử
dụng các kỹ thuật của lọc cộng tác để tiến hành dự đoán giá trị cho những sản
phẩm chưa được đánh giá. Dựa vào ma trận gốc cùng với các đặc trưng nội
dung luận văn kỳ vọng kỹ thuật này cho dự đánh giá chính xác nhất. Luận văn
tính toán ma trận dựa vào phương pháp phân rã giá trị riêng (Singular Value
Decomposition - SVD).
3.4.1. Vấn đề thưa thớt dữ liệu
Đã có rất nhiều cố gắng giải quyết vấn đề thưa thớt dữ liệu. Một phương
pháp được đưa ra với một số thành công đó là phương pháp nhằm làm giảm
chiều ma trận số người dùng – sản phẩm.

3.4.2. Phương pháp phân rã giá trị riêng(SVD)
Bài toán phân rã giá trị riêng được phát biểu như sau:
Với bất kỳ ma trận A kích thước M × Nnào có số M ≥ N, có thể được viết
dưới dạng tích của một ma trận U trực giao theo cột có kích thước M × N, một
ma trận chéo W có kích thước N× Nvới các số trên đường chéo là không âm, và
ma trận chuyển vị của một ma trận trực giao Vcó kích thước N× N:


12


[

]
=
[

]
×
[

]
×
[


]
=
[


]
× 





 ×
[


]
(3.3)
Đường chéo khởi tạo r của S(s
1
,s
2
, ,s
r
) có các đặc trưng s
i
>0 và s
1
≥s
2
≥ …≥
s
r
.Trong đó, r cột đầu tiên của U là vector riêng của AA
T

và đại diện cho các
vector riêng trái của A trong không gian mở rộng cột.r cột đầu tiên của V là
vector riêng của A
T
A và đại diện cho cácvector riêng phải của A trong không
gian mở rộng hàng. Nếu chúng ta chỉ tập trung vào các r giá trị riêng khác
không, kích thước hiệu quả SVD của ma trận U, S và V sẽ trở thành M × r, r ×
r vàr × N tương ứng.

Một thuộc tính quan trọng của SVD, đặc biệt hữu ích trong các hệ tư vấn
là nó có thể cung cấp giá trị xấp xỉ thấp nhất. Bằng cách giữ lại k << r giá trị
riêng của S và loại bỏ các phần còn lại (tức là giữ k giá trị riênglớn nhất), dựa
trênthực tế là các mục trong S đều được sắp xếp, chúng ta sẽ giảm số chiều của
dữ liệu và hy vọng sẽ nắm bắt được mối quan hệ "tiềm ẩn" quan trọng nhưng
hiện tại không rõ ràng trong các đại diện ban đầu của ma trận A. Kết quả đường
chéo ma trận được gọi là S
k
. Ma trận U và V cũng nên được giảm cho phù hợp.
U
k
được tạo ra bằng cách loại bỏ r-kcột từ ma trận U.V
k
được tạo ra bằng cách
loại bỏ r - k hàng từ ma trận V. Ma trận A
k
được định nghĩa là:


= 


× 

× 


(3.4)
3.4.3. Cách thực hiện phương pháp SVD
Các bước mà thuật toán SVD sẽ tiến hành như sau:
Bước 1: Xác định các ma trận đánh giá R ban đầu, có kích thước M × N,
trong đó bao gồm các xếp hạng của M người dùng trên N sản phẩm trong đó r
ij

là đánh giá của người dùng u
i
trên sản phẩm p
j
.
Bước 2: Xử lý ma trận đánh giá R để loại bỏ tất cả các giá trị dữ liệu chưa
đánh giá. Cách xử lý như sau:


13

+ Từ ma trận đánh giá R ta tính tính giá trị trung bình của tất cả các
hàng r
i
, trong đó i = 1, 2, , M; và tính giá trị trung bình của tất cả các cột
r
j
, trong đó j = 1, 2, , N.

+ Thay thế tất cả các mục ma trận không có giá trị, biểu hiện bằng
⊥, với cột trung bình tương ứng r
j
ta thu được ma trận mới R’
+ Trừ các giá trị trung bình hàng tương ứng r
i
cảu tất cả các giá trị
trong ma trận vừa thu được R’, ta thu được ma trận chuẩn hóa R”.
Bước 3:Tính toán SVD của R” và có được ma trận U, S và V, có kích
thước M × M, M × N, và N × N tương ứng. Mối quan hệ được thể hiện bởi:
[
"
]
=
[

]
×
[

]
×
[


]
(3.7)
Bước 4:Thực hiện các bước giảm chiều bằng cách giữ chỉ kđường chéo từ
ma trận Sđể có được một ma trậnk × k ký hiệu S
k

. Tương tự như vậy ta có ma
trận U
k
và V
k
với kích thước M × k và k × Nđược tạo ra. Ta thu được ma trận
R
giảm
dựa trên công thức:

ả
= 

× 

× 


(3.8)
Trong đór
ij
biểu thị sự đánh giá của người sử dụng u
i
trên sản phẩmp
j
như
trong ma trận R
giảm
này.
Bước 5:Tính




và sau đó tính toán hai ma trận sản phẩm: 





đại
diện choM người sử dụng và 





đại diện cho Nsản phẩm trong k chiều
không gian đặc trưng.
Bước 6: Tiến hành cùng hình thành vùng lân cận - Neighborhood
Formation bước này được chia thành 2 quá trình phần:
- Tính toán độ tương đồng giữa các sản phẩmp
j
và p
f
bằng cách tính toán
dựa vào công thức:


=




.















(3.9)


14

Trong đó k là số người dùng được lựa chọn khi thực hiện bước giảm
chiều.
- Dựa trên kết quả từ những tính toán trênta tính toán cho cặp các sản
phẩm bao gồm các sản phẩmhiện thời và một sản phẩm ngẫu nhiên.
Bước 7: Kết luận cùng kết quả dự đoán




=




(


+ 


)









Tính toán dự đoán cho người dùngu
a
một sản phẩmp
j
. Nó tương tự như các
phương trình sử dụng lọc sản phẩm cơ bản ở chỗ nó căn cứ dự đoán của nó về việc
đánh giáđược đưa ra bởi người dùng hiện thời u
a

tới lsản phẩm được chọn tương
tự nhất nhưsản phẩm hiện tại p
j
. Tuy nhiên, nó khác ở chỗ đánh giá người dùng
được thực hiện làm giảm chiều của ma trận đánh giá R
giảm
. Ngoài ra, chúng ta phải
bổ sung vào ma trận gốc giá trị trung bình 

 .
3.5. Thử nghiệm và đánh giá
Để thực hiện thử nghiệm, luận văn sử dụng các dữ liệu có sẵn từ hệ tư
vấn phim GroupLens. Bộ dữ liệu MovieLens 100K bao gồm 100.000 xếp hạng
được của 943 người dùng trên 1682 bộ phim. Mỗi đánh giá theo các giá trị từ
0(xấu)tới 5 (xuất sắc). Dữ liệu được chia thành 5 phần, trong mỗi phần bao gồm
2 tập dữ liệu là “huấn luyện”(training data) và “kiểm tra” (test data).

3.5.1. Sai số dự đoán MAE
Sai số dự đoán MAE
u
cho mỗi người dùng u thuộc tập dữ liệu kiểm tra
được tính bằng trung bình giá trị tuyệt đối giữa hiệu số giá trị dự đoán và giá trị
thực đối với tất cả sản phẩm thuộc tập P
u
.




u

Py
u
y
u
y
u
u
rr
P
MAE
ˆ
1
(3.5)
(3.10)


15

Sai số dự đoán trên toàn tập dữ liệu kiểm tra được tính bằng trung bình
cộng sai số dự đoán cho mỗi khách hàng thuộc U
te
được tính toán theo công
thức (3.6). Giá trị MAE càng nhỏ, phương pháp dự đoán càng chính xác.

te
Uu
u
U
MAE
MAE

te




(3.6)
3.5.2. Mô tả thử nghiệm
Mục đích của thử nghiệm này sẽ được tiến hành nhằm:
- Xác định giá trị tối ưu k cho để giảm kích thước cho ma trận
- Xác định giá trị tối ưu cho kích thước vùng lân cận
Sau khi chúng ta tìm được 2 giá trị nêu trên, thử nghiệm sẽ tiến hành đánh
giá hệ tư vấn dựa trên phương pháp SVD trên sản phẩm tương đồng.
3.5.3. Kết quả của thử nghiệm
Xác định giá trị tối ưu k để giảm kích thước cho ma trận:

Hình 3.5: Xác định giá trị tối ưu nhất cho k


16

Nhìn vào đồ thị thì rõ ràng chúng ta thấy giá trị trung bình MAE của 5 tập
dữ liệu mà chúng ta xem xét nhỏ nhất khi k=6 với MAE ≅ 0.796.

Xác định giá trị tối ưu cho kích thước vùng lân cận
Trong thử nghiệm này của chúng ta, với giá trị tối ưu k= 6 là cố định và
thay đổi kích thước của lân cận sản phẩm hiện tạivới các kích thước =
{10,20, ,140}.
Rõ ràng MAE ≅ 0.792 là nhỏ nhất ứng với khu lân cận có 10 sản phẩm.

Hình 3.6: Xác định giá trị tối ưu nhất cho kích thước vùng lân cận


Đánh giá hệ tư vấn dựa trên phương pháp SVD trên sản phẩm
tương đồng
Thiết lập tính toán tối ưu cho các thuật toán chúng ta tiến hành với thử
nghiệm cuối cùng này với mục đích để đánh giá độ chính xác của hệ tư vấn dựa
trên phương pháp SVD trênsản phẩm tương đồng. Hình 3.7 phía dưới đây cho
chúng ta thấy 2 giá trị MAE của không gian lân cận cao (high-dimensions) và
MAE của không gian lân cận thấp (low-dimensions) với 5 tập dữ liệu mà ta xét.
Từ 5 giá trị tương ứng cho 2 tập giá trị của MAE này ta dễ dàng tính được giá
trị trung bình của chúng và kết quả thu được như bảng 3.6 sau đây:


17

Bảng 3.6: Trung bình MAE của không gian lân cận

Không gian cao Không gian thấp
MAE
0.83987391 0.79658809


Hình 3.7: So sánh SVD và lọc cộng tác với đô đo tương tự sản phẩm

3.6. Kết luận
Một số nghiên cứu trước đây đã tìm hiểu phương pháp lọc kết hợp dựa
trên mô hình hợp nhất giữa đánh giá người dùng và các đặc trưng nội dung
bằng phương pháp phân rã giá trị riêng SVD kết hợp lọc dựa trên người dùng,
chứng tỏ đây là một giải pháp hiệu quả cho các vấn đề hệ tư vấn trong khả năng
mở rộng cũng như giải quyết vấn đề thưa thớt dữ liệu. Việc luận văn tiếp cận
cũng theo phương pháp này nhưng kết hợp với lọc dựa trên sản phẩm là một

hướng đi mới. Tuy nhiên, những kết quả thực nghiệm cho thấy đây là một
hướng đi đúng đắn và tôi sẽ tiếp tục nghiên cứu thêm.



18

CHƯƠNG IV. XÂY DỰNG HỆ TƯ VẤN DỊCH VỤ
BẰNG PHƯƠNG PHÁP LAI
4.1. Giới thiệu chung
“Hệ tư vấn Film dựa vào phương pháp lai” (Film Recommendation
System) được xây dựng dựa trên “Mô hình hợp nhất giữa đánh giá người dùng
và các đặc trưng nội dung.
Trong việc xây dựng hệ tư vẫn film này đã sử dụng bộ dữ liệu 100K tức
là thông tin của 943 người dùng, thông tin của 1682 bộ film, và 100.000 đánh
giá của những người dùng đối với những bộ film để chuyển đổi thành dữ liệu
dùng cho hệ thống.

4.2. Mô hình dữ liệu hệ thống
Chương trình này hoàn toàn phục vụ cho mục đích nghiên cứu hệ tư vấn
dịch vụ bằng phương nên đã không tập trung vào việc tối ưu cơ sở dữ liệu, thay
vào đó việc thiết kế để thuận tiện nhất cho việc import dữ liệu từ bộ dữ liệu
MovieLens 100K.


Hình 4.1: Mô hình cơ sở dữ liệu hệ tư vấn Film


19


4.3. Mô hình chức năng hệ thống
“Hệ tư vấn Film dựa vào phương pháp lai” được xây dựng trên công nghệ
PHP kết hợp với mô hình lập trình web chuẩn MVC gồm 3 tầng chính:
4.3.2. Tầng giao diện (presentation)
4.3.3. Tầng điều khiển - Controller
4.3.4. Tầng dữ liệu - Model
4.4. Một số chức năng chính của hệ thống
- Chức năng đăng nhập/đăng ký người dùng
Chức năng tìm kiếm
- Chức năng hiển thị những phim được đánh giá cao nhất
- Chức năng hiển thị danh sách các phim mới nhất
- Chức năng hiển thị danh sách phim được nhiều người quan tâm
đánh giá nhất
- Chức năng hiển thị danh sách phim nổi bật
- Chức năng hiển thị danh sách phim đề cử:
- Chức năng hiển thị danh sách phim top bình chọn
- Chức năng hiển thị danh sách phim
- Chức năng xem chi tiết phim
- Chức năng xem phim trực tuyến
- Chức năng thể hiện tóm tắt nội dung phim
- Chức năng bình chọn của người dùng



20

4.5. Một số màn hình của hệ thống

Hình 4.4: Trang chủ của website



21


Hình 4.9: Trang xem thông tin chi tiết phim


22


Hình 4.10: Kết quả tư vấn cho môi người dùng sau khi đăng nhập


23

4.6. Kết luận
“Hệ tư vấn Film dựa vào phương pháp lai”được xây dựng dựa vào “mô
hình hợp nhất giữa đánh giá người dùng và các đặc trưng nội dung” đề xuất đã
mô tả đầy đủ các chức năng chính của một hệ thống lọc thông tin, bao gồm:
chức năng học, chức năng lọc, chức năng phân tích dữ liệu, chức năng người
dùng, úng dụng cho lại kết quả tư vấn tốt ngay cả trong trường hợp dữ liệu đánh
giá người dùng thưa thớt.
Do thời gian làm luận văn không nhiều nên tôi chỉ tập chung vào những
chức năng chính phục vụ cho hệ tư vấn chứ không chú trọng và những kỹ thuật
lập trình hay phân tích thiết kế hệ thống, chính vì vậy “Hệ tư vấn Film dựa vào
phương pháp lai” chỉ mang tính chất nghiên cứu.

×