Từ việc cung cấp thông tin cơ bản đến trả lời các câu hỏi phức tạp, chat bot có thể là một giải pháp hiệu quả cho việc tăng cường khả năng tương tác của doanh nghiệp hoặc tổ chức với khá
Trang 1
TRƯỜNG ĐẠI HỌC VĂN LANGKHOA CÔNG NGHỆ THÔNG TIN
CHỦ ĐỀ:
BUILD CHATBOT
SVTH: Lê Quang Phúc – 217480201001LHP: 222_71ITDS30103_0402
GVHD: Trần Kim Mỹ Vân
TP Hồ Chí Minh – 3/2023
ĐỒ ÁN CUỐI KỲ
MÔN HỌC CÁC NỀN TẢNG PHÁT TRIỂN PHẦN MỀM
Trang 2MỤC L C Ụ
Lời Nói Đầu 2
CHƯƠNG 1: GIỚI THIỆU CHATBOT 3
Mục tiêu của đồ án 3
CHƯƠNG 2: KHÁI NIỆM CHAT BOT 4
Khái Ni ệm 4
Phân Loại ChatBot 4
M t s chat bot hoộ ố ạt động hi n nay: 5 ệCHƯƠNG 3: QUI TRÌNH HOẠT ĐỘNG CHATBOT 6
1 Qui trình 6
2 Kiến trúc hoạt động 7
3 ng d ng 8 Ứ ụ4 Chức năng 8
CHƯƠNG 4: ƯU ĐIỂM VÀ NHƯỢC ĐIỂM CỦA CHATBOT 10
Trang 32
Lời Nói Đầu
Xin chào và chào mừng đến với đồ án xây dựng một ChatBot của chúng tôi! ChatBot là một công cụ rất hữu ích để tương tác với người dùng và giải quyết các vấn đề thường gặp Từ việc cung cấp thông tin cơ bản đến trả lời các câu hỏi phức tạp, chat bot có thể là một giải pháp hiệu quả cho việc tăng cường khả năng tương tác của doanh nghiệp hoặc tổ chức với khách hàng của mình.Trong đồ án này, chúng ta sẽ tìm hiểu về cách xây dựng một chat bot đơn giản bằng cách sử dụng các công nghệ trí tuệ nhân tạo phổ biến như xử lý ngôn ngữ tự nhiên và học máy Chúng ta sẽ tập trung vào việc phát triển một chat bot có khả năng tương tác với người dùng và trả lời các câu hỏi thông qua chat
Bên cạnh đó xin phép được gửi lời cảm ơn sâu sắc đến giảng viên hướng dẫn cô Trần Kim Mỹ Vân đã tạo điều kiện, nhiệt tình hướng dẫn chúng em hoàn thành đồ án của mình.Đồ án có thể còn nhiều thiếu sót rất mong nhận được sự góp ý đến từ thầy cô và các bạn để em có thể hoàn thành tốt và có thêm kinh nghiệm cho những lần sau
Xin chân thành cám ơn thầy cô và các bạn
Trang 4CHƯƠNG 1: GIỚI THIỆU CHATBOT Chatbot là gì? Chatbot là một chương trình máy tính được thi t kế ế để tương tác với con người thông qua các kênh truyền thông, chẳng hạn như trang web, ứng dụng di động, tin nhắn văn bản, gi ng nói hoọ ặc mạng xã h ội.
Lợi ích c a chatbot: Chatbot giúp doanh nghiủ ệp tăng cường tương tác với khách hàng, giảm chi phí nhân s và c i thi n tr i nghi m khách hàng Khách hàng có th dự ả ệ ả ệ ể ễ dàng tương tác với chatbot b t cấ ứ khi nào h c n thông tin hoọ ầ ặc giải đáp thắc mắc
Các k thu t x lý ngôn ng tỹ ậ ử ữ ự nhiên (NLP) được s dử ụng để phát tri n chatbot NLP cho ểphép chatbot hiểu được ngôn ng t nhiên cữ ự ủa con người và ph n hả ồi theo cách tương tựnhư con người
Chatbot có thể được tích h p vào ợnhi u n n t ng khác nhau, bao gề ề ả ồm trang web, ng d ng di ứ ụ động, Facebook Messenger, Skype, Slack và nhiều hơn nữa
Các lo i chatbot phạ ổ biến bao gồm rule-based chatbot, AI-based chatbot, NLP-based chatbot, voice-enabled chatbot và social media chatbot
Chatbot càng được sử dụng nhiều, nó sẽ càng học hỏi và cải thiện khả năng phản hồi Nó có thể đượ ập trình để tự động học hỏi từ d c l ữ liệu và ph n hả ồi tốt hơn trong tương lai ChatBot hiện nay được ứng dụng rông rãi trong cuộc sống của chúng ta Đồ án “Build ChatBot” được sinh viên chúng em xây dựng dựa trên nền tảng Dialogflow, thông qua Dialogflow để tạo một ChatBot cơ bản hoạt động thông qua việc trò chuyện (rule-based chatbot)
Thông qua đồ án này sinh viên hiểu được ChatBot là gì, làm thế nào để xây dựng một ChatBot, ứng dụng của ChatBot trong đời sông hiện nay Cụ thể hơn, sinh viên xây dựng ChatBot thông qua nền tảng Dialogflow m t công c h ộ ụ ỗ trợ xây dựng ChatBot T ừ đó rút ra những k t lu n, nh n xét vế ậ ậ ề ChatBot cũng như môn học Các n n t ng phề ả ần mềm
Trang 5Các chat bot được phát triển dựa trên các công ngh trí tu nhân t o, x lý ngôn ng ệ ệ ạ ử ữt nhiên (NLP), máy h c và khai thác d ự ọ ữliệu Chúng có khả năng học h i và cỏ ải thiện kh ả năng tương tác với người dùng theo thời gian.Chat bot đã trở thành một phần quan trọng trong các ứng dụng trò chuyện trực tuyến, từ các trang web thương mại đi n tửệ n các đế ứng d ng trò chuyụ ện trực ti p Chat bot giúp c i ế ảthiện tr i nghiả ệm người dùng b ng cách cung c p ph n h i nhanh chóng và chính xác, giằ ấ ả ồ ảm thời gian phản h i của nhân viên h ợ ồ ỗtr khách hàng và tăng tính tự động hóa cho các hoạt động kinh doanh
- Rule-based chatbot: Chatbot này hoạt động d a trên các quy tự ắc được thiế ật l p trước để xử lý các câu hỏi và yêu cầu của người dùng Nó có thể được lập trình đểtrả lời các câu hỏi cụthể hoặc giải quy t các vế ấn đề ụ ể c th
- AI-based chatbot: Chatbot này s d ng trí tuử ụ ệ nhân tạo để ọ h c h i và c i thi n các ỏ ả ệph n h i c a mình Chatbot này có th l i các câu h i không c ả ồ ủ ể trả ờ ỏ ố định và x lý các ửyêu c u phầ ức tạp hơn so với rule-based chatbot
- NLP-based chatbot: Chatbot này s d ng x lý ngôn ng tử ụ ử ữ ự nhiên (NLP) để phân tích các câu h i cỏ ủa người dùng và đưa ra các phản hồ ự ng i t độ
- Voice-enabled chatbot: Chatbot này cho phép người dùng tương tác thông qua giọng nói thay vì văn bản Nó có th ể được tích hợp vào các trình phát âm thanh như Google Assistant hoặc Amazon Alexa
- Social media chatbot: Chatbot này được tích h p vào các nợ ền t ng m ng xã hội đ ả ạ ểgiúp doanh nghiệp tương tác với khách hàng trên các kênh m ng xã hạ ội khác nhau
Trang 6Một s chat bot hoốạt động hi n nay: ệ
- Chatbot bán hàng - Chatbot chăm sóc khách hàng - Chatbot trò chuyện theo kịch b n ả- Chatbot trò chuyện theo từ khóa - Chatbot trò chuyện theo ngữ c nh ả
Trang 7Xử lý ngôn ng t nhiên (NLP): ữ ự Chatbot s d ng các kử ụ ỹ thuậ ửt x lý ngôn ng t ữ ựnhiên để ểu ý nghĩa củ hi a yêu cầu của người dùng Kỹ thuật này cho phép chatbot phân tích và x lý ngôn ng t nhiên cử ữ ự ủa con người và chuyển đổi nó thành dữ liệu có th x lý b i máy tính ể ử ở
Phân tích và x lý yêu cửầu:
Chatbot s d ng dử ụ ữ liệu được thu th p tậ ừ NLP đểphân tích yêu c u cầ ủa người dùng và tìm ki m câu tr lế ả ời phù hợp Trong trường hợp của rule-based chatbot, chatbot s d ng các quy tử ụ ắc đã được định sẵn để phản hồi người dùng
Phản hồi người dùng: Chatbot g i câu tr l i phù hử ả ờ ợp đến người dùng thông qua các kênh truy n thông Câu tr l i có th là m t câu tr lề ả ờ ể ộ ả ời được định s n ho c mẵ ặ ột câu tr lả ời đượ ạo ra b i chatbot d a trên các thu t toán và d c t ở ự ậ ữ liệu
H c t p và c i thiọ ậảện: Chatbot có th h c h i t d ể ọ ỏ ừ ữ liệu và tương tác với người dùng để ả c i thi n kh ệ ả năng phản hồi trong tương lai Chatbot có thể tự động học t d ừ ữ liệu và c p nh t các quy tậ ậ ắc để phản hồi người dùng tốt hơn trong tương lai
M t cách d ộễ hiểu ChatBot s hoạt động đơn giả như sau:ẽ
Translator: Thông tin/yêu c u cầ ủa người dùng (user) sẽ được d ch l i b ng ngôn ị ạ ằngữ lập trình Máy tính sau đó có thể ểu đượ hi c các công vi c cệ ần th c hiự ện Processor: Công ngh AI ti n hành x lý yêu c u cệ ế ử ầ ủa người dùng
Trang 8Respondent: Máy tính nh n output t AI và g i trậ ừ ử ả cho người dùng k t quế ả tương ứng trên platform messenger
Chức năng các khối hệ thống: Khố ữi d liệu truyền thông tin:
Phần này đảm nhiệm việc thu thập và truyền dữ liệu từ các thi t b ế ị điện đến hệ thống chatbot Vi c này có th ệ ể được thực hiện thông qua các cảm biến, thi t bị thu th p dữ liệu, hoặc ế ậcác hệ thống qu n lý thi t bả ế ị điện Dữ liệu và thông tin thu thập được sẽ được truy n tề ải đến ph n tiầ ếp theo c a h ủ ệ thống để đư c x lý ợ ử
Khố ửi x lý d liệu, thông tin thông qua Dialogflow: ữ
Phần này s d ng Dialogflow - m t nền tảng chatbot phổ biến ử ụ ộđược cung c p b i Google - ấ ở để ử x lý d ữ liệu và thông tin được thu thập t phần trướừ c Dialogflow sử dụng trí tuệ nhân tạo để phân tích các câu h i và yêu c u tỏ ầ ừ người dùng, sau đó trả ề v các câu trả l i phù h p v i ng c nh và nhu c u cờ ợ ớ ữ ả ầ ủa người dùng Dialogflow cũng hỗ trợ các tính năng như nhận dạng giọng nói, xử lý ngôn ng t nhiên, và kh ữ ự ả năng tùy chỉnh cao
Khối th c hiện truy v n trên Webhook: ựấ
Trang 98
Sau khi Dialogflow đã xử lý d ữ liệu và thông tin, các yêu c u s ầ ẽ được gửi đến một webhook để thực hiện các hành động cần thiết Webhook là một chương trình được thi t k ế ế để nhận và x lý các yêu ửcầu từ Dialogflow, sau đó thực hiện các hành động c n thiầ ết như tắt m các thi t bở ế ị điện, thay đổi nhiệt độ, v.v Webhook có thể được tích h p v i các h ợ ớ ệ thống qu n lý thi t b ả ế ị điện để thực hi n các hành ệđộng này Sau khi hoàn thành các hành động, kết quả sẽ được trả về cho Dialogflow để được trình bày cho người dùng thông qua chatbot
- Trợ lý cá nhân (Personal Assitant) - Giới thiệu s n phẩm, bán hànả g, đặt chỗ - Chăm sóc khách hàng
- Thanh toán tr c tuyự ến (Chức năng này đang được sử dụng cho n n t ng Facebook ề ảMessenger phiên bản th nghiử ệm tại M ) ỹ
- Đưa ra kết quả tìm kiếm, cập nhật tin tức
4 Chức năng
Trang 11- Tăng tính tương tác và tiết kiệm thời gian: Chat bot giúp tăng tính tương tác giữa người dùng và doanh nghiệp, đồng thời tiết kiệm th i gian và công sức trong việc ờtrả l i câu h i, cung c p thông tin hoờ ỏ ấ ặc hỗ ợ khách hàng tr
- Tăng khả năng đáp ứng nhu cầu khách hàng: Chat bot có thể được lập trình để đáp ứng nhu cầu của khách hàng một cách nhanh chóng và chính xác Điều này giúp tăng tính hài lòng của khách hàng và cải thiện trải nghiệm người dùng
- Tăng tính linh hoạt: Chat bot có khả năng đượ ập trình đểc l thực hiện nhiều tác vụ khác nhau, t cung cừ ấp thông tin đến hỗ trợ khách hàng, đặt hàng và thanh toán Điều này giúp doanh nghi p ti t kiệm chi phí và tăng tính linh hoạt trong việc phục ệ ếv khách hàng ụ
- Học tập và cải thiện theo th i gian: Chat bot có khả ờ năng học tập từ trải nghi m ệtương tác với người dùng để cải thiện khả năng phục vụ và tính đa dạng của câu trả l i theo thờ ời gian Điều này giúp chat bot trở nên thông minh hơn và cải thi n trệ ải nghiệm người dùng
- Hạn chế trong vi c hiểu ngôn ngữ ựệ t nhiên: Chat bot v n còn gặp khó khăn trong ẫvi c hi u ngôn ng t nhiên cệ ể ữ ự ủa con người, đặc biệt là trong trường h p câu hợ ỏi phức tạp ho c ph n h i có tính chặ ả ồ ất giao tiếp không chính th ng ố
- Thiếu sự tương tác và sáng tạo: Chat bot có th tr lời các câu hể ả ỏi cơ bản, nhưng thiếu khả năng tương tác và sáng tạo giống như con người Do đó, chat bot không thể gi i quyả ết các vấn đề phức tạp hoặc đưa ra các giải pháp sáng tạo và độc đáo.- Khả năng phản hồi gi i h n: Chat bot ch có th ớ ạ ỉ ể đưa ra các câu trả ời đượ l c l p trình ậ
trước đó và không thể đưa ra các câu trả ờ l i ngoài khả năng của hệ thống Điều này
Trang 12có th khiể ến người dùng cảm thấy không hài lòng ho c không nhặ ận được câu tr lả ời mong muốn
- Khả năng bị lạm dụng: Chat bot có th bị l m dể ạ ụng để spam hoặc tấn công m ng, ạđặc biệt là trong trường hợp chat bot được kết n i với các hệ th ng thanh toán hoặc ố ốthông tin quan trọng khác
- Khó khăn trong việc lập trình và b o trì: Xây d ng mả ự ột chat bot đòi hỏi sự hiểu biết chuyên môn và kỹ năng lập trình, điều này có th khi n vi c tri n khai chat bot tr ể ế ệ ể ởnên khó khăn và tốn kém Bên cạnh đó, việc bảo trì và c p nhậ ật chat bot cũng có thể đòi hỏi chi phí và thời gian đáng kể
Trang 1312
CHƯƠNG 5: SẢN PHẨM THỬ NGHIỆM
https://bot.dialogflow.com/a0b7edde-4553-4853-95f2-e5daf95c97cc
Trang 15▪ M r ng ph m vi ng d ng c a chat bot: Ngoài vi c s dở ộ ạ ứ ụ ủ ệ ử ụng trong lĩnh vực chăm sóc khách hàng hay h ỗ trợ tư vấn, chat bot còn có th ể được áp d ng trong nhiụ ều lĩnh vực khác như giáo dục, y t , ngân hàng hay bế ất động s n Vi c m r ng ph m vi ả ệ ở ộ ạ ứng d ng c a chat bot s mang lụ ủ ẽ ại nhiều cơ hội và tiềm năng phát triển cho d ự án.▪ Tăng cường bảo mật và kiểm soát tình trạng lạm dụng: Chat bot có thể bị lạm dụng
để spam ho c t n công m ng, vì v y c n có các bi n pháp b o m t và ki m soát tình ặ ấ ạ ậ ầ ệ ả ậ ểtrạng l m d ng Các giạ ụ ải pháp như mã hóa, xác thực định danh hay giám sát hoạt động c a chat bot có thể ủ được áp dụng để tăng cường bảo mật
▪ C p nhậ ật và nâng cao chat bot định kỳ: Chat bot cần được c p nh t ậ ậ và nâng cao định kỳ để đáp ứng được nhu cầu người dùng và các tiêu chu n m i nhẩ ớ ất trong lĩnh vực chat bot Ngoài ra, c n có m t quy trình b o trì và h ầ ộ ả ỗ trợ người dùng tốt để gi i quyả ết các vấn đề phát sinh trong quá trình sử dụng chat bot
Đề xuấ ủa cá nhân: t c▪ Theo quan điểm của em môn học Các nền tảng phần mềm là một môn học
quan trọng đố ới v i các sinh viên, giúp sinh viên hi u rõ thêm v các n n tể ề ề ảng phần mềm cơ bản, ki n trú và thi t k c a m t h ế ế ế ủ ộ ệ thống phần m m Thông qua ềmôn h c sinh viên có th t mình xây dọ ể ự ựng được các s n phả ẩm như máy ảo, chatbot, h ệ thống bán hàng… mang tính thực tế rất cao
▪ Đố ớ ải v i b n thân em nói riêng và các b n sinh viên công nghệ thông tin nói ạchung môn h c này cung cọ ấp cho chúng em cơ bản nh ng ki n th c cữ ế ứ ần để có thể tham gia, đóng góp vào các dự án phát tri n ph n mể ầ ềm cũng như phần nào đáp ứng được nhu c u c a các công ty, doanh nghi p, t ầ ủ ệ ổ chức v các s n phề ả ẩm phần mềm
Trang 16TÀI LI U THAM KH O ỆẢ
▪ https://chat.openai.com/ ▪ https://fchat.vn/help/chatbot- - la gi▪ Hướng d n t o ChatBot trên Dialogflow: ẫ ạ▪ https://youtu.be/qEJjlB002Tk
-HẾT -