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

Đồ án tốt nghiệp Đề tài xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp chatbot

97 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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 Website Tìm Kiếm Và Cho Thuê Phòng Trọ Tích Hợp Chatbot
Tác giả Ngụ Quang Đại, Phạm Đắc Chương
Người hướng dẫn TS. Nguyễn Năng Hựng Võn
Trường học Trường Đại Học Kiến Trúc Đà Nẵng
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Đà Nẵng
Định dạng
Số trang 97
Dung lượng 9,51 MB

Nội dung

TOM TAT Tên đề tài: Xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp Chatbot Sinh viên thực hiện Sinh viên thực hiện: Ngô Quang Đại Dự án đã áp dụng một kiến trúc hệ thông hiệu q

Trang 1

TRƯỜNG ĐẠI HỌC KIÊN TRÚC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN

ĐỎ ÁN TÓT NGHIỆP

DE TAI: XAY DUNG WEBSITE TIM KIEM VA

CHO THUE PHONG TRO TICH HOP CHATBOT

Giảng viên hướng dẫn : TS.Nguyễn Năng Hùng Vân

Sinh viên thực hiện : Ngô Quang Đại

Trang 2

TOM TAT

Tên đề tài: Xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp Chatbot

Sinh viên thực hiện

Sinh viên thực hiện: Ngô Quang Đại

Dự án đã áp dụng một kiến trúc hệ thông hiệu quả, kết hợp với thiết kế giao điện mượt mà và tỉnh tế Chúng tôi đã phát triển chatbot để tương tác tự nhiên với người dùng, øiúp họ tìm kiếm thông tin, đặt phòng, và giải đáp thắc mắc 24/7

Quá trình kiếm thử và đánh giá đã chú trọng vào đảm bảo tính ôn định và an toàn

của hệ thống Nhận xét từ người dùng đã được đánh giá cao, và chúng tôi đã thực hiện điều chỉnh đề cải thiện trải nghiệm sử dụng

Tương lai, chúng tôi đề xuất mở rộng dự án với các tính năng mới và cải tiến, đồng thời duy trì cam kết hỗ trợ kỹ thuật và cập nhật thường xuyên để nền tảng luôn hoạt động mượt mà và an toản Báo cáo này cung cấp cái nhìn tổng quan về quá trình phát triển và triển khai dự án, đồng thời thể hiện sự cam kết của chúng tôi đối với sự hài lòng của người dùng

SVTH: Ngô Quang Đại i GVHD: TS.Nguyén Nang Hung Van

Pham Dac Chương

Trang 3

LOI NOI DAU

Trong thời đại ngày nay, sự phát triển của công nghệ thông tin đang mở ra những

cơ hội mới, giúp giải quyết những thách thức trone cuộc sống hàng ngày của chúng ta Một trong những nhu cầu cấp thiết của mọi người là tìm kiếm và thuê phòng trọ, đặc biệt là trong các đô thị đang phát triển nhanh chóng Để đáp ứng nhu cầu này một cách hiệu quả và thuận tiện, chúng tôi tự hào giới thiệu đến mọi người hệ thống website déc

đáo - một nền tảng tìm kiếm và cho thuê phòng trọ đa chức năng, tích hợp với công nghệ chatbot tiên tiền

Website của chúng tôi không chỉ là một công cụ giúp kết nối những người cần thuê phòng và những người có phòng trọ cho thuê mà còn mang đến trải nghiệm tìm kiếm và giao tiếp mới mẻ thông qua sự hỗ trợ của chatbot Chúng tôi cam kết mang lại cho người dùng sự thuận tiện, nhanh chóng vả an toản trong quá trình tìm kiếm và thuê phòng trọ, đồng thời tối ưu hóa quy trình giao tiếp thông qua ứng dụng trí tuệ nhân tạo

Qua dé tài nảy, chúng tôi mong muốn đem lại giải pháp toàn diện, từ việc cung cấp thông tin chỉ tiết về các phòng trọ, tiện ích khu vực, đến việc tối ưu hóa quy trình đặt cọc và giao tiếp giữa người thuê và chủ nhà Bằng cách này, chúng tôi hy vọng không chỉ đáp ứng nhu cầu cơ bản mà còn đề xuất một trải nghiệm tối đa, giúp tạo ra một cộng đồng chia sẻ thông tin và hỗ trợ lẫn nhau trong quá trình tìm kiếm và cho

thuê phòng trọ Vì thế đề tài “ Zim kiếm và cho thuê phòng trọ tich hop chathot” ra đời

SVTH: Ngô Quang Đại il GVHD: TS.Nguyén Nang Hung Vân Pham Dac Chương

Trang 4

LOI CAM ON

Đầu tiên, em xin thê hiện lòng biết ơn sâu sắc tới TS Nguyễn Năng Hùng Vân —

Giáo viên hướng dẫn của em trong suốt quá trình thực hiện đồ án tốt nghiệp Sự tận tâm, kiên nhẫn và hỗ trợ không ngừng của thầy đã đóng một vai trò quan trọng trong việc giúp em hoàn thành dự án này một cách thành công Những kiến thức và kinh nghiệm mà thầy đã chia sẻ với em đã là nguồn động viên lớn và đã giúp em phát triển

nhanh chóng trong quá trình nghiên cứu và thực hiện đề tải

Em xin bảy tỏ lòng biết ơn chân thành tới toàn thế các thầy, các cô giảng viên của trường Đại Học Kiến Trúc Da Nẵng Những người thầy này đã tận tình hướng dẫn, truyền đạt kiến thức quý báu, và tạo ra một môi trường học tập và nghiên cứu tốt nhất

cho em va tat cả các bạn sinh viên Điều này đã cho phép em phát triển kiến thức và kỹ

năng cần thiết cho dự án này, và em rất biết ơn điều này

Mặc dù em đã cố gắng hết sức để hoàn thiện đồ án, nhưng do thời gian có hạn, năng lực và kinh nghiệm còn hạn chế, nên đồ án không tránh khỏi những thiếu sót Em kính mong nhận được sự thông cảm, đóng góp ý kiến xây dựng từ phía thầy cô, bạn bè

và những người có kinh nghiệm Những đóng góp này sẽ giúp em trau dồi và nâng cao kiến thức và kỹ năng của mình, và em hướng tới việc hoàn thiện bản thân trong tương lai

Pham Dac Chương

Trang 5

LOI CAM DOAN

Chúng em, nhóm thực hiện dé an xây dựng website tìm kiếm phòng tro, xin tran trọng báo cáo về quá trình và kết quả của dự án của chúng em

Trong suốt quá trình thực hiện, chúng em đã đặt ra mục tiêu xây dựng một trang web hiệu quả, cung cấp thông tin chính xác và đáng tin cậy về phòng trọ cho người sử dụng Mỗi thành viên trong nhóm đã đóng góp tích cực vào việc nghiên cứu, phân tích yêu cầu và phát triển chức năng cho trang web

Tất cả các nguồn tham khảo và công trình nghiên cứu của người khác đã được nhóm em trích dẫn và trình bảy một cách rõ ràng và chỉ tiết trong danh mục tải liệu

tham khảo của khóa luận Nhóm em đã tuân thủ nguyên tắc, không vi phạm bản

quyền, và đã tuân thủ đúng quy định về việc chỉ rõ nguồn gốc thông tin từ nguồn khác Các kết quả đánh giá và thông kê được trình bày trong khóa luận này đều là kết quả của những thực nghiệm mà nhóm em đã tự thực hiện, và không có sự can thiệp từ bất kỳ nguồn nào khác Nhóm em cam đoan tính trung thực và chính xác trong việc trình bảy kết quả và thông tín trong khóa luận này

Sinh viên thực hiện

SVTH: Ngô Quang Đại IV GVHD: TS.Nguyén Nang Hung Van Pham Dac Chương

Trang 6

1.2 Giới thiệu về website tìm kiếm và cho thuê phòng trọ - c2 sec 4

1.3 Giới thiệu hệ thống chatbot 52-52 1 1 1EE1511211211111212111121 21211111 teg 4

1.5 Phân loại chat bot - - c1 1n 1n HS TS n ng Tn n1 1111511111511 1 111k k1 v2 7 1.5.1 Hệ thống Chatbot dựa vào các quy luật, thói quen trong ngôn ngữ của

1.5.2 Hệ thống Chatbot xây dựng trên một kho đữ liệu cho trước - 8

1.6 Đề xuất giải pháp chatbot trả lời tư vấn thuê trọ + 2 s2 12 22212 xteg 10

1.7 Một số công nghệ sử dụng trong website s2 5c s EEEE11112121121 1.11 6 11 1.7.1 Fromt Endo cece cccecccecssceccessccccsseccssessecsseseensasesceesenteeseeeesseesntnneas 11

1.7.3 Cơ sở dữ liệu MySQL - 5+ S1221211221211212211211211212212122 re 20 CHƯƠNG 2 PHƯƠNG PHAP DE XUAT CHATBOT XAY DUNG TREN MOT

2.1 Giới thiệu phương pháp 1201211121112 11211121 1111111111112 11111 111101111 tk 22

2.2 Dữ liệu - S21 12212112112712112211211211211211121121211212112121 21220121211 rse 22 2.2.1 Thu thập dữ liệu 2 2221221 221221121127127122121112112111122121 212211 22 2.2.2 Xây dựng bộ đữ liệu - 2-5221 2122112212112112711211211221222 re 23 2.3 Thiết kế đữ liệu cho Chatbot -2 S22 S2E121225225127127122171127111111 21.11 XE 24 2.3.1 Tiền xử lý đữ liệu 5 1t 111111111111111 111 211 11 1 tre 24 2.3.2 Xây dựng đữ liệu huấn luyện 5 1 2 1211 1211512112122 12x r xe 25

Pham Dac Chương

Trang 7

2.4 Thuật toán TF-IDE trong chatbot - L0 122021221 1211121121 1111111111111 xrHrkg 29 2.4.1 Cach thre hoat d6ng ccc 29

2.5 M6 hinh hudin lay 61 ccc ccccccceesececscscsessesecsesecsesscsessesssesesevevevscinsnsesseseres 31

bu {ni 0 ẶÁÁẮÝÁ 32

CHƯƠNG 3 PHAN TÍCH VA THIẾT KẺ HỆ THÓNG 5 5 34 3.1 Đặc tả hệ thống - ST 11 211211111221111 2121212111 ng 1 11c re 34

3.2.1 Yêu cầu người dùng 5c s21 2112111112121121121211 2121210 nga 35 3.2.2 Yêu cầu của người quản lý - + s21 1E212112112111112121111 2121121 rrteg 35

3.3.1 Các tác nhân của hệ thống: - 2-22 E115 17111211211111211 2.111 1e tre, 35

3.3.2 Use case tÔng quát - s11 T2122112121111 0121112112121 22 21 re 36

3.3.4 Use Case tác nhân người thuÊ tFỌ 122 2211221122112 1152118111111 se 39 3.3.5 Use Case tác nhân chủ trỌ nnnn n1 HH S1 n1 1111111155 112511 1551111111111 511cc xy 40 3.3.6 Use Case tác nhân quản trỊ VIÊH - 2 2222122212221 1223111153111 1 22 k2 42

3.4.1 Biểu đỗ tuần tự đăng ký - 5c sT 2121211211 1 111101211 x ra 44 3.4.2 Biểu đỗ tuần tự đăng nhập 2-52 S1 E21 1121121111121 xe 46

3.4.4 Biểu đỗ tuần tự cập nhật dữ liệu 52-21 2E 1 1111211212121 xe te 48

3.4.7 Biêu đỗ tuần tự xem chỉ tiẾt 2S ST HT 211 1211111111 15115111121 ec 51 3.5 Biểu đồ hoạt ñ 000 52

3.5.2 Biéu dé hoat động đăng nhập - 2 2 2212211 1211211121111112 151 12kg 53 3.5.3 Biéu dé hoat động xem chị tiết PONG tO cece eee 2 1122 2y 54

Pham Dac Chương

Trang 8

3.5.4 Biéu dé hoat dong tim kiém phòng trọ c2: 2 12222 221gr 55

3.6.2 Xác định bảng thực tẾ 5 S222 11211 1211112122221 11212121 re 57 CHUONG 4 XAY DUNG WEBSITE TIM KIEM VA CHO THUE PHONG

4.1 Xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp chatbot 64

4.1.3 Câu trúc giao điện Chatbot 5s 1 1221119114 11211112112121111121 111211 xe 67

4.2.1 Giới thiệu cơ bản về xây dựng API trong hệ thống Chatbot 68 4.2.2 Tương tác API với React - c2 1211211111112 1 10111011111 1011111 1111 re 69 4.2.3 Xử lý tương tác với cơ sở đữ liỆu c2 2212112211221 1 1211122111821 re 69 4.3 Giao diện Chatbot Q2 TT HS TS 1 1111511111 1511151111111 511511 xu 71 4.4 Giao diện người dùng 12 12112211121 1121 11111111 11111111 112121111111 1111111 xe 71 4.4.1 Giao diện tranø, chủ - c2 2111211211121 11 2110111111111 1111 211115201112 81 51 1 tk 71

4.4.3 Giao diện đăng nhập 2 020 2211 12112211211121 1111112112111 111 181111111 kg 73

4.4.6 Giao diện đánh giá, bình luận - 5 22 22 22212221221 123 1121121121221 1 x+2 77 4.4.7 Giao diện quản lý yêu thích 222221211211 1211221 121118111812 111 8 82 s2 78 hc: oán na 79 4.5.1 Giao diện quản lý thông kê L0 2 22211211 12111211111111112 1281218212 79 4.5.2 Giao diện quản lý tin đăng - L0 2222112111111 1 1521111221151 1115811118 tk 80 4.5.3 Giao diện quản lý ø1a hạn 221211211121 12 111 111811111 11111111 111121 0k 81 4.5.4 Giao diện quản lý thành viên - 2 2222221121112 11 211811181 11111111 21122 k2 82

Pham Dac Chương

Trang 9

DANH MỤC HÌNH ẢNH

Hình 1.1 Giới thiệu hệ thông chafbot 2-5 5219991 EE1E21211221 1111111211111 1c 5 Hình 1.2 Cau tạo Chatbot -.s:: 222c22211222111222211222.1112.1 1211111111111 e 7

Hình 1.3 Ví dụ mô hình chatbot ELlZ2A - - - - Ă G112 2251111111111 11K K 1K K Kẻ 8 Hình 1.4 M6 ta Sequence to sequ€ïice - ác 2121121121111 1 111 112 111111111111 119g kg 10

I0 0P vo 0\ vn 11

Hinh 1.6 Mô tả JavaScript ExfenSIOH - 2 c1 112111211211 1211111111 11111821 g1 chay 13 Hinh 1.7 Import thư viện React-dom - 2 122212112221 221 1121111221151 11 158111 8k 13 Hình 1.8 Cài đặt Tailwind CSS S201 12111111111 11111111111 11111111 111111111, 15 Hinh 1.9 Thêm thông tin vào file taIÏw1nd .á- ác 21121111121 1211 11111111 112 111g re 15 00001 0002 00 1n 15

0006 an 16

0009200 1 e 17

s00 0N KEN9 6n 1n 18

Hinh 1.14 Logo an 20

Hinh 0N B19 ánh 4 20

s00 00 00 9000n0 e 20

l0 00050006 0N nn 22

Hình 2.2 Thu thập dữ liệu L S222 2112122121111 11111 11111111111 2112 1121110110 1 HH Hràu 23 Hình 2.3 Xử lý dẫu câu - 5 S112 EE1111211 2111121 1222111 1211211 ra 25 Hinh 2.4 Xử lý chữ hoa thành thường 2 22 122122212212 151 12311511553 151 111282 xe 25 Hình 2.5 Chuyên đôi đữ liệu 52-2 1 121211211211 111111 1121121211211 1 21 cr tu 25 Hình 2.6 Xử lý câu hỏi tập hợp từ ác S21 14111110111 1111111111111 11 11 H11 11 HE 26 Hình 2.7 Tạo vector ứng dụng với đồ dài tập hợp mảng 52521 E22 sa 26 Hình 2.8 Chuyên đôi câu hỏi thành vectOr - - 25s 2S 121 157111271111112211 E116 27 Hình 2.9 Tạo vector ứng với số lượng nhãn 2-22 21 E111 E7121121121111111 E1 te 28 Hinh 2.10 Cau hoi chuyén hoa vector ccccccccccccsccsesccsesscsessesessesessesessesevsvsnsesevevsvscees 28 Hinh 2.11 Mô tả thuật toán chatbot n1 1 1n HT Hs TS TH HS TT ST S11 111111 2151115111551 x se 30 Hình 2.12 Kết quả thực nghiệm mô hình cece 22222113123 133 1153131323121 22x xe, 32 Hình 3.1 Các tác nhân của hệ thống 2-52 St E21 1121121111112111121121111 211 16 36 Hình 3.2 Biểu đồ Use case tông quát - 2 s1 2E11112112112112111221 101121 ryg 36 Hinh 3.3 Biéu dé Use case hé thống 37

Hình 3.5 Biểu đồ Use case tác nhân thuê trọ - S2 ST S111 1311151211 11121512155155 5E 40

Van

Pham Dac Chương

Trang 10

Hinh 3.6 Biéu dé Use Case tac nhan quản trỊ VIÊN - c 22122211211 1121 1115511222 xe 42

Hình 3.7 Biểu đồ tuần tự đăng ký 1 sSnn T122 2222112121121 e gu 45 Hình 3.8 Biểu đồ tuần tự đăng nhập - 2s 9 E1 1112112111121 1211 ca 46 Hình 3.9 Biểu đỗ tuần tự thêm dữ liệu -55222222 2211122112211 cty 47 Hình 3.10 Biêu đồ tuần tự cập nhật dữ liệu - 22s 2E 19111121121121 2121 xe 48 Hình 3.11 Biểu đồ tuần tự xóa dữ liệu - 52: 222122112221122211271222.12 xe 49 Hình 3.12 Biếu đồ tuần tự tìm kiếm - 5522222 22211211122112221122211121.1 g2 50

Hình 3.13 Biểu đỗ tuần tự xem chí tiết ST HS 212121511111 11 1151151115 1n sa 51 Hình 3.14 Biểu đồ hoạt đọng đăng ký L2 1212 112 1111511011 11112111111 112k 52 Hình 3.15 Biểu đồ hoạt động đăng nhập 22 2211221122112 1121202122 53

Hình 3.17 Biêu đồ hoạt động của tìm kiếm phòng trọ 52-22 s2 E12212E222x2Eze2 55

Hinh 3.21 CSDL Commei c2 21201231121 1123 12111 111211011111 11111111 111111 ru 38 Hinh 3.22 CSDL, Expiredis 2 120122112211 101 12211111 11111111111 2111101111111 1 ng ru 58 s62 189)9)09) ii 0n 59

Hình 4 1 Cấu trúc Front end +: + 2S 1215118712111 1121121111111211112121121 2120 65

Hình 4 2 Cấu trúc Back end -¿-2222221112211221122211221112211121112111111 re 67 Hình 4 3 Cấu trúc Chatbot -25: 225: 22112211122211212112111122111111110121111112 1 1e 68

Hinh 4 5 Xử lý tương tác dữ liệu - 2 2 22211211221 111 21 12211112121111111 112 1 ray 70

Hình 4 6 Tuyến xứ lý hàm + s-Ss s91 SE1E112121111111211112111121111 211111111 re 70

Hinh 4 7 Giao diện Chatbot 0200221110011 11 11111111 HT T KT g T0 11111111 xe 71 Hinh 4 8 Giao diện trang chủ -.- 2 221 12111211221 1211111111117 1211101118111 ra 72 Hinh 4 9 Giao diện đăng Ïý 2 0 20 12211211 12111111211111 11 1101111110111 k 1k 73 Hinh 4 10 Giao diện đăng nhập L2 2212 1211211121 1511111112120 1 81121121151 re 74 Hinh 4 11 Giao diện đăng tin 2 - 0 22 221 11211221121 112111111 1118110111011 1g say 76

Hình 4 12 Giao diện chỉ tiẾt - 222 22211221121112221122211212112101111111112 1e 77

Hinh 4 13 Giao diện đánh giá bình luận 2 2 22122212211 221 1211 1211111121 22 xe 78

Pham Dac Chương

Trang 11

Hinh 4 14 Giao diện quản lý yêu thích - c2 2221211121 1211 12 122211811181 1111 211111 dt 79 Hinh 4 15 Giao diện quản lý thông kê L0 22222211211 121 121212 1118118111811 xe 80 Hinh 4 16 Quản lý tin đăng L0 2 12011211 2211211 1111111112121 1011 111111111111 rườ 81 Hinh 4 17 Giao diện quản ly gia hate ccc 22 201121122112 11121 12111111111 11111118 de 82

Phạm Đắc Chương

Trang 12

DANH MUC BANG

Bảng 2 I Ví dụ về tập dữ liệu van bat cece cecceccssessessesscsessesessescenseseessesess 31 Bảng 2 2 Biểu diễn tập dữ liệu bằng mô hình TF-IDE 2-22 2E £2Z+2E22z2zzz: 31 Bảng 2 3 Kết quả thử nghiệm cccccesesseesessesseseessesecscsesetsesesesesnseesesseese 32

Bảng 3 1 Mô tả use case đăng ký n2 101 12111111111112 2011 1111111111511 37 Bảng 3 2 M6 ta use case đăng nhập - L2 22 1211211 11111121 1201112211111 11 18811 ray 38 Bảng 3 3 Mô tả use case đăng xuất - - c n1 1121211112121 121 cr ru 38 Bảng 3 4 Mô tả use case xem chỉ tiết phòng trỌ 52-21 121 18215112711121212112xe 39 Bảng 3 5 Mô tả use case tìm kiếm phòng trỌ 5- 22 2122111151272 111 221 x0 39 Bang 3 6 M6 ta use case quan lý danh sách yêu thích 2 22222222222 czzxxe2 40 Bảng 3 7 Mô tả use case đăng tin phòng trỌ - 2 2221221121111 12 2212 12181281 re 41 Bảng 3 8 Mô tả use case quản lý tin đăng - c0 2211211121121 1121511111128 1 re 41 Bảng 3 9 Mô tả use case thanh toán c0 1211211121122 1121 1201115110111 011 101 11 8g key 42 Bảng 3 10 Mô tả use case quản lý thống kê - 5 S11 1218112111111 1211 x6 43 Bảng 3 11 Mô tả use case quản lý thành viên - c2 2 2212221112221 1312111152112 xe 43 Bảng 3 12 Mô tả use case quản lý ø1a hạn - 0 2222221112211 122121 1551111281122 xe 44 Bảng 3 13 Mô ta use case quản lý tin đăng 222 1221211121121 115111158112 xe 44 Bảng 3 14 Chí tiết bảng CategOfis 1 0c Sn 2112111112112 112121 2111212 ng ru 57 Bảng 3 15 Chí tiết bảng Comei 5 c1 1111211111111 1121111211 211111012 0 ng 57 Bảng 3 16 Chí tiết bảng Expiredls s- cc 21111 1121121121212 121212012211 ryu 58

0 AVl®.10.1.19) 9 TY ớg::d£ŸÝOỒỘỒDDỒDdDẦẦắaỶỒỶỒỶỒẳỶẢ 59

Bang 3 18 900.800 /0//''''''4444433ÝỶẢ 59 Bảng 3 19 Chí tiết Rading o.oo cccccccccccccccecsseseecsesessessesseseessesessessessesecsesseesenseesssesie 60 Bảng 3 20 Chí tiết Roles 5 S1 1211 19111121121121111 1111212111211 11c ru 61

0 6U N® 01.00 HA ẳăễễẻễẽiăiẳiẳễẳăẳäỶÝỶÝiiiääÝỶÝỶỔỶẢ 61

06 Zî0 0.1 AM NHh cdâẳảả'3ẢÝŸÝỶÝỶÝỶÝỶÝ£ 62 Bảng 3 23 Chí tiết Wishlist ST 111811211211 211 2112112121111 1 12g nưyu 63

Pham Dac Chương

Trang 13

MO DAU

1 Tính cấp thiếp đề tài

Xây dựng một trang web tìm kiếm và cho thuê phòng trọ tích hợp chatbot là một

ưu cầu cấp thiết trone thời đại ngày nay, nơi mà nhu cầu về nhà ở ngày càng tăng mạnh và sự thuận tiện, nhanh chóng của công nghệ đang trở thành tiêu chí quan trọng

Điều này không chỉ giúp người thuê nhà tiết kiệm thời gian và nỗ lực trong quá trình

tìm kiếm nhà, mả còn tạo ra một trải nghiệm tương tác mượt mà và linh hoạt

Trong thể giới số hóa ngày nay, việc có một trang web tìm kiếm và cho thuê phòng trọ không chỉ giúp mọi người dễ dàng xác định lựa chọn phù hợp với nhu cầu

và ngân sách của họ mả còn tăng cường tính minh bạch trong thị trường bắt động sản Giao diện dễ sử dụng và tính năng lọc thông tin sẽ giúp người dùng nhanh chóng đưa

ra quyết định thông tin và tối ưu hóa thời gian tìm kiếm

Tích hợp chatbot vào trang web là một bước tiến quan trọng, mang lại lợi ích lớn cho người dùng Chatbot không chỉ giúp giải đáp các thắc mắc của người dùng một cách tức thì mà còn tăng tính tương tác và cá nhân hóa Nhờ vào trí tuệ nhân tạo, chatbot có thể cung cấp thông tin chí tiết về các phòng trọ, hỗ trợ quá trình đặt phòng trực tuyến và thậm chí đề xuất những lựa chọn phù hợp dựa trên yêu cầu cụ thể của

người dùng

Một trong những ưu điểm nỗi bật của việc tích hợp chatbot là khả năng cung cấp

hỗ trợ 24/7 Điều này mane lại sự linh hoạt cho người dùng, đặc biệt là những người

có lịch trinh bận rộn hoặc đang ở trong giai doan tim kiếm nhà ở cấp bách Khả năng tương tác liên tục này không chỉ tạo ra sự thuận tiện mà còn tăng cường trải nehiệm người dùng vả tạo ra sự tin cậy đối với dịch vụ

Đồng thời, tính năng đánh giá và phản hồi từ người dùng cũng đóng vai trò quan trọng trong việc xây dựng niềm tin Người dùng có thể chia sẻ trực tiếp thông tin về trải nghiệm của họ, từ chất lượng phòng trọ đến dịch vụ hỗ trợ, sIiúp người khác có

quyết định thông tin hơn khi tìm kiếm nhà ở

Cuối củng, việc xây dựng một website tìm kiếm và cho thuê phòng trọ tích hợp chatbot không chỉ là một nhu cầu cấp thiết trong thị trường bất động sản đang phát

triển mạnh mẽ, mà còn mang lại những lợi ích lớn về tính thuận tiện, linh hoạt và

Phạm Đặc Chương

Trang 14

tương tác cho người dùng Đây là một bước tiễn quan trọng trong việc tối ưu hóa trải nghiệm người dùng và đáp ứng nhanh chóng đòi hỏi ngày cảng cao của thị trường

2 Mục tiêu đề tài

Mục tiêu chính của đề tài "Xây dựng website tìm kiếm và cho thuê phòng trọ tích

hợp chatbot" là tạo ra một nên tảng trực tuyến đăng cấp và hiệu quả, giúp người dùng

dễ đàng tìm kiếm, so sánh, và thuê phòng trọ một cách thuận tiện Dưới đây là một số mục tiêu cụ thể:

- _ Tối ưu hóa quá trình tìm kiếm:

+ Phat trién giao diện trực quan và dễ sử dụng giúp người dùng tìm kiếm thông tin một cách nhanh chóng và dé dang

+ Tích hợp các tính năng lọc và sắp xếp thông tin để cung cấp kết quả tìm kiếm chính xác và linh hoạt

- Tăng Cường Tương Tác thông qua Chatbot:

+ Phat triển một chatbot thông minh có khả năng hiểu và đáp ứng các yêu cầu của người dùng

+ Tích hợp tính năng chatbot dé cung cấp thông tin chỉ tiết về phòng trọ, hỗ trợ trong quá trình tìm kiếm và giải đáp thắc mắc

- Tạo Nền Tảng Đánh Giá và Phản Hồi:

+ Phát triển một hệ thống đánh giá và nhận xét từ người dùng để tạo ra một cộng đồng thông tin chất lượng

+ Hién thị đánh giá và nhận xét trên trang web đề giúp người dùng đưa ra quyết định thông tin

3 Phạm vi và đối tượng

Đối tượng:

® Công nghệ

- Nghiên cứu công nghệ Chatbot và các thuật toán học máy

- _ Tìm hiệu ngôn ngữ ReactJS và NodeJS đề phát triển website

® Tác nhân

-_ Người tìm kiếm phòng trọ:

+ Những người đang tìm kiếm chỗ ở, bao gồm sinh viên, người đi làm, và những

người có nhụ cầu tìm nhà ở tạm thời hoặc dài hạn

+ Những người ưa thích trải nghiệm tìm kiếm trực tuyến thuận lợi và linh hoạt

Phạm Đặc Chương

Trang 15

- Người cho thuê phòng tro

+ Các chủ nhà, quản lý bất động sản, và những người có phòng trọ cần cho thuê + Những người mong muốn mở rộng phạm vi tiếp cận và tiếp thị phòng trọ của

họ thông qua nền tảng trực tuyến

trong phạm vi của đề tài:

- Xay dung trang web:

+ Phat trién giao dién tryc quan, dễ sử dung cho trang web tim kiém va cho thué phong tro

+ Tích hợp các chức năng tìm kiếm và thanh toán để tôi ưu trải nghiệm người dùng

- Tích hợp chatbot:

+ Phat triển một chatbot sử dụng trí tuệ nhân tạo để tương tác với người dùng + Tích hợp chatbot vào trang web đề hỗ trợ tìm kiếm, trả lời câu hỏi và cung cấp thông tin chỉ tiết về phòng trọ

-_ Hệ thông đánh giá và phản hồi:

+ Phat trién hệ thông cho người dùng để đánh giá và viết nhận xét về phòng trọ + Hién thị thông tin đánh giá trên trang web đề người dùng có thê tham khảo

4 Nội dung cấu trúc báo cáo

- Cầu trúc báo cáo website xây dựng tìm kiếm và cho thuê phòng trọ của chúng tôi có 4 ý chính:

+ Co sở lý thuyết và công nghệ sử dụng

+ Phương pháp đề xuất Chatbot xây đựng dựa trên kho đữ liệu cho trước

+ Phân tích và thiết kế hệ thống website

+ Xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp Chatbot

Phạm Đặc Chương

Trang 16

CHUONG 1 CO SO LY THUYET VA CONG NGHE

1.2 Giới thiệu về website tìm kiếm và cho thuê phòng trọ

Kinh doanh nhà trọ - căn hộ từ xưa đến nay chưa bao giờ là lỗi thời và là hình thức kinh doanh siêu lợi nhuận và ổn định Với thời đại phát triển và hiện đại như bây giờ thì việc tìm kiếm nhà trọ cho thuê bằng phương pháp thủ công không còn phù hợp nữa Công nghệ đã trở thành một phần không thê thiếu trong cuộc sống mỗi người Ngày nào bạn cũng dùng smartphone, laptop, Ipad, để làm việc, giải trí, tra cứu Vậy tại sao bạn vẫn còn áp dụng phương pháp tìm và cho thuê theo cách truyền thống rườm

rà và bỏ qua những website tìm kiếm và cho thuê phòng trọ tiện lợi

Dưới đây là một số tính năng và chức năng chính mà một trang web tìm kiếm và cho thuê phòng trọ có thể cung cấp:

- Tìm kiếm nâng cao: Người dùng có thê tìm kiếm theo khu vực, giá thuê, loại

phòng, diện tích, và các yêu cầu khác đề tìm phòng phù hợp với họ

- Thông tin chỉ tiết: Mỗi danh sách phòng trọ nên có thông tin chỉ tiết về diện tích,

số phòng ngủ, tiện nghi (như điều hòa nhiệt độ, Internet, bếp), và hình ảnh để giúp

người dùng hiểu rõ hơn về chỗ ở

- Đánh giá và bình luận: Người dùng có thê đánh giá và đánh giá các phòng trọ mà

họ đã thuê, giúp người khác có cái nhìn về chất lượng và kinh nghiệm sông tại đó

- Liên hệ với chủ nhà: Trang web cung cấp thông tin liên hệ với chủ nhà hoặc

người quản lý bất động sản đề liên hệ và thóa thuận việc thuê

- Tích hợp bản đồ: Trang web thường tích hợp bản đồ dé người dùng có thể xem vị trí chính xác của phòng trọ

- Tích hợp thanh toán: Người cho thuê trọ thanh toán cho website để được đăng

bài lên

- Tích hợp trò chuyện trực tiếp: Chatbot có thể cho phép người dùng trò chuyện trực tiếp với chủ nhà hoặc người quản lý bất động sản để đặt câu hỏi hoặc thảo luận chỉ tiết về các phòng trọ

1.3 Giới thiệu hệ thống chatbot

Chatbot là một hệ thống trao đổi thông tin giữa người và máy theo một quy chuẩn nhất định, thông tin trao đổi trong chatbot có thể bằng ngôn ngữnói, ngôn ngữ

Phạm Đặc Chương

Trang 17

viết hoặc kí hiệu Chatbot giúp cho người sử dụng tiết kiệm được thời gian, tiết kiệm chỉ phí trong việc ứng dụng vào các hệ thông chăm sóc khách hàng, hay nâng cao năng suất lao động hay thậm chí chăm sóc đời sống con người Hệ thống chatbot được phân chia thành các loại chính như sau:

® - Chatbot p1ữa con người vả con neuời

® - Chatbot piữa máy tính với máy tính

® - Chatbot piữa con người và máy tinh Chatbot là một hình thức thô sơ của phần mềm trí tuệ nhân tạo, là một chương trình được tạo ra từ máy tính tiến hành cuộc trò chuyện thông qua các phương pháp

nhập văn bản, âm thanh, cảm ứng có thê trả lời các câu hỏi và xử lý các tình huống, là

một công cụ có thể giao tiếp, tương tác với con người thông qua một trí tuệ nhân tạo

đã được lập trình san

Trong đa số các trường hợp thì chatbot được sử dụng qua ứng dụng nhắn tin để nói chuyện với con người Nó có khả năng trả lời những câu hỏi mà người dùng để ra, thông thường lúc ban đầu thì nó sẽ dựa vào những từ khóa trong câu hỏi của người dùng để trả lời và đân dần nó sẽ học hói được thêm từ trải nghiệm người dùng và làm những cuộc trò chuyện tiêp xúc với con người trở nên cá nhân hơn, giông thật hơn

Knowledge base Sooo

Hinh 1.1 Gidi thiéu hé thong chatbot

Pham Dac Chương

Trang 18

Vi dụ 1: Nếu như bạn muốn nhắn tin để tìm kiếm thông tin một sản phẩm của một cửa hàng hoặc công ty đã tạo Chatbot, bạn chỉ việc nhập vào từ khoá, chúng sẽ lập tức tìm và hiện kết quả thông tin sản phâm cho bạn Đôi khi thuật ngữ “Chatbot” được

sử dụng để chỉ các trợ ly ao nói chung hoặc cụ thể là chỉ chương trình máy tính trả lời

tu déng trén nén tang tin nhan (Messaging Platform)

Ví dụ 2: Nếu như bạn đã hỏi “trợ lý ảo” Siri cua Apple hay Cortana cua Microsoft một vấn đề gi dé như: “Thời tiết hôm nay như thế nào?”, là bạn đã làm việc với một ChatBot

1.4 Câu tạo chat bot

Cấu tạo cơ bản của Chatbot gồm có ba phần bao gồm: cơ sở dữ liệu, lớp ứng dụng, quyền truy cập vào các API và giao diện đồ họa người dùng Nhờ những thành phần

cơ bản đó mà nó có thê hoạt động được

- Cơ sở dữ liệu: Cơ sở dữ liệu lưu trữ các thông tin, dữ liệu và nội dung

- Tầng ứng dụng: Các giao thức của tầng ứng dụng thường được dùng để trao đổi dữ liệu giữa các chương trình chạy trên máy nguồn và máy đích Tầng nay đóng vai trò như cửa số dành cho hoạt động xử lý các trình ứng dụng, nó biếu diễn những dịch vụ hỗ trợ trực tiếp các ứng dụng người dùng, chang hạn như phần mềm chuyền tin, truy nhập cơ sở dữ liệu và email, v.v

- Giao diện lập trình ứng dụng (AP]): là một giao điện mà một hệ thống máy tính hay ứng dụng cung cấp để cho phép các yêu cầu dịch vụ có thể được tạo ra từ các chương trình máy tính khác, và/hoặc cho phép dữ liệu có thé được trao đổi qua lại piữa chúng

Phạm Đặc Chương

Trang 19

Hình 1.2 Cau tao Chatbot

1.5 Phân loại chat bot

1.5.1 Hé thong Chatbot dựa vào các quy luật, thỏi quen trong ngôn ngữ của người dùng

Mô hình Rule-based chatbot? Hệ thống Chatbot thành công và nỗi tiếng nhất

thuộc loại này là ELIZA Chatbot ELIZA được tạo ra từ năm 1966, và được coi như một bước tiến quan trọng trong lịch sử của Chatbot nói chung và trí tuệ nhân tạo nói riêng ELIZA mô phóng một bác sỹ tâm lý với công việc lắng nghe và hỏi kỹ càng về những câu chuyện của bệnh nhân, siúp cho họ có thể dần dần nói ra những điều mà họ không thể chia sẻ được với ai Hãy ổi sâu vào tìm hiểu một chút hệ thống điển hình của Rule-based chatbots này đề hiểu hơn về nó

Vit du: mô hình Rule-based chatbot

Sau đây là ví dụ một đoạn hội thoại giữa ELIZA (được viết in hoa) và một người bình thường được đăng tải trên hệ thống của họ dưới đây (tiếng Anh)

Phạm Đặc Chương

Trang 20

cách diễn đạt, cách sử dụng từ ngữ riêng để tạo ra các câu hội thoại của bản thân,

nhưng thói quen sử dụng ngôn ngữ con người có xu hướng lặp lại khá nhiều Những thói quen này sẽ được lập trình viên khai thác để xây dựng Chatbot với độ phức tạp chương trình tùy vào mong muốn của người tạo ra Ví dụ có thê kế đến là nếu trong câu hỏi của người có nhắc tới "thời tiết", "mưa năng" hay "nhiệt độ" thì khả năng cao người dùng đang muốn hỏi về tình hình thời tiết

1.32 Hệ thong Chatbot xay dung trén mot kho dit liéu cho trước

- Kho văn bản này có thể được thu thập bằng lượng lớn đữ liệu từ các cuộc nói chuyện của người dùng, sử dụng các phương pháp trích xuất thông tin (Infomation Retrieval) hoặc các phương pháp máy học để tạo ra câu trả lời dựa vào ngữ cảnh trò chuyện với người dung

- Thay vỉ việc sử dụng những luật xây dựng bằng tay như rule-based chatbots, hệ thống chatbot dựa trên kho đữ liệu hội thoại trong thực tế của HĐƯỜI với để tìm ra được

những phản hồi phù hợp cho hoàn cảnh của mình Những dữ liệu hội thoại nảy có thé

Phạm Đặc Chương

Trang 21

được thu thập trực tiếp trên một số platform trò chuyện hoặc lấy ra từ các lời thoại của nhân vat trong cac bộ phim với nhau

- Corpus-based hiện nay thường sẽ có 2 kiêu hoạt động chính: Trích xuất thông tin cần thiết (Information Retrieval) và áp dụng các bai toan Deep learning theo dang sequence to sequence (tuong tự như Dịch tự động)

¢ Information Retrieval based chatbots (IR-based)

Co ché hoat động của một hệ thống IR-based có bước đầu tiên là tìm trong cơ sở

dữ liệu hội thoại, một câu nói có độ tương tự cao nhất với câu nói hiện tại của user Từ

đó có 2 cách đề đưa ra câu trả lời:

Ngoài ra ở phần tiếp theo, mình cũng sẽ giới thiệu với các bạn về một hệ thống chatbot IR-based nhưng được biến đôi đi một chút để phù hợp với nhiệm vụ trả lời các câu hỏi về kiên thức

Phạm Đặc Chương

Trang 22

e Sequence to sequence chatbots

Sequence to sequence 1a mét bai toán đang được giải quyết một cách khá mạnh mẽ bởi các mạng Deep Learning bây giờ Với đầu vào là l câu, dựa trên tập dữ liệu của chúng ta, chúng ta sẽ có thê sinh ra câu trả loi dya vao Deep Learning

Im fine EOS

se99} 3 sese} Ísese 9099 ————| 999 —` tot +|sese} “40009

Sen [sen] {ove {ove} on]

Hình 1.4 M6 ta Sequence to sequence

1.6 Đề xuất giải pháp chatbot trả lời tư vấn thuê trọ

Có thê nói, chatbot trở thành một hiện tượng mới trong việc đây mạnh chuyên đổi

số trong tất cả các ngành nghề, doanh nghiệp và xã hội Việc sử dụng chatbot trong các lĩnh vực như tiếp thị, quảng cáo của doanh nghiệp sẽ dễ dàng hơn và tiết kiệm chi phi Bên cạnh đó, người dùng cũng cảm thấy hứng thú hơn và không còn cảm giác như đang phải bắt buộc tương tác với quảng cáo Phù hợp với đa số người dùng và rất nhiều lĩnh vực, nếu như trước đây, chatbot chủ yếu trong các ngành nghề như bán lẻ, nhà hàng, bất động san thi giờ ngay cả các lĩnh vực cung cấp dịch vụ, hạ tầng, giáo dục, du lịch, chăm sóc sức khỏe cũng có thé sir dụng chatbot Không chỉ dừng lại việc đáp ứng cho các doanh nghiệp lớn với lượng dữ liệu noày càng tăng, chatbot còn phủ hợp cho mọi mô hình doanh nghiệp bởi sự linh hoạt, dễ điều chỉnh theo nhu cầu Sử

dụng chatbot nhằm tiếp cận người dùng 24/7, đưa ra những phương án nhanh chóng,

độ chính xác cao, giảm thiếu nhân công trong lĩnh vực tưvấn, hỗ trợ khách hàng Từ

đó, chatbot là công cụ hỗ trợ thúc đây doanh số, nâng cao hoạt động chăm sóc khách hàng, phát triển thương hiệu tốt nhất cho doanh nghiệp trong kỉ nguyên mới

Trong bài viết này, chúng em trình bày hệ thống chatbot hỗ trợ trong tr van cho thuê trọ bằng cách kết hợp xử lí ngôn ngữ tự nhiên và một số thuật toán như BOW,

Pham Dac Chuong

Trang 23

TF-IDF, ANN, KNN vào hệ thống để có thê phục vụ nhu cầu tìm kiếm thông tin một cach trực quan cho khách hảng, những người cần tim tro

1.7 Một số công nghệ sử dụng trong website

1.7.1 Front End

"Front end" là một thuật ngữ trong lĩnh vực phát triên web và phần mềm để chỉ các thành phần của một ứng dụng mà người dùng tương tác trực tiếp Nó bao gồm tất cả các phần giao diện người dùng mà người dùng có thê thấy và tương tác, chẳng hạn như trang web, ứng dụng di động hoặc giao diện đồ họa trong một ứng dụng máy tính Front end thường bao gồm các ngôn ngữ lập trình như HTML, CSS và JavaScript

để xây dựng cấu trúc, thiết kế và tương tác của trang web hoặc ứng dụng Các nhà phát triển font end chịu trách nhiệm về việc tạo ra trải nghiệm người dùng tốt và thân thiện thông qua giao diện và tương tác đơn giản, hiệu quả Ngược lại, "back end" đề cập đến các thành phần không thể nhìn thấy của hệ thống, chẳng hạn như cơ sở dữ liệu và xử

lý logic máy chủ

1.7.1.1 ReactJS

ReactS là một opensource được phát triển bởi Facebook, ra mắt vào năm 2013, bản thân nó là một thư viện Javascript duoc dung dé dé xây dựng các tương tác với các thành phần trên website Một trong những điểm nỗi bật nhất của ReactJS đó là việc render dữ liệu không chỉ thực hiện được trên tâng Server mà còn ở dưới Client nữa

Hinh 1.5 Logo ReactJS

® Tại sao phải sử dung ReactJS

- Dễ dàng tạo ứng dụng web động dễ dàng hơn vì nó yêu cầu ít code hơn và cung

cấp nhiều chức năng

- Cải thiện hiệu năng website với VirtrualDom

- Có thé tai sử đụng các component dé giam thoi gian phát triển ứng dụng

Pham Dac Chuong

Trang 24

¢Nhuoc diem

- Reactjs cực kì hiệu quả: ReactfJs tạo ra cho chính nó DOM ảo — nơi mà các component thực sự tồn tại trên đó Điều này sẽ giúp cải thiện hiệu suất rất nhiều Reactjs cũng tính toán những thay đối nào cần cập nhật lên DOMI và chỉ thực hiện chúng Điều này giúp Reactjs tránh những thao tác cần trên DOM mà nhiều chỉ phi

- Reacfjs giúp việc viết các đoạn code JS dễ dàng hơn: Nó dung cú pháp đặc biệt là JSX (lavascript mở rộng) cho phép ta trộn giữa code HTML và Javascript Ta có thé

them vào các đoạn HTML vảo trong hàm render mà không cân phải nối chuỗi Đây là

đặc tinh thú vị của Reactjs Nó sẽ chuyên đổi các đoạn HTML thành các hàm khởi tạo

đối tượng HTML bằng bộ biến đổi JSX

- Nó có nhiều công cụ phát triển: Khi bắt đầu Reactjs, đừng quên cải đặt ứng dụng

mở rộng của Chrome dành cho Reactjs Nó giúp bạn debug code dễ dàng hơn Sau khi bạn cài đặt ứng dụng, sẽ có cái nhìn trực tiếp vào virtual DOM như thể đang xem cây DOM thông thường

- Rendđer tầng server: Một trong những vấn đề với các ứng dụng đơn trang là tối ưu SEO và thời gian tải trang Nếu tất cả việc xây dựng và hiến thị trang đều thực hiện ở

client, thi người dùng sẽ phải chờ cho trang được khới tạo và hiển thị lên Điều nảy

thực tế là chậm Hoặc nếu giả sử người dung vô hiệu hóa Javascript thì sao? Reactjs là một thư viện component, nó có thể vừa render ở ngoải trình duyệt sử dụng DOM và

cũng có thê render bằng các chuỗi HTML mà server trả về

- Làm việc với vấn đề test giao diện: Nó cực ki dễ để viết các test case giao diện vì vưtual DOM được cài đặt hoàn toàn bằng JS

- Hiệu năng cao đối với các ứng dụng có đữ liệu thay đối liên tục, dễ dàng cho bảo

trì và sửa lỗi

Trọng tâm chính của bất kỳ website cơ bản nảo đó là những HTML documents

Trình duyệt Web đọc những document này để hiển thị nội dung của website trên máy tính, tablet, điện thoại của bạn Trong suốt quá trình đó, trình duyệt sẽ tạo ra một thứ

go la Document Object Model (DOM) — một tree đại diện cho cầu trúc website được hiển thị như thé nao Lap trình viên có thê thêm bất kỳ dynamic content nào vào những

dự án của họ bằng cách sử đụng ngôn ngữ JavaScript để thay đổi cây DOM

Phạm Đặc Chương

Trang 25

JSX (nói ngắn gọn là JavaScript extension) là một React extension giúp chúng ta dễ dàng thay đổi cây DOM bằng các HTML-style code đơn giản Và kế tir lic ReactJS browser hỗ trợ toàn bộ những trình duyệt Web hiện đại, có thể tự tin sử dung JSX trên bat ky trinh duyét nao ma ban dang lam viéc

lý sự thay đổi trạng thái của ứng dụng vả tương tác với các sự kiện trên trình duyệt React-dom cho phép bạn render các thành phần React vào một phần tử (element)

đã tồn tại trên DOM hoặc tạo một phần tử mới để hiến thị các thành phần React Nó cũng có các phương thức đề điều khiến việc cập nhật DOMI khi trạng thái của ứng dụng React thay đồi

Hình I.7 Import thw vién React-dom

Phạm Đặc Chương

Trang 26

1.7.1.4 Giới thiệu Redux

Redux là một thư viện Javascript ø1úp tạo ra thành một lớp quản lý trạng tháicủa ứng dụng Redux được xây dựng dựa trên nền tảng tư tưởng của ngôn ngữ Elm và kiếntrúc Flux do Facebook giới thiệu Do vậy Redux thường là bộ đôi kết hợp hoàn hảovới React Tuy nhiên hoàn toàn có thể sử dụng với các famework khác như

Angular, Backbone

° Trang thai state cua ứng dụng

Một ứng dụng web thông thường sé nhận đữ liệu từ phía máy chủ (backend), hay nhận những thao tác của người dùng (nhập, click, .), tất cả những thứ này chúngta gọi

đó là trạng thái của ứng dụng Nếu biết được trạng thái của ứng dụng tại mộtthời điểm nào đó, chúng ta sẽ biết vào thời điểm đó ứng dụng đã nhận đữ liệu nào, những thao tác nào đã được người dùng truyền lên

Vi dụ cho trạng thái của ứng dụng: Khi chúng ta click vào nút Back/ Forward trén trình duyệt, thì mỗi trang sẽ là một trạng thái của ứng dụng

Với việc không sử dụng Redux, các component sé giao tiếp với nhau bằng props

Nếu chúng ta cần lấy state của một component cách nhau 3 tầng, chúng ta phải gọi 3

lần, điều đó sẽ khiến việc code và quản lý state rất phức tạp, và to dần lên theothời gian

1.7.1.5 Tailwind CSS

Thì nó là một utility-frst CSS framework, no cũng giống như Bootstrap, nó có những class built-in mà chúng ta có thể dùng Tailwind CSS có nhiều các class bao gồm các thuộc tính CSS khác nhau và quan trọng, chúng ta có thế đễ dàng mở rộng tạo mới ra những class bằng chính những class của nó

® Tại sao chúng ta nén dung Tailwind CSS

Nói chung là nó cũng na ná Boostrap thôi nhưng một điều tiện lợi khi dùng framework này là chúng ta có nhiều class mới hơn tiện lợi hơn Boostrap Tham khảo tại đây https://nerdcave.com/tallwind-cheat-sheet trong Tailwind Và hơn nữa, việc có nhiều thêm những class nhưng với quy tắc đặt tên cực kỳ thân thiện với người dùng, người dùng cũng có thê nhìn vào class đó và có thể biết được class này nó đang style

cái gì Chúng ta cũng phải nói đến khả năng tùy biến và mở rộng cao, đem đến cho ta

sự linh hoạt không siới hạn

Phạm Đặc Chương

Trang 27

¢ Cai dat Tailwind CSS

npm install -D tailwindcss postcss autoprefixer

npx tailwindcss init -p

Hinh 1.8 Cai dat Tailwind CSS

¢ Thém thong tin vao file tailwind.config.js

Chart.js là một thư viện mã nguồn mở JavaScript dùng dé tạo và hiển thị biểu đồ

và đồ thị trực quan trong các ứng dụng web Thư viện này cung cấp các công cụ đễ sử dụng dé tạo các loại biểu đồ như biểu đồ cột, biểu đồ dong, biéu dé tron, biéu dé radar,

va nhiéu loai biéu d6 khac

Hình 1.10 Logo Chartjs

Phạm Đặc Chương

Trang 28

Chart.js có những tính năng và ưu điểm sau:

- Dễ sử dụng: Thư viện này có cú pháp dễ hiểu và sử dụng, øiúp người phát triển tạo và tùy chỉnh biểu đồ một cách nhanh chóng

- Biểu đỗ tương tác: Chart.js cho phép bạn tạo các biếu đồ có tính năng tương tác,

ví dụ: xem thông tin chi tiết khi di chuột qua một điểm đữ liệu trên biểu đồ

- Hỗ trợ đa dạng loại biểu đồ: Thư viện nảy hỗ trợ nhiều loại biểu đồ phổ biến, từ biểu đồ dang cot cho dén biéu dé radar, va nhiéu loai khac

Tinh nang Firebase Authentication su dung trong website

¢Firebase Authentication : Firebase Authentication la mot dich vu dang tin

cậy của Firebase, mang đến khả năng xây dựng chức năng xác thực người dùng một cách linh hoạt và an toàn Với sự đa dạng trong các phương tiện xác thực

nhu email/password, s6 dién thoai, Google, Facebook, Twitter, va nhiều lựa

chọn khác, người phát triển có thê tùy chọn để đáp ứng nhu cầu của người dùng 1.7.2 Back End

"Back end" là một thuật ngữ được sử dụng trong lĩnh vực phat triển web và phần mềm để chỉ các phần của một ứng dụng hoặc hệ thống mà người dùng không tương tác trực tiếp Nó chủ yếu bao gồm các phần của hệ thông như may chu, co so dit ligu va logic xử lý mà người dùng không nhìn thấy, nhưng chúng đóng vai trò quan trọng trong việc hồ trợ và điều khiên các chức năng của ứng dụng

Phạm Đặc Chương

Trang 29

Các ngôn ngữ lập trình phổ bién cho back end bao gom Python, Ruby, PHP, Java, Node.js và nhiều ngôn ngữ khác Công việc của nhà phát triển back end thường liên quan đến xử lý dữ liệu, quản lý cơ sở đữ liệu, xử ly lopic kinh doanh, bảo mật, và các nhiệm vụ khác liên quan đến phía server của ứng dụng

Trong một dự án phần mềm hoặc web, front end và back end thường cần phối hợp chặt chẽ để tạo ra một hệ thống hoạt động mạnh mẽ và trải nghiệm người dùng tốt

NodeJS 1a mã nguồn mở chạy trên môi trường V§ JavaScript runtime (một trình thông dịch JavaScript chạy cực nhanh trên trình duyệt Chrome) Node]S siúp các nhà phát triên xây dựng các ứng dụng web một cách đơn giản và đễ dàng mở rộng NodeJS có thê được dùng để xây dựng các loại ứng dụng khác nhau như các ứng dụng dòng lệnh, ứng dụng web, ứng dụng trò chuyện theo thời p1an thực, máy chủ REST API, Tuy nhiên, NodeJS thường được dùng chủ yếu để xây dựng các chương trinh mạng như máy chủ web, tương tự như PHP, Java hoặc ASP.NET

Vì đây là mã nguồn mớ nên cho phép bạn sử dụng miễn phí và đồng thời được liên tục được chỉnh sửa, cải tiến bởi cộng, đồng các nhà phát triển toản cầu

Node1S xuất hiện lần đầu vào năm 2009 bởi Ryan Dahl Phién ban dau tién cua Node1S chỉ hỗ trợ hệ điều hành Linux và MacOS X Ban đầu, việc phát triển và bảo trì được thực hiện bởi Dahl Sau đó được Joyent, một công ty phần mềm và địch vụ tài trợ

Hình 1.12 Logo Nodejs

® - Tại sao sử dụng NodeJS

- NodeJS được viết Javascript, ngôn ngữ này là ngôn ngữ khá thông dụng được sử dụng rộng rãi

- NodeJS chạy đa nền tảng phía Server

Phạm Đặc Chương

Trang 30

- Có thế chạy ứng dụng bắt kỳ đâu trên Mac, Window, Linux

- Cộng đồng NodeJS rất lớn và nó hoàn toán miễn phí

- Các ứng dụng NodeJS đáp ứng tốt thời gian thực và chạy đa nền tảng, đa thiết bi

® Ưu điểm

- Tốc độ xử lý nhanh nhờ cơ chế non-blocking dễ dàng xử lý hàng ngàn kết nối trong thời gian ngắn

- Dễ dàng mở rộng khi có nhu cầu phát triển ứng dụng

- Phù hợp đề xây dựng những ứng dụng chat, mạng xã hội

- Xử lý nhiều yêu cầu cùng một lúc trong thời gian ngắn

Cài đặt Node1S trên Windows rất đơn giản, chấp nhận các tùy chọn mặc định và

“Next” cho tới bước cuỗi cùng

Theo mặc định, phần mềm NPM cũng được cài đặt vào hệ thông của bạn Đây là một phần mềm quản ly cac thu vién Javascript

Phạm Đặc Chương

Trang 31

1.7.2.2 Express

Express là một framework giảnh cho Nodejs Nó cung cấp cho chúng ta rất nhiều tính năng mạnh mẽ trên nền tảng web cũng như trên các ứng dụng di động Express hỗ

rợ các phương thức HTTP và midleware tạo ra môt API vô cùng mạnh mẽ và dễ sử

dụng Có thể tông hợp một số chức năng chính của express như sau:

- Thiết lập các lớp trung gian đề trả về các HTTP request

- Định nghĩa router cho phép sử dụng với các hành động khác nhau dựa trên phương thức HTTP và URL

- Cho phép trả về các trang HTML dựa vào các tham số

Cài đặt

Đề cài đặt express, vào Terminal và gõ lệnh sau:

$ mkdir express

$ cd express

$npm install express save

Với câu lệnh trên sẽ lưu phần cài đặt trong thư mục node_modules và tạo thư mục express trong đó Cần cài đặt thêm một số module quan trọng đi cùng express như sau:

- body-parser: Đây là lớp trung gian, xý lý JSON, text và mã hóa URL

- multer: Xử lí phần multipart/form-data

Để cài đặt các module trên, lần lượt chạy các lệnh:

$ npm install body-parser save

$ npm install multer —save

1.7.2.3 Jsonwebtoken

JSON Web Token (JWT) la mét tiêu chuân mở đề truyền tải thông tin an toàn giữa các bên dưới dạng một đối tượng JSON JWT thường được sử dụng để xác thực danh tính của người dùng và chứa các thông tin tài khoản, thông tin phiên làm việc, hoặc các thông tin liên quan khác JWT thường được sử dụng trong ứng dụng web và dịch vụ web đề bảo mật và xác thực giao tiép gitta may chủ và máy khác

Phạm Đặc Chương

Trang 32

- Dé su dung va trién khai

¢ Nhuoc diém

- Không thê hủy bỏ

Dung lượng lớn

-_ Không thê hỗ trợ trạng thái hệ thống

1.7.3 Cơ sở dữ liệu MySQL

Hinh 1.16 Logo MySQL

Phạm Đặc Chương

Trang 33

- Dung lượng hạn chế: Nếu số bản ehI của bạn lớn dần lên thì việc truy xuất dữ liệu của bạn là khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biện pháp để tăng tốc

độ truy xuất dữ liệu như là chia tải database nảy ra nhiều server, hoặc tạo cache MySQL

Pham Dac Chuong

Trang 34

CHUONG 2 PHUONG PHAP DE XUAT CHATBOT XAY DUNG

TREN MOT KHO DU LIEU CHO TRUOC

1.8 Giới thiệu phương pháp

Phương pháp xây dựng trên một kho dữ liệu cho trước trong chatbot là một cách

tiếp cận sử dụng hệ thống để tìm kiếm và trả lại thông tin từ nguồn đữ liệu đã được

Khi người dùng đặt câu hỏi, chatbot sẽ sử dụng các phương pháp tìm kiếm như TF-IDF (Term Frequency-Inverse Document Frequency) hoặc BM25 để xác định độ liên quan của các văn ban trong cơ sở dữ liệu đến câu hỏi đó Sau đó, nó sẽ trả về kết quả tìm kiêm hoặc một danh sách các câu trả lời tiêm năng

KY

wi _ > me

yess Thuật toán Mô hình đã

Hình 2.1 Mô hình đề xuất 1.9 Dữ liệu

Trang 35

được đưa ra chính xác, chính thức và đáng tin cậy, chúng ta cần thu thập đữ liệu

từ nhiều nguồn khác nhau cụ thể như sau:

+ Đi khao sát người dân, tập trung chủ yếu là người người lao động xa nhà và những bạn sinh viên tỉnh lẻ tới thành phố lớn để học tập Tiếp theo là ghi chép các dữ liệu vừa đi thu thập được

+ Vào các trang tìm trọ lớn trên mạng xã hội để tìm hiểu các bài dang tim trọ và thu thâp các câu hỏi của mọi người về cách tìm trọ phù hợp với bản thân

es

Hình 2.2 Thu thập dự liệu

1.9.2 Xây dựng bộ dữ liệu

Sau khi thu thập tất cả các câu hỏi liên quan đến việc tìm kiếm phòng trọ, chúng ta

sẽ tông hợp và hệ thống hóa chúng thành một danh sách các chủ đề và nội dung phố biến nhất Tiếp theo, chúng ta phat trién danh sách đầy đủ các bộ câu hỏi chứa các chủ

đề và nội dung tương ứng, sau đó, tiến hành biên soạn và tạo ra các câu hỏi tương đương

Đề tạo các câu hỏi tương đương, chúng ta sẽ áp dụng các nguyên tắc sau:

e Thay đổi từ trong câu hỏi thành từ đồng nghĩa

e Thay đổi cầu trúc thành dạng chủ động hoặc bị động

e Hoán đối các thành phân trong câu hỏi

Sau khi xây dựng bộ câu hỏi, chúng ta xác định cấu trúc cơ sở dữ liệu sử dụng cho

mô hình, bao gồm:

- Câu hỏi: Tập hợp các câu hỏi, tìm kiếm, mô tả phòng trọ của người dùng

Phạm Đặc Chương

Trang 36

- Trả lời: Một tập hợp các câu trả lời tương ứng với các câu hỏi mà chatbot nhận được

- Thông tin bố sung cho câu trả lời: Thông tin thay đổi theo từng thời điểm như

“Tìm trọ", "Khu vực", "Diện tích","Giá cả", Thông tin bỗ sung nay sé được sử dụng trong quá trình tạo câu trả lời

Sau khi hoàn thành bộ câu hỏi, cầu trúc đữ liệu và bộ đáp án, cần thực hiện nhiệm

vụ kiểm tra chéo và chỉnh sửa tập dữ liệu đề tránh các lỗi không đáng có Các lỗi được

phát hiện trong quá trình kiểm tra sẽ được ghi nhận, kiếm tra vả sửa chữa nhiều lần 1.10 Thiết kế dữ liệu cho Chatbot

1.10.1 Tiền xứ lÿ dữ liệu

®Làm sạch dữ liệu:

- Xử lý văn bản bằng tiếng việt

Hệ thống trợ lý ảo tìm kiếm phòng trọ dựa theo mô hình câu hỏi từ người dùng và câu trả lời từ Chatbot điều diễn ra dưới dạng hình thức văn bản Khi người đùng đặt câu hỏi cho hệ thống thông qua văn bản, ngôn ngữ được sử dụng sẽ là tiếng Việt Tuy nhiên, tiếng Việt là một ngôn ngữ có dâu câu phức tạp

Mọi người thường dễ dàng hiểu những câu viết không dấu, nhưng máy tính lại

không hiểu được vì nó không có dữ liệu hay căn cứ đề hiểu những câu từ đó Vì vậy,

trước khi xây dựng chương trình, cần xử lý đữ liệu thô là các câu hỏi từ người dùng Câu hỏi từ người dùng trong hệ thống cần được xử lý một cách thông minh và hiệu quả Đề đạt được điều nảy, việc xử lý dữ liệu thô và mục đích huấn luyện mô hình đều rất quan trọng Tất cả câu hỏi sẽ lọc bỏ những phần không cần thiết để đảm bảo tính

chính xác và hiệu quả của hệ thông

- Xử lý dấu câu:

Việc bỏ dấu câu giúp tiết kiệm thời gian cũng như không gian lưu trữ Ví dụ như

“giá” và “gia” sẽ khác nhau trong quá trình huyền luyện làm ảnh hưởng rất lớn đến độ chính xác của bài toán

Phạm Đặc Chương

Trang 37

Trường Đại Học Kiên ==**' Truong Dai Hoc Kien CC

Hình 2.3 Xứ lý dẫu câu

- _ Chuyến đổi chữ hoa thành thường:

Đồng nhất hóa các từ trong văn bản, giúp cho việc xử lý ngôn ngữ tự nhiên dễ dàng hơn Việc chuyến đổi thành chữ thường cũng giúp đảm bảo sự nhất quán trong

quá trinh xử lý dữ liệu và phân tích

Hinh 2.4 Xử lÿ chữ hoa thành thường

¢ Sau khi tiền xử lý đữ liệu kết quả sẽ đưa về một bộ câu trả lời đáp ứng các tiêu

chí đề ra ban đầu:

- Xử lý dấu câu

- Chuyên các chữ hoa thành thường

Hình 2.5 Chuyển đổi dữ liệu 1.10.2 Xây dựng dữ liệu huấn luyện

Sau khi được tiền xử lý dữ liệu, tất cả các câu hỏi và trả lời trong tập dữ liệu sẽ được tách thành các từ Tất cả các từ sẽ được sắp xếp và đảm bảo rằng mỗi từ trong đó chỉ xuất hiện môt lần đề tạo thành một vector chứa tất cả các từ trong câu hỏi

Phạm Đặc Chương

Trang 38

- Xử lý tách câu thành các mảng từ:

Quá trình từ sẽ giúp chuẩn bị dữ liệu cho các bước tiền xử lý và xây dựng mơ hình

sau nảy Tác dụng của phân đoạn từ là chia nhỏ văn bản thành các từ riêng lẽ, giúp cho

việc xử lý và phân chia ngơn ngữ dễ dàng hơn

phong tro gan truong

dai hoc [phong', 'tro', ‘gan’, "truong!, 'dạ', 'hoc']

phong tro aan truona [ohona’ 'tro’ ‘aan’ 'truond'

Hinh 2.6 Xv lp cau hỏi tập hợp từ Sau khi tạo được tập hợp những mảng bao gồm tắt cả các từ, tiếp tục xử lý bằng cách khởi tạo một mảng với độ dài bằng với độ đài mảng tập hợp các từ trong tập dữ liệu với g1á trị trong mang khởi tạo là 0

Hình 2.7 Tạo vector ứng dụng với đè dài tập hợp mảng

Phạm Đặc Chương

Trang 39

Sau khi khi tạo thành vector là mảng tất cả các từ trong tập đữ liệu, chúng ta xét từng câu hỏi trong câu trong tập dữ liệu Nếu từ đó có trong câu hỏi, chúng ta sẽ gắn giá trị là 1, ngược lại nếu không tổn tai sé gan giá trị bằng 0 Cách này sẽ giúp chúng

ta xác định được những từ quan trọng trong câu hỏi và từ ngữ đó giúp chúng ta tim

kiếm kết quả chính xác hơn

phong tro' —

"khư' = 1A vuc" - oan

hình

Cách tạo ra một vector là thực hiện việc so sánh các từ trong câu hỏi năm bên trong tập đữ liệu sẽ được gán nhãn Nhãn của tập dữ liệu huấn luyện là tâp hợp các

trường “tag” của tập dữ liệu Thực hiện khởi tạo một mảng có độ dài dành bằng với

số lượng nhãn trong tập dữ liệu cố độ lớn bằng 0

Phạm Đặc Chương

Trang 40

[‘phongtro’, 'khuvuc’, 'dientichphong’, 'giathue’,

ee ee ee ee en ee eee Nn mee ee —

Hình 2.9 Tạo vector ứng với số lượng nhãn

Tạo vector ứng với số lượng nhãn

Nếu câu hỏi và trả lời có những nhãn tương ứng với mảng thì trên vị trí nhãn sẽ là

°, ví dụ câu hỏi “phòng trọ gần trường đại học” có tag là “phongtro ” nhãn của câu hỏi đó sẽ là [1,0,0,0,0,0,0,0,0,0,0,0,0, |

Hình 2.10 Câu hỏi chuyển hóa vector

Phạm Đặc Chương

Ngày đăng: 11/01/2025, 22:19

HÌNH ẢNH LIÊN QUAN

Hình  1.2.  Cau  tao  Chatbot - Đồ án tốt nghiệp Đề tài  xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp chatbot
nh 1.2. Cau tao Chatbot (Trang 19)
Bảng  3.  3  Mô  tả  use  case  đăng  xuất - Đồ án tốt nghiệp Đề tài  xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp chatbot
ng 3. 3 Mô tả use case đăng xuất (Trang 50)
Hình  3.6.  Biểu  đồ  Use  Case  tác  nhân  quản  trị  viên - Đồ án tốt nghiệp Đề tài  xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp chatbot
nh 3.6. Biểu đồ Use Case tác nhân quản trị viên (Trang 54)
Hình  3.8.  Biêu  đồ  tuần  tự  đăng  nhập - Đồ án tốt nghiệp Đề tài  xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp chatbot
nh 3.8. Biêu đồ tuần tự đăng nhập (Trang 58)
Hình  3.11.  Biểu  đồ  tuần  tự xóa  dữ  liệu - Đồ án tốt nghiệp Đề tài  xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp chatbot
nh 3.11. Biểu đồ tuần tự xóa dữ liệu (Trang 61)
Hình  3.12.  Biêu  đồ  tuần  tự  tìm  kiếm - Đồ án tốt nghiệp Đề tài  xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp chatbot
nh 3.12. Biêu đồ tuần tự tìm kiếm (Trang 62)
Hình  3.15.  Biêu  đồ  hoạt  động  đăng  nhập - Đồ án tốt nghiệp Đề tài  xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp chatbot
nh 3.15. Biêu đồ hoạt động đăng nhập (Trang 65)
Hình  3.17.  Biêu  đồ  hoạt  động  của  tìm  kiếm  phòng  trọ - Đồ án tốt nghiệp Đề tài  xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp chatbot
nh 3.17. Biêu đồ hoạt động của tìm kiếm phòng trọ (Trang 67)
Hình  4.  I  Cấu  trúc  Front  end - Đồ án tốt nghiệp Đề tài  xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp chatbot
nh 4. I Cấu trúc Front end (Trang 77)
Hình  4.  5  Xứ  lÿ  tương  tác  dữ  liệu - Đồ án tốt nghiệp Đề tài  xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp chatbot
nh 4. 5 Xứ lÿ tương tác dữ liệu (Trang 82)
Hình  4.  7  Giao  dién  Chathot - Đồ án tốt nghiệp Đề tài  xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp chatbot
nh 4. 7 Giao dién Chathot (Trang 83)
Hình  4.  II  Giao  diện  đăng  tim - Đồ án tốt nghiệp Đề tài  xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp chatbot
nh 4. II Giao diện đăng tim (Trang 88)
Hình  4.  13  Giao  diện  đánh  giú  bình  luận  1.24.7.  Giao  diện  quản  lý  yêu  thích - Đồ án tốt nghiệp Đề tài  xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp chatbot
nh 4. 13 Giao diện đánh giú bình luận 1.24.7. Giao diện quản lý yêu thích (Trang 90)
Hình  4.  14  Giao  diện  quản  lÿ  yêu  thích  1.25.  Giao  diện  quản  (trị  viên - Đồ án tốt nghiệp Đề tài  xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp chatbot
nh 4. 14 Giao diện quản lÿ yêu thích 1.25. Giao diện quản (trị viên (Trang 91)
Hình  4.  15  Giao  diện  quản  lý  thông  kê  Giao  diện  quản  lý  tin  đăng - Đồ án tốt nghiệp Đề tài  xây dựng website tìm kiếm và cho thuê phòng trọ tích hợp chatbot
nh 4. 15 Giao diện quản lý thông kê Giao diện quản lý tin đăng (Trang 92)