Bối cảnh và vấn đề nghiên cứu

Trong xu thế số hóa và phát triển của công nghệ thông tin, dữ liệu đóng vai trò cốt lõi trong hoạt động vận hành của các tổ chức và doanh nghiệp. Việc thiết kế cơ sở dữ liệu quan hệ và truy vấn dữ liệu đòi hỏi nguồn nhân lực có chuyên môn kỹ thuật sâu về mô hình hóa dữ liệu và ngôn ngữ truy vấn có cấu trúc. Để tối ưu hóa quy trình phát triển phần mềm và nâng cao tính linh hoạt trong quản trị dữ liệu, hướng nghiên cứu tự động hóa quá trình chuyển đổi từ ngôn ngữ tự nhiên sang các thành phần kỹ thuật cơ sở dữ liệu nhận được sự quan tâm lớn.

Khóa luận tốt nghiệp "Proposing methods to automatically design database and generate query statement from natural language description" của hai sinh viên Nguyễn Thị Mỹ Trân và Tôn Nữ Tú Quyên (Khoa Hệ thống Thông tin, Trường Đại học Công nghệ Thông tin – ĐHQG-HCM, năm 2024; hướng dẫn bởi PGS.TS Nguyễn Đình Thuân và ThS. Vũ Minh Sang) tập trung giải quyết bài toán tự động hóa chuyển đổi văn bản tiếng Việt sang các thành phần cơ sở dữ liệu. Nghiên cứu xác định hai bài toán trọng tâm:

  1. Bài toán 1 – Text to ERD:

    • Đầu vào: Đoạn văn bản tiếng Việt mô tả các yêu cầu quản lý của hệ thống cơ sở dữ liệu.
    • Đầu ra: Mã nguồn PlantUML mô phỏng biểu đồ thực thể mối kết hợp (Entity Relationship Diagram – ERD) theo ký pháp Crow's Foot; hình ảnh ERD kết xuất từ PlantUML; các câu lệnh định nghĩa dữ liệu (Data Definition Language – DDL) để tạo bảng, khóa chính, khóa ngoại và các ràng buộc toàn vẹn.
    • Nhiệm vụ xử lý: Chuẩn hóa câu mô tả tự nhiên theo cấu trúc quy tắc mẫu (rule-based); nhận diện các phần tử ERD (loại thực thể, thuộc tính, khóa chính, mối kết hợp, bản số); sinh mã PlantUML và sinh câu lệnh DDL tương ứng.
  2. Bài toán 2 – Text to SQL:

    • Đầu vào: Câu hỏi truy vấn dữ liệu được diễn đạt bằng ngôn ngữ tự nhiên tiếng Việt.
    • Đầu ra: Câu truy vấn Structured Query Language (SQL) tương ứng, có khả năng thực thi trực tiếp trên hệ quản trị cơ sở dữ liệu quan hệ để trích xuất dữ liệu.
    • Nhiệm vụ xử lý: Tiền xử lý văn bản tiếng Việt (loại bỏ ký tự thừa, chuẩn hóa từ viết tắt); sử dụng mô hình học máy để mã hóa câu hỏi thành biểu diễn số học (embeddings) và giải mã thành câu lệnh SQL; hậu xử lý kiểm tra và sửa lỗi cú pháp.

Nghiên cứu chỉ ra những thách thức lớn đối với việc xử lý tiếng Việt trong miền ứng dụng này:

  • Thiếu hụt tài nguyên ngữ đoàn: So với tiếng Anh (với các bộ dữ liệu chuẩn như SPARC, CoSQL, WikiSQL), tài nguyên tiếng Việt phục vụ cho bài toán thiết kế cơ sở dữ liệu và chuyển đổi câu truy vấn còn rất hạn chế, thiếu các tập ngữ liệu gán nhãn quy mô lớn.
  • Tính đa dạng và sắc thái cú pháp: Trật tự sắp xếp từ ngữ, sự đa dạng của từ vựng và cấu trúc câu trong văn phong tiếng Việt tạo ra rào cản lớn trong việc xác định chính xác các thành phần thực thể, mối kết hợp và điều kiện lọc.
  • Yêu cầu tính toàn vẹn kỹ thuật: Đầu ra của hệ thống phải tuân thủ nghiêm ngặt cú pháp của PlantUML, chuẩn DDL (như SQL Server) và chuẩn câu truy vấn SQL để có thể thực thi chính xác trong thực tế.

Mục tiêu nghiên cứu:

  • Xây dựng bộ mã nguồn tự động chuyển đổi mô tả tiếng Việt thành lược đồ ERD (thông qua mã PlantUML) và các câu lệnh DDL hoàn chỉnh.
  • Xây dựng bộ mã nguồn tự động chuyển đổi câu hỏi truy vấn tiếng Việt thành câu lệnh SQL thực thi được.
  • Phát triển ứng dụng web tích hợp giao diện người dùng trực quan, kết nối qua giao diện lập trình ứng dụng (API) để người dùng thao tác trực tiếp mà không cần can thiệp mã nguồn.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Các phương pháp và mô hình phân tích ngôn ngữ tự nhiên để nhận diện thực thể, thuộc tính, mối quan hệ và bản số; các mô hình ánh xạ câu truy vấn ngôn ngữ tự nhiên sang câu lệnh SQL.
  • Phạm vi nghiên cứu:
    • Về dữ liệu: Các đoạn văn mô tả cơ sở dữ liệu thu thập từ 100 đề thi, bài tập và bài tập thực hành môn Cơ sở dữ liệu (mã môn IT004) tại môi trường đào tạo đại học.
    • Về mô hình: Tiếp cận thông qua mô hình Transformer tiền huấn luyện tiếng Việt (VietAI/vit5-base), kiến trúc đa ngôn ngữ mT5, kiến trúc BERT (cho tác vụ ERD elements tagging), kết hợp các hệ thống rule-based và heuristics rules.
    • Về công nghệ triển khai: Python 3, Flask RESTful API, ASP.NET Core MVC (C#), thư viện PlantUML.

Cơ sở lý thuyết và phương pháp

Khóa luận kết hợp giữa lý thuyết thiết kế cơ sở dữ liệu kinh điển và các kỹ thuật xử lý ngôn ngữ tự nhiên hiện đại:

1. Khung lý thuyết thiết kế cơ sở dữ liệu và truy vấn

  • Mô hình thực thể mối kết hợp (ERD): Được Peter Chen đề xuất năm 1976. Nghiên cứu chuẩn hóa các thành phần gồm Loại thực thể (Entity Type), Thực thể (Entity), Thuộc tính (Attribute), Khóa của loại thực thể (Entity Type Key), Loại mối kết hợp (Relationship Type), Thuộc tính của mối kết hợp và Bản số (Relationship Cardinality: tối thiểu và tối đa). Để trực quan hóa trên máy tính, tác giả sử dụng ký pháp Crow's Foot không kèm động từ (Crow's Foot notation without verb) được PlantUML hỗ trợ.
  • Ngôn ngữ định nghĩa dữ liệu (DDL): Tập con của SQL dùng để thiết lập cấu trúc cơ sở dữ liệu, tập trung vào các câu lệnh CREATE TABLE, ALTER TABLE (bổ sung khóa ngoại FOREIGN KEY), DROP và TRUNCATE theo chuẩn Microsoft SQL Server.
  • Ngôn ngữ truy vấn dữ liệu (SQL): Chuẩn hóa cấu trúc câu truy vấn dữ liệu bao gồm các mệnh đề SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, các phép kết nối bảng (INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN), truy vấn con (Subquery), các phép toán tập hợp (UNION, UNION ALL, INTERSECT, EXCEPT), cùng các hàm tổng hợp (COUNT, SUM, AVG, MIN, MAX).

2. Các mô hình xử lý ngôn ngữ tự nhiên

  • Mô hình T5 và mT5: Kiến trúc Text-to-Text Transfer Transformer đồng nhất mọi bài toán NLP dưới dạng ánh xạ từ chuỗi văn bản đầu vào sang chuỗi văn bản đích. Nghiên cứu sử dụng mô hình tiền huấn luyện VietAI/vit5-base (dựa trên kiến trúc encoder-decoder của T5, được đào tạo trước trên tập dữ liệu tiếng Việt CC100). Đối với bài toán paraphrase mô tả hệ thống, mô hình được huấn luyện để chuyển các câu tiếng Việt có cú pháp tự do về dạng chuẩn quy tắc. Đối với bài toán Text to SQL, mô hình T5 đảm nhận vai trò dịch từ chuỗi câu hỏi tiếng Việt sang chuỗi lệnh SQL.
  • Mô hình BERT và Heuristics Rules: Kiến trúc Bidirectional Encoder Representations from Transformers với cơ chế Masked Language Model (MLM) được áp dụng để xây dựng mô hình gán nhãn thành phần ERD (BERTPoSTagger), kết hợp hệ thống luật suy nghiệm (heuristics rules) nhằm xử lý các cấu trúc từ vựng phức hợp và bản số liên kết.

3. Phương pháp tiếp cận dựa trên quy tắc (Rule-based và Heuristics)

Tác giả xây dựng bộ khung chuẩn hóa câu tiếng Việt phản ánh quan hệ cơ sở dữ liệu:

  • Mẫu xác định thực thể và khóa chính: "Mỗi/Một + [A] + được xác định bởi duy nhất một + [B]" $\rightarrow$ A là thực thể, B là khóa chính.
  • Mẫu xác định thuộc tính: "Mỗi/Một + [A] + được gán + [B], [C]" $\rightarrow$ B, C là thuộc tính của A.
  • Mẫu xác định mối kết hợp 1-1, 1-nhiều, nhiều-nhiều và bảng trung gian kèm thuộc tính quan hệ (ví dụ: cấu trúc "Khi + [cụm từ] +, + phải biết + [C]").

4. Hệ thống phương pháp đánh giá

  • Độ đo ROUGE-2: Sử dụng để đánh giá chất lượng mô hình paraphrase và mô hình gán nhãn thành phần ERD dựa trên mức độ trùng khớp n-gram bậc 2 giữa chuỗi sinh ra và chuỗi tham chiếu của chuyên gia.
  • Độ đo Exact Match (EM): Đo lường tỷ lệ các câu truy vấn SQL dự đoán khớp hoàn toàn (100%) về cấu trúc và giá trị mệnh đề so với câu truy vấn chuẩn.
  • Độ đo BERT Score: Tính toán độ tương đồng ngữ nghĩa giữa các vector embedding của các token trong câu truy vấn thông qua phương pháp so khớp tham lam (greedy matching) và độ tương đồng cosine, cho ra các chỉ số Precision, Recall và F1.
  • Độ đo BLEU Score: Đánh giá độ chính xác cú pháp dựa trên mức độ trùng khớp n-gram kết hợp chỉ số phạt độ ngắn chuỗi (Brevity Penalty – BP).
  • Đánh giá chuyên gia (Expert Evaluation): So sánh đối sánh kết quả trực quan hóa ERD giữa mô hình tự động và bài giải chuẩn do con người xây dựng.

Thiết kế và triển khai hệ thống

Khóa luận là công trình nghiên cứu ứng dụng có xây dựng hệ thống phần mềm hoàn chỉnh, được tổ chức theo kiến trúc phân tầng 3 giai đoạn:

[Người dùng] <---> [Giao diện Web ASP.NET Core MVC]
                           | (HttpClient C#)
                           v
              [Flask RESTful API (Python 3.8)]
                           |
        +------------------+------------------+
        |                                     |
  [Mô-đun Text-to-ERD]               [Mô-đun Text-to-SQL]
  - ViT5 Paraphrase + Rule-based     - T5 Text-to-SQL Model
  - BERT Tagging + Heuristics        - Bộ tiền/hậu xử lý cú pháp
  - Trình sinh PlantUML & DDL

1. Kiến trúc phân tầng và thành phần xử lý

  • Giai đoạn 1 – Huấn luyện và đóng gói mô hình (Python 3.8 / PyTorch):
    • Xây dựng mô hình paraphrase dựa trên VietAI/vit5-base kết hợp bộ quy tắc Rule-based sinh mã PlantUML và script DDL.
    • Xây dựng mô hình gán nhãn BERTPoSTagger kết hợp hệ thống luật Heuristics rules.
    • Huấn luyện mô hình T5 dịch câu hỏi sang câu lệnh SQL.
    • Xuất các trọng số mô hình đã tối ưu hóa (định dạng .pt và thư mục checkpoint) sang các thành phần phục vụ API.
  • Giai đoạn 2 – Thiết kế giao diện ứng dụng (Frontend & Web App):
    • Sử dụng nền tảng ASP.NET Core MVC kết hợp HTML, CSS, JavaScript để thiết kế giao diện tương tác người dùng.
    • Tích hợp lớp xử lý API trong C# sử dụng HttpClient để đóng gói dữ liệu đầu vào và gửi yêu cầu bất đồng bộ đến máy chủ tính toán.
  • Giai đoạn 3 – Máy chủ API xử lý tính toán (Backend Server):
    • Xây dựng máy chủ Flask RESTful API trên nền Python 3.8.
    • Định tuyến các endpoint chuyên biệt: Endpoint tiếp nhận đoạn văn bản mô tả để xử lý và trả về mã PlantUML, hình ảnh ERD và câu lệnh DDL; Endpoint tiếp nhận câu hỏi truy vấn để trả về câu lệnh SQL chuẩn hóa.

2. Triển khai các màn hình chức năng

  • Màn hình Dashboard: Đóng vai trò điều hướng, cung cấp tùy chọn chuyển đổi linh hoạt giữa hai chức năng chính.
  • Màn hình chức năng "Sinh ERD và DDL": Gồm vùng văn bản tiếp nhận đoạn văn mô tả hệ thống tiếng Việt; khối hiển thị đoạn mã PlantUML được sinh tự động; khung render trực tiếp hình ảnh biểu đồ ERD đồ họa; khung văn bản hiển thị các câu lệnh DDL sẵn sàng để sao chép thực thi trên hệ quản trị cơ sở dữ liệu.
  • Màn hình chức năng "Sinh câu truy vấn": Cung cấp ô nhập câu hỏi truy vấn tự nhiên bằng tiếng Việt và vùng kết quả hiển thị câu lệnh SQL tương ứng đã qua chuẩn hóa và sửa lỗi cú pháp.

Nội dung chính theo từng chương

Chương 1: Tổng quan đề tài

Chương 1 thiết lập nền tảng nghiên cứu thông qua việc phân tích động lực thực tiễn của bài toán tự động hóa kỹ nghệ cơ sở dữ liệu. Tác giả tổng hợp các công trình quốc tế tiêu biểu như nghiên cứu trích xuất ERD tiếng Anh của Al-Btoush (2020), sinh lược đồ lớp của Abdelnabi et al. (2020), các mô hình Text-to-SQL trên tập SPARC, CoSQL của Zefeng Cai et al. hay học tăng cường trên WikiSQL của Zhong et al. Đối với tiếng Việt, tác giả dẫn chiếu các nghiên cứu của Anh Tuan Nguyen et al. (2018) và Nhan Cao Thi et al. (2022), từ đó làm rõ khoảng trống nghiên cứu trong việc kết hợp sinh đồng thời ERD, DDL và SQL tiếng Việt. Chương này xác định rõ mục tiêu, phạm vi nghiên cứu, kiến trúc 3 giai đoạn của đề tài và các đóng góp cốt lõi.

Chương 2: Cơ sở lý thuyết

Chương 2 trình bày chi tiết cơ sở khoa học của toàn bộ hệ thống. Về mặt dữ liệu, chương này chuẩn hóa định nghĩa các thành phần ERD và giới thiệu cú pháp biểu diễn trong PlantUML sử dụng bảng ký hiệu bản số:

  • |o--: Bản số 0 hoặc 1.
  • ||--: Bản số chỉ duy nhất 1.
  • }o--: Bản số 0 hoặc nhiều.
  • }|--: Bản số 1 hoặc nhiều.

Chương cũng hệ thống hóa các lệnh DDL (CREATE, ALTER, DROP, TRUNCATE) và cấu trúc ngữ pháp hoàn chỉnh của câu truy vấn SQL. Về phương diện học máy, chương phân tích sâu cấu trúc của mô hình T5 và mô hình đa ngôn ngữ mT5, cơ chế tiền huấn luyện span corruption thông qua hai hàm biến đổi $g_i$ và $g_o$, hàm mất mát $L(x \rightarrow y)$, kỹ thuật LayerNorm không dùng additive bias, và cơ chế nhúng vị trí (positional embedding). Đồng thời, chương trình bày kiến trúc hai chiều của BERT kết hợp mục tiêu MLM, cơ sở xây dựng hệ thống Heuristics rules, cùng công thức toán học chi tiết của các độ đo đánh giá: ROUGE-2, Exact Match, BERT Score và BLEU Score.

Chương 3: Phân tích và thực nghiệm

Đây là chương nội dung thực nghiệm trọng tâm của khóa luận, phản ánh quy trình xử lý trên hai bài toán:

  • Bài toán 1 (Text to ERD):
    • Hướng tiếp cận 1 (Paraphrase + Rule-based): Thu thập và tiền xử lý tập dữ liệu gồm 970 dòng từ 100 bài tập/đề thi ERD, chia tập huấn luyện và kiểm thử theo tỷ lệ 8:2 (train_size = 0.8). Sử dụng mô hình VietAI/vit5-base, định dạng độ dài chuỗi tối đa 128 token, cấu hình huấn luyện Seq2SeqTrainer với 5 epoch, per_device_train_batch_size = 1, tổng số bước huấn luyện đạt 3875 bước. Khi suy luận, văn bản mô tả được tách câu, đưa qua mô hình sinh chuỗi với độ dài tối đa 64 token để đưa về câu chuẩn quy tắc, sau đó bộ quy tắc trích xuất các thành phần để sinh mã PlantUML và script DDL.
    • Hướng tiếp cận 2 (ERD elements tagging + Heuristics rules): Tiền xử lý dữ liệu gán nhãn thành phần văn bản theo cấu trúc trường (fields) và nhãn JSON, thiết lập mô hình BERTPoSTagger trên nền kiến trúc BERT. Sau khi huấn luyện và đánh giá trên tập test, kết quả nhãn dự đoán được đưa vào hệ thống Heuristics rules để phân tích bản số và liên kết bảng.
    • Thực nghiệm đánh giá chéo hai hướng tiếp cận bằng độ đo ROUGE-2 và kiểm chứng đối sánh với mã PlantUML tự giải của người dùng.
  • Bài toán 2 (Text to SQL):
    • Xây dựng tập dữ liệu từ các cặp câu hỏi tiếng Việt và lệnh SQL tương ứng (trích xuất từ các đề thi thực hành môn IT004).
    • Sử dụng T5 Tokenizer và huấn luyện mô hình T5 ánh xạ từ văn bản tự nhiên sang cấu trúc SQL.
    • Thực hiện chuẩn hóa câu lệnh SQL dự đoán và tham chiếu, chạy đánh giá toàn diện bằng 3 độ đo: Exact Match, BERT Score (Recall, Precision, F1) và BLEU Score.

Chương 4: Thiết kế hệ thống và triển khai ứng dụng

Chương 4 hiện thực hóa các mô hình thành phần mềm ứng dụng thực tế. Tác giả trình bày biểu đồ Use Case tổng thể, biểu đồ tuần tự (Sequence Diagram) cho cả hai luồng nghiệp vụ: Luồng xử lý Text to ERD và luồng xử lý Text to SQL. Về mặt triển khai kỹ thuật, chương minh họa chi tiết cấu hình lớp gọi API bất đồng bộ sử dụng HttpClient trong C# trên nền tảng ASP.NET Core MVC, phương thức tiếp nhận và ánh xạ dữ liệu JSON phản hồi từ máy chủ Flask API Python. Toàn bộ giao diện người dùng hoàn thiện được trình bày kèm ảnh chụp thực tế gồm Dashboard, màn hình sinh ERD/DDL và màn hình sinh câu truy vấn SQL.

Chương 5: Kết quả đạt được và hướng phát triển

Chương tổng kết toàn bộ các kết quả đạt được về mặt lý thuyết, thực nghiệm mô hình và sản phẩm ứng dụng. Tác giả hệ thống hóa các kiến thức thu nhận được trong suốt quá trình nghiên cứu hai bài toán xử lý ngôn ngữ tự nhiên đặc thù cho tiếng Việt, thẳng thắn chỉ ra các hạn chế kỹ thuật còn tồn đọng và đề xuất định hướng nghiên cứu mở rộng trong tương lai.


Kết quả và đóng góp

1. Kết quả thực nghiệm chính

Nghiên cứu đã xây dựng thành công quy trình xử lý hoàn chỉnh cho cả hai bài toán:

  • Đối với bài toán Text to ERD, mô hình paraphrase xây dựng trên nền VietAI/vit5-base kết hợp kiến trúc mT5 đã trải qua 3875 bước huấn luyện trên tập dữ liệu 970 mẫu, chuyển đổi chuẩn hóa thành công các câu mô tả tiếng Việt phức tạp về các cấu trúc rule-based cơ bản, từ đó sinh chính xác mã PlantUML thể hiện đầy đủ các thực thể, thuộc tính khóa và mối kết hợp.
  • Phương pháp gán nhãn phần tử bằng BERTPoSTagger kết hợp hệ thống Heuristics rules đã chứng minh khả năng nhận diện các thành phần dữ liệu chuyên biệt trong văn bản tiếng Việt.
  • Đối với bài toán Text to SQL, mô hình T5 đã học được mối quan hệ ánh xạ giữa các cấu trúc hỏi trong đề thi thực hành IT004 sang các mệnh đề SELECT, FROM, WHERE và các phép kết nối bảng tương ứng. Toàn bộ các câu lệnh SQL sinh ra được chuẩn hóa và kiểm thử tự động thông qua bộ ba độ đo: Exact Match, BERT Score và BLEU Score.

2. So sánh hai hướng tiếp cận trong bài toán Text to ERD

Tiêu chí Hướng tiếp cận 1: Paraphrase + Rule-based Hướng tiếp cận 2: ERD Elements Tagging + Heuristics
Mô hình học máy cốt lõi VietAI/vit5-base (Kiến trúc mT5) BERTPoSTagger (Kiến trúc BERT đa ngôn ngữ)
Bản chất nhiệm vụ NLP Text-to-Text generation (Diễn giải lại câu văn) Sequence Tagging / Token Classification (Gán nhãn phần tử)
Cơ chế sinh cấu trúc Hệ thống Rule-based dựa trên mẫu câu tiếng Việt chuẩn Hệ thống Heuristics rules suy luận từ các nhãn thực thể
Kích thước tập dữ liệu 970 dòng (từ 100 đề thi/bài tập), chia train/test 8:2 Tập dữ liệu văn bản gán nhãn định dạng JSON
Thông số huấn luyện 5 epochs, batch size = 1, 3875 training steps Huấn luyện với hàm tối ưu hóa loss và độ chính xác token
Công cụ trực quan hóa Ngôn ngữ đặc tả PlantUML (Crow's Foot notation) Ngôn ngữ đặc tả PlantUML (Crow's Foot notation)
Độ đo đánh giá áp dụng ROUGE-2, Đánh giá chuyên gia (Expert) ROUGE-2, Đánh giá chuyên gia (Expert)

3. Đóng góp khoa học và thực tiễn của khóa luận

  • Đóng góp về mặt dữ liệu: Đã bước đầu thu thập, số hóa và tiền xử lý tập dữ liệu tiếng Việt chuyên biệt gồm 970 câu mô tả hệ thống cơ sở dữ liệu và các cặp câu truy vấn tự nhiên – SQL trích xuất từ đề thi đại học.
  • Đóng góp về mặt phương pháp: Đề xuất và thực nghiệm thành công hai đường ống xử lý (pipeline) lai ghép giữa mô hình Transformer hiện đại (T5, mT5, BERT) với các hệ thống quy tắc cú pháp (Rule-based, Heuristics rules), giải quyết hiệu quả tính đa dạng và đa sắc thái trong câu văn tiếng Việt.
  • Đóng góp về mặt ứng dụng: Phát triển hoàn chỉnh một hệ thống ứng dụng web hai tầng (ASP.NET Core MVC frontend và Flask RESTful API backend), cung cấp công cụ tự động hóa khép kín từ khâu tiếp nhận văn bản mô tả tiếng Việt đến việc kết xuất trực quan biểu đồ ERD, tạo tập lệnh DDL và sinh câu truy vấn SQL.

Hạn chế và hướng nghiên cứu tiếp

1. Hạn chế

  • Quy mô tập dữ liệu còn khiêm tốn: Ngữ liệu huấn luyện cho bài toán Text to ERD mới dừng lại ở 970 dòng trích xuất từ 100 đề thi học thuật; tập dữ liệu Text to SQL giới hạn trong phạm vi đề thi thực hành của môn học IT004, chưa bao quát được toàn diện các kịch bản quản lý thực tế trong công nghiệp.
  • Phụ thuộc vào mức độ tường minh của văn bản đầu vào: Hệ thống rule-based và mô hình paraphrase vẫn yêu cầu đoạn mô tả tiếng Việt phải thể hiện tương đối rõ ràng các thành phần thực thể và mối liên kết trên mặt chữ; chưa xử lý triệt để được các trường hợp mô tả ẩn ý, ngữ cảnh mập mờ hoặc cấu trúc ngữ nghĩa phân tán phức tạp.
  • Cấu trúc SQL chưa hỗ trợ đa dạng mọi hệ quản trị: Việc sinh câu lệnh DDL và SQL chủ yếu bám sát theo chuẩn Microsoft SQL Server, chưa hỗ trợ cấu hình đa biến thể cho PostgreSQL, MySQL hay Oracle.

2. Hướng nghiên cứu tiếp

  • Mở rộng quy mô và độ phong phú của bộ dữ liệu tiếng Việt cho cả hai tác vụ Text-to-ERD và Text-to-SQL, hướng tới các bài toán quản lý quy mô doanh nghiệp phức tạp hơn.
  • Thử nghiệm các mô hình ngôn ngữ lớn (LLMs) tiên tiến hơn nhằm nâng cao khả năng suy luận ngữ cảnh, xử lý các mô tả logic ẩn và tự động tối ưu hóa câu truy vấn SQL phức tạp có nhiều tầng lồng nhau.
  • Hoàn thiện và nâng cấp ứng dụng web thành một công cụ hỗ trợ phát triển phần mềm toàn diện, cho phép kết nối trực tiếp với nhiều hệ quản trị cơ sở dữ liệu để thực thi mã DDL và kiểm thử truy vấn trực tiếp theo thời gian thực.

Giá trị tham khảo

Khóa luận là tài liệu học thuật và kỹ thuật có giá trị tham khảo thiết thực cho nhiều nhóm đối tượng:

  • Sinh viên ngành Hệ thống Thông tin, Khoa học Máy tính và Công nghệ Phần mềm: Khóa luận cung cấp tài liệu chi tiết về cách thức triển khai một bài toán NLP ứng dụng hoàn chỉnh cho tiếng Việt, từ khâu tiền xử lý ngữ liệu, huấn luyện mô hình Sequence-to-Sequence (ViT5) đến việc đóng gói thành dịch vụ web.
  • Người nghiên cứu các bài toán Text-to-SQL và sinh mã tự động: Các kỹ sư và nhà nghiên cứu quan tâm đến lĩnh vực Semantic Parsing có thể tham khảo phương pháp kết hợp giữa mô hình Transformer và bộ quy tắc heurictics để khắc phục tình trạng thiếu hụt dữ liệu lớn trong xử lý tiếng Việt.
  • Các thành phần cụ thể đáng tham khảo trong văn bản:
    • Bảng tổng hợp cấu trúc câu văn tiếng Việt chuẩn hóa và các thành phần ERD tương ứng (Chương 3).
    • Quy trình cấu hình và mã nguồn huấn luyện mô hình VietAI/vit5-base sử dụng thư viện transformers và Seq2SeqTrainer của Hugging Face.
    • Bảng mã đặc tả ký pháp bản số Crow's Foot trong PlantUML.
    • Kiến trúc tích hợp giữa ASP.NET Core MVC và Flask API thông qua HttpClient.

Câu hỏi thường gặp

1. Khóa luận sử dụng những mô hình học máy nào cho hai bài toán chính?

Trong bài toán Text to ERD, tác giả sử dụng mô hình tiền huấn luyện VietAI/vit5-base trên nền tảng kiến trúc mT5 cho tác vụ paraphrase, và kiến trúc BERT đa ngôn ngữ xây dựng mô hình BERTPoSTagger cho tác vụ gán nhãn thành phần ERD. Trong bài toán Text to SQL, tác giả sử dụng mô hình T5 kết hợp với T5Tokenizer để chuyển đổi câu hỏi tiếng Việt sang câu lệnh SQL.

2. Ký pháp nào được sử dụng để trực quan hóa biểu đồ ERD trong khóa luận?

Tác giả lựa chọn ký pháp Crow's Foot không kèm động từ (Crow's Foot notation without verb). Ký pháp này được chuyển ngữ trực tiếp sang mã đặc tả PlantUML với các ký hiệu bản số cụ thể: |o-- (0 hoặc 1), ||-- (chỉ duy nhất 1), }o-- (0 hoặc nhiều), và }|-- (1 hoặc nhiều).

3. Tập dữ liệu phục vụ huấn luyện mô hình paraphrase bài toán Text to ERD có quy mô như thế nào?

Tập dữ liệu được xây dựng từ 100 đề thi và bài tập mô tả cơ sở dữ liệu, gồm tổng cộng 970 dòng dữ liệu có cấu trúc 2 cột (Original chứa câu mô tả gốc và Paraphrase chứa câu đã chuẩn hóa theo quy tắc). Tập dữ liệu được phân chia thành tập huấn luyện (train) và tập kiểm thử (test) theo tỷ lệ 8:2.

4. Hệ thống ứng dụng được thiết kế theo kiến trúc công nghệ nào?

Hệ thống được phát triển theo mô hình phân tán 3 giai đoạn: Giao diện người dùng được xây dựng bằng công nghệ ASP.NET Core MVC (C#, HTML, CSS, JavaScript) đóng vai trò client; máy chủ xử lý tác vụ học máy được viết bằng Python 3.8 sử dụng framework Flask RESTful API; hai thành phần này giao tiếp bất đồng bộ với nhau qua giao thức HTTP bằng thư viện HttpClient.

5. Những độ đo học thuật nào được dùng để đánh giá kết quả mô hình Text to SQL?

Để đánh giá mô hình T5 trong bài toán sinh câu lệnh truy vấn SQL từ tiếng Việt, khóa luận áp dụng 3 độ đo: độ đo độ khớp chính xác Exact Match (EM), độ đo tương đồng ngữ nghĩa BERT Score (thông qua Precision, Recall và F1), và độ đo dịch máy BLEU Score (dựa trên mức độ trùng khớp n-gram và Brevity Penalty).


Kết luận

Khóa luận tốt nghiệp của sinh viên Nguyễn Thị Mỹ Trân và Tôn Nữ Tú Quyên đã giải quyết thành công bài toán tự động hóa chuyển đổi văn bản tiếng Việt sang biểu đồ ERD, tập lệnh DDL và câu truy vấn SQL. Bằng việc kết hợp sáng tạo giữa các mô hình học sâu hiện đại như T5, mT5, BERT với các hệ thống quy tắc cú pháp và quy tắc suy nghiệm, nghiên cứu đã đề xuất được giải pháp thích ứng hiệu quả với đặc thù phức tạp của ngữ pháp tiếng Việt. Toàn bộ giải pháp đã được hiện thực hóa thành một ứng dụng web hoàn chỉnh, có tính ứng dụng cao, đóng góp nền tảng kỹ thuật thiết thực cho công tác đào tạo và nghiên cứu kỹ nghệ cơ sở dữ liệu tại Việt Nam.