PHỤ LỤC THUẬT NGỮRecommender System Hệ tư vấn Collaborative filtering Lọc cộng tác Neighborhood-based Kỹ thuật láng giềng Latent Semantic Indexing Phương pháp chỉ mục ngữ nghĩa tiềm ẩn M
Trang 1KHOA HỆ THỐNG THÔNG TIN KINH TẾ
-oOo -
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC NGHIÊN CỨU PHƯƠNG PHÁP LỌC CỘNG TÁC CHO HỆ THỐNG TƯ VẤN PHIM
Sinh viên thực hiện: Nguyễn Thùy Trang Giảng viên hướng dẫn
Niên khóa: 2009 – 2013
Huế, tháng 04 năm 2013
Trang 3Đặc biệt, tôi xin chân thành gửi lời cảm ơn sâu sắc đến Th.S Lê Viết Mẫn đã
tận tình hướng dẫn, quan tâm, thường xuyên theo dõi, cung cấp các tài liệu và có những đánh giá, nhận xét, góp ý thẳng thắn để tôi có thể hoàn thiện báo cáo khóa luận tốt nghiệp một cách tốt nhất
Mặc dù tôi đã rất cố gắng nhưng chắc chắn luận văn sẽ không thể tránh khỏi những thiếu sót, rất mong nhận được những ý kiến đóng góp, bổ sung của quý thầy cô
để tôi có thể sữa chữa, bổ sung và nghiên cứu kỹ hơn về đề tài này
Tôi xin chân thành cảm ơn!
Huế, tháng 4 năm 2013
Sinh viên
Nguyễn Thùy Trang
Trang 4MỤC LỤC
LỜI CẢM ƠN i
MỤC LỤC ii
PHỤ LỤC HÌNH ẢNH v
PHỤ LỤC BẢNG BIỂU vi
PHỤ LỤC THUẬT NGỮ vii
MỞ ĐẦU 8
CHƯƠNG 1: TỔNG QUAN VỀ HỆ TƯ VẤN 10
1.1 Giới thiệu về hệ tư vấn 10
1.2 Chức năng của hệ tư vấn 12
1.3 Dữ liệu và các nguồn tri thức 16
1.4 Các phương pháp của hệ tư vấn 18
1.4.1 Phương pháp tiếp cận dựa trên các tư vấn phổ biến 18
1.4.2 Phương pháp tiếp cận dựa trên nội dung 18
1.4.3 Phương pháp lọc cộng tác 19
1.4.4 Phương pháp tiếp cận dựa trên nhóm mặt hàng 20
1.4.5 Phương pháp tiếp cận dựa trên nhân khẩu học 21
1.4.6 Phương pháp tiếp cận dựa trên danh tiếng 21
1.4.7 Phương pháp lai 21
1.5 Ứng dụng và đánh giá 22
CHƯƠNG 2: GIỚI THIỆU PHƯƠNG PHÁP LỌC CỘNG TÁC VÀ KỸ THUẬT LÁNG GIỀNG 24
Trang 52.1 Phương pháp lọc cộng tác 24
2.1.1 Định nghĩa phương pháp lọc cộng tác 24
2.1.2 Quy trình phương pháp lọc cộng tác 25
2.2 Kỹ thuật láng giềng 30
2.2.1 Giới thiệu kỹ thuật láng giềng 30
2.2.2 Phân loại kỹ thuật láng giềng 32
2.2.3 Các bước của kỹ thuật láng giềng 35
CHƯƠNG 3: HỆ THỐNG TƯ VẤN PHIM DỰA TRÊN KỸ THUẬT LÁNG GIỀNG CỦA PHƯƠNG PHÁP LỌC CỘNG TÁC 40
3.1 Giới thiệu hệ thống tư vấn 40
3.1.1 Mô tả bài toán 40
3.1.2 Mô tả về bộ dữ liệu MovieLens 41
3.1.3 Ưu, nhược điểm của bộ dữ liệu MovieLens: 42
3.2 Phân tích và thiết kế hệ thống 43
3.2.1 Sơ đồ chức năng kinh doanh (BFD) 43
3.2.2 Sơ đồ ngữ cảnh 45
3.2.3 Sơ đồ luồng dữ liệu mức 0 (DFD mức 0) 45
3.2.4 Sơ đồ luồng dữ liệu mức 1.0 (DFD mức 1.0) 46
3.2.5 Sơ đồ luồng dữ liệu mức 2.0 (DFD mức 2.0) 46
3.2.6 Sơ đồ luồng dữ liệu mức 3.0 (DFD mức 3.0) 47
3.2.7 Sơ đồ mô hình cơ sở dữ liệu 48
3.3 Thuật toán 49
3.3.1 Kỹ thuật tư vấn dựa trên người dùng User-based 49
3.3.2 Kỹ thuật tư vấn mặt hàng phù hợp Matching Product 51
Trang 63.4 Demo chương trình và một số kết quả 55
3.5 So sánh phương pháp và một số vấn đề được rút ra 59
3.5.1 So sánh các phương pháp 59
3.5.2 Một số vấn đề được rút ra 60
KẾT LUẬN 63
TÀI LIỆU THAM KHẢO 64
Trang 7PHỤ LỤC HÌNH ẢNH
Hình 1.1 Hệ tư vấn của trang web Amazon.com 11
Hình 1.2 Phương pháp tiếp cận dựa trên nội dung 19
Hình 1.3 Phương pháp lọc cộng tác 20
Hình 2.1 Hệ thống tư vấn lọc cộng tác của trang web Amazon.com 24
Hình 2.2 Quy trình phương pháp lọc cộng tác 25
Hình 3.1 Sơ đồ chức năng kinh doanh BFD 44
Hình 3.2 Sơ đồ ngữ cảnh 45
Hình 3.3 Sơ đồ DFD mức 0 45
Hình 3.4 Sơ đồ DFD mức 1.0 46
Hình 3.5 Sơ đồ DFD mức 2.0 46
Hình 3.6 Sơ đồ DFD mức 3.0 47
Hình 3.7 Sơ đồ mô hình cơ sở dữ liệu 48
Hình 3.8 Giao diện trang chủ 56
Hình 3.9 Giao diện trang đăng nhập 56
Hình 3.10 Giao diện trang đăng ký 57
Hình 3.11 Giao diện trang đánh giá 57
Hình 3.12 Giao diện trang tư vấn dựa trên người dùng 58
Hình 3.13 Giao diện trang tư vấn dựa trên kỹ thuật mặt hàng phù hợp và phương pháp tư vấn dựa trên mặt hàng 59
Trang 8PHỤ LỤC BẢNG BIỂU
Bảng 3.1 Quá trình tính toán thuật toán tư vấn dựa trên người dùng 50 Bảng 3.2 Quá trình tính toán thuật toán tư vấn dựa trên mặt hàng 53
Trang 9PHỤ LỤC THUẬT NGỮ
Recommender System Hệ tư vấn
Collaborative filtering Lọc cộng tác
Neighborhood-based Kỹ thuật láng giềng
Latent Semantic Indexing Phương pháp chỉ mục ngữ nghĩa tiềm ẩn
Mean-squared difference Độ bất tương tự trung bình bình phương
Deviation-from-mean Độ lệch chuẩn
Weighted average Trọng số bình quân
User-based Phương pháp tư vấn dựa trên người dùng
Matching Product Mặt hàng phù hợp
Item-based Phương pháp tư vấn dựa trên mặt hàng
Mean-centering Phương pháp điểm trung bình
Threshold filtering Lọc định mức
Negative filtering Lọc đánh giá âm
BFD – Business Function Diagram Sơ đồ chức năng kinh doanh
DFD – Data Flow Diagram Sơ đồ luồng dữ liệu
Trang 10MỞ ĐẦU
Hiện nay, internet với các tiện ích của nó đang có ảnh hưởng lớn đối với đại bộ phận người sử dụng mạng Với lượng thông tin khổng lồ, nhu cầu người dùng ngày càng lớn, người dùng cần có sự tư vấn chính xác và kịp thời để có thể tìm kiếm thông tin một cách nhanh chóng và tiết kiệm tối đa thời gian Một khi dữ liệu càng lớn thì hệ
tư vấn càng có vai trò quan trọng Có thể kể đến hệ tư vấn áp dụng đối với các website thuộc các lĩnh vực âm nhạc, phim ảnh, sách báo… Tuy nhiên, các lĩnh vực trong cuộc sống lại rất phong phú, đa dạng, và một khi nhu cầu đã lớn thì yêu cầu đặt ra cũng sẽ cao hơn rất nhiều
Thực tế hiện nay, kinh doanh mua bán là một trong các lĩnh vực đang phát triển mạnh và áp dụng triệt để công nghệ thông tin Một website thương mại điện tử thu hút không chỉ dừng lại ở mặt hàng phong phú, giao diện đẹp, thông tin cập nhật nhanh chóng mà còn phải nắm bắt nhu cầu, đáp ứng yêu cầu và hỗ trợ khách hàng tối đa Hệ
tư vấn thực sự cần thiết cho một website mua bán hàng hóa với số lượng hàng hóa khổng lồ, số lượng chủng loại mặt hàng lớn cùng vô số thông tin về mặt hàng để giúp khách nắm bắt thông tin mà họ tìm kiếm
Khi cần tìm thông tin về một mặt hàng nào đó, giải pháp được hầu hết người dùng sử dụng là đưa câu hỏi vào máy tìm kiếm thay vì tìm đến những website/forum chuyên ngành Tuy nhiên, máy tìm kiếm chỉ có thể đưa ra một danh sách các lựa chọn chứ không thể nói được lựa chọn nào là tốt nhất
Do đó, tôi thực hiện đề tài “Nghiên cứu phương pháp lọc cộng tác cho hệ thống
tư vấn phim” với mục tiêu tìm hiểu lý thuyết về hệ tư vấn (Recommender System), các
kỹ thuật của hệ tư vấn, đặc biệt là phương pháp lọc cộng tác (Collaborative filtering)
và kỹ thuật láng giềng thuộc phương pháp lọc cộng tác Tiếp đến, đề tài tập trung xây dựng Website tư vấn phim sử dụng kỹ thuật láng giềng của phương pháp lọc cộng tác, phân tích, đánh giá hiệu quả của việc ứng dụng hệ tư vấn trong việc triển khai xây dựng website
Trang 11Cấu trúc đề tài được chia thành 3 chương:
giới thiệu tổng quan về hệ tư vấn, các chức năng, dữ liệu và các nguồn kiến thức, các phương pháp và các ứng dụng, đánh giá của
hệ tư vấn
Chương II: Giới thiệu phương pháp lọc cộng tác và kỹ thuật láng giềng
(Neighborhood-based) Chương này đi vào tìm hiểu sâu về phương pháp lọc cộng tác và kỹ thuật láng giềng (Neighborhood-based) thuộc phương pháp lọc cộng tác
Chương III: Hệ thống tư vấn phim dựa trên kỹ thuật láng giềng của phương
pháp lọc cộng tác Nội dung chương này đi vào phân tích hệ tư vấn được sử dụng trong khóa luận, phân tích và thiết kế hệ thống, các kỹ thuật ứng dụng trong khóa luận, mô tả thuật toán, giới thiệu demo chương trình và so sánh các phương pháp, rút ra các kết luận
Trang 12CHƯƠNG 1 TỔNG QUAN VỀ HỆ TƯ VẤN 1.1 Giới thiệu về hệ tư vấn
Trong cuộc sống hàng ngày, 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 Nhưng trong kỉ nguyên thông tin, mỗi ngày
có hàng triệu thông tin được đưa lên Internet, người dùng thực sự khó khăn để nắm bắt
và tìm kiếm thông tin
Một số công cụ tìm kiếm với từ khóa, điển hình như Google, Yahoo… và mới đây nhất là Bing giúp chúng ta rất nhiều trong tìm kiếm những thông tin cần thiết
Nhưng với lượng thông tin tăng lên nhanh chóng, các công cụ tìm kiếm theo từ khóa cũng đang dần tỏ ra không hoàn toàn đáp ứng được nhu cầu của con người Hàng ngày bạn phải bỏ ra quá nhiều thời gian để lọc những thông tin tìm kiếm được trên Google Thêm nữa, đôi khi người dùng cũng không hiểu hết nhu cầu của mình, không biết được từ khóa chính xác mình muốn tìm kiếm, do đó rất khó để tìm được thông tin mình cần Chính những điều này dẫn tớ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
Recommender Systems là công cụ phần mềm kỹ thuật cung cấp các mặt hàng
đề xuất cho người sử dụng Những lời tư vấn liên quan đến các khía cạnh khác nhau của quá trình ra quyết định, chẳng hạn như nên mua mặt hàng nào, nên nghe thể loại nhạc nào, hoặc nên đọc loại tin tức trực tuyến nào 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
Hình dung đơn giản, các tư vấn được cung cấp dưới dạng các danh sách xếp hạng các mặt hàng Trong việc thực hiện bảng xếp hạng này, hệ tư vấn cố gắng dự đoán những sản phẩm hoặc dịch vụ phù hợp nhất, dựa trên sở thích và hạn chế của người sử dụng Để hoàn thành một nhiệm vụ tính toán như vậy, hệ tư vấn thu thập từ
Trang 13người sử dụng sở thích của họ, ví dụ như đánh giá của người dùng cho các mặt hàng, sản phẩm
Hình 1.1 Hệ tư vấn của trang web Amazon.com
Hệ tư vấn bắt đầu được chú ý từ những quan sát sau: một người thường dựa trên những lời khuyên, tư vấn từ những người khác trong việc đưa ra các quyết định
Ví dụ, người ta thường dựa vào lời giới thiệu của bạn bè khi chọn mua sách để đọc, người sử dụng lao động dựa trên thư giới thiệu để tuyển dụng và người xem dựa vào các đánh giá phê bình phim của nhà phê bình phim trong các tạp chí để chọn phim xem
Trong việc tìm kiếm để bắt chước các hành vi này, các hệ tư vấn đầu tiên sẽ áp dụng các thuật toán để tận dụng các tư vấn được đưa ra bởi một cộng đồng người sử dụng nhằm cung cấp các tư vấn cho một người dùng cần tư vấn Hệ thống sẽ tư vấn các mặt hàng mà người dùng tương tự (những người có sở thích tương tự) đã thích Cách tiếp cận này gọi là lọc cộng tác, tức là khi người dùng cần tư vấn có những tương đồng trước đó trong quá khứ với một số người dùng khác, khi đó các tư vấn khác sẽ đến từ những người sử dụng tương tự
Hệ tư vấn đã được chứng minh trong những năm gần đây là một phương tiện hiệu quả để đối phó với vấn đề quá tải thông tin Khi có yêu cầu của người dùng, hệ tư
Trang 14vấn tạo ra các tư vấn sử dụng các kiến thức và dữ liệu khác nhau về người sử dụng, các mặt hàng có sẵn, và giao dịch trước đó được lưu trữ trong cơ sở dữ liệu Sau đó người dùng có thể duyệt các tư vấn Tất cả những hành động và phản hồi của người sử dụng có thể được lưu trữ trong cơ sở dữ liệu tư vấn và có thể được sử dụng để tạo ra tư vấn mới trong hệ thống cho người dùng tương tác tiếp theo
Việc nghiên cứu các hệ thống tư vấn là tương đối mới so với nghiên cứu các công cụ hệ thống thông tin và kỹ thuật khác Hệ tư vấn nổi lên giữa những năm 1990 Trong những năm gần đây, sự quan tâm đối với hệ thống tư vấn đã tăng lên đáng kể, điển hình như các sự kiện sau:
1 Hệ tư vấn đóng một vai trò quan trọng trong các trang web Internet được đánh giá cao như Amazon.com, YouTube, Netflix, Yahoo và IMDb Hơn nữa, nhiều công ty truyền thông đang phát triển và triển khai hệ tư vấn như là một phần của các dịch vụ mà họ cung cấp cho các thuê bao của họ
2 Có các buổi hội nghị và hội thảo liên quan đến lĩnh vực này Ví dụ như hội nghị ACM Recommender Systems (RecSys), thành lập năm 2007 và sự kiện hàng năm hàng đầu trong nghiên cứu và ứng dụng công nghệ tư vấn
3 Tại các tổ chức giáo dục đại học trên thế giới, đại học và sau đại học, khóa học
về hệ tư vấn này được dành riêng hoàn toàn, hướng dẫn về hệ tư vấn đang rất phổ biến, bên cạnh đó là xuất bản sách giới thiệu về các kỹ thuật, phương pháp của hệ tư vấn
4 Đã có một số tạp chí khoa học đề cập việc nghiên cứu và sự phát triển trong lĩnh vực hệ tư vấn Trong số các tạp chí có những vấn đề chuyên dụng hệ tư vấn là: Truyền thông AI (2008); IEEE Intelligent Systems (2007); Tạp chí Thương mại điện tử (2006)…
1.2 Chức năng của hệ tư vấn
Trước hết, chúng ta phải phân biệt giữa vai trò hệ tư vấn của nhà cung cấp so với vai trò hệ tư vấn của người sử dụng Ví dụ, một hệ thống tư vấn du lịch thường được giới thiệu bởi một trung gian du lịch hoặc một tổ chức quản lý để tăng doanh thu của nó qua việc cho thuê phòng khách sạn nhiều hơn hoặc để tăng số lượng khách du
Trang 15lịch Trong khi đó, động cơ của người sử dụng khi truy cập vào hai hệ thống là tìm một khách sạn phù hợp với nhu cầu, túi tiền cùng các sự kiện thú vị / các điểm hấp dẫn khi đến thăm một điểm đến
Trong thực tế, có những lý do khác nhau để giải thích tại sao các nhà cung cấp dịch vụ có thể muốn khai thác công nghệ này:
Tăng số lượng hàng bán được Đây có lẽ là chức năng quan trọng nhất đối với
hệ tư vấn thương mại, nghĩa là, để có thể bán thêm một số lượng lớn các mặt hàng so với những người bình thường bán được mà không sử dụng bất kỳ 1 tư vấn nào Mục tiêu này đạt được bởi vì các mặt hàng được tư vấn có khả năng phù hợp với nhu cầu và mong muốn của người sử dụng
Bán các mặt hàng đa dạng hơn Một chức năng quan trọng của một hệ tư vấn là
cho phép người sử dụng có thể chọn các mặt hàng mà có thể là khó tìm kiếm nếu như không có một tư vấn chính xác Ví dụ, trong một hệ tư vấn phim như Netflix, các nhà cung cấp dịch vụ quan tâm đến việc cho thuê tất cả các đĩa DVD trong danh mục, không chỉ các phim phổ biến nhất Điều này có thể là khó khăn nếu như không có một hệ tư vấn tư vấn, các nhà cung cấp dịch vụ có thể gặp rủi ro nếu như quảng cáo mà không để ý đến việc phim có phù hợp với sở thích của một người dùng cụ thể nào đó không Do đó, hệ tư vấn sẽ là một gợi ý hay để quảng cáo các loại phim không phổ biến cho người sử dụng
Tăng sự hài lòng của người dùng Người dùng sẽ tìm thấy các tư vấn thú vị, có
liên quan và giúp con người với máy tính tương tác với nhau Sự kết hợp của hiệu quả, chính xác, tư vấn kịp thời và một giao diện đẹp có thể tối ưu việc sử dụng và làm tăng sự hài lòng của người dùng trong hệ thống Điều này sẽ làm tăng khả năng hệ thống được sử dụng và các tư vấn xảy ra sẽ được chấp nhận nhiều hơn
Tăng sự trung thành của người dùng Một người sử dụng nên trung thành với
một trang web, khi truy cập, trang web sẽ nhận diện người dùng cũ và tương tác với người dùng đó như một người truy cập có giá trị Điều này là bình thường đối với tính năng của một hệ tư vấn vì nhiều hệ tư vấn tư vấn tính toán, tận dụng
Trang 16thông tin có được từ người sử dụng tương tác trước đây, ví dụ như: xếp hạng của người dùng đối với các mặt hàng Do đó, người dùng sẽ tương tác với các trang web, hệ thống sẽ nhận diện sở thích người dùng và số lượng tư vấn có thể tùy chỉnh để phù hợp với người sử dụng trung thành
Hiểu rõ hơn về những gì người dùng muốn Một chức năng quan trọng của một
hệ tư vấn, có thể là đòn bẩy cho nhiều ứng dụng khác, là mô tả sở thích của người sử dụng Sau đó, nhà cung cấp dịch vụ có thể quyết định tái sử dụng dữ liệu này cho một số mục tiêu khác như cải thiện việc quản lý kinh doanh hoặc đề
ra các ý tưởng mới Ví dụ, trong lĩnh vực du lịch, quản lý địa điểm tổ chức có thể quyết định quảng cáo cho một nhóm các khách hàng mới cụ thể hoặc xác định loại hình quảng cáo từ việc phân tích các dữ liệu thu thập bởi các hệ tư vấn (các giao dịch của người sử dụng)
Bên cạnh đó, người dùng cũng có thể muốn sử dụng hệ tư vấn nếu nó hỗ trợ hiệu quả nhiệm vụ hoặc mục tiêu của họ Do đó một hệ tư vấn phải cân bằng nhu cầu của hai nhóm người dùng này và cung cấp dịch vụ có hiệu quả cho cả hai Các chức năng cơ bản của hệ tư vấn đối với người sử dụng như sau:
Tìm một số nhóm hàng tốt: Tư vấn cho người dùng một số mặt hàng dưới dạng
một danh sách xếp hạng cùng với dự đoán bao nhiêu người dùng muốn sử dụng Một số hệ thống không hiển thị được dự đoán đánh giá
Tìm tất cả các mặt hàng tốt: Tư vấn tất cả các mặt hàng có thể đáp ứng một số
nhu cầu của người sử dụng Trong những trường hợp như vậy, nó không chỉ là tìm thấy các mặt hàng tốt Điều này đặc biệt đúng khi số lượng mặt hàng là tương đối nhỏ
Chú thích trong ngữ cảnh: Tùy vào ngữ cảnh nhất định sẽ có một danh sách
nhấn mạnh các mặt hàng cụ thể nào đó tùy thuộc vào nhu cầu và sở thích của số đông người dùng Ví dụ, một hệ thống tư vấn truyền hình có thể chú thích chương trình lịch phát sóng là đáng xem
Tư vấn một chuỗi các mặt hàng: Thay vì tập trung vào một tư vấn duy nhất, ý
tưởng của hệ tư vấn là để giới thiệu một chuỗi các mặt hàng sẽ thu hút hơn Ví
Trang 17dụ điển hình như giới thiệu một loạt phim truyền hình, một cuốn sách về hệ tư vấn sau khi đã giới thiệu một cuốn sách về khai thác dữ liệu
Tư vấn một gói hàng: Tư vấn một nhóm các mặt hàng phù hợp với nhau Ví dụ:
một kế hoạch du lịch có thể bao gồm các điểm tham quan khác nhau, điểm đến, phương thức giải trí, dịch vụ ăn nghỉ…
Tư vấn chỉ xem: Trong chức năng này, người dùng duyệt các mặt hàng mà
không có bất kỳ ý định mua một món hàng nào Nhiệm vụ của hệ tư vấn là giúp cho người dùng duyệt qua các mặt hàng có nhiều khả năng người dùng yêu thích nhất
Tìm tư vấn đáng tin cậy: Một số người dùng không tin tưởng vào hệ thống tư
vấn, họ thử nghiệm với chính họ để xem nó tốt như thế nào trong việc đưa ra các
tư vấn Do đó, một số hệ thống cũng có thể cung cấp các chức năng cụ thể để cho phép người sử dụng kiểm tra hoạt động của nó ngoài những yêu cầu để có được tư vấn
Cải thiện hồ sơ cá nhân: Điều này liên quan đến khả năng của người sử dụng
cung cấp thông tin đầu vào cho hệ thống tư vấn về những gì mình thích và không thích Đây là một nhiệm vụ cơ bản và thực sự cần thiết để cung cấp các
đề xuất được cá nhân hóa Nếu hệ thống không có kiến thức cụ thể về người sử dụng cần tư vấn thì sau đó nó có thể chỉ cung cấp cho anh ta với các tư vấn dành cho một người dùng "trung bình"
Tự thể hiện: Một số người dùng có thể không quan tâm đến tất cả các tư vấn
Thay vào đó, nó chỉ quan trọng với họ vì họ được phép đóng góp với đánh giá của họ và bày tỏ ý kiến cũng như niềm tin của họ Sự hài lòng của người sử dụng cho hoạt động đó vẫn có thể được xem như một cách để giữ chân người dùng cho các ứng dụng
Giúp đỡ người khác: Một số người dùng hài lòng với việc đóng góp thông tin, ví
dụ như: đánh giá cho các mặt hàng (Ratings), bởi vì họ tin rằng đóng góp của họ
sẽ có ích Điều này có thể là một động lực lớn để nhập thông tin thành một hệ thống tư vấn Ví dụ: với một hệ tư vấn về xe, một người dùng đã mua một chiếc
Trang 18xe mới thì họ nhận thức được rằng ý kiến đánh giá của mình về chiếc xe đó có thể sẽ hữu ích cho người khác
Ảnh hưởng những người khác: Đối với hệ tư vấn dựa trên web, người dùng có
mục tiêu rõ ràng chính là người ảnh hưởng đến những người dùng khác vào mua các sản phẩm Cũng có một số người sử dụng có thể sử dụng hệ thống chỉ để thúc đẩy hoặc hạ thấp một số mặt hàng theo ý riêng của họ
Như những điểm khác nhau cho thấy, vai trò của một hệ tư vấn trong một hệ thống thông tin là khá đa dạng Sự đa dạng này sẽ là khởi đầu cho việc khai thác một loạt các nguồn kiến thức và các kỹ thuật khác nhau
1.3 Dữ liệu và các nguồn tri thức
Hệ tư vấn là hệ thống xử lý thông tin thu thập từ các loại dữ liệu khác nhau để xây dựng các tư vấn Dữ liệu chủ yếu là về các mặt hàng cần tư vấn và người dùng sẽ nhận được các tư vấn này Tuy nhiên, dữ liệu và các nguồn tri thức sẵn có cho các hệ thống tư vấn có thể rất đa dạng Trong bất kỳ trường hợp nào, dữ liệu được sử dụng bởi hệ tư vấn thuộc ba loại: mặt hàng (Item), người sử dụng (User), và các giao dịch (Transactions), đó chính là quan hệ giữa người sử dụng và các mặt hàng
Mặt hàng (Item) Mặt hàng là các đối tượng được tư vấn Các mặt hàng này
đặc trưng bởi tiện ích và giá trị của nó Giá trị của một mặt hàng có thể là tích cực nếu hữu ích cho người sử dụng, hoặc tiêu cực nếu mặt hàng không phù hợp với người sử dụng
Mặt hàng có giá trị thấp là: tin tức, các trang web, sách, đĩa CD, phim Mặt hàng có giá trị lớn hơn là: máy ảnh kỹ thuật số, điện thoại di động, máy tính cá nhân,… Các mặt hàng phức tạp nhất như là những chính sách bảo hiểm, tài chính đầu
tư, tư vấn du lịch, công việc… Hệ tư vấn có thể sử dụng một loạt các thuộc tính và các tính năng của các mặt hàng Ví dụ trong một hệ thống tư vấn phim, thể loại (hài, kinh dị, ) cũng như tên tuổi các đạo diễn và diễn viên có thể được sử dụng để mô tả một bộ phim và là đặc điểm nổi bật của nó
Trang 19Người sử dụng (User) Người sử dụng của một hệ tư vấn có thể có các đặc
điểm và mục tiêu rất đa dạng Để cá nhân hóa các tư vấn và hỗ trợ tương tác giữa máy tính và con người, hệ tư vấn khai thác một loạt các thông tin về người sử dụng Thông tin này có thể được cấu trúc theo nhiều cách khác nhau và hệ thống sẽ lựa chọn những thông tin nào phụ thuộc vào kỹ thuật tư vấn
Ví dụ: trong lọc cộng tác, người sử dụng được mô hình hóa bởi một danh sách đơn giản có chứa các đánh giá được cung cấp bởi người sử dụng đối với một số mặt hàng Hệ tư vấn dựa trên nhân khẩu học lại dùng các thuộc tính như giới tính, tuổi, nghề nghiệp, và giáo dục Các dữ liệu người dùng này sẽ được sử dụng để tạo thành
mô hình mã hóa sở thích và nhu cầu người sử dụng
Giao dịch (Transaction) Giao dịch là sự tương tác giữa một người dùng và hệ
tư vấn Nó lưu trữ dữ liệu, thông tin đăng nhập quan trọng được tạo ra trong quá trình tương tác giữa con người - máy tính và có ích cho thuật toán tư vấn mà hệ thống đang
sử dụng Ví dụ: một bản ghi giao dịch có thể chứa một tham chiếu đến mặt hàng được lựa chọn bởi người sử dụng và một mô tả về bối cảnh (mục tiêu người sử dụng / truy vấn) cho tư vấn cụ thể Nếu có sẵn, giao dịch cũng có thể bao gồm một thông tin phản hồi rõ ràng của người sử dụng đã cung cấp, chẳng hạn như đánh giá cho các sản phẩm được chọn
Trong thực tế, xếp hạng là hình thức phổ biến nhất của các dữ liệu giao dịch trong hệ tư vấn Những đánh giá này có thể được thu thập một cách rõ ràng hoặc ngầm định Người dùng sẽ được yêu cầu cung cấp ý kiến của mình về một mặt hàng theo một thang đánh giá Thang đánh giá có thể là một trong các dạng sau:
Xếp hạng số từ 1-5 sao (được dùng trong trang web Amazon.com)
Xếp hạng theo thứ tự, chẳng hạn: "hoàn toàn đồng ý”,
Xếp hạng đơn giản Ví dụ: tốt hay xấu, thích hay không thích,…
Hoặc có đánh giá hoặc không đánh giá
Trang 201.4 Các phương pháp của hệ tư vấn
Để thực hiện chức năng tư vấn, một hệ tư vấn phải dự đoán được một mặt hàng
để tư vấn Muốn làm được điều này, hệ thống phải dự đoán sở thích của một số người hoặc so sánh công dụng, chức năng của một số mặt hàng sau đó đưa ra các mặt hàng
tư vấn cho người dùng dựa trên sự so sánh này Sử dụng các thuật toán tư vấn có thể đưa ra các mặt hàng tư vấn không hoàn toàn chính xác, tuy nhiên chúng ta vẫn có thể
áp dụng nó để mô tả vai trò chung của một hệ tư vấn
Dựa vào loại dữ liệu và kỹ thuật được sử dụng để đi đến quyết định tư vấn, hệ thống tư vấn có thể được phân loại thành các phương pháp tiếp cận sau đây:
1.4.1 Phương pháp tiếp cận dựa trên các tư vấn phổ biến
Trong thực tế, khách hàng thường muốn biết về những mặt hàng đang phổ biến nhất Ví dụ: các danh sách bán chạy nhất của một cửa hàng Tư vấn dựa trên sự phổ biến là tiếp cận, tính toán sự phổ biến trong cộng đồng (ví dụ: tỷ lệ khách hàng mua một mặt hàng) hoặc thống kê cho từng mặt hàng (ví dụ: số lượng khách hàng mua một mặt hàng, xếp hạng trung bình cho một mặt hàng,…) Như vậy, các mặt hàng phổ biến nhất sẽ được tư vấn cho người dùng Phương pháp tiếp cận dựa trên các tư vấn phổ biến cung cấp các tư vấn mà không cần đến việc cá nhân hoá Mặc dù phương pháp này chỉ có thể cung cấp các tư vấn không cá nhân nhưng nó phổ biến bởi chính sự đơn giản và hiệu quả của nó
1.4.2 Phương pháp tiếp cận dựa trên nội dung
Các phương pháp tiếp cận dựa trên nội dung tư vấn dựa trên việc tính năng của các mặt hàng có thể có ích trong việc giới thiệu chúng Với cách tiếp cận này, các tính năng của các mặt hàng và sở thích riêng của người sử dụng là những yếu tố duy nhất
ảnh hưởng đến việc tư vấn cho người sử dụng
Trong phương pháp lọc dựa trên nội dung, hệ thống sẽ phân tích và so sánh nội dung của các thông tin, các mặt hàng từ đó đánh giá khả năng người dùng sẽ thích mặt hàng đó Phương pháp lọc dựa trên nội dung dựa trên nguyên lý người dùng thích mặt hàng hay thông tin A sẽ thích mặt hàng hay thông tin B tương tự với mặt hàng A
Trang 21Phương pháp lọc dựa trên nội dung còn so sánh nội dung của mặt hàng hay thông tin với sở thích mà người dùng cung cấp Chẳng hạn người dùng quan tâm tới những thông tin về chứng khoán thì sẽ được tư vấn những bản tin nói về chứng khoán… Tuy nhiên, phương pháp lọc dựa trên nội dung cũng gặp một số khó khăn Với những thông tin mà nội dung không có sẵn (chẳng hạn như một đoạn video, một bản nhạc…) thì sẽ rất khó phân tích, và khó có thể tư vấn được Hơn nữa, vì hệ này chủ yếu so sánh dựa trên nội dung nên khó có thể tạo ra được sự bất ngờ trong tư vấn, đôi khi nó còn tư vấn cho người dùng những mặt hàng mà người dùng đã biết hoặc sử dụng trước đó
Hình 1.2 Phương pháp tiếp cận dựa trên nội dung
1.4.3 Phương pháp lọc cộng tác
Lọc cộng tác là kỹ thuật sử dụng các sở thích cá nhân của người dùng để đưa ra
tư vấn Một hệ thống lọc cộng tác xác định người dùng có sở thích tương tự những người dùng trước và tư vấn các mặt hàng mà họ có thể thích Bản chất của phương pháp này chính là hình thức tư vấn truyền miệng tự động Trong phương pháp này, hệ thống sẽ so sánh, tính toán độ tương tự nhau giữa những người dùng hay mặt hàng, từ
Trang 22những người dùng có cùng thị hiếu Trong phương pháp này, hệ thống thường xây dựng các ma trận đánh giá bởi người dùng lên các mặt hàng, bản tin Từ đó tính toán
độ tương tự giữa họ Các hệ tư vấn dựa trên lọc cộng tác không yêu cầu quá nặng vào việc tính toán, do đó nó có thể đưa ra những tư vấn có độ chính xác cao và nhanh chóng cho một số lượng lớn người dùng Hơn nữa, hệ tư vấn này không yêu cầu mô tả nội dung tường minh mà chỉ sử dụng đánh giá của người dùng để ước lượng, do đó những hệ này có khả năng tư vấn phong phú và thường tạo ra những tư vấn bất ngờ cho người dùng Với phương pháp này, sở thích của người dùng là đầu vào duy nhất
để quyết định kết quả tư vấn
Hình 1.3 Phương pháp lọc cộng tác
1.4.4 Phương pháp tiếp cận dựa trên nhóm mặt hàng
Phương pháp tiếp cận dựa trên nhóm mặt hàng dựa vào sở thích của người dùng
để xác định các mặt hàng thường được tìm thấy với các mặt hàng mà người dùng đã chọn, hoặc có sự quan tâm trong quá khứ Một nhóm mặt hàng có thể là tập hợp các mặt hàng được đánh giá tương tự như cho cùng một mặt hàng cụ thể, hoặc xuất hiện đồng thời ở các mặt hàng mà người dùng yêu thích hoặc mua chung Nhóm mặt hàng sau đó có thể được sử dụng để tư vấn các mặt hàng cho người sử dụng Ví dụ: dự đoán đánh giá của người dùng cho một mặt hàng có thể dựa trên điểm số đánh giá của người dùng thu được ở các mặt hàng tương tự trước đó
Trang 231.4.5 Phương pháp tiếp cận dựa trên nhân khẩu học
Cách tiếp cận này tư vấn các mặt hàng cho một người dùng dựa trên sở thích của người dùng khác với thông tin nhân khẩu học tương tự Thông tin nhân khẩu học
là các đặc điểm của người dùng ví dụ như: độ tuổi, giới tính, thu nhập, trình độ giáo dục Không giống như các phương pháp tiếp cận tư vấn khác, một hệ thống tư vấn dựa trên nhân khẩu học thường tạo ra các tư vấn ở cấp độ tổng quát hơn như cho một giới tính hay độ tuổi cụ thể Như vậy, phương pháp này liên quan đến việc nghiên cứu
và lý luận các mối quan hệ giữa các thông tin nhân khẩu học và sở thích của người dùng Phương pháp này ưu tiên các mặt hàng có nguồn gốc từ sở thích cá nhân, thông tin cơ bản đã nêu trước đó từ đó phân cấp danh mục các mặt hàng
1.4.6 Phương pháp tiếp cận dựa trên danh tiếng
Cách tiếp cận này tập trung vào việc xác định tên tuổi người dùng nổi bật ở một khía cạnh nào đó hay không và sau đó sử dụng các ý kiến của các cá nhân của người dùng đó để làm cơ sở tư vấn Tư vấn dựa trên danh tiếng bắt nguồn từ việc thực tiễn xã hội quan tâm đến sự nổi bật, uy tín, tên tuổi của một số thương hiệu cụ thể nào đó Nó nắm bắt thông tin các lĩnh vực khác nhau, từ đó xác định các thương hiệu danh tiếng, tên tuổi nguời dùng nổi bật cùng các sản phẩm, mặt hàng tương ứng đi kèm để đưa ra các tư vấn dựa trên chính các ý kiến đó Đây là một trong những cách giúp cho việc đánh giá và đưa ra tư vấn cho người dùng một cách tổng quát hơn là việc trực tiếp so sánh sở thích từng người dùng rồi đưa ra tư vấn
1.4.7 Phương pháp lai
Hệ tư vấn được dựa trên sự kết hợp của trên các kỹ thuật đã được đề cập Một
hệ thống lai kết hợp kỹ thuật tiếp cận dựa trên nội dung và lọc cộng tác cố gắng sử dụng lợi thế của kỹ thuật tiếp cận dựa trên nội dung để sửa chữa những nhược điểm của kỹ thuật lọc cộng tác Ví dụ, phương pháp lọc cộng tác gặp vấn đề với các mặt hàng mới, nó không có thể tư vấn đối với các mặt hàng mà không có xếp hạng Điều này lại đơn giản đối với phương pháp tiếp cận dựa trên nội dung khi việc dự đoán cho các mặt hàng mới dựa trên mô tả của người dùng là tính năng có sẵn và khá dễ dàng
Trang 24Với hai (hoặc hơn) kỹ thuật tư vấn cơ bản, một số cách đã được đề xuất cho việc kết hợp chúng để tạo ra một hệ thống lai mới
1.5 Ứng dụng và đánh giá
Hệ thống tư vấn đang được thực hiện với sự chú trọng về thực hành với các ứng dụng thương mại Như vậy, nghiên cứu hệ tư vấn liên quan đến những khía cạnh thực hành áp dụng đối với việc thực hiện của các hệ thống này Các khía cạnh đó liên quan đến các giai đoạn khác nhau trong vòng đời của một hệ tư vấn, cụ thể là, thiết kế hệ thống, cài đặt và bảo trì hệ thống trong quá trình hoạt động
Dựa trên các lĩnh vực ứng dụng cụ thể, chúng ta có các lĩnh vực tổng quát cho các ứng dụng phổ biến nhất trong hệ thống tư vấn:
Giải trí: tư vấn cho phim ảnh, âm nhạc, và IPTV
Phân loại nội dung báo chí cho người đọc: tư vấn tài liệu, tư vấn các trang web, các ứng dụng e-learning và bộ lọc e-mail
Thương mại điện tử: tư vấn các sản phẩm cho người tiêu dùng mua như sách, máy ảnh, máy tính
Dịch vụ: tư vấn các dịch vụ du lịch, các tư vấn của các chuyên gia tư vấn, tư vấn nhà ở hoặc cho thuê, các dịch vụ mai mối…
Một vài hệ tư vấn nổi tiếng:
Phim / TV/ âm nhạc: MovieLens - MovieLens là một trang web giới thiệu phim Người dùng cho hệ thống biết phim bạn thích và không thích Hệ thống
sử dụng thông tin đó để tạo ra tư vấn cá nhân cho các phim khác mà người dùng có thể sẽ thích hoặc không thích MovieLens sử dụng công nghệ lọc cộng tác để tư vấn các bộ phim Nó hoạt động bằng cách kết hợp những người sử dụng có ý kiến tương tự về phim Mỗi thành viên trong hệ thống có một "vùng lân cận" những người sử dụng tương tự Đánh giá từ những người láng giềng được sử dụng để tạo ra các tư vấn cá nhân hóa cho người sử dụng
Trang 25Tin tức / báo chí: GroupLens - GroupLens là một phòng thí nghiệm nghiên cứu tại Khoa Khoa học Máy tính và Kỹ thuật tại Đại học Minnesota, tiến hành nghiên cứu trong một số lĩnh vực, bao gồm:
- Hệ thống tư vấn
- Cộng đồng trực tuyến
- Công nghệ di động và công nghệ phổ biến
- Thư viện kỹ thuật số
- Hệ thống thông tin vùng địa lý
Sách / Tài liệu: Amazon.com - Thành lập năm 1994, bắt đầu online vào tháng 7/1995 Từ Lĩnh vực kinh doanh ban đầu là sách cho đến nay Amazon đã mở rộng kinh doanh sang nhiều mặt hàng khác như băng đĩa, đồ điện tử, game Tính đến tháng 7-2005, hãng cung cấp 31 chủng loại hàng tại 7 nước Hiện Amazon đã cung cấ ặt hàng khác nhau với mục tiêu thực sự trở thành một siêu thị bán lẻ khổng lồ trên Internet theo đúng nghĩa của nó hơn là một cửa hàng bán sách và DVD trực tuyến như trước đây Amazon.com là một địa chỉ hết sức lôi cuốn mà ngay ngày đầu thành lập đã trở thành địa điểm tham khảo cho bất cứ ai muốn bán mặt hàng của mình Hiện nay có hơn 900.000 đại
lý bán lẻ bên thứ 3 cung cấp mặt hàng của họ lên trang Amazon
Khi hệ thống tư vấn trở nên phổ biến và được quan tâm hơn, nó sẽ đánh thức tiềm năng lợi thế trong các ứng dụng mới Các nhà phát triển hệ tư vấn cho một ứng dụng nhất định phải hiểu rõ các các mặt cụ thể của ứng dụng, yêu cầu của nó, thách thức ứng dụng và hạn chế Chỉ sau khi phân tích những yếu tố này, người ta có thể lựa chọn thuật toán tư vấn tối ưu và thiết kế một sự tương tác giữa con người với máy tính
có hiệu quả
Trang 26CHƯƠNG 2 GIỚI THIỆU PHƯƠNG PHÁP LỌC CỘNG TÁC
VÀ KỸ THUẬT LÁNG GIỀNG 2.1 Phương pháp lọc cộng tác
2.1.1 Định nghĩa phương pháp lọc cộng tác
Lọc cộng tác (Collaborative Filtering) là một kỹ thuật được áp dụng khá thành công trong các hệ tư vấn, nó được dùng để đánh giá độ quan tâm của người dùng tới một mặt hàng mới Trong các hệ thống lọc cộng tác, các dự đoán được đưa ra dựa trên tập dữ liệu về sở thích người dùng – mặt hàng có liên quan tới người dùng hoặc mặt hàng Tuy nhiên, trong trường hợp dữ liệu ít, độ tương tự trực tiếp giữa hai người dùng hoặc hai mặt hàng chỉ cung cấp rất ít thông tin cho ta dự đoán
Hình 2.1 Hệ thống tư vấn lọc cộng tác của trang web Amazon.com
Phương pháp tư vấn lọc cộng tác hoàn toàn khác so với phương pháp tư vấn dựa trên nội dung Thay vì giới thiệu các mặt hàng, vì chúng tương tự như các mặt hàng người dùng đã thích trong quá khứ, cách tiếp cận lọc cộng tác tư vấn các mặt hàng dựa vào ý kiến của những người dùng khác Thông thường, bằng cách tính toán
sự giống nhau của những người sử dụng, một tập hợp láng giềng gần nhất (nearest neighbor) các người dùng có sở thích tương quan đáng kể với một người dùng nhất định sẽ được tìm thấy Như vậy, trong phương pháp này, người dùng chia sẻ sở thích
Trang 27của họ về từng mặt hàng mà họ đã từng tiêu dùng để những người dùng khác của hệ thống có những quyết định tốt hơn đối với những mặt hàng đó Cách tiếp cận lọc cộng tác là kỹ thuật tư vấn thành công nhất và được chấp nhận rộng rãi cho đến nay
Như vậy, phương pháp lọc cộng tác là phương pháp sử dụng các sở thích của người dùng để tạo ra các tư vấn Phương pháp lọc cộng tác bao gồm các kỹ thuật như
kỹ thuật láng giềng, kỹ thuật mạng Bayesian, kỹ thuật mạng Neural kết hợp SVD (Singular value decomposition), kỹ thuật quy tắc quy nạp Quá trình của một hệ thống lọc cộng tác dựa trên kỹ thuật láng giềng có thể được chia thành ba giai đoạn:
1 Giảm kích thước: Chuyển đổi ma trận sở thích của người sử dụng ban đầu vào
một không gian có chiều thấp hơn để giải quyết các vấn đề về kích thước
2 Hình thành vùng lân cận: Đối với người sử dụng cần tư vấn, tính tương đồng
giữa người đó với tất cả các người dùng khác hình thành nên một vùng lân cận với một số lượng người dùng có sở thích tương tự với người sử dụng cần tư vấn
3 Tư vấn: Tạo ra các tư vấn dựa trên sở thích của các láng giềng gần nhất với
người dùng và là số lượng mặt hàng Dữ liệu này có thể gây ra khả năng làm loãng cho hệ thống lọc cộng tác Trong thực tế, đối với một tập lớn các mặt hàng có sẵn,
Trang 28người dùng có thể đánh giá hoặc chọn một tỷ lệ rất thấp của các mặt hàng, tạo ra một
ma trận người dùng rất thưa thớt Kết quả là, hệ thống tư vấn lọc cộng tác không thể đưa ra tư vấn cho một người dùng cụ thể Mặt khác, một hệ thống lọc cộng tác đòi hỏi
các việc tính toán sự tương tự giữa những người sử dụng thay đổi theo người dùng
và mặt hàng nên vấn đề thưa thớt dữ liệu càng nghiêm trọng
Để khắc phục những vấn đề đó, ma trận thưa thớt có thể được chuyển thành một ma trận có số chiều nhỏ hơn bằng cách sử dụng phương pháp chỉ mục ngữ nghĩa tiềm ẩn LSI (Latent Semantic Indexing) Về cơ bản, phương pháp này sử dụng cách phân tích giá trị và loại bỏ đi các giá trị không có ý nghĩa để có được một ma trận bậc xấp xỉ với ma trận sở thích người dùng ban đầu x
2 Hình thành vùng lân cận
Mục tiêu của việc hình thành vùng lân cận là tìm kiếm, cho một người dùng cần
tư vấn , một danh sách mặt hàng của l người sử dụng N = { , , , } mà ∉
là quá trình xây dựng mô hình cho phương pháp tiếp cận lọc cộng tác Một số phương pháp tính toán độ tương tự được đề xuất như sau:
Phương pháp tính khoảng cách Euclide: với phương pháp này, ta có thể tính
toán khoảng cách giữa các người dùng để xác định tính tương đồng giữa họ
Như vậy, độ tương tự và người sử dụng sẽ được tính theo công thức sau:
với: : số điểm đánh giá của người dùng đối với mặt hàng i
Giá trị trả về luôn luôn nằm trong khoảng 0 và 1 Càng gần về 1, 2 người dùng càng có sự tương đồng cao
Hệ số tương quan Pearson: Hệ số tương quan Pearson là biện pháp tính độ
tương tự được sử dụng phổ biến nhất trong các hệ thống lọc cộng tác Nó có nguồn gốc từ mô hình hồi quy tuyến tính Như vậy, độ tương tự giữa người dùng và người dùng sẽ được tính theo công thức sau:
Trang 29với: - là tổng các tích đánh giá của nguời xem , theo từng mặt
Hệ số tương quan Pearson hạn chế: Hệ số tương quan Pearson hạn chế quan
tâm đến cả sở thích tích cực và tiêu cực Một điểm số đánh giá sở thích dưới mức điểm trung bình của hệ thống (ví dụ: 4 trong một thang đánh giá 7 điểm) được coi là tiêu cực, trong khi một đánh giá sở thích trên trung bình thì được cho là tích cực Theo đó, hệ số tương quan Pearson hạn chế được sử dụng để chỉ khi cả hai người dùng đã đánh giá một mặt hàng tích cực hoặc cả hai tiêu cực, hệ số tương quan giữa chúng sẽ tăng Sự tương tự giữa một người sử dụng cần tư vấn và người sử dụng khác được tính toán bằng cách sử dụng hệ số tương quan Pearson hạn chế như sau:
với là trung bình điểm bình chọn
Hệ số tương quan thứ hạng Spearman: Hệ số tương quan thứ hạng Spearman là
một biện pháp tính toán tương quan giữa các đánh giá thay vì điểm số sở thích
thực tế:
Trang 30với: là xếp hạng của người dùng đối với mặt hàng i
là xếp hạng trung bình của người dùng m: số lượng măt hàng đã được lượt giảm
trong không gian m chiều mặt hàng hoặc d chiều mặt hàng trong các ma trận đã
được giảm Độ tương tự giữa chúng được tính bằng cosin của góc giữa hai
vectơ, cụ thể là:
Độ bất tương tự trung bình bình phương (Mean-squared difference): Độ bất
tương tự trung bình bình phương là các phương pháp tính toán sự không tương đồng giữa một người dùng cần tư vấn và người dùng khác , cụ thể như
sau:
Theo một nghiên cứu đánh giá thực nghiệm được tiến hành bởi Herlocker et al
(1999), Hệ số tương quan Pearson có hiệu suất tương tự như phương pháp Hệ số tương quan Spearman và có hiệu suất vượt trội so với phương pháp Khoảng cách Euclide, Độ tương tự Cosine và Độ bất tương tự trung bình bình phương Theo đánh giá các biện pháp tương tự khác nhau của Shardanand và Maes (1995) (bao gồm cả Hệ
số tương quan Pearson, Hệ số tương quan Pearson hạn chế và Độ bất tương tự trung bình bình phương) đã đề xuất rằng Hệ số tương quan Pearson đạt được hiệu suất tốt
nhất về sự cân bằng giữa độ chính xác của dự báo và các mặt hàng có thể được dự đoán Từ đó, hệ thống được xây dựng ở chương 3 sẽ sử dụng phương pháp tính toán
Hệ số tương quan Pearson
Sau khi n × n ma trận tương tự được tính toán cho n người sử dụng bằng cách
sử dụng một phương pháp tính toán độ tương tự, công việc tiếp theo là hình thành các
Trang 31vùng lân cận cho người sử dụng cần tư vấn Ta có thể sử dụng phương pháp k láng giềng gần nhất, nó tạo thành một vùng lân cận kích thước k xác định trước, hay hiểu một cách đơn giản là lựa chọn k người dùng gần nhất
3 Tư vấn
Sau khi những người láng giềng gần nhất của người sử dụng cần tư vấn được xác định, các tư vấn sẽ được tạo ra Kể từ khi quá trình lọc cộng tác được sử dụng cho một người dùng cụ thể, các phương pháp tư vấn lọc cộng tác thông thường là dự đoán
và đưa ra top N tư vấn Các phương pháp tư vấn lọc cộng tác không áp dụng để đưa ra top M người sử dụng cho một mặt hàng mới vì không có sở thích người dùng nào có
sẵn cho mặt hàng này
Để ước tính số điểm đánh giá cho mặt hàng ∉ cho một người sử dụng cần
tư vấn , các phương pháp sau đây có thể được sử dụng:
1 Trung bình trọng số (Weighted average): Để kết hợp tất cả điểm đánh giá của
các láng giềng trên mặt hàng vào một dự đoán, chúng ta có thể sử dụng phương pháp bình quân gia quyền để tính toán trọng số trung bình của các điểm đánh giá bằng cách sử dụng các mối tương quan là trọng số
2 Độ lệch chuẩn (Deviation-from-mean): Phương pháp này được sử dụng bởi
GroupLens, dựa trên giả định rằng điểm số đánh giá của người sử dụng có thể tập trung vào các mức khác nhau Để tính toán ý nghĩa sự khác biệt, độ lệch điểm số đánh giá của một người láng giềng từ điểm đánh giá của lần tính toán đầu tiên, số điểm đánh giá trung bình được thực hiện trên tất cả các mặt hàng
mà người láng giềng đã đánh giá Độ lệch là trung bình tính trên tất cả các láng giềng sau đó được dùng để tính điểm số đánh giá người sử dụng cần tư vấn Số điểm đánh giá dự đoán của người dùng cần tư vấn được tính như sau:
3 Điểm số Z (Z score): Để điểm tư vấn được tính toán mà bao hàm cả sự lây lan điểm số đánh giá của người sử dụng khác nhau, phương pháp Điểm số Z đã
Trang 32pháp này, điểm đánh giá của người láng giềng trên mặt hàng i được chuyển đổi sang điểm Z và trọng số trung bình của điểm Z được bắt nguồn như là số điểm đánh giá dự đoán của người dùng cần tư vấn đối với mặt hàng i:
Đánh giá thực nghiệm cho thấy phương pháp Độ lệch chuẩn thực hiện tốt hơn nhiều so với phương pháp Bình quân gia quyền Tuy nhiên, phương pháp Điểm số Z lại không hiệu quả bằng phương pháp Độ lệch chuẩn, cho thấy những điểm số đánh
giá của người dùng khác nhau có thể dự báo một cách không chính xác
Để đưa ra top N tư vấn cho người sử dụng , đầu tiên cần làm rõ số điểm đánh
giá dự đoán trên từng mặt hàng được đánh giá bởi Sau đó, top N mặt hàng với số
điểm đánh giá dự đoán cao nhất sẽ được thống kê lại trong 1 danh sách tư vấn
đã được đánh giá cao nhất bởi hai người dùng u và v, tức là ∩ , và có thể viết là U được sử dụng để biểu thị các thiết lập của người sử dụng đã đánh giá cả hai mặt hàng i và j
Hai trong số các vấn đề quan trọng nhất liên quan đến hệ thống tư vấn là Mặt hàng tốt nhất và N tư vấn đầu tiên Vấn đề đầu tiên bao gồm tìm kiếm cho một người
Trang 33dùng cụ thể u, các mặt hàng mới i ∈ I \ mà có khả năng được u quan tâm nhất Khi
xếp hạng, công việc này thường được xác định như là một hồi quy hoặc phân loại vấn
đề mà mục tiêu là để tìm hiểu một chức năng f: U × I → S có thể dự đoán đánh giá f
(u, i) của một người sử dụng u cho một mặt hàng mới i Chức năng này sau đó được sử
dụng để giới thiệu cho người dùng cần tư vấn một mặt hàng i * mà ước tính có giá
trị đánh giá cao nhất:
2 Ưu điểm của kỹ thuật láng giềng
Các ưu điểm chính của kỹ thuật láng giềng là:
Đơn giản: Kỹ thuật láng giềng dựa trên trực quan và thực hiện tương đối đơn
giản Trong đó, chỉ có một tham số (số lượng của láng giềng được sử dụng trong dự đoán) là có thể bị yêu cầu điều chỉnh
Hợp lý: Kỹ thuật này cũng cung cấp một sự lý giải ngắn gọn và trực quan cho
các tính toán dự đoán Ví dụ: trong tư vấn dựa trên mặt hàng, danh sách các láng giềng cũng như đánh giá được đưa ra bởi người sử dụng cho các mặt hàng
này được xem như là một cơ sở, nền tảng cho việc tư vấn Điều này có thể giúp
người sử dụng hiểu rõ hơn về các tư vấn và sự liên quan của nó, được xem như
là cơ sở cho một hệ thống tương tác, nơi người dùng có thể lựa chọn những người láng giềng của họ
Hiệu quả: Một trong những điểm mạnh của các vùng lân cận dựa trên hệ thống
là hiệu quả của nó Không giống như hầu hết các hệ thống dựa trên mô hình, nó yêu cầu các giai đoạn cần phải được thực hiện trong khoảng thời gian thường xuyên đối với các ứng dụng thương mại lớn Trong khi giai đoạn tư vấn là thường tốn kém hơn so với phương pháp dựa trên mô hình, kỹ thuật láng giềng
có thể tính toán trong một bước ẩn, cung cấp các tư vấn gần như ngay lập tức Hơn nữa, lưu trữ những láng giềng gần nhất yêu cầu rất ít bộ nhớ, làm cho cách tiếp cận này có khả năng mở rộng cho các ứng dụng có hàng triệu người sử dụng và các mặt hàng