Tổng quan về Rasa

Một phần của tài liệu Đổi mới tổ chức và hoạt Động của viện kiểm sát nhân dân quận qua thực tiễn viện kiểm sát nhân dân quận kiến an, thành phố hải phòng (Trang 26 - 30)

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.5 Tổng quan về Rasa

Rasa là một thư viện mã nguồn mở để hiểu ngôn ngữ tự nhiên được sử dụng để phân loại ý định, tạo và truy xuất phản hồi, trích xuất thực thể trong thiết kế các cuộc hội thoại chatbot. Thành phần NLU của Rasa từng tách biệt nhưng được hợp nhất với Rasa Core thành một khuôn khổ duy nhất.

Trước tiên, để bắt đầu đi vào quy trình xây dựng một chatbot bằng Rasa, chúng ta cần biết Rasa là gì và Rasa có những ưu điểm vượt trội gì để được lựa chọn cho việc xây dựng chatbot.

2.5.1 Các thành phần trong Rasa

Hình 2.8 Các thành phần chính trong Rasa [11]

1. Rasa NLU: Rasa NLU (Natural Language Understanding) là thành phần của Rasa dùng để hiểu và phân tích các câu truy vấn từ người dùng. Nó xử lý việc trích xuất ý định (intent) và các thực thể (entities) từ văn bản đầu vào.

2. Rasa Core: Rasa Core là thành phần quản lý trạng thái và điều hướng hội thoại.

Nó cho phép bạn xây dựng mô hình hội thoại và quyết định hành động tiếp theo của chatbot dựa trên trạng thái hiện tại và thông tin từ người dùng.

3. Rasa SDK: Rasa SDK cung cấp một bộ công cụ để phát triển các hành động tương tác với người dùng. Bạn có thể sử dụng Rasa SDK để triển khai các hành động tùy chỉnh và tích hợp các dịch vụ bên ngoài vào chatbot.

4. Rasa Action Server: Rasa Action Server là một thành phần được sử dụng để triển khai hành động của chatbot. Nó cho phép bạn triển khai và chạy các hành động tương tác với người dùng và các dịch vụ bên ngoài.

5. Rasa X: Rasa X là một giao diện người dùng dựa trên web giúp bạn xây dựng, huấn luyện và kiểm thử chatbot. Nó cung cấp các công cụ để thu thập phản hồi từ người dùng và cải thiện hiệu suất của chatbot theo thời gian.

Ngoài các thành phần chính này, Rasa còn có các thành phần phụ khác như Tracker, Domain và các công cụ dòng lệnh (command-line tools) để xử lý dữ liệu huấn luyện, kiểm thử và triển khai chatbot.

Hiện nay khung Rasa được phát triển tốt và có một số điểm mạnh sau:

Code mở nguồn và tự do: Rasa là một dự án mã nguồn mở, cho phép bạn tùy

chỉnh và mở rộng các thành phần của chatbot theo nhu cầu cụ thể của bạn. Bạn có toàn quyền kiểm soát mã nguồn và không bị ràng buộc bởi các giới hạn của một nền tảng độc quyền.

Xử lý ngôn ngữ tự nhiên (NLU) mạnh mẽ: Rasa cung cấp một hệ thống NLU

mạnh mẽ cho việc hiểu và phân tích ý định của người dùng từ các câu hỏi hoặc khẳng định. Bạn có thể xác định các Intent, Entities và Slots để xử lý thông tin từ người dùng một cách linh hoạt.

Quy tắc và hành động linh hoạt: Rasa cho phép bạn định nghĩa quy tắc và

hành động tuỳ chỉnh để điều khiển hành vi của chatbot. Bạn có thể xác định các luật và hành động phù hợp với kịch bản tương tác mong muốn.

Hỗ trợ đa kênh: Rasa cho phép bạn phát triển chatbot cho nhiều kênh khác

nhau, bao gồm ứng dụng di động, trang web, Facebook Messenger và nhiều hơn

26

nữa. Điều này giúp bạn tiếp cận và tương tác với người dùng trên nhiều nền tảng khác nhau một cách thuận tiện.

Học tăng cường (Reinforcement Learning): Rasa cung cấp khả năng học tăng

cường cho chatbot, cho phép nó cải thiện từ trải nghiệm và tương tác với người dùng thực tế. Bạn có thể sử dụng các thuật toán học tăng cường để tối ưu hóa hành vi của chatbot theo thời gian.

2.5.2 Kiến trúc của Rasa

Hình 2.9 Kiến trúc của Rasa [11]

Trong kiến trúc trên, Rasa framework có bốn thành phần quan trong là: Trình thông dịch (Interpretter), Trình theo dõi (Tracer), Chính sách (Policy), Hành động (Action).

Interpreter (Trình thông dịch): Interpreter là thành phần trong Rasa framework được sử dụng để hiểu và phân tích câu truy vấn từ người dùng.

Nó xử lý việc trích xuất ý định (intent) và các thực thể (entities) từ văn bản đầu vào.

Tracker (Trình theo dõi): Tracker là thành phần lưu trữ thông tin về trạng thái hiện tại của hội thoại. Nó ghi lại lịch sử hội thoại, ý định và thực thể đã nhận dạng, và được sử dụng bởi các chính sách (policies) để đưa ra quyết định về hành động tiếp theo.

Policies (Chính sách): Policies xác định quy tắc và chiến lược để quyết định hành động tiếp theo của chatbot dựa trên trạng thái hiện tại và thông tin từ người dùng. Rasa framework cung cấp nhiều loại chính sách khác nhau như chính sách luật (rule-based policy), chính sách hàng xóm gần nhất (nearest-

neighbor policy) và chính sách học tăng cường (reinforcement learning policy).

Actions (Hành động): Actions là các hành động tương tác với người dùng hoặc các hệ thống khác. Chúng có thể là hành động tự động được định nghĩa trong Rasa framework hoặc hành động tùy chỉnh triển khai bằng Rasa SDK.

Hành động được chọn dựa trên quyết định của policies.

Bất cứ khi nào một người nhập và gửi tin nhắn tới chatbot RASA, tin nhắn đó sẽ được nhận và chuyển cho Interpretter. Chính trình thông dịch này xác định mục đích của thông điệp và trích xuất các thực thể ra khỏi nó.

Trình theo dõi (Tracer) có thể coi là bộ nhớ của chatbot, sẽ theo dõi trạng thái của cuộc trò chuyện giữa người dùng và bot. Bao gồm các thông tin như: các thông tin sự kiện, hành động, slot, v.v.

Chính sách trong kiến trúc theo dõi trạng thái hội thoại hiện tại và quyết định đâu là hành động thích hợp của bot. Hành động đã chọn sau đó cũng được theo dõi bởi Tracer và sau đó được gửi đến người dùng dưới dạng phản hồi.

28

Một phần của tài liệu Đổi mới tổ chức và hoạt Động của viện kiểm sát nhân dân quận qua thực tiễn viện kiểm sát nhân dân quận kiến an, thành phố hải phòng (Trang 26 - 30)

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

(73 trang)