Bài toán phân lớp câu hỏi cũng có thể coi là bài toán phân lớp văn bản, trong đó mỗi câu hỏi được xem là một văn bản. Tuy nhiên phân lớp câu hỏi có một số đặc trưng riêng so với phân lớp văn bản:
- Số lượng từ trong một câu hỏi ít hơn nhiều trong một văn bản, do đó dữ liệu câu hỏi là rất rời rạc. Việc biểu diễn câu hỏi theo tần suất từ (TF, IDF) hầu như không tăng hiệu quả phân lớp vì các từ thường chỉ xuất hiện một lần trong câu hỏi.
- Các từ dừng trong phân lớp văn bản là quan trọng với phân lớp câu hỏi.
- Số lượng nhãn lớp thường rất lớn. Đối với các thuật toán phân lớp, khi số lượng lớp tăng thì hiệu quả sẽ giảm [36]. Nhiều hệ thống Q&A đã áp dụng phân lớp đa cấp nhằm giảm số lượng lớp tại mỗi bộ phân lớp ở từng cấp.
3.1.3.1. Mô hình phân lớp câu hỏi
Phân lớp câu hỏi sử dụng học máy thống kê hiện đang nhận được sự chú ý của nhiều nhà nghiên cứu [20,25,36,41]. Li và Roth [25] xây dựng một bộ phân lớp câu hỏi phân cấp dựa trên một taxonomy câu hỏi 2 cấp thể hiện sự phân lớp ngữ nghĩa tự nhiên của câu trả lời. Cấu trúc phân cấp bao gồm 6 lớp câu hỏi thô (coarse class) là ABBREVIATION (viết tắt), ENTITY (thực thể), DESCRIPTION (mô tả), HUMAN (con người), LOCATION (địa điểm) và NUMERIC VALUE (giá trị số). Mỗi lớp câu hỏi thô lại được phân chia thành các lớp con (fine class). Taxonomy câu hỏi của Li và Roth được trình bày chi tiết trong bảng 1 (Mục 2.4).
Theo Li và Roth thì phân lớp câu hỏi có tính nhập nhằng, tức là một câu hỏi có thể được phân vào nhiều lớp do không có một ranh giới rõ ràng nào giữa các lớp. Ví dụ câu hỏi “Sử tửăn gì ?” có thể được phân vào lớp food (thức ăn), animal (động vật) hay câu hỏi “Đại học Công Nghệ ở đâu ?” có thể được phân vào lớp country (đất nước), state (tỉnh)… Vì vậy bộ phân lớp thô sẽ cho đầu ra là một số nhãn lớp thô (phân lớp đa nhãn). Câu hỏi lần lượt được cho qua hai bộ phân lớp Coarse_Classifier và Fine_Classifier.
Theo hình 7, câu hỏi ban đầu được phân lớp bởi bộ phân lớp thô Coarse_Classifier
cho ra một tập các lớp thô.
C1 = Coarse_Classifier(C) = { c1,c2,…cn}
với |C1| <= 5, |C| = 6,
C = {abbreviation, entity, description, human, location, numeric value}
Sau đó các nhãn của lớp thô c1,..cnđược mở rộng bởi các nhãn lớp con tương ứng. Cụ thể
hơn, mỗi nhãn thô ciđược ánh xạ vào một tập nhãn lớp con theo taxonomy phân cấp, Fci
= { fi1,fi2,….fim} và được tổng hợp lại thành C2 = U Fci.
Bộ phân lớp tinh Fine_Classifier sẽ xác định tập các nhãn lớp con
C3 = Fine_Classifier(C2) với |C3| <=5.
Hình 7. Mô hình bộ phân lớp đa cấp của Li và Roth
Kết quả mà Li và Roth đạt được khá tốt, độ chính xác là 84.2% cho 50 lớp con và 91% cho 6 lớp cha với thuật toán SnoW.
Sử dụng taxonomy câu hỏi của Li và Roth, tiến sĩ Nguyễn Trí Thành [36] đã áp dụng học bán giám sát để tận dụng dữ liệu câu hỏi chưa gán nhãn nhằm tăng độ chính xác cho phân lớp câu hỏi và đề xuất hai cách thay đổi thuật toán Tri-training để phù hợp với dữ liệu câu hỏi.
3.1.3.2. Trích chọn đặc trưng cho phân lớp câu hỏi
Trích chọn đặc trưng có ý nghĩa quan trọng, ảnh hưởng trực tiếp đến kết quả phân lớp. Các loại đặc trưng chính thường được sử dụng là tập từ(bag-of-word) và tập các cặp từ/nhãn từ loại (bag-of-word/POS tag). Việc phân loại câu hỏi có điểm khác với phân loại văn bản đó là câu hỏi chỉ chứa một số ít từ trong khi văn bản có số lượng từ rất lớn. Trọng số từ (TF – term frequency) góp phần quan trọng trong nâng cao độ chính xác của phân lớp văn bản, trong khi với câu hỏi các từ hầu như chỉ xuất hiện một lần duy nhất, do đó việc biểu diễn câu hỏi theo trọng số từ không có ý nghĩa mấy trong phân lớp câu hỏi.
Trong phân lớp văn bản các từ như “nào”, “gì”, “sao” thường được coi là từ dừng
mà vẫn giảm được số chiều của không gian biểu diễn dữ liệu, trong tiếng Anh kĩ thuật stemming thường được áp dụng. Ví dụ trong tiếng Anh, các động từđược chuyển về dạng nguyên thể (“was”, “were”, “is”, “are”, “am” được chuyển hết thành “be”), các danh từ số
nhiều chuyển về dạng danh từ số ít (“children” thành “child”, “girls” thành “girl” …), các số từđều được chuyển về cùng một giá trị (“2004”, “1.5”, “5” đều chuyển thành “100”) [36].
Ví dụ:
“Thủ tướng Việt Nam năm 2007 là ai”
Được chuyển thành:
“Thủ tướng Việt Nam năm 100 là ai”
Sau bước tiền xử lý này, một tập V các từ khác nhau xuất hiện trong tập câu hỏi ví dụ sẽ được trích ra (gọi là từđiển – dictionary). Gọi N là kích thước của từđiển, N chính là số
chiều của không gian biểu diễn câu hỏi. Các câu hỏi sẽ được biểu diễn dưới dạng vector gồm N thành phần: qi= (w1,w2,…..,wN)
trong đó
wi = 1 nếu từ thứ i trong từđiển xuất hiện trong câu hỏi qi.
0 nếu từ thứ i trong từđiển không xuất hiện trong câu hỏi qi
Các vector này là đầu vào cho bộ phân lớp.
Với loại đặc trưng là tập các cặp từ/nhãn từ loại thì tập từ điển V sẽ khác một chút. Các cặp từ/nhãn từ loại là thành phần của từđiển. Một từ có thể có nhiều chức năng ngữ
pháp, có lúc đóng vai trò là danh từ, có lúc lại là động từ (ví dụ từ “đá”, “bò” …). Những từ này sẽ được chuyển thành “đá”- danh từ và “đá”-động từ và được tính là hai thành phần khác nhau của từ điển. Việc biểu diễn đặc trưng dưới dạng từ/nhãn từ loại sẽ giúp phân biệt được các từ này theo các nghĩa khác nhau.
Trong tiếng Anh việc biểu diễn câu hỏi dưới dạng bag-of-word là khá đơn giản bởi
đặc trưng của tiếng Anh là các từ phân cách nhau bởi khoảng trắng. Do đó việc sử dụng
unigram cũng chính là bag-of-word. Trong khi với tiếng Việt, một từ có thểđược ghép lại từ nhiều âm tiết, do đó không thể dùng khoảng trắng làm ranh giới phân cách các từ. Cần
Việc biểu diễn câu hỏi theo bag-of-word và bag-of-word/POS tag không giữ được các thông tin về trật tự từ trong câu, do đó người ta sử dụng n-gram làm đặc trưng. Bag- of-ngrams là một kỹ thuật biểu diễn văn bản độc lập với ngôn ngữ. Nó chuyển đổi các văn bản/câu hỏi thành các vectơ đặc trưng đa chiều với mỗi đặc trưng tương đương với một chuỗi con liền kề nhau.
Để nâng cao độ chính xác của bộ phân lớp, các đặc trưng ngữ nghĩa khác được xem xét. Li và Roth đã xây dựng bộ phân lớp câu hỏi sử dụng thuật toán Sparse Network of Winnows – SnoW với các đặc trưng được sử dụng là: từ vựng (bag-of-word), nhãn từ loại
(POS tag), cụm từ (các cụm không giao nhau - non-overlapping), cụm danh từ đầu tiên trong câu hỏi (head chunks) và tên thực thể(named entity). Bộ dữ liệu học bao gồm 5500 câu hỏi được thu thập từ các nguồn: 4.500 câu hỏi tiếng Anh công bố bởi USC1, 500 câu hỏi tự tạo cho một số lớp có ít câu hỏi, 894 câu hỏi thu thập từ tập câu hỏi của TREC 8 và TREC 9 và 500 câu hỏi của TREC 10 cho dữ liệu kiểm tra. Độ chính xác mô hình đạt
được là 78,8% với 50 lớp con (phân lớp đa cấp với 6 lớp cha và 50 lớp con). Khi sử dụng danh sách các từ (được xây dựng bằng tay) liên quan đến một lớp câu hỏi thì độ chính xác
đạt 84.2 %. Mỗi lớp câu hỏi có một danh sách các từ liên quan, là các từ thường xuyên xuất hiện trong lớp câu hỏi đó. Ví dụ lớp câu hỏi về nguyên nhân có danh sách các từ
{“nguyên nhân” , “lí do”, “tại sao”, “vì sao”…}.
Bộ dữ liệu do Li và Roth sử dụng đã được công bố và được nhiều nhóm nghiên cứu sử dụng để so sánh kết quả khi thực nghiệm với các thuật toán hoặc các đặc trưng mới để
nâng cao kết quảđạt được của phân lớp câu hỏi. Hacioglu và Ward [14] sử dụng máy hỗ
trợ vector (support vector machines - SVM) với đặc trưng là bigram và mã sửa lỗi đầu ra (error-correcting output code-ECOC ) đã đạt kết quả 80.2% và 82.0%. Zhang và Lee [41] sử dụng SVMs tuyến tính với đặc trưng là bag-of-word và bag-of-ngram đạt độ chính xác 79.2%. Năm 2006, Li và Roth đã sử dụng thêm các đặc trưng ngữ nghĩa gồm: tên thực thể, nghĩa của từ trong WordNet, danh sách từ liên quan đến lớp câu hỏi (xây dựng bằng tay), các từ có độ tương đồng về mặt ngữ nghĩa (sinh tựđộng). Việc kết hợp các đặc trưng về ngữ nghĩa này với các đặc trưng về ngữ pháp (POS tag, cụm từ ..) họ đã đạt được độ
chính xác 89.3% cho 50 lớp con khi huấn luyện mô hình với 21.500 câu hỏi và kiểm thử
đặc trưng và đạt được độ chính xác 86.2% cho 50 lớp con khi tiến hành huấn luyện trên bộ dữ liệu 5500 câu hỏi do UIUC công bố và được ghi nhận là kết quả tốt nhất trên tập dữ
liệu này. Theo Krishnan thì chỉ cần dựa vào một chuỗi ngắn các từ liên tục trong câu hỏi (gọi là informer span) đã có thể nhận diện được câu hỏi thuộc lớp nào. Vì vậy họ đã sử
dụng Conditional Random Field (CRF) để xác định informer span với độ chính xác 85%, sau đó xây dựng bộ phân lớp meta-classifier sử dụng SVM tuyến tính trên kết quảđầu ra của CRF.
Hình thức của từ cũng được coi là một loại đặc trưng hữu ích. Đặc trưng hình thức từ bao gồm 5 đặc trưng: Viết hoa tất cả các kí tự trong từ, viết thường tất cả, dạng hỗn hợp (có cả chữ thường lẫn chữ viết hoa), tất cả các kí tự là chữ số (0-9) và các hình thức khác. Các đặc trưng này rất có ích, ví dụ nếu tất cả các kí tự của từ viết hoa thì thường thường đó là tên thực thể, hoặc một dạng viết tắt .., nếu tất cả các kí tự của từ là chữ số thì rất có thể đó là con số, ngày tháng, mã số, điện thoại ….Các đặc trưng hình thức từ này góp phần làm tăng độ chính xác của phân lớp [20].