Chi tiết các thành phần

Một phần của tài liệu Phát triển hệ thống chatbot trò chuyện nhiều tầng (Trang 48 - 52)

5.2.1 Bộ xử lý tin nhắn cơ bản (General Chat Module)

Các tin nhắn cơ bản được chia thành nhiều ý định khác nhau. Ý định người dùng là những mong muốn mà người dùng thể hiện qua văn bản. Ứng với mỗi ý định đó, sinh câu hỏi chung sẽ chọn

CHƯƠNG 5 ĐẶC TẢ VÀ HIỆN THỰC HỆ THỐNG 36 câu trả lời đã được định nghĩa sẵn. Với những ý định cơ bản sẽ chứa những từ khoá thường gặp để chỉ ý định đó. Do đó, bộ ý định cơ bản được hiện thực bằng phương pháp so trùng từ khoá. Danh sách từ khoá và câu trả lời cho mỗi ý định được định nghĩa dưới đây:

Chào:các câu với ý định chào. Danh sách từ khoá:

hey hello hi chào xin chào chào bạn chào buổi sáng chào buổi trưa chào buổi tối

Câu trả lời:

xin chào bạn chào bạn hế nhơ

Tạm biệt:các câu với ý định tạm biệt. Danh sách từ khoá:

bye bye tạm biệt hẹn gặp lại gặp lại sau bái bai Câu trả lời: tạm biệt nha bye bye

Hỏi tên:các câu với ý định hỏi tên của chatbot. Danh sách từ khố:

bạn tên gì cậu tên gì

Câu trả lời:

CHƯƠNG 5 ĐẶC TẢ VÀ HIỆN THỰC HỆ THỐNG 37 • Hỏi tuổi:các câu có ý định hỏi tuổi của chatbot. Danh sách từ khố:

tuổi sinh năm

Câu trả lời:

mình mới có 1 tuổi à tuổi tác khơng quan trọng hỏi tuổi tui chi chời

Hỏi về người u:các câu có ý định hỏi người yêu của chatbot. Danh sách từ khoá:

người u bồ

Câu trả lời:

bồ bịch gì tầm này

đẹp thì mới có nhiều đứa u

Hỏi về nơi ở:các câu có ý định hỏi nơi ở của chatbot. Danh sách từ khoá:

ở đâu nơi nào

Câu trả lời:

xa tận chân trời, gần ngay trước mắt tui ở ngay trước mắt nè

5.2.2 Bộ trả lời câu hỏi (QA Module)

Hình 5.2.2 mơ tả thiết kế bộ trả lời câu hỏi được thiết kế dựa theo mơ hình trích xuất thơng tin trong khố học Speech and Language Processing [25] gồm các chức năng chính:

Document Retrieval:Thu thập các văn bản có liên quan đến câu hỏi.

Passage Retrieval:Tách văn bản ra thành nhiều đoạn và chọn lọc theo mức độ liên quan đến câu hỏi.

CHƯƠNG 5 ĐẶC TẢ VÀ HIỆN THỰC HỆ THỐNG 38

Hình 5.4:Chi tiết bộ trả lời câu hỏi

5.2.3 Bộ sinh ngôn ngữ tự nhiên (GPT Module)

Để có thể xử lý được những tình huống khơng được định nghĩa trước hay những câu hỏi không thể trả lời chính xác, nhóm áp dụng mơ hình sinh ngơn ngữ tự nhiên để có thể tạo ra nhiều câu trả lời khác nhau mà vẫn có thể liên quan đến ngữ cảnh của cuộc trị chuyện. Trong đề tài này, nhóm xây dựng bộ sinh ngôn ngữ từ hai kiến trúc khác nhau: LSTM và GPT-2. Sau đó sẽ so sánh kết quả đạt được ở mục 7.4.3.

5.2.4 Bộ phân loại tin nhắn (Message Classifier)

Mơ tả:

Bộ phân loại tin nhắn sẽ phân loại tin nhắn dựa vào xử lý ngôn ngữ tự nhiên. Tin nhắn của người dùng sẽ được phân loại để phù hợp với tầng có thể xử lý được. Cụ thể các loại tin nhắn được chia như sau:

Tin nhắn thông thường: là những tin nhắn chào, tạm biệt, hỏi tên, hỏi tuổi, . . . những mẫu tin nhắn này có thể trả lời bằng những mẫu câu định nghĩa sẵn được đặc tả ở phần General Chat Module.

Tin nhắn câu hỏi về người: là những tin nhắn hỏi về ai, ví dụ: "ai là . . . ?", "ai làm . . . ?", . . .

Tin nhắn khác: là những tin nhắn sẽ được dùng phương pháp sinh để tạo ra câu trả lời đa dạng hơn.

Hiện thực:

Các tin nhắn thuộc những loại trên thường có những từ khố đặc trưng trong tin nhắn. Những từ khoá để phân loại tin nhắn thông thường được định nghĩa ở mục 5.2.1. Đối với những câu hỏi về ai, thường sẽ có những từ khố hỏi trong câu như sau:

ai là ai làm là ai ai tạo ra ai phát minh người nào

Các trường hợp khơng có từ khoá trùng với định nghĩa ở trên sẽ thuộc tin nhắn loại khác và sẽ được bộ sinh ngôn ngữ tự nhiên tạo ra câu trả lời.

CHƯƠNG 5 ĐẶC TẢ VÀ HIỆN THỰC HỆ THỐNG 39

5.2.5 Bộ xử lý tin nhắn (Message Handler)

Bộ xử lý tin nhắn có nhiệm vụ kết nối giữ chatbot với người dùng. Trong đề tài này, nhóm sử dụng một bộ cơng cụ mã nguồn mở BotKit để xây dựng hệ thống quản lý tin nhắn này. Bộ công cụ này sử dụng giao thức WebSocket để gửi nhận gói tin giữ người dùng và chatbot.

Một phần của tài liệu Phát triển hệ thống chatbot trò chuyện nhiều tầng (Trang 48 - 52)