Nghiên Cứu, Xây Dựng Hệ Thống Khuyến Nghị Phim Tự động (tt)
Có thể bạn quan tâm
- Trang chủ >>
- Công Nghệ Thông Tin >>
- Kỹ thuật lập trình
Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (516.87 KB, 26 trang )
HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG---------------------------------------Bùi Văn MinhNGHIÊN CỨU, XÂY DỰNG HỆ THỐNGKHUYẾN NGHỊ PHIM TỰ ĐỘNGChuyên ngành:Khoa học máy tínhMã số:60.48.01.01TÓM TẮT LUẬN VĂN THẠC SĨHÀ NỘI – 2017Luận văn được hoàn thành tại:HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNGNgười hướng dẫn khoa học: TS. Nguyễn Văn ThủyPhả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ănthạc sĩ tại Học viện Công nghệ Bưu chính Viễn thôngVà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ôngMỤC LỤCCHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG KHUYẾN NGHỊ ......... 31.1. Giới thiệu về hệ thống khuyến nghị ............................................ 31.2.Khái quát về phương pháp khuyến nghị ....................................... 31.2.1. Khái quát bài toán ..................................................................... 31.2.2. Phương pháp sử dụng dữ liệu khuyến nghị .............................. 41.3. Một số nghiên cứu có liên quan................................................... 41.3.1. Giải pháp BellKor 2008 cho giải Netflix.................................. 41.3.2. Học theo thời gian và mô hình tuần tự cho một hệ thống giớithiệu việc làm ..................................................................................... 5CHƯƠNG 2: PHƯƠNG PHÁP KHUYẾN NGHỊ .............................. 72.1. Khuyến nghị dựa trên nội dung ................................................... 72.1.1. Phương pháp dự đoán ............................................................... 72.1.2. Ưu điểm .................................................................................... 72.1.3. Nhược điểm .............................................................................. 72.2.Lọc cộng tác ................................................................................. 82.2.1. Cách tiếp cận dựa trên bộ nhớ .................................................. 82.2.2. Cách tiếp cận dựa trên mô hình ................................................ 82.2.3. Một số hạn chế của lọc cộng tác ............................................... 92.3. PMF (Probabilistic Matrix Factorization) ................................... 92.4.BPMF ........................................................................................... 92.4.1. Mô hình .................................................................................... 92.4.2. Dự đoán .................................................................................. 102.4.3. Kết luận .................................................................................. 112.5. ALS (Alternating Least Squares) .............................................. 112.5.1. Phân loại ma trận cơ bản cho vấn đề khuyến nghị ................. 112.5.2. Alternating Least Squares....................................................... 112.5.3. Xu hướng người dùng và xu hướng sản phẩm ....................... 122.5.4. Kết luận .................................................................................. 14CHƯƠNG 3: THỰC NGHIỆM, ĐÁNH GIÁ VÀ XÂY DỰNG HỆTHỐNG KHUYẾN NGHỊ PHIM TỰ ĐỘNG.................................... 153.1. Thực nghiệm mô hình, thuật toán .............................................. 153.1.1. Giới thiệu tập dữ liệu thử nghiệm MovieLens........................ 153.1.2. PMF ........................................................................................ 153.1.3. BPMF ..................................................................................... 163.1.4. ALS......................................................................................... 163.2. Kết quả thực nghiệm.................................................................. 163.2.1. PMF và BPMF........................................................................ 163.2.2. ALS......................................................................................... 173.3. Đánh giá kết quả ........................................................................ 173.4. Áp dụng xây dựng hệ thống ...................................................... 183.4.1.. Thiết kế hệ thống ................................................................... 183.4.2.. Xây dựng hệ thống khuyến nghị phim. ................................. 18KẾT LUẬN........................................................................................ 20TÀI LIỆU THAM KHẢO .................................................................. 211MỞ ĐẦUCùng với sự phát triển bùng nổ của internet, các kênh tìm hiểuthông tin, giải trí, thương mại điện tử… cũng phát triển nhanh chóngvà mạnh mẽ. Giờ đây, gần nhưcó thể tìm kiếm được mọi thứ trêninternet, từ tài liệu, sách, truyện, phim, video đến mặt hàng, sảnphẩm…Mỗi người, khi có một nhu cầu mua bán hoặc giải trí, sẽ có 2cách để thực hiện. Thứ nhất, người đó có thể đến một địa điểm bánhàng hoặc vui chơi, nơi đó có những nhân viên có thể khuyến nghịvề vấn đề của khách hàng hoặc khách hàng có thể thỏa thích xem quanhững sản phẩm trên kệ hàng. Thứ 2, người có nhu cầu sử dụnginternet để tìm kiếm.Điểm yếu so với cách thứ nhất của cách thứ 2 – sử dụnginternet chính là ở các trang web truyền thống thiếu đi một nhân viêntư vấn cho khách hàng truy cập vào trang web của mình. Có nhiềugiải pháp được đưa ra như lập một kênh trò chuyện trực tuyến giữanhân viên bán hàng và người dùng, gọi điện thoại tư vấn. Như vậy,với một trang web có lượng truy cập lớn, số nhân viên trực cũng phảicần rất nhiều. Điều này đòi hỏi chi phí cao. Vì vậy, hệ thống khuyếnnghị tự động ra đời, giải quyết được các vấn đề đó.Việc lựa chọn đề tài trên với các mục đích sau:- Nghiên cứu tổng quan về hệ thống khuyến nghị và cácphương pháp học máy.- Nghiên cứu sâu về các thuật toán PMF (Probabilistic MatrixFactorization), BPMF (Bayesian Probabilistic Matrix Factorization),ALS (Alternating Least Squares).- Ứng dụng và xây dựng hệ thống khuyến nghị phim tự độngvới tập dữ liệu MovieLens2Luận văn sẽ được trình bày trong 3 chương chính với nội dungnhư sau:Chƣơng 1. Tổng quan về hệ thống khuyến nghịChương 1 sẽ giới thiệu về hệ thống khuyến nghị và khái quátvề phương pháp khuyến nghị. Sau đó sẽ giới thiệu về một số nghiêncứu có liên quan đến đề tài.Chƣơng 2. Phương pháp khuyến nghịChương 2 sẽ giới thiệu về tập dữ liệu thử nghiệm MovieLensvà trình bày chi tiết về các thuật toán PMF (Probabilistic MatrixFactorization), BPMF (Bayesian Probabilistic Matrix Factorization),ALS (Alternating Least Squares).Chƣơng 3. Thử nghiệm, đánh giá và xây dựng hệ thốngkhuyến nghị phim tự độngChương 3 sẽ trình bày về phương pháp thử nghiệm thuật toántrong hệ thống khuyến nghị, từ đó, áp dụng vào thử nghiệm, đánh giáthuật toán. Sau đó là quá trình xây dựng hệ thống khuyến nghị phimtự động.3CHƢƠNG 1: TỔNG QUAN VỀ HỆ THỐNGKHUYẾN NGHỊ1.1. Giới thiệu về hệ thống khuyến nghịKể từ khi thương mại hình thành và phát triển, những câu hỏilớn được đặt ra: “làm sao để bán được nhiều hàng hóa?”, “làm sao đểkhách hàng hài lòng với sản phẩm?”… Vấn đề quyết định cho câutrả lời của những câu hỏi đó chính là quảng cáo và tư vấn sản phẩmđến người tiêu dùng, hay nói cách khác là khuyến nghị đến ngườitiêu dùng.Hiện nay, mọi hệ thống có hiển thị quảng cáo trên internet đềusử dụng hệ thống khuyến nghị để đưa ra những quảng cáo, đề xuấttốt nhất có thể cho người dùng. Để làm được điều đó, hệ thốngkhuyến nghị sử dụng các thuật toán để phân tích, dự đoán dựa trêndữ liệu hành vi người dùng được lưu lại. Nhờ đó, quảng cáo mang tínhcá nhân hóa tới người dùng. Hệ thống sẽ biết chính xác từng người sửdụng có nhu cầu gì, muốn mua gì, xem gì để đưa ra khuyến nghị.1.2.Khái quát về phƣơng pháp khuyến nghị1.2.1. Khái quát bài toánTrước khi luận văn trình bày khái quát về phương phápkhuyến nghị, cần làm rõ 2 thuật ngữ được sử dụng: người dùng(user) và sản phẩm (item). Thứ nhất, khái niệm người dùng ở đây làngười sử dụng hệ thống để thực hiện các thao tác mua bán, giao dịch,xem, đánh giá… Thứ hai, khái niệm sản phẩm là mặt hàng được giaobán, video, bộ phim, bản nhạc, bài báo… Trong hầu hết các hệ thốngkhuyến nghị, dữ liệu được sẵn sàng dưới dạng đánh giá của ngườidùng về sản phẩm.Bài toán được đặt ra như sau: Với các dữ liệu tập người dùngU, tập các sản phẩm I và tập dữ liệu D = {u, i,}, trong đó, uU,4iI,là đánh giá của người dùng u cho sản phẩm i. Cần dự đoánđánh giá sản phẩm của một người dùng thứ n nào đócho sảnphẩm.Để đánh giá độ chính xác của việc dự đoán, luận văn sử dựngđộ đo Root Mean Squared Error (RMSE).1.2.2. Phương pháp sử dụng dữ liệu khuyến nghịĐể giải quyết bài toán khuyến nghị, có nhiều phương pháp cóthể giải quyết được việc đó. Mỗi phương pháp sử dụng dữ liệu ngườidùng - sản phẩm theo những cách khác nhau. Nhìn chung, có thểphân loại cách sử dụng dữ liệu người dùng - sản phẩm thành 2 nhóm:Sử dụng dữ liệu rõ ràng và sử dụng dữ liệu ẩn.a.Dữ liệu rõ ràngNhững dữ liệu rõ ràng được sử dụng trong các thuật toánkhuyến nghị như: Hồ sơ của sản phầm và người sử dụng, dữ liệuđánh giá của toàn bộ hệ thống người dùng và sản phẩm.b. Dữ liệu ẩnDựa trên dữ liệu đánh giá người dùng và những dữ liệu rõràng, có thể phân tích ra những dữ liệu ẩn, có ích cho việc dự đoán.Cụ thể, trong hệ khuyến nghị phim tự động, những dữ liệu ẩn: Moviebiases, xu hướng người dùng, sở thích của người dùng1.3. Một số ứng dụng thực tế của hệ thống khuyếnnghị1.3.1. Dịch vụ NetflixNetflix là một kênh phim truyện có hơn 75 triệu người theodõi ở hơn 190 quốc gia và mỗi người trong số họ đều có trải nghiệmkhác nhau mỗi khi họ đăng nhập. Công ty có khoảng 1.000 người,trụ sở đặt tại Thung lũng Silicon, họ là những người chịu trách nhiệmvề kiến trúc sản phẩm và thuật toán cá nhân hóa được đặt lại mỗi 245giờ một lần để đảm bảo người dùng khám phá nội dung chính xác nhữnggì họ muốn xem trong số 13.000 phim trong bất kỳ thời điểm nào.Để làm được như vậy, Netflix đã sử dụng những thuật toánvừa có tính cá nhân hóa cao, vừa có độ đa dạng cho người dùng.Ngoài ra, với việc Netflix đầu tư rất nhiều tiền vào sản xuất nhữngchương trình mới, không loại trừ khả năng có những tác động nhất địnhlên thuật toán để hướng người xem đến những chương trình mới đó.1.3.2. Dịch vụ YouTubeTương tự như Netflix, mục tiêu của hệ khuyến nghị trênYouTube là vừa có tính cá nhân hóa cao, vừa có độ đa dạng chongười dùng. Tuy nhiên, YouTube có những thách thức rất lớn trongvấn đề khuyến nghị cho hơn 1 tỉ người dùng và:- Lượng video tải lên YouTube là vô cùng lớn- Phần lớn video này có siêu dữ liệu kém như tiêu đề và mô tảkhông đầy đủ hoặc không liên quan.- Số liệu sẵn có cho hệ khuyến nghị trên YouTube để đolường sự quan tâm của người dùng là rất mơ hồ so với những số liệusẵn có cho các hệ thống khuyến nghị khác như Amazon.Trước khi tạo các video ứng viên đề xuất, hệ thống sẽ xác địnhmột tập hợp các video có liên quan mà người dùng có thể xem saukhi xem một video hạt giống nhất định. Hệ thống sau đó kết hợp cácquy tắc liên kết của video liên quan với hoạt động của người dùngtrên trang web. Một khi điều này được thực hiện, nó lưu vết đườngdẫn của các video liên quan tới hạt giống này thiết lập để tạo ra cácvideo khuyến nghị ứng viên. Hãy suy nghĩ về hạt giống đặt ra như làtrung tâm của một trang web và các ứng cử viên đề nghị tiềm năngnhư các điểm trên web mở rộng ra ngoài từ trung tâm. Điểm cànggần trung tâm của web thì càng có nhiều liên quan đến hạt giống vàxa hơn thì ít liên quan hơn. Khi một loạt các khuyến nghị ứng viên6đã được tạo ra, chúng được xếp hạng theo các tín hiệu khác nhau, cóthể được tổ chức thành ba nhóm: Chất lượng video, đặc trưng củangười dùng, đa dạng hóa. Hệ thống khuyến nghị của YouTube đãlàm tốt để cải thiện trải nghiệm của người dùng. Các video được đềxuất chiếm khoảng 60% số nhấp chuột trên trang chủ.1.3.2. Website thương mại AmazonDoanh thu của Amazon đã tăng lên rất lớn (khoảng 35% nhờvào khuyến nghị) dựa trên việc tích hợp thành công các đề xuất quatrải nghiệm mua hàng - từ lúc khám phá sản phẩm cho đến khi rờikhỏi website. Việc cho phép đề xuất được cá nhân hóa trong thươngmại điện tử có lẽ là lý do số một cho các công cụ đề xuất để hạn chếnhững vấn đề như là vấn đề đuôi dài (long tail) - các sản phẩm hiếmhoi, mờ nhạt không phổ biến và không dẫn đến doanh thu.Các thuật toán đề xuất của nhà bán lẻ khổng lồ dựa trên cácyếu tố như: lịch sử mua hàng của người dùng, các mặt hàng trong giỏhàng, mặt hàng họ đánh giá và thích, và những gì khách hàng khácđã xem và mua. Tuy nhiên, đối với một nhà bán lẻ với nhiều mặthàng như Amazon, thách thức đó là những khuyến nghị nào sẽ xuấthiện và theo thứ tự nào – một vấn đề được biết đến như là "học cáchxếp hạng" trong khoa học dữ liệu. Một vấn đề thứ cấp là sự đa dạng– làm thế nào để hiển thị những sự lựa chọn đa dạng của các sảnphẩm trong đề xuất cho khác hàng. Amazon có thể đạt được mức độquan tâm cao của khách hàng với thuật toán dựa trên quy trình là lọccộng tác item – to – item.7CHƢƠNG 2: PHƢƠNG PHÁP KHUYẾN NGHỊChương 2 sẽ giới thiệu cụ thể về phương pháp cơ bản củakhuyến nghị là khuyến nghị dựa trên nội dung, lọc cộng tác và mộtsố thuật toán khác.2.1. Khuyến nghị dựa trên nội dungÝ tưởng chính của phương pháp khuyến nghị này là: Khuyếnnghị cho người dùng u những sản phẩm tương tự với những sảnphẩm đã được người dùng u đánh giá cao từ trước đó.2.1.1. Phương pháp dự đoána. Hồ sơ sản phẩmCần xây dựng hồ sơ cho mỗi sản phẩm i. Hồ sơ sản phẩm đượcxây dựng dưới dạng vector, là tập các đặc trưng của sản phẩm đó.b. Hồ sơ người dùngCó thể xây dựng được hồ sơ người dùng là vector đánh giátrung bình của người dùng u đó cho từng thành phần trong vector đặctrưng của sản phẩm.c. Dự đoánĐể dự đoán độ “yêu thích” của người dùng u và sản phẩm i:()()(‖ ‖‖ ‖2.1)2.1.2. Ưu điểm- Không bị ảnh hưởng bởi vấn đề khởi đầu lạnh (cold start)hay vấn đề thưa thớt dữ liệu.- Có thể khuyến nghị cho những người dùng có sở thích riêng.- Có thể khuyến nghị những sản phẩm mới hoặc sản phẩmkhông phổ biến.- Là phương pháp trực quan, dễ dàng giải thích được.2.1.3. Nhược điểm- Khó khăn trong việc tìm kiếm, xây dựng vector đặc trưngphù hợp của sản phẩm.- Gặp vấn đề khi khuyến nghị cho người dùng mới: xây dựnghồ sơ người dùng.8- Không bao giờ khuyến nghị những sản phẩm nằm ngoài hồsơ của người dùng.- Không thể khai thác những thông tin đáng giá cho việc dựđoán từ người dùng khác.2.2.Lọc cộng tácNói chung, lọc cộng tác là quá trình lọc thông tin hoặc mẫu sửdụng các kỹ thuật liên quan đến sự hợp tác giữa nhiều nguồn dữ liệu[14]. Có nhiều cách tiếp cận đểgiải quyết bài toán lọc cộng tác: Cáchtiếp cận dựa trên bộ nhớ (memory-based); Cách tiếp cận dựa trên môhình (model-based); Kết hợp nhiều cách tiếp cận: Kết hợp các thuậttoán của cách tiếp cận dựa trên bộ nhớ và thuật toán của cách tiếpcận dựa trên mô hình với nhau để đưa ra kết quả tốt hơn.2.2.1. Cách tiếp cận dựa trên bộ nhớPhương pháp lọc cộng tác với cách tiếp cận dựa trên bộ nhớ cóđặc trưng cơ bản là thường sử dụng toàn bộ dữ liệu đã có để dự đoánđánh giá của một người dùng nào đó về sản phẩm mới. Cách tiếp cậndựa trên bộ nhớ thường được chia làm 2 loại: dựa trên người dùng vàdựa trên sản phẩm.a.Dựa trên người dùngPhương pháp được tóm tắt với 2 bước như sau:- Bước 1: Tìm kiếm những người dùng có đánh giá tương tựvới người dùng cần được dự đoán.- Bước 2: Sử dụng đánh giá từ những người dùng được tìmthấy ở bước 1 để tính toán dự đoán cho người cần được dự đoán.b. Dựa trên sản phẩm.Phương pháp được tóm tắt thành 2 bước như sau:- Bước 1: Xây dựng một ma trận để xác định mối quan hệgiữa các cặp sản phẩm với nhau.- Bước 2: Kiểm tra thị hiếu của người dùng cần dự đoánbằng cách kiểm tra ma trận và kết hợp dữ liệu của người dùng đó.2.2.2. Cách tiếp cận dựa trên mô hìnhTrong cách tiếp cận này, các mô hình được phát triển bằngcách sử dụng các khai phá dữ liệu khác nhau, các thuật toán học máy9để dự đoán đánh giá của người dùng về các mặt hàng chưa đượcđánh giá.2.2.3. Một số hạn chế của lọc cộng tácLọc cộng tác gặp phải một số khó khăn như sau:a. Vấn đề thưa thớt dữ liệub. Khả năng mở rộng.c. Từ đồng nghĩad. Cừu xám (gray sheep)2.3. PMF (Probabilistic Matrix Factorization)Probabilistic Matrix Factorization (PMF) [11] là một mô hìnhtuyến tính xác suất với nhiễu quan sát Gaussian.Giả sửcó N người dùng và M phim. Đặtlà giá trị đánh giácủa người sử dụng i cho phim j, và đại diện cho các vector đặctrưng người dùng và vector đặc trưng phim D chiều. Sự phân bố cóđiều kiện đối với các đánh giá quan sát đượcvà sự phânbố trước đối vớivàđược cho bởi:(2.2)( |) ∏ ∏[ ( |)]( |( |))∏ ( |)(2.3)(2.4)∏ ( |)) biểu thị sự phân bố Gaussian vớiTrong đó ( |trung bình μ và độ chính xác α, và là biến chỉ số, bằng 1 nếu ngườidùng i đánh giá phim j và bằng 0 nếu không có đánh giá.2.4. BPMF2.4.1. Mô hìnhSự phân bố tiên nghiệm với vector người dùng và phim đượcgiả định là Gaussian:10( |)∏ ( |)( |)∏ ( |)(2.5)(2.6)Tiếp tục đặt các Gaussian-Wishart tiên nghiệm (GaussianWishart priors) vào các siêu tham số (hyperparameter) người dùngvà phim*+ và*+:(2.7)()( | ) ( )()( |) ( |)(2.8)()( | ) ( )) ) ( |( | ()Ở đâylà sự phân bố của Wishart vớiđộ tự do và mộtma trận có kích thước D×D :(2.9))⁄( |)| |((())Trong đó, C là hằng số chuẩn hóa,*+. Trongcác thử nghiệm, thiết lập = D vàcho ma trận nhận diện cho cảsiêu tham số người dùng và phim, = 0 theo đối xứng.2.4.2. Dự đoánSự phân bố dự đoán của giá trị đánh giácho người dùng ivà phim j thu được bằng tách (marginalizing) các tham số mô hìnhvà siêu tham số. Vì đánh giá chính xác sự phân bố dự đoán này làkhó phân tích do sự phức tạp của hậu nghiệm, cần phải dùng đến suyluận gần đúng.Các phương pháp dựa trên MCMC, sử dụng phươngtrình xấp xỉ Monte Carlo cho sự phân bố dự đoán của phương trìnhtrên được đưa ra bởi:(2.10)( ) ( )∑ ( |)( |)( )( )Các mẫu *+ được tạo ra bằng cách chạy một chuỗiMarkov mà phân bố cố định (stationary distribution) là sự phân bốhậu nghiệm về các tham số mô hình và siêu tham số*+.112.4.3. Kết luậnDo việc sử dụng các tiên nghiệm liên hợp cho các tham số vàsiêu tham số trong mô hình BPMF, sự phân bố có điều kiện xuất pháttừ sự phân bố hậu nghiệm là dễ dàng để lấy mẫu.Sự phân bố có điềukiện đối với các vector đặc trưng của phim và các siêu tham số củaphim có dạng chính xác giống nhau.2.5. ALS (Alternating Least Squares)2.5.1. Phân loại ma trận cơ bản cho vấn đề khuyến nghịMô hình phân loại ma trận phổ biến nhất cho hệ khuyến nghịlà đánh giá của người dùng u cho sản phẩm i:(2.11)̂Với() là một vector liên kết với ngườidùng, và vector liên kết với item(). Kích thướccủa vector là hạng của mô hình và các thành phần được gọi là nhântử (factors).Thu thập dữ liệu đánh giá người dùng – sản phẩm vào matrận ̂ ( ̂ ). Đầu tiên, thu thập các vector người dùng vào 1 matrận, và các vector sản phẩm vào ma trận .Sau đó,có thể biểudiễn mô hình trên:̂(2.12)Mô hình này giả sử có thể được xấp xỉ bởi hạng N nhân tử:̃(2.13)2.5.2. Alternating Least SquaresMột phương pháp phổ biến để tìm kiếm ma trận X, Y đượcbiết đến là alternating least squares. Ý tưởng là tìm kiếm các thamsốvà(các đầu vào của X và Y) mà tối thiểu hóa hàm chi phí:(2.14)∑()(∑‖‖∑‖ ‖ )Hằng số λ được gọi là tham số chính quy. Nó có một hiệuquả thậm chí còn quan trọng hơn trong bối cảnh này, mặc dù:12Nếu giữ các vectơ sản phẩm Y cố định, C là một hàm bậc haicủa các thành phần của X. Tương tự, nếugiữ các vector người dùngX cố định, thì C là một hàm bậc hai của các thành phần của Y.Vì vậy, để tối thiểu hóa C:1. Giữ vectơ người dùng cố định và giải phương trình bậc haicho. Đây có lẽ sẽ không phải là mức tối thiểu toàn cụccủa C vì chưa đụng tới các biến số , nhưng ít nhất cũnggiảm C.2. Giữ vectors sản phẩm cố định và giải phương trình bậc haicho .3. Lặp lại 1 và 2.Các thuật toán trên được gọi là alternating least squares.2.5.3. Xu hướng người dùng và xu hướng sản phẩmĐối với mô hình đánh giá rõ ràng, một cách để tính xuhướng của người dùng là mô hình đánh giá người dùng thực tế như:(2.15)̂Vớilà xu hướng người dùng và ̂ là mô hình của bất cứđiều gì còn lại; ví dụ, ̂nếu sử dụng mô hình phân tích matrận như đã đề cập trước đó. Có thể tính toán xu hướng của sản phẩmtheo cách tương tự:(2.16)̂ở đây, là xu hướng của sản phẩm i.- ALS với xu hướng (Biased ALS)Xu hướng của người dùng và sản phẩm có thể được tích hợptrực tiếp vào thuật toán ALS. Mô hình hóa ma trận đánh giá ngườidùng – sản phẩm thành(2.17)Và tối thiểu hóa hàm chi phí:13∑(∑(‖(‖∑(‖ ‖)(2.18))))Một lần nữa, vì sự chuẩn hoá, có thể giữ các biến người dùngcố định và tối thiểu hóa các biến sản phẩm. Sau đó, có thể giữ cácbiến sản phẩm được cố định và tối thiểu hóa các biến người dùng.Tuy nhiên, có thể viết lại hàm chi phí ở mỗi bước để nógiống như một mô hình không xu hướng, và sau đó chỉ sử dụng cáccông thức tương tự tìm thấy ở trên cho ALS không xu hướng. Bíquyết là xác định các vectơ mới bao gồm các xu hướng như cácthành phần một cách đúng đắn.Giả sử β là vector của xu hướng của người dùng (với n_usersthành phần) và γ là vector của xu hướng của item (với n_itemsthànhphần).Đây là thuật toán ALS với xu hướng:1. Khởi tạo các vectơ người dùng ngẫu nhiên và thiết lập tấtcả các xu hướng thành số 0 (hoặc khởi tạo chúng ngẫu nhiên, nókhông quá quan trọng).2. Đối với mỗi sản phẩm i, xác định 3 vectơ mới:Với các thành phầnn_user thành phần),̃Và̃Sauđó(chú ý rằng 2 vector có()()∑(̃ ̃)(∑ (‖ ̃ ‖ )∑ (‖ ̃ ‖ )). Do đó,thấy rằng xu hướng item và vector có thể đượctính toán như sau:14̃( )(̃ ̃)̃(I là ma trận dạng ()(), và ̃ và ̃ là các matrận mà có các cột là các vector ̃ và ̃ như thường lệ).3. Bây giờ, với mỗi người dùng u, xác định ba vectơ mới:,̃(),Và̃()Xu hướng người dùng và vector có thể được tính toán như sau:̃()(̃ ̃)̃4. Lặp lại 2 và 3 cho đến khi hội tụ.2.5.4. Kết luậnNhư vậy, thuật toán đã sử dụng một trong những yếu tổ ẩn làxu hướng người dùng và sản phẩm. Với ALS, tác giả đã đưa ra mộtcách giải quyết bài toán khuyến nghị không quá phức tạp nhưng lạicho kết quả dự đoán với độ chính xác khá cao.15CHƢƠNG 3: THỰC NGHIỆM, ĐÁNH GIÁ VÀXÂY DỰNG HỆ THỐNG KHUYẾN NGHỊPHIM TỰ ĐỘNG3.1. Thực nghiệm mô hình, thuật toánDo phương pháp khuyến nghị dựa trên nội dung và lọc cộngtác là 2 phương pháp khuyến nghị cơ bản ban đầu, chúng có độ chínhxác thấp hơn 3 phương pháp còn lại là PMF, BPMF và ALS rấtnhiều nên luận văn chỉ tiến hành thực nghiệm trên 3 phương pháp làPMF, BPMF và ALS.3.1.1. Giới thiệu tập dữ liệu thử nghiệm MovieLensHầu hết các bộ dữ liệu đều bao gồm các thành phần chính làcác file: users, ratings, movies.a. UsersFile users chứa thông tin người dùng, thường có định dạng:ID người dùng::Giới tính::Tuổi::Nghề nghiệp::Mã bưu chính.b. RatingsFile ratings chứa thông tin đánh giá của người dùng, thườngcó định dạng: ID người dùng::ID phim::Đánh giá::Mốc thời gian.c. MoviesFile movies chứa thông tin về phim, thường có định dạng: IDphim::Tiêu đề::Thể loại.3.1.2. PMFThực nghiệm với mô hình PMF [11], [20]. Để so sánh, cầnhuấn luyện một loạt các mô hình PMF tuyến tính sử dụng MAP(maximum a posteriori probability - tối đa một xác suất hậu nghiệm),chọn các tham số định chuẩn của chúng bằng cách sử dụng bộ xácnhận. Ngoài các mô hình PMF tuyến tính, cũng cần huấn luyện cácmô hình PMF logistic.163.1.3. BPMFThực nghiệm với mô hình BPMF [11], [20]. Khởi tạo bộ lấymẫu Gibbs bằng cách thiết lập các tham số mô hình U và V với cácước tính MAP của họ bằng cách huấn luyện một mô hình PMF tuyếntính. Thiết lập, vàcho ma trận đơn vị, cho cả tiênnghiệm người dùng và phim. Độ chính xác nhiễu quan sát được đặtlà 2. Phân bố dự đoán đã được tính bằng cách sử dụng công thức số10, bằng cách chạy bộ lấy mẫu Gibbs với các mẫu {( )( )} thuthập sau mỗi bước Gibbs đầy đủ.3.1.4. ALS-Thực nghiệm thuật toán ALS với các tham số:Vòng lặp: 10Tham số chính quy: 0.1Hạng của ma trận nhân tử lần lượt là rank = [ 6, 8, 10, 12,14].3.2. Kết quả thực nghiệm3.2.1. PMF và BPMFBảng 3.1. Kết quả thực nghiệm RMSE của PMF và BPMF.Số chiều DPMFBPMF300.92142 0.90482400.92016 0.89955600.91685 0.896681000.92056 0.894091500.92201 0.89347Có thể quan sát thấy, BPMF đã có sự cải thiện độ chính xáckhá nhiều so với PMF.173.2.2. ALSBảng 3.2. Kết quả thực nghiệm ALS.rankRMSEThời gian (giây)60.8797414.0073580.8781616.29091100.8739918.96353120.8724820.47909140.8757721.63209Thời gian thực nghiệm của thuật toán được tính trên máytính có:-Hệ điều hành: Linux Mint 64-bit.Vi xử lý: Intel Core i5-2520M 2.5GHz.RAM: 8GB.3.3. Đánh giá kết quảDựa trên chỉ số RMSE, dễ dàng nhận thấy, thuật toán ALScho độ chính xác là tốt hơn so với PMF và BPMF. Tuy kết quả tốtnhất của ALS là RMSE = 0.87248 lớn hơn so với giải pháp Bellkor2008 (RMSE = 0.8643) nhưng giải pháp Bellkor là quá phức tạp đểcài đặt. Vì vậy, luận văn xin đề xuất sử dụng thuật toán ALS vớihạng của ma trận nhân tử là 8 (vì đảm bảo kết quả tốt và thời gianhuấn luyện vừa phải).183.4. Áp dụng xây dựng hệ thống3.4.1.. Thiết kế hệ thốngHình 3.1. Sơ đồ hệ thống khuyến nghị.Trong đó:- Client: bao gồm các trang web, ứng dụng gửi dữ liệu ngườidùng và phim về phía server để tính toán.- Event Server: Nhận dữ liệu từ phía Client và lưu trữ dữ liệu.- Engine: Xây dựng mô hình dự đoán với thuật toán ALS, sửdụng dữ liệu từ Event Server để huấn luyện. Sau đó được triển khaithành một web service dạng REST Api, nó lắng nghe các truy vấn từClient và trả về kết quả dự đoán lập tức.3.4.2.. Xây dựng hệ thống khuyến nghị phim.a. Tập dữ liệu huấn luyện:Hệ thống sử dụng bộ dữ liệu MovieLens 1 triệu đánh giá làmdữ liệu huấn luyện cho hệ thống (dữ liệu được mô tả trong phần 2.1).b. Event Server:Ngôn ngữ lập trình: Python.Phƣơng thức giao tiếp với Client: REST ApiCơ sở dữ liệu sử dụng: HBase.Các bảng trong cơ sở dữ liệu:19Hình 3.5. Quan hệ giữa các bảng trong cơ sở dữ liệu.c. EnginePhƣơng thức giao tiếp với Client: REST ApiThuật toán sử dụng: ALS20KẾT LUẬN1. Những đóng góp của luận vănLuận văn đã trình bày tổng quan về bài toán khuyến nghịcũng như vai trò của bài toán trong xã hội hiện nay. Hai nghiên cứunổi tiếng để giải quyết bài toán đó được giới thiệu là “Giải phápBellKor 2008 cho giải Netflix” và “Học theo thời gian và mô hìnhtuần tự cho một hệ thống giới thiệu việc làm”.Tiếp theo, luận văn đã trình bày và thực nghiệm ba trong sốrất nhiều thuật toán được sử dụng trong vấn đề khuyến nghị. Kết quảthu được sau khi thực nghiệm với bộ dữ liệu MovieLens với độchính xác của dự đoán là khá tốt. Đặc biệt là thuật toán ALS. Dựavào đó, luận văn đã xây dựng một hệ thống khuyến nghị phim. Hệthống giao tiếp với Client thông qua REST Api, sử dụng cơ sở dữliệu HBase, thuật toán huấn luyện ALS.2. Hƣớng phát triển của luận vănTrong tương lai, luận văn cần cải thiện tốc độ huấn luyện củathuật toán cũng như các giải pháp xung quanh việc xây dựng hệthống để đảm bảo tốc độ đáp ứng của hệ thống theo thời gian thực vàđảm bảo tính bảo mật của hệ thống.21TÀI LIỆU THAM KHẢOTài liệu Tiếng Anh[1] D. Goldberg, D. Nichols, B. M. Oki, D. Terry, UsingCollaborative Filtering to Weave an Information Tapestry, Comm.ACM 35.[2] Graves, A. and Schmidhuber, J. (2009). Offline handwritingrecognition with multi dimensional recurrent neural networks. InAdvances in neural information processings ystems, pages 545–552.[3] John S. Breese, David Heckerman, and Carl Kadie, EmpiricalAnalysis of Predictive Algorithms for Collaborative Filtering, 1998Archived 19 October 2013 at the Wayback Machine.[4] Koren, Y. (2008). Factorization meets the neighborhood: amultifaceted collaborative filtering model. In Proceedings of the 14thACM SIGKDD international conference on Knowledge discovery anddata mining, pages 426–434. ACM.[5] Koren, Y., Bell, R., Volinsky, C., et al. (2009). Matrixfactorization techniques for recommender systems. Computer,42(8):30–37.[6] Kuan Liu, Xing Shi, Anoop Kumar, Linhong Zhu, PremNatarajan. "Temporal Learning and Sequence Modeling for a JobRecommender System".[7] Luong, M.-T., Sutskever, I., Le, Q. V., Vinyals, O., andZaremba, W. (2014). Addressing the rare word problem in neuralmachine translation. arXiv preprint arXiv:1410.8206.[8] Recommender Systems - The Textbook | Charu C. Aggarwal |Springer[9] Rendle, S., Freudenthaler, C., Gantner, Z., and Schmidt-Thieme,L. (2009). Bpr: Bayesian personalized ranking from implicitfeedback. In Proceedings of the twenty-fifth conference onuncertainty in artificial intelligence, pages 452–461. AUAI Press.[10] Robert Bell; Yehuda Koren; Chris Volinsky (2008-12-10)."The BellKor 2008 Solution to the Netflix Prize"[11] Ruslan Salakhutdinov, Andriy Mnih. ""Bayesian ProbabilisticMatrix Factorization using Markov Chain Monte Carlo.[12] Sarwar, B., Karypis, G., Konstan, J., and Riedl, J. (2001). Itembased collaborative filtering recommendation algorithms. In
Tài liệu liên quan
- Nghiên cứu xây dựng hệ thống chỉ tiêu đánh giá tác động của việc gia nhập tổ chức Thương mại Thế giới tới ngành Da - Giầy Việt Nam giai đoạn 2007 - 2012.pdf
- 91
- 905
- 1
- nghiên cứu xây dựng hệ thống giao diện người dùng trên điện thoại di dộng
- 25
- 679
- 2
- Nghiên cứu xây dựng hệ thống qui trình nuôi cấy phôi trong điều kiện Việt Nam
- 52
- 616
- 0
- NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
- 85
- 1
- 2
- Nghiên cứu xây dựng Hệ thống quản lý môi trường theo tiêu chuẩn ISO 14001 cho Trung tâm thực nghiệm Tam Hiệp - Viện nghiên cứu Mỏ và Luyện kim - Bộ Công nghiệp
- 51
- 1
- 6
- Trang bị điện điện tử dây chuyền cán thép nhà máy cán thép việt nhật đi sâu nghiên cứu xây dựng hệ thống điều khiển công đoạn đóng bó bằng PLC s7 300
- 80
- 941
- 1
- nghien cuu xay dung he thong nhan dang mat nguoi online
- 59
- 527
- 6
- Luận văn thạc sĩ: NGHIÊN CỨU XÂY DỰNG HỆ THỐNG CHỐNG TẤN CÔNG TỪ CHỐI DỊCH VỤ PHÂN TÁN KIỂU GIẢ MẠO ĐỊA CHỈ IP NGUỒN TẤN CÔNG CHO HỆ THỐNG MÁY CHỦ DỊCH VỤ
- 103
- 1
- 9
- BÁO CÁO NGHIÊN CỨU Xây dựng hệ thống pháp luật kinh doanh khuyến khích phát triển kinh tế thị trường
- 51
- 270
- 0
- TRANG BỊ ĐIỆN ĐIỆN TỬ DÂY TRUYỀN CÁN THÉP NHÀ MÁY CÁN THÉP VIỆT NHẬT ĐI SÂU NGHIÊN CỨU XÂY DỰNG HỆ THỐNG ĐIÈU KHIỂN CÔNG ĐOẠN ĐÓNG BÓ BẰNG PLC S7-300
- 20
- 331
- 0
Tài liệu bạn tìm kiếm đã sẵn sàng tải về
(516.87 KB - 26 trang) - Nghiên cứu, xây dựng hệ thống khuyến nghị phim tự động (tt) Tải bản đầy đủ ngay ×Từ khóa » Hệ Thống Khuyến Nghị Là Gì
-
Hệ Thống Khuyến Nghị - AI Best Practices - FPT Digital
-
Recommend Là Gì ? Tìm Hiểu Hệ Thống Recommendation System
-
Recommend Là Gì Vậy? Bạn Biết Gì Về Hệ Thống Khuyến Nghị?
-
Luận Văn: Hệ Thống Khuyến Nghị Cho Bài Toán Dịch Vụ Giá Trị…
-
Recommend Là Gì? Bạn Biết Gì Về Hệ Thống Khuyến Nghị?
-
Recommend Là Gì? Bạn Biết Gì Về Hệ Thống Khuyến Nghị?
-
Recommender Systems - Viblo
-
[PDF] Phát Triển Một Số Phương Pháp Khuyến Nghị Hỗ
-
Recommend Là Gì? Bạn Biết Gì Về Hệ Thống Khuyến Nghị?
-
[PDF] Hệ Khuyến Nghị Trong Dự đoán Sở Thích Người Dùng ứng Dụng Trong
-
Recommend Là Gì? Bạn Biết Gì Về Hệ Thống Khuyến Nghị?
-
Hệ Thống Khuyến Nghị Kaizen (Kaizen Suggestion System - KSS) Là ...
-
Các Mô Hình Hệ Thống Khuyến Nghị (recommendation) Thông Minh ...
-
HỆ THỐNG KHUYẾN NGHỊ Tiếng Anh Là Gì - Trong Tiếng Anh Dịch