1. Trang chủ
  2. » Công Nghệ Thông Tin

Xây dựng hệ thống gợi ý địa điểm du lịch

80 955 10

Đ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 80
Dung lượng 1,71 MB

Nội dung

CHƯƠNG 1: TỔNG QUAN HỆ GỢI Ý Trong cuộc sống thường ngày, mọi người thường dựa vào ý kiến hay lời khuyên người khác để đưa ra quyết định về hành động hoặc lựa chọn, ví dụ như để lựa chọn

Trang 1

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn

của PGS.TS Lê Thanh Hương Các nội dung nghiên cứu, kết quả trong luận văn này là

trung thực và chưa từng được công bố tại bất kỳ công trình nào khác Trong quá trình làm luận văn, tôi có tham khảo các tài liệu có liên quan và đã ghi rõ nguồn tài liệu tham khảo

Hà Nội, ngày 20 tháng 10 năm 2016

Học viên

Lê Văn Giang

Trang 2

LỜI CẢM ƠN

Để hoàn thành được luận văn này, tôi đã nhận được rất nhiều sự động viên, giúp

đỡ của nhiều cá nhân và tập thể

Trước tiên, tôi xin bày tỏ lòng biết ơn sâu sắc tới PGS.TS Lê Thanh Hương,

Trường Đại học Bách Khoa Hà Nội, đã nhiệt tình hướng dẫn, tạo điều kiện thuận lợi cho tôi nghiên cứu khoa học, và giúp tôi có thể hoàn thành luận văn một cách tốt nhất

Tôi xin gửi lời cảm ơn đến các anh, chị trong phòng Công nghệ thông tin – trung tâm Học liệu Đại học Thái Nguyên đã giúp tôi tiến hành kiểm thử hệ thống

Tôi cũng xin gửi lời cám ơn đến gia đình, bạn bè, những người đã luôn bên tôi, động viên và khuyến khích tôi trong quá trình thực hiện đề tài nghiên cứu của mình

Học viên

Lê Văn Giang

Trang 3

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

RS Recommender System Hệ thống gợi ý

Information overload Sự quá tải thông tin

CF Collaborative Filtering Hệ gợi ý lọc cộng tác

Content based Hệ gợi ý dựa trên nội dung Knowledge-based Hệ gợi ý dựa trên tri thức Demographic-based Hệ gợi ý dựa trên nhân khẩu học Hybrid recommender Hệ gợi ý lai

Cold-start Điểm khởi đầu yếu

Trang 4

DANH MỤC CÁC BẢNG

Bảng 2.1 Dữ liệu demographic 21

Bảng 3.1 Đánh giá của người dùng trên sản phẩm 44

Bảng 3.2 Ma trân tương đồng giữa các người dùng 46

Bảng 3.3 Đánh giá của người dùng trên các sản phẩm 48

Trang 5

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 1.1: Website amazon.com 9

Hình 2.1 Hệ gợi ý không cá nhân hóa 20

Hình 2.2 Hệ thống gợi ý demographic-based 21

Hình 2.3 Ma trận người dùng sản phẩm 23

Hình 2.4 Quá trình lọc cộng tác 24

Hình 2.5 Hướng tiếp cận content-based 36

Hình 2.6 Hướng tiếp cận knowledge-based 37

Hình 4.1 Use case Tổng quan 52

Hình 4.2 Use case tìm kiếm địa điểm du lịch 53

Hình 4.3 Use case Nhận gợi ý 54

Hình 4.4 Use case quản lý địa điểm du lịch 55

Hình 4.5 Biểu đồ hoạt động chức năng xem thông tin, tìm kiếm địa điểm du lịch 56

Hình 4.6 Biểu đồ hoạt động chức năng gợi ý 57

Hình 4.7 Biểu đồ hoạt động chức năng đăng ký tài khoản 58

Hình 4.8 Biểu đồ hoạt động chức năng quản lý bình luận, đánh giá 59

Hình 4.9 Biểu đồ hoạt động chức năng quản lý địa điểm du lịch 60

Hình 4.10 Biểu đồ Sequence chức năng Xem tin, tìm kiếm 61

Hình 4.11 Biểu đồ Sequence chức năng đăng kí tài khoản 62

Hình 4.12 Biểu đồ Sequence chức năng đăng nhập 63

Hình 4.13 Biểu đồ Sequence chức năng quản lý địa điểm du lịch 64

Hình 4.14 Lược đồ quan hệ dữ liệu 65

Hình 4.15 Chức năng thêm sở thích cho người dùng mới 68

Hình 4.16 Địa điểm du lịch mới 69

Hình 4.17 Minh họa hệ thống gợi ý cho người dùng 70

Hình 4.18 Giao diện trang chủ của hệ thống 71

Hình 4.19 Giao diện đánh giá và bình luận 72

Hình 4.20 Giao diện trang quản trị hệ thống 72

Trang 6

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 1

DANH MỤC CÁC BẢNG 2

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 3

MỞ ĐẦU 6

CHƯƠNG 1: TỔNG QUAN HỆ GỢI Ý 8

1.1 Chức năng của các hệ gợi ý 11

1.1.1 Đối với nhà cung cấp 12

1.1.2 Đối với người sử dụng 13

1.1.3 Ứng dụng của hệ gợi ý 15

1.2 Các vấn đề cơ bản của hệ gợi ý 16

1.2.1 Vấn đề điểm khởi đầu yếu 16

1.2.2 Vấn đề thưa thớt dữ liệu 17

1.2.3 Vấn đề về khả năng mở rộng 18

CHƯƠNG 2: CÁC KỸ THUẬT GỢI Ý 19

2.1 Không cá nhân hóa 20

2.2 Demographic-based 21

2.3 Kỹ thuật lọc cộng tác (Collaborative filtering) 22

2.3.1 Các kỹ thuật lọc cộng tác dựa trên bộ nhớ 25

2.3.2 Các kỹ thuật lọc cộng tác dựa trên mô hình 33

2.4 Kỹ thuật gợi ý dựa trên nội dung (Content-based) 35

2.5 Kỹ thuật gợi ý dựa trên tri thức (Knowledge-based) 37

2.6 Hệ gợi ý lai và các phương pháp lai 38

2.6.1 Các phương pháp lai ghép 41

CHƯƠNG 3: XÂY DỰNG HỆ THỐNG GỢI Ý ĐỊA ĐIỂM DU LỊCH 43

3.1 Phát biểu bài toán 43

3.2 Xây dựng hệ thống 44

3.2.1 Xây dựng tập láng giềng 45

3.2.2 Tạo dự đoán 46

CHƯƠNG 4: CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ 50

4.1 Xác định yêu cầu hệ thống 50

4.2 Phân tích yêu cầu 51

Trang 7

4.2.1 Xác định các tác nhân tham gia hệ thống 51

4.3 Biểu đồ ca sử dụng (Use case Diagram) 53

4.3.1 Biểu đồ Use case tổng quan 53

4.4 Biểu đồ Use case phân rã 53

4.4.1 Use case: Tìm kiếm địa điểm du lịch 53

4.4.2 Use case: Nhận gợi ý 54

4.4.3 Use case: Quản lý địa điểm du lịch 55

4.5 Biểu đồ Hoạt Động (Activity Diagram) 56

4.5.1 Biểu đồ hoạt động: Xem thông tin, tìm kiếm 56

4.5.2 Biểu đồ hoạt động: Nhận gợi ý 57

4.5.3 Biểu đồ hoạt động: Đăng ký tài khoản 58

4.5.4 Biểu đồ hoạt động: Quản lý bình luận, đánh giá 59

4.5.5 Biểu đồ hoạt động: Quản lý địa điểm du lịch 60

4.6 Biểu đồ trình tự (Sequence Diagram) 61

4.6.1 Biểu đồ trình tự: Xem tin, tìm kiếm 61

4.6.3 Biểu đồ trình tự: Đăng nhập 63

4.6.4 Biểu đồ trình tự: Quản lý địa điểm du lịch 64

4.7 Thiết kế dữ liệu 65

4.7.1 Lược đồ quan hệ dữ liệu 65

4.8 Mô hình hệ thống 66

4.8.1 Một số tình huống của hệ thống 67

4.9 Một vài giao diện chính của hệ thống 71

4.10 Đánh giá hệ thống 73

4.10.1 Các thước đo đánh giá 73

4.10.2 Phương pháp đánh giá 74

KẾT LUẬN 76

TÀI LIỆU THAM KHẢO 77

Trang 8

MỞ ĐẦU

Sự phát triển nhanh chóng của công nghệ thông tin và Internet đã tạo nên lượng dữ liệu khổng lồ trên mạng, ngày càng nhiều thông tin được tạo ra và được truy cập trên internet, dẫn tới vấn đề quá tải thông tin do đó việc tìm kiếm thông tin của người dùng trở lên khó khăn và đặc biệt sự quan tâm của mỗi người dùng tới nguồn thông tin là khác nhau do vậy cần có các công cụ, hệ thống có khả năng hỗ trợ người dùng tìm kiếm hoặc đưa ra các thông tin phù hợp với sự quan tâm hiện thời của người dùng Các hệ gợi ý giải quyết vấn đề quá tải thông tin bằng cách giúp người dùng khám phá và đánh giá các sản phẩm quan tâm Lọc cộng tác là một trong những kỹ thuật phổ biến và hiệu quả nhất được sử dụng trong các hệ gợi ý Các thuật toán lọc cộng tác sử dụng thông tin lịch sử của các người dùng để xác định tập láng giềng của mỗi người dùng để đưa ra hành vi tương tự và dự đoán các sản phẩm mới của những người dùng trong tập láng giềng Các thuật toán lọc cộng tác đã được áp dụng thành công trong nhiều ứng dụng khác nhau Nhưng tất cả các kỹ thuật,thuật toán áp dụng cho hệ gợi ý đều có những điểm mạnh và điểm yếu riêng, và gặp phải những vấn đề đặc trưng của

hệ gợi ý như: vấn đề thưa thớt dữ liệu, điểm khởi đầu yếu (cold-start), khả năng mở rộng… Vấn đề thưa thớt dữ liệu xảy ra khi các dữ liệu đánh giá có sẵn là rất ít và không đủ để xác định độ tương tự giữa các láng giềng, đặc biệt khi hệ thống mới đưa vào sử dụng Vấn đề thưa thớt dữ liệu là lý do chính ảnh hưởng tới chất lượng dự đoán

Đã có nhiều phương pháp được đề xuất để giải quyết vấn đề thưa thớt dữ liệu, ví dụ, Billsus và Pazzani [1]đã sử dụng thuật toán phân tích giá trị kỳ dị để giảm kích thước

dữ liệu đánh giá bằng cách loại bỏ những người dùng hoặc những sản phẩm không được quan tâm Để đạt được hiệu quả gợi ý cao, yêu cầu thuật toán phải giải quyết được các vấn đề cũng như các đặc trưng của hệ gợi ý

Trang 9

Các hệ thống gợi ý dựa trên lọc cộng tác cũng phải đưa ra các gợi ý trong thời gian thực Tuy nhiên, thuật toán lọc cộng tác đòi hỏi tính toán rất tốn kém và phát triển phi tuyến với cả số lượng người dùng và sản phẩm Khả năng mở rộng kém của các thuật toán lọc cộng tác làm cho nó không có hiểu quả cho việc thực thi thời gian thực đã có nhiều nỗ lực được thực hiện nhằm giải quyết vấn đề khả năng mở rộng

Trong luận văn tốt nghiệp này, tôi sẽ trình bày về các phương pháp gợi ý, mô hình

hệ gợi ý, xây dựng hệ thống đưa ra các gợi ý được cá nhân hóa, phù hợp với nhu cầu và

sở thích của mỗi người dùng Nghiên cứu tập trung vào áp dụng giải thuật phù hợp giải quyết bài toán gợi ý địa điểm du lịch, thử nghiệm trên bộ dữ liệu chuẩn và đánh giá kết quả đạt được

Trang 10

CHƯƠNG 1: TỔNG QUAN HỆ GỢI Ý

Trong cuộc sống thường ngày, mọi người thường dựa vào ý kiến hay lời khuyên người khác để đưa ra quyết định về hành động hoặc lựa chọn, ví dụ như để lựa chọn bộ phim mọi người có thể đọc giới thiệu tổng quát, bài đánh giá của các nhà phê bình điện ảnh hoặc nhận xét của những người khác về bộ phim trên các tạp chí, Internet hoặc khi muốn mua một cuốn sách, mọi người có thể tham khảo ý kiến của người quen, chủ cửa hàng bán sách hoặc những người mua khác, bằng cách đưa ra sở thích, mối quan tâm của mình với họ để nhận được góp ý

Với sự phát triển của Internet và thương mại điện tử hiện nay, lượng thông tin có sẵn là vô cùng lớn, điều đó gây khó khăn và rất tốn thời gian để người dùng tìm kiếm thông tin và lựa chọn sản phẩm Yêu cầu cần có phương pháp thu thập thông tin và đưa

ra lời khuyên để hỗ trợ người dùng trong vấn đề tìm kiếm và lựa chọn sản phẩm họ quan tâm Hệ gợi ý là một giải pháp được đưa ra cho vấn đề này

Hệ gợi ý là các kỹ thuật (lọc thông tin) và các công cụ phần mềm cung cấp các đề xuất sản phẩm có thể được quan tâm tới người dùng Các đề xuất này có thể giúp ích cho quá trình đưa ra quyết định lựa chọn sản phẩm của người dùng, như lựa chọn địa điểm du lịch muốn đi, mặt hàng để mua, bài báo hay một bản nhạc … [1]

Một hệ thống gợi ý thường tập trung vào một loại sản phẩm nhất định (CD, Sách, Phim ảnh, Báo, Địa điểm du lịch…) với thiết kế, giao diện người dùng, các kỹ thuật gợi ý phù hợp sẽ đưa ra các đề xuất hiệu quả và hữu dụng cho loại sản phẩm cụ thể Các hệ gợi ý chủ yếu hướng tới những người thiếu kinh nghiệm hoặc thiếu khả năng để đánh giá tiềm năng vượt trội của các sản phẩm mà một trang web có thể cung cấp ví

dụ trang web phổ biến là Amazon.com, trang web này sử dụng một hệ gợi ý để cá nhân hóa lưu trữ trực tuyến cho mỗi khách hàng, khi các đề xuất được cá nhân hóa, người dùng hoặc nhóm người dùng khác nhau sẽ nhận được các đề xuất khác nhau Ngoài ra

Trang 11

cũng có các hệ gợi ý không được cá nhân hóa, đó là cách đơn giản để tạo các đề xuất

áp dụng trong các hệ gợi ý tạp chí, báo

Hình 1.1: Website amazon.com

Trang 12

Các gợi ý được cung cấp cho người dùng dưới dạng đơn giản như một danh sách đánh giá các sản phẩm, để có thể tạo ra được danh sách đó, các hệ gợi ý cố gắng dự đoán các sản phẩm hoặc dịch vụ phù hợp nhất với người dùng dựa trên sở thích và các điều kiện rằng buộc của người dùng, để làm được điều này, các hệ gợi ý thu thập thông tin liên quan tới người dùng: sở thích, các lần đánh giá về các sản phẩm, hoặc được suy luận từ các hành vi của người dùng đối với hệ thống hoặc tận dụng các gợi ý đã được tạo bởi cộng đồng người dùng để gợi ý cho người dùng đang hoạt động (active user), người mà cần được gợi ý Kết quả gợi ý là các sản phẩm mà những người dùng tương

tự đã thích, các sản phẩm này có thể hoàn toàn mới đối với người dùng được gợi ý Phương pháp tiếp cận này được gọi là kỹ thuật lọc cộng tác

Nghiên cứu các hệ gợi ý liên quan tới các kỹ thuật và các công cụ hệ thống phân lớp thông tin Tuy nhiên các hệ gợi ý được nghiên cứu độc lập từ những năm 1990 Những năm gần đây sự quan tâm về các hệ gợi ý đã gia tăng nhanh chóng, được thể hiện [1]:

 Các hệ gợi ý đóng vai trò quan trọng trong các website đã được đánh giá cao như: amazon.com, youtube.com, yahoo Hơn nữa nhiều công ty đa phương tiện hiện nay đang phát triển và triển khai các hệ gợi ý như một phần dịch vụ mà học cung cấp tới khách hàng của họ Ví dụ Netflix, dịch vụ cho thuê phim trực tuyến, họ đưa ra giải thưởng 1 triệu dollar cho nhóm đầu tiên cải thiện đáng kể hiệu năng hệ gợi ý của họ (cải thiện 10% hiệu năng )

 Đã có các cuộc hội thảo, hội nghị dành riêng cho các cống hiến liên quan tới lĩnh vực này Tiêu biểu là ACM Recommender Systems, được thành lập năm 2007 và hiện nay tổ chức các sự kiện hằng năm về các nghiên cứu và ứng dụng công nghệ gợi ý Ngoài ra, có phiên họp dành riêng cho các lĩnh vực cụ thể như : ACMSIGIR, SIGMOD

Trang 13

 Tại các tổ chức giáo dục trên khắp thế giới, các khoa đại học và sau đại học hiện nay đã có môn rành riêng cho nghiên cứu về hệ gợi ý, các bài hướng dẫn, sách, báo về các hệ gợi ý đã được phát hành rộng rãi

 Có nhiều tạp chí của các trường đại học phát hành về các nghiên cứu và sự phát triển trong lĩnh vự gợi ý Trong số này, các tạp chí dành riêng cho vấn

đề hệ gợi ý: AI Communication (2008), IEEE Intelligent Systems (2007), International Journal of Electronic Commerce (2006), International Journal

of Computer Science and Applications (2006), ACM Transactions on Computer-Human Interaction (2005), và ACM Transactions of Information Systems (2004)

Một vài hệ gợi ý nổi tiếng[14]:

 Phim / TV / âm nhạc: MovieLens, EachMovie, Morse, Firefly, Flycasting, Ringo…

 Tin tức / báo chí: Tapestry, GroupLens, Lotus Notes, Anatagonomy…

 Sách / tài liệu: Amazon.com, Foxtrot, InfoFinder…

 Web: Phoaks, Gab, Lab, IfWeb, Let’s Browse…

 Nhà hàng: Adaptive Place Advisor, Polylens, Pocket restaurent finder…

 Du lịch: Dietorecs, LifestyleFinder, TripAdvisor…

1.1 Chức năng của các hệ gợi ý

Phần này sẽ trình bày về chức năng của các hệ gợi ý Trước tiên, ta cần phân biệt

rõ vai trò của các hệ gợi ý đối với nhà cung cấp dịch vụ (hệ gợi ý đại diện cho nhà cung cấp dịch vụ) và đối với người sử dụng hệ gợi ý Ví dụ như: một hệ gợi ý du lịch thường được đưa ra bởi bên môi giới du lịch hoặc nhà tổ chức quản lý điểm du lịch nhằm mục

Trang 14

đích tăng doanh thu, cho thuê được nhiều phòng nghỉ hơn, tăng số lượng du khách tới điểm du lịch đó Trong khi động cơ chính của người sử dụng hệ gợi ý này là để tìm các điểm du lịch, khách sạn phù hợp và các sự kiện hấp dẫn khi đến điểm du lịch

1.1.1 Đối với nhà cung cấp

Trên thực tế, có nhiều lý do để nhà cung cấp dịch vụ muốn khai thác công nghệ này FrancescoRicci và cộng sự [1] đã đưa ra một số lí do như sau:

 Tăng số lượng sản phẩm bán được: đây có lẽ là chức năng quan trọng nhất đối với

các hệ gợi ý thương mại điện tử, mục đích này đạt được do các sản phẩm được gợi

ý phù hợp với các sản phẩm mà người dùng cần và người dùng mong muốn, có thể người dùng sẽ chấp nhận mua sau khi xem gợi ý từ hệ thống Nói chung, ta có thể nói nhìn từ quan điểm của các nhà cung cấp dịch vụ, mục đích chính của việc đưa

ra một hệ gợi ý là làm tăng tỷ lệ giữa lượng khách hàng mua sản phẩm và lượng khách hàng truy cập chỉ để duyệt tìm thông tin

 Bán được các sản phẩm đa dạng hơn: chức năng này của hệ gợi ý cho phép người

dùng lựa chọn các lựa chọn các sản phẩm mà có thể rất khó để tìm thấy nếu như không có gợi ý chính xác Ví dụ, trong hệ gợi ý phim của Netflix, nhà cung cấp quan tâm tới cho thuê tất cả DVD của họ, chứ không chỉ những DVD nổi tiếng, điều này có thể rất khó nếu như không có hệ gợi ý, họ có thể gặp rủi ro trong việc quảng cáo các bộ phim không phù hợp với thị hiếu của người dùng Như vậy, một

hệ gợi ý đề xuất hoặc quảng cáo được những DVD không nổi tiếng nhưng phù hợp với người dùng

 Nâng cao sự hài lòng của người dùng: Một hệ thống gợi ý được thiết kế tốt có thể

hoàn thiện kinh nghiệm sử dụng web hoặc ứng dụng của người dùng Với tương tác người máy hợp lý, người dùng có thể thấy được các gợi ý một cách dễ ràng, phù hợp với thị hiếu của họ Như vậy họ sẽ thích sử dụng hệ thống Sự kết hợp hiệu quả

Trang 15

giữa các gợi ý và giao diện sử dụng sẽ làng tăng lượng đánh giá chủ quan của người dùng về hệ thống Điều này làm tăng số lượt sử dụng hệ thống và tăng khả năng các gợi ý được chấp nhận

 Nâng cao sự trung thành của người dùng: Một người sẽ trung thành với một

website khi mà họ truy cập, hệ thống nhận thức được đây là khách hàng cũ và đối đãi với họ như một người truy cập quan trọng Đây là một tính năng thông thường của một hệ gợi ý Hệ gợi ý sử dụng các thông tin có được từ người dùng trong các lượt tương tác trước của họ với hệ thống ví dụ như các đánh giá về các sản phẩm, hành vi duyệt web Do vậy, người dùng càng tương tác nhiều với hệ thống, mô hình người dùng của họ sẽ càng hoàn thiện hơn, như vậy hệ thống sẽ đưa ra được các gợi

ý hợp lý, hiệu quả hơn với sở thích của người người dùng đó

 Hiểu biết tốt hơn về những mong muốn của người dùng: tính năng này của hệ thống

có thể được sử dụng lại cho nhiều ứng dụng khác, đó là mô tả về sở thích của người dùng Có thể được thu thập một cách tường minh (đánh giá của người dùng về sản phầm …) hoặc không tường minh được suy luận ra từ các hành vi tương tác với hệ thống của người dùng, nhà cung cấp dịch vụ có thể dựa vào đó để quyết định có sử dụng lại tri thức này cho một mục đích khác hay không ví dụ như cải thiện quản lý sản xuất và lưu trữ sản phẩm,cân đối việc sản xuất sản phẩm theo thị hiếu người dùng

1.1.2 Đối với người sử dụng

Lý do để người sử dụng cần đến một hệ gợi ý:

 Tìm ra một số sản phẩm tốt nhất: hệ thống gợi ý tới người dùng một số sản phẩm

được xếp hạng và dự đoán số người dùng khác thích chúng Đây là chức năng chính

mà nhiều hệ thống thương mại điện tử sử dụng

Trang 16

 Tìm ra tất cả sản phẩm tốt: gợi ý tất cả sản phẩm mà có thể làm hài lòng nhu cầu

của khách hàng Trong nhiều trường hợp không đủ cơ sở để đưa ra các sản phẩm tốt nhất Điều này chỉ đúng khi số lượng sản phẩm liên quan tương đối nhỏ hoặc khi hệ gợi ý là chức năng quan trọng trong ứng dụng tài chính và y tế

 Gợi ý liên tục: thay vì tập trung vào tạo gợi ý đơn, các hệ thống gợi ý tạo các gợi ý

liên tục tới người dùng cho tới khi họ tìm được sản phẩm mong muốn

 Gợi ý một nhóm sản phẩm: đề xuất một nhóm các sản phẩm mà tương đương nhau

Ví dụ như kế hoạch du lịch có thể là gồm nhiều điểm đến, các dịch vụ nơi ở , các sự kiện hấp dẫn Từ quan điểm của người dùng những lựa chọn khác nhau có thể được xem xét và được lựa chọn một điểm đến du lịch hợp lý

 Chỉ duyệt tìm: trong tác vụ này, người dùng duyệt các danh mục mà không có ý

định mua sản phẩm nào, tác vụ này đưa ra gợi ý giúp người dùng duyệt tìm các sản phẩm có nhiều khả năng thuộc vào phạm vi sở thích của người dùng với phiêm truy cập xác định Đây là tác vụ được hỗ trợ bởi các kỹ thuật đa phương tiện

 Tìm kiếm các gợi ý tin tưởng: một số người dùng không tin tưởng vào các hệ thống

gợi ý, họ tham gia vào hệ thống để thấy được các hệ thống này đưa ra gợi ý tốt tới mức nào Do đó, một số hệ thống có thể đưa ra các chức năng chính xác để cho phép họ thử nghiệm hành vi của họ, ngoài các yêu cầu gợi ý

 Cải thiện hồ sơ cá nhân người dùng: người dùng có khả năng cung cấp thông tin,

những gì họ thích, không thích với hệ thống gợi ý Điều này là hết sức cần thiết để đưa ra các gợi ý mang tính chất cá nhân hóa Nếu như hệ thống không xác định tri thức về người dùng đang hoạt động thì nó chỉ có thể đưa ra các gợi ý giống nhau

 Bày tỏ ý kiến của mình: một số người dùng có thể không quan tâm tới các gợi ý,

đúng hơn, những gì quan trọng với họ là được góp ý kiến, đánh giá về sản phẩm, giúp ích người khác khi lựa chọn sản phẩm này

Trang 17

 Tác động tới những người dùng khác: trong hệ gợi ý trên web, có nhiều người tham

gia với mục tiêu của họ là tác động tới hệ gợi ý, dẫn tới ảnh hưởng tới người dùng khác khi mua một sản phẩm cụ thể (thông qua đánh giá sản phẩm,…) Tác động của

họ có thể thúc đẩy hoặc gây bất lợi cho sản phẩm

Vai trò của một hệ gợi ý trong hệ thống thông tin có thể rất đa dạng, điều này phụ thuộc vào các kỹ thuật và nguồn tri thức được sử dụng

1.1.3 Ứng dụng của hệ gợi ý

Nghiên cứu hệ gợi ý đang được tiến hành nhằm mục đích ứng dụng vào thực tế và thương mại Ngoài việc đóng góp về mặt lý thuyết, mục đích chính là hướng tới cải thiện các gợi ý thương mại, như vậy, các nghiên cứu hệ gợi ý liên quan tới các khía cạnh, áp dụng để thực thi các hệ gợi ý Các khía cạnh này liên quan tới các pha khác nhau trong vòng đời phát triển của một hệ gợi ý, đó là thiết kế hệ thống, thực thi nó, bảo trì và nâng cấp hiệu năng hệ thống

Các khía cạnh áp dụng đối với giai đoạn thiết kế gồm các yếu tố, phải lựa chọn thuật toán hiệu quả Yếu tố đầu tiên được cân nhắc, miền áp dụng, là một tác động lớn đối với thuật toán mà được sử dụng Đưa ra một mô hình và phân loại các ứng dụng hệ gợi ý đã có để xác định miền ứng dụng Dựa trên những miền ứng dụng xác định đó, chúng ta định nghĩa tổng quát hơn về loại miền ứng dụng đối với các hệ gợi ý phổ biến nhất:

 Giải trí: các gợi ý phim, nhạc, TV

 Nội dung: các bài báo, gợi ý văn bản, gợi ý các trang web,lọc e-mail

 Thưng mại điện tử: gợi ý cho người tiêu dùng các sản phẩm để mua như sách, hàng hóa, máy tính…

Trang 18

 Dịch vụ: gợi ý địa điểm du lịch, gợi ý của chuyên gia, gợi ý thuê nhà hoặc dịch vụ môi giới

Các dịch vụ gợi ý đã trở lên phổ biến hơn, quan tâm tới khơi dậy các lợi thế tiềm năng trong các ứng dụng mới, như gợi ý bạn bè Như vậy danh sách các lĩnh vực trên chưa thể liệt kê hết tất cả miền ứng dụng mà được giải quyết bằng các kỹ thuật gợi ý,

nó đưa ra miêu tả ban đầu về các kiểu miền ứng dụng

Nhà phát triển hệ gợi ý có hiểu biết về miền ứng dụng, các yêu cầu của nó cũng như những thách thức và các hạn chế của nó Chỉ sau khi phân tích những yếu tố họ mới có thể lựa chọn được thuật toán gợi ý tối ưu và thiết kế tương tác người máy hiệu quả

1.2 Các vấn đề cơ bản của hệ gợi ý

1.2.1 Vấn đề điểm khởi đầu yếu

Vấn đề này liên quan đặt biệt với các vấn đề mà hệ thống không thể thực hiện bất

kỳ kết luận cho người dùng hoặc sản phẩm do hệ thống chưa thu thập đủ thông tin Vấn

đề này chủ yếu gặp phải trong các hệ gợi ý Thông thường, một hệ gợi ý so sánh hồ sơ của các người dùng để tham khảo một số đặc điểm mà có thể thu được từ các phương pháp lọc cộng tác hoặc phương pháp lọc nội dung Hệ thống không thể tạo các gợi ý hữu ích khi mà nó chưa có đủ thông tin về người dùng hoặc sản phẩm

Ba kiểu vấn đề điểm khởi đầu yếu gồm: sản phẩm mới, người dùng mới, hệ thống mới đưa vào sử dụng Rõ ràng, vấn đề người dùng mới xảy ra khi một người dùng mới

sử dụng hệ thống và hệ thống không có đủ thông tin về sở thích của người dùng Tương tự, khi một sản phẩm mới được thêm vào hệ thống và chưa có người dùng nào trong hệ thống cung cấp thông tin phản hồi về sản phẩm này Vấn đề hệ thống mới đưa

Trang 19

vào sử dụng là sự kết hợp của hai vấn đề trên đó là cùng xảy ra hai vấn đề: người dùng mới, sản phẩm mới

Phương pháp dựa trên nội dung là sự kết hợp của các đặc điểm về sản phẩm và hồ

sơ người dùng Với mục đích này, hệ thống phải xây dựng mô hình chi tiết về sở thích

và thị hiếu người dùng Hệ thống có thể làm điều này một cách tường minh bằng cách truy vấn người dùng, hoặc không tường minh bằng cách giám sát các hành vi sử dụng

hệ thống của người dùng Trong cả hai cách này, vấn đề điểm khởi đầu yếu có nghĩa rằng trước khi hệ thống có thể cung cấp các gợi ý thông minh, người dùng phải sử dụng hệ thống và góp phần xây dựng hồ sơ của họ [5]

Tương tự, phương pháp lọc cộng tác cũng bị ảnh hưởng bởi vấn đề này Trong phương pháp tiếp cận này, hệ gợi ý xác định độ tương tự của các người dùng với người dùng đang hoạt động và đề xuất các sản phẩm mà những người dùng tương tự thích và người dùng đang hoạt động chưa xem qua sản phẩm đó Do vấn đề điểm khởi đầu yếu, phương pháp tiếp cận này sẽ thất bại trong việc xem xét các sản phẩm mà chưa được đánh giá bởi bất kỳ người dùng nào trước đó

ý dựa trên xếp hạng của các sản phẩm được người dùng đưa ra Các hệ thống thường xây dựng ma trận người dùng – sản phẩm chứa các xếp hạng sản phẩm được người dùng đưa ra Khi số lượng người dùng và sản phẩm tăng lên, ma trận này cũng lớn hơn

và gặp phải vấn đề thưa thớt dữ liệu Có nhiều phương pháp được đề xuất để giải quyết

Trang 20

vấn đề thưa thớt dữ liệu Hầu hết chúng đều thành công trong việc cung cấp các gợi ý tốt hơn nhưng vẫn chưa có một mô hình chung để giải quyết vấn đề thưa thớt dữ liệu [5]

1.2.3 Vấn đề về khả năng mở rộng

Khả năng mở rộng là một tính chất mong đợi của các hệ thống mà chỉ ra khả năng

xử lý lượng công việc này càng lớn và mở rộng dễ dàng

Đối với nhiều hệ thống gợi ý có nhiều người sử dụng và nhiều sản phẩm, duy trì khả năng mở rộng là một vấn đề thánh thức Các thuật toán láng giềng gần nhất được

sử dụng rộng rãi cho các hệ gợi ý và những thuật toán này yêu cầu tính toán một lượng lớn cả người dùng và sản phẩm Với một triệu người dùng và sản phẩm, một hệ gợi ý trên web sẽ bị ảnh hưởng nghiêm trọng bởi vấn đề khả năng mở rộng

Hầu hết các hệ gợi ý sử dụng các kiểu lọc cộng tác khác nhau để xây dựng các đề xuất các sản phẩm liên quan đến mối quan tâm của người dùng Tuy nhiên, các kỹ thuật lọc cộng tác yêu cầu tính toán nhiều tùy theo số lượng người dùng và sản phẩm trong cơ sở dữ liệu Các phương pháp đề xuất để xử lý vấn đề khả năng mở rộng và thúc đẩy xây dựng các gợi ý dựa trên cơ chế xấp xỉ Ngay cả khi chúng ta cải tiến hiệu năng, hầu hết kết quả đưa ra giảm tính chính xác

Trang 21

CHƯƠNG 2: CÁC KỸ THUẬT GỢI Ý

Các hệ gợi ý được giới thiệu như một kỹ thuật thông minh dựa trên máy tính để giải quyết các vấn đề quá tải thông tin và sản phẩm Chúng có thể được sử dụng cung cấp các dịch vụ hiệu quả trong các miền nghiệp vụ điện tử, có lợi cả với khách hàng và nhà cung cấp Các hệ gợi ý đối với khách hàng bằng cách đưa ra cho họ các đề xuất về các sản phẩm mà họ có thể quan tâm Với các công ty kinh doanh, chúng giúp tăng doanh số bán hàng

Hai đối tượng cơ bản xuất hiện trong hầu hết các hệ gợi ý là người dùng và sản phẩm

 Người dùng: là những người mà sử dụng hệ gợi ý, cung cấp ý kiến của họ về các sản phẩm và nhận được gợi ý về các sản phẩm mới từ hệ thống

 Sản phẩm: là những đối tượng được gợi ý

Đầu vào của một hệ gợi ý phụ thuộc vào thuật toán lọc được sử dụng Thông thường, đầu vào thuộc một trong những loại sau:

 Đánh giá, thể hiện ý kiến đánh giá của người dùng về các sản phẩm Đánh giá thường được cung cấp bởi người dùng và theo một thang đánh giá cụ thể (ví dụ: 1- kém, 5- rất tốt) Một lược đồ đánh giá phổ biến là lược đồ đánh giá nhị phân, mà chỉ cho phép các đánh giá nhận giá trị hoặc là 0 hoặc là 1 Các đánh giá có thể cũng được thu thập một cách không tường minh từ lịch sử mua hàng của người dùng, web logs hay còn gọi là lịch sử duyệt web của người dùng hoặc các mẫu truy cập thông tin [4]

 Dữ liệu nhân thân (demographic data), các thông tin như tuổi, giới tính, trình độ của các người dùng Kiểu thông tin này thường khó có được Nó thường được thu thập một cách tường minh từ người dùng

Trang 22

 Dữ liệu nội dung, thông tin dựa trên phân tích ngữ cảnh của các văn bản có liên quan tới các sản phẩm được đánh giá bởi người dùng Các đặc trưng được trích xuất bằng cách phân tích này thường được sử dụng như đầu vào cho thuật toán lọc để suy ra hồ sơ người dùng

2.1 Không cá nhân hóa

Phương pháp tiếp cận đơn giản nhất là hệ gợi ý không cá nhân hóa, hệ gợi ý dạng này đồng nhất cho tất cả các người dùng Gợi ý thường được chọn lựa và đưa ra bởi bên bán dựa trên tính phổ biến của sản phẩm (chẳng hạn như đánh giá bình quân, sản phẩm bán nhiều, sản phẩm nhiều người xem…) hoặc có thể là danh sách top-N các sản phẩm mới trên website

Hình 2.1 Hệ gợi ý không cá nhân hóa

Ưu điểm và nhược điểm

Hiển nhiên lợi thế của hướng tiếp cận này là nó đơn giản và dễ thực hiện cho bên quản lý hệ thống, dữ liệu rất dễ dàng để thu thập Tuy nhiên, hệ thống dạng này thiếu

cá nhân hóa, chỉ có cùng một kiểu cứng nhắc cho mọi đối tượng khách hàng và nhiều khi không đáp ứng được nhu cầu của người dùng

Trang 23

2.2 Demographic-based

Dữ liệu nhân khẩu học có thể được sử dụng để xác định người dùng và từ đó có thể tạo ra các “nguyên mẫu” Ví dụ như bảng dưới đây cung cấp thông tin về giới tính, học vấn, tuổi tác… của những người đã đánh giá một quán ăn nào đó, với những dữ liệu này ta có thể nhìn ra được những loại người nào thì thích những sản phẩm nào

Bảng 2.1 Dữ liệu demographic

Hệ gợi ý demographic hướng đến việc phân loại người dùng dựa trên thuộc tính cá

nhân và đưa ra gợi ý dựa trên các lớp nhân khẩu học, hình dưới đây là một ví dụ

đơn giản Nó thường được sử dụng với những website du lịch hay website của các

nhà hàng…

Hình 2.2 Hệ thống gợi ý demographic-based

Trang 24

Ưu điểm và nhược điểm:

Đây là kỹ thuật không sử dụng đến đánh giá sản phẩm của người dùng, cho nên hiển nhiên những người dùng mới cũng sẽ nhận được gợi ý kể cả khi họ chưa đánh giá bất cứ sản phẩm nào, tri thức về sản phẩm cũng như những tính năng của nó là không cần thiết cho nên hướng tiếp cận này là độc lập

Nhược điểm của phương pháp này là trong khi thu thập các thông tin nhân khẩu học cần thiết sẽ vấp phải vấn đề về tính riêng tư của thông tin Hơn nữa loại thông tin này cũng là quá “thô” để có thể đưa ra các gợi ý mang tính cá nhân hóa cao Ví dụ như không phải tất cả những phụ nữ 20 tuổi đều cùng thích loại hình du lịch biển Và nếu một khách hàng có ý kiến khác với số đông hoặc có sở thích không bình thường sẽ có

hệ số tương quan thấp so với những người còn lại Gợi ý cho họ nếu sử dụng hệ gợi ý dựa trên nhân khẩu học là rất khó và sẽ cho ra những kết quả kỳ cục Một thách thức khác là chúng ta khó có thể thay đổi profile đã được tạo của một người dùng trong trường hợp sở thích của người đó thay đổi Đó là vấn đề mâu thuẫn giữa tính ổn định

và tính linh hoạt

2.3 Kỹ thuật lọc cộng tác (Collaborative filtering)

Mục tiêu của các hệ gợi ý là tạo ra các đề xuất về các sản phẩm mới hoặc để dự đoán sử dụng một sản phẩm xác định cho một người dùng cụ thể Trong cả hai trường hợp quá trình đều dựa trên đầu vào được cung cấp liên quan tới sở thích của người dùng

Với m là số lượng người dùng tập người dùng U { ,u u1 2, ,u m} và n là số sản phẩm I  { ,i i1 2, ,i n}, với mỗi người dùng ui với i=1,2,…,m đều có một danh sách các sản phẩm I u i , thể hiện các ý kiến đánh giá của người dùng ui về các sản phẩm

Trang 25

Lưu ý quan trọng đó là Iu iI ,

i

u

I có thể là tập null, điều đó có nghĩa không

bắt buộc người dùng tiết lộ sở thích của họ về tất cả các sản phẩm tồn tại Số sản phẩm trong I u i là ni hay ni =|

i

u

I | với ni  n ý kiến đánh giá của người dùng thường

ở dạng hệ số đánh giá (rating score) Đặc biệt, đánh giá của người dùng ui với sản phẩm ij với j=1,2,…,n, được ký hiệu r , j , tất cả các đánh giá có sẵn được tập hợp trong ma trận người dùng – sản phẩm kích thước m n ký hiệu R các thuật toán lọc được đề xuất sử dụng nhiều kỹ thuật trên các hàng của ma trận, tương ứng với các đánh giá của một người dùng về các sản phẩm, hoặc trên các cột tương ứng với các đánh giá của nhiều người dùng về một sản phẩm [6]

Hình 2.3 Ma trận người dùng sản phẩm

Trang 26

Hình 2.4 Quá trình lọc cộng tác

Đầu ra của hệ gợi ý có thể là một dự đoán hoặc một gợi ý

 Dự đoán: được thể hiện như một giá trị số, r a,j thể hiện giá trị được đoán trước ý kiến đánh giá của người dùng đang hoạt động u a đối với sản phẩm i j Giá trị đoán trước này cần nằm trong thang đánh giá Đầu vào là ý kiến đánh giá được cung cấp bởi người dùng đang hoạt động u a Dạng hệ thống gợi ý này đầu ra cũng được biết như Individual Scoring

 Gợi ý: được thể hiện như một danh sách N sản phẩm, với N n, mà được dự tính rằng người dùng đang hoạt động thích nhất Các hệ thống gợi ý đầu ra dạng này còn được biết đến với tên Gợi ý N sản phẩm xếp hạng đầu hoặc Ranked Scoring

Các thuật toán lọc cộng tác có thể được chia thành 2 loại chính:

1 Lọc cộng tác dựa trên bộ nhớ (Memory-based)

2 Lọc cộng tác dựa trên mô hình (Model-based)

Trang 27

 Các thuật toán lọc cộng tác dựa trên bộ nhớ (Memory-based): các thuật toán

dựa trên bộ nhớ sử dụng toàn bộ cơ sở dữ liệu người dùng – sản phẩm để tạo một

dự đoán Những hệ thống này sử dụng các kỹ thuật thống kê để tìm một tập các người dùng, được biết như các láng giềng, mà có lịch sử phù hợp với người dùng đích Những hệ thống này sử dụng các thuật toán khác nhau để kết hợp các sở thích của các láng giềng để tạo một dự đoán hoặc gợi ý N sản phẩm cho active user Các

kỹ thuật, được biết như lọc cộng tác dựa trên người dùng hoặc láng giềng gần nhất được sử dụng rộng rãi và phổ biến trong thực tế

 Các thuật toán lọc cộng tác dựa trên mô hình (Model-based): các thuật toán lọc

cộng tác dựa trên mô hình hỗ trợ gợi ý sản phẩm bằng cách, trước tiên phát triển một mô hình các đánh giá của người dùng Các thuật toán thuộc loại này đưa ra một phương pháp tiếp cận xác suất và hình dung quá trình lọc cộng tác như tính toán giá trị được dự đoán của một dự đoán của người dùng, đưa ra các đánh giá của họ trên những sản phẩm khác Quá trình xây dựng mô hình được thực hiện bằng các thuật toán học máy khác nhau như Bayesian network, clustering và các phương pháp tiếp cận dựa trên luật Mô hình mạng Bayesian xây dựng một mô hình xác suất cho vấn

đề lọc cộng tác Mô hình Clustering xử lý lọc cộng tác như một vấn đề phân loại và thực hiện bằng cách phân loại những người dùng tương tự vào cùng lớp và ước lượng xác suất mà một người dùng cụ thể đặt trong một lớp cụ thể C, từ những tính toán xác suất có điều kiện của các đánh giá Phương pháp tiếp cận dựa trên luật (rule-based) áp dụng các thuật toán khám phá luật kết hợp để tìm ra liên kết giữa các sản phẩm được mua đồng thời và sau đó tạo gợi ý sản phẩm dựa trên độ mạnh của liên kết giữa những sản phẩm [5]

2.3.1 Các kỹ thuật lọc cộng tác dựa trên bộ nhớ

Các thuật toán lọc cộng tác dựa trên bộ nhớ sử dụng toàn bộ hoặc một mẫu thử cơ

sở dữ liệu người dùng – sản phẩm để tạo ra một dự đoán Mỗi người dùng là một phần

Trang 28

của nhóm những người dùng có mối quan tâm tương tự nhau Bằng cách xác định láng giềng của một người dùng mới (hoặc người dùng đang cần gợi ý), một dự đoán về sở thích đối với sản phẩm mới cho họ có thể được tạo ra

Thuật toán lọc cộng tác dựa trên láng giềng, là một thuật toán lọc cộng tác dựa trên

bộ nhớ phổ biến, với các bước thực hiện:

Tính toán độ tương tự hoặc trọng số, wi,j : phản ánh khoảng cách, mối liên hệ hoặc trọng số giữa hai người dùng hoặc hai sản phẩm I và J Tạo ra dự đoán cho người dùng đang hoạt động bằng cách lấy trọng số trung bình của tất cả các đánh giá của người dùng hoặc sản phẩm đối với một sản phẩm hoặc người dùng nhất định, hoặc sử dụng một trọng số trung bình đơn giản Khi tác vụ này tạo ra N gợi ý hàng đầu, chúng ta cần tìm ra k người dùng hoặc sản phẩm tương tự nhất sau khi tính độ tương tư và sau đó tổng hợp các láng giềng để có được N sản phẩm phổ biến nhất gợi ý cho người dùng

2.3.1.1 Thuật toán Lọc cộng tác dựa trên sản phẩm

Phương pháp tiếp cận dựa trên sản phẩm xem xét một tập các sản phẩm target user

đã đánh giá và tính độ tương tự giữa chúng với target item i, sau đó lựa chọn k sản

phẩm tương tự nhất { , , , }i i1 2 i k Độ tương tự tương ứng với tập k sản phẩm gần nhất được tính là { ,s s i1 i2, ,s ik} Những sản phẩm tương nhất được tìm ra, sau đó tính dự đoán bằng cách trung bình theo trọng số các đánh giá của target user trên những sản phẩm tương tự đó

 Tính độ tương tự sản phẩm

Ý tưởng cơ bản trong bước tính độ tương tự giữa 2 sản phẩm i và j là chọn ra những

người dùng mà đã đánh giá cả 2 sản phẩm này và sau đó áp dụng thuật toán tính độ tương tự để xác định được độ tương tự sim i j,

Trang 29

Có một số cách khác nhau để tính độ tương tự giữa các sản phẩm Sau đây giới thiệu 3

cách đó là: độ tương tự dựa trên cosin, độ tương tự dựa trên sự tương quan, độ tương tự

cosine đã hiệu chỉnh

Độ đo tương tự Cosine

Với phương pháp này, hai sản phẩm được xem như hai vector trong không gian

người dùng m chiều Độ tương tự giữa chúng được đo bằng cách tính cosine của góc giữa hai vector này Độ tương tự giữa sản phẩm i và j được ký hiệu sim i j( , ) được tính [7]:

Kí hiệu “” là tích giữa hai vector

Độ đo tương tự Pearson

Trong phương pháp này, độ tương tự giữa hai sản phẩm i và j được tính bằng công

thức Pearson Correlation Để tính được kết quả chính xác chúng ta phải cô lập các

đánh giá, nghĩa là chỉ lấy ra những người dùng đã đánh giá cả hai sản phẩm i và j,

ký hiệu tập người dùng này là U độ tương tự được tính theo công thức sau [7]:

Trong đó: - u U là tập người dùng đã đánh giá cả 2 sản phẩm i, j

- r i r j là trung bình các đánh giá trên 2 sản phẩm i, j

- r u i, r u j,

là đánh giá của người dùng u cho 2 sản phẩm i, j

(2.1)

(2.2)

Trang 30

Độ đo tương tự Cosine hiệu chỉnh

Sự khác nhau cơ bản của cách tính độ tương tự trong lọc cộng tác dựa trên người dùng và trong lọc cộng tác dựa trên sản phẩm là : trong lọc cộng tác dựa trên người dùng độ tương tự được tính dọc theo các hàng của ma trận user-item nhưng trong lọc cộng tác dựa trên sản phẩm độ tương tự được tính dọc theo các cột của ma trận Tính

độ tương tự sử dụng công thức cosine cơ bản trong lọc cộng tác dựa trên sản phẩm có một hạn chế quan trọng đó là sự khác biệt trong thang đánh giá của những người dùng khác nhau chưa được xét đến Phương pháp cosine đã được cải tiến sẽ giải quyết hạn chế này bằng cách trừ đi giá trị trung bình của người sử dụng tương ứng với mỗi cặp đánh giá đồng thời Khi đó độ tương tự giữa hai sản phẩm này được tính bằng công thức [7]:

Trang 31

Phương pháp này tính dự đoán một sản phẩm i đối với người dùng u được tính bằng tổng các đánh giá bởi người dùng trên các sản phẩm tương tự i mỗi đánh giá có

trọng số tương ứng với độ tương tự s i j, giữa các sản phẩm i và j.[7]

 Các thuật toán gợi ý N sản phẩm đánh giá đầu dựa trên sản phẩm

Các thuật toán này được phát triển để giải quyết vấn đề khả năng mở rộng của thuật toán gợi ý N sản phẩm xếp hạng đầu dựa trên người dùng Đầu tiên, thuật toán tính K sản phẩm tương tự nhất với mỗi sản phẩm dựa trên các cách tính độ tương tự trên Sau

đó, xác định tập C như những ứng viên của các sản phẩm được gợi ý bằng cách lấy hợp của k sản phẩm tương tự nhất và bỏ đi mỗi sản phẩm trong tập U mà người dùng đã đánh giá.Tiếp theo tính độ tương tự giữa mỗi sản phẩm trong tập C và tập U tập kết quả của sản phẩm trong tập C, được sắp xếp theo thứ tự giảm dần độ tương tự, sẽ được gợi ý danh sách N sản phẩm xếp hạng đầu dựa trên sản phẩm Một vấn đề của phương pháp này là khi phân phối chung một tập các sản phẩm khác nhau từ phân phối của các sản phẩm riêng lẻ trong tập, lược đồ trên có thể tạo các gợi ý không tối ưu Để giải quyết vấn đề này, Deshpande và Karypis [3] đã phát triển các thuật toán cao hơn của thuật toán gợi ý N sản phẩm xếp hạng đầu dựa trên sản phẩm mà sử dụng kết hợp của tất cả các sản phẩm tới một kích thước cụ thể khi xác định các tập sản phẩm để gợi ý cho một người dùng

(2.4)

Trang 32

2.3.1.2 Thuật toán lọc cộng tác dựa trên người dùng

Các thuật toán lọc cộng tác dựa trên bộ nhớ sử dụng toàn bộ hoặc một mẫu thử cơ

sở dữ liệu người dùng – sản phẩm để tạo ra một dự đoán Mỗi người dùng là một phần của nhóm những người dùng có mối quan tâm tương tự nhau Bằng cách xác định hàng xóm của một người dùng mới (hoặc người dùng đang cần gợi ý), một dự đoán về sở thích đối với sản phẩm mới cho họ có thể được tạo ra

Thuật toán lọc cộng tác dựa trên láng giềng, là một thuật toán lọc cộng tác dựa trên

bộ nhớ phổ biến, với các bước thực hiện:

Tính toán độ tương tự hoặc trọng số, Simi,j : phản ánh khoảng cách, mối liên hệ hoặc trọng số giữa hai người dùng hoặc hai sản phẩm I và J tạo ra dự đoán cho người dùng đang hoạt động bằng cách lấy trọng số trung bình của tất cả các đanh giá của người dùng hoặc sản phẩm đối với một sản phẩm hoặc người dùng nhất định, hoặc sử dụng một trọng số trung bình đơn giản Khi tác vụ này tạo ra N gợi ý hàng đầu, chúng

ta cần tìm ra k người dùng hoặc sản phẩm tương tự nhất sau khi tính độ tương tư và sau

đó tổng hợp các láng giềng để có được N sản phẩm phổ biến nhất gợi ý cho người dùng [8]

Tính độ tương tự

Tính độ tương tự giữa các sản phẩm hoặc các người dùng là một bước quan trọng trong các thuật toán lọc cộng tác dựa trên bộ nhớ Đối với thuật toán lọc cộng tác dựa trên người dùng, đầu tiên, tính độ tương tự Simu,v giữa người dùng u và v mà cùng đánh giá các sản phẩm giống nhau Có nhiều phương pháp để tính độ tương tự hoặc trọng số giữa các người dùng hoặc giữa các sản phẩm

Độ đo tương tự Pearson

Trong trường hợp này, độ tương tự Simu,v giữa người dùng u và v được đo bằng công thức Pearson hoặc các công thức khác

Trang 33

Phương pháp Pearson phạm vi mà 2 biến tuyến tính liên quan nhau Với thuật toán dựa trên người dùng, Pearson giữa người dùng u và v được tính bằng công thức sau:

là những đánh giá của người dùng u, v cho sản phẩm i

Độ đo tương tự Cosine

Độ tương tự giữa 2 văn bản có thể được đo bằng cách xử lý mỗi văn bản như một vector của tần số các từ và tính cosine của góc hình thành bởi các vector tần số Cách này có thể được áp dụng trong lọc cộng tác, bằng cách sử dụng các người dùng và các sản phẩm thay cho các văn bản và các đánh giá thay cho tần số từ trong văn bản

Thông thường, nếu R là ma trận người dùng – sản phẩm kích cỡ m  n, thì độ tương tự giữa 2 sản phẩm i và j, được định nghĩa như cosine của vector n chiều tương ứng với cột thứ i và cột thứ j của ma trận R

Độ tương tự Vector Cosine giữa người dùng u và v được cho bởi công thức sau :

Trang 34

Để tính được độ tương tự, với n sản phẩm, ma trận tương tự kích thước nn được tính Ví dụ, nếu vector A{ , }x y1 1

Tính toán các dự đoán và gợi ý

Để thu được các dự đoán hoặc các gợi ý là một bước quan trọn trong hệ thống lọc cộng tác Trong thuật toán lọc cộng tác dựa trên láng giềng, một tập con của những láng giềng gần nhất của người dùng hiện tại được lựa chọn dựa trên độ tương tự của họ với người dùng này, và một trọng số kết hợp những đánh giá của họ được sử dụng để tạo các dự đoán cho người sử dụng hiện tại

Tổng trọng số của những đánh giá

Để có được dự đoán cho người dùng hiện tại a, trên một sản phẩm nhất định i, chúng ta

có thể lấy trọng số trung bình của tất cả các đánh giá về sản phẩm đó của các người dùng tương tự dựa trên công thức

( , ) , ( , )

Trang 35

Trong đó r ar u là trung bình đánh giá của người dùng a, u đối với tất cả sản phẩm khác được đánh giá Và s ima u, là trọng số tương đồng giữa người dùng a và

người dùng u, với mỗi u U là tập những người dùng đã đánh giá sản phẩm i

Thuật toán gợi ý N sản phẩm xếp hạng đầu dựa trên người dùng

Thuật toán này đầu tiên xác định K người dùng tương tự nhất với người sử dụng hiện tại sử dụng mối tương quan Pearson hoặc mô hình không gian vector, trong đó mỗi người sử dụng được phân bố như một vector trong không gian sản phẩm m chiều

và độ tương tự giữa người dùng hiện tại và người dùng khác được tính giữa các vector

đó Sau đó khám phá ra K người dùng tương tự nhất với người dùng hiện tại, chúng tương ứng với các hàng trong ma trận người dùng – sản phẩm R được tổng hợp để xác định một tập các sản phẩm C, được mua theo nhóm cùng với tần số của chúng Với tập

C, các kỹ thuật lọc cộng tác dựa trên người dùng sau đó gợi ý N sản phẩm thường gặp nhất trong C mà người dùng hiện tại chưa mua Thuật toán gợi ý N sản phẩm hàng đầu dựa trên người dùng có giới hạn liên quan tới khả năng mở rộng và hiệu năng thời gian thực

2.3.2 Các kỹ thuật lọc cộng tác dựa trên mô hình

Thiết kế và sự phát triển của các mô hình (như là học máy, các thuật toán khai phá

dữ liệu) có thể cho phép hệ thống “học” để nhận ra các mẫu (pattern) phức tạp dựa trên

dữ liệu training, và sau đó tạo ra các dự đoán thông minh cho các tác vụ lọc cộng tác đối với dữ liệu test hoặc dữ liệu thực, dựa trên các mô hình được học Các thuật toán lọc cộng tác dựa trên mô hình, như là các mô hình Bayesian, các mô hình phân cụm, và các mạng phụ thuộc đã được nghiên cứu để giải quyết các thiếu sót của các thuật toán lọc cộng tác dựa trên bộ nhớ Thông thường, các thuật toán phân lớp có thể được sử dụng như các mô hình lọc cộng tác nếu các đánh giá của người dùng được phân loại và các mô hình hồi quy, các phương pháp SVD được sử dụng cho các đánh giá dạng số

Trang 36

 Các thuật toán lọc cộng tác phân cụm

Một cụm là tập các đối tượng dữ liệu mà tương tự với những đối tượng dữ liệu khác trong cùng cụm và khác với các đối tượng trong các cụm khác Đo độ tương tự giữa các đối tượng được xác định sử dụng ma trận như khoảng cách Minkowski và mối tương quan Pearson

Với 2 đối tượng dữ liệu , X  ( , , , ) x x1 2 xnY  ( , y y1 2, , yn), khoảng cách

Trong đó, n là số chiều của đối tượng, và x y i, i là các giá trị của thứ i của đối tượng

X và Y tương ứng, và q là một số nguyên dương, nếu q=1 công thức đó là khoảng cách Manhattan; khi q=2, d là khoảng cách Euclidian

Các thuật toán phân cụm có thể được phân loại thành 3 loại: các phương pháp phân vùng, các phương pháp dựa trên mật độ, các phương pháp phân tầng

Một phương pháp phân vùng được sử dụng phổ biến là K-means, có 2 ưu điểm đó

là tương đối hiệu quả và dễ thực thi

Trong hầu hết các trường hợp, phân cụm là một bước trung gian và các cụm kết quả được sử dụng cho phân tích xa hơn hoặc xử lý để tiến hành phân loại hoặc cho các nhiệm vụ khác

Ưu điểm và nhược điểm

Ưu điểm của kỹ thuật lọc cộng tác cũng giống như demographic-based là không yêu cầu tri thức về sản phẩm Collaborative có thể đưa ra những gợi ý một cách “ngoài

Trang 37

khuôn khổ” bởi vì nó không nằm trong phạm vi sở thích từng người dùng cá nhân cụ thể Lợi thế lớn nhất của hướng tiếp cận model-based là nó giảm thiểu tiêu tốn bộ nhớ

và thời gian thực hiện

Tuy vậy kỹ thuật này vẫn tồn tại nhiều nhược điểm, trong đó kích thước của tập dữ liệu

có tác động lớn đến chất lượng của gợi ý đầu ra Và nó cũng gặp phải vấn đề start”, có nghĩa là với các người dùng mới chưa có đánh giá nào hoặc dữ liệu chưa đáp ứng được yêu cầu thì hệ thống dạng này không thể đưa ra được kết quả, bởi nếu chưa

“cold-cớ dữ liệu về sở thích, ưu tiên, thì cũng không thể tìm ra được người dùng có sở thích tương đồng Memory-based đòi hỏi nhiều bộ nhớ và thời gian xử lý, nên chỉ thích hợp với những bộ dữ liệu nhỏ mà thôi

2.4 Kỹ thuật gợi ý dựa trên nội dung (Content-based)

Trong khi lọc cộng tác giả sử rằng những người dùng có cùng sở thích sẽ có xu hướng đánh giá sản phẩm giống nhau thì kỹ thuật gợi ý dựa trên nội dung lại giả sử rằng những sản phẩm có đặc điểm giống nhau sẽ được đánh giá tương tự nhau Lọc cộng tác và demographic không yêu cầu các thông tin về sản phẩm thì content-based lại dựa vào các mô tả sản phẩm (có thể được tạo ra thủ công hoặc trích xuất tự động)

và một user profile được gán thích hợp với các đặc điểm đó Các sản phẩm có độ tương đồng cao nhất với truy vấn hoặc với profile người dùng thì sẽ được gợi ý cho người đó

Dữ liệu profile về sở thích của người dùng được lưu dưới dạng vector các từ khóa Những profile có được bằng cách phân tích nội dung mô tả của sản phẩm đã được người dùng nhận biết và đánh giá trước đó, chúng thường được tạo ra bằng các kỹ thuật phân tích từ khóa từ lĩnh vực tìm kiếm thông tin (information retrieval) bao hàm việc phân bổ trọng số cho các từ khóa sử dụng các thuật toán như Winnow hay Rocchio

Trang 38

Hình 2.5 Hướng tiếp cận content-based

Ưu điểm và nhược điểm :

Bởi vì kỹ thuật content-based sẽ sử dụng các đặc trưng sản phẩm và so sánh nó với sản phẩm khác nên nó vẫn có thể đưa ra được gợi ý bất kể sản phẩm cần gợi ý là gì Hướng tiếp cận này không yêu cầu tri thức về một phạm vi cụ thể nào cả, nó làm việc hiệu quả với những sản phẩm có khả năng biểu diễn dưới dạng một tập các đặc trưng

Nhược điểm của kỹ thuật content-based là nếu sản phẩm không có sẵn đặc tính thì bên bán sẽ phải thêm đặc tính sản phẩm một cách thủ công, nếu số lượng sản phẩm lớn thì sẽ mất nhiều thời gian và công sức Và hướng tiếp cận này dựa trên các đặc trưng tương tự của sản phẩm, do vậy nếu tập sản phẩm chứa toàn sản phẩm đơn nhất với các đặc trưng khác nhau thì hệ gợi ý content-based cũng chằng đưa ra nổi gợi ý có giá trị nào Và cũng do bị giới hạn trên các đặc tính sản phẩm nên content-based cũng phải đối mặt với vấn đề cold-start (khởi động nguội) hay vấn đề mâu thuẫn giữa tính ổn định và tính mềm dẻo.[9]

Trang 39

2.5 Kỹ thuật gợi ý dựa trên tri thức (Knowledge-based)

Hệ thống gợi ý dựa trên tri thức (knowledge-based) sử dụng tri thức giữa người dùng và sản phẩm để suy luận ra sản phẩm nào đáp ứng yêu cầu của người dùng Chẳng hạn hệ thống sẽ đưa ra các lựa chọn để đưa người dùng đi dần xuống dưới một cây quyết định các thuộc tính sản phẩm một cách hiệu quả hoặc hệ thống sẽ sử dụng một công cụ hỗ trợ quyết định định lượng để làm nhiệm vụ đó Constraint‐based (dựa trên ràng buộc) và Case‐based (dựa trên trường hợp) là các ví dụ của hướng tiếp cận này Trong ví dụ về ứng dụng gợi ý phim ở trên, nếu một khách hàng, nếu anh ấy thích những bộ phim hài với âm nhạc, hệ thống sẽ tìm kiếm những bộ phim phù hợp với nhu cầu này Trong hình minh họa dưới đây cho thấy bộ phim phù hợp nhất với người này

là bộ phim C

Hình 2.6 Hướng tiếp cận knowledge-based

Ưu điểm và nhược điểm

Ưu điểm của hướng tiếp cận dựa trên tri thức là nó không dựa vào dữ liệu quá khứ,

hệ thống không phải lưu trữ dữ liệu người dùng trong một thời gian dài, do vậy bất cứ

ai cũng có thể cung cấp thông tin về sở thích của mình cho hệ thống và sẽ có được gợi

Trang 40

ý ngay lập tức, khi sở thích của người dùng thay đổi hệ thống cũng dễ dàng thích nghi theo

Nhược điểm là rõ ràng hệ thống chẳng học được gì từ bạn cả, mỗi lần bạn sử dụng lại phải khai báo thông tin cần thiết cho hệ thống, khá là phiền phức Hơn nữa, để có thể đưa ra những gợi ý chính xác thì người xây dựng hệ thống buộc phải có tri thức về lĩnh vực cần gợi ý

2.6 Hệ gợi ý lai và các phương pháp lai

Có nhiều kỹ thuật gợi ý khác nhau được sử dụng trong hệ gợi ý trong website, mỗi thứ lại có khuyết điểm chẳng hạn như vấn đề khởi đầu yếu (cold-start) của phương pháp lọc cộng tác và lọc dựa trên nội dung, hay như việc thiếu hụt vốn tri thức của người xây dựng hệ thống dựa trên tri thức (knowledge-based) Một hệ thống gợi ý lai

sẽ tận dụng được lợi thế cũng như khắc phục được nhược điểm của các hệ thống cơ bản, ví dụ kỹ thuật dựa trên tri thức (knowledge based) sẽ bù đắp được vấn đề cold-start của kỹ thuật lọc cộng tác, nó sẽ cung cấp gợi ý cho những người dùng mới mà dữ liệu trong profile là quá ít để có thể sử dụng lọc cộng tác, và ngược lại lọc cộng tác sẽ

sử dụng khả năng tính toán thống kê trên từng người dùng của mình để tìm ra những thứ mà kỹ thuật dựa trên tri thức không thể tiên đoán trước được

Phần trước ta đã nói về 4 kỹ thuật gợi ý cơ bản như hình dưới đây:

Ngày đăng: 25/07/2017, 21:58

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Francesco Ricci, Lior Rokach, BrachaShapira, Paul Bkantor, Recommender Systems Handbook, Pages 31-75, Springer New York Dordrecht Heidelberg London 2010 Sách, tạp chí
Tiêu đề: Recommender Systems Handbook
[2]. Ankit, Khera, Online Recommendation System, San Jose State University, January, 1, 2008 Sách, tạp chí
Tiêu đề: Online Recommendation System
[3]. Zheng Wen, Recommendation System Based on Collaborative Filtering, December, 12, 2008 Sách, tạp chí
Tiêu đề: Recommendation System Based on Collaborative Filtering
[4]. Daniar Asanov, Algorithms and Methods in Recommender Systems, Berlin Institute of Technology, 2010 Sách, tạp chí
Tiêu đề: Algorithms and Methods in Recommender Systems
[5]. Xiaoyuan Su and Taghi M.Khoshgoftaar, A Survey of Collaborative Filtering Techniques, Department of Computer Scienceand Engineering, Florida Atlantic University, August, 3, 2009 Sách, tạp chí
Tiêu đề: A Survey of Collaborative Filtering Techniques
[6]. Emmanouil Vozalis, Konstantinos G.Margaritis, Analysis of Recommender Systems’ Algorithms, 2003 Sách, tạp chí
Tiêu đề: Analysis of Recommender Systems’ Algorithms
[7]. Mukund Deshpande and George Karypis, Item-Based Top-N Recommendation Algorithms, ACM Transactionson Information Systems, January 2004 Sách, tạp chí
Tiêu đề: Item-Based Top-N Recommendation Algorithms
[8]. Maddali Surendra Prasad Babu and Boddu Raja Sarath Kumar, An Implementation of the User-based Collaborative Filtering Algorithm, International Journal of Computer Science and Information Technologies, 2011 Sách, tạp chí
Tiêu đề: An Implementation of the User-based Collaborative Filtering Algorithm
[9]. Michael J. Pazzani1and Daniel Billsus, Content-based Recommendation Systems, Rutgers University, ASBIII, 3 Rutgers Plaza New Brunswick, NJ 08901 Sách, tạp chí
Tiêu đề: Content-based Recommendation Systems
[10]. Francesco Ricci, Lior Rokach, BrachaShapira, Paul Bkantor, Recommender Systems Handbook, Pages 107-185, Springer New York Dordrecht Heidelberg London 2010 Sách, tạp chí
Tiêu đề: Recommender Systems Handbook
[12]. WANG Shuliang, XIE Yuan, FANG Meng, A Collaborative Filtering Recommendation Algorithm Based on Item and Cloud Model, Wuhan University Journal Of Natural Sciences, 2011 Sách, tạp chí
Tiêu đề: A Collaborative Filtering Recommendation Algorithm Based on Item and Cloud Model
[13]. Jonathan L. Herlocker, Joser A. Konstan, Loren G. Terveen, And John T. Riedl, Evaluating Collaborative Filtering Recommender Systems, September 2003 Sách, tạp chí
Tiêu đề: Evaluating Collaborative Filtering Recommender Systems
[14]. R.Baeza, F.Silvestri, Web Query Log Mining, ACM SIGIR Conference tutorial, 2009 Sách, tạp chí
Tiêu đề: Web Query Log Mining, ACM SIGIR Conference tutorial
[11]. Robin Burke, Hybrid Web Recommender Systems, School of Computer Science, Telecommunications and Information Systems, DePaul University, 243 S.Wabash Ave.Chicago, Illinois, USA Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w