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

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.

pdf104 trang | Chia sẻ: lylyngoc | Lượt xem: 2527 | Lượt tải: 1download
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:

  • pdfLUẬ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