phần mở đầu chương sẽ giới thiệu bài toán Text-to- SQL cùng với các thách thức từ bộ dữ liệu trong ngữ cảnh tiếng Việt. Sau đó, các phương pháp tiếp cận đã được dé xuất sẽ được trình bày và phân tích để đặt cơ sở cho hai phương pháp mà luận văn đề xuất. Các đặc điểm về kiến trúc, tác vụ tiền huấn luyện của các mô hình ngôn ngữ được dùng trong các cách tiếp cận hiện tại sẽ được sơ lược trong phần kết chương. Bài toán Text-to-SQL 2.
Phát biểu bài toán Chuyển đổi ngôn ngữ tự nhiên sang dạng logic (semantic parsing) là một trong những vấn dé nên tảng trong Xử lý ngôn ngữ tự nhiên. Một dang của bài toán Semantic Parsing là chuyền đồi ngôn ngữ tự nhiên sang ngôn ngữ biéu diễn như: logic bậc nhất (first order logic) , hay các ngôn ngữ lập trình (Python, Java, SQL. Text-to-SQL là một dang cụ thể của bài toán vừa nêu với đích chuyển đổi là ngôn ngữ truy vấn có cấu trúc SQL. Bài toán được phát biểu cụ thể như sau: Input: 1) Lược đồ cơ sở dữ liệu (Schema) S = 7 UC bao gồm m bảng T = {f, tạ, tz, .„„fm} va các cột thuộc tính tương ứng với từng bang C= t.
t; t; t; ; (C1, Cah Cha se, Có, CỤ, C2” Ca”, «ý G7 oe} 2) Câu hỏi truy van dạng ngôn ngữ tự nhiên Q = (đ¡, đa, 43, ++» Nal) Output: Câu truy vấn SQL tương ứng với ngữ nghĩa của câu hỏi dạng ngôn ngữ tự nhiên. Để phục vụ cho việc nghiên cứu bài toán, đã có nhiều tập dữ liệu được phát triển đa dạng trên nhiều mức độ khó và miễn tri thức khác nhau. Điển hình, ở mức cơ bản nhất trong đó các tập dữ liệu đơn giản chỉ bao gồm một cơ sé đữ liệu với số lượng CƠ SỞ LÝ THUYET nhỏ các câu truy vấn như ATIS [5], GeoQuery [6], Academic [7]. Hơn nữa, câu truy van SQL của các tap đữ liệu nay trong tập train va test là giống nhau, nên chưa đánh giá được khả năng thực sự của mô hình được áp dụng.
Nâng cấp hơn về độ lớn tập dữ liệu thì ta có tập WiKiSQL [1]. Tuy số có số lượng câu truy van SQL cùng với số lượng cơ sở dữ liệu lớn hơn các tập dữ liệu trên, các câu truy vấn trong tập WiKiSQL còn khá đơn giản. Đồng thời, mỗi một cơ sở dữ liệu chỉ bao gồm một bảng. Tập dữ liệu đủ phức tạp và gần với thực tế nhất cũng như là tập dữ liệu mà luận văn tập trung là Spider [2].
Tập Spider bao gồm nhiều câu truy vấn với các cấp độ phức tạp khác nhau, đồng thời mỗi cơ sở dữ liệu bao gồm nhiều bảng và thuộc các miền tri thức khác nhau. Các bộ dữ liệu nêu trên đều tập trung ở ngôn ngữ phổ biến trên tiếng Anh, chưa có nhiều tập dữ liệu cũng như công trình cho bài toán trên tiếng Việt. Khảo sát tới thời điểm thực hiện luận văn, có hai tập dit liệu cho bài toán trên tiếng Việt. Dau tiên là tập dữ liệu từ công trình của Vuong cùng các cộng sự [8], bao gồm 1258 câu truy vấn đơn giản trên 03 cơ sở dữ liệu.
Tuy nhiên, tập dữ liệu này không được công bố công khai. Một tập dữ liệu khác được dịch từ tap Spider cho tiếng Anh được nêu trên từ công trình cua Tuan cùng các cộng sự [9] , đây cũng là tập mà luận văn tập trung chính. @ Những quốc gia nào ở châu Âu có ít nhất 3 nhà sản xuất xe hơi? j “ SELECT T1.[lục dia] = “chau âu” GROUP BY T1. Một mẫu đữ liệu cho bài toán trong tap Spider tiéng Viét.
Các thách thức của bài toán Text-to-SQL trên tiếng Việt. Việc thực hiện bài toán trên ngôn ngữ tiếng Việt đối mặt với nhiều thách thức: sự khác biệt từ đặc điểm ngôn ngữ, thách thức từ tập dữ liệu Spider tiếng Việt và thiếu các mô hình ngôn ngữ chuyên biệt cho bài toán. Về đặc điểm ngôn ngữ, việc dịch từ tiếng Anh sang tiếng Việt có khả năng sinh ra một số sai sót từ việc mang cách dùng của tiếng Anh sang tiếng Việt. Ngoài ra, việc phân tách từ trong tiếng Anh thường dùng dấu cách, tiếng Việt thì không.
Các đặc điểm này ảnh hưởng đến hiệu suất của mô hình và đã được trình bày trong thực nghiệm từ nghiên cứu của Tuan cùng các cộng sự [9]. Về các khó khăn tạo ra từ tập dữ liệu, ta có thé tổng hợp 03 thách thức chính từ tập dữ liệu Spider trên tiếng Việt. Đầu tiên, tập dữ liệu đề ra 04 mức độ khó khác nhau: Easy, Medium, Hard, Extra Hard. Các mức độ khó này bao phủ hết gần như các trường hợp khi viết câu truy vấn trong thực tế.
Ở các độ khó cao hơn, câu truy van bao gồm các câu truy van lồng và câu truy van con. Điều này yêu cầu mô hình phải học được tính câu trúc tốt khi sinh câu truy vấn. Tiếp theo, các cơ sở dữ liệu bao gồm nhiều bảng liên kết với nhau bằng khóa ngoại. Từ đó, mô hình cần xác định được bảng, hay cột nào trong lược đồ có tham gia vào việc sinh ra câu truy van.
Tổng quát hơn là mô hình cần xác định được yêu tố liên kết giữa các thành phan trong Input của bài toán. Việc xác định đặc trưng liên kết này sẽ đơn giản trong trường hợp tên bảng hoặc tên cột xuất hiện trong câu hỏi tự nhiên như trường hợp của bảng “quốc gia” trong Hình 2. Tuy nhiên đối với các liên kết được suy luận hay có tính tương đồng về mặt ngữ nghĩa thì mô hình sẽ gặp nhiều khó khăn. Ví dụ như trong Hình 2.1, mô hình cần xác định được là “châu Âu” được đề cập trong câu hỏi có liên quan đến bảng “lục địa” trong lược đồ cơ sở dữ liệu.
Thách thức cuối cùng từ tập dữ liệu là việc chuyển miền tri thức giữ các cơ sở dữ liệu. Mỗi một cơ sở đữ liệu đề cập đến một lĩnh vực khác nhau, đồng thời các miền tri thức khi đánh giá mô hình chưa từng xuất hiện CƠ SỞ LÝ THUYẾT trong quá trình huấn luyện. Điều này yêu cầu mô hình phải đạt hiệu suất tốt trên các miễn tri thức chưa từng gặp trong quá trình huấn luyện. Train ee — joo — database: company office (eo — fe} ) | What are the name of each industry and the number of company in | | Cho biết tên của tắt cả các ngành công nghiệp va số lượng công ty | Oo that industry ? tương ứng thuộc mỗi nganh ? | sevecr Industry, count(*) FROM Companies GROUP BY Industry | SELECT Ngành công nghiệp, count(*) FROM Công ty GROUP BY Nganh công nghiệp | Test co ee —| database: architecture oo —) fe) 9) What is the most common WIR type: and no raany are there? Cho biết loại nha may phổ biến nhất và có bao nhiêu nha may thuộc loại ^^ l.
nay? S SELECT Type, count(*) FROM mil/ GROUP BY Type ORDER BY count(*) SELECT Loại, count(*) FROM Wha may GROUP BY Loại ORDER BY Ea DESC LIMIT4 count(*) DESC LIMIT 1 Hinh 2. Van dé chuyén miền tri thức trong tập dữ liệu Spider tiếng Việt. Tập dữ liệu dùng trong quá trình đánh giá thuộc miền tri thức công trình kiến trúc, trong khi tập dữ liệu dùng đề huấn luyện thuộc miền tri thức về công ty. Ví dụ trong Hình 2.2, mô hình được huấn luyện trên các mẫu từ cơ sở dự liệu công ty văn phòng (company office) nhưng mau test là từ một cơ sở dữ liệu với lĩnh vực khác hoàn toàn là về công trình kiến trúc.
Thách thức này xảy ra với hầu hết các mô hình máy học và thường được nhắc đến với khái niệm là tổng quát hóa miền tri thức (Domain Generalization). Các cách tiếp cận hiện tại thực hiện việc tinh chỉnh các mô hình đã được huấn luyện cùng với mô hình chính cho bài toán để tăng hiệu suất của mô hình. Đối với ngữ cảnh ngôn ngữ tiếng Việt, theo khảo sát của học viên, chỉ có các mô hình ngôn ngữ được huấn luyện trên dữ liệu văn bản, chưa có các mô hình được huấn luyện sẵn tập trung cho dữ liệu dạng bảng cho bài toán Text-to-SQL như mô hình GraPPa [10] trên tiếng Anh. Các phương pháp tiếp cận học sâu Các nghiên cứu hiện tại trên bài toán phần lớn sử dụng các mô hình học sâu (Deep learning) chia làm 2 nhánh chính theo cau trúc của mô hình bao gồm: mã hóa- giải mã (Encoder-Decoder) và điền vào khung câu truy van cho trước (Sketch-based CƠ SỞ LÝ THUYÉT slot-filling) [11].
Các mô hình dang Encoder-Decoder có thé chia thành 02 nhóm con là mô hình chuỗi sang chuỗi (Seq2seq) [1] và giải mã dựa trên ngữ pháp (Grammar- based) [12] [13]. Mỗi cách tiếp cận có ưu và nhược điểm khác nhau cụ thé như sau: 1) Seq2Seq: cách tiếp cận tương tự như bài toán dich máy, với nguồn là ngôn ngữ tự nhiên và đích là câu truy vấn SQL. Trước hết, các từ trong câu hỏi tự nhiên sẽ được mã hóa (encode) bởi một bộ mã hóa (Encoder). Dựa trên thông tin mã hóa này, bộ giải mã (Decoder) dự đoán tuần tự từng thành phần trong chuỗi câu truy van output.
- Uu điểm: có khả năng sinh ra các câu truy van phức tạp khác so với nhãn do không bị giới hạn không gian câu truy vấn đầu ra. - _ Nhược điểm: dễ sinh ra các từ hoặc từ khóa lạ không đúng với câu truy vấn. 2) Grammar-based: nhóm cách tiếp cận này khác với mô hình seq2seq trong phần giải mã ở chỗ quy trình giải mã được giới hạn trong các luật ngữ pháp của ngôn ngữ SQL. Cụ thé hơn, quá trình giải mã thường đi theo quy trình duyệt cây cú pháp trừu tượng (Abstract Syntax Tree) của ngôn ngữ SQL.
- Uu điểm: câu truy van được tao ra giới han trong phạm vi ngữ pháp của ngôn ngữ SQL do đó khó tạo ra các từ lỗi. - Nhược điểm: phụ thuộc vào bộ ngữ pháp của ngôn ngữ SQL được sử dụng do đó hạn chế không gian câu truy vấn kết quả. 3) Sketch-based slot-filling: cách tiếp cận này giới hạn không gian kết quả đầu ra trong một khung câu truy vấn SQL. Từ đó, mô hình cần dự đoán sự có mặt của các thành phần trong khung câu truy vấn (ví dụ như có điều kiện chọn hay không), sau đó điền các giá trị thích hợp vào khung.
Các giá trị được điền vào khung có thé là tên cột, tên bảng hay là giá trị từ câu hỏi tự nhiên cung cấp. - Ưu điểm: dam bảo câu truy van đúng cấu trúc và ngữ pháp của SQL nhờ khung có sẵn.