Đăng ký Đăng nhập
Trang chủ Nghiên cứu phương pháp lọc cộng tác dựa trên ngữ nghĩa và ứng dụng xây dựng chươ...

Tài liệu Nghiên cứu phương pháp lọc cộng tác dựa trên ngữ nghĩa và ứng dụng xây dựng chương trình gợi ý địa điểm

.PDF
72
176
107

Mô tả:

BỘ GIÁO DỤC VÀ ĐÀO TẠO LÂM VĂN ÂN VIỆN ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SỸ CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN CÔNG NGHỆ THÔNG TIN NGHIÊN CỨU PHƯƠNG PHÁP LỌC CỘNG TÁC DỰA TRÊN NGỮ NGHĨA VÀ ỨNG DỤNG XÂY DỰNG CHƯƠNG TRÌNH GỢI Ý ĐỊA ĐIỂM LÂM VĂN ÂN 2013 – 2015 HÀ NỘI - 2017 BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SỸ NGHIÊN CỨU PHƯƠNG PHÁP LỌC CỘNG TÁC DỰA TRÊN NGỮ NGHĨA VÀ ỨNG DỤNG XÂY DỰNG CHƯƠNG TRÌNH GỢI Ý ĐỊA ĐIỂM LÂM VĂN ÂN CHUYÊN NGÀNH : CÔNG NGHỆ THÔNG TIN MÃ SỐ: 60.48.02.01 NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. DƯƠNG THĂNG LONG HÀ NỘI - 2017 LỜI CAM ĐOAN Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cá nhân tôi dưới sự hướng dẫn của TS. Dương Thăng Long và không sao chép của bất kỳ ai. Những điều được trình bày trong toàn bộ nội dung của luận văn, hoặc là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có nguồn gốc rõ ràng và được trích dẫn hợp pháp. Tôi xin hoàn toàn chịu trách nhiệm theo quy định cho lời cam đoan của mình. Hà Nội, ngày 25 tháng 12 năm 2017 Học viên Lâm Văn Ân i LỜI CẢM ƠN Luận văn này được thực hiện tại Viện Đại Học Mở Hà Nội dưới sự hướng dẫn của TS. Dương Thăng Long. Tôi xin được gửi lời cảm ơn sâu sắc nhất đến thầy đã định hướng, giúp đỡ, quan tâm và tạo mọi điều kiện thuận lợi trong suốt quá trình nghiên cứu để hoàn thành luận văn này. Tôi cũng xin được gửi lời cảm ơn đến các thầy cô trong Khoa công nghệ thông tin đã mang lại cho tôi những kiến thức vô cùng quý giá và bổ ích trong quá trình học tập tại trường. Tôi cũng xin gửi lời cảm ơn tới gia đình và bạn bè đã luôn quan tâm và động viên giúp tôi có thêm nghị lực để có thể hoàn thành được luận văn này. Do thời gian và kiến thức có hạn nên luận văn không tránh khỏi những thiếu sót. Tôi rất mong nhận được những góp ý quý báu của thầy cô và các bạn. Xin chân thành cảm ơn! Hà Nội, ngày 25 tháng 12 năm 2017 Học viên Lâm Văn Ân ii 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 THUẬT NGỮ, CHỮ VIẾT TẮT ................................................ v DANH SÁCH BẢNG ................................................................................................ vi DANH SÁCH HÌNH VẼ ..........................................................................................vii MỞ ĐẦU .....................................................................................................................1 CHƯƠNG 1: BÀI TOÁN LỌC CỘNG TÁC VÀ MỘT SỐ KỸ THUẬT BỔ TRỢ .3 1.1. Lọc cộng tác [1] ...........................................................................................3 1.2. Một số phương pháp cho bài toán lọc cộng tác..........................................6 1.2.1. Lọc cộng tác dựa trên bộ nhớ ..............................................................6 1.2.1.1. Phương pháp User-based .................................................................6 1.2.1.2. Phương pháp Item-Based ...............................................................11 1.2.2. Lọc cộng tác dựa trên mô hình ..........................................................14 1.3. Một số vấn đề của lọc cộng tác ................................................................17 1.4. Kết luận chương .......................................................................................19 CHƯƠNG 2: PHƯƠNG PHÁP LỌC CỘNG TÁC DỰA TRÊN NGỮ NGHĨA.....21 2.1. Phương pháp đánh giá độ tương đồng ngữ nghĩa theo mô hình LDA .....21 2.1.1. Mô hình tách từ vnTokenizer ............................................................21 2.1.2. Mô hình LDA ....................................................................................23 2.2. Phương pháp lọc cộng tác dựa trên mô hình LDA ..................................27 2.2.1. Kỹ thuật lọc cộng tác dựa trên mô hình ............................................27 2.2.2. Phương pháp item-base có sử dụng mô hình LDA ...........................28 iii 2.3. Hệ thống gợi ý dựa trên phương pháp lọc LDA ......................................30 2.4. Kết luận chương .......................................................................................33 CHƯƠNG 3: XÂY DỤNG ỨNG DỤNG VÀ THỬ NGHIỆM KẾT QUẢ .............35 3.1. Bài toán ứng dụng phương pháp lọc cộng tác dựa trên ngữ nghĩa ..........35 3.2. Mô hình cài đặt .........................................................................................41 3.2.1. Tương tác người dùng .......................................................................44 3.2.2. Tính toán gợi ý ..................................................................................44 3.2.3. Bộ đệm...............................................................................................45 3.2.4. Thiết kế cơ sở dữ liệu lưu trữ ............................................................47 3.2.5. Thử nghiệm và kết quả ......................................................................51 3.3. Kết luận chương .......................................................................................57 CHƯƠNG 4: KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN ........................58 4.1. Kết luận ....................................................................................................58 4.2. Định hướng phát triển của đề tài ..............................................................58 TÀI LIỆU THAM KHẢO ......................................................................................... 60 PHỤ LỤC .................................................................................................................. 62 iv DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT Chữ cái viết tắt/ ký hiệu Cụm từ đầy đủ LDA Latent Dirichlet Allocation CF Collaborative Filtering CBF Content-based Filtering SBCF Semantic-based Collaborative Filtering IBCF Item-based Collaborative Filtering v DANH SÁCH BẢNG Bảng 1.1. Ví dụ về ma trận đánh giá của lọc cộng tác ...............................................5 Bảng 1.2. Ma trận đánh giá của lọc cộng tác ............................................................17 Bảng 2.1. Tính độ tương đồng giữa hai mục ............................................................28 Bảng 3.1. Môi trường, phần mềm và thư viện hỗ trợ................................................45 vi DANH SÁCH HÌNH VẼ Hình 1.1. Các thành phần của hệ thống lọc cộng tác..................................................5 Hình 1.2. Các bước thực hiện lọc cộng tác người dùng. .............................................8 Hình 1.3. Các bước thực hiện lọc cộng tác mục. ......................................................12 Hình 2.1. Mô hình xử lý thông tin của vnTokenizer trong hệ thống ........................21 Hình 2.2. Mô hình xử lý dữ liệu của LDA model .....................................................24 Hình 2.3. Mô hình module đánh giá .........................................................................30 Hình 3.1. Mô hình kiến trúc hệ thống .......................................................................42 Hình 3.2. Mô hình cài đặt hệ thống...........................................................................43 Hình 3.3. Biểu đồ cơ sở dữ liệu ................................................................................47 Hình 3.4. Biểu diễn dữ liệu sau bước tiền xử lý .......................................................53 Hình 3.5. Giao diện trang chủ khi chưa đăng nhập...................................................55 Hình 3.6. Giao diện trang chủ khi đã đăng nhập.......................................................55 Hình 3.7. Giao diện tìm kiếm ....................................................................................56 Hình 3.8. Giao diện trang yêu thích ..........................................................................56 Hình 3.9. Giao diện trang chi tiết - đánh giá .............................................................57 vii MỞ ĐẦU Ngày nay, với sự tăng trưởng bùng nổ của công nghệ thông tin, đặc biệt là Internet, rất nhiều thông tin dữ liệu đã và đang được phổ biến qua môi trường này. Với lượng dữ liệu khổng lồ, đôi khi là một thách thức không nhỏ đối với những người dùng mong muốn tìm kiếm thông tin từ khắp các kho lữu trữ trên toàn thế giới. Điều này thường được gọi là vấn đề quá tải thông tin do hạn chế về khả năng xử lý thông tin của con người. Do đó, hệ thống gợi ý ra đời, nhằm hỗ trợ người dùng trong việc lấy thông tin hữu ích một cách hiệu quả trong trường hợp người dùng đó không thể mô tả yêu cầu của họ một cách chính xác. Hệ thống này đề nghị người dùng các thông tin mong muốn bằng cách phân tích các sở thích trước đây của họ hoặc sở thích của những người có cùng đặc điểm chung với họ. Đề tài tốt nghiệp của tôi nhằm xây dựng một hệ thống gợi ý địa điểm cho người dùng trong phạm vi thành phố Hà Nội. Hệ thống này sử dụng một kỹ thuật lọc tiếp cận lai, gọi là kỹ thuật lọc cộng tác dựa trên ngữ nghĩa SBCF (semantic-based collaborative filtering). Cụ thể hơn, kỹ thuật này sử dụng mô hình LDA (Latent Dirichlet Allocation) để phân tích đặc trưng ngữ nghĩa các dữ liệu mô tả địa điểm, sau đó sử dụng phương pháp lọc cộng tác dựa trên tài liệu (item-based Collaborative Filtering) đánh giá các đặc điểm ngữ nghĩa thu được từ mô hình LDA, từ đó đưa ra tập các thông tin gợi ý có độ tương đồng về ngữ nghĩa cao nhất với những thông tin mà người dùng yêu thích trong quá khứ. Các thông tin được tính toán ở đây là đặc trưng ngữ nghĩa của các địa điểm du dịch được trình bày bởi các đoạn text mô tả địa điểm lấy từ bộ dữ liệu. Bộ dữ liệu được sử dụng cho hệ thống gợi ý địa điểm du lịch được lấy trên Google Places API. Nội dung của luận văn được trình bày trong 4 chương, bao gồm:  Chương 1: Lọc cộng tác và một số kỹ thuật bổ trợ  Chương 2: Trình bày về phương pháp lọc cộng tác 1  Chương 3: Xây dựng ứng dụng áp dụng phương pháp lọc cộng tác dựa trên ngữ nghĩa vào bài toán thực tiễn và thử nghiệm kết quả đạt được.  Chương 4: Kết luận và định hướng phát triển của luận văn. 2 CHƯƠNG 1: BÀI TOÁN LỌC CỘNG TÁC VÀ MỘT SỐ KỸ THUẬT BỔ TRỢ 1.1. Lọc cộng tác [1] Không giống như lọc theo nội dung, 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. 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, 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. Phương pháp lọc cộng tác là phương pháp dựa trên cộng đồng người dùng, dự đoán đánh giá của một người dùng dựa trên đánh giá của những người dùng khác. Nếu người dùng có cùng quan điểm với một nhóm người dùng về một số sản phẩm thì có thể cũng đồng quan điểm với nhóm người dùng đó về một mặt hàng, mục chưa biết. Phương pháp lọc cộng tác giới thiệu những mục có số đông người thích, nó mang tính trào lưu, xu hướng theo người dùng. Phương pháp này không đi sâu vào phân tích tính chất, nội dung các mục đã yêu thích để giới thiệu các mục gần giống với mục mà người dùng quan tâm. Kết quả dự đoán là các mục ngẫu nhiên thuộc nhiều chủ đề, thể loại khác nhau. Phương pháp lọc cộng tác dựa trên nhóm người dùng tương đồng mà nhóm người dùng đó có thể thích nhiều thể loại, chủ thế khác nhau nên các mục tư vấn dựa trên sở thích của họ cũng sẽ thuộc nhiều chủ đề, thể loại khác nhau. Điều này là điều mà các nhà cung cấp mong muốn, giới thiệu nhiều mục khác nhau đến với người sử dụng. Phương pháp lọc cộng tác chia làm hai loại là lọc cộng tác người dùng (User– User Collaborative Filtering) và lọc cộng tác mục (Item–Item Collaborative Filtering). 3 Bài toán lọc cộng tác Ký hiệu U = {u1, u2,…, uN} là tập gồm N người dùng, P = {p1, p2,.., pM} 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 pi∈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={ rij }, i = 1..N, j = 1..M là ma trận đánh giá, trong đó mỗi người dùng ui∈U đưa ra đánh giá của mình cho một số sản phẩm pj∈P bằng một số rij. Giá trị rij phản ánh mức độ ưa thích của người dùng ui đối với sản phẩm pj. Giá trị rij có thể đượ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. Giá trị rij =∅ trong trường hợp người dùng ui chưa đánh giá hoặc chưa bao giờ biết đến sản phẩm pj. Với một người dùng cần được tư vấn ua (đượ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 ua đối với những mặt hàng mà ua chưa đánh giá (raj = ∅), trên cơ sở đó tư vấn cho ua những sản phẩm được đánh giá cao. Bảng 1.1 thể hiện một ví dụ với ma trận đánh giá R = (rij) trong hệ gồm 5 người dùng U = {u1, u2, u3, u4, u5} và 4 sản phẩm P = {p1, p2, p3, p4}. Mỗi người dùng đều đưa ra các đánh giá của mình về các sản phẩm theo thang bậc {∅, 1, 2, 3, 4, 5}. Giá trị rij=∅ được hiểu là người dùng ui chưa đánh giá hoặc chưa bao giờ biết đến sản phẩm pj. Các giá trị r5,2 =? là sản phẩm hệ thống cần dự đoán cho người dùng u5. 4 Bảng 1.1: Ví dụ về ma trận đánh giá của lọc cộng tác u1 u2 u3 u4 u5 p1 2 4 3 4 4 p2 1 2 p3 3 1 2 ∅ 5 ∅ 4 ? p4 5 ∅ 4 ∅ 5 Ma trận đánh giá R = (rij) là thông tin đầu vào duy nhất của các phương pháp lọc cộng tác. Dựa trên ma trận đánh giá, các phương pháp lọc cộng tác thực hiện hai tác vụ: Dự đoán quan điểm của người dùng hiện thời (Active User) về các sản phẩm mà họ chưa đánh giá, đồng thời đưa ra một danh sách các sản phẩm có đánh giá cao nhất phân bổ cho người dùng hiện thời. Hình 1.1 dưới đây mô tả các thành phần của hệ thống lọc cộng tác. Hình 1.1: Các thành phần của hệ thống lọc cộng tác 5 1.2. Một số phương pháp cho bài toán lọc cộng tác Cũng giống như lọc theo nội dung, lọc cộng tác tiếp cận theo hai xu hướng chính: Lọc cộng tác dựa trên bộ nhớ và lọc cộng tác dựa trên mô hình. Mỗi phương pháp tiếp cận có những ưu điểm và hạn chế riêng, khai thác các mối liên hệ trên ma trận đánh giá người dùng. 1.2.1. Lọc cộng tác dựa trên bộ nhớ Các phương pháp lọc dựa trên bộ nhớ sử dụng toàn bộ ma trận đánh giá để sinh ra dự đoán các sản phẩm cho người dùng hiện thời (AU). Về thực chất, đây là phương pháp học lười (LL) hay học dựa trên ví dụ (IBL) được sử dụng trong học máy. 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, y): 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. Các phương pháp tính toán mức độ tương tự Việc tính toán mức độ tương tự giữa hai người dùng x và y được xem xét dựa vào tập sản phẩm cả hai người dùng đều đánh giá. Tương tự, việc tính toán mức độ tương tự giữa hai sản phẩm x và y được xem xét dựa vào tập người dùng cùng đánh giá cả hai sản phẩm. Sau đó, sử dụng một độ đo cụ thể để xác định mức độ tương tự giữa hai người dùng hoặc sản phẩm. Có nhiều phương pháp khác nhau tính toán mức độ tương tự sim(x, y) giữa các cặp người dùng. Hai phương pháp phổ biến nhất được sử dụng là độ tương quan Pearson và giá trị cosin giữa hai véctơ. 1.2.1.1. Phương pháp User-based 6 Phương pháp lọc cộng tác người dùng (User – User Collaborative Filtering) hay còn gọi tắt là phương pháp UserBased, đây là phương phương pháp ước lượng mức độ tương tự giữa các người dùng, nhóm hoặc cụm người dùng để dựa vào đó đưa ra dự đoán các sản phẩm mới phù hợp với người dùng cần được tư vấn. Ý tưởng của phương pháp lọc cộng tác người dùng là quảng cáo truyền miệng, tức là ý kiến của các thành viên trong gia đình, bạn bè đóng vai trò quan trọng trong việc đưa ra quyết định cá nhân. Nó sử dụng những ý kiến của người dùng tương tự để dự đoán đánh giá của một người dùng cho một mục. Người dùng tương tự là những người dùng có cùng sở thích về nhiều mục với người dùng đang xét. Để tránh trường hợp dự đoán xếp hạng của người dùng dựa trên quá nhiều người dùng tương tự, hệ tư vấn lựa chọn k người hàng xóm gần nhất trong số người dùng tương tự trên để lấy ý kiến của họ cho dự đoán mục của người dùng đang xét. 7 Các bước thực hiện thuật toán của phương pháp UserBased được mô tả như sau: Bước 1 Tìm kiếm mục người dùng u đã có đánh giá Bước 2 Tìm kiếm người dùng có đánh giá cho mục trên Bước 3 Tính tương đồng giữa người dùng u với từng người trên Bước 4 Lựa chọn k người dùng là hàng xóm Bước 5 Tìm kiếm những mục k người dùng đã xếp hạng mà người dùng u chưa xếp hạng Bước 6 Dự đoán đánh giá của người dùng u với mục chưa xếp hạng Hình 1.2: Các bước thực hiện lọc cộng tác người dùng. Ta quy ước người dùng u là người dùng đang xét. Bước 1: Tìm kiếm mục người dùng u đã có đánh giá. Bước 2: Tìm những người dùng có đánh giá cho các mục mà người dùng u đánh giá. Sau khi tìm kiếm được các mục mà người dùng u đã đánh giá, ta tìm kiếm những người dùng có đánh giá cho các mục tìm được ở bước 2. Bước 3: Tính tương đồng giữa người dùng u với những người dùng tìm kiếm ở bước 2. 8 Có 4 công thức được dùng để tính toán sự tương đồng giữa hai người sử dụng. Giá trị này càng cao thể hiện hai người dùng càng có chung sự tương đồng. - Tương quan người dùng (Pearson correlation). Công thức tương quan người dùng tính toán sự tương tự giữa hai người dùng dựa trên xếp hạng những mục mà cả hai người đều đánh giá. 𝑠(𝑢, 𝑣 ) = ∑𝑖∈𝐼𝑢 ∩𝐼𝑣(𝑟𝑢,𝑖 − 𝑟̅𝑢 )(𝑟𝑣,𝑖 − 𝑟̅𝑣 ) √∑𝑖∈𝐼𝑢 ∩𝐼𝑣 (𝑟𝑢,𝑖 − 𝑟̅𝑢 )2 √∑𝑖∈𝐼𝑢 ∩𝐼𝑣 (𝑟𝑣,𝑖 − 𝑟̅𝑣 )2 (1.1) Trong đó, Iu là tập hợp mục người dùng u đã có đánh giá. ru,i là xếp hạng của người dùng u với mục i. 𝑟̅ u là xếp hạng trung bình của người dùng u. Trong trường hợp Iu ⋂ Iv lớn ta có thể sử dụng ngưỡng giới hạn Iu ⋂ Iv. Theo nhiều thí nghiệm cho thấy ngưỡng có giá trị 50 là hữu ích trong việc cải thiện độ chính xác dự đoán. - Ràng buộc tương quan người dùng (Constrained Pearson correlation). Trong công thức này ta cần một điểm tiêu chuẩn z là đánh giá trung tính. Ví dụ với thang điểm 1-5 trong đó đánh giá 1-2 là không thích, đánh giá 3 là trung tính (không thích cũng không ghét), đánh giá từ 4-5 là thích ta có thể sử dụng điểm chuẩn rz = 3. 𝑠(𝑢, 𝑣 ) = ∑𝑖∈𝐼𝑢 ∩𝐼𝑣(𝑟𝑢,𝑖 − 𝑟𝑧 )(𝑟𝑣,𝑖 − 𝑟𝑧 ) √∑𝑖∈𝐼𝑢 ∩𝐼𝑣 (𝑟𝑢,𝑖 − 𝑟𝑧 )2 √∑𝑖∈𝐼𝑢 ∩𝐼𝑣 (𝑟𝑣,𝑖 − 𝑟𝑧 )2 (1.2) Trong đó, Iu là tập hợp các mục mà người dùng u đã có đánh giá. ru, I là xếp hạng mà người dùng u đã đánh giá mục i. rz là điểm tiêu chuẩn. - Thứ hạng tương quan với người dùng (Spearman rank correlation). Đối với phương pháp này, các mục được người dùng đánh giá sẽ được sắp xếp 9 theo cấp bậc. Với những đánh giá tốt nhất sẽ ở bậc 1, còn những đánh giá thấp hơn sẽ ở các bậc cao hơn. Sau đó thực hiện tính toán như phương pháp Pearson correlation, các đánh giá trong công thức (1.3) sẽ được thay thế bằng các cấp bậc. ∑𝑖∈𝐼𝑢 ∩𝐼𝑣(𝑑𝑢,𝑖 − 𝑑̅𝑢 )(𝑑𝑣,𝑖 − 𝑑̅𝑣 ) 𝑠(𝑢, 𝑣 ) = √∑𝑖∈𝐼𝑢 ∩𝐼𝑣 (𝑑𝑢,𝑖 − 𝑑̅𝑢 )2 (1.3) √∑𝑖∈𝐼𝑢 ∩𝐼𝑣 (𝑑𝑣,𝑖 − 𝑑̅𝑣 )2 Trong đó du,i là cấp bậc xếp hạng của người dùng u đánh giá cho mục i. 𝑑̅u là cấp bậc trung bình đánh giá của người dùng u. - Độ tương đồng cosine (Cosine similarity) Đây là phương pháp vector không gian dựa trên đại số tuyến tính không phải là các phương pháp thống kê như ở trên. Mỗi người dùng được biểu diễn bằng 1 vector và sự tương đồng giữa hai người dùng được tính toán bằng khoảng cách cosine giữa hai vector đánh giá. 𝑠(𝑢, 𝑣 ) = 𝑟𝑢 . 𝑟𝑣 = ‖𝑟𝑢 ‖2 ‖𝑟𝑣 ‖2 ∑𝑖 𝑟𝑢,𝑖 𝑟𝑣,𝑖 2 √∑𝑖 𝑟𝑢,𝑖 (1.4) 2 √∑𝑣∈𝑉 𝑟𝑣,𝑖 Trong đó ru,i là đánh giá của người dùng u với mục i. Bước 4: Lựa chọn k người dùng là hàng xóm. Trong một số hệ thống, người ta lựa chọn k hàng xóm là tất cả người dùng khác người dùng đang. Còn trong một số hệ thống khác, k hàng xóm được lựa chọn tùy thuộc vào việc xét duyệt từng mục, với mỗi mục khác nhau sẽ lựa chọn một số lượng k hàng xóm khác nhau. Việc hạn chế số lượng người dùng tương tự mang đến những dự đoán chính xác hơn vì thế khi thực hiện nhiều thí nghiệm trong nhiều lĩnh vực khác nhau, người ta nhận thấy với k ∊ [20, 50] là con số hợp lý. Bước 5: Tìm kiếm những mục k người dùng đã xếp hạng mà người dùng u chưa xếp hạng. Bước 6: Dự đoán đánh giá của người dung u với mục chưa xếp hạng. 10 Dựa trên người dùng hàng xóm ta có công thức dự đoán đánh giá của người dùng đó với một mục như sau: 𝑝𝑢,𝑖 ∑𝑢′∈𝑘 𝑠(𝑢, 𝑢′ )(𝑟𝑢′,𝑖 − 𝑟̅̅̅̅) 𝑢′ = 𝑟̅𝑢 + (1.5) ∑𝑢′∈𝑘|𝑠(𝑢, 𝑢′ )| Trong đó, k là tập người hàng xóm của người dùng u. s(u, u’) là sự tương đồng giữa người dùng đang xét u và người dùng hàng xóm u’. ru’,i là xếp hạng của người dùng u’ với i. 𝑟̅ u’ là xếp hạng trung bình của người dùng u’. 1.2.1.2. Phương pháp Item-Based Phương pháp ItemBased là phương pháp ước lượng mức độ tương tự giữa các cặp sản phẩm, nhóm hoặc cụm sản phẩm dựa vào đó để đưa ra dự đoán các sản phẩm mới phù hợp với người dùng cần được tư vấn. Hiện nay, số lượng sản phẩm đang tăng theo thời gian và quy mô mở rộng của nhà cung cấp nhưng so với người sử dụng thì số lượng này có thể ít hơn thậm chí ít hơn một cách đáng kể. Để khắc phục sự phức tạp khi số lượng người dùng tăng trong phương pháp lọc cộng tác người dùng (UserBased), các nhà nghiên cứu đã tìm hiểu và đưa thêm một phương pháp là lọc cộng tác dựa trên mục. Phương pháp lọc cộng tác mục dựa trên ý tưởng người dùng sẽ có cùng quan tâm với những mục tương tự, hệ tư vấn tìm kiếm những mục tương tự với mục mà người dùng đã đánh giá để đưa ra tư vấn. Sự giống nhau giữa các mục được dựa trên xếp hạng của những người dùng khác với chúng. 11
- Xem thêm -

Tài liệu liên quan