Các câu hỏi phức tạp sau khi được phân tích bởi thành phần xử lý câu hỏi [1] được phân loại ―THREETERM‖, và thu được bộ biểu diễn trung gian dưới dạng quan hệ bậc ba giữa các thuật ngữ. Và ánh xạ Ontology phải xử lý để tìm các quan hệ giữa các thuật ngữ với nhau. Thành phần ánh xạ Ontology kết thúc sẽ đưa ra hai bộ ba mô tả các khái niệm, đối tượng và quan hệ tương ứng trong Ontolgy. Và hai bộ ba này được sử dụng là đầu vào cho thành phần trích chọn câu trả lời. Quá trình xử lý của ánh xạ Ontology được mô tả bởi hình 4.11.
Hình 4.11. Tổng quan ánh xạ Ontology với loại câu hỏi “THREETERM”
Tập quan hệ
Thuật toán khoảng cách xâu
Tƣơng tác ngƣời dùng
Thông tin trong Ontology
Quan_hệ_2 Bộ ba biểu diễn trung gian Thuật ngữ 1 Quan hệ Thuật ngữ 2 Thuật ngữ 3
So khớp thông tin trong Ontology Tiền xử lý & tập từ đồng nghĩa
Tiền xử lý & tập từ đồng nghĩa So khớp thông tin trong Ontology
Tiền xử lý & tập từ đồng nghĩa So khớp thông tin trong Ontology
So khớp thông tin trong Ontology
Tiền xử lý & tập từ đồng nghĩa
Quan_hệ_1 Thuật_ngữ_1
Thuật_ngữ_2
48
Tương tự như ánh xạ Ontology đối với câu hỏi đơn giản, hệ thống lưu trữ cơ sở tri thức Ontology trong Sesame Server. Từ hình 4.11, ánh xạ Ontology lấy tất cả các thông tin về các khái niệm, các đối tượng, và quan hệ trong Ontology. Các thông tin này được sử dụng để so khớp với bộ ba đầu vào. Nếu quá trình so khớp không thành công thì ánh xạ Ontology sử dụng thuật toán khoảng cách xâu để tìm các khái niệm (hoặc các đối tượng, các quan hệ trong Ontology) tương tự với các thành phần trong bộ ba đầu vào. Nếu thuật toán khoảng cách xâu trả về nhiều hơn một giá trị, thì nhập nhằng xảy ra, và ánh xạ Ontology yêu cầu tương tác người dùng để lựa chọn thông tin tương ứng với Ontology.
Các câu hỏi trong các trường hợp này được xử lý bởi [1], được phân loại ―THREETERM‖, và được biểu diễn bởi bộ ba quan hệ bậc ba giữa các khái niệm. Các thuật ngữ trong bộ ba mang thông tin về các khái niệm hoặc về các đối tượng cụ thể nào đó trong Ontology, còn quan hệ thì mô tả liên quan giữa các thuật ngữ này. Tùy thuộc vào từng trường hợp cụ thể, có trường hợp bộ ba quan hệ bậc ba thiếu thuật ngữ đầu, hoặc cũng có trường hợp thiếu mất quan hệ giữa các thuật ngữ.
Đầu tiên, với các thuật ngữ, dựa vào tiền xử lý và tập từ đồng nghĩa, ánh xạ Ontology sẽ tìm các khái niệm và đối tượng tương ứng trong Ontology. Nếu so khớp không được, thành phần á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 thích hợp nhất trong Ontology. Nếu nhập nhằng xảy ra mà ánh xạ Ontology không xử lý được, thì đưa ra yêu cầu tương tác với người dùng để lựa chọn thông tin tương ứng với Ontology.
Sau khi nhận được các thuật ngữ tương thích, thành phần ánh xạ Ontology sử dụng hai thuật ngữ đầu tìm các mối quan hệ giữa chúng để so khớp với quan hệ đầu vào. Nếu không, ánh xạ Ontology sử dụng thuật toán khoảng cách xâu tìm quan hệ tương ứng trong Ontology, nếu thuật toán trả lại nhiều hơn một kết quả thì đưa ra lựa chọn tới người dùng. Khi đó, ánh xạ Ontology sẽ hình thành bộ ba mô tả thứ nhất từ các thuật ngữ và quan hệ tương ứng vừa tìm được giữa chúng.
Tiếp đến, ánh xạ Ontology dựa vào thuật ngữ đầu (hoặc thuật ngữ thứ hai tùy thuộc trường hợp cụ thể) và thuật ngữ cuối để tìm quan hệ giữa chúng trong Ontology. Sau đó, ánh xạ Ontology yêu cầu người dùng lựa chọn quan hệ thích hợp. Sau khi mối quan hệ mong muốn được người sử dụng phản hồi, thành phần ánh xạ Ontology hình thành bộ ba mô tả thứ hai.
49
Thành phần ánh xạ Ontology kết thúc đưa ra hai bộ ba mô tả các khái niệm, các đối tượng và các quan hệ tương ứng trong Ontology. Và để mô tả hoạt động của hệ thống đối với các câu hỏi này, chúng tôi đưa ra các ví dụ để thấy rõ quá trình mà thành phần ánh xạ Ontology xử lý ra sao tùy vào từng trường hợp cụ thể.
Trước tiên, với câu hỏi được thành phần xử lý câu hỏi ngôn ngữ tự nhiên xử lý [1] và cho đầu ra là một bộ biểu diễn trung gian đủ ba thuật ngữ và quan hệ, và ánh xạ Ontology lấy chúng làm đầu vào để tìm thông tin tương ứng với Ontology. Câu hỏi:
―học sinh nào học ở lớp khoa học máy tính của trường đại học công nghệ?‖ Bộ ba quan hệ bậc ba hình thành bởi [1] là (học sinh, học, lớp khoa học máy tính, trường đại học công nghệ). Bộ ba sau khi được tiền xử lý và sử dụng tập từ đồng nghĩa, được so khớp với các khái niệm và đối tượng trong Ontology. Ánh xạ Ontology nhận biết được thuật ngữ chỉ khái niệm ―sinh_viên‖ mô tả lớp ―sinh_viên‖ trong Ontology. Khi sử dụng thuật toán khoảng cách xâu đối với ―lớp khoa học máy tính‖ để tìm đối tượng tương ứng trong Ontology thì có nhập nhằng xảy ra do thuật toán trả lại hai giá trị. Lúc này, ánh xạ Ontology đưa tới người dùng hai lựa chọn là thuật ngữ chỉ đối tượng ―k50_khoa_học_máy_tính‖ là thực thể của lớp ―lớp‖ hoặc thuật ngữ ―khoa_học_máy_tính‖ là thực thể của lớp ―bộ_môn‖ trong Ontology.
Sau khi người dùng lựa chọn thuật ngữ mong muốn, chẳng hạn, lựa chọn ―k50_khoa_học_máy_tính‖. Sau đó, để tìm quan hệ cho ―sinh_viên‖ và ―k50_khoa_học_máy_tính‖, thành phần ánh xạ Ontology dựa vào lớp ―sinh_viên‖ và lớp ―lớp‖ trong Ontology, tìm tất cả các mối quan hệ giữa hai lớp này rồi so khớp với quan hệ ―học‖ được thuật ngữ chỉ quan hệ ―học‖ trong Ontology. Ánh xạ Ontology hình thành được bộ ba mô tả đầu tiên (sinh_viên, học, k50_khoa_học_máy_tính).
Tiếp đến, hệ thống sẽ tìm quan hệ cho ―sinh_viên‖ và ―đại_học_công_nghệ‖ dựa vào lớp ―sinh_viên‖ và lớp ―trường‖, ánh xạ Ontology sẽ tìm các mối quan hệ giữa hai lớp này trong Ontology. Sau đó, hệ thống đưa lại cho người dùng lựa chọn quan hệ mong muốn giữa ―sinh_viên‖ và ―đại_học_công_nghệ‖. Chẳng hạn là mối quan hệ được chọn là ―học‖ (có thể lựa chọn nhiều quan hệ cùng lúc theo ý người dùng). Từ đó, ánh xạ Ontology đưa ra bộ ba mô tả thứ hai là (sinh_viên, học, đại_học_công_nghệ). Sau khi ánh xạ Ontology kết thúc, hệ thống gọi thành phần trích chọn câu trả lời, dựa vào hai bộ ba mô tả này, đưa ra câu trả lời tới người sử dụng.
50
Đối với câu hỏi trên, bộ ba mô tả thứ hai hình thành do thuật ngữ đầu và thuật ngữ cuối. Nhưng trong trường hợp dưới đây, ánh xạ Ontology lại dựa vào thuật ngữ thứ hai và thuật ngữ cuối để hình thành bộ ba mô tả thứ hai. Với câu hỏi:
―sinh viên của lớp của trường đại học công nghệ là ai?‖
Bộ ba biểu diễn cho câu hỏi (?, sinh viên, lớp, trường đại học công nghệ) là đầu vào cho ánh xạ Ontology. Ánh xạ Ontology nhận biết được thuật ngữ chỉ khái niệm ―lớp‖ biểu diễn cho lớp ―lớp‖, thuật ngữ chỉ đối tượng ―đại_học_công_nghệ‖ trong Ontology. Dựa vào các quan hệ của lớp ―lớp‖, ánh xạ tìm được quan hệ ―có_sinh_viên‖ bởi giải thuật khoảng cách xâu. Bộ ba mô tả thứ nhất tương ứng với Ontology được hình thành trong câu hỏi này là (?, có_sinh_viên, lớp).
Đồng thời, ánh xạ Ontology tương tác với người dùng yêu cầu lựa chọn quan hệ giữa lớp ―lớp‖ và đối tượng ―đại_học_công_nghệ‖. Sau khi người dùng phản hồi lại quan hệ thích hợp (có thể lựa chọn nhiều quan hệ cùng lúc), ánh xạ Ontology hình thành bộ ba mô tả thứ hai, có thể là (lớp, thuộc, đại_học_công_nghệ), hoặc (lớp, có_lớp, đại_học_công_nghệ), hoặc (lớp, có_lớp | thuộc, đại_học_công_nghệ).
Thêm nữa, đối với câu hỏi dạng này sau khi được phân tích bởi [1], nếu hệ thống nhận biết được loại từ để hỏi là ―QU Who‖ thì câu hỏi sẽ đề cập tới person nào đó (có thể là ―sinh viên‖ hoặc ―giảng viên‖ trong thiết kế Ontology). Do vậy, đầu vào cho ánh xạ Ontology là (person, sinh viên, lớp khoa học máy tính, trường đại học công nghệ). Từ đó, thành phần ánh xạ Ontology hình thành nên hai bộ ba 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 hai bộ ba mô tả này để đưa ra câu trả lời ngữ nghĩa nhất có thể tới người dùng.
51