Nhiều nghiên cứu, bài viết đã được công bốliên quan tới vấn đề hệ tư vấn trong thương mại điện tử, cũng như các kỹ thuật tư vấn.Nguyễn Hùng Dũng và Nguyễn Thái Nghe giới thiệu kỹ thuật l
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN 1 -
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Người hướng dẫn : PGS.TS Trần Đình Quế
Sinh viên thực hiện: Nguyễn Văn Minh Lớp: D19HTTT03 Hệ: Đại học chính quy
HÀ NỘI - 2023
Trang 2HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN 1 -
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
ĐỂ TÀI:
ÁP DỤNG KỸ THUẬT LỌC CỘNG TÁC CHO TƯ VẤN TRONG HỆ
THỐNG QUẢN LÝ BÁN SÁCH ONLINE
Người hướng dẫn : PGS.TS Trần Đình Quế
Sinh viên thực hiện: Nguyễn Văn Minh Lớp: D19HTTT03 Hệ: Đại học chính quy
HÀ NỘI - 2023
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Điểm: Bằng chữ:
Hà Nội, ngày tháng năm
Giảng viên hướng dẫn
Trang 4NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
Điểm: Bằng chữ:
Hà Nội, ngày tháng năm
Giảng viên phản biện
Trang 5Đồ án tốt nghiệp Lời cảm ơn
LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời cảm ơn chân thành và sâu sắc nhất đến thầy PGS.TS.Trần Đình Quế, đã tận tình hướng dẫn và chỉ bảo em trong suốt thời gian nghiên cứu vàthực hiện đồ án
Em cũng xin chân thành cảm ơn các thầy cô trong Học Viện Công Nghệ BưuChính Viễn Thông, đã tận tình truyền đạt những kiến thức quý báu trong những nămtháng học tập tại trường Những kiến thức này là nền tảng vững chắc, giúp em áp dụngvào thực tế và hoàn thành đồ án tốt nghiệp của mình
Cuối cùng em xin chân thành cảm ơn gia đình và bạn bè, luôn là chỗ dựa vữngchắc, tạo điều kiện, quan tâm, động viên em trong suốt quá trình học tập và hoàn thiện đồ
án tốt nghiệp
Mặc dù đã có nhiều cố gắng trong thời gian thực hiện đề tài, song có thể cònnhững hạn chế và thiếu sót Em rất mong nhận được ý kiến đóng góp và sự chỉ dẫn củathầy cô và bạn bè
Em xin chân thành cảm ơn!
Hà Nội, ngày tháng năm Sinh viên
Nguyễn Văn Minh
Trang 6Đồ án tốt nghiệp Mục lục
MỤC LỤC
LỜI CẢM ƠN i
MỤC LỤC ii
DANH MỤC HÌNH ẢNH iv
DANH MỤC BẢNG vii
DANH MỤC TỪ VIẾT TẮT viii
MỞ ĐẦU 1
CHƯƠNG 1 : TỔNG QUAN VỀ HỆ TƯ VẤN TRONG THƯƠNG MẠI ĐIỆN TỬ 3
1.1 Giới thiệu chung về hệ tư vấn 3
1.1.1 Khái niệm hệ tư vấn 3
1.1.2 Ứng dụng của hệ tư vấn 3
1.1.3 Bài toán tư vấn 4
1.1.4 Các kỹ thuật trong hệ tư vấn 5
1.2 Vai trò của hệ tư vấn trong thương mại điện tử 8
1.3 Khảo sát một số hệ tư vấn trên các trang thương mại điện tử 9
1.4 Thách thức của hệ tư vấn trong thương mại điện tử 11
1.5 Kết luận 11
CHƯƠNG 2 : KẾT HỢP THỪA SỐ HÓA MA TRẬN VÀ HỌC SÂU CHO KỸ THUẬT LỌC CỘNG TÁC 12
2.1 Kỹ thuật lọc cộng tác 12
2.1.1 Giới thiệu chung về lọc cộng tác 12
2.1.2 Phân loại kỹ thuật trong lọc cộng tác 13
2.2 Lọc cộng tác sử dụng thừa số hóa ma trận 18
2.3 Kết hợp thừa số hóa ma trận và học sâu 21
2.3.1 Mạng nơ-ron nhân tạo (Neural Network) 21
2.3.2 Kết hợp thừa số hóa ma trận và Multi-layer Perceptron 24
2.4 Cài đặt và đánh giá các phương pháp Lọc cộng tác 26
2.4.1 Dữ liệu 26
2.4.2 Chỉ số đánh giá các kỹ thuật 34
2.4.3 Môi trường cài đặt 34
2.4.4 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 34
Trang 7Đồ án tốt nghiệp Mục lục
2.4.5 Thừa số hóa ma trận có thiên vị (bias) 36
2.4.6 Kết hợp thừa số hóa ma trận và Multi-layer Perceptron 38
2.4.7 Kết hợp thừa số hóa ma trận có thiên vị (bias) và Multi-layer Perceptron 42 2.4.8 Đánh giá các kỹ thuật, phương pháp Lọc cộng tác 44
2.5 Kết luận 46
CHƯƠNG 3 : PHÂN TÍCH THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG 47
3.1 Mô tả yêu cầu của hệ thống 47
3.1.1 Mục đích của hệ thống 47
3.1.2 Phạm vi hệ thống 47
3.1.3 Các đối tượng quản lý 48
3.1.4 Quan hệ giữa các đối tượng 48
3.2 Phân tích và thiết kế hệ thống 49
3.2.1 Biểu đồ usecase tổng quan cho hệ thống 49
3.2.2 Phân tích chức năng 50
3.2.3 Xác định các lớp và xây dựng biểu đồ lớp 57
3.2.4 Thiết kế cơ sở dữ liệu 59
3.3 Cài đặt hệ thống quản lý bán sách online 60
3.3.1 Các công nghệ sử dụng 60
3.3.2 Cài đặt hệ thống 62
3.4 Kết luận 72
KẾT LUẬN 73
TÀI LIỆU THAM KHẢO 74
Trang 8Đồ án tốt nghiệp Danh mục hình ảnh
DANH MỤC HÌNH ẢNH
Hình 1.1 Ma trận người dùng- đối tượng tổng quát 5
Hình 1.2 Minh họa kỹ thuật tư vấn dựa trên nội dung 6
Hình 1.3 Minh họa kỹ thuật tư vấn lọc cộng tác 6
Hình 1.4 Đề xuất sách trên Amazon 9
Hình 1.5 Tư vấn dựa vào triệu chứng trên Drugstore 10
Hình 1.6 Tính năng hồ sơ phản hồi trên Ebay 10
Hình 2.1 Minh họa lọc cộng tác 12
Hình 2.2 Ví dụ ma trận người dùng-đối tượng 14
Hình 2.3 Ví dụ tính trung bình đánh giá của mỗi người dùng 14
Hình 2.4 Ví dụ ma trận người dùng-đối tượng sau chuẩn hóa 14
Hình 2.5 Ví dụ ma trận tương quan giữa các người dùng 15
Hình 2.6 Ví dụ ma trận người dùng- đối tượng chuẩn hóa đầy đủ` 17
Hình 2.7 Ví dụ ma trận người dùng - đối tượng đầy đủ 17
Hình 2.8 Minh họa thừa số hóa ma trận 18
Hình 2.9 Ví dụ thừa số hóa ma trận 19
Hình 2.10 Thành phần của một nơ-ron 22
Hình 2.11 Cấu trúc cơ bản của mạng nơ-ron [21] 23
Hình 2.12 Kiến trúc mô hình kết hợp GMF và MLP [25] 24
Hình 2.13 Minh họa lớp nối 25
Hình 2.14 Danh mục sách trên Tiki 26
Hình 2.15 Mô tả thông tin sách sau khi thu thập 30
Hình 2.16 Mô tả thông tin đánh giá 30
Hình 2.17Mô tả thông tin đánh giá sau khi xử lý 32
Hình 2.18 Phân phối đánh giá 32
Hình 2.19 Mô tả thông tin sách sau khi xử lý 33
Hình 2.20 Xây dựng lớp nhúng sách thừa số hóa ma trận có thiên vị 36
Hình 2.21 Xây dựng lớp nhúng người dùng thừa số hóa ma trận có thiên vị 36
Hình 2.22 Xây dựng lớp đầu ra cho thừa số hóa ma trận có thiên vị 37
Hình 2.23 Kiến trúc các lớp thừa số hóa ma trận có thiên vị (bias) 37
Hình 2.24 Giá trị hàm mất mát trên tập huấn luyện và kiểm tra (MF+bias) 38
Hình 2.25 Biểu đồ thể hiện giá trị mất mát trên tập huấn luyện và kiểm tra (MF+bias) 38
Trang 9Đồ án tốt nghiệp Danh mục hình ảnh
Hình 2.26 Xây dựng các lớp cho thừa số hóa ma trận 39
Hình 2.27 Xây dựng các lớp Multi-layer Perceptron 39
Hình 2.28 Kết hợp thừa số hóa ma trận và Multi-layer Perceptron 40
Hình 2.29 Kiến trúc các lớp kết hợp thừa số hóa ma trận và Multi-layer Perceptron 41
Hình 2.30 Giá trị hàm mất mát trên tập huấn luyện và kiểm tra (MF - MLP) 41
Hình 2.31 Biểu đồ thể hiện giá trị hàm mất mát trên tập huấn luyện và kiểm tra (MF -MLP) 42
Hình 2.32 Kết hợp thừa số hóa ma trận có thiên vị (bias) và Multi-layer Perceptron 42
Hình 2.33 Kiến trúc các lớp kết hợp thừa số hóa ma trận có thiên vị (bias) và Multi-layer Perceptron 43
Hình 2.34 Giá trị hàm mất mát trên tập huấn luyện và kiểm tra (MF+bias - MLP) 44
Hình 2.35 Biểu đồ thể hiện giá trị hàm mất mát trên tập huấn luyện và kiểm tra (MF+bias - MLP) 44
Hình 3.1 Biểu đồ usecase tổng quan 49
Hình 3.2 Biểu đồ tuần tự đánh giá sản phẩm 51
Hình 3.3 Biểu đồ tuần tự đặt hàng 53
Hình 3.4 Biểu đồ tuần tự thêm sản phẩm vào giỏ hàng 54
Hình 3.5 Biểu đồ tuần tự thay đổi trạng thái đơn hàng 55
Hình 3.6 Biểu đồ tuần tự thêm nhân viên 56
Hình 3.7 Biểu đồ lớp phân tích cho nhân viên 57
Hình 3.8 Biểu đồ lớp phân tích cho khách hàng 58
Hình 3.9 Biểu đồ cơ sở dữ liệu cho khách hàng 59
Hình 3.10 Biểu đồ cơ sở dữ liệu cho nhân viên 60
Hình 3.11 Kiến trúc hệ thống 62
Hình 3.12 Cấu trúc thư mục trong project 63
Hình 3.13 Kết nối cơ sở dữ liệu 63
Hình 3.14 Giao diện thanh toán PayPal 64
Hình 3.15 Lệnh chạy metabase 65
Hình 3.16 Giao diện dashboard 65
Hình 3.17 Cấu hình các đường hầm(tunnels) 66
Hình 3.18 Thông tin các miền (domain) 66
Hình 3.19 Luồng hoạt động cơ bản của tư vấn sản phẩm 67
Trang 10Đồ án tốt nghiệp Danh mục hình ảnh
Hình 3.21 Giao diện đề xuất sách ở trang chủ khi chưa đăng nhập 69
Hình 3.22 Giao diện đề xuất sách ở trang chi tiết sản phẩm khi đã đăng nhập 69
Hình 3.23 Giao diện đề xuất sách ở trang chi tiết sản phẩm khi chưa đăng nhập 70
Hình 3.24 Giao diện trang chủ cho khách hàng 70
Hình 3.25 Giao diện xem chi tiết sản phẩm 71
Hình 3.26 Giao diện giỏ hàng 71
Hình 3.27 Giao diện đặt hàng 71
Hình 3.28 Giao diện trang chủ của nhân viên 72
Trang 11Đồ án tốt nghiệp Danh mục bảng
DANH MỤC BẢNG
Bảng 1.1 Bảng so sánh ưu nhược điểm các kỹ thuật tư vấn 7
Bảng 2.1 Mô tả thông tin về dữ huấn luyện và kiểm tra 34
Bảng 2.2 Đánh giá các phương pháp lọc cộng tác 45
Bảng 3.1 Kịch bản đánh giá sản phẩm 50
Bảng 3.2 Kịch bản đặt hàng 51
Bảng 3.3 Kịch bản thêm sản phẩm vào giỏ hàng 53
Bảng 3.4 Kịch bản thay đổi trạng thái đơn hàng 54
Bảng 3.5 Kịch bản thêm nhân viên 55
Trang 12Đồ án tốt nghiệp Danh mục từ viết tắt
DANH MỤC TỪ VIẾT TẮT
1 ACID Atomicity-Consistency-Isolation-Durability Tính nguyên tử, Tính nhất quán,Tính độc lập, Tính bền vững
4 GMF Generalized MatrixFactorization Thừa số hóa ma trận tổng quan
5 HTML HyperText MarkupLanguage Ngôn ngữ đánh dấu siêu văn bản
10 ORM Object-Relational Mapping Ánh xạ Đối tượng-Quan hệ
11 RBAC Role-Based Access Control Kiểm soát truy cập dựa trên vaitrò
12 SQL Structured Query Language Ngôn ngữ truy vấn có cấu trúc
Trang 13Đồ án tốt nghiệp Mở đầu
MỞ ĐẦU
Trong những năm gần đây, sự phát triển bùng nổ của thương mại điện tử đã đemlại nhiều lợi ích kinh tế cho toàn cầu Thương mại điện tử gây ra sự chuyển đổi đáng kểtrong thói quen mua sắm của người tiêu dùng Các hình thức mua sắm truyền thống đangdần mất vị thế của mình bởi các hình thức mua sắm qua mạng Thị trường thương mạiđiện tử ngày càng mở rộng với sự tham gia của nhiều ngành công nghiệp khác nhau Cácnền tảng thương mại điện tử nổi tiếng như Amazon, Alibaba và Lazada đã tạo ra môitrường cho người tiêu dùng tiếp cận hàng ngàn sản phẩm từ khắp nơi trên thế giới [1].Tuy nhiên, việc trình bày và trang trí quá nhiều các mặt hàng trên trang web đã gây rakhô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 Để 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 [2].Chính vì vậy, hệ tư vấn là một phần quan trọng và cầnthiết trong các hệ thống thương mại điện tử Nhiều nghiên cứu, bài viết đã được công bốliên quan tới vấn đề hệ tư vấn trong thương mại điện tử, cũng như các kỹ thuật tư vấn.Nguyễn Hùng Dũng và Nguyễn Thái Nghe giới thiệu kỹ thuật lọc cộng tác dựa trên môhình láng giềng (mô hình lân cận) để gợi ý sản phẩm trong hệ thống bán hàng trực tuyến
[2] Tanmayee Salunke và Unnati Nichite đã giới thiệu các loại hệ tư vấn và những khókhăn gặp phải trong các hệ tư vấn [3] Với sự hiệu quả của học sâu, Mohammed FadhelAljunid và Manjaiah DH đã đề xuất một phương pháp học sâu cho hệ tư vấn lọc cộng tác
[4]
Nhận thấy sự cần thiết của tư vấn sản phẩm cho người tiêu dùng trong các hệ thống
bán hàng online hay các trang thương mại điện tử, đồ án sẽ thực hiện đề tài “Áp dụng kỹ
thuật lọc cộng tác cho tư vấn trong hệ thống quản lý bán sách online”
Nội dung chính của đồ án bao gồm:
Tìm hiểu, giới thiệu tổng quan về hệ tư vấn trong thương mại điện tử Tìmhiểu một số kỹ thuật trong hệ tư vấn
Tìm hiểu các phương pháp, kỹ thuật trong lọc cộng tác
Kết hợp thừa số hóa ma trận và học sâu cho kỹ thuật lọc cộng tác
Xây dựng hệ thống quản lý bán sách online áp dụng kỹ thuật Lọc cộng tác.Cấu trúc của đồ án bao gồm: Mở đầu, Nội dung và Kết luận Phần Nội dung baogồm 3 chương:
Chương 1: Tổng quan về hệ tư vấn trong thương mại điện tử
Trong chương này, đồ án sẽ tìm hiểu và giới thiệu sự cần thiết của hệ tưvấn trong thương mại điện tử Đồng thời, cũng sẽ giới thiệu một số kỹ thuậttrong hệ tư vấn
Chương 2: Kết hợp thừa số hóa ma trận và học sâu cho kỹ thuật lọc cộngtác
Trang 14Đồ án tốt nghiệp Mở đầu
kỹ thuật lọc cộng tác Ngoài ra, chương 2 cũng sẽ giới thiệu và cài đặt các kỹthuật lọc cộng tác: lọc công tác dựa trên người dùng, lọc cộng tác dựa trên sảnphẩm, Thừa số hóa ma trận để so sánh và đánh giá với phương pháp đã chọntrên bộ dữ liệu thu thập được
Chương 3: Phân tích thiết kế và cài đặt hệ thống
Chương 3 sẽ phân tích thiết kế và cài đặt hệ thống quản lý bán sáchonline Phương pháp kết hợp thừa số hóa ma trận và học sâu cho kỹ thuật lọccộng tác sẽ được áp dụng vào hệ thống để tư vấn sản phẩm khách hàng có thểquan tâm
Trang 15Đồ án tốt nghiệp Chương 1: Tổng quan về hệ tư vấn trong thương mại điện tử
CHƯƠNG 1: TỔNG QUAN VỀ HỆ TƯ VẤN TRONG THƯƠNG
MẠI ĐIỆN TỬ
1.1 Giới thiệu chung về hệ tư vấn
1.1.1 Khái niệm hệ tư vấn
Với sự bùng nổ của các thông tin trực tuyến trên Internet, người dùng sẽ gặpnhững khó khăn để tìm kiếm và lựa chọn những thông phù hợp với mình Để đáp ứng nhucầu của của người dùng hệ tư vấn đã ra đời và ngày càng phổ biến trong đời sống Hệ tưvấn (hay còn gọi là hệ khuyến nghị) được xem như một hệ thống lọc tích cực, có chứcnăng hỗ trợ đưa ra quyết định, nhằm mục đích cung cấp cho người sử dụng những gợi ý
về thông tin, sản phẩm và dịch vụ phù hợp nhất với yêu cầu và sở thích riêng của từngngười [5]
1.1.2 Ứng dụng của hệ tư vấn
Ngày này, hệ tư vấn có nhiều ứng dụng trong nhiều lĩnh vực khác nhau, đáp ứngnhu cầu đa dạng của người sử dụng Dưới đây là một số ứng dụng phổ biến của hệ thống
tư vấn:
Thương mại điện tử
Việc sử dụng phổ biến nhất các hệ tư vấn là trong lĩnh vực thương mại điện
tử Các công ty và cửa hàng thương mại điện tử sử dụng hệ thống tư vấn hiện đạivới các thuật toán phức tạp để lọc dữ liệu dựa trên lựa chọn mua hàng của kháchhàng [6] Từ đó, hệ tư vấn trên các trang thương mại điện tử có thể tư vấn, gợi ýsản phẩm cho khách hàng một cách nhanh chóng và thuận tiện
Giải trí
Trong lĩnh vực giải trí, các dịch vụ phát nhạc và phát video trực tuyến trênInternet (như Netflix, Youtube, …) là một lĩnh vực mà hệ tư vấn được sử dụngrộng rãi
Du lịch
Internet và thiết bị di động cung cấp cho du khách những cơ hội tuyệt vời đểtruy cập thông tin du lịch.Tuy nhiên, sự gia tăng đột ngột về số lượng lựa chọn dulịch có sẵn khiến cho việc du khách quyết định lựa chọn những gì họ thích trở nênkhó khăn Các hệ thống tư vấn du lịch trực tuyến (e-tourism recommendersystems) đã được thiết kế để đưa ra gợi ý cho du khách [7]
Trang 16Đồ án tốt nghiệp Chương 1: Tổng quan về hệ tư vấn trong thương mại điện tử
ích để cải thiện sức khỏe của họ Ngoài ra, sự quá tải thông tin y tế (ví dụ như vềthuốc, các kiểm tra y tế và đề xuất điều trị) đã đặt ra nhiều khó khăn đối với cácchuyên gia y tế khi đưa ra quyết định hướng tới lợi ích của bệnh nhân Nhữngthách thức này làm nổi lên nhu cầu triển khai hệ thống tư vấn trong lĩnh vực chămsóc sức khỏe, nhằm hỗ trợ cả người dùng cuối và các chuyên gia y tế đưa ra quyếtđịnh về sức khỏe một cách hiệu quả và chính xác hơn [8]
1.1.3 Bài toán tư vấn
Theo Adomavicius và Tuzhilin, bài toán tư vấn được coi như bài toán xếp hạngcho các đối tượng (items) mà người dùng chưa từng tương tác [9] Việc dự đoán nàythường dựa trên xếp hạng do người dùng này đưa ra cho các đối tượng khác và dựa trênmột số thông tin khác Sau khi có thể ước tính xếp hạng cho các đối tượng chưa được xếphạng (đánh giá), hệ tư vấn có thể đề xuất cho người dùng các đối tượng có xếp hạng dựđoán cao nhất
Bài toán tư vấn được mô tả như sau:
Thông thường, trong hệ tư vấn, ba thông tin chính cần quan tâm là: thông tin ngườidùng, thông tin đối tượng (sản phẩm, thông tin, dịch vụ, …), xếp hạng (đánh giá) củangười dùng trên các sản phẩm
- Gọi U là tập tất cả người dùng gồm n người dùng
- Gọi I là tập tất cả các đối tượng (items) có thể tư vấn gồm m đối tượng
Thông tin xếp hạng của người dùng cho các đối tượng có thể được biểu diễn ởdạng ma trận tiện ích R (hay có thể gọi là ma trận người dùng - đối tượng) Mỗi dòng của
ma trận là một người dùng, mỗi cột là một đối tượng, mỗi ô mang một giá trị là giátrị xếp hạng (phản hồi, đánh giá, quan tâm, …)
Giá trị trong ma trận trên nếu mang một giá trị thì người dùng đã xếphạng (đánh giá) cho đối tượng Còn nếu trống thì người dùng chưa xếp hạng(đánh giá hoặc tương tác) cho đối tượng
Giá trị có thể được tính toán và ánh xạ dựa vào hành vi người dùng tạo thànhcác điểm đánh giá tường minh (explicit score) hoặc các điểm đánh giá không tường minh(implicit score)
Điểm đánh giá tường minh (explicit score) là các thông tin người dùng trực tiếpxếp hạng, phản hồi vào đối tượng (số sao đánh giá, thích/không thích)
Điểm đánh giá không tường minh (implicit score) được suy diễn bởi các thông tinthu thập được từ hành vi của người dùng (tìm kiếm, xem, mua, chia sẻ, …)
Trang 17Đồ án tốt nghiệp Chương 1: Tổng quan về hệ tư vấn trong thương mại điện tử
Hình 1.1 Ma trận người dùng- đối tượng tổng quátNhiệm vụ chính của hệ tư vấn là dựa vào các ô đã có giá trị trong ma trận ngườidùng - đối tượng (dữ liệu thu được từ quá khứ), thông qua mô hình đã được xây dựng, hệ
tư vấn dự đoán các ô còn trống (của người dùng hiện hành), sau đó sắp xếp kết quả dựđoán (ví dụ, từ cao xuống thấp) và chọn ra các sản phẩm có dự đoán xếp hạng cao nhấttheo thứ tự để gợi ý cho người dùng
Nói một cách khác, để giải bài toán tư vấn này, ta cần xây dựng hàm để
dự đoán giá trị xếp hạng của người dùng cho đối tượng sao cho sai số giữa giá trị
dự đoán và giá trị đã biết trong ma trận người dùng - đối tượng là nhỏ nhất
1.1.4 Các kỹ thuật trong hệ tư vấn
Hiện nay có rất nhiều các kỹ thuật được sử dụng trong hệ tư vấn Về cơ bản, có thể chialàm 3 nhóm chính [9]:
Dựa trên nội dung (Content-based filtering):
Kỹ thuật tư vấn dựa trên nội dung là một kỹ thuật được sử dụng để đề xuất đốitượng cho người dùng của một hệ thống dựa trên sự tương đồng của các đối tượng Thông
Trang 18Đồ án tốt nghiệp Chương 1: Tổng quan về hệ tư vấn trong thương mại điện tử
định sự tương đồng của các đối tượng có thể bao gồm bất cứ thứ gì từ văn bản, hình ảnh,xếp hạng Mục tiêu của người dùng với một hệ thống tư vấn dựa trên nội dung là nhậnđược các đề xuất về sản phẩm tương tự với những mục mà họ đã thể hiện sự quan tâm
Hình 1.3 Minh họa kỹ thuật tư vấn lọc cộng tác
Phương pháp kết hợp (Hybrid method):
Trong phương pháp kết hợp, hai hoặc nhiều phương pháp lọc được kết hợp để đạtđược hiệu suất tốt hơn so với phương pháp dựa trên nội dung và lọc cộng tác khi chúng
Trang 19Đồ án tốt nghiệp Chương 1: Tổng quan về hệ tư vấn trong thương mại điện tử
được áp dụng riêng biệt Một số nhà nghiên cứu đã kết hợp các kỹ thuật dựa trên nội dung
và lọc cộng tác để đạt được kết quả tốt hơn và giảm thiểu những thiếu sót khác nhau màcác phương pháp này gặp phải [10]
Dưới đây là ưu và nhược điểm của các kỹ thuật tư vấn đã giới thiệu bên trên [11]:
Bảng 1.1 Bảng so sánh ưu nhược điểm các kỹ thuật tư vấn
Dựa trên
nội dung
Thuộc tính của đối tượng hoặc thông tin người dùng
Không cần dữ liệu của dùng khác mà vẫn tư vấn được những đối tượng(sản phẩm) phù hợp với sở thích của từng khách hàng riêng biệt
Có khả năng gợi ý những đối
tượng(sản phẩm) mới cho người dùng
Không thể tư vấn các đối tượng nằm ngoài sở thích của họ
Đối với người dùng mới, không thể cung cấp gợi ý phù hợp
Mất nhiều thời gian do cần dòtìm và phân tích các đặc trưngcủa đối tượng và thông tin người dùng
Thông tin, thuộc tính của đối tượng không chính xác có thể dẫn tới tư vấn sai
Lọc cộng
tác
Các tương tác, xếp hạng của người dùng cho các đối tượng
Không cần đến hồ
sơ nhân khẩu học của người dùng để đưa ra tư vấnKhông cần thông tinthuộc tính của đối tượng
Có thể tư vấn cho người dùng những đối tượng bên ngoài
sở thích đang có
Những sản phẩm này có thể phù hợp với sở thích mới củahọ
Không thể tư vấn nếu người dùng chưa tương tác với bất
kì đối tượng nàoKhi số đối tượng lớn nhưng
số lượng người dùng xếp hạng (đánh giá) không nhiều thì kỹ thuật này không hiệu quả
Không thể tư vấn các đối tượng mới hoặc các đối tượngchưa từng được xếp hạng
Trang 20Đồ án tốt nghiệp Chương 1: Tổng quan về hệ tư vấn trong thương mại điện tử
Kết hợp ưu điểm của hai kỹ thuật trên
Khi số đối tượng lớn nhưng
số lượng người dùng xếp hạng (đánh giá) không nhiều thì kỹ thuật này không hiệu quả
Không thể tư vấn cho người dùng mới
1.2 Vai trò của hệ tư vấn trong thương mại điện tử
Trong bối cảnh thương mại điện tử phát triển mạnh mẽ, hành vi mua sắm củangười tiêu dùng đã có những biến đổi đáng kể Mua sắm trực tuyến ngày càng trở nên phổbiến và chiếm ưu thế trong những năm gần đây Vì vậy, để tối ưu hóa trải nghiệm vàtương tác của khách hàng khi mua sắm trực tuyến, hệ thống tư vấn đã trở thành một công
cụ quan trọng và được tích hợp rộng rãi trên các trang thương mại điện tử Hệ tư vấn sẽđưa ra những gợi ý sản phẩm phù hợp với nhu cầu và sở thích cụ thể của từng khách hàng.Dưới đây là một số lợi ích của hệ thống tư vấn trong thương mại điện tử [12]:
Tăng doanh thu (Increased revenue):
Hệ thống tư vấn thúc đẩy doanh số bán hàng Theo một báo cáo, 35% tổnglượng mua hàng trên Amazon được thúc đẩy bởi hệ tư vấn Người ta đã chứng minhrằng việc đưa ra các lựa chọn đề xuất phù hợp có thể cải thiện doanh thu bán thêm vàgiúp khách hàng mua sắm tốt hơn
Chuyển khách vãng lai thành người mua hàng (Convert visitors into buyers)Những người truy cập cửa hàng trực tuyến thường xem xét mà không muahàng Đây là một hành vi phổ biến của khách hàng, họ đang tìm kiếm trực tuyến nhưviệc ngắm cửa hàng ảo Qua các gợi ý phù hợp, hệ thống tư vấn thương mại điện tử cóthể giúp khách truy cập tìm thấy những mục mà họ muốn mua
Khuyến khích bán chéo (Promote cross-selling):
Bán chéo được thúc đẩy bởi hệ thống tư vấn, giúp người mua tiếp cận các sảnphẩm bổ sung Nếu các gợi ý là phù hợp và hữu ích, số lượng giao dịch trung bình sẽtăng lên Cửa hàng trực tuyến có thể đề xuất thêm các sản phẩm dựa trên những gì cótrong giỏ hàng của người mua khi thanh toán
Xây dựng niềm tin thương hiệu (Build brand trust)
Hệ thống tư vấn thương mại điện tử tạo ra giá trị gia tăng và tăng cường sựtương tác giữa thương hiệu và người mua Những nhà bán lẻ trực tuyến đầu tư vàoviệc hiểu rõ khách hàng của họ, sử dụng thông tin này thông qua hệ thống tư vấn vàphát triển trải nghiệm mua sắm cá nhân hóa cho từng khách hàng Như một phản ứng,
sự trung thành của người mua tăng lên mỗi khi họ sử dụng hệ thống gợi ý
Làm nổi bật các sản phẩm ít phổ biến (Highlight long-tail items):
Trang 21Đồ án tốt nghiệp Chương 1: Tổng quan về hệ tư vấn trong thương mại điện tử
Có những sản phẩm chỉ được tìm kiếm và phù hợp với một lượng nhỏ ngườidùng, bởi vì những sản phẩm đó đặc biệt và khác biệt Điều này khiến cho những sảnphẩm đặc biệt này khó tiếp cận nhiều người dùng Hệ thống tư vấn sẽ giúp những sảnphẩm này dễ dàng tiếp cận được những người dùng có nhu cầu độc đáo Ngoài ra, hệthống còn hỗ trợ doanh nghiệp quảng bá các sản phẩm này một cách hiệu quả hơn
Với những lợi ích và khả năng trên, có thể khẳng định rằng hệ thống tư vấn sẽ tiếptục đóng một vai trò quan trọng trong thương mại điện tử Khả năng cá nhân hóa, tăngcường trải nghiệm mua sắm và khả năng thúc đẩy doanh số bán hàng chính là những yếu
tố quyết định việc hệ thống tư vấn trở thành một công cụ không thể thiếu trong chiến lượckinh doanh của các doanh nghiệp thương mại điện tử Bằng cách sử dụng thông tin kháchhàng và dữ liệu hành vi, hệ thống tư vấn không chỉ giúp tối ưu hóa quá trình mua sắm màcòn góp phần quan trọng vào việc xây dựng sự trung thành của khách hàng Do đó, trongtương lai, việc phát triển và cải tiến hệ thống tư vấn sẽ tiếp tục đóng góp tích cực vào sựphát triển và thành công của thương mại điện tử
1.3 Khảo sát một số hệ tư vấn trên các trang thương mại điện tử
Nhận thấy sự cần thiết và vai trò quan trọng của hệ tư vấn trong thương mại điện
tử, các công ty, tập đoàn thương mại điện tử đã sử dụng hệ tư vấn trên các trang thươngmại điện tử của mình Dưới đây là một vài trang thương mại điện tử điển hình sử dụng hệ
tư vấn để gợi ý sản phẩm cho khách hàng [6] [3] [13]:
Trang 22Đồ án tốt nghiệp Chương 1: Tổng quan về hệ tư vấn trong thương mại điện tử
Amazon.com: Amazon là sàn thương mại điện tử lớn nhất thế giới, với trụ sở
chính tại Hoa Kỳ Amazon cung cấp đa dạng các sản phẩm và dịch vụ, từ sách, đồ giadụng, điện tử, đến dịch vụ đám mây, dịch vụ streaming Amazon.com là một ví dụ điểnhình sử dụng các tư vấn lọc cộng tác theo từng sản phẩm trong hầu hết các trang trên trangweb và chiến dịch email của họ Ngoài ra, Amazon.com còn có một vài hình tư vấn sảnphẩm khác: tính năng Eyes của Amazon.com cho phép họ thông báo cho khách hàng ngaykhi một mặt hàng có sẵn trên thị trường, tính năng Amazon.com Delivers sẽ thông báocho khách hàng các sản phẩm gợi ý mới nhất trong danh mục mà họ đăng ký
Hình 1.4 Đề xuất sách trên Amazon
Trang 23Đồ án tốt nghiệp Chương 1: Tổng quan về hệ tư vấn trong thương mại điện tử
Drugstore.com: Drugstore.com là một nhà bán lẻ trên internet về các sản phẩm
chăm sóc sức khỏe và sắc đẹp.Tính năng tư vấn tại Drugstore.com cho phép khách hàngmua sản phẩm từ bất kỳ danh mục nào như chăm sóc da, cảm cúm thông thường, … đểcho biết sở thích của họ Ví dụ, khi bị sốt cao, khách hàng có các triệu chứng như đau đầu,đau nhức cơ bắp, loại thuốc họ cần và độ tuổi của bệnh nhân Với thông tin được cungcấp, hệ tư vấn đề xuất danh mục sản phẩm đáp ứng điều kiện
Hình 1.5 Tư vấn dựa vào triệu chứng trên Drugstore
Trang 24Đồ án tốt nghiệp Chương 1: Tổng quan về hệ tư vấn trong thương mại điện tử
Ebay.com: Ebay là sàn thương mại điện tử lớn thứ ba thế giới, với trụ sở chính tại
San Jose, California, Hoa Kỳ Ebay là một sàn đấu giá trực tuyến, nơi người bán có thểđấu giá các sản phẩm và dịch vụ của họ Tính năng Hồ sơ Phản hồi tại eBay.com cho phép
cả người mua và người bán đóng góp vào hồ sơ phản hồi của những khách hàng khác mà
họ đã hợp tác kinh doanh Phản hồi bao gồm xếp hạng mức độ hài lòng (hài lòng/trunglập/không hài lòng) cũng như nhận xét cụ thể về khách hàng khác Phản hồi được sử dụng
để cung cấp hệ thống gợi ý cho người mua, những người có thể xem hồ sơ người bán
Hình 1.6 Tính năng hồ sơ phản hồi trên Ebay
1.4 Thách thức của hệ tư vấn trong thương mại điện tử
Hệ thống tư vấn thương mại điện tử ngày càng trở nên quan trọng trong việc giúpkhách hàng tìm được sản phẩm phù hợp nhất với nhu cầu hoặc mong muốn của họ Với sựphát triển của dữ liệu lớn, hệ thống tư vấn thương mại điện tử ngày càng trở nên phức tạp,cho phép đề xuất sản phẩm được cá nhân hóa phù hợp với sở thích hoặc mối quan tâm củatừng khách hàng Trong các hệ thống sử dụng nhiều dữ liệu, dữ liệu lớn đòi hỏi các quytrình xử lý dữ liệu mạnh mẽ Sau đây là những vấn đề và thách thức đối với hệ tư vấntrong thương mại điện tử hiện nay [3] [11]:
Vấn đề khách hàng mới, sản phẩm mới (cold start problem):
Rất khó để giới thiệu sản phẩm cho những người dùng mới chưa từng tương tácvới hệ thống trước đây vì không có dữ liệu để đưa ra gợi ý Vấn đề này có thể được giảiquyết bằng cách sử dụng hệ tư vấn không cá nhân hóa để gợi ý, tư vấn những sản phẩmbán chạy hoặc những sản phẩm được đánh giá cao
Vấn đề thưa thớt dữ liệu:
Một thách thức khác với hệ tư vấn tại các trang thương mại điện tử đó là sự thưathớt về dữ liệu khách hàng đánh giá sản phẩm Thông thường, rất nhiều trang thương mại
Trang 25Đồ án tốt nghiệp Chương 1: Tổng quan về hệ tư vấn trong thương mại điện tử
điện tử, số lượng khách hàng đánh giá sản phẩm ít, nên rất khó tư vấn, gợi ý các sản phẩmphù hợp với sở thích của người dùng Vấn đề này có thể được giải quyết dựa trên cáctương tác không tường minh như: lịch sử xem hàng, mua hàng, chia sẻ, … để bổ sung vào
ma trận người dùng - đối tượng nhằm hạn chế việc thưa thớt dữ liệu
Bảo mật dữ liệu:
Việc lưu trữ và sử dụng dữ liệu cá nhân cho mục đích tư vấn có thể làm tăng mối
lo ngại về quyền riêng tư và bảo mật liên quan đến việc sử dụng và lạm dụng dữ liệu cánhân
Chất lượng của tư vấn:
Hiệu quả của các kết quả được đề xuất phụ thuộc vào dữ liệu được sử dụng và cácthuật toán được sử dụng
1.5 Kết luận
Chương 1 của đồ án đã cung cấp những kiến thức cơ bản về hệ tư vấn, bao gồmcác kỹ thuật trong hệ tư vấn, vai trò và những thách thức của hệ tư vấn trong thương mại
điện tử Đây là nền tảng quan trọng để đồ án thực hiện đề tài “Áp dụng kỹ thuật lọc cộng
tác cho tư vấn trong hệ thống quản lý bán sách online” Chương sau sẽ giới thiệu về
kỹ thuật
lọc cộng tác, một trong những kỹ thuật quan trọng trong hệ thống tư vấn Đồ án sẽ tìmhiểu về phương pháp kết hợp thừa số hóa ma trận với học sâu cho kỹ thuật lọc cộng tác
Trang 26Đồ án tốt nghiệpChương 2:Kết hợp thừa số hóa ma trận và học sâu cho kỹ thuật lọc cộng tác
CHƯƠNG 2: KẾT HỢP THỪA SỐ HÓA MA TRẬN VÀ HỌC
SÂU CHO KỸ THUẬT LỌC CỘNG TÁC
2.1 Kỹ thuật lọc cộng tác
2.1.1 Giới thiệu chung về lọc cộng tác
Như đã được giới thiệu trong Chương 1, Lọc cộng tác là một trong ba nhóm chínhcủa kỹ thuật trọng hệ tư vấn Các nhà phát triển hệ thống tư vấn đầu tiên, vào năm 1992(D Goldberg et al., 1992), đã đưa ra thuật ngữ “collaborative filtering” (lọc cộng tác) Giảthuyết cơ bản của lọc cộng tác là: “Nếu người dùng u và u' đã đánh giá n sản phẩm tương
tự nhau, hoặc thể hiện hành vi tương đồng (như xem, mua, nghe ), thì họ có khả năngđánh giá các sản phẩm khác nhau một cách tương tự [2] Điều này có nghĩa là nếu haingười dùng đã có sự tương đồng trong đánh giá hoặc hành vi đối với một nhóm sản phẩm,thì họ có khả năng sẽ chia sẻ sự tương tự đó đối với các sản phẩm khác Điều này giúpxây dựng một hệ tư vấn dựa trên sự tương đồng giữa người dùng, giúp họ khám phá cácsản phẩm mới mà họ có thể thích dựa trên sở thích hoặc ưu tiên của người dùng tương tự.Lọc cộng tác đã trở thành một phần quan trọng trong phát triển các hệ thống đề xuất và tưvấn, với khả năng tận dụng thông tin phản hồi từ cộng đồng người dùng để cải thiện chấtlượng của các đề xuất sản phẩm
Trang 27Đồ án tốt nghiệpChương 2:Kết hợp thừa số hóa ma trận và học sâu cho kỹ thuật lọc cộng tác
2.1.2 Phân loại kỹ thuật trong lọc cộng tác
Có nhiều kỹ thuật lọc cộng tác và được chia thành 2 dạng chính [14]:
- Lọc cộng tác dựa trên bộ nhớ (Memory - based)
- Lọc cộng tác dựa trên mô hình (Model - based)
2.1.2.1 Lọc cộng tác dựa trên bộ nhớ (Memory - based)
Phương pháp tiếp cận dựa trên bộ nhớ sử dụng dữ liệu xếp hạng của người dùng đểtính toán mức độ tương tự giữa người dùng hoặc sản phẩm Thuật toán điển hình củaphương pháp này là thuật toán lọc cộng tác dựa trên vùng lân cận (láng giềng).Thuật toándựa trên vùng lân cận tính toán mức độ tương tự giữa hai người dùng hoặc hai sản phẩm
và đưa ra dự đoán cho người dùng bằng cách lấy trung bình có trọng số của tất cả các xếphạng Tính toán độ tương tự giữa các đối tượng (sản phẩm) hoặc người dùng là một phầnquan trọng của phương pháp này [15]
Có hai cách tiếp cận của thuật toán dựa trên vùng lân cận cho lọc cộng tác là:
- Lọc cộng tác dựa trên người dùng
- Lọc cộng tác dựa trên sản phẩm
Tính chất chính của hai phương pháp lọc cộng tác, dựa trên người dùng và dựa trênsản phẩm, có sự tương đồng trong các bước thực hiện, nhưng khác nhau ở một vài điểmsau:
Lọc cộng tác dựa trên người dùng tính sự tương đồng giữa các người dùng, rồidựa vào k người dùng láng giềng gần nhất của người dùng đã đánh giá cho mộtsản phẩm để dự đoán xếp hạng của người dùng cho sản phẩm đó
Lọc cộng tác dựa trên sản phẩm sẽ tính sự tương đồng giữa các sản phẩm, sau đódựa vào k sản phẩm láng giềng gần nhất mà đã được người dùng đánh giá (xếphạng) của một sản phẩm để dự đoán đánh giá của người dùng cho sản phẩm đó
- Lọc cộng tác dựa trên người dùng được thực hiện qua các bước như sau (Có ví dụ minhhọa sau mỗi bước) [16]:
Bước 1: Chuẩn hóa ma trận người dùng - đối tượng
Việc chuẩn hóa sẽ giúp cho việc tính toán sự tương đồng giữa các người dùngmột cách chính xác Do mỗi người dùng có những phạm vi đánh giá khác nhau, cónhững người dùng có xu hướng đánh giá sản phẩm cao hơn người dùng khác, vì vậygiá trị đã được đánh giá bởi mỗi người dùng cho các sản phẩm sẽ phải trừ đi trung bìnhgiá trị đánh giá của người dùng đó cho tất cả các sản phẩm Những ô trong ma trận cógiá trị trống (trong ví dụ là “?”) sẽ được điền giá trị 0 thể hiện người dùng chưa đánhgiá, hay thể hiện sự trung lập đối với sản phẩm đó
Ví dụ minh họa
Trang 28Đồ án tốt nghiệpChương 2:Kết hợp thừa số hóa ma trận và học sâu cho kỹ thuật lọc cộng tác
Hình 2.8 Ví dụ ma trận người dùng-đối tượng
Hình 2.9 Ví dụ tính trung bình đánh giá của mỗi người dùng
Hình 2.10 Ví dụ ma trận người dùng-đối tượng sau chuẩn hóa
Bước 2: Tính sự tương đồng giữa các người dùng
Tính sự tương đồng giữa 2 người dùng bằng việc tính sự tương đồng của 2 cặpvector đánh giá của của 2 người dùng đó cho tất cả các sản phẩm lấy từ ma trận đánh giá
đã được chuẩn hóa Tính sự tương đồng của tất cả các người dùng với nhau ta sẽ được matrận thể hiện sự tương đồng giữa các người dùng
Để tính sự tương đồng giữa 2 vector có thể sử dụng một số công thức sau:
Công thức toán học của cosine similarity:
111Equation Chapter (Next) Section 1212\* MERGEFORMAT (.)Trong đó:
- n là số chiều của vector x, y
Trang 29Đồ án tốt nghiệpChương 2:Kết hợp thừa số hóa ma trận và học sâu cho kỹ thuật lọc cộng tác
- và là các phần tử của vector x và y tương ứng
Công thức Pearson Correlation Coefficient:
MERGEFORMAT (.)Trong đó:
- n là số chiều của vector x, y
- và là các phần tử của vector x và y tương ứng
- và là giá trị trung bình của x, y
Ví dụ minh hoa
- Độ tương đồng của người dùng ND0 và người dùng ND1
- Sau khi tính hết độ tương đồng của các cặp người dùng ta có ma trận tươngquan
Trang 30Đồ án tốt nghiệpChương 2:Kết hợp thừa số hóa ma trận và học sâu cho kỹ thuật lọc cộng tác
Hình 2.11 Ví dụ ma trận tương quan giữa các người dùng
Bước 3: Dự đoán đánh giá của người dùng cho sản phẩm
Giả sử một muốn dự đoán người dùng u sẽ đánh giá bao nhiêu cho sản phẩm i Ta
sẽ tìm ra k người dùng tương đồng với u nhất mà đã đánh giá cho sản phẩm i Dựa vào sựđánh giá của k người dùng cho sản phẩm i ta sẽ có thể dự đoán ra đánh giá của ngườidùng u cho sản phẩm i theo công thức sau:
MERGEFORMAT (.)Trong đó:
: Số điểm đánh giá dự đoán sau khi chuẩn hóa của người dùng ucho sản phẩm i
: Tập k hàng xóm người dùng tương đồng với người dùng u nhất mà
đã đánh giá cho sản phẩm i
: Người dùng thuộc tập
Trang 31Đồ án tốt nghiệpChương 2:Kết hợp thừa số hóa ma trận và học sâu cho kỹ thuật lọc cộng tác
: Giá trị rating đã chuẩn hóa mà người dùng đã đánh giá cho sảnphẩm i
: Độ tương đồng giữa người dùng u và
ND1 (độ tương đồng = 0.95, đánh giá chuẩn hóa cho SP2 = 0.33333)
ND2 (độ tương đồng = 0.09, đánh giá chuẩn hóa cho SP2 = -1.25)
- Điếm đánh giá( độ quan tâm ) dự đoán của người dùng ND0 cho sản phẩm SP2là:
- Lần lượt dự đoán các điểm đánh giá chuẩn hóa của các cặp người dùng và sảnphẩm chưa có điểm đánh giá sẽ thu được ma trận đánh giá chuẩn hóa đầy đủ:
Hình 2.12 Ví dụ ma trận người dùng- đối tượng chuẩn hóa đầy đủ`
Bước 4: Chuyển giá trị đánh giá chuẩn hóa thành giá trị đánh giá gốc
Chuyển ma trận đánh giá chuẩn hóa đầy đủ thành ma trận đánh giá có giá trị từ 1đến 5 như ma trận ban đầu Việc quy đổi việc giá trị đánh giá đã chuẩn hóa về thang điểm
1 - 5 được thực hiện như sau:
515\*
Trang 32Đồ án tốt nghiệpChương 2:Kết hợp thừa số hóa ma trận và học sâu cho kỹ thuật lọc cộng tác
: giá trị rating của người dùng u cho sản phẩm i
: giá trị rating chuẩn hóa của người dùng u cho sản phẩm i
: Giá trị các rating trung bình của của người dùng u đã đánh giá chocác sản phẩm trước đó
Hình 2.13 Ví dụ ma trận người dùng - đối tượng đầy đủ
2.1.2.2 Lọc cộng tác dựa trên mô hình (Model–based)
Theo cách tiếp cận này, các mô hình được phát triển để dự đoán người dùng đánhgiá các đối tượng (sản phẩm) chưa được xếp hạng Có nhiều thuật toán lọc cộng tác dựatrên mô hình như: mạng Bayes, mô hình phân cụm, mô hình ngữ nghĩa tiềm ẩn như phântách giá trị số ít (SVD), phân tích ngữ nghĩa tiềm ẩn xác suất, nhiều yếu tố nhân, phân bổDirichlet tiềm ẩn và các mô hình dựa trên quy trình quyết định Markov [15]
Trong mô hình nhân tố tiềm ẩn (latent factor models): Kỹ thuật thừa số hóa matrận (Matrix Factorization) là một kỹ thuật điển hình và được sử dụng rộng rãi Đây cũng
sẽ là kỹ thuật mà đồ án sẽ giới thiệu và tìm hiểu trong phần sau
Trang 33Đồ án tốt nghiệpChương 2:Kết hợp thừa số hóa ma trận và học sâu cho kỹ thuật lọc cộng tác
Hình 2.14 Minh họa thừa số hóa ma trậnTrong đó:
: ma trận đánh giá
: ma trận dự đoán
X: ma trận đại diện các đặc trưng tiềm ẩn của sản phẩm
W: ma trận đại diện các đặc trưng tiềm ẩn của người dùng
m: số sản phẩm
n: số người dùng
k: số thuộc tính ẩn của sản phẩm và người dùng
Ví dụ minh họa: Ma trận đánh giá (được biểu diễn ở hình 2.9) gồm 2 người dùng(ND0, ND1) và 2 sản phẩm (SP0,SP1) Với k = 2, mỗi người dùng sẽ là một vector tiềm
ẩn có độ dài là 2 và mỗi sản phẩm sẽ là một vector tiềm ẩn có độ dài là 2
Hình 2.15 Ví dụ thừa số hóa ma trận
Trang 34Đồ án tốt nghiệpChương 2:Kết hợp thừa số hóa ma trận và học sâu cho kỹ thuật lọc cộng tác
Quy trình xây dựng và tối ưu hàm mất mát được thực hiện như sau [17]:
Hàm mất mát
* MERGEFORMAT (.)Trong đó:
X: ma trận đại diện các đặc trưng tiềm ẩn của sản phẩm
W: ma trận đại diện các đặc trưng tiềm ẩn của người dùng
s: số lượng mẫu quan sát
: giá trị rating của sản phẩm thứ m bởi người dùng thứ n
: vector ẩn cho sản phẩm (hàng của ma trận X)
: vector ẩn cho người dùng( cột của ma trận W)
: tham số điều chỉnh
: căn bậc hai của tổng bình phương tất cả các phần tử của ma trận X
: căn bậc hai của tổng bình phương tất cả các phần tử của ma trận W
: chỉ xét những cặp sản phẩm - người dùng đã có giá trị đánh giá
- Hàm mất mát đối với 1 cột trong ma trận W
Trang 35Đồ án tốt nghiệpChương 2:Kết hợp thừa số hóa ma trận và học sâu cho kỹ thuật lọc cộng tác
: tốc độ học (learning rate)
: ma trận tạo bởi các hàng tương ứng với các sản phẩm đã đượcđánh giá
: vector đánh giá tương ứng
- Hàm mất mát đối với 1 hàng trong ma trận X
11111\*MERGEFORMAT (.)
- Khi đó,công thức cập nhật cho mỗi hàng của X là:
MERGEFORMAT (.)Trong đó:
Sau quá trình tối ưu (huấn luyện), ta có được hai ma trận và , khi
đó, xếp hạng của người dùng u cho mục thông tin i được dự đoán qua công thức:
Trang 36Đồ án tốt nghiệpChương 2:Kết hợp thừa số hóa ma trận và học sâu cho kỹ thuật lọc cộng tác
13113\*
MERGEFORMAT (.)
k là số thuộc tính ẩn của người dùng và sản phẩmNgoài phương pháp trên, để tăng độ chính xác của thuật toán này, ta sẽ xét hàmmất mát với bias và hệ số tối ưu cho X và W Như trong thuật toán vùng lân cận cho lọccộng tác, chúng ta có bước chuẩn hóa ma trận để tránh sự thiên lệch do sự khó tính hay dễtính khác nhau giữa các users Với Thừa số hóa ma trận, ta có thể chuẩn không chuẩn hóa
mà sử dụng trực tiếp các giá trị ratings ban đầu, bằng cách tối ưu các biases cùng lúc với
X và W [18]
Khi đó, đánh giá của người dùng u cho sản phẩm i được xác định bằng công thức:
14114\*
MERGEFORMAT (.)Trong đó lần lượt là bias của sản phẩm i, bias của người dùng u và đánhgiá trung bình của toàn bộ các đánh giá
Hàm mất mát sẽ có dạng:
15115\*MERGEFORMAT (.)
2.3 Kết hợp thừa số hóa ma trận và học sâu
2.3.1 Mạng nơ-ron nhân tạo (Neural Network)
Mạng nơ-ron (Neural Network) được xây dựng dựa trên mạng nơ-ron sinh học Nógồm các nơ-ron (nút) nối với nhau và xử lý thông tin bằng cách truyền theo các kết nối vàtính giá trị tại các nút.Mạng nơ-ron được cấu thành bởi các nơ-ron (hay còn gọi làperceptron)
- Một perceptron (nơ-ron) sẽ nhận nhiều đầu vào x và kết quả trả về y là 1 dạng nhịphân [19]
- Công thức tính tổng trọng số (weighted sum):
MERGEFORMAT (.)Trong đó:
n : số lương đầu vào
i : chỉ số của đầu vào
: giá trị của đầu vào thứ i
Trang 37Đồ án tốt nghiệpChương 2:Kết hợp thừa số hóa ma trận và học sâu cho kỹ thuật lọc cộng tác
: trọng số tương ứng của đầu vào thứ i
Hàm ReLU:
19119\*
MERGEFORMAT (.)Thường sử dụng trong các lớp ẩn (hidden layer)
Hàm Softmax:
Trang 38Đồ án tốt nghiệpChương 2:Kết hợp thừa số hóa ma trận và học sâu cho kỹ thuật lọc cộng tác
Thường sử dụng cho lớp đầu ra (output layer) để đưa các giá trị đầu ra
về miền xác suất
Hàm tanh:
MERGEFORMAT (.) Mạng nơ-ron được tổ chức thành các tầng (layers), và mỗi tầng chứa một số lượnglớn các nơ-ron (perceptrons) Các tầng này được kết nối với nhau thông qua các trọng số(weight) và độ lệch (bias)
Cấu trúc cơ bản của một mạng nơ-ron bao gồm ba loại tầng (Layer) chính [20]:
- Tầng vào (Input Layer): Tầng này chứa các nơ-ron đại diện cho các đặc trưng đầuvào của dữ liệu
- Tầng ẩn (Hidden Layers):
Nằm giữa tầng vào và tầng ra
Đây là các lớp trung gian thể hiệu cho việc suy luận logic và tính toán củamạng
- Tẩng ra (Output Layer):
Tầng này chứa các nơ-ron đại diện cho kết quả đầu ra của mô hình
Số lượng nơ-ron trong tầng đầu ra phụ thuộc vào loại vấn đề mà mô hình đanggiải quyết (ví dụ: phân loại nhị phân, phân loại nhiều lớp, hoặc dự đoán số)
Hình 2.17 Cấu trúc cơ bản của mạng nơ-ron [21]
Trang 39Đồ án tốt nghiệpChương 2:Kết hợp thừa số hóa ma trận và học sâu cho kỹ thuật lọc cộng tác
Lan truyền xuôi (feedforward) trong mạng nơ-ron : Lan truyền xuôi là quá trìnhtính toán cũng như lưu trữ các biến trung gian (bao gồm cả đầu ra) của mạng nơ-ron theothứ tự từ tầng đầu vào đến tầng đầu ra [22]
Lan truyền ngược (back-propagation) trong mạng nơ-ron: một thuật toán phổ biếnđược sử dụng trong mạng nơ-ron để tính toán đạo hàm của hàm mất mát (loss function)theo các trọng số (weights) trong mạng Nó là phương pháp huấn luyện mạng nơ-ron bằngcách sử dụng giải thuật gradient descent để cập nhật các trọng số của mạng, từ đó giúpcho mạng học được cách phân loại hoặc dự đoán đầu ra chính xác hơn [23]
Cách thức hoạt động của thuật toán lan truyền ngược (backpropagation) như sau [24]:
- Lan truyền xuôi các tính toán trong mạng truyền thẳng: Đầu tiên, mạng nơ-rontính toán đầu ra dựa trên các giá trị đầu vào (input) và trọng số của mạng Các giátrị này được tính toán theo từng lớp (layer) của mạng, từ đầu vào đến đầu ra
- Lan truyền lỗi ngược lại qua mạng:
Sai số giữa đầu ra thực tế (ground truth) và đầu ra dự đoán (predicted output)được tính toán bằng cách sử dụng hàm mất mát (loss function)
Sử dụng thuật toán gradient descent để tối ưu hàm mất mát
- Cập nhật lại các trọng số (weight) và độ lệch (bias) tương ứng
2.3.2 Kết hợp thừa số hóa ma trận và Multi-layer Perceptron
Trong phần trên đồ án đã tìm hiểu kỹ thuật thừa số hóa ma trận trong lọc cộng tác
là một kỹ thuật phổ biến và điển hình cho kỹ thuật lọc cộng tác Tuy nhiên, việc sử dụngtích vô hướng (inner product) cho các đặc trưng ẩn của người dùng và sản phẩm không đủ
để nắm bắt được cấu trúc phức tạp của dữ liệu tương tác giữa người dùng và sản phẩm
[25] Ngoài ra với trường hợp ma trận xếp hạng rất thưa thớt, có sự kém hiệu quả trongcác tính năng tiềm ẩn học được bằng kỹ thuật thừa số hóa ma trận [4]
Vì vậy, Xiangnan He và các cộng sự đã đề xuất kết hợp thừa số hóa ma trận tổngquát (Generalized Matrix Factorization) và Multi-layer Perceptron (là một dạng mạng nơ-ron) trong kỹ thuật lọc cộng tác [25] Phương pháp này cho phép GMF và MLP tìm hiểucác phần nhúng (Embeddings) riêng biệt và kết hợp hai mô hình bằng cách ghép lớp ẩncuối cùng của chúng Kiến trúc của mô hình được biểu diễn như sau:
Trang 40Đồ án tốt nghiệpChương 2:Kết hợp thừa số hóa ma trận và học sâu cho kỹ thuật lọc cộng tác
Hình 2.18 Kiến trúc mô hình kết hợp GMF và MLP [25]
Lớp nhúng (Embedding Layer)
Đầu vào của mô hình là ID của người dùng và ID của sản phẩm được được mã hóabởi thuật toán one-hot encoding Sau đó, sử dụng thuật toán nhúng (Embedding) để ánh xạcác vector one-hot biểu diễn người dùng và sản phẩm sang không gian vector có số chiềuthấp hơn, đồng thời vector này là dày đặc hơn và bảo toàn các mối quan hệ ngữ nghĩa tồntại trong dữ liệu ban đầu.Kết quả của quá trình nhúng là vector đặc tính ẩn (latent factors)
mô tả về đối người dùng hoặc sản phẩm [26]
Lớp thừa số hóa ma trận tổng quát (GMF Layer)
Lớp này tạo ra nhiều biến thể của thừa số hóa ma trận Đầu ra của lớp GMF códạng như sau:
22122\*
MERGEFORMAT (.)Trong đó:
lần lượt là vector tiềm ẩn của người dùng u, vector tiềm ẩncủa sản phẩm i và tích phần tử giữa 2 vector (element-wise product)
lần lượt là hàm kích hoạt và vector trọng số