Các nhà cung cấp hết sức quan tâm tới quá trình giới thiệu các sản phẩm mới, những sản phẩm này sẽ phù hợp với những đối tượng khách hàng nào khi mà sản phẩm chưa có những đánh giá từ kh
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LƯU NGỌC TUẤN
HỆ THỐNG HỖ TRỢ TƯ VẤN TRONG THƯƠNG MẠI ĐIỆN TỬ
LUẬN VĂN THẠC SĨ
Hà Nội - 2010
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LƯU NGỌC TUẤN
HỆ THỐNG HỖ TRỢ TƯ VẤN TRONG THƯƠNG MẠI ĐIỆN TỬ
Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin
Mã số: 60 48 05
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Lê Anh Cường
Hà Nội - 2010
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Hệ thống hỗ trợ tư vấn trong thương mại điện tử” là
do tôi thực hiện dưới sự hướng dẫn của TS Lê Anh Cường giảng viên chính, trường đại học Công Nghệ, Đại học quốc gia Hà Nội Mọi trích dẫn và tài liệu tham khảo mà tôi sử dụng trong luận văn đều có ghi rõ nguồn gốc
Tôi xin hoàn toàn chịu trách nhiệm về lời cam đoan trên
Trang 4LỜI CẢM ƠN
Để hoàn thành luận văn này, tôi xin gửi lời cảm ơn sâu sắc tới các thầy cô giáo
Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội là những người đã mang
đến cho các học viên những kiến thức hữu ích và khơi dậy trong chúng tôi niềm
say mê học tập và nghiên cứu khoa học Đặc biệt, tôi xin chân thành cảm ơn
thầy giáo TS.Lê Anh Cường, bộ môn Khoa học máy tính, Trường Đại học Công
Nghệ - Đại học Quốc gia Hà Nội là người đã tận tình chỉ dẫn và giúp đỡ tôi hoàn
thành luận văn này
Tôi cũng gửi lời cảm ơn sâu sắc tới thầy giáo PGS.TS Hà Quang Thụy cùng các
thầy cô giáo bộ môn Các hệ thống thông tin đã đóng góp ý kiến, gợi ý và giúp
đỡ tôi hoàn thành luận văn này
Xin cảm ơn những bạn học cùng lớp đã chia sẻ với tôi những kinh nghiệm học
tập quý báu Cảm ơn các đồng nghiệp trong cơ quan đã quan tâm và tạo điều
kiện giúp đỡ tôi trong quá trình thực hiện luận văn
Tôi cũng xin cảm ơn những người thân trong gia đình, xin bày tỏ lòng biết ơn
sâu sắc đối với bố mẹ đã luôn dành tình cảm yêu thương, động viên, giúp đỡ và
cảm ơn tất cả những gì bố mẹ đã dành cho tôi
Về phương diện bản thân, mặc dù đã hoàn thành khóa học nhưng tôi sẽ luôn cố
gắng phấn đấu học tập và nghiên cứu không ngừng Cuối cùng, tôi hy vọng rằng
luận văn của mình sẽ đem lại những giá trị hữu ích và thiết thực
Trang 5MỤC LỤC
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
MỤC LỤC 3
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 6
MỞ ĐẦU 7
CHƯƠNG 1 - TỔNG QUAN VỀ HỆ TƯ VẤN 10
1.1 Khái quát về hệ tư vấn 10
1.2 Hệ tư vấn và các chức năng của hệ tư vấn 11
1.3 Tiếp cận trong hệ tư vấn 12
1.4 Kiến trúc hệ tư vấn 14
1.5 Mô hình hóa bài toán 15
1.6 Các ứng dụng của hệ tư vấn 18
1.7 Mục tiêu của luận văn 20
CHƯƠNG 2 - CÁC PHƯƠNG PHÁP TƯ VẤN 22
2.1 Phương pháp tiếp cận dựa nội dung 22
2.1.1 Xây dựng hệ tư vấn theo phương pháp tiếp cận dựa nội dung 22
2.1.1.1 Hệ thống tư vấn dựa nội dung trên hàm kinh nghiệm 23
2.1.1.2 Hệ thống tư vấn dựa nội dung trên mô hình 24
2.1.2 Các hạn chế của phương pháp tiếp cận dựa nội dung 25
2.1.2.1 Giới hạn trong phân tích nội dung 25
2.1.2.2 Quá cụ thể (overspecialization) 25
2.1.2.3 Vấn đề khách hàng mới 25
2.2 Phương pháp tiếp cận dựa cộng tác 26
2.2.1 Xây dựng hệ tư vấn theo phương pháp tiếp cận dựa cộng tác 26
2.2.1.1 Hệ thống tư vấn dựa cộng tác trên hàm kinh nghiệm 26
2.2.1.2 Hệ thống tư vấn dựa cộng tác trên mô hình 27
Trang 62.2.2 Các hạn chế của phương pháp tiếp cận dựa cộng tác 28
2.2.2.1 Vấn đề về khách hàng mới 28
2.2.2.2 Vấn đề về sản phẩm mới 29
2.2.2.3 Sự thưa thớt dữ liệu đánh giá 29
2.3 Phương pháp tiếp cận kết hợp 30
3.1.1 Kết hợp thuộc tính của khách hàng và sản phẩm 30
3.1.2 Thực hiện tư vấn nội dung trước, thực hiện tư vấn dựa cộng tác sau 31
3.1.3 Thực hiện tư vấn cộng tác trước, thực hiện tư vấn dựa nội dung sau 32
CHƯƠNG 3 - CÁC MƠ HÌNH HỌC MÁY 34
3.1 Mơ hình phân lớp Nạve Bayes 34
3.1.1 Lý thuyết Bayes 34
3.1.2 Mơ hình phân lớp Nạve Bayes 35
3.2 Mơ hình phân lớp máy vector hỗ trợ (SVMs) 36
3.2.1 Lý thuyết học thống kê 37
3.2.2 Lý thuyết cơ bản về SVM 39
3.2.2.1 Các bộ phân lớp tuyến tính 39
3.2.2.2 SVM tuyến tính cho bộ huấn luyện cĩ thể phân chia 40
3.2.2.3 Siêu phẳng tối ưu 41
3.2.2.4 Các vector hỗ trợ 42
3.2.2.5 SVM tuyến tính cho tập huấn luyện tống quát 43
3.2.3 SVM khơng tuyến tính kết hợp các phương pháp nhân 44
CHƯƠNG 4 - THỰC NGHIỆM VÀ KẾT QUẢ ĐÁNH GIÁ 47
4.1 Mơ tả dữ liệu 47
4.2 Các độ đo đánh giá mơ hình phân lớp 51
4.3 Kết quả thực nghiệm 52
4.3.1 Phương pháp tư vấn dựa nội dung 53
4.3.2 Phương pháp tư vấn dựa cộng tác 55
4.3.3 Phương pháp tư vấn kết hợp thuộc tính của khách hàng và sản phẩm 56
Trang 74.3.4 Phương pháp tư vấn kết hợp thực hiện tư vấn dựa nội dung trước và áp
dụng phương pháp tư vấn cộng tác sau 57
4.3.5 Phương pháp tư vấn kết hợp thực hiện tư vấn dựa cộng tác trước và áp dụng phương pháp tư vấn dựa nội dung sau 58
4.4 Đánh giá kết quả 59
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61
TÀI LIỆU THAM KHẢO 63
Trang 8DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1 Các phương pháp tư vấn và kỹ thuật áp dụng 13
Hình 2 Kiến trúc hệ thống hỗ trợ tư vấn 14
Hình 3 Ví dụ về thuộc tính của khách hàng và sản phẩm 17
Hình 4 Ma trận đánh giá khách hàng - sản phẩm 17
Hình 5 Phân hệ tư vấn của Amazon 19
Hình 6 Hệ tư vấn phim MovieLens 20
Hình 7 Ví dụ về hệ tư vấn dựa lọc nội dung với sản phẩm phim 22
Hình 8 Ví dụ về hệ tư vấn dựa lọc cộng tác với sản phẩm phim 26
Hình 9 Mô hình tư vấn dựa nội dung trước, tư vấn dựa cộng tác sau 31
Hình 10 Mô hình tư vấn dựa cộng tác trước, tư vấn dựa nội dung sau 32
Hình 11 Siêu phẳng phân chia tuyến tính trong không gian hai chiều 39
Hình 12 Các siêu phẳng phân chia tập dữ liệu huấn luyện 40
Hình 13 Siêu phẳng với lề lớn nhất γ 40
Hình 14 Siêu phẳng tối ưu 41
Hình 15 Các vector hỗ trợ 43
Hình 16 Biến nới lỏng ξ 43
Hình 17 Ánh xạ từ khống gian cũ sang không gian đặc trưng 45
Hình 18 Cấu trúc bảng Rating 48
Hình 19 Cấu trúc bảng Item 49
Hình 20 Cấu trúc bảng User 50
Hình 21 Cấu trúc bảng dữ liệu đào tạo và dữ liệu kiểm tra 50
Hình 22 Kết quả sau khi thực hiện phân lớp 51
Hình 23 Thực nghiệm với phương pháp tư vấn dựa nội dung (5 nhãn) 54
Hình 24 Thực nghiệm với phương pháp tư vấn dựa nội dung (2 nhãn) 54
Hình 25 Thực nghiệm tư vấn dựa cộng tác (5 nhãn) 55
Hình 26 Thực nghiệm với phương pháp tư vấn dựa cộng tác (2 nhãn) 56
Hình 27 Thực nghiệm với phương pháp kết hợp thuộc tính của khách hàng và của sản phẩm (2 nhãn) 57
Hình 28 Bảng test với dựa nội dung trước, tư vấn dựa cộng tác sau 58
Hình 29 Bảng test với tư vấn dựa cộng tác trước, tư vấn dựa nội dung sau 59
Trang 9MỞ ĐẦU
Ngày nay cùng với sự phát tiển không ngừng của hệ thống mạng toàn cầu Internet, các khách hàng của các hệ thống thông tin đặc biệt là của các website thương mại điện tử từng bước làm quen và sử dụng thường xuyên các giao dịch điện tử trong nhiều lĩnh vực như: chứng khoán, bảo hiểm, tài chính, ngân hàng, công nghệ, viễn thông,… Tuy nhiên, với khối lượng thông tin khổng lồ, các khách hàng thường gặp khó khăn trong việc tìm kiếm và lựa chọn thông tin cần thiết và phù hợp để giải quyết những vấn đề nhất định Ví dụ như khách hàng muốn gửi tiền vào ngân hàng nhưng không biết phải lựa chọn sản phẩm nào của ngân hàng nào cho phù hợp, khách hàng nên lựa chọn một sản phẩm tiền gửi được bảo hiểm hay không, có chính sách khuyến khích nào của ngân hàng hay không? Lợi ích và rủi ro có thể gặp phải là gì và đâu là sản phẩm tốt nhất với khách hàng? Khách hàng có quá nhiều sự lựa chọn nhưng không đủ thời gian hoặc tri thức để đánh giá sản phẩm nào là phù hợp và không thể đưa ra các quyết định tối ưu
Mặt khác, từ phía các nhà cung cấp sản phẩm, các công ty doanh nghiệp hiện nay luôn mong muốn những sản phẩm tốt nhất của mình đến được với khách hàng Làm thế nào có thể hỗ trợ khách hàng trong việc lựa chọn sản phẩm trong khi khách hàng luôn có sự so sánh đánh giá giữa các sản phẩm để có quyết định lựa chọn tốt nhất Và khi khách hàng đã mua hoặc đã quan tâm tới một sản phẩm nào đó thì cần giới thiệu tới khách hàng những sản phẩm nào khác, cần phải đề xuất tới khách hàng bao nhiêu sản phẩm là hợp lý Các nhà cung cấp hết sức quan tâm tới quá trình giới thiệu các sản phẩm mới, những sản phẩm này sẽ phù hợp với những đối tượng khách hàng nào khi mà sản phẩm chưa có những đánh giá từ khách hàng,…
Xuất phát từ những vấn đề còn hạn chế trong quá trình tương tác giữa khách hàng với các sản phẩm của doanh nghiệp trong thương mại điện tử, hệ tư vấn được hình thành và phát triển để hỗ trợ tốt hơn cho khách hàng và các doanh nghiệp có những quyết định tốt nhất Các website với hệ thống giao dịch điện tử cần thiết có một hệ thống tư vấn tốt sẽ giúp thu được lợi nhuận không nhỏ Bởi
vì khi đó, khách hàng có thể tìm thấy ngay những sản phẩm mà họ ưa thích và
họ sẽ có xu hướng mua Ngược lại, nếu họ không tìm thấy được những sản phẩm họ quan tâm họ không những không mua mà có thể sẽ rời bỏ và tìm đến những nơi cung cấp dịch vụ tốt hơn
Trang 10Hệ thống tư vấn đã trở thành một lĩnh vực nghiên cứu quan trọng xuất phát từ các công trình nghiên cứu đầu tiên trong việc xây dựng các hệ thống lọc cộng tác Sự phát triển đồng thời từ những ứng dụng mang tính thực tiễn và những nghiên cứu mang tính khoa học đã đưa hệ tư vấn trợ thành một lĩnh vực quan trọng trong việc hỗ trợ con người trong quá trình khai thác thông tin Trong những năm gần đây, hệ tư vấn đã không ngừng phát triển và được hoàn thiện, tuy nhiên trong tương lai vẫn đòi hỏi có những cải thiện để đưa ra những phương pháp hiệu tư vấn hiệu quả hơn và được áp dựng nhiều hơn trong các ứng dụng thực tế Việc cải tiến bao gồm những phương pháp tốt hơn để xác định những hành vi của khách hàng, thông tin về sản phẩm cho khách hàng về những sản phẩm cần tư vấn, đưa ra nhiều hơn những phương pháp để thuận lợi hơn trong việc tư vấn, và có những chỉ số để có thể đánh giá hiệu năng của các hệ tư vấn
Với những nghiên cứu và tìm hiểu về hệ hỗ trợ tư vấn, luận văn được hoàn thành với các mục đích và nhiệm vụ chính như sau:
Trình bày tổng quan về hệ tư vấn với các chức năng và nhiệm vụ của một hệ
tư vấn trong thương mại điện tử Kiến trúc của hệ tư vấn và quá trình xây dựng một hệ tư vấn hoàn chỉnh
Mô hình hóa bài toán tư vấn chuyển từ những yêu cầu thực tế thành bài toán khai phá và xử lý dữ liệu trong lĩnh vực công nghệ thông tin
Trình bày ba phương pháp tiếp cận tư vấn để xây dựng và mở rộng hệ tư vấn Đồng thời đưa ra những hạn chế còn tồn tại trong các phương pháp Kết hợp nghiên cứu hai kỹ thuật chính là đánh giá dựa hàm kinh nghiệm và đánh giá dựa mô hình để giải quyết bài toán hệ tư vấn
Khảo sát bộ dữ liệu chuẩn và thực hiện xây dựng chương trình thực nghiệm Kết quả thực nghiệm được so sánh và đánh giá giữa các phương pháp tư vấn cũng như giữa các mô hình phân lớp
Nội dung của luận văn được thiết kế thành 04 chương:
Chương 1 Tổng quan về hệ tư vấn: Giới thiệu khái quát về một hệ thống
hỗ trợ tư vấn với các chức năng chính của hệ tư vấn Trình bày các nội dung cơ bản về kiến trúc và mô hình hóa bài toán tư vấn trong thương mại điện tử
Chương 2 Các phương pháp tư vấn: Trình bày các phương pháp tiếp cận
để xây dựng hệ tư vấn với 3 phương pháp chính là tư vấn dựa nội dung, tư vấn dựa cộng tác và phương pháp lai Đưa ra các ưu điểm và hạn chế của từng phương pháp
Trang 11Chương 3 Các mơ hình học máy: Giới thiệu về hai mơ hình học máy là
mơ hình phân lớp Nạve Bayes và mơ hình phân lớp Máy hỗ trợ vector (SVM -
Support Vector Machines)
Chương 4 Kết quả thực nghiệm và đánh giá: Chuẩn hĩa dữ liệu từ bộ dữ
liệu của MovieLens Xây dựng thử nghiệm với mơ hình phân lớp Nạve Bayes
và thử nghiệm với mơ hình phân lớp máy hỗ trợ vector thực hiện bằng Weka
trên bộ dữ liệu chuẩn với ba phương pháp tư vấn So sánh và đánh giá các kết
quả đạt được
Phần kết luận và hướng phát triển tổng kết nội dung chính của luận
văn, các vấn đề cịn tồn tại và hướng phát triển tiếp theo của để tài
Trang 12CHƯƠNG 1 - TỔNG QUAN VỀ HỆ TƯ VẤN
1.1 Khái quát về hệ tư vấn
Cùng với sự phát triển nhanh chóng của internet đã mang đến cho con người nhiều tiện ích khác nhau đồng thời cũng tạo ra một cuộc bùng nổ thông tin Cùng với sự phát triển đó các giao dịch thông qua thương mại điện tử tạo ra một lượng thông tin khổng lồ với các dữ liệu về khách hàng và các sản phẩm giao dịch Ngày nay, chúng ta có thể tìm bất kỳ thông tin hoặc sản phẩm mình cần thông qua internet Tuy nhiên, chúng ta ngày càng mất nhiều thời gian và gặp nhiều khó khăn trong việc tìm xem sản phẩm hoặc thông tin nào phù hợp với mong muốn của mình Các công cụ tìm kiếm trên internet như Google, Yahoo, Bing ,… tỏ ra rất hữu hiệu trong việc đưa ra những thông tin liên quan với từ khóa chúng ta tìm kiếm Cùng với khối lượng thông tin ngày càng tăng, chúng ta cần phải bỏ ra quả nhiều thời gian để lọc được những thông tin mong muốn Đôi khi chính chúng ta cũng không hiểu được những nhu cầu của mình
và không biết được chính xác từ khóa mình muốn tìm kiếm, do đó rất khó để tìm được thông tin mình cần
Trong bối cảnh đó, nhu cầu của các hệ tư vấn, tìm kiếm thông tin ngày càng trở nên cấp thiết Các hệ thống tư vấn sẽ tính toán và dự đoán khả năng một khách hàng có thể quan tâm tới một sản phẩm hay một thông tin nào đó hay không Từ đó đưa ra gợi ý về sản phẩm hay thông tin phù hợp với khách hàng nhất
Ban đầu, những nghiên cứu về hệ tư vấn được xuất phát từ các công trình nghiên cứu về máy lọc cộng tác kết hợp với các nghiên cứu về lý thuyết xấp xỉ,
lý thuyết về dự báo và dự đoán, tìm kiếm thông tin cũng như kết hợp cùng các nghiên cứu về quản lý và các mô hình sự lựa chọn tiêu dùng trong kinh doanh Sau đó các nghiên cứu hệ tư vấn đã trở thành một lĩnh vực được nghiên cứu độc lập vào giữa thập kỷ 90 [28,34] khi các nhà nghiên cứu tập trung tiến hành giải quyết vấn đề tư vấn một cách tường minh cả trong công nghiệp và khoa học để phát triển hệ tư vấn Lĩnh vực này được quan tâm nhiều vì nó bao gồm nhiều lĩnh vực cần nghiên cứu cũng như sự phong phú của nó trong những ứng dụng thực tiễn, giúp khách hàng có thể giải quyết khối lượng lớn thông tin, hỗ trợ cung cấp thông tin, tư vấn cụ thể nội dung và dịch vụ tới khách hàng
Vấn đề chung nhất mà một hệ thống tư vấn cần giải quyết đó là đưa ra ước lượng đánh giá tốt nhất cho các sản phẩm mà chưa được biết đến bởi khách
Trang 13hàng Ước lượng này được xác định thông qua các đánh giá mà một khách hàng
đã đánh giá về một số sản phẩm khác trong quá khứ hoặc cũng có thể là một tập hợp các đánh giá của những khách hàng khác về sản phẩm này và có thể kết hợp thêm một số thông tin khác để có những ước lượng tốt nhất Bài toán hệ tư vấn đặt ra là ước lượng các đánh giá cho các sản phẩm chưa được đánh giá bởi khách hàng và tư vấn cho khách hàng những sản phẩm mà theo hệ tư vấn có ước lượng đánh giá cao nhất
1.2 Hệ tƣ vấn và các chức năng của hệ tƣ vấn
Theo định nghĩa được trích dẫn bởi G.Adomavicius và A.Tuzhilin [13] thì
hệ tư vấn là các chương trình có khả năng dự đoán các sản phẩm tới khách hàng
mà khách hàng có thể có mối quan tâm về sản phẩm Như vậy, hệ tư vấn là hệ thống có khả năng tư vấn tới khách hàng khi khách hàng tương tác với hệ thống
Hệ tư vấn có vai trò như một hệ thống lọc thông tin từ những thông tin đã biết
về khách hàng và lựa chọn ra những sản phẩm mà khách hàng chưa biết để tư vấn Các sản phẩm để tư vấn có thể là bất kỳ sản phẩm nào có trong thực tế như sách, báo, phim, trang web, tài chính, ngân hàng, viễn thông,…mà khách hàng
có thể lựa chọn Do vậy, hệ tư vấn phải có khả năng đưa ra dự đoán về mức độ quan tâm của khách hàng với một sản phẩm nào đó Đơn giản nhất là hệ thống
tư vấn sẽ dự đoán khách hàng có quan tâm hay không quan tâm tới một sản phẩm nào đó Khi đó vấn đề của hệ tư vấn trở thành bài toán phân loại đối tượng
thành hai lớp "quan tâm" và "không quan tâm" Ngoài ra, các hệ thống tư vấn có
thể đưa ra đánh giá mức độ quan tâm khách hàng với sản phẩm bằng các thang điểm về sự thõa mãn của khách hàng với sản phẩm
Các chức năng chính của hệ thống tư vấn được xây dựng có thể hỗ trợ tới khách hàng bao gồm:
Tư vấn các sản phẩm tự động cho khách hàng dựa vào lịch sử đánh giá sản phẩm của khách hàng và sở thích của khách hàng Mỗi khách hàng có một danh sách kết quả tư vấn riêng biệt
Tư vấn các sản phẩm có độ tương tự với các sản phẩm mà khách hàng đang tìm hiểu và so sánh
Giới thiệu các sản phẩm mới tới các khách hàng tiềm năng
Tư vấn sản phẩm tới khách hàng chưa có đánh giá hoặc mối quan tâm tới các sản phẩm của hệ thống
Có khả năng đáp ứng cho các web thương mại có bán nhiều chủng loại hàng hóa
Trang 141.3 Tiếp cận trong hệ tƣ vấn
Có nhiều phương pháp đánh giá trọng số như sử dụng học máy, lý thuyết xấp xỉ, các thuật toán dựa kinh nghiệm Theo [13], từ những nghiên cứu các vấn đề liên quan đến hệ tư vấn và vẫn tiếp tục được thực hiện đến bây giờ hệ thống tư vấn thường được phân thành ba loại dựa theo cách tiếp cận của việc tư vấn:
Tư vấn dựa trên lọc nội dung (Content-Based Filter Methods): Người dùng
sẽ được tư vấn những sản phẩm tương tự với những sản phẩm đã được người dùng đó ưa thích trước đây
Tư vấn dựa trên lọc cộng tác (Collaborative-Based Filter Methods): Người
dùng sẽ được tư vấn những sản phẩm được ưa chuộng xuất phát từ những người có cùng thị hiếu và sở thích với mình
Tư vấn dựa trên cách tiếp cận kết hợp (Hybird Methods): Kết hợp hai
phương pháp tiếp cận dựa trên nội dung và tiếp cận dựa cộng tác
Phương pháp tư vấn dựa trên lọc nội dung được sử dụng khi hệ thống dựa trên các thuộc tính của sản phẩm để tư vấn tới khách hàng Hệ tư vấn lựa chọn các sản phẩm có các thuộc tính tương đồng với các sản phẩm mà khách hàng đã quan tâm với đánh giá cao trong quá khứ Từ đó chọn ra sản phẩm có đánh giá tốt nhất để tư vấn tới khách hàng
Phương pháp tư vấn dựa trên lọc cộng tác được ứng dụng nhiều dựa trên những đánh giá của khách hàng với sản phẩm Với phương pháp tư vấn lọc dựa cộng tác, hệ thống tư vấn hỗ trợ khách hàng dựa vào những thông tin mà khách hàng đã đánh giá về sản phẩm của hệ thống trong quá khứ Thêm vào đó, hệ tư vấn sử dụng sự tương đồng giữa các khách hàng có cùng mối quan tâm, sở thích
về những sản phẩm đã đánh giá và dự đoán những sản phẩm mà khách hàng quan tâm từ tập hợp các khách hàng tương đồng Phương pháp tư vấn dựa cộng tác có thể kết hợp cùng các thông tin cá nhân của khách hàng để nâng cao tính chính xác và hiệu quả trong tư vấn
Hai phương pháp tiếp cận này của hệ thống tư vấn vẫn còn chứa đựng những hạn chế trong việc lựa chọn và tư vấn sản phẩm cho khác hàng Do đó, để
mở rộng khả năng và tính hiệu quả của hệ thống, hệ thống cần kết hợp cả hai phương pháp trên thành một phương pháp lai và áp dụng linh hoạt đối với từng
tập dữ liệu cụ thể
Trang 15Thêm vào đó, hệ tư vấn có thể dự đoán đánh giá của những khách hàng cụ thể (mặc dù không biết trước sản phẩm) thông qua kỹ thuật lọc dựa trên sở thích, nghĩa là dự đoán mối liên quan giữa các sở thích của người dùng Chẳng hạn, trong các ứng dụng tư vấn về lĩnh vực điện ảnh, kỹ thuật lọc dựa trên sở thích tập trung vào dự đoán chính xác thứ tự liên quan của các bộ phim hơn là các trọng số cụ thể của chúng
Các kỹ thuật để xây dựng một hệ tư vấn hiện nay rất nhiều và được chia thành hai loại kỹ thuật chính là đánh giá dựa các hàm kinh nghiệm (heuristics-based hay memory-based) và đánh giá dựa mô hình (model-based)
Theo [13], các phương pháp tư vấn và các kỹ thuật được áp dụng hiện nay được thể hiện trong bảng sau:
Phương pháp
tiếp cận
Các kỹ thuật tư vấn Dựa trên kinh nghiệm Dựa trên mô hình
Lược đồ bầu cử (voting)
Tích hợp thuộc tính của phương pháp này vào phương pháp còn lại
Xấy dựng mô hình hợp nhất hai phương pháp
Hình 1 Các phương pháp tư vấn và kỹ thuật áp dụng
Trong chương 2, luận văn sẽ tập trung trình bày chi tiết các phương pháp tiếp cận tư vấn, hạn chế của từng phương pháp và đề xuất các giải pháp để giải quyết vấn đề cùng với các kỹ thuật đánh giá dựa các hàm kinh nghiệm và đánh giá dựa mô hình cho từng phương pháp tiếp cận cụ thể
Trang 16 Tạo tư vấn tới khách hàng
Kiến trúc của một hệ tư vấn với đầy đủ thành phần (bao gồm cả tư vấn dựa nội dung và tư vấn dựa cộng tác) Một hệ thống tư vấn có thể chỉ có bộ tư vấn dựa nội dung hoặc bộ tư vấn dựa cộng tác hoặc có cả sự kết hợp của hai bộ
tư vấn này Thông tin khách hàng cung cấp khi tương tác với hệ tư vấn bao gồm các đánh giá của khách hàng về các sản phẩm của hệ tư vấn hoặc các thông tin
cá nhân của khách hàng
Tương tác với người dùng
Phần này có hai nhiệm vụ là lấy thông tin từ khách hàng và tư vấn sản phẩm tới họ Đối với hệ thống tư vấn thì phần cung cấp thông tin của khách hàng và đánh giá của khách hàng với sản phẩm là vô cùng quan trọng là nguồn gốc để sinh ra tư vấn Đây là vấn đề thuộc tâm lý khách hàng bởi vì khách hàng khi tương tác với hệ thống thường không muốn mất nhiều thời gian và công sức
để đưa thông tin vào hệ thống Do vậy, hệ thống tư vấn cần có cách giới thiệu các sản phẩm phù hợp để khách hàng có cảm hứng cung cấp thông tin đúng đắn cho hệ thống Phần giới thiệu sản phẩm tư vấn với khách hàng phù hợp làm tăng
Tương tác khách hàng – sản phẩm qua hệ tư vấn
S Ả N
P H Ẩ
M
Các thuộc tính của sản phẩm
Danh sách tư vấn tới khách hàng
Đánh giá
Tư vấn dựa cộng tác
Tư vấn dựa nội dung
Trang 17độ tin cậy của khách hàng với hệ thống Hệ thống tư vấn bổ sung, giải thích thêm các thông tin về sản phẩm có thể giúp khách hàng dễ dàng chấp nhận hơn
Tạo hồ sơ khách hàng
Hồ sơ của khách hàng được tạo ra khi khách hàng có tương tác với hệ thống Các thông tin về khách hàng cung cấp bao gồm các thông tin về cá nhân của khách hàng như: độ tuổi, giới tính, nghề nghiệp, thu nhập,… hoặc các thông tin về sở thích của khách hàng đối với các sản phẩm mà hệ thống cung cấp Ví
dụ như khách hàng có sở thích xem phim hành động của diễn viên Arnold
Schwarzenegger (trong hệ thống tư vấn phim) Một phần thông tin quan trọng
của khách hàng đối với hệ thống đó là đánh giá của khách hàng với sản phẩm
Hệ tư vấn dựa vào các đánh giá của khách hàng để lựa chọn ra các sản phẩm khách hàng có thể quan tâm và tư vấn sản phẩm đó tới khách hàng Ngoài ra, hồ
sơ của khách hàng còn được hệ tư vấn cập nhật bổ sung trong quá trình khách hàng tương tác với hệ tư vấn
Tạo tư vấn
Dựa trên hồ sơ khách hàng, tư vấn dựa nội dung sẽ tạo ra một danh sách các sản phẩm để tư vấn Danh sách các sản phẩm được tạo bằng các đối sánh sở thích của khách hàng với các thuộc tính của sản phẩm Những sản phẩm có thuộc tính tương đối gần với sở thích của khách hàng sẽ được lựa chọn
Trong khi đó, tư vấn dựa cộng tác trước hết tìm một danh sách những khách hàng có cùng sở thích với khách hàng hiện thời Mức độ tương đồng sở thích giữa hai người được đo dựa trên những đánh giá cùng một tập sản phẩm trong quá khứ Sau đó, trong danh sách những sản phẩm của tập khách hàng này
có đánh giá cao mà khách hàng hiện thời chưa có đánh giá sẽ được đưa vào danh sách các sản phẩm được tư vấn
Hệ tư vấn còn có thể sử dụng thông tin cá nhân của khách hàng kết hợp và
kỹ thuật tư vấn để làm tăng độ chính xác của dự đoán và tư vấn
1.5 Mô hình hóa bài toán
Theo G.Adomavicius và A.Tuzhilin [13], từ bài toán thực tế của hệ tư vấn
là xây dựng khả năng dự báo sản phẩm ưa thích hoặc được quan tâm tới khách hàng Bài toán hệ tư vấn giải quyết chính là xác định mối quan tâm giữa khách
Trang 18hàng với sản phẩm Trong đó, tập hợp khách hàng và tập hợp sản phẩm có thể rất lớn nhưng tập đánh giá của khách hàng về sản phẩm có thể không đủ lớn
Có thể mô hình hóa bài toán mà hệ tư vấn cần giải quyết thành bài toán xử
lý thông tin như sau:
Giả sử, tập C là tập hợp tất cả các khách hàng (Không gian C có thể rất
lớn và lên tới hàng triệu khách hàng) Mỗi khách hàng cC .Tập S là tập hợp tất cả các sản phẩm (Không gian S có thể rất lớn và lên tới hàng triệu sản phẩm)
Mỗi sản phẩm sS Một hàm tiện ích đánh giá u đo độ hữu ích hoặc mối quan tâm của khách hàng c đối với sản phẩm s:
R S
C
Trong đó R là một tập các đánh giá của có thể của khách hàng c đối với sản
phẩm s
Phát biểu bài toán tư vấn khi đó trở thành: Với mỗi khách hàng cC, hệ
tư vấn cần xác định được sản phẩm s'S để hàm tiện ích u ( s c, ')đạt giá trị lớn nhất
),(maxarg'
ứng dụng cụ thể Có thể được xác định bởi người sử dụng hoặc có thể tính toán
Để có đánh giá chính xác về giá trị hàm u hệ tư vấn cần dựa vào những thông tin về khách hàng và các thông tin về sản phẩm Mỗi khách hàng c trong
không gian C luôn xác định một tập hồ sơ thông tin về khách hàng với các thuộc tính và giá trị tương ứng Trong khi đó mỗi sản phẩm s trong không gian S cũng
xác định một tập hồ sơ thông tin về sản phẩm Để ước lượng giá trị hàm u, hệ tư
vấn cần xác định mức độ liên quan của những thuộc tính của sản phẩm với những thuộc tính của khách hàng
Ví dụ, các thuộc tính và vùng giá trị tương ứng của hồ sơ khách hàng và
hồ sơ sản phẩm trên một website giới thiệu về các sản phẩm phim ảnh
Trang 19Hình 3 Ví dụ về thuộc tính của khách hàng và sản phẩm
Vấn đề chính của hệ tư vấn là hàm u không được xác định đầy đủ trong
không gian CSmà chính là một tập con chứa một số ít các đánh giá của khách hàng về sản phẩm Do đó để có thể ước lượng đánh giá tốt nhất các sản phẩm
cho khách hàng, hệ tư vấn cần phải ngoại suy hàm u trong toàn không gian
S
C Như vậy, để đảm bảo kết quả chính xác hệ tư vấn cần có một bộ đánh giá
sơ bộ của các khách hàng về các sản phẩm Xây dựng một ma trận 2 chiều khách hàng - sản phẩm, mỗi giá trị xác định là những đánh giá của khách hàng về sản phẩm
Hình 4 Ma trận đánh giá khách hàng - sản phẩm
Đối với u ( j i, ) nhận giá trị chưa biết Có nghĩa là không có thông tin
về đánh giá của khác hàng về sản phẩm Như vậy, khách hàng i quan tâm tới sản phẩm j như thế nào Hệ tư vấn cần xác định các giá trị này dựa trên kinh nghiệm
hoặc các kỹ thuật ước lượng sai số bình quân để dự đoán mối quan tâm của khách hàng tới sản phẩm
Sau khi đã ước lượng được từng đánh giá cụ thể của khách hàng cho sản phẩm thì hệ tư vấn sẽ tư vấn tới khách hàng những sản phẩm được đánh giá có
giá trị cao nhất trong tập các đánh giá của khách hàng Hoặc cũng có thể chọn N
itemID Mã phim (Duy nhất)
Loại phim (Hành động, Hài,…)
Đạo diễn Năm sản xuất Diễn viên chính
…
Trang 20sản phẩm có ước lượng đánh giá cao nhất để tư vấn tới khách hàng Hoặc cũng
có thể chọn một sản phẩm tốt nhất để tư vấn tới một nhóm khách hàng
1.6 Các ứng dụng của hệ tƣ vấn
Từ những nghiên cứu ban đầu về lọc dựa cộng tác, hệ tư vấn trở thành một lĩnh vực được nghiên cứu độc lập và đã được ứng dụng vào rất nhiều hệ thống công cộng và các hệ thống thương mại Hàng năm, có rất nhiều nhà nghiên cứu cả về lý thuyết và lĩnh vực thương mại đã có mặt tại các hội thảo về
hệ tư vấn (mới đây nhất là hội thảo tư vấn lần thứ tư được tổ chức tạiBarcelona, Tây Ban Nha - 4th ACM Recommender Systems 2010 [1]) để trao đổi ý kiến và kinh nghiệm về các phương pháp của lĩnh vực này Đồng thời đưa ra khả năng ứng dụng phát triển và giới thiệu một số ứng dụng Đến nay, ngày càng có nhiều nghiên cứu về lĩnh vực này với nhiều phương pháp khác nhau được thử nghiệm cũng như có nhiều ứng dụng thực tế đã được áp dụng
Phạm vi ứng dụng của hệ tư vấn rất rộng và nhận được sự quan tâm và thu hút của các nhà nghiên cứu cũng như các doanh nghiệp Trong thương mại điện tử, một số hệ tư vấn nổi tiếng được tổng hợp và phân loại theo ứng dụng như sau:
Phim/TV/Âm nhạc: MovieLens [22], EachMovie, IMDB [14], Morse, CinemaScreen, Flycasting, Firefly, Ringo,…
Tin tức/Báo chí: GroupLens[A4], Tapestry, Lotus Notes,…
Sách/Tài liệu : Amazon.com [2], Foxtrot, Inforfinder,…
Web: Phoaks, Fab, Gad,…
Từ những tìm hiểu về các hệ tư vấn đang được sử dụng hiệu quả hiện nay, luận văn giới thiệu một sản phẩm thương mại điện tử đã khai thác triệt để các tính năng của một hệ tư vấn đó là website của Amazon (Amazon.com) với tư vấn và bán các sản phẩm chủ yếu là sách Thêm vào đó, luận văn cũng giới thiệu
là một hệ tư vấn được xây dựng và triển khai hỗ trợ các công việc nghiên cứu về
hệ tư vấn là hệ tư vấn các sản phẩm phim (MovieLens)
Amazon [2]
Amazon là một trong những hệ tư vấn được biết tới nhiều nhất trên Internet Đây là một website tiêu biểu cho việc ứng dụng hệ tư vấn vào thương mại điện tử, kết hợp rất nhiều kỹ thuật tư vấn cùng với nhiều kỹ thuật tiếp thị khách hàng nhằm bán được nhiều hàng hóa nhất Ra đời vào năm 1995, ban đầu
Trang 21Amazon là một website cung cấp sách, sau đó được mở rộng với các sản phẩm
về thiệp điện tử, đĩa CD, đồ chơi, đồ điện tử,…
Hình 5 Phân hệ tư vấn của Amazon
Khi khách hàng đăng ký vào hệ thống của Amazon, khách hàng sẽ được
hệ thống gợi ý đến một liên kết tư vấn sản phẩm cho khách hàng Trang này gợi
ý cho khách hàng các sản phẩm dựa vào đánh giá của khách hàng đối với sản phẩm mà khách hàng đã đánh giá Thêm vào đó, khi khách hàng đặt mua một sản phẩm, Amazon lại giới thiệu tư vấn cho khách hàng những sản phẩm mà khách hàng có thể quan tâm dựa trên những khách hàng đã từng mua sản phẩm
đó Các gợi ý mà Amazon đưa ra dựa trên các thông tin chính đó là yêu cầu mua hàng trước đây của khách hàng, các đánh giá hiện thời của khách hàng với các sản phẩm và các đánh giá của khách hàng khác Amazon kết hợp sử dụng các kỹ thuật tư vấn để đưa ra dự đoán cho khách hàng
MovieLens [22]
MovieLens là một dịch vụ tư vấn phim trên web được xây dựng bởi nhóm nghiên cứu Grouplens của đại học Minnesota, Mỹ Website này sử dụng kỹ thuật lọc cộng tác để sinh ra các tư vấn phim dựa trên đánh giá trực tiếp của khách hàng đối với những bộ phim có trong hệ thống Khi khách hàng truy cập vào website, khách hàng cần khai báo thông tin về tuổi, giới tính, nghề nghiệp,… Các thông tin này được MovieLens kết hợp với các đánh giá của khách hàng về các bộ phim để đưa ra gợi ý chính sách cho khách hàng
Trang 22Mục đích chủ yếu của MovieLens là phục vụ cho nghiên cứu, dữ liệu của MovieLens đã được rất nhiều nghiên cứu sử dụng để tiến hành các thử nghiệm kiểm tra hiệu quả phương pháp họ đưa ra khơng chỉ trong lĩnh vực tư vấn mà cả trong nhiều lĩnh vực khác của học máy
Hình 6 Hệ tư vấn phim MovieLens
1.7 Mục tiêu của luận văn
Kết hợp những nghiên cứu và hiểu biết về hệ hỗ trợ tư vấn trong thương mại điện tử, mục tiêu của luận văn tập trung trình bày nghiên cứu chính về hệ tư vấn với những nội dung sau:
Giới thiệu và trình bày khái quát về hệ tư vấn với các chức năng và nhiệm vụ của một hệ tư vấn trong thương mại điện tử
Kiến trúc của hệ tư vấn và quá trình xây dựng một hệ tư vấn hồn chỉnh
Mơ hình hĩa bài tốn tư vấn chuyển từ những yêu cầu thực tế đối với hệ tư vấn thành bài tốn khai phá và xử lý dữ liệu trong lĩnh vực cơng nghệ thơng tin
Trình bày ba phương pháp tiếp cận tư vấn để xây dựng và mở rộng hệ tư vấn Đồng thời đưa ra những hạn chế cịn tồn tại trong các phương pháp
Tìm hiểu và nghiên cứu hai kỹ thuật chính là đánh giá dựa hàm kinh nghiệm
và đánh giá dựa mơ hình để giải quyết bài tốn hệ tư vấn Trong đĩ tập trung trình bày hai mơ hình phân lớp phổ biến và được ứng dụng hiệu quả là
mơ hình phân lớp Nạve Bayes và mơ hình phân lớp bằng máy hỗ trợ vector SVM
Trang 23 Khảo sát bộ dữ liệu chuẩn và thực hiện xây dựng chương trình thực nghiệm với mơ hình phân lớp Nạve Bayes kết hợp làm thực nghiệm với mơ hình phân lớp SVM bằng cơng cụ Weka Kết quả thực nghiệm được so sánh và đánh giá giữa các phương pháp tư vấn cũng như giữa các mơ hình phân lớp
Trang 24CHƯƠNG 2 - CÁC PHƯƠNG PHÁP TƯ VẤN
2.1 Phương pháp tiếp cận dựa nội dung
2.1.1 Xây dựng hệ tư vấn theo phương pháp tiếp cận dựa nội dung
Trong phương pháp tư vấn dựa trên nội dung, hàm tiện ích u(c,s) của sản phẩm s ứng với khách hàng c được đánh giá dựa trên những hàm ước lượng
u(c,s i ) được gán bởi khách hàng c với những sản phẩm s i Є S tương tự với sản
phẩm s Chẳng hạn, trong ứng dụng tư vấn về điện ảnh, để tư vấn những bộ phim cho khách hàng c, hệ tư vấn dựa trên nội dung cố gắng nắm bắt được
những điểm chung giữa các bộ phim trước đây được đánh trọng số cao của
khách hàng c (chỉ rõ những diễn viên, đạo diễn, thể loại, chủ đề chính,…) Sau
đó, chỉ những bộ phim có mức giống nhau cao với bất kì sở thích nào của khác thì sẽ được tư vấn
Hình 7 Ví dụ về hệ tư vấn dựa lọc nội dung với sản phẩm phim
Phương pháp tiếp cận dựa trên nội dung để tư vấn bắt nguồn từ việc truy vấn thông tin và những nghiên cứu về kỹ thuật lọc thông tin Do tầm quan trọng cũng như là những thuận lợi của việc truy vấn thông tin, các phương diện của kỹ thuật lọc, các ứng dụng dựa trên một vài văn bản text nên nhiều hệ thống dựa trên nội dung hiện thời đều tập trung vào những sản phầm tư vấn chứa thông tin
Trang 25theo đúng nguyên bản, như những tài liệu Web sites (URLs), và những thông điệp mới của khách hàng Việc cải tiến dựa trên phương pháp truy vấn thông tin truyền thống từ hồ sơ cá nhân của khách hàng thường chứa thông tin về sở thích, nhu cầu và thị hiếu của khách hàng Các thông tin này rõ ràng có thể được suy ra
từ những khách hàng ví dụ qua các câu hỏi hoặc nằm ẩn trong các hành vi giao dịch
2.1.1.1 Hệ thống tƣ vấn dựa nội dung trên hàm kinh nghiệm
Giả sử với mỗi sản phẩm s coi Content(s) là thông tin riêng của sản phẩm,
là tập các giá trị thuộc tính (tập giá trị đặc trưng) của sản phẩm s Content(s) thường được trích rút từ tập các thuộc tính của sản phẩm s (nội dung của sản
phẩm) Do hệ thống tư vấn dựa nội dung được thiết kế chủ yếu dành cho các sản phẩm text và nội dung của sản phẩm được biểu diễn bằng các từ khóa
(keyword) Với mỗi sản phẩm s trọng số w is đo tầm quan trọng của từ i trong sản phẩm, Content(s) = (w 1s ,w 2s ,…w ks ) với w 1s ,w 2s ,…w ks là trọng số của các từ khóa
từ 1 tới k (có thể được tính bằng TF-IDF) Ví dụ hệ tư vấn Fab [4], biểu diễn nội dung các trang web bằng 100 từ quan trọng nhất Tương tự hệ thống Syskill&Webert đưa ra văn bản với 128 từ cung cấp thông tin nhiều nhất
Đặt CBProfile(c) là hồ sơ của khách hàng c bao gồm các sở thích của c
Hồ sơ cá nhân của c được xác định thông qua những đánh giá của c đối với các
sản phẩm của hệ thống trong quá khứ Phương pháp thường được sử dụng để
xác định CBProfile(c) là kỹ thuật phân tích từ khóa từ việc truy vấn thông tin
Do đó, có thể định nghĩa CBProfile(c) như một vector mức độ trọng số
(w c1 ,w c2 ,…w ck ) mỗi trọng số w ci là mức độ quan trọng của từ khóa i với người dùng c
Trong hệ tư vấn dựa nội dung, hàm tiện ích u(c,s) được xác định như sau:
u(c,s) =score(CBProfile(c), Content(s))
Trong đó cả CBProfile(c) và Content(s) đều được biểu diễn bởi vector trọng số
từ TF-IDF (tương ứng là wc
và ws
) nên hàm tiện ích u(c,s) được biểu diễn trong
truy vấn thông tin thường được xác định như sau:
s c
s c s
c
w w
w w w
w s
Ví dụ, nếu c đọc nhiều bài báo thuộc lĩnh vực toán học thì c các thuật ngữ toán học (như đạo hàm, tích phân,…) trong CBProfile(c) sẽ có trọng số cao Khi đó,
Trang 26những bài báo s cũng thuộc lĩnh vực này cĩ độ phù hợp cao với c và sẽ được hệ
tư vấn dùng để tư vấn cho khách hàng c
2.1.1.2 Hệ thống tƣ vấn dựa nội dung trên mơ hình
Bên cạnh phương pháp truy vấn thơng tin với các hàm kinh nghiệm truyền thống, tư vấn dựa nội dung cịn sử dụng nhiều phương pháp học máy khác như phân lớp Bayes [21,25], phân cụm, cây quyết định [26], phương pháp
di truyền học [36], mạng neural nhân tạo [37] Những kỹ thuật này khác với việc truy vấn thơng tin, các phương pháp này khơng tính tốn hàm tiện ích bằng hàm kinh nghiệm mà dựa trên mơ hình được biết từ tập dữ liệu đào tạo (tập dữ liệu huấn luyện) bằng các kỹ thuật học máy và thống kê
Chẳng hạn, Pazzani M và Billsus theo [25] nghiên cứu và sử dụng phương pháp tư vấn dựa nội dung với mơ hình phân lớp Nạve Bayes để phân lớp tập hợp nội dung các trang web Ban đầu, các một số trang web đã được người sử dụng đánh giá với mức độ quan tâm hoặc khơng quan tâm [25] sử dụng mơ hình phân lớp Nạve Bayes để dự đốn xác suất của các trang web
chưa được đánh giá bởi người dùng Với mỗi trang web p j mơ hình phân lớp cần
tính xác suất p j thuộc phân lớp C i nào (cĩ thể cĩ hai phân lớp là "quan tâm" và
"khơng quan tâm" ), trong đĩ trang web p j cĩ các từ khĩa là k 1,j ,k 2j ,…,k n,j Xác
suất để trang web p j thuộc phân lớp C i là:
P ( Ci | k1,j, k2,j, , kn,j)
Giả sử rằng các từ khĩa là độc lập tuyến tính, khi đĩ xác suất trang web p j thuộc
phân lớp C i được thay thế bằng:
)
| ( )
trêntập tất các các trang web trong tập dữ liệu đào tạo Và P(k x,j |C i) được xác định là tần suất xuất hiện của các trang web cĩ từ khĩa trong tất cả các trang
web được gán nhãn C i Cuối cùng trang web p j sẽ được gán với phân lớp C i nếu
nĩ được xác định cĩ xác suất lớn nhất
Trang 272.1.2 Các hạn chế của phương pháp tiếp cận dựa nội dung
2.1.2.1 Giới hạn trong phân tích nội dung
Phương pháp tư vấn dựa trên nội dung thường bị giới hạn bởi chính những thuộc tính cấu thành nên đối tượng mà hệ thống đó tư vấn Thông thường, các kỹ thuật truy vấn thông tin làm việc tốt với cách trích rút các thuộc tính từ tài liệu text Tuy nhiên, phương pháp tư vấn dựa nội dung gặp khó khăn khi phân tích đối với các thuộc tính có kiểu dữ liệu đa phương tiên như ảnh đồ họa, luồng audio và video
Một vấn đề khác liên quan đến giới hạn về phân tích nội dung là nếu hai sản phẩm khác nhau được biểu diễn cùng một tập đặc trưng Khi đó, với những sản phẩm được biểu diễn với một tập đặc có giá trị giống nhau thì hệ tư vấn dựa nội dung không thể phân biệt được sản phẩm nào phù hợp, sản phẩm nào không phù hợp với khách hàng Do đó, hệ tư vấn hoặc sẽ tư vấn cả hai sản phẩm hoặc không tư vấn sản phẩm cho khách hàng
2.1.2.2 Quá cụ thể (overspecialization)
Hệ tư vấn với phương pháp tư vấn dựa nội dung thường đưa ra các sản phẩm tương đương với những sản phẩm đã được đánh giá cao bởi khách hàng trong quá khứ Sản phẩm được tư vấn có nội dung tương đồng với các sản phẩm khách hàng đã đánh giá Như vậy, bằng phương pháp này hệ tư vấn không thể đưa ra các sản phẩm tư vấn khác với các sản phẩm mà khách hàng đã đánh giá trước đó Đồng nghĩa với hệ tư vấn không có khả năng giới thiệu các sản phẩm một cách ngẫu nhiên
Thêm vào đó trong nhiều trường hợp, những sản phẩm không nên được tư vấn nếu các sản phẩm có quá nhiều điểm giống nhau với những sản phẩm khách hàng đã đánh giá, ví dụ như một bài báo tin tức tuy khác nhau nhưng cùng đưa thông tin về một sự kiện.Vì vậy, loại bỏ tư vấn những sản phẩm có quá nhiều điểm giống với những sản phẩm mà khách hàng đã đánh giá cũng là một vấn đề cần giải quyết trong bài toán về hệ tư vấn áp dụng phương pháp dựa nội dung
2.1.2.3 Vấn đề khách hàng mới
Khách hàng phải đánh giá đầy đủ cho những sản phẩm trước khi hệ tư vấn dựa trên nội dung có thể hiểu những sở thích của khách hàng và từ đó đưa ra cho khách hàng những tư vấn tin cậy Tuy nhiên, khi có những khách hàng mới, các đánh giá của khách hàng với sản phẩm rất ít nên khó có thể đảm bảo việc tư vấn
sẽ đúng đắn và hiệu quả
Trang 282.2 Phương pháp tiếp cận dựa cộng tác
2.2.1 Xây dựng hệ tư vấn theo phương pháp tiếp cận dựa cộng tác
Theo [13], không giống như phương pháp tư vấn dựa nội dung, hệ tư vấn dựa cộng tác cố gắng dự đoán hàm tiện ích của các sản phẩm cho những khách hàng cụ thể dựa trên trọng số ban đầu của sản phẩm được cung cấp bởi khách
hàng khác Hệ thống cộng tác dự đoán kết quả hàm u(c,s) của một sản phẩm s với người dùng c dựa trên kết quả đánh giá u(c i , s) giữa người dùng c i và s, trong
đó c i là người có cùng sở thích với c Ví dụ, để gợi ý một bộ phim cho người dùng c, đầu tiê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 c Sau đó, những bộ phim được họ đánh giá cao sẽ được dùng để
tư vấn cho c
Ngoài cách tính độ tương đồng về đánh giá của một khách hàng với các khách hàng khác Hệ tư vấn cộng tác có thể kết hợp so sánh độ tương đồng của giữa các khách hàng bằng các thuộc tính là thông tin cá nhân của khách hàng
Hình 8 Ví dụ về hệ tư vấn dựa lọc cộng tác với sản phẩm phim
Có rất nhiều hệ thống tư vấn lọc cộng tác được phát triển trong thương mại điện tử như Amazon.com (sách), PHOAK (web), MovieLens (phim),…Các
hệ thống này sử dụng các thuật toán có thể được chia làm hai loại: Cộng tác dựa trên kinh nghiệm và thuật toán dựa trên mô hình
2.2.1.1 Hệ thống tư vấn dựa cộng tác trên hàm kinh nghiệm
Các thuật toán dựa trên kinh nghiệm dự đoán đánh giá của một sản phẩm dựa trên toàn bộ các sản phẩm đã được đánh giá trước đó bởi người dùng Nghĩa
là, đánh giá của sản phẩm s với người dùng c (r c,s ) được tổng hợp từ đánh giá
của những người dùng khác về s (thường là N người có sở thích tương đồng nhất với c)
Trang 29) ( ,'
N
r
ˆ ' ',
r
C c s c s
C c c
r , là trung bình của các đánh giá được cho bởi khách hàng c và c'
Có nhiều cách để tính độ tương đồng về sở thích giữa hai khách hàng, nhưng hầu hết đều tính dựa trên các sản phẩm cả hai cùng đánh giá Hai phương pháp cơ bản nhất là dựa trên độ tương quan (corelation-based) và dựa trên cosin (cosine-based)
s x
S s
y s y x s x
r r r
r
r r r r y
x sim
,
2 ,
2 ,
, ,
) (
) (
) )(
( )
, (
Đối với phương pháp dựa trên cosin, x và y được biểu diễn thành vector m chiều với m = |S x,y | Độ tương đồng của x và y là:
S s
s y s x
r r
r r y
x
y x y
x y
x sim
,
2 , 2 ,
, , 2
2
)
, cos(
) , (
2.2.1.2 Hệ thống tƣ vấn dựa cộng tác trên mô hình
Khác với phương pháp dựa trên kinh nghiệm, phương pháp dựa trên mô hình (model-based) sử dụng kĩ thuật thống kê và học máy trên dữ liệu huấn luyện (các đánh giá đã biết) để xây dựng nên các mô hình dự đoán Mô hình này sau đó sẽ được dùng để dự đoán đánh giá của các sản phẩm chưa được khách hàng đánh giá
Trang 30Cĩ rất nhiều kỹ thuật được đề xuất để xác định mơ hình đánh giá Chẳng hạn, theo Breese trong [8] đề xuất hướng tiếp cận xác suất cho lọc cộng tác,
trong đĩ cơng thức sau ước lượng đánh giá của người dùng c về sản phẩm s
(thang điểm đánh giá từ 0 đến n) như sau:
c s
r
0
,' ,
,
Billsus và Pazzani trong [7] đề xuất phương pháp lọc cộng tác trên mơ hình học máy, trong đĩ rất nhiều các kĩ thuật học máy (như mạng nơron nhân tạo) và các kĩ thuật trích chọn đặc trưng (như SVD - Singular Value Decomposition - kĩ thuật đại số nhằm làm giảm số chiều của ma trận) cĩ thể được sử dụng
Ngồi ra cịn nhiều hướng tiếp cận khác như mơ hình thống kê, mơ hình phân cụm (clustering) [19], mơ hình Nạve Bayes [9], mơ hình hồi quy tuyến tính [3], mơ hình entropy cực đại [12,36]…
Hệ thống tư vấn cộng tác khắc phục được nhiều nhược điểm của hệ thống dựa trên nội dung Một điểm quan trọng là nĩ cĩ thể xử lý mọi loại dữ liệu và gợi ý mọi loại sản phẩm, khác hồn tồn so với những gì khách hàng đã từng xem
2.2.2 Các hạn chế của phương pháp tiếp cận dựa cộng tác
2.2.2.1 Vấn đề về khách hàng mới
Giống như những vấn đề trong các hệ tư vấn dựa trên nội dung Để đưa ra những tư vấn chính xác, hệ thống đầu tiên phải hiểu những sở thích của người dùng từ những đánh giá mà người dùng đưa ra Đối với một khách hàng mới của
hệ thống, nếu khách hàng chưa cĩ đánh giá gì về các sản phẩm mà họ quan tâm thì hệ tư vấn chắc chắn sẽ khơng xác định được sản phẩm tốt nhất cho khách hàng Vấn đề về khách hàng mới cũng là một trong những vấn đề mà phương pháp tiếp cận dựa cộng tác khơng giải quyết được
Một số phương pháp tiếp cận kết hợp kỹ thuật dựa trên nội dung và kỹ thuật tư vấn dựa cộng tác để xử lý vấn đề này với các chiến lược dựa trên tính phổ biến của sản phẩm, hàm entropy của sản phẩm, các thuộc tính cá nhân của khách hàng
Trang 312.2.2.2 Vấn đề về sản phẩm mới
Những sản phẩm được thêm một cách thường xuyên vào những hệ tư vấn
Hệ tư vấn cộng tác chỉ dựa vào sở thích của những người dùng để đưa ra những
tư vấn Bởi thế, hệ tư vấn không có khả năng tư vấn tư vấn mới cho đến khi nó được số lượng lớn những người dùng đánh giá
2.2.2.3 Sự thƣa thớt dữ liệu đánh giá
Trong nhiều hệ tư vấn, số những đánh giá đã thu được thường rất nhỏ so với số những đánh giá cần được dự đoán Kết quả tư vấn của hệ tư vấn cộng tác phụ thuộc nhiều vào những sản phẩm được đại đa số khách hàng đánh giá Như vậy, với những sản phẩm được đánh giá ít, khả năng tư vấn sản phẩm đó tới khách hàng bị hạn chế Chẳng hạn, trong hệ tư vấn điện ảnh, có rất nhiều bộ phim đã được đánh giá chỉ bởi một vài người và những bộ phim này khả năng được tư vấn là rất ít, thậm chí ngay cả khi trong số đó có những người dùng đưa
ra đánh giá rất cao về chúng Cũng như vậy, đối với những người dùng mà thị hiếu của họ khác thường so với một số đông người khác thì sẽ không có người dùng nào được tư vấn về những thị hiếu giống họ, dẫn đến việc tư vấn nghèo nàn
Một phương pháp giải quyết vấn đề thưa thớt trong đánh giá là sử dụng thông tin cá nhân của khác hàng khi tính toán sự tương đồng giữa những khách hàng với nhau Hai khách hàng được xem như là giống nhau không chỉ khi họ được đánh giá có sở thích về các bộ phim là giống nhau mà chúng còn phải thuộc cùng nhóm khách hàng có cùng thông tin cá nhân như độ tuổi, giới tính, nghề nghiệp,… Sự mở rộng của những kỹ thuật lọc cộng tác thường được gọi là
“lọc demographic” [24], lọc thông tin dựa trên các thuộc tính cá nhân của khách hàng
Một phương pháp khác giải quyết ma trận đánh giá sự thưa thớt thường được sử dụng đó là kỹ thuật giảm chiều, phân tích giá trị đơn nhất (SVD) [7] thường được dùng để giảm chiều của ma trận đánh giá sự thưa thớt
Trang 322.3 Phương pháp tiếp cận kết hợp
Từ những hạn chế của phương pháp tư vấn dựa nội dung và phương pháp
tư vấn dựa cộng tác, các nhà nghiên cứu đã xây dựng một số hệ tư vấn bằng phương pháp kết hợp để tránh những hạn chế của hai phương pháp trên Có thể phân loại thành bốn cách kết hợp như sau:
Thực thi phương pháp tư vấn dựa nội dung và phương pháp tư vấn dựa cộng tác riêng rẽ, độc lập sau đó kết hợp những dự đoán của chúng
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
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
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 Hiện nay có rất nhiều nghiên cứu về phương pháp kết hợp tư vấn với nhiều kỹ thuật lai khác nhau như [4,5,11,15,17,20,27,29,31] Ngoài ra các phương pháp tư vấn còn kết hợp với kỹ thuật lọc dựa thông tin khách hàng để nâng cao độ chính xác trong tư vấn [23,24]
Dựa trên những tìm hiểu về các phương pháp kết hợp trong hệ tư vấn Luận văn tìm hiểu và khảo sát ba kỹ thuật kết hợp trong hệ tư vấn được trình bày ở các phần tiếp theo
3.1.1 Kết hợp thuộc tính của khách hàng và sản phẩm
Kết hợp đồng thời thuộc tính của khách hàng và thuộc tính của sản phẩm thành bộ thuộc tính chung Giả sử mỗi khách hàng có một tập thuộc tính
{f c1 ,f c2 , f cn } và mỗi sản phẩm có tập thuộc tính {f s1 ,f s2 , f sk } và ta có thể coi rằng
các thuộc tính này độc lập tuyến tính Khi đó, ta có thể sử dụng mô hình phân lớp với bộ đặc trưng lớn hơn chứa đựng thông tin của cả khách hàng và sản phẩm
Bằng phương pháp này, hệ tư vấn đã giải quyết được vấn đề liên quan đến
sự thưa thớt dữ liệu của các ứng dụng tư vấn cộng tác thuần nhất khi không có nhiều cặp khách hàng có cùng chung các đánh giá về sản phẩm Thêm vào đó, phương pháp này cũng xử lý được vấn đề quá cụ thể của tư vấn, khi đưa ra các sản phẩm không chỉ có đánh giá cao bởi các khách hàng có đánh giá tương đồng
mà còn đưa ra các sản phẩm có đánh giá cao dựa trên hồ sơ của khách hàng
Trang 333.1.2 Thực hiện tư vấn nội dung trước, thực hiện tư vấn dựa cộng tác sau
Phương pháp được trình bày trong phần 3.1.2 và 3.1.3 đã được James Salter và Nick Antonopoulos tại trường đại học Surrey, Anh giới thiệu và áp dụng vào sản phẩm tư vấn phim của CinemaScreen [16]
Không giống như phương pháp kết hợp các thuộc tính của khách hàng với thuộc tính của sản phẩm Phương pháp tư vấn thực hiện nội dung trước sau đó thực hiện cộng tác sau vẫn sử dụng hai phương pháp tư vấn dựa nội dung và tư vấn dựa cộng tác độc lập riêng rẽ nhưng có thứ tự
Hình 9 Mô hình tư vấn dựa nội dung trước, tư vấn dựa cộng tác sau
Dựa trên mô hình xây dựng hệ tư vấn bằng phương pháp kết hợp với tư vấn dựa nội dung trước, tư vấn dựa cộng tác sau Các bước thực hiện phương pháp tư vấn này như sau:
Với mỗi sản phẩm trong hệ tư vấn, hệ tư vấn thực hiện chọn ra danh sách các khách hàng chưa có đánh giá về sản phẩm mà có độ quan tâm cao tới sản phẩm bằng phương pháp tư vấn dựa nội dung Số lượng khách hàng có thể tùy chọn vào từng hệ thống
Xác định trọng số trung bình cho mỗi sản phẩm trong danh sách
có đánh giá cao
về sản phẩm
Kết thúc
Trang 34 Kết quả của phương pháp tư vấn dựa nội dung cho ta một danh sách khách hàng có thể có mối quan tâm tới sản phẩm Hệ tư vấn sử dụng kết quả này như một bộ dữ liệu kiểm tra và sử dụng phương pháp tư vấn dựa cộng tác để chọn ra trong danh sách khách hàng đó những khách hàng có mối quan tâm thực sự tới sản phẩm
Sau đó sản phẩm được tư vấn tới danh sách các khách hàng được lọc ra bằng phương pháp này
Sử dụng phương pháp này, hệ tư vấn sẽ giải quyết được vấn đề khi đưa sản phẩm mới vào hệ thống Khi có một sản phẩm mới đưa vào hệ thống, sản phẩm chưa được đánh giá bởi bất kỳ khách hàng nào Hệ thống dựa trên các thuộc tính tương đồng của sản phẩm với các sản phẩm khác đã được khách hàng khác đánh giá để tìm khách hàng tiềm năng
Thêm vào đó, sử dụng phương pháp này sẽ tập trung giới thiệu sản phẩm với những khách hàng thực sự quan tâm mà không phải giới thiệu tới tất cả khách hàng
3.1.3 Thực hiện tư vấn cộng tác trước, thực hiện tư vấn dựa nội dung sau
Hình 10 Mô hình tư vấn dựa cộng tác trước, tư vấn dựa nội dung sau
Bắt đầu
Tư vấn dựa cộng tác
Xác định độ tương quan giữa khách hàng hiện thời với khách hàngkhác
Tư vấn dựa nội dung
Tính toán trọng số với các thuộc tính của sản phẩm
Xác định giá trị đánh giá của khách hàng với mỗi sản phẩm
Kết thúc