Module tiền xử lý xác định lại cụm từ dùng để hỏi, từ loại của một số từ đặc biệt, để đưa ra những kết quả chú giải ngữ nghĩa với các đặc trưng phù hợp, phục vụ cho các module sau đó.
Chúng tôi sử dụng GATE [40][45]để thực hiện quá trình phân tích một câu
hỏi ngôn ngữ tự nhiên thông qua JAPE. Một thành phần tích hợp có tên là
Coltech.NLP.Tokenizer được Nguyễn Bá Đạt [43] đóng gói cho GATE dựa trên bộ
phân đoạn Tiếng Việt sử dụng gán nhãn từ loại của Phạm Đức Đăng [44]. Khi sử
dụng thành phần tích hợp này, có một kiểu chú giải TokenVn cho mỗi từ trong
tiếng Việt với các đặc trưng category, kind, string được sinh ra. Trong đó, category với giá trị tương ứng là xâu biểu diễn nhãn từ loại, kind nhận giá trị là
xâu ―word” và string tương ứng với xâu ký tự biểu diễn từ tiếng Việt. Hình 4-4
mô tả giao diện trong GATE khi sử dụng Coltech.NLP.Tokenizer. Ngoài ra còn
kiểu chú giải Split được tạo ra để chú giải cho các dấu tách câu như: dấu hỏi (?),
dấu chấm (.), dấu phảy (,), dấu chấm than (!), …
43
Trong các thành phần phân tích câu hỏi của các hệ thống hỏi đáp tiếng Anh thường không có sự xuất hiện của module Tiền xử lý. Một trong những lý do giải thích cho sự có mặt của module Tiền xử lý trong thành phần phân tích câu hỏi tiếng Việt là
vì các bộ tách từ tiếng Việt hiện nay và cả bộ tách từ được sử dụng trong
Coltech.NLP.Tokenizer được tạo ra trên tập dữ liệu văn bản chuẩn, khi áp dụng bộ tách
từ cho câu hỏi thì kết quả còn chưa tốt.
Ví dụ như trong hình 4-4, trong ngôn ngữ tự nhiên “phải không” là một từ để hỏi, nhưng khi áp dụng bộ tách từ thì “phải không” bị tách thành 2 từ “phải” và “không”, điều đó có nghĩa là “phải không” là một cụm từ. Vấn đề này hoàn toàn
tương tự với nhiều từ để hỏi khác như: “đúng không”, “ở đâu”, “khi nào”, “lúc nào”,
“cho biết”, “người nào”, “như thế nào”, “tại làm sao”, “cái gì”…