Bộ biểu diễn trung gian của câu hỏi

Một phần của tài liệu phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt (Trang 82 - 104)

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.

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?”

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)).

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”.

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.

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

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

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:

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

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

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.

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;

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);

}

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

85

Vitim động từ nội động cảm nghĩ intransitive-impression verb

Một phần của tài liệu phương pháp phân tích câu hỏi cho hệ thống hỏi đáp tiếng việt (Trang 82 - 104)

Tải bản đầy đủ (PDF)

(104 trang)