ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
ĐỖ THỊ THANH HÀ
PHƯƠNG PHÁP LỌC CỘNG TÁC VÀ ỨNG DỤNG
TRONG HỆ THỐNG GỢI Ý BÁN HÀNG TRỰC TUYẾN
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
THÁI NGUYÊN - 2020
i
i
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi dưới sự hướng
dẫn trực tiếp của PGS.TS. Đoàn Văn Ban.
Mọi trích dẫn sử dụng trong báo cáo này đều được ghi rõ nguồn tài liệu
tham khảo theo đúng qui định
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin
chịu hoàn toàn trách nhiệm.
Học viên
Đỗ Thị Thanh Hà
ii
LỜI CẢM ƠN
Trước hết, tôi xin được tỏ lòng biết ơn và gửi lời cám ơn chân thành đến
thầy PGS.TS Đoàn Văn Ban, người trực tiếp hướng dẫn luận văn, đã tận tình
chỉ bảo và hướng dẫn tôi tìm ra hướng nghiên cứu, tiếp cận thực tế, tìm kiếm
tài liệu, xử lý và phân tích số liệu,… nhờ đó tôi mới có thể hoàn thành luận văn
cao học của mình.
Tôi xin chân thành cảm ơn quý thầy cô Khoa Công nghệ thông tin - trường
Đại học Công nghệ Thông tin và Truyền thông, Đại học Thái Nguyên đã truyền
đạt cho tôi những kiến thức bổ ích trong suốt hai năm học vừa qua.
Xin chân thành cảm ơn các anh chị em lớp cao học Khoa học máy tính
khoá 17 và các bạn đồng nghiệp luôn động viên, hỗ trợ tôi trong quá trình học
tập và nghiên cứu và thực hiện đề tài.
Cuối cùng, tôi xin gửi đến cha mẹ và những người thân trong gia đình đã
hỗ trợ, tạo điều kiện thuận lợi cho tôi trong suốt thời gian qua và đặc biệt trong
thời gian tôi theo học khóa thạc sỹ tại trường Đại học Công nghệ Thông tin và
Truyền thông, Đại học Thái Nguyên.
Xin chân thành cảm ơn!
Người thực hiện
Đỗ Thị Thanh Hà
iii
MỤC LỤC
LỜI CAM ĐOAN ........................................................................................................................ i
LỜI CẢM ƠN ............................................................................................................................. ii
MỤC LỤC .................................................................................................................................. iii
DANH MỤC CÁC BẢNG ........................................................................................................ iv
DANH MỤC HÌNH VẼ...............................................................................................................v
MỘT SỐ THUẬT NGỮ .......................................................................................................... viii
MỞ ĐẦU .....................................................................................................................................1
CHƯƠNG 1. HỆ THỐNG TƯ VẤN VÀ CÁC PHƯƠNG PHÁP LỌC THÔNG TIN ......5
1.1. Hệ tư vấn ...............................................................................................................................5
1.1.1. Giới thiệu hệ thống tư vấn .................................................................................................5
1.1.2. Bài toán tư vấn người dùng ...............................................................................................7
1.1.3. Qui trình xây dựng hệ tư vấn .............................................................................................9
1.2. Các phương pháp lọc tin .....................................................................................................10
1.2.1. Phân loại hệ thống tư vấn ................................................................................................10
1.2.2. Phương pháp tư vấn dựa trên nội dung ...........................................................................11
1.2.3. Phương pháp tư vấn dựa trên lọc cộng tác ......................................................................17
1.2.4. Tư vấn dựa trên cách tiếp cận kết hợp .............................................................................23
1.3. Kiến trúc tổng quát của hệ thống lọc thông tin ..................................................................25
1.4. Ứng dụng của phương pháp lọc tin trong hệ thống tư vấn ................................................26
1.5. Kết luận chương 1 ...............................................................................................................28
CHƯƠNG 2.PHƯƠNG PHÁP THUẬT LỌC CỘNG TÁC DỰA TRÊN SẢN PHẨM ..29
2.1. Các phương pháp lọc cộng tác ............................................................................................29
2.1.1. Giới thiệu về các phương pháp lọc cộng tác ...................................................................29
2.1.2. Ưu và nhược điểm của phương pháp lọc cộng tác ..........................................................30
2.2. Lọc cộng tác dựa trên sản phẩm .........................................................................................32
2.3. Các thuật toán tính độ tương tự ..........................................................................................34
iv
2.4. Tính toán dự đoán và tư vấn ...............................................................................................37
2.4.1. Dự đoán dựa trên trung bình đánh giá sản phẩm lân cận ................................................37
2.4.2. Dự đoán dựa trên tổng trọng số (Weighted Sum) ...........................................................38
2.4.3. 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 ................................38
2.4.4. 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 .................................39
2.5. Đánh giá các yếu tố ảnh hưởng đến độ chính xác kết quả tư vấn ......................................40
2.5.1. Đánh giá độ tin cậy của thuật toán ..................................................................................40
2.5.2. Các yếu tố ảnh hưởng đến độ chính xác tư vấn ..............................................................42
2.6. Kết luận chương 2 ...............................................................................................................44
CHƯƠNG 3. ỨNG DỤNG PHƯƠNG PHÁP LỌC CỘNG TÁC DỰA TRÊN SẢN PHẨM
TRONG HỆ THỐNG GỢI Ý BÁN HÀNG TRỰC TUYẾN .................................................45
3.1. Xây dựng hệ thống gợi ý cho website bán hàng trực tuyến ...............................................45
3.1.1. Đặc tả hệ thống ................................................................................................................45
3.1.2. Môi trường phát triển .......................................................................................................46
3.1.3. Thiết kế bảng dữ liệu .......................................................................................................46
3.2. Ví dụ về lọc cộng tác dựa trên sản phẩm ............................................................................49
3.3. Thuật toán xử lý chính trong hệ thống ...............................................................................53
3.3.1. Thuật toán khách hàng đánh giá sản phẩm......................................................................53
3.3.2. Thuật toán khách hàng chấm điểm sản phẩm .................................................................54
3.3.3. Thuật toán gợi ý sản phẩm cho khách hàng ....................................................................55
3.4. Các giao diện chính của hệ thống .......................................................................................56
3.5. Kết luận chương 3 ...............................................................................................................60
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .............................................................................61
TÀI LIỆU THAM KHẢO .......................................................................................................62
v
iv
DANH MỤC BẢNG BIỂU
Bảng 1: Bảng đánh giá người dùng với các sản phẩm ..............................................33
Bảng 2: Dữ liệu đánh giá các sản phẩm ....................................................................49
Bảng 3: Ma trận utility matrix ...................................................................................50
Bảng 4: Giá trị trung bình đánh giá của các item......................................................50
̂………………………………………………………51
Bảng 5: Ma trận chuẩn hóa Y
Bảng 6: Độ tương tự giữa các item S ........................................................................51
Bảng 7: Ma trận sau khi được dự đoán ŷ ..................................................................52
Bảng 8: Ma trận dự đoán thang điểm 5 .....................................................................53
v
vi
DANH MỤC HÌNH VẼ
Hình 1.1: Một số lĩnh vực ứng dụng của hệ thống gợi ý ............................................6
Hình 1.2. Ví dụ ma trận đánh giá tổng quát ................................................................8
Hình 1.3: Phân loại hướng tiếp cận xây dựng hệ thống gợi ý...................................11
Hình 1.4. Minh họa phương pháp tư vấn dựa trên lọc nội dung ...............................12
Hình 1.5: Minh họa phương pháp tư vấn dựa trên lọc cộng tác ...............................18
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 ................................19
Hình 1.7: Kiến trúc tổng quát của hệ thống lọc thông tin .........................................25
Hình 1.8: Hệ thống gợi ý sản phẩm của Amazon .....................................................28
Hình 2.1: Tách các sản phẩm cùng được đánh giá và tính toán độ tương tự ............34
Hình 2.2: Giải thuật lọc cộng tác dựa trên sản phẩm, tính dự đoán ..........................37
Hình 2.3: Mô hình hệ thống lọc cộng tác dựa trên sản phẩm ...................................40
Hình 3.1: Giải thuật khách hàng đánh giá sản phẩm ................................................54
Hình 3.2: Khách hàng chấm điểm sản phẩm ............................................................55
Hình 3.3: Giải thuật xử lý gợi ý sản phẩm ................................................................56
Hình 3.4: Giao diện trang chủ ...................................................................................58
Hình 3.5: Giao diện trang danh sách sản phẩm.........................................................58
Hình 3.6: Giao diện gợi ý sản phẩm cho sản phẩm chưa có đánh giá ......................59
Hình 3.7: Giao diện gợi ý sản phẩm cho sản phẩm đã có đánh giá ..........................59
Hình 3.8: Giao diện gợi ý sản phẩm cho một thành viên cụ thể ...............................59
vivii
MỘT SỐ THUẬT NGỮ
STT Tiếng Anh
1
User
Tiếng Việt
Người dùng,
người sử dụng
Giải thích
Chỉ những người dùng hệ thống để tìm
kiếm lựa chọn sản phẩm
Chỉ những sản phẩm trên hệ thống như:
2
Item
Sản phẩm, mục sản phẩm, phim, ảnh, bản nhạc, trang
web, đoạn văn bản, …
Chỉ mức độ thích của một người dùng với
sản phẩm. Rating có thể có nhiều biểu
3
Rating
Đánh giá
hiện: như đánh giá thích hoặc không
thích, hay đánh già theo mức độ từ 1-5
đại diện từ không thích đến rất thích.
CF có tên là Neighborhood-based
Collaborative Filtering (NBCF). Khi chỉ
4
CF
Lọc cộng tác
nói CF, chúng ta sẽ ngầm hiểu rằng
phương
pháp
được
Neighborhood-based.
sử
dụng
là
MỞ ĐẦU
Lí do chọn đề tài
Sự phát triển mạnh mẽ của thương mại điện tử (E-Commerce) là một trong
những tác nhân chính đem lại nhiều lợi ích to lớn cho nền kinh tế toàn cầu. Nhờ
có thương mại điện tử, rất nhiều loại hình kinh doanh mới được hình thành,
trong đó có mua bán hàng trực tuyến. Với hình thức mới này, người tiêu dùng
có thể tiếp cận với hàng hóa một cách dễ dàng và nhanh chóng hơn rất nhiều
so với phương thức mua bán truyền thống.
Hiện nay, với phương châm phục vụ khách hàng một cách tốt nhất, các hệ
thống bán hàng trực tuyến luôn tạo nhiều điều kiện thuận lợi để người mua
hàng có thể tiếp cận nhiều mặt hàng cùng lúc. Tuy nhiên, việc trình bày và trang
trí quá nhiều các mặt hàng trên một website sẽ gây ra không ít khó khăn cho
người mua. Họ khó có thể chọn ra cho mình một sản phẩm ưng ý nhất.
Trong kinh doanh, để khách hàng có thể đến và mua được một sản phẩm
ưng ý thì một lời tư vấn, một sự trợ giúp là rất quan trọng. Với phương thức
bán hàng truyền thống những lời tư vấn như thế từ một người bán hàng sẽ tạo
ra một lợi thế rất lớn cho cửa hàng. Do đó, để phương thức bán hàng qua mạng
phát triển thực sự hiệu quả thì bên cạnh các lợi thế vốn có của mình, việc có
thêm một “người trợ giúp” là hết sức cần thiết.
Vì vậy, cần thiết phải sử dụng một hệ thống gợi ý (Recommender Systems
- RS) đóng vai trò như một người hỗ trợ khách hàng đưa ra các quyết định mua
hàng đúng đắn. Bằng cách xác định mục đích và nhu cầu của khách hàng, hệ
thống có thể đưa ra tập các gợi ý giúp cho người mua dễ dàng chọn lựa sản
phẩm yêu thích hơn. Qua đó hiệu suất của việc mua bán hàng trực tuyến được
tăng cao một cách đáng kể [6].
Hệ thống gợi ý được phát triển theo nhiều cách tiếp cận khác nhau. Một
trong những hướng tiếp cận được tập trung nghiên cứu và được áp dụng khá
2
thành công trong nhiều hệ gợi ý đó là phương pháp lọc cộng tác (Collaborative
filtering). Thực chất, lọc cộng tác là một hình thức tư vấn tự động bằng cách
dựa trên sự tương tự giữa những người dùng hoặc giữa những sản phẩm trong
hệ thống và đưa ra dự đoán sự quan tâm của người dùng tới những sản phẩm,
hoặc đưa ra gợi ý một sản phẩm mới cho người dùng.
Việc xây dựng hệ thống gợi ý cũng là vấn đề được nhiều nhà khoa học
trong nước quan tâm [4, 7]. Trong hệ thống gợi ý, lọc cộng tác là một kỹ thuật
được dùng để đánh giá độ quan tâm của người dùng trên các sản phẩm mới (từ
mức độ tìm hiểu thuật toán [2] cho đến việc cải tiến [5] cũng như áp dụng trong
việc xây dựng website bán hàng trực tuyến [6]). Kỹ thuật này được áp dụng
thành công trong nhiều ứng dụng. Trong các hệ thống lọc cộng tác, sở thích của
người dùng trên các sản phẩm mới được dự đoán dựa trên dữ liệu về sở thích
của người dùng – sản phẩm (hoặc đánh giá của người dùng trên sản phẩm)
trong quá khứ.
Các nghiên cứu trong và ngoài nước đã góp phần rất lớn cho việc xây dựng
những website bán hàng trực tuyến như website mua sắm trực tuyến Amazon
(www.amazon.com) cung cấp cho khách hàng những sản phẩm mà họ có thể
quan tâm, cổng video clip YouTube (www.youtube.com), gợi ý phim của
MovieLens (www.movielens.org) [10].
Tuy nhiên, để phát triển mạnh hơn nữa thuật toán lọc cộng tác trong hệ thống
gợi ý nói chung hay hệ thống gợi ý sản phẩm nói riêng còn rất nhiều câu hỏi cần
lời giải đáp. Cụ thể như: Khi xây dựng hệ thống gợi ý bán hàng trực tuyến, tiếp
cận theo hướng dựa trên bộ nhớ (Memory-based) hay dựa trên mô hình (Modelbased) hiệu quả hơn? Trong hướng tiếp cận theo Memory-based thì nên tư vấn
dựa trên người dùng (User based) hay sản phẩm (Items based)? Nếu tiếp cận theo
hướng Model-based thì nên sử dụng mô hình mạng Nơ ron hay Mạng Bayessian?
… Trong mỗi cách tiếp cận, sử dụng độ đo nào để nắm bắt chính xác việc khách
3
hàng cho rằng sản phẩm tốt? Làm thế nào để dự báo tốt và gợi ý tốt trong đồng
thời, …[1, 10].
Với những lý do trên, tác giả đã chọn đề tài “Phương pháp lọc cộng tác
và ứng dụng trong hệ thống gợi ý bán hàng trực tuyến” làm đề tài nghiên
cứu luận văn tốt nghiệp thạc sĩ chuyên ngành Khoa học máy tính.
Mục tiêu nghiên cứu
Nghiên cứu ứng dụng các phương pháp lọc cộng tác trong bài toán xây
dựng hệ thống tư vấn. Tập trung vào phân tích, so sánh, đánh giá hiệu quả của
phương pháp lọc cộng tác dựa trên người dùng và lọc cộng tác dựa trên sản
phẩm ứng dụng trong bài toán xây dựng hệ thống gợi ý bán hàng trực tuyến.
Đối tượng và phạm vi nghiên cứu
Đối tượng: Phương pháp lọc cộng tác, hệ thống gợi ý bán hàng trực tuyến
Phạm vi nghiên cứu: Khảo sát và đánh giá thuật hiệu quả của thuật toán
lọc cộng tác dựa trên người dùng và thuật toán lọc cộng tác dựa trên sản phẩm
đối với hệ thống gợi ý bán hàng trực tuyến. Quá trình đánh giá được thực hiện
trên một số bộ mẫu dữ liệu chuẩn có sẵn trong [15].
Phương pháp nghiên cứu
- Đọc tài liệu, phân tích, tổng hợp.
- Thu thập dữ liệu, thống kê, phân tích dữ liệu.
- Mô phỏng và đánh giá kết quả.
- Kết hợp nghiên cứu lý thuyết, tìm hiểu tình hình ứng dụng, đánh giá khả
năng ứng dụng và đề xuất giải pháp.
Ý nghĩa khoa học và thực tiễn của đề tài
Nghiên cứu các phương pháp lọc cộng tác. Chứng minh khả năng ứng
dụng của lọc cộng tác cho bài toán xây dựng hệ thống gợi ý sản phẩm trong
bán hàng trực tuyến. Khuyến nghị phương pháp tiếp cận hiệu quả nhất trong
các phương pháp lọc cộng tác.
4
Đề tài nghiên cứu các bước trong quá trình tư vấn, các giải pháp khắc
phục các yếu tố ảnh hưởng đến chất lượng, nhằm cải thiện kết quả tư vấn sản
phẩm phù hợp với yêu cầu thực tế của người dùng.
Với mục tiêu trên, luận văn được trình bày trong ba chương
Chương 1: Hệ thống tư vấn và phương pháp lọc thông tin
Chương này giới thiệu bài toán tư vấn và hệ thống gợi ý, phân tích các
ứng dụng của hệ thống gợi ý trong thực tế. Các phương pháp lọc tin và ứng
dụng trong hệ thống gợi ý.
Chương 2: Phương pháp thuật lọc cộng tác dựa trên sản phẩm
Chương này trình bày phương pháp lọc cộng dựa vào người dùng, lọc
cộng tác dựa trên sản phẩm, phương pháp lọc cộng tác dựa trên mô hình và khả
năng ứng dụng trong bài toán xây dựng hệ thống gợi ý
Chương 3: Ứng dụng phương pháp lọc cộng tác dựa trên sản phẩm trong hệ
thống gợi ý bán hàng trực tuyến.
Chương này cài đặt thử nghiệm phương pháp lọc cộng tác trên sản phẩm
cho website bán hàng thời trang
5
CHƯƠNG 1. HỆ THỐNG TƯ VẤN
VÀ CÁC PHƯƠNG PHÁP LỌC THÔNG TIN
1.1. Hệ tư vấn
1.1.1. Giới thiệu hệ thống tư vấn
Hệ thống tư vấn (Recommender Systems – RS) [8] phân tích thông tin về
sở thích của người dùng (user) về các sản phẩm (item) để cung cấp các khuyến
nghị đối với các item phù hợp nhất với mong muốn và sở thích của người dùng.
Trên thực tế, hệ thống gợi ý cố gắng thu thập những sở thích của người dùng
và mô hình hóa sự tương tác giữa người dùng và sản phẩm.
Hệ thống gợi ý sử dụng các thông tin về sản phẩm và các tri thức của
chuyên gia hay tri thức khai phá dữ liệu được học từ hành vi của người dùng
để đưa ra những gợi ý về sản phẩm mà họ thích trong hàng ngàn hàng vạn sản
phẩm có trong hệ thống. Các website thương mại điện tử ví dụ như: sách, phim,
nhạc, báo,... sử dụng hệ thống gợi ý để cung cấp các thông tin giúp cho người
dùng quyết định sẽ lựa chọn sản phẩm nào. Các sản phẩm được gợi ý dựa trên
số lượng sản phẩm đó đã được bán, dựa trên các thông tin cá nhân của người
dùng, dựa trên sự phân tích hành vi mua hàng trước đó của người dùng để đưa
ra các dự đoán về hành vi mua hàng trong tương lai của chính khách hàng đó.
Các dạng gợi ý bao gồm: gợi ý các sản phẩm tới người tiêu dùng, các thông tin
sản phẩm mang tính cá nhân hóa, tổng kết các ý kiến cộng đồng, và cung cấp
các chia sẻ, các phê bình, đánh giá mang tính cộng đồng liên quan tới yêu cầu,
mục đích của người dùng đó [10, 13, 16].
Rất nhiều hệ thống lớn thu thập thông tin phản hồi từ khách hàng một cách
tường minh, như Ebay, Amazon, LastFM, NetFlix, Youtube,... ở đó người dùng
sẽ trực tiếp đánh giá trên sản phẩm, như bình chọn từ ★ (không thích) đến ★
6
★★★ (rất thích); hay Youtube thu thập thông tin qua like/disklike, và các hệ
thống khác [10, 13, 16]. Thông qua việc thu thập phản hồi tường minh, hệ thống
dễ dàng xác định mức độ yêu thích của người dùng trên sản phẩm, từ đó dự
đoán các sản phẩm tiếp theo mà người dùng có thể thích để gợi ý cho họ. Tuy
nhiên, điều này có thể gây bất lợi do không phải người dùng lúc nào cũng sẵn
sàng/vui lòng để lại các phản hồi của họ, vì vậy hệ thống phải nên tự xác định
người dùng cần gì thông qua phản hồi tiềm ẩn. Một số ứng dụng hệ tư vấn nổi
tiếng trên thế giới được giới thiệu trong Hình 1.1 [14].
Hình 1.1: Một số lĩnh vực ứng dụng của hệ thống gợi ý
Trong kỹ thuật lọc cộng tác CF (Collaborative Filtering), việc đưa ra
những khuyến nghị về các sản phẩm đối với người dùng được xác định dựa trên
những quan điểm của những người dùng có cùng sở thích với người dùng đó.
Hệ thống lọc cộng tác biểu diễn người dùng dựa trên những đánh giá của họ
7
đối với tập các sản phẩm. Hệ thống sẽ lựa chọn những người dùng cùng sở
thích tùy thuộc vào độ đo tương tự hoặc tương quan. Sau đó, đưa ra những dự
đoán đối với những sản phẩm chưa từng được người dùng đánh giá hoặc quan
tâm. Cuối cùng hệ thống sẽ gợi ý những sản phẩm nào với mức độ dự đoán cao
nhất cho người dùng mục tiêu. Kỹ thuật CF đã được khẳng định sự thành công
bởi rất nhiều nghiên cứu và thực nghiệm trong nhiều ứng dụng thực tế [8, 11,
12].
Hệ thống gợi ý là một dạng của hệ hỗ trợ ra quyết định, cung cấp giải pháp
mang tính cá nhân hóa mà không phải trải qua quá trình tìm kiếm phức tạp. Hệ
gợi ý học từ người dùng và gợi ý các sản phẩm tốt nhất trong số các sản phẩm
phù hợp.
1.1.2. Bài toán tư vấn người dùng
Cho tập hợp hữu hạn gồm 𝑁 người dùng 𝑈 = {𝑢1 , 𝑢1 , … , 𝑢𝑁 } và 𝑀 sản
phẩm 𝑃 = {𝑝1 , 𝑝2 , … , 𝑝𝑀 }.
Mỗi người dùng 𝑢𝑖 ∈ 𝑈 (với 𝑖 = 1, 2, … , 𝑁) được biểu diễn thông qua |𝑇|
đặc trưng nội dung 𝑇 = {𝑡1 , 𝑡2 , … , 𝑡|𝑇| }. Các đặc trưng 𝑡𝑞 ∈ 𝑇 thông thường là
thông tin cá nhân của mỗi người dùng. Ví dụ 𝑢𝑖 ∈ 𝑈 là một người dùng thì các đặc
trưng nội dung biểu diễn người dùng 𝑢𝑖 có thể là T={giới tính, độ tuổi, nghề
nghiệp, trình độ,…}.
Mỗi sản phẩm 𝑝𝑥 ∈ 𝑃 (với 𝑥 = 1, 2, … 𝑀) 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. Mỗi sản phẩm 𝑝𝑥 ∈ 𝑃 được biểu diễn thông qua |𝐶| đặc trưng nội
dung 𝐶 = { 𝑐1 , 𝑐2 , … , 𝑐|𝐶| }. Các đặc trưng 𝑐𝑠 ∈ 𝐶 nhận được từ các phương pháp
trích chọn đặc trưng trong lĩnh vực truy vấn thông tin. Ví dụ 𝑝𝑥 ∈ 𝑃 là một phim
thì các đặc trưng nội dung biểu diễn phim 𝑝𝑥 có thể là 𝐶 = {thể loại phim, nước
sản xuất, hãng phim, diễn viên, đạo diễn, …}.
Mối quan hệ giữa tập người dùng 𝑈 và tập sản phẩm 𝑃 được biểu diễn thông
qua ma trận đánh giá 𝑅 = [𝑟𝑖𝑥 ] với 𝑖 = 1, 2, … , 𝑁; 𝑥 = 1, 2, … , 𝑀 (Hình 1.2).
8
Người dùng
Sản phẩm
1
2
…
i
…
𝑀
1
5
3
0
1
2
0
2
0
2
0
0
0
4
0
0
5
0
0
0
3
4
0
2
1
0
0
0
0
0
4
0
N
0
0
3
2
0
0
𝑎
3
5
0
?
1
0
u
Hình 1.2. Ví dụ ma trận đánh giá tổng quát
Giá trị 𝑟𝑖𝑥 thể hiện đánh giá của người dùng 𝑢𝑖 ∈ 𝑈 cho một số sản phẩm
𝑝𝑥 ∈ 𝑃. Thông thường giá trị 𝑟𝑖𝑥 nhận một giá trị thuộc miền 𝐹 = { 1, 2, … , 𝑔}
đượ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. Những giá trị 𝑟𝑖𝑥 = 0 được hiểu là
người dùng 𝑢𝑖 ∈ 𝑈 chưa biết đến hoặc không đánh giá sản phẩm 𝑝𝑥 ∈ 𝑃 , những
ô điền ký tự “?” là giá trị cần hệ tư vấn đưa ra dự đoán đánh giá. Tiếp đến, ta
ký hiệu 𝑃𝑖 𝑃 là tập các sản phẩm 𝑝𝑥 ∈ 𝑃 được đánh giá bởi người dùng 𝑢𝑖 ∈ 𝑈
và 𝑢𝑎 ∈ 𝑈 đượ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. Khi đó, tồn tại hai dạng bài toán điển hình của hệ tư vấn
là:
- Dự đoán đánh giá của người dùng 𝑢𝑎 với các sản phẩm chưa có đánh
giá trước đó.
- Tư vấn danh sách ngắn các sản phẩm phù hợp với người dùng hiện
thời. Cụ thể đối với người dùng 𝑢𝑎 , hệ tư vấn sẽ chọn ra 𝐾 sản phẩm mới 𝑝𝑥 ∈
(𝑃\𝑃𝑎 ) phù hợp với người dùng 𝑢𝑎 nhất để gợi ý cho họ.
9
Việc giải quyết bài toán tư vấn sẽ được thực hiện theo qui trình xây dựng
hệ tư vấn trong mục 1.1.3.
1.1.3. Qui trình xây dựng hệ tư vấn
Qui trình tổng quát để giải quyết bài toán tư vấn [14] thông thường gồm
có 3 giai đoạn chính được thể hiện như sau:
Giai đoạn 1: Thu thập thông tin
Ba loại thông tin chính thường được thu thập cho hệ tư vấn, gồm có:
- Người dùng (User) biểu diễn thông qua các đặc trưng là thông tin cá
nhân. Thông qua biểu diễn này, hệ thống cho phép xây dựng hồ sơ người dùng
(user’s profile) nhằm lưu trữ lại dấu vết các đặc trưng nội dung sản phẩm đã
từng được sử dụng bởi người dùng.
- Sản phẩm (Item) biểu diễn thông qua các đặc trưng là thông tin về sản
phẩm. Thông qua biểu diễn này, hệ thống cho phép xây dựng hồ sơ sản phẩm
(item’s profile) nhằm lưu trữ lại dấu vết các đặc trưng người dùng đã từng sử
dụng sản phẩm.
- Phản hồi của người dùng với sản phẩm (Feedback), biểu diễn thông qua
các giá trị đánh giá của người dùng với sản phẩm.
Giai đoạn 2: Xây dựng mô hình
Giai đoạn xây dựng mô hình tư vấn có thể thực hiện bằng nhiều hướng
tiếp cận khác nhau nhằm so sánh, đánh giá mối liên hệ giữa các thông tin thu
thập được ở giai đoạn 1. Một số hướng tiếp cận điển hình được biết đến như:
dựa vào kinh nghiệm, học máy, lý thuyết xấp xỉ,...[1]. Mỗi hướng tiếp cận sẽ
khai thác thông tin đầu vào theo những cách khác nhau hình thành những
phương pháp tư vấn khác nhau.
Giai đoạn 3: Dự đoán đánh giá / Đưa ra tư vấn
Dữ liệu đầu ra của giai đoạn 2 sẽ được dùng để dự đoán các đánh giá của
người dùng với các sản phẩm chưa có đánh giá trước đó và chọn ra 𝐾 sản phẩm
mới phù hợp nhất đối với người dùng hiện thời để gợi ý cho họ.
10
1.2. Các phương pháp lọc tin
1.2.1. Phân loại hệ thống tư vấn
Lọc thông tin là lĩnh vực nghiên cứu các quá trình phân bổ thông tin thích
hợp và gỡ bỏ thông tin không thích hợp đến với mỗi người dùng. Lọc thông tin
cho các hệ tư vấn được tiếp cận theo hai xu hướng chính, đó là lọc dựa vào nội
dung sản phẩm và lọc dựa vào thói quen sử dụng sản phẩm của người hay còn
được gọi là lọc cộng tác. So với lọc theo nội dung, lọc cộng tác cho lại kết quả
tốt hơn và có thể lọc bất kỳ dạng thông tin nào. Tuy nhiên, lọc cộng tác gặp
phải vấn đề dữ liệu thưa, người dùng mới và sản phẩm mới cần được tiếp tục
nghiên cứu giải quyết. Kết hợp giữa lọc cộng tác và lọc nội dung để nâng cao
chất lượng dự đoán và tránh hiện trạng dữ liệu thưa của lọc cộng tác được tập
trung nghiên cứu nhiều trong thời gian gần đây. Các phương pháp lọc kết hợp
hiện nay vẫn hạn chế trong biểu diễn và ước lương mức độ ảnh hưởng của mỗi
đặc trưng nội dung đến thói quen sử dụng sản phẩm của người dùng [2, 5, 10,
12, 14].
Có rất nhiều cách để dự đoán, ước lượng hạng/điểm cho các sản phẩm như
sử dụng học máy, lý thuyết xấp xỉ, các thuật toán dựa trên kinh nghiệm, …
Theo [8], các hệ thống gợi ý thường được phân thành ba loại theo các phương
pháp lọc tin (xem Hình 1.3): Tư vấn dựa trên nội dung, tư vấn dựa trên cộng
tác, tư vấn dựa trên cách tiếp cận kết hợp.
Tư vấn dựa trên nội dung: Cách tiếp cận lọc nội dung tạo ra một hồ sơ
cho mỗi người dùng hoặc sản phẩm để mô tả bản chất của nó. Ví dụ, một hồ sơ
phim có thể bao gồm các thuộc tính liên quan đến thể loại của nó, các diễn viên
tham gia, sự phổ biến của phòng vé, v.v. Hồ sơ người dùng có thể bao gồm
thông tin nhân khẩu học hoặc câu trả lời được cung cấp trên bảng câu hỏi phù
hợp. Các hồ sơ cho phép các chương trình liên kết người dùng với các sản phẩm
phù hợp. Tất nhiên, chiến lược dựa trên nội dung yêu cầu thu thập thông tin bên
ngoài có thể không có sẵn hoặc khó thu thập.
11
Tư vấn dựa trên cộng tác: Cách này chỉ dựa trên hành vi của người dùng
trước đây. Ví dụ: Giao dịch trước đó hoặc xếp hạng sản phẩm, mà không yêu
cầu tạo hồ sơ rõ ràng. Chiến thuật này phân tích mối liên quan giữa người dùng
và các thuộc tính của sản phẩm để định nghĩa quan hệ giữa người dùng – sản
phẩm.
Ưu điểm của lọc cộng tác so với lọc nội dung là không bị giới hạn miền,
dẫn đến có thể giải quyết các khía cạnh dữ liệu thường khó nắm bắt và khó
khăn để đưa vào khi sử dụng lọc nội dung. Tuy nhiên không hiệu quả khi phải
xử lý với dữ liệu mới được thêm vào, điều mà lọc nội dung lại hiệu quả hơn.
Tư vấn dựa trên cách tiếp cận kết hợp: Kết hợp hai phương pháp tiếp cận
dựa trên nội dung và cộng tác.
Hình 1.3: Phân loại hướng tiếp cận xây dựng hệ thống gợi ý
1.2.2. Phương pháp tư vấn dựa trên nội dung
Lọc theo nội dung là phương pháp thực hiện dựa trên việc so sánh nội
dung thông tin hay mô tả hàng hóa, để tìm ra những sản phẩm tương tự với
12
những gì mà người dùng đã từng quan tâm để giới thiệu cho họ những sản phẩm
này. Các phương pháp tiếp cận cho lọc theo nội dung được chia thành hai
phương pháp chính: lọc nội dung dựa vào bộ nhớ và lọc nội dung dựa vào mô
hình. Những vấn đề cần tiếp tục nghiên cứu của lọc nội dung là vấn đề trích
chọn đặc trưng và người dùng mới [1, 8, 12].
Với phương pháp tư vấn dựa trên nội dung, độ phù hợp r(u, i) của sản
phẩm i với người dùng u được đánh giá dựa trên độ phù hợp r(u, i’) trong đó
và “tương tự” như i. Ví dụ, để gợi ý một bộ phim cho người dùng u, hệ thống
gợi ý sẽ tìm các đặc điểm của những bộ phim từng được u đánh giá cao như
diễn viên, đạo diễn, … sau đó chỉ những bộ phim tương tự với sở thích của u
mới được giới thiệu.
Hướng tiếp cận dựa trên nội dung bắt nguồn từ những nghiên cứu về thu
thập thông tin 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 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 phương pháp tìm kiếm
thông tin là do có sử dụng hồ sơ về người dùng (chứa thông tin về sở thích, nhu
cầu,...). Hồ sơ này được xây dựng dựa trên những thông tin được người dùng
cung cấp trực tiếp (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.4. Minh họa phương pháp tư vấn dựa trên lọc nội dung
Giả sử ta xem Content(i) là một thông tin riêng của sản phẩm, nghĩa là
một tập các đặc tính đặc trưng cho sản phẩm i. Nó thường được tính toán thông
qua việc trích rút từ tập các đặc tính của sản phẩm i (nội dung của nó) và ứng
- Xem thêm -