XÂY DỰNG HỆ TƯ VẤN DỰA VÀO PHƯƠNG PHÁP LAI Mục đích của luận văn là nghiên cứu phương pháp tư vấn kết hợp giữa lọc cộng tác và lọc nội dung. Để thực hiện được mục tiêu này, luận văn cần nghiên cứu cụ thể phương pháp tư vấn theo nội dung, phương pháp tư vấn cộng tác và phương pháp kết hợp giữa hai phương pháp này.
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Lê Thành Đạo XÂY DỰNG HỆ TƯ VẤN DỰA VÀO PHƯƠNG PHÁP LAI Chuyên ngành: Khoa học máy tính Mã số: 60.48.01.01 TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - 2013 Luận văn được hoàn thành tại: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Người hướng dẫn khoa học: Tiến sỹ Nguyễn Duy Phương Phản biện 1………………………………………………………… Phản biện 2: ………………………………………………………… Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông Vào lúc: giờ ngày tháng năm Có thể tìm hiểu luận văn tại: - Thư viện của Học viện Công nghệ Bưu chính Viễn thông 1 I. MỞ ĐẦU 1. Lý do chọn đề tài Hệ tư vấn (Recommender System) là hệ thống có khả năng tự động phân tích, phân loại, lựa chọn và cung cấp cho người dùng những thông tin, hàng hóa hay dịch vụ mà họ quan tâm. Hệ tư vấn được xây dựng dựa trên hai kỹ thuật lọc thông tin chính: Hệ tư vấn dựa vào phương pháp lọc theo nội dung (Content- Based Filtering Recommendation) và hệ tư vấn dựa vào phương pháp lọc cộng tác (Collaborative Filtering Recommendation). Phương pháp tư vấn theo nội dung khai thác những khía cạnh liên quan đến nội dung thông tin sản phẩm mà người dùng đã từng sử dụng hay truy nhập trong quá khứ để tạo nên tư vấn. Phương pháp này thực hiện tốt trên các dạng thông tin được biểu diễn thông qua các đặc trưng nội dung nhưng gặp nhiều khó khăn trên các dạng thông tin đa phương tiện (hình ảnh, âm thanh, ). Phương pháp tư vấn cộng tác khai thác những khía cạnh liên quan đến thói quen sử dụng sản phẩm của cộng đồng người dùng có cùng sở thích để tạo nên tư vấn. Phương pháp tư vấn cộng tác thực hiện tốt trên tất cả các dạng thông tin nhưng gặp phải vấn đề người dùng mới, sản phẩm mới và dữ liệu thưa thớt. Chính vì vậy, vấn đề kết hợp giữa phương pháp tư vấn theo nội dung và tư vấn cộng tác nhằm tận dụng lợi thế mỗi phương pháp được quan tâm nghiên cứu. Đề tài “Xây dựng hệ tư vấn dựa vào phương pháp lai” được thực hiện trong khuôn khổ luận văn thạc sĩ chuyên ngành Khoa học máy tính với mục tiêu, đối tượng và phương pháp nghiên cứu cụ thể như sau: 2. Mục đích nghiên cứu Mục đích của luận văn là nghiên cứu phương pháp tư vấn kết hợp giữa lọc cộng tác và lọc nội dung. Để thực hiện được mục tiêu này, luận văn cần nghiên cứu cụ thể phương pháp tư vấn theo nội dung, phương pháp tư vấn cộng tác và phương pháp kết hợp giữa hai phương pháp này. 2 3. Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu là phương pháp tư vấn theo nội dung, người sử dụng cùng với thói quen, hành vi sử dụng sản phẩm của họ. Phạm vi của đề tài này tập trung nghiên cứu vào: phương pháp lọc thông tin dựa vào nội dung, phương pháp phân loại dựa vào đánh giá người dùng và kết hợp hai phương pháp này. 4. Phương pháp nghiên cứu Dựa trên việc thu thập, nghiên cứu và tìm hiểu những kết quả nghiên cứu về học máy đã được công bố trên các tạp chí trong và ngoài nước, đặc biệt chú trọng đến những nghiên cứu về học chuyển giao cho lọc cộng tác. Tham dự các Seminar về lĩnh vực liên quan. Trao đổi, chía sẻ, thảo luận với giáo viên hướng dẫn và các đồng nghiệp về các kết quả nghiên cứu. 5. Bố cục của luận văn Nội dung luận văn được xây dựng thành 4 chương, trong đó: Chương 1: Nội dung chương này trình bày về những kết quả nghiên cứu về phương pháp tư vấn theo nội dung: phát biểu bài toán tư vấn theo nội dung, phương pháp biểu diễn các đặc trưng nội dung, phương pháp xây dựng hồ sơ người dùng, phương pháp dự đoán. Chương 2: Nội dung chương này trình bày về kết quả nghiên cứu về phương pháp tư vấn cộng tác, bao gồm: phát biểu bài toán tư vấn cộng tác, phương pháp tư vấn dựa vào bộ nhớ, phương pháp tư vấn dựa vào mô hình, phương pháp dự đoán. Chương 3: Nội dung chương này trình bày về kết quả nghiên cứu về phương pháp kết hợp giữa các kiểu tư vấn, bao gồm: phát biểu bài toán tư vấn kết hợp, phương pháp kết hợp giữa lọc nội dung và lọc cộng tác Chương 4:Nội dung chính của chương tập trung vào xây dựng ứng dụng của phương pháp học chuyển giao. 3 CHƯƠNG I: PHƯƠNG PHÁP TƯ VẤN THEO NỘI DUNG Phương pháp tư vấn theo nội dung khai thác những khía cạnh liên quan đến nội dung thông tin sản phẩm người dùng đã từng sử dụng hay truy nhập trong quá khứ để tạo nên tư vấn. Các phương pháp tiếp cận cho lọc theo nội dung có nguồn gốc từ lĩnh vực truy vấn thông tin, trong đó mỗi sản phẩm được biểu diễn bằng một hồ sơ sản phẩm, mỗi người dùng được biểu diễn bằng một hồ sơ người dùng. Về mặt tổng quát thì trong các hệ thống lọc dựa trên nội dung khác nhau có thể khác nhau về chi tiết nhưng nhìn chung thì các hệ thống này đều phải tạo một hồ sơ về người dùng và thực hiện so sánh các sản phẩm với hồ sơ của người dùng để thực hiện tư vấn. Hình 1.1: Mô hình tổng quát hệ thống lọc theo nội dung 4 1.1. Phát biểu bài toán tư vấn theo nội dung Bài toán lọc theo nội dung được phát biểu như sau: Cho P= {p 1 , p 2 , , p n } là tập gồm N sản phẩm. Nội dung sản phẩm p ∈ P được ký hiệu là Content(p) được biểu diễn thông qua tập K đặc trưng nội dung của P. Tập các đặc trưng sản phẩm P được xây dựng bằng các kỹ thuật truy vấn thông tin để thực hiện mục đích dự đoán những sản phẩm khác tương tự với p. Cho U = {u 1 , u 2 , ,u m } là tập gồm M người dùng. Với mỗi người dùng u ∈ U, gọi ContentBasedProfỉle(u) là hồ sơ người dùng u. Hồ sơ của người dùng u thực chất là lịch sử truy cập hoặc đánh giá của người đó đối với các sản phẩm. ContentBasedProflle(u) được xây dựng bằng cách phân tích nội dung các sản phẩm mà người dùng u đã từng truy nhập hoặc đánh giá dựa trên các kỹ thuật truy vấn thông tin. Bài toán lọc theo nội dung khi đó là dự đoán những sản phẩm mới có nội dung thích hợp với người dùng dựa trên tập hồ sơ sản phẩm Content(p) và hồ sơ người dùng ContendBasedProflle(u). 1.2. Phương pháp trích chọn đặc trưng(Limited content analysis): Phương pháp trích chọn đặc trưng hay còn gọi là biểu diễn hồ sơ sản phẩm.Để có một tập các đặc trưng đầy đủ, nội dung tài liệu phải được biểu diễn dưới dạng phù hợp để máy tính có thể tự động phân tích, tính toán trọng số các đặc trưng nội dung hoặc phải được thực hiện bán tự động. Phương pháp ước lượng trọng số các đặc trưng thông dụng nhất thường được sử dụng là phép đo tần suất kết hợp với tần suất xuất hiện ngược TF-IDF (Term Frequency / Inverse Document Frequency) . 1.3. Phương pháp biểu diễn hồ sơ người dùng Mỗi hồ sơ người dùng ContentBasedProfile(u) cũng được biểu diễn bằng một véc tơ trọng số các đặc trưng nội dung (w 1,u , w 2,u , ,w K,u ), trong đó mỗi w k,u 5 biểu thị mức độ quan trọng của đặc trưng nội dung k đối với người dùng u. Véc tơ trọng số (w 1,u , w 2,u , ,w K,u ) được tính toán bằng các kỹ thuật khác nhau từ véc tơ hồ sơ sản phẩm đã được người dùng thường xuyên truy cập hoặc đánh giá. Balabanovic tính toán véctơ trọng số mỗi hồ sơ người dùng ContentBasedProflle(u) bằng cách lấy trung bình cộng véc tơ trọng số Content(p j ) trên các tài liệu p j ∈ P mà người dùng đã từng truy cập hoặc đánh giá. 1.4. Phương pháp dự đoán Với cách biểu như trên, véctơ trọng số các đặc trưng nội dung sản phẩm ContentBasedProfile(u) và Content(p) có cùng số chiều và ước lượng theo cùng một phương pháp (trong trường hợp này là TF-IDF). Việc xác định mức độ thích hợp của mỗi sản phẩm p P cho người dùng u được xem xét theo mức độ giống nhau giữa véc tơ hồ sơ người dùng u U và véctơ hồ sơ sản phẩm p P. 1.5. Ví dụ minh họa 1.6. Kết luận chương Phương pháp lọc theo nội dung làm việc khá hiệu quả với các tài liệu văn bản và đã có nhiều ứng dụng trên thực tế như hệ thống lọc email, thư rác… phương pháp này vẫn được khá nhiều hệ thống tư vấn sử dụng do tính dễ cài đặt, và hiệu quả trong xử lý dữ liệu là văn bản. T vậy phương pháp vẫn tồn tại một số vấn đề: - Vấn đề trích chọn đặc trưng (Limited content analysis) - Vấn đề người dùng mới (new user propblem) - Vấn đề đánh giá, phản hồi của người dùng 6 CHƯƠNG II:PHƯƠNG PHÁP TƯ VẤN CỘNG TÁC Không giống nhưphương pháp lọc theo nội dung, phương pháp 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 sử 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. 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, phim, ả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. Hình 2.1: Mô hình kiến trúc của hệ tư vấn dựa trên cộng tác 2.1. Phát biểu bài toán tư vấn cộng tác Bài toán lọc cộng tác được phát biểu như sau: Ký hiệu u = {u 1 , u 2 ,…, u N } là tập gồm N người dùng, P = {p 1 , p 2 , , p M } là tập gồm M sản phẩm mà người dùng có thể lựa chọn. Mỗi sản phẩm p j ∈ P 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. Tiếp theo, ký hiệu R={ r ij }, i = 1 N, j = 1 M là ma trận đánh giá, trong đó mỗi người dùng u i U đưa ra đánh giá của mình cho một số sản phẩm p j P bằng một số r ij . Giá trị r ij phản ánh mức độ ưa thích của người dùng u i đối với sản phẩm p j . Giá trị r ij có thể được thu thập trực tiếp bằng cách hỏi ý kiến người 7 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. Giá trị r ij = trong trường hợp người dùng u i chưa đánh giá hoặc chưa bao giờ biết đến sản phẩm p j . Với một người dùng cần được tư vấn u a (đượ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), bài toán lọc cộng tác là bài toán dự đoán đánh giá của u a đối với những mặt hàng mà u a chưa đánh giá (r aj = ), trên cơ sở đó tư vấn cho u a những sản phẩm được đánh giá cao. 2.2. Phương pháp tư vấn dựa trên bộ nhớ Các thuật toán dựa trên kinh nghiệm dự đoán hạng của một sản phẩm dựa trên toàn bộ các sản phẩm đã được đánh giá trước đó bởi người dùng.Nghĩa là, hạng của sản phẩm p với người dùng u (r u,p ) được tổng hợp từ đánh giá của những người dùng khác về p (thường là N người có sở thích tương đồng nhất với u). Phương pháp được thực hiện theo hai bước: Tính toán mức độ tương tự và bước tạo nên dự đoán: + Tính toán mức độ tương tựsim(x, ỵ): Mô tả khoảng cách, sự liên quan, hay trọng số giữa hai người dùng x vày (hoặc giữa hai sản phẩm X vày). + Dự đoán: Đưa ra dự đoán cho người dùng cần được tư vấn bằng cách xác định tập láng giềng của người dùng này. Tập láng giềng của người dùng cần tư vấn được xác định dựa trên mức độ tương tự giữa các cặp người dùng hoặc sản phẩm. 2.3. Phương pháp tư vấn dựa trên mô hình Khác với phương pháp dựa trên bộ nhớ, phương pháp dựa trên mô hình (model-based) sử dụng kĩ thuật thống kê và học máy trên dữ liệu nền (các đánh giá đã biết) để xây dựng nên các mô hình. Mô hình này sau đó sẽ được dùng để dự đoán hạng của các sản phẩm chưa được đánh giá. 8 Mô hình đầu tiên được đề xuất bao gồm việc phân nhóm người dùng sử dụng kỹ thuật phân cụm (clustering) và sau đó việc dự đoán đánh giá một người dùng trên một tài nguyên chỉ sử dụng các đánh giá của những người dùng thuộc về cùng nhóm. 2.4. Ví dụ minh họa 2.5. Kết luận Hệ thống tư vấn cộng tác khắc phục được nhiều nhược điểm của hệ thống dựa trên nội dung. Một điểm quan trọng là nó có thể xử lý mọi loại dữ liệu và gợi ý mọi loại sản phẩm, kể cả những sản phẩm mới, nhờ vào tham khảo được ý kiến của người dùng đối với các sản phẩm, do đó có thể hiệu quả hơn đối với những sản phẩm không có những mô tả rõ rằng về đặc trưng nôi dung. Tuy đã khắc phục được nhiều nhược điểm của hệ thống lọc dựa trên nội dung nhưng hệ thống tư vấn cộng tác vẫn gặp một số vấn đề: Vẩn đề người dùng mới (New User Problem) Vẩn đề sản phẩm mới (New Item Problem) Vẩn đề dữ liệu thưa (Sparsity Data Problem) Do cả hai phương pháp lọc dựa vào nội dung và lọc cộng tác đều gặp phải khác nhiều nhược điểm, nhưng có một số phần có thể bù trừ cho nhau tạo ra sự chính xác cho việc lọc thông tin hơn nên chương tiếp theo chúng ta sẽ tìm hiểu phương pháp lai. [...]... là một hướng đi đúng đắn và tôi sẽ tiếp tục nghiên cứu thêm 18 CHƯƠNG IV XÂY DỰNG HỆ TƯ VẤN DỊCH VỤ BẰNG PHƯƠNG PHÁP LAI 4.1 Giới thiệu chung Hệ tư vấn Film dựa vào phương pháp lai (Film Recommendation System) được xây dựng dựa trên “Mô hình hợp nhất giữa đánh giá người dùng và các đặc trưng nội dung Trong việc xây dựng hệ tư vẫn film này đã sử dụng bộ dữ liệu 100K tức là thông tin của 943 người... cho hệ thống 4.2 Mô hình dữ liệu hệ thống Chương trình này hoàn toàn phục vụ cho mục đích nghiên cứu hệ tư vấn dịch vụ bằng phương nên đã không tập trung vào việc tối ưu cơ sở dữ liệu, thay vào đó việc thiết kế để thuận tiện nhất cho việc import dữ liệu từ bộ dữ liệu MovieLens 100K Hình 4.1: Mô hình cơ sở dữ liệu hệ tư vấn Film 19 4.3 Mô hình chức năng hệ thống Hệ tư vấn Film dựa vào phương pháp lai ... tư vấn tốt ngay cả trong trường hợp dữ liệu đánh giá người dùng thưa thớt Do thời gian làm luận văn không nhiều nên tôi chỉ tập chung vào những chức năng chính phục vụ cho hệ tư vấn chứ không chú trọng và những kỹ thuật lập trình hay phân tích thiết kế hệ thống, chính vì vậy Hệ tư vấn Film dựa vào phương pháp lai chỉ mang tính chất nghiên cứu 24 III.KẾT LUẬN Phương pháp tư vấn theo nội dung và phương. .. dung và phương pháp tư vấn cộng tác là hai phương pháp tiếp cận chính được áp dụng cho các hệ thống tư vấn Mỗi phương pháp có những ưu điểm và nhược điểm riêng đối với mỗi hệ tư vấn thực tế.Một số nghiên cứu trước đây đã tìm hiểu phương pháp lọc kết hợp dựa trên mô hình hợp nhất giữa đánh giá người dùng và các đặc trưng nội dung bằng phương pháp phân rã giá trị riêng SVD kết hợp lọc dựa trên người... 4.5 Một số màn hình của hệ thống Hình 4.4: Trang chủ của website 21 Hình 4.9: Trang xem thông tin chi tiết phim 22 Hình 4.10: Kết quả tư vấn cho môi người dùng sau khi đăng nhập 23 4.6 Kết luận Hệ tư vấn Film dựa vào phương pháp lai được xây dựng dựa vào “mô hình hợp nhất giữa đánh giá người dùng và các đặc trưng nội dung” đề xuất đã mô tả đầy đủ các chức năng chính của một hệ thống lọc thông tin,... phẩm Hình 3.6: Xác định giá trị tối ưu nhất cho kích thước vùng lân cận Đánh giá hệ tư vấn dựa trên phương pháp SVD trên sản phẩm tư ng đồng Thiết lập tính toán tối ưu cho các thuật toán chúng ta tiến hành với thử nghiệm cuối cùng này với mục đích để đánh giá độ chính xác của hệ tư vấn dựa trên phương pháp SVD trênsản phẩm tư ng đồng Hình 3.7 phía dưới đây cho chúng ta thấy 2 giá trị MAE của không gian...9 CHƯƠNG III: PHƯƠNG PHÁP KẾT HỢP GIỮA TƯ VẤN THEO NỘI DUNG VÀ TƯ VẤN CỘNG TÁC Để khắc phục những hạn chế của hệ thống tư vấn dựa trên nội dung và cộng tác, luân văn quyết định đi theo một cách tiếp cận lai kết hợp cả hai phương pháp với mục tiêu này, luận văn tìm hiểu một mô hình thống nhất kết hợp đánh giá của người dùng... giải pháp hiệu quả cho các vấn đề hệ tư vấn trong khả năng mở rộng cũng như giải quyết vấn đề thưa thớt dữ liệu Việc luận văn tiếp cận cũng theo phương pháp này nhưng kết hợp với lọc dựa trên người dùng là một hướng đi mới Tuy là hướng đi mới nhưng, những kết quả thực nghiệm cho thấy đây là một hướng đi đúng đắn và tôi sẽ tiếp tục nghiên cứu thêm Phương pháp phân rã giá trị riêng SVD là phương pháp. .. được đánh giá Dựa vào ma trận gốc cùng với các đặc trưng nội dung luận văn kỳ vọng kỹ thuật này cho dự đánh giá chính xác nhất Luận văn tính toán ma trận dựa vào phương pháp phân rã giá trị riêng (Singular Value Decomposition - SVD) 3.4.1 Vấn đề thưa thớt dữ liệu Đã có rất nhiều cố gắng giải quyết vấn đề thưa thớt dữ liệu Một phương pháp được đưa ra với một số thành công đó là phương pháp nhằm làm... hợp nhất giữa đánh giá người dùng và các đặc trưng nội dung bằng phương pháp phân rã giá trị riêng SVD kết hợp lọc dựa trên người dùng, chứng tỏ đây là một giải pháp hiệu quả cho các vấn đề hệ tư vấn trong khả năng mở rộng cũng như giải quyết vấn đề thưa thớt dữ liệu Việc luận văn tiếp cận cũng theo phương pháp này nhưng kết hợp với lọc dựa trên sản phẩm là một hướng đi mới Tuy nhiên, những kết quả thực . gặp một số vấn đề: Vẩn đề người dùng mới (New User Problem) Vẩn đề sản phẩm mới (New Item Problem) Vẩn đề dữ liệu thưa (Sparsity Data Problem) Do cả hai phương pháp lọc dựa vào nội dung và lọc. gọi ContentBasedProf le( u) là hồ sơ người dùng u. Hồ sơ của người dùng u thực chất là lịch sử truy cập hoặc đánh giá của người đó đối với các sản phẩm. ContentBasedProflle(u) được xây dựng bằng. Để thực hiện thử nghiệm, luận văn sử dụng các dữ liệu có sẵn từ hệ tư vấn phim GroupLens. Bộ dữ liệu MovieLens 100K bao gồm 100.000 xếp hạng được của 943 người dùng trên 1682 bộ phim. Mỗi đánh