Để trả lời câu hỏi đưa ra, yêu cầu đặt ra phảixây dựng được phương pháp phân loại, tìm kiếm, trích rút và đưa ra gợi ý bộ phim chongười dùng.Yêu cầu đặt ra : xây dựng hệ thống gợi ý giúp
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
BÁO CÁO THỰC TẬP TỐT NGHIỆP
Đề tài: NGHIÊN CỨU HỆ GỢI Ý VÀ ỨNG DỤNG TRONG WEBSITE GỢI
Ý PHIM
Giảng viên hướng dẫn : PGS.TS Lê Thanh Hương
Sinh viên thực hiện : Trần Đức Việt
MSSV : 20083159
Lớp : HTTT-K53
Trang 2Mục Lục
Trang 3CHƯƠNG I : TỔNG QUAN VỀ ĐỀ TÀI
Với sự trợ giúp của hệ gợi ý, bạn còn có thể tìm hiểu sở thích của mình và chia sẻcho cộng đồng Nếu bạn là fan hâm mộ ban nhạc The Beatles, một đề xuất đưa ra: bạnkhó có thể bỏ qua những giai điệu của một nhóm nhạc người Anh khác là Radiohead.Radiohead rất nổi tiếng trong ngành công nghiệp âm nhạc, và đặc biệt là ở Anh trongkhoảng thập niên 90 với những ca khúc bất hủ “Creep”, Pablo Honey, hay The Bends…Khác với The Beatles, Radiohead không chơi thể loại nhạc pop đã làm nên tên tuổi củaThe Beatles, mà thay vào đó là dòng nhạc rock, hay punk rock Vậy thì lí do tại sao màngười hâm mộ Beatles, sẽ yêu thích Radiohead Minh chứng cho điều này được thể hiệnqua thông tin thu thập về hành vi trực tuyến của người dùng tại trang web Last.fm.Last.fm là một trang cộng đòng âm nhạc, tập hợp thông tin về âm nhạc mà các thành viênlắng nghe, sau đó tổng hợp đưa ra các kết quả mang tính thống kê, giúp tìm hiểu thị hiếu
âm nhạc và chia sẻ cho mọi người Trang web giúp người dùng bằng cách gợi ý nhữngnghệ sĩ, dòng nhạc đáng quan tâm Cụ thể ở đây, những người nghe Beatles, thì nhữngbài hát của những nghệ sĩ khác nào đáng để thưởng thức tiếp theo Một danh sách nhữngnghệ sĩ sẽ được Last.fm đưa ra, đứng đầu trong danh sách là Bob Dylan – một nghệ sĩ nổitiếng cùng thời với The Beatles, và tiếp theo trong danh sách là Radio head TheoLast.fm, người hâm mộ Beatles nghe nhiều của Radiohead, và ngược lại
Để đưa ra các gợi ý đó, Last.fm đã sử dụng một ứng dụng là hệ gợi ý Hệ thốngtổng hợp hành vi trực tuyến của nhiều người để tìm ra các xu hướng, và đưa ra các Gợi ýdựa trên những thông tin ngày Hoạt động của hệ gợi ý có thể hiểu đơn giản là quá trìnhtìm kiếm hoạt động của những người dùng tương tự khi nghe nhạc, đánh giá phim, hayđọc tin tức Những đề xuất được hệ gợi ý đưa ra giúp người dùng lựa chọn nội dung đáng
Trang 4quan tâm tiếp theo, và kết quả đề xuất đôi khi cũng gây bất ngờ ví dụ như việc gợi ý chonhững fan hâm mộ Beatles thưởng thức giai điệu của Radio head.
Ngoài Last.fm, các cửa hàng âm nhạc iTunes của Apples cũng cung cấp dịch vụgiúp Gợi ý những bài hát và album Amazon.com cung cấp tính năng gợi ý trên tất cả cácmặt hàng cung cấp: sách, âm nhạc, game… Netflix.com một nhà cung cấp dịch vụ bán lẻđưa ra hệ thống đề xuất các chương trình tivi, hay phim nên xem Youtube, Yahoo,IMDB, Rotten Romatoes, và Metacritic đều áp dụng những dịch vụ gợi ý tương tự
Vai trò quan trọng của hệ gợi ý ngày càng được thể hiện rõ, trở thành một công cụhữu hiệu đối phó với vấn đề quá tải thông tin, dưới đây là các minh chứng cụ thể:
- Hệ gợi ý đóng một vai trò quan trọng trong các trang web nổi tiếng nhưAmazon.com, Youtube, Netflix, Yahoo, TripAdvisor, IMDB… Thêm vào đó,nhiều công ty truyền thông đang phát triển và triển khai các hệ thống gợi ý nhưmột phần dịch vụ cung cấp cho các thuê bao Một minh chứng cho hoạt động đó:Netflix, nhà cung cấp dịch vụ cho thuê phim trực tuyến, đã trao giải thưởng mộttriệu dollar cho đội xuất sắc đầu tiên cải thiện đáng kể hiệu suất hoạt động của hệgợi ý của hang
- Có rất nhiều hội nghị, hội thảo chuyên biệt liên quan đến lĩnh vực hệ gợi ý, có thể
đề cập tới ACM Recommender System (RecSyss), thành lập năm 2007 là sự kiệnhàng đáng chú ý hàng năm trong lĩnh vực nghiên cứu ứng dụng hệ gợi ý Bên cạnh
đó, các buổi họp dành riêng cho vấn đề hệ gợi ý được tổ chức trong các hội nghịtrong lĩnh vực cơ sở dữ liệu, hệ thống thông tin… Trong số các hội nghị đó, phải
đề cập đến ACM SIGIR Special Interst Group on Information Retrieval (SIGIR),User Modeling, Adapation and Personalization (UMAP), và ACM’s SpecialInterest Group on Management of Data (SIGMOD)
- Hiện nay trong các tổ chức giáo dục bậc đại học và sau đại học trên thế giới, cáckhóa học về hệ gợi ý, hướng dẫn về hệ gợi ý rất phổ biến, đặc biệt trong cácchuyên ngành khoa học máy tính Rất nhiều cuốn sách giới thiệu về hệ gợi ý đãđược xuất bản gần đây
- Các tạp chí khoa học xuất bản các số đặc biệt dành nói về việc nghiên cứu, và pháttriển trogn lĩnh vực hệ gợi ý Trong số này, các tạp chí dành riêng cho vần đề hệgợi ý : AI Communication (2008), IEEE Intelligent Systems (2007), InternationalJournal of Electronic Commerce (2006), International Journal of ComputerScience and Applications (2006), ACM Transactions on Computer-HumanInteraction (2005), và ACM Transactions of Information Systems (2004)
2 Giới thiệu về đề tài
Nghiên cứu và ứng dụng hệ gợi ý giúp nâng cao tính thông minh của ứng dụngweb, cụ thể ở đây xây dựng hệ gợi ý phim (movie recommender system) giải quyết câuhỏi bằng cách nào khai phá dữ liệu, xử lí và đưa ra thông tin cho người dùng một cách
Trang 5hiệu quả nhất trong trường hợp có hàng ngàn bộ phim, cá nhân một người dùng cụ thểphải lựa chọn quyết định xem bộ phim nào Để trả lời câu hỏi đưa ra, yêu cầu đặt ra phảixây dựng được phương pháp phân loại, tìm kiếm, trích rút và đưa ra gợi ý bộ phim chongười dùng.
Yêu cầu đặt ra : xây dựng hệ thống gợi ý giúp đưa ra gợi ý bộ phim nên xem vớingười dùng cụ thể một cách hiêu quả với yêu cầu về thời gian (thời gian đáp ứng yêu cầungười dùng), không gian (với số lượng lớn dữ liệu người dùng và phim)
Để làm rõ yêu cầu đặt ra, chúng ta sẽ thu hẹp phạm vi nghiên cứu bằng việc trả lờicác câu hỏi:
- Hệ gợi ý dựa trên phương pháp lọc nào?, bằng cách nào đưa ra gợi ý bộ phim nênxem với cá nhân cụ thể?
- Trong trường hợp, có thêm phim mới hoặc người dùng mới, hệ thống có đưa rađược gợi ý hợp lí không?
- Bằng cách nào sử dụng thông tin về các đặc tính của bộ phim kết hợp với phươngpháp lọc?
- Hiệu quả của hệ thống gợi ý được đánh giá dựa trên các tiêu chí nào?
2.1 Mục tiêu của đề tài
Nghiên cứu hệ thống gợi ý: cách thức hoạt động, mô hình, các phương pháp, tầmquan trọng của hệ gợi ý
Lựa chọn, nghiên cứu, và cài đặt phương pháp gợi ý phù hợp cho bài toán đặt ra:xây dựng hệ gợi ý giúp người dùng lựa chọn những bộ phim đáng chú ý, phù hợp với sởthích cả nhân
Xây dựng và triển khai website với chức năng hệ gợi ý, giúp cung cấp cho ngườidùng những đề xuất bộ phim nên xem
2.2 Phạm vi của đề tài
Đề tài nghiên cứu về hệ gợi ý và ứng dụng triển khai trong website gợi ý phimcung cấp chức năng gợi ý phim cho những người dùng
Đối tượng gợi ý: Các tựa phim trong cơ sở dữ liệu
Đối tượng được gợi ý:
- Người dùng có tài khoản trên hệ thống và đã có hành vi được lưu lại trên hệ thống
- Người dùng là khách không có tài khoản trên hệ thống, ghé thăm hệ thống để tìmkiếm tựa phim
Nội dung gợi ý: là tập các tựa phim được hệ thống cho là phù hợp nhất với ngườidùng trong một ngữ cảnh xác định
Trang 62.3 Kịch bản dự kiến
Với ứng dụng cụ thể trong website phim em xin đưa ra các kịch bản sau:
- Kịch bản 1: Người dùng kích vào một bộ phim, hệ thống sẽ đưa ra gợi ý về các bộphim có nội dung tương tự Ví dụ như cùng thể loại (hành động, tình cảm ), cùngdiễn viên chính, đạo diễn
- Kịch bản 2: Người dùng kích vào một bộ phim, hệ thống sẽ đưa ra gợi ý để xemphim này bạn nên xem những phim nào trước (vd: các phần trước của bộ phimnày)
- Kịch bản 3: Người dùng tìm kiếm một bộ phim mà không có trong cơ sở dữ liệu,
hệ thống sẽ đưa ra gợi ý về các phim có thể mà người dùng mong muốn tìm mà cótrong cơ sở dữ liệu
2.4 Phương pháp tiếp cận
Trong hệ thống này, ta tiếp cận bằng phương pháp lọc cộng tác
Bộ dữ liệu mẫu được sử dụng do phòng thí nghiệm Grouplens thuộc bộ môn khoahọc máy tính trường đại học Minnesota cung cấp, có thể truy cập từ địa chỉ websitehttp://www.grouplens.org/node/73#attachments Dữ liệu mẫu bao gồm 1682 bộ phim,
943 người dùng, và đánh giá
Trang 7CHƯƠNG II : HỆ THỐNG GỢI Ý
1 Hệ thống gợi ý
Trong cuộc sống hàng ngày, trong rất nhiều trường hợp, người ta đưa ra các lựa chọn dựa trên những ý kiến hay lời khuyên của mọi người xung quanh, có thể qua lời nói, các bản đánh giá sản phẩm, khảo sát thị trường, thư giới thiệu …v v Nhưng trong
kỉ nguyên thông tin, hàng triệu thông tin được đưa lên internet mỗi ngày, điều này dẫntới yêu cầu phải có các phương pháp tự động thu thập thông tin và đưa ra lời khuyên để
hỗ trợ cho các phương pháp truyến thống trên Hệ tư vấn (recommender system) là một giải pháp như vậy Hệ thống này đưa ra gợi ý dựa trên những gì người dùng đã làm trong quá khứ, hoặc dựa trên tổng hợp ý kiến của những người dùng khác Hệ tư vấn đãtrở thành một ứng dụng quan trọng và thu hút được sự quan tâm lớn của các nhà nghiên cứu cũng như các doanh nghiệp
Một vài hệ tư vấn nổi tiếng:
- Phim / TV/ âm nhạc: MovieLens, EachMovie, Morse, Firefly, Flycasting,Ringo…
- Tin tức / báo chí: Tapestry, GroupLens, Lotus Notes, Anatagonomy…
- Sách / Tài liệu: Amazon.com, Foxtrot, InfoFinder…
- Web: Phoaks, Gab, Fab, IfWeb, Let's Browse …
- Nhà hàng: Adaptive Place Advisor, Polylens, Pocket restaurent finder…
- Du lịch: Dietorecs, LifestyleFinder …
1.1 Khái niệm
Hệ thống gợi ý là kỹ thuật cung cấp những gợi ý cho nhu cầu về một sản phẩm,dịch vụ nào đó trên Internet cho người sử dụng Những gợi ý được cung cấp là nhằm mụcđích hỗ trợ người sử dụng trong quá trình ra quyết định lựa chọn sản phẩm, dịch vụ,chẳng hạn như những sách nào có thể người dùng muốn mua, những bài hát nào có thểngười dùng thích nghe, hoặc tin tức nào người dùng muốn đọc Một vài ứng dụng nổitiếng về hệ thống Gợi ý như: Gợi ý sản phầm của Amazon.com [paper của amazon], hệ
tư vấn phim của NetFlix…[paper của về Netflix] Hệ thống gợi ý đã chứng minh được ýnghĩa to lớn: giúp cho người sử dụng trực tuyến đối phó với tình trạng quá tải thông tin
Hệ gợi ý trở thành một trong những công cụ mạnh mẽ và phổ biến trong thương mại điệntử
Theo Adomavicius và Tuzhilin, trong hầu hết các trường hợp, bài toán tư vấnđược coi là bài toán ước lượng trước hạng (rating) của các sản phẩm (phim, cd, nhà
Trang 8hàng …) chưa được người dùng xem xét Việc ước lượng này thường dựa trên nhữngđánh giá đã có của chính người dùng đó hoặc những người dùng khác Những sảnphẩm có hạng cao nhất sẽ được dùng để tư vấn.
Một cách hình thức, bài toán tư vấn được mô tả như sau:
Gọi U là tập tất cả các người dùng; I là tập tất cả các sản phẩm có thể tư vấn Tập I
có thể rất lớn, từ hàng tram ngàn (sách, phim, cd…) đến hàng triệu (website…) Tập U
cũng có thể lên tới hàng triệu
Hàm r(u,i) đo độ phù hợp hay hạng của sản phẩm i với người dùng r: u: U×I R
với R là tập được sắp thứ tự Với mỗi người dùng u ϵ U, cần tìm sản phẩm i’ϵ I sao chohàm r(u,i’) đạt giá trị lớn nhất: u ϵ U, i’u = argmaxi’ ϵ I r(u,i)
Trong hệ thống gợi ý, độ phù hợp của một sản phẩm thường được đo bằng điểm,
ví dụ người dùng A đánh giá bộ phim “Star war 3” được 7/10 điểm Tuy nhiên, độ phùhợp có thể là một hàm bất kỳ phụ thuộc vào ứng dụng cụ thể Giá trị của hàm u có thểđược xác định bởi người dùng hoặc tính toàn bằng một công thức nào đó
Mỗi người dùng trong không gian U được xác định bởi một hồ sơ (profile) Hồ sơnày bao gồm nhiều loại thông tin: tuổi, giới tính, thu nhập… hoặc chỉ gồm trường mã sốngười dùng ( user id) Tương tự mỗi sản phẩm s trong không gian I cũng được xác địnhbởi một tập đặc trưng Ví dụ trong hệ thống gợi ý phim, đặc trưng có thể là : tên phim,thể loại, đạo diễn, năm sản xuất, diễn viên chính…
Vấn đề chính của hệ thống gợi ý là hàm r không được xác định trên toàn khônggian U×I mà chỉ xác định trên một miền nhỏ của không gian này Điều này dẫn tới hàm r
phải được ngoại suy trong không gian U×I Thông thường, độ phù hợp được thể hiệnbằng điểm và chỉ xác định trên tập các sản phẩm đã từng được người dùng đánh giá từtrước ( thường khá nhỏ) Như ví dụ trong bảng dưới là đánh giá của một số người dụngvới các phim mà họ đã từng xem (thang điểm từ 0-10, Ø nghĩa là bộ phim chưa đượcngười dùng cho điểm) Từ những thông tin đó, hệ thống gợi ý phải dự đoán (ngoại suy)điểm cho các bộ phim chưa được người dùng đánh giá, từ đó đưa ra các gợi ý phù hợpnhất
Trang 9Đánh giá của người dùng về một số bộ phim đã xem
1.2 Cách thức hoạt động của hệ thống gợi ý
Nếu chúng ta thấy quá trình gợi ý như một hộp đen, như thể hiện trong hình 2, vàxác định hai nguồn thông tin cần thiết: user profile – thông tin người dùng, item data –thông tin các sản phẩm như đầu vào cho quá trình gợi ý Các thông tin này có thể đượclưu trữ theo các dữ liệu có cấu trúc, hoặc cũng có thể được rút ra từ các nguồn dữ liệu phicấu trúc: website liên quan, hành vi mua sắm… Thông tin về các sản phẩm, dịch vụ dướinhiều dạng khác nhau: siêu dữ liệu (metadata), hoặc thông tin về các đặc tính của sảnphẩm, hoặc chính sản phẩm đó với trường hợp dữ liệu điện tử Trong trường hợp sảnphẩm âm thanh (audio), video, các thông tin mà hệ gợi ý cần lưu trữ và thực hiện có kíchthước lớn, với nhiều chiều Kết quả đầu ra của hệ gợi ý được thể hiện trong hình dướiđây, là một tập các gợi ý cho người sử dụng Các đề xuất này phụ thuộc vào phương pháp
hệ gợi ý, nhưng cụ thể là một tập danh sách sản phẩm, các thông tin vắn tắt, hình chụp…
Quá trình hoạt động được thể hiện chi tiết hơn trong hình 3, bao gồm các bướcsau: tập hợp thông tin, lựa chọn, chuyển đổi, cấu trúc hóa thông tin, và biểu diễn thôngtin Tất cả các bước được trình bày trong hình 3 dưới đây là mô tả cụ thể các bước:
- Tập hợp thông tin (Information Recollection): các thông tin lưu trữ không được
thực hiện bởi hệ gợi ý, nhưng nó đóng một vai trò quang trọng Nó bao gồm các thông tin
cá nhân người sử dụng, lịch sử các giao dịch, thông tin về sự ưu tiên của người dùng(user preference), và thông tin về sản phẩm như metadata, đặc tính sản phẩm Bước nàyđóng một vai trò quan trọng, vì nó là cơ sở cho toàn bộ quá trình hệ gợi ý thực hiện dựđoán và đưa ra gợi ý cho người dùng Nếu thông tin thu thập không đầy đủ, hay mâu
Trang 10thuẩn; hệ thống gợi ý sẽ không thể thực hiện chức năng dự đoán, đưa ra đề xuất Vì lí donày, cần đặc biệt lưu ý quá trình thu thập thông tin vì nó phản ánh sở thích người dung,thông tin sản phẩm, dịch vụ.
- Lựa chọn thông tin (Selection): Bước lựa chọn bao gồm việc xác định những
thông tin liên quan trực tiếp đến quá trình xử lí, dự đoán Cách lựa chọn tập thông tin phuthuộc chặt chẽ và phương pháp tiếp cận của hệ thống Từ tập thông tin lựa chọn, giúpchúng ta xác định được độ tương quan giữa hai sản phẩm bất kì, hoặc hai người dùng
- Chuyển đổi thông tin (Transformation): mục tiêu chính của bước chuyển dổi là
thực hiện các biến đổi thong tin, xây dựng các mô hình, các hàm từ dữ liệu đã được xử lítrong hai bước đầu, biểu diễn thông tin dưới dạng quy định của hệ gợi ý, thực hiện các dựđoán
- Cấu trúc thông tin (Structuring): Cấu trúc thông tin có liên quan đến việc cấu
trúc, tổ chức thông tin mà người dùng duyệt qua các thông tin đề xuất đưa ra Bước nàybao gồm các hoạt động như nhóm nhóm các sản phẩm, xếp hạng các sản phẩm, phân loại,liên kết các sản phẩm có quan hệ với nhau…
- Trình bày thông tin (Presentation): Bước cuối cùng trong quá trình gời ý là đưa
ra các thông tin gợi ý cho người dùng theo các tiêu chuẩn: bố trí, định dạng tài liệu, màusắc, phông chữ…Đây là bước cuối cùng trong quá trình gợi ý, đưa thông tin đầu ra chongười dùng cụ thể
- Thông tin phản hồi: Thu nhận các thông tin phản hồi là một bước thêm vào, tùy
theo mỗi hệ thống gợi ý Mặc dù bước này là tùy chọn, nhưng nó giúp ích rất nhiều trongviệc cải thiện hoạt động, nâng cao kết quả của hệ gợi Phản hồi của người dùng được hệthống ghi nhận với hai dạng tiềm ẩn(implicit), hoặc rõ ràng (explicit) Với phản hồi rõràng (explicit feedback), người sử dụng cung cấp các thông tin thể hiện mức độ ưu tiênvới các sản phẩm liên quan Các phản hồi tiềm ẩn (implicit feedback) có được bằng cáchthu thập, phân tích các hành vi người dùng: lịch sử duyệt các sản phẩm, số lần viếngthăm, thời gian lưu lại…
Trang 111.3 Các chức năng của hệ thống gợi ý
Hệ thống Gợi ý là công cụ phần mềm với các đề xuất cho người dùng những sản phầm,dịch vụ mà họ có thể muốn sử dụng Dưới đây là một số chức năng của hệ thống:
Tăng số lượng các mặt hàng bán ra cho các hệ thống thương mại điện tử: Đây có lẽ làchức năng quan trọng nhất của hệ thống Gợi ý Thay vì người dùng chỉ mua một sảnphẩm mà họ cần, họ được Gợi ý mua những sản phẩm ‘có thể họ cũng quan tâm’ mà bảnthân họ không nhận ra Hệ thống Gợi ý tìm ra những ‘mối quan tâm ẩn’ Bằng cách đó,
hệ thống Gợi ý làm gia tăng nhu cầu của người dùng và gia tăng số lượng mặt hàng bánra.Tương tự đối với các hệ thống phi thương mại (như các trang báo), hệ thống Gợi ý sẽgiúp người dùng tiếp cận với nhiều đối tượng hơn
Bán các mặt hàng đa dạng hơn trên các hệ thống thương mại điện tử: Đây là chức năngquan trọng thứ hai của hệ thống Gợi ý Hầu hết các hệ thống thương mại đều có các mặthàng hết sức là đa dạng Khi nắm bắt được nhu cầu của người dùng, hệ thống Gợi ý dễdàng mang đến sự đa dạng trong sự lụa chọn hàng hóa
Tăng sự hài lòng người dùng: Vai trò chủ đạo của hệ thống Gợi ý là hiểu nhu cầu củangười dùng, gợi ý cho họ những thứ họ cần Chính vì vậy hệ thống Gợi ý tăng sự hàilòng của người dùng trên hệ thống
Tăng độ tin cậy, độ trung thực của người dùng: Một khi hệ thống gợi ý cho người dùngnhững lựa chọn và họ hài lòng vể những gợi ý đó thì lòng tin của họ đối với hệ thống (nơi
mà giúp họ tìm ra những thứ họ thực sự quan tâm) được nâng lên một cách đáng kể Đâythật sự là một điều thích thú và thu hút người dùng Có một điểm quan trọng là hệ thốngGợi ý hoạt động dựa trên những xếp hạng thật từ chính bản thân người dùng trong quákhứ Do đó, khi người dùng càng tin cậy vào hệ thống, đưa ra những đánh giá trung thực
Trang 12cho các sản phẩm, hệ thống sẽ mang lại cho người dùng nhiều gợi ý chính xác hơn, phùhợp với nhu cầu, sở thích của họ.
1.4 Các phương pháp khai thác dữ liệu được sử dụng
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ọcmáy, lí thuyết xấp sỉ, các thuật toán dựa trên kinh nghiệm…Các hệ thống tư vấn thườngđược phân thành ba loại dựa trên cách nó dùng để ước lượng hạng của sản phẩm:
1.4.1 Gợi ý dựa trên nội dung (Content-Based Recommendation System):
Gợi ý dựa trên nội dung được dựa trên sự sẵn có của mô tả về đối tượng Phương pháp tưvấn dựa trên nội dung, dựa trên độ 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 đó i’ ϵ I và tương tự như i Ví dụ, để gợi ýmột bộ phim cho người dùng u, hệ thống tư vấn sẽ tìm các đặc điểm của những bộ phimtừng được u đánh giá cao (như diễn viên, đạo diễn…); sau đó chỉ những bộ phim tươngđồng 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(IR-information retrieval) và lọc thông tin (IF - information filtering) 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 textnhư văn bản, tin tức, website… Những tiến bộ so với hướng tiếp cận cũ của IR là do việ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 đượcxâ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ảosá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)
Gợi ý dựa trên nội dung có những ưu điểm:
Đầu tiên, nó không yêu cầu số lượng người sử dụng lớn để đạt được độ chính xác đề nghịhợp lý
Ngoài ra, các mặt hàng mới có thể được Gợi ý ngay dựa trên thuộc tính có sẵn
Tuy nhiên, nhược điểm của Gợi ý dựa trên nội dung là khi thông tin mô tả đối tượng cóchất lượng kém và bị lỗi Trong một số trường hợp, những mô tả về nội dung rất khó để
so sánh và rút ra gợi ý, chẳng hạn so sánh nội dung của các file video, audio Việc phântích nội dung của các đối tượng sản phẩm để đưa ra các sản phẩm tương tự nhau, từ đóđưa ra các Gợi ý cho người dùng vẫn chưa phản ánh đúng sở thích của người dùng đó vớicác sản phẩm
1.4.2 Gợi ý lọc cộng tác để đánh giá tương quan (Collaborative Filtering
Recomnendation System):
Ý tưởng cơ bản của các hệ thống này là dựa vào các đánh giá của những người dùng quákhứ lên các sản phẩm, dịch vụ để dự đoán sự đánh giá của họ lên các sản phẩm, dịch vụ
mà họ chưa đánh
Trang 13Bài toán lọc cộng tác (hay đánh giá độ tương quan) dựa trên hành vi quá khứ của ngườidùng (trong việc đánh giá sản phẩm) để đưa ra dự đoán.
Đầu vào của bài toán là ma trận thể hiện những hành vi quá khứ, gọi là ma trận Ngườidùng- Sản phẩm (m trận User x Item) Hàng là người dùng, cột là sản phẩm, giá trị mỗi ô
là đánh giá của người dùng lên sản phẩm đó
Tùy theo hệ thống mà đánh giá của người dùng được quy ước những giá trị nào Trong
ví dụ này, các đánh giá có giá trị từ 1->5
Ở ma trận này, đánh giá của người dùng 1 đối sản phẩm 1 là 1, sản phẩm 3 là 5, sản phẩm
2 chưa được đánh giá
Đầu ra của bài toán là: đánh giá của người dùng lên những sản phẩm mà họ chưa đánhgiá Hệ thống Gợi ý dựa trên các đánh giá này mà xếp hạng các sản phẩm và gợi ý chongười dùng
Trong ví dụ này, hệ thống Gợi ý phải đưa ra dự toán, người dùng 1 đánh giá sản phẩm 2
là bao nhiêu Người dùng 3 đánh giá sản phẩm 1, 2, 3 là bao nhiêu
Hệ thống Gợi ý lọc cộng tác dự đoán độ phù hợp u (c,s) của một sản phẩm s với ngườidùng c dựa trên độ phù hợp u (c,s) giữa người dùng ci và c, trong đó ci là người có cùng
sở thích với c Ví dụ, để gợi ý một bộ phim cho người dùng c, đầu tiên hệ thống cộng táctìm những người dùng khác có cùng sở thích phim ảnh với c Sau đó, những bộ phimđược họ đánh giá cao sẽ được dùng để tư vấn cho c Có nhiều hệ thống cộng tác đã đượcphát triển như: Youtube (video), Amazon.com (sách)… Các hệ thống này có thể chiathành hai loại: dựa trên kinh nghiệm (heuristic-based hay memory-based) và dựa trên môhình (model-based)
1.4.3 Kết hợp các phương pháp (Hybrid):
Các cách tiếp cận khác nhau có những ưu điểm và nhược điểm riêng Do đó cần thiết kếthợp các kỹ thuật khác nhau để tận dụng ưu điểm và nhược điểm của các cách tiếp cận để
có được hệ thống Gợi ý chính xác hơn
Có thể phân thành bốn cách kết hợp như sau:
Trang 14Cài đặt hai phương pháp riêng rẽ rồi kết hợp dự đoán của chúng: Có hai kịch bản cho
trường hợp này Cách 1: Kết hợp kết quả của cả hai phương pháp thành một kết quảchung duy nhất, sử dụng cách kết hợp tuyến tính (linear combination) hoặc votingscheme Cách 2: Tại mỗi thời điểm, chỉ chọn phương pháp cho kết quả tốt hơn (dựa trênmột số độ đo chất lượng tư vấn nào đó) Ví dụ, hệ thống DailyLearner system chọnphương pháp nào đưa ra gợi ý với độ chính xác (confidence) cao hơn
Tích hợp các đặc trưng của phương pháp dựa trên nội dung vào hệ thống cộng tác: Một
số hệ thống lai (như Fab) dựa chủ yếu trên các kĩ thuật cộng tác nhưng vẫn duy trì hồ sơ
về người dùng (theo dạng của mô hình dựa trên nội dung) Hồ sơ này được dùng để tính
độ tương đồng giữa hai người dùng, nhờ đó giải quyết được trường hợp có quá ít sảnphẩm chung được đánh giá bởi cả hai người Một lợi ích khác là các gợi ý sẽ không chỉgiới hạn trong các sản phẩm được đánh giá cao bởi những người cùng sở thích (giántiếp), mà còn cả với những sản phẩm có độ tương đồng cao với sở thích của chính ngườidùng đó (trực tiếp)
Tích hợp các đặc trưng của phương pháp cộng tác vào hệ thống dựa trên đặc trưng:
Hướng tiếp cận phổ biến nhất là dùng các kĩ thuật giảm số chiều trên tập hồ sơ củaphương pháp dựa trên nội dung Ví dụ, sử dụng phân tích ngữ nghĩa ẩn (latent semanticanalysis) để tạo ra cách nhìn cộng tác (collaborative view) với tập hồ sơ người dùng (mỗi
hồ sơ được biểu diễn bởi một vector từ khóa)
Xây dựng mô hình hợp nhất, bao gồm các đặc trưng của cả hai phương pháp: đề xuất kết
hợp đặc trưng của cả hai phương pháp vào một bộ phân lớp dựa trên luật (rule-basedclassifier) Popescul và cộng sự trong đưa ra phương pháp xác suất hợp nhất dựa trênphân tích xác suất ngữ nghĩa ẩn (probabilistic latent semantic analysis)
Trang 151.4.4 Một số phương pháp khác
Hệ gợi ý dựa trên profile của người dùng (Demographic):
Hệ thống đưa ra gợi ý về sản phẩm dựa trên các điểu tra khảo sát mang tính xã hội họcdựa trên profile của người dùng Hệ thống tập trung vào việc phân loại người dùng dựatrên các đặc tính cá nhân: tuổi, giới tính, nghề nghiệp, trình độ học vấn…
Dựa trên tri thức (Knowledge-based):
Hệ gợi ý dựa trên tri thức (knowledge-based recommender system) đưa ra các gợi ý vềsản phẩm trong một lĩnh vực cụ thể, dựa trên việc xem xét các đặc tính của sản phẩm,nhu cầu và sở thích người dung, đánh giá dụng ích của sản phầm
Trang 161.5 Đánh giá các phương pháp
Các phương pháp học trong hệ gợi ý đều có điểm mạnh và điểm yếu Một số vấn đề cần giải quyết trong hệ gợi ý:
Người dùng mới: Vì hệ thống đưa ra gợi ý dựa trên kết quả so sánh giữa người dùng yêu
cầu và những người dùng khác trong hệ thống thông qua đánh giá của người dùng với sảnphẩm, người dùng có ít đánh giá sẽ khó khăn hơn trong việc phân loại người dùng
Sản phẩm mới : sản phẩm có ít đánh giá sẽ khó khăn cho việc đưa ra gợi ý Vấn để xét
tới ở đây “early rater”, những người đầu tiên đánh giá một sản phẩm sẽ nhận được ít lợi ích từ việc đánh giá này
Để giải quyết các vấn đề này, cần có cơ chế để người dùng cung cấp các thông tin khởi tạo cần thiết (user profile) trước khi hệ thống có thể đưa các gợi ý
Mức độ thưa của dữ liệu (sparsity): trong các hệ gợi ý, số lượng đánh giá của người dùng được thu thập thường rất nhỏ so với số lượng người dùng nhân với số lượng sản phẩm
Vì vậy yêu cầu đặt ra là một phương pháp dự đoán hoạt động hiệu quả trong cả trường hợp dữ liệu thu thập không lớn
Quy mô hệ thống (Scalability): hệ gợi ý cần được thiết kế để hoạt động tốt cùng với sự tăng lên của số lượng người dùng và số lượng sản phẩm
Một vài bài báo như đã thực hiện so sánh hiệu năng của hệ thống lai ghép với các hệthống dựa trên nội dung hoặc cộng tác thuần túy và cho thấy hệ thống lai ghép có độchính xác cao hơn
Trang 17Phương pháp Ưu điểm Nhược điểm
Dựa trên nội dung
(content base)
1 Tri thức chuyên gia
có thể không áp dụng
2 Mức động: độ chính xác nâng lên theo thời gian
3 Độ chính xác được cải thiện theo thời gian hoạt động
1 Vấn đề người dùng mới
2 Độ chính xác phụ thuộc vào khối lượng dữ liệu
3 Vấn đề về sự ổn đinh, tính mềm dẻo
Lọc cộng tác
(Collaborative)
1 Áp dụng được với nhiều loại sản phẩm
2 Tri thức chuyên gia
có thể không áp dụng
3 Độ chính xác được cải thiện theo thời gian hoạt động
1 Vấn đề người dùng mới
2 Vấn đề sản phẩm mới
3 Vấn đề “gray sheep”
4 Độ chính xác phụ thuộc vào khối lượng dữ liệu
5 Vấn đề về sự ổn đinh, tính mềm dẻodựa trên profile của người
dùng
(Demographic)
1 Áp dụng được với nhiều loại sản phẩm
2 Tri thức chuyên gia
có thể không áp dụng
3 Độ chính xác được cải thiện theo thời gian hoạt động
1 Vấn đề người dùng mới
2 Vấn đề “gray sheep”
3 Độ chính xác phụ thuộc vào khối
4 Vấn đề về sự ổn đinh, tính mềm dẻo
Dựa trên tri thức
(Knowledge-based)
1 Nhạy với sự thay đổinhu cầu, sở thích người dùng
2 Sử dụng các đặc điểm về dụng ích sản phầm
3 Ánh xạ giữa nhu cầu
1 Có thể đưa ra gợi ý không cần trải qua quá trình học
2 Yêu cầu kiến thức chuyên gia
Trang 18người dùng và sản phẩm