CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG TRẢ LỜI TỰ ĐỘNG Bài toán xây dựng hệ thống tự động phân luồng và trả lời câu hỏi là một bài toán khó thuộc lĩnh vực xử lý ngôn ngữ tự nhiên. Chúng ta biết rằng ngôn ngữ tự nhiên vốn nhập nhằng, đa nghĩa, việc xác định được ngữ nghĩa của câu hỏi cũng như phát hiện ra câu trả lời là một thách thức không nhỏ. Giữa câu hỏi và câu trả lời còn tồn tại các mối quan hệ phụ thuộc vào ngữ cảnh. Bài toán đặt ra nhiều thách thức để tự động phân luồng câu hỏi và phát hiện ra được câu trả lời phù hợp nhất, thông tin hữu ích nhất.
Chương này sẽ giới thiệu tổng quan về hệ thống tự động phân luồng và trả lời câu hỏi, tìm hiểu các nghiên cứu ở trong và ngoài nước để thấy được tình hình nghiên cứu và các phương pháp tiếp cận của các nghiên cứu trước đây.1 Hệ thống trả lời tự động Hệ thống hỏi đáp tự động có thể coi như một lựa chọn thứ hai bên cạnh hệ thống truy tìm thông tin khi người dùng muốn tìm kiếm thông tin họ cần. Hệ thống dựa vào thông tin đầu vào là các từ khóa và trả về tập dữ liệu liên quan (có chứa các từ khóa đó). Kết quả mà hệ thống truy tìm thông tin (máy tìm kiếm) trả lại cho người dùng là rất lớn, có thể lên đến hàng nghìn trang web mà phần nhiều không chứa thông tin người dùng mong muốn. Trong khi đó, hệ thống hỏi đáp nhận đầu vào là câu hỏi dưới dạng ngôn ngữ tự nhiên của người dùng, trả lại các đoạn văn bản ngắn chứa câu trả lời trực tiếp cho câu hỏi hoặc chứa những thông tin sát với mong muốn của người dùng.
Nghiên cứu về hệ thống hỏi đáp tự động hiện đang thu hút sự quan tâm của rất nhiều các nhà nghiên cứu từ các trường đại học, các viện nghiên cứu và cả các doanh nghiệp lớn trong ngành công nghệ thông tin, có ý nghĩa khoa học lẫn ý nghĩa thực tế. Rất nhiều các hội nghị thường niên về khai phá dữ liệu, trích chọn thông tin dành một chủ đề riêng cho các nghiên cứu về hệ thống hỏi đáp như 12 TREC - Text REtrieval Conference , CLEF - The Cross-Language Evaluation Forum … Một trong những thách thức chính trong phát triển của hệ thống đối thoại người máy hướng nhiệm vụ, và trong việc mở rộng chúng trong nhiều miền ứng dụng, được nhắc đến trong [4], là sự sẵn có của dữ liệu trên một miền hội thoại cụ thể. Hệ thống đối thoại cần kết hợp và khai thác nhiều thành phần, ví dụ như nhận dạng giọng nói, hiểu ngôn ngữ tự nhiên, giám sát hội thoại, phát sinh ngôn ngữ tự nhiên, và mỗi thành phần này yêu cầu sẵn có nguồn dữ liệu trên miền cụ thể, tài nguyên và các mô hình. Bao gồm các mô hình ngôn ngữ, mô hình ngữ âm, mô hình hiểu ngôn ngữ, các miền bản thể học, các kịch bản tương tác, các khuôn mẫu phát sinh ngôn ngữ, … Mặc dù, nhiều vấn đề AI đã được hưởng lợi ích từ các nguồn dữ liệu ngày càng lớn, thu thập dữ liệu end-to-end cho các hệ thống đối thoại hướng nhiệm vụ vẫn còn là một vấn đề khó khăn.
Phương pháp tiếp cận hiện tại để thu thập dữ liệu thoại dẫn đến chi phí phát triển cao và tiêu tốn thời gian cho các nhà phát triển hệ thống. Trừ khi các nguồn lực bên ngoài đã có sẵn (không phải trường hợp cho hầu hết các lĩnh vực), trong miền tập dữ liệu yêu cầu phải có một hệ thống triển khai có khả năng duy trì một cuộc đối thoại với người dùng. Điều này dẫn đến một vấn đề khởi động: do thiếu dữ liệu để huấn luyện hệ thống ban đầu, các nhà phát triển hệ thống mang gánh nặng về việc phát triển văn phạm và các mô hình ngôn ngữ, hoặc là thủ công hoặc với các nghiên cứu Wizard-of-Oz. Thu thập dữ liệu hội thoại với phiên bản đầu tiên của một hệ thống được triển khai có thiếu sót: chất lượng dữ liệu thu thập có thể phải chịu những bất cập của hệ thống chính nó, và người dùng có thể chịu ảnh hưởng ngôn ngữ của chúng để điều chỉnh cho những khuyết điểm của hệ thống trong việc theo hết một cuộc đối thoại.
Kết quả là, tốc độ của tập dữ liệu có thể chậm hơn so với mong muốn. Cuối cùng, quá trình phát triển tốn kém này phải được lặp đi lặp lại trên một lần nữa cho mỗi miền hoặc hệ thống mới, hoặc ngay cả khi chức năng mới được thêm vào. 13 Ritter và cộng sự (2010) [5] đã đề xuất phương pháp tiếp cận hướng dữ liệu cho việc xây dựng hệ thống đối thoại, và họ đã trích xuất ra 1,3 triệu cuộc hội thoại từ Twitter với mục đích là phát hiện ra các hành động trong cuộc hội thoại. Bằng việc xây dựng dựa trên sự tương đồng về phân phối trong khuôn khổ mô hình không gian vector, Banchs và Li (2012) [6] đã xây dựng một công cụ tìm kiếm để lấy câu trả lời thích hợp cho bất kỳ một thông điệp đầu vào.
Phương pháp tiếp cận khác tập trung vào nhiệm vụ trên một lĩnh vực cụ thể như các trò chơi [7], và các nhà hàng ăn uống (2016) [8,9]. Với sự ra đời của framework sequence-to-sequence [10], nhiều hệ thống huấn luyện gần đây đã sử dụng các mạng nơ-ron tái phát (RNN) để sinh ra các câu trả lời mới khi đưa vào mạng một câu hỏi hoặc một thông điệp. Ví dụ, Lê Viết Quốc và Vinyals [11] đã đề xuất sử dụng tập dữ liệu là lịch sử hỗ trợ kỹ thuật IT- help desk để huấn luyện mạng LSTM để sinh ra câu trả lời mới. Sordoni và cộng sự (2015) [12] đã xây dựng các cuộc đối thoại Twitter giới hạn bối cảnh lịch sử đến một thông điệp.
Với sự giúp đỡ của các mô hình ngôn ngữ được tiền huấn luyện, chúng mã hóa mỗi tin nhắn vào một vector đại diện. Để loại bỏ sự cần thiết cho một mô hình ngôn ngữ, Serban và cộng sự (2015) [13] đã thử huấn luyện end- to-end trên một mạng RNN. Họ cũng bắt đầu hệ thống của mình với các word embeddings đã được huấn luyện từ trước. Trong khi các hệ thống này có thể sản xuất ra các câu trả lời mới lạ, rất khó để hiểu được bao nhiêu khả năng được sử dụng bởi các mô hình ngôn ngữ tự nhiên so với việc mô hình hóa hội thoại đối thoại liền nhau.
Thông thường các phản ứng châu về các câu thường xuyên nhất được quan sát trong tập ngữ liệu được huấn luyện [14]. Việc xây dựng các chương trình trả lời tự động chatbots và conversational agents đã được theo đuổi bởi nhiều nhà nghiên cứu trong nhiều thập kỷ qua. Tuy nhiên, hầu hết các hệ thống hội thoại này đòi hỏi một quy trình xử lý khá phức tạp qua nhiều giai đoạn [15,16]. Hướng tiếp cận của chúng tôi khác với các hệ thống 14 thông thường bằng cách áp dụng mô hình sequence-to-sequence [10] để xây dựng một mô hình end-to-end cho vấn đề thiếu kiến thức miền.
Về nguyên tắc, nó có thể kết hợp với các hệ thống khác để ghi nhận một danh sách các đáp án ứng viên, nhưng mô hình của chúng tôi dựa trên việc sản sinh câu trả lời được đưa ra bởi một mô hình xác suất huấn luyện để cực đại hóa xác suất của câu trả lời trong một số ngữ cảnh. Đây là một hướng tiếp cận mới có nhiều triển vọng trong việc xây dựng một hệ thống đối thoại.2 Tình hình nghiên cứu trong và ngoài nước Hệ thống trả lời tự động đã được các nhà nghiên cứu quan tâm từ rất lâu rồi, bao gồm các trường đại học, các viện nghiên cứu và các doanh nghiệp. Việc nghiên cứu về hệ thống trả lời tự động có ý nghĩa trong khoa học và thực tế. Đã có rất nhiều các hội nghị thường niên về xử lý ngôn ngữ tự nhiên, khai phá dữ liệu, xử lý dữ liệu lớn, tương tác người máy, … như đã nói ở trên (TREC, CLEF), tại Việt Nam có KSE, RIVF, ATC, … Theo ý tưởng của Russel và cộng sự [17], thì một hệ thống AI phải được kiểm tra (hành động dưới sự ràng buộc hình thức và phù hợp với các điều kiện kỹ thuật); phải được xác nhận (không theo đuổi các hành vi không mong muốn dưới sự ràng buộc trước); phải an toàn (ngăn chặn các thao tác có chủ ý của các bên thứ ba, hoặc bên ngoài hoặc bên trong); và phải được kiểm soát (con người cần phải có cách để thiết lập lại kiểm soát nếu cần thiết).
Việc thiết kế hệ thống đối thoại là một nhiệm vụ đầy thách thức và là một trong những mục tiêu ban đầu của trí tuệ nhân tạo (Turing, 1950) [18]. Trong nhiều thập kỷ, việc thiết kế tác nhân đối thoại đã giúp các hệ thống dựa trên cơ sở tri thức và cơ chế dựa trên luật Rule-based để hiểu các thông điệp đầu vào của con người và tạo ra các phản hồi đáp ứng hợp lý [19-21]. Phương pháp tiếp cận hướng dữ liệu nhấn mạnh vào việc học trực tiếp từ các tập ngữ liệu của các cuộc đối thoại tiếng nói hoặc văn bản chữ viết. Gần đây, phương pháp này đã đạt được bước tiến 15 lớn vì lợi thế dữ liệu phong phú [13], tăng sức mạnh tính toán, và các thuật toán học tốt hơn mà tự động hóa quá trình tính năng kỹ thuật [22,23].
Cá nhân hóa hệ thống đối thoại đòi hỏi phải đầy đủ thông tin, từ mỗi người dùng và số lượng mẫu đủ lớn để xác định được khoảng không gian. Các phong cách Viết định lượng bằng độ dài từ, độ mạnh của động từ, tính phân cực, và phân phối các hành vi đối thoại đã được sử dụng để mô hình hóa người dùng, bởi Walker 2012, [24]. Những nỗ lực khác tập trung vào việc xây dựng một hồ sơ người dùng dựa trên nhân khẩu học, chẳng hạn như: giới tính, thu nhập, tuổi tác và tình trạng hôn nhân, bởi Bonin 2014, [25]. Năm 2000, Carbonell và các đồng nghiệp trong bài báo The Vision Statement to Guide Research in Question Answering and Text Summarization [26] đã đưa ra các tư tưởng chung cho việc nghiên cứu trả lời tự động.
Theo đó một hệ thống hỏi đáp được người dùng đánh giá là hữu ích nếu đáp ứng được các tiêu chuẩn: Tính hợp lý về thời gian (Timeliness): Câu trả lời phải được đưa ra trong thời gian ngắn, ngay cả khi có hàng ngàn người dùng cùng truy nhập hệ thống một lúc.