Trong các hệ thống dựa trên cú pháp, câu hỏi của người sử dụng được phân tích thành một cây cú pháp. Cây cú pháp được ánh xạ trực tiếp tới một biểu thức trong một số ngôn ngữ truy vấn cơ sở dữ liệu. Một ví dụ điển hình của hướng tiếp cận này là Lunar [35].
Các hệ thống dựa trên cú pháp sử dụng một văn phạm để mô tả những cấu trúc cú pháp có thể có của các câu hỏi. Ví dụ, hình 2-1 dưới đây đưa ra một số luật đơn giản trong một hệ thống giống như Lunar.
S → NP VP
NP → Det N
Det → “what” | “which”
N → “rock” | “specimen” | “magnesium” | “radiation” | “light”
VP → V N
V → “contains” | “emits”
Hình 2-1: Văn phạm mô tả cấu trúc cú pháp câu
Các luật phía trên chỉ ra rằng một câu (S) chứa đựng một cụm danh từ (NP) được theo sau bởi một cụm động từ (VP), trong đó một cụm danh từ bao gồm một từ xác định (Determiner hay Det) được theo sau bởi một danh từ (N), từ xác định có thể là “what” hoặc “which”, … Sử dụng những luật này, một hệ thống NLIDB có thể hiểu rằng cấu trúc cú pháp của câu hỏi “which rock contains magnesium?” như được chỉ ra trong cây cú pháp ở hình 2-2 sau đây:
21
Sau đó, hệ thống NLIDB có thể ánh xạ một cây cú pháp ở hình 2-2 thành truy
vấn cơ sở dữ liệu sau đây (X là một biến):
(for_every X (is_rock X)
(contains X magnesium); (printout X))
Sự ánh xạ này được thực hiện bởi các luật, và hoàn toàn dựa trên thông tin cú pháp của cây phân tích. Hệ thống có thể sử dụng các luật ánh xạ trạng thái sau:
Ánh xạ của “which” là for_every X. Ánh xạ của ―rock‖ là (is_rock X).
Ánh xạ của một cụm danh từ (NP) là Det‟ N‟, trong đó Det‟ và N‟ lần lượt là các ánh xạ của từ xác định (Determiner) và danh từ. Do đó, ánh xạ của cây con NP là for_every X (is _rock X).
Ánh xạ của “contains” là contains. Ánh xạ của “magnesium” là magnesium.
Ánh xạ của một cụm động từ (VP) là V‟ X N‟, trong đó V‟ là ánh xạ của động từ còn N‟ là ánh xạ của danh từ anh em với động từ. Bởi vậy, ánh xạ của cây con VP là (contains X magnesium).
Ánh xạ của S là (NP‟ VP‟; (printout X)), trong đó NP‟ và VP‟ lần lượt là ánh xạ của cây con NP và VP. Vì thế, ánh xạ của câu trong ví dụ của chúng ta như được chỉ ra phía trên.
Các hệ thống NLIDB thường ghép nối tới các hệ thống cơ sở dữ liệu ứng dụng cụ thể và các hệ thống cơ sở dữ liệu đó cung cấp các ngôn ngữ truy vấn cơ sở dữ liệu. Thông thường rất khó khăn để đưa ra các luật ánh xạ, mà các luật này có thể ánh xạ trực tiếp cây phân phân tích cú pháp tới một số biểu thức được biểu diễn trong một
22