để có thể tạo ra được danh sách đó, các hệ tư vấn cố gắng dựđoán các sản phẩm hoặc dịch vụ phù hợp nhất với người dùng dựa trên sở thích và cácđiều kiện rằng buộc của người dùng , để là
Trang 1-
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
ĐÁM MÂY CHO TƯ VẤN LỰA CHỌN
Giảng viên hướng dẫn : PGS.TS TRẦN ĐÌNH QUẾ
Sinh viên thực hiện : PHẠM VĂN LINH Lớp : D07CNPM2
Khóa : 10 (2007-2012)
Hệ : Đại học chính qui
Trang 2-
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
ĐÁM MÂY CHO TƯ VẤN LỰA CHỌN
Giảng viên hướng dẫn : PGS.TS TRẦN ĐÌNH QUẾ
Sinh viên thực hiện : PHẠM VĂN LINH Lớp : D07CNPM2
Khóa : 10 (2007-2012)
Hệ : Đại học chính qui
Hà Nội, tháng 12/ 2011
Trang 3Trước tiên, em xin gửi lời biết ơn sâu sắc nhất tới Thầy giáo PGS.TS Trần Đình
Quế, người đã tận tình chỉ bảo, hướng dẫn, nhắc nhở em trong suốt quá trình học tập
và hoàn thành đồ án này
Em xin gửi lời cảm ơn chân thành tới tất cả quý Thầy, Cô đang giảng dạy trongkhoa Công nghệ thông tin cùng toàn thể Thầy, Cô trong trường Học viện Công NghệBưu Chính Viễn Thông đã tận tình truyền đạt những kiến thức quý báu giúp em hoànthành nhiệm vụ học tập trong suốt thời gian là sinh viên của trường
Cho con gửi lời cảm ơn chân thành đến bố mẹ, ông bà đã luôn động viên, ủng hộ,
cổ vũ và tạo mọi điều kiện cho con trong suốt những năm tháng con ngồi trên ghế nhàtrường
Cho tôi gửi lời cảm ơn đến những người bạn của tôi, những người luôn chia sẻ,động viên, giúp đỡ và luôn ở bên tôi mỗi khi tôi gặp khó khăn trọng học tập cũng nhưtrong đời sống
Xin chân thành cảm ơn!
Hà Nội, tháng 12 năm 2011Sinh viên thực hiện
Phạm Văn Linh
Trang 4CÁC THUẬT NGỮ VIẾT TẮT v
CHƯƠNG 1: TỔNG QUAN HỆ TƯ VẤN 3
1.1 GIỚI THIỆU TỔNG QUAN VỀ HỆ TƯ VẤN 4
1.1.1.Chức năng của các hệ tư vấn 7
1.1.2.Ứng dụng của hệ tư vấn 10
1.1.3 Các vấn đề cơ bản của hệ tư vấn 11
1.2 CÁC KỸ THUẬT LỌC CỘNG TÁC 12
1.2.1 Các kỹ thuật lọc cộng tác dựa trên bộ nhớ 16
1.2.2.Các kỹ thuật lọc cộng tác dựa trên mô hình 22
1.2.3.Các kỹ thuật lọc cộng tác lai ghép 23
1.3 Kết luận 23
CHƯƠNG 2: KẾT HỢP LỌC CỘNG TÁC VÀ MÔ HÌNH ĐÁM MÂY 25
2.1 Kiến trúc hệ thống tư vấn kết hợp lọc cộng tác và mô hình đám mây 26
2.2 Thành phần tạo dự đoán dựa trên lọc cộng tác 27
2.2.1.Xây dựng tập láng giềng 27
2.2.2.Tạo dự đoán 28
2.2.3 Ưu nhược điểm của thuật toán lọc cộng tác dựa trên người dùng 29
2.3 Thành phần tạo dự đoán dựa trên mô hình đám mây 29
2.3.1.Tạo mô hình đám mây 29
2.3.2.Hình thành tập láng giêng 30
2.3.3.Tính dự đoán 31
2.3.4.Ưu nhược điểm của thuật toán lọc cộng tác dựa trên mô hình đám mây 32
2.4 Tính dự đoán kết hợp 32
2.5 Kết luận 36
CHƯƠNG 3: CÀI ĐẶT VÀ ĐÁNH GIÁ THỬ NGHIỆM 37
3.1 Tập dữ liệu thử nghiệm 38
3.2 Đánh giá thuật toán áp dụng cho hệ tư vấn 39
3.3 Kết quả thử nghiệm thuật toán 42
3.4 Kết luận 46
KẾT LUẬN 48
TÀI LIỆU THAM KHẢO 50
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ………
………
………
………
………
………
………
Trang 5………
………
………
………
………
………
………
………
………
………
………
………
Điểm: ……….………(bằng chữ: … ……… ….)
Hà nội, ngày tháng năm 2011
Giáo viên hướng dẫn (ký, họ tên)
Trang 6………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Điểm: ……….………(bằng chữ: … ……… ….)
Hà nội, ngày tháng năm 2011
Giáo viên phản biện (ký, họ tên)
Trang 7Từ viết tắt Tiếng Anh Tiếng Việt
User_CF Collaborative Filtering Base
on User
Lọc cộng tác dựa trên người dùng
CM_CF Cloud model Collaborative
Filtering
Lọc cộng tác dựa trên mô hình đám mây
Hybrid_CF Hybrid algorithm based on
Collaborative Filtering and Cloud Model
Thuật toán kết hợp lọc cộng tác
dự trên người dùng và mô hình đám mây
ACMSIGIR Special Interest Group on
Trang 8Hình 1.1: Hệ thống tư vấn MovieLens 5
Hình 1.2: Website amazon.com 6
Hình 1.3: Quá trình lọc cộng tác 14
Hình 1.4: Ma trận người dùng sản phẩm 15
Hình 2.1 Kiến trúc hệ thống kết hợp lọc cộng tác và mô hình đám mây 26
Hình 3.1: biểu đồ so sánh các giá trị MAE của các thuật toán khi thay đổi kích thước tập láng giềng 43
Hình 3.2: biểu đồ so sánh các giá trị MAE của thuật toán khi thay đổi kích thước tập láng giềng và độ đo tương tự 44
Hình 3.3: Biểu đồ so sánh giá trị MAE của các thuật toán khi thay đổi mức độ thưa thớt của tập dữ liệu 46
DANH MỤC CÁC BẢNG
Trang 9Bảng 3.2: bảng giá trị kích thước tập láng giềng K và giá trị MAE tương ứng với từng độ
đo tương tự 44Bảng 3.3: bảng giá trị mức độ thưa thớt của tập dữ liệu và giá trị MAE tương ứng với từng thuật toán 45
Trang 10Sự phát triển nhanh chóng của công nghệ thông tin và Internet đã tạo nên lượng dữliệu khổng lồ trên mạng, ngày càng nhiều thông tin được tạo ra và được truy cập trêninternet, dẫn tới vấn đề quá tải thông tin do đó việc tìm kiếm thông tin của người dùngtrở lên khó khăn và đặc biệt sự quan tâm của mỗi người dùng tới nguồn thông tin làkhác nhau do vậy cần có các công cụ, hệ thống có khả năng hỗ trợ người dùng tìmkiếm hoặc đưa ra các thông tin phù hợp với sự quan tâm hiện thời của người dùng Các hệ tư vấn giải quyết vấn đề quá tải thông tin bằng cách giúp người dùng khámphá và đánh giá các sản phẩm quan tâm Lọc cộng tác là một trong những kỹ thuật phổbiến và hiệu quả nhất được sử dụng trong các hệ tư vấn Các thuật toán lọc cộng tác sửdụng thông tin lịch sử của các người dùng để xác định tập láng giềng của mỗi ngườidùng để đưa ra hành vi tương tự và dự đoán các sản phẩm mới của những người dùngtrong tập láng giềng Các thuật toán lọc cộng tác đã được áp dụng thành công trongnhiều ứng dụng khác nhau Nhưng tất cả các kỹ thuật,thuật toán áp dụng cho hệ tư vấnđều có những điểm mạnh và điểm yếu riêng, và gặp phải những vấn đề đặc trưng của
hệ tư vấn như: vấn đề thưa thớt dữ liệu, điểm khởi đầu yếu (cold-start), khả năng mởrộng… Vấn đề thưa thớt dữ liệu xảy ra khi các dữ liệu xếp hạng có sẵn là rất ít vàkhông đủ để xác định độ tương tự giữa các láng giềng, đặc biệt khi hệ thống mới đưavào sử dụng Vấn đề thưa thớt dữ liệu là lý do chính ảnh hưởng tới chất lượng dự đoán
Đã có nhiều phương pháp được đề xuất để giải quyết vấn đề thưa thớt dữ liệu, ví dụ,Billsus và Pazzani [1]đã sử dụng thuật toán phân tích giá trị kỳ dị để giảm kích thước
dữ liệu xếp hạng bằng cách loại bỏ những người dùng hoặc những sản phẩm khôngđược quan tâm Để đạt được hiệu quả tư vấn cao, yêu cầu thuật toán phải giải quyếtđược các vấn đề cũng như các đặc trưng của hệ tư vấn
Các hệ thống tư vấn dựa trên lọc cộng tác cũng phải đưa ra các tư vấn trong thờigian thực Tuy nhiên, thuật toán lọc cộng tác đòi hỏi tính toán rất tốn kém và phát triểnphi tuyến với cả số lượng người dùng và sản phẩm Khả năng mở rộng kém của cácthuật toán lọc cộng tác làm cho nó không có hiểu quả cho việc thực thi thời gian thực
đã có nhiều nỗ lực được thực hiện nhằm giải quyết vấn đề khả năng mở rộng
Những năm gần đây, nhiều nhà nghiên cứu đã khẳng định hiệu quả của việc kết hợp
mô hình đám mây vào quá trình lọc cộng tác [11] Phương pháp tiếp cận lọc cộng tácdựa trên mô hình đám mây nhằm giải quyết vấn đề thưa thớt dữ liệu và khả năng mởrộng thông qua xây dựng sở thích toàn cục của người dùng thể hiện bởi vector đặctrưng đám mây Phương pháp này có thể làm giảm số chiều của dữ liệu và tránh sự kếthợp chặt chẽ của các thuộc tính khi tính độ tương tự Tuy nhiên, việc sử dụng sở thích
Trang 11tương tự giữa hai người dùng nếu họ không cùng xếp hạng bất kỳ sản phẩm nào.Phương pháp tiếp cận lọc cộng tác dựa trên mô hình đám mây giải quyêt vấn đề bằngcách đưa ra độ đo tương tự toàn cục Mặc dù mô hình đám mây có thể nâng cao độ chephủ dự đoán của thuật toán lọc cộng tác, nó có thể làm giảm độ chính xác dự đoán.
Mục đích đồ án là tìm hiểu kỹ thuật lọc cộng tác áp dụng cho hệ tư vấn lựa chọn.
Giới thiệu và đánh giá thử nghiệm thuật toán kết hợp lọc cộng tác và mô hình đámmây cho hệ tư vấn, nhằm cải thiện chất lựợng tư vấn và khắc phục vấn đề thưa thớt dữliệu
Nội dung của đồ án gồm có:
• Tìm hiểu hệ tư vấn và lọc cộng tác cho hệ tư vấn lựa chọn
• Tìm hiểu thuật toán kết hợp lọc cộng tác và mô hình đám mây cho hệ tư vấn lựachọn
• Cài đặt và đánh giá thử nghiệm thuật toán kết hợp lọc cộng tác và mô hình đámmây với các thuật toán lọc cộng tác truyền thống sử dụng tập dữ liệu MovieLen.Cấu trúc đồ án gồm có:
Chương 1: Tổng quan hệ tư vấn
Chương này, đồ án giới thiệu về hệ tư vấn, các vấn đề và các thách thức đối với cácthuật toán áp dụng cho hệ tư vấn.Đưa ra tổng quát về kỹ thuật lọc cộng tác, một kỹthuật áp dụng phổ biến và thành công đối với hệ tư vấn
Chương 2: Kết hợp lọc cộng tác và mô hình đám mây
Chương này trình bày kiến trúc hệ thống kết hợp lọc cộng tác và mô hình đám mây
và chi tiết thuật toán lọc cộng tác dựa trên người dùng và lọc cộng tác dựa trên mô hìnhđám mây cùng với ưu nhược điểm của mỗi thuật toán
Chương 3: Cài đặt và đánh giá thử nghiệm
Chương này cài đặt thử nghiệm thuật toán kết hợp lọc cộng tác và mô hình đám mây với tập dữ liệu MovieLen và so sánh kết quả của thuật toán với các thuật toán truyền thống
Trang 12CHƯƠNG 1: TỔNG QUAN HỆ TƯ VẤN
• Trình bày tổng quan hệ tư vấn
• Chức năng của hệ tư vấn
• Các kỹ thuật lọc cộng tác áp dụng cho hệ tư vấn
Nội dung chương này trình bày tổng quan về hệ tư vấn, các chức năng của hệ tư vấnđối với người sử dụng và nhà cung cấp dịch vụ, các kỹ thuật lọc cộng tác áp dụng cho
hệ tư vấn hiện nay cùng với ưu nhược điểm của các kỹ thuật này
Trang 131.1 GIỚI THIỆU TỔNG QUAN VỀ HỆ TƯ VẤN
Trong cuộc sống thường ngày, mọi người thường dựa vào ý kiến hay lời khuyênngười khác để đưa ra quyết định về hành động hoặc lựa chọn, ví dụ như để lựa chọn bộphim mọi người có thể đọc giới thiệu tổng quát, bài đánh giá của các nhà phê bình điệnảnh hoặc nhận xét của những người khác về bộ phim trên các tạp chí, Internet hoặc khimuốn mua một cuốn sách, mọi người có thể tham khảo ý kiến của người quen, chủ cửahàng bán sách hoặc những người mua khác, bằng cách đưa ra sở thích, mối quan tâmcủa mình với họ để nhận được góp ý
Với sự phát triển của Internet và thương mại điện tử hiện nay, lượng thông tin cósẵn là vô cùng lớn, điều đó gây khó khăn và rất tốn thời gian để người dùng tìm kiếmthông tin và lựa chọn sản phẩm Yêu cầu cần có phương pháp thu thập thông tin và đưa
ra lời khuyên để hỗ trợ người dùng trong vấn đề tìm kiếm và lựa chọn sản phẩm họquan tâm Hệ tư vấn là một giải pháp được đưa ra cho vấn đề này
Hệ tư vấn là các kỹ thuật (lọc thông tin) và các công cụ phần mềm cung cấp các đề xuất sản phẩm có thể được quan tâm tới người dùng Các đề xuất này có thể giúp ích cho quá trình đưa ra quyết định lựa chọn sản phẩm của người dùng, như lựa chọn mặt hàng để mua, bài báo hay một bản nhạc … [1]
Một hệ thống tư vấn thường tập trung vào một loại sản phẩm nhất định (CD,Sách, Phim ảnh, Báo, Hàng hóa…) với thiết kế, giao diện người dùng, các kỹ thuật tưvấn phù hợp sẽ đưa ra các đề xuất hiệu quả và hữu dụng cho loại sản phẩm cụ thể Các
hệ tư vấn chủ yếu hướng tới những người thiếu kinh nghiệm hoặc thiếu khả năng đểđánh giá tiềm năng vượt trội của các sản phẩm mà một trang web có thể cung cấp ví
dụ trang web phổ biến là Amazon.com, trang web này sử dụng một hệ tư vấn để cácnhân hóa lưu trữ trực tuyến cho mỗi khách hàng, khi các đề xuất được cá nhân hóa,người dùng hoặc nhóm người dùng khác nhau sẽ nhận được các đề xuất khác nhau.Ngoài ra cũng có các hệ tư vấn không được cá nhân hóa, đó là cách đơn giản để tạo các
đề xuất áp dụng trong các hệ tư vấn tạp chí, báo
Trang 14Hình 1.1: Hệ thống tư vấn MovieLens
Trang 15Hình 1.2: Website amazon.com
Các tư vấn được cung cấp cho người dùng dưới dạng đơn giản như một danh sáchxếp hạng các sản phẩm để có thể tạo ra được danh sách đó, các hệ tư vấn cố gắng dựđoán các sản phẩm hoặc dịch vụ phù hợp nhất với người dùng dựa trên sở thích và cácđiều kiện rằng buộc của người dùng , để làm được điều này, các hệ tư vấn thu thậpthông tin liên quan tới người dùng : sở thích, các lần đánh giá về các sản phẩm , hoặcđược suy luận từ các hành vi của người dùng đối với hệ thống hoặc tận dụng các tư vấn
đã được tạo bởi cộng đồng người dùng để tư vấn cho người dùng đang hoạt động(active user), người mà cần được tư vấn Kết quả tư vấn là các sản phẩm mà những
Trang 16người dùng tương tự đã thích, các sản phẩm này có thể hoàn toàn mới đối với ngườidùng được tư vấn Phương pháp tiếp cận này được gọi là kỹ thuật lọc cộng tác
Nghiên cứu các hệ tư vấn liên quan tới các kỹ thuật và các công cụ hệ thống phânlớp thông tin Tuy nhiên các hệ tư vấn được nghiên cứu độc lập từ những năm 1990.Những năm gần đây sự quan tâm về các hệ tư vấn đã gia tăng nhanh chóng, được thểhiện [1]:
• Các hệ tư vấn đóng vai trò quan trọng trong các website đã được đánh giácao như: amazon.com, youtube.com, yahoo Hơn nữa nhiều công ty đaphương tiện hiện nay đang phát triển và triển khai các hệ tư vấn như mộtphần dịch vụ mà học cung cấp tới khách hàng của họ Ví dụ Netflix, dịch vụcho thuê phim trực tuyến, họ đưa ra giải thưởng 1 triệu dollar cho nhóm đầutiên cải thiện đáng kể hiệu năng hệ tư vấn của họ (cải thiện 10% hiệu năng )
• Đã có các cuộc hội thảo, hội nghị dành riêng cho các cống hiến liên quan tớilĩnh vực này Tiêu biểu là ACM Recommender Systems, được thành lậpnăm 2007 và hiện nay tổ chức các sự kiện hằng năm về các nghiên cứu vàứng dụng công nghệ tư vấn Ngoài ra, có phiên họp dành riêng cho các lĩnhvực cụ thể như : ACMSIGIR, SIGMOD
• Tại các tổ chức giáo dục trên khắp thế giới, các khoa đại học và sau đại họchiện nay đã có môn rành riêng cho nghiên cứu về hệ tư vấn, các bài hướngdẫn, sách, báo về các hệ tư vấn đã được phát hành rộng rãi
• Có nhiều tạp chí của các trường đại học phát hành về các nghiên cứu và sựphát triển trong lĩnh vự tư vấn, trong đó có: AI Communications; IEEEIntelligent Systems, International Journal Of Electionic Commerce
1.1.1 Chức năng của các hệ tư vấn
Phần này sẽ trình bày về chức năng của các hệ tư vấn Trước tiên, ta cần phân biệtrõ vai trò của các hệ tư vấn đối với nhà cung cấp dịch vụ (hệ tư vấn đại diện cho nhàcung cấp dịch vụ) và đối với người sử dụng hệ tư vấn Ví dụ như : một hệ tư vấn dulịch thường được đưa ra bởi bên môi giới du lịch hoặc nhà tổ chức quản lý điểm du lịchnhằm mục đích tăng doanh thu, cho thuê được nhiều phòng nghỉ hơn, tăng số lượng dukhách tới điểm du lịch đó.Trong khi động cơ chính của người sử dụng hệ tư vấn này là
để tìm các điểm du lịch, khách sạn phù hợp và các sự kiện hấp dẫn khi đến điểm dulịch
Trang 171.1.1.1 Đối với nhà cung cấp
Trên thực tế, có nhiều lý do để nhà cung cấp dịch vụ muốn khai thác công nghệnày FrancescoRicci và cộng sự [1] đã đưa ra một số lí do như sau:
• Tăng số lượng sản phẩm bán được: đây có lẽ là chức năng quan trọng nhất đối với
các hệ tư vấn thương mại điện tử, mục đích này đạt được do các sản phẩm được tưvấn phù hợp với các sản phẩm mà người dùng cần và người dùng mong muốn, cóthể người dùng sẽ chấp nhận mua sau khi xem tư vấn từ hệ thống Nói chung, ta cóthể nói nhìn từ quan điểm của các nhà cung cấp dịch vụ, mục đích chính của việcđưa ra một hệ tư vấn là làm tăng tỷ lệ giữa giữa lượng khách hàng mua sản phẩm vàlượng khách hàng truy cập chỉ để duyệt tìm thông tin
• Bán được các sản phẩm đa dạng hơn: chức năng này của hệ tư vấn cho phép người
dùng lựa chọn các lựa chọn các sản phẩm mà có thể rất khó để tìm thấy nếu nhưkhông có tư vấn chính xác Ví dụ, trong hệ tư vấn phim của Netflix, nhà cung cấpquan tấm tới cho thuê tất cả DVD của họ , chứ không chỉ những DVD nổi tiếng,điều này có thể rất khó nếu như không có hệ tư vấn, họ có thể gặp rủi ro trong việcquảng cáo các bộ phim không phù hợp với thị hiếu của người dùng Như vậy, một
hệ tư vấn đề xuất hoặc quảng cáo được những DVD không nổi tiếng nhưng phù hợpvới người dùng
• Nâng cao sự hài lòng của người dùng: Một hệ thống tư vấn được thiết kế tốt có thể
hoàn thiện kinh nghiệm sử dụng web hoặc ứng dụng của người dùng Với tương tácngười máy hợp lý, người dùng có thể thấy được các tư vấn một cách dễ ràng, phùhợp với thị hiếu của họ Như vậy họ sẽ thích sử dụng hệ thống Sự kết hợp hiệu quảgiữa các tư vấn và giao diện sử dụng sẽ làng tăng lượng đánh giá chủ quan củangười dùng về hệ thống Điều này làm tăng số lượt sử dụng hệ thống và tăng khảnăng các tư vấn được chấp nhận
• Nâng cao sự trung thành của người dùng: Một người sẽ trung thành với một
website khi mà họ truy cập, hệ thống nhận thức được đây là khách hàng cũ và đốiđãi với họ như một người truy cập quan trọng Đây là một tính năng thông thườngcủa một hệ tư vấn Hệ tư vấn sử dụng các thông tin có được từ người dùng trongcác lượt tương tác trước của họ với hệ thống ví dụ như các đánh giá về các sảnphẩm, hành vi duyệt web Do vậy, người dùng càng tương tác nhiều với hệ thống,
mô hình người dùng của họ sẽ càng hoàn thiện hơn, như vậy hệ thống sẽ đưa rađược các tư vấn hợp lý, hiệu quả hơn với sở thích của người người dùng đó
• Hiểu biết tốt hơn về những mong muốn của người dùng: tình năng này của hệ thống
có thể được sử dụng lại cho nhiều ứng dụng khác, đó là mô tả về sở thích của người
Trang 18dùng Có thể được thu thập một cách tường minh (đánh giá của người dùng về sảnphầm …) hoặc không tường minh được suy luận ra từ các hành vi tương tác với hệthống của người dùng, nhà cung cấp dịch vụ có thể dựa vào đó để quyết định có sửdụng lại tri thức này cho một mục đích khác hay không ví dụ như cải thiện quản lýsản xuất và lưu trữ sản phẩm,cân đối việc sản xuất sản phẩm theo thị hiếu ngườidùng.
1.1.1.2 Đối với người sử dụng
Lý do để người sử dụng cần đến một hệ tư vấn:
• Tìm ra một số sản phẩm tốt nhất: hệ thống tư vấn tới người dùng một số sản phẩm
được xếp hạng và dự đoán số người dùng khác thích chúng Đây là chức năng chính
mà nhiều hệ thống thương mại điện tử sử dụng
• Tìm ra tất cả sản phẩm tốt: tư vấn tất cả sản phẩm mà có thể làm hài lòng nhu cầu
của khách hàng Trong nhiều trường hợp không đủ cơ sở để đưa ra các sản phẩm tốtnhất Điều này chỉ đúng khi số lượng sản phẩm liên quan tương đối nhỏ hoặc khi hệ
tư vấn là chức năng quan trọng trong ứng dụng tài chính và y tế
• Tư vấn liên tục: thay vì tập trung vào tạo tư vấn đơn, các hệ thống tư vấn tạo các tư
vấn liên tục tới người dùng cho tới khi họ tìm được sản phẩm mong muốn
• Tư vấn một nhóm sản phẩm: đề xuất một nhóm các sản phẩm mà tương đương
nhau Ví dụ như kế hoạch du lịch có thể là gồm nhiều điểm đến, các dịch vụ nơi ở ,các sự kiện hấp dẫn Từ quan điểm của người dùng những lựa chọn khác nhau cóthể được xem xét và được lựa chọn một điểm đến du lịch hợp lý
• Chỉ duyệt tìm: trong tác vụ này, người dùng duyệt các danh mục mà không có ý
định mua sản phẩm nào, tác vụ này đưa ra tư vấn giúp người dùng duyệt tìm cácsản phẩm có nhiều khả năng thuộc vào phạm vi sở thích của người dùng với phiêmtruy cập xác định Đây là tác vụ được hỗ trợ bởi các kỹ thuật đa phương tiện
• Tìm kiếm các tư vấn tin tưởng: một số người dùng không tin tưởng vào các hệ
thống tư vấn, họ tham gia vào hệ thống để thấy được các hệ thống này đưa ra tư vấntốt tới mức nào Do đó, một số hệ thống có thể đưa ra các chức năng chính xác đểcho phép họ thử nghiệm hành vi của họ, ngoài các yêu cầu tư vấn
• Cải thiện hồ sơ cá nhân người dùng: người dùng có khả năng cung cấp thông tin,
những gì họ thích, không thích với hệ thống tư vấn Điều này là hết sức cần thiết đểđưa ra các tư vấn mang tính chất cá nhân hóa Nếu như hệ thống không xác định trithức về người dùng đang hoạt động thì nó chỉ có thể đưa ra các tư vấn giống nhau
Trang 19• Bày tỏ ý kiến của mình: một số người dùng có thể không quan tâm tới các tư vấn,
đúng hơn, những gì quan trọng với họ là được góp ý kiến, đánh giá về sản phẩm,giúp ích người khác khi lựa chọn sản phẩm này
• Tác động tới những người dùng khác: trong hệ tư vấn trên web, có nhiều người
tham gia với mục tiêu của họ là tác động tới hệ tư vấn, dẫn tới ảnh hưởng tới ngườidùng khác khi mua một sản phẩm cụ thể (thông qua đánh giá sản phẩm,…) Tácđộng của họ có thể thúc đẩy hoặc gây bất lợi cho sản phẩm
Vai trò của một hệ tư vấn trong hệ thống thông tin có thể rất đa dạng, điều này phụthuộc vào các kỹ thuật và nguồn tri thức được sử dung
1.1.2 Ứng dụng của hệ tư vấn
Nghiên cứu hệ tư vấn đang được tiến hành nhằm mục đích ứng dụng vào thực tế vàthương mại Ngoài việc đóng góp về mặt lý thuyết, mục đích chính là hướng tới cảithiện các tư vấn thương mại, như vậy, các nghiên cứu hệ tư vấn liên quan tới các khíacạnh, áp dụng để thực thi các hệ tư vấn Các khía cạnh này liên quan tới các pha khácnhau trong vòng đời phát triển của một hệ tư vấn,đó là, thiết kế hệ thống, thực thi nó,bảo trì và nâng cấp hiệu năng hệ thống
Các khía cạnh áp dụng đối với giai đoạn thiết kế gồm các yếu tố, phải lựa chọnthuật toán hiệu quả Yếu tố đầu tiên được cân nhắc, miền áp dụng, là một tác động lớnđối với thuật toán mà được sử dụng Đưa ra một mô hình và phân loại các ứng dụng hệ
tư vấn đã có để xác định miền ứng dụng Dựa trên những miền ứng dụng xác định đó,chúng ta định nghĩa tổng quát hơn về loại miền ứng dụng đối với các hệ tư vấn phổbiến nhất:
• Giải trí: các tư vấn phim, nhạc, TV
• Nội dung: các bài báo, tư vấn văn bản, tư vấn các trang web,lọc e-mail
• Thưng mại điện tử: tư vấn cho người tiêu dùng các sản phẩm để mua như sách,hàng hóa, máy tính…
• Dịch vụ: tư vấn dịch vụ du lịch, tư vấn của chuyên gia, tư vấn thuê nhà hoặc dịch
vụ môi giới
Các dịch vụ tư vấn đã trở lên phổ biến hơn, quan tâm tới khơi dậy các lợi thế tiềmnăng trong các ứng dụng mới, như tư vấn bạn bè Như vậy danh sách các lĩnh vực trênchưa thể liệt kê hết tất cả miền ứng dụng mà được giải quyết bằng các kỹ thuật tư vấn,
nó đưa ra miêu tả ban đầu về các kiểu miền ứng dụng
Trang 20Nhà phát triển hệ tư vấn có hiểu biết về miền ứng dụng, các yêu cầu của nó cũngnhư những thách thức và các hạn chế của nó Chỉ sau khi phân tích những yếu tố họmới có thể lựa chọn được thuật toán tư vấn tối ưu và thiết kế tương tác người máy hiệuquả.
1.1.3 Các vấn đề cơ bản của hệ tư vấn
1.1.3.1 Vấn đề điểm khởi đầu yếu
Vấn đề này liên quan đặt biệt với các vấn đề mà hệ thống không thể thực hiện bất
kỳ kết luận cho người dùng hoặc sản phẩm do hệ thống chưa thu thập đủ thông tin.Vấn đề này chủ yếu gặp phải trong các hệ tư vấn Thông thường, một hệ tư vấn so sánh
hồ sơ của các người dùng để tham khảo một số đặc điểm mà có thể thu được từ cácphương pháp lọc cộng tác hoặc phương pháp lọc nội dung Hệ thống không thể tạo các
tư vấn hữu ích khi mà nó chưa có đủ thông tin về người dùng hoặc sản phẩm
Ba kiểu vấn đề điểm bắt đầu yếu gồm: sản phẩm mới, người dùng mới, hệ thốngmới đưa vào sử dụng Rõ ràng, vấn đề người dùng mới xảy ra khi một người dùng mới
sử dụng hệ thống và hệ thống không có đủ thông tin về sở thích của người dùng.Tương tự, khi một sản phẩm mới được thêm vào hệ thống và chưa có người dùng nàotrong hệ thống cung cấp thông tin phản hồi về sản phẩm này Vấn đề hệ thống mới đưavào sử dụng là sự kết hợp của hai vấn đề trên đó là cùng xảy ra hai vấn đề: người dùngmới, sản phẩm mới
Phương pháp dựa trên nội dung là sự kết hợp của các đặc điểm về sản phẩm và hồ
sơ người dùng Với mục đích này, hệ thống phải xây dựng mô hình chi tiết về sở thích
và thị hiếu người dùng Hệ thống có thể làm điều này một cách tường minh bằng cáchtruy vấn người dùng, hoặc không tường minh bằng cách giám sát các hành vi sử dụng
hệ thống của người dùng Trong cả hai cách này, vấn đề điểm khởi đầu yếu có nghĩarằng trước khi hệ thống có thể cung cấp các tư vấn thông minh, người dùng phải sửdụng hệ thống và góp phần xây dựng hồ sơ của họ[5]
Tương tự, phương pháp lọc cộng tác cũng bị ảnh hưởng bởi vấn đề này Trongphương pháp tiếp cận này, hệ tư vấn xác định độ tương tự của các người dùng vớingười dùng đang hoạt động và đề xuất các sản phẩm mà những người dùng tương tựthích và người dùng đang hoạt động chưa xem qua sản phẩm đó Do vấn đề điểm khởiđầu yếu, phương pháp tiếp cận này sẽ thất bại trong việc xem xét các sản phẩm màchưa được đánh giá bởi bất kỳ người dùng nào trước đó
Trang 211.1.3.2 Vấn đề thưa thớt dữ liệu
Thưa thớt dữ liệu là một vấn đề lớn nhất mà các hệ tư vấn gặp phải Nó quyết địnhtới chất lượng của các tư vấn Vấn đề này là hạn chế chính về chất lượng của các tưvấn và khả năng áp dụng của phương pháp lọc cộng tác nói chung, và nó xảy ra khi dữliệu phản hồi là không đủ để xác định những người hàng xóm Như đã đề cập, vần đềnày gặp phải trong các hệ thống tư vấn sử dụng phương pháp cộng tác, xây dựng các tưvấn dựa trên xếp hạng của các sản phẩm được người dùng đưa ra Các hệ thống thườngxây dựng ma trận người dùng – sản phẩm chứa các xếp hạng sản phẩm được ngườidùng đưa ra Khi số lượng người dùng và sản phẩm tăng lên, ma trận này cũng lớn hơn
và gặp phải vấn đề thưa thớt dữ liệu Có nhiều phương pháp được đề xuất để giải quyếtvấn đề thưa thớt dữ liệu Hầu hết chúng đề thành công trong việc cung cấp các tư vấntốt hơn nhưng vẫn chưa có một mô hình chung để giải quyết vấn đề thưa thớt dữ liệu[5]
1.1.3.3 Vấn đề về khả năng mở rộng
Khả năng mở rộng là một tính chất mong đợi của các hệ thống mà chỉ ra khả năng
xử lý lượng công việc này càng lớn và mở rộng dễ dàng
Đối với nhiều hệ thống tư vấn có nhiều người sử dụng và nhiều sản phẩm, duy trìkhả năng mở rộng là một vấn đề thánh thức Các thuật toán láng giềng gần nhất được
sử dụng rộng rãi cho các hệ tư vấn và những thuật toán này yêu cầu tính toán mộtlượng lớn cả người dùng và sản phẩm Với một triệu người dùng và sản phẩm, một hệ
tư vấn trên web sẽ bị ảnh hưởng nghiêm trọng bởi vấn đề khả năng mở rộng
Hầu hết các hệ tư vấn sử dụng các kiểu lọc cộng tác khác nhau để xây dựng các đềxuất các sản phẩm liên quan đến mối quan tâm của người dùng Tuy nhiên, các kỹthuật lọc cộng tác yêu cầu tính toán nhiều tùy theo số lượng người dùng và sản phẩmtrong có sở dữ liệu Các phương pháp đề xuất để xử lý vấn đề khả năng mở rộng vàthúc đẩy xây dựng các tư vấn dựa trên cơ chế xấp xỉ Ngay cả khi chúng ta cải tiến hiệunăng, hầu hết kết quả đưa ra giảm tính chính xác
1.2 CÁC KỸ THUẬT LỌC CỘNG TÁC
Các hệ tư vấn được giới thiệu như một kỹ thuật thông minh dựa trên máy tính đểgiải quyết các vấn đề quá tải thông tin và sản phẩm Chúng có thể được sử dụng cungcấp các dịch vụ hiệu quả trong các miền nghiệp vụ điện tử, có lợi cả với khách hàng vànhà buôn Các hệ tư vấn đối với khách hàng bằng cách đưa ra cho họ các đề xuất về
Trang 22các sản phẩm mà họ có thể quan tâm Với các công ty kinh doanh, chúng giúp tăngdoanh số bán hàng.
Hai đối tượng cơ bản xuất hiện trong hầu hết các hệ tư vấn là người dùng và sảnphẩm
• Người dùng: là những người mà sử dụng hệ tư vấn, cung cấp ý kiến của họ về cácsản phẩm và nhận được tư vấn về các sản phẩm mới từ hệ thống
• Sản phẩm: là những đối tượng được tư vấn
Đầu vào của một hệ tư vấn phụ thuộc vào thuật toán lọc được sử dụng Thôngthường, đầu vào thuộc một trong những loại sau:
• Xếp hạng, thể hiện ý kiến đánh giá của người dùng về các sản phẩm Xếp hạngthường được cung cấp bởi người dùng và theo một thang đánh giá cụ thể (ví dụ: 1-kém, 10- rất tốt) Một lược đồ đánh giá phổ biến là lược đồ đánh giá nhị phân, màchỉ cho phép các đánh giá nhận giá trị hoặc là 0 hoặc là 1 Các xếp hạng có thể cũngđược thu thập một cách không tường minh từ lịch sử mua hàng của người dùng,web logs hay còn gọi là lịch sử duyệt web của người dùng hoặc các mẫu truy cậpthông tin [4]
• Dữ liệu nhân thân (demographic data), các thông tin như tuổi, giới tính, trình độ củacác người dùng Kiểu thông tin này thường khó có được Nó thường được thu thậpmột cách tường minh từ người dùng
• Dữ liệu nội dung, thông tin dựa trên phân tích ngữ cảnh của các văn bản có liênquan tới các sản phẩm được đánh giá bởi người dùng Các đặc trưng được trích xuấtbằng cách phân tích này thường được sử dụng như đầu vào cho thuật toán lọc đểsuy ra hồ sơ người dùng
Trang 23Hình 1.3: Quá trình lọc cộng tác
Mục tiêu của các hệ tư vấn là tạo ra các đề xuất về các sản phẩm mới hoặc để dựđoán sử dụng một sản phẩm xác định cho một người dùng cụ thể Trong cả hai trườnghợp quá trình đều dựa trên đầu vào được cung cấp liên quan tới sở thích của ngườidùng
Với m là số lượng người dùng tập người dùngU ={ , , ,u u1 2 u m} và n à số sản phẩm
1 2
{ , , , }n
I = i i i , với mỗi người dùng ui với i=1,2,…,m đều có một danh sách các sảnphẩm Iu i , thể hiện các ý kiến đánh giá của người dùng ui về các sản phẩm Lưu ýquan trọng đó là Iu i ⊆ I , Iu i có thể là tập null, điều đó có nghĩa không bắt
buộc người dùng tiết lộ sở thích của họ về tất cả các sản phẩm tồn tại Số sản phẩmtrong Iu i là ni hay ni =| Iu i | với ni ≤ n ý kiến đánh giá của người dùng thường
ở dạng hệ số đánh giá (rating score) Đặc biệt, đánh giá của người dùng ui với sảnphẩm ij với j=1,2,…,n, được ký hiệu r,j , tất cả các đánh giá có sẵn được tập hợptrong ma trận người dùng – sản phẩm kích thước m n× ký hiệu R các thuật toán lọc
được đề xuất sử dụng nhiều kỹ thuật trên các hàng của ma trận, tương ứng với các xếphạng của một người dùng về các sản phẩm, hoặc trên các cột tương ứng với với cácxếp hạng của nhiều người dùng về một sản phẩm [6]
Trang 24Hình 1.4: Ma trận người dùng sản phẩm Đầu ra của hệ tư vấn có thể là một dự đoán hoặc một tư vấn
• Dự đoán: được thể hiện như một giá trị số, r a j, thể hiện giá trị được đoán trước ýkiến đánh giá của người dùng đang hoạt động u a đối với sản phẩm i j Giá trịđoán trước này cần nằm trong thang đánh giá Đầu vào là ý kiến đánh giá đượccung cấp bởi người dùng đang hoạt động u a Dạng hệ thống tư vấn này đầu racũng được biết như Individual Scoring
• Tư vấn: được thể hiện như một danh sách N sản phẩm, với N≤ n, mà được dự tínhrằng người dùng đang hoạt động thích nhất Các hệ thống tư vấn đầu ra dạng nàycòn được biết đến với tên Tư vấn N sản phẩm xếp hạng đầu hoặc Ranked Scoring.Các thuật toán lọc cộng tác có thể được chia thành 2 loại chính: lọc cộng tác dựatrên bộ nhớ và dựa trên mô hình
• Các thuật toán lọc cộng tác dựa trên bộ nhớ: các thuật toán dựa trên bộ nhớ sử
dụng toàn bộ cơ sở dữ liệu người dùng – sản phẩm để tạo một dự đoán Những hệthống này sử dụng các kỹ thuật thống kê để tìm một tập các người dùng, được biếtnhư các láng giềng, mà có lịch sử phù hợp với người dùng đích Những hệ thốngnày sử dụng các thuật toán khác nhau để kết hợp các sở thích của các láng giềng đểtạo một dự đoán hoặc tư vấn N sản phẩm cho active user Các kỹ thuật, được biếtnhư lọc cộng tác dựa trên người dùng hoặc láng giềng gần nhất được sử dụng rộngrãi và phổ biến trong thực tế
• Các thuật toán lọc cộng tác dựa trên mô hình: các thuật toán lọc cộng tác dựa
trên mô hình hỗ trợ tư vấn sản phẩm bằng cách, trước tiên phát triển một mô hìnhcác đánh giá của người dùng Các thuật toán thuộc loại này đưa ra một phươngpháp tiếp cận xác suất và hình dung quá trình lọc cộng tác như tính toán giá trị được
dự đoán của một dự đoán của người dùng, đưa ra các đánh giá của họ trên những
Trang 25sản phẩm khác Quá trình xây dựng mô hình được thực hiện bằng các thuật toánhọc máy khác nhau như Bayesian network, clustering và các phương pháp tiếp cậndựa trên luật Mô hình mạng Bayesian xây dựng một mô hình xác suất cho vấn đềlọc cộng tác Mô hình Clustering xử lý lọc cộng tác như một vấn đề phân loại vàthực hiện bằng cách phân loại những người dùng tương tự vào cùng lớp và ướclượng xác suất mà một người dùng cụ thể đặt tron một lớp cụ thể C, từ những tínhtoán xác suất có điều kiện của các đánh giá Phương pháp tiếp cận dựa trên luật(rule-based) áp dụng các thuật toán khám phá luật kết hợp để tìm ra liên kết giữacác sản phẩm được mua đồng thời và sau đó tạo tư vấn sản phẩm dựa trên độ mạnhcủa liên kết giữa những sản phẩm [5].
1.2.1 Các kỹ thuật lọc cộng tác dựa trên bộ nhớ
Các thuật toán lọc cộng tác dựa trên bộ nhớ sử dụng toàn bộ hoặc một mẫu thử cơ
sở dữ liệu người dùng – sản phẩm để tạo ra một dự đoán Mỗi người dùng là một phầncủa nhóm những người dùng có mối quan tâm tương tự nhau Bằng cách xác định hàngxóm của một người dùng mới (hoặc người dùng đang cần tư vấn), một dự đoán về sởthích đối với sản phẩm mới cho họ có thể được tạo ra
Thuật toán lọc cộng tác dựa trên láng giềng, là một thuật toán lọc cộng tác dựa trên
bộ nhớ phổ biến, với các bước thực hiện:
Tính toán độ tương tự hoặc trọng số, wi,j : phản ánh khoảng cách, mối liên hệ hoặctrọng số giữa hai người dùng hoặc hai sản phẩm I và J Tạo ra dự đoán cho người dùngđang hoạt động bằng cách lấy trọng số trung bình của tất cả các đanh giá của ngườidùng hoặc sản phẩm đối với một sản phẩm hoặc người dùng nhất định, hoặc sử dụngmột trọng số trung bình đơn giản Khi tác vụ này tạo ra N tư vấn hàng đầu, chúng tacần tìm ra k người dùng hoặc sản phẩm tương tự nhất sau khi tính độ tương tư và sau
đó tổng hợp các láng giềng để có được N sản phẩm phổ biến nhất tư vấn cho ngườidùng
1.2.1.1 Thuật toán Lọc cộng tác dựa trên sản phẩm
Phương pháp tiếp cận dựa trên sản phẩm xem xét một tập các sản phẩm target user
đã đánh giá và tính độ tương tự giữa chúng với target item i, sau đó lựa chọn k sản
phẩm tương tự nhất { , , , }i i1 2 i k Độ tương tự tương ứng với tập k sản phẩm gần nhấtđược tính là { , , , }s s i1 i2 s ik Những sản phẩm tương nhất được tìm ra, sau đó tính dựđoán bằng cách trung bình theo trọng số các đánh giá của target user trên những sảnphẩm tương tự đó
Trang 26Tính độ tương tự sản phẩm
Ý tưởng cơ bản trong bước tính độ tương tự giữa 2 sản phẩm i và j là chọn ra những
người dùng mà đã đánh giá cả 2 sản phẩm này và sau đó áp dụng thuật toán tính độtương tự để xác định được độ tương tự sim i j,
Có một số cách khác nhau để tính độ tương tự giữa các sản phẩm Sau đây giới thiệu 3
cách đó là: độ tương tự dựa trên cosin, độ tương tự dựa trên sự tương quan, độ tương tự
cosine đã hiệu chỉnh
Độ đo tương tự Cosine
Với phương pháp này, hai sản phẩm được xem như hai vector trong không gian
người dùng m chiều Độ tương tự giữa chúng được đo bằn cách tính cosine của góc giữa hai vector này Độ tương tự giữa sản phẩm i và j được ký hiệu sim i j( , ) đượctính [7]:
Kí hiệu “•” là tích giữa hai vector.
Độ đo tương tự Pearson
Trong phương pháp này, độ tương tự giữa hai sản phẩm i và j được tính bằng công
thức Pearson Correlation Để tính được kết quả chính xác chúng ta phải cô lập các
đánh giá, nghĩa là chỉ lấy ra những người dùng đã đánh giá cả hai sản phẩm i và j,
ký hiệu tập người dùng này U độ tương tự được tính theo công thức sau [7]:
( )( ) ( , )
Độ đo tương tự Cosine hiệu chỉnh
Sự khác nhau cơ bản của cách tính độ tương tự trong lọc cộng tác dựa trên ngườidùng và trong lọc cộng tác dựa trên sản phẩm là : trong trong lọc cộng tác dựa
Trang 27trên người dùng độ tương tự được tính dọc theo các hàng của ma trận user-itemnhưng trong lọc cộng tác dựa trên sản phẩm độ tương tự được tính dọc theo cáccột của ma trận Tính độ tương tự sử dụng công thức cosine cơ bản trong lọc cộngtác dựa trên sản phẩm có một hạn chế quan trọng đó là sự khác biệt trong thangđánh giá của những người dùng khác nhau chưa được xét đến Phương phápcosine đã được cải tiến sẽ giải quyết hạn chế này bằng cách trừ đi giá trị trungbình của người sử dụng tương ứng với mỗi cặp đánh giá đồng thời Khi đó độtương tự giữa hai sản phẩm này được tính bằng công thức [7]:
( )( ) ( , )
Phương pháp này có gắng nắm bắt người dùng đích xếp hạng những sản phẩm tương
tự như thế nào Tổng trọng số được chia tỉ lệ cho tổng độ tương tự để đảm bảo dự đoánđược tạo ra thuộc phạm vi đã định nghĩa trước
Các thuật toán tư vấn N sản phẩm xếp hạng đầu dựa trên sản phẩm
Các thuật toán này được phát triển để giải quyết vấn đề khả năng mở rộng cảu thuậttoán tư vấn N sản phẩm xếp hạng đầu dựa trên người dùng Đầu tiên, thuật toán tính K
Trang 28sản phẩm tương tự nhất với mỗi sản phẩm dựa trên các cách tính độ tương tự trên Sau
đó, xác định tập C như những ứng viên của các sản phẩm được tư vấn bằng cách lấyhợp của k sản phẩm tương tự nhất và bỏ đi mỗi sản phẩm trong tập U mà người dùng
đã mua.Tiếp theo tính độ tương tự giữa mỗi sản phẩm trong tập C và tập U tập kết quảcủa sản phẩm trong tập C, được sắp xếp theo thứ tự giảm dần độ tương tự, sẽ được tưvấn danh sách N sản phẩm xếp hạng đầu dựa trên sản phẩm Một vấn đề của phươngpháp này là khi phân phối chung một tập các sản phẩm khác nhau từ phân phối của cácsản phẩm riêng lẻ trong tập, lược đồ trên có thể tạo các tư vấn không tối ưu Để giảiquyết vấn đề này, Deshpande và Karypis [3] đã phát triển các thuật toán cao hơn củathuật toán tư vấn N sản phẩm xếp hạng đầu dựa trên sản phẩm mà sử dụng kết hợp củatất cả các sản phẩm tới một kích thước cụ thể khi xác định các tập sản phẩm để tư vấncho một người dùng
1.2.1.2 Thuật toán lọc cộng tác dựa trên người dùng
Các thuật toán lọc cộng tác dựa trên bộ nhớ sử dụng toàn bộ hoặc một mẫu thử cơ
sở dữ liệu người dùng – sản phẩm để tạo ra một dự đoán Mỗi người dùng là một phầncủa nhóm những người dùng có mối quan tâm tương tự nhau Bằng cách xác định hàngxóm của một người dùng mới (hoặc người dùng đang cần tư vấn), một dự đoán về sởthích đối với sản phẩm mới cho họ có thể được tạo ra
Thuật toán lọc cộng tác dựa trên láng giềng, là một thuật toán lọc cộng tác dựa trên
bộ nhớ phổ biến, với các bước thực hiện:
Tính toán độ tương tự hoặc trọng số, Simi,j : phản ánh khoảng cách, mối liên hệhoặc trọng số giữa hai người dùng hoặc hai sản phẩm I và J tạo ra dự đoán cho ngườidùng đang hoạt động bằng cách lấy trọng số trung bình của tất cả các đanh giá củangười dùng hoặc sản phẩm đối với một sản phẩm hoặc người dùng nhất định, hoặc sửdụng một trọng số trung bình đơn giản Khi tác vụ này tạo ra N tư vấn hàng đầu, chúng
ta cần tìm ra k người dùng hoặc sản phẩm tương tự nhất sau khi tính độ tương tư và sau
đó tổng hợp các láng giềng để có được N sản phẩm phổ biến nhất tư vấn cho ngườidùng [8]
Tính độ tương tự
Tính độ tương tự giữa các sản phẩm hoặc các người dùng là một bước quan trọng trongcác thuật toán lọc cộng tác dựa trên bộ nhớ Đối với thuật toán lọc cộng tác dựa trênngười dùng, đầu tiên, tính độ tương tự Simu,v giữa người dùng u và v mà cùng đánh giácác sản phẩm giống nhau Có nhiều phương pháp để tính độ tương tự hoặc trọng sốgiữa các người dùng hoặc giữa các sản phẩm
Trang 29Độ đo tương tự Pearson
Trong trường hợp này, độ tương tự Simu,v giữa người dùng u và v được đo bằngcông thức Pearson hoặc các công thức khác
Phương pháp Pearson phạm vi mà 2 biến tuyến tính liên quan nhau Với thuật toándựa trên người dùng, Pearson giữa người đùng u và v được tính bằng công thứcsau:
Độ đo tương tự Vector Cosine
Độ tương tự giữa 2 văn bản có thể được đo bằng cách xử lý mỗi văn bản như mộtvector của tần số các từ và tính cosine của góc hình thành bởi các vector tần số.Cách này có thể được áp dụng trong lọc cộng tác, bằng cách sử dụng các ngườidùng và các sản phẩm thay cho các văn bản và các đánh giá thay cho tần số từtrong văn bản
Thông thường, nếu R là ma trận người dùng – sản phẩm kích cỡ m × n, thì độ
tương tự giữa 2 sản phẩm i và j, được định nghĩa như cosine của vector n chiềutương ứng với cọt thư i và cột thứ j của ma trận R
Độ tương tự Vector Cosine giữa người dùng u và v được cho bởi công thức sau :
Trong đó , kí hiệu • là tích của 2 vector Để tính được độ tương tự, với n sản
phẩm, ma trận tương tự kích thước n×n được tính Ví dụ, nếu vector urA={ , }x y1 1 vàvector Bur={ , }x y2 2 , độ tương tự vector cosin giữa 2 vector này là: