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ệ.
83 trang |
Chia sẻ: lylyngoc | Lượt xem: 2915 | Lượt tải: 0
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:
- 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.pdf