Luận văn Phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology

Trong khóa luận này, chúng tôi đã giới thiệu một phương pháp thiết kế hệ thống hỏi đáp cho tiếng Việt dựa trên Ontology. Hệ thống này có thể áp dụng trả lời cho các câu hỏi thuộc nhiều miền ứng dụng cụ thể. Chúng tôi thiết kế một Ontology thử nghiệm cho miền tri thức cụ thể là miền tri thức về Đại học Công Nghệ.

pdf83 trang | Chia sẻ: lylyngoc | Lượt xem: 2915 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Luận văn Phương pháp xây dựng hệ thống hỏi đáp tiếng việt dựa trên ontology, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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). Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology 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. 4.4.1 Ánh xạ Ontology cho câu hỏi đơn giản Các câu hỏi sau khi được phân tích bởi thành phần xử lý câu hỏi ngôn ngữ tự nhiên [1], được xếp vào các loại tương ứng. Ở đây, trong mục này, chúng tôi mô tả đối với một số loại câu hỏi như ―NORMAL‖, ―UNKN_TERM‖, ―UNKN_REL‖, ―AFFIRM_NEG‖. Các câu hỏi được biểu diễn bởi một bộ ba quan hệ bậc hai giữa hai thuật ngữ, và bộ ba biểu diễn này là đầu vào cho ánh xạ Ontology. Nhưng tùy vào từng loại câu hỏi mà ánh xạ Ontology sẽ có cách tìm kiếm thuật ngữ thích hợp trong Ontology. Ánh xạ Ontology xử lý đối với các loại câu hỏi đơn giản này được mô tả như hình 4.5. Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 40 Hình 4.5. Tổng quan về ánh xạ Ontology đối với câu hỏi đơn giản Trong mô hình tổng quan này (hình 4.5), cơ sở tri thức Ontology được lưu trữ trong Sesame Server. Ánh xạ Ontology lấy tất cả các thông tin về các khái niệm (mô tả các lớp), các đối tượng, và các thuộc tính mô tả 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ả lại nhiều hơn một giá trị, tức là nhập nhằng xảy ra, thì ánh xạ Ontology yêu cầu tương tác với người dùng để lựa chọn thông tin thích hợp tương ứng với Ontology. Với một đầu vào là bộ ba biểu diễn trung gian (quan hệ bậc hai giữa hai thuật ngữ) (hình 4.5), các thành phần của bộ ba được tiền xử lý và sử dụng tập từ đồng nghĩa để so khớp với các khái niệm (các lớp), các đối tượng và các quan hệ trong Ontology. Ánh xạ Ontology trước tiên sẽ so khớp các thuật ngữ để tìm kiếm thuật ngữ tương ứng trong Ontology. Các thuật ngữ có thể mang nội dung chỉ về một khái niệm hoặc một đối tượng cụ thể nào đó. 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 Thuật_ngữ_1 Thuật_ngữ_2 Tập quan hệ So khớp thông tin trong Ontology Tiền xử lý & tập từ đồng nghĩa Quan_hệ Bộ ba biểu diễn trung gian Thuật ngữ 1 Quan hệ Thuật ngữ 2 Thuật toán khoảng cách xâu Tƣơng tác ngƣời dùng Thông tin trong Ontology Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 41 Nếu việc 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 (hoặc các đối tượng) tương tự trong Ontology. Nếu giá trị so sánh độ tương tự giữa hai khái niệm (hoặc giữa hai đối tượng) lớn hơn ngưỡng cho trước thì thuật toán trả lại khái niệm (hoặc đối tượng) tương ứng . Hoặc 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 đó, nhập nhằng về nghĩa của các thuật ngữ vẫn xảy ra. Ví dụ, khi thuật toán khoảng cách xâu so sánh ―lớp khoa học máy tính‖ với các đối tượng trong Ontology. Khi ấy, sự nhập nhằng xảy ra khi kết quả của thuật toán trả lại đối tượng ―k50_khoa_học_máy_tính‖ là thực thể của lớp ―lớp‖ và đối tượng ―khoa_học_máy_tính‖ là đối tượng của lớp ―bộ_môn‖ trong Ontology. Lúc này, ánh xạ Ontology đưa ra yêu cầu tương tác với người dùng để lựa chọn thuật ngữ tương ứng. Sau khi người dùng phản hồi lại , hệ thống tìm được thuật ngữ cần thiết phù hợp với Ontology. Các thuật ngữ này chính là các thuật ngữ chỉ khái niệm biểu diễn một lớp trong Ontology, hoặc là các thuật ngữ chỉ đối tượng thuộc về một lớp nào đó trong Ontology. Dựa vào các thuật ngữ vừa tìm được, ánh xạ Ontology tìm tất cả các quan hệ giữa hai thuật ngữ này. Sau đó, ánh xạ Ontology nếu so khớp quan hệ không thành công thì sử dụng thuật toán khoảng cách xâu để tìm quan hệ tương ứng. Nếu nhập nhằng về nghĩa xảy ra do thuật toán khoảng cách xâu trả lại nhiều hơn một kết quả, thì hệ thống đưa ra yêu cầu tương tác với người sử dụng. Sau bước này, ánh xạ Ontology tìm được quan hệ thích hợp giữa hai thuật ngữ trong Ontology. Nhưng tùy thuộc vào từng loại câu hỏi, chẳng hạn như câu hỏi ―UNKN_TERM‖ (thiếu thuật ngữ đầu tiên), có trường hợp tìm được mối quan hệ thông qua thuật toán khoảng cách xâu, nhưng cũng có trường hợp chính cụm từ miêu tả quan hệ trong câu lại là thuật ngữ chỉ khái niệm mô tả một lớp nào đó trong Ontology. Chúng tôi sẽ đưa ra ví dụ cụ thể cho từng trường hợp để xem xét cách giải quyết của thành phần ánh xạ Ontology. Như vậy, kết thúc quá trình ánh xạ Ontology, hình thành bộ ba mô tả các khái niệm, đối tượng và quan hệ phù hợp với Ontology. Bộ ba mô tả này là đầ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 tốt nhất có thể tới người dùng. Dưới đây, để miêu tả cách xử lý của hệ thống đối với thành phần ánh xạ Ontology, chúng tôi đưa ra một số ví dụ về từng loại câu hỏi và cách xử lý đối với chúng. Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 42 4.4.1.1 Ánh xạ Ontology đối với loại câu hỏi NORMAL Đầu tiên, với loại câu hỏi ―NORMAL‖ miêu tả bởi một bộ ba được tạo thành do một mối quan hệ nhị phân rõ ràng giữa hai thuật ngữ xác định. Ví dụ với câu hỏi: ―thầy giáo nào giảng dạy lớp k50 khoa học máy tính?‖ Bộ biểu diễn trung gian là bộ ba đầu vào cho ánh xạ Ontology được cho dưới dạng (thầy giáo, giảng dạy, lớp k50 khoa học máy tính). Trước tiên, ánh xạ Ontology tiền xử lý và sử dụng tập từ đồng nghĩa đối với các thành phần của bộ ba. Sau đó, ánh xạ Ontology nhận biết được thuật ngữ ―thầy giáo‖ chính là thuật ngữ chỉ khái niệm ―giảng_viên‖ mô tả lớp ―giảng_viên‖ trong Ontology. Ánh xạ Ontology sử dụng thuật toán khoảng cách xâu đối với ―lớp k50 khoa học máy tính‖ thì nhận được thuật ngữ chỉ đối tượng ―k50_khoa_học_máy_tính‖ là thực thể trong lớp ―lớp‖ trong Ontology. Tiếp đến, thành phần ánh xạ Ontology sẽ tìm các quan hệ liên kết giữa lớp ―giảng_viên‖ và lớp ―lớp‖ trong Ontology. Sau đó, từ tập quan hệ tìm được, so khớp với thuật ngữ ―giảng dạy‖, ánh xạ Ontology tìm được thuật ngữ chỉ quan hệ ―giảng_dạy‖ trong Ontology. Ánh xạ Ontology hình thành bộ ba mô tả là (giảng_viên, giảng_dạy, k50_khoa_học_máy_tính) tương ứng với Ontology, từ đó thành phần trích chọn câu trả lời đưa ra câu trả lời ngữ nghĩa tốt nhất có thể tới người dùng (hình 4.6). Hình 4.6. Ví dụ hỏi đáp đối với loại câu hỏi “NORMAL” Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 43 4.4.1.2 Ánh xạ Ontology đối với loại câu hỏi UNKN_REL Tiếp đến, để hiểu rõ hoạt động của thành phần ánh xạ Ontology, chúng tôi xem xét loại câu hỏi thiếu mối quan hệ trong câu và được phân loại ―UNKN_REL‖ bởi thành phần xử lý câu hỏi ngôn ngữ tự nhiên [1]. Xét câu hỏi: ―trường đại học công nghệ có học sinh nào?‖ Câu hỏi trích ra bộ ba dưới dạng (học sinh, ?, trường đại học công nghệ). Thuật ngữ ―học sinh‖ sau khi được tiền xử lý, và sử dụng tập từ vựng đồng nghĩa thì được nhận biết là ―sinh_viên‖ biểu diễn cho lớp ―sinh_viên‖ trong Ontology. Thuật ngữ ―trường đại học công nghệ‖ được nhận biết là đối tượng ―đại_học_công_nghệ‖ của lớp ―trường‖ trong Ontology bởi việc dùng thuật toán khoảng cách xâu. Hình 4.7. Ánh xạ Ontology tƣơng tác với ngƣời dùng đối với loại câu hỏi “UNKN_REL” Do không có mối quan hệ được nhận biết trong trường hợp này, vì vậy hệ thống xét tất cả các mối quan hệ giữa hai lớp trong Ontology là ―sinh_viên‖ và ―trường‖, và đưa ra lựa chọn tới người dùng yêu cầu về quan hệ mong muốn giữa ―sinh_viên‖ và ―đại_học_công_nghệ‖ (hình 4.7). Người dùng đưa lại phản hồi tới hệ thống mối quan hệ lựa chọn là ―học‖, hoặc ―có_sinh_viên‖, hoặc lựa chọn cả hai quan hệ. Khi đó, ánh xạ Ontology hình thành bộ ba (sinh_viên, học, đại_học_công_nghệ) hoặc (sinh_viên, có_sinh_viên, đại_học_công_nghệ). Câu trả lời được đưa ra sau khi hệ thống gọi thành phần trích chọn câu trả lời. Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 44 4.4.1.3 Ánh xạ Ontology đối với loại câu hỏi UNKN_TERM Với những câu hỏi sau khi phân tích bởi [1] thì thiếu thuật ngữ đầu trong bộ ba, được phân loại ―UNKN_TERM‖. Ở đây, chúng tôi đưa ra các ví dụ để miêu tả rõ quá trình xử lý của thành phần ánh xạ Ontology đối với các câu hỏi này: - ―mã sinh viên của Nguyễn Quốc Đại là gì?‖ - ―Nguyễn Quốc Đại có mã sinh viên là gì?‖ - ―sinh viên có địa chỉ ở đâu?‖ - ―địa chỉ của sinh viên là gì?‖ Đối với hai câu hỏi đầu tiên, thành phần xử lý câu hỏi ngôn ngữ tự nhiên phân tích [1] và đưa ra bộ ba (?, mã sinh viên, Nguyễn Quốc Đại). Sau khi bộ ba được tiền xử lý, ánh xạ Ontology nhận biết ―mã sinh viên‖ là thuật ngữ ―mã‖ dựa vào tập từ đồng nghĩa. Dựa vào thuật toán khoảng cách xâu, hệ thống nhận biết được ―nguyễn_quốc_đại‖ là thực thể trong lớp ―sinh_viên‖ của Ontology. Lúc này, ánh xạ Ontology sử dụng thuật toán khoảng cách xâu giữa ―mã‖ và các quan hệ của lớp ―sinh_viên‖ trong Ontology, và ―mã‖ được nhận biết không tương tự với bất kỳ mối quan hệ nào. Mà ánh xạ Ontology lại nhận ra đó là khái niệm ―mã‖ biểu diễn lớp ―mã‖ trong Ontology. Sau đó, hệ thống tìm các mối quan hệ giữa lớp ―mã‖ và lớp ―sinh_viên‖ trong Ontology, và có mối quan hệ ―có_mã‖ giữa hai lớp này. Ánh xạ Ontology hình thành bộ ba mô tả (mã, có_mã, nguyễn_quốc_đại). Câu trả lời cho câu hỏi được thành phần trích chọn câu trả lời đưa ra tới người dùng (hình 4.8) Hình 4.8. Ví dụ hỏi đáp đối với loại câu hỏi “UNKN_TERM” Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 45 Hình 4.9. Ví dụ hỏi đáp đối với loại câu hỏi “UNKN_TERM” Đối với hai câu hỏi sau, bộ ba đầu vào cho ánh xạ Ontology là (?, địa chỉ, sinh viên). Ánh xạ Ontology nhận biết được thuật ngữ chỉ khái niệm ―sinh_viên‖ biểu diễn cho lớp ―sinh_viên‖ trong Ontology. Lúc này, khi sử dụng thuật toán khoảng cách xâu để so sánh ―địa chỉ‖ với các mối quan hệ của lớp ―sinh_viên‖ trong Ontology, ánh xạ Ontology thu được thuật ngữ chỉ quan hệ ―có_địa_chỉ‖. Ánh xạ Ontology hình thành bộ ba mô tả (?, có_địa_chỉ, sinh_viên) tương ứng với Ontology. Thành phần trích chọn câu trả lời đưa ra câu trả lời tới người dùng (hình 4.9). Các câu hỏi được xử lý bởi thành phần xử lý câu hỏi [1], do vậy, chúng tôi hoàn toàn xem xét được câu hỏi muốn hỏi về vấn đề gì, hỏi về người, về vị trí… Dựa trên đó, chúng tôi có thêm cách xử lý phù hợp với từng loại câu hỏi. Xem xét câu hỏi: ―học sinh của trường đại học công nghệ là ai?‖ Thành phần xử lý câu hỏi ngôn ngữ tự nhiên [1] cho biết loại câu hỏi là ―UNKN_TERM‖ và loại từ để hỏi là ―QU Who‖, thì hệ thống nhận biết được câu hỏi sẽ đề cập tới person nào đó (có thể là ―sinh_viên‖ | ―giảng_viên‖ trong thiết kế Ontology). Do đó đầu vào cho ánh xạ Ontology là (person, học sinh, trường đại học công nghệ). Bộ ba này được tiền xử lý và sử dụng tập từ đồng nghĩa. Sau khi so khớp và sử dụng thuật toán khoảng cách xâu, thành phần ánh xạ Ontology xử lý xong, thu được đầu ra là bộ ba mô tả (person, có_sinh_viên, đại_học_công_nghệ) tương ứng với Ontology. Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 46 4.4.1.4 Ánh xạ Ontology đối với loại câu hỏi AFFIRM_NEG Hệ thống mà chúng tôi giới thiệu còn xử lý với câu hỏi dạng đúng – sai. Chẳng hạn, với câu hỏi: ―Nguyễn Quốc Đại học trường đại học công nghệ phải không?‖ Câu hỏi này được thành phần xử lý câu hỏi ngôn ngữ tự nhiên [1] phân loại vào loại câu hỏi ―AFFIRM_NEG‖ (loại câu hỏi đúng – sai) và bộ ba đầu vào cho ánh xạ Ontology là (Nguyễn Quốc Đại, học, trường đại học công nghệ). Tương tự trên, ánh xạ Ontology sử dụng thuật toán khoảng cách xâu để tìm thuật ngữ thích hợp, thì nhận được thuật ngữ chỉ đối tượng ―nguyễn_quốc_đại‖ là thực thể của lớp ―sinh_viên‖ và thuật ngữ chỉ đối tượng ―đại_học_công_nghệ‖ là thực thể của lớp ―trường‖ trong Ontology. Tìm các mối quan hệ giữa hai lớp ―sinh_viên‖ và ―trường‖ trong Ontology. Sau đó, hệ thống so khớp với quan hệ của bộ ba đầu vào, nhận biết thuật ngữ chỉ quan hệ ―học‖ trong Ontology. Ánh xạ Ontology hình thành bộ ba mô tả (nguyễn_quốc_đại, học, đại_học_công_nghệ), từ đó thành phần trích chọn câu trả lời đưa ra câu trả lời tương ứng tới người dùng (hình 4.10). Hình 4.10. Ví dụ hỏi đáp đối với loại câu hỏi AFFIRM_NEG Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 47 4.4.2 Ánh xạ Ontology đối với loại câu hỏi “THREETERM” 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 Thuật_ngữ_3 Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 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. Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 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. Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 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. Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 51 4.5 Trích chọn câu trả lời Sau khi ánh xạ Ontology kết thúc thu được các bộ ba mô tả các khái niệm, đối tượng và quan hệ tương ứng với Ontology. Thành phần trích chọn câu trả lời được sử dụng để đưa ra câu trả lời tới ngữ nghĩa tốt nhất có thể tới người dùng. Ngoài ra, nhờ quá trình phân tích câu hỏi bởi [1], chúng tôi biết được câu hỏi thuộc dạng nào, có mẫu câu là gì, hỏi về vấn đề gì. Từ đó, chúng tôi đưa ra câu trả lời ngữ nghĩa tốt nhất có thể tới người dùng. Ví dụ với câu hỏi đơn giản loại ―NORMAL‖: ―số lượng sinh viên học lớp k50 khoa học máy tính?‖ Sau khi ánh xạ Ontology, hệ thống thu được bộ ba mô tả (sinh_viên, học, k50_khoa_học_máy_tính). Và do [1], chúng tôi thu được mẫu câu hỏi như hình 4.12, và nhận biết được đây là câu hỏi về số lượng. Nên câu trả lời ngữ nghĩa mà chúng tôi có thể đưa ra như trong hình 4.12. Hình 4.12. Ví dụ hỏi đáp đối với câu hỏi về số lƣợng Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 52 Sau khi câu hỏi được phân tích bởi thành phần xử lý câu hỏi ngôn ngữ tự nhiên [1], hình thành bộ ba biểu diễn, và ánh xạ Ontology sử dụng bộ ba này để tạo nên các bộ ba mô tả tương ứng với Ontology. Chúng tôi xem xét đối với hai dạng câu hỏi, câu hỏi đơn giản và phức tạp. Đối với câu hỏi đơn giản được phân loại thành ―NORMAL‖, ―UNKN_REL‖, ―UNKN_TERM‖, ―AFFIRM_NEG‖. Các câu hỏi phức tạp, khi chúng được phân tích bởi thành phần xử lý câu hỏi [1] thì được phân loại ―THREETERM‖. Sau khi hình thành các bộ ba mô tả tương ứng với Ontology, thành phần trích chọn câu trả lời dựa vào các bộ ba này để đưa ra câu trả lời ngữ nghĩa tốt nhất có thể. Mục dưới đây, chúng tôi giới thiệu cách xử lý đối với từng loại câu hỏi của thành phần trích chọn câu trả lời và đưa ra ví dụ cụ thể đối với từng loại câu hỏi này. 4.5.1 Trích chọn câu trả lời cho loại câu hỏi “NORMAL”, “UNKN_REL” Đối với các câu hỏi đơn giản được phân loại ―NORMAL‖, ―UNKN_REL‖, ánh xạ Ontology hình thành nên bộ ba mô tả các khái niệm, đối tượng và quan hệ tương ứng với Ontology. Và thuật ngữ đầu trong bộ ba sẽ mô tả một lớp nào đó trong Ontology. Khi đó, thành phần trích chọn câu trả lời lấy tất cả các đối tượng thuộc lớp này trong Ontology. Với mỗi đối tượng tìm được, dựa theo quan hệ đã biết, thành phần trích chọn câu trả lời xem đối tượng đó có liên kết tới đối tượng trong bộ ba mô tả không, để tìm câu trả lời (hình 4.13). Nếu thuật ngữ thứ hai trong bộ ba mô tả là một khái niệm biểu diễn một lớp nào đó trong Ontology, chẳng hạn là bộ ba (mã, có_mã, sinh_viên), thì hệ thống tìm tất cả các đối tượng trong lớp ―mã‖, với mỗi đối tượng này, dựa vào quan hệ ―có_mã‖ liên kết tới đối tượng nào trong lớp ―sinh_viên‖ và đưa ra câu trả lời tới người sử dụng. Hình 4.13. Trích chọn câu trả lời đối với loại câu hỏi “NORMAL”, “UNKN_REL” Tập đối tƣợng Quan_hệ Thuật_ngữ_2 Thuật_ngữ_1 Ánh xạ Ontology Câu trả lời Đối tƣợng Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 53 Ví dụ, với câu hỏi ―sinh viên nào học lớp khoa học máy tính?‖ Ánh xạ Ontology đưa ra bộ ba mô tả tương ứng với Ontology là (sinh_viên, học, k50_khoa_học_máy_tính). Thành phần trích chọn câu trả lời sẽ tìm kiếm trong tất các đối tượng của lớp ―sinh_viên‖ trong Ontology, với mỗi đối tượng này, dựa vào mối quan hệ ―học‖ trong Ontology xem nó có liên kết tới thực thể ―k50_khoa_học_máy_tính‖. Kết quả trả về sẽ là tất cả các thực thể có liên kết với ―k50_khoa_học_máy_tính‖. Dựa vào đó, đưa ra câu trả lời ngữ nghĩa tốt nhất có thể tới người sử dụng (hình 4.14). Hình 4.14. Ví dụ hỏi đáp đối với loại câu hỏi “NORMAL”, “UNKN_REL” Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 54 4.5.2 Trích chọn câu trả lời cho loại câu hỏi “UNKN_TERM” Đối với câu hỏi ―UNKN_TERM‖, nếu ánh xạ Ontology hình thành bộ ba mô tả đủ các thành phần thì thành phần trích chọn câu trả lời tìm kiếm tương tự như đối với hai loại câu hỏi trên. Và dựa vào mẫu câu hỏi cùng loại từ để hỏi [1], chúng tôi đưa ra câu trả lời ngữ nghĩa tốt nhất có thể tới người dùng. Nhưng các câu hỏi thuộc loại ―UNKN_TERM‖ có bộ ba mô tả thiếu thuật ngữ đầu, thì thành phần trích chọn câu trả lời căn cứ vào thuật ngữ còn lại trong bộ ba mô tả. Nếu thuật ngữ đó là đối tượng trong Ontology, thì tìm câu trả lời dựa vào đối tượng này theo quan hệ tới đối tượng nào đó. Còn thuật ngữ còn lại là một khái niệm mô tả một lớp trong Ontology, hệ thống lấy tất cả các đối tượng thuộc lớp, dựa theo quan hệ đã biết, xem đối tượng đó liên kết tới đối tượng nào, từ đó đưa ra câu trả ngữ nghĩa tốt nhất có thể lời tới người sử dụng (hình 4.15). Hình 4.15. Thành phần trích chọn câu trả lời đối với loại câu hỏi “UNKN_TERM” Với câu hỏi thiếu thuật ngữ: ―địa chỉ của Nguyễn Quốc Đại ở đâu?‖ ―Nguyễn Quốc Đại có địa chỉ là gì?‖ Bộ ba mô tả hình thành bởi ánh xạ Ontology là (?, có_địa_chỉ, ―nguyễn_quốc_đại‖), và là bộ ba đầu vào cho thành phần trích chọn câu trả lời. Dựa vào thực thể chỉ đối tượng ―nguyễn_quốc_đại‖ theo quan hệ ―có_địa_chỉ‖ sẽ đưa ra câu trả lời cho câu hỏi là ―đồng_mai_hà_đông_hà_nội‖ (hình 4.16). Quan_hệ Thuật_ngữ_2 Ánh xạ Ontology Câu trả lời Đối tƣợng Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 55 Hình 4.16. Ví dụ hỏi đáp đối với loại câu hỏi “UNKN_TERM” Hình 4.17. Ví dụ hỏi đáp đối với loại câu hỏi “UNKN_TERM” Nhưng đối với câu hỏi: ―sinh viên có địa chỉ ở đâu?‖ Như phân tích ở trên, hệ thống thu được bộ ba mô tả (?, có_địa_chỉ, sinh_viên). Thành phần trích chọn câu trả lời tìm tất cả các thực thể của lớp ―sinh_viên‖ trong Ontology dựa theo quan hệ ―có_địa_chỉ‖ liên kết tới thực thể nào thì đưa ra câu trả lời tới người dùng (hình 4.17). Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 56 4.5.3 Trích chọn câu trả lời cho loại câu hỏi “AFFIRM_NEG” Hình 4.18. Thành phần trích chọn câu trả lời đối với loại câu hỏi “AFFIRM_NEG” Các câu hỏi được phân loại ―AFFIRM_NEG‖, tùy vào từng trường hợp cụ thể, hệ thống đưa ra câu trả lời tương ứng. Nếu hai thuật ngữ trong bộ ba mô tả hai đối tượng, hệ thống dựa vào chúng và quan hệ đã biết để xem có liên kết không, rồi đưa ra trả lời ngữ nghĩa tới người dùng (hình 4.18). Với câu hỏi: ―Nguyễn Quốc Đại có quê là Hà Nội phải không?‖ Thành phần ánh xạ Ontology hình thành nên bộ ba (nguyễn_quốc_đại, có_quê | là_quê, hà_nội). Thành phần trích chọn câu trả lời dựa vào ―nguyễn_quốc_đại‖ theo quan hệ ―có_quê‖ (hoặc ―là_quê‖, hoặc cả hai quan hệ này) xem có liên kết tới ―hà_nội‖ không, câu trả lời được đưa tới người dùng (hình 4.19). Hình 4.19. Ví dụ hỏi đáp đối với loại câu hỏi “AFFIRM_NEG” Quan_hệ Thuật_ngữ_2 Thuật_ngữ_1 Ánh xạ Ontology Câu trả lời Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 57 4.5.4 Trích chọn câu trả lời cho loại câu hỏi “THREETERM” Sau khi thành phần ánh xạ Ontology xử lý với các câu hỏi phức tạp (phân loại ―THREETERM‖) , hình thành hai bộ ba mô tả các khái niêm, đối tượng và quan hệ tương ứng với Ontology. Thành phần trích chọn câu trả lời dựa vào hai bộ ba này, đưa ra kết hợp phù hợp để hình thành câu trả lời (hình 4.20). Hình 4.20. Thành phần trích chọn câu trả lời đối với loại câu hỏi “THREETERM” Tùy thuộc vào từng câu hỏi, thành phần trích chọn câu trả lời sẽ đưa ra sự kết hợp phù hợp giữa hai bộ ba mô tả. Thành phần trích chọn câu hỏi đối với mỗi bộ ba sẽ tìm các đối tượng dựa theo quan hệ (tương tự như loại câu hỏi đơn giản), rồi kết hợp lại các đối tượng tìm thấy tùy vào từng trường hợp để đưa ra câu trả lời ngữ nghĩa tới người sử dụng. Tập đối tƣợng Quan_hệ_2 Thuật_ngữ_3 Thuật_ngữ Ánh xạ Ontology Đối tƣợng Tập đối tƣợng Quan_hệ_1 Thuật_ngữ_2 Thuật_ngữ_1 Đối tƣợng Câu trả lời Chương 4. Hệ thống hỏi đáp tiếng Việt dựa trên Ontology Nguyễn Quốc Đại 58 Với câu hỏi: ―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ệ?‖ Ánh xạ Ontology hình thành hai bộ ba (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ệ). Thành phần trích chọn câu trả lời tìm tất cả các đối tượng cho tương ứng với từng bộ ba, tìm các đối tượng của lớp ―sinh_viên‖ theo quan hệ ―học‖ tới ―k50_khoa_học_máy_tính‖, đồng thời cũng tìm các đối tượng của lớp ―sinh_viên‖ theo quan hệ ―học‖ tới ―đại_học_công_nghệ‖. Sau đó, thành phần trích chọn câu trả lời tìm giao của hai bộ đối tượng để đưa ra câu trả lời tới người sử dụng (hình 4.21). Hình 4.21. Ví dụ hỏi đáp đối với loại câu hỏi “THREETERM” Trong loại câu hỏi này, thành phần trích chọn câu trả lời tìm các đối tượng đối với mỗi bộ ba tương tự như câu hỏi đơn giản và kết hợp phù hợp đưa ra câu trả lời. ―sinh viên của lớp của trường đại học công nghệ là ai?‖ Hai bộ ba mô tả tương ứng với Ontology là (?, có_sinh_viên, lớp) và (lớp, có_lớp, đại_học_công_nghệ). Trước hết hệ thống tìm các đối tượng của lớp ―lớp‖ có liên kết tới đối tượng ―đại_học_công_nghệ‖ qua quan hệ ―có_lớp‖ trong Ontology. Sau khi tìm được các đối tượng của ―lớp‖, thành phần trích chọn câu trả lời dựa vào các đối tượng này theo quan hệ ―có_sinh_viên‖ để tìm các đối tượng liên kết tới đối tượng trong Ontology. Từ đó, thành phần trích chọn đưa ra câu trả lời tới người dùng. Chương 5. Kết quả thực nghiệm và thảo luận Nguyễn Quốc Đại 59 Chƣơng 5. Kết quả thực nghiệm và thảo luận 5.1 Kết quả thực nghiệm Chúng tôi đánh giá hệ thống dựa trên tập dữ liệu 50 câu hỏi về lĩnh vực cụ thể, ở đây là các câu hỏi liên quan tới trường Đại học Công Nghệ. 50 câu hỏi được chúng tôi đưa ra đều được thành phần xử lý câu hỏi ngôn ngữ tự nhiên [1] xử lý thành công, hình thành nên bộ ba biểu diễn cho câu hỏi (phụ lục A). Ánh xạ Ontology sử dụng bộ ba biểu diễn này để hình thành nên các bộ ba mô tả tương ứng với Ontology, rồi thành phần trích chọn câu trả lời đưa ra câu trả tốt nhất có thể lời tới người dùng. Để đánh giá hệ thống, chúng tôi dựa vào tỉ lệ phần trăm của các câu hỏi đưa ra đối với tập dữ liệu 50 câu hỏi. Chúng tôi đánh giá hệ thống dựa vào các tiêu chí sau: Tiêu chí 1: Đánh giá hệ thống đối với các câu trả lời được. Trong đó, chúng tôi tính toán phần trăm số câu hỏi trả lời chính xác mà không cần tương tác với hệ thống. Sau đó, chúng tôi đánh giá hệ thống cho các câu hỏi trả lời được nhưng cần tương tác với hệ thống. Tiêu chí 2: Đánh giá hệ thống cho các câu hỏi không trả lời được. Chúng tôi tính toán phần trăm đối với các câu hỏi lỗi do thành phần ánh xạ Ontology, thành phần trích chọn câu trả lời. STT Đánh giá hệ thống Số câu hỏi Tỉ lệ % 1 Thành công không cần tương tác với hệ thống 25 50% 2 Thành công cần tương tác với hệ thống 10 20% 3 Tổng số câu hỏi thành công 35 70% Bảng 5.1. Đánh giá hệ thống đối với các câu hỏi trả lời đƣợc Chương 5. Kết quả thực nghiệm và thảo luận Nguyễn Quốc Đại 60 Bảng 5.1 là đánh giá của hệ thống đối với các câu trả lời được trong quá trình thực nghiệm. Chúng tôi nhận thấy có 25 câu trả lời đúng mà không cần tương tác với hệ thống. Vì các câu hỏi này chủ yếu là các câu hỏi đơn giản, không gây nhập nhằng, thành phần ánh xạ Ontology đưa ra được bộ ba mô tả mà không cần tương tác với người dùng. Ngoài ra, có 10 câu hỏi yêu cầu tương tác với người dùng để hình thành nên các bộ ba mô tả tương ứng với Ontology, từ đó hệ thống đưa ra câu trả lời tới người sử dụng. STT Đánh giá hệ thống Số câu hỏi Tỉ lệ % 1 Lỗi do ánh xạ Ontology 10 20% 2 Lỗi do trích chọn câu trả lời 5 10% 3 Tổng số câu hỏi lỗi 15 30% Bảng 5.2. Đánh giá hệ thống đối với các câu hỏi lỗi Bảng 5.2 đưa ra đánh giá hệ thống đối với các câu hỏi lỗi, không có kết quả trả lời. Chúng tôi phân tích nguyên nhân dẫn đến lỗi của các câu hỏi: Có 10 câu hỏi lỗi do ánh xạ Ontology, do hệ thống chưa thể xử lý được đối với các câu hỏi kết hợp do thành phần xử lý ngôn ngữ tự nhiên [1] đưa ra. Hoặc bị lỗi khi ánh xạ Ontology không so khớp được các khái niệm, các đối tượng trong Ontology. Ví dụ câu hỏi: ―sinh viên nào có quê ở hà tây?‖ Với câu hỏi nêu trên, thuật ngữ ―hà tây‖ không tương tự với bất kỳ thuật ngữ chỉ khái niệm hay đối tượng nào trong Ontology. Do vậy, ánh xạ Ontology không thể hình thành được bộ ba mô tả tương ứng với Ontology. Chương 5. Kết quả thực nghiệm và thảo luận Nguyễn Quốc Đại 61 Có 5 câu hỏi lỗi do trích chọn câu trả lời, những lỗi này do quá trình thiết kế dữ liệu trong Ontology. Ví dụ với câu hỏi: ―lớp của Nguyễn Quốc Đại là gì?‖ Ánh xạ Ontology hình thành bộ ba mô tả tương ứng với Ontology là (?, có_lớp, nguyễn_quốc_đại). Nhưng đối tượng ―nguyễn_quốc_đại‖ trong Ontology theo quan hệ ―có_lớp‖ không liên kết tới đối tượng nào, do đó không có câu trả lời được đưa ra. 5.2 Thảo luận Mặc dù hệ thống gặp nhiều khó khăn trong việc đưa ra câu trả lời tới người dùng, nhưng chúng tôi sẽ cố gắng hoàn thiện hệ thống. Đối với những câu hỏi lỗi do thành phần và trích chọn câu trả lời, chúng tôi sẽ thực hiện thiết kế, cập nhật dữ liệu vào Ontology. Đối với những câu hỏi mà kết quả dư thừa thông tin, chúng tôi cố gắng xử lý để loại bỏ những kết quả dư thừa. Ví dụ đối với câu hỏi: ―Nguyễn Quốc Đại học trường nào?‖. Do quá trình thiết kế Ontology, lớp ―trường‖ là lớp cha của lớp ―khoa‖, lớp ―lớp‖, lớp ―sinh_viên‖, và do liên kết giữa các lớp này nên câu trả lời dư thừa thông tin. Nhưng chúng tôi sẽ xử lý bởi việc tìm lớp cha của các đối tượng được đưa ra so khớp với ―trường‖ để đưa ra câu trả lời chính xác. Đối với những lỗi câu hỏi do thành phần trích ánh xạ Ontology, ngoài việc cập nhật dữ liệu, chúng tôi xử lý thêm đối với các loại câu hỏi khác được phân tích bởi [1]. Chẳng hạn, với câu hỏi: ―Nguyễn Quốc Đại có quê ở đâu và học lớp nào?‖ Thành phần xử lý câu hỏi [1] sẽ đưa ra hai bộ ba biểu diễn trung gian cho câu hỏi (?, có quê, Nguyễn Quốc Đại) và (lớp, học, Nguyễn Quốc Đại). Và thành phần ánh xạ Ontology chưa xử lý được với các câu hỏi như vậy. Các kết quả thu được trả lời khá tốt đối với các câu hỏi đơn giản. Trong tương lai gần, chúng tôi sẽ xử lý đối với câu hỏi phức tạp hơn để hoàn thiện hệ thống này. Chương 6. Kết luận Nguyễn Quốc Đại 62 Chƣơng 6. Kết luận Việc xây dựng nên một hệ thống hỏi đáp thực sự khó, các nghiên cứu hiện nay tập trung vào việc xây dựng một hệ thống nhằm đưa ra một câu trả lời ngữ nghĩa tốt nhất có thể. Nghiên cứu xây dựng hệ thống hỏi đáp tiếng Việt là một nhu cầu tất yếu cần thiết đối với cuộc sống, nhưng hiện nay vẫn còn chưa có được nhiều quan tâm. Trong khóa luận này, chúng tôi đã giới thiệu một phương pháp thiết kế hệ thống hỏi đáp cho tiếng Việt dựa trên Ontology. Hệ thống này có thể áp dụng trả lời cho các câu hỏi thuộc nhiều miền ứng dụng cụ thể. Chúng tôi thiết kế một Ontology thử nghiệm cho miền tri thức cụ thể là miền tri thức về Đại học Công Nghệ. Một bộ biểu diễn trung gian cho câu hỏi được hình thành thông qua quá trình phân tích bởi [1]. Bộ biểu diễn trung gian này đượ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ữ. Ánh xạ Ontology sử dụng các bộ biểu diễn này để hình thành nên các bộ ba mô tả các khái niệm, các đối tượng và các quan hệ 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 có thể tới người sử dụng. Phương pháp của chúng tôi đạt được các kết quả tốt khi trả lời các câu hỏi được đưa ra. Trong thời gian tới, chúng tôi tiếp tục hoàn thiện hệ thống để xử lý các câu hỏi phức tạp hơn và đưa ra câu trả lời mang nhiều ngữ nghĩa hơn tới người dùng. Phụ lục Nguyễn Quốc Đại 63 Phụ lục A Danh sách 50 câu hỏi dùng để thực nghiệm: 1. Nguyễn Quốc Đại có địa chỉ ở đâu? 2. Địa chỉ của Nguyễn Quốc Đại là gì? 3. Mã sinh viên của Nguyễn Quốc Đại là gì? 4. Nguyễn Quốc Đại có mã là gì? 5. Những sinh viên có quê ở Hà Nội là ai? 6. Ai là những sinh viên có quê ở Hà Nội? 7. Sinh viên nào có quê ở Hà Nội? 8. Môn học được học bởi Nguyễn Quốc Đại là gì? 9. Quê của sinh viên nào ở Hà Nội? 10. Nguyễn Quốc Đại học lớp nào? 11. Lớp nào có sinh viên là Nguyễn Quốc Đại? 12. Nguyễn Quốc Đại học lớp nào? 13. Ai là sinh viên của lớp khoa học máy tính? 14. Hà Nội là quê của ai? 15. Ai có quê ở Hà Nội? 16. Quê của những người nào ở Hà Nội? 17. Nguyễn Quốc Đại có mã sinh viên là gì? Phụ lục Nguyễn Quốc Đại 64 18. Danh sách các sinh viên của lớp khoa học máy tính? 19. Lớp nào có sinh viên Nguyễn Quốc Đại? 20. Số lượng sinh viên của lớp k50 khoa học máy tính là bao nhiêu? 21. Nguyễn Quốc Đại có quê ở Hà Nội phải không? 22. Sinh viên nào học lớp nào? 23. Lớp nào có sinh viên nào? 24. Khoa nào có sinh viên nào? 25. Sinh viên có địa chỉ là gì? 26. Địa chỉ của sinh viên là gi? 27. Sinh viên có mã là gì? 28. Mã của sinh viên là gì? 29. Sinh viên học lớp nào? 30. 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ệ? 31. Sinh viên của lớp khoa học máy tính của trường đại học công nghệ là ai? 32. Trường của Nguyễn Quốc Đại của Nguyễn Quốc Đạt là gì? 33. Đại học Công Nghệ có khoa nào? 34. Khoa nào thuộc Đại học Công Nghệ? 35. Lớp k50 khoa học máy tính thuộc khoa nào? 36. Thầy giáo nào giảng dạy lớp k50 khoa học máy tính? 37. Trường Đại học Công Nghệ giảng dạy môn nào? 38. Môn nào được giảng dạy bởi trường Đại học Công Nghệ? Phụ lục Nguyễn Quốc Đại 65 39. Đại học Công Nghệ có hiệu trưởng là ai? 40. Ai là hiệu trưởng của trường Đại học Công nghệ? 41. Lớp khoa học máy tính có lớp trưởng là ai? 42. Ai là lớp trưởng của lớp k50 khoa học máy tính? 43. Quê của Nguyễn Quốc Đại là Hà Nội phải không? 44. Nguyễn Trần Ngọc Linh có chức vụ là gì? 45. Sinh viên nào có quê ở Hà Nội và học lớp k50 khoa học máy tính? 46. Ai là sinh viên của lớp khoa học máy tính của trường đại học Công Nghệ? 47. Tồn tại sinh viên có quê ở Hà Tây và học lớp khoa học máy tính đúng không? 48. Lớp có sinh viên Nguyễn Quốc Đạt là lớp nào? 49. 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ệ? 50. Sinh viên lớp khoa học máy tính là những ai? Tài liệu tham khảo Nguyễn Quốc Đại 66 Tài liệu tham khảo [1]. Nguyễn Quốc Đạt. Phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng Việt. Khóa luận tốt nghiệp 2009 – Đại học Công Nghệ - Đại học Quốc Gia Hà Nội. [2]. Goh Hui Ngo, Dr Somnuk, Ontology-based Question Answering. [3]. Vanessa Lopez, Victoria Uren, Enrico Motta, Michele Pasin, AquaLog: An ontology-driven question answering system for organizational semantic intranets. [4]. AKT Reference Ontology, onto/index.html. [5]. I. Androutsopoulos, G.D. Ritchie, P. Thanisch, MASQUE/SQL—an efficient and portable natural language query interface for relational databases, in: P.W. Chung, G. Lovegrove, M. Ali (Eds.), Proceedings of the 6 th International Conference on Industrial and Engineering Applications of Artificial Intelligence and Expert Systems, Edinburgh, UK, Gordon and Breach Publishers, 1993, pp. 327–330. [6]. I. Androutsopoulos, G.D. Ritchie, P. Thanisch, Natural language interfaces to databases—an introduction, Nat. Lang. Eng. 1 (1) (1995) 29–81. [7]. AskJeeves, AskJeeves: [8]. G. Attardi, A. Cisternino, F. Formica, M. Simi, A. Tommasi, C. Zavattari, PIQASso: PIsa question answering system, in: Proceedings of the text Retrieval Conferemce (Trec-10), 599-607, NIST, Gaithersburg, MD, November 13–16, 2001. [9]. R. Basili, D.H. Hansen, P. Paggio,M.T. Pazienza, F.M. Zanzotto, Ontological resources and question data in answering, in:Workshop on Pragmatics of Question Answering, held jointly with NAACL, Boston, MA, May, 2004. Tài liệu tham khảo Nguyễn Quốc Đại 67 [10]. T. Berners-Lee, J. Hendler, O. Lassila, The semantic web, Sci. Am. 284 (5) (2001). [11]. J. Burger, C., Cardie, V., Chaudhri, et al., Tas ks and Program Structures to Roadmap Research in Question & Answering (Q&A), NIST Technical Report, 2001. [12]. R.D. Burke, K.J. Hammond, V. Kulyukin, Question answering from frequently- asked question files: experiences with the FAQ finder system, Tech. Rep. TR- 97-05, Department of Computer Science, University of Chicago, 1997. [13]. J. Chu-Carroll, D. Ferrucci, J. Prager, C. Welty, Hybridization in question answering systems, in: M. Maybury (Ed.), New Directions in Question Answering, AAAI Press, 2003. [14]. P. Clark, J. Thompson, B. Porter,Aknowledge-based approach to question- answering, in: In the AAAI Fall Symposium on Question-Answering Systems, CA, AAAI, 1999, pp. 43–51. [15]. W.W. Cohen, P. Ravikumar, S.E. Fienberg, A comparison of string distance metrics for name-matching tasks, in: IIWeb Workshop, 2003, 2.cs.cmu.edu/∼wcohen/postscript/ijcai-ws-2003.pdf. [16]. A. Copestake,K.S. Jones,Natural language interfaces to databases, Knowl. Eng. Rev. 5 (4) (1990) 225–249. [17]. H. Cunningham, D. Maynard, K. Bontcheva, V. Tablan, GATE: a framework and graphical development environment for robust NLP tools and applications, in: Proceedings of the 40th AnniversaryMeeting of the Association for Computational Linguistics (ACL’02), Philadelphia, 2002. [18]. De Boni, M. TREC 9 QA track overview. [19]. A.N De Roeck, C.J. Fox, B.G.T. Lowden, R. Turner, B. Walls, A natural language system based on formal semantics, in: Proceedings of the International Conference on Current Issues in Computational Linguistics, Pengang, Malaysia, 1991. [20]. Discourse Represenand then tation Theory. Jan Van Eijck, to appear in the 2nd edition of the Encyclopedia of Language and Linguistics, Elsevier, 2005. [21]. M. Dzbor, J. Domingue, E. Motta, Magpie—towards a semantic web browser, in: Proceedings of the 2nd International Semantic Web Conference Tài liệu tham khảo Nguyễn Quốc Đại 68 (ISWC2003), Lecture Notes in Computer Science, 2870/2003, Springer-Verlag, 2003. [22]. EasyAsk: [23]. C. Fellbaum (Ed.), WordNet, An Electronic Lexical Database, Bradford Books, May, 1998. [24]. R. Guha, R. McCool, E. Miller, Semantic search, in: Proceedings of the 12th International Conference on World Wide Web, Budapest, Hungary, 2003. [25]. S. Harabagiu, D. Moldovan, M. Pasca, R. Mihalcea, M. Surdeanu, R. Bunescu, R. Girju, V. Rus, P. Morarescu, Falcon—boosting knowledge for answer engines, in: Proceedings of the 9th Text Retrieval Conference (Trec-9), Gaithersburg, MD, November, 2000. [26]. L. Hirschman, R. Gaizauskas, Natural Language question answering: the view from here., Nat. Lang. Eng. 7 (4) (2001) 275–300 (special issue on Question Answering). [27]. E.H.Hovy, L.Gerber,U.Hermjakob,M. Junk, C.-Y. Lin,Question answering in Webclopedia, in: Proceedings of the TREC-9 Conference. NIST, Gaithersburg, MD, 2000. [28]. E. Hsu, D. McGuinness, Wine agent: semantic web testbed application, Workshop on Description Logics, 2003. [29]. A. Hunter, Natural language database interfaces, Knowl. Manage. (2000). [30]. H. Jung,G.Geunbae Lee,Multilingual question answeringwith high portability on relational databases, IEICE Trans. Inform. Syst. E86-D (2) (2003) 306–315. [31]. JWNL (Java WordNet library) [32]. J. Kaplan, Designing a portable natural language database query system, ACM Trans. Database Syst. 9 (1) (1984) 1–19. [33]. B. Katz, S. Felshin, D. Yuret, A. Ibrahim, J. Lin, G. Marton, A.J. McFarland, B. Temelkuran, Omnibase: uniform access to heterogeneous data for question answering, in: Proceedings of the 7th International Workshop on Applications of Natural Language to Information Systems (NLDB), 2002. [34]. B. Katz, J. Lin, REXTOR: a system for generating relations from natural language, in: Proceedings of the ACL-2000. Workshop of Natural Language Processing and Information Retrieval (NLP(IR)), 2000. Tài liệu tham khảo Nguyễn Quốc Đại 69 [35]. B. Katz, J. Lin, Selectively using relations to improve precision in question answering, in: Proceedings of the EACL-2003. Workshop on Natural Language Processing for Question Answering, 2003. [36]. D. Klein, C.D. Manning, Fast Exact Inference with a Factored Model for Natural Language Parsing, Adv. Neural Inform. Process. Syst. 15 (2002). [37]. Y. Lei, M. Sabou, V. Lopez, J. Zhu, V. Uren, E. Motta, An infrastructure for acquiring high quality semantic metadata, in: Proceedings of the 3 rd European Semantic Web Conference, Montenegro, 2006. [38]. K.C. Litkowski, Syntactic clues and lexical resources in question-answering, in: E.M. Voorhees, D.K. Harman (Eds.), Information Technology: TheNinth TextREtrieval Conferenence (TREC-9),NIST Special Publication 500-249, National Institute of Standards and Technology, Gaithersburg, MD, 2001, pp. 157–166. [39]. V. Lopez, E. Motta, V. Uren, PowerAqua: fishing the semantic web, in: Proceedings of the 3rd European Semantic Web Conference, MonteNegro, 2006. [40]. V. Lopez, E. Motta, Ontology driven question answering in AquaLog, in: Proceedings of the 9th International Conference onApplications ofNatural Language to Information Systems, Manchester, England, 2004. [41]. P.Martin, D.E. Appelt, B.J. Grosz, F.C.N. Pereira, TEAM: an experimental transportable natural–language interface, IEEE Database Eng. Bull. 8 (3) (1985) 10–22. [42]. D. Mc Guinness, F. van Harmelen, OWL Web Ontology Language Overview. W3C Recommendation, 10, 2004 [43]. D. Mc Guinness, Question answering on the semantic web, IEEE Intell. Syst. 19 (1) (2004). [44]. T.M. Mitchell, Machine Learning, McGraw-Hill, New York, 1997. [45]. D.Moldovan, S. Harabagiu,M. Pasca, R.Mihalcea, R. Goodrum, R. Girju, V. Rus, LASSO: a tool for surfing the answer net, in: Proceedings of the Text Retrieval Conference (TREC-8), November, 1999. [46]. M. Pasca, S. Harabagiu, The informative role of Wordnet in open-domain question answering, in: 2ndMeeting of the North American Chapter of the Association for Computational Linguistics (NAACL), 2001. Tài liệu tham khảo Nguyễn Quốc Đại 70 [47]. A.M. Popescu, O. Etzioni, H.A. Kautz, Towards a theory of natural language interfaces to databases, in: Proceedings of the 2003 International Conference on Intelligent User Interfaces, Miami, FL, USA, January 12–15, 2003, pp. 149– 157. [48]. RDF: [49]. K. Srihari, W. Li, X. Li, Information extraction supported question-answering, in: T. Strzalkowski, S. Harabagiu (Eds.), Advances in Open-Domain Question Answering, Kluwer Academic Publishers, 2004. [50]. V. Tablan, D. Maynard, K. Bontcheva, GATE—A Concise User Guide. University of Sheffield, UK. [51]. W3C,OWLWebOntology LanguageGuide: owl-guide-0030818/. [52]. R. Waldinger, D.E. Appelt, et al., Deductive question answering from multiple resources, in: M. Maybury (Ed.), New Directions in Question Answering, AAAI Press, 2003. [53]. WebOnto project: [54]. M. Wu, X. Zheng, M. Duan, T. Liu, T. Strzalkowski, Question answering by pattern matching, web-proofing, semantic form proofing. NIST Special Publication, in: The 12th Text Retrieval Conference (TREC), 2003, pp. 255– 500. [55]. Z. Zheng, The answer bus question answering system, in: Proceedings of the Human Language Technology Conference (HLT2002), San Diego, CA, March 24–27, 2002. [56]. [57]. [58]. [59]. User guide for Sesame, [60]. [61]. [62]. [63]. [64]. [65]. Tài liệu tham khảo Nguyễn Quốc Đại 71 [66]. [67]. [68]. A Practical Guide To Building OWL Ontologies Using The Protege-OWL Plugin and CO-ODE Tools Edition 1.0 Matthew Horridge1, Holger Knublauch2, Alan Rector1, Robert Stevens1, Chris Wroe1. [69]. [70]. nd_final.pdf.

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN- PHƯƠNG PHÁP XÂY DỰNG HỆ THỐNG HỎI ĐÁP TIẾNG VIỆT DỰA TRÊN ONTOLOGY.pdf