Tải bản đầy đủ (.doc) (69 trang)

Xây dựng hệ tư vấn môn học cho sinh viên hệ đào tạo tín chỉ Trường Đại học Sư phạm Hà Nội

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.21 MB, 69 trang )

MỤC LỤC
DANH MỤC HÌNH 3
3
DANH MỤC BẢNG 5
MỞ ĐẦU 1
1.Lý do chọn đề tài 1
2.Lịch sử nghiên cứu 2
3.Mục đích nghiên cứu của luận văn, đối tượng, phạm vi nghiên cứu 3
3.1. Mục đích nghiên cứu 3
3.2. Đối tượng nghiên cứu 4
4.Tóm tắt 4
5.Phương pháp nghiên cứu 4

CHƯƠNG 1: TỔNG QUAN VỀ HỆ TƯ VẤN
(RECOMMENDER SYSTEM) 4
1.1. Giới thiệu hệ tư vấn 4
1.1.1.Hệ tư vấn là gì? 6
1.1.2.Bài tốn hệ tư vấn 7
1.1.3.Nhiệm vụ hệ tư vấn 9
1.1.4.Các chức năng của hệ tư vấn 10
1.1.5.Ứng dụng của hệ tư vấn 11
1.2. Các phương pháp tiếp cận hệ tư vấn 12


1.2.1. Phương pháp dựa trên nội dung( content - Based) 12
1.2.2. Phương pháp lọc cộng tác (Collaborative Filtering – CF) 20
1.2.3. Phương pháp lai (Hybrid) 40

CHƯƠNG 2: XÂY DỰNG HỆ TƯ VẤN MƠN HỌC CHO
SINH VIÊN HỆ ĐÀO TẠO TÍN CHỈ TRƯỜNG ĐẠI HỌC SƯ
PHẠM HÀ NỘI 43


2.1. Giới thiệu 43
2.2. Mơ tả bài tốn tư vấn mơn học tự chọn 44
2.3. Phương pháp giải quyết bài toán 46

CHƯƠNG 3: CÀI ĐẶT VÀ ĐÁNH GIÁ CÁC THUẬT TOÁN
51
3.1. Dữ liệu thử nghiệm và phương pháp đánh giá 51
3.1.1. Mô tả dữ liệu 51
3.1.2. Thiết kế bảng dữ liệu 52
3.2. Kết quả thực nghiệm 55
3.2.1. So sánh giải thuật Bias Matrix Factorization với các thuật khác 55
3.2.2. Khảo sát sự phụ thuộc của thuật toán BMF đối với tham số nhân tố
tiềm ẩn K 58
3.2.3. Dự đốn và tư vấn mơn học tự chọn cho sinh viên 59

KẾT LUẬN 61
TÀI LIỆU THAM KHẢO 63


DANH MỤC HÌNH

HÌNH 1.1. GIẢI THƯỞNG 1 TRIỆU USD CỦANETFLIX
CHO AI ĐƯA RA ĐƯỢC THUẬT TỐN GIÚP TĂNG ĐỘ
CHÍNH XÁC CỦA HỆ THỐNG TƯ VẤN PHIM CỦA HỌ
THÊM 10% 2
HÌNH 1.2. BA HỘI NGHỊ CỦA ACM VỀ HỆ TƯ VẤN ĐƯỢC
TỔ CHỨC CHÂU ÂU VÀ MỸ. 3
HÌNH 1.3. HỆ THỐNG TƯ VẤN SẢN PHẨM CỦA AMAZON
5
HÌNH 1.4. MINH HỌA HỆ TƯ VẤN SÁCH CHO NGƯỜI

ĐỌC 6
HÌNH 1.5. PHƯƠNG PHÁP TƯ VẤN DỰA TRÊN NỘI DUNG
14
HÌNH 1.6. QUY TRÌNH CỦA HỆ THƠNG TƯ VẤN DỰA
TRÊN LỌC CỘNG TÁC 21
HÌNH 1.7. VÍ DỤ MINH HỌA LỌC CỘNG TÁC DỰA TRÊN
NGƯỜI DÙNG 23
HÌNH 1.8. VÍ DỤ MINH HỌA LỌC CỘNG TÁC DỰA TRÊN
TẬP MỤC 31
HÌNH 1.9. MƠ HÌNH PHÂN RÃ MA TRẬN X THÀNH HAI
MA TRẬN W VÀ H 35
HÌNH 1.10. XÂY DỰNG MA TRẬN X TỪ HAI MA TRẬN
CONW VÀ H 38


HÌNH 2.1. BÀI TỐN DỰ ĐỐN VÀ GƠI Ý LỰA CHỌN
MƠN HỌC 44
HÌNH 2.2. DỮ LIỆU ĐIỂM VỚI BA MƠN CẦN DỰ ĐỐN
CỦA SINH VIÊN SV5 45
HÌNH 2.3. BẢNG ĐIỂM SAU KHI DỰ ĐỐN VÀ HƯỚNG
GỢI Ý 46
HÌNH 2.4. DỰ ĐỐN NĂNG LỰC (ĐIỂM) CHO SINH VIÊN
3 HỌC MƠN 4 48
HÌNH 3.1: BẢNG DỮ LIỆU HUẤN LUYỆN 53
HÌNH 3.2. BẢNG DỮ LIỆU KIỂM TRA 54
HÌNH 3.3. BẢNG DỮ LIỆU MƠN HỌC 54
HÌNH 3.4. ĐỘ LỖI CỦA PHƯƠNG PHÁP MATRIX
FACTORIZATION 56
HÌNH 3.5. ĐỘ LỖI CỦA PHƯƠNG PHÁP BIASED MATRIX
FACTORIZATION 57

HÌNH 3.6: ĐỘ LỖI CỦA PHƯƠNG PHÁP GLOBAL
AVERAGE 58
HÌNH 3.7: BIỂU ĐỒ ĐỘ LỖI RMSE CỦA BA GIẢI THUẬT
MF, BMF VÀ GA 58
HÌNH 3.8: BIỂU ĐỒ ĐỘ LỖI RMSE CỦA BMF VỚI CÁC
GIÁ TRỊ KHÁC NHAU CỦA NHÂN TỐ TIỀM ẨN K 59
HÌNH 3.9. GIAO DIỆN HUẤN LUYỆN 59
HÌNH 3.10. GIAO DIỆN TƯ VẤN 61


DANH MỤC BẢNG
BẢNG1.1: MINH HỌA ĐÁNH GIÁ CỦA NGƯỜI DÙNG VỀ
MỘT SỐ BỘ PHIM ĐÃ XEM 9
BẢNG 1.2: MA TRẬN BIỂU DIỄN XẾP HẠNG NGƯỜI
DÙNG U TRÊN TẬP MỤC I 24
BẢNG 1.3: MA TRÂN XẾP HẠNG (TRÊN THANG ĐIỂM 5
SAO) 27


MỞ ĐẦU
1. Lý do chọn đề tài
Trong thời đại bùng nổ thông tin, khi người dùng thường bị ngập
trong khối lượng thơng tin khổng lồ thì hệ tư vấn ngày càng có vai trị quan
trọng. Hệ tư vấn (Recommender System - RS) đã và đang trở thành một
trong những lĩnh vực nghiên cứu quan trọng trong hai thập kỷ qua [6], kể từ
khi xuất hiện bài báo đầu tiên về chủ đề này vào giữa thập niên 1990 [9].
Hiện nay hệ tư vấn được ứng dụng trong nhiều lĩnh vực khác nhau trong
cuộc sống như kinh doanh, giải trí, y tế, giáo dục…Trong những năm gần
đây, hệ tư vấn đã được nhiều nhà nghiên cứu quan tâm ứng dụng vào lĩnh
vực giáo dục [11]. Ví dụ như hệ tư vấn dự đoán kết quả học tập của sinh

viên, hệ tư vấn lựa chọn môn học, hệ tư vấn học tập trong giáo dục điện tử,
hệ tư vấn cho trang web học toán online,… Đặc biệt hiện nay các trường đại
học, cao đẳng bắt đầu áp dụng hình thức đào tạo tín chỉ cho sinh viên chính
quy để thay thế cho hình thức đào tạo liên chế trước đó. Với hình thức đào
tạo tín chỉ, mỗi sinh viên có thể tự lập kế hoạch học tập sao cho phù hợp với
khả năng và thời gian của riêng mình. Tuy nhiên, vì khơng có kinh nghiệm
nên nhiều khi sinh viên lựa chọn một số môn học không phù hợp với năng
lực của mình là một trong những nguyên nhân khiến số lượng sinh viên bị
cảnh cáo và buộc thơi học có chiều hướng gia tăng. Do đó cần có một hệ tư
vấn có thể hỗ trợ cho sinh viên dự đốn điểm, dựa vào điểm dự đoán để đưa
ra những lời khuyên phù hợp cho từng sinh viên. Những lời khuyên, gợi ý
này rất đáng tin cậy vì nó dựa trên kết quả học tập của các sinh viên khóa
trước để dự đốn điểm cho sinh viên khóa sau, từ đó đưa ra lời khuyên, gợi ý
phù hợp với năng lực của mỗi sinh viên.
Vì những lí do trên, tơi lựa chọn đề tài “Xây dựng hệ tư vấn môn học
cho sinh viên hệ đào tạo tín chỉ Trường Đại học Sư phạm Hà Nội” dựa trên
phương pháp Bias Matrix Factorization để dự đoán kết quả học tập của sinh
1


viên, từ đó đưa ra những gợi ý lựa chọn môn học tự chọn để hỗ trợ cho các
em trong quá trình học tập.
2.

Lịch sử nghiên cứu

Hệ tư vấn đã trở thành một trong những lĩnh vực nghiên cứu quan trọng
kể từ khi bài báo đầu tiên về lọc cộng tác (Collaborative Filtering - CF) xuất
hiện vào giữa những năm 1990.
Hơn nữa, trong những năm gần đây nhiều công ty truyền thông đang

triển khai và phát triển hệ thống tư vấn như một phần dịch vụ quan trọng mà
họ cần phải cung cấp. Ví dụ như trang Netflix.com là một trang web xem
phim trực tuyến nổi tiếng đã cung cấp giải thưởng 1 triệu đô la cho những
người đưa ra thuật toán đầu tiên đánh bại được 10% thuật toán tư vấn của họ.
Và giải thưởng đó đã được một nhóm nghiên cứu có tên là “Bellkor’s
Pragmatic Chaos” giành được năm 2009.

Hình 1.1. Giải thưởng 1 triệu USD củaNetflix cho ai đưa ra được thuật
tốn giúp tăng độ chính xác của hệ thống tư vấn phim của họ thêm 10%
Có nhiều hội nghị và hội thảo dành riêng cho lĩnh vực này. Hội nghị
đặc biệt được nhiều người quan tâm là ACM Recommender Systems (viết tắt
là RecSys) được thành lập năm 2007 là sự kiện uy tín tổ chức hàng năm để
nghiên cứu về công nghệ tư vấn và ứng dụng. Ngồi ra, hệ thống tư vấn cịn
2


được thảo luận trong các hội nghị truyền thống về lĩnh vực cơ sở dữ liệu, hệ
thống thông tin và hệ thống thích nghi. Trong số những hội nghị đó, cần nhắc
đến một số hội nghị lớn như: ACM SIGIR Special Interest Group on
Information

Retrieval

(SIGIR),

User

Modeling,

Adaptation


and

Personalization (UMAP), and ACM’s Special Interest Group on Management
Of Data (SIGMOD).

Hình 1.2. Ba hội nghị của ACM về hệ tư vấn được tổ chức châu Âu và Mỹ.
Tại các trường đại học và sau đại học trên thế giới đã có những khóa
học dành riêng cho việc nghiên cứu hệ tư vấn, hướng dẫn hệ tư vấn cũng
được phổ biến trong các hội nghị khoa học máy tính.
3. Mục đích nghiên cứu của luận văn, đối tượng, phạm vi nghiên cứu
3.1. Mục đích nghiên cứu
Tìm hiểu hệ tư vấn và các phương pháp tiếp cận hệ tư vấn.
Nghiên cứu phương pháp xây dựng hệ tư vấn có dữ liệu lớn.
Ứng dụng xây dựng hệ tư vấn môn học cho sinh viên hệ đào tạo tín chỉ
Trường Đại học Sư phạm Hà Nội.

3


3.2. Đối tượng nghiên cứu
Các phương pháp xây dựng hệ thư vấn .
Phương pháp xây dựng hệ tư vấn dựa trên phân rã ma trận thiên vị
(Bias Matrix Factorizations - MBF).
Các công cụ xây dựng hệ tư vấn: MovieLens, Mymedialite, ngơn ngữ
lập trình C#.
4. Tóm tắt
Luận văn trình bày tổng quan về hệ tư vấn, bao gồm khái niệm hệ tư
vấn, nhiệm vụ của hệ tư vấn, các chức năng của hệ tư vấn, một số ứng dụng
của hệ tư vấn trong thực tế và các phương pháp tiếp cận hệ tư vấn.

Để xây dựng hệ tư vấn môn học cho sinh viên hệ đào tạo tín chỉ trường
Đại học Sư phạm Hà Nội, bước đầu luận văn mô tả bài tốn tư vấn lựa chọn
mơn học, tiếp theo mơ tả thuật toán giải quyết bài toán xây dựng hệ tư vấn
mơn học cho sinh viện hệ đào tạo tín chỉ Trường đại học Sư phạm Hà Nội.
Cuối cùng luận văn trình bày phần cài đặt hệ tư vấn, giới thiệu một số giao
diện chính của hệ tư vấn và đưa ra đánh giá hiệu quả của hệ tư vấn môn học.
5. Phương pháp nghiên cứu
Nghiên cứu lý thuyết
Nghiên cứu bài tốn ứng dụng xây dựng hệ tư vấn mơn học cho sinh
viên hệ đào tạo tín chỉ.
Cài đặt và kiểm thử ứng dụng.
Tham khảo ý kiến đánh giá

Chương 1: Tổng quan về hệ tư vấn (Recommender System)
1.1. Giới thiệu hệ tư vấn
Khó khăn lớn với người sử dụng Internet và các dịch vụ thương mại
điện tử là ln có quá nhiều phương án để lựa chọn. Để tiếp cận được thơng
tin hữu ích người dùng thường phải xử lý, loại bỏ phần lớn thông tin không

4


cần thiết. Hệ tư vấn lựa sẽ giải quyết vấn đề này bằng cách dự đoán và cung
cấp cho người dùng một danh sách ngắn các sản phẩm, bản tin, phim, video,
v.v… mà nhiều khả năng người dùng sẽ quan tâm. Ví dụ, trong hệ thống bán
hàng trực tuyến chẳng hạn như Amazon, nhằm tối ưu hóa khả năng mua sắm
của khách hàng (user), 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 (item) nào bằng cách dựa vào hành vi quá khứ
của họ (hành vi này có thể là xếp hạng mà người dùng đã bình chọn trên sản
phẩm, thời gian duyệt (browse) trên sản phẩm, số lần click chuột,…) từ đó hệ

thống sẽ đốn được người dùng có thể thích sản phẩm nào và đưa ra những
sản phẩm tư vấn phù hợp cho họ. Hình 1.3 dưới đây minh họa cho hệ thống
gợi ý bán hàng của Amazon.

Hình 1.3. Hệ thống tư vấn sản phẩm của Amazon

Trong hình 1.3 dựa vào hành vi quá khứ của người dùng như xếp hạng,
bình chọn, kích chuột vào sản phẩm dầu oliu từ đó hệ thống đoán được người
dùng này đang quan tâm đến dầu oliu và đưa ra các sản phẩm dầu oliu để tư
vấn cho họ.

5


Một ví dụ khác minh họa hoạt động của 1 hệ 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 1 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ự đoá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, 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 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.4. Minh họa hệ tư vấn sách cho người đọc
1.1.1. Hệ tư vấn là gì?
Hệ tư vấn (Recommender System - RS) là một dạng của hệ thống lọc

thơng tin (Information Filtering), nó được sử dụng để dự đốn sở thích
(preference) hay xếp hạng (rating) mà người dùng (user) có thể dành cho một
mục thơng tin (item) nào đó mà họ chưa xem xét tới trong quá khứ (item có
6


thể là bài báo, bộ phim, đoạn video clip, sách,..) [14] nhằm gợi ý các mục
thơng tin “có thể được quan tâm” bởi người dùng.
Hệ thống tư vấn sẽ đưa ra các gợi ý dựa trên quá trình thu thập, xử lý
và phân tích dữ liệu từ người dùng. Dữ liệu đó được chia làm 2 loại là tường
minh (explicit) bằng cách yêu cầu người dùng phản hồi trực tiếp và tiềm ẩn
(implicit) bằng cách tự động suy luận dựa trên những tương tác của người
dùng với hệ thống như: số lần nhấp chuột, thời gian quan sát... Trong hầu hết
các trường hợp, bài toán gợi ý được coi là bài toán dự đoán việc xếp hạng
(rating) của các sản phẩm (phim, sản phẩm tiêu dùng, sách, nhạc…) chưa
được người dùng biết đến. Việc dự đoán này thường dựa trên những đánh giá
đã có của chính người dùng đó hoặc những người dùng khác. Ví dụ, những
bài báo được dự đốn là sẽ có xếp hạng cao nhất sẽ được dùng để gợi ý. Có
khá nhiều ứng dụng nổi tiếng về hệ thống tư vấn như: tư vấn sản phẩm của
Amazon và Ebay, hệ thống tư vấn phim của NetFlix và Youtube,…
1.1.2. Bài toán hệ tư vấn
Theo [11], 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 xếp hạng (rating) của các sản phẩm (phim, cd, nhà hàng …)
chưa được người dùng đánh giá xép hạng. Việc ước lượng này thường dựa
trên những đánh giá đã có của chính người dùng đó hoặc những người dùng
khác. Những sản phẩm có hạng cao nhất sẽ được dùng để tư vấn.
Bài toán tư vấn được mô tả như sau:
Gọi U là tập tất cả người dùng (users); I là tập tất cả các sản phẩm
(items) có thể tư vấn. Tập I có thể rất lớn, từ hàng trăm ngàn (sách, cd…) đến
hàng triệu (như website). Tập U trong một số trường hợp cũng có thể lên tới

hàng triệu.
Hàm r(u,i) đo độ phù hợp (hay xếp hạng) của người dùng u trên sản
phẩm i :

r :U × I → R

7


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(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ệ tư vấn, độ tương đồng 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 “Điệp viên 007” được 4/5
điểm. Tuy nhiên, nhìn chung độ tương đồng 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 hàm 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 trường mã số 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…v.
Vấn đề chính của hệ tư vấn là hàm 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 dự đoán trong khơng gian U × I . Thơng thường, độ
tương đồng được thể hiện bằng điểm và chỉ xác định trên tập các sản phẩm đã
từng được người dùng đánh giá từ trước (thường khá nhỏ). Ví dụ, bảng 1.1 là
đánh giá của một số người dùng với các phim mà họ đã xem (thang điểm từ

0-10, kí hiệu “ ? ” nghĩa là bộ phim chưa được người dùng cho điểm). 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.

User A

Harry potter Star trek

Xmen

Transformer

5

2

4

?

8


User B

4

5

5


?

User C

1

1

?

3

User D

?

?

3

4

User D

?

?

3


4

Bảng1.1: Minh họa đánh giá của người dùng về một số bộ phim đã xem
Ví dụ: bảng 1.1 biểu diễn ma trận xếp hạng của người dùng với các bộ
phim (5 x 5). Gồm có, 5 người dùng là User A, User B, User C, User D, User E
và xếp hạng cho 4 bộ phim là Harry Potter, Startrek, Xmen, Transformer. Các
giá trị trong ma trận là các giá trị đánh giá hay xếp hạng của người dùng với từng
bộ phim. Các giá trị này được đánh giá theo thang điểm từ 1 đến 5. Giá trị “ ? ”
thể hiện người dùng không đánh giá hay xếp hạng cho bộ phim đó.
Nhiệm vụ của hệ tư vấn là tìm kiếm những người dùng chưa đánh giá
hay xếp hạng cho một bộ phim nào đó và dự đốn xem họ đánh giá cho bộ
phim đó là bao nhiêu điểm. Đối với những mục (bộ phim) có dự đoán điểm số
cao sẽ được hệ thống lựa chọn để đưa ra tư vấn.
1.1.3. Nhiệm vụ hệ tư vấn
Để hiểu rõ hơn công việc của hệ tư vấn ta sẽ xem một số nhiệm vụ phổ
biến sau:
Lấy ý kiến cá nhân. Hệ tư vấn tạo điều kiện cho người dùng đóng góp
đánh giá và bày tỏ ý kiến với các mục. Người dùng có thể bình luận hoặc xếp
hạng sản phẩm tùy theo từng hệ thống tư vấn.
Tìm kiếm tư vấn tin cậy. Có một số người sử dụng khơng tin cậy hệ
thống tư vấn, vì vậy để đưa ra tư vấn tốt nhất cho họ cần kiểm tra hành vi tìm
kiếm của họ thật đầy đủ, chính xác và dựa trên những thơng tin thật sự có ích
cho việc đưa ra tư vấn.
Tư vấn một danh sách các mục tốt nhất. Hệ tư vấn có thể đề xuất một
danh sách một số mục tốt nhất cho người dùng. Mục tốt nhất dựa trên đánh giá
của người dùng, có thể là những mục được nhiều người dùng yêu thích nhất.
9



Tư vấn tất cả các mục tốt. Thay vì hệ tư vấn đề xuất một danh sách các
mục tốt nhất thì nó sẽ cung cấp cho người dùng một danh sách tất cả các mục
tốt để người dùng lựa chọn.
1.1.4. Các chức năng của hệ tư vấn
Hệ tư vấn là công cụ phần mềm với các đề xuất cho người dùng những
sản phầm, dịch vụ mà họ có thể muốn sử dụng. Dưới đây là một số chức năng
của hệ tư vấn:
Tăng số lượng các mặt hàng bán ra cho các hệ thống thương mại
điện tử. Là chức năng quan trọng nhất của hệ tư vấn. Thay vì người dùng chỉ
mua một sản phẩm mà họ cần, họ được gợi ý mua những sản phẩm “có thể họ
cũng quan tâm” mà bản thân họ không nhận ra. Hệ tư vấn tìm ra những “mối
quan tâm ẩn”. Bằng cách đó, hệ thống tư vấn làm gia tăng nhu cầu của người
dùng và gia tăng số lượng mặt hàng bán ra. Tương tự đối với các hệ thống phi
thương mại (như các trang báo), hệ thống tư vấn sẽ giúp người dùng tiếp cận
với nhiều đối tượng hơn.
Bán các mặt hàng đa dạng hơn trên các hệ thống thương mại điện
tử. Là chức năng quan trọng thứ hai của hệ tư vấn, hầu hết các hệ thống
thương mại đều có các mặt hàng hết sức là đa dạng. Khi nắm bắt được nhu
cầu thị hiếu của người dùng, hệ thống tư vấn dễ dàng mang đến sự đa dạng
trong sự lụa chọn hàng hóa.
Tăng sự hài lịng người dùng. Vai trị chủ đạo của hệ tư vấn là hiểu
nhu cầu của người dùng, gợi ý cho họ những thứ họ cần..., chính vì vậy hệ tư
vấn tăng sự hài lịng của người dùng trên hệ thống.
Tăng độ tin cậy, độ trung thực của người dùng. Một hệ tư vấn cho
người dùng những lựa chọn và họ hài lòng về những gợi ý đó thì lịng tin của
họ đối với hệ thống (nơi mà giúp họ tìm ra những thứ họ thực sự quan tâm)
được nâng lên một cách đáng kể. Đây thật sự là một điều thích thú và thu hút
10



người dùng. Có một điểm quan trọng là hệ thống tư vấn hoạt động dựa trên
những xếp hạng thật từ chính bản thân người dùng trong q khứ. Do đó, khi
người dùng càng tin cậy vào hệ thống, đưa ra những đánh giá trung thực cho
các sản phẩm, hệ thống sẽ mang lại cho người dùng nhiều gợi ý chính xác
hơn, phù hợp với nhu cầu, sở thích của họ.
1.1.5. Ứ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, đặc biệt là
trong lĩnh vực giải trí, kinh doanh và giáo dục.
Trong lĩnh vực giải trí. Hệ tư vấn cũng được ứng dụng nhiều trong lĩnh
vực giải trí trên các trang xem phim trực tuyến netflix.com, xem video
youtube.com, kho game và ứng dụng nổi tiếng của google là play.google.com.
Ví dụ hệ tư vấn trên trang youtube.com, người dùng truy cập vào gmail sau
đó tìm kiếm các video, hệ thống sẽ lưu lịch sử tìm kiếm và xem video của
người dùng để đề xuất những video gần với nội dung người dùng đã tìm kiếm.
Trong lĩnh vực kinh doanh. Hệ tư vấn được sử dụng rộng rãi trên các
trang web bán hàng trực tuyến như amazon.com là trang bán sách, đĩa CD
online nổi tiếng thế giới có hệ tư vấn giúp mang lại hiệu quả cho hệ thống. Ở
Việt Nam có trang vatgia.com là trang web cung cấp nhiều mặt hàng khác
nhau cho người dùng, trong hệ thống đề xuất một số mục mặt hàng được
nhiều người tìm kiếm hoặc những mục được yêu thích nhất hoặc những mục
hot nhất hiện nay.
Trong lĩnh vực giáo dục.Ví dụ như hệ tư vấn dự đoán kết quả học tập
của sinh viên, hệ tư vấn lựa chọn môn học, hệ tư vấn học tập trong giáo dục
điện tử, hệ tư vấn cho trang web học toán online, các trang web học trực
tuyến hay các trang cung cấp tài liệu như slideshare.net, tailieu.vn cũng đưa
hệ tư vấn vào hệ thống hỗ trợ người dùng tìm kiếm tài liệu, bài học liên quan.
Khi người dùng tìm kiếm một tài liệu bất kì, hệ thống sẽ cung cấp một danh
sách những tài liệu có nội dung gần với nội dung người dùng tìm kiếm để họ
có thể tham khảo thêm.
11



1.2. Các phương pháp tiếp cận hệ tư vấn
Hiện nay, trong hệ tư vấn có rất nhiều phương pháp tiếp cận được đề
xuất, theo [10], [11], [15] có ba phương pháp tiếp cận sau:
 Phương pháp tư vấn dựa trên nội dung (Content-based
Filtering): Gợi ý các item dựa vào hồ sơ (profiles) của người dùng hoặc dựa
vào nội dung (attributes) của những item tương tự như item mà người dùng đã
chọn trong quá khứ.
 Phương pháp lọc cộng tác (Collaborative Filtering): trong
phương pháp này, các giải thuật chủ yếu dựa trên các kỹ thuật:
 Phương pháp láng giềng (Neighborhood-based, còn gọi là
Memory-based), trong đó hoặc là dựa trên dữ liệu quá khứ của người dùng
“tương tự - similarity” (user-based approach), hoặc là dựa trên dữ liệu quá
khứ của những item “tương tự” (item-based approach).
 Dựa trên mơ hình (Model-based): Nhóm này liên quan đến việc xây
dựng các mơ hình dự đoán dựa trên dữ liệu thu thập được trong quá khứ. Như
mơ hình Bayesian, các mơ hình nhân tố tiềm ẩn (latent factor models): trong đó kỹ
thuật phân rã ma trận (Matrix Factorization) là một điển hình.

Phương pháp lai (Hybrid): 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.
Ngoài ba phương pháp tiếp cận phổ biến trên cịn có nhiều phương pháp
tiếp cận khác nhau để xây dựng hệ tư vấn cho mỗi nhóm người dùng. Ví dụ
phương pháp tiếp cận dựa trên tri thức (Knowledge-based), phương pháp tiếp
cận Demographic hay phương pháp tư vấn dựa trên kết nối (Community-based).
1.2.1. Phương pháp dựa trên nội dung( content - Based)

Bài toán tư vấn dựa trên nội dung
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 sản phẩm I. Do hệ thống dựa trên nội dung được thiết kế chủ yếu để dành
cho các sản phẩm là text, nên nội dung sản phẩm thường được biểu diễn bởi
các từ khóa (keyword. Tập các đặc trưng sản phẩm I được xây dựng bằng

12


các kỹ thuật truy vấn thông tin để thực hiện mục đích dự đố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 được kí hiệu là ContentBasedProfỉle(u) - hồ sơ người dùng u, bao gồm
các thơng tin về sở thích của 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á (cho điểm) 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 tốn tư vấn dựa trên nội dung khi đó là dự đố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 ContendBasedProflle(u).

Ý tưởng
Phương pháp tư vấn dựa trên 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. Phương pháp tiếp cận tư vân dựa trên
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ệ tư vấn 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ệ tư vấn 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.
Theo [11], 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

13


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

Hình 1.5. Phương pháp tư vấn dựa trên nội dung

Trong hình 1.5 nguồn dữ liệu có rất nhiều thứ như sách, đĩa CD,
báo,...Câu hỏi đặt ra là làm thế nào lựa chọn một số mục trong nguồn dữ liệu
lớn như thế để tư vấn cho người dùng. Phương pháp tư vấn dựa trên nội dung
sẽ làm được điều đó. Nó dựa trên nội dung những mục mà người dùng đã
quan tâm trước đó để tìm ra chủ đề, thể loại mà người dùng u thích. Từ đó
giới thiệu tới người dùng những mục có cùng nội dung với những mục mà
người dùng đó thích.
Thơng qua hồ sơ người dùng, hệ thống biết được người dùng thường có
sở thích đọc sách báo vì vậy sẽ giới thiệu cho người dùng những cuốn sách và
bài báo có nội dung mà họ có thể quan tâm.




Các bước thực hiện:
Bước 1: Xử lý dữ liệu
14


Đưa về chữ thường.
Loại bỏ từ dừng (stop word).
Loại bỏ kí tự đặc biệt.
Loại bỏ chữ số.


Bước 2: Tính tần suất xuất hiện của mục từ trong tài liệu (Term

Frequency -TF ) 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 - IDF).
Tần số xuất hiện (TFi,j ) từ khóa ki trong tài liệu dj, ta áp dụng công
thức sau:
TFi , j =

(1.1)

fi, j
max z f z , j

Trong đó:

max z f z , j

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 IDFi đượ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 (TFi,j mang lại tầm quan trọng cho từ khóa) được xác định bởi cơng
thức sau:
IDFi = log

(1.2)

N
ni

Trong đó:
N là tổng số lượng tài liệu cần tư vấn cho người sử dụng.
ni là tổng số lượng tài liệu có từ khóa k xuất hiện.


Bước 3: Tính trọng số T-IDF của từ khóa ki xuất hiện trong tài

liệu dj
wi , j = TFi , j × IDFi

(1.3)

Trong đó: Wi,j là trong số
15




Bước 4: Tính độ tương đồng của chúng bằng độ đo cosin
Trong hệ tư vấn dựa trên nội dung, sự phù hợp r(u,i) [11] được xác định
bởi công thức:
r (u , i ) = score(ContentBase Pr ofile(u ), content (i ))
Trong đó:

(1.4)

ContentBasedProfỉle(u) cũng có thể được định nghĩa như một vector
trọng số:
ContentBasedProfỉle(u) = (wu1, …., wuk) biểu thị độ quan trọng của từ
khóa i với người dùng u.
Content(i) = (w1j, …wkj), với w1j,..wkj là trọng số của các từ khóa
từ 1 tới k.
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ơ


w



u


w . Nên có thể đo
i

độ tương đồng của chúng bằng độ đo cosin như sau:


.
 
w
i
r ( u,i)=cos( w , w )=  u w
×
u

i

w

u 2

w

K

=

∑w
j =1

K

∑w

i 2


j =1

j ,u

2
j ,u

w j ,i
K

∑w
j =1

(1.5)

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ơ


w

u

mô tả các thuật ngữ k j với mức độ quan trọng cao w ju. Hơn nữa, hệ thống


tư vấn này còn sử dụng cosine 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á

16


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ơ


w.
i

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 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 cosine 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 )

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 )
x

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 Naï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 Ci và trang pj sẽ được gán cho lớp Ci nếu nó có xác suất lớn nhất.

17


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.
 Ưu điểm và một số hạn chế của phương pháp tư vấn dựa trên
nội dung
 Ưu điểm của phương pháp tư vấn dựa trên nội dung
Để xây dựng thông tin cá nhân cho người dùng, hệ tư vấn chỉ cần khai thác
dữ liệu của người dùng chứ không cần dữ liệu của những người dùng khác.
Khi đưa ra danh sách tư vấn, phương pháp tư vấn dựa trên nội dung có
thể giải thích rõ vì sao lựa chọn mục được tư vấn bằng cách liệt kê các tính
năng, đặc trưng của chúng liên quan đến sở thích người dùng.
Các mục mới chưa có đánh giá của người sử dụng cũng có khả năng

được giới thiệu.

Một số hạn hạn của phương pháp tư vấn dựa trên nội dung
Theo như nhận xét trong [11] 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:
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ùng 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
18


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ó quá 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ó
q 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ó quá 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 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.
19


1.2.2. Phương pháp lọc cộng tác (Collaborative Filtering – CF)
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 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. Chính vì, 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.

Phát biểu bài toán tư vấn lọc cộng tác

Bài toán lọc cộng tác được phát biểu như sau:
Cho tập hợp U gồm n người dùng U = {u 1, u2,…,un}, và là tập I gồm m
sản phẩm I = {i1, i2,.., im}. Mỗi sản phẩm i ∈ I có thể là bài báo, bản tin,
hàng hóa, phim, ảnh, dịch vụ, v.v… Mối quan hệ giữa tập người dùng U và
tập sản phẩm I được biểu diễn thông qua ma trận đánh giá R = {r u,i }. Mỗi giá
trị ru,i∈ {? , 1, 2, ..,…} là đánh giá của người dùng u ∈ U đối với sản phẩm i
∈ I. Giá trị ru,i có thể được thu thập trực tiếp bằng cách hỏi ý kiến người 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. Chẳng hạn
nếu trong quá khứ người dùng đã từng mua sản phẩm hoặc xem trang web thì
đánh giá của người dùng với sản phẩm đó sẽ có giá trị là 1. Giá trị r u,i = “ ? ”
trong trường hợp người dùng u chưa đánh giá hoặc chưa bao giờ biết đến sản
phẩm i. Nhiệm vụ của lọc cộng tác là dự đoán đánh giá của người dùng hiện
thời ua ∈ U đối với những mặt hàng mới i j ∈ I, trên cơ sở đó tư vấn cho
người dùng ua những sảnphẩm được đánh giá cao [18].

20


×