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ư
Trang 1i
ĐỖ 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
Trang 2LỜ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à
Trang 3LỜ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à
Trang 4MỤ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
Trang 52.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
Trang 6DANH 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
Bảng 5: Ma trận chuẩn hóa Ŷ………51
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
Trang 7DANH 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
Trang 82 Item Sản phẩm, mục
Chỉ những sản phẩm trên hệ thống như: sản phẩm, phim, ảnh, bản nhạc, trang web, đoạn văn bản, …
3 Rating Đánh giá
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 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
4 CF Lọc cộng tác
CF có tên là Neighborhood-based Collaborative Filtering (NBCF) Khi chỉ nói CF, chúng ta sẽ ngầm hiểu rằng phương pháp được sử dụng là
Neighborhood-based
Trang 9Sự 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á
Trang 10thà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
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 (Model-based) 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
Trang 11hà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
Trang 12Đề 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
Trang 13CHƯƠ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 ★
Trang 14★★★ (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ọ
Trang 15đố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)
Trang 16𝑝𝑥 ∈ 𝑃 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
Trang 17Việ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ọ
Trang 181.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
Trang 19Tư 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
Trang 20nhữ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
Trang 21với mỗi mục đích tư vấn sẽ xác định ra sản phẩm thích hợp Dễ dàng nhận thấy những hệ thống gợi ý dựa trên nội dung thường thiết kế cho hầu hết những sản phẩm được tư vấn dựa trên text (văn bản) và nội dung của những hệ thống này được mô tả như là một từ khóa (keyword)
Một trong những thước đo phổ biến để xác định mức độ quan trọng của từ
khóa trong việc truy vấn thông tin là đo tần suất xuất hiện của mục từ trong tài liệu (Term Frequency) 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) được định nghĩa như sau:
Giả sử N là tổng số tài liệu được tư vấn cho người dùng và từ khóa 𝑘𝑗 xuất hiện trong 𝑛𝑖 của chúng (𝑛𝑖 là tổng số tài liệu có từ khóa k) Giả sử 𝑓𝑖,𝑗 là số lần
từ khóa 𝑘𝑖 xuất hiện trong tài liệu 𝑑𝑗 𝑇𝐹𝑖,𝑗 là tần số xuất hiện từ khóa 𝑘𝑖 trong tài liệu 𝑑𝑗:
𝑇𝐹𝑖,𝑗 = 𝑚𝑎𝑥𝑓𝑖,𝑗
Trong đó 𝑚𝑎𝑥𝑧𝑓𝑧,𝑗 là số lần xuất hiện cao nhất của từ khóa 𝑘𝑧 trong toàn tập tài liệu 𝑑𝑗 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 𝐼𝐷𝐹𝑖 đượ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 (𝑇𝐹𝑖,𝑗 mang lại tầm quan trọng cho từ khóa):
Trang 22Như đã nói ở trên, hệ thống dựa trên nội dung thường được dùng để tư vấn những sản phẩm đã được người dùng đó trước đây ưa thích Cụ thể, những sản phẩm được tiến cử đem so sánh trọng số với các sản phẩm mà người dùng trước đây đã sử dụng và từ đó tìm ra sản phẩm phù hợp nhất để tư vấn
ContentBasedProfile(u) là hồ sơ cá nhân của người dùng u chứa những thị hiếu và sở thích của người dùng Hồ sơ cá nhân thu được thông qua việc phân tích nội dung của những sản phẩm và trọng số do người dùng đánh giá trước đó, nó thường được xây dựng bằng cách sử dụng kỹ thuật phân tích từ
khóa từ việc truy vấn thông tin Chẳng hạn, ContentBasedProfile(u) có thể được
định nghĩa như là một véc tơ của những mức độ quan trọng mỗi mức này sẽ biểu diễn tầm quan trọng của từ khóa 𝑘𝑖 với người dùng u và nó có thể được tính toán từ các véc tơ nội dung đã được đánh trọng số cụ thể thông qua các kỹ thuật khác nhau Ví dụ một vài phương pháp tính trung bình cộng, tính toán ContentBasedProfile(u) như là một véc tơ “trung bình” từ những véc tơ nội dung cụ thể
Trong những hệ thống dựa trên nội dung, hàm tiện ích r(u, i) thường được định nghĩa như sau:
Dựa trên việc truy vấn thông tin để tư vấn các trang Web, Web sites URLs hoặc các thông điệp tin tức Usenet, thì 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ơ 𝑊⃗⃗⃗⃗⃗ và 𝑊𝑢 ⃗⃗⃗⃗ của các từ khóa quan trọng Hàm r(u, i) được biểu diễn trong 𝑖việc truy vấn thông tin thường được xác định theo véc tơ 𝑊⃗⃗⃗⃗⃗ và 𝑊𝑢 ⃗⃗⃗⃗ như sau: 𝑖𝑟(𝑢, 𝑖) = 𝑐𝑜𝑠(𝑊⃗⃗⃗⃗⃗ , 𝑊𝑢 ⃗⃗⃗⃗ ) = 𝑊𝑖 ⃗⃗⃗⃗⃗ 𝑊𝑢 ⃗⃗⃗⃗ 𝑖
Trang 23Ví 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ơ 𝑊⃗⃗⃗⃗⃗ mơ tả các 𝑢thuật ngữ 𝑘𝑗 với mức độ quan trọng cao 𝑊𝑗𝑢 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 tự để 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á trị 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ơ 𝑊⃗⃗⃗⃗ 𝑖
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
dựa vào kinh nghiệm 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 Nạ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 Nạve Bayes thường được dùng để đánh giá xác suất trang 𝑝𝑗 cĩ thuộc lớp 𝐶𝑖 khơng (cĩ quan hệ hay khơng cĩ quan hệ) dựa vào tập các từ khĩa 𝑘1,𝑗, ……, 𝑘𝑛,𝑗 trong trang đĩ:
Ngồ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:
𝑃(𝐶𝑖) ∏ 𝑃(𝐾𝑥𝑗|𝐶𝑖)
Trang 24Mặ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 Nạve Bayes vẫn đưa ra độ chính xác cao về mức độ phân loại
Hơn nữa cả 𝑃(𝐾𝑥𝑗|𝐶𝑖) và 𝑃(𝐶𝑖) cĩ thể được đánh giá từ dữ liệu hướng dẫn phía dưới Với mỗi trang 𝑝𝑗, xác suất 𝑃(𝐶𝑖|𝑘1𝑗& … &𝑘𝑛𝑗) được tính tốn ứng với mỗi lớp 𝐶𝑖 và trang 𝑝𝑗 sẽ được gán cho lớp 𝐶𝑖 nếu nĩ cĩ xác suất lớn nhất
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
Theo như nhận xét trong [8] hệ thống tư vấn hướng dựa trên nội dung cĩ một số hạn chế 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ữ
- Quá chuyên mơn hĩa: 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 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
Trang 25ngẫ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 quá chuyên 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 tự 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ó quá 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
- V ấn đề người dung 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
1.2.3 Phương pháp tư vấn dựa trên lọc cộng tác
Mục đích của giải thuật lọc cộng tác là gợi ý những 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
Trang 26Hình 1.5: Minh họa phương pháp tư vấn dựa trên lọc cộng tác
Trong kịch bản điển hình của lọc cộng tác, có một danh sách m người dùng 𝑈 = {𝑢1, 𝑢2, … , 𝑢𝑚} và một danh sách n sản phẩm 𝐼 = {𝑖1, 𝑖2, … , 𝑖𝑛} Mỗi người dùng 𝑢1có danh sách các sản phẩm 𝑆𝑢, mà người dùng đã đánh giá về sản phẩm đó Chú ý rằng 𝑆𝑢 I và 𝐼𝑢𝑖 có thể là rỗng
Hình 1.6 mô tả quy trình lọc cộng tác bao gồm 2 nhiệm vụ chính là:
- Dự đoán: cho ra giá trị 𝑃𝑎𝑗 thể hiện đánh giá của người dùng a lên sản phẩm j
-Tư vấn: cho ra danh sách N sản phẩm {𝑇𝑖𝑁} mà người dùng a thích nhất Giải thuật lọc cộng tác được mô tả thông qua một ma trận đánh giá 𝑅𝑚 𝑥 𝑛người dùng và sản phẩm Mỗi phần tử 𝑎𝑖,𝑗 trong mảng R biểu diễn đánh giá của người dùng thứ i đối với sản phẩm thứ j Mỗi đánh giá cá nhân là một số và nó
có thể nhận giá trị 0 khi người dùng chưa đánh giá sản phẩm đó Các nhà nghiên cứu đã xây dựng một số các giải thuật lọc cộng tác mà có thể chia thành 2 loại chính: dựa trên bộ nhớ (Memory-based) và dựa trên mô hình (Model-based)
Trang 27Hình 1.6: Quy trình của hệ thống tư vấn dựa trên lọc cộng tác
1.2.3.1 Giải thuật lọc công tác dựa trên bộ nhớ (Memory-based)
Giải thuật lọc cộng tác dựa trên bộ nhớ sử dụng các cơ sở dữ liệu người dùng – sản phẩm để dự đoán Những hệ thống triển khai kỹ thuật thống kê để tìm những lựa chọn của người dùng, như biết người lân cận, có lịch sử phù hợp với người dùng đích (ví dụ, người dùng đánh giá tương tự các sản phẩm khác nhau hoặc có khuynh hướng mua những sản phẩm tương tự nhau) Một khi lân cận của người dùng được hình thành, hệ thống sử dụng những giải thuật khác nhau để kết hợp những sở thích của người dùng lân cận để đề xuất một dự đoán hoặc một tư vấn top-N cho người dùng
Theo [8], Thuật toán dựa trên bộ nhớ về căn bản sử dụng các độ do kinh nghiệm để sinh ra dự đoán dựa trên tập các sản phẩm của người dùng
Cụ thể là, đánh giá trị 𝑟𝑢,𝑖 của người dùng u đối với sản phẩm i thường được tính toán như là một sự kết hợp trọng số của nhiều người dùng khác nhau với cùng một sản phẩm i (thường là N sản phẩm giống nhau nhất):
𝑟𝑢,𝑖 = aggr
Trang 28Trong đó 𝑈̂ biểu diễn tập người dùng N có trọng số về sản phẩm i giống nhất với người dùng u (N có thể bắt đầu từ 1 đến tất cả người dùng) Một số ví
và thường được xem là trọng số, nghĩa là với những người dùng giống nhau nhất thì 𝑟𝑢′ ,𝑖 sẽ được thực hiện dựa vào dự đoán của 𝑟𝑢 ,𝑖 Chú ý rằng sim(x, y) như 1 hàm heuristics, được giới thiệu để đánh giá mức khác nhau giữa users giống nhau, nhằm làm đơn giản hóa việc sử dụng thừa số k như biểu diễn ở trên
Những phương pháp tiếp cận khác nhau thường được tính toán hàm tương quan sim(u, u’) giữa những người dùng trong hệ thống tư vấn cộng tác
Trang 29Trong hầu hết các phương pháp tiếp cận này, sự tương tự giữa hai người dùng dựa trên những đánh giá về sản phẩm được cả u và u’ quan tâm Một trong những phương pháp phổ biến nhất là dựa trên sự tương quan và cosine Cụ thể, đầu tiên, xem 𝑆𝑥𝑦 là tập tất cả các sản phẩm của người dùng x và y; nghĩa là
𝑆𝑥𝑦 = {𝑖 ∈ 𝑆 | 𝑟𝑥,𝑖 ≠ ∅ & 𝑟𝑦𝑥,𝑖 ≠ ∅} Trong hệ thống tư vấn cộng tác, 𝑆𝑥𝑦
thường được sử dụng để đưa ra kết quả tức thì cho việc tính toán “người hàng xóm gần nhất” của người dùng x và thường được tính toán để đưa ra xếp hạng
rõ ràng, nghĩa là tính toán tìm ra điểm giao nhau giữa tập 𝑆𝑥 và 𝑆𝑦
1.2.3.2 Thuật toán lọc cộng tác dựa trên mô hình (Model-based)
Giải thuật lọc cộng tác dựa trên mô hình cung cấp các tư vấn sản phẩm
bằng việc phát triển một mô hình đánh giá của người dùng Giải thuật loại này thuộc phương pháp tính xác suất và xử lý lọc cộng tác như tính toán giá trị kỳ vọng của một dự đoán người dùng, cho đánh giá của người đó với các sản phẩm khác Xử lý xây dựng mô hình được thực hiện bởi nhiều các giải thuật học máy khác nhau như mạng Bayes, phân cụm, và phương pháp dựa trên luật (rule-based), mô hình hồi quy tuyến tính, mô hình entropy cực đại, …
Thuật toán dựa trên mô hình sử dụng tập đánh giá để đưa ra một mô hình
mà sau đó được sử dụng để tạo ra những dự đoán về trọng số Chẳng hạn, phương pháp tính xác suất để lọc cộng tác, trong đó những trọng số (đánh giá) chưa biết được tính như sau:
𝑟𝑢,𝑖 = 𝐸(𝑟𝑢,𝑖) = ∑𝑛𝑖=0𝑖 × 𝑃𝑟(𝑟𝑢,𝑖 = 𝑖 | 𝑟𝑢,𝑖′, 𝑖′ ∈ 𝑆𝑢)
Giá trị trọng số (đánh giá) là những số nguyên nằm giữa 0 và n Biểu thức xác suất là xác suất mà người dùng u sẽ đưa ra trọng số cụ thể cho sản phẩm i, dựa trên những trọng số của người dùng về những sản phẩm trước đó đã được đánh giá Để ước lượng xác suất này, sử dụng 2 mô hình xác suất tương đối sau: mô hình phân cụm (cluster) và mạng Bayes Trong mô hình đầu tiên, người dùng có
sở thích giống nhau được tập hợp lại thành một lớp Trong lớp người dùng, sự
Trang 30đánh giá được xem là độc lập với nhau, nghĩa là cấu trúc mô hình giống như mô hình Bayes thô sơ ban đầu Số lượng của các lớp và các thông số của mô hình được biết từ dữ liệu Mô hình thứ hai biểu diễn mỗi sản phẩm như là một nút trong mạng Bayes, ở đó mỗi trạng thái của nút tương ứng với giá trị trọng số của mỗi sản phẩm có thể nhận biết được Cả cấu trúc của mạng và xác suất điều kiện được nhận biết từ dữ liệu Vì vậy giới hạn của phương pháp này là mỗi người dùng có thể được tập hợp lại thành một nhóm (cluster) đơn lẻ, trong khi một vài ứng dụng
tư vấn có thể được lợi từ khả năng hợp users thành một vài nhóm cùng một lúc Chẳng hạn, trong tư vấn về sách, người dùng quan tâm đến một chủ đề với mục đích công việc nhưng hoàn toàn có thể quan tâm đến chủ đề khác vào những thời gian rảnh rỗi
Phương pháp lọc cộng tác có thể được giải quyết bằng phương pháp học máy khác nhau (như mạng nơ-ron nhân tạo) kết hợp với kỹ thuật phân tách đặc trưng (như sự phân tích giá trị đơn lẻ - một kỹ thuật đại số làm giảm chiều của những ma trận) có thể được sử dụng Các tác giả đã đi so sánh phương pháp dựa trên mô hình tương ứng của chúng với phương pháp dựa trên bộ nhớ chuẩn
và sau đó ghi lại chúng và thấy rằng trong một vài ứng dụng, phương pháp dựa trên mô hình thực hiện tốt hơn phương pháp dựa trên bộ nhớ tính theo mức độ chính xác của những tư vấn Tuy nhiên, việc so sánh cả hai trường hợp này hoàn toàn đều do kinh nghiệm mà không có học thuyết nào chứng minh khẳng định này [10]
Sự khác biệt chính giữa kỹ thuật dựa trên mô hình cộng tác và những phương pháp tiếp cận dựa trên hàm heuristic là những kỹ thuật dựa trên mô hình tính toán những dự đoán tiện ích (đánh giá) không dựa trên những luật về heuristic mà thay vì đó, dựa trên mô hình được biết đến từ những dữ liệu nằm bên dưới bằng cách sử dụng kỹ thuật học máy và thống kê Một phương pháp kết hợp cả phương pháp tiếp cận dựa trên bộ nhớ và dựa trên mô hình đã được
đề xuất, ở đó nó được phân tích dựa vào kinh nghiệm và cách sử dụng những
Trang 31phương pháp phối hợp này có thể cung cấp tư vấn tốt hơn những phương pháp cộng tác chỉ dựa trên mô hình hoặc dựa trên bộ nhớ
Một phương pháp khác để cải thiện hiệu quả của những thuật toán lọc cộng tác được đưa ra, ở đó đầu vào của tập các đánh giá dựa trên đặc tả của người dùng được lựa chọn một cách cẩn thận thông qua việc sử dụng một vài
kỹ thuật như loại trừ tạp nhiễu, sự dư thừa và khai thác các dữ liệu thưa thớt để đánh giá Những kết quả dựa theo kinh nghiệm chứng minh mức độ chính xác
và hiệu quả của những thuật toán lọc cộng tác dựa trên mô hình là tăng lên Những kỹ thuật lựa chọn đầu ra được đề xuất có thể giúp những thuật toán dựa trên mô hình chỉ rõ vấn đề cần nhận biết từ cơ sở dữ liệu rộng lớn Hơn nữa, giữa những sự phát triển gần đây nhất, đề xuất ra phương pháp thống kê cho lọc cộng tác tạo ra các cách thức khác nhau để so sánh những kỹ thuật dựa trên
bộ nhớ và dựa trên mô hình Cụ thể, việc sử dụng phương pháp học chủ động hơn để nhận biết ra mô hình xác suất về sở thích của mỗi người dùng và sử dụng việc lưu trữ những hồ sơ cá nhân của người dùng trong mô hình pha trộn
để tính toán những tư vấn
Hệ thống tư vấn cộng tác khắc phục được nhiều nhược điểm của hệ thống dựa trên nội dung Một điểm quan trọng là nó có thể xử lý mọi loại dữ liệu và gợi ý mọi loại sản phẩm, kể cả những sản phẩm mới [14, 15]
1.2.4 Tư vấn dựa trên cách tiếp cận kết hợp
Một vài hệ thống tư vấn sử dụng phương pháp kết hợp phương pháp dựa trên cộng tác và dựa trên nội dung nhằm tránh những hạn chế của những hệ thống tư vấn dựa trên cộng tác và dựa trên nội dung Cách thức nhằm kết hợp phương pháp dựa trên cộng tác và dựa trên nội dung thành hệ thống tư vấn kết hợp có thể phân loại như sau:
- Thực thi những phương thức dựa trên nội dung và dựa trên cộng tác một cách tách biệt cùng với đó là kết hợp những dự đoán của chúng
- Kết hợp một vài đặc tính dựa trên nội dung vào trong phương pháp dựa trên cộng tác
Trang 32- Kết hợp một vài đặc tính dựa trên cộng tác vào trong phương pháp dựa trên nội dung
- Xây dựng một số mô hình hợp nhất tổng quát kết hợp những đặc tính dựa trên nội dung và dựa trên cộng tác
Tất cả những phương pháp tiếp cận trên được sử dụng trong những nghiên cứu về hệ tự vấn sau:
- Kết hợp những tư vấn riêng rẽ: Một phương pháp để xây dựng những
hệ thống tư vấn kết hợp là thực hiện chia hệ thống tư vấn dựa trên nội dung và dựa trên cộng tác Như vậy có thể có hai kịch bản (scenarios) khác nhau Đầu tiên, kết hợp đầu ra đã thu được (những đánh giá) từ những hệ thống tư vấn riêng biệt thành một hệ thống tư vấn cuối cùng sử dụng hoặc là sự kết hợp tuyến tính những đánh giá hoặc là một lược đồ bầu chọn (voting) Nói một cách khác, chúng ta có thể sử dụng một trong những hệ thống tư vấn cụ thể đó, tại một thời điểm để sử dụng chúng tốt hơn dựa vào tiêu chuẩn “chất lượng” tư vấn
- Thêm những đặc tính dựa trên nội dung vào mô hình cộng tác: Một vài
hệ thống tư vấn kết hợp sử dụng phương pháp “cộng tác thông qua nội dung” được mô tả dựa trên những kỹ thuật cộng tác truyền thống và lưu trữ hồ sơ cá nhân dựa trên nội dung của mỗi người dùng Hồ sơ cá nhân dựa trên nội dung này không có những sản phẩm phổ biến được đánh giá, nó thường được dùng
để tính toán độ tương quan giữa hai người dùng Nó cho phép vượt qua những vấn đề liên quan đến sự thưa thớt của những ứng dụng cộng tác thuần nhất trước đây, điển hình là không có nhiều cặp người dùng có số lượng những sản phẩm chung Lợi thế khác của phương pháp này là người dùng được tư vấn một sản phẩm không chỉ khi sản phẩm đó có mức đánh giá cao do những người dùng
có cùng hồ sơ cá nhân mà còn cả khi sản phẩm này được đánh giá cao dựa trên những hồ sơ cá nhân của người dùng đó
- Thêm những đặc tính cộng tác vào mô hình dựa trên nội dung: Phương pháp phổ biến nhất trong kiểu này là việc sử dụng kỹ thuật giảm chiều (dimensionality reduction) trong nhóm những hồ sơ cá nhân dựa trên nội dung
Trang 33Chẳng hạn, sử dụng chỉ mục ngữ nghĩa latent (LSI) để tạo ra cái nhìn cộng tác của tập những hồ sơ cá nhân người dùng; ở đó những hồ sơ này được biểu diễn bởi những véc tơ, và kết quả của việc cải thiện hiệu năng được so sánh với phương pháp tiếp cận dựa trên nội dung thuần nhất
- Phát triển mô hình tư vấn hợp nhất: Nhiều nghiên cứu được đưa ra theo phương pháp tiếp cận này trong những năm gần đây Chẳng hạn, đề xuất ra việc
sử dụng những đặc tính dựa trên nội dung và dựa trên cộng tác (ví dụ, tuổi hoặc giới tính của người dùng hoặc các thể loại phim) trong việc phân loại dựa trên luật đơn
1.3 Kiến trúc tổng quát của hệ thống lọc thông tin
Một hệ thống lọc thông tin tổng quát bao gồm bốn thành phần cơ bản [16]: Thành phần phân tích dữ liệu (Data Analyser Component), thành phần
mô hình người dùng (User Model Component), thành phần học (Learning Component ) và thành phần lọc (Filtering Component)
Hình 1.7: Kiến trúc tổng quát của hệ thống lọc thông tin
Thành phần phân tích dữ liệu (DAC) có nhiệm vụ thu thập dữ liệu về
sản phẩm từ các nhà cung cấp thông tin (ví dụ tài liệu, thư điện tử, sách, báo, tạp chí, phim, ảnh ) Dữ liệu về sản phẩm được phân tích và biểu diễn theo một khuôn dạng thích hợp, sau đó chuyển đến bộ phận lọc tin
Phản hồi người dùng
Biểu diễn Thông tin sản phẩm
Biểu diễn Thông tin sản phẩm
Thông tin các sản phẩm
Sản phẩm phù hợp với người dùng
Hồ sơ người
dùng
Cập nhật thông tin huấn luyện
Thông tin đặc tả người dùng
Trang 34 Thành phần mô hình người dùng (UMC) có thể “hiện” hoặc “ẩn” dùng
để lấy thông tin về người dùng, như giới tính, tuổi, nơi sinh sống và thông tin người dùng đã truy vấn trước đó để tạo nên hồ sơ người dùng Hồ sơ người dùng sau khi tạo ra được chuyển đến thành phần học để thực hiện nhiệm vụ huấn luyện
Thành phần học (LC) thực hiện huấn luyện trên tập hồ sơ và phản hồi
của người dùng theo một thuật toán học máy nào đó Thuật toán học lấy dữ liệu
từ thành phần mô tả người dùng; lấy dữ liệu về sản phẩm đã được biểu diễn từ thành phần lọc kết hợp với thông tin phản hồi người dùng để thực hiện nhiệm
vụ huấn luyện Kết quả quá trình học được chuyển lại cho bộ phận lọc để thực hiện nhiệm vụ tiếp theo
Thành phần lọc (FC) là thành phần quan trọng nhất của hệ thống, có
nhiệm vụ xem xét sự phù hợp giữa hồ sơ người dùng và biểu diễn dữ liệu sản phẩm để đưa ra quyết định phân bổ sản phẩm Nếu dữ liệu sản phẩm phù hợp với hồ sơ người dùng, sản phẩm sẽ được cung cấp cho người dùng đó Trong trường hợp ngược lại, hệ thống loại bỏ sản phẩm khỏi danh sách những sản phẩm phân bổ cho người dùng Người dùng nhận được những sản phẩm thích hợp, xem xét, đánh giá, phản hồi lại cho thành phần học để phục vụ quá trình lọc tiếp theo
1.4 Ứng dụng của phương pháp lọc tin trong hệ thống tư vấn
Hệ thống gợi ý được ứng dụng khá thành công trong thực tiễn giúp người dùng giải quyết vấn đề quá tải thông tin Hệ thống gợi ý sử dụng các tri thức về sản phẩm, các tri thức của chuyên gia hay tri thức khai phá học được từ hành
vi con người dùng để đưa ra các 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 biệt là thương mại điện tử Trên thế giới, đã có nhiều công ty, tổ chức áp dụng thành công hệ thống gợi ý như là một dịch vụ thương mại của mình nhằm gợi ý các dịch vụ, sản phẩm và các
Trang 35thông tin cần thiết đến người dùng như: website mua sắm trực tuyến Amazon 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, gợi ý phim của MovieLens, Việc gợi ý sản phẩm phù hợp sẽ góp phần làm tăng doanh số bán hàng hoặc số lượng truy cập, download của hệ thống 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 đó Giúp cho khách hàng có thể tìm kiếm được những thông tin thú vị hoặc những sản phẩm mà họ muốn tìm dễ dàng hơn 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 đó
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 dữ liệu quá khứ của họ (dữ liệu 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 trên sản phẩm, ) từ đó hệ thống sẽ dự đoán được người dùng có thể thích sản phẩm nào và đưa ra những gợi ý phù hợp cho họ Hình 1.8 là một
ví dụ minh họa cho hệ thống gợi ý bán hàng của Amazon
Ngoài lĩnh vực thương mại điện tử như đã thấy ở ví dụ trên, hiện tại RS cũng được ứng dụng khá thành công trong nhiều lĩnh vực khác như trong giải trí: gợi ý bài hát cho người nghe (ví dụ, hệ thống của LastFM - www.last.fm), gợi ý phim ảnh (ví dụ, hệ thống của Netflix - www.netflix.com), gợi ý các video clip (ví dụ, hệ thống của YouTube - www.youtube.com); trong giáo dục và đào tạo (gợi ý nguồn tài nguyên học tập như sách, bài báo, địa chỉ web, … cho