Sơ đồ và lưu đồ

Một phần của tài liệu Xây dựng hệ thống chatbot tự động (Trang 31 - 35)

CHƯƠNG 4. THI CÔNG HỆ THỐNG

4.2. Lập Trình Hệ Thống

4.2.1. Sơ đồ và lưu đồ

Hình 4.1 Sơ đồ chương trình.

Đầu tiên, chúng ta cần xây dựng chương trình trên Dialogflow, thiết lập các ý định ngẫu nhiên (casual intents), các ý định nghiệp vụ (business intents), các phản hồi, các tham số, ngữ cảnh,... để chatbots có thể tương tác với người dùng.

Tiếp theo, chúng ta sẽ viết chương trình trên Pycharm bằng ngôn ngữ Python nhằm đáp ứng cho việc giải quyết các yêu cầu phức tạp hơn từ người dùng (các ý định nghiệp vụ) mà cụ thể ở đây là việc điều khiển các thiết bị điện.

Kế đến, chúng ta đối chiếu các tham số giữa Dialogflow và Pycharm nhằm giúp phát hiện được những lỗi cần khắc phục và thuận tiện cho quá trình chỉnh sửa cũng như giúp bổ sung thêm các thư viện cần thiết.

Sau khi đối chiếu, chúng ta kết nối dữ liệu của Pycharm và Dialogflow với nhau để dữ liệu hai bên được đồng bộ hóa.

Tiếp đến, chúng ta tiến hành đưa dữ liệu của Pycharm và Dialogflow sau khi được kết nối lên Web thông qua công cụ hỗ trợ ngrok. ngrok cho phép chúng ta kết nối một máy chủ web chạy trên máy cục bộ của mình với internet. Khi bắt đầu ngrok, nó sẽ hiển thị giao diện người sử dụng nó trong thiết bị đầu cuối với URL của đường hầm, đồng thời hiển thị thông tin trạng thái và các số liệu khác về các kết nối được tạo trên đường hầm của chúng ta. ngrok cung cấp cho chúng ta thời gian thực, nơi chúng ta có thể quan sát tất cả lưu lượng truy cập HTTP đang chạy trên đường hầm của mình nhằm phục vụ cho việc đẩy dữ liệu, điều khiển và nhận phản hồi tự động. Đây là quá trình làm việc với Webhook.

Hoàn thành việc đưa dữ liệu lên Web, chúng ta tiếp tục kết nối với phần cứng để xuất tín hiệu đầu ra. Tín hiệu đầu ra này chính là những phản hồi của chatbots cho những ý định của người dùng. Các ý định ngẫu nhiên (casual intents) sẽ được phản hồi trực tiếp qua loa hoặc màn hình. Đối với các ý định nghiệp vụ (business intents) sẽ được phản hồi thông qua Raspberry để hiển thị các tín hiệu theo yêu cầu.

Sau khi hệ thống hoạt động xong, người dùng sẽ nhận được những phản hồi dưới dạng âm thanh thông qua loa, văn bản thông qua màn hình và tín hiệu của các thiết bị điện thông qua Raspberry từ hệ thống.

b. Lưu đồ Dialogflow

Hình 4.2 Lưu đồ chương trình trên Dialogflow.

Đầu tiên, để yêu cầu hệ thống thực hiện những ý định nghiệp vụ (business intents) người dùng có thể mở đầu bằng “Hi Bot” hoặc “Hello Bot”. Khi hệ thống nhận được từ khóa liên qua đến Bot, hệ thống sẽ phản hồi lại câu hỏi “Can I help you?” hoặc có thể một câu hỏi khác tương tự. Sau đó sẽ là các phản hồi có điều kiện cho các yêu cầu của người dùng đối với việc điều khiển các thiết bị điện như: bóng

đèn 1 (lightbult 1), bóng đèn 2 (lightbult 2), motor và có thể nhiều thiết bị điện khác nhưng ở đây nhóm chỉ giới hạn lại trong 3 thiết bị này.

Trong control lightbult 1 (điều khiển đèn 1), nếu người dùng không yêu cầu (hoặc kết quả trả về No), chương trình sẽ xét đến điều kiện 2 - control lightbult 2 (điều khiển đèn 2) và nếu kết quả lại trả về No (người dùng cũng không yêu cầu điều khiển đèn 2), chương trình tiếp tục xét đến điều kiện 3 - control motor (điều khiển motor), lúc này nếu hệ thống không nhận yêu cầu từ người dùng trong việc điều khiển motor, nó sẽ quay trở về để chờ đợi yêu cầu mới từ người dùng.

Ngược lại, trong control lightbult 1 (điều khiển đèn 1) nếu người dùng yêu cầu điều khiển đèn 1 (hoặc kết quả trả về là Yes), hệ thống sẽ tiếp tục xét đến điều kiện Turn on (Có bật/mở hay không?). Nếu người dùng đồng ý (kết quả trả về là Yes), hệ thống sẽ xuất ra giá trị là A1. Nếu không đồng ý (kết quả trả về là No), hệ thống sẽ xuất ra giá trị là A2. Tương tự cho control lightbult 2 (điều khiển đèn 2) và control motor (điều khiển motor) sẽ là các giá trị tương ứng lần lượt là B1/B2 và C1/C2.

Các giá trị cuối này (A1, A2, B1, B2, C1, C2) sẽ được gửi xuống backend để xử lý dữ liệu, làm việc với webhook và xuất ra những tín hiệu tương ứng xuống phần cứng nhằm phản hồi lại người dùng.

Một phần của tài liệu Xây dựng hệ thống chatbot tự động (Trang 31 - 35)

Tải bản đầy đủ (PDF)

(70 trang)