Hệ thống áp dụng phương pháp phân tích này thực hiện tốt đối với những câu
hỏi có cấu tạo đơn giản. Trong khi ở những câu hỏi có cấu tạo phức tạp hơn thì khả
năng phân tích bị giảm đi. Những kết quả khả quan ban đầu (phân tích được chính xác
45 / 60 câu hỏi) đã góp phần tạo nên hệ thống hỏi đáp tiếng Việt dựa trên Ontology do
Nguyễn Quốc Đại [42] xây dựng và thử nghiệm.
104 trang |
Chia sẻ: lylyngoc | Lượt xem: 2527 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận văn Phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng Việt, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
các cụm từ mà tính từ được theo sau bởi từ “hơn” hoặc từ
“nhất”, chúng ta sẽ sử dụng kiểu chú giải TokenVn trên cụm từ dạng này, với đặc
trưng string là xâu biểu diễn cụm từ, category nhận giá trị la “Tusosanh”, type nhận
một trong hai giá trị “Tương đối” hoặc “Tuyệt đối” phụ thuộc vào từ đi sau tính từ là
từ “hơn” hay là từ “nhất”. Như vậy một từ đã đuợc tạo ra mang ý nghĩa so sánh thay
cho cụm từ ban đầu.
Trong câu hỏi “Sinh viên nào có điểm lớn hơn 7?”, chúng ta sẽ có “lớn hơn”
được chú giải bởi kiểu TokenVn với đặc trưng category là ―Tusosanh”. Và câu hỏi
này có hai từ “sinh viên” và “điểm” được chú giải bởi kiểu Cumdanhtu như được chỉ
ra ở hình 4-9 sau:
Hình 4-9: Từ mang ý nghĩa so sánh trong câu hỏi tiếng Việt
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
53
Song song với việc xác định cụm danh từ, chúng tôi tạo một kiểu chú giải là
Danhngu (trong hình 4-10) để khớp với thành phần trung tâm của cụm danh từ và tính
từ theo đằng sau (nếu có). Từ hoặc cụm từ được chú giải bởi kiểu Danhngu sẽ là một
thực thể hoặc là một khái niệm.
Hình 4-10: Một ví dụ về kiểu chú giải Danhngu
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
54
4.3.2. Mối quan hệ
Chúng tôi định nghĩa mối quan hệ là một cụm từ (thuộc tính) được dùng để liên kết
giữa các cụm danh từ chứa đựng khái niệm (lớp đối tượng) hoặc chứa đựng thực thể
(đối tượng), hoặc liên kết cụm danh từ với từ (hoặc cụm từ) dùng để hỏi.
Xét câu hỏi: “Những sinh viên có quê ở Hà Tây là ai?”. Module phân tích cú
pháp xác định được ―Những sinh viên‖, “quê”, “Hà Tây”, là cụm danh từ. Cụm từ
“có quê ở” liên kết hai cụm danh từ “Những sinh viên” và “Hà Tây”, do đó “có quê
ở” được coi là một mối quan hệ.
Với câu hỏi: “ai là sinh viên của lớp khoa học máy tính?”. Module phân tích cú
pháp sẽ xác định được mối quan hệ “là sinh viên của” liên kết cụm danh từ “lớp khoa
học máy tính” và từ để hỏi “ai”.
Với câu hỏi, “ai học ở lớp khoa học máy tính?”. Module phân tích cú pháp sẽ
xác định được mối quan hệ “học ở” liên kết cụm danh từ “lớp khoa học máy tính ” và
tử để hỏi “ai”.
Khi một mối quan hệ được xác định, nó sẽ được chú giải bởi kiểu Moiquanhe
với các đặc trưng type và category như hình 4-11 sau đây:
Hình 4-11: Ví dụ về “mối quan hệ”
Thông qua phân tích các câu hỏi, chúng tôi định nghĩa cấu trúc của một mối
quan hệ trong câu hỏi theo 4 dạng sau đây:
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
55
Dạng 1:
(Động_từ) + Cụm_danh_từ Giới_từ (Động_từ)?
Chúng ta cùng xem xét câu hỏi: “những sinh viên có quê ở Hà Tây là ai?” thì
“có quê ở” là một mối quan hệ, bởi vì cụm từ này bắt đầu bằng một động từ sau đó là
một cụm danh từ và cuối cùng là một giới từ. Nó liên kết cụm danh từ “những sinh
viên” và “Hà Tây”.
Dạng 2:
(Động_từ) + Giới_từ (Động_từ)?
Với câu hỏi: “ai học ở lớp khoa học máy tính?”, có mối quan hệ “học ở” bởi vì
có một động từ (“học”) được theo sau bởi một giới từ (“ở”). Nó liên kết cụm danh từ
“lớp khoa học máy tính” và từ để hỏi “ai”.
Dạng 3:
Chúng ta cùng xem xét câu hỏi: “Nguyễn Quốc Đạt và Nguyễn Quốc Đại có
quê ở Hà Tây phải không?”. Hình 4-12 đưa ra kết quả tách từ của câu hỏi. Chú giải
TokenVn tương ứng với mỗi từ được tạo ra.
Hình 4-12: Tách từ trong câu hỏi: “Nguyễn Quốc Đạt và Nguyễn Quốc Đại có quê ở Hà
Tây phải không?”
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
56
Bộ tách từ đưa ra kết quả: “có” là phụ từ khẳng định, phủ định, “quê” là một
tính từ. Trong khi đó, “có quê ở” liên kết cụm danh từ ―Nguyễn Quốc Đại‖ với ―Hà
Tây”. Bởi vậy, trong trường hợp này chúng ta có cấu trúc của mối quan hệ như sau:
(“có” | Động_từ) + Tính_từ Giới_từ (Động_từ)?
Điều này có nghĩa là: một cụm bắt đầu bởi một (hoặc nhiều) từ “có” hoặc một
(hoặc nhiều) động từ được theo sau bởi một tính từ, và tiếp theo là một giới từ sau đó
là một (hoặc không) động từ, thì cụm từ đó được coi là một mối quan hệ.
Nguyên nhân: bộ tách từ sử dụng gán nhãn từ loại phụ thuộc vào xác suất xuất
hiện của một từ trong ngữ cảnh. Trong ngữ cảnh này nó có thể có kiểu từ loại này,
trong ngữ cảnh khác thì có kiểu từ loại khác. Một từ trong ngữ cảnh này có thể là danh
từ, cùng một từ đó nhưng trong ngữ cảnh khác lại là tính từ.
Dạng 4: Cấu tạo mối quan hệ được mô tả như sau:
Một cụm bắt đầu bởi từ “có” được theo sau là một cụm danh từ hoặc tính từ và
cuối cùng là từ “là” được coi là một mối quan hệ.
Ví dụ, “những ai có quê là Hà Tây?” mối quan hệ “có quê là” liên kết cụm từ
để hỏi “những ai” và cụm danh từ “Hà Tây”.
Bất cứ cụm từ nào được khớp với một trong 4 dạng nêu trên thì đều được chú
giải bằng bởi kiểu Moiquanhe với hai đặc trưng type và category. Đặc trưng type được
gán giá trị là “Cụm danh từ”, đặc trưng string biểu diễn xâu tương ứng, đặc trưng
category của các cụm được khớp bởi dạng 2 nhận giá trị là “REL_Verb”, đối với các
dạng còn lại thì category có giá trị là “REL_Noun”. Hình 4-13 dưới đây là một ví dụ
về kiểu chú giải Moiquanhe.
―có‖ (Cụm_danh_từ | Tính_từ) ―là‖
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
57
Hình 4-13: Kiểu chú giải Moiquanhe
Chú ý rằng, các từ “là”, “có” và “tồn tại” sẽ không được chú giải bởi kiểu
Moiquanhe.
Với câu hỏi: “Nguyễn Quốc Đạt có mã sinh viên là gì?”, thì “có mã sinh viên
là” không được chú giải bởi kiểu Moiquanhe, vì ―là gì” đã được chú giải bằng kiểu
TokenVn trong bước tiền xử lý.
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
58
4.4. Phân tích ngữ nghĩa
Module phân tích ngữ nghĩa gồm có hai module con là: phân loại câu hỏi và so khớp
mẫu. Module này sử dụng các kết quả của các module trước là các chú giải có kiểu
TokenVn, Moiquanhe, Cumdanhtu, Danhngu. Module phân loại câu hỏi sẽ phân loại
một câu hỏi vào một lớp nhất định, trong khi module so khớp mẫu sẽ sinh ra một bộ
biểu diễn trung gian của câu hỏi và đó chính là đầu ra của quá trình xử lý câu hỏi.
4.4.1. Phân loại câu hỏi
Phân loại câu hỏi là nhiệm vụ ánh xạ một câu hỏi vào một trong các lớp cho trước.
Phân loại có ý nghĩa rất quan trọng trong một hệ thống trả lời câu hỏi. Đầu tiên nó
cung cấp những ràng buộc ngữ nghĩa về các loại câu trả lời mong muốn. Thứ hai nó
cung cấp thông tin để những xử lý tiếp xác định phương pháp lựa chọn câu trả lời.
Trong khóa luận này, chúng tôi phân loại một câu hỏi tiếng Việt vào một trong 10
lớp: HowWhy, YesNo, What, When, Where, Who, Many, ManyClass, List, Entity. Phân loại
câu hỏi được lưu trữ trong các chú giải kiểu Tudehoi (trong hình 4-14) tại các đặc trưng
category. Ngoài ra, chú giải kiểu Tudehoi còn có đặc trưng type nhận giá trị là “QU”.
Hình 4-14: Một ví dụ về kiểu chú giải Tudehoi
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
59
HowWhy: một câu hỏi thuộc vào lớp HowWhy nếu chứa một từ (hoặc cụm từ) với
kiểu chú giải TokenVn có đặc trưng type nhận giá trị là “HowWhy”. Kiểu chú giải
Tudehoi được tạo ra trên từ (hoặc cụm từ) này có đặc trưng category nhận giá trị là
“QU HowWhy”. Những câu hỏi thuộc vào lớp này muốn một câu trả lời về nguyên
nhân hoặc là một sự giải thích nào đó.
Ví dụ: ―Hình vuông là hình như thế nào?‖ thì từ “như thế nào” được chú giải
bởi kiểu TokenVn có giá trị của đặc trưng type là “HowWhy”. Do đó từ “như thế
nào” cũng được chú giải bởi kiểu Tudehoi với đặc trưng category nhận giá trị
“QU HowWhy”.
YesNo: một câu hỏi thuộc vào lớp YesNo nếu chứa một từ với kiểu chú giải
TokenVn có đặc trưng type nhận giá trị là “YesNo”. Kiểu chú giải Tudehoi được
tạo ra trên từ này có đặc trưng category nhận giá trị là “QU YesNo”. Những câu
hỏi thuộc lớp YesNo mong muốn một câu trả lời Đúng hoặc Sai.
Hoàn toàn tương tự, một câu hỏi thuộc vào một trong các lớp lớp What, When,
Where, Many nếu câu hỏi chứa một từ với kiểu chú giải TokenVn có đặc trưng
type lần lượt nhận các giá trị tương ứng là “What”, “When”, “Many”, “Where”.
Kiểu chú giải Tudehoi được tạo ra với đặc trưng category tương ứng nhận một
trong các các giá trị “QU What”, “QU When”, “QU Where”, “QU Many” cho
mỗi từ được khớp.
Những câu hỏi thuộc lớp Where mong muốn một câu trả lời về địa điểm.
Những câu hỏi thuộc lớp When mong muốn một câu trả lời về thời gian như:
ngày, tháng,….
Những câu hỏi thuộc vào lớp What ít mang ý nghĩa xác định hỏi về cái gì.
Những câu hỏi thuộc vào lớp Many muốn một câu trả lời về số lượng chung
chung, chưa xác định chính là số lượng cái gì.
Một câu hỏi mà cần câu trả lời là một người thì thuộc vào lớp Who. Câu hỏi thuộc
vào lớp này nếu nó chứa môt từ có kiểu chú giải TokenVn với đặc trưng type nhận
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
60
giá trị là “Who”. Ngoài ra nếu câu hỏi chứa một cụm từ khớp với cấu trúc sau đây
thì cũng thuộc vào lớp Who:
1 ―là‖ {TokenVn.string == “là”}
2 Giới từ
{TokenVn.category == “Aa”} |
{TokenVn.category == “An”}
3
Từ có kiểu chú giải
TokenVn có ―type‖ nhận
giá trị ―Who‖
{TokenVn.type == “Who”}
Vị trí 1 hoặc 2 có thể có hoặc không.
Một kiểu chú giải Tudehoi được tạo ra trên các từ hoặc cụm từ được khớp với
đặc trưng category nhận giá trị là “QU Who”. Những câu hỏi hỏi về người thì
thuộc vào lớp này.
Một câu hỏi thuộc vào lớp ManyClass nếu có một cụm từ khớp với cấu trúc sau:
{TokenVn.type == “Many”} {Cumdanhtu.category == “Cụm danh từ”}
Cấu trúc trên sẽ khớp với các cụm như: số lượng sinh viên, bao nhiêu sinh viên,
số lượng môn học,…
Kiểu chú giải Tudehoi với đặc trưng category nhận giá trị là “QU ManyClass”
sẽ chú giải cho cụm từ được khớp.
Chúng ta có thể thấy rằng những câu hỏi thuộc lớp này thì có cụm từ để hỏi
chứa đựng một khái niệm chứ không phải là một thực thể. Do đó, các câu hỏi thuộc
vào lớp ManyClass mong muốn một câu trả lời về số lượng, nhưng là số lượng
chính xác về một cái gì đó (thực thể).
Một câu hỏi thuộc vào lớp List nếu có một cụm từ khớp với cấu trúc sau:
{TokenVn.type == “List”} {Cumdanhtu.category == “Cụm danh từ”}
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
61
Ví dụ: “chỉ ra tất cả những sinh viên của lớp khoa học máy tính?” sẽ thuộc vào
lớp này vì nó chứa cụm từ “chỉ ra tất cả những sinh viên”.
Kiểu chú giải Tudehoi với đặc trưng category nhận giá trị là “QU List” sẽ chú
giải cho cụm từ được khớp.
Như đã được lý giải trong phân lớp ManyClass, những câu hỏi thuộc lớp này
mong muốn một câu trả lời là một danh sách các thực thể.
Kiểu chú giải Tudehoi với đặc trưng category nhận giá trị là “QU Entity” được
dùng để chú giải cho một cụm từ trong câu hỏi thuộc lớp Entity nếu cụm từ đó có
cấu trúc như sau:
{Cumdanhtu.category == “Cụm danh từ”}
{TokenVn.string == “nào”} |
{TokenVn.string == “gì”}
Ví dụ: sinh viên nào, lớp nào, lớp gì,…
Trong câu hỏi ngôn ngữ tự nhiên, một cụm danh từ được theo sau bởi một từ
“nào” hoặc từ “gì” thì cụm danh từ đó bao giờ cũng chứa đựng một khái niệm.
Câu trả lời mong muốn sẽ là một thực thể tương ứng với khái niệm này. Điều này
tương tự như trường hợp các câu hỏi thuộc lớp ManyClass và List phía trên.
Chú ý rằng: “ngày nào” không khớp với mẫu trên, vì trong bước tiền xử lý
“ngày nào” đã được chú giải bởi kiểu TokenVn có đặc trưng category nhận giá trị
“When”.
Chúng ta có thể nhận thấy rằng, phân lớp câu hỏi dựa trên các cụm từ dùng để hỏi đưa
ra kết quả cao trong phân loại đối với những câu hỏi đơn giản (có một cụm từ dùng để
hỏi). Đối với câu hỏi mà có nhiều cụm từ để hỏi, độ chính xác trong phân loại giảm đi.
Ví dụ: “số lượng sinh viên học lớp khoa học máy tính là bao nhiêu?” kiểu chú
giải Tudehoi xuất hiện trong câu này cho trên cụm từ “số lượng sinh viên” và “là bao
nhiêu”, tuy nhiên với câu hỏi này thì dù được phân loại vào lớp Many hay là
ManyClass thì vẫn chấp nhận được.
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
62
Còn đối với câu hỏi: “số lượng sinh viên học lớp khoa học máy tính là 45 phải
không?” hoặc “danh sách sinh viên của lớp khoa học máy tính là gì?” sự phân loại
câu hỏi ở đây là không rõ ràng. Hiện tại hệ thống sẽ phân câu hỏi dạng này vào tất cả
các lớp có thể có. Nghĩa là, một câu hỏi có thể thuộc vào nhiều lớp.
Sử dụng module so khớp mẫu dưới đây, sự không rõ ràng trong các ví dụ trên
sẽ được giải quyết.
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
63
4.4.2. So khớp mẫu
Nhìn chung, mỗi câu hỏi ngôn ngữ tự nhiên đều sử dụng một cấu trúc ngữ nghĩa đặc
biệt. Mỗi vị trí trong câu hỏi được sử dụng với một mục đích nhất định, ví dụ lưu trữ
thực thể (đối tượng), một khái niệm (lớp đối tượng), một giá trị. Thông qua phân tích
một lượng lớn các câu hỏi, chúng tôi nhận thấy rằng mặc dù các câu hỏi có nhiều cách
biểu diễn khác nhau nhưng chúng luôn theo một nguyên tắc cấu tạo cụ thể.
Chúng tôi định nghĩa một số nguyên tắc cấu tạo (gọi là mẫu) câu hỏi. Mỗi một
câu hỏi đi vào quá trình so khớp mẫu. Nếu cấu tạo của câu hỏi khớp với một mẫu đã
được định nghĩa, quá trình so khớp mẫu sẽ sinh ra một bộ biểu diễn trung gian gồm có
gồm có: “Dạng cấu tạo câu hỏi” và một (hoặc nhiều) bộ biểu diễn con. Mỗi bộ biểu
diễn con có dạng:
(Dạng cấu tạo bộ biểu diễn, Lớp câu hỏi, Thuật ngữ 1, Mối quan hệ, Thuật ngữ
2, Thuật ngữ 3).
Trong đó “Thuật ngữ 1” là một khái niệm, ―Thuật ngữ 2‖ và “Thuật ngữ 3‖
(nếu có) là các thực thể. “Mối quan hệ” được dùng để liên kết các thuật ngữ.
Khi bộ biểu diễn trung gian có nhiều hơn một bộ con, điều này có nghĩa là câu
hỏi được tổng hợp từ ít nhất hai câu hỏi con. Và “Dạng cấu tạo bộ biểu diễn” trong
mỗi bộ con chính là “Dạng cấu tạo câu hỏi” của câu hỏi con tương ứng. Do đó, nếu
câu hỏi mà chỉ có một bộ biểu diễn con thì “Dạng cấu tạo bộ biểu diễn” là “Dạng cấu
tạo câu hỏi”. “Lớp câu hỏi” trong mỗi bộ con chính là lớp của câu hỏi con tương ứng.
Nếu chỉ có một phần câu hỏi được khớp với một mẫu nào đó, quá trình này sẽ
phân tích trên phần câu hỏi được khớp.
Ví dụ về bộ biểu diễn trung gian của câu hỏi được chỉ ra trong hình 4-15 sau đây:
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
64
Hình 4-15: Ví dụ về bộ biểu diễn trung gian của câu hỏi
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
65
4.4.2.1. Cấu tạo của câu hỏi
Cấu tạo của một câu hỏi đơn giản thường chứa đựng một mối quan hệ. Thông thường
những câu hỏi như vậy chứa đựng hai cụm danh từ và mối quan hệ sẽ liên kết hai cụm
danh từ đó, hoặc một mối quan hệ giữa một cụm danh từ và một cụm từ để hỏi có kiểu
chú giải Tudehoi được sinh ra từ module Phân loại câu hỏi với đặc trưng category là
―QU Entity‖ hoặc “QU List” hoặc “QU ManyClass”
Ví dụ như: “những sinh viên học lớp khoa học máy tính là ai?”, chúng ta sẽ
thấy rằng, với câu hỏi này, mối quan hệ “học” liên kết cụm danh từ “những sinh viên”
chứa đựng khái niệm trong nó và cụm danh từ “lớp khoa học máy tính” chứa đựng
thực thể trong nó.
Hay như câu hỏi: “môn học được học bởi Nguyễn Quốc Đạt là gì?” hoàn toàn
tương tự, mối quan hệ “được học bởi” liên kết cụm danh từ chứa khái niệm “môn
học” và cụm danh từ chứa thực thể “Nguyễn Quốc Đạt”.
Hoặc như câu hỏi “sinh viên nào có quê ở Hà Tây?” chứa đựng mối quan hệ
“có quê ở” liên kết cụm từ được chú giải bởi kiểu Tudehoi dùng để hỏi “sinh viên
nào” và cụm danh từ “Hà Tây”, nói một cách chính xác hơn “có quê ở” liên kết cụm
danh từ “sinh viên” và cụm danh từ “Hà Tây”.
Chúng ta cần chú ý một số câu hỏi dạng như “Quê của sinh viên nào ở Hà
Tây?”, mối quan hệ ở đây là “Quê” liên kết cụm từ được chú giải bởi kiểu Tudehoi
dùng để hỏi “sinh viên nào” và cụm danh từ “Hà Tây”.
Một các khái quát, chúng tôi quan niệm rằng: “A của B” và “B có A”, trong đó
A và B được chú giải bởi kiểu Cumdanhtu là tương đương nhau, và có nghĩa là mối
quan hệ A sẽ liên kết B với một cụm danh từ hoặc một cụm từ để hỏi nào đó.
Để tạo ra một biểu diễn chung cho các câu hỏi trong các ví dụ nêu trên, chúng
tôi định nghĩa một bộ biểu diễn thô cho một câu hỏi đơn giản là bộ:
(Cụm từ 1, mối quan hệ, Cụm từ 2, Cụm từ 3)
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
66
Trong đó, “Cụm từ 1”, “Cụm từ 2” và “Cụm từ 3” (nếu có) là cụm danh từ
hoặc cụm từ để hỏi có chứa cụm danh từ bên trong, chúng được liên kết với nhau
thông qua ―mối quan hệ”.
Thông qua cách nhìn nhận về cấu tạo câu hỏi, chúng ta có thể biết được bộ biểu
diễn thô của câu hỏi là như thế nào. Dựa vào bộ biểu diễn thô như trên, chúng tôi phân
chia cấu tạo của một câu hỏi vào một trong dạng dưới đây:
Normal: một câu hỏi có cấu tạo dạng Normal nếu như bộ biểu diễn thô cho câu hỏi
có dạng: (Cụm từ 1, mối quan hệ, Cụm từ 2, ?)
Ví dụ: “những sinh viên học lớp khoa học máy tính là ai?” có bộ biểu diễn thô là:
(những sinh viên, học, lớp khoa học máy tính, ?)
Unknterm (Unknown first Term): một câu hỏi có cấu tạo dạng UnknTerm nếu như
bộ biểu diễn thô có dạng:
(?, mối quan hệ, Cụm từ 2, ?)
Ví dụ: “ai là những sinh viên của lớp khoa học máy tính?” thì bộ biểu diễn thô sẽ là:
(?,là những sinh viên của, lớp khoa học máy tính)
Hoặc câu hỏi “mã sinh viên của Nguyễn Quốc Đạt là gì?” và câu hỏi “Nguyễn
Quốc Đạt có mã sinh viên là gì?”. Đây chính là dạng “A của B” và “B có A”
được chỉ ra ở trên, bộ biểu diễn thô của cả hai câu này là:
(?, mã sinh viên, Nguyễn Quốc Đạt, ?)
Unknrel (Unknown Relation): một câu hỏi có cấu tạo dạng UnknRel nếu như bộ
biểu diễn thô có dạng như sau:
(Cụm từ 1, ?, Cụm từ 2, ?)
Ví dụ: “danh sách sinh viên của lớp khoa học máy tính là gì?” có cụm từ “danh
sách sinh viên” (chứa khái niệm bên trong) được chú giải bởi kiểu Tudehoi và “lớp
khoa học máy tính” được chú giải bởi kiểu Cumdanhtu, bởi vậy bộ biểu diễn thô sẽ là:
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
67
(danh sách sinh viên, ? , lớp khoa học máy tính, ?)
Hoặc câu hỏi “số lượng sinh viên của lớp khoa học máy tính là bao nhiêu?” thì
có biểu diễn thô là:
(số lượng sinh viên, ?, lớp khoa học máy tính, ?)
Definition: một câu hỏi có cấu tạo thuộc vào dạng này nếu như bộ biểu diễn thô có
dạng:
(?, ?, Cụm từ 2, ?)
Câu hỏi có cấu tạo Definition cho phép “Cụm từ 2” chứa đựng khái niệm.
Ví dụ: “Nguyễn Quốc Đạt là ai?” có bộ biểu diễn thô sẽ là:
(?, ?, Nguyễn Quốc Đạt, ?)
Hoặc câu hỏi “cái gì là thẻ sinh viên?” sẽ có bộ biểu diễn thô là:
(?, ?, thẻ sinh viên, ?)
AffirmNeg (Affirmative Negative): một câu hỏi có cấu tạo dạng AffirmNeg nếu
câu hỏi đó được phân vào lớp YesNo đặc trưng type nhận giá trị là “YesNo” và có
một bộ biểu diễn thô thuộc vào một trong 3 dạng Normal, UnknRel, UnknTerm.
Câu hỏi có cấu tạo dạng AffirmNeg cho phép “Cụm từ 1” chứa đựng thực thể.
Ví dụ: “Nguyễn Quốc Đạt có quê ở Hà Tây phải không?” thì có bộ biểu diễn
thô là:
(Nguyễn Quốc Đạt, có quê ở, Hà Tây, ?)
Compare: câu hỏi có cấu tạo thuộc dạng này nếu như nó chứa đựng một từ có kiểu
chú giải TokenVn với đặc trưng category nhận giá trị là “Tusosanh”.
Ví dụ “sinh viên nào có điểm trung bình lớn hơn 7?” thì bộ biểu diễn thô là:
(sinh viên nào, điểm trung bình, 7, ?)
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
68
And: một câu hỏi có cấu tạo thuộc dạng này nếu câu hỏi có từ “và” hoặc “mà”.
Các câu thuộc dạng này có hai bộ biểu diễn thô tương ứng với hai câu hỏi con
thuộc vào một trong 3 dạng Normal, UnknRel, UnknTerm
Ví dụ như: “danh sách các sinh viên có quê ở Hà Tây mà học lớp khoa học máy
tính?”. Những câu hỏi có cấu tạo thuộc dạng này sẽ có 2 bộ biểu diễn thô tương
ứng biểu diễn cho hai câu hỏi con. Trong câu hỏi vừa nêu chúng ta sẽ có 2 bộ biểu
diễn thô là:
(danh sách các sinh viên, có quê ở, Hà Tây, ?) và
(danh sách các sinh viên, học, lớp khoa học máy tính, ?)
Or: tương tự như And, nhưng trong câu hỏi có từ “hoặc” thay vì từ “và” và “mà”.
Câu hỏi: “số lượng sinh viên có quê ở Hà Tây hoặc có quê ở Hà Nội là bao
nhiêu?” sẽ có 2 bộ biểu diễn thô là:
(số lượng sinh viên, có quê ở, Hà Tây, ?) và
(số lượng sinh viên, có quê ở, Hà Nội, ?)
Cấu tạo câu hỏi thuộc dạng And hoặc Or, thì kết quả mỗi câu hỏi con không
phụ thuộc vào nhau, nhưng kết quả của câu hỏi tổng hợp sẽ là giao hoặc hợp của
các câu hỏi con.
Clause: câu hỏi “Sinh viên có quê ở Hà Tây thì học lớp nào?” có 2 bộ biểu diễn
thô là:
(Sinh viên, có quê ở, Hà Tây, ?) và (lớp, học, ? , ?)
Kết quả của câu hỏi con thứ nhất làm đầu vào cho thành phần còn thiếu trong
bộ biểu diễn thô tương ứng với câu hỏi con thứ hai.
Combine: cấu tạo câu hỏi ở dạng kết hợp hai câu hỏi đơn giản. Câu hỏi dạng này
có hai bộ biểu diễn thô hoàn toàn không phụ thuộc vào nhau.
Ví dụ “ai có quê ở Hà Tây và sinh viên nào học lớp khoa học máy tính?” có 2
bộ biểu diễn thô là:
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
69
(?, có quê ở, Hà Tây, ?) và
(sinh viên nào, học, lớp khoa học máy tính, ?)
ThreeTerm: bộ biểu diễn thô của câu hỏi có dạng:
(?, mối quan hệ, Cụm từ 2, Cụm từ 3 ) hoặc (Cụm từ 1, ?, Cụm từ 2, Cụm từ 3)
hoặc (Cụm từ 1, mối quan hệ, Cụm từ 2, Cụm từ 3)
Ví dụ: “ai là những sinh viên của lớp khoa học máy tính của trường đại học
Công Nghệ?” sẽ có bộ biểu diễn thô là:
(?, là những sinh viên của, lớp khoa học máy tính, trường đại học Công Nghệ)
Hoặc ―danh sách 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à gì?‖ có bộ biểu diễn thô là:
(danh sách sinh viên, ?, lớp khoa học máy tính, đại học Công Nghệ)
AffirmNeg_3Term: câu hỏi được phân vào lớp YesNo và có 1 bộ biểu diễn thô là:
(Cụm từ 1, ?, Cụm từ 2, Cụm từ 3) hoặc
(Cụm từ 1, mối quan hệ, Cụm từ 2, Cụm từ 3)
Câu hỏi có cấu tạo dạng AffirmNeg_3Term cho phép “Cụm từ 1” chứa đựng
thực thể.
Ví dụ “số lượng sinh viên của lớp khoa học máy tính là 45 phải không?” sẽ có
bộ biểu diễn thô là:
(số lượng sinh viên, ?, lớp khoa học máy tính, 45)
AffirmNeg_2Triple: được phân vào lớp YesNo và được biểu diễn bởi 2 bộ biểu
diễn thô.
Câu hỏi có cấu tạo dạng AffirmNeg_2Triple cho phép “Cụm từ 1” chứa đựng
thực thể.
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
70
Ví dụ: “Nguyễn Quốc Đạt có quê ở Hà Tây và học lớp khoa học máy tính phải
không?” có hai bộ biểu diễn thô là:
(Nguyễn Quốc Đạt, có quê ở, Hà Tây, ?) và
(Nguyễn Quốc Đạt, học, lớp khoa học máy tính, ?)
Hoặc câu hỏi “tồn tại sinh viên học lớp khoa học máy tính mà có quê ở Hà Tây
phải không?” sẽ có hai bộ biểu diễn thô là:
(sinh viên, học, lớp khoa học máy tính, ?) và (sinh viên, có quê ở, Hà Tây, ?)
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
71
4.4.2.2. Bộ biểu diễn trung gian của câu hỏi
Chúng tôi đã định nghĩa một bộ biểu diễn trung gian gồm có gồm có: “Dạng cấu tạo
câu hỏi” và một (hoặc nhiều) bộ biểu diễn con. Mỗi bộ biểu diễn con có dạng:
(Dạng cấu tạo bộ biểu diễn, Lớp câu hỏi, Thuật ngữ 1, Mối quan hệ, Thuật ngữ
2, Thuật ngữ 3).
Trong đó, “Dạng cấu tạo câu hỏi” là một trong các dạng đã nêu ở phần 4.4.2.1,
“Thuật ngữ 1” là một khái niệm, ―Thuật ngữ 2‖ và “Thuật ngữ 3‖ (nếu có) là các thực
thể. “Mối quan hệ” được dùng để liên kết các thuật ngữ.
Khi câu hỏi được tổng hợp từ ít nhất hai câu hỏi con. “Dạng cấu tạo bộ biểu
diễn” trong mỗi bộ con chính là “Dạng cấu tạo câu hỏi” của câu hỏi con tương ứng.
“Lớp câu hỏi” trong mỗi bộ con chính là lớp của câu hỏi con tương ứng.
Nếu dạng câu hỏi là AffirmNeg hoặc AffirmNeg_2Triple hoặc AffirmNeg_3Term
, nghĩa là câu hỏi được phân vào lớp YesNo, thì cho phép “Thuật ngữ 1” có thể là thực
thể. Nếu câu hỏi có dạng Definition thì cho phép “Thuật ngữ 2” có thể là khái niệm.
Chúng tôi có định nghĩa trước một số mẫu câu là cấu tạo của câu hỏi. Mỗi câu
hỏi đầu vào mà có cấu tạo khớp với một trong các mẫu định trước sẽ được chú giải bởi
kiểu Maucauhoi. Dựa trên cách nhìn nhận thông qua bộ biểu diễn thô và mẫu câu hỏi,
kiểu chú giải Maucauhoi sẽ có các đặc trưng type nhận giá trị là “QU Pattern”, đặc
trưng category nhận môt trong các giá trị là: “Normal”, “Unknterm”, “Unknrel”,
“Definition”, “And”, “Or”, “Compare”, “ThreeTerm”, “Clause”, “Combine”,
“AffirmNeg”, “AffirmNeg_3Term”, “AffirmNeg_2Triple”, và đặc trưng pattern là xâu
biểu diễn mẫu câu hỏi. Hình 4-16 sau đây mô tả một kiểu chú giải Maucauhoi khi câu
hỏi đầu vào khớp đúng mẫu định trước.
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
72
Hình 4-16: Một ví dụ về kiểu chú giải Maucauhoi
Chúng ta sẽ cùng xem xét các câu hỏi mà có cấu tạo thuộc vào một trong các
dạng Normal, UnknRel, UnknTerm, Definition, AffirmNeg trước.
Nếu một câu hỏi đầu vào được khớp với một trong các mẫu đã được định nghĩa.
Quá trình so khớp mẫu sẽ lấy ra sẽ lấy ra tập chứa các từ với kiểu chú giải TokenVn,
tập chứa các cụm từ (hoặc từ) với kiểu chú giải Cumdanhtu, tập chứa các cụm từ (hoặc
từ) với kiểu chú giải Danhngu, tập chứa các cụm từ (hoặc từ) với kiểu chú giải
Moiquanhe, tập chứa các cụm từ (hoặc từ) với kiểu chú giải Tudehoi.
Dựa trên đặc trưng category của kiểu chú giải Tudehoi, “lớp của câu hỏi” được
xác định, “dạng cấu tạo câu hỏi” và “dạng cấu tạo bộ biểu diễn” chính là giá trị
tương ứng với đặc trưng category của kiểu chú giải Maucauhoi.
Tiếp theo, module sẽ loại bỏ những sự trùng lặp. Đầu tiên, bất cứ từ nào với
kiểu chú giải TokenVn nằm trong một cụm từ được chú giải bởi một trong các kiểu
Cumdanhtu, Moiquanhe, Tudehoi thì sẽ bị loại bỏ khỏi tập các từ với kiểu chú giải
TokenVn. Thường thì, chúng ta không cần xử lý việc lấy ra tập các chú giải TokenVn
và thực hiện loại bỏ trùng lặp đối với các câu hỏi dạng Normal, UnknRel, UnknTerm,
Definition, AffirmNeg.
Hoàn toàn tương tự, nếu một cụm từ được chú giải bởi kiểu Cumdantu nằm
trong một cụm được chú giải bởi một trong các kiểu Moiquanhe, Tudehoi, thì cụm từ
đó sẽ bị loại bỏ khỏi tập chứa các cụm có kiểu chú giải Cumdanhtu.
Ví dụ: “ai là những sinh viên của lớp khoa học máy tính?”
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
73
Từ câu hỏi trên, tập các cụm danh từ là “những sinh viên”, “lớp khoa học máy
tính”, tập chứa một từ để hỏi là “ai”, tập chứa một mối quanh hệ là “là những sinh viên
của”. Vì “những sinh viên” được chú giải bởi kiểu chú giải Cumdanhtu có điểm bắt đầu
và điểm kết thúc nằm giữa điểm bắt đầu và điểm kết thúc của cụm “là những sinh viên
của” được chú giải bởi kiểu Moiquanhe. Do đó, “những sinh viên” sẽ bị loại bỏ ra khỏi
tập các cụm danh từ. Câu hỏi chỉ còn lại tập chứa một mối quan hệ “là những sinh viên
của”, tập chứa một từ để hỏi “ai”, tập chứa một cụm danh từ “lớp khoa học máy tính”.
Từ mẫu câu hỏi chúng ta có thể biết được bộ biểu diễn thô của câu hỏi là gì.
Trong ví dụ trên ta có bộ biểu diễn thô: (?, là những sinh viên của, lớp khoa học máy
tính, ?). Chú giải Danhngu được sử dụng để lấy ra thực thể hoặc khái niệm trong các
cụm từ được chú giải bởi kiểu Cumdanhtu hoặc Tudehoi. Những giới từ có trong ―mối
quan hệ‖ sẽ bị loại bỏ. Một biểu diễn trung gian của câu hỏi ví dụ được sinh ra giống
như hình 4-17 sau đây: (Unknterm, (QUWho, ?, là sinh viên, lớp khoa học máy tính)).
Hình 4-17: Đầu ra của một câu hỏi có cấu tạo dạng Unknterm
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
74
Chúng ta tiếp tục với những câu hỏi phức tạp hơn, ví dụ như:
“sinh viên của lớp khoa học máy tính mà có quê ở Hà Tây là ai?”.
“Dạng cấu tạo câu hỏi” là “And”, sau khi loại bỏ trùng lặp như đã trình bày ở
trên, dựa trên mẫu câu hỏi được khớp một biểu diễn trung gian gồm hai bộ con có dạng:
(Dạng cấu tạo bộ biểu diễn, Lớp câu hỏi, Thuật ngữ 1, Mối quan hệ, Thuật ngữ 2, ?)
Trong đó “Lớp câu hỏi”, “Thuật ngữ 1”, “Mối quan hệ”, “Thuật ngữ 2” hoàn
toàn được xác định chính xác. Giá trị “Dạng cấu tạo bộ biểu diễn” phụ thuộc vào bộ
biểu diễn. Nếu bộ biểu diễn có đầy đủ “Thuật ngữ 1”, “Mối quan hệ”, “Thuật ngữ 2”
thì “Dạng cấu tạo bộ biểu diễn” nhận giá trị là “Normal”, nếu thiếu “Thuật ngữ 1”
thì giá trị của “Dạng cấu tạo bộ biểu diễn” là ―Unkterm”, nếu không có ―mối quan
hệ‖ thì giá trị của “Dạng cấu tạo bộ biểu diễn” là “Unknrel”.
Hình 4-18: Đầu ra của một câu hỏi có cấu tạo dạng And
Chương 4. Phương pháp phân tích câu hỏi tiếng Việt Nguyễn Quốc Đạt
75
Nhập nhằng trong phân lớp câu hỏi trên sẽ được giải quyết ở phần này. Ví dụ:
“số lượng sinh viên học lớp khoa học máy tính là 45 phải không?”
Trong phần phân lớp câu hỏi, chúng ta có thể thấy rằng câu hỏi không biết
thuộc về lớp ManyClass hay là lớp YesNo. Trong quá trình phân tích mẫu của câu hỏi
(trong hình 4-19), câu hỏi này thuộc về lớp ManyClass có “Dạng cấu tạo câu hỏi” và
“Dạng cấu tạo bộ biểu diễn” nhận giá trị là “AffirmNeg_3Term” hoàn toàn có thể
chấp nhận được vì nó cũng mang ý nghĩa hỏi Đúng hoặc Sai.
Hình 4-19: Đầu ra của một câu hỏi có cấu tạo dạng AffirmNeg_3Term
Chương 5. Kết quả thực nghiệm Nguyễn Quốc Đạt
76
Chƣơng 5. Kết quả thực nghiệm
Chúng tôi thực hiện phương pháp của mình trên một tập dữ liệu gồm 60 câu hỏi (trong
phụ lục C). Các câu hỏi có cấu tạo cú pháp khác nhau liên quan đến một số khái niệm
trong miền tri thức trường đại học. Nguyên nhân chúng tôi lựa chọn các câu hỏi này là
do chúng thích hợp cho hệ thống hỏi đáp tiếng Việt dựa trên Ontology do Nguyễn
Quốc Đại [42] xây dựng và thử nghiệm.
Các tiêu chí sau được xác định như một độ đo để so sánh:
Tiêu chí 1: Số lượng câu hỏi mà nguyên tắc cấu tạo của nó nằm trong tập chứa các
mẫu cấu tạo đã được định nghĩa. Nghĩa là, số lượng câu hỏi khi vào module so
khớp mẫu sẽ được chú giải bởi kiểu Maucauhoi.
Tiêu chí 2: Số lượng câu hỏi thỏa mãn tiêu chí 1, kết quả phân tích là một bộ biểu
diễn trung gian gồm có: “Dạng cấu tạo câu hỏi” và một (hoặc nhiều) bộ biểu diễn
con. Mỗi bộ biểu diễn con có dạng:
(Dạng cấu tạo bộ biểu diễn, Lớp câu hỏi, Thuật ngữ 1, Mối quan hệ, Thuật ngữ 2,
Thuật ngữ 3).
Trong đó “Thuật ngữ 1” là một khái niệm (ngoại trừ một số trường hợp đặc biệt-
câu hỏi thuộc lớp YesNo), ―Thuật ngữ 2‖ (ngoại trừ trường hợp cấu tạo câu hỏi
dạng Definition) và “Thuật ngữ 3‖ (nếu có) là các thực thể. “Mối quan hệ” được
dùng để liên kết các thuật ngữ và luôn chứa đựng khái niệm trong nó.
Do vậy, các câu hỏi thỏa mãn tiêu chí 2 mà không thỏa mãn tiêu chí 1 là những câu
hỏi bị phân tích sai.
Tiêu chí 3: Số lượng câu hỏi mà chỉ có một phần nào đó của câu hỏi có nguyên tắc
cấu tạo thuộc vào tập chứa các mẫu cấu tạo đã định nghĩa. Nghĩa là, số lượng câu
Chương 5. Kết quả thực nghiệm Nguyễn Quốc Đạt
77
hỏi mà chỉ có một phần nào đó được chú giải bởi kiểu Maucauhoi. Kết quả phân
tích có thể chấp nhận được, cho phép thực hiện trong phần còn lại của hệ thống.
Hình 5-1 dưới đây là một ví dụ về một phần nào đó của câu hỏi khớp được với một
mẫu đã định nghĩa:
Hình 5-1: Ví dụ về một phần câu hỏi đƣợc khớp mẫu
Tiêu chí 4: Giống như tiêu chí 3 nhưng kết quả phân tích thiếu thông tin để có thể
thực hiện trong phần còn lại của hệ thống.
Số lượng câu hỏi thỏa mãn tiêu chí 2 được coi là kết quả đánh giá độ chính xác của
quá trình phân tích câu hỏi. Bảng 5-1 dưới đây đưa ra kết quả đánh giá:
Bảng 5-1: Kết quả đánh giá
Các câu hỏi thỏa mãn tiêu chí 1 được sắp xếp theo thứ tự từ câu hỏi số 1 48
trong phụ lục C. Trong khi đó các câu hỏi thỏa mãn tiêu chí 2 được sắp xếp theo thứ tự
từ 1 45. Các câu hỏi thỏa mãn tiêu chí 3 được xắp xếp theo thứ tự từ 49 51 trong
khi các câu hỏi thỏa mãn tiêu chí 4 được xắp xếp theo thứ tự từ vị trí 52 55 trong
phụ lục C.
Các câu hỏi còn lại không thỏa mãn bất cứ tiêu chí nào được nêu ra. Hướng giải
quyết trong thời gian tới là cập nhật thêm nguyên tắc cấu tạo của các câu hỏi này cũng
như nguyên tắc cấu tạo của các câu hỏi thỏa mãn tiêu chí 4 vào tập chứa mẫu cấu tạo.
Tiêu chí 1 Tiêu chí 2 Tiêu chí 3 Tiêu chí 4
Số lượng câu hỏi 48 45 3 4
Chương 5. Kết quả thực nghiệm Nguyễn Quốc Đạt
78
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ệ?” thỏa mãn tiêu chí 2 như hình 5-2 dưới đây:
Hình 5-2: Kết quả phân tích đúng - câu hỏi thỏa mãn tiêu chí 2
Câu hỏi: “Hãy cho biết số lượng sinh viên của lớp khoa học máy tính?”
Thỏa mãn tiêu chí 3 như hình 5-3 sau đây, kết quả đưa ra hoàn toàn có thể chấp
nhận được:
Hình 5-3: Ví dụ về câu hỏi thỏa mãn tiêu chí 3
Chương 5. Kết quả thực nghiệm Nguyễn Quốc Đạt
79
Nhưng 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ệ?”
thỏa mãn tiêu chí 1 nhưng không thỏa mãn tiêu chí 2, do đó kết quả phân tích là
sai. Nguyên nhân là vì bộ biểu diễn chứa đựng “Mối quan hệ” nhận giá trị là “học lớp
khoa học máy tính của” không thỏa mãn yêu cầu. Hình 5-4 sau đây đưa ra kết quả
phân tích câu hỏi này:
Hình 5-4: Một ví dụ về phân tích sai – câu hỏi thỏa mãn tiêu chí 1 nhƣng không thỏa
mãn tiêu chí 2
Chương 6. Kết luận và hướng phát triển Nguyễn Quốc Đạt
80
Chƣơng 6. Kết luận và hƣớng phát triển
Phân tích câu hỏi là một bài toán cơ bản trong xử lý ngôn ngữ tự nhiên. Đối với tiếng
Việt bài toán này trở nên khó khăn hơn vì tính phức tạp của cấu trúc câu hỏi cũng như
những ràng buộc ngữ nghĩa trong câu hỏi, ví dụ như: từ để hỏi có thể xuất hiện ở nhiều
vị trí.
Trong khóa luận này, chúng tôi đã giới thiệu phương pháp phân tích câu hỏi
tiếng Việt của mình. Phương pháp của chúng tôi dựa trên các chú giải ngữ nghĩa thông
qua văn phạm JAPE [45]. Với mỗi câu hỏi đầu vào, thông qua các quá trình tiền xử lý,
phân tích cú pháp, phân tích ngữ nghĩa, phân loại câu hỏi, hệ thống phân tích sinh ra
một bộ biểu diễn trung gian gồm có: “Dạng cấu tạo câu hỏi” và một (hoặc nhiều) bộ
biểu diễn con. Mỗi bộ biểu diễn con có dạng:
(Dạng cấu tạo bộ biểu diễn, Lớp câu hỏi, Thuật ngữ 1, Mối quan hệ, Thuật ngữ 2,
Thuật ngữ 3).
Trong đó, “Dạng cấu tạo câu hỏi” là nguyên tắc (mẫu) cấu tạo của câu hỏi,
“Thuật ngữ 1” là một khái niệm, ―Thuật ngữ 2‖ và “Thuật ngữ 3‖ (nếu có) là các thực
thể. “Mối quan hệ” là ràng buộc ngữ nghĩa giữa các thuật ngữ và luôn chứa đựng khái
niệm bên trong nó.
Khi một câu hỏi được tổng hợp từ nhiều câu hỏi con, nghĩa là có nhiều bộ biểu
diễn con được sinh ra, thì “Dạng cấu tạo bộ biểu diễn” và “Lớp câu hỏi” trong mỗi
bộ biểu diễn con lần lượt là “Dạng cấu tạo câu hỏi” và lớp của câu hỏi con tương ứng.
Hệ thống áp dụng phương pháp phân tích này thực hiện tốt đối với những câu
hỏi có cấu tạo đơn giản. Trong khi ở những câu hỏi có cấu tạo phức tạp hơn thì khả
năng phân tích bị giảm đi. Những kết quả khả quan ban đầu (phân tích được chính xác
45 / 60 câu hỏi) đã góp phần tạo nên hệ thống hỏi đáp tiếng Việt dựa trên Ontology do
Nguyễn Quốc Đại [42] xây dựng và thử nghiệm.
Chương 6. Kết luận và hướng phát triển Nguyễn Quốc Đạt
81
Trong thời gian tới, chúng tôi sẽ tạo một tập chứa nhiều mẫu cấu tạo câu hỏi
hơn. Song song với việc cập nhật mẫu, chúng tôi sẽ cố gắng thực hiện hướng tiếp cận
nhằm giải quyết vấn đề xảy ra với các câu hỏi mà cấu tạo của các câu hỏi ấy không
khớp với mẫu cấu tạo nào có sẵn. Ý tưởng của hướng tiếp cận đó là sinh ra một số câu
hỏi dựa trên các chú giải ngữ nghĩa và các mẫu câu có sẵn, các câu hỏi này có ý nghĩa
tương tự với câu hỏi ban đầu để cho người sử dụng lựa chọn.
Phụ lục A Nguyễn Quốc Đạt
82
Phụ lục A. Chƣơng trình nhúng Java vào JAPE
Phase: EditYesnoAnno
Input: TokenVn Split
Options: control = appelt
Macro: YesNo
/*Macro YesNo dùng để khớp các cụm từ: phải không, đúng không, có
đúng là, có phải là, có đúng, có phải, Có đúng, Có phải, Có đúng là,
Có phải là*/
( (
({TokenVn.string == "phải"}|{TokenVn.string == "đúng"}) ?
{TokenVn.string == "không"}
) |
(
({TokenVn.string == "Có"} | {TokenVn.string == "có"})
({TokenVn.string == "đúng"} | {TokenVn.string == "phải"})
({TokenVn.string == "là"})?
)
)
Rule: editYesNoTerm
Priority: 50
(
YesNo
):YesNoSet
-->
{
//Đưa ra một tập chứa đựng các chú giải mà LHS khớp
gate.AnnotationSet YesNoSet =
(gate.AnnotationSet)bindings.get("YesNoSet");
//Đưa ra một danh sách
List listTerm = new ArrayList(YesNoSet);
//Đưa ra một biến lặp của chú giải
Iterator termIter = (Iterator)listTerm.iterator();
//Khai báo biến
gate.Annotation yesnoAnn;
gate.FeatureMap yesnoAnnFeatures;
Phụ lục A Nguyễn Quốc Đạt
83
String string = ""; //Xâu tương ứng với cụm từ được khớp
//Đưa ra ánh xạ đặc trưng
while(termIter.hasNext()){
yesnoAnn = (gate.Annotation)termIter.next();
yesnoAnnFeatures = (gate.FeatureMap)yesnoAnn.getFeatures();
string += (String)yesnoAnnFeatures.get("string") + " ";
}
//Tạo các đặc trưng
gate.FeatureMap features = Factory.newFeatureMap();
features.put("string", string.trim());
features.put("category", "Tudehoi");
features.put("type", "YesNo");
/*Loại bỏ tất cả các chú giải TokenVn đối với từng từ trong cụm từ
mà LHS của luật đã khớp*/
inputAS.removeAll(YesNoSet);
/*Đưa ra kiểu chú giải TokenVn cho các cụm từ mà LHS của luật khớp,
nghĩa là cụm từ đã được xác định lại là một từ để hỏi*/
outputAS.add(YesNoSet.firstNode(), YesNoSet.lastNode(), "TokenVn",
features);
}
Hình A-1: Chƣơng trình nhúng Java vào JAPE
Phụ lục B Nguyễn Quốc Đạt
84
Phụ lục B. Bảng nhãn từ loại tiếng Việt
Np danh từ riêng proper noun
Nc danh từ đơn thể countable noun
Ng danh từ tổng thể collective noun
Nt danh từ loại thể classifier noun
Nu danh từ chỉ đơn vị concrete noun
Na danh từ trừu tượng abstract noun
Nn danh từ số lượng numeral
Nl danh từ vị trí locative noun
Vt động từ ngoại động transitive verb
Vit động từ nội động intransitive verb
Vim động từ cảm nghĩ impression verb
Vo động từ chỉ hướng orientation verb
Vs động từ tồn tại state verb
Vb động từ biến hoá transformation verb
Vv động từ ý chí volotive verb
Va động từ tiếp thụ acceptation verb
Vc động từ so sánh comparative verb
Vm động từ chuyển động move verb
Vla động từ "là" ―là‖ verb
Vtim động từ ngoại động cảm nghĩ transitive-impression verb
Vta động từ ngoại động tiếp thụ transitive-acceptation verb
Vtc động từ ngoại động so sánh transitive-comparative verb
Vtb động từ ngoại động biến hoá transitive-transformation verb
Vto động từ ngoại động chỉ hướng transitive-orientation verb
Vts động từ ngoại động tồn tại transitive-state verb
Vtm động từ ngoại động chuyển động transitive-move verb
Vtv động từ ngoại động ý chí transitive-volotive verb
Phụ lục B Nguyễn Quốc Đạt
85
Vitim động từ nội động cảm nghĩ intransitive-impression verb
Vitb động từ nội động biến hoá intransitive-transformation verb
Vits động từ nội động tồn tại intransitive-state verb
Vitc động từ nội động so sánh intransitive-comparative verb
Vitm động từ nội động chuyển động intransitive-move verb
Aa tính từ hàm chất quality adjective
An tính từ hàm lượng quantity adjective
Pp đại từ xưng hô personal pronoun
Pd đại từ không gian, thời gian demonstrative pronoun
Pn đại từ số lượng quantity pronoun
Pa đại từ hoạt động, tính chất quality pronoun
Pi đại từ nghi vấn interrogative pronoun
Jt phụ từ chỉ thời gian time adjunct
Jd phụ từ chỉ mức độ degree adjunct
Jr phụ từ so sánh rapport adjunct
Ja phụ từ khẳng định, phủ định adjunct of negation and acceptation
Ji phụ từ mệnh lệnh imperative adjunct
Cm giới từ major/minor conjunction
Cc liên từ combination conjunction
E cảm từ emotion word
I trợ từ introductory word
X không xác định
Hình B-1: Nhãn từ loại trong tiếng Việt đƣợc dùng trong bộ tách từ trong
Coltech.NLP.Tokenizer
Phụ lục C Nguyễn Quốc Đạt
86
Phụ lục C. Danh sách câu hỏi thực nghiệm
Danh sách 60 câu hỏi dùng để thực nghiệm:
1. Nguyễn Quốc Đạt là ai?
2. Cái gì là mã sinh viên?
3. Điểm trung bình là như thế nào?
4. Những sinh viên có quê ở Hà Tây là ai?
5. Ai là những sinh viên có quê ở Hà Tây?
6. Sinh viên nào có quê ở Hà Tây?
7. Môn học được học bởi Nguyễn Quốc Đạt là gì?
8. Quê của sinh viên nào ở Hà Tây?
9. Nguyễn Quốc Đạt học lớp nào?
10. Ai là sinh viên của lớp khoa học máy tính?
11. Hà Tây là quê của ai?
12. Ai có quê ở Hà Tây?
13. Quê của những người nào ở Hà Tây?
14. Nguyễn Quốc Đạt có mã sinh viên là gì?
15. Danh sách các sinh viên của lớp khoa học máy tính?
16. Lớp nào có sinh viên Nguyễn Quốc Đạt?
Phụ lục C Nguyễn Quốc Đạt
87
17. Số lượng sinh viên của lớp khoa học máy tính là bao nhiêu?
18. Tồn tại sinh viên có tên là Nguyễn Quốc Đạt phải không?
19. Nguyễn Quốc Đạt có quê ở Hà Tây phải không?
20. Tồn tại sinh viên là Nguyễn Quốc Đạt phải không?
21. Nguyễn Quốc Đạt là sinh viên phải không?
22. Quê quán của Nguyễn Quốc Đạt là Hà Tây phải không?
23. Những sinh viên có quê ở Hà Tây mà học lớp khoa học máy tính là ai?
24. Ai là những sinh viên có quê là Hà Tây và học lớp khoa học máy tính?
25. Sinh viên của lớp khoa học máy tính mà có quê ở Hà Tây là những ai?
26. Ai có quê ở Hà Tây và học lớp khoa học máy tính?
27. Có quê ở Hà Tây và học lớp khoa học máy tính là những ai?
28. Nguyễn Quốc Đạt có mã sinh viên là gì và có quê ở đâu?
29. Nguyễn Quốc Đạt có quê ở đâu và học lớp nào?
30. Sinh viên nào có quê là Hà Tây và học lớp khoa học máy tính?
31. Liệt kê các sinh viên học lớp khoa học máy tính và có quê ở Hà Tây?
32. Số lượng sinh viên của lớp khoa học máy tính mà có quê ở Hà Tây là bao nhiêu?
33. Những sinh viên có quê ở Hà Tây hoặc có quê ở Hà Nội là ai?
34. Số lượng sinh viên có quê ở Hà Tây hoặc có quê ở Hà Nộ là bao nhiêu?
35. Ai có quê ở Hà Tây hoặc có quê ở Hà Nội?
36. Có quê ở Hà Tây hoặc có quê ở Hà Nội là những ai?
37. Sinh viên nào có điểm trung bình lớn hơn 7?
Phụ lục C Nguyễn Quốc Đạt
88
38. Sinh viên nào có điểm trung bình cao nhất lớp khoa học máy tính?
39. Ai có quê ở Hà Tây và ai học lớp khoa học máy tính?
40. Sinh viên học lớp khoa học máy tính thì có mã sinh viên là gì?
41. Lớp khoa học máy tính có bao nhiêu sinh viên có quê ở Hà Tây?
42. Danh sách điểm trung bình của sinh viên của lớp khoa học máy tính?
43. 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ệ?
44. Có phải Nguyễn Quốc Đạt của lớp khoa học máy tính của trường đại học công
nghệ?
45. 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?
46. Lớp có sinh viên Nguyễn Quốc Đạt là lớp nào?
47. 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ệ?
48. Sinh viên lớp khoa học máy tính là những ai?
49. Cho biết số lượng các sinh viên học ở lớp khoa học máy tính?
50. Sinh viên nào học lớp nào?
51. Sinh viên nào học môn xử lý ảnh?
52. Số lượng sinh viên lớp khoa học máy tính là bao nhiêu?
53. Tồn tại sinh viên của lớp khoa học máy tính mà có quê ở Hà Tây phải không?
54. Nguyễn Quốc Đạt học lớp nào của trường đại học Công Nghệ?
Phụ lục C Nguyễn Quốc Đạt
89
55. Số lượng sinh viên của lớp nào là 45?
56. Lớp khoa học máy tính có 45 sinh viên phải không?
57. Lớp mà Nguyễn Quốc Đạt học là gì?
58. Môn học mà Nguyễn Quốc Đạt học là gì?
59. Học lớp khoa học máy tính là những sinh viên nào?
60. Lớp nào có số lượng sinh viên lớn hơn 45?
Tài liệu tham khảo Nguyễn Quốc Đạt
90
Tài liệu tham khảo
[1]. Androutsopoulos I., Ritchie G. D., Thanisch P. Natural Language Interfaces to
Databases - An Introduction. In Natural Language Engineering, vol 1, part 1,
pages 29—81, 1995.
[2]. Antonio C., Francesco F., Maria S., Ro T. PIQASso: Pisa question answering
system. In TREC 2001.
[3]. Bird S., Liberman M. A Formal Framework for Linguistic Annotation.
Technical Report MS-CIS-99-01, Department of Computer and Information
Science,University of Pennsylvania, 1999.
[4]. Clark S., Steedman M., Curran R. Object-Extraction and Question-Parsing
using CCG. Proceedings of the SIGDAT Conference on Empirical Methods in
Natural Language Processing, pp.111-118, 2004.
[5]. Damljanovic D., Tablan V., Bontcheva K. A text-based query interface to owl
ontologies. In 6th Language Resources and Evaluation Conference (LREC),
Marrakech, Morocco, ELRA, May, 2008.
[6]. Das S., Charkrabarti S. Issues in Question Answering. M.Tech. Seminar Report.
[7]. Filipe P.P., Mamede N.J. Databases and natural language interfaces. In JISBD
2000, pages 321–332, 2000.
[8]. Frumkina R. M., Mikhejev A. V. Meaning and Categorization. New York:
Nova Science Publishers, Inc, 1996.
[9]. Grishman R. TIPSTER Architecture Design Document Version 2.3. Technical
report, DARPA, 1997.
Tài liệu tham khảo Nguyễn Quốc Đạt
91
[10]. Harabagiu M., Moldovan I., Pasca M., Mihalcea R., Surdeanu M., Bunescu C.,
Girju R., Rus V., Morarescu P. FALCON: Boosting Knowledge for Answer
Engines. TREC 2000.
[11]. Harabagiu H., Maiorano J., Pasca A. Open-Domain Textual Question
Answering Techniques. Natural Language Engineering, 1(1):1-38, 2003.
[12]. Hirschman L., Gaizauskas R. Natural Language Question Answering: The View
from Here. Natural Language Engineering. 2001.
[13]. Jelinek F., Statistical Methods for Speech Recognition.
[14]. Katz B., Borchardt G., Felshin S. Natural Language Annotations for Question
Answering. Proceedings of the 19th International FLAIRS Conference
(FLAIRS 2006), May 2006.
[15]. Katz B., Borchardt G., Felshin S. Syntactic and Semantic Decomposition
Strategies for Question Answering from Multiple Resources. Proceedings of the
AAAI 2005 Workshop on Inference for Textual Question Answering, 35-41,
July 2005.
[16]. Kocik K. Question classification using maximum entropy models. Honours
thesis, University of Sydney, 2004.
[17]. Li W. Question Classification Using Language Modeling. In CIIR Technical
Report: University of Massachusetts, Amherst, 2002.
[18]. Li X., Roth D. Learning question classifiers: the role of semantic information.
Natural Language Engineering, v.12 n.3, p.229-249, 9- 2006.
[19]. Li X., Roth D. Learning Question Classifiers. In Proceedings of the 19th
International Conference on Computational Linguistics (COLING'02), 2002.
[20]. Lopez V., Uren V., Motta E., Pasin M. AquaLog: An ontology-driven question
answering system for organizational semantic intranets. Journal of Web
Semantics, 5, 2, pp.72-105, Elsevier, 2007.
[21]. Lopez V., Motta E. PowerAqua: An Ontology Question Answering System for
the Semantic Web. Workshop: Ontologias y Web Semantiica 2005.
Tài liệu tham khảo Nguyễn Quốc Đạt
92
[22]. Manning C., Schutze H., Schutze H. Foundations of Statistical Natural
Language Processing.
[23]. Manning D., Raghavan P., Schütze H. Introduction to Information Retrieval.
Cambridge University Press. 2008.
[24]. Mitchell T. Machine Learning. McGraw Hill. ISBN 0-07-042807-7.
[25]. Narayanan S., Harabagiu S. Question answering based on semantic structures.
Proceedings of the 20th international conference on Computational Linguistics,
p.693-es, August 23-27, 2004.
[26]. Nguyen K., Le H. Natural Language Interface Construction Using Semantic
Grammars. PRICAI 2008:728-739.
[27]. Nguyen M.L., Shimazu A., Nguyen T.T. Subtree mining for question
classification problem. Twentieth International Joint Conference on Artificial
Intelligence (IJCAI 2007) Hyderabad, India, January 6-12, 2007.
[28]. Nguyen T.T., Nguyen L.M., Shimazu A. Using Semi-supervised Learning for
Question Classification. Information and Media Technologies, Vol. 3, No. 1,
pp.112-130, 2008 .
[29]. Ogden W., Bernick T. Using natural language interfaces. In: M. Helander,
Editor, Handbook of Human–Computer Interaction, Elsevier, 1996.
[30]. Ryan J., Smith A. General Question Categorization for Question and Answer
Systems. (Unpublished report.).
[31]. Paggio P., Hansen D.H., Basili R., Pazienza M.T., Zanzotto F.M. Ontology-
based question analysis in a multilingual environment: the MOSES case study.
Proceedings of OntoLex 2004: Ontologies and Lexical Resources in Distributed
Environments s. 1-8. Lisboa 2004.
[32]. Popescu A., Etzioni O., Kautz H. Towards a theory of natural language
interfaces to databases. New York, NY, USA: ACM (2003).
Tài liệu tham khảo Nguyễn Quốc Đạt
93
[33]. Saxena A., Sambhu G., Kaushik S., Subramaniam L. IITD-IBMIRL System for
Question Answering Using Pattern Matching, Semantic Type and Semantic
Category Recognition. TREC 2007.
[34]. Templeton M., Burger J. Problems in Natural Language Interface to DBMS
with Examples from EUFID. In Proceedings of the 1st Conference on Applied
Natural Language Processing, Santa Monica, California, pages 3–16, 1983.
[35]. Woods W.A., Kaplan R.M., Webber B.N. The Lunar Sciences Natural
Language Information System: Final Report. BBN Report 2378, Bolt Beranek
and Newman Inc., Cambridge, Massachusetts, 1972.
[36]. Wu M., Zheng X., Duan M., Liu T., Strzalkowski T. Question answering by
pattern matching, web-proofing, semantic form proofing. TREC 2003.
[37]. Zhang D., Lee W. S. Question classification using support vector machines.
Proceedings of SIGIR2003, 2003.
[38]. Diệp Quan Ban, Hoàng Văn Thung. Ngữ pháp tiếng Việt. Nhà xuất bản giáo dục, 1999.
[39]. Đinh Điền. So sánh trật tự từ của định ngữ giữa tiếng Anh và tiếng Việt.
[40]. Hồ Bảo Quốc, Hồ Tú Bảo, Đinh Điền. Nghiên cứu và đề xuất một kiến trúc
khung cho xử lý tài liệu tiếng Việt.
[41]. Nguyễn Minh Tuấn, Đặng Quang Vinh, Nguyễn Cẩm Tú. Phân lớp câu hỏi
tiếng Việt sử dụng nguyên lý Entropy cực đại. Báo cáo nghiên cứu khoa học
sinh viên 2008, Coltech.
[42]. Nguyễn Quốc Đại. Phương pháp xây dựng hệ thống hỏi đáp tiếng Việt dựa trên
Ontology. Khóa luận tốt nghiệp 2009, Coltech.
[43]. Nguyễn Bá Đạt. Nhận dạng thực thể trong văn bản tiếng Việt. Khóa luận tốt
nghiệp 2009, Coltech.
[44]. Phạm Đức Đăng. Phương pháp phân đoạn từ tiếng Việt sử dụng gán nhãn từ
loại. Khóa luận tốt nghiệp 2009, Coltech.
[45].
Các file đính kèm theo tài liệu này:
- LUẬN VĂN- PHƯƠNG PHÁP PHÂN TÍCH CÂU HỎI CHO HỆ THỐNG HỎI ĐÁP TIẾNG VIỆT.pdf