CHƯƠNG 3: XÂY DỰNG HỆ THỐNG CHATBOT
3.2 Kiến trúc cơ bản hệ thống Chatbot theo hướng mục tiêu
3.3.3 Sinh ngôn ngữ tự nhiên
NLG là thành phần sinh câu trả lời của chatbot, NLG có thể được sinh ra câu trả lời dựa vào tập mẫu câu trả lời đã huấn luyện. Nó dựa vào việc ánh xạ các hành động của quản lý hội thoại vào ngôn ngữ tự nhiên để trả lời người dùng.
Trong NLG có ba phương pháp kỹ thuật được sử dụng là: Template-Base, Class- base, Phrase-Based .
Rasa sử dụng Template-Based cho NLG.
3.3.3.1. Template-based NLG
Phương pháp ánh xạ câu trả lời này là dùng những câu mẫu trả lời của bot đã được định nghĩa từ trước để sinh câu trả lời
Semantic Frame Natural Language
Confirm() Bạn vui lòng cho biết tên ngành học bạn đang
muốn tìm hiểu?
Confirm (ten_nganh=$N) Bạn muốn tìm hiểu ngành công nghệ thông tin?
Confirm (diem_chuan=$D) Bạn muốn tìm hiểu điểm chuẩn năm 2023?
Confirm (ten_nganh=$N,
diem_chuan=$D) Bạn muốn tìm hiểu điểm chuẩn năm 2023 của
ngành công nghệ thông tin?
Ưuđiểm: Phương pháp này đơn giản, kiểm soát dễ dàng. Phù hợp cho các bài toán miền đóng.
Nhượcđiểm:Phương pháp này có nhược điểm là tốn thời gian định nghĩa các luật, không mang tính tự nhiên trong câu trả lời. Đối với các hệ thống lớn thì khó kiểm soát các luật dẫn đến hệ thống cũng khó phát triển và duy trì.
3.3.3.2. Class-based NLG
Class-based NLG (Natural Language Generation) là một phương pháp để tạo ra văn bản tự nhiên dựa trên các lớp hay mẫu câu đã được định nghĩa trước. Thay vì tạo ra các văn bản từng từ hoặc cụm từ, Class-based NLG tìm kiếm và điền vào các mẫu văn bản đã được chuẩn bị trước dựa trên các thông tin đầu vào.
Mô hình Class-based NLG thường có hai thành phần chính:
- Class Definitions (Định nghĩa lớp): Các định nghĩa lớp chứa các mẫu văn bản
sẽ được sử dụng trong quá trình NLG. Mỗi lớp đại diện cho một loại thông điệp hoặc trạng thái cụ thể trong hệ thống và có thể chứa các tham số hoặc biến số để điền vào các giá trị cụ thể.
- Template Filling (Điền mẫu): Trong quá trình NLG, các lớp và thông tin đầu vào được ánh xạ vào các mẫu văn bản tương ứng. Các giá trị cần điền vào mẫu được trích xuất từ các thông tin đầu vào và được chèn vào các vị trí đã được đánh dấu trong mẫu văn bản.
Phương pháp này dựa trên việc cho bot học những câu trả lời đầu vào đã được gán nhãn. Ứng với các hành động (action) và thông tin (slot) từ quản lý hội thoại thì bot sẽ đưa ra câu trả lời gần nhất dựa trên tập dữ liệu trả lời được đào tạo trước đó.
Hình 3.3 Phương pháp sinh ngôn ngữ class-based[2]
Ưuđiểm: phương pháp này dễ thực hiện và dễ hiểu, các quy tắc đơn giản.
Nhược điểm: phụ thuộc vào dữ liệu trả lời đã được gán nhãn đào tạo trước đó. Bên cạnh đó việc tính toán điểm số không hiệu quả cũng dân đến việc sinh câu trả lời sai.
3.3.3.3. Phrase-based NLG
Phrase-based NLG (Natural Language Generation) là một phương pháp để tạo ra văn bản tự nhiên dựa trên việc ghép nối các cụm từ, cụm từ hoặc câu thành các đoạn văn bản. Mô hình Phrase-based NLG thường được xây dựng dựa trên một cơ sở dữ liệu các từ và các mẫu ngữ cảnh để tạo ra các cấu trúc ngôn ngữ tự nhiên.
42
Các thành phần chính của Phrase-based NLG bao gồm:
- Lexicon (Từ điển): Lexicon là một cơ sở dữ liệu chứa các từ vựng, cụm từ hoặc cấu trúc ngôn ngữ. Lexicon có thể được sắp xếp theo loại từ, ví dụ: danh từ, động từ, tính từ, trạng từ, và chứa các biến thể và thông tin ngữ cảnh cho từng từ.
- Language Templates (Mẫu ngôn ngữ): Language templates là các mẫu câu hoặc cụm từ đã được chuẩn bị trước để tạo ra văn bản tự nhiên. Các mẫu ngôn ngữ có thể chứa các vị trí để điền vào thông tin cụ thể từ lexicon hoặc thông tin đầu vào.
- Contextual Information (Thông tin ngữ cảnh): Contextual information là các thông tin về ngữ cảnh hoặc thông tin đầu vào cụ thể. Các thông tin này có thể được sử dụng để điều chỉnh việc lựa chọn từ và cấu trúc ngôn ngữ trong quá trình tạo ra văn bản tự nhiên.
Phương pháp này dựa trên việc cho bot đào tạo hoàn toàn từ dữ liệu mà không cần phải làm thủ công. Tất cả các yêu cầu nhiệm vụ như là sắp xếp nội dung, tổng hợp, lựa chọn từ vựng và hiện thực hóa được học từ dữ liệu sử dụng một mô hình thống nhất, biểu diễn ngữ nghĩa ở cấp độ cụm từ, đủ biểu cảm để tạo ra những lời nói tự nhiên.
Hình 3.4 Phương pháp sinh ngôn ngữ Phrase-based[2]
Ưuđiểm: phương pháp này cho hiệu quả, hiệu suất tốt.
Nhược điểm: Phương pháp này yêu cầu liên kết ngữ nghĩa, thiết kế nặng nề, đòi hỏi phải rõ miền kiến thức