Hệ thống gợi ý là một dạng kỹ thuậttrong lọc thông tin, RS đang được sử dụng rộng rãi trong nhiều lĩnh vực nhưthương mại điện tử, giải trí, giáo dục… nhằm dự đoán sở thích của người dù
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KHOA HỌC
HOÀNG THỊ THẢO TIÊN
NGHIÊN CỨU HỆ THỐNG GỢI Ý THEO
NGỮ CẢNH VÀ ỨNG DỤNG
CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ: 60 48 01 01
LUẬN VĂN THẠC SĨ KHOA HỌC
ĐỊNH HƯỚNG NGHIÊN CỨU
NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS LÊ MẠNH THẠNH
Thừa Thiên Huế, 2016
Trang 2LỜI CAM ĐOANTôi cam đoan các kết quả nghiên cứu đưa ra trong luận văn này dựa trên các kếtquả thu được trong quá trình nghiên cứu của riêng tôi, không sao chép bất kỳ kếtquả nghiên cứu nào của các tác giả khác Nội dung của luận văn có tham khảo và sửdụng một số thông tin, tài liệu từ các nguồn sách, tạp chí được liệt kê trong danhmục các tài liệu tham khảo.
Học viên
Hoàng Thị Thảo Tiên
Trang 3LỜI CẢM ƠN
Tôi xin chân thành cảm ơn PGS.TS Lê Mạnh Thạnh đã trực tiếp tận tình hướngdẫn, giúp đỡ, tạo mọi điều kiện thuận lợi cho tôi trong suốt quá trình nghiên cứu
Tôi xin gởi lời cảm ơn Quý Thầy Cô trong khoa Công nghệ thông tin trườngĐại học Khoa học Huế, đã cung cấp, truyền đạt kiến thức cho tôi trong suốt quátrình học tập tại trường
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á2014-2016 và các bạn bè đã luôn bên cạnh, động viên, khuyến khích trong suốt thờigian học tập và thực hiện đề tài
Cuối cùng, tôi xin được bày tỏ lòng biết ơn sâu sắc tới toàn thể gia đình, bạn bè
đã luôn động viên, khích lệ tinh thần để tôi có đủ nghị lực hoàn thành luận văn.Xin chân thành cảm ơn!
Huế, tháng 7 năm 2016
Học viên
Hoàng Thị Thảo Tiên
Trang 4MỤC LỤC
Trang
Lời cam đoan
Lời cảm ơn
Mục lục
Danh mục các bảng
Danh mục các hình
Danh mục các chữ viết tắt
MỞ ĐẦU 1
CHƯƠNG 1.TỔNG QUAN VỀ HỆ THỐNG GỢI Ý 5
1.1 HỆ THỐNG GỢI Ý 5
1.1.1 Giới thiệu hệ thống gợi ý 5
1.1.2 Dữ liệu của hệ thống gợi ý 7
1.1.3 Chức năng hệ thống gợi ý 10
1.1.4 Các phương pháp được sử dụng trong hệ thống gợi ý 13
1.1.5 Ứng dụng 17
1.2 PHƯƠNG PHÁP LỌC CỘNG TÁC 19
1.2.1 Tổng quan về lọc cộng tác 19
1.2.2 Ưu điểm của lọc cộng tác 20
1.2.3 Các hình thức tiếp cận 22
1.3 TIỂU KẾT CHƯƠNG 1 24
CHƯƠNG 2 XÂY DỰNG HỆ THỐNG GỢI Ý THEO NGỮ CẢNH 25
2.1 HỆ THỐNG GỢI Ý THEO NGỮ CẢNH 25
2.1.1 Ngữ cảnh trong hệ thống gợi ý 25
2.1.2 Mô hình hoá thông tin theo ngữ cảnh trong hệ thống gợi ý 28
2.1.3 Cách thu thập thông tin theo ngữ cảnh 31
2.1.4 Các phương pháp tiếp cận trong hệ thống gợi ý đa chiều 32
2.2 PHƯƠNG PHÁP XÂY DỰNG HỆ THỐNG GỢI Ý THEO NGỮ CẢNH 35
2.2.1 Xử lý thông tin ngữ cảnh đầu vào 35
Trang 52.2.2 Kỹ thuật phân rã ma trận 37
2.2.3 Xử lý thông tin ngữ cảnh đầu ra 42
2.2.4 Kết hợp các phương pháp gợi ý theo ngữ cảnh 44
2.3 TIỂU KẾT CHƯƠNG 2 46
CHƯƠNG 3 HỆ THỐNG GỢI Ý TRA CỨU KHÁCH SẠN THEO NGỮ CẢNH 47
3.1 MÔ TẢ HỆ THỐNG 47
3.2 PHÂN TÍCH, THIẾT KẾ, XÂY DỰNG HỆ THỐNG GỢI Ý TRA CỨU KHÁCH SẠN THEO NGỮ CẢNH 49
3.2.1 Sơ đồ ngữ cảnh 49
3.2.2 Biểu đồ phân rã chức năng 49
3.2.3 Biểu đồ luồng dữ liệu 50
3.2.4 Cơ sở dữ liệu hệ thống 52
3.2.5 Một vài giao diện minh hoạ cho hệ thống 53
3.3 ĐÁNH GIÁ 56
3.4 TIỂU KẾT CHƯƠNG 3 58
KẾT LUẬN 59
TÀI LIỆU THAM KHẢO 60
Trang 6DANH MỤC CÁC BẢNG
Trang
Bảng 1.1 Ví dụ ma trận người dùng x sản phẩm 15
Bảng 2.1 Minh hoạ tập dữ liệu với ngữ cảnh 36
Bảng 2.2 Tập dữ liệu sau khi sử dụng phương pháp xử lý ngữ cảnh đầu vào 37
Bảng 2.3 Hậu xử lý trên kết quả dự đoán 44
Bảng 3.1 Kết quả đánh giá dựa trên công thức RMSE 57
Trang 7DANH MỤC CÁC HÌNH
Trang
Hình 1.1 Minh hoạ hệ thống gợi ý 6
Hình 1.2 Minh họa phương pháp gợi ý dựa trên nội dung 14
Hình 1.3 Minh họa phương pháp gợi ý dựa trên lọc cộng tác 16
Hình 1.4 Gợi ý theo lọc cộng tác của Amazon 19
Hình 1.5 Quy trình của hệ thống gợi ý dựa trên lọc cộng tác 20
Hình 2.1 Minh hoạ cho không gian gợi ý ba chiều 30
Hình 2.2 Mô hình kết hợp ngữ cảnh trong hệ thống gợi ý 33
Hình 2.3 Quy trình gợi ý theo ngữ cảnh 35
Hình 2.4 Sử dụng phương pháp xử lý ngữ cảnh đầu vào 36
Hình 2.5 Minh họa kỹ thuật phân rã ma trận 38
Hình 2.6 Minh hoạ dự đoán người dùng thứ 3 cho item thứ 3 41
Hình 2.7 Xử lý thông tin ngữ cảnh đầu ra 43
Hình 3.1 Sơ đồ kiến trúc của hệ thống 48
Hình 3.2 Sơ đồ ngữ cảnh 49
Hình 3.3 Sơ đồ chức năng hệ thống 50
Hình 3.4 Sơ đồ luồng dữ liệu mức 0 50
Hình 3.5 Sơ đồ luồng dữ liệu mức 1 51
Hình 3.6 Sơ đồ luồng dữ liệu mức 2 51
Hình 3.7 Sơ đồ luồng dữ liệu mức 3 52
Hình 3.8 Biểu đồ cơ sở dữ liệu 52
Hình 3.9 Giao diện chính của website 53
Hình 3.10 Giao diện mô tả chi tiết khách sạn 53
Hình 3.11 Giao diện vị trí khách sạn 54
Hình 3.12 Giao diện đánh giá người dùng 54
Hình 3.13 Giao diện gợi ý cho người dùng mới theo thể loại và sao 55
Hình 3.14 Giao diện gợi ý theo ngữ cảnh và vị trí 56
Hình 3.15 Giao diện kết quả gợi ý theo ngữ cảnh và vị trí 56
Trang 8DANH MỤC CÁC CHỮ VIẾT TẮT
C Ngữ cảnh (Context)
CF Collaborative filtering (Lọc cộng tác)
I Item (Các mục tin)
IF Information filtering (Lọc thông tin)
IR Information retrieval(Thu thập thông tin)
MF Matrix Factorization(Kỹ thuật phân rã ma trận)
R Rating (Đánh giá)
RS Recommender Systems (Hệ thống gợi ý)
SGD Stochastic Gradient Descent (Giảm độ lêch ngẫu nhiên)
U Users( Người dùng)
Trang 9MỞ ĐẦU
1 Lý do chọn đề tài
Với sự phát triển về công nghệ thông tin thì nhu cầu tìm kiếm thông tin trênInternet ngày càng trở nên phổ biến nên một lượng lớn thông tin được đưa lênInternet hằng ngày Vì thế một nhu cầu mới đặt ra là một thông tin nên hay khôngnên được đọc, chia sẻ đến cho một đối tượng người sử dụng Internet? Thông tin nào
sẽ có khả năng được đánh giá cao bởi một đối tượng người sử dụng? Và làm thế nào
để xác định được là thông tin đó có khả năng được người dùng đánh giá cao haythấp? Để giải quyết vấn đề trên nhiều nghiên cứu đưa ra một Hệ thống gợiý( Recommender Systems) phù hợp nhất Hệ thống gợi ý là một dạng kỹ thuậttrong lọc thông tin, RS đang được sử dụng rộng rãi trong nhiều lĩnh vực ( nhưthương mại điện tử, giải trí, giáo dục…) nhằm dự đoán sở thích của người dùng nhờvào thông tin cá nhân hoặc những phản hồi (đánh giá) từ họ Hệ thống gợi ý học từkhách hàng và gợi ý sản phẩm tốt nhất trong số các sản phẩm phù hợp Các hệthống gợi ý thường dùng trong các ứng dụng chỉ có hai thực thể đó là người sử dụng
và các mặt hàng mà nó không đặt chúng vào một ngữ cảnh khi cung cấp các gợi ý.Nói cách khác hệ thống gợi ý đa số tập trung vào giới thiệu các mặt hàng phù hợpnhất với người dùng cá nhân mà không xem xét đến thông tin ngữ cảnh của ngườidùng như thời gian, địa điểm… Để hệ thống gợi ý có thể dự đoán chính xác về các
sở thích của người dùng thì nó phụ thuộc vào mức độ mà hệ thống gợi ý đã kết hợpcác thông tin theo ngữ cảnh
Trong nhiều ứng dụng thì việc kết hợp các thông tin theo ngữ cảnh vào các gợi
ý nhằm giới thiệu các mặt hàng để sử dụng trong tình huống nhất định cũng rất quantrọng Việc tìm kiếm các khách sạn ở Huế đối với khách du lịch thường phải nhờ đến
sự trợ giúp của hướng dẫn viên du lịch hoặc ít nhất là phải dựa vào sách hướng dẫnhay bản đồ để có được những thông tin về các địa điểm như khách sạn Tuy nhiênnhững sự trợ giúp này cũng có những hạn chế nhất định như: Khách du lịch sẽ có thểkhó tìm thấy những thông tin chi tiết về những khách sạn Hoặc là, họ sẽ được ở
Trang 10những khách sạn theo tour du lịch đã được định sẵn Như vậy làm thế nào để hỗ trợkhách có thể tìm thấy những khách sạn phù hợp với họ, phù hợp với những điều kiệnngữ cảnh xung quanh (như thời tiết, người đi cùng, vị trí, khoảng cách…)
Để đáp ứng những đòi hỏi trên, việc ứng dụng các công nghệ trong hệ thốnggợi ý với các yếu tố ngữ cảnh có thể sẽ cho một kết quả phù hợp
Và để đem lại sự tiện ích cho người dùng, tôi đã nghiên cứu “ Nghiên cứu hệthống gợi ý theo ngữ cảnh và ứng dụng” Hệ thống được vận hành ở trên nền Web
để hỗ trợ mọi người nhằm đem lại sự thoải mái và sự tiện dụng tối đa cho họ khitham gia vào hệ thống
2 Tổng quan tài liệu
Hiện cũng đã có nhiều nghiên cứu các kỹ thuật để xây dựng hệ thống gợi ý như
là sử dụng phương pháp lọc theo nội dung, lọc cộng tác, kết hợp cả 2 phương pháp trên
như bài báo Recommender Systems Handbook của tác giả Francesco Ricci, Lior Rokach, Bracha Shapira, Paul B Kantor (2011) [3]; Amazon.com recommendations: Item - item collaborative filtering của G.Linden, B Smith and J York [5] và A Survey
of Collaborative Filtering Techniques của X Su, T M Khoshgoftaar (2009) [9].
Ngoài ra cũng có nhiều bài viết nghiên cứu về hệ thống gợi ý theo ngữ cảnh và các kỹ
thuật để xây dựng chúng như “Context-aware recommender systems” của Gediminas Adomavicius and Alexander Tuzhilin (2008) [4]; Matrix factorization techniques for recommender systems của Yehuda Koren, Robert Bell and Chris Volinsky (2009) [7]
và A context‐ aware preference database system của Kostas Stefanidis, Evaggelia
Pitoura, Panos Vassiliadis (2007) [8]
Hệ thống gợi ý cũng đã được nghiên cứu và phát triển mạnh mẽ Hệ thốnggợi ý đã và đang được ứng dụng ngày một nhiều ở các lĩnh vực khác nhau Ở lĩnhvực về du lịch cũng có nhiều bài báo nghiên cứu cả trong nước và ngoài nước như
“Một tiếp cận trong xây dựng hệ thống gợi ý theo ngữ cảnh” của Lư Chân Thiện
và Nguyễn Thái Nghe (2015) [1]; “A Mobile 3D-GIS Hybrid Recommender System for Tourism” của José M Noguera, Manuel J Barranco, Rafael J Segura,
Trang 11Luís Martínez (2012) [6]; “Mobile recommender systems in tourism, Journal of Network and Computer Application” của Damianos Gavalas, Charalampos
Konstantopoulos, Konstantinos Mastakas, Grammati Pantziou (2014)[2]
Luận văn này tôi tập trung nghiên cứu hệ thống gợi ý ngữ cảnh tích hợp cácphương pháp xây dựng hệ thống bằng cách kết hợp phương pháp gợi ý dựa trên ngữcảnh đầu vào, tích hợp với kỹ thuật phân rã ma trận, và xử lý ngữ cảnh đầu ra đểứng dụng xây dựng hệ thống gợi ý khách sạn ở Huế
3 Mục tiêu nghiên cứu
- Nghiên cứu lý thuyết và kỹ thuật xây dựng hệ thống gợi ý dựa vào ngữ cảnh
của người dùng Tìm hiểu thuật toán dựa vào phương pháp gợi ý theo ngữ cảnh
- Đề tài luận văn sẽ chọn đối tượng dùng để gợi ý là khách sạn ở Huế.
4 Đối tượng nghiên cứu
- Lý thuyết và các kỹ thuật gợi ý theo ngữ cảnh.
- Thông tin các khách sạn
5 Phương pháp nghiên cứu
- Tổng hợp và phân tích các nội dung và kỹ thuật từ các nguồn như: thư viện,
các bài báo khoa học của các viện nghiên cứu, các trường Đại học hoặc trên mạngInternet Trên cơ sở đó nắm vững lý thuyết và các bước tiến hành xây dựng hệthống gợi ý theo ngữ cảnh thử nghiệm
- Tìm hiểu thực tế, tổng hợp số liệu từ Internet, tham gia thêm ý kiến của các
nhà chuyên môn
- Sử dụng các kỹ thuật tìm hiểu để xây dựng một hệ thống thử nghiệm.
6 Phạm vi nghiên cứu
- Tập trung vào các khái niệm, lý thuyết tổng quan về hệ thống gợi ý, lọc cộng
tác và một số kỹ thuật thông dụng, đơn giản
Trang 12- Ứng dụng cho hệ thống khách sạn trong phạm vi thành phố Huế và được đưa
lên Internet
7 Cấu trúc luận văn
7.1 Phần mở đầu
- Tính cấp thiết của đề tài.
- Mục tiêu của đề tài.
- Phương pháp nghiên cứu.
- Đối tượng và phạm vi nghiên cứu.
7.2 Phần nội dung
Chương 1: Trình bày tổng quan về hệ thống gợi ý, nêu các khái niệm cơ bản,chức năng, các phương pháp xây dựng và một số ứng dụng của hệ thống gợi ý.Ngoài ra chương này còn giới thiệu sơ lược về lọc cộng tác
Chương 2: Trình bày về hệ thống gợi ý theo ngữ cảnh và các phương pháptiếp cận xây dựng hệ thống gợi ý theo ngữ cảnh
Chương 3: Xây dựng hệ thống gợi ý tra cứu khách sạn dựa vào ngữ cảnh
7.3 Phần kết luận
- Nhận xét, đánh giá kết quả đạt được trong luận văn
- Hướng phát triển trong tương lai
Do thời gian có hạn và bản thân chỉ mới bước đầu thực hiện đề tài nghiêncứu lĩnh vực này nên không tránh khỏi những thiếu sót Kính mong sự giúp đỡ, góp
ý thêm của quý Thầy, Cô và các bạn để hoàn thiện luận văn
Trang 13CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG GỢI Ý
1.1 HỆ THỐNG GỢI Ý
1.1.1 Giới thiệu hệ thống gợi ý
Hệ thống gợi ý là một dạng của hệ hỗ trợ ra quyết định Hệ thống bao gồmcác kỹ thuật và công cụ phần mềm nhằm đưa ra những gợi ý cho người sử dụng,đáp ứng nhu cầu của họ về một sản phẩm, dịch vụ nào đó trên Internet Những gợi ýđược cung cấp nhằm hỗ trợ người sử dụng đưa ra quyết định lựa chọn những sảnphẩm, dịch vụ phù hợp với nhu cầu và thị hiếu của mình, chẳng hạn như: mua sảnphẩm nào, nghe thể loại nhạc gì hay tin tức trực tuyến nào nên đọc,
Hệ thống gợi ý thông thường sẽ tập trung vào một mục tin hay sảnphẩm( item) cụ thể nào đó (CD, tin tức) theo thiết kế và giao diện đồ họa ngườidùng kết hợp với kỹ thuật, thuật toán gợi ý nhằm sinh ra các gợi ý tuỳ chỉnh, cungcấp những gợi ý có ích và hiệu quả cho sản phẩm đó
Hệ thống gợi ý nhằm hướng dẫn những người dùng thiếu kinh nghiệm hoặcchưa đủ thẩm quyền để đánh giá số lượng áp đảo các Item thay thế Ví dụ, hệ thốnggợi ý giúp người dùng lựa chọn sách trên trang web của Amazon đã sử dụng hệthống gợi ý để cá nhân hoá các cửa hàng trực tuyến cho từng khách hàng (User).Khi hệ thống gợi ý được cá nhân hoá thì mọi người dùng hay nhóm người dùng sẽnhận được các gợi ý khác nhau từ những cá nhân khác
Mô hình đơn giản nhất của hệ thống gợi ý khi được cá nhân hoá là danh sáchxếp hạng các sản phẩm Khi thực hiện bảng xếp hạng này, hệ thống gợi ý sẽ thử dựđoán những sản phẩm hoặc dịch vụ phù hợp nhất với người dùng dựa trên sở thích
và nhu cầu của họ Để thực hiện được nhiệm vụ đó, hệ thống gợi ý thu thập sở thíchcủa người dùng được thể hiện qua hệ thống(xếp hạng cho các sản phẩm) hoặc suy ra
từ cách giải thích hành động của người dùng - là một tính năng ẩn có ưu tiên chophần hiển thị của trang hoặc xem xét chuyển hướng đến một trang khác.Ví dụ minhhọa cho hệ thống gợi ý: Một người dùng đăng nhập vào một hệ thống website đọcsách, người này cần xem 1 quyển sách về văn học nhưng không biết là nên xem
Trang 14quyển sách nào, hệ thống website cần gợi ý cho người đó xem một hoặc vài quyểnsách mà dự đoán rằng người này sẽ thích quyển sách mà được hệ thống gợi ý Đểgợi ý được cho người dùng, hệ thống cần thu thập các thông tin về người dùng vàcác người dùng khác, thông tin các quyển sách Có một vài cách gợi ý truyền thốngđơn giản nhất như, chọn những quyển sách được nhiều người ưa thích nhất, hoặcchọn những quyển mới nhất để gợi ý Tuy nhiên để nâng cao chất lượng của gợi ýcho người dùng, hệ thống gợi ý cần sử dụng các thông tin của tất cả những ngườidùng và thông tin của tất cả các sản phẩm, sử dụng các thuật toán để đưa ra gợi ýphù hợp nhất cho người dùng.
Hình 1.1 Minh hoạ hệ thống gợi ýMột số trang web về hệ thống gợi ý như: gợi ý sản phẩm của Amazon, hệ gợi
ý phim của NetFlix Hệ thống gợi ý đã chứng minh được ý nghĩa to lớn trong việcgiúp người sử dụng trực tuyến đối phó với tình trạng quá tải thông tin Chính vì vậy,
hệ thống gợi ý trở thành một trong những công cụ mạnh mẽ và phổ biến trongthương mại điện tử và trên nhiều lĩnh vực khác
Trang 15Trong hầu hết các trường hợp, bài toán gợi ý được coi là bài toán ước lượngxếp hạng (rating) của các item (phim, cd, nhà hàng…) chưa được người dùng xemxét Việc ước lượng này thường dựa trên những đánh giá đã có của chính ngườidùng đó hoặc từ những người dùng khác Những item có xếp hạng cao nhất sẽ đượcdùng để gợi ý Từ đó người dùng có những lựa chọn thích hợp với nhu cầu và thịhiếu của mình.
1.1.2 Dữ liệu của hệ thống gợi ý
Trong hệ thống gợi ý có 3 đối tượng dữ liệu chính được sử dụng là: các mục tintrên hệ thống (Items), người sử dụng (Users) và các giao dịch (Transactions -liên quangiữa các item và user)
1.1.2.1 Các mục tin(Item)
Items là những đối tượng được để ý Các mục tin có đặc tính phức tạp và
có giá trị hữu ích Giá trị của một item có thể là tích cực nếu nó có ích chongười sử dụng hoặc tiêu cực nếu nó không phù hợp khi người có lựa chọn sai.Lưu ý rằng khi người dùng nhận một item nào đó thì anh ta phải chịu một chiphí bao gồm việc tìm kiếm các item và chi phí thực để trả tiền cho item đó Khi
đó, các nhà thiết kế hệ thống gợi ý phải đưa sự phức tạp này của item vào tàikhoản người dùng, ví dụ về cấu trúc, văn bản đại diện và thời gian phụ thuộc sựquan trọng của bất kì một item tin tức nào Nhưng đồng thời các nhà thiết kếphải hiểu rằng thậm chí khi người dùng không trả tiền để đọc tin tức thì luôn cómột chi phí nhận thức liên quan đến tìm kiếm và đọc các mục tin Nếu một sảnphẩm được chọn có liên quan đến người dùng chi phí này được chi phối bởi cáclợi ích của việc có nên mua lại một thông tin hữu ích nào đó hay không, trongkhi đó nếu các item không liên quan đến giá trị thực của sản phẩm thì khi được
đề nghị nó sẽ là item tiêu cực Trong các lĩnh vực khác như xe hơi, đầu tư tàichính thì chi phí tiền tệ thực của sản phẩm trở thành một yếu tố quan trọng đểxem xét khi lựa chọn các phương pháp gợi ý thích hợp nhất
Một số item được phân loại theo giá trị và chức năng như sau:
Trang 16- Các item phức tạp có giá trị thấp: tin tức, trang web, sách, đĩa CD, phim ảnh.
- Các item phức tạp có giá trị cao: máy ảnh kĩ thuật số, điện thoại di động,máy tính,
- Các item phức tạp nhất là những chính sách bảo hiểm, đầu tư tài chính,phương tiện đi lại, việc làm
Công nghệ cốt lõi của hệ thống gợi ý là sử dụng một loạt các tính chất vàtính năng của các item Ví dụ như trong hệ thống gợi ý phim bao gồm: thể loại (hài,kinh dị, ), đạo diễn, diễn viên, để mô tả một bộ phim và tìm hiểu các tiện ích củamột item phụ thuộc vào tính năng của nó Các item được đại diện bằng cách sửdụng thông tin và đại diện các cách tiếp cận khác nhau, chẳng hạn như một mã IDduy nhất …
1.1.2.2 Người sử dụng(user)
Như đã đề cập ở trên, người sử dụng trong hệ thống gợi ý là đối tượng để gợi
ý có những mục tiêu và đặc điểm rất đa dạng Để cá nhân hoá các gợi ý và tương tácngười - máy, hệ thống gợi ý khai thác một loạt các thông tin về người sử dụng.Những thông tin này có thể được cấu trúc theo nhiều các khác nhau và việc chọnthông tin phụ thuộc vào kỹ thuật gợi ý Ví dụ, trong lọc cộng tác người dùng được
mô hình hóa dưới dạng danh sách đơn giản chứa các xếp hạng được cung cấp bởingười sử dụng đối với một số item Trong hệ thống gợi ý nhân khẩu học, các thuộctính được sử dụng là tuổi, giới tính, nghề nghiệp, trình độ học vấn Từ đó, các dữliệu người dùng sẽ tạo nên mô hình cá nhân người dùng để mã hóa sở thích và nhucầu của người đó
Người sử dụng cũng có thể được mô tả bằng mô hình hành vi của họ, ví dụtrong mô hình trình duyệt (hệ thống gợi ý Website), mô hình tìm kiếm du lịch (hệthống gợi ý du lịch) Ngoài ra, dữ liệu người dùng còn có thể bao gồm mối quan hệgiữa người sử dụng như mức độ tin cậy của các mối quan hệ giữa các người dùng
Hệ thống gợi ý có thể sử dụng thông tin này để giới thiệu các item từ một ngườidùng đáng tin cậy khác đã thích item này
Trang 171.1.2.3 Giao dịch (Transactions)
Chúng ta đề cập chung đến một giao dịch là bản ghi tương tác giữa người sửdụng và hệ thống gợi ý Giao dịch là dữ liệu đăng nhập chứa các thông tin quantrọng được tạo ra trong quá trình tương tác người - máy và nó giúp ích cho thuậttoán gợi ý mà hệ thống đang sử dụng Trong trường hợp này, một bản ghi giao dịch
có thể chứa một tham chiếu đến các sản phẩm được chọn bởi người sử dụng và mô
tả ngữ cảnh (mục tiêu sử dụng/truy vấn) cho hệ thống gợi ý
Trên thực tế, hình thức phổ biến nhất của dữ liệu giao dịch mà hệ thống gợi ýthu thập là các xếp hạng Những đánh giá này có thể được thu thập một cách rõ rànghoặc dưới dạng các biến ẩn Trong trường hợp các xếp hạng là rõ ràng, người dùng
sẽ được yêu cầu cung cấp ý kiến của mình về một mục trên thang điểm đánh giá
Các xếp hạng có thể ở các hình thức sau:
- Xếp hạng từ số 1 đến 5 sao (hệ thống gợi ý sách trên Amazon.com)
- Xếp hạng thứ tự chẳng hạn như: hoàn toàn đồng ý, đồng ý, trung lập,không đồng ý Ở đây, người dùng được yêu cầu chọn thuật ngữ tốt nhất cho ýkiến của mình
- Xếp hạng nhị phân lựa chọn mô hình trong đó người dùng chỉ việc chọn mụcnào đó tốt hay xấu
- Xếp hạng Unary có thể chỉ ra được người dùng đã quan sát hoặc mua mộtitem nào đó hoặc đánh giá trực tiếp trên item đó Trong trường hợp này, sự vắngmặt của đánh giá cho thấy chúng ta không có thông tin liên quan giữa người dùngvới item (có thể người đó đã mua ở chỗ khác)
Một hình thức khác để đánh giá là gộp tất cả các thẻ liên quan giữa ngườidùng với các item của hệ thống Ví dụ, trong hệ thống gợi ý của MovieLens các thẻbiểu diễn việc người dùng cảm thấy thế nào sau khi xem một bộ phim, có thể là
"quá dài" hoặc "hành động"
Trong các giao dịch xếp hàng dưới dạng ẩn, mục đích của hệ thống là để
Trang 18đưa ra ý kiến người dùng dựa trên cảc hành động của người dùng đó Ví dụ, nếungười dùng nhập từ khóa "Yoga" ở Amazon thì anh ta sẽ được cung cấp mộtdanh sách dài các cuốn sách có liên quan Mặt khác, người dùng có thể clickvào một cuốn sách nào đó trong danh sách để nhận được thêm thông tin Ởđiểm này, hệ thống có thể suy ra được người dùng có phần quan tâm đến cuốnsách đó Với các hệ thống đàm thoại (hệ thống hỗ trợ một quá trình tương tác)
mô hình giao dịch sẽ tinh tế hơn (dùng các yêu cầu bằng hành động)
Với các khái niệm trên thì bài toán gợi ý được mô tả như sau:
Gọi U là tập tất cả người dùng (users), V là tập tất cả cảc sản phẩm
(items) có thể gợi ý Tập V có thể rất lớn, từ hàng trăm ngàn (sách,cd ) đếnhàng triệu (như website) Hàm r(u,v) đo độ phù hợp (hay hạng) của sản phẩm vvới người dùng u: r:UV R Trong đó R là tập các đánh giá (rating) được sắpthứ tự Với mỗi người dùng uU cần tìm sản phẩm vV sao cho hàm r(u,v) đạtgiá trị lớn nhất
1.1.3 Chức năng hệ thống gợi ý
Hệ thống gợi ý đề xuất cho người dùng những sản phẩm, dịch vụ mà họ
có thể muốn sử dụng Ngoài ra, người dùng muốn sử dụng hệ thống gợi ý nếu
hệ thống hỗ trợ hiệu quả nhiệm vụ hoặc mục tiêu của họ Do đó một hệ thốnggợi ý phải cân bằng nhu cầu của hai nhóm người dùng này và cung cấp dịch vụ
có hiệu quả cho cả hai
Một số chức năng của hệ thống gợi ý đối với nhà cung cấp:
Tăng số lượng các mặt hàng bán ra cho các hệ thống thương mại điện tử:
Đây có lẽ là chức năng quan trọng nhất của hệ thống gợi ý Thay vì người dùng chỉmua một sản phẩm mà họ cần, họ được gợi ý mua những sản phẩm ‘có thể họ cũngquan tâm’ mà bản thân họ không nhận ra Hệ thống gợi ý tìm ra những ‘mối quantâm ẩn’ Bằng cách đó, hệ thống gợi ý làm gia tăng nhu cầu của người dùng và giatăng số lượng mặt hàng bán ra Tương tự đối với các hệ thống phi thương mại (như
Trang 19các trang báo), hệ thống gợi ý sẽ giúp người dùng tiếp cận với nhiều đối tượngthông tin mang tính đa chiều và được nhiều người quan tâm hơn
Bán các mặt hàng đa dạng hơn trên các hệ thống thương mại điện tử: Đây
là chức năng quan trọng thứ hai của hệ thống gợi ý Hầu hết các hệ thống thươngmại đều có các mặt hàng hết sức là đa dạng và phong phú Khi nắm bắt được nhucầu của người dùng, hệ thống gợi ý dễ dàng mang đến sự đa dạng trong sự lựa chọnhàng hóa Từ đó đòi hỏi các hệ thống thương mại điện tử cung cấp nhiều mặt hàng
đa dạng và phù hợp với người sử dụng hơn
Tăng sự hài lòng người dùng: Vai trò chủ đạo của hệ thống gợi ý là hiểu
nhu cầu của người dùng, gợi ý cho họ những thứ họ cần Chính vì vậy hệ thống gợi
ý tăng sự hài lòng của người dùng trên hệ thống và lựa chọn ưu tiên khi họ cónhững băn khoăn hoặc khi chưa có kiến thức về sản phẩm
Tăng độ tin cậy, độ trung thực của người dùng: Một khi hệ thống gợi ý
cho người dùng những lựa chọn và họ hài lòng về những gợi ý đó thì lòng tin củahọ đối với hệ thống (nơi mà giúp họ tìm ra những thứ họ thực sự quan tâm) đượcnâng lên một cách đáng kể Đây thật sự là một điều thích thú và thu hút người dùng
Có một điểm quan trọng là hệ thống gợi ý hoạt động dựa trên những xếp hạng thật
từ chính bản thân người dùng trong quá khứ Do đó, khi người dùng càng tin cậyvào hệ thống, đưa ra những đánh giá trung thực cho các sản phẩm, hệ thống sẽmang lại cho người dùng nhiều gợi ý chính xác hơn, phù hợp với nhu cầu, sở thíchcủa họ
Hiểu rõ những gì người dùng muốn: Đây là một chức năng quan trọng
khác của hệ thống gợi ý được thừa kế từ nhiều ứng dụng khác nhau là thu thập hoặc
dự đoán sở thích người dùng thông qua hệ thống Điều này giúp cho các nhà pháttriển dịch vụ có thể quyết định tái sử dụng các item theo mục tiêu cải thiện quản lýcửa hàng hoặc tiến hành sản xuất
Các chức năng của hệ thống gợi ý đối với người sử dụng như sau:
Tìm một số nhóm hàng tốt: Gợi ý cho người dùng một số mặt hàng dưới
Trang 20dạng một danh sách xếp hạng cùng với dự đoán bao nhiêu người dùng muốn sử dụng.
Tìm tất cả các mặt hàng tốt: Gợi ý tất cả các mặt hàng có thể đáp ứng một
số nhu cầu của người sử dụng Trong những trường hợp như vậy, nó không chỉ làtìm thấy các mặt hàng tốt Điều này đặc biệt đúng khi số lượng mặt hàng là tươngđối nhỏ
Chú thích trong ngữ cảnh: Tùy vào ngữ cảnh nhất định sẽ có một danh
sách nhấn mạnh các mặt hàng cụ thể nào đó tùy thuộc vào nhu cầu và sở thích của
số đông người dùng Ví dụ, một hệ thống gợi ý truyền hình có thể chú thích chươngtrình lịch phát sóng là đáng xem
Gợi ý một chuỗi các mặt hàng: Thay vì tập trung vào một gợi ý duy nhất, ý
tưởng của hệ thống gợi ý là để giới thiệu một chuỗi các mặt hàng sẽ thu hút hơn Ví
dụ điển hình như giới thiệu một loạt phim truyền hình, một cuốn sách về hệ gợi ýsau khi đã giới thiệu một cuốn sách về khai thác dữ liệu
Gợi ý một gói hàng: Gợi ý một nhóm các mặt hàng phù hợp với nhau Ví
dụ: một kế hoạch du lịch có thể bao gồm các điểm tham quan khác nhau, điểm đến,phương thức giải trí, dịch vụ ăn nghỉ…
Gợi ý chỉ xem: Trong chức năng này, người dùng duyệt các mặt hàng mà
không có bất kỳ ý định mua một món hàng nào Nhiệm vụ của hệ thống gợi ý làgiúp cho người dùng duyệt qua các mặt hàng có nhiều khả năng người dùng yêuthích nhất
Tìm gợi ý đáng tin cậy: Một số người dùng không tin tưởng vào hệ
thống gợi ý, họ thử nghiệm với chính họ để xem nó tốt như thế nào trong việcđưa ra các gợi ý Do đó, một số hệ thống cũng có thể cung cấp các chức năng cụthể để cho phép người sử dụng kiểm tra hoạt động của nó ngoài những yêu cầu
để có được gợi ý
Giúp đỡ người khác: Một số người dùng hài lòng với việc đóng góp thông
tin, ví dụ như: đánh giá cho các mặt hàng (Ratings), bởi vì họ tin rằng đóng góp củahọ sẽ có ích Điều này có thể là một động lực lớn để nhập thông tin thành một hệthống gợi ý Ví dụ: với một hệ gợi ý về xe, một người dùng đã mua một chiếc xemới thì họ nhận thức được rằng ý kiến đánh giá của mình về chiếc xe đó có thể sẽ
Trang 21hữu ích cho người khác.
1.1.4 Các phương pháp được sử dụng trong hệ thống gợi ý
Các hệ thống gợi ý thường được phân thành ba loại dựa trên cách nódùng để ước lượng hàng của sản phẩm :
1.1.4.1 Hệ thống gợi ý dựa trên nội dung
Gợi ý dựa trên nội dung khai thác những khía cạnh có liên quan đến nộidung thông tin sản phẩm người dùng đã từng sử dụng hay truy cập trong quákhứ để tạo nên gợi ý hay nói cách khác gợi ý trên nội dung được dựa trên mô tả
có sẵn về đối tượng Các phương pháp tiếp cận cho lọc nội dung có nguồn gốc
từ lĩnh vực truy vấn thông tin, trong đó mỗi sản phẩm được biểu diễn bằng một
hồ sơ sản phẩm, mỗi người dùng được biểu diễn bằng một hồ sơ người dùng
Phương pháp gợi ý dựa trên nội dung dựa trên độ phù hợp r(u, v) của sản phẩm
v với người dùng u được đánh giá dựa trên độ phù hợp r(u, vi) Ví dụ, để gợi ý một 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 đồng 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ậpthông tin (IR-information retrieval) và lọc thông tin (IF - information filtering) Do
đó, rất nhiều hệ thống dựa trên nội dung hiện nay tập trung vào gợi ý các đối tượngchứa dữ liệu text như văn bản, tin tức, website… Những tiến bộ so với hướng tiếpcận cũ của IR là do việc sử dụng hồ sơ về người dùng (chứa thông tin về sở thích,nhu cầu…) Hồ sơ này được xây dựng dựa trên những thông tin được người dùngcung 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ácgiao dịch của người dùng)
Gợi ý dựa trên nội dung có những ưu điểm:
- Đầu tiên, nó không yêu cầu số lượng người sử dụng lớn để đạt được độ chínhxác đề nghị hợp lý
Trang 22- Ngoài ra, các mặt hàng mới có thể được gợi ý ngay dựa trên thuộc tính
có sẵn
Tuy nhiên, nhược điểm của gợi ý dựa trên nội dung là khi thông tin mô tả đốitượng có chất lượng kém và bị lỗi Trong một số trường hợp, những mô tả về nộidung rất khó để so sánh và rút ra gợi ý, chẳng hạn so sánh nội dung của các filevideo, audio Việc phân tích nội dung của các đối tượng sản phẩm để đưa ra cácsản phẩm tương tự nhau, từ đó đưa ra các gợi ý cho người dùng vẫn chưa phản ánhđúng sở thích của người dùng đó với các sản phẩm
Hình 1.2 Minh họa phương pháp gợi ý dựa trên lọc nội dung
1.1.4.2 Hệ thống gợi ý lọc cộng tác
Ý tưởng cơ bản của các hệ thống này là dựa vào các đánh giá của nhữngngười dùng quá khứ lên các sản phẩm, dịch vụ để dự đoán sự đánh giá của họ lêncác sản phẩm, dịch vụ mà họ chưa đánh giá
Bài toán lọc cộng tác (hay đánh giá độ tương quan) dựa trên hành vi quá khứcủa người dùng (trong việc đánh giá sản phẩm) để đưa ra dự đoán
Trang 23Đầu vào của bài toán là ma trận thể hiện những hành vi quá khứ, gọi là matrận Người dùng- Sản phẩm (ma trận User x Item) Hàng là người dùng, cột là sảnphẩm, giá trị mỗi ô là đánh giá của người dùng lên sản phẩm đó.
Tùy theo hệ thống mà đánh giá của người dùng được quy ước những giá trị nào Trong ví dụ này, các đánh giá có giá trị từ 1->5
Bảng 1.1 : Ví dụ ma trận Người dùng x Sản phẩmSản phẩm 1 Sản phẩm 2 Sản phẩm 3
Ở ma trận này, đánh giá của người dùng 1 đối sản phẩm 1 là 1, sản phẩm 3 là
5, sản phẩm 2 chưa được đánh giá
Đầu ra của bài toán là: đánh giá của người dùng lên những sản phẩm mà họchưa đánh giá Hệ thống gợi ý dựa trên các đánh giá này mà xếp hạng các sản phẩm
và gợi ý cho người dùng
Trong ví dụ này, hệ thống gợi ý phải đưa ra dự toán, người dùng 1 đánh giásản phẩm 2 là bao nhiêu Người dùng 3 đánh giá sản phẩm 1, 2, 3 là bao nhiêu
Hệ thống gợi ý lọc cộng tác dự đoán độ phù hợp r(u,i) của một sản phẩm i với người dùng u dựa trên độ phù hợp r(u i , i) giữa người dùng ui và i, trong đó ui làngười có cùng sở thích với u Ví dụ, để gợi ý một bộ phim cho người dùng u, đầutiên hệ thống cộng tác tìm những người dùng khác có cùng sở thích phim ảnh với u.Sau đó, những bộ phim được họ đánh giá cao sẽ được dùng để gợi ý cho u Cónhiều hệ thống cộng tác đã được phát triển như: Youtube (video), Amazon.com(sách)… Các hệ thống này có thể chia thành hai loại: dựa trên kinh nghiệm(heuristic-based hay memory-based) và dựa trên mô hình (model-based)
Trang 24Hình 1.3 Minh họa phương pháp gợi ý dựa trên lọc cộng tác
1.1.4.3 Kết hợp các phương pháp
Các cách tiếp cận khác nhau có những ưu điểm và nhược điểm riêng Do đócần thiết kết hợp các kỹ thuật khác nhau để tận dụng ưu điểm và nhược điểm củacác cách tiếp cận để có được hệ thống gợi ý chính xác hơn
Có thể phân thành bốn cách kết hợp như sau:
Cài đặt hai phương pháp riêng rẽ rồi kết hợp dự đoán của chúng: Có hai
kịch bản cho trường hợp này Cách 1: Kết hợp kết quả của cả hai phương phápthành một kết quả chung duy nhất, sử dụng cách kết hợp tuyến tính (linearcombination) hoặc voting scheme Cách 2: Tại mỗi thời điểm, chỉ chọn phươngpháp cho kết quả tốt hơn (dựa trên một số độ đo chất lượng tư vấn nào đó) Ví dụ,
hệ thống DailyLearner system chọn phương pháp nào đưa ra gợi ý với độ chính xác(confidence) cao hơn
Tích hợp các đặc trưng của phương pháp dựa trên nội dung vào hệ thống cộng tác: Một số hệ thống lai (như Fab) dựa chủ yếu trên các kĩ thuật cộng tác
nhưng vẫn duy trì hồ sơ về người dùng (theo dạng của mô hình dựa trên nội dung)
Trang 25Hồ sơ này được dùng để tính độ tương đồng giữa hai người dùng, nhờ đó giải quyếtđược trường hợp có quá ít sản phẩm chung được đánh giá bởi cả hai người Một lợiích khác là các gợi ý sẽ không chỉ giới hạn trong các sản phẩm được đánh giá caobởi những người cùng sở thích (gián tiếp), mà còn cả với những sản phẩm có độtương đồng cao với sở thích của chính người dùng đó (trực tiếp)
Tích hợp các đặc trưng của phương pháp cộng tác vào hệ thống dựa trên đặc trưng: Hướng tiếp cận phổ biến nhất là dùng các kĩ thuật giảm số chiều trên tập
hồ sơ của phương pháp dựa trên nội dung Ví dụ, sử dụng phân tích ngữ nghĩa ẩn(latent semantic analysis) để tạo ra cách nhìn cộng tác (collaborative view) với tập
hồ sơ người dùng (mỗi hồ sơ được biểu diễn bởi một vector từ khóa)
Xây dựng mô hình hợp nhất, bao gồm các đặc trưng của cả hai phương pháp: đề xuất kết hợp đặc trưng của cả hai phương pháp vào một bộ phân lớp dựa
trên luật (rule-based classifier)
1.1.5 Ứng dụng
Chúng ta có các lĩnh vực tổng quát cho các ứng dụng phổ biến nhất trong hệthống gợi ý:
Giải trí : gợi ý cho phim ảnh, âm nhạc,TV…
Thương mại điện tử: gợi ý các sản phẩm cho người tiêu dùng mua máy ảnh,máy tính
Dịch vụ: gợi ý các dịch vụ du lịch, gợi ý nhà ở hoặc cho thuê, các dịch vụmai mối…
Một số ứng dụng nổi bật của hệ thống gợi ý:
Gợi ý sản phẩm: Có lẽ người dùng quan trọng nhất của hệ thống gợi ý là cáccửa hàng bán hàng trực tuyến Chúng ta đã biết đến Amazon hoặc các nhà cung cấptrực tuyến tương tự đang phấn đấu để lôi kéo người dùng quan tâm đến những gợi ýsản phẩm họ có thể mua Những gợi ý này không phải ngẫu nhiên mà nó dựa trêncác quyết định mua hàng được thực hiện trên các khách hàng tương tự hoặc trên cáccông nghệ khác
Trang 26Gợi ý phim ảnh: Netflix cung cấp cho khách hàng các gợi ý về những bộ
phim mà họ thích Những gợi ý này được dựa trên các xếp hạng được cungcấp bởi người sử dụng ( biểu diễn dưới dạng ma trận xếp hàng) Các dự đoán xếphạng chính xác có tầm quan trọng rất lớn, Netflix đã đưa ra giải thưởng một triệu đô
la cho người đầu tiên có thuật toán đánh bại 10% hệ thống gợi ý của chính họ Sau 3năm nghiên cứu, cuối cùng giải thưởng giành chiến thắng trong năm 2009 thuộc vềnhóm các nhà nghiên cứu Bellkor’s Pragmatic Chaos
Các trang tin tức: Dịch vụ tin tức đã cố gắng xác định sự quan tâm của độc
giả dựa trên các bài viết mà họ đã đọc trong quá khứ Sự giống nhau có thể dựa trêncác từ khoá tương tự trong tài liệu hoặc các bài viết đã được đọc từ người đọc cócùng thị hiếu Nguyên tắc áp dụng để gợi ý là cập nhập thường xuyên nội dung giữahàng triệu blog có sẵn, video trên YouTube hoặc trên các trang web khác.GroupLens - GroupLens là một phòng thí nghiệm nghiên cứu tại Khoa Khoa họcMáy tính và Kỹ thuật tại Đại học Minnesota, tiến hành nghiên cứu trong một số lĩnhvực, bao gồm: Hệ thống gợi ý, Cộng đồng trực tuyến, Công nghệ di động và côngnghệ phổ biến, thư viện kỹ thuật số, hệ thống thông tin vùng địa lý
Sách / Tài liệu: Amazon.com - Thành lập năm 1994, bắt đầu online vào
tháng 7/1995 Từ Lĩnh vực kinh doanh ban đầu là sách cho đến nay Amazon đã mởrộng kinh doanh sang nhiều mặt hàng khác như băng đĩa, đồ điện tử, game Tínhđến tháng 7-2005, hãng cung cấp 31 chủng loại hàng tại 7 nước Hiện Amazon đãcung cấp mặt hàng khác nhau với mục tiêu thực sự trở thành một siêu thị bán lẻkhổng lồ trên Internet theo đúng nghĩa của nó hơn là một cửa hàng bán sách vàDVD trực tuyến như trước đây Amazon.com là một địa chỉ hết sức lôi cuốn màngay ngày đầu thành lập đã trở thành địa điểm tham khảo cho bất cứ ai muốn bánmặt hàng của mình Hiện nay có hơn 900.000 đại lý bán lẻ cung cấp mặt hàng củahọ lên trang Amazon
Khi hệ thống gợi ý trở nên phổ biến và được quan tâm hơn, nó sẽ đánh thứctiềm năng lợi thế trong các ứng dụng mới Các nhà phát triển hệ gợi ý cho một ứngdụng nhất định phải hiểu rõ các các mặt cụ thể của ứng dụng, yêu cầu của nó, thách
Trang 27thức ứng dụng và hạn chế Người ta có thể lựa chọn thuật toán gợi ý tối ưu và thiết
kế một sự tương tác giữa con người và máy tính có hiệu quả
1.2 PHƯƠNG PHÁP LỌC CỘNG TÁC
1.2.1 Tổng quan về lọc cộng tác
Hệ thống gợi ý dựa trên lọc cộng tác (Collaborative filtering - CF)[9] 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ênnhững hành vi quá khứ của người dùng, ví dụ như: lịch sử giao dịch, đánh giá sảnphẩm, thời gian xem một mục tin…và đặc biệt là nó không cần thiết phải tạo ra các
hồ sơ tường minh (explicit feedback) cho người dùng Giả thuyết của lọc cộng táclà: “nếu người dùng i và j đánh giá cho n sản phẩm tương tự nhau, hoặc có hành vitương tự nhau ( như: xem, mua, nghe…) thì họ sẽ có các đánh giá tương tự nhau đốivới các sản phẩm khác” Để gợi ý được các mục tin, hệ thống lọc cộng tác cần sosánh các đối tượng cơ bản khác nhau như các mục tin (items) và người dùng (users)
Có hai nhánh nghiên cứu chính của lọc cộng tác là tiếp cận láng giềng(neighborhood approach) và các mô hình nhân tố ẩn (latent factor models)
Hình 1.4 Gợi ý theo lọc cộng tác của AmazonTrong hầu hết những hệ thống lọc cộng tác, dữ liệu luôn sẵn sàng dưới dạng
những đánh giá của người dùng về sản phẩm Cụ thể, ta đặt U là tập người dùng, P
là tập sản phẩm, trong đó iU là một người dùng, xP là một sản phẩm Mối quan
Trang 28hệ giữa tập người dùng U và tập sản phẩm P được biểu diễn thông qua ma trận đánh giá R={rix} Mỗigiá trị rix thể hiện đánh giá của người dùng u iU đối với sản phẩm p xP Giá trị rix có thể được thu thập trực tiếp bằng cách hỏi ý
kiến người dùng hoặc thu thập gián tiếp thông qua cơ chế phản hồi của
người dùng Giá trị rix=được hiểu người dùng ui chưa đánh giá hoặc chưa bao giờ biết đến sản phẩm p x Nhiệm vụ của lọc cộng tác là dự đoán quan điểm
của người dùng uaU đối với những mặt hàng mới p xP, trên cơ sở đó gợi ý cho người dùng u a những sản phẩm được đánh giá cao
Hình 1.5 Quy trình của hệ thông tư vấn dựa trên lọc cộng tácTrong lọc cộng tác, các kỹ thuật này được chia thành hai nhóm chính
là phương pháp tiếp cận dựa trên bộ nhớ và phương pháp tiếp cận dựa trên
mô hình
1.2.2 Ưu điểm của lọc cộng tác
Khi xây dựng hệ thống gợi ý dựa trên phương pháp tiếp cận nội dung(Content-Based Recommendation), có các phát sinh như sau:
Đặc tính nội dung của một đối tượng là không đủ để sử dụng khi gợi ý
Ví dụ như chúng ta không thể xác định được một bài hát hay là không hay nếu chỉdựa vào tông nhạc và 2 bài hát đó sử dụng cùng một tông
Trang 29- Gợi ý bị giới hạn: khi có một bài hát mới vào hệ thống thì bài hát đó đượcxác định là sẽ được người dùng U đánh giá cao nếu như nó các các đặc tính tươngđồng cao với các bài hát mà người dùng U thích trong quá khứ và ngược lại Chínhđiều này làm giới hạn việc gợi ý khi có một số sản phẩm có thể người dùng U thíchnhưng lại không có các đặc tính tương đồng với các bài hát mà người dùng U đãthích trong quá khứ.
- Tốc độ xử lý: tốc độ xử lý bị ảnh hưởng khi nội dung của đối tượng dùng đểgợi ý có tính chất phức tạp như hình ảnh, âm thanh…
Ngược lại với hướng tiếp cận dựa trên nội dung thì phương pháp tiếp cận lọc cộngtác lại khắc phục được các giới hạn trên:
Có thể lọc thông tin thuộc bất kỳ loại nào: Lọc cộng tác dựa trên đánh giá
của người dùng về hàng hoá, sản phẩm, phim, tài liệu, không có giới hạn về lĩnhvực, không cần phải phân tích, hiểu hoặc đánh chỉ số cho nội dung cần lọc Ưuđiểm này đã khắc phục được một trong những hạn chế chính của lọc cộng tác theonội dung bởi lọc theo nội dung đòi hỏi các item cần phải có nội dung được cấu trúctốt và yêu cầu một quá trình phân tích chuyển đổi, trích ra những thành phần đặctrưng Lọc theo nội dung chỉ phù hợp với dữ liệu văn bản Với những lĩnh vựckhông thuộc tài liệu văn bản như phim, âm nhạc,…thì lọc theo nội dung vẫn cầnphải có sự chuyển đổi thích hợp để đưa về dạng tài liệu như là tên diễn viên,đạo diễn, nhận xét người dùng… Những phân tích chuyển đổi này rất tốn kémcông sức để thu thập, tính toán Thêm vào đó, với lọc cộng tác, nhiều lĩnh vựckhác nhau có thể cùng sử dụng chung một phương pháp, cùng nền tảng Cùngmột hệ thống lọc cộng tác có thể áp dụng để lọc các bản tin, sản phẩm, hànghoá, phim, âm nhạc, tranh ảnh và sách
Không cần xác định thông tin mô tả yêu cầu: Trong lọc theo nội dung, hệ
thống cần phải xây dựng kho thông tin mô tả yêu cầu, sở thích của người dùng dướidạng tiểu sử Hệ thống lọc cộng tác không yêu cầu phải mô tả những thông tin nàymột cách tường minh Các hàng hóa, sản phẩm được lọc và gợi ý cho ngườidùng dựa vào mối quan hệ, sự tương đồng sâu xa giữa người dùng với nhau thể
Trang 30hiện thông qua những đánh giá của họ trên các hàng hoá, sản phẩm của hệthống Ví dụ, lọc cộng tác có thể được sử dụng để xây dựng hệ thống gợi ý lựachọn gợi ý những tài liệu được viết tốt nhất trong khi lọc nội dung lại khó khăntrong việc phân biệt giữa các tài liệu viết tốt với các tài liệu viết tồi vì chỉ dựatrên thống kê, không thực sự dựa trên quan điểm suy nghĩ của con người.
Người dùng có thể nhận được những gợi ý bất ngờ: Gợi ý bất ngờ là
những gợi ý về các sản phẩm, hàng hoá không chứa những thông tin mà ngườidùng đang thực sự tìm kiếm Đó là bởi vì trong lọc cộng tác, một mục được gợi
ý cho người dùng nếu một người dùng khác có sở thích tương đồng quan tâm,
do đó hoàn toàn có khả năng người dùng có sở thích tương đồng quan tâm lạikhông phải là cái mà người được gợi ý đang tìm kiếm Còn trong lọc nội dung,người dùng phải cung cấp cho hệ thống mô tả về những mục quan tâm và hệthống sẽ chỉ gợi ý cho người dùng những mục khoản thỏa mãn mô tả đó
Khả năng ứng dụng thực tiễn cao: Nghiên cứu đầu tiên về lọc cộng tác
được thực hiện vào năm 1994 Từ đó đến nay, các nghiên cứu cũng như ứngdụng vào thương mại của lọc cộng tác đã phát triển khá nhanh và rộng Một sốcông ty đã được thành lập để thương mại hoá công nghệ này, trong đó có cảwebsite mua bán lớn nhất thế giới Amazon Sự chuyển dịch thành công củalọc cộng tác từ nghiên cứu sang thương mại trong một thời gian ngắn mộtphần là do ưu điểm, tính hữu ích, cùng với khả năng ứng dụng lớn của nó đãđược công nhận
1.2.3 Các hình thức tiếp cận
1.2.3.1 Phương pháp tiếp cận dựa trên bộ nhớ (Memory base)
Ý tưởng : 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ệungườ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ớingườ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
Trang 31dùng được hình thành, hệ thống sử dụng những giải thuật khác nhau để kết hợpnhữ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 gợi ý chongười dùng.
Ưu điểm:
- Tính đơn giản: triển khai khá đơn giản
- Khả năng diễn giải: giúp người dùng hiểu vì sao đưa ra các gợi ý trên
- Tính hiệu quả: là điểm mạnh nhất của hệ thống gợi ý
- Tính ổn định: khi một người dùng hoặc một sản phẩm mới vào hệ thống thìchỉ cần tính toán lại một vài thông số về độ tương đồng sau một vài hành vi củangười dùng
Nhược điểm:
- Thiếu tính bao quát (Limited Coverage): Phương pháp này chủ yếu dựa trên
độ tương đồng của các lân cận Chính vì thế 2 đối tượng được xem là tương đồngkhi và chỉ khi chúng đều được đánh giá như nhau hoặc 2 người dùng được xem làtương đồng nếu họ có cùng các đánh giá trên cùng các sản phẩm Giả định này làmcho việc gợi ý bị giới hạn
- Dữ liệu thưa: Khi trong hệ thống xuất hiện càng nhiều người dùng, đồng thời
số lượng đối tượng dùng gợi ý tăng lên, trong khi đó số lượng đánh giá của mỗingười dùng trên mỗi đối tượng chỉ dừng lại ở mức 5 đến 10 đánh giá Chính vì thếlàm cho ma trận đánh giá UxI trở nên thưa, đồng thời làm tập đối tượng được gợi ýchung bởi 2 người dùng càng trở nên nhỏ hơn Cuối cùng, kết quả của gợi ý trở nênkhông chính xác và đáng tin cậy
1.2.3.2 Phương pháp tiếp cận dựa trên mô hình(Model-based)
Ý tưởng: Ngược lại với phương pháp dựa trên bộ nhớ, phương pháp tiếp cậndựa trên mô hình không sử dụng tất cả dữ liệu đã có để đưa ra dự đoán Thay vào
đó, chúng nắm bắt thông tin trong từng bước giống như một sự thoả thuận về môhình các sở thích của người dùng Giải thuật loại này thuộc phương pháp tính xácsuấ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ườidù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
Trang 32đượ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âncụ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…Phương pháp áp dụng tiếp cận dựa trên mô hình: Phươngpháp giảm số chiều và phương pháp đồ thị
1.3 TIỂU KẾT CHƯƠNG 1
Trong chương 1, luận văn đã tìm hiểu về hệ thống gợi ý, nêu các khái niệm
cơ bản và các phương pháp xây dựng và một số ứng dụng của hệ thống gợi ý Ngoài
ra chương này còn giới thiệu sơ lược về phương pháp lọc cộng tác.Và để xây dựng
hệ thống gợi ý dự đoán chính xác về các sở thích của người dùng thì chúng ta sẽ đềcập đến một cách tiếp cận khác là xây dựng hệ thống gợi ý theo ngữ cảnh, hướngtiếp cận này sẽ được giới thiệu chi tiết trong chương 2
Trang 33CHƯƠNG 2 XÂY DỰNG HỆ THỐNG GỢI Ý THEO NGỮ CẢNH
2.1 HỆ THỐNG GỢI Ý THEO NGỮ CẢNH
2.1.1 Ngữ cảnh trong hệ thống gợi ý
Hệ thống gợi ý đã đem lại những thay đổi lớn, vì vậy việc cải thiện hệ thốnggợi ý luôn là một vấn đề được quan tâm Các hệ thống gợi ý càng ngày càng phảihướng đến người dùng nhiều hơn Chính vì thế yếu tố ngữ cảnh (context) là mộttrong những yếu tố mang tình hướng người dùng cao, bởi vì với các ngữ cảnh khácnhau, rõ ràng con người có những hành động khác nhau
Ngữ cảnh đề cập đến bất kì thông tin nào có thể mô tả được hoàn cảnh củamột đối tượng: thời gian, nơi chốn, thời tiết, là vị trí hiện tại những yếu tố mà ảnhhưởng đến hành vi của đối tượng Ví dụ như, việc một người dùng quyết định cóđến ở một khách sạn hay không tùy thuộc vào khoảng cách từ vị trí hiện tại của cô
ấy đến khách sạn là xa hay gần Hay còn tùy thuộc vào vị trí của khách sạn như làkhách sạn đó có gần trung tâm không, gần trạm xe buýt không, có gần trạm ATMhay không
Khái niệm chung của ngữ cảnh rất rộng, chúng ta sẽ tập trung vào những lĩnhvực có liên quan trực tiếp đến hệ thống gợi ý, chẳng hạn như khai phá dữ liệu,thương mại điện tử cá nhân, cơ sở dữ liệu, tìm kiếm thông tin, hệ thống nhận biếtngữ cảnh phổ biến và điện thoại di động, tiếp thị và quản lý
Khai phá dữ liệu: Trong khai phá dữ liệu, ngữ cảnh đôi khi được định nghĩa
là những sự kiện đặc trưng cho giai đoạn cuộc sống của một khách hàng và đó cóthể xác định một sự thay đổi bản thân của người đó Ví dụ về các ngữ cảnh bao gồmmột công việc mới, sự ra đời của một đứa trẻ, kết hôn, ly hôn, và hưu trí Các thôngtin theo ngữ cảnh này sẽ giúp mô hình khai phá dữ liệu gắn liền với ngữ cảnh cụ thểnày bằng cách chỉ tập trung vào các dữ liệu có liên quan Ví dụ, những kết quả khaithác dữ liệu được áp dụng đối với các hoàn cảnh cụ thể, chẳng hạn như các mẫuphát hiện có liên quan đến việc nghỉ hưu của một người
Trang 34Cá nhân hoá thương mại điện tử : mục đích là mua hàng thực hiện bởi một
khách hàng trong một ứng dụng thương mại điện tử theo thông tin theo ngữ cảnhcủa người đó Ý đồ mua hàng khác nhau có thể dẫn đến các hành vi khác nhau Ví
dụ, cùng một khách hàng có thể mua từ các tài khoản trực tuyến các sản phẩm khácnhau cùng với lý do khác nhau: một cuốn sách để nâng cao kỹ năng làm việc cánhân của mình, một cuốn sách như một món quà, hoặc một thiết bị điện tử cho sởthích của cô Để giải quyết những ý định mua khác nhau của khách hàng, thì ta cầnxây dựng một hồ sơ riêng biệt của khách hàng đối với từng ngữ cảnh mua, và các
hồ sơ riêng biệt được sử dụng cho việc xây dựng mô hình riêng biệt dự đoán hành
vi của khách hàng trong ngữ cảnh cụ thể và cho các phân đoạn cụ thể của kháchhàng Phân đoạn theo ngữ cảnh của khách hàng là rất hữu ích, vì nó cho kết quảtrong mô hình dự báo tốt hơn trên các ứng dụng thương mại điện tử khác nhau Hệthống gợi ý cũng có liên quan đến thương mại điện tử cá nhân, từ kiến nghị cá nhân
về các sản phẩm và dịch vụ khác nhau được cung cấp cho khách hàng Tầm quantrọng của việc đưa và sử dụng các thông tin theo ngữ cảnh trong các hệ thống gợi ý
có thể cung cấp các gợi ý dựa trên các thông tin theo ngữ cảnh ngoài các thông tinđiển hình về người sử dụng và các mặt hàng sử dụng trong nhiều ứng dụng đề nghị.Những thực nghiệm cho thấy phương pháp nhận biết ngữ cảnh làm tốt hơn đáng kểcách tiếp cận không theo ngữ cảnh tương ứng về độ chính xác đề nghị và sự hàilòng của người dùng với các gợi ý
Truy tìm thông tin: thông tin theo ngữ cảnh rất hữu ích trong việc tìm kiếm
thông tin và truy cập, hầu hết các hệ thống hiện có cơ sở quyết định truy tìm của nó
là trên các truy vấn và các bộ sưu tập tài liệu, trong khi thông tin về ngữ cảnh tìmkiếm thường bị bỏ qua Hiệu quả của hệ thống truy tìm phụ thuộc vào khả năngthực hiện ngữ cảnh dựa trên phản hồi, tạo ra các truy vấn mà trả về kết quả phùhợp Trong tìm kiếm Web, ngữ cảnh được coi là tập hợp các đề tài có khả năng liênquan đến các thuật ngữ tìm kiếm Ví dụ, mô tả cách thức thông tin theo ngữ cảnh cóthể được sử dụng và đề xuất một số động cơ tên miền cụ thể san chuyên dựa trênbối cảnh tìm kiếm Hầu hết các tiếp cận và kỹ thuật tìm kiếm thông tin dựa vào ngữcảnh hiện nay tập trung vào các vấn đề ngắn hạn và lợi ích và yêu cầu người sử