Tải bản đầy đủ (.pdf) (68 trang)

Hệ thống hỗ trợ tư vấn trong thương mại điện tử

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.09 MB, 68 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜ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
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜ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
1
LỜ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.

2
LỜ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.
3
MỤ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
4
2.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 Naïve Bayes 34
3.1.1. Lý thuyết Bayes 34
3.1.2. Mô hình phân lớp Naï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
5
4.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


6
DANH 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
7
MỞ ĐẦ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.
8
Hệ 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.
9
Chƣơ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 Naï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 Naï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.
10
CHƢƠ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
11
hà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.

12
1.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ể.
13
Thê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
Tư vấn dựa
nội dung
 TF-IDF
 Phân cụm
 Phân lớp Naïve Bayes
 Clustering
 Cây quyết định
 Mạng neural
Tư vấn dựa

cộng tác
 Láng giếng gần nhất
(Cosine, correlation)
 Lý thuyết đồ thị
 Phân lớp Naïve Bayes
 Clustering [33]
 Cây quyết định
 Hồi quy tuyến tính
 Mô hình xác suất [10]
Tư vấn kết
hợp
 Kết hợp tuyến tính kết
quả
 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ể.
14
1.4. Kiến trúc hệ tƣ vấn










Hình 2. Kiến trúc hệ thống hỗ trợ tư vấn
Hệ tư vấn được chia làm 3 phần:
 Tương tác với khách hàng
 Tạo hồ sơ khách hàng
 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
K
H
Á
C
H
H
À
N
G
Hồ sơ khách hàng
Thông tin
khách hàng
Đánh giá
khách hàng
Bộ lọc tƣ vấn
Tư vấn dựa
cộng tác
Tư vấn dựa
nội dung
15
độ 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
16

hà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:
RSCu :

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
Ss '
để hàm tiện ích
)',( scu
đạt giá trị lớn
nhất.
),(maxarg', scusCc 

Hàm
),( scu

là hàm đánh giá một khách hàng c cụ thể có mối quan tâm
tới sản phẩm phẩm s như thế nào. Hàm u có thể là một hàm tùy ý phụ thuộc vào
ứ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.


17
Hì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
SC
mà 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
SC
. 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


),( jiu
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
Hồ sơ khách hàng
Hồ sơ sản phẩm
userID Mã khách hàng (Duy nhất)
Độ tuổi (00-99)
Giới tính (M-F)
Nghề nghiệp
Tình trạng hôn nhâ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

18
sả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ại Barcelona,
Tây Ban Nha - 4
th
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
19
Amazon 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.
20
Mụ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 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ế đối với hệ tư
vấn 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.
 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 toá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 Naïve Bayes và mô hình phân lớp bằng máy hỗ trợ vector
SVM.
21
 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 Naï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.

22
CHƢƠ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
23
theo đú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à
c
w


s
w

) 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:
sc
sc
sc
ww
ww
wwscu






.
),cos(),(

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 đó,

×