Chương 1: Giới thiệu tổng quan về dé tài. Chương 2: Trình bày tổng quan về chatbot, nghiên cứu liên quan và các thách thức dé xây dựng một chatbot hiệu qua. Chương 3: Trình bày về cơ sở lý thuyết, cơ chế chú ý (Attention), kiến trúc cơ bản của mô hình Transformer và các kỹ thuật sẽ được sử dụng trong đê tai. Chương 4: Giới thiệu phương pháp TransferTransfo và cách ứng dụng vào bài toán xây dựng hệ thống hội thoại.
Chương 5: Cài đặt và triển khai ứng dụng. Chương 6: Kết luận, hạn chế và hướng phát trién. Phuong pháp thực hiện - _ Khảo sát một số bài báo liên quan đến chatbot. - _ Tìm hiểu các thuật toán trong những bai báo đã khảo sát.
- — Tìm các bộ dữ liệu đa lĩnh vực (Open-domain dataset) phù hợp với quy mô đề tài, tiền xử lý dữ liệu. - Tim hiểu một số thuật toán, mô hình TransferTransfo dé xây dựng ứng dụng. - Huan luyện mô hình trên tập dữ liệu đã thu thập được. - Sửa các lỗi phát hiện sau khi huấn luyện mô hình.
- So sánh, đánh gia mô hình dựa trên các độ đo như PPL, Hits@1, F1 score. - Triên khai mô hình trên ứng dụng cụ thê đê đáp ứng như câu của đê tài. CÁC NGHIÊN CỨU LIÊN QUAN 2. Chatbot là gi? Chatbot hay còn gọi là hệ thống trả lời tự động là một chương trình máy tính có khả năng tương tác với con người bằng ngôn ngữ tự nhiên thông qua tin nhắn văn bản hoặc âm thanh.
Từ khi AI ra đời, việc mô hình hóa các cuộc trò chuyện vẫn là một trong những thách thức khó khăn nhất của lĩnh vực này. Mặc dù vẫn chưa trở nên hoản hảo, nhưng chatbot hiện nay đã được sử dụng nhiều trong các trợ lý ảo như Siri (Apple), Google Assistant (Google), Alexa (Amazon), Cortana (Microsoft),. hay duoc ứng dung dé hỗ trợ ở nhiều lĩnh vực khác nhau tir E-commerce cho đến ngành du lịch. Phân loại kiến trúc chat bot Kiến trúc của chatbot được chia thành hai lớp: - Dva trên kịch bản có sẵn (Rule-based Systems) - Dựa trên kho dữ liệu (Corpus-based systems) Chatbot dựa trên kịch bản có sẵn bao gồm các chatbot nồi tiếng như ELIZA, PARRY được ra đời từ rất sớm là tiền đề cho các hệ thống chatbot thông minh ngày nay.
Khác với chatbot dựa trên các luật, chatbot dựa trên kho dữ liệu khai thác các cuộc đối thoại giữa người và người sau đó sử dụng chính phản hồi của từ những cuộc đối thoại trước đó dé phản hỏi lại bằng phương pháp rút trích thông tin (Retrival-based) hoặc sử dụng các mô hình dịch máy như mô hình chuỗi sang chuỗi (Sequence to sequence), Transformer dé học cách ánh xạ câu nói của người dùng đến phản hôi của hệ thống. Vì sao cần phải xây dựng một chatbot miền mở Trước đây, dé tạo một chatbot người ta sẽ xây dựng một kịch bản có sẵn cho chatbot. Phương pháp này tốn rất nhiều thời gian và công sức và khó dé mở rộng sang các lĩnh vực khác. Do đó, người ta đã nghiên cứu trên các chatbot miên mở.
Ưu điểm của loại chatbot này là có khả năng tham gia nhiều chủ đề, lĩnh vực khác nhau và dé dàng mở rộng. Đây là điều mà những chatbot miền đóng khó có thé làm được. Ngày nay, để tạo ra các chatbot miền mở người ta thường sử dụng phương pháp rút trích thông tin hoặc phương pháp tạo văn bản. Ngoài ra, trong một số hệ thống chatbot người ta còn kết hợp cả hai phương pháp này lại với nhau dé mang lại hiệu quả cao nhất.
Với những ưu điểm của chatbot miền mở mang lại, Tạo ra một hệ thống hội thoai phục vụ trên nhiều lĩnh vực trở thành mối quan tâm hàng đầu hiện nay. Thách thức để xây dựng một chatbot miền mở hiệu qua Xây dựng thành công một chatbot miền mở thông minh có thể trò chuyện với con người một cách mạch lạc và hap dan đã trở thành mục tiêu lâu dai của tri tuệ nhân tạo. Tuy đã trãi qua nhiều nghiên cứu, trí tuệ nhân tạo vẫn còn kém xa con người. Việc xây dựng hệ thống hội thoại miền mở có thê trò chuyện ở các chủ đề khác nhau như con người vẫn còn là thách thức vô cùng lớn.
Phần này sẽ giới thiệu về ba thách thức lớn trong việc xây dựng một chatbot miền mở hiệu qua theo [6] đó là: Thách thức về mat ngữ nghĩa (semantics), tính nhất quán (consistency) va tính tương tác (interactiveness). Bảng sau đây minh họa về ba vân đê đã đê cập ở trên: Vấn đề về mặt ngữ nghĩa User I come from HoChiMinh City. Machine Cool! I am from HaNoi, we come from the same city! User Back to HaNoi now. It is so cold but I am very happy! Machine When will you come to HaNoi? Van đề về tinh nhất quán User Are you a boy or a girl? Machine’ [ama boy.
User Are you a girl? Machine Yes, ama girl. Van đề về tính tương tác User Terrible breakfast today. Machine How about together tomorrow morning? User Sure. Would be great with your recommendation.
Machine — Really? Bảng 2.1: Một SỐ VÍ dụ minh họa vấn đề về mặt ngữ nghĩa, tính nhất quán, tính tương tác của chatbot miền mở - Thách thức về mặt ngữ nghĩa (semantics): Ngữ nghĩa là trung tâm của bat ky hé thống hội thoại nào bởi vì cuộc trò chuyện cơ bản là một hoạt động ngữ nghĩa. Nó yêu cầu hệ thống phải hiểu được nội dung của cuộc trò chuyện, thông tin cá nhân của người dùng như tính cách, cảm xúc, tình cảm,. dé sinh ra được câu trả lời hợp lý. Đứng trên góc độ kỹ thuật, ngữ nghĩa chủ yếu có liên quan đến các kỹ thuật hiểu ngôn ngữ tự nhiên (natural language understanding) và hiểu về người dùng (user understanding) bao gồm named entity recognition (Nhận dạng thực thé định danh), entity linking (Liên kết các thực thê được đề cập trong văn bản với các thực thê tương ứng trong cơ sở tri thức), domain detection (Nhận dạng miền — nó sẽ phân tích và xếp loại văn bản vào các miền định nghĩa trước), topic and intent detection (Xác định chủ đề và ý định của người dùng), user sentiment/emotion/opinion detection (Xác định tình cảm/cảm xúc/ý kiến của người dùng), và knowledge/ commonsense reasoning (Các kiến thức và suy luận thông thường).
- Tinh nhất quán (consistency): Đề dat được sự tin cậy của người dùng, điều quan trọng là hệ thống hội thoại phải đưa ra các phản hồi nhất quán với phản hồi của người dùng và lịch sử hội thoại trước đó. Đặc biệt phải đám ứng ba tiêu chí: Thứ nhất là nhất quán về tính cách, phản hồi đó cần phải phù hợp với tính cách đã định nghĩa trước. Thứ hai là nhất quán về phong cách, phản hồi cần có một phong cách nói nhất quán trong suốt cuộc trò chuyện. Thứ ba là nhất quán về ngữ cảnh, câu trả lời phải mạch lạc và nhất quán với ngữ cảnh hội thoại.
Đứng trên góc độ kỹ thuật đó là các bài toán về cá nhân hóa (personalization), tạo phong cách (stylistic generation), mô hình hóa nội dung (multi-turn context modeling). - Tinh tương tác (interactiveness): Tinh tương tac đề cập đến khả năng của hệ thong dé dat được các mục tiêu xã hội phức tạp như giải trí và phù hợp băng cách tối ưu hóa hành vi và chiến lược hội thoại trong một cuộc trò chuyện dai. Dé tăng cường tính tương tác, điều quan trọng hệ thống phải hiệu được trạng thái cảm xúc của người dùng. Các phản hồi không chỉ phản ứng lại mà còn chủ động dẫn dat chủ đề, tối ưu hóa chiến lược tương tác dé tối đa hóa mức độ tương tác của người dùng.
Các thách thức liên quan đến tính tương tác bao gồm nhận diện tình cảm va cảm xúc (sentiment and emotion detection), dialog state tracking, nhận diện va dé xuất chủ đề (topic detection and recommendation), hoc chiến lược đối thoại (dialog policy learning), Kiểm soát tạo phản hồi (controllable response generation). Đề tài sẽ tập trung vào giải quyết thách thức về tính nhất quán cụ thể là nhất quán về tính cách của hệ thong hội thoại. Các nghiên cứu liên quan Các nghiên cứu ban đầu trên hệ thống tự tạo hội thoại miền mở được lấy cảm hứng từ các nghiên cứu về dịch máy [16] [19] [22] sau đó, kiến trúc mã hóa giải mã được mở rộng dé cải thiện tinh đa dạng cho các phản hồi ([8], [27], [34], [20]) đến mô hình hóa cấu trúc nội dung cuộc trò chuyện ({18],[26], [30]), kiểm soát các thuộc tính của phản hồi ([28],[35], [24]), và phản hồi nghiên về một số tính cách cụ thé ([9], [31]). Hiện nay, các hệ thống hội thoại giải quyết sự nhất quán về tính cách được gom nhóm thành hai mục sau: Cá nhân hóa ngâm định và cá nhân hóa rõ ràng.
- Cá nhân hóa ngầm định: Tính cách được biểu diễn ngầm định bang một vector tính cách. Ví dụ Kim và các cộng sự [7] đề xuất phương pháp xếp hang dé tích hợp cơ sở kiến thức cá nhân và sở thích của người dùng trong hệ thống hội thoại, Zhang và cộng sự [32] đã sử dụng một embedding vector dé dai diện cho tính cách của người dùng va đưa vào từng vi trí giải mã của bộ giải mã. Những mô hình này cần được đào tạo bằng cách sử dụng dữ liệu hội thoại được gán nhãn định danh tính cách từng người, rất tốn kém đề thu thập được với số lượng lớn. Do đó, Wang và cộng sự [23] đề xuất huấn luyện mô hình được cá nhân hóa chi với các thuộc tính nhóm (ví du: Nam hoặc nữ).
Các thuộc tính này sẽ được nhúng vào các vector, sau đó dưa vào bộ giải mã dé tạo phản hồi. Zhang và cộng sự [33] đã đề xuất một mô hình hội thoại tạo ra phản hồi nhất quán bang cách duy trì một số đặc điểm lién quan đến chủ đề và tính cách trong suốt cuộc hội thoại. Việc cá nhân hóa trong các mô hình này được xử lý ngầm định, do đó không dễ diễn giải và kiểm soát trong việc tạo phản hồi mong muốn. - Ca nhân hóa rõ ràng: Trong [13], một mô hình tính cách rõ ràng được đề xuất để tạo ra các phản hồi gắn kết về tính cách với một hồ sơ được chỉ định trước.
Tính cách của chatbot được xác định băng một bảng khóa-giá trị (hồ sơ) bao gồm tên, tuổi, giới tính, sở thích,. Trong quá trình tạo phan hồi, đầu tiên mô hình chọn cặp khóa-giá trị từ hồ sơ sau đó giải mã phản hồi từ cặp khóa-giá trị đã chọn từ trước. Mô hình này có thể được huấn luyện trên dữ liệu hội thoại chung mà không cần định danh người nói. Xiaolce [36] cũng sử dụng mô hình có tính cách rõ ràng.