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

Khóa luận tốt nghiệp Hệ thống thông tin: Xây dựng nền tảng ứng dụng web giúp kết nối người tổ chức hoạt động trải nghiệm với khách tham gia

154 0 0
Tài liệu đã được kiểm tra trùng lặp

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng nền tảng ứng dụng web giúp kết nối người tổ chức hoạt động trải nghiệm với khách tham gia
Tác giả Trần Minh Phát
Người hướng dẫn ThS. Nguyễn Đình Loan Phương
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Hệ thống Thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 154
Dung lượng 83,71 MB

Nội dung

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia1.6 Ý nghĩa thực tiễn - Tao được một nên tang nơi mọi người có thê tìm kiêm dễ dàng những trải nghiệm mới và thậ

Trang 1

ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA HE THONG THONG TIN

TRAN MINH PHAT - 17520882

XAY DUNG NEN TANG UNG DUNG WEB

GIUP KET NOI NGUOI TO CHUC

HOAT DONG TRAI NGHIEM

VOI KHACH THAM GIA

BUILDING A WEB APPLICATION HELP CONNECTING THE

HOST OF EXPERIENCE ACTIVITIES WITH THE GUEST

KY SU NGANH HE THONG THONG TIN

TP HO CHÍ MINH, 2021

Trang 2

ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA HE THONG THONG TIN

TRAN MINH PHAT - 17520882

KHOA LUAN TOT NGHIEP

XAY DUNG NEN TANG UNG DUNG WEB

GIUP KET NOI NGUOI TO CHUC

HOAT DONG TRAI NGHIEM

VOI KHACH THAM GIA

BUILDING A WEB APPLICATION HELP CONNECTING THE

HOST OF EXPERIENCE ACTIVITIES WITH THE GUEST

KY SU NGANH HE THONG THONG TIN

GIANG VIEN HUONG DAN

THS NGUYEN DINH LOAN PHUONG

TP HO CHÍ MINH, 2021

Trang 3

DANH SÁCH HỘI ĐÒNG BẢO VỆ KHÓA LUẬN

Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số ngầy của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

| — Chủ tịch.

P eececcc ne ec eee nenene neta edeneeeee eee eneeeenenes — Thu ky.

Bo elec cece eee e eee e cnet cnet eens eeeateeneeenaeennes — Ủy viên.

Trang 4

LỜI CẢM ƠN

Sau hơn 4 năm học tập và rèn luyện tại Trường Dai học Công nghệ Thông tin, được sựtận tình giảng dạy và giúp đỡ của quý thầy cô, đặc biệt là quý thầy cô của khoa Hệ thốngThông tin, em đã gặt hái được rất nhiều kiến thức nền tảng bồ ích, có thé áp dụng vàoluận văn cũng như áp dụng trong những chặng đường tiếp theo sau này

Em xin chân thành cảm ơn quý thầy cô của trường Đại học Công nghệ Thông tin nóichung, quý thầy cô của khoa Hệ thống Thông tin nói riêng, và đặc biệt là cô NguyễnĐình Loan Phương đã tận tình hướng dẫn và đóng góp ý kiến để em có thể hoàn thànhkhóa luận này một cách tốt nhất

Bên cạnh đó, em xin gửi lời cảm ơn đến các bạn cùng lớp đã có những lời góp ý, độngviên dé em có thêm động lực thực hiện khóa luận trong khoảng thời gian khó khăn nay

Trong suôt quá trình em tìm hiéu và thực hiện khóa luận, do đê tai sử dụng công nghệ còn khá mới, thời gian và kha năng có giới hạn nên em van còn nhiêu thiêu sót Do đó,

em rât mong nhận được sự thông cảm và những ý kiên đóng góp chân thành từ quý thây

cô và các bạn Một lân nữa, em xin chân thành cảm ơn mọi người.

Thành phố Hồ Chí Minh, tháng 03 năm 2021

Trần Minh Phát

Trang 5

Danh mục hình ảnh: - c2 12211113261 113231 133911111811 11 1111811111811 1g 111g ng re 8Danh mục từ viét tắt - 5c St 3 E321 2EE212151111E11171115111115111111111111E11 E11 EEe re 14Tóm tắt khóa luận - -2+-©©++++2£E++21272112122E111 T TT |Chương 1 TONG QUAN DE TÀII - 2-2 <+SE+SE+EE£EE£EEEEEEEEEEEEEEEEEEEEEEEEEEErkerkee 2

1.2 Lý do chọn đề tài ©-sS+2EkE2x221E21121121127121127121111211 11 1x cxcre 3

PA 03: an aIInInInInInInI la sa 3 1.4 Pham vi d8 2277 h cciieeecose 4 1.5 Phuong phap thurc hi6n 41.6 Ý nghĩa thực tid oes ceccccscecsecssessesssecsesssecsesssecsusssessusssecsusssecsusssessusssessueesessseeseeees 6

Chương2 CO SỞ LÝ THUYYÊT 2© £+S£+EE+EE+EE£EESEEEEEEEEEEEEEEEEEErrerrrrrkee 9

2.1 Hệ thống dé xuất va các cơ chế đỀ Xuất - ¿+ ©z++z+x++zz+x+rxrrxerxee 9

2.1.1 Tổng quan về hệ thống đề xuất - 2-2 + ++£+x£+E+Ex++Evrxezrxerxesred 92.1.2 Tổng quan về các cơ chế dé xuất 2 + ©£+x+E£+Ex+Etrxzrxerxesred 9

2.1.3 Áp dụng và xây dựng chức năng đề xuất trải nghiệm - II

2.1.4 Cơ chế Collaborative Eiltering - 2 2 2 s+E+£k+rkerterrerrerreces 12

2.1.5 Cơ chế Content-based Eiltering -2:©2c+22+2c+2cxerxesrxerrsrees 22

2.2 Cơ chế game hóa trong phần mềm ứng dụng -. -2- 2 ¿s22 28

2.2.1 Tổng quan về cơ chế game hóa - ¿2 2 2 £+EE+EE+£E+£EeEEzEezEzrerrs 282.2.2 _ Kỹ thuật -S LH HH TH HH HH HH ng 29

Trang 6

2.2.3 Mục đích - Ăn tk TH TH TH TH TH Tu TH Tu HH TH, 29

2.2.4 Các yếu tố thiết kế trò chơi - + ©¿++++£+E++EE+EE£EEeEkerkerkerkerkerreces 302.2.6 Một số ứng dụng Game hóa trong các lĩnh vực đời sống 352.2.7 Ap dụng cơ chế Game hóa vào nền tang 2-2-5 + szxczezeecez 37Chương 3 PHAN TÍCH THIET KE HE THỒNG -2- 2 2 £££22£2£z22z+2 41

3.1 Đặt vấn đề HH ra 4I

3.1.1 Khảo sát một số nền tảng tương tự hiện nay - - 2-5555 << sex 4l

3.1.2 Thuc trang về sự nhận thức va nhu cầu tham gia hoạt động trải nghiệm tạiViệt Nam EEEEPZu VỀ 00000000 45

3.2 Hurdng dviaụŨỤ 51

3.2.1 | Xây dựng nên tảng thân thiện, dé sử dung và kết nối tai Việt Nam 51

3.2.2 _ Áp dụng cơ chế dé xuất và game hóa dé nâng cao tương tác va trải nghiệmTIBƯỜI ÙN - 2G G1 TH TH nọ TH nu HH TH HH HH nước 523.3 Xác định và phân tích yêu cầu - + ©2¿+x+E+£+E++EE££EEtzE+erxerrxerkrrreerxee 53

3.3.2 Danh sách Cac ÀCÍOT 5k vn TH TH gu ng ngư 53 3.3.2 Danh sách các S€-CaS€ - «LH TH gu ng ng ưy 533.3.3 Đặc ta một số use-case Chih c.ccccccccececsssecsssesesseseceesecersecerseseeaesecavscecavees 61

3.3.4 Sơ đồ tuần tự các use-case Chinh cccccccscscssessssesessessesesecsesecsescevsceraveecees 73

3.3.5 Sơ đồ lớp các use-case chính - ¿2 2+2++++++Ex+EEeEkerkerkerkerrerreres 793.4 Thiết kế cơ sở dữ liệu -c-+ccttEktrtrtrrirtrtiirrrriirrririrrririree 85

Trang 7

4.1 _ Kiến trúc hệ thống :-©2+++¿+2++EEt2EEEEE2EEEEE2EEE2E2EEEEEEEkrrkrrrrees 954.2 Giao diện của nền tảng -:- 25s St SE E21 21121121122122121 71711111 ce 96

4.2.1 _ Danh sách trang màn hình «+ + + + E*xk++kE+eeseEeeeeereeerresee 96 4.2.2 Giao diện các trang màn hình chính - «+ +s++£ssssvessesseeeses 99Chương 5 KET LUAN Lio eceeccecescssesssssssssessessessessessessessessecsecsscssssussusssessessessessesseseees 110

5.1 Kết quả dat Guo eccceccccscsssesssessesssessesssessesssessusssessuessecsuessecsuessessuessecssessesssesseeeses 110

5.1.1 _ Về giá trị kỹ thuật -:-©2< k2 E2 2112712112112 110

5.1.2 Về giá trị thực tiễn :-©-++ck++2E2Ek2EEE2EEE21211271211211 1 1 1105.2 _ Thuận lợi và khó khăn ¿z++++2E+£2EE+2EEtEEEESEEEEEEEEEEEEEkkerkkrrreerred 1115.3 Hướng phát trien oo cccccccecccsessessessssssssessesseseccsessessessessessussussussussusssesseeseeseeseeseess 111

TÀI LIEU THAM KHAO u cccsscsssessesssesssessecssessecsssesscsssesscsusesseasecsecssecsecasecseessecscesess 113

PHY LỤC fl ee TT ( 115

Phụ lục 1: Phân tích thiết kế hệ thong 2- 2 2£ ©5£2££+E£+E£2£++EE+EE+EE+rEezxezez 115

Đặc tả các use-case phụỤ - -. c1 k HT HT TH TH HH HH HH 115

Sơ đồ tuần tự các use-case PIU 125

Sơ đồ lớp các use-case phỤ ¿- 2 2 s+Sx+SE#EEEEEE2E21121121121121171 712121 re 133

Trang 8

Danh mục hình ảnh

Hình 2- 1 Utility matrix dựa trên số sao một người dùng đánh giá cho một sản phẩm 12Hình 2- 2 Tính giá trị trung bình đánh gia của từng người dùng ‹ «<- 14Hình 2- 3 Ma trận hữu ích chuẩn hóa ¿- 2 E5 k‡EE£EE£EE+EeEEEEEeEEEEEEEEkrrrrkervee 15Hình 2- 4 Ma trận tương quan giữa các người đùng - - + +ssss+ssseeeseeeeresee 17

Hình 2- 5 Ma trận chuẩn hóa với đầy đủ giá trị - 2 2+-<+<+£++zxerxerxerxerrerreee 19

Hình 2- 6 Utility matrix sau khi thực hiện dự đoán 555555 << ++sx+seresess 20Hình 2- 7 Lưu đồ hoạt động của cơ chế CF trên nền r0 21Hình 2- 8 Bang thống kê tần số xuất hiện của các từ trong bài DAO . 22

Hình 2- 9 Công thức tinh term ÍreQU€'CYy - . +6 + 1E *E**kE+ssEEeseEeseesseereskee 23

Hình 2- 10 Công thức tính Weighted Term Frequency - -« -««+<s<++sex+sxes 24

Hình 2- 11 Bảng sau khi tính trọng số của các từ vựng - 2 scsecx+zxerxezzeee 24Hình 2- 12 Công thức tinh inverse document frequency -««+-s<++<sx+ss+2 25 Hình 2- 13 Giá tri IDF của từng từ Vung oe eee eeeeeeseeneeeeeeececeeseceeeeaececeaeeseeeaeeneeees 25

Hình 2- 14 Bảng giá trị trọng số được chuẩn hóa :-2- ++©2+2cxzz+zrxzzxsrxez 26

Hình 2- 15 Lưu đồ hoạt động của thuật toán Content-based Filtering trên nền tảng 27Hình 2- 16 Tổng quan về cơ chế game hóa + 2 2 £+5££E£2£E2£E+£E+£Ee£E£zE+2zze2 28Hình 2- 17 Các yếu tố thiết kế trò chơi :- ¿5£ + £+E£+E++EE£EE+EE£EEeEEerEerkerkerreee 31Hình 2- 18 Trang thiết lập trải nghiệm - 2£ 2+S£+£+E££EE2EE+EEeEEeEEerEerrerreee 37Hình 2- 19 Pop-up cộng điểm tích lũy 2 + 5¿+x+2E££EEtEEEEEEtEEEEEkrrrkerkerrrerkee 38Hình 2- 20 Pop-up trao tặng danh hiỆu 5 G5 11 23191 211181 1 111 rệt 39Hình 2- 21 Trang cá nhân của người dùng trên nền tảng - 2-2 5z +22: 40

Trang 9

Hình 3- I Trang chủ của 'TTIDA(CÏVISOT - s11 1 1v KH Hkt 4l Hình 3- 2 Trang chủ của Expedia - c1 k1 11kg HH 43 Hình 3- 3 Biểu đồ độ tuôi của người tham gia khảo sát -2- 555 525225: 45 Hình 3- 4 Biểu đồ công việc của người tham gia khảo sát -5+5z©5z252<: 46

Hình 3- 5 Biểu đồ tình trang hôn nhân của người tham gia khảo sát - 41

Hình 3- 6 Biểu đồ khảo sát thú vui giải trí của người tham gia vào ngày nghỉ 41

Hình 3- 7 Biểu đồ khảo sát về sự phô biến của hoạt động trải nghiệm 48

Hình 3- 8 Biểu đồ khảo sát số người từng tham gia hoạt động trải nghiệm 48

Hình 3- 9 Biểu đồ khảo sát các hình thức biết đến hoạt động trải nghiệm 49

Hình 3- 10 Biéu đồ khảo sát số người cảm thay hứng thú với hoạt động trải nghiệm 49

Hình 3- 11 Use-case của người quản trị hệ thống - 2 2 52 s2 x+£++£EzEzEz+ze+z 54 Hình 3- 12 Use-case của người sử dụng nền tảng -+¿2 x+2xe+cxzxevrxrxeerxee 56 Hình 3- 13 Use-case của người tham gia trải nghiệm - - 5+ «+55 £++£+se++ees+ 57 Hình 3- 14 Use-case của người tổ chức trải nghiệm 2-22 xz2zz+cxzxssrxez 58 Hình 3- 15 Sơ đồ hoạt động của use-case Đăng kỹ - ccsxkstssiseeeireske 62 Hình 3- 16 Sơ đồ hoạt động của use-case Đăng nhập -2- 2-2 + s£x+zxezxeczze> 64 Hình 3- 17 Sơ đồ hoạt động của use-case Xem thông tin trải nghiệm - 66

Hình 3- 18 Sơ đồ hoạt động của use-case Đặt trước hoạt động trải nghiệm 68

Hình 3- 19 Sơ đồ hoạt động của use-case Hủy tham gia trải nghiệm 70

Hình 3- 20 Sơ đồ hoạt động của use-case Hoàn thành tổ chức trải nghiệm 72

Hình 3- 21 Sơ đồ tuần tự của use-case Đăng ký - 2 2+22+cx+zerxerxerkerkerkerreee 73 Hình 3- 22 Sơ đồ tuần tự của use-case Đăng nhập 2-2 2+ x+zxezxerxerxerreee 74 Hình 3- 23 Sơ đồ tuần tự của use-case Xem thông tin trải nghiệm - 75

Hình 3- 24 Sơ đồ tuần tự của use-case Đặt trước hoạt động trải nghiệm 76

Hình 3- 25 Sơ dé tuần tự của use-case Hủy tham gia hoạt động trải nghiệm 77

Hình 3- 26 Sơ đồ tuần tự của use-case Hoàn thành tổ chức hoạt động trải nghiệm 78 Hình 3- 27 Sơ đồ lớp của use-case Đăng ký ¿5222222 E2 EEEEEExerkerkrrrrreee 79

Trang 10

Hình 3- 28 Sơ đồ lớp của use-case Đăng nhập - 2 2+c2+++£x+rkerEerkerkerrerreee 80Hình 3- 29 Sơ đồ lớp của use-case Xem thông tin trải nghiệm 2-2-2: 81Hinh 3- 30 So dé lớp của use-case Dat trước hoạt động trai nghiệm - 82Hình 3- 31 Sơ đồ lớp của use-case Hủy tham gia hoạt động trải nghiệm 83Hình 3- 32 Sơ dé lớp của use-case Hoàn thành tổ chức hoạt động trải nghiệm 84

Hình 4- 1 Sơ đồ kiến trúc của hệ thống -¿- 2£ ©2+++2E++Ext£E++rxtzrxerxrreerxee 95Hình 4- 2 Sơ đồ giao diện của người dùng ¿ 2- 2 x2++Ext£Eerxrrrxerxerrxerxee 96Hình 4- 3 Sơ đồ giao diện của người quan trị hệ thống - 2 52 5252252252: 97

Hình 4- 4 Trang đăng nhập - - G2222 13218931311 151 13111 111 11 11 1 111g ng nh rưệt 99

Hình 4- 5 Trang đăng ky - s6 6 su nH H Hhnnnrưếc 99 Hình 4- 6 Trang chủ (user chưa đăng nhập) 00 eee eeeeseeseeeceeneeeeeseeeeeeseeeeseneeeeeaes 100 Hình 4- 7 Trang chủ (user đã đăng nhập) - - 2 62511 E*EEssEEseksersereree 101 Hình 4- 8 Trang danh sách trải nghiỆm - 6 + E221 E2ESEESsEseErekrseesekrs 102

Hinh 4- 9 Trang ca mane eee e 103

Hình 4- 10 Trang quản lý thông tin cá nhân 5 + +++*++E+s+v+seereeeerrke 104Hình 4- 11 Trang bảng điều khiỂn -2- 22 2£ ©222E£2EE£EEtEEEEEEEEEEEkerrkerkerrxers 104Hình 4- 12 Trang quan lý trải nghiệm - 5 6 + ceeceeeeeeseesesaeeseeseeeeseeeeneeas 105 Hình 4- 13 Trang quản lý hoạt động - 5 6 2s 1x23 ng ni, 105 Hình 4- 14 Trang hoạt động - - 6 k1 HH TH TH TH TH HH nưệt 106

Hinh 4- 15 br 0ì 11 106

Hình 4- 16 Trang bảng điều khiển của người quản trị hệ thống - - 107

Hình 4- 17 Trang quản lý người đùÙng - + + xxx 9 ng net 108

Hình 4- 18 Trang quản lý quyn - 2-2-2 ©52+SE£+E£+EE£EEE£EEtEEEEEEEEEEEkrrrrrkrrrrers 108Hình 4- 19 Trang quản lý chủ dé trải nghiệm 2:¿¿2++22x++£x+zzxe+rseee 109

Trang 11

Hình 6- 1 Sơ đồ hoạt động của use-case Thêm trải nghiệm - ++-«<5s«2 116

Hình 6- 2 Sơ đồ hoạt động của use-case Chỉnh sửa trải nghiệm - 117Hình 6- 3 Sơ đồ hoạt động của use-case Xóa trải nghiệm «+ +sx++s<+s+2 118Hình 6- 4 Sơ đồ hoạt động của use-case Tìm kiếm trải nghiệm ‹ -««- 119Hình 6- 5 Sơ đồ hoạt động cua use-case Cập nhật tài khoản - -«++<+++ 120Hình 6- 6 Sơ đồ hoạt động của use-case Nhận điểm tích lñy Ă Seeire 121Hình 6- 7 Sơ đồ hoạt động của use-case Yêu thích trải nghiệm - ‹- 122Hình 6- 8 Sơ đồ hoạt động của use-case Đánh giá trải nghiệm 5 124Hình 6- 9 Sơ đồ tuần tự của use-case Thêm trải nghiỆm -. -c++<<<+secesserss 125Hình 6- 10 Sơ đồ tuần tự của use-case Chỉnh sửa trải nghiỆm . -«-<-<<2 126Hình 6- 11 Sơ đồ tuần tự của use-case Xóa trải nghiỆm ¿+ +5 x++s+seeserres 127Hình 6- 12 Sơ đồ tuần tự của use-case Tra cứu trải nghiỆm «++-s<++<<x+++ 128Hình 6- 13 Sơ đồ tuần tự của use-case Cập nhật tài khoản -¿-2¿ z5: 129Hình 6- 14 Sơ đồ hoạt động của use-case Nhận điểm tích lẴY ẶẶ series 130Hình 6- 15 Sơ đồ tuần tự của use-case Yêu thích trải nghiệm -«++<<x++ 131Hình 6- 16 Sơ đồ tuần tự của use-case Đánh giá trải nghiỆm - - «++s<<s«2 132Hình 6- 17 Sơ đồ lớp của use-case Thêm trải nghiệm ¿- 2 5z 2x22: 133

Hình 6- 18 Sơ đồ lớp của use-case Cập nhật trải nghiệm - «+5 «++s£+s<++ 134 Hình 6- 19 Sơ đồ lớp của use-case Xóa trải nghiệm 2-2 ©2+£+zz+rxzzzeei 135

Hình 6- 20 Sơ đỗ lớp của use-case Tra cứu trải nghiệm 2-2 52 5 xz+xz>s2 136Hình 6- 21 Sơ đồ lớp của use-case Cập nhật tài khoản - 2-2 5+ scxczseced 137Hình 6- 22 Sơ đồ lớp của use-case Nhận điểm tích lũy - 2-22: 138Hình 6- 23 Sơ đồ lớp của use-case Yêu thích trải nghiệm - 2-2: ¿5z 139

Hình 6- 24 Sơ dé lớp của use-case Đánh giá trải nghiệm -2- 5 5555552 140

Trang 12

2 Mô tả use case của người quản trị hệ thống -¿- 5+ ©52 sz+sz+cse2 55

3 Use-case của người tham gia trải nghñiỆm - - 5 55 + £+s£se+seeseesse 60

4 Mô tả use-case Đăng ký - óc HH HH HH ng TH nh Hệ 61

5 Mô tả use-case Đăng nhập - - Ác 2 1S HH TH HH HH nrey 63

6 Mô tả use-case Xem thông tin trải nghiệm .- 55 5+ +s£++xe<seeess 65

7 Mô tả use-case Đặt trước hoạt động trải nghiệm 555555 <++<<+++ 67

8 Mô ta use-case Hủy tham gia hoạt động trải nghiệm ‹- ‹ 69

9 Mô tả use-case Hoàn thành tô chức hoạt động trải nghiệm - 71

10 Danh sách các thuộc tinh của collection EXperlences ««+ss S6

11 Danh sách thuộc tính của collection Activities 55 <<<<<<+++<<+ 87

12 Danh sách thuộc tính của collection Sers << + s+++++<<ssc+++<s+ 89

13 Danh sách các thuộc tính của collection Profiles -.-‹-+ s++++ 90

14 Danh sách các thuộc tính của collection ReceIpES « «<< «++s 91

15 Danh sách các thuộc tính cua collection NotIfications - 92

16 Danh sách các thuộc tính của collection RÑeVIews -<< << 93

17 Danh sách các thuộc tính của collection Roles - -+-+++<<« 94

18 Danh sách các thuộc tính của collection Themes - .-‹ s++ +: 94

Trang 13

Bang 4 1 Mô tả danh sách trang của người đùng - - si sesiersee 98Bang 4 2 Mô tả danh sách trang của người quan trị hệ thống . - 98

Bảng 6 | Mô tả use-case Thêm trải nghiỆm - 55 5-55 3+** +2 E++*EEseseeeseeerse 115 Bảng 6 2 Mô tả use-case Chỉnh sửa trải nghiỆm - 5 55+ £2<£+vsseeseesrs 116 Bảng 6 3 Mô tả use-case Xóa trải ngiñiỆmH - ó5 2 1 23 E9 ng, 117 Bang 6 4 Mô tả use-case Tra cứu trải nghiỆm - - 5 5 25 + + £+vseeeseeseess 119 Bang 6 5 Mô ta use-case Cập nhật tài khoản ¿+ + x + +ssvssrerrerrrrke 120Bảng 6 6 Mô tả use-case Nhận điểm tích lũy -. -¿ 2 2©5£+S£+x+zxerxerxrxeres 121Bang 6 7 Mô tả use-case Tìm kiếm và lọc trải nghiệm 2- 2-2 52 s22 122Bang 6 8 Mô tả use-case đánh giá trải nghiỆm - - 5 5 25+ SE ++£+vseeeeeesees 123

Trang 14

Danh mục từ viết tắt

STT Từ viết tắt Từ day đủ Ý nghĩa

1 API Application Giao diện lập trình

Programming ứng dụng

Interface

2 JSON JavaScript Một kiến trúc dữ

Object Notation liệu của JavaScript

3 REST Representational Một kiêu kiến trúc

State Transfer lập trình, định

nghĩa các quy tắc

để thiết kế webservice.

4 SQL Structured Một ngôn ngữ truy

Query Language van dit liệu

5 STT Số thứ tự Số thứ tự các hàng

trong bảng

Trang 15

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

Tóm tắt khóa luận

Trải nghiệm là một trong những tài sản vô giá mà cuộc sống mang lại cho mỗi con người.Nhờ trải qua những trải nghiệm, con người phát triển về tư duy, cảm xúc cũng như lối

sống Tuy nhiên, trong thực trạng xã hội hiện nay, có rất nhiều người giàu kinh nghiệm

và đam mê trong các lĩnh vực cuộc sống lại không có cơ hội dé chia sẻ những trải nghiệmcủa mình và cũng có rất nhiều người muốn tìm hiểu và học hỏi những trải nghiệm mớinhưng không biết bắt đầu từ đâu Do đó, việc xây dựng một nền tảng giúp kết nối giữangười tô chức trải nghiệm và người có nhu cầu tham gia trải nghiệm là rất cần thiết

Với đề tài khóa luận này, tác giả tìm hiểu áp dụng các kiến thức nghiên cứu về việc xâydựng nên tang website dé xây dựng một nền tang ứng dụng web với các nội dung chính

sau:

- Tim hiêu công nghệ framework React.Js và các thư viện liên quan đê xây dựng

giao diện người dùng có day đủ tinh năng, thân thiện và dé sử dụng

- Tim hiêu công nghệ framework Express.Js và các thư viện liên quan dé xây dựng

hệ thông server hiệu quả, nhanh chóng, dê mở rộng và triên khai.

- Tim hiêu và sử dụng một so dịch vụ đê nâng cao các tính năng hữu ích cho hệ

thống như lưu trữ ảnh, xác thực số điện thoại, thanh toán trực tuyến và gửi email

- _ Nghiên cứu các cơ chế đề xuất thông minh, hiệu quả cho người dùng dé ứng dụng

vào đê tài.

- _ Nghiên cứu các cơ chế game hóa trong phần mềm ứng dụng dé ứng dụng vào dé

tài.

GVHD: ThS Nguyễn Đình Loan Phương SV: Trần Minh Phát - 17520882

Trang 16

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

Chương 1 TỎNG QUAN ĐÈ TÀI

11 Giới thiệu dé tài

Trải nghiệm là một trong những tài sản vô giá mà cuộc sông mang lại cho mỗi con người.Như Albert Einstein đã từng nói: “Nguồn gốc duy nhất của kiến thức chính là trảinghiệm” Thật vậy, trải nghiệm mang lại cho ta kiến thức, tư duy và vốn sống, từ đó dần

định hình tư tưởng và tính cách của mỗi con người Ta thu nhận được trải nghiệm thông

qua quá trình sống và tương tác với thế giới xung quanh, tựa như câu tục ngữ dân gianViệt Nam: “Di một ngày dang, học một sang khôn”.

Tại Việt Nam, mọi người thường tìm kiếm những trải nghiệm tích cực thông qua việctham gia các hoạt động du lịch, và có hai hướng tham gia chính, đó là du lịch theo tour

và du lịch tự túc Cả hai đều có những ưu, nhược điểm riêng Với thực trạng hiện nay,

hơn 90% người Việt Nam vẫn thường có thói quen tự tổ chức tour riêng khi đi du lịchhơn là phải thông qua các công ty du lịch [1].

Tình trạng chênh lệch xảy ra vì khách du lịch thường ưu tiên sự linh hoạt về thời gian vàđịa điểm của du lịch tự túc hơn là sự khuôn khổ theo lịch trình của du lịch theo tour Tuynhiên, việc du lịch tự túc cũng đồng nghĩa với việc khách du lịch phải tự tìm kiếm cho

mình những địa điểm tham quan, những hoạt động trải nghiệm được tô chức bởi những

chuyên gia trong lĩnh vực đó.

Với thực trạng trên, cần có những giải pháp dé kết nối khách du lịch đến với những cánhân tổ chức hoạt động trải nghiệm một cách dễ dàng, đồng thời hỗ trợ những người cótrải nghiệm có thé tìm kiếm thêm thu nhập thông qua những hoạt động mà mình yêuthích, từ đó thúc day ngành du lịch Việt Nam phát triển

GVHD: ThS Nguyễn Dinh Loan Phương SV: Trần Minh Phát - 17520882

Trang 17

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

1.2 Lý do chọn đề tài

Một trong những lí do gây trở ngại trong việc tìm kiếm các hoạt động trải nghiệm củakhách du lịch đó chính là thiểu một nền tảng trung gian uy tín dong vai trò cầu nối Cácnên tang phố biến hiện nay đa phan là của nước ngoài, chủ yếu đáp ứng nhu cầu cho

khách du lịch quốc tế khi đến Việt Nam Đồng thời, các nền tảng này cũng chỉ phục vụmục tiêu chính là kết nối, thiếu đi những yếu tố giúp người dùng có thé tương tác dựa

trên chính những hoạt động trải nghiệm của mình.

Vì vậy, việc xây dựng một nền tảng hiện dai, thông minh, giúp kết nối dé dàng giữa

khách tham gia và người tổ chức trải nghiệm, đồng thời ứng dụng cơ chế Game hóa(Gamification) dé tăng sự tương tác giữa người dùng là rất cần thiết Với việc áp dụng

cơ chế Game hóa, ta có thể biến nền tảng trở thành một mạng xã hội thu nhỏ hay một thếgiới ảo, nơi mà mỗi người dùng là một nhân vật, có thé lưu lại những hoạt động trải

nghiệm của mình như một thành tích cùng những tính năng khác Từ đó góp phần tăng

cao sự tương tác và trải nghiệm người dùng.

Với những lí do trên, nhóm chọn đề tài Khóa luận Tốt nghiệp là “Xây dựng nên tang ứngdụng web giúp kết nối người tổ chức trải nghiệm với khách tham gia” (tên tiếng Anh:

“Building a web application help connecting the host of experience activities with the

Trang 18

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

z A te.

- Tim hiểu về cơ chế Game hóa trong phan mềm (Gamification in Software) dé ứng

dung vao dé tai

- Nghiên cứu về các cơ chế đề xuất (Recommendation) hoạt động trải nghiệm dành

cho khách du lịch.

- _ Nghiên cứu những cơ chế quản lý hoạt động một cách thông minh dành cho người

cung cấp hoạt động trải nghiệm

- _ Xây dựng ứng dụng thân thiện và dé sử dụng, hướng đến đối tượng người dùng

chính là người Việt Nam.

14 Pham vi

Vì thời gian thực hiện đề tài có giới hạn, nội dung đề tài được tác giả tập trung phát triểnchủ yếu nhắm vào việc xây dựng một nền tảng nhằm kết nói hai đối tượng chính sử dụngnền tảng là Người tham gia trải nghiệm và Người tô chức trải nghiệm Hơn nữa, với việc

áp dụng các thuật toán đề xuất, Người tham gia trải nghiệm có thể tìm thấy những trảinghiệm phù hợp với sở thích cá nhân một cách nhanh chóng và dễ dàng nhất Ngoài ra,nên tang còn ứng dụng một số yếu tô thiết kế trò chơi, giúp nâng cao trải nghiệm củangười dùng, từ đó hướng đến sự trung thành của người dùng đối với nên tang

1.5 Phương pháp thực hiện

Đề tài khóa luận được thực hiện theo các bước như sau:

- Phan tích dé tài

- Tham khảo các nén tang tương tự ở Việt Nam và trên thế giới

GVHD: ThS Nguyễn Đình Loan Phương SV: Trần Minh Phát - 17520882

Trang 19

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

- Phan tích cơ bản các yêu cầu đã thu thập được

- _ Thiết kế cơ bản các yêu cầu cần có trong nên tảng

- _ Nghiên cứu về cơ chế ứng dụng Game hóa vào sản phẩm phần mềm

- _ Nghiên cứu về các cơ chế đề xuất cho người dùng.

- _ Tiến hành thiết kế và phát triển sản phẩm qua các giai đoạn

Trang 20

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

1.6 Ý nghĩa thực tiễn

- Tao được một nên tang nơi mọi người có thê tìm kiêm dễ dàng những trải nghiệm

mới và thật sự thú vị, phù hợp với sở thích của bản thân.

- Gitp những người có đam mê và giàu kinh nghiệm về một hoạt động, lĩnh vực

nào đó có thé kiếm thêm nguồn thu nhập từ việc làm mà mình yêu thích

- - Việc tham gia trải nghiệm giúp người dùng có cảm giác phát triên và vui vẻ sau

khi tham gia trải nghiệm, từ đó nâng cao sự tự tin trong cuộc sống.

- Git những người có cùng sở thích cùng đam mê trải nghiệm có thé kết nối được

với nhau, nâng cao tính cộng đông.

- Ứng dụng tập trung vào người Việt và văn hóa Việt, góp phan thúc day, phát triển

du lịch và đặc trưng của bản sắc dân tộc Việt Nam

17 Két quả dự kiến

Xây dựng và phát triển nền tảng ứng dụng web giúp kết nối người tổ chức các hoạt độngtrải nghiệm thực tế với khách tham gia, đồng thời ứng dụng cơ chế đề xuất và trò chơihóa vào nền tảng, bao gồm các chức năng sau:

o Đối với người cung cấp trải nghiệm:

= Tạo tài khoản và quản ly tài khoản dưới dang người tổ chức trải nghiệm

" Tạo, đăng tải va quản lý các hoạt động trải nghiệm một cách dễ dàng.

" Nhận thông báo mỗi khi có khách đăng ký tham gia hoạt động trải nghiệm.

= Được nên tảng giới thiệu về hoạt động nếu hoạt động trở nên phô biến

=" Được phân loại hoạt động trải nghiệm dựa trên chủ đề, từ đó thu hút được nhiều

người dùng có cùng sở thích.

GVHD: ThS Nguyễn Đình Loan Phương SV: Trần Minh Phát - 17520882

Trang 21

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

= Một bảng điều khiển cung cấp những thống kê và phản hồi về các hoạt động trải

nghiệm, g1úp người cung cấp cải thiện hoạt động của mình

o Đối với người tham gia trải nghiệm:

= Tạo tài khoản và quản lý tài khoản dưới dạng người tham gia trải nghiệm.

=" C6 khả năng tìm kiếm các hoạt động trải nghiệm dựa trên địa điểm và thời gian

hoạt động diễn ra

= Duoc hệ thong dé xuất các hoạt động trải nghiệm có liên quan đến lịch sử tham

gia và sở thích.

=" Có khả năng tìm kiếm các hoạt động trải nghiệm dựa trên địa điểm và thời gian

hoạt động diễn ra

=" Có khả năng lọc các hoạt động trải nghiệm dựa trên các yêu tô như chủ đê, giá cả,

thời lượng, ngôn ngữ yêu cầu,

=» Đánh giá và bình luận phản hồi về các hoạt động trải nghiệm đã tham gia

“ Có khả năng lưu lại những hoạt động trải nghiệm yêu thích dé có thé tham gia

vào một thời điểm nào đó trong tương lai

“ Có thé xem lại những hoạt động đã đăng ký và hủy tham gia hoạt động trong thời

hạn cho phép, đồng thời xem lại các hoạt động đã tham gia

= Được hệ thống thông báo về lịch trình hoặc hoạt động tiếp theo của hoạt động trải

nghiệm đang diễn ra.

= Sau khi hoàn thành hoạt động trải nghiệm, hệ thống sẽ quy đổi độ khó của trải

nghiệm sang điểm thưởng, sau khi tích lty đủ số điểm thưởng tại một chủ đề hoạt

động nào đó, người dùng sẽ được trao danh hiệu theo chủ đề.

GVHD: ThS Nguyễn Đình Loan Phương SV: Trần Minh Phát - 17520882

Trang 22

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

= Những người tham gia trải nghiệm có cùng sở thích có thé kết nối với nhau dé

tiếp tục tham gia những trải nghiệm khác

GVHD: ThS Nguyễn Dinh Loan Phương SV: Trần Minh Phát - 17520882

Trang 23

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

Chương 2 CƠ SỞ LÝ THUYET

2.1 Hệ thống đề xuất và các cơ chế đề xuất

2.1.1 Tổng quan về hệ thống đề xuất

Hệ thống đề xuất (hay còn được gọi là nền tảng đề xuất, động cơ đề xuất) là một lớp concủa hệ thống lọc thông tin có nhiệm vụ tìm cách dự đoán “xếp hạng” hoặc “sự yêu thích”của người dùng về một đối tượng nội dung nào đó Có rất nhiều cơ chế đã được pháttriển để phục vụ cho mục đích dự đoán này, tùy vào ngữ cảnh và đối tượng nội dung,

mỗi cơ chế sẽ có điểm mạnh và điểm yếu khác nhau

Trong thời đại hiện nay, với sự phát triển mạnh mẽ của dich vụ web trải dai trong cáclĩnh vực của xã hội, hệ thống đề xuất đã trở nên cực kì phô biến Từ các dịch vụ thương

mại điện tử (Tiki, Lazada, Shoppee ) cho đến việc quảng cáo trên các trạng mạng xã

hội (Facebook, Zalo), tất cả đều có những nội dung đề xuất phù hợp với sự quan tâm,

thích thú của người sử dụng internet Có thê thấy, hệ thống đề xuất đã và đang là mộttiêu chuẩn không thé thiếu cho sự thành công của các nền tảng dịch vụ web trong việctìm kiêm sự hài lòng của người dùng.

Hệ thống đề xuất được đề cập lần đầu trong một bài báo cáo kỹ thuật vào năm 1990 bởiJussi Karlgren tại Dai hoc Colombia, được triển khai ở quy m6 lớn và hiệu quả hơn thôngqua các bài báo cáo kỹ thuật và ấn phẩm từ năm 1994 trở đi của Jussi Karlgren Sau đótại SICS, một nhóm nghiên cứu được dẫn đầu bởi Pattie Maes va Paul Resnick tai MIT,Will Hill tai Bellcore [4]

2.1.2 Tổng quan về các cơ chế đề xuất

Các cơ chê đê xuât là nên tảng đê xây dựng nên hệ thông đê xuât Tùy vào mục đích,

ngữ cảnh và đôi tượng đê xuât, môi cơ chê đê xuât sẽ có ưu nhược điêm khác nhau.

GVHD: ThS Nguyễn Dinh Loan Phương SV: Trần Minh Phát - 17520882

Trang 24

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

¢ Collaborative filtering: Một trong những cách tiếp cận phổ biến nhất của thiết

kế hệ thống đề xuất đó chính là Collaborative Filtering Cơ chế này dựa trên giảđịnh về những hành vi của người dùng trong quá khứ (đánh giá tốt về sản phẩm,mua sản pham nhiều lần, ) và hành vi của những người dùng khác từ đó đưa rađánh giá những sản pham mà người dùng hiện tại có thé sẽ thích và đưa ra đềxuất

e_ Content-based filtering: Không giống như Collaborative Filtering sử dung su

tương tác của người dùng và san phẩm đề tao nên đề xuất, cơ chế Content-based

sử dụng những thuộc tính và mô ta của sản phẩm dé đánh giá và đề xuất cho ngườidùng các sản phâm có nội dung tương tự

e Session-based recommender: Hệ thong dé xuất session-based hoạt động dựa

trên sự tương tác của người dùng tương ứng với mỗi session Cơ chế này hoạtđộng mạnh mẽ đối với các nền tảng cần đề xuất nội dung liên tục dựa trên sự

tương tác hiện tại của người dùng như Youtube, Amazon, Spotify,

e Mobile recommender: Cơ chế đề xuất dựa trên sự truy cập internet bằng các

thiết bị di động sử dụng các yếu tố cá nhân của người dùng (v1 trí dia lý, lịch sử

sử dụng thiết bị và các cài đặt cá nhân, ca) để tạo nên đề xuất cho người dùng.

Một trong những nền tang phổ biến sử dụng cơ chế này là Uber dé đề xuất ra mộtdanh sách các điểm đón khách doc trên tuyến đường đang chạy nhằm tối ưu hóathời gian và lợi nhuận cho tài XẾ

e Hybrid recommender: Hau hết các nền tảng hiện này đều sử dụng cơ chế Hybrid

recommender, tức là kết hợp hai hoặc nhiều các cơ chế lại với nhau Việc nàygiúp tận dụng ưu điểm của từng cơ chế, đem lại kết quả cao trong việc đề xuất

dựa trên từng ngữ cảnh khác nhau Nền tảng xem phim trực tuyến Netflix là một

trong những ví dụ tiêu biểu cho việc kết hợp này, bằng cách đề xuất cho người

dùng thói quen xem phim của các người dùng có hanh vi tương tự (collaborative

10

GVHD: ThS Nguyễn Đình Loan Phương SV: Trần Minh Phát - 17520882

Trang 25

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

filtering) đồng thời đề xuất những bộ phim có nội dung tương tự với phim người

dùng đã xem (content-based filtering).

2.1.3 Ap dung và xây dựng chức năng đề xuất trai nghiệm

Sau khi tìm hiểu ưu nhược điểm cũng như cách sử dụng của từng cơ chế đề xuất, tác giảnhận thấy hai cơ chế đề xuất Collaborative Filtering và Content-based Filtering có những

đặc điểm và ứng dụng rat phù hợp đối với dé tài, có thé mang lại hiệu quả tích cực trongviệc đê xuât và gợi ý trải nghiệm cho người dùng.

Đối với cơ chế Collaborative Filtering, ta có thé sử dụng lịch sử tham gia trải nghiệmcủa người dùng cộng thêm những trải nghiệm được người dùng đánh giá cao hoặc yêu

thích để làm đầu vào của thuật toán, từ thông tin về trải nghiệm của những người dùng

tương tự, hệ thống sẽ tin toán và đưa ra những hoạt động được đề xuất một cách chính

xác nhât.

Đối với cơ chế Content-based Filtering, mỗi trải nghiệm trên nền tảng được tạo ra với

rất nhiều thông tin chi tiết như chủ dé của trải nghiệm, địa điểm tổ chức, nội dung của

trải nghiệm từ đó tận dụng được ưu điềm của cơ chế Content-based filering là sử dungnhững thuộc tính và mô tả của sản phẩm dé làm tham số đầu vào của thuật toán, giúpthuật toán đưa ra những đề xuất chính xác và hiệu quả nhất

Nhận thấy hiệu quả của hai cơ chế trên, tác giả quyết định tìm hiểu cơ sở lý thuyết vàthuật toán của từng cơ chế dé áp dụng vào nền tảng

II

GVHD: ThS Nguyễn Đình Loan Phương SV: Trần Minh Phát - 17520882

Trang 26

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

2.1.4 Cơ chế Collaborative Filtering

2.1.4.1 Cơ sở lý thuyếta) Ham số tương quan

Đề phát triển được cơ chế đề xuất Collaborative Filtering, đầu tiên, ta phải xác định được

sự tương đồng trong hành vi cũng như lịch sử tương tác của các người dùng đối với nềntảng, hay nói cách khác là tìm sự giống nhau (similarity) giữa các người dùng, do đó tagọi hàm số mà chúng ta đang tìm kiếm là hàm số tương quan (similarity function) Dữliệu duy nhất mà ta có dé xác định sự giống nhau này là một ma tran hữu ích (utilitymatrix), giúp xác định quan hệ giữa người dùng và sản phẩm với sự tương tác là ngườidùng “đánh giá” sản pham [5]

Hình 2- 1 Utility matrix dựa trên số sao một người dùng đánh giá cho một sản pham

(nguồn: https://machinelearningcoban.com)

Một cách trực quan, ta thay răng hành vi của uo giông với u¡ hơn là up, us, us, Us, Us TỪ

đó ta có thê dự đoán rang uo có thê sẽ quan tâm đên sản phâm iz vì u¡ cũng quan tâm đên

sản phâm này.

12

GVHD: ThS Nguyễn Đình Loan Phương SV: Trần Minh Phát - 17520882

Trang 27

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

Gia sử có các người dùng từ uo đên us và các sản phâm từ io đên i4,trong đó các sô trong môi ô vuông thê hiện sô sao mà mỗi người dùng đã đánh giá cho sản phâm với giá trị cao hơn thê hiện mức độ quan tâm cao hơn Các dâu hỏi châm là các giá trị mà hệ thông cân phải di tìm Đặt mức độ giông nhau của hai người dùng ui, uj là sim(ui, Uj).

Theo như quan sát ở hình 2-1, ta có thé nhan thay uo, u¡ đánh gia cao io, 1ì, l2 va đánh giathấp is, iz Điều ngược lại xảy ra ở các người dùng còn lại Vì vậy, dựa trên hình 2-1, ta

có thê tạm kết luận là một hàm số tương quan tốt cần đảm bảo yếu tố:

sữm(mạ, Uy) > sữn(ug,1t¡), Vi > 1,¡ € (2,3,4)

Tuy nhiên, để xác định sự giống nhau giữa hai người dùng thường gặp khó khăn vì các

cột user thường bị thiếu rất nhiều giá trị do người dùng chỉ đánh giá một vài sản pham

chứ không đánh giá hết tat cả các sản phẩm Vì vậy trước khi tìm ra hàm số tương quan,

ta phải tìm phương pháp thay tất cả các dấu chấm hỏi trong bảng trên bằng một đại lượng

có giá trị tương quan với các giá trị đã có trong bảng, hay còn gọi là quá trình chuẩn hóa

dữ liệu Việc chuân hóa dữ liệu này chỉ phục vụ đề tìm ra hàm số tương quan, không

phải là suy luận ra giá trị cuối cùng

b) Chuẩn hóa dữ liệu

Có nhiều phương pháp dé tính toán giá trị cho những 6 còn thiếu trong ma trận hữu ích,phương pháp khả dĩ và có độ chính xác cao chính là phương pháp tính trung bình cộng của các đánh giá mà người dùng tương ứng đã thực hiện, việc này sẽ giúp tránh được

những người dùng quá khó tính hoặc quá dễ tính, tức là lúc nào cũng sẽ luôn hiện hữu

những sản phẩm mà người dùng thích hơn những sản pham còn lại

13

GVHD: ThS Nguyễn Dinh Loan Phương SV: Trần Minh Phát - 17520882

Trang 28

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

Uj; ome 275] 2.» 1.33] 25 | lên |333|

Hình 2- 2 Tính giá trị trung bình đánh giá của từng người dùng

(nguồn: https://machinelearningcoban.com)

Hàng cuối cùng trong hình 2-2 chính là giá trị trung bình đánh giá của mỗi người dùng.Giá trị trung bình đánh giá càng cao thể hiện người dùng càng dễ tính và ngược lại Khixác định được giá trị trung bình đánh giá, ta lấy giá trị đánh giá ban đầu trừ đi giá trịtrung bình đánh giá và thay các giá trị còn thiếu bang 0, ta sẽ được ma trận hữu ích chuẩnhóa.

14

GVHD: ThS Nguyễn Đình Loan Phương SV: Trần Minh Phát - 17520882

Trang 29

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

(nguồn: https://machinelearningcoban.com)

Về mặt ý nghĩa, việc lấy giá trị đánh giá ban đầu trừ đi giá trị trung bình đánh giá giúp

ma trận hữu ích được chuẩn hóa theo cách hiện hữu các giá trị âm và dương Những giá

trị dương tương ứng với việc người dùng thích sản phâm và ngược lại Những giá trị bang 0 tương ứng với việc chưa xác định được liệu người dùng có thích sản phẩm này

Trang 30

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

lưu ma trận hữu ích dưới dạng một ma trận rải rác (sparse matrix), tức là chỉ lưu những

giá trị khác 0 và vị trí của chúng Do đó, ta nên thay các giá trị còn thiếu bằng giá trị 0.

Việc này không những giúp ta tối ưu hóa tài nguyên bộ nhớ, mà còn giúp cho việc tínhtoán ma trận tương quan (similarity matrix) sau này hiệu quả hơn.

c) Ham tương quan Cô-sin

Sau khi ma trận hữu ích đã được chuân hóa, ta có thê sử dụng hàm sô tính cos của góc

giữa 2 vector u1, ua dé tính mức độ tương quan giữa 2 người dùng:

ut U2

(1)

COSsimilarity U1, U2) = cos(u,,U2) =

Trong hàm sô này, u¡, uz đại diện cho 2 người dùng đã được chuân hóa như trên.

Mức độ tương quan giữa hai vector u¡, u2 là một số nằm trong đoạn [-1, 1] Giá trị bằng

1 tức là góc giữa hai vector này bang 0, thể hiện được là hành vi của 2 người dùng là

hoàn toàn giống nhau và ngược lại Từ hàm tương quan Cô-sin, ta tính ra được ma trậntương quan như sau:

16GVHD: ThS Nguyễn Đình Loan Phương SV: Trần Minh Phát - 17520882

Trang 31

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

Hình 2- 4 Ma trận tương quan giữa các người dùng

(nguồn: https://machinelearningcoban.com)

Ma trận tương quan S (similarity matrix S) là một ma trận đối xứng vì hàm cô-sin là mộthàm chan, tức là nêu người dùng 1 giống người dùng 2 thì điều ngược lại cũng đúng

Từ ma trận tương quan S, ta có thê quan sát và đưa ra một số nhận xét như sau:

- uo tương tự với u¡ va us: dựa trên ma trận tương quan, ta có thé thay sự tương

quan giữa uo với u¡ và us là số đương Việc tương quan cao giữa uo với u¡ là dễhiểu vì cả 2 đều có xu hướng quan tâm đến các sản phẩm io, ii, ic hơn các sảnphẩm còn lại Việc tương quan cao giữa u0 và u5 thoạt đầu có vẻ vô lý vì us đánhgiá thấp các sản pham ma uo đánh giá cao (hình 2-1) tuy nhiên sau khi nhìn vào

ma trận đã chuẩn hóa (hình 2-3), ta thấy răng điều này là hợp lí vì sản phâm duy

17

GVHD: ThS Nguyễn Đình Loan Phương SV: Trần Minh Phát - 17520882

Trang 32

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

nhất mà hai người dùng đã cung cấp đánh giá là ¡¡ với các giá trị tương ứng đều

là tích cực.

- wy tương tự uo và ít tương tự các người dùng còn lại.

- ưa tương tự với Us, u4, Us, Us và it tương tự các người dùng còn lại.

A Yu jen (wi)* Y iu; sim(u, U;)

iota «mm (2)

- dujen (ui) | sim(u, 1 )|

Trong đó: N(u, i) là tập hop k người dùng trong neighborhood (tức có độ tương quan

cao nhất) của người dùng u mà đã đánh giá sản pham i.

Ví dụ: Tính dự đoán đánh giá của u, cho i, với số nearest neighbor là k = 2

Bước 1: Xác định các người dùng đã đánh giá cho sản pham i, => {up, U3, Us}

Bước 2: Xác định độ tương quan giữa wu, và các người dùng trên Tương ứng tai ma trận

tương quan (hình 2-4) ta nhận được các giá trị lần lượt là 0.83, —0.40, —0.23 Hai giá trị

(k =2) lớn nhất là 0.83, —0.40, tương ứng với ug và us

Bước 3: Xác định sự đánh giá đã chuẩn hóa của Ug và Us dành cho i, tại ma trận chuẩnhóa (hình 2-3), ta thu được các giá trị lần lượt là 0.75 và 0.5

18

GVHD: ThS Nguyễn Đình Loan Phương SV: Trần Minh Phát - 17520882

Trang 33

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

Bước 4: Tính dự đoán đánh giá

Lúc này, ta có thé chuyên đổi ma trận chuân hóa về thang 5 như ban đầu bằng cách cộng

vào mỗi ô giá trị trung bình đánh giá đã dược tính như trong hình 2-2.

19

GVHD: ThS Nguyễn Đình Loan Phương SV: Trần Minh Phát - 17520882

Trang 34

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

(nguồn: https://machinelearningcoban.com)

2.1.4.2 Thư viện Akin

Akin là một phần mềm mã nguồn mở (open source software) được ứng dụng như một

thư viện cung cấp Recommendation Engine dựa trên cơ chế Collaborative Filtering Akin

được phát triển bằng Node.js, sử dụng MongoDB làm cơ sở dit liệu

Các chức năng chính mà Akin cung cấp:

- Cung cấp API dé ghi nhận hoạt động của người dùng dựa trên sản phẩm được

tham chiếu đến bằng ID

20

GVHD: ThS Nguyễn Đình Loan Phương SV: Trần Minh Phát - 17520882

Trang 35

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

- Cac phương pháp bé sung cung cấp việc thực thi thuật toán lọc cộng tác, có thé

mở rộng, đưa ra kết quả đề xuất cho mỗi người dùng vào Mongo với từng tênriêng biệt.

- Cung cấp API giúp tính toán độ tương quan của người dùng cụ thé với các người

dùng còn lại.

- Cung cấp API giúp tính toán điểm số đánh giá từng sản phẩm và trả về kết quả dé

xuất

Áp dụng thư viện Akin vào nền tảng:

Tác giả sử dụng thư viện Akin dé áp dụng thuật toán Collaborative Filtering lên hệ thốngserver back-end được lập trình bang ngôn ngữ Node.js Lưu đồ diễn ra như sau:

Yêu thích trải nghiệm

` _Luu lại hành động 4 28 |»! Dự đoán trai nghiệm

|Ñ———]Tao danh sách đề xuất

Người dùng

Hanh gia trải nghiệm

Hình 2- 7 Lưu đồ hoạt động của cơ chế CF trên nên tang

Lưu danh sách đề xuất

vào cơ sở dữ liệu

Người dùng có thé thực hiện 2 thao tác dé thé hiện sự yêu thích đối với trải nghiệm:Thêm trải nghiệm vào danh sách yêu thích hoặc Đánh gia trải nghiệm sau khi tham gia.

Hệ thống sẽ lưu lại hành động của người dùng vảo một danh sách mảng, từ đó tính toán

mức độ tương quan giữa người dùng với các người dùng khác trên hệ thống Sau khi đã

có được mức độ tương quan hệ thống sẽ tính toán dự đoán các trải nghiệm người dùng

có thê thích và tạo danh sách đê xuât, lưu lại vào cơ sở đữ liệu.

21

GVHD: ThS Nguyén Dinh Loan Phuong SV: Tran Minh Phat - 17520882

Trang 36

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

2.1.5 Cơ chế Content-based Filtering

2.1.5.1 Cơ sở lý thuyết

a) Công thức TF-IDF

Cơ chế Content-based chỉ khác cơ chế Collaborative ở một điểm duy nhất, đó chính làthay vì tìm ra sự tương quan giữa các người dùng, ở cơ chế Content-based, câu hỏi đượcđặt ra là làm thé nào dé tìm sự tương quan giữa các sản phầm với nhau thông qua nộidung của chúng?

Công thức TF-IDF là một trong những công thức phố biến được dùng dé giải quyết câuhỏi này TF-IDF là một chủ đề nhỏ trong khối chủ đề Xử lý ngôn ngữ tự nhiên (NaturalLanguage Processing) Công thức này được sử dụng trong việc truy xuất thông tin chocác mục đích tính năng với mục đích có trích xuất [6]

Tóm lại, những gì công thức TF-IDF thực hiện là đếm số lần xuất hiện của các từ trong

một văn bản, đánh giá sự quan trọng của từng từ và đưa ra diém sô cho văn ban đó.

Giả sử, ta có một bảng thống kê như sau:

Trang 37

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

Cột dau tiên chứa tên của từng văn bản, các cột tiép theo là những từ vựng và các sôtrong những ô xanh là số lần từ vựng xuất hiện trong văn bản tương ứng

Hàng DF cuối cùng thể hiện tổng số văn bản có chứa từ vựng tương ứng

Giả sử tổng số văn bản là 1 triệu (10^6)

Term Frequency

Term Frequency (TF) là tan số ma một tir vựng được lặp lại trong một văn ban chia chotổng số từ vựng có trong văn bản đó mang ý nghĩa xác định sự phố biến của từ vựngtrong văn bản và được chuân hóa băng cách chia cho tổng số từ vựng

Tfứ) = Frequency occurence of term t in document

Total number of terms in document

Hình 2- 9 Công thức tinh term frequency

Trang 38

Xây dựng nền tảng kết nối giữa người tổ chức trải nghiệm và khách tham gia

O, otherwise

Hình 2- 10 Công thức tinh Weighted Term Frequency

(nguồn: https://www.analyticsvidhya.com)

Ap dụng công thức nay để tinh TF cho từng từ vựng trong hình 2-, ta có được một bảng

chứa trọng sô của từng từ vựng như sau:

——

me ae, aE IE

-†2Sploo-| 2 mMBb [rau l TT 0

(nguồn: https://www.analyticsvidhya.com)

Inverse Document Frequency

Inverse Document Frequency (IDF) là tổng số văn ban chia cho tổng số văn ban dangchứa một từ vung t Giá tri IDF thể hiện mức độ hiểm của từ vựng, nếu từ vựng xuấthiện nhiều trong các văn bản thì giá tri IDF sẽ tăng lên

24

GVHD: ThS Nguyễn Đình Loan Phương SV: Trần Minh Phát - 17520882

Trang 39

Xây dựng nên tảng kết nối giữa người tô chức trải nghiệm và khách tham gia

Total Number of documents

© © 10‘ Number of documents containing term t

Hình 2- 12 Công thức tinh inverse document frequency

b) Véc-to TF-IDF và chuẩn hóa

Cũng giống như cơ chế Collaborative, ta sử dung góc giữa 2 véc-to văn bản dé tính mức

độ tương quan giữa hai văn bản này, do đó sau khi có được trọng số của TF, ta có thétính được độ dài của véc-tơ văn bản bằng cách lấy căn bậc hai của tổng các trọng số TFbình phương, lay vi dụ dé tính được độ dài của véc-to văn bản 1, ta có:

Length of vectoYrarticies = \ (2,32)? + (2,38)2 + (0)2 + (1,30)? + (1,30)? = 3.8

25

GVHD: ThS Nguyén Dinh Loan Phuong SV: Tran Minh Phat - 17520882

Trang 40

Xây dựng nền tảng kết nối giữa người tổ chức trải nghiệm và khách tham gia

Sau đó, dé chuẩn hóa các giá trị trọng số bằng cách lay giá trị của trọng số chia cho độ

dài của mỗi vector tương ứng, từ đó ta có được bảng giá trị trọng số được chuẩn hóa như

Sau:

Piata L

Article 2 0.$94389962 0.691941368| 0324895184] 0249721517) =

Hình 2- 14 Bảng giá trị trọng số được chuẩn hóa

(nguồn: https://www.analyticsvidhya.com)

Sau khi chuẩn hóa các giá trị trọng số, ta áp dụng hàm tương quan cô-sin như cơ chế

Collaborative để xác định mức độ tương quan và mức độ tương quan sẽ nằm trong

khoảng [-1,1], ví dụ dé tính mức độ tương quan giữa Article | và Article 2, ta có:

cos(4¡, Az) = 0.61 x 0.59 + 0.63 * 0.69 + 0 x 0.32 + 0.34 x 0.25 + 0.34 x0

= 0.8797

2.1.5.2 Thư viện Content-based Recommender

Thư viện Content-based Recommender là một phần mềm mã nguồn mở (open sourcesoftware) được phát triển bằng ngôn ngữ JavaScript dé minh họa khái niệm Đề xuất dựatrên nội dung (content-based recommendation).

26GVHD: ThS Nguyén Dinh Loan Phuong SV: Tran Minh Phat - 17520882

Ngày đăng: 04/10/2024, 23:01

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

TÀI LIỆU LIÊN QUAN