Mục tiêu cụ thể là tìm hiểu phương pháp lọc cộng tác dựa trên sản phẩm, tìm hiểu các thuật toán tính độ tương tự và dự đoán, đánh giá và so sánh chất lượng tư vấn của các thuật toán.. •
Trang 1LỜI CAM ĐOAN
Tôi xin cam đoan những kết quả được trình bày trong luận văn này là của riêng tôi, không sao chép từ bất kỳ một công trình nào khác Nếu có điều gì không trung thực, tôi xin chịu hoàn toàn trách nhiệm
Học viên
Hoàng Thịnh
Trang 2Lời Cảm Ơn
Lời đầu tiên, cho phép tôi gửi lời cảm ơn đến TS Võ Viết Minh Nhật, mặc dù rất bận rộn trong công việc nhưng thầy đã luôn quan tâm giúp đỡ, hướng dẫn, chỉ bảo tận tình giúp tôi hoàn thành luận văn này
Tôi xin chân thành cảm ơn Quý Thầy Cô trong Khoa Công nghệ thông tin trường Đại Học Khoa học Huế vì những kiến thức mà quý Thầy Cô truyền đạt cho tôi trong suốt quá trình học tập tại trường
Xin chân thành cảm ơn các anh chị em lớp cao học Khoa học máy tính khoá 2011-2013 và các bạn đồng nghiệp đã luôn bên cạnh, động viên, khuyến khích tôi trong suốt thời gian học tập và thực hiện đề tài
Cuối cùng, tôi xin gửi đến gia đình, chính từ sự hỗ trợ và động viên từ phía gia đình mà tôi yên tâm học tập tốt và hoàn thành luận văn.
Xin chân thành cảm ơn!
Người thực hiện
Hoàng Thịnh
Trang 3MỤC LỤC
Trang
LỜI CAM ĐOAN i
Lời Cảm Ơn ii
MỤC LỤC iii
DANH MỤC CÁC BẢNG v
DANH MỤC CÁC HÌNH VẼ vi
MỞ ĐẦU 1
Chương 1 4
TỔNG QUAN VỀ HỆ THỐNG TƯ VẤN 4
1.1 Hệ thống tư vấn 4
1.1.1 Giới thiệu chung 4
1.1.2 Ứng dụng của hệ thống tư vấn 5
1.2 Bài toán tư vấn 6
1.3 Phân loại hệ thống tư vấn 7
1.3.1 Phương pháp tư vấn dự trên nội dung ( Content based algorithms) 8
1.3.2 Phương pháp tư vấn dự trên lọc cộng tác 13
1.3.3 Tư vấn dựa trên cách tiếp cận kết hợp 19
1.4 Kết luận chương 1 20
Chương 2 21
HỆ THỐNG LỌC CÔNG TÁC DỰA TRÊN SẢN PHẨM 21
2.1 Lọc cộng tác dựa trên sản phẩm (Item-based Collaborative Filtering) 21
2.2 Các thuật toán tính độ tương tự 23
2.2.1 Độ tương tự Cosine (Cosine-based Similarity) 24
2.2.2 Độ tương tự dựa theo khoảng cách Euclidean điều chỉnh (Adjusted Euclidean Distance similarity) 25
2.2.3 Độ tương tự tương quan (correlation-based similarity) 27
2.2.4 Độ tương tự cosine điều chỉnh (Adjusted Cosine similarity) 28
2.3 Tính toán dự đoán và tư vấn 30
2.3.1 Công thức dự doán dựa trên trung bình đánh giá sản phẩm lân cận 30
2.3.2 Công thức dự đoán dựa trên tổng trọng số (Weighted Sum) 31
Trang 42.3.3 Công thức dự đoán dựa trên tổng trọng số với đánh giá trung bình của người dùng 32
2.3.4 Công thức dự đoán dựa trên tổng trọng số với trung bình đánh giá lên sản phẩm 33
2.4 Đánh giá các yếu tố ảnh hưởng đến độ chính xác kết quả tư vấn 35
2.4.1 Đánh giá chất lượng của hệ thống tư vấn 35
2.4.2 Các yếu tố ảnh hưởng đến độ chính xác tư vấn 36
2.5 Kết luận chương 2 38
Chương 3 39
MÔ PHỎNG VÀ ĐÁNH GIÁ CÁC THUẬT TOÁN TƯ VẤN 39
3.1 Dữ liệu thử nghiệm và phương pháp đánh giá 39
3.1.1 Mô tả dữ liệu 39
3.1.2 Phương pháp đánh giá chất lượng của hệ thống tư vấn 39
3.1.3 Môi trường và công cụ 40
3.2 Cài đặt thuật toán 40
3.2.1 Cài đặt thuật toán tính độ tương tự 40
3.2.2 Cài đặt thuật toán dự đoán tư vấn 42
3.3 Kết quả thử nghiệm 46
3.3.1 Thử nghiệm tư vấn với số lượng lân cận khác nhau: 46
3.3.2 Thử nghiệm với tư vấn với các độ tương tự khác nhau 47
3.3.3 Thử nghiệm tư vấn với các công thức dự đoán: 49
3.4 Kết luận chương 3 50
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 51
TÀI LIỆU THAM KHẢO 52
Trang 5CÁC THUẬT NGỮ SỬ DỤNG TRONG TÀI LIỆU
sản phẩm, phim, ảnh, bản nhạc, trang web, đoạn văn bản,…
sản phẩm Rating có thể có nhiều biểu hiện: như đánh giá thích hoặc không thích, hay đánh già theo mức độ từ 1-5 đại diện từ không thích đến rất thích
DANH MỤC CÁC BẢNG
Trang 6Số hiệu
DANH MỤC CÁC HÌNH VẼ
Trang 7Số hiệu
3.1 Biểu đồ sai số lỗi tuyệt đối của hệ thống tư vấn với các lân cận 483.2 Biểu đồ sai số tuyệt đối của hệ thống tư vấn với các thuật toán tính độ tương tự 493.3 Biểu đồ độ chính xác của hệ thống tư vấn với các thuật toán dự đoán 493.4 Biểu đồ sai số lỗi tuyệt đối của hệ thống tư vấn với các thuật toán dự đoán 503.5 Biểu đồ độ chính xác của hệ thống tư vấn với các thuật toán dự đoán 51
Trang 8MỞ ĐẦU
• Lý do chọn đề tài
Sự phát triển của Internet đã mở ra cho con người rất nhiều cơ hội mới, nhưng cũng đầy thách thức Với Internet, con người có cơ hội được tiếp cận với nguồn thông tin gần như vô hạn và vẫn đang tăng lên một cách nhanh chóng mỗi ngày Tuy nhiên, việc chọn được đúng thông tin cần thiết từ nguồn tin khổng lồ đó không
hề đơn giản Con người càng ngày càng mất nhiều thời gian vào việc tìm kiếm và chọn lọc thông tin Vấn đề được đặt ra là người dùng cần có những tư vấn để có thể tìm được thông tin như mong đợi một cách nhanh chóng
Từ khi thương mại điện tử ra đời, nó đang ngày càng phát triển mạnh mẽ, hầu hết tất cả các mặt hàng đều được trao đổi mua bán trên Internet Điều này khá thuận lợi cho khách hàng lựa chọn, tuy nhiên đó cũng tạo ra những khó khăn Với mỗi từ khóa được tìm kiếm, khách hàng vẫn phải lựa chọn trong danh sách hàng trăm thậm chí hàng nghìn sản phẩm có vẻ phù hợp Do đó khách hàng cần có một sự trợ giúp nào đó để có thể tìm kiếm được sản phẩm phù hợp với mình nhất, do đó hệ thống tư vấn ra đời Ngày nay, hệ thống tư vấn không chỉ phát triển trong thương mại, nó còn được nghiên cứu và áp dụng trong lĩnh vực như tư vấn phim, tư vấn âm nhạc, tư vấn sách…
Tư vấn lựa chọn là một trong những phương pháp lọc thông tin được quan tâm nhiều nhất Hệ thống tư vấn lựa chọn là những hệ thống có thể “hiểu” được người dùng và có thể đưa ra được những gợi ý cho người dùng
Đầu những năm 90 của thế kỷ XX, một hướng nghiên cứu mới cho các hệ thống tư vấn lựa chọn, đó là lọc cộng tác Ngay từ khi ra đời, các hệ thống tư vấn dựa trên lọc cộng tác đã thể hiện được những ưu điểm cùng tính kinh tế của mình
Nó nhanh chóng thu hút được sự quan tâm nghiên cứu và đã được ứng dụng thành công trong khá nhiều hệ thống thương mại như www.amazon.com, www.ebay.com, Do nhu cầu cao như vậy nên các phương pháp xây dựng giải thuật tư vấn nhận được nhiều sự quan tâm trong giới nghiên cứu
Trang 9Trong phạm vi luận văn cao học, tôi chọn đề tài “Tìm hiểu phương pháp lọc cộng tác dựa trên Item”
• Mục đích nghiên cứu
Mục tiêu đặt ra của luận văn trong đề tài này là: Tìm hiểu tổng quan về hệ thống tư vấn, các phương pháp được sử dụng trong hệ thống tư vấn, quy trình thực hiện tư vấn, ứnng dụng của hệ thống tư vấn trong thực tiễn
Mục tiêu cụ thể là tìm hiểu phương pháp lọc cộng tác dựa trên sản phẩm, tìm hiểu các thuật toán tính độ tương tự và dự đoán, đánh giá và so sánh chất lượng tư vấn của các thuật toán
• Đối tượng và phạm vi nghiên cứu
Nghiên cứu các phương pháp tính độ tương tự, và dự đoán trong hệ thống tư vấn lọc cộng tác dựa trên sản phẩm (item) với các tập dữ liệu phim trên hệ thống Group Lens
• Phương pháp nghiên cứu
Nghiên cứu lý thuyết, phân tích quá trình thực hiện, mô phỏng, cài đặt thuật toán, so sánh đánh giá và rút ra kết luận từ các kết quả thu được
• Ý nghĩa khoa học và thực tiễn của đề tài
Hệ thống tư vấn là những công cụ cung cấp các gợi ý về các sản phẩm cho người dùng Một vấn đề quan trọng và phổ biến trong kỹ thuật tư vấn là sử dụng các phương pháp tư vấn nhằm tăng chất lượng tư vấn và thời gian tính toán để áp dụng trong các lĩnh vực: kinh doanh thương mại, dịch vụ … Phương pháp lọc cộng tác dựa trên sản phẩm sử dụng các giải thuật tính toán độ tương tự các sản phẩm để đưa
ra các tư vấn cho người dùng
Đề tài nghiên cứu các bước trong quá trình tư vấn, các giải pháp khắc phục các yếu tố ảnh hưởng đến chất lượng, nhằm cải thiện được kết quả tư vấn sản phẩm phù hợp với yêu cầu thực tế của người dùng
Với mục tiêu trên, luận văn được chia làm ba chương:
Chương 1: Các kiến thức tổng quan
Chương này trình bày tổng quan về hệ thống tư vấn, các phương pháp tư vấn
Trang 10Chương 2: Phương pháp tư vấn lọc cộng tác dựa trên sản phẩm
Chương này trình bày về mô hình lọc cộng tác dựa trên sản phẩm, các thuật toán tính toán độ tương tự, các giải thuật dự đoán
Chương 3: Mô phỏng và cài đặt thuật toán tư vấn
Chương này trình bày mô phỏng và cài đặt thuật toán tư vấn lọc cộng tác dựa trên sản phẩm
Trang 11Chương 1 TỔNG QUAN VỀ HỆ THỐNG TƯ VẤN 1.1 Hệ thống tư vấn
1.1.1 Giới thiệu chung
Hệ thống tư vấn (Recommender Systems -RSs) là những công cụ hay kỹ thuật
phần mềm cung cấp các gợi ý về các sản phẩm (items) cho người dùng (users) Các gợi ý này liên quan đến quá trình ra quyết định, như sản phẩm cần mua, loại âm nhạc cần nghe, hoặc tin tức cần đọc,
"Items" là một thuật ngữ chung được sử dụng để chỉ những gì mà hệ thống tư vấn cho người dùng Một hệ thống tư vấn thường tập trung vào một loại sản phẩm
cụ thể (ví dụ, đĩa CD, tin tức, dịch vụ …) và do đó sự thiết kế, giao diện đồ họa (GUI) và kỹ thuật cốt lõi được sử dụng để tạo ra tư vấn có thể tùy chỉnh để cung cấp các gợi ý hữu ích và cụ thể về một loại sản phẩm Trong phạm vi luận văn này, thuât ngữ “sản phẩm” sẽ được dùng thay thế cho từ “item”
Vào giữa thập niên 1990, hệ thống tư vấn được xem như là một lĩnh vực nghiên cứu độc lập khi bắt đầu tập trung vào những vấn đề liên quan đến tư vấn mà phụ thuộc rõ ràng những cấu trúc trọng số Trong hầu hết các trường hợp, tư vấn được đưa về việc đánh giá trọng số cho những sản phẩm mà người dùng chưa chọn lựa (sử dụng)
Trong hình thức đơn giản nhất, các tư vấn mang tính cá nhân hóa cung cấp một danh sách các sản phẩm đã được xếp hạng Để thực hiện việc xếp hạng này, hệ thống tư vấn cố gắng dự đoán các sản phẩm hoặc dịch vụ phù hợp nhất dựa trên sở thích của người dùng Để hoàn thành một công việc như thế, hệ thống tư vấn thu thập sở thích của các người dùng, bằng cách dựa trên các xếp hạng của họ về các sản phẩm hoặc được suy diễn từ các hành động của người dùng Ví dụ, một hệ thống tư vấn có thể xem xét việc một người dùng xem thông tin trên website của một trang sản phẩm như là một dấu hiệu ngầm định về sở thích của người đó đối với sản phẩm trên trang đó
Trang 12Ví dụ minh họa hoạt động của 1 hệ thống tư vấn: Một người dùng đăng nhập vào một hệ thống website đọc sách, người này cần xem 1 quyển sách về văn học nhưng không biết là nên xem quyển sách nào, hệ thống website cần tư vấn cho người đó xem một hoặc vài quyển sách mà dự đoán rằng người này sẽ thích quyển sách mà được hệ thống tư vấn Để tư vấn được cho người dùng, hệ thống cần thu thập các thông tin về người dùng và các người dùng khác, thông tin các quyển sách
Có một vài cách tư vấn truyền thống đơn giản nhất như, chọn những quyển sách được nhiều người ưa thích nhất, hoặc chọn những quyển mới nhất để tư vấn Tuy nhiên để nâng cao chất lượng của tư vấn cho người dùng, hệ thống tư vấn cần sử dụng các thông tin của tất cả những người dùng và thông tin của tất cả các sản phẩm, sử dụng các thuật toán để đưa ra tư vấn phù hợp nhất cho người dùng
Hình 1.1: Minh họa hệ thống tư vấn sách cho người đọc
1.1.2 Ứng dụng của hệ thống tư vấn
Phạm vi ứng dụng của hệ thống tư vấn lựa chọn là rất rộng Trong thương mại điện tử, hầu hết các hệ thống này là các hệ thống bán sách, giới thiệu phim, tin tức, đĩa CD ca nhạc, các trang Web
• Phim: Firefly, MovieCritic, MovieLens, Mangarate, Morse
• Âm nhạc: Firefly, CdNow
Trang 13• Tin tức: Shift, Infoscan, NewsSieve, Borger, RAMA, GroupLens
• Tài liệu: Fab
• Thương mại điện tử: TripMatcher (du lịch), ShopMatcher, E-Markets
1.2 Bài toán tư vấn
Theo Adomavicius và Tuzhilin trong [6], 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 đánh giá (rating) của các sản phẩm (phim, cd, sách, nhà hàng,…) chưa được người dùng xem xét Việc ước lượng này thường dựa trên các đánh giá đã có của chính người dùng đó hoặc những người dùng khác Những sản phẩ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 các người dùng (Users) của hệ thống
Gọi I là toàn bộ không gian đối tượng sản phẩm (Items)
Hàm r(u,i) là đánh giá (độ phù hợp) của người dùng u với sản phẩm i
Vậy bài toán là sự ánh xạ r: UxI R Trong đó R chính là tập hợp các đối tượng được đưa ra giới thiệu
Tập R sẽ được sắp xếp theo thứ tự giảm dần của r Công việc chính của giải thuật là đi tìm giá trị hàm r=f(u, i), với r lớn nhất là sản phẩm i được người dùng u
ưa thích nhất
Trong hệ thống tư vấn, độ phù hợp của một sản phẩm thường được cho bằng điểm, ví dụ người dùng A đánh giá bộ phim Star war 3 được điểm 7/10 Tuy nhiên, nhìn chung độ phù hợp có thể là một hàm bất kì tùy thuộc vào ứng dụng cụ thể Giá trị của r có thể được xác định bởi người dùng hoặc được tính toán bởi 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ồ
Trang 14sơ này có thể gồm rất nhiều loại thông tin: tuổi, giới tính, thu nhập, … hoặc có thể chỉ gồm một mã người dùng (user id) duy nhất Tương tự, mỗi sản phẩm trong không gian I cũng được xác định bởi một tập các đặc trưng Ví dụ, trong hệ thống
tư vấn phim, đặc trưng của mỗi bộ phim 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 tư vấn là r không được xác định trên toàn không gian U × I mà chỉ trên một miền nhỏ của không gian đó Điều này dẫn tới việc 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ện bằ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 Ví dụ, bảng 1 mô tả đánh giá của một số người dùng với các phim mà họ đã xem (thang điểm từ 1-5, kí hiệu Ø nghĩa là bộ phim chưa được người dùng đánh giá) Từ những thông tin đó, hệ thống tư vấn phải dự đoán điểm cho các bộ phim chưa được người dùng đánh giá, từ đó đưa ra những gợi
ý phù hợp nhất
Bảng 1.1: Minh họa đánh giá của người dùng về 1 số bộ phim đã xem
1.3 Phân loại hệ thống tư vấn
Có rất nhiều cách để dự đoán, ước lượng hạng/điểm cho các sản phẩm như sử dụng học máy, lí thuyết xấp sỉ, các thuật toán dựa trên kinh nghiệm … Theo [6], các
hệ thống tư vấn thường được phân thành ba loại:
• Tư vấn dựa trên nội dung: Người dùng sẽ được tư vấn những sản
phẩm tương tự với những sản phẩm đã được người dùng đó ưa thích trước đây
• Tư vấn dựa trên cộng tác: Người dùng sẽ được tư vấn những sản
phẩm được ưa chuộng xuất phát từ những người dùng có cùng thị hiếu và sở thích với mình
• Tư vấn dựa trên cách tiếp cận kết hợp: Kết hợp hai phương pháp tiếp
cận dựa trên nội dung và cộng tác
Trang 151.3.1 Phương pháp tư vấn dự trên nội dung ( Content based algorithms)
Với phương pháp tư vấn dựa trên nội dung, độ phù hợp r(u,i) của sản phẩm i với người dùng u được đánh giá dựa trên độ phù hợp r(u,i’) trong đó 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ộ phim từ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 (Information Retrieval) và lọc thông tin (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 văn bản như tin tức, website Những tiến bộ so với hướng tiếp cận cũ của 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 được xây dựng dựa trên những thông tin được người dùng cung cấp trực tiếp (khi trả lời khảo sát) hoặc gián tiếp (do khai phá thông tin từ các giao dịch của người dùng)
Hình 1.2: Minh họa phương pháp tư vấn dựa trên lọc nội dung
Giả sử ta xem Content(i) là một thông tin riêng của sản phẩm, nghĩa là một
tập các đặc tính đặc trưng cho sản phẩm i Nó thường được tính toán thông qua việc trích rút từ tập các đặc tính của sản phẩm i (nội dung của nó) và ứng với mỗi mục
Trang 16đích tư vấn sẽ xác định ra sản phẩm thích hợp Dễ dàng nhận thấy những hệ thống
tư vấn dựa trên nội dung thường thiết kế cho hầu hết những sản phẩm được tư vấn dựa trên text (văn bản) và nội dung của những hệ thống này được mô tả như là một
từ khóa (keyword) Chẳng hạn, thành phần của hệ thống Fab.com dựa trên nội dung
tư vấn trang Web cho người dùng, trình bày nội dung trang Web đó với 100 từ quan trọng nhất “Tầm quan trọng” (việc cung cấp nhiều thông tin) của từ kj trong tài liệu
dj được xác định bằng độ đo trọng số wij định nghĩa qua một vài phương pháp khác nhau
Một trong những thước đo phổ biến để xác định mức độ quan trọng của từ khóa trong việc truy vấn thông tin là đo tần suất xuất hiện của mục từ trong tài liệu (Term Frequency ) và tần số nghịch đảo của tần suất xuất hiện các tài liệu (Inverse Document Frequency) được định nghĩa như sau: Giả sử N là tổng số tài liệu được tư vấn cho người dùng và từ khóa kj xuất hiện trong ni của chúng (ni là tổng số tài liệu
có từ khóa k) Giả sử fi,j là số lần từ khóa ki xuất hiện trong tài liệu dj TFi,j là tần
số xuất hiện từ khóa ki trong tài liệu dj:
j z z
j
f TF
,
, , =max
Trong đó:maxz fz,j
là số lần xuất hiện cao nhất của từ khóa kz trong toàn tập tài liệu dj Tuy nhiên, những từ khóa xuất hiện trong nhiều tài liệu có thể không được phân biệt với nhau giữa tài liệu liên quan và không liên quan Vì vậy, tần số nghịch đảo tần suất xuất hiện của các tài liệu IDFi được đưa ra để phân biệt giữa các từ khóa này và thường dùng kết hợp với tần suất xuất hiện của từ khóa (TFi,j mang lại tầm quan trọng cho từ khóa):
i i
n
N IDF =log
Vậy sự kết hợp của TF và IDF sẽ xác định mức độ quan trọng của từ khóa ki cần xét
i j
j TF IDF
w, = , ×
Và nội dung của tài liệu dj được xác định như sau:
Trang 17), ,()(d j w1j w kj Content =
Như đã nói ở trên, hệ thống dựa trên nội dung thường được dùng để tư vấn những những sản phẩm đã được người dùng đó trước đây ưa thích Cụ thể, những sản phẩm được tiến cử đem so sánh trọng số với các sản phẩm mà người dùng trước đây đã sử dụng và từ đó tìm ra sản phẩm phù hợp nhất để tư vấn
ContentBasedProfile(u) là hồ sơ cá nhân của người dùng u chứa những thị hiếu và
sở thích của người dùng Hồ sơ cá nhân thu được thông qua việc phân tích nội dung của những sản phẩm và trọng số do người dùng đánh giá trước đó, nó thường được xây dựng bằng cách sử dụng kỹ thuật phân tích từ khóa từ việc truy vấn thông tin
Chẳng hạn, ContentBasedProfile(u) có thể được định nghĩa như là một véc-tơ của
những mức độ quan trọng (wu1, …., wuk) , mỗi mức này sẽ biểu diễn tầm quan trọng của từ khóa ki với người dùng u và nó có thể được tính toán từ các véc-tơ nội dung
đã được đánh trọng số cụ thể thông qua các kỹ thuật khác nhau Ví dụ một vài phương pháp tính trung bình cộng, tính toán ContentBasedProfile (u) như là một véc-tơ “trung bình” từ những véc-tơ nội dung cụ thể Mặt khác, sử dụng phân loại Bayes để đánh giá khả năng giống nhau của tài liệu
Trong những hệ thống dựa trên nội dung, hàm tiện ích r(u,i) thường được định nghĩa như sau:
))(),
(Pr(
),(u i score ContentBas e ofile u content i
của các từ khóa quan trọng Hàm r(u,i) được biểu diễn trong việc truy vấn thông
tin thường được xác định theo véc-tơ wu
j u j
i u
i u
w w
w w
w
1
2 , 1
2 ,
, 1
,
2 2
Trang 18Trong đĩ K là tổng số các từ khĩa trong hệ thống.
Ví dụ, nếu user u đọc nhiều bài báo trực tuyến về chủ để Tin Sinh Học thì kỹ thuật tư vấn dựa trên nội dung sẽ cĩ khả năng tư vấn những bài báo khác về tin sinh học cho user u nếu nĩ cĩ nhiều thuật ngữ liên quan đến tin sinh học hơn vì vậy ContentBasedProfile (u) sẽ được xác định bằng véc-tơ wu
mơ tả các thuật ngữ kj
với mức độ quan trọng cao wju Hơn nữa, hệ thống tư vấn này cịn sử dụng cosine hoặc thước đo mức độ tương đồng để gán giá trị hàm r(u,i) cao cho những bài báo i
cĩ nhiều thuật ngữ tin sinh học và giá trị hàm hàm r(u,i) thấp cho những bài báo cĩ
ít thuật ngữ tin sinh học hơn thơng qua véc-tơ wi
.Bên cạnh phương pháp truy vấn thơng tin mà cơ sở là dựa trên các hàm heuristic truyền thống, tư vấn dựa trên nội dung cịn sử dụng các kỹ thuật khác như phân loại Bayes và nhiều kỹ thuật máy học khác bao gồm phân cụm, cây quyết định, và mạng nơ-ron nhân tạo Những kỹ thuật này khác với phương pháp dựa trên việc truy vấn thơng tin, ở đây chúng tính tốn hàm tiện ích khơng dựa trên hàm heuristic giống như việc đánh giá độ tương quan bằng hàm cosine mà nĩ dựa trên các mơ hình được biết từ dữ liệu phía dưới nhờ sử dụng các kỹ thuật máy học và thống kê Chẳng hạn, dựa trên tập các trang Web được đánh trọng số thể hiện mức
độ liên quan đến người dùng, sử dụng kỹ thuật phân loại Nạve Bayes để phân loại các trang Web khơng được đánh trọng số Hơn nữa, kỹ thuật phân loại Nạve Bayes thường được dùng để đánh giá xác suất trang pj cĩ thuộc lớp Ci khơng (cĩ quan hệ hay khơng cĩ quan hệ) dựa vào tập các từ khĩa k1,j ,……,kn,j trong trang đĩ:
Ngồi ra, giả thuyết rằng các khĩa này độc lập với nhau vì vậy xác suất ở trên tương ứng với:
∏
x
i j x
i P K C C
P( ) ( , | )Mặc dù giả thuyết các từ khĩa độc lập với nhau khơng nhất thiết phải áp dụng
ở nhiều ứng dụng nhưng kết quả thực nghiệm đã chứng minh kỹ thuật phân loại
Nạve Bayes vẫn đưa ra độ chính xác cao về mức độ phân loại Hơn nữa cả P (k x,j |
Trang 19C i ) và P (C i ) có thể được đánh giá từ dữ liệu hướng dẫn phía dưới Với mỗi trang pj,
xác suất P (C i | k 1,j & …& k n,j ) được tính toán ứng với mỗi lớp Ci và trang pj sẽ được gán cho lớp Ci nếu nó có xác suất lớn nhất
Khi việc cung cấp kỹ thuật tư vấn không rõ ràng thì tập truy vấn văn bản sẽ đưa ra một vài kỹ thuật thường được sử dụng trong những hệ thống tư vấn nội dung Một trong số đó là kỹ thuật lọc thích ứng; nó tập trung vào việc nhận biết các tài liệu liên quan cũng như là quan sát từng tài liệu trong những luồng tài liệu tiếp theo
để tăng thêm độ chính xác Một ví dụ khác là đặt ngưỡng (threshold setting) Nó tập trung vào việc xác định phạm vi tài liệu ăn khớp với những câu truy vấn được đưa
ra liên quan đến người dùng
Theo như nhận xét trong [6] hệ thống tư vấn hướng dựa trên nội dung đưa ra một số những giới hạn sau:
- Giới hạn trong phân tích nội dung: Nếu hai sản phẩm khác nhau được
biểu diễn cùng một tập đặc trưng thì chúng không thể phân biệt được Vì vậy khi những tài liệu dựa trên văn bản thường được biểu diễn dưới những từ khóa quan trọng, thì những hệ thống dựa trên nội dung không thể phân biệt được cái nào hợp, cái nào không hợp nếu chúng cùng sử dụng một thuật ngữ
- Quá chuyên môn hóa (overspecialization): Khi hệ thống chỉ có thể tư vấn
những sản phẩm có trọng số cao dựa trên những thông tin của người dùng, thì người dùg sẽ bị giới hạn trong việc tư vấn những sản phẩm khác có liên quan sản phẩm trên mà đã được đánh trọng số Chẳng hạn, một người không có kinh nghiệm với các món ăn của người Huế thì ngay cả những cửa hàng lớn nhất kiểu Huế trong thành phố cũng không bao giờ được tư vấn Đây là một vấn đề đã được nghiên cứu trong nhiều lĩnh vực, nó thường được ấn định bằng việc giới thiệu một cách ngẫu nhiên Chẳng hạn, việc sử dụng những thuật toán di truyền được đề xuất như là khả năng giải quyết các vấn đề về ngữ cảnh của việc lọc thông tin Thêm vào đó, vấn đề liên quan đến việc quá chuyên môn hóa còn là những hệ thống dựa trên nội dung không thể tư vấn những sản phẩm mà khác với những gì mà người dùng đã biết trước đó Trong trường hợp nào đó, những sản phẩm không nên được tư vấn nếu
Trang 20chúng có quá nhiều điểm tương đồng với những gì mà người dùng đã gặp, như một bài báo tin tức tuy là khác nhau nhưng đưa về cùng một sự kiện Vì vậy, một vài hệ thống tư vấn dựa trên nội dung không chỉ lọc ra những sản phẩm có quá nhiều điểm khác với sở thích của người dùng mà còn lọc cả chính những sản phẩm có quá nhiều điểm giống của người dùng trước đó Nói tóm lại, tính đa dạng của việc tư vấn thường là những đặc điểm mô tả trong hệ thống tư vấn Lý tưởng nhất là người dùng sẽ tự đưa ra trọng số của những lựa chọn thay cho việc đưa ra một tập các khả năng lựa chọn Chẳng hạn, không phải là một ý kiến tuyệt vời nếu ta tư vấn tất cả các bộ phim của Woody Allen tới người dùng mà chỉ ưa thích một trong số những
bộ phim đó
- Vấn đề người dung mới: Người dùng phải đánh giá đầy đủ cho những sản
phẩm trước khi hệ thống tư vấn dựa trên nội dung có thể hiểu những sở thích của người dùng và từ đó đưa ra cho người dùng những tư vấn tin cậy Vì vậy, với người dùng mới, thông tin về việc đánh trọng số rất ít nên khó có thể đảm bảo việc tư vấn
sẽ tốt
- Vấn đề thông tin sản phẩm mới: Lọc nội dung phân tích các đặc điểm của
sản phẩm để so sánh với những sản phẩm mà người dùng đã đánh giá trước đó, với những sản phẩm có thông tin không đầy đủ hoặc quá đặc biệt, rất khó để đưa ra 1 tư vấn chính xác với các sản phẩm như vậy
1.3.2 Phương pháp tư vấn dự trên lọc cộng tác
Mục đích của giải thuật lọc cộng tác là gợi ý những sản phẩm mới hoặc dự đoán một sản phẩm hợp lý cho người dùng, dựa trên những sở thích trước đây và lựa chọn từ những sở thích của những người dùng khác
Trang 21Hình 1.3: Minh họa phương pháp tư vấn dựa trên lọc cộng tácTrong kịch bản điển hình của lọc cộng tác, có một danh sách m người dùng U={u1, u2, … , um} và một danh sách n sản phẩm I = {i1, i2,…, in} Mỗi người dùng
ui có danh sách các sản phẩm Su, mà người dùng đã đánh giá về sản phẩm đó Chú ý rằng Su⊆I và Iui có thể là rỗng
Hình 1.4: Quy trình của hệ thông tư vấn dựa trên lọc cộng tácHình 1.4 mô tả quy trình lọc cộng tác bao gồm 2 nhiệm vụ chính là:
- Dự đoán: cho ra giá trị Paj thể hiện đánh giá của người dùng a lên tài nguyên j
- Tư vấn: cho ra danh sách N tài nguyên {TiN} mà người dùng a thích nhất Giải thuật lọc cộng tác được mô tả thông qua một ma trận đánh giá R m x n người dùng và sản phẩm Mỗi phần tử ai,j trong mảng R biểu diễn đánh giá của người dùng thứ i đối với sản phẩm thứ j Mỗi đánh giá cá nhân là một số và nó có thể nhận giá trị 0 khi người dùng chưa đánh giá sản phẩm đó Các nhà nghiên cứu
đã xây dựng một số các giải thuật lọc cộng tác mà có thể chia thành 2 loại chính: dựa trên bộ nhớ (Memory-based) và dựa trên mô hình (Model-based)
Giải thuật lọc công tác dựa trên bộ nhớ (Memory-based): Giải thuật lọc cộng
tác dựa trên bộ nhớ sử dụng các cơ sở dữ liệu người dùng – sản phẩm để dự đoán Những hệ thống triển khai kỹ thuật thống kê để tìm những lựa chọn của người dùng,
Trang 22như biết người lân cận, có lịch sử phù hợp với người dùng đích (ví dụ, người dùng đánh giá tương tự các sản phẩm khác nhau hoặc có khuynh hướng mua những sản phẩm tương tự nhau) Một khi lân cận của người dùng được hình thành, hệ thống sử dụng những giải thuật khác nhau để kết hợp những sở thích của người dùng lân cận
để đề xuất một dự đoán hoặc một tư vấn top-N cho người dùng
Theo [6], Thuật toán dựa trên bộ nhớ về căn bản sử dụng các độ do kinh nghiệm (heuristics) để sinh ra dự đoán dựa trên tập các sản phẩm của người dùng
Cụ thể là, đánh giá trị r u,i của người dùng u đối với sản phẩm i thường được tính toán như là một sự kết hợp trọng số của nhiều người dùng khác nhau với cùng một sản phẩm i (thường là N sản phẩm giống nhau nhất):
i u U u i
Trong đó Uˆ biểu diễn tập người dùng N có trọng số về sản phẩm i giống nhất
với người dùng u (N có thể bắt đầu từ 1 đến tất cả người dùng) Một số ví dụ về đánh giá ru,i là:
∑
∈
=
U u
i u i
i u i
r
'
, ' , ( , ' ) (b)
∑
∈
−
× +
=
U u
u i
u u
Trang 23Trường hợp đơn giản nhất, giá trị đánh giá có thể là trung bình cộng của các đánh giá người dùng khác lên sản phẩm đó như công thức (a) Tuy nhiên, phương pháp tiếp cận kết hợp phổ biến nhất thường được sử dụng tính tổng mức quan trọng như theo công thức (b) Đánh giá sự giống nhau giữa người dùng u và u’, sim(u,u’)
về cơ bản là đo độ tương quan giữa những người dùng và thường được xem là trọng
số, nghĩa là với những người dùng giống nhau nhất thì ru’,i sẽ được thực hiện dựa vào dự đoán của ru,i Chú ý rằng sim(x,y) như 1 hàm heuristics, được được giới thiệu
để đánh giá mức khác nhau giữa các người dùng giống nhau, nhằm làm đơn giản hóa việc sử dụng thừa số k như biểu diễn ở trên
Những phương pháp tiếp cận khác nhau thường được tính toán hàm tương quan sim(u,u’) giữa những người dùng trong hệ thống tư vấn cộng tác Trong hầu hết các phương pháp tiếp cận này, sự tương đồng giữa hai người dùng dựa trên những đánh giá về sản phẩm được cả u và u’ quan tâm Một trong những phương pháp phổ biến nhất là dựa trên sự tương quan và cosine Cụ thể, đầu tiên, xem Sxy là tập tất cả các sản pẩm của người dùng x và y; nghĩa là Sxy={i∈S|rx,i≠ ∅& ry,i ≠ ∅}
Trong hệ thống tư vấn cộng tác, Sxy thường được sử dụng để đưa ra kết quả tức thì cho việc tính toán “người hàng xóm gần nhất” của người dùng x và thường được tính toán để đưa ra xếp hạng rõ ràng, nghĩa là tính toán tìm ra điểm giao nhau giữa tập Sx và Sy
Giải thuật lọc cộng tác dựa trên mô hình (Model-based): Giải thuật lọc cộng
tác dựa trên mô hình cung cấp các tư vấn sản phẩm bằng việc phát triển một mô hình đánh giá của người dùng Giải thuật loại này thuộc phương pháp tính xác suất
và xử lý lọc cộng tác như tính toán giá trị kỳ vọng của một dự đoán người dùng, cho đánh giá của người đó với các sản phẩm khác Xử lý xây dựng mô hình được thực hiện bởi nhiều các giải thuật học máy khác nhau như mạng Bayes, phân cụm, và phương pháp dựa trên luật (rule-based), mô hình hồi quy tuyến tính, mô hình entropy cực đại…
Thuật toán dựa trên mô hình sử dụng tập đánh giá để đưa ra một mô hình mà sau đó được sử dụng để tạo ra những dự đoán về trọng số Chẳng hạn, phương pháp
Trang 24tính xác suất để lọc cộng tác, trong đó những trọng số (đánh giá) chưa biết được tính như sau:
)',
|Pr(
)
0
, ,
n i
i u i
u i
=Giá trị trọng số (đánh giá) là những số nguyên nằm giữa 0 và n Biểu thức xác suất là xác suất mà người dùng u sẽ đưa ra trọng số cụ thể cho sản phẩm i, dựa trên những trọng số của người dùng về những sản phẩm trước đó đã được đánh giá Để ước lượng xác suất này, sử dụng 2 mô hình xác suất tương đối sau: mô hình phân cụm (cluster) và mạng Bayes Trong mô hình đầu tiên, người dùng có sở thích giống nhau được tập hợp lại thành một lớp Trong lớp người dùng, sự đánh giá được xem là độc lập với nhau, nghĩa là cấu trúc mô hình giống như mô hình Bayes thô sơ ban đầu Số lượng của các lớp và các thông số của mô hình được biết từ dữ liệu Mô hình thứ hai biểu diễn mỗi sản phẩm như là một nút trong mạng Bayes, ở đó mỗi trạng thái của nút tương ứng với giá trị trọng số của mỗi sản phẩm có thể nhận biết được Cả cấu trúc của mạng và xác suất điều kiện được nhận biết từ dữ liệu Vì vậy giới hạn của phương pháp này là mỗi người dùng có thể được tập hợp lại thành một nhóm (cluster) đơn lẻ, trong khi một vài ứng dụng tư vấn có thể được lợi từ khả năng hợp các người dùng thành một vài nhóm cùng một lúc Chẳng hạn, trong tư vấn về sách, người dùng quan tâm đến một chủ đề (ví dụ: lập trình) với mục đích công việc nhưng hoàn toàn có thể quan tâm đến chủ đề khác (ví dụ như cá) vào những thời gian rảnh rỗi
Phương pháp lọc cộng tác có thể được giải quyết bằng phương pháp học máy khác nhau (như mạng nơ-ron nhân tạo) kết hợp với kỹ thuật phân tách đặc trưng (như sự phân tích giá trị đơn lẻ - một kỹ thuật đại số làm giảm chiều của những ma trận) có thể được sử dụng Các tác giả đã đi so sánh phương pháp dựa trên mô hình tương ứng của chúng với phương pháp dựa trên bộ nhớ chuẩn và sau đó ghi lại chúng và thấy rằng trong một vài ứng dụng, phương pháp dựa trên mô hình thực hiện tốt hơn phương pháp dựa trên bộ nhớ tính theo mức độ chính xác của những tư
Trang 25vấn Tuy nhiên, việc so sánh cả hai trường hợp này hoàn toàn đều do kinh nghiệm
mà không có học thuyết nào chứng minh khẳng định này
Sự khác biệt chính giữa kỹ thuật dựa trên mô hình cộng tác và những phương pháp tiếp cận dựa trên hàm heuristic là những kỹ thuật dựa trên mô hình tính toán những dự đoán tiện ích (đánh giá) không dựa trên những luật về heuristic mà thay vì
đó, dựa trên mô hình được biết đến từ những dữ liệu nằm bên dưới bằng cách sử dụng kỹ thuật học máy và thống kê Một phương pháp kết hợp cả phương pháp tiếp cận dựa trên bộ nhớ và dựa trên mô hình đã được đề xuất, ở đó nó được phân tích dựa vào kinh nghiệm và cách sử dụng những phương pháp phối hợp này có thể cung cấp tư vấn tốt hơn những phương pháp cộng tác chỉ dựa trên mô hình hoặc dựa trên bộ nhớ
Một phương pháp khác để cải thiện hiệu quả của những thuật toán lọc cộng tác được đưa ra, ở đó đầu vào của tập các đánh giá dựa trên đặc tả của người dùng được lựa chọn một cách cẩn thận thông qua việc sử dụng một vài kỹ thuật như loại trừ tạp nhiễu, sự dư thừa và khai thác các dữ liệu thưa thớt để đánh giá Những kết quả dựa theo kinh nghiệm chứng minh mức độ chính xác và hiệu quả của những thuật toán lọc cộng tác dựa trên mô hình là tăng lên Những kỹ thuật lựa chọn đầu ra được đề xuất có thể giúp những thuật toán dựa trên mô hình chỉ rõ vấn đề cần nhận biết từ
cơ sở dữ liệu rộng lớn Hơn nữa, giữa những sự phát triển gần đây nhất, đề xuất ra phương pháp thống kê cho lọc cộng tác tạo ra các cách thức khác nhau để so sánh những kỹ thuật dựa trên bộ nhớ và dựa trên mô hình Cụ thể, việc sử dụng phương pháp học chủ động hơn để nhận biết ra mô hình xác suất về sở thích của mỗi người dùng và sử dụng việc lưu trữ những hồ sơ cá nhân của người dùng trong mô hình pha trộn để tính toán những tư vấ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, khác hoàn toàn so với những gì người dùng từng xem
Trang 261.3.3 Tư vấn dựa trên cách tiếp cận kết hợp
Một vài hệ thống tư vấn sử dụng phương pháp kết hợp phương pháp dựa trên cộng tác và dựa trên nội dung nhằm tránh những hạn chế của những hệ thống tư vấn dựa trên cộng tác và dựa trên nội dung Cách thức nhằm kết hợp phương pháp dựa trên cộng tác và dựa trên nội dung thành hệ thống tư vấn kết hợp có thể phân loại như sau:
- Thực thi những phương thức dựa trên nội dung và dựa trên cộng tác một cách tách biệt cùng với đó là kết hợp những dự đoán của chúng
- Kết hợp một vài đặc tính dựa trên nội dung vào trong phương pháp dựa trên cộng tác
- Kết hợp một vài đặc tính dựa trên cộng tác vào trong phương pháp dựa trên nội dung
- Xây dựng một số mô hình hợp nhất tổng quát kết hợp những đặc tính dựa trên nội dung và dựa trên cộng tác
Tất cả những phương pháp tiếp cận trên được sử dụng trong những nghiên cứu
về hệ tự vấn sau:
- Kết hợp những tư vấn riêng rẽ: Một phương pháp để xây dựng những hệ thống tư vấn kết hợp là thực hiện chia hệ thống tư vấn dựa trên nội dung và dựa trên cộng tác Như vậy có thể có hai kịch bản (scenarios) khác nhau Đầu tiên, kết hợp đầu ra đã thu được (những đánh giá) từ những hệ thống tư vấn riêng biệt thành một
hệ thống tư vấn cuối cùng sử dụng hoặc là sự kết hợp tuyến tính những đánh giá hoặc là một lược đồ bầu chọn (voting) Nói một cách khác, chúng ta có thể sử dụng một trong những hệ thống tư vấn cụ thể đó, tại một thời điểm để sử dụng chúng tốt hơn dựa vào tiêu chuẩn “chất lượng” tư vấn
- Thêm những đặc tính dựa trên nội dung vào mô hình cộng tác: Một vài hệ
thống tư vấn kết hợp sử dụng phương pháp “cộng tác thông qua nội dung” được mô
tả dựa trên những kỹ thuật cộng tác truyền thống và lưu trữ hồ sơ cá nhân dựa trên nội dung của mỗi người dùng Hồ sơ cá nhân dựa trên nội dung này không có những sản phẩm phổ biến được đánh giá, nó thường được dùng để tính toán độ
Trang 27tương quan giữa hai người dùng Nó cho phép vượt qua những vấn đề liên quan đến
sự thưa thớt của những ứng dụng cộng tác thuần nhất trước đây, điển hình là không
có nhiều cặp người dùng có số lượng những sản phẩm chung Lợi thế khác của phương pháp này là người dùng được tư vấn một sản phẩm không chỉ khi sản phẩm
đó có mức đánh giá cao do những người dùng có cùng hồ sơ cá nhân mà còn cả khi sản phẩm này được đánh giá cao dựa trên những hồ sơ cá nhân của người dùng đó
- Thêm những đặc tính cộng tác vào mô hình dựa trên nội dung: Phương pháp
phổ biến nhất trong kiểu này là việc sử dụng kỹ thuật giảm chiều (dimensionality reduction) trong nhóm những hồ sơ cá nhân dựa trên nội dung Chẳng hạn, sử dụng chỉ mục ngữ nghĩa latent (LSI) để tạo ra cái nhìn cộng tác của tập những hồ sơ cá nhân người dùng; ở đó những hồ sơ này được biểu diễn bởi những véc-tơ, và kết quả của việc cải thiện hiệu năng được so sánh với phương pháp tiếp cận dựa trên nội dung thuần nhất
- Phát triển mô hình tư vấn hợp nhất: Nhiều nghiên cứu được đưa ra theo
phương pháp tiếp cận này trong những năm gần đây Chẳng hạn, đề xuất ra việc sử dụng những đặc tính dựa trên nội dung và dựa trên cộng tác (ví dụ, tuổi hoặc giới tính của người dùng hoặc các thể loại phim) trong việc phân loại dựa trên luật đơn
1.4 Kết luận chương 1
Trong chương này, luận văn đã trình bày một số khái niệm và kiến thức cơ sở
về hệ thống tư vấn, bài toán tư vấn, các phương pháp tư vấn Qua đó cho ta thấy thế nào là hệ thống tư vấn, việc cần thiết phải làm là làm thế nào để tư vấn có độ chính xác cao, độ phức tạp thấp, thời gian tính toán nhanh Tuy nhiên, ta phải giải quyết bài toán tư vấn với dữ liệu lớn, so sánh đánh giá mối liên hệ giữa hệ giữa sản phẩm
và người dùng, giữa người dùng và những người dùng khác, giữa sản phẩm với những sản phẩm khác? Chương 2 và chương 3 của luận văn sẽ trình bày mô hình hệ thống tư vấn người dùng dựa trên đánh giá mối liên hệ giữa các sản phẩm
Trang 28Chương 2
HỆ THỐNG LỌC CÔNG TÁC DỰA TRÊN SẢN PHẨM
Như ta đã biết, trong hệ thống tư vấn dựa trên lọc cộng tác, kết quả tư vấn dựa trên dựa đoán của người dùng với những người dùng lân cận, tuy nhiên điều này rất khó khăn vì tính thiếu ổn định của người dùng trong hệ thống Vì vậy chương này
sẽ tìm hiểu mô hình lọc cộng tác dựa trên sản phẩm (Item-Based), quá trình thực hiện cũng như tìm hiểu một số giải thuật tính độ tương tự của sản phẩm và giải thuật dự đoán
2.1 Lọc cộng tác dựa trên sản phẩm (Item-based Collaborative Filtering)
Giải thuật tư vấn dựa trên sản phẩm nhằm đưa ra các dự đoán cho người dùng khác với giải thuật lọc cộng tác dựa trên người dùng trong chương 1 bởi đối tượng được xét ở đây là sản phẩm Quá trình tư vấn bằng phương pháp lọc cộng tác dựa trên sản phẩm sẽ tính toán độ tương tự các sản phẩm, sau đó lựa chọn k sản phẩm tương tự {i1, i2, , ik} Khi những sản phẩm có độ tương tự nhất được tìm hết, dự đoán được tính toán dựa trên trung bình của đánh giá người dùng trên những sản phẩm tương tự Đa số các đề xuất mô tả hai khía cạnh này, cụ thể là, việc tính toán
độ tương tự và các dự đoán sản phẩm
Ví dụ minh họa thực tế về một hệ thống lọc cộng tác dựa trên sản phẩm: Giả
sử sản phẩm ở đây là phim, và người dùng là các khách hàng đăng nhập vào 1 hệ thống Webstie để xem phim Mỗi người dùng được lưu trữ trên hệ thống với các hồ
sơ bao gồm thông tin cá nhân, và các đánh giá của người dùng đó với các bộ phim, đánh giá theo thang điểm từ 1 sao đến 5 sao, với ý nghĩa là đánh giá càng cao thì người dùng càng thích bộ phim đó Công việc của hệ thống tư vấn là: khi một người dùng đăng nhập vào hệ thống, hệ thống cần tư vấn những bộ phim cho người dùng đó và những bộ phim được tư vấn đó được dự đoán là người dùng sẽ đánh giá cao Hệ thống xem xét các bộ phim mà người dùng chưa xem, so sánh độ tương tự giữa bộ phim đó với những bộ phim khác Độ tương tự 2 bộ phim được tính dựa trên những người dùng từng đánh giá trên cả 2 bộ phim đó theo 1 thuật toán tính xác suất Bước cuối cùng của hệ thống tư vấn là dự đoán đánh giá của người dùng
Trang 29với những bộ phim mà người dùng chưa xem, lựa chọn những bộ phim được dự đoán có đánh giá cao để đưa vào danh sách tư vấn cho người dùng.
Dự đoán giá trị số Pu,i, dự đoán khả năng sản phẩm i ∉ Iu cho người dùng u
Tư vấn danh sách Ip gồm N sản phẩm mà người dùng u thích nhất Ip∩ Iu = ∅ Cho một ví dụ có 9 người dùng đánh giá 9 sản phẩm, với mức độ từ 1 đến 5, nếu người dùng không đánh giá sản phẩm thì giá trị là 0
Bảng 2.1: Bảng đánh giá người dùng với các sản phẩm
Trang 30Các bước trong quá trình tư vấn theo phương pháp lọc cộng tác dựa trên sản phẩm:
Bước 1: Tiền xử lý dữ liệu: Dữ liệu được thu thập là những đánh giá sản phẩm
của người dùng Dữ liệu thu thập thường rất lớn tuy nhiên một số đánh giá có thể không có ích trong quá trình tư vấn theo phương pháp lọc cộng tác Đề xuất được đưa ra để tối ưu dữ liệu đầu vào: một số sản phẩm hoặc người dùng sẽ được loại bỏ nếu người dùng đó đánh giá quá ít sản phẩm, hoặc sản phẩm được quá ít đánh giá
Bước 2: Xây dựng Ma trận đánh giá: Hàng là các người dùng, Cột là các sản
phẩm
Bước 3: Tính độ tương tự của 2 sản phẩm, xây dựng Ma trận tương tự của các
sản phẩm
Bước 4: Tính dự đoán của người dùng đối với sản phẩm dựa trên những sản
phẩm lân cận với sản phẩm dự đoán
2.2 Các thuật toán tính độ tương tự
Để dự đoán 1sản phẩm cho 1 người dùng sử dụng phương pháp lọc cộng tác cần xem xét đánh giá của người dùng lên những sản phẩm tương tự với sản phẩm
đó, độ tương tự được xác định dựa vào đánh giá của các người dùng khác đã đánh giá cả 2 sản phẩm Độ tương tự 2 sản phẩm là 1 xác suất thể hiện 2 sản phẩm đó có tương đồng nhau trên khía cạnh đánh giá của người dùng hay không? Độ tương tự ở đây được hiểu là nếu 2 sản phẩm tương tự nhau thì 1 người dùng thích sản phẩm này sẽ thích sản phẩm kia và ngược lại
Bước quan trọng trong giải thuật lọc cộng tác dựa trên sản phẩm là tính toán
độ tương tự giữa các sản phẩm và sau đó chọn những sản phẩm mà tương đương nhất để sử dụng trong công thức dự đoán Ý tưởng cơ bản trong tính toán độ tương
tự giữa hai sản phẩm i và j là: chọn các cặp người dùng mà đã đánh giá cả 2 sản phẩm và sau đó áp dụng kỹ thuật tính toán độ tương tự để mô tả độ tương tự Si,j