Các độ đo cho bài toán text-to-SQL

Một phần của tài liệu Luận văn thạc sĩ Công nghệ thông tin: Bài toán chuyển đổi ngôn ngữ tự nhiên sang truy vấn SQL sử dụng tiếp cận học máy tăng cường (Trang 44 - 47)

Do đặc thù riêng của ngôn ngữ đầu ra, bài toán text-to-SQL cần các độ đo dành riêng để đánh giá kết quả. Hai độ đo phổ biến thường được sử dụng là độ chính

xác so khớp và độ chính xác thực thi. Bên cạnh đó, một độ đo mới về độ hiệu quả

của câu lệnh SQL cũng được giới thiệu tai đây.

Độ chính xác so khớp Exact-Set-Match - EM

Hướng tiếp cận của độ đo này dựa trên bản thân câu truy vấn SQL được sinh ra,

thực hiện so sánh nó với câu lệnh SQL chính xác. Phương pháp so khớp thường

được sử dụng là so khớp các thành phần, tức là kiểm tra các mệnh đề (ví dụ các điều kiện trong mệnh đề WHERE, hay các thành phần trong lệnh SELECT). Cụ thể các mệnh đề phục vụ việc so sánh đã được trình bày trong mục 3.4. Trong ngôn ngữ SQL, thứ tự của các thành phan trong một loại mệnh đề không quan trọng,

32

do vậy các thành phần này được so sánh theo dạng tập hợp. Ví dụ hai câu lệnh SQL dưới đây hoàn toàn giống nhau khi so khớp:

SELECT COUNT(*) FROM pet WHERE pet_type = 'dog' AND color = 'black';

SELECT COUNT(*) FROM pet WHERE color = 'black' AND pet_type = 'dog';

Độ chính xác so khớp rat rõ rang, nó cũng không phụ thuộc vào cơ sở dữ liệu nên

có thể dễ dàng triển khai. Tuy nhiên, một câu lệnh SQL có thể có một số biến thể khác nhau nhưng thể hiện cùng một mục đích truy vấn. Trong tình huống đó, việc so khớp khá khó để xác định được rằng hai câu SQL đó giống nhau về mặt truy

vần.

Độ chính xác thực thi Execution Accuracy - EM

Thay vì so sánh trực tiếp hai câu lệnh SQL với nhau, độ đo này so sánh kết quả

sau khi truy vấn được thực thi trên cơ sở dữ liệu. Việc kiểm tra được tiến hành

theo các bước:

1. Phân tích cú pháp của câu SQL dau ra nhằm xác định xem nó có hợp lệ hay

không.

2. Thực thi câu lệnh SQL hợp lệ trên cơ sở dữ liệu tương ứng và trích xuất kết qua. Đồng thời, câu lệnh SQL chuẩn cũng được thực thi để đối chiếu.

3. So sánh kết quả thực thi của câu lệnh SQL đầu ra và câu SQL chuẩn.

Nếu hai câu SQL khác nhau cho ra cùng một kết quả, có hai trường hợp xảy ra.

Trường hợp thứ nhất, hai câu này thể hiện cùng một mục đích truy vấn. Đây là

lúc độ chính xác thực thi phát huy tác dụng, nó phát hiện được câu SQL đúng

mặc dù khác với câu SQL chuẩn được gán nhãn. Trường hợp thứ hai, hai câu truy

vấn đó không liên quan gì nhau. Nói cách khác, câu SQL đầu ra sai nhưng vẫn cho

kết quả giống với lệnh SQL chuẩn. Ngược với trường hợp trước, lúc này độ chính xác thực thi bộc lộ nhược điểm của nó. Tần suất xảy ra việc này phụ thuộc nhiều vào đặc điểm của di liệu trong cơ sở dữ liệu. Vi dụ nếu một cột trong bảng tồn tại nhiều giá trị giống nhau thì rất dễ xảy ra sự nhầm lẫn khi người dùng yêu cầu truy vấn đến cột đó.

33

Ngoài ra, độ chính xác thực thi yêu cầu truy cập đến dữ liệu và phải có một hệ

quản trị cơ sở dữ liệu để thực thi trên đó. Điều đó còn dẫn tới việc để có được độ đo này, hệ thống text-to-SQL thường tốn nhiều thời gian hơn so với độ chính xác

so khớp.

Độ hiệu quả Valid Efficiency Score - VES [38]

Độ hiệu quả VES kết hợp giữa độ chính xác thực thi và mức độ hiệu quả của câu

truy vấn. Mức độ hiệu quả này có thể được đánh giá theo nhiều khía cạnh nhưng

trong phiên bản đầu tiên được công bố, Li và cộng sự [38] sử dụng thời gian thực thi là nhân tố chính. Phương pháp này thường được sử dụng khi mà cơ sở dữ liệu chứa lượng dữ liệu rất lớn, thời gian thực thi ảnh hưởng trực tiếp đến trải nghiệm

của người dùng. Trong bộ dữ liệu Spider và trong luận văn này, độ hiệu qua không được sử dụng.

4.4. Kết quả

Phần này sẽ trình bày kết quả thí nghiệm theo các thiết lập đã mô tả, từ kết quả của việc lựa chọn trọng số mô hình cho đến kết quả khi kết hợp học máy tăng cường và học máy giám sát. Cuối cùng là một số kết quả khi sử dụng thuật toán

PPO và API của OpenAI ChatGPT.

4.4.1. Lựa chon trong số ban dau

Khi thực hiện tinh chỉnh lần đầu với hàm mat mát NLL, luận văn thực hiện lưu lại trọng số mô hình tại hai thời điểm dựa trên độ chính xác EM. Lần lượt khi giá trị EM bắt đầu trở nên ổn định và khi nó đạt đỉnh, trọng số của mô hình được lưu lại để thực hiện tinh chỉnh một lần nữa sử dụng hàm mục tiêu phối hợp giữa hai phương pháp học máy. Khi thực hiện tinh chỉnh lần thứ hai, các thí nghiệm

sơ bộ cho thấy sử dụng trọng số mô hình tại thời điểm độ chính xác EM vừa mới bắt đầu ổn định cho kết quả tốt hơn so với khi giá trị đó đạt đỉnh. Nguyên nhân có khả năng là do tại thời điểm sớm hơn, mô hình chưa hoàn toàn ổn định với tập

dữ liệu huấn luyện, khi thực hiện lấy mẫu sẽ sinh ra nhiều dữ liệu giúp cho thuật

toán học máy tăng cường có thể huấn luyện mô hình tốt hơn. Còn với trọng số tại thời điểm độ chính xác EM đã đạt đỉnh của nó, mô hình đã hoạt động tốt trên

dữ liệu huấn luyện, do đó khi thực hiện lấy mẫu phần lớn sẽ sinh ra các câu SQL giống hệt với câu truy vấn chuẩn, các câu này không giúp ích cho thành phần học

34

Một phần của tài liệu Luận văn thạc sĩ Công nghệ thông tin: Bài toán chuyển đổi ngôn ngữ tự nhiên sang truy vấn SQL sử dụng tiếp cận học máy tăng cường (Trang 44 - 47)

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

(65 trang)