Ánh xạ Ontology là nền tảng trong hệ thống hỏi đáp tiếng Việt của chúng tôi. Câu hỏi đầu vào sẽ được phân tích dưới dạng bộ ba biểu diễn trung gian bởi thành phần xử lý câu hỏi [1], bộ ba biểu diễn trung gian này là đầu vào cho ánh xạ Ontology. Ánh xạ Ontology hình thành nên các bộ ba mô tả các khái niệm, đối tượng cùng với mối quan hệ tương thích với Ontology. Thành phần trích chọn câu trả lời sử dụng các bộ ba mô tả này để đưa ra câu trả lời ngữ nghĩa tốt nhất có thể tới người sử dụng.
Để tạo bộ ba mô tả các khái niệm, quan hệ và đối tượng tương ứng với Ontology, trước tiên, từ bộ ba biểu diễn trung gian thu được do [1], ánh xạ Ontology sử dụng tập từ đồng nghĩa đối với từng thành phần của bộ ba. Sau đó, các thuật ngữ đó được so khớp với các khái niệm và đối tượng bên trong Ontology. Nếu so khớp không thành công, ánh xạ Ontology sử dụng thuật toán khoảng cách xâu để tìm các khái niệm và đối tượng tương tự trong Ontology. Nếu thuật toán khoảng cách xâu trả lại nhiều hơn một kết quả, khi ấy xảy ra nhập nhằng về nghĩa của các thuật ngữ, thì hệ thống đưa ra tương tác với người dùng, yêu cầu lựa chọn khái niệm hoặc đối tượng thích hợp.
Sau khi đã tìm được các thuật ngữ chỉ khái niệm và đối tượng tương ứng trong Ontology, dựa vào chúng, ánh xạ Ontology tìm kiếm các mối quan hệ để so khớp với quan hệ đầu vào. Nếu so khớp không được, ánh xạ Ontology sử dụng thuật toán khoảng cách xâu hoặc tương tác với người sử dụng. Khi ánh xạ Ontology tìm được quan hệ tương ứng trong Ontology, hệ thống hình thành các bộ ba mô tả các khái niệm, đối tượng cùng mối quan hệ phù hợp với Ontology. Các bộ ba thu đầu vào cho thành phần trích chọn câu trả lời để đưa ra câu trả lời ngữ nghĩa nhất có thể.
Thành phần ánh xạ Ontology xử lý tùy theo từng trường hợp cụ thể, đối với từng loại câu hỏi khác nhau có cách xử lý khác nhau. Các loại câu hỏi được phân làm hai dạng, câu hỏi đơn giản và câu hỏi phức tạp. Các câu hỏi dạng đơn giản được phân loại: - ―sinh viên nào học ở lớp k50 khoa học máy tính ―→ ―NORMAL‖: (sinh viên, học, lớp k50 khoa học máy tính) → ánh xạ Ontology → (sinh_viên, học, k50_khoa_học_máy_tính).
- ―mã của Nguyễn Quốc Đại là gì‖ → ―UNKN_TERM‖: (?, mã, Nguyễn Quốc Đại) → ánh xạ Ontology → (mã, có_mã, nguyễn_quốc_đại).
39
- ―Nguyễn Quốc Đại có địa chỉ ở đâu‖ → ―UNKN_TERM‖: (?, địa chỉ, Nguyễn Quốc Đại) → ánh xạ Ontology → (?, có_địa_chỉ, nguyễn_quốc_đại).
- ―lớp k50 khoa học máy tính có những sinh viên nào‖ → ―UNKN_REL‖: (sinh viên, ?, lớp k50 khoa học máy tính) → ánh xạ Ontology → (sinh_viên, học |
có_sinh_viên, k50_khoa_học_máy tính).
- ―Nguyễn Quốc Đại có quê ở Hà nội phải không‖ → ―AFFIRM_NEG‖: (Nguyễn Quốc Đại, có quê, Hà Nội) → ánh xạ Ontology → (nguyễn_quốc_đại, có_quê, hà_nội).
Đối với các câu hỏi phức tạp, khi chúng được phân tích bởi [1], thì thu được bộ ba biểu diễn trung gian quan hệ bậc ba, và được phân loại ―THREETERM‖. Tùy vào từng câu hỏi, bộ ba này có thể thiếu thuật ngữ đầu, hoặc thiếu quan hệ, hoặc đầy đủ bốn thành phần. Sau khi ánh xạ Ontology kết thúc, hệ thống thu được hai bộ ba mô tả tương ứng với Ontology. Chẳng hạn:
―sinh viên nào học ở lớp khoa học máy tính của trường đại học công nghệ?‖ → (sinh viên, học, lớp khoa học máy tính, trường đại học công nghệ) → ánh xạ Ontology → (sinh_viên, học, k50_khoa_học_máy_tính) và (sinh_viên, học, đại_học_công_nghệ).
Dưới đây, chúng tôi mô tả cách xử lý của thành phần ánh xạ Ontology đối với từng loại câu hỏi cụ thể. Trước hết, chúng tôi giới thiệu cách xử lý đối với câu hỏi đơn giản, để từ đó, chúng tôi mô tả hoạt động của ánh xạ Ontology đối với câu hỏi phức tạp.