Trung lập: “Tôi sẽ rất vui néu bạn tiếp tục trò chuyện cùng tôi đấy!”

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Xây dựng Chatbot biết cảm thông dựa trên mô hình Bert cho tiếng Việt (Trang 54 - 57)

ĐẦU RA Hình 4.1. Mô hành tổng quan của hệ thống chatbot

thoại 19. Một hệ thống chatbot không thé chi dựa vào bộ truy vấn thông tin

5. Trung lập: “Tôi sẽ rất vui néu bạn tiếp tục trò chuyện cùng tôi đấy!”

- Bắt sự kiện lần cuối nhắn tin của người dùng, đếm ngược n giây (n được

gán theo mức độ hài lòng của người dùng, hiện tại là 50 giây) và gửi câu

duy trì đối thoại cho người dùng dựa vào cảm xúc trước đó của họ, nếu duy trì quá 3 câu mà người dùng vẫn không tiếp tục trò chuyện thì cuộc hội thoại kết thúc.

Việc gom nhóm 32 nhãn cảm xúc trong bộ dữ liệu vào 5 nhóm trên dựa vào

lí thuyết “Cảm xúc trong tự nhiên” (Natural Emotion) [3], bởi vì các nhãn cảm xúc mang sắc thái tích cực không tách biệt hoàn toàn với nhau nên chúng tôi tiến hành gộp lại với nhau, và bổ sung thêm 1 nhóm trung

lập cho những câu khó nhận biết tâm trạng.

4.5.4 kịch ban cho một cuộc trò chuyện

Để có được một cuộc trò chuyện diễn ra một cách mạch lạc và xuyên suốt

thì việc lên kịch bản cho một cuộc trò chuyện là điều cần thiết. Không giống như một cuộc giao tiếp thông thường giữa người với người, việc lên kịch bản cho một cuộc trò chuyện giữa người và máy là điều không hề dễ dàng, đặc biệt là trong các trường hợp không giới hạn miền lĩnh vực cụ thể. Tuy vậy, chúng tôi

cố gang thiết kế kịch bản hội thoại sao cho đáp ứng được các yếu tố tối thiểu

43

cần có, thông thường, một cuộc trò chuyện có ba thành phần cơ bản là mở đầu; phần thân và cuối cùng là kết thúc.

Đối với trường hợp mở đầu câu chuyện, chúng tôi thiết lập các luật để nhận biết khi nào người dùng đang chào hỏi để có chiến thuật trả lời hợp lý bằng cách xây dựng một loạt các trường hợp mà người dùng có thể chào, sau đó kiểm tra

input có thuộc trong các trường hợp đó không. Các bước bao gồm:

- Khi bắt đầu cuộc trò chuyện, chatbot tự động mở đầu bằng lời chào người

dùng.

- Sau khi người dùng bắt đầu nhập input vào, hệ thống kiểm tra:

+ Nếu người dùng đang chào lại, chatbot đưa ra các câu hỏi mở ngẫu

nhiên mà chúng tôi đã chuẩn bị trước để hướng người dùng vào trọng tâm của câu chuyện. Ví dụ như: 7 có thể giúp gi được bạn không ?; Hay kể câu chuyén của bạn cho tôi nghe di, tôi húa sẽ tâm sự uới ban

một cách chân thành; Thật tốt khi bạn trò chuyén tới tôi, thế hôm nay bạn như thế nào ?; ...

+ Trong trường hợp hệ thống nhận thấy người dùng không chào lại chatbot

mà đi trực tiếp vào câu chuyện, hệ thống chuyển sang mô đun dành cho truy vấn thông tin.

Mô đun truy vấn thông tin của chatbot có nhiệm vụ tìm ra câu phản hồi thích hợp nhất trong tập ứng viên (candidates).

Để kết thúc một cuộc trò chuyện, chúng tôi vẫn sử dụng hệ thống luật tương

tự như phan chào hỏi. Bên cạnh đó chúng tôi xây dựng một nút gọi là "Kết

thúc cuộc trò chuyện” để người dùng chủ động kết thúc hoặc ngắt ngang cuộc

trò chuyện khi không muốn tiếp tục nữa. Khi cuộc hội thoại kết thúc, chatbot

chủ động đưa ra các câu chào tạm biệt và cảm ơn, như: Cam ơn bạn, hẹn gặp lại bạn trong mét ngà không xa; Thật hạnh phúc khi bạn trò chuyén uới tôi như

44

thế nay, tạm biệt va hẹn gặp lại bạn; Cam ơn bạn vi đã trò chuyện cùng tôi, chúc bạn có mét ngày vui vé; ... được chúng tôi chuẩn bị san.

4.6 Ham mục tiêu

Việc không thể thiếu trong huấn luyện mô hình học máy đó là tìm một hàm mục tiêu phù hợp để giải bài toán đề ra, thay vì sử dụng công thức mà tác giả

đề xuất trong [8] chúng tôi đưa ra cách tính hàm mục tiêu mới để tối ưu độ tương đồng của hai véc tơ dựa trên hai thành phần: tối ưu về góc và tối ưu độ

lớn. Công thức hàm mục tiêu mới cho hai véc tơ và v xem ở 4.4.

objective(u,v) = a. cos(u,v) — ỉ. (||u — 0||a), uới o € V. (4.4)

Câu phản hồi của chatbot là candidates có giá trị objective cao nhất. Mô hỡnh tối ưu theo hướng tối ưu hoỏ cực đại hàm mục tiờu (maza/eô„e), khi đú

độ tương đồng cosine được lấy cực đại và khác biệt khoảng cách nhỏ nhất (dấu trừ trước 8). Trong đó, a = #.|u|.|o| không cố định và biến thiên phụ thuộc

vào từng mẫu huấn luyện. a, ỉ là cỏc hệ số dựng để điều chỉnh sự cõn đối giữa

hai mục tiêu, chọn giá trị cho hai đại lượng này là dựa vào thực nghiệm. Trong khoỏ luận này, chỳng tụi chọn k = 1(œ = ||. |o|) và ỉ = 1.

4.7 Hàm mất mát

Đối với mô hình truy vấn này, chúng tôi sử dụng negative log likeli-

hood'°(viết tắt là NLL) để tính toán sự sai khác giữa giá trị dự đoán (pred)

với giá trị thật (target). Công thức tính là:

Loss = NLL(wred,target) (4.5)

'9nttps://pytorch. org/docs/stable/generated/torch.nn.NLLLoss.html#torch.nn.

NLLLoss

45

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Xây dựng Chatbot biết cảm thông dựa trên mô hình Bert cho tiếng Việt (Trang 54 - 57)

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

(83 trang)