Ví dụ, trong hệ thống sử dụng kĩ thuật lọc cộng tác collaborative filtering, người dùng được cấu trúc dưới dạng một danh sách bao gồm các đánh giá của người dùng về sản phẩm.. Dữ liệu đầ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
Nguyễn Hoàng Tài
XÂY DỰNG HỆ THỐNG GỢI Ý CHO WEBSITE THƯƠNG MẠI ĐIỆN TỬ
Chuyên ngành: Công nghệ thông tin
LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN: PGS.TS Lê Thanh Hương
Hà Nội – 2016
Trang 2LỜI CAM ĐOAN
Những kiến thức trình bày trong luận văn là do tôi tìm hiểu, nghiên cứu và trình bày theo những kiến thức tổng hợp của cá nhân Kết quả nghiên cứu trong luận văn này chưa từng được công bố tại bất kỳ công trình nào khác Trong quá trình làm luận văn, tôi có tham khảo các tài liệu có liên quan và đã ghi rõ nguồn tài liệu tham khảo Tôi xin cam đoan đây là công trình nghiên cứu của tôi và không sao chép của bất kỳ ai
Tôi xin chịu hoàn toàn trách nhiệm, nếu sai, tôi xin chịu mọi hình thức kỷ luật theo quy định
Hà Nội, ngày 15 tháng 3 năm 2016
Học viên
Nguyễn Hoàng Tài
Trang 3
Tôi cũng xin gửi lời cám ơn đến gia đình, bạn bè, những người đã luôn bên tôi, động viên và khuyến khích tôi trong quá trình thực hiện đề tài nghiên cứu của mình
Học viên
Nguyễn Hoàng Tài
Trang 4DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Từ viết tắt Thuật ngữ Giải thích
RS Recommender System Hệ thống gợi ý
TMĐT Thương mại điện tử
CF Collaborative Filtering Lọc cộng tác
Cold-start problem Vấn đề khởi động nguội RMSE Root-mean-square error Sai số quân phương
ALC Average-link clustering Phân cụm đường trung bình
Mixed Hybrid Phương pháp lai kiểu trộn
DB Demographic-based Kỹ thuật dựa trên nhân khẩu học
Trang 5DANH MỤC CÁC BẢNG
Bảng 1.1 - Hệ gợi ý một số website phổ biến 17
Bảng 2.1 - Dữ liệu demographic 21
Bảng 2.2 - Tổng quan về lọc cộng tác 30
Bảng 2.3 - Độ khả thi của từng phép lai với các kỹ thuật gợi ý khác nhau 37
Bảng 2.4 Tổng quan các cách thức lai 48
Bảng 3.1 - Đánh giá của người dùng trên sản phẩm 49
Bảng 3.2 - Thông tin nhân khẩu học của người dùng 49
Bảng 3.3 - So sánh các phương pháp phân cụm 51
Bảng 3.4 - Ví dụ minh họa bảng ma trận đánh giá 54
Bảng 3.5 - Ví dụ minh họa bảng ma trận tương đồng 55
Bảng 3.6 - Dự đoán đánh giá theo số lân cận 56
Bảng 3.7 - Bảng RMSE theo số lân cận 57
Bảng 3.8 - Bảng so sánh hiệu quả theo số lượng cụm 59
Bảng 3.9 - Độ chính xác hệ thống theo a, b 69
Bảng 3.10 - Đánh giá độ chính xác của chương trình cài đặt 75
Bảng 3.11 - So sánh kết quả với một số phương pháp khác trên tập MovieLens 76
Trang 6DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 2.1 Hệ gợi ý không cá nhân hóa 20
Hình 2.2 Hệ thống gợi ý demographic-based 22
Hình 2.3 Hướng tiếp cận collaborative filtering 23
Hình 2.4 Item-based similarity (wi,j) 26
Hình 2.5 Hướng tiếp cận content-based 31
Hình 2.6 Hướng tiếp cận knowledge-based 32
Hình 2.7 Bốn kỹ thuật gợi ý cơ bản 34
Hình 2.8 Weighted hybrid – Lai ghép trọng số 38
Hình 2.9 Hệ thống lai kiểu Trộn - Mixed 40
Hình 2.10 Switching hybrid - Lai ghép chuyển đổi 41
Hình 2.11 Feature Combination 42
Hình 2.12 Feature Augmentation 44
Hình 2.13 Cascade recommender 45
Hình 2.14 Meta-level hybrid 46
Hình 3.1 Kiến trúc hệ thống 53
Hình 3.2 Hiệu quả thuật toán theo số lân cận 57
Hình 3.3 Minh họa quá trình phân cụm 58
Hình 3.4 Hiệu quả hệ thống theo số lượng cụm 60
Hình 3.5 Hệ gợi ý Demographic-based 61
Hình 3.6 Hiệu quả hệ thống theo W 66
Hình 3.7 Giao diện demo hệ thống 70
Hình 3.8 Biểu đồ so sánh hiệu quả các kỹ thuật 75
Trang 7MỤC LỤC
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 1
DANH MỤC CÁC BẢNG 2
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 3
MỞ ĐẦU 5
CHƯƠNG 1 - TỔNG QUAN VỀ HỆ GỢI Ý 7
1.1 Các khái niệm cơ bản 7
1.2 Vai trò của hệ gợi ý trong thương mại điện tử 8
1.3 Nguồn dữ liệu và tri thức 10
1.4 Hệ gợi ý của một số website TMĐT phổ biến 12
CHƯƠNG 2 - CÁC KỸ THUẬT GỢI Ý 20
2.1 Các kỹ thuật gợi ý cơ bản 20
2.2 Hệ gợi ý lai và các phương pháp lai 33
CHƯƠNG 3 - XÂY DỰNG, ĐÁNH GIÁ HỆ GỢI Ý 48
3.1 Phát biểu bài toán 49
3.2 Đề xuất cách tiếp cận 50
3.3 Kiến trúc hệ thống 53
3.4 Xây dựng hệ thống 54
3.5 Minh họa hệ thống bằng Matlab GUI 70
3.6 Đánh giá 75
KẾT LUẬN 78
TÀI LIỆU THAM KHẢO 78
Trang 8MỞ ĐẦU
Trong mấy thập kỉ vừa qua lĩnh vực kinh doanh với sự chuyển dịch sang thương mại điện tử (TMĐT), đã có những bước tiến chóng mặt TMĐT là quá trình tiến hành một phần hay toàn bộ hoạt động thương mại thông qua các phương tiện điện tử, chủ yếu là các website
Mang trong mình rất nhiều lợi thế, nhưng với sự phát triển gia tăng không ngừng của các website thương mại điện tử cũng phát sinh ra một số thách thức, một trong những thách thức là người dùng làm thế nào để chọn lựa được sản phẩm mà họ cần trong vô vàn sản phẩm trong thế giới ảo này? Khi một khách hàng vào một website TMĐT để tìm mua sản phẩm, nếu họ chưa định hướng được cụ thể thứ cần mua hoặc định hướng chưa rõ ràng thì người dùng sẽ gặp khó khăn rất nhiều, hệ quả tất yếu là sẽ loay hoay trong một số lượng khổng lồ hàng hóa Vừa tốn thời gian của khách hàng vừa làm giảm doanh thu của người bán Vấn đề đặt ra là làm sao họ có thể làm được điều họ cần một cách hiệu quả Trong trường hợp này người dùng sẽ cần đến sự trợ giúp của hệ thống gợi ý sản phẩm để giải quyết vấn đề về này
Hệ gợi ý (Recommender System) là một dạng của hệ hỗ trợ ra quyết định, cung cấp các 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 Cụ thể ở trong các website TMĐT thì hệ gợi ý có nhiệm vụ thu thập thông tin từ khách hàng và sản phẩm để đưa ra được những sản phẩm phù hợp nhất
Nội dung chính của luận văn bao gồm 3 chương:
o Chương 1 Tổng quan về hệ gợi ý
o Giới thiệu về hệ gợi ý
o Vai trò hệ gợi ý trong thương mại điện tử
o Hệ gợi ý của một số website thương mại điện tử phổ biến
Trang 9o Chương 2 Các kỹ thuật gợi ý
o Các kỹ thuật gợi ý cơ bản
❖ Các phương pháp xây dựng hệ gợi ý lai cho website
o Chương 3 Xây dựng, đánh giá hệ gợi ý
Học Viên
Nguyễn Hoàng Tài
Trang 10CHƯƠNG 1 - TỔNG QUAN VỀ HỆ GỢI Ý
1.1 Các khái niệm cơ bản
Hệ gợi ý (Recommender System - RS) là những công cụ và kỹ thuật phần mềm cung cấp những gợi ý sản phẩm (item) cho người sử dụng (user) Những gợi ý này liên quan đến quá trình đưa ra quyết định, chẳng hạn như nên mua những sản phẩm nào, nên nghe bài hát nào, nên đọc tin tức nào…
Sản phẩm ở đây là chỉ chung những thứ mà người dùng cần chọn lựa và nhờ
hệ gợi ý giúp đỡ Một hệ gợi ý bình thường chỉ tập trung vào một loaị sản phẩm (VD: Sách, đĩa CD, tin tức ) và dựa vào thiết kế, giao diện người dùng cũng như những kĩ thuật gợi ý để đưa ra các lời gợi ý hiệu quả và chuyên biệt cho loại sản phẩm đó
Hệ gợi ý chủ yếu nhắm tới các đối tượng người dùng không có đủ năng lực hoặc kinh nghiệm cần thiết để ước lượng và tìm kiếm những sản phẩm tiềm năng cho nhu cầu của mình trong vô số các sản phẩm tràn ngập trên Internet Một hệ gợi ý sách
sẽ đưa ra cho bạn những quyển sách mà nó cho rằng bạn cần, hoặc cuốn sách mà bạn
có thể quan tâm và muốn đọc, ta có một ví dụ rất nổi tiếng đó là website Amazon, họ
có một hệ gợi ý tùy biến và cá nhân hóa cho từng người cụ thể sử dụng cửa hàng sách online này Hệ gợi ý cá nhân hóa (personalized) là hệ thống đưa ra những lời gợi ý khác nhau cho từng người hoặc từng nhóm người sử dụng khác nhau Ngoài ra còn
có hệ gợi ý không cá nhân hóa (non- personalized), những hệ gợi ý này thì đưa ra gợi
ý đơn giản hơn, chẳng hạn như đưa ra danh sách top 10 những sản phẩm được mua nhiều nhất Tuy cũng hữu dụng trong một số tình huống nhất định, nhưng do tính hạn chế mà phần nhiều các hệ gợi ý dạng này không phải là đối tượng của các nghiên cứu
về hệ gợi ý
Trang 11Hệ gợi ý cá nhân hóa đưa ra một danh sách xếp hạng các sản phẩm Nó sẽ cố gắng tiên đoán những sản phẩm, dịch vụ thích hợp nhất dựa trên các sở thích hay ưu tiên của người sử dụng cũng như các ràng buộc khác Để hoàn tất quá trình tính toán,
nó cần thu thập thông tin từ người sử dụng thông qua các biện pháp rõ ràng như việc đánh giá sản phẩm (rating, voting), hoặc có thể được suy luận ngầm thông qua các hành động của người dùng
Sự phát triển các hệ gợi ý ban đầu được bắt nguồn từ các quan sát đơn giản: những cá nhân thường dựa trên các gợi ý của người khác để đưa ra các quyết định bình thường hàng ngày, chẳng hạn như bạn sẽ thường tham khảo ý kiến của người khác nếu muốn đọc một cuốn sách, khi muốn chọn một bộ phim để xem Người ta thường có xu hướng chọn các sản phẩm có đánh giá tốt từ cộng đồng người dùng, hoặc xuất hiện thường xuyên trên trước mắt họ
Để mô phỏng hành vi đó, hệ gợi ý đầu tiên áp dụng các thuật toán để đưa ra các gợi ý tạo ra bởi một cộng đồng người dùng cho một người dùng khác đang có nhu cầu Những gợi ý này đưa ra sản phẩm mà những người dùng khác có cùng sở thích đã chọn lựa, cách tiếp cận này gọi là lọc tương đồng (collaborative-filtering),
cơ sở của nó là coi những người có sở thích giống nhau (do chọn lựa những sản phẩm tương đồng trong quá khứ) sẽ có những lựa chọn trong tương lai cũng như nhau
1.2 Vai trò của hệ gợi ý trong thương mại điện tử
Trong phần trước ta đã nói qua về khái niệm cơ bản về RS, phần này sẽ làm sáng tỏ các chức năng của RS
Sự ra đời của thương mại điện tử (e-commerce) với tính chất khiến việc kinh doanh trở nên đơn giản, tiết kiệm chi phí và giảm thiểu rủi ro đã tạo nên sự bùng nổ các doanh nghiệp cũng như số lượng và chủng loại hàng hóa Số lượng thông tin lớn
và đa dạng cũng như sự thay đổi nhanh chóng của các dịch vụ thương mại điện tử
Trang 12(VD: mua hàng, so sánh sản phẩm, đấu giá sản phẩm…) thường xuyên khiến người
sử dụng choáng ngợp và đưa ra các lựa chọn sai lầm Cần có một hệ thống giúp định hướng sự lựa chọn người dùng, đó là hệ gợi ý
Website thương mại có thể nói là “cửa hàng” của những doanh nghiệp trong lĩnh vực TMĐT và việc trang bị hệ thống gợi ý tốt cũng giống như thuê được những nhân viên bán hàng giỏi có thể tư vấn và nhanh chóng đưa ra những sản phẩm khách hàng cần
Hệ gợi ý trong TMĐT có thể dựa trên top các sản phẩm bán nhiều, có thể dựa trên thông tin nhân khẩu học (demographic) của khách hàng, hoặc là dựa trên quá trình xử lí các thói quen mua hàng trong quá khứ của khách hàng để dự đoán các mặt hàng trong tương lai Nói một cách khái quát, những kỹ thuật này là một phần trong quá trình cá nhân hóa website, bởi vì nó giúp trang web thay đổi theo nhu cầu của từng khách hàng một cách tự động Như CEO của Amazon - Jeff Bezos đã từng nói:
“Nếu tôi có 2 triệu khách hàng trên Web, thì tôi cũng nên có 2 triệu cửa hàng”
Những hệ thống RS này tăng cường tình hiệu quả của việc kinh doanh trong TMĐT theo các con đường [5][2]:
- Tăng số lượng các sản phẩm bán ra: Đây có thể coi là chức năng quan trọng nhất của hệ gợi ý trong lĩnh vực thương mại Người dùng càng được gợi ý chuẩn thì số lượng hàng mua sẽ tăng lên Những ứng dụng gợi ý phi thương mại cũng có mục tiêu tương tự, chẳng hạn như trang tin tức cũng muốn tăng
số lượng tin được đọc lên
- Bán đa dạng chủng loại mặt hàng: Giúp khách hàng tiếp cận được với nhiều loại mặt hàng, khai thác tiềm năng của sản phẩm
- Tăng sự hài lòng của người sử dụng: Một hệ gợi ý tốt nâng cao trải nghiệm của người dùng với ứng dụng của website đó
Trang 13- Thu thập thông tin, tri thức về khách hàng: Đây cũng là chức năng quan trong của hệ gợi ý, nhà cung cấp dịch vụ có thể lấy các tri thức này để sử dụng vào các mục đích khác chẳng hạn như để áp dụng vào việc nâng cao khả năng quản
- Xây dựng lòng trung thành của khác hàng đối với doanh nghiệp: Đây là chiến lược kinh doanh cơ bản Sử dụng hệ gợi ý tăng cường lòng trung thành của khách hàng bằng việc tạo ra mối quan hệ giá trị gia tăng giữa trang web và người dùng
1.3 Nguồn dữ liệu và tri thức
Hệ gợi ý là hệ thống xử lí trong đó chủ động thu thập rất nhiều và đa dạng các loại thông tin để xây dựng nên những gơi ý hiệu quả Thông tin chủ yếu phải là thông tin về sản phẩm gợi ý và khách hàng muốn mua sản phẩm Ngoài ra còn có nhiều nguồn tri thức khác tùy thuộc vào kĩ thuật gợi ý mà hệ thống sử dụng
Có những kỹ thuật gợi ý chỉ cần sử dụng ít dữ liệu chẳng hạn như dựa vào đánh giá theo thang điểm của người dùng (user rating) trên từng sản phẩm Có những
kỹ thuật sử dụng nhiều dữ liệu hơn chẳng hạn như dựa trên mô tả người dùng, các ràng buộc hay dựa vào các mối quan hệ xã hội cũng như các hành động của nười sử dụng Nói chung thì dữ liệu mà các hệ thống RS sử dụng có thể chia thành 3 loại: sản phẩm – item, người dùng – user và các giao dịch – transaction [4]
- Sản phẩm: Đây là các đối tượng sẽ được gợi ý cho người dùng Giá trị của
sản phẩm có thể là tích cực nếu nó hữu ích với người sử dụng, hoặc tiêu cực
Trang 14nếu họ đưa ra lựa chọn sai Chúng ta lưu ý rằng để khách hàng nhận được một sản phẩm, họ luôn mất một khoản chi phí bao gồm công sức tìm kiếm sản phẩm và hao phí tiền tệ để mua sản phẩm đó
Các hệ gợi ý, tùy vào kỹ thuật cốt lõi được áp dụng mà có thể sử dụng các tính chất, đặc điểm của sản phẩm Sản phẩm có thể được biểu diễn bằng nhiều cách tiếp cận cũng như các loại thông tin khác nhau, chẳng hạn dưới dạng một dãy các thuộc tính được liệt kê
- Người dùng: Người sử dụng các hệ thống RS có nhiều mục đích khác nhau,
để cá nhân hóa các lời gợi ý và các tác động người – máy thì các hệ gợi ý cũng phải khai thác 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ách khác nhau, và cũng như đối với các sản phẩm, điều này cũng dựa trên kĩ thuật gợi ý được áp dụng
Ví dụ, trong hệ thống sử dụng kĩ thuật lọc cộng tác (collaborative filtering), người dùng được cấu trúc dưới dạng một danh sách bao gồm các đánh giá của người dùng về sản phẩm Trong hệ thống sử dụng kĩ thuật nhân khẩu học (demographic), các thông tin xã hội học bao gồm tuổi, giới tính, nghề nghiệp, giáo dục… được sử dụng
- Phiên giao dịch: Nói một cách tổng quát phiên giao dịch là một tác động qua
lại giữa người dùng và hệ gợi ý Phiên giao dịch chứa những dữ liệu quan trọng được sinh ra trong quá trình này và cần thiết cho các thuật toán gợi ý mà hệ thống sử dụng
Thực tế thì các đánh giá là dữ liệu phiên giao dịch phổ biến nhất mà hệ thống
RS thu thập Những đánh giá này có thể được thu thập một cách rõ rảng hoặc tiềm
ẩn, ở trường hợp thu thập rõ ràng, người sử dụng sẽ được hỏi ý kiến của họ về sản phẩm trên một thước đo đánh giá cụ thể
Trang 151.4 Hệ gợi ý của một số website phổ biến
Trong phần này sẽ giới thiệu 6 website TMĐT khác nhau sử dụng nhiều loại công nghệ gợi ý khác nhau Với mỗi website sẽ có mô tả vắn tắt về các tính năng của
hệ thống [5]
1.4.1 Amazon.com
- Customers who Bought: Chức năng Customers who Bought có mặt trên các
trang thông tin của từng sản phẩm mà người dùng đang chọn Nó sẽ đưa ra danh sách sản phẩm được mua thường xuyên bởi những người cùng mua chung sản phẩm đang xét
- Eyes: Tính năng này cho phép khách hàng biết được thông tin về các sản phẩm
mới được thêm vào gian hàng của Amazon qua Email Khách hàng nhập vào yêu cầu dựa trên tác giả, tiêu đề, chủ đề, mã số quốc tế IBSN, hoặc các thông tin xuất bản
- Amazon.com Delivers: Đây là một biến thể của tính năng Eyes, người sử
dụng tick vào list check box các thể loại sách cho trước Một cách định kỳ Amazon sẽ gửi thông báo cho người đã đăng ký tính năng này về các gợi ý mới nhất trong phạm vi thể loại đó
- Book Matcher: Tính năng này cho phép khách hàng đưa ra các phản hồi trực
tiếp về cuốn sách mà họ đã đọc dựa trên thang điểm đánh giá “5 sao” từ “loved it” cho đến “hated it” Sau khi đánh giá một vài quyển sách mẫu, người dùng
có thể yêu cầu hệ gợi ý gợi ý cho họ những quyển sách có thể hợp với sở thích của mình
- Customer Comments: Chức năng này cho phép khách hàng có thể nhận được
các gợi ý dưới dạng text dựa trên những đánh giá của những người dùng khác Trong trang thông tin của mỗi quyển sách sẽ có đánh giá theo thang điểm 1-5 sao kèm theo các bình luận đánh giá của những người đã đọc sách dưới dạng
Trang 16câu hỏi và review, người dùng sẽ kết hợp bởi những thông tin gợi ý này để quyết định có mua hay không
1.4.2 CDNOW
- Album Advisor: Tính năng này của website CDNOW (www.cdnow.com)
hoạt động ở 2 chế độ Trong chế độ single album khi khách hàng truy cập vào trang thông tin của một album thì nó sẽ hiển thị 10 album có liên quan đến album được chọn Trong chế độ multiple artist thì người dùng nhập vào 3 nghệ
sĩ, hệ gợi ý sẽ trả lại 10 album có liên quan
- My CDNOW: Người dùng có khả năng thiết lập cho mình bộ sưu tập nhạc
riêng, dựa trên album hoặc nghệ sỹ họ thích Những sản phẩm đã được thanh toán ở CDNOW sẽ được coi như là những đánh giá tích cực Khi người dùng yêu cầu gợi ý hệ thống sẽ dựa vào các sản phẩm này
1.4.3 E-Bay:
- Feedback Profile: Chức năng này trong ebay giúp cho cả người bán lẫn người
mua cung cấp các thông tin phản hồi về các khách hàng khác mà đã hoàn tất giao dịch Phản hồi này bao gồm đánh giá độ hài lòng (satisfied/neutral/dissatisfied) cũng như bình luận cụ thể của khách hàng Nó
sẽ được sử dụng trong hệ gợi ý cho người mua, là những người mà có khả năng xem profile của người bán Profile này chứa các đánh giá trong 7 ngày, trong tháng, trong 6 tháng gần nhất cũng như đánh giá tổng hợp (chẳng hạn
800 đánh giá tích cực / 700 người dùng riêng lẻ) Người dùng cũng có thể xem chi tiết từng đánh giá cũng như bình luận cụ thể của người bán
1.4.4 Levis
Trang 17- Style Finder: Chức năng này cho phép khách hàng của Levis có thể nhận
được các gợi ý từ các bài viết của Levis về quần áo Khách hàng cung cấp thông tin về giới tính, sau đó xem 3 category: Music, Looks, Fun và đánh giá tối thiểu một số mục con bằng cách cung cấp các đánh giá trên thang điểm 7
từ “leave it” đến “love it” Họ cũng có thể chọn “no option” Sau khi cung cấp
đủ các thông tin người dùng có thể nhấn vào “get recommendations” hệ thống sau đó sẽ cung cấp danh sách quần áo gợi ý Khách hàng cũng có thể cung cấp các phản hồi bằng cách sử dụng chức năng “tell us what you think” để thêm ý kiến của mình vào bài viết Những đánh giá này có thể thay đổi 1 hoặc tất cả danh sách gợi ý ban đầu
1.4.5 Moviefinder.com
- Match Maker: Chức năng này cho phép người dùng lựa chọn ra được các
phim có sự tương đồng theo tâm trạng (mood), theo thể loại (genre), theo chủ
đề (theme) hoặc theo diễn viên (cast) với bộ phim đang được chọn Từ trang thông tin của bộ phim này, người dùng click vào biểu tượng Match Maker người dùng ngay lập tức sẽ được đưa ra list các phim liên quan cũng như link đến các phim có cùng đạo diễn và diễn viên
- We Predict: Chức năng nay gợi ý phim dựa trên các dấu hiệu cho thấy sự
quan tâm của khách hàng Khách hàng đánh giá theo thang điểm “5 stars” từ
A đến F cho các bộ phim hộ đã xem
1.4.6 Reel.com
- Movie Matcher: Cũng tương tự như chức năng của trang Amazon, chức năng
Movie Matcher của Reel cũng cũng cấp gợi ý cho người dùng trên từng trang thông tin riêng lẻ của từng bộ phim
- Movie Map: Chức năng này của Reel.com cũng cấp gợi ý cho khách hàng dựa
trên các đặc trưng cú pháp, người sử dụng nhập vào một truy vấn (query) dựa
Trang 18trên thể loại phim, định dạng, giá cả… và yêu cầu kết quả bằng cách cung cấp
thêm các ràng buộc như “sleepers” hoặc “best of this genre”
1.4.7 Tổng kết
Trong bảng dưới đây ta sẽ tổng kết các ứng dụng, giao diện, công nghệ gợi ý cũng như cách mà người dùng tìm ra được các gợi ý này
Trang 19Amazon.com Delivers Email Dựa trên thuộc tính Các tùy chọn Book Matcher Danh sách TopN - Tương quan người dùng
- Likert
Yêu cầu danh sách
Customer Comments - Đánh giá trung bình
- Từ khóa/ Free form
My CDNOW Danh sách TopN - Tương quan người dùng
- Likert
- Hệ thống điều hướng
- Yêu cầu danh sách
We Predict - Danh sách Top N - Tương quan người dùng - Các tùy chọn
Trang 20Bảng 1.1 – Hệ gợi ý một số website phổ biến [5]
Các giao diện gợi ý
- Bình luận văn bản: Những website có hệ gợi ý trực tiếp dựa trên các phản
hồi dạng văn bản (text comment) của khách hàng cho những người khác Điều này giúp site thu được lợi ích từ việc cung cấp cho khách hàng những thông tin khách quan và công bằng
- Đánh giá trung bình: Một chức năng đơn giản hơn text comment là Average
Rating – đánh giá trung bình, thay vì bắt người dùng phải duyệt qua hàng tá các quan điểm dạng text của người khác, thì họ có thể cung cấp các đánh giá dạng số, từ đó bằng việc tính trung bình các đánh giá đó, khách hàng có thể ước lượng được chất lượng sản phẩm
- Danh sách Top N: Các website sẽ cung cấp cho khách hàng một danh sách
một danh sách top các sản phẩm mà họ có thể thích và chưa được đánh giá
- Danh sách kết quả tìm kiếm đã sắp xếp: Cuối cùng là danh sách tìm kiếm
được sắp xếp, đây là một dạng thu hẹp của topN list Trong khi topN list giới hạn số lượng các dự đoán ở một số cho trước thì nó cho phép người dùng tiếp tục quá trình tìm kiếm với hi vọng có thể tìm thấy sản phẩm mà họ quan tâm
Các kỹ thuật gợi ý :
- Danh sách tìm kiếm sắp xếp
- Đánh giá trung bình
- Đánh giá tập trung
- Likert
- Hệ thống điều hướng
- Từ khóa/ Free form
Movie Matcher Sản phẩm tương đồng - Tương quan sản phẩm
- Lựa chọn từ biên tập
Hệ thống điều hướng
Movie Map Duyệt tìm - Dựa trên thuộc tính
- Lựa chọn từ biên tập
Từ khóa/ Free form
Trang 21- Không cá nhân hóa: Hệ gợi ý không cá nhân hóa trợ giúp cho người dùng
dựa trên đánh giá trung bình của những người khác Những gợi ý này là độc lập với khách hàng, bởi vậy cho nên mỗi khách hàng sẽ nhận được gợi ý như nhau
- Dựa trên thuộc tính: Là hệ thống gợi ý dựa trên thuộc tính của sản phẩm Hệ
thống gợi ý dựa trên thuộc tính chủ yếu được sử dụng thủ công, tức là người dùng yêu cầu trực tiếp các thuộc tính mong muốn theo cú pháp nào đó Hệ thống có thể là tạm thời hoặc được cá nhân hóa, điều này tùy thuộc vào website
có khả năng ghi nhớ những thuộc tính yêu thích của người dùng hay không
- Tương quan sản phẩm: Hệ gợi ý sử dụng tương đồng sản phẩm gợi ý cho
người dùng dựa trên một tập nhỏ các sản phẩm mà người dùng quan tâm Nó
có thể cần thêm những bổ sung thủ công, bằng cách yêu cầu người dùng nhập vào những sản phẩm ưa thích để đưa ra lời gợi ý Hệ gợi ý này chủ yếu là tạm thời, bởi vì nó chẳng cần quan tâm đến lịch sử hoạt động của người dùng
- Tương quan người dùng: Hệ gợi ý này gợi ý sản phẩm cho 1 khách hàng dựa
trên sự tương đồng giữa người này và những khách hàng khác Hệ thống tương quan người dùng thường là hệ thống tự động, những lời gợi ý được tạo ra tự động bởi hệ thống Hệ thống cần phải “học” từ người dùng theo thời gian
Dữ liệu đầu vào từ người dùng
Những hệ thống kể trên đều sử dụng một trong những dữ liệu đầu vào sau đây:
- Dữ liệu mua bán: là những thông tin về sản phẩm mà khách hàng đã mua
- Likert: Là mức thang đo sự hài lòng của khách hàng, những thang đo này có
thể là dạng số hoặc dạng văn bản, những phải được xếp theo thứ tự nhất định
- Văn bản: Những nhận xét đánh giá dạng văn bản để nói lên quan điểm của
người dùng về sản phẩm và cung cấp thêm thông tin tham kháo cho những người dùng khác
- Lựa chọn từ biên tập: Sự chọn lọc được tạo ra bởi con người
Trang 22Cách người dùng tiếp cận gợi ý:
Trong những ví dụ trên thì có 4 phương pháp:
- Hệ thống điều hướng: Phương thức này yêu cầu người dùng sử dụng hệ thống
điều hướng của website Lời gợi ý là một phần của trang thông tin sản phẩm
sẽ tự hiện ra khi người dùng click vào Những gợi ý này có thể bao gồm các sản phẩm gợi ý bổ sung, đánh giá trung bình, hoặc là danh sách các đánh giá của khách hàng khác.Thực ra người dùng đã cung cấp thông tin một cách
“ngầm” cho hệ gợi ý trong khi điều hướng trong website
- Danh sách yêu cầu: Khách hàng yêu cầu gợi ý trực tiếp từ hệ thống
- Các tùy chọn: Người dùng phải thực sự tương tác với hệ thống để có được
gợi ý, họ sẽ lựa chọn trong một tập các tiêu chuẩn/tùy chọn, những thông tin này sau đó sẽ được hệ thống sử dụng
- Từ khóa/ Free form: Người dùng sẽ phải cung cấp một tập các từ khóa văn
bản, hoặc nhập các dữ liệu cần thiết sử dụng input dạng freeform
Trang 23CHƯƠNG 2 - CÁC KỸ THUẬT GỢI Ý
2.1 Các kỹ thuật gợi ý cơ bản
Dữ liệu thu thập được cuối cùng thì được hệ gợi ý xử lý và đưa ra gợi ý cho khách hàng, hệ gợi ý có thể xuất hiện trong nhiều loại hệ thống khác nhau và do vậy
có thể được áp dụng theo nhiều con đường Dưới đây là những kỹ thuật gợi ý cơ bản
có thể được áp dụng trong thương mại điện tử [2]
2.1.1 Không cá nhân hóa
Phương pháp tiếp cận đơn giản nhất là hệ gợi ý không cá nhân hóa, hệ gợi ý dạng này đồng nhất cho tất cả các người dùng Gợi ý thường được chọn lựa và đưa
ra bởi bên bán dựa trên tính phổ biến của sản phẩm (chẳng hạn như đánh giá bình quan, sản phẩm bán nhiều, sản phẩm nhiều người xem…) hoặc có thể là danh sách top-N các sản phẩm mới trên website
Hình 2.1 Hệ gợi ý không cá nhân hóa [2]
Trang 24Ưu điểm và nhược điểm
Hiển nhiên lợi thế của hướng tiếp cận này là nó đơn giản và dễ thực hiện cho bên quản lý hệ thống, dữ liệu rất dễ dàng để thu thập Tuy nhiên, hệ thống dạng này thiếu cá nhân hóa, chỉ có cùng một kiểu cứng nhắc cho mọi đối tượng khách hàng và nhiều khi không đáp ứng được nhu cầu của người dùng
2.1.2 Demographic-based
Dữ liệu nhân khẩu học có thể được sử dụng để xác định người dùng và từ đó
có thể tạo ra các “nguyên mẫu” Ví dụ như bảng dưới đây cung cấp thông tin về giới tính, học vấn, tuổi tác… của những người đã đánh giá một quán ăn nào đó, với những
dữ liệu này ta có thể nhìn ra được những loại người nào thì thích những sản phẩm nào
Bảng 2.1 - Dữ liệu demographic [2]
Hệ gợi ý loại này hướng đến việc phân loại người dùng dựa trên thuộc tính cá nhân và đưa ra gợi ý dựa trên các lớp nhân khẩu học, hình dưới đây là một ví dụ đơn giản Nó thường được sử dụng với những website du lịch hay website của các nhà hàng…
Do có nhiều nhược điểm sẽ nói ở phần sau nên hầu như kỹ thuật based chỉ dùng để cung cấp thêm thông tin cho các hệ thống khác chẳng hạn như lọc cộng tác, ví dụ trong nghiên cứu [7] nó được sử dụng để khắc phục nhược điểm “cold-start” của lọc cộng tác Trong [5] cũng có nói đến một số hệ thống như thông tin xe
Trang 25demographic-hơi của M Weihberg, hệ thống tư vấn kiểu tóc của K Górka và E Wasilewska cũng
sử dụng kết hợp demographic-based với lọc cộng tác Một phương pháp xây dựng hệ thống gợi ý tour du lịch áp dụng phân lớp thông tin demographic để khắc phục nhược điểm thiếu dữ liệu đánh giá và “cold-start” cũng được nhắc đến trong [13]
Hình 2.2 - Hệ thống gợi ý demographic-based [2]
Ưu điểm và nhược điểm:
Đây là kỹ thuật không sử dụng đến đánh giá sản phẩm của người dùng, cho nên hiển nhiên những người dùng mới cũng sẽ nhận được gợi ý kể cả khi họ chưa đánh giá bất cứ sản phẩm nào, tri thức về sản phẩm cũng như những tính năng của nó
là không cần thiết cho nên hướng tiếp cận này là độc lập
Nhược điểm của phương pháp này là trong khi thu thập các thông tin nhân khẩu học cần thiết sẽ vấp phải vấn đề về tính riêng tư của thông tin Hơn nữa loại thông tin này cũng là quá “thô” để có thể đưa ra các gợi ý mang tính cá nhân hóa cao
Ví dụ như không phải tất cả những phụ nữ 20 tuổi đều cùng thích xem một thể loại phim Và nếu một khách hàng có ý kiến khác với số đông hoặc có sở thích không
Trang 26bình thường sẽ có hệ số tương quan thấp so với những người còn lại Gợi ý cho họ nếu sử dụng hệ gợi ý dựa trên nhân khẩu học là rất khó và sẽ cho ra những kết quả kỳ cục Vấn đề này được gọi là “gray sheep – con cừu xám” Một thách thức khác là chúng ta khó có thể thay đổi hồ sơ đã được tạo của một người dùng trong trường hợp
sở thích của người đó thay đổi Đó là vấn đề mâu thuẫn giữa tính ổn định và tính linh hoạt
2.1.3 Collaborative filtering
Hướng tiếp cận lọc cộng tác - collaborative filtering được sử dụng rộng rãi trong các hệ thống gợi ý Filtering có nghĩa là lọc thông tin cần thiết từ dữ liệu cho trước, collaborative có nghĩa là thông tin được sử dụng để xử lý được cung cấp bởi nhiều người dùng trong hệ thống Từ các thông tin tham khảo từ các khảo sát [2] và [12], ta sẽ điểm qua những nét chính về kỹ thuật này Hình dưới đây là một ví dụ đơn giản cho collaborative filtering
Hình 2.3 Hướng tiếp cận collaborative filtering [2]
Kỹ thuật này có thể chia làm 2 loại:
1 Memory-based
2 Model-based
Trang 27Memory-based
Các thuật toán loại này sử dụng toàn bộ hoặc một phần ma trận user-item để tạo ra gợi ý Mỗi một user là một phần của nhóm người dùng có sở thích tương đồng Bằng cách xác định cái gọi là neighbor – lân cận của một active user, một gợi ý trên các sản phẩm sẽ được tạo ra cho user đó
Trong thuật toán dựa trên lân cận một tập con các user được chọn dựa trên độ tương đồng với active user, và một tổ hợp trọng số những đánh giá của họ sẽ được sử dụng để tạo ra tiên đoán cho user này Hầu hết các hướng tiếp cận này có thể được tổng quát hóa trong các bước sau:
1 Gán một trong số cho tất cả user dựa trên độ tương đồng với active user
2 Chọn ra k user có độ tương đồng cao nhất với active user
3 Tính toán ra một dự đoán dựa trên một tổ hợp trọng số các đánh giá của những lân cận này
Bước 1 là bước quyết định của các thuật toán memory-based CF Trọng số
Wa,u là độ tương đồng giữa user u và active user a Có nhiều phương pháp để tính toán độ tương đồng giữa những người dùng, thước đo phổ biến nhất trong số đó là hệ
số tương đồng Pearson [2]:
Trong đó:
- I là tập các item được đánh giá bởi cả 2 user
- Ra,i là đánh giá của active user a cho item i
- Ru,i là đánh giá của user u cho item i
(2.1)
Trang 28- 𝑅̅u là đánh giá trung bình bởi user
Trong bước 3 những dự đoán nói chung được tính toán như trọng số trung bình đơn giản, trọng số trung bình của các độ lệch từ trung bình lân cận:
Trong đó:
- Pa,i là dự đoán cho active user a cho item I
- Wa,u là độ tương đồng giữa các user a và u
- K là tập các user có độ tương đồng cao nhất
Độ tương đồng vector là cách khác để tính toán độ tương đồng Công thức này có thể được sử dụng trong kỹ thuật lọc cộng tác bằng việc sử dụng đánh giá của 2 user như một vector m-chiều và tính cosin giữa các vector đó
(2.3)
Trong thực tế thì có thể sử dụng nhiều thước đo khác nhau, như tương quan Spearman, tương quan Kendall, entropy, và các biến thể của tương đồng cosin…
(2.2)
Trang 29Linden đề xuất ra phương án thay thế là lọc cộng tác dựa trên sản phẩm based), trong đó so sánh các sản phẩm đã được đánh giá bởi người dùng với các sản phẩm có sự tương đồng, theo hướng tiếp cận này, độ tương đồng giữa cặp i, j bằng cách sử dụng độ tương quan tính theo công thức:
(item-Trong đó:
- Ru, i là đánh giá của người dùng u cho sản phẩm i
- U là tập người dùng đánh giá cả 2 sản phẩm i và j
- 𝑅̅i là đánh giá trung bình của sản phẩm thứ i bởi người dùng
Trong ví dụ dưới đây ta thấy user 2, n, l cùng đánh giá cho sản phẩm i và j
Hình 2.4 Item-based similarity (wi,j) [2]
Sau đó, dự đoán đánh giá sản phẩm i cho người dùng a được tính toán như sau:
(2.4)
Trang 30Trong đó K là tập lân cận của k sản phẩm được đánh giá bởi a mà tương đồng nhất
Model-based là bước phát triển bằng cách xây dựng một mô hình dựa trên các
dữ liệu đánh giá Nói cách khác, thông tin sẽ được trích xuất ra từ bộ dữ liệu, và có thể sử dụng một model để tạo ra gợi ý mà không cần phải lúc nào cũng sử dụng toàn
bộ dữ liệu của tập Cách tiếp cận này sẽ xử lý được vấn đề về tốc độ xử lý và khả năng mở rộng của hệ thống
Các thuật toán lọc cộng tác theo hướng Model-based bao gồm Bayesian model (theo xác suất), các model phân cụm, hoặc mới đây là phương pháp ma trận thừa số (matrix factorization) cùng một số phương pháp khác
- Cluster Models: Dựa trên ý tưởng rằng chắc chắn có những nhóm hoặc loại
người dùng nào đó có chung sở thích và ưu tiên, Breese đã đề xuất ra phương pháp phân cụm, trong đó những người dùng có khuynh hướng giống nhau được gom lại thành một nhóm
- Bayesian Network Models: Một công thức thay thế cho lọc cộng tác xác suất
là mạng Bayesian với một node tương ứng với mỗi sản phẩm trong cơ sở dữ liệu Dữ liệu trống sẽ được biểu diễn thành giá trị “no rating” Sau khi áp dụng thuật toán để huấn luyện mạng này, thì trong mạng kết quả, mỗi một item sẽ
(2.5)
Trang 31có một tập các sản phẩm “cha” là các tiên đoán tốt nhất cho các đánh giá của
nó Một cây quyết định có thể được sử dụng để biểu diễn bảng xác suất điều kiện
- Neural Network Model: Tương tự như mạng Bayes, lọc cộng tác ở đây có
thể xem như nhiệm vụ phân loại, dựa trên một tập các đánh giá của user cho sản phẩm, một model có thể được tạo ra cho mỗi người dùng cho phép chúng
ta phân loại các sản phẩm chưa biết vào 2 hoặc nhiều lớp, ví dụ như “like” với
“dislike”
- Singular Value Decomposition: SVD là một kỹ thuật tìm nhân tử ma trận
phổ biến, áp dụng với ma trận R có m x n phần tử, với m user và n item Sử dụng SVD trong hệ thống gợi ý để lấy được những mối quan hệ tiềm ẩn giữa khách hàng và sản phẩm giúp dự đoán khả năng có thể của một sản phẩm nào
đó bởi một người dùng
Khảo sát tổng quan
Dưới đây là bảng khảo sát tổng quan về lọc cộng tác [5][13]:
Collaborative Filtering
Các hệ thống tiêu biểu: Amazon, GroupLens, Ringo, PHOAKS, Jester…
Các bộ dữ liệu tiêu biểu: MovieLens, Jester
Đặc trưng và thách thức:
• Thưa thớt dữ liệu
• Quy mô
• Cold Start (người dùng mới, sản phẩm mới)
• Gray-sheep (người dùng có sở thích khác biệt với số đông)
Bao gồm 2 loại: Memory-based và Model-based
Trang 32
• Correlation-Based (Pearson, constrained
Pearson, Spearman, Kendall)
• Cosine-Based (Cosine, Adjusted cosine)
• Weighted Majority Prediction
Nghiên cứu tiêu biểu:
• Simple Bayesian
• Tree augmented nạve Bayes
• Nạve Bayes tối ưu bởi ELR
• Baseline Bayesian Phân cụm:
• Phân chia (k-means)
• Dựa trên mật độ (DBSCAN, OPTICS)
• Phân cấp (BIRCH) Quy hồi tuyến tính:
• Bình phương tối thiểu
• Phân tích nhân tố rải rác Ngữ nghĩa tiềm ẩn:
• Ungar & Foster (1998)
• Chien & George (1999)
• Getoor & Sahami (1999)
Trang 33• Delgado & Ishii (1999)
• Pennock & Horwitz (1999)
Ưu điểm của hướng tiếp cận collaborative cũng giống như demographic based
là không yêu cầu tri thức về sản phẩm Collaborative có thể đưa ra những gợi ý một cách “ngoài khuôn khổ” bởi vì nó không nằm trong phạm vi sở thích từng người dùng
cá nhân cụ thể Lợi thế lớn nhất của hướng tiếp cận model-based là nó giảm thiểu tiêu tốn bộ nhớ và thời gian thực hiện
Tuy vậy kỹ thuật này vẫn tồn tại nhiều nhược điểm, trong đó kích thước của tập dữ liệu có tác động lớn đến chất lượng của gợi ý đầu ra Và nó cũng gặp phải vấn
đề “cold-start”, có nghĩa là với các người dùng mới chưa có đánh giá nào hoặc dữ liệu chưa đáp ứng được yêu cầu thì hệ thống dạng này không thể đưa ra được kết quả, bởi nếu chưa cớ dữ liệu về sở thích, ưu tiên, thì cũng không thể tìm ra được user có
sở thích tương đồng Memory-based đòi hỏi nhiều bộ nhớ và thời gian xử lý, nên chỉ thích hợp với những bộ dữ liệu nhỏ mà thôi
2.1.4 Content-based
Trong khi lọc cộng tác giả sử rằng những người dùng có cùng sở thích sẽ có
xu hướng đánh giá sản phẩm giống nhau thì kỹ thuật gợi ý dựa trên nội dung lại giả
sử rằng những sản phẩm có đặc điểm giống nhau sẽ được đánh giá tương tự nhau Lọc cộng tác và demographic-based không yêu cầu các thông tin về sản phẩm thì content-based lại dựa vào các mô tả sản phẩm (có thể được tạo ra thủ công hoặc trích xuất tự động) và một hồ sơ người dùng được gán thích hợp với các đặc điểm đó Các
Trang 34sản phẩm có độ tương đồng cao nhất với truy vấn hoặc với hồ sơ người dùng thì sẽ được gợi ý cho người đó
Dữ liệu hồ sơ về sở thích của người dùng được lưu dưới dạng vector các từ khóa Những hồ sơ có được bằng cách phân tích nội dung mô tả của sản phẩm đã được người dùng nhận biết và đánh giá trước đó, chúng thường được tạo ra bằng các
kỹ thuật phân tích từ khóa từ lĩnh vực tìm kiếm thông tin (information retrieval) bao hàm việc phân bổ trọng số cho các từ khóa sử dụng các thuật toán như Winnow hay Rocchio
Hình 2.5 Hướng tiếp cận content-based [2]
Ưu điểm và nhược điểm :
Bởi vì kỹ thuật content-based sẽ sử dụng các đặc trưng sản phẩm và so sánh
nó với sản phẩm khác nên nó vẫn có thể đưa ra được gợi ý bất kể sản phẩm cần gợi ý
là gì Hướng tiếp cận này không yêu cầu tri thức về một phạm vi cụ thể nào cả, nó làm việc hiệu quả với những sản phẩm có khả năng biểu diễn dưới dạng một tập các đặc trưng
Nhược điểm của kỹ thuật content-based là nếu sản phẩm không có sẵn đặc tính thì bên bán sẽ phải thêm đặc tính sản phẩm một cách thủ công, nếu số lượng sản phẩm lớn thì sẽ mất nhiều thời gian và công sức Và hướng tiếp cận này dựa trên các đặc trưng tương tự của sản phẩm, do vậy nếu tập sản phẩm chứa toàn sản phẩm đơn nhất
Trang 35với các đặc trưng khác nhau thì hệ gợi ý content-based cũng chằng đưa ra nổi gợi ý
có giá trị nào Và cũng do bị giới hạn trên các đặc tính sản phẩm nên content-based cũng phải đối mặt với vấn đề cold-start (khởi động nguội) hay vấn đề mâu thuẫn giữa tính ổn định và tính mềm dẻo
2.1.5 Knowledge-based
Hệ thống gợi ý dựa trên tri thức (knowledge-based) sử dụng tri thức giữa người dùng và sản phẩm để suy luận ra sản phẩm nào đáp ứng yêu cầu của người dùng Chẳng hạn hệ thống sẽ đưa ra các lựa chọn để đưa người dùng đi dần xuống dưới một cây quyết định các thuộc tính sản phẩm một cách hiệu quả hoặc hệ thống sẽ sử dụng một công cụ hỗ trợ quyết định định lượng để làm nhiệm vụ đó
Constraint‐based (dựa trên ràng buộc) và Case‐based (dựa trên trường hợp) là các ví dụ của hướng tiếp cận này Trong ví dụ về ứng dụng gợi ý phim ở trên, nếu một khách hàng, nếu anh ấy thích những bộ phim hài với âm nhạc, hệ thống sẽ tìm kiếm những bộ phim phù hợp với nhu cầu này Trong hình minh họa dưới đây cho thấy bộ phim phù hợp nhất với người này là bộ phim C
Hình 2.6 Hướng tiếp cận knowledge-based [2]
Ưu điểm và nhược điểm
Trang 36Ưu điểm của hướng tiếp cận dựa trên tri thức là nó không dựa vào dữ liệu quá khứ, hệ thống không phải lưu trữ dữ liệu người dùng trong một thời gian dài, do vậy bất cứ ai cũng có thể cung cấp thông tin về sở thích của mình cho hệ thống và sẽ có được gợi ý ngay lập tức, khi sở thích của người dùng thay đổi hệ thống cũng dễ dàng thích nghi theo
Nhược điểm là rõ ràng hệ thống chẳng học được gì từ bạn cả, mỗi lần bạn sử dụng lại phải khai báo thông tin cần thiết cho hệ thống, khá là phiền phức Hơn nữa,
để có thể đưa ra những gợi ý chính xác thì người xây dựng hệ thống buộc phải có tri thức về lĩnh vực cần gợi ý
2.2 Hệ gợi ý lai và các phương pháp lai
2.2.1 Giới thiệu về hệ gợi ý lai
Các website ngày nay có thể sử dụng một trong các phương pháp như các chương trước đã nêu ra để gợi ý cho người dùng, bao gồm collaborative, content-based và knowledge-based Mỗi một phương pháp lại có ưu điểm và khuyết điểm riêng Chương này sẽ nói về các hệ gợi ý lai giữa 4 phương pháp gợi ý, với những cách lai khác nhau
Có nhiều kỹ thuật gợi ý khác nhau được sử dụng trong hệ gợi ý trong website, mỗi thứ lại có khuyết điểm chẳng hạn như vấn đề dữ liệu ban đầu (cold-start problem) của phương pháp collaborative-based và content-based, hay như việc thiếu hụt vốn tri thức của người xây dựng hệ thống knowledge-based Một hệ thống gợi ý lai sẽ tận dụng được lợi thế cũng như khắc phục được nhược điểm của các hệ thống cơ bản, ví
dụ kỹ thuật knowledge based sẽ bù đắp được vấn đề cold-start của kỹ thuật lọc cộng tác, nó sẽ cung cấp gợi ý cho những người dùng mới mà dữ liệu trong hồ sơ là quá ít
để có thể sử dụng lọc cộng tác, và ngược lại lọc cộng tác sẽ sử dụng khả năng tính
Trang 37toán thống kê trên từng người dùng của mình để tìm ra những thứ mà kỹ thuật dựa trên tri thức không thể tiên đoán trước được
Phần trước ta đã nói về 4 kỹ thuật gợi ý cơ bản như hình dưới đây:
Hình 2.7 Bốn kỹ thuật gợi ý cơ bản [9]
Collaborative: Hệ thống đưa ra gợi ý hoàn toàn chỉ dựa trên thông tin đánh giá lấy
từ hồ sơ của khách hàng Nó sẽ tìm thấy người dùng có lịch sử mua bán tương đồng với người dùng hiện thời rồi dựa vào đó để đưa ra gợi ý
Content-based: Hệ thống dạng này hoạt động dựa trên 2 nguồn tri thức: Các thuộc
tính đi kèm với sản phẩm và đánh giá của người dùng đối với chúng Hệ gợi ý dựa trên nội dung đưa ra gợi ý bằng việc “học” những gì người dùng này thích và không thích dựa trên các tính năng sản phẩm
Demographic-based: Hệ gợi ý dựa trên nhân khẩu học đưa ra gợi ý dựa trên
Demographic profile – hồ sơ nhân khẩu của người dùng Gợi ý được tạo ra trên thông tin nhân khẩu học và kết hợp đánh giá của người dùng
Trang 38Knowledge-based: Hệ gợi ý dựa trên tri thức gợi ý sản phẩm cho người dùng dựa
trên sự suy luận những gì họ thích và ưu tiên, tri thức này đôi khi chứa những hàm hiện để ước lượng mức độ cần thiết của người dùng đối với món hàng
Tất cả những kỹ thuật trên cơ sở “học” như collaborative, content-based và demographic-based sẽ phải đối mặt với vấn đề khởi động nguội – cold start Đây là vấn đề xử lý đối với những người dùng mới hoặc người dùng chưa có đủ dữ liệu để đưa ra gợi ý Chẳng hạn như hệ thống lọc cộng tác, một sản phẩm không thể được gợi ý nếu nó chưa từng được đánh giá bởi người khác Gợi ý cho một sản phẩm mới
sẽ kém hiệu quả hơn những sản phẩm cũ đã được nhiều khách hàng đánh giá rồi, và hoàn toàn thất bại với những người dùng mới
Đây là vấn đề về việc cân bằng giữa tính mềm dẻo và tính bền vững Khi hồ
sơ của một người dùng đã được thiết lập trong hệ thống, rất khó để có thể thay đổi mức độ ưu tiên của họ Một người thường xuyên đọc tiểu thuyết một thời gian sẽ cứ nhận được những gợi ý về tiểu thuyết từ các hệ thống collaborative hay content-based
kể cả khi họ đã chuyển sang đọc sách khoa học, chỉ đến khi những đánh giá mới đủ mạnh để thay đổi điều này Một số hệ thống sẽ sử dụng những kỹ thuật cắt bớt để làm giảm ảnh hưởng của những đánh giá cũ, những điều này cũng có nghĩa là đối mặt với nguy cơ mất đi thông tin về những mối quan tâm có tần suất thấp nhưng trong thời gian dài của khách hàng Chằng hạn như người dùng có thói quen xem các bản tin về động đất thiên tai, nhưng rõ ràng là những sự kiện này hiếm khi xảy ra, nếu hạn chế
dữ liệu cũ thì chúng ta sẽ mất đi cơ sở để dự đoán về mối quan tâm này Hệ thống gợi
ý dùng kỹ thuật knowledge-based sẽ phản ứng lại với những nhu cầu cấp thiết nhất của người dùng mà không cần học lại bất cứ thứ gì khi sở thích người dùng thay đổi
Nghiên cứu cho thấy rằng các kỹ thuật collaborative hay demographic-based
có khả năng kéo người dùng ra khỏi những lựa chọn quen thuộc của mình Knowledge-based cũng làm được điều tương tự nhưng hạn chế là những thể loại đó phải được định nghĩa trước bởi người thiết kế hệ thống Tuy nhiên thì vấn đề cold-
Trang 39start sẽ ngăn cản người dùng hưởng dụng tối đa những lợi ích mà kỹ thuật collaborative hay content-based mang lại Hệ thống dựa trên học tập làm việc hiệu quả nhất cho những khách hàng chịu đầu tư thời gian để cung cấp thông tin cần thiết cho hệ thống Knowledge-based không mắc phải những nhược điểm này vì nó không cần những thông tin về sở thích của khách hàng trong quá khứ
Hệ thống gợi ý lai là kết hợp của các kỳ thuật trên để tăng hiệu quả gợi ý, thường thường là để xử lý vấn đề cold-start Chương này sẽ giới thiệu về các phương pháp lai ghép giữa các kỹ thuật, làm tiền đề để đưa ra một hệ gợi ý hiệu quả ở chương sau
2.2.2 Các phương pháp lai ghép
Những nghiên cứu trước đây đã xác định ra 7 loại kết hợp sau [9]:
- Weighted: Kết hợp kiểu đánh trọng số, các gợi ý thành phần sẽ được đánh trọng số theo quy ước cho trước
- Switching: Hệ thống chọn lựa một trong những gợi ý thành phần và áp dụng
- Mixed: Kết quả của từng gợi ý thành phần sẽ được trộn lẫn với nhau khi hiển thị ra với người dùng
- Feature Combination: Đặc trưng của từng nguồn tri thức khác nhau sẽ được tổ hợp để chuyển sang cho một thuật toán gợi ý duy nhất
- Feature Augmentation: Một kỹ thuật gợi ý sẽ được sử dụng để tính toán một đặc trưng hoặc một tập đặc trưng, kết quả sẽ là đầu vào của một kỹ thuật khác
- Cascade: Mô hình thác, hệ gợi ý đưa ra một thứ tự ưu tiên chặt chẽ, trong đó
kỹ thuật có thứ tự ưu tiên thấp sẽ không thay đổi quyết định của kỹ thuật cao hơn
- Meta-level: Một hệ gợi ý được sử dụng để tạo ra một vài kiểu mô hình, đầu ra
sẽ được hệ gợi ý tiếp theo sử dụng
Trang 40Bảng 2.3 - Độ khả thi của từng phép lai với các kỹ thuật gợi ý khác nhau [9]
Các nghiên cứu trước đây đã chỉ ra những hệ thống lai khả thi giữa các cặp kỹ thuật gợi ý với 7 phép lai như bảng trên Chú ý là một số cặp còn phân biệt theo thứ
tự kết hợp trong phép lai, chẳng hạn cặp content-based /collaborative với phép lai feature augmentation sẽ là hệ thống hoàn toàn khác nếu đổi lại thứ tự kết hợp
Weighted
Hệ thống gợi ý của Moviefinder có 2 thành phần: thành phần thứ nhất sử dụng
kỹ thuật lọc cộng tác collaborative, xác định sự tương đồng giữa các profile đánh giá
và dựa vào các thông tin đó để đưa ra tiên đoán Thành phần thứ 2 dựa trên các tri thức ngữ nghĩa căn bản để thu hẹp không gian xử lý bằng cách phân tích ngữ nghĩa tiềm ẩn và gợi ý các bộ phim mà người dùng có thể sẽ thích Đầu ra của 2 bộ phận này được tổ hợp với nhau theo một sơ đồ trọng số tuyến tính