ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO ĐỒ ÁN 1
TÌM HIỂU CHATBOT VÀ XÂY DỰNG ỨNG DỤNG HỖ
TRỢ THEO DÕI XU HƯỚNG MẠNG XÃ HỘI
BUILDING CHATBOT APPLICATION TO SUPPORT
FOLLOWING SOCIAL NETWORK TRENDS
ĐỖ VĂN BẢO
ĐẶNG ANH TÚ
GIẢNG VIÊN HƯỚNG DẪN
THS. HUỲNH HỒ THỊ MỘNG TRINH
TP. HỒ CHÍ MINH, THÁNG 6 NĂM 2022
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
BÁO CÁO ĐỒ ÁN 1
TÌM HIỂU CHATBOT VÀ XÂY DỰNG ỨNG DỤNG HỖ
TRỢ THEO DÕI XU HƯỚNG MẠNG XÃ HỘI
BUILDING CHATBOT APPLICATION TO SUPPORT
FOLLOWING SOCIAL NETWORK TRENDS
ĐỖ VĂN BẢO - 19521238
ĐẶNG ANH TÚ -19520325
GIẢNG VIÊN HƯỚNG DẪN
THS. HUỲNH HỒ THỊ MỘNG TRINH
TP. HỒ CHÍ MINH, THÁNG 6 NĂM 2022
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC
Độc Lập - Tự Do - Hạnh Phúc
CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày tháng năm 2022
NHẬN XÉT ĐỒ ÁN 1
(CỦA CÁN BỘ HƯỚNG DẪN)
Tên đề tài Đồ án 1:
Tìm hiểu Chatbot và xây dựng ứng dụng hỗ trợ theo dõi xu hướng mạng xã hội
Nhóm sinh viên thực hiện:
Cán bộ hướng dẫn:
ĐỖ VĂN BẢO
19521238
ThS. Huỳnh Hồ Thị Mộng Trinh
ĐẶNG ANH TÚ
19520325
Đánh giá Đồ án 1:
1. Về cuốn báo cáo:
Số trang
Số chương
Số bảng số liệu
Số hình vẽ
Số tài liệu tham khảo
Sản phẩm
Một số nhận xét về hình thức cuốn báo cáo:
●
2. Về nội dung nghiên cứu:
●
●
3. Về chương trình ứng dụng:
●
●
4. Về thái độ làm việc của sinh viên:
Đánh giá chung:
Điểm từng sinh viên:
Đỗ Văn Bảo: ………. /10
Đặng Anh Tú: ………. /10
Người nhận xét
(Ký và ghi rõ họ tên)
Huỳnh Hồ Thị Mộng Trinh
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC
Độc Lập – Tự Do – Hạnh Phúc
CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày tháng năm 2022
NHẬN XÉT ĐỒ ÁN 1
(CỦA CÁN BỘ PHẢN BIỆN)
Tên đề tài Đồ án 1:
Tìm hiểu Chatbot và xây dựng ứng dụng hỗ trợ theo dõi xu hướng mạng xã hội
Nhóm sinh viên thực hiện:
Cán bộ phản biện:
ĐỖ VĂN BẢO
19522138
ThS. Huỳnh Hồ Thị Mộng Trinh
ĐẶNG ANH TÚ
19520325
Đánh giá Đồ án 1:
1. Về cuốn báo cáo:
Số trang
Số chương
Số bảng số liệu
Số hình vẽ
Số tài liệu tham khảo
Sản phẩm
Một số nhận xét về hình thức cuốn báo cáo:
●
2. Về nội dung nghiên cứu:
●
●
3. Về chương trình ứng dụng:
●
●
4. Về thái độ làm việc của sinh viên:
Đánh giá chung:
Điểm từng sinh viên:
ĐỖ VĂN BẢO: ………. /10
ĐẶNG ANH TÚ: ………. /10
Người nhận xét
(Ký và ghi rõ họ tên)
LỜI CẢM ƠN
Nhóm chúng em xin gửi lời cảm ơn chân thành và sự tri ân sâu sắc đến cô Huỳnh Hồ
Thị Mộng Trinh đã hướng dẫn, tạo điều kiện cho nhóm chúng em tìm hiểu về đề tài
Chatbot theo dõi xu hướng mạng xã hội trong môn Đồ Án 1.
Trong vòng 15 tuần, qua các buổi học, nhờ sự hướng dẫn nhiệt tình của cơ, chúng em
đã tiếp thu được những kiến thức quan trọng, bổ ích.
Bên cạnh đó, chúng em xin cảm ơn các bạn bè trong lớp đã động viên, thảo luận và
góp ý cho nhóm đồng thời đã khơi thêm nguồn động lực cho nhóm trong suốt q
trình đầy khó khăn.
Mặc dù đã cố gắng hồn thành báo cáo với tất cả nỗ lực song báo cáo của nhóm chúng
em chắc chắn khơng tránh khỏi những thiếu sót, chúng em rất mong nhận được sự
thơng cảm và góp ý chân thành từ cơ. Nhóm em xin chân thành cảm ơn.
Thành phố Hồ Chí Minh, tháng 6 năm 2022
Đỗ Văn Bảo
Đặng Anh Tú
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
CỘNG HỊA XÃ HỘI CHỦ NGHĨA
TRƯỜNG ĐẠI HỌC
VIỆT NAM
CÔNG NGHỆ THÔNG TIN
Độc Lập - Tự Do - Hạnh Phúc
TP. HCM, ngày….. tháng ….. năm 2022
ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: Tìm hiểu Chatbot và Xây dựng ứng dụng hỗ trợ theo dõi xu
hướng mạng xã hội
TÊN ĐỀ TÀI (TIẾNG ANH): Building Chatbot application to support following
social network trends
Cán bộ hướng dẫn: ThS. Huỳnh Hồ Thị Mộng Trinh
Thời gian thực hiện: Từ ngày 06/03/2022 đến ngày 12/06/2022
Sinh viên thực hiện:
Đỗ Văn Bảo – 19521238
Đặng Anh Tú – 19520325
Tóm tắt nội dung đề tài
1. Lý do chọn đề tài:
Hiện này các nền tảng mạng xã hội nổi lên như một thứ thiết yêu trong cuộc sống
con người. Trên những nền tảng có những nội dung để giữ chân người sử dụng,
một trong những nội dung nổi bật nhất chính là những xu hướng được cập nhật
hàng giờ giúp cho người dùng có thể cập nhật tin tức một cách nhanh chóng nhất.
Việc theo dõi xu hướng đem lại rất nhiều lợi ích tới với người dùng. Đồng thời nhu
cầu chia sẻ thơng tin với tốc độ nhanh chóng, tiện lợi là nhu cầu gần như tất yếu
của mỗi người. Đáp ứng nhu cầu đó, các ứng dụng giao tiếp, mạng xã hội xuất hiện
ngày càng nhiều, kéo theo thời lượng sử dụng các ứng dụng này đốt thời gian ngày
càng cao vì nhiều mục đích khác nhau như học tập, giải trí, giao tiếp, …
Chính vì đó chúng em quyết định chọn đề tài này để giúp người dùng mạng xã hội
có một cơng cụ để có thể theo dõi những xu hướng mới nhất trên cách nền tảng
mạng xã hội một cách dễ dàng.
Tình trạng hiện nay:
−
Chatbot hiện nay chủ yếu dựa trên các dữ liệu có sẵn mà khơng cập nhật thời
gian thực
−
Một số chatbot trả lời bằng cách spam tin nhắn gây lost focus người dùng.
−
Một số chatbot khác lại lựa chọn trả lời toàn bộ nội dung về một chủ đề,
trong khi thực tế người dùng không cần nhiều thơng tin đến thế.
−
Nhiều thơng tin có thể bị lỗi thời và cập nhật chưa chính xác
−
Chưa có hoặc rất ít cơng cụ hỗ trợ mơ tả trực quan sinh động
−
Khó khăn hoặc mất thời gian trong việc tìm kiếm thơng cần thiết
−
Mất tập trung vì các lý do khác
⇒ Vì những lý dó đó nhóm quyết định xây dụng một chatbot giúp hỗ trợ việc theo
dõi xu hướng trên mạng xã hội một cách dễ dàng. Qua đó đáp ứng nhu tìm kiếm
thơng tin người dùng một cách nhanh nhất và luôn bắt kịp xu hướng
2. Mục tiêu:
1. Xây dựng chatbot:
+ Giao tiếp các hành động cơ bản
+ Theo dõi xu hướng trên nền tảng TikTok
+ Theo dõi xu hướng trên nền tảng Youtube
+ Hệ thống khuyến nghị xu hướng
+ Áp dụng xử lý ngôn ngữ tự nhiên để giao tiếp
2. Phạm vi:
Phạm vi môi trường: Facebook Messenger.
Phạm vi chức năng:
− Đối với chatbot:
+ Có khả năng trả lời các câu hỏi giao tiếp đơn giản
+ Tìm kiếm và cung cấp thông tin về những xu hướng mới nhất
+ Chatbot hiểu được tương đối ngôn ngữ tự nhiên
4. Đối tượng sử dụng:
−
Những người muốn cập nhật thông tin về xu hướng trên mạng xã hội để giải trí
−
Nhà sáng tạo nội dung muốn cập nhật thông tin về xu hướng để phục vụ cho
công việc của bản thân.
5. Phương pháp thực hiện:
Phương pháp làm việc:
− Làm việc nhóm 2 thành viên thông qua cả 2 phương thức online và offline dưới
sự hướng dẫn của giảng viên hướng dẫn.
Phương pháp nghiên cứu:
− Phân tích nhu cầu sử dụng của đối tượng người dùng.
− Nghiên cứu tài liệu các công nghệ liên quan.
Phương pháp cơng nghệ:
− Tìm hiểu cách thức xây dựng Messenger Chatbot.
− Xây dựng Server backend để thao tác với dữ liệu.
− Tìm hiểu bài tốn xử lí ngơn ngữ tự nhiên
6. Nền tảng công nghệ:
− Frontend: Facebook Messenger Chatbot
− Backend: Python.
− NLP: Rasa NLP
7. Kết quả mong đợi:
−
Chatbot có khả năng phản hồi nhanh và chính xác ở mức cao.
−
Trang web có khả năng scale và hoạt động tốt khi số lượng người dùng tăng.
8. Kế hoạch làm việc:
Thời gian thực hiện từ ngày 06/3/2022 đến ngày 12/6/2022.
Nhóm chia thành 2 giai đoạn cụ thể:
Giai đoạn 1: Hoàn thiện các chức năng cơ bản. Giai đoạn này gồm 2 sprint:
Thời gian: 06/3/2022 – 5/4/2022
Sprint 1: Tìm hiểu cơng nghệ.
Sprint 2: Phân tích u cầu và chức năng, xây dựng các intent, action, story và
rule cho chatbot
Sprint 3: Xây dựng và phát triển ứng dụng để thực hiện các chức năng ở
Sprint
Thời gian
Sprint 1 06/3/2022
– 14/3/2022
Cơng việc
- Lựa chọn đề tài.
- Tìm hiểu cơng nghệ.
- Khảo sát các ứng dụng liên quan.
Sprint 2 15/3/2022 – 2 - Phân tích yêu cầu và chức năng
5/3/2022
- Xây dựng các intent và response cơ bản
- Tìm hiểu xử lý ngôn ngữ tự nhiên
Sprint 3 25/3/2022 – 1 - Áp dụng cơ bản xử lý ngôn ngữ tự nhiên ở mức nhận
5/4/2022
biết
- Triển khai lần 1
Giai đoạn 2: Hoàn thiện các chức năng trong giai đoạn 1, đồng thời xây dựng các
chức nâng cao như tìm kiếm xu hướng theo nền tàng, từ khóa, xây dựng hệ thống
khuyến nghị, …
Giai đoạn này gồm 3 sprint:
Sprint 4: Hoàn thiện các chức năng ở giai đoạn 1.
Sprint 5: Xây dựng các chức mở rộng.
Sprint 6: Triển khai và viết báo cáo.
Sprint
Thời gian
Sprint 4 6/4/2022 –
25/4/2022
Sprint 5 26/4/2022 –
30/5/2022
Cơng việc
- Hồn thiện các chức năng đã có ở giai đoạn 1.
- Tìm và fix lỗi.
Chatbot:
- Thêm các chức năng như tìm kiếm xu hướng theo từ
khóa, nền tảng
- Xây dựng hệ thống khuyến nghị xu hướng
- Hồn thiện xử lý ngơn ngữ tự nhiên
Sprint 6 1/6/2022
– 12/6/2022
9. Phân công công việc
Công việc
- Triển khai sản phẩm
- Viết báo cáo
Cơng việc
- Phân tích u cầu, chức năng.
chung
- Xây dựng các intent, response, ….
- Tìm hiểu Xử lí Ngơn Ngữ Tự Nhiên
Đỗ Văn Bảo
Nguyễn Duy Minh
Công việc
- Xử lý ngôn ngữ tiếng Việt
- Kết nối với Facebook
cá nhân
với các thành phần tùy chỉnh
Messenger Chatbot
- Xử lý các yêu cầu liên quan
- Xây dựng hệ thống khuyến
đến nền tảng TikTok
nghị
- Chuẩn bị báo cáo
- Xử lý các yêu cầu liên quan
đến nền tảng Youtube
Xác nhận của CBHD
(Ký tên và ghi rõ họ tên)
TP. HCM, ngày 6 tháng 3 năm 2022
MỤC LỤC
Chương 1
Tổng quan đề tài .....................................................................................1
1.1
Tổng quan về Chatbot....................................................................................1
1.2
Hiện trạng về nhu cầu theo dõi xu hướng trên mạng xã hội .........................2
1.3
Mục tiêu .........................................................................................................3
1.4
Hướng tiếp cận ..............................................................................................3
Chương 2
Cơ sở lý thuyết ........................................................................................4
2.1
Bài toán Chatbot ............................................................................................4
2.2
Các hướng tiếp cận bài toán Chatbot .............................................................6
2.2.1
Hướng tiếp cận ngây thơ .........................................................................6
2.2.2
Hướng tiếp cận tìm kiếm mờ ..................................................................7
2.2.3
Hướng tiếp cận mạng nơron ...................................................................9
2.2.4
Hướng tiếp cận sử dụng mơ hình đơn ngữ đa dụng..............................12
2.3
Rasa .............................................................................................................13
2.4
Thuật toán phân đoạn từ (Word Segmentation) UndertheseaD ..................15
2.5
FastText Featurizer ......................................................................................16
2.6
Recommendation Algorithm .......................................................................16
2.6.1
Giới thiệu ..............................................................................................16
2.6.2
Utility matrix.........................................................................................18
2.6.3
Content-based Recommendation Systems ............................................21
2.6.4
Neighborhood-Based Collaborative Filtering.......................................22
2.7
Messenger Webhook ...................................................................................32
Chương 3
Phân tích yêu cầu ..................................................................................34
3.1
Sơ đồ usecase ...............................................................................................34
3.2
Đặc tả usecase ..............................................................................................34
3.2.1
Usecase giao tiếp cơ bản .......................................................................34
3.2.2
Usecase theo dõi xu hướng chung trên nền tảng TikTok .....................35
3.2.3
Usecase theo dõi xu hướng theo từ khóa trên TikTok ..........................36
3.2.4
Usecase theo dõi xu hướng theo thể loại trên TikTok ..........................37
3.2.5
Usecase theo dõi xu hướng chung trên nền tảng Youtube ...................38
3.2.6
Usecase theo dõi xu hướng theo từ khóa trên Youtube ........................39
3.2.7
Usecase theo dõi xu hướng theo thể loại trên Youtube ........................40
Chương 4
Thiết kế hệ thống ..................................................................................42
4.1
Thiết kế kiến trúc hệ thống ..........................................................................42
4.2
Thiết kế luồng xử lý.....................................................................................44
4.2.1
Luồng xử lý chức năng tương tác với Chatbot .....................................44
4.2.2
Luồng xử lý truy vấn top xu hướng trên Youtube ................................45
4.2.3
Luồng xử lý truy vấn top xu hướng trên TikTok ..................................46
4.2.4
Luồng xử lý truy vấn xu hướng theo thể loại trên TikTok ...................47
4.2.5
Luồng xử lý truy vấn xu hướng theo thể loại trên Youtube .................48
4.2.6
Luồng xử lý truy vấn xu hướng theo từ khóa .......................................49
4.2.7
Luồng xử lý chức năng gợi ý xu hướng cho người dùng .....................50
Chương 5
Kết quả dự án ........................................................................................51
5.1
Giới thiệu sản phẩm .....................................................................................51
5.2
Môi trường triển khai...................................................................................51
5.2.1
Backend ................................................................................................51
5.2.2
Frontend ................................................................................................51
5.3
Chức năng sản phẩm....................................................................................52
5.4
Đánh giá mức độ hoàn thiện ........................................................................52
Chương 6
6.1
Kết luận .................................................................................................55
Đánh giá kết quả làm việc ...........................................................................55
6.1.1
Thuận lợi ...............................................................................................55
6.1.2
Khó khăn ...............................................................................................55
6.2
Bảng phân chia cơng việc ............................................................................56
6.3
Ưu điểm và nhược điểm ..............................................................................56
6.3.1
Ưu điểm ................................................................................................56
6.3.2
Nhược điểm...........................................................................................57
6.4
Hướng phát triển ..........................................................................................57
Chương 7
Tài liệu tham khảo ................................................................................58
DANH MỤC HÌNH
Hình 2-1 Mơ tả bài tốn Chatbot.................................................................................4
Hình 2-2 Ví dụ thấu hiểu ngơn ngữ tự nhiên ..............................................................6
Hình 2-3 Ví dụ bài tốn Cấu tạo ngơn ngữ tự nhiên ...................................................6
Hình 2-4 Cơng thức tính khoảng cách bài tốn tiếp cận tìm kiếm mờ .......................7
Hình 2-5 Cơng thức Levenshtein ................................................................................7
Hình 2-6 Minh họa ma trận thuật tốn Levenshtein ...................................................8
Hình 2-7 Cấu trúc dữ liệu Trie để lưu trữ từ điển cho phép so sánh mờ. ...................9
Hình 2-8 Minh họa Mạng nơ ron ..............................................................................10
Hình 2-9 Minh hoạ thuật tốn Chuẩn Hóa (Normalization) .....................................10
Hình 2-10 Minh họa thuật tốn Phân tách từ (Tokenization) ...................................11
Hình 2-11 Minh họa thuật tốn Loại bỏ từ ngắt nghỉ (Stopword Removal) .............11
Hình 2-12 Minh họa thuật tốn Xác định từ gốc (Word Stemming) ........................11
Hình 2-13 Minh họa thuật tốn Ghép nối từ (Word Segmenting) ............................12
Hình 2-14 Rasa ..........................................................................................................13
Hình 2-15 Minh họa cách Rasa Core hoạt động .......................................................14
Hình 2-16 Minh hoạt thuật toán Phân đoạn từ (Word Segmentation) Underthesea .15
Hình 2-17 fastText ....................................................................................................16
Hình 2-18 Ví dụ về Utility Matrix ............................................................................19
Hình 2-19 Với mỗi user, chúng ta cần tìm một mơ hình θi ......................................21
Hình 2-20 Ví dụ về utility matrix dựa trên số sao một user rate cho một item. .......24
Hình 2-21 Ma trận utility gốc Y and ý nghĩa xếp hạng người dùng .........................26
Hình 2-22 Phương thức Cosine Similarity ................................................................27
Hình 2-23 Ma trận utility chuẩn hóa |Y ....................................................................28
Hình 2-24 Ma trận similarity của người dùng S .......................................................29
Hình 2-25 Cơng thức dự đốn rating ........................................................................31
Hình 2-26 Messenger ................................................................................................32
Hình 3-1 Sơ đồ usecase .............................................................................................34
Hình 4-1 Kiến trúc hệ thống......................................................................................42
Hình 4-2 Luồng xử lý chức năng tương tác với Chatbot ..........................................44
Hình 4-3 Luồng xử lý truy vấn top xu hướng trên nền tảng Youtube ......................45
Hình 4-4 Luồng xử lý truy vấn top xu hướng trên nền tảng TikTok ........................46
Hình 4-5 Luồng xử lý truy vấn xu hướng theo thể loại trên nền tảng TikTok .........47
Hình 4-6 Luồng xử lý truy vấn xu hướng theo thể loại trên nền targ Youtube ........48
Hình 4-7 Luồng xử lý truy vấn xu hướng theo từ khóa ............................................49
Hình 4-8 Luồng xử lý chức năng gợi ý xu hướng người dùng .................................50
DANH MỤC BẢNG
Bảng 3-1 Usecase giao tiếp cơ bản ...........................................................................35
Bảng 3-2 Usecase theo dõi xu hướng chung trên nền tảng TikTok ..........................36
Bảng 3-3 Usecase theo dõi xu hướng theo từ khóa trên TikTok ..............................37
Bảng 3-4 Usecase theo dõi xu hướng theo thể loại trên TikTok ..............................38
Bảng 3-5 Usecase theo dõi xu hướng chung trên nền tảng Youtube ........................39
Bảng 3-6 Usecase theo dõi xu hướng theo từ khóa trên Youtube ............................40
Bảng 3-7 Usecase theo dõi xu hướng theo thể loại trên Youtube .............................41
Bảng 4-1 Mô tả kiến trúc hệ thống............................................................................44
Bảng 5-1 Đánh giá mức độ hoàn thiện chức năng ....................................................54
Bảng 6-1 Bảng phân chia công việc ..........................................................................56
DANH MỤC TỪ VIẾT TẮT
STT
Tên
Diễn giải
1
NLP
Natural Language Processing
2
NLU
Natural Language Understanding
3
NLG
Natural Language Generation
4
UI
User interface
Chương 1 Tổng quan đề tài
1.1 Tổng quan về Chatbot
Chatbot hay Chatterbot là loại phần mềm được sử dụng để thiết lập một cuộc trị
chuyện thơng qua tin nhắn văn bản hoặc tin nhắn thoại, thay vì việc liên hệ trực tiếp
tới một người khác. Một chatbot là một loại phần mềm hỗ trợ khách hàng bằng các
cuộc hội thoại tự động và tương tác với họ thông qua các nền tảng nhắn tin và được
thiết kế mô phỏng một cách tương tự cách mà một con người giao tiếp với người đối
thoại với bản thân, các hệ thống chatbot thường yêu cầu sự cập nhật và kiểm tra liên
tục, và đa số chúng thường không thể giao tiếp một cách thuyết phục như con người
và vượt qua bài kiểm tra Turing. Thuật ngữ “ChatterBot” được đặt bởi Michael
Mauldin vào năm 1994 để mơ tả những chương trình hội thoại. Chatbot được sử dụng
trong hệ thống đàm thoại cho nhiều mục đích đa dạng khác nhau bao gồm dịch vụ
khách hàng, hướng dẫn hoặc thu thu thập thông tin. Trong khi một vài ứng dụng
chatbot sử dụng các công cụ phân loại ngôn ngữ tự nhiên, công nghệ AI hiện đại, một
số khác chỉ đơn giản quét các từ khóa và tạo ra câu trả lời chung dựa trên việc so
khớp từ khóa đó với một cơ sở dữ liệu hoặc thư viện đã được xây dựng sẵn. Hầu hết
các chatbot có thể truy cập trực tiếp thơng qua các cửa sổ popup hoặc thơng qua trợ
lý ảo. Chúng có thể phân loại dựa vào mục đích sử dụng ở nhiều lĩnh vực khác nhau
bao gồm:
-
Thương mại (Chatbot chăm sóc khách hàng, gợi ý sản phẩm, thông báo sự
kiện, …)
-
Giáo dục (Chatbot giúp ôn luyện kiến thức, ghi chú, …)
-
Giải trí (Chatbot hỗ trợ tra cứu xu hướng, kể chuyện, gợi ý video, âm nhạc,
…)
-
Tài chính (Chatbot hỗ trợ theo dõi thị trường, thơng tin về giá cả, chứng khốn,
…)
-
Y tế (Chatbot hỗ trợ cung cấp thông tin y tế, tra cứu thông tin dịch bệnh, …)
1
-
Tin tức (Chatbot hỗ trợ tra cứu tin tức, thông báo những thông tin mới, …)
-
Cá nhân (Chatbot hỗ trợ quản lý công việc, thông báo lịch làm việc, liên hệ
với đồng nghiệp, …)
-
IoT (Chatbot hỗ trợ điều khiển nhà thông minh, …)
1.2 Hiện trạng về nhu cầu theo dõi xu hướng trên mạng xã hội
Ngày nay, với sự bùng nổ của Internet, các mạng xã hội là nơi tin tức được cập nhật
từng phút từng giây, việc tiếp cận các thông tin này cũng trở nên dễ dàng và chính
xác với mọi người. Tin tức nói chung cũng như các xu hướng nói riêng trở thành mối
quan tâm hàng đầu khi con người tiếp cận đến các mạng xã hội vì đây là một trong
những điều đem lại sức hút của mạng xã hội. Nắm bắt được điều đó, các mạng xã hội
ngày nay rất chú trọng vào việc xây dựng các tính năng liên quan đến việc theo dõi
xu hướng. Một thơng tin có thể trở thành một xu hướng và trở nên lỗi thời trong một
khoảng thời gian rất ngắn, vậy nên kể cả người dùng cũng như các mạng xã hội đều
có các mối quan tâm đặc biệt về chủ đề này. Với người dùng, ngoài việc đơn giản là
giải trí thì việc ln cập nhật các xu hướng có thể phục vụ cho cơng việc của bản
thân, điển hỉnh như những người có sức ảnh hưởng trên mạng xã hội, việc cập nhật
và “bắt trend” có thể giúp họ tiếp cận với khán giả một cách dễ dàng hơn. Các xu
hướng liên quan đến đời sống thường ngày, sự kiện của đất nước, thế giới cũng giúp
người dùng đưa ra những quyết định chính xác. Ví dụ như xu hướng về tình hình căng
thẳng giữa Nga và Ukraine sẽ ảnh hưởng tới giá cả các nhu yếu phẩm hằng ngày, nhờ
biết điều đó người dân có thể quyết định việc mua dự trữ hay khơng. Ngoài ra các
thương hiệu, nhãn hàng cũng đã và đang có các chiến lược kinh doanh dựa trên các
xu hướng nổi bật hoặc tạo ra xu hướng của chính họ để quảng bá sản phẩm và mở
rộng thị trường. Với các mạng xã hội, việc xây dựng các hệ thống, các thuật tốn
nhằm có thể cập nhật xu hướng một cách nhanh và chính xác nhất đảm bảo nhu cầu
của người dùng. Qua đó, có thể thấy nhu cầu theo dõi xu hướng trở thành một trong
những hoạt động diễn ra hằng ngày, hằng giờ, và không thể thiếu trong thời đại công
nghệ số hiện nay. Tuy nhiên các thông tin này hiện nay vẫn đang nằm rải rác ở nhiều
2
nơi khác nhau và nhiều thông tin chưa được xác thực nên cịn gây hiểu nhầm và tìm
kiếm kho khăn cho nhiều người.
1.3 Mục tiêu
Vì nhu cầu theo dõi xu hướng trên các mạng xã hội trở nên phổ biến, trong khi các
thông tin này bị phân tán chưa được đaồng nhất, đồng thời các công nghệ xây dựng
Chatbot dần được hồn thiện và có thể tiếp cận một cách dễ dàng. Nhóm mong muốn
có thể xây dựng một Chatbot trợ lý ảo hỗ trợ theo dõi xu hướng trên các mạng xã hội
với khả năng và đặc điểm:
-
Chào hỏi, giới thiệu về chatbot và giao tiếp cơ bản.
-
Cung cấp thông tin về các xu hướng chung trên nền tảng TikTok
-
Cung cấp thông tin về các xu hướng chung trên nền tảng Youtube
-
Cung cấp thông tin về các xu hướng theo từ khóa trên nền tảng TikTok
-
Thu thập thói quen tìm kiếm của người dùng để gợi ý các xu hướng liên quan
-
Phản hồi các trường hợp chưa lường trước.
-
Dễ dàng tiếp cận bằng cách triển khai trên nền tảng Messenger
1.4 Hướng tiếp cận
Hướng tiếp cận xây dựng ứng dụng:
-
Đối tượng người dùng:
• Những người thường xun, có thói quen cập nhật xu hướng mạng xã
hội.
• Người xây dựng nội dung trên các nền tảng mạng xã hội.
-
Cơng nghệ:
• Chatbot framework: Rasa
• Mơi trường triển khai: Messenger
• Ngơn ngữ lập trình: Python
• Cơ sở dữ liệu: SQLAlchemy
3
Chương 2 Cơ sở lý thuyết
2.1 Bài tốn Chatbot
Có thể hiểu đơn giản bài toán Chatbot là việc gửi đầu vào là tin nhắn của người dùng
và trả về kết quả dưới dạng văn bản, hình ảnh, … mà người dùng mong đợi. Điều khó
khăn ở đây là làm thế nào xác định được người dùng mong đợi điều gì từ tin nhắn
đầu vào. Hệ thống Chatbot là một hệ thống tương tác giữa người và máy (HumanComputer Interactive System) với mục đích là giải quyết vấn đề cụ thể của người
dùng.
Giao tiếp
Truy vấn
Người dùng
…
Chatbot
Giao tiếp
Thông tin
Hình 2-1 Mô tả bài tốn Chatbot
Tùy thuộc vào mục đích của Chatbot mà có một số thước đo phi hình thức cho Chatbot
như:
-
Phép thử Turing
-
Khối lượng chat (số lượng tin nhắn)
-
Số lượng người sử dụng
-
Số lượng người mua các dịch vụ trả phí
Nhìn chung các thước đo này được chia làm năm loại thước đo chính:
-
Khía cạnh trải nghiệm người dùng
• Độ khả dụng (Usability)
• Hiệu năng (Performance)
• Tính ảnh hưởng (Affect)
4
• Độ hài lịng (Satisfactory)
-
Khía cạnh thu thập thơng tin
• Độ chính xác (Accuracy)
• Độ dễ tiếp cận (Accesssibility)
• Độ hiệu quả (Efficiency)
-
Khía cạnh ngơn ngữ
• Chất lượng (Quality)
• Định lượng (Quantity)
• Tính liên quan (Relation)
• Thái độ (Manner)
• Chính xác về mặt ngữ pháp (Grammatical Accuracy)
-
Khía cạnh cơng nghệ
• Tính tương tự con người (Humanity)
-
Khía cạnh kinh doanh
• Giá trị kinh tế (Business value)
Việc chuẩn hóa đánh giá độ hiệu quả của Chatbot được thử nghiệm thông qua các bộ
khung đánh giá như TRAINS-95, PARADISE, SASSI, MIMIC, … Tuy nhiên đặc
điểm chung của các bộ khung này là đã tổ chức các thang đo một cách có cấu trúc
nhưng bản chất vẫn là dựa trên các thang đo phi hình thức và mang tính chủ quan do
con người đánh giá.
Một đặc điểm nổi bật khác của bài toán Chatbot là sự kết hợp của hai bài toán lớn
trong lĩnh vực xử lý ngôn ngữ tự nhiên. Đầu tiên là thấu hiểu ngôn ngữ tự nhiên
(Natural Language Understanding) – hệ thống máy tính cố gắng để hiểu một xâu kí
tự thuộc ngơn ngữ tự nhiên và trích xuất các dữ liệu có thể được tổ chức trong hệ
thống máy tính. Các bài tốn con để giải quyết bài tóan thấu hiểu ngôn ngữ tự nhiên
bao gồm: tiền xử lý, phân tích hình thái, phân tích cú pháp, phân tích ngữ nghĩa, phân
tích ngữ dụng, phân tích diễn ngơn.
5