Kiến trúc của hệ thống (hình 4.1) sẽ gồm hai thành phần chính, thành phần xử lý câu hỏi ngôn ngữ tự nhiên, và thành phần tìm kiếm câu trả lời. Trong khóa luận này, chúng tôi sẽ tập trung vào thành phần tìm kiếm câu trả lời. Thành phần xử lý câu hỏi ngôn ngữ tự nhiên mà chúng tôi sử dụng được đưa ra bởi Nguyễn Quốc Đạt [1].
Hình 4.1. Kiến trúc tổng quan của hệ thống hỏi đáp tiếng Việt dựa trên Ontology Thành phần xử lý câu hỏi ngôn ngữ tự nhiên Bộ biểu diễn trung gian Thành phần tìm kiếm câu trả lời Câu hỏi ngôn ngữ tự nhiên Câu trả lời ngữ nghĩa Sesame server ONTOLOGY OWL
30
Thành phần tìm kiếm câu trả lời được chia làm hai thành phần chính là thành phần ánh xạ Ontology và thành phần trích chọn câu trả lời. Chúng tôi sẽ giới thiệu về hai thành phần này đối với từng loại câu hỏi cụ thể trong mục 4.4, 4.5. Chúng tôi sử dụng thành phần ánh xạ Ontology để tạo bộ mô tả tương ứng với Ontology, và dùng 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ể tới người dùng.
Hình 4.2. Kiến trúc của thành phần tìm kiế m câu trả lời
Hình 4.2 mô tả kiến trúc của thành phần tìm kiếm câu trả lời. Bộ biểu diễn trung gian cho câu hỏi sau khi được tiền xử lý, là đầu vào cho ánh xạ Ontology. Ánh xạ Ontoloyg kết hợp với dữ liệu từ Ontology lưu trên Sesame server, sử dụng thuật toán khoảng cách xâu. Thuật toán khoảng cách xâu được sử dụng để tìm các thuật ngữ tương ứng thích hợp trong Ontology và ánh xạ Ontology cũng có thể tương tác với người dùng để có thuật ngữ phù hợp với Ontology. Ánh xạ Ontology hình thành bộ mô tả tương ứng với Ontology. Và thành phần trích chọn câu trả lời sử dụng bộ mô tả này để đưa ra câu trả lời ngữ nghĩa nhất tới người sử dụng.
Thuật toán khoảng cách xâu Bộ biểu diễn trung gian Câu trả lời ngữ nghĩa Ngƣời sử dụng Tƣơng tác
Sesame server ONTOLOGY
OWL
Thành phần tìm kiếm câu trả lời
Tiền xử lý Pre-processing Trích chọn câu trả lời Ánh xạ Ontology Bộ ba mô tả tƣơng ứng với Ontology
31
Câu hỏi được xử lý bởi thành phần xử lý ngôn ngữ tự nhiên được Nguyễn Quốc Đạt đưa ra [1], và hình thành nên bộ biểu diễn trung gian. Bộ biểu diễn trung gian này mô tả thông tin cho câu hỏi đầu vào. Tùy vào câu hỏi đơn giản hay phức tạp mà bộ biểu diễn trung gian được cho dưới dạng quan hệ bậc hai giữa hai thuật ngữ hoặc quan hệ bậc ba giữa ba thuật ngữ. Bộ biểu diễn trung gian quan hệ bậc hai có dạng (thuật ngữ 1, quan hệ, thuật ngữ 2). Trong đó, ―thuật ngữ 1‖ và ―thuật ngữ 2‖ là các cụm từ trong câu mang thông tin về đối tượng cũng như khái niệm muốn hỏi, và ―quan hệ‖ là cụm từ trong câu thể hiện quan hệ giữa hai thuật ngữ đó. Chẳng hạn, với câu hỏi:
―Nguyễn Quốc Đại học lớp nào?‖ → (lớp, học, Nguyễn Quốc Đại).
Trong trường hợp này bộ biểu diễn trung gian gọi là bộ ba biểu diễn quan hệ bậc hai. Tương tự như vậy, bộ biểu diễn trung gian quan hệ bậc ba có dạng (thuật ngữ 1, quan hệ, thuật ngữ 2, thuật ngữ 3), còn được gọi là bộ ba biểu diễn quan hệ bậc ba. Tùy thuộc vào từng câu hỏi cụ thể mà bộ ba biểu diễn cho câu hỏi đó có thể thiếu ―thuật ngữ 1‖ hoặc ―quan hệ‖. Ví dụ:
―học sinh của lớp khoa học máy tính của trường đại học công nghệ là ai?‖ → (?, học sinh, lớp khoa học máy tính, trường đại học công nghệ).
Ánh xạ Ontology dựa vào bộ ba biểu diễn câu hỏi này để hình thành nên các bộ mô tả các khái niệm, đối tượng và quan hệ tương ứng với Ontology. Các bộ mô tả này cũng được biểu diễn dưới dạng bộ ba quan hệ như trên, nên chúng tôi gọi là bộ ba mô tả tương ứng với Ontology. Sau đó, 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 tới người dùng. Tổng quan chi tiết về xử lý của thành phần ánh xạ Ontology và trích chọn câu trả lời đối với các câu hỏi sẽ được chúng tôi đưa ra trong 4.4 và 4.5.
Mục dưới đây, chúng tôi giới thiệu về thành phần xử lý ngôn ngữ tự nhiên [1]. Thành phần xử lý ngôn ngữ tự nhiên phân loại câu hỏi đầu vào để hình thành nên các bộ ba biểu diễn trung gian cho câu hỏi.
32