Luận văn Phương pháp lọc cộng tác và ứng dụng trong hệ thống gợi ý bán hàng trực tuyến

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐỖ THỊ THANH HÀ PHƯƠNG PHÁP LỌC CỘNG TÁC VÀ ỨNG DỤNG TRONG HỆ THỐNG GỢI Ý BÁN HÀNG TRỰC TUYẾN LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN - 2020 i i LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn trực tiếp của PGS.TS. Đoàn Văn Ban. Mọi trích dẫn sử dụng trong báo cáo này đều được ghi rõ nguồn tài liệu tham khảo theo đúng qui định Mọi sao ché

pdf71 trang | Chia sẻ: huong20 | Ngày: 13/01/2022 | Lượt xem: 289 | Lượt tải: 0download
Tóm tắt tài liệu Luận văn Phương pháp lọc cộng tác và ứng dụng trong hệ thống gợi ý bán hàng trực tuyến, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm. Học viên Đỗ Thị Thanh Hà ii LỜI CẢM ƠN Trước hết, tôi xin được tỏ lòng biết ơn và gửi lời cám ơn chân thành đến thầy PGS.TS Đoàn Văn Ban, người trực tiếp hướng dẫn luận văn, đã tận tình chỉ bảo và hướng dẫn tôi tìm ra hướng nghiên cứu, tiếp cận thực tế, tìm kiếm tài liệu, xử lý và phân tích số liệu, nhờ đó tôi mới có thể hoàn thành luận văn cao học của mình. Tôi xin chân thành cảm ơn quý thầy cô Khoa Công nghệ thông tin - trường Đại học Công nghệ Thông tin và Truyền thông, Đại học Thái Nguyên đã truyền đạt cho tôi những kiến thức bổ ích trong suốt hai năm học vừa qua. Xin chân thành cảm ơn các anh chị em lớp cao học Khoa học máy tính khoá 17 và các bạn đồng nghiệp luôn động viên, hỗ trợ tôi trong quá trình học tập và nghiên cứu và thực hiện đề tài. Cuối cùng, tôi xin gửi đến cha mẹ và những người thân trong gia đình đã hỗ trợ, tạo điều kiện thuận lợi cho tôi trong suốt thời gian qua và đặc biệt trong thời gian tôi theo học khóa thạc sỹ tại trường Đại học Công nghệ Thông tin và Truyền thông, Đại học Thái Nguyên. Xin chân thành cảm ơn! Người thực hiện Đỗ Thị Thanh Hà iii MỤC LỤC LỜI CAM ĐOAN ........................................................................................................................ i LỜI CẢM ƠN ............................................................................................................................. ii MỤC LỤC .................................................................................................................................. iii DANH MỤC CÁC BẢNG ........................................................................................................ iv DANH MỤC HÌNH VẼ...............................................................................................................v MỘT SỐ THUẬT NGỮ .......................................................................................................... viii MỞ ĐẦU .....................................................................................................................................1 CHƯƠNG 1. HỆ THỐNG TƯ VẤN VÀ CÁC PHƯƠNG PHÁP LỌC THÔNG TIN ......5 1.1. Hệ tư vấn ...............................................................................................................................5 1.1.1. Giới thiệu hệ thống tư vấn .................................................................................................5 1.1.2. Bài toán tư vấn người dùng ...............................................................................................7 1.1.3. Qui trình xây dựng hệ tư vấn .............................................................................................9 1.2. Các phương pháp lọc tin .....................................................................................................10 1.2.1. Phân loại hệ thống tư vấn ................................................................................................10 1.2.2. Phương pháp tư vấn dựa trên nội dung ...........................................................................11 1.2.3. Phương pháp tư vấn dựa trên lọc cộng tác ......................................................................17 1.2.4. Tư vấn dựa trên cách tiếp cận kết hợp .............................................................................23 1.3. Kiến trúc tổng quát của hệ thống lọc thông tin ..................................................................25 1.4. Ứng dụng của phương pháp lọc tin trong hệ thống tư vấn ................................................26 1.5. Kết luận chương 1 ...............................................................................................................28 CHƯƠNG 2.PHƯƠNG PHÁP THUẬT LỌC CỘNG TÁC DỰA TRÊN SẢN PHẨM ..29 2.1. Các phương pháp lọc cộng tác ............................................................................................29 2.1.1. Giới thiệu về các phương pháp lọc cộng tác ...................................................................29 2.1.2. Ưu và nhược điểm của phương pháp lọc cộng tác ..........................................................30 2.2. Lọc cộng tác dựa trên sản phẩm .........................................................................................32 2.3. Các thuật toán tính độ tương tự ..........................................................................................34 iv 2.4. Tính toán dự đoán và tư vấn ...............................................................................................37 2.4.1. Dự đoán dựa trên trung bình đánh giá sản phẩm lân cận ................................................37 2.4.2. Dự đoán dựa trên tổng trọng số (Weighted Sum) ...........................................................38 2.4.3. Dự đoán dựa trên tổng trọng số với đánh giá trung bình của người dùng ................................38 2.4.4. Dự đoán dựa trên tổng trọng số với trung bình đánh giá lên sản phẩm .................................39 2.5. Đánh giá các yếu tố ảnh hưởng đến độ chính xác kết quả tư vấn ......................................40 2.5.1. Đánh giá độ tin cậy của thuật toán ..................................................................................40 2.5.2. Các yếu tố ảnh hưởng đến độ chính xác tư vấn ..............................................................42 2.6. Kết luận chương 2 ...............................................................................................................44 CHƯƠNG 3. ỨNG DỤNG PHƯƠNG PHÁP LỌC CỘNG TÁC DỰA TRÊN SẢN PHẨM TRONG HỆ THỐNG GỢI Ý BÁN HÀNG TRỰC TUYẾN .................................................45 3.1. Xây dựng hệ thống gợi ý cho website bán hàng trực tuyến ...............................................45 3.1.1. Đặc tả hệ thống ................................................................................................................45 3.1.2. Môi trường phát triển .......................................................................................................46 3.1.3. Thiết kế bảng dữ liệu .......................................................................................................46 3.2. Ví dụ về lọc cộng tác dựa trên sản phẩm ............................................................................49 3.3. Thuật toán xử lý chính trong hệ thống ...............................................................................53 3.3.1. Thuật toán khách hàng đánh giá sản phẩm ......................................................................53 3.3.2. Thuật toán khách hàng chấm điểm sản phẩm .................................................................54 3.3.3. Thuật toán gợi ý sản phẩm cho khách hàng ....................................................................55 3.4. Các giao diện chính của hệ thống .......................................................................................56 3.5. Kết luận chương 3 ...............................................................................................................60 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .............................................................................61 TÀI LIỆU THAM KHẢO .......................................................................................................62 ivv DANH MỤC BẢNG BIỂU Bảng 1: Bảng đánh giá người dùng với các sản phẩm .............................................. 33 Bảng 2: Dữ liệu đánh giá các sản phẩm .................................................................... 49 Bảng 3: Ma trận utility matrix ................................................................................... 50 Bảng 4: Giá trị trung bình đánh giá của các item ...................................................... 50 Bảng 5: Ma trận chuẩn hóa Ŷ51 Bảng 6: Độ tương tự giữa các item S ........................................................................ 51 Bảng 7: Ma trận sau khi được dự đoán ŷ .................................................................. 52 Bảng 8: Ma trận dự đoán thang điểm 5 ..................................................................... 53 v vi DANH MỤC HÌNH VẼ Hình 1.1: Một số lĩnh vực ứng dụng của hệ thống gợi ý ............................................ 6 Hình 1.2. Ví dụ ma trận đánh giá tổng quát ................................................................ 8 Hình 1.3: Phân loại hướng tiếp cận xây dựng hệ thống gợi ý ................................... 11 Hình 1.4. Minh họa phương pháp tư vấn dựa trên lọc nội dung ............................... 12 Hình 1.5: Minh họa phương pháp tư vấn dựa trên lọc cộng tác ............................... 18 Hình 1.6: Quy trình của hệ thống tư vấn dựa trên lọc cộng tác ................................ 19 Hình 1.7: Kiến trúc tổng quát của hệ thống lọc thông tin ......................................... 25 Hình 1.8: Hệ thống gợi ý sản phẩm của Amazon ..................................................... 28 Hình 2.1: Tách các sản phẩm cùng được đánh giá và tính toán độ tương tự ............ 34 Hình 2.2: Giải thuật lọc cộng tác dựa trên sản phẩm, tính dự đoán .......................... 37 Hình 2.3: Mô hình hệ thống lọc cộng tác dựa trên sản phẩm ................................... 40 Hình 3.1: Giải thuật khách hàng đánh giá sản phẩm ................................................ 54 Hình 3.2: Khách hàng chấm điểm sản phẩm ............................................................ 55 Hình 3.3: Giải thuật xử lý gợi ý sản phẩm ................................................................ 56 Hình 3.4: Giao diện trang chủ ................................................................................... 58 Hình 3.5: Giao diện trang danh sách sản phẩm ......................................................... 58 Hình 3.6: Giao diện gợi ý sản phẩm cho sản phẩm chưa có đánh giá ...................... 59 Hình 3.7: Giao diện gợi ý sản phẩm cho sản phẩm đã có đánh giá .......................... 59 Hình 3.8: Giao diện gợi ý sản phẩm cho một thành viên cụ thể ............................... 59 vivii MỘT SỐ THUẬT NGỮ STT Tiếng Anh Tiếng Việt Giải thích Chỉ những người dùng hệ thống để tìm 1 User Người dùng, người sử dụng kiếm lựa chọn sản phẩm Chỉ những sản phẩm trên hệ thống như: 2 Item Sản phẩm, mục sản phẩm, phim, ảnh, bản nhạc, trang web, đoạn văn bản, Chỉ mức độ thích của một người dùng với sản phẩm. Rating có thể có nhiều biểu 3 Rating Đánh giá hiện: như đánh giá thích hoặc không thích, hay đánh già theo mức độ từ 1-5 đại diện từ không thích đến rất thích. CF có tên là Neighborhood-based Collaborative Filtering (NBCF). Khi chỉ 4 CF Lọc cộng tác nói CF, chúng ta sẽ ngầm hiểu rằng phương pháp được sử dụng là Neighborhood-based. MỞ ĐẦU  Lí do chọn đề tài Sự phát triển mạnh mẽ của thương mại điện tử (E-Commerce) là một trong những tác nhân chính đem lại nhiều lợi ích to lớn cho nền kinh tế toàn cầu. Nhờ có thương mại điện tử, rất nhiều loại hình kinh doanh mới được hình thành, trong đó có mua bán hàng trực tuyến. Với hình thức mới này, người tiêu dùng có thể tiếp cận với hàng hóa một cách dễ dàng và nhanh chóng hơn rất nhiều so với phương thức mua bán truyền thống. Hiện nay, với phương châm phục vụ khách hàng một cách tốt nhất, các hệ thống bán hàng trực tuyến luôn tạo nhiều điều kiện thuận lợi để người mua hàng có thể tiếp cận nhiều mặt hàng cùng lúc. Tuy nhiên, việc trình bày và trang trí quá nhiều các mặt hàng trên một website sẽ gây ra không ít khó khăn cho người mua. Họ khó có thể chọn ra cho mình một sản phẩm ưng ý nhất. Trong kinh doanh, để khách hàng có thể đến và mua được một sản phẩm ưng ý thì một lời tư vấn, một sự trợ giúp là rất quan trọng. Với phương thức bán hàng truyền thống những lời tư vấn như thế từ một người bán hàng sẽ tạo ra một lợi thế rất lớn cho cửa hàng. Do đó, để phương thức bán hàng qua mạng phát triển thực sự hiệu quả thì bên cạnh các lợi thế vốn có của mình, việc có thêm một “người trợ giúp” là hết sức cần thiết. Vì vậy, cần thiết phải sử dụng một hệ thống gợi ý (Recommender Systems - RS) đóng vai trò như một người hỗ trợ khách hàng đưa ra các quyết định mua hàng đúng đắn. Bằng cách xác định mục đích và nhu cầu của khách hàng, hệ thống có thể đưa ra tập các gợi ý giúp cho người mua dễ dàng chọn lựa sản phẩm yêu thích hơn. Qua đó hiệu suất của việc mua bán hàng trực tuyến được tăng cao một cách đáng kể [6]. Hệ thống gợi ý được phát triển theo nhiều cách tiếp cận khác nhau. Một trong những hướng tiếp cận được tập trung nghiên cứu và được áp dụng khá 2 thành công trong nhiều hệ gợi ý đó là phương pháp lọc cộng tác (Collaborative filtering). Thực chất, lọc cộng tác là một hình thức tư vấn tự động bằng cách dựa trên sự tương tự giữa những người dùng hoặc giữa những sản phẩm trong hệ thống và đưa ra dự đoán sự quan tâm của người dùng tới những sản phẩm, hoặc đưa ra gợi ý một sản phẩm mới cho người dùng. Việc xây dựng hệ thống gợi ý cũng là vấn đề được nhiều nhà khoa học trong nước quan tâm [4, 7]. Trong hệ thống gợi ý, lọc cộng tác là một kỹ thuật được dùng để đánh giá độ quan tâm của người dùng trên các sản phẩm mới (từ mức độ tìm hiểu thuật toán [2] cho đến việc cải tiến [5] cũng như áp dụng trong việc xây dựng website bán hàng trực tuyến [6]). Kỹ thuật này được áp dụng thành công trong nhiều ứng dụng. Trong các hệ thống lọc cộng tác, sở thích của người dùng trên các sản phẩm mới được dự đoán dựa trên dữ liệu về sở thích của người dùng – sản phẩm (hoặc đánh giá của người dùng trên sản phẩm) trong quá khứ. Các nghiên cứu trong và ngoài nước đã góp phần rất lớn cho việc xây dựng những website bán hàng trực tuyến như website mua sắm trực tuyến Amazon (www.amazon.com) cung cấp cho khách hàng những sản phẩm mà họ có thể quan tâm, cổng video clip YouTube (www.youtube.com), gợi ý phim của MovieLens (www.movielens.org) [10]. Tuy nhiên, để phát triển mạnh hơn nữa thuật toán lọc cộng tác trong hệ thống gợi ý nói chung hay hệ thống gợi ý sản phẩm nói riêng còn rất nhiều câu hỏi cần lời giải đáp. Cụ thể như: Khi xây dựng hệ thống gợi ý bán hàng trực tuyến, tiếp cận theo hướng dựa trên bộ nhớ (Memory-based) hay dựa trên mô hình (Model- based) hiệu quả hơn? Trong hướng tiếp cận theo Memory-based thì nên tư vấn dựa trên người dùng (User based) hay sản phẩm (Items based)? Nếu tiếp cận theo hướng Model-based thì nên sử dụng mô hình mạng Nơ ron hay Mạng Bayessian? Trong mỗi cách tiếp cận, sử dụng độ đo nào để nắm bắt chính xác việc khách 3 hàng cho rằng sản phẩm tốt? Làm thế nào để dự báo tốt và gợi ý tốt trong đồng thời, [1, 10]. Với những lý do trên, tác giả đã chọn đề tài “Phương pháp lọc cộng tác và ứng dụng trong hệ thống gợi ý bán hàng trực tuyến” làm đề tài nghiên cứu luận văn tốt nghiệp thạc sĩ chuyên ngành Khoa học máy tính.  Mục tiêu nghiên cứu Nghiên cứu ứng dụng các phương pháp lọc cộng tác trong bài toán xây dựng hệ thống tư vấn. Tập trung vào phân tích, so sánh, đánh giá hiệu quả của phương pháp 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 sản phẩm ứng dụng trong bài toán xây dựng hệ thống gợi ý bán hàng trực tuyến.  Đối tượng và phạm vi nghiên cứu Đối tượng: Phương pháp lọc cộng tác, hệ thống gợi ý bán hàng trực tuyến Phạm vi nghiên cứu: Khảo sát và đánh giá thuật hiệu quả của thuật toán lọc cộng tác dựa trên người dùng và thuật toán lọc cộng tác dựa trên sản phẩm đối với hệ thống gợi ý bán hàng trực tuyến. Quá trình đánh giá được thực hiện trên một số bộ mẫu dữ liệu chuẩn có sẵn trong [15].  Phương pháp nghiên cứu - Đọc tài liệu, phân tích, tổng hợp. - Thu thập dữ liệu, thống kê, phân tích dữ liệu. - Mô phỏng và đánh giá kết quả. - Kết hợp nghiên cứu lý thuyết, tìm hiểu tình hình ứng dụng, đánh giá khả năng ứng dụng và đề xuất giải pháp.  Ý nghĩa khoa học và thực tiễn của đề tài Nghiên cứu các phương pháp lọc cộng tác. Chứng minh khả năng ứng dụng của lọc cộng tác cho bài toán xây dựng hệ thống gợi ý sản phẩm trong bán hàng trực tuyến. Khuyến nghị phương pháp tiếp cận hiệu quả nhất trong các phương pháp lọc cộng tác. 4 Đề tài nghiên cứu các bước trong quá trình tư vấn, các giải pháp khắc phục các yếu tố ảnh hưởng đến chất lượng, nhằm cải thiện kết quả tư vấn sản phẩm phù hợp với yêu cầu thực tế của người dùng. Với mục tiêu trên, luận văn được trình bày trong ba chương Chương 1: Hệ thống tư vấn và phương pháp lọc thông tin Chương này giới thiệu bài toán tư vấn và hệ thống gợi ý, phân tích các ứng dụng của hệ thống gợi ý trong thực tế. Các phương pháp lọc tin và ứng dụng trong hệ thống gợi ý. Chương 2: Phương pháp thuật lọc cộng tác dựa trên sản phẩm Chương này trình bày phương pháp lọc cộng dựa vào người dùng, lọc cộng tác dựa trên sản phẩm, phương pháp lọc cộng tác dựa trên mô hình và khả năng ứng dụng trong bài toán xây dựng hệ thống gợi ý Chương 3: Ứng dụng phương pháp lọc cộng tác dựa trên sản phẩm trong hệ thống gợi ý bán hàng trực tuyến. Chương này cài đặt thử nghiệm phương pháp lọc cộng tác trên sản phẩm cho website bán hàng thời trang 5 CHƯƠNG 1. HỆ THỐNG TƯ VẤN VÀ CÁC PHƯƠNG PHÁP LỌC THÔNG TIN 1.1. Hệ tư vấn 1.1.1. Giới thiệu hệ thống tư vấn Hệ thống tư vấn (Recommender Systems – RS) [8] phân tích thông tin về sở thích của người dùng (user) về các sản phẩm (item) để cung cấp các khuyến nghị đối với các item phù hợp nhất với mong muốn và sở thích của người dùng. Trên thực tế, hệ thống gợi ý cố gắng thu thập những sở thích của người dùng và mô hình hóa sự tương tác giữa người dùng và sản phẩm. Hệ thống gợi ý sử dụng các thông tin về sản phẩm và các tri thức của chuyên gia hay tri thức khai phá dữ liệu được học từ hành vi của người dùng để đưa ra những gợi ý về sản phẩm mà họ thích trong hàng ngàn hàng vạn sản phẩm có trong hệ thống. Các website thương mại điện tử ví dụ như: sách, phim, nhạc, báo,... sử dụng hệ thống gợi ý để cung cấp các thông tin giúp cho người dùng quyết định sẽ lựa chọn sản phẩm nào. Các sản phẩm được gợi ý dựa trên số lượng sản phẩm đó đã được bán, dựa trên các thông tin cá nhân của người dùng, dựa trên sự phân tích hành vi mua hàng trước đó của người dùng để đưa ra các dự đoán về hành vi mua hàng trong tương lai của chính khách hàng đó. Các dạng gợi ý bao gồm: gợi ý các sản phẩm tới người tiêu dùng, các thông tin sản phẩm mang tính cá nhân hóa, tổng kết các ý kiến cộng đồng, và cung cấp các chia sẻ, các phê bình, đánh giá mang tính cộng đồng liên quan tới yêu cầu, mục đích của người dùng đó [10, 13, 16]. Rất nhiều hệ thống lớn thu thập thông tin phản hồi từ khách hàng một cách tường minh, như Ebay, Amazon, LastFM, NetFlix, Youtube,... ở đó người dùng sẽ trực tiếp đánh giá trên sản phẩm, như bình chọn từ ★ (không thích) đến ★ 6 ★★★ (rất thích); hay Youtube thu thập thông tin qua like/disklike, và các hệ thống khác [10, 13, 16]. Thông qua việc thu thập phản hồi tường minh, hệ thống dễ dàng xác định mức độ yêu thích của người dùng trên sản phẩm, từ đó dự đoán các sản phẩm tiếp theo mà người dùng có thể thích để gợi ý cho họ. Tuy nhiên, điều này có thể gây bất lợi do không phải người dùng lúc nào cũng sẵn sàng/vui lòng để lại các phản hồi của họ, vì vậy hệ thống phải nên tự xác định người dùng cần gì thông qua phản hồi tiềm ẩn. Một số ứng dụng hệ tư vấn nổi tiếng trên thế giới được giới thiệu trong Hình 1.1 [14]. Hình 1.1: Một số lĩnh vực ứng dụng của hệ thống gợi ý Trong kỹ thuật lọc cộng tác CF (Collaborative Filtering), việc đưa ra những khuyến nghị về các sản phẩm đối với người dùng được xác định dựa trên những quan điểm của những người dùng có cùng sở thích với người dùng đó. Hệ thống lọc cộng tác biểu diễn người dùng dựa trên những đánh giá của họ 7 đối với tập các sản phẩm. Hệ thống sẽ lựa chọn những người dùng cùng sở thích tùy thuộc vào độ đo tương tự hoặc tương quan. Sau đó, đưa ra những dự đoán đối với những sản phẩm chưa từng được người dùng đánh giá hoặc quan tâm. Cuối cùng hệ thống sẽ gợi ý những sản phẩm nào với mức độ dự đoán cao nhất cho người dùng mục tiêu. Kỹ thuật CF đã được khẳng định sự thành công bởi rất nhiều nghiên cứu và thực nghiệm trong nhiều ứng dụng thực tế [8, 11, 12]. Hệ thống gợi ý là một dạng của hệ hỗ trợ ra quyết định, cung cấp giải pháp mang tính cá nhân hóa mà không phải trải qua quá trình tìm kiếm phức tạp. Hệ gợi ý học từ người dùng và gợi ý các sản phẩm tốt nhất trong số các sản phẩm phù hợp. 1.1.2. Bài toán tư vấn người dùng Cho tập hợp hữu hạn gồm 푁 người dùng 푈 = {푢1, 푢1, , 푢푁} và 푀 sản phẩm 푃 = {푝1, 푝2, , 푝푀}. Mỗi người dùng 푢푖 ∈ 푈 (với 푖 = 1, 2, , 푁) được biểu diễn thông qua |푇| đặc trưng nội dung 푇 = {푡1, 푡2, , 푡|푇|}. Các đặc trưng 푡푞 ∈ 푇 thông thường là thông tin cá nhân của mỗi người dùng. Ví dụ 푢푖 ∈ 푈 là một người dùng thì các đặc trưng nội dung biểu diễn người dùng 푢푖 có thể là T={giới tính, độ tuổi, nghề nghiệp, trình độ,}. Mỗi sản phẩm 푝푥 ∈ 푃 (với 푥 = 1, 2, 푀) có thể là hàng hóa, phim, ảnh, tạp chí, tài liệu, sách, báo, dịch vụ hoặc bất kỳ dạng thông tin nào mà người dùng cần đến. Mỗi sản phẩm 푝푥 ∈ 푃 được biểu diễn thông qua |퐶| đặc trưng nội dung 퐶 = { 푐1, 푐2, , 푐|퐶|}. Các đặc trưng 푐푠 ∈ 퐶 nhận được từ các phương pháp trích chọn đặc trưng trong lĩnh vực truy vấn thông tin. Ví dụ 푝푥 ∈ 푃 là một phim thì các đặc trưng nội dung biểu diễn phim 푝푥 có thể là 퐶 = {thể loại phim, nước sản xuất, hãng phim, diễn viên, đạo diễn, }. Mối quan hệ giữa tập người dùng 푈 và tập sản phẩm 푃 được biểu diễn thông qua ma trận đánh giá 푅 = [푟푖푥] với 푖 = 1, 2, , 푁; 푥 = 1, 2, , 푀 (Hình 1.2). 8 Sản phẩm 1 2 i 푀 1 5 3 0 1 2 0 2 0 2 0 0 0 4 0 0 5 0 0 0 u 3 4 0 2 1 0 Người dùng 0 0 0 0 4 0 N 0 0 3 2 0 0 푎 3 5 0 ? 1 0 Hình 1.2. Ví dụ ma trận đánh giá tổng quát Giá trị 푟푖푥 thể hiện đánh giá của người dùng 푢푖 ∈ 푈 cho một số sản phẩm 푝푥 ∈ 푃. Thông thường giá trị 푟푖푥 nhận một giá trị thuộc miền 퐹 = { 1, 2, , 푔} được thu thập trực tiếp bằng cách hỏi ý kiến người dùng hoặc thu thập gián tiếp thông qua cơ chế phản hồi của người dùng. Những giá trị 푟푖푥 = 0 được hiểu là người dùng 푢푖 ∈ 푈 chưa biết đến hoặc không đánh giá sản phẩm 푝푥 ∈ 푃, những ô điền ký tự “?” là giá trị cần hệ tư vấn đưa ra dự đoán đánh giá. Tiếp đến, ta ký hiệu 푃푖  푃 là tập các sản phẩm 푝푥 ∈ 푃 được đánh giá bởi người dùng 푢푖 ∈ 푈 và 푢푎 ∈ 푈 được gọi là người dùng hiện thời, người dùng cần được tư vấn hay người dùng tích cực. Khi đó, tồn tại hai dạng bài toán điển hình của hệ tư vấn là: - Dự đoán đánh giá của người dùng 푢푎 với các sản phẩm chưa có đánh giá trước đó. - Tư vấn danh sách ngắn các sản phẩm phù hợp với người dùng hiện thời. Cụ thể đối với người dùng 푢푎, hệ tư vấn sẽ chọn ra 퐾 sản phẩm mới 푝푥 ∈ (푃\푃푎) phù hợp với người dùng 푢푎 nhất để gợi ý cho họ. 9 Việc giải quyết bài toán tư vấn sẽ được thực hiện theo qui trình xây dựng hệ tư vấn trong mục 1.1.3. 1.1.3. Qui trình xây dựng hệ tư vấn Qui trình tổng quát để giải quyết bài toán tư vấn [14] thông thường gồm có 3 giai đoạn chính được thể hiện như sau: Giai đoạn 1: Thu thập thông tin Ba loại thông tin chính thường được thu thập cho hệ tư vấn, gồm có: - Người dùng (User) biểu diễn thông qua các đặc trưng là thông tin cá nhân. Thông qua biểu diễn này, hệ thống cho phép xây dựng hồ sơ người dùng (user’s profile) nhằm lưu trữ lại dấu vết các đặc trưng nội dung sản phẩm đã từng được sử dụng bởi người dùng. - Sản phẩm (Item) biểu diễn thông qua các đặc trưng là thông tin về sản phẩm. Thông qua biểu diễn này, hệ thống cho phép xây dựng hồ sơ sản phẩm (item’s profile) nhằm lưu trữ lại dấu vết các đặc trưng người dùng đã từng sử dụng sản phẩm. - Phản hồi của người dùng với sản phẩm (Feedback), biểu diễn thông qua các giá trị đánh giá của người dùng với sản phẩm. Giai đoạn 2: Xây dựng mô hình Giai đoạn xây dựng mô hình tư vấn có thể thực hiện bằng nhiều hướng tiếp cận khác nhau nhằm so sánh, đánh giá mối liên hệ giữa các thông tin thu thập được ở giai đoạn 1. Một số hướng tiếp cận điển hình được biết đến như: dựa vào kinh nghiệm, học máy, lý thuyết xấp xỉ,...[1]. Mỗi hướng tiếp cận sẽ khai thác thông tin đầu vào theo những cách khác nhau hình thành những phương pháp tư vấn khác nhau. Giai đoạn 3: Dự đoán đánh giá / Đưa ra tư vấn Dữ liệu đầu ra của giai đoạn 2 sẽ được dùng để dự đoán các đánh giá của người dùng với các sản phẩm chưa có đánh giá trước đó và chọn ra 퐾 sản phẩm mới phù hợp nhất đối với người dùng hiện thời để gợi ý cho họ. 10 1.2. Các phương pháp lọc tin 1.2.1. Phân loại hệ thống tư vấn Lọc thông tin là lĩnh vực nghiên cứu các quá trình phân bổ thông tin thích hợp và gỡ bỏ thông tin không thích hợp đến với mỗi người dùng. Lọc thông tin cho các hệ tư vấn được tiếp cận theo hai xu hướng chính, đó là lọc dựa vào nội dung sản phẩm và lọc dựa vào thói quen sử dụng sản phẩm của người hay còn được gọi là lọc cộng tác. So với lọc theo nội dung, lọc cộng tác cho lại kết quả tốt hơn và có thể lọc bất kỳ dạng thông tin nào. Tuy nhiên, lọc cộng tác gặp phải vấn đề dữ liệu thưa, người dùng mới và sản phẩm mới cần được tiếp tục nghiên cứu giải quyết. Kết hợp giữa lọc cộng tác và lọc nội dung để nâng cao chất lượng dự đoán và tránh hiện trạng dữ liệu thưa của lọc cộng tác được tập trung nghiên cứu nhiều trong thời gian gần đây. Các phương pháp lọc kết hợp hiện nay vẫn hạn chế trong biểu diễn và ước lương mức độ ảnh hưởng của mỗi đặc trưng nội dung đến thói quen sử dụng sản phẩm của người dùng [2, 5, 10, 12, 14]. Có rất nhiều cách để dự đoán, ước lượng hạng/điểm cho các sản phẩm như sử dụng học máy, lý thuyết xấp xỉ, các thuật toán dựa trên kinh nghiệm, Theo [8], các hệ thống gợi ý thường được phân thành ba loại theo các phương pháp lọc tin (xem Hình 1.3): Tư vấn dựa trên nội dung, tư vấn dựa trên cộng tác, tư vấn dựa trên cách tiếp cận kết hợp. Tư vấn dựa trên nội dung: Cách tiếp cận lọc nội dung tạo ra một hồ sơ cho mỗi người dùng hoặc sản phẩm để mô tả bản chất của nó. Ví dụ, một hồ sơ phim có thể bao gồm các thuộc tính liên quan đến thể loại của nó, các diễn viên tham gia, sự phổ biến của phòng vé, v.v. Hồ sơ người dùng có thể bao gồm thông tin nhân khẩu học hoặc câu trả lời được cung cấp trên bảng câu hỏi phù hợp. Các hồ sơ cho phép các chương trình liên kết người dùng với các sản phẩm phù hợp. Tất nhiên, chiến lược dựa trên nội dung yêu cầu thu thập thông tin bên ngoài có thể không có sẵn hoặc khó thu thập. 11 Tư vấn dựa trên cộng tác: Cách này chỉ dựa trên hành vi của người dùng trước đây. Ví dụ: Giao dịch trước đó hoặc xếp hạng sản phẩm, mà không yêu cầu tạo hồ sơ rõ ràng. Chiến thuật này phân tích mối liên quan giữa người dùng và các thuộc tính của sản phẩm để định nghĩa quan hệ giữa người dùng – sản phẩm. Ưu điểm của lọc cộng tác so với lọc nội dung là không bị giới hạn miền, dẫn đến có thể giải quyết các khía cạnh dữ liệu thường khó nắm bắt và khó khăn để đưa vào khi sử dụng lọc nội dung. Tuy nhiên không hiệu quả khi phải xử lý với dữ liệu mới được thêm vào, điều mà lọc nội dung lại hiệu quả hơn. Tư vấn dựa trên cách tiếp cận kết hợp: Kết hợp hai phương pháp tiếp cận dựa trên nội dung và cộng tác. Hình 1.3: Phân loại hướng tiếp cận xây dựng hệ thống gợi ý 1.2.2. Phương pháp tư vấn dựa trên nội dung Lọc theo nội dung là phương pháp thực hiện dựa trên việc so sánh nội dung thông tin hay mô tả hàng hóa, để tìm ra những sản phẩm tương tự với 12 những gì mà người dùng đã từng quan tâm để giới thiệu cho họ những sản phẩm này. Các phương pháp tiếp cận cho lọc theo nội dung được chia thành hai phương pháp chính: lọc nội dung dựa vào bộ nhớ và lọc nội dung dựa vào mô hình. Những vấn đề cần tiếp tục nghiên cứu của lọc nội dung là vấn đề trích chọn đặc trưng và người dùng mới [1, 8, 12]. Với phương pháp tư vấn dựa trên nội dung, độ phù hợp r(u, i) của sản phẩm i với người dùng u được đánh giá dựa trên độ phù hợp r(u, i’) trong đó và “tương tự” như i. Ví dụ, để gợi ý một bộ phim cho người dùng u, hệ thống gợi ý sẽ tìm các đặc điểm của những bộ phim từng được u đánh giá cao như diễn viên, đạo diễn, sau đó chỉ những bộ phim tương tự với sở thích của u mới được giới thiệu. Hướng tiếp cận dựa trên nội dung bắt nguồn từ những nghiên cứu về thu thập thông tin và lọc thông tin. Do đó, rất nhiều hệ thống dựa trên nội dung hiện nay tập trung vào tư vấn các đối tượng chứa dữ liệu văn bản như tin tức, website. Những tiến bộ so với hướng tiếp cận cũ của phương pháp tìm kiếm thông tin là do có sử dụng hồ sơ về người dùng (chứa thông tin về sở thích, nhu cầu,...). Hồ sơ này được xây dựng dựa trên những thông tin được người dùng cung cấp trực tiếp (khi trả lời khảo sát) hoặc gián tiếp (do khai phá thông tin từ các giao dịch của người dùng). Hình 1.4. Minh họa phương pháp tư vấn dựa trên lọc nội dung Giả sử ta xem Content(i) là một thông tin riêng của sản phẩm, nghĩa là một tập các đặc tính đặc trưng cho sản phẩm i. Nó thường được tính toán thông qua việc trích rút từ tập các đặc tính của sản phẩm i (nội dung của nó) và ứng 13 với mỗi mục đích tư vấn sẽ xác định ra sản phẩm thích hợp. Dễ dàng nhận thấy những hệ thống gợi ý dựa trên nội dung thường thiết kế cho hầu hết những sản phẩm được tư vấn dựa trên text (văn bản) và nội dung của những hệ thống này được mô tả như là một từ khóa (keyword). Một trong những thước đo phổ biến để xác định mức độ quan trọng của từ khóa trong việc truy vấn thông tin là đo tần suất xuất hiện của mục từ trong tài liệu (Term Frequency) và tần số nghịch đảo của tần suất xuất hiện các tài liệu (Inverse Document Fr...đơn giản và một lượng dữ liệu sẵn có từ người dùng trên các website này. Một số hạn chế: - Không thể gợi ý nếu khách hàng chưa có dữ liệu về lịch sử tương tác mặt hàng. - Khi lượng sản phẩm lớn và số lượng khách hàng đánh giá không nhiều thì phương pháp này không hiệu quả. - Phương pháp này cũng không thể gợi ý được các sản phẩm mới hoặc những sản phẩm chưa được ai đánh giá. 31 - Phương pháp này sẽ cho độ chính xác kém nếu như sở thích của người dùng thay đổi. Một số hạn chế của User-user CF: - Trên thực tế, số lượng users luôn lớn hơn số lượng items rất nhiều. Kéo theo đó là Similarity matrix là rất lớn với số phần tử phải lưu giữ là hơn 1 nửa của bình phương số lượng users (chú ý rằng ma trận này là đối xứng). Việc này, như đã đề cập ở trên, khiến cho việc lưu trữ ma trận này trong nhiều trường hợp là không khả thi. - Ma trận Utility Y thường là rất sparse. Với số lượng users rất lớn so với số lượng items, rất nhiều cột của ma trận này sẽ rất sparse, tức chỉ có một vài phần tử khác 0. Lý do là users thường lười rating. Cũng chính vì việc này, một khi user đó thay đổi rating hoặc rate thêm items, trung bình cộng các ratings cũng như vector chuẩn hoá tương ứng với user này thay đổi nhiều. Kéo theo đó, việc tính toán ma trận Similarity, vốn tốn nhiều bộ nhớ và thời gian, cũng cần được thực hiện lại. Ngược lại, nếu chúng ta tính toán similarity giữa các items rồi recommend những items gần giống với item yêu thích của một user thì sẽ có những lợi ích sau: - Vì số lượng items thường nhỏ hơn số lượng users, Similarity matrix trong trường hợp này cũng nhỏ hơn nhiều, thuận lợi cho việc lưu trữ và tính toán ở các bước sau. - Vì số lượng phần tử đã biết trong Utility matrix là như nhau nhưng số hàng (items) ít hơn số cột (users), nên trung bình, mỗi hàng của ma trận này sẽ có nhiều phần tử đã biết hơn số phần tử đã biết trong mỗi cột. Việc này cũng dễ hiểu vì mỗi item có thể được rated bởi nhiều users. Kéo theo đó, giá trị trung bình của mỗi hàng ít bị thay đổi hơn khi có thêm một vài ratings. Như vậy, việc cập nhật ma trận Similarity Matrix có thể được thực hiện ít thường xuyên hơn. Cách tiếp cận thứ hai này được gọi là Item-item Collaborative Filtering. Hướng tiếp cận này được sử dụng nhiều trong thực tế hơn. 32 2.2. Lọc cộng tác dựa trên sản phẩm Lọc cộng tác khai thác những khía cạnh liên quan đến thói quen sở thích của người dùng sản phẩm để đưa ra dự đoán các sản phẩm mới cho người dùng này. So với lọc theo nội dung, lọc cộng tác không phải phân tích, bóc tách, hiểu, đánh chỉ mục cho các đặc trưng nội dung sản phẩm. Chính vì vậy, lọc cộng tác có thể lọc hiệu quả trên nhiều dạng sản phẩm khác nhau như hàng hóa, sữa, ảnh, tài liệu. Cùng trên một hệ tư vấn, người dùng sẽ được tư vấn nhiều loại mặt hàng khác nhau cho dù các mặt hàng này có thể biểu diễn trên không gian các đặc trưng nội dung khác nhau Ý tưởng của phương pháp này được thực hiện bằng việc thay vì tính mức độ tương tự giữa users trong hệ thống với người dùng hiện thời 푢푎, hệ tư vấn sẽ tính toán mức độ tương tự giữa sản phẩm cần dự đoán đánh giá bởi 푢푎 với các sản phẩm đã được 푢푎 đánh giá. Việc tính toán mức độ tương tự giữa hai sản phẩm được xem xét dựa vào tập người dùng cùng đánh giá cả hai sản phẩm đó. Trên cơ sở đó chọn ra một tập sản phẩm láng giềng với sản phẩm cần dự đoán đánh giá bởi 푢푎. Kết hợp các đánh giá của 푢푎 với tập sản phẩm láng giềng này để đưa ra dự đoán đánh giá của 푢푎 với sản phẩm cần dự đoán [9, 12]. Bài toán lọc cộng tác: Cho danh sách người m người dùng U = {푢1, 푢2, , 푢푚} và một danh sách n sản phẩm I = {푖1, 푖2,, 푖푛}. 푟푢푖 là đánh giá sản phẩm i của người dùng u. r nhận giá trị từ 0 đến 5. Với r = 0 khi sản phẩm i chưa được đánh giá bởi người dùng u. Mỗi người dùng u có danh sách các sản phẩm 퐼푢, mà người dùng đã đánh giá về những sản phẩm đó. Yêu cầu: - Dự đoán giá trị số 푃푢,푖 dự đoán khả năng sản phẩm i 퐼푢 cho người dùng u. - Tư vấn danh sách 퐼푝 gồm N sản phẩm mà người dùng u thích nhất (퐼푝 ∩ 퐼푢 = Ø). 33 Cho một ví dụ có 9 người dùng đánh giá 9 sản phẩm, với mức độ từ 1 đến 5, nếu người dùng không đánh giá sản phẩm thì giá trị là 0. Bảng 1: Bảng đánh giá người dùng với các sản phẩm User Item i1 i2 i3 i4 i5 i6 i7 i8 i9 u1 1 2 1 5 0 0 0 0 0 u2 2 1 3 0 0 1 0 0 0 u3 2 3 0 2 3 1 0 0 4 u4 5 0 2 0 1 0 0 0 2 u5 0 0 3 5 0 3 4 0 0 u6 0 1 1 0 3 5 4 1 0 u7 0 0 0 0 3 4 2 1 0 u8 0 0 0 0 0 5 1 2 2 u9 0 0 0 1 0 0 0 2 4 Các bước trong quá trình tư vấn theo phương pháp lọc cộng tác dựa trên sản phẩm: Bước 1: Tiền xử lý dữ liệu: Dữ liệu được thu thập là những đánh giá sản phẩm của người dùng. Dữ liệu thu thập thường rất lớn tuy nhiên một số đánh giá có thể không có ích trong quá trình tư vấn theo phương pháp lọc cộng tác. Đề xuất được đưa ra để tối ưu dữ liệu đầu vào: một số sản phẩm hoặc người dùng sẽ được loại bỏ nếu người dùng đó đánh giá quá ít sản phẩm, hoặc sản phẩm được quá ít đánh giá. Bước 2: Xây dựng Ma trận đánh giá: Hàng là users, Cột là các items. Bước 3: Tính độ tương tự của 2 item: xây dựng ma trận tương tự của các sản phẩm. Bước 4: Tính dự đoán của người dùng đối với sản phẩm dựa trên những sản phẩm lân cận với sản phẩm dự đoán. 34 2.3. Các thuật toán tính độ tương tự Để dự đoán một sản phẩm cho một người dùng sử dụng phương pháp lọc cộng tác cần xem xét đánh giá của người dùng lên những sản phẩm tương tự với sản phẩm đó, độ tương tự được xác định dựa vào đánh giá của users khác đã đánh giá cả 2 sản phẩm. Độ tương tự 2 sản phẩm là 1 xác suất thể hiện 2 sản phẩm đó có tương tự nhau trên khía cạnh đánh giá của người dùng hay không? Độ tương tự ở đây được hiểu là nếu 2 sản phẩm tương tự nhau thì 1 người dùng thích sản phẩm này sẽ thích sản phẩm kia và ngược lại. Bước quan trọng trong giải thuật lọc cộng tác dựa trên sản phẩm là tính toán độ tương tự giữa các sản phẩm và sau đó chọn những sản phẩm mà tương đương nhất để sử dụng trong công thức dự đoán. Ý tưởng cơ bản trong tính toán độ tương tự giữa hai sản phẩm i và j là: chọn các cặp người dùng mà đã đánh giá cả 2 sản phẩm và sau đó áp dụng kỹ thuật tính toán độ tương tự để mô tả độ tương tự 푆푖,푗. Hình 2.1: Tách các sản phẩm cùng được đánh giá và tính toán độ tương tự 35 2.3.1. Độ tương tự Cosine (Cosine-based Similarity) Trong trường hợp này, cả 2 sản phẩm được biểu diễn thông qua 2 véc tơ m chiều không gian đánh giá của người dùng. Độ tương tự giữa chúng được đo dựa trên tính toán cosine góc giữa 2 véc tơ đó. Trong ma trận đánh giá m x n, độ tương tự giữa hay sản phẩm i và j, biểu diễn là sim(i, j) được cho bởi công thức: 푖 . 푗 ∑푢∈푆 푅푢푖 × 푅푢푗 푆푖푚(푖, 푗) = = |푖 |2 × |푗 |2 2 2 (2.1) √∑푢∈푆 푅푢푖 × √∑푢∈푆 푅푢푗 Trong đó: - 푅푢푖 là đánh giá của người dùng u với sản phẩm i - 푅푢푗 là đánh giá của người dùng u với sản phẩm j - S là tập users đã đánh giá cả 2 sản phẩm i, j Mỗi một sản phẩm được đánh giá bởi n người dùng và được xác định như là 1 véc tơ n chiều trong công thức này, ở đây những người dùng được chọn là những người đã đánh giá cả 2 sản phẩm i và j. Như vậy theo công thức ở trên, kết quả là cosine của góc hợp giữa 2 véc tơ đó. Và vì các đánh giá là dương nên, cosine của 2 véc tơ bằng 1 thể hiện 2 sản phẩm tự nhau hoàn toàn với những đánh giá của người dùng, cosine của 2 véc tơ bằng 0, thể hiện 2 sản phẩm này không tương tự nhau. 2.3.2. Độ tương tự dựa theo khoảng cách Euclidean điều chỉnh (Adjusted Euclidean Distance similarity) Theo [8], khi phân tích độ đo tương tự cosine phương pháp này xem các sản phẩm như cách véc tơ để đánh giá, tuy nhiên lại không xét đến độ dài của chúng. Cho một phần của ma trận đánh giá (phạm vi từ 1 đến 5) và được biểu diễn như sau. 36 2.3.3. Độ tương tự tương quan (correlation-based similarity) Trong trường hợp này, độ tương tự giữa 2 sản phẩm i và j là được đo dựa trên tính toán độ tương quan Pearson-r là: corr(i, i). Để tính toán độ tương quan này một cách chính xác, đầu tiên phải xét các cặp sản phẩm đã được đánh giá bởi người dùng u, biểu diễn trong hình 2.1. Độ tương tự của 2 sản phẩm i, j được cho bởi công thức sau: ∑푢∈푆(푅푢푖 − 푅̅푖) × ∑푢∈푆(푅푢푗 − 푅̅푗) 푆푖푚(푖, 푗) = 2 2 (2.2) √∑푢∈푆(푅푢푖 − 푅̅푖) × √∑푢∈푆(푅푢푗 − 푅̅푗) Trong đó: - 푅푢푖 là đánh giá của người dùng u với sản phẩm i - 푅̅푖 là đánh giá trung bình sản phẩm i của users - 푅푢푖 là đánh giá của người dùng u với sản phẩm j - 푅̅푗 là đánh giá trung bình sản phẩm j của users - S là tập users đã đánh giá cả 2 sản phẩm i, j 2.3.4. Độ tương tự cosine điều chỉnh (Adjusted Cosine similarity) Tính toán độ tương tự sử dụng độ đo cosine trong trường hợp dựa trên sản phẩm có một sự trở ngại quan trọng: những sự khác nhau trong thang đánh giá giữa users khác nhau không được đưa vào tài khoản. Độ tương tự cosine điều chỉnh khắc phục nhược điểm này bằng cách trừ trung bình người dùng tương ứng với mỗi cặp đánh giá. Độ tương tự giữa sản phẩm i và j được cho bởi công thức sau: ∑푢∈푆(푅푢푖 − 푅̅̅̅푢̅) × ∑푢∈푆(푅푢푗 − 푅̅̅̅푢̅) 푆푖푚(푖, 푗) = 2 2 (2.3) √∑푢∈푆(푅푢푖 − 푅̅̅̅푢̅) × √∑푢∈푆(푅푢푗 − 푅̅̅̅푢̅) Trong đó: - 푅푢푖 là đánh giá của người dùng u với sản phẩm i 37 - 푅푢푗 là đánh giá của người dùng u với sản phẩm j - 푅̅̅̅푢̅ là đánh giá trung bình của người dùng u - S là tập users đã đánh giá cả 2 sản phẩm i, j 2.4. Tính toán dự đoán và tư vấn Đưa ra được những dự đoán hoặc lời gợi ý là một bước quan trọng trong hệ tư vấn lọc cộng tác. Sau khi tính toán độ tương tự giữa các người dùng hay giữa các sản phẩm, chúng ta có thể dự đoán đánh giá của người dùng u trên sản phẩm i. Phần trên đã đưa ra những sản phẩm tương tự nhất dựa trên độ tương tự, bước tiếp theo là nghiên cứu kỹ mục tiêu xếp hạng của người dùng và sử dụng kỹ thuật để thu được dự đoán. Dự đoán đánh giá của một người dùng lên một sản phẩm được suy ra từ các đánh giá của người dùng đó trên các sản phẩm lân cận. Hình 2.2: Giải thuật lọc cộng tác dựa trên sản phẩm, tính dự đoán 2.4.1. Dự đoán dựa trên trung bình đánh giá sản phẩm lân cận Dựa vào [8] công thức đơn giản nhất để dự đoán của 1 người dùng u lên 1 sản phẩm i là dựa vào những người dùng lân cận của u mà đã đánh giá sản phẩm i. 38 1 푃 = ∑ 푟 ′ 푎푖 푁 푎푖 (2.4) 푖′푇푖∩푆푎 Trong đó: - N là tổng các sản phẩm lân cận của i đã được a đánh giá. - 푇푖 là tập hợp users i’ lân cận với i mà u đã đánh giá - 푆푎: các sản phẩm mà người dùng a đã đánh giá Vấn đề là chọn ra các sản phẩm 푖′ lân cận với sản phẩm i với các tiêu chí nhưthế nào, trong bài toán này, kết quả phụ thuộc vào tiêu chí chọn ra các lận cận của sản phẩm i. 2.4.2. Dự đoán dựa trên tổng trọng số (Weighted Sum) Dự đoán đánh giá của người dùng a với sản phẩm i được cho bởi công thức sau: ∑푗∈푆 ∩푇 푠푖푚(푖, 푗) × 푟푎푗 푃 = 푎 푖 (2.5) 푎푖 ∑ | | 푗∈푆푎∩푇푖 푠푖푚(푖, 푗) - 푆푎: các sản phẩm mà người dùng a đã đánh giá - 푟푎푗 là đánh giá sản phẩm j của người dung a - sim(i, j) là độ tương tự của 2 sản phẩm i, j - 푇푖: Tập các sản phẩm lân cận của item i Công thức tính toán đánh giá của người dùng a lên sản phẩm i dựa vào những đánh giá của người dùng a lên các sản phẩm tương tự với i. Giá trị dự đoán sẽ nằm trong khoảng [1, 5]. Trường hợp dự đoán sẽ cho kết quả cao (người dùng a thích sản phẩm i) khi những sản phẩm lân cận với i (có độ tương tự cao) được người dùng a đánh giá cao. 2.4.3. Dự đoán dựa trên tổng trọng số với đánh giá trung bình của người dùng ∑푗∈푆 ∩푇 푠푖푚(푖, 푗) × (푟푎푗 − 푅̅̅̅푎̅) 푃 = 푅̅̅̅̅ + 푎 푖 (2.6) 푎푖 푎 ∑ | | 푗∈푆푎∩푇푖 푠푖푚(푖, 푗) - 푆푎: các sản phẩm mà người dùng a đã đánh giá - 푟푎푖:là đánh giá sản phẩm j của người dung a - sim(i, j) là độ tương tự của 2 sản phẩm i, j 39 - 푇푖: Tập các sản phẩm lân cận của sản phẩm i - 푅̅̅̅푎̅ là đánh giá trung bình của người dùng a Công thức tính toán đánh giá của người dùng a lên sản phẩm i dựa vào những đánh giá của người dùng a lên các sản phẩm tương tự với i. Giá trị đánh giá trung bình của người dùng a là푅̅nhằm làm tăng tính cân đối của người dùng a lên sản phẩm. Giá trị 푅̅ của mỗi người dùng là một mức để xác định người dùng đó đánh giá cao hay không cao một sản phẩm. Giá trị dự đoán sẽ nằm trong khoảng [1, 5]. Trường hợp dự đoán sẽ cho kết quả cao (người dùng a thích sản phẩm i) khi những sản phẩm lân cận với i (có độ tương tự cao) được người dùng a đánh giá cao. 2.4.4. Dự đoán dựa trên tổng trọng số với trung bình đánh giá lên sản phẩm ∑푗∈푆 ∩푇 푠푖푚(푖, 푗) × (푟푎푗 − 푅̅푗) 푃 = 푅̅ + 푎 푖 (2.7) 푎푖 푖 ∑ | | 푗∈푆푎∩푇푖 푠푖푚(푖, 푗) - 푆푎: các sản phẩm mà người dùng a đã đánh giá - 푟푎푗là đánh giá sản phẩm j của người dung a - sim(i, j) là độ tương tự của 2 sản phẩm i, j - 푇푖: Tập các sản phẩm lân cận của sản phẩm i - 푅̅푖 là đánh giá trung bình sản phẩm i - 푅̅푗 là đánh giá trung bình sản phẩm j Công thức tính toán đánh giá của người dùng a lên sản phẩm i dựa vào những đánh giá của người dùng a lên các sản phẩm tương tự với i. 푅̅푖 là giá trị đánh giá trung bình sản phẩm i của người users. Giá trị 푅̅ của mỗi sản phẩm là một mức để xác định khi 1 người dùng đánh giá sản phẩm i, thì so với tất cả users, đánh giá của người đó cho sản phẩm i đó là cao hay không cao. Giá trị dự đoán sẽ nằm trong khoảng [1, 5]. Trường hợp dự đoán sẽ cho kết quả cao (người dùng a thích sản phẩm i) khi những sản phẩm lân cận với i (có độ tương tự cao) được người dùng a đánh giá cao. 40 2.5. Đánh giá các yếu tố ảnh hưởng đến độ chính xác kết quả tư vấn Phần trên đã giới thiệu các bước của 1 quá trình tư vấn sử dụng phương pháp lọc cộng tác dựa trên sản phẩm. Sau khi thực hiện quá trình xử lý, hệ thống có thể đưa ra các dự đoán đánh giá của người dùng với 1 sản phẩm, hoặc đề xuất danh sách các sản phẩm mà người dùng thích (đưa ra sản phẩm được dự đoán có đánh giá cao). Một hệ tự vấn tốt khi đề xuất được những sản phẩm mà người dùng đó sẽ thích và lựa chọn. Dữ liệu đầu vào Tư vấn danh sách sản phẩm cho Đánh giá chất người dùng Tiền xử lý dữ liệu lượng dự đoán Tính toán sai số Chọn TopN Ma trận đánh Đánh giá sản phẩm giá Dự đoán đánh giá Dự đoán và tư của người dùng lên Tính toán độ tương tự vấn sản phẩm Ma trận độ Chọn lân cận tương tự Hình 2.3: Mô hình hệ thống lọc cộng tác dựa trên sản phẩm 2.5.1. Đánh giá độ tin cậy của thuật toán Trong thực tế để đánh giá chính xác của 1 thuật toán tư vấn, các chuyên gia xây dựng bộ dữ liệu và kết quả kiểm tra thực tế, so sánh các kết quả dự đoán từ bộ dữ liệu với kết quả thực tế để đánh giá chất lượng của tư vấn. Một giải thuật tư vấn tốt là giải thuật đưa ra các dự đoán đánh giá gần chính xác với đánh giá thật sự của người dùng trong thực tế. Để đánh giá hiệu quả của việc gợi ý, người ta thường dùng các độ đo liên quan đến sự “phù hợp trên kết quả trả về” tương tự như trong truy tìm thông tin. Gợi ý được xem là phù hợp khi người dùng chọn mục tin từ danh sách các 41 mục tin đã được hệ thống gợi ý cho người dùng. Độ phù hợp này có thể được đánh giá qua các độ đo như MAE , Precision, Recall, F-Measure [9], mỗi phương pháp đánh giá sẽ thích hợp cho từng lĩnh vực cụ thể. Sai số tuyệt đối (Mean Absolute Error - MAE) giữa đánh giá và dự đoán. MAE là độ đo lệch của tư vấn với giá trị chính xác trên thực tế. Mỗi dự đoán là một cặp , độ đo sai số tuyệt đối giữa chúng là |푝푖− 푞푖|. MAE tính toán tổng những sai số tuyệt đối của N cặp tương ứng với đánh giá dự đoán và sau đó tính giá trị trung bình. ∑푁 |푝 − 푞 | 푀퐴퐸 = 푖=1 푖 푖 (2.8) 푁 Các chỉ số này thích hợp cho một cơ sở dữ liệu không phải nhị phân và cho một giá trị dự đoán là số. Nó giúp đo lường mức độ sai số của các dự đoán. Các giá trị đo lường này bằng 0 khi hệ thống đạt được hiệu quả tốt nhất. Giá trị này càng cao thì hiệu quả của hệ thống càng thấp. Precision là tỷ lệ giữa số lượng các gợi ý phù hợp và tổng số các gợi ý đã cung cấp (đã tạo ra). Precision bằng 100% có nghĩa là tất cả các kiến nghị đều phù hợp. 푆ố 푙ượ푛푔 푔ợ푖 ý 푝hù hợ푝 Precision = (2.9) 푆ố 푙ượ푛푔 푔ợ푖 ý 푡ạ표 푟푎 Recall được định nghĩa bởi tỉ lệ giữa số lượng các gợi ý phù hợp và số lượng các mục dữ liệu mà người dùng đã chọn lựa (xem, nghe, mua, đọc). Recall được sử dụng để đo khả năng hệ thống tìm được những mục dữ liệu phù hợp so với những gì mà người dùng cần. 푆ố 푙ượ푛푔 푔ợ푖 ý 푝hù hợ푝 Recall = (2.10) 푆ố 푙ượ푛푔 푠ả푛 푝hẩ푚 푚푢푎 푏ở푖 푛푔ườ푖 푑ù푛푔 Precision và Recall được xem là hữu ích trong việc đánh giá một gợi ý. Tuy nhiên, trong một số trường hợp thì precision và recall có giá trị tỉ lệ nghịch 42 với nhau. Ví dụ như số lượng gợi ý mà hệ thống tạo ra là 10, số lượng gợi ý phù hợp là 3, số lượng sản phẩm mua bởi người dùng là 3 thì độ chính xác thấp (30%), tuy nhiên giá trị recall lại cao (100%) nghĩa là độ chính xác thấp nhưng người dùng lại hài lòng bởi vì họ mua có 3 sản phẩm và hệ thống gợi ý đúng cả 3 sản phẩm đó. F-Measure được sử dụng để đánh giá hiệu quả tổng thể của hệ thống bằng cách kết hợp cả hai chỉ số Recall và Precision. 2 × Precison × Recall F − Measure = (2.11) Precision + Recall 2.5.2. Các yếu tố ảnh hưởng đến độ chính xác tư vấn - Ảnh hưởng của dữ liệu đầu vào: Trong nhiều hệ thống 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ó cho dự đoán. Sự thành công của hệ thống tư vấn lọc cộng tác phụ thuộc vào giá trị của đại đa số những người dùng chính. Chẳng hạn, trong hệ thống 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 vượt qua tính thưa thớt trong đánh giá là sử dụng thông tin cá nhân của người dùng khi tính toán sự tương tự giữa những người dùng. Hai người dùng được xem là giống nhau không khi đượ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 một đối tượng. Chẳng hạn, sử dụng giới tính, tuổi, địa chỉ khu vực, nền giáo dục và thông tin công việc của những người dùng trong việc tư vấn nhà hàng. 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”. 43 Một vấn đề trước khi xây dựng ma trận đánh giá, với những sản phẩm ít được đánh giá, hoặc những người dùng ít đánh giá sản phẩm, những người dùng và sản phẩm này sẽ không hữu ích trong quá trình tư vấn. Vấn đề cần chọn lọc ra những sản phẩm và người dùng để tham gia trong quá trình tư vấn. Rõ ràng những sản phẩm mới hoặc người dùng mới không thể tham gia trong quá trình dự đoán, hoặc những sản phẩm hay người dùng có đánh giá ít hơn 1 ngưỡng nào đó cũng được loại ra. - Ảnh hưởng của thuật toán tính độ tương tự: Để xây dựng ma trận tương tự, các giá trị được tính toán theo một công thức được đề xuất ở trên hoặc một công thức khác. Các công thức tính toán khác nhau sẽ cho ra các ma trận đánh giá khác nhau, dẫn đến kết quả tư vấn không đồng nhất. Nhiều chuyên gia đánh giá, với thuật toán có sự tham gia của đánh giá trung bình sẽ có kết quả tốt hơn. Chương 3 sẽ thí nghiệm kết quả tư vấn với các thuật toán tính độ tương tự và đưa ra nhận xét về độ chính xác của kết quả tư vấn khi áp dụng các độ tương tự khác nhau. - Ảnh hưởng của số lượng lân cận tham gia vào dự đoán: Thông qua quá trình tính ma trận tương tự, hệ thống tư vấn sử dụng những sản phẩm lân cận nhất với sản phẩm đang xét để đưa vào dự đoán, số lượng lân cận ảnh hưởng đến chất lượng của kết quả tư vấn. Chọn số lượng lân cận có thể dựa vào số lượng lân cận của sản phẩm hoặc dựa vào giá trị của độ đo tương tự. Ví dụ: Trong hệ thống tư vấn phim với số bộ phim là 1000 bộ phim, khi cần tư vấn 1 bộ phim, có thể sẽ xét trên 100 bộ phim lân cận với bộ phim đang xét, hoặc là xét với những bộ phim lân cận có độ tương tự lớn 0.75. Số lượng lân cận tham gia vào dự đoán ảnh hưởng đến quá trình đưa ra dự đoán, nhiều chuyên gia lựa chọn những sản phẩm có độ tương tự 0.75 để tham gia vào dự đoán. 44 2.6. Kết luận chương 2 Trong chương này, luận văn đã trình bày về phương pháp lọc cộng tác dựa trên sản phẩm, minh họa quá trình xử lý để đưa ra các kết quả tư vấn dựa trên các thuật toán khác nhau. Vấn đề là cần đánh giá chất lượng thuật toán để có thể đưa ra tư vấn chính xác nhất, các yếu tố nào có thể nâng cao được chất lượng tư vấn. Trong chương tiếp theo, luận văn sẽ thử nghiệm các thuật toán tư vấn với bộ dữ liệu tư vấn phim, để đưa ra các kết quả tư vấn, so sánh đánh giá các thuật toán áp dụng trong quá trình tư vấn. 45 CHƯƠNG 3. ỨNG DỤNG PHƯƠNG PHÁP LỌC CỘNG TÁC DỰA TRÊN SẢN PHẨM TRONG HỆ THỐNG GỢI Ý BÁN HÀNG TRỰC TUYẾN 3.1. Xây dựng hệ thống gợi ý cho website bán hàng trực tuyến 3.1.1. Đặc tả hệ thống Hệ thống giới thiệu và bán sản phẩm thời trang trực tuyến cho phép khách hàng bất kỳ có thể tìm kiếm và xem các sản phẩm thời trang. Hệ thống sẽ hiển thị các sản phẩm được ưa thích nhất và các sản phẩm bán chạy nhất. Hệ thống có chức năng cho khách hàng chấm điểm, đánh giá sản phẩm và có thể đặt hàng thông qua hệ thống này. Đặc biệt hệ thống sẽ gợi ý các sản phẩm cho khách hàng trong quá trình chọn sản phẩm sử dụng kỹ thuật lọc cộng tác và hiển thị các sản phẩm tương tự với sản phẩm mà khách hàng đang xem. Đây là giải thuật có độ tin cậy cao vì đã được kiểm nghiệm qua nhiều công trình nghiên cứu nên việc gợi ý sử dụng kỹ thuật lọc cộng tác có thể sẽ tốt hơn các gợi ý thông thường như gợi ý sản phẩm bổ trợ sản phẩm vừa mua, gợi ý sản phẩm tương tự với sản phẩm mà khách hàng ưa thích, gợi ý sản phẩm theo giá chênh lệch với sản phẩm mà khách hàng đang xem... Khách hàng muốn thực hiện các chức năng trên chỉ khi khách hàng là thành viên của hệ thống. Muốn trở thành viên của hệ thống, khách hàng phải đăng ký tài khoản thông qua hệ thống. Sau khi đăng nhập vào hệ thống, nếu là khách hàng mới thì hệ thống sẽ dựa vào thông tin về tính cách và mùi hương ưa thích của khách hàng để tư vấn những sản phẩm theo thông tin vừa thu thập. Tuy nhiên, nếu khách hàng đã có chấm điểm cho sản phẩm, hệ thống sẽ gợi ý các sản phẩm theo giải thuật lọc cộng tác. Ngoài ra, hệ thống còn cung cấp các công cụ quản trị như: quản trị khách hàng, quản trị thông tin về thương hiệu và sản phẩm, quản trị đơn đặt hàng. 46 3.1.2. Môi trường phát triển Hệ thống bán sản phẩm thời trang trực tuyến được phát triển trên môi trường mã nguồn mở PHP & My SQL. Hệ thống được phát triển dựa trên nền tảng mã nguồn mở WordPress tích hợp và phát triển thêm các modul hệ thống gợi ý dựa trên phương pháp lọc cộng tác dựa trên sản phẩm. Nền tảng mã nguồn mờ WordPress được rất nhiều website thương mại điện tử sử dụng, vì vậy chúng ta có thể dễ dàng tích hợp hệ thống gợi ý vào những website có sẵn. 3.1.3. Thiết kế bảng dữ liệu Website bán hàng sẽ được xây dựng trên nền tảng Wordpress để có thể tận dụng hệ thống plugin hỗ trợ và các tính năng nổi bật về quản lý, thống kê. Đối với mô hình website bán hàng, các items tương ứng với các sản phẩm, các users được chia thành hai loại: user có đăng kí tài khoản, được phân biệt bằng user_id và có lưu các thông tin liên quan trong cơ sở dữ liệu và user không đăng kí tài khoản, chỉ xem sản phẩm thông thường. Ta gọi user loại đầu là thành viên và loại còn lại là khách viếng thăm. Sau khi chọn một sản phẩm bất kì để xem chi tiết sản phẩm, chỉ có thành viên đăng kí và đăng nhập mới được nhận xét. Mức độ đánh giá thay đổi từ 1 đến 5 sao, với 1 sao là mức ít yêu thích nhất và 5 sao là rất yêu thích. Trong cơ sở dữ liệu, ta sẽ quan tâm đến các bảng sau: wp_comments, wp_commentmeta, wp_user_rating, wp_predict. Bảng wp_comments: lưu trữ các nhận xét cho mỗi sản phẩm và id của những user đã nhận xét sản phẩm đó. STT Tên thuộc tính Kiểu dữ liệu Ghi chú 1 comment_ID int (20) id của nhận xét 2 comment_post_ID int (20) id của sản phẩm đã được nhận xét. 3 user_id int (20) id của user đã nhận xét. 47 Bảng wp_commentmeta: lưu trữ giá trị yêu thích (tức là số sao mà từng user đã đánh giá trong mỗi nhận xét). STT Tên thuộc tính Kiểu dữ Ghi chú liệu 1 comment_id int (20) id của nhận xét 2 meta_key varchar (255) 3 meta_value longtext Số sao mà user đã đánh giá Từ hai bảng trên ta tạo bảng wp_user_rating để truy vấn những thông tin cần thiết bao gồm: - comment_post_ID: ID của sản phẩm đã được nhận xét. - user_id: ID của user đã nhận xét. - meta_value: số sao mà user đã đánh giá. Trong WordPress có lưu hai giá trị meta_value là rating và verified, ở đây ta chỉ quan tâm đến các giá trị rating (meta_key = “rating”). STT Tên thuộc tính Kiểu dữ liệu Ghi chú 1 comment_post_ID int (20) id của sản phẩm đã được nhận xét. 2 user_id int (20) id của user đã nhận xét.. 3 meta_value longtext số sao mà user đã đánh giá Mỗi khi có một nhận xét mới từ thành viên, dữ liệu sẽ được tự động cập nhật vào bảng wp_user_rating. Dựa vào bảng này, chúng ta sẽ xây dựng Utility matrix tính độ tương tự (similarity) giữa các sản phẩm đã được nhận xét. Utility matrix được lưu trong bảng wp_predict gồm các cột: - item_id1: id của sản phẩm được nhận xét. - item_id2: id của sản phẩm được dự đoán gợi ý cho user 48 - times: số user đã đánh giá cả item_id1 và item_id2 - rating: độ chênh lệch giá trị rating của item_id1 và item_id2. Sau khi có Utility matrix, ta sẽ sử dụng dự đoán để hoàn thiện các giá trị còn thiếu, từ đó dùng truy vấn SQL để tìm id của những sản phẩm có thể gợi ý cho user hiện tại. Tên Kiểu STT Ghi chú thuộc tính dữ liệu 1 item_id1 int (11) id của sản phẩm đã được nhận xét. id của sản phẩm được dự đoán gợi ý cho 2 item_id2 int (11) user. 3 times int (11) số user đã đánh giá cả item_id1 và item_id2 4 Rating float Độ chênh lệch giá trị rating của item_id1 và item_id2 Hệ thống sử dụng CF dựa trên ratings có nhược điểm là chỉ áp dụng với những user đã nhận xét hoặc sản phẩm phải được đánh giá từ trước. Vậy với khách viếng thăm thì ta phải gợi ý cho họ như thế nào? Chúng ta có hai phương án: Nếu khách viếng thăm xem thông tin giới thiệu của một sản phẩm chưa có nhận xét nào, hệ thống sẽ giới thiệu cho khách viếng thăm những sản phẩm có cùng thể loại. Nếu khách viếng thăm xem thông tin của sản phẩm đã có nhận xét, hệ thống sẽ giới thiệu cho họ những sản phẩm có độ tương tự cao nhất với sản phẩm đó. 49 3.2. Ví dụ về lọc cộng tác dựa trên sản phẩm Khi người dùng đăng nhập vào hệ thống và đánh giá các sản phẩm, kết quả đánh giá sẽ được lưu trữ trong bảng wp_user_rating trong cơ sở dữ liệu. Trong bảng 2 là dữ liệu do 6 người dùng (u0, u1, u2, u3, u4, u5) đánh giá 5 sản phẩm (i0, i1, i2, i3, i4). Những sản phẩm chưa được đánh giá thì sẽ không xuất hiện trong bảng này. Bảng 2: Dữ liệu đánh giá các sản phẩm Mã sản phẩm Mã người dùng Đánh giá (comment_post_ID) (user_id) (meta_value) 0 0 5 1 0 4 3 0 2 4 0 2 1 1 5 3 1 4 4 1 2 5 1 4 1 2 2 3 2 1 4 2 3 5 2 4 1 3 3 2 3 4 4 3 4 1 4 1 4 4 4 2 5 2 3 5 1 3 5 1 4 5 4 5 5 5 Dựa vào dữ liệu trong Bảng 2, chúng ta xây dựng utility matrix như trong bảng 3. Trong bảng này, các ô có giá trị 0 là các sản phẩm chưa được đánh giá. 50 Bảng 3: Ma trận utility matrix u0 u1 u2 u3 u4 u5 u6 i0 5 5 2 3 1 0 0 i1 4 0 0 4 0 2 0 i2 0 4 1 0 0 1 1 i3 2 2 3 4 4 0 4 i4 2 4 4 0 0 0 5 Bảng 4: Giá trị trung bình đánh giá của các item Item Giá trị trung bình i0 3.20 i1 3.33 i2 1.75 i3 3.17 i4 3.75 Trong bảng 4 là giá trị trung bình đánh giá (rating) của user cho mỗi item (sản phẩm). Khi đó, nếu tiếp tục trừ từ mỗi rating đi giá trị này, ta sẽ được ma trận chuẩn hóa như trong bảng 5. 51 Việc trừ đi trung bình cộng của mỗi cột khiến trong trong mỗi cột có những giá trị dương và âm. Những giá trị dương tương ứng với việc user thích item, những giá trị âm tương ứng với việc user không thích item. Những giá trị bằng 0 tương ứng với việc chưa xác định được liệu user có thích item hay không. Bảng 5. Ma trận chuẩn hóa 푌̂ u0 u1 u2 u3 u4 u5 u6 i0 1.80 1.80 -1.20 -0.20 -2.20 0 0 i1 0.67 0 0 0.67 0 -1.33 0 i2 0 2.25 -0.75 0 0 -0.75 -0.75 i3 -1.17 -1.17 -0.17 0.83 0.83 0 0.83 i4 -1.75 0.25 0.25 0 0 0 1.25 Sử dụng độ do cosine để tính độ tượng tự giữa các item, chúng ta thu được dữ liệu như Bảng 6. Bảng 6: Độ tương tự giữa các item S i0 i1 i2 i3 i4 i0 1 0.18 0.53 -0.76 -0.38 i1 0.18 1.00 0.24 -0.06 -0.33 i2 0.53 0.24 1.00 -0.55 -0.10 i3 -0.76 -0.06 -0.55 1.00 0.57 i4 -0.38 -0.33 -0.10 0.57 1.00 52 Dự đoán tỷ lệ đánh giá là việc xác định mức độ quan tâm của một user lên một item dựa trên các users gần nhất. Ví dụ về việc tính tỷ lệ đánh giá của u1 cho i1 được cho trong bảng 5 với số nearest neighbors là k = 2. Các bước thực hiện là: - Xác định các item đã được đã u1 đánh giá, đó là: i0, i2, i3, i4. - Xác định độ tượng tự của i1 với các item này ta nhận được 0.18, 0.24, -0.06, -0.33. Hai (k=2) giá trị lớn nhất là 0.18 và 0.24 tương ứng với i0 và i2. - Xác định các đánh giá (chuẩn hoa) của u1 cho i0, i2, ta thu được hai giá trị lần lượt là 1.80, 2.25. - Dự đoán kết quả: 0.18 × 2.25 + 0.24 × 2.24 푦̂ = = 2.244 푖1,푢1 |0.18| + |0.24| Bảng 7: Ma trận sau khi được dự đoán 푌̂ u0 u1 u2 u3 u4 u5 u6 i0 1.80 1.80 -1.20 -0.20 -2.20 -0.30 -0.54 i1 0.67 2.22 -2.25 0.67 -0.15 -1.33 -0.22 i2 0.45 2.25 -0.75 -0.07 -0.53 -0.75 -0.75 i3 -1.17 -1.17 -0.17 0.83 0.83 0.236 0.83 i4

Các file đính kèm theo tài liệu này:

  • pdfluan_van_phuong_phap_loc_cong_tac_va_ung_dung_trong_he_thong.pdf
Tài liệu liên quan