Trong những năm gần đây, khoa học công nghệ đang dần tiến đến một tầm cao
mới. Mặc dù còn mới mẻ trong lĩnh vực khoa học và công nghệ nhưng Chatbots đang
được nghiên cứu và phát triển với tốc độ chóng mặt bởi các trung tâm nghiên cứu, các
trường đại học và học viện. rất nhiều các lĩnh vực được ứng dụng công nghệ mới
này. Chatbots 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 sẵn. Có rất nhiều công cụ cũng như thư viện hỗ trợ cho Chatbots
như: Dialogflow, Wit.ai, Watson Conversation Service, Microsoft „s LUIS, Google
Natural Language API, Amazon Lex,.
Đề tài: “Xây dựng hệ thống Chatbots tự động” chủ yếu xây dựng trên ngôn ngữ
Python, nhận thông tin từ Dialogflow, trả lời tự động và thực hiện yêu cầu điều khiển
các thiết bị điện phục vụ cho việc trồng trọt.
70 trang |
Chia sẻ: thientruc20 | Lượt xem: 2135 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Đồ án Xây dựng hệ thống Chatbots tự động, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
i
MỤC LỤC
MỤC LỤC ....................................................................................................................................... i
LỜI CAM ĐOAN ......................................................................................................................... iii
LỜI CẢM ƠN ............................................................................................................................... iv
LIỆT KÊ HÌNH VẼ ...................................................................................................................... v
TÓM TẮT..................................................................................................................................... vii
CHƢƠNG 1. TỔNG QUAN ........................................................................................................ 1
1.1. Đặt Vấn Đề ........................................................................................................................... 1
1.2. Mục Tiêu .............................................................................................................................. 2
1.3. Nội Dung Nghiên Cứu......................................................................................................... 2
1.4. Giới Hạn ............................................................................................................................... 3
1.5. Bố Cục .................................................................................................................................. 3
CHƢƠNG 2. CƠ SỞ LÝ THUYẾT ........................................................................................... 4
2.1. Giới Thiệu Về Tri Tuệ Nhân Tạo (AI – Artificial Intelligence). ...................................... 4
2.2. Chatbots ................................................................................................................................ 4
2.2.1. Khái niệm. ..................................................................................................................... 4
2.2.2. Lịch sử ra đời. ............................................................................................................... 5
2.2.3. Cấu tạo chatbot. ............................................................................................................ 9
2.2.4. Phân loại chatbot. ....................................................................................................... 10
2.2.5. Cách thức hoạt động. .................................................................................................. 10
2.2.6. Một số nền tảng hỗ trợ phát triển cho chatbot. ......................................................... 12
2.2.7. Một số ứng dụng chatbot. .......................................................................................... 12
2.2.8. Xu hướng phát triển.................................................................................................... 13
2.3. Dialogflow.......................................................................................................................... 14
2.3.1. Khái niệm. ................................................................................................................... 14
2.3.2. Lịch sử ra đời và hoạt động. ...................................................................................... 15
2.4. Intents. ................................................................................................................................ 15
2.4.1. Khái niệm. ................................................................................................................... 15
2.4.2. Phân loại...................................................................................................................... 15
2.4.2.1. Ý định ngẫu nhiên - Casual Intents. .................................................... 15
2.4.2.2. Ý định nghiệp vụ - Business Intents. .................................................. 16
2.5. Entities. ............................................................................................................................... 16
2.6. Contexts. ............................................................................................................................. 16
ii
2.7. Actions and Parameters. .................................................................................................... 17
CHƢƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ. .......................................................................... 19
3.1. Giới Thiệu. ......................................................................................................................... 19
3.2. Thiết Kế Hệ Thống. ........................................................................................................... 19
3.2.1. Thiết kế sơ đồ khối hệ thống. .................................................................................... 19
3.2.2. Chức năng các khối hệ thống..................................................................................... 20
CHƢƠNG 4. THI CÔNG HỆ THỐNG ................................................................................... 24
4.1. Giới Thiệu .......................................................................................................................... 24
4.2. Lập Trình Hệ Thống .......................................................................................................... 24
4.2.1. Sơ đồ và lưu đồ ........................................................................................................... 24
4.2.2. Phần mềm hệ thống .................................................................................................... 28
4.2.2.1. Xây dựng chatbots cơ bản trên Dialogfow .......................................... 28
4.2.2.2. Phần mềm PyCharm ........................................................................... 35
CHƢƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ ............................................................. 41
5.1. Tổng Quan Kết Quả Đạt Được ......................................................................................... 41
5.2. Kết Quả Thực Tế ............................................................................................................... 41
CHƢƠNG 6. KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ....................................................... 60
6.1. Kết Luận ............................................................................................................................. 60
6.2. Hướng Phát Triển .............................................................................................................. 60
TÀI LIỆU THAM KHẢO.......................................................................................................... 62
PHỤ LỤC ..................................................................................................................................... 63
iii
LỜI CAM ĐOAN
Đề tài này là do chúng tôi tự thực hiện dựa vào một số tài liệu trước đó và
không sao chép từ tài liệu hay công trình đã có trước đó.
Người thực hiện đề tài
Mai Vũ Xuân Trƣờng
Nguyễn Thanh Tân
iv
LỜI CẢM ƠN
Chúng em xin gửi lời cảm ơn chân thành đến Thầy Nguyễn Mạnh Hùng –
Giảng viên Trường Đại học Sư phạm Kỹ thuật Tp.HCM đã tận tình hướng dẫn trong
suốt thời gian làm luận văn tốt nghiệp. Thầy đã tạo rất nhiều điều kiện thuận lợi và cho
những lời khuyên quý báu giúp chúng em hoàn thành tốt luận văn.
Xin chân thành cảm ơn thầy cô giáo trong Trường Đại học Sư phạm Kỹ thuật
Tp.HCM nói chung, các thầy cô trong Bộ môn Điện tử Công nghiệp nói riêng đã tận
tình giảng dạy, truyền đạt cho chúng em những kiến thức quý báu và tạo điều kiện
giúp đỡ trong suốt quá trình học tập trong những năm học vừa qua, giúp chúng em có
được cơ sở lý thuyết vững vàng.
Cuối cùng, chúng em xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo
điều kiện, quan tâm, ủng hộ, giúp đỡ, động viên chúng em trong suốt quá trình học tập
và hoàn thành đồ án tốt nghiệp.
Xin chân thành cảm ơn!
Người thực hiện đề tài
Mai Vũ Xuân Trƣờng
Nguyễn Thanh Tân
v
LIỆT KÊ HÌNH VẼ
Hình 1.1 Cách thức hoạt động của chatbots ................................................................. 2
Hình 2.1 Tương tác giữa người dùng với Chatbot Eliza. .............................................. 6
Hình 2.2 Cách thức hoạt động của chatbots. .............................................................. 12
Hình 2.3 Biểu tượng Dialogflow................................................................................ 14
Hình 2.4 Input Context và Output Context................................................................. 17
Hình 2.5 Tham số trong Dialogflow. ......................................................................... 18
Hình 3.1 Sơ đồ hệ thống chatbots tự động. ................................................................ 19
Hình 3.2 Sơ đồ quá trình truyền dữ liệu, thông tin. .................................................... 20
Hình 3.3 Sơ đồ quá trình xử lý dữ liệu, thông tin thông qua Dialogflow. ................... 21
Hình 3.4 Sơ đồ quá trình thực hiện truy vấn trên Webhook. ...................................... 22
Hình 3.5 Sơ đồ kết nối các thiết bị điện với các chân của Raspberry. ......................... 23
Hình 3.6 Raspberry và sơ đồ chân. ............................................................................ 23
Hình 4.1 Sơ đồ chương trình...................................................................................... 25
Hình 4.2 Lưu đồ chương trình trên Dialogflow. ......................................................... 27
Hình 4.3 Giao diện Dialogflow ban đầu. .................................................................... 28
Hình 4.4 Lựa chọn GO TO CONSOLE. .................................................................... 29
Hình 4.5 Đăng nhập Dialogflow qua Google. ............................................................ 29
Hình 4.6 Chọn tài khoản để đăng nhập Dialogflow. ................................................... 30
Hình 4.7 Giao diện chính của Dialogflow. ................................................................. 30
Hình 4.8 Tạo tác nhân................................................................................................ 31
Hình 4.9 Tạo mục đích. ............................................................................................. 32
Hình 4.10 Thêm phản hồi. ......................................................................................... 33
Hình 4.11 Chạy thử ví dụ........................................................................................... 34
Hình 4.12 Logo Pycharm. .......................................................................................... 35
Hình 4.13 Giao diện Pycharm. ................................................................................... 36
Hình 4.14 Tải Pycharm từ website. ............................................................................ 36
Hình 4.15 Đặt tên và nơi lưu trữ project. ................................................................... 37
Hình 4.16 Tạo file Python.......................................................................................... 37
Hình 5.1 Các tham số trong intents được hiển thị....................................................... 41
Hình 5.2 Các cụm từ huấn luyện trong intents được hiển thị. ..................................... 42
Hình 5.3 Các entities được trích xuất. ........................................................................ 42
Hình 5.4 Entities Devide được trích xuất. .................................................................. 43
Hình 5.5 Entities on-off được trích xuất..................................................................... 43
Hình 5.6 Lời chào. ..................................................................................................... 44
Hình 5.7 Lời hỏi thăm 1............................................................................................. 44
Hình 5.8 Lời hỏi thăm 2............................................................................................. 45
Hình 5.9 Phản hồi của chatbots. ................................................................................. 46
Hình 5.10Phản hồi của chatbots. ................................................................................ 46
Hình 5.11 Ảnh chụp thiết bị điện khi chưa điều khiển. .............................................. 47
Hình 5.12 Yêu cầu bật đèn 1 hiển thị trên Dialogflow. .............................................. 48
Hình 5.13 Đèn 1 sáng khi người dùng yêu cầu bật. .................................................... 49
vi
Hình 5.14 Yêu cầu tắt đèn 1 hiển thị trên Dialogflow. ............................................... 50
Hình 5.15 Đèn 1 tắt khi người dùng yêu cầu tắt. ........................................................ 51
Hình 5.16 Yêu cầu bật đèn 2 hiển thị trên Dialogflow. .............................................. 52
Hình 5.17 Đèn 2 sáng khi người dùng yêu cầu bật. .................................................... 53
Hình 5.18 Yêu cầu tắt đèn 2 hiển thị trên Dialogflow. ............................................... 54
Hình 5.19 Đèn 2 tắt khi người dùng yêu cầu tắt. ........................................................ 55
Hình 5.20 Yêu cầu bật motor hiển thị trên Dialogflow............................................... 56
Hình 5.21 Motor quay khi người dùng yêu cầu bật quay motor. ................................ 57
Hình 5.22 Yêu cầu tắt motor hiển thị trên Dialogflow. .............................................. 58
Hình 5.23 Motor tắt khi người dùng yêu cầu ngừng quay motor. ............................... 59
vii
TÓM TẮT
Trong những năm gần đây, khoa học công nghệ đang dần tiến đến một tầm cao
mới. Mặc dù còn mới mẻ trong lĩnh vực khoa học và công nghệ nhưng Chatbots đang
được nghiên cứu và phát triển với tốc độ chóng mặt bởi các trung tâm nghiên cứu, các
trường đại học và học viện.... rất nhiều các lĩnh vực được ứng dụng công nghệ mới
này. Chatbots 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 sẵn. Có rất nhiều công cụ cũng như thư viện hỗ trợ cho Chatbots
như: Dialogflow, Wit.ai, Watson Conversation Service, Microsoft „s LUIS, Google
Natural Language API, Amazon Lex,...
Đề tài: “Xây dựng hệ thống Chatbots tự động” chủ yếu xây dựng trên ngôn ngữ
Python, nhận thông tin từ Dialogflow, trả lời tự động và thực hiện yêu cầu điều khiển
các thiết bị điện phục vụ cho việc trồng trọt.
CHƢƠNG 1: TỔNG QUAN
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 1
CHƢƠNG 1. TỔNG QUAN
1.1. Đặt Vấn Đề
Trong những năm gần đây, mặc dù còn mới mẻ trong lĩnh vực khoa học và công
nghệ nhưng Chatbots đang được nghiên cứu và phát triển với tốc độ nhanh chóng bởi
các trung tâm nghiên cứu, trường đại học và học việnvới rất nhiều ứng dụng trên các
lĩnh vực khác nhau như: giải trí, y tế, thương mại, tự động hóa,... Kể từ khi chatbots
được phát triển mạnh mẽ vào năm 2016, nó đã nhanh chóng trở thành một trong những
xu hướng công nghệ được quan tâm nhất trong giai đoạn đó và cho đến nay. Trên thực
tế cho thấy, sự gia tăng của chatbots đã dẫn đến dự đoán của Gartner (công ty nghiên
cứu và tư vấn công nghệ thông tin hàng đầu thế giới, cung cấp cái nhìn sâu sắc liên
quan đến công nghệ cần thiết cho khách hàng để đưa ra những quyết định đúng đắn
mỗi ngày) rằng hơn 85% tương tác của khách hàng sẽ được quản lý mà không cần con
người vào năm 2020.
Chatbots phát triển dựa trên sự kết hợp của các kịch bản có trước và tự học
trong quá trình tương tác. Ta sẽ tương tác với chatbots qua nền tảng tin nhắn. Với các
câu hỏi được đặt ra, Chatbots sử dụng các hệ thống xử lý ngôn ngữ tự nhiên (Natural
Language Processing) để phân tích dữ liệu sau đó chúng lựa chọn các thuật toán học
máy để đưa ra các loại phản hồi khác nhau, chúng sẽ dự đoán và phản hồi chính xác
nhất có thể. Chatbots sử dụng nhiều hệ thống quét các từ khoá bên trong đầu vào, sau
đó bot khởi động một hành động, kéo một câu trả lời với các từ khóa phù hợp nhất
và trả lời thông tin từ một cơ sở dữ liệu / API, hoặc bàn giao cho con người. Nếu tình
huống đó chưa xảy ra (không có trong dữ liệu), Chatbot sẽ bỏ qua nhưng sẽ đồng
thời tự học để áp dụng cho các cuộc trò chuyện về sau.
Một trong các yếu tố làm nên sức mạnh của Chatbot là khả năng tự học hỏi. Càng
được sử dụng, tương tác với người dùng nhiều, nền tảng Chatbot càng “thông minh”.
Chatbot thông minh có khả năng tự học hỏi dựa trên các dữ liệu đưa vào mà không cần
phải được lập trình cụ thể (đó được gọi là phương pháp máy học - Machine Learning).
Chính điều này làm cho các nhà phát triển dễ dàng tạo các chương trình trò chuyện và
tự động hoá các cuộc trò chuyện với người dùng.
CHƢƠNG 1: TỔNG QUAN
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 2
Hình 1.1 Cách thức hoạt động của chatbots
Hiện nay, Chatbots đang được ứng dụng rộng rãi trong các lĩnh vực đời sống con
người, mà trong đó phải kể đến là việc giúp ích cho quá trình tự động hóa các quy
trình chiếu sáng (đóng mở đèn tự động), tưới tiêu, quản lý thời gian, cây trồng,... phục
vụ cho nông nghiệp giúp giảm thiểu công sức, chi phí và thời gian.
Và Dialogflow là một trong những công cụ hỗ trợ mạnh cho Chatbots, giúp
người dùng xây dựng được những hệ thống tự động và tối ưu. Xuất phát từ mục tiêu
tiếp cận, bổ sung các kiến thức mới, cũng như cũng cố lại những kỹ năng kiến thức
trong suốt quá trình học tập tại trường, đồng thời nghiên cứu sâu hơn về công cụ
Dialogflow và ứng dụng Dialogflow cho việc tự động hóa các quy trình. Do đó, nhóm
thực hiện đồ án chọn đề tài: “Xây dựng hệ thống Chatbots tự động”.
1.2. Mục Tiêu
Trong luận văn này, mục tiêu chính của đề tài là tìm hiểu về hệ thống chatbots và
ứng dụng của chatbots cho đời sống, cụ thể qua việc xây dựng hệ thống trên nền tảng
của Dialogflow và ngôn ngữ Python cũng như ý tưởng về mô hình tương tác giữa
người với máy thông qua hệ thống chatbots tự động để điều khiển các thiết bị điện.
1.3. Nội Dung Nghiên Cứu
NỘI DUNG 1: Tìm hiểu về Chatbots, Dialogflow, Intents, Entities, Contexts,
Actions and Parameters, Training Phrase, Fulfillment.
NỘI DUNG 2: Vẽ sơ đồ khối của Chatbots, Vẽ lưu đồ của Dialogflow.
NỘI DUNG 3: Nghiên cứu webhook trong Dialogflow để kết nối với Pycharm và
lấy dữ liệu file json của Dialogflow đưa vào Webhook.
CHƢƠNG 1: TỔNG QUAN
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 3
NỘI DUNG 4: Tìm hiểu về Raspberry, cài hệ điều hành và đưa code xuống
Raspberry.
NỘI DUNG 5: Nghiên cứu ngôn ngữ python trên giao diện Pycharm, tìm hiểu về
ngrok để kết nối Dialogflow với Raspberry.
NỘI DUNG 6: Đánh giá kết quả thực hiện.
NỘI DUNG 7: Viết báo cáo luận văn tốt nghiệp.
1.4. Giới Hạn
Tìm hiểu về Chatbots và ứng dụng Chatbots vào hệ thống vườn rau để thực hiện
các yêu cầu một cách tự động.
Hệ thống bao gồm việc đóng mở tự động các công tắc đèn và motor tưới rau
thông qua các yêu cầu từ Dialogflow.
Hệ thống hoạt động thông qua việc tương tác giữa người với máy tính và gửi các
yêu cầu xuống cho phần cứng thực hiện.
Kết quả thu được bao gồm việc trả lời tự động từ máy tính, các tín hiệu của đèn
và motor thông qua yêu cầu người dùng.
1.5. Bố Cục
Chƣơng 1: Tổng Quan.
Chương này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung
nghiên cứu, giới hạn và bố cục đồ án.
Chƣơng 2: Cơ Sở Lý Thuyết.
Giới thiệu về Chatbots, Dia