1. Trang chủ
  2. » Luận Văn - Báo Cáo

tìm hiểu phương pháp lọc cộng tác dựa trên item

60 3K 34
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 60
Dung lượng 2,64 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

LỜ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 2

Lờ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 3

MỤ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 4

2.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 5

CÁ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 6

Số hiệu

DANH MỤC CÁC HÌNH VẼ

Trang 7

Số 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 8

MỞ ĐẦ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 9

Trong 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 10

Chươ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 11

Chươ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 12

Ví 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 14

sơ 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 15

1.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 18

Trong đĩ 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 19

C 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 20

chú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 21

Hì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 22

như 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 đó 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 23

Trườ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 24

tí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 25

vấ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 26

1.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 27

tươ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 28

Chươ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 29

vớ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 30

Cá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

Ngày đăng: 04/12/2014, 15:35

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Badrul Sarwar, George Karypis, Joseph Konstan, and John Riedl (2001), “Item-Based Collaborative Filtering Recommendation”, WWW10, pp. 285-295 Sách, tạp chí
Tiêu đề: Item-Based Collaborative Filtering Recommendation”, "WWW10
Tác giả: Badrul Sarwar, George Karypis, Joseph Konstan, and John Riedl
Năm: 2001
2. Dietmar Jannach, Markus Zanker, Alexander Felfernig, Gerhard Friedrich (2011), Recommender Systems, Cambridge University Press, pp. 185-195 Sách, tạp chí
Tiêu đề: Recommender Systems
Tác giả: Dietmar Jannach, Markus Zanker, Alexander Felfernig, Gerhard Friedrich
Năm: 2011
3. FaQing Wu, Liang He, Lei Ren, WeiWei Xia, “An Effective Similarity Measure for Collaborative Filtering” (2008), Granular Computing, pp. 659 - 664 Sách, tạp chí
Tiêu đề: An Effective Similarity Measure for Collaborative Filtering
Tác giả: FaQing Wu, Liang He, Lei Ren, WeiWei Xia, “An Effective Similarity Measure for Collaborative Filtering”
Năm: 2008
4. Francesco Ricci, Lior Rokach and Bracha Shapira (2011), Recommender Systems Handbook, Ben-Gurion University of the Negev, pp. 566-618 Sách, tạp chí
Tiêu đề: Recommender Systems Handbook
Tác giả: Francesco Ricci, Lior Rokach and Bracha Shapira
Năm: 2011
5. Gediminas Adomavicius, Alexander Tuzhilin (2005), “Toward the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions”. IEEE Transactions On Knowledge And Data Engineering, Vol. 17, No. 6, (June 2005), pp. 734-749 Sách, tạp chí
Tiêu đề: Toward the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions”". IEEE Transactions On Knowledge And Data Engineering
Tác giả: Gediminas Adomavicius, Alexander Tuzhilin
Năm: 2005
6. Greg Linden, Brent Smith, and Jeremy York (2003), “Item-to-Item Collaborative Filtering”, IEEE Internet Computing , 7(1), pp. 76-80 Sách, tạp chí
Tiêu đề: Item-to-Item Collaborative Filtering”, "IEEE Internet Computing
Tác giả: Greg Linden, Brent Smith, and Jeremy York
Năm: 2003
7. Huifeng Sun, Yong Peng, Junliang Chen, Chuanchang Liu, Yuzhuo Sun (2011), “A New Similarity Measure Based on Adjusted Euclidean Distance for Memory-based Collaborative Filtering”, JSW , 6 (6), pp. 993-1000 Sách, tạp chí
Tiêu đề: A New Similarity Measure Based on Adjusted Euclidean Distance for Memory-based Collaborative Filtering”, "JSW
Tác giả: Huifeng Sun, Yong Peng, Junliang Chen, Chuanchang Liu, Yuzhuo Sun
Năm: 2011
8. Jun Wang , Arjen P. de Vries, Marcel J.T. Reinders (2006), “Unifying User- based and Item-based Collaborative Filtering Approaches by Similarity Fusion”, Proceedings of the 29th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 501-508 Sách, tạp chí
Tiêu đề: Unifying User-based and Item-based Collaborative Filtering Approaches by Similarity Fusion”, P"roceedings of the 29th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval
Tác giả: Jun Wang , Arjen P. de Vries, Marcel J.T. Reinders
Năm: 2006
9. Mohammad Khabbaz, Laks V.S. Lakshmanan (2011),”Top-k Algorithms for Item-based Collaborative Filtering”,14th International Conference on Extending Database Technology , pp. 213-224 Sách, tạp chí
Tiêu đề: ”,14th International Conference on Extending Database Technology
Tác giả: Mohammad Khabbaz, Laks V.S. Lakshmanan
Năm: 2011

HÌNH ẢNH LIÊN QUAN

Bảng Tên bảng Trang - tìm hiểu phương pháp lọc cộng tác dựa trên item
ng Tên bảng Trang (Trang 6)
Hình vẽ Tên hình vẽ Trang - tìm hiểu phương pháp lọc cộng tác dựa trên item
Hình v ẽ Tên hình vẽ Trang (Trang 7)
Hình 1.1: Minh họa hệ thống tư vấn sách cho người đọc - tìm hiểu phương pháp lọc cộng tác dựa trên item
Hình 1.1 Minh họa hệ thống tư vấn sách cho người đọc (Trang 12)
Bảng 1.1: Minh họa đánh giá của người dùng về 1 số bộ phim đã xem - tìm hiểu phương pháp lọc cộng tác dựa trên item
Bảng 1.1 Minh họa đánh giá của người dùng về 1 số bộ phim đã xem (Trang 14)
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 - tìm hiểu phương pháp lọc cộng tác dựa trên item
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 (Trang 15)
Hình 1.3: Minh họa phương pháp tư vấn dựa trên lọc cộng tác Trong 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={u 1 , u 2 , … , u m } và một danh sách n sản phẩm I = {i 1 , i 2 ,…, i n } - tìm hiểu phương pháp lọc cộng tác dựa trên item
Hình 1.3 Minh họa phương pháp tư vấn dựa trên lọc cộng tác Trong 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={u 1 , u 2 , … , u m } và một danh sách n sản phẩm I = {i 1 , i 2 ,…, i n } (Trang 21)
Bảng 2.1: Bảng đánh giá người dùng với các sản phẩm - tìm hiểu phương pháp lọc cộng tác dựa trên item
Bảng 2.1 Bảng đánh giá người dùng với các sản phẩm (Trang 29)
Hình 2.1 : Tách các sản phẩm cùng được đánh giá và tính toán độ tương tự - tìm hiểu phương pháp lọc cộng tác dựa trên item
Hình 2.1 Tách các sản phẩm cùng được đánh giá và tính toán độ tương tự (Trang 31)
Bảng 2.2: Bảng tính độ tương tự theo công thức Cosine - tìm hiểu phương pháp lọc cộng tác dựa trên item
Bảng 2.2 Bảng tính độ tương tự theo công thức Cosine (Trang 32)
Bảng 2.4: Bảng tính độ tương tự theo công thức Euclidean Điều Chỉnh - tìm hiểu phương pháp lọc cộng tác dựa trên item
Bảng 2.4 Bảng tính độ tương tự theo công thức Euclidean Điều Chỉnh (Trang 34)
Bảng 2.5: Bảng tính độ tương tự theo công thức tương quan - tìm hiểu phương pháp lọc cộng tác dựa trên item
Bảng 2.5 Bảng tính độ tương tự theo công thức tương quan (Trang 35)
Bảng 2.6 thể hiện độ tương tự của 2 sản phẩm i, j theo công thức tính độ tương  tự cosine điều chỉnh - tìm hiểu phương pháp lọc cộng tác dựa trên item
Bảng 2.6 thể hiện độ tương tự của 2 sản phẩm i, j theo công thức tính độ tương tự cosine điều chỉnh (Trang 36)
Hình  2.2 : Giải thuật lọc cộng tác dựa trên sản phẩm, tính dự đoán - tìm hiểu phương pháp lọc cộng tác dựa trên item
nh 2.2 : Giải thuật lọc cộng tác dựa trên sản phẩm, tính dự đoán (Trang 37)
Bảng 2.7: Bảng dự đoán và tư vấn theo phương pháp tính trung bình dự đoán - tìm hiểu phương pháp lọc cộng tác dựa trên item
Bảng 2.7 Bảng dự đoán và tư vấn theo phương pháp tính trung bình dự đoán (Trang 38)
Bảng 2.8: Bảng dự đoán và tư vấn theo phương pháp Weigth Sum - tìm hiểu phương pháp lọc cộng tác dựa trên item
Bảng 2.8 Bảng dự đoán và tư vấn theo phương pháp Weigth Sum (Trang 39)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w