59
ĐẠI HC QUC GIA HÀ NI TRƢỜNG ĐẠI HC CÔNG NGHVŨ THỊ TUYN MT SMÔ HÌNH HC MÁY TRONG PHÂN LOI CÂU HI LUẬN VĂN THẠC SĨ CÔNG NGHTHÔNG TIN Hà Ni -2016

MỘT SỐ MÔ HÌNH HỌC MÁY TRONG PHÂN LOẠI CÂU HỎI · đưa ra câu trả lời chính xác hơn.Đã có nhiều phương pháp tiếp cận được đưa ra cho bài

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

VŨ THỊ TUYẾN

MỘT SỐ MÔ HÌNH HỌC MÁY

TRONG PHÂN LOẠI CÂU HỎI

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội -2016

i

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

VŨ THỊ TUYẾN

MỘT SỐ MÔ HÌNH HỌC MÁY

TRONG PHÂN LOẠI CÂU HỎI

Ngành: Công nghệ thông tin

Chuyên ngành: Hệ thống thông tin

Mã số: 60480104

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƢỜI HƢỚNG DẪN KHOA HỌC: TS LÊ HỒNG PHƢƠNG

Hà Nội -2016

i

LỜI CẢM ƠN

Trước tiên, tôi xin được gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới Thầy giáo,

TS.Lê Hồng Phương đã tận tình chỉ bảo, hướng dẫn, động viên và giúp đỡ tôi trong

suốt quá trình thực hiện luận văn tốt nghiệp.

Tôi xin gửi lời cảm ơn tới các thầy cô trường Đại Học Công Nghệ - Đại Học

Quốc Gia Hà Nội – những người đã tận tình giúp đỡ, cổ vũ, và góp ý cho tôi trong suốt

thời gian tôi học tập và nghiên cứu tại trường.

Tôi xin gửi lời cảm ơn tới các anh chị, các bạn học viên cùng học tập nghiên cứu

tại Trường Đại học Công nghệ đã hỗ trợ tôi rất nhiều trong quá trình học tập cũng như

thực hiện luận văn.

Cuối cùng, tôi muốn gửi lời cảm ơn tới gia đình và bạn bè, những người thân yêu

luôn bên cạnh, quan tâm, động viên tôi trong suốt quá trình học tập và thực hiện luận

văn tốt nghiệp này.

Tôi xin chân thành cảm ơn!

Hà Nội, tháng 10 năm 2016

Học viên

Vũ Thị Tuyến

ii

LỜI CAM ĐOAN

Tôi xin cam đoan nội dung được trình bày trong luận văn “Một số mô hình học

máy trong phân loại câu hỏi” do tôi thực hiện dưới sự hướng dẫn của TS. Lê Hồng

Phương.

Tôi đã trích dẫn đầy đủ các tài liệu tham khảo, công trình nghiên cứu liên quan ở

trong nước và quốc tế. Tất cả những tham khảo từ các nghiên cứu liên quan đều được

nêu nguồn gốc một cách rõ ràng từ danh mục tài liệu tham khảo trong luận văn.

Hà Nội, tháng 10 năm 2016

Học viên

Vũ Thị Tuyến

1

MỤC LỤC

LỜI CẢM ƠN ................................................................................................................... i

LỜI CAM ĐOAN ........................................................................................................... ii

MỤC LỤC ....................................................................................................................... 1

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ..................................................... 3

DANH MỤC CÁC HÌNH ............................................................................................... 4

DANH MỤC CÁC BẢNG .............................................................................................. 5

LỜI MỞ ĐẦU ................................................................................................................. 6

Chương 1: TỔNG QUAN VỀ PHÂN LOẠI CÂU HỎI ................................................. 7

1.1. Tổng quan về hệ thống hỏi đáp ............................................................................ 7

1.1.1. Đặt vấn đề ...................................................................................................... 7

1.1.2. Hệ thống hỏi đáp (Question Answering System) .......................................... 8

1.1.2.1. Giới thiệu ................................................................................................ 8

1.1.2.2. Cấu trúc của một hệ thống hỏi đáp ......................................................... 9

1.1.2.3. Tại sao phải phân loại câu hỏi? ............................................................ 10

1.2. Bài toán phân loại câu hỏi .................................................................................. 11

1.2.1. Định nghĩa phân loại câu hỏi ....................................................................... 11

1.2.2. Phát biểu bài toán phân loại câu hỏi ............................................................ 11

1.3. Các cách tiếp cận bài toán phân loại câu hỏi ...................................................... 12

1.3.1. Tiếp cận dựa trên luật .................................................................................. 12

1.3.2. Tiếp cận dựa trên học máy .......................................................................... 13

1.4. Biểu diễn câu hỏi ................................................................................................ 15

1.5. Taxonomy câu hỏi .............................................................................................. 16

1.5.1. Khái niệm về Taxonomy ............................................................................. 16

1.5.2. Các taxonomy theo kiểu câu trả lời ............................................................. 16

1.5.3. Phân lớp đa cấp ............................................................................................ 19

1.6. Các đặc trưng phân loại ...................................................................................... 20

1.6.1. Các đặc trưng về từ vựng ............................................................................ 20

1.6.2. Các đặc trưng về cú pháp ............................................................................ 22

1.6.2.1. POS Tags và Tagged Unigrams ........................................................... 22

1.6.2.2. Từ đầu (head word) .............................................................................. 23

1.6.2.3. Biểu thức chính quy .............................................................................. 27

2

1.6.3. Các đặc trưng ngữ nghĩa .............................................................................. 28

Chương 2: MỘT SỐ MÔ HÌNH HỌC MÁY TRONG PHÂN LOẠI CÂU HỎI ......... 30

2.1. Kiến trúc hệ thống .............................................................................................. 30

2.2. Thuật toán Naïve Bayes ...................................................................................... 30

2.2.1. Định lý ......................................................................................................... 30

2.2.2. Thuật toán .................................................................................................... 31

2.3. Thuật toán k-láng giềng gần (k- Nearst Neighbours) ......................................... 34

2.4. Máy Vector hỗ trợ - SVM .................................................................................. 35

2.5. Một số thuật toán khác ....................................................................................... 39

2.6. Hiệu suất trong phân loại câu hỏi ....................................................................... 39

2.7. Một số kết quả của các tác giả ............................................................................ 40

Chương 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ ............................................................. 42

3.1. Lựa chọn bộ phân loại ........................................................................................ 42

3.2. Môi trường và công cụ sử dụng trong thực nghiệm ........................................... 42

3.3. Tập dữ liệu thử nghiệm ...................................................................................... 42

3.4. Xử lý dữ liệu ....................................................................................................... 44

3.5. Huấn luyện và kiểm thử với LibSVM ................................................................ 48

3.6. Kết quả thực nghiệm ........................................................................................... 49

3.7. Kết luận............................................................................................................... 49

TỔNG KẾT ................................................................................................................... 50

TÀI LIỆU THAM KHẢO ............................................................................................. 51

PHỤ LỤC ...................................................................................................................... 53

3

DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT

STT Ký hiệu, viết tắt Tiếng anh Chú giải

1 QA Question Answering systems Hệ thống hỏi đáp

2 IR Information Retrieval Truy hồi thông tin

3 TREC Text REtrieval Conference

4 UIUC University of Illinois Urbana-

Champaign

5 MUC Message Understanding

Conference

6 POS Part – Of - Speech

7 WSD Word Sense Disambiguation

8 NN Nearest Neighbors Láng giềng gần

9 NB Naïve Bayes

10 DT Decision Tree Cây quyết định

11 SNoW Sparse Network of Winnows Mạng lọc thưa

12 SVM Support Vector Machine Máy vector hỗ trợ

13 ME Maximum Entropy Entropy cực đại

4

DANH MỤC CÁC HÌNH

Hình 1.1: Kiến trúc một hệ thống hỏi đáp ..................................................................... 10

Hình 1.2: Mô hình giai đoạn huấn luyện ....................................................................... 14

Hình 1.3: Chi tiết giai đoạn huấn luyện ......................................................................... 15

Hình 1.4: Mô hình giai đoạn phân lớp........................................................................... 15

Hình 1.6: Cây phân tích cú pháp sử dụng bộ phân tích Berkeley ................................. 24

Hình 1.8: Cây phân tích cú pháp cho câu hỏi “What is the proper name for a female

walrus” .......................................................................................................................... 27

Hình 2.1: Kiến trúc tổng quan của hệ thống phân loại câu hỏi có giám sát .................. 30

Hình 2.2: Siêu phẳng với lề cực đại cho một SVM phân tách dữ liệu thuộc hai lớp. ... 36

Hình 2.3: Sơ đồ phân lớp câu hỏi với SVM .................................................................. 39

Hình 3.1: File chứa 5500 câu hỏi ban đầu ..................................................................... 43

Hình 3.2: File chứa 500 câu hỏi test .............................................................................. 43

Hình 3.4: File chứa 5500 nhãn và câu hỏi của tập mịn ................................................. 46

Hình 3.6: Nhãn tương ứng của 5500 câu hỏi ................................................................ 47

Hình 3.7: File kết quả đưa về định dạng đọc được bởi thư viện LIBSVM sử dụng đặc

trưng bigram trên tập mịn của tập train. ........................................................................ 47

Hình 3.8: File kết quả đưa về định dạng đọc được bởi thư viện LIBSVM sử dụng đặc

trưng bigram trên tập mịn của tập test. .......................................................................... 48

5

DANH MỤC CÁC BẢNG

Bảng 1.1: Taxonomy câu hỏi của Li và Roth ................................................................ 17

Bảng 2.1: Độ chính xác của phân loại câu hỏi sử dụng các thuật toán học máy khác

nhau với đặc trưng bag-of-words trên lớp mịn .............................................................. 40

Bảng 2.2: Độ chính xác khi thực nghiệm với bộ dữ liệu ngôn ngữ Tiếng Việt ............ 41

Bảng 3.1: Thông tin phần cứng ..................................................................................... 42

Bảng 3.2: Các công cụ phần mềm được sử dụng .......................................................... 42

Bảng 3.3: Độ chính xác phân loại trên tập thô với đặc trưng unigram và bigram ........ 49

Bảng 3.4: Độ chính xác phân loại trên tập mịn với đặc trưng unigram và bigram ....... 49

6

LỜI MỞ ĐẦU

Ngày nay, với sự phát triển mạnh mẽ của Internet toàn cầu cùng với nhu cầu

tìm kiếm thông tin ngày càng cao của con người đòi hỏi hệ thống hỏi đáp ngày một

thông minh hơn.Những thắc mắc của người dùng dướidạng truy vấn cần được tìm

kiếm và trả về một cách ngắn gọn, súc tích và chính xác nhất những gì mà họ mong

muốn.

Một trong những thành phần quan trọng ảnh hưởng trực tiếp đến kết quả tìm

kiếm trong hệ thống hỏi đáp là giai đoạn phân loại câu hỏi.Một phân loại tốt sẽ giúp

đưa ra câu trả lời chính xác hơn.Đã có nhiều phương pháp tiếp cận được đưa ra cho bài

toán phân loại này, tuy nhiên phương pháp học máy là được áp dụng nhiều hơn cả.

Chính vì lý do này mà tác giả chọn và nghiên cứu đề tài “Một số mô hình học máy

trong phân loại câu hỏi”. Luận văn bao gồm 3 phần như sau:

Chƣơng 1: Tổng quan về phân loại câu hỏi

Chương này trình bày tổng quan về phân loại câu hỏi, giới thiệu về hệ thống hỏi

đáp, bài toán phân loại câu hỏi, cách tiếp cận giải quyết bài toán, tổng quan về các tiếp

cận học máy như: biểu diễn câu hỏi, phân lớp câu hỏi, các đặc trưng câu hỏi.

Chƣơng 2: Một số mô hình học máy trong phân loại câu hỏi

Chương này tập trung trình bày về 3 bộ phân loại thường được sử dụng: Naïve

Bayes, K-láng giềng gần, Máy vector hỗ trợ và liệt kê một số bộ phân loại khác. So

sánh hiệu suất phân loại của các bộ phân loại đó dựa trên kết quả tham khảo.

Chƣơng 3: Thực nghiệm và đánh giá

Áp dụng bộ phân loại SVM thực hiện thí nghiệm trên tập dữ liệu UIUC, lựa

chọn đặc trưng bag-of-word.Nhận xét kết quả trả về.

7

Chƣơng 1: TỔNG QUAN VỀ PHÂN LOẠI CÂU HỎI

1.1. Tổng quan về hệ thống hỏi đáp

1.1.1.Đặt vấn đề

Vớisố lượng ngày càng tăng nhanh chóng của tri thức trên Web, các máy tìm

kiếm cần có nhiều trí thông minh hơn. Trong một vài trường hợp người sử dụng chỉ

cần một phần chính xác của thông tin thay vì một danh sách các tài liệu.Thay vì bắt

người sử dụng phải đọc toàn bộ tài liệu, nó thường được ưa chuộng hơn bằng cách đưa

cho người sử dụng câu trả lời chính xác và ngắn gọn.Các hệ thống hỏi đáp (Question

Answering systems-QA) phải cung cấp các phần thông tin chính xác cho các câu hỏi

tương ứng. Một hệ thống hỏi đáp miền mở có thể trả lời được các câu hỏi viết bằng

ngôn ngữ tự nhiên giống như con người.

Một trong các thành phần đóng vai trò quan trọng trong hệ thống hỏi đáp là phân

loại câu hỏi.Nhiệm vụ của phân loại câu hỏi như sau: Cho 1 câu hỏi, ánh xạ câu hỏi đó

tới một trong k lớp, các lớp đó cung cấp một gợi ý ngữ nghĩa về câu trả lời sau khi

được tìm kiếm. Mục đích của sự phân loại này là giảm thiểu các câu trả lời không có

tiềm năng, giai đoạn này được xử lý tại quá trình hạ lưu để lựa chọn câu trả lời chính

xác từ một lượng các câu trả lời có tiềm năng.

Phân loại câu hỏi trong hệ thống hỏi đáp có 2 yêu cầu chính [13]. Thứ nhất , nó

cung cấp các gợi ý về loại câu trả lời mà cho phép tiếp tục xử lý để xác định vị trí

chính xác và xác minh câu trả lời. Thứ hai, nó cung cấp thông tin trong quá trình xử lý

hạ lưu được sử dụng để lựa chọn các chiến lược cho từng câu trả lời cụ thể. Ví dụ như

với câu hỏi: Who was the first woman killed in the Vietnam War?, các nhà nghiên cứu

không muốn kiểm tra mọi cụm danh từ trong tài liệu để xem liệu có nó cung cấp một

câu trả lời hay không. Mà ít nhất họ muốn biết rằng mục đích của câu trả lời này là về

“person”, do đó mà làm giảm thiểu đáng kể không gian các câu trả lời tiềm năng.

Chúng ta cùng xem xét một số ví dụ tiếp theo được lấy từ bộ câu hỏi TREC 100,

thể hiện một số khía cạnh của quan điểm này.

Q:What is a prism? Câu hỏi này xác định rằng, mục đích mà nó hướng tới là

“định nghĩa” (definition), chiến lược cụ thể cho các “definitions” (chẳng hạn như sử

dụng các mẫu câu định sẵn: Prism is… hoặc Prism is defined as…) có thể trở nên hữu

ích. Tương tự như vậy, trong câu hỏi

Q: Why is the sun yellow?Xác định rằng câu hỏi này hỏi về loại “lí do” (reason),

câu trả lời được hướng tới sẽ là loại “reason”.

8

Các ví dụ trên cho thấy rằng, các loại câu trả lời khác nhau được đưa ra tương

ứng với câu hỏi có thể được tìm kiếm sử dụng nhiều chiến lược khác nhau, một phân

loại tốt có thể giúp tìm ra câu trả lời tốt trong nhiệm vụ hỏi đáp. Hơn nữa, việc xác

định loại ngữ nghĩa cụ thể của câu trả lời cũng có thể giúp ích trong việc tìm ra câu trả

lời. Ví dụ với 2 câu hỏi: What Canadian city has the largest population?vàWhich

country gave New York the Statue of Liberty? ta biết rằng mục tiêu là loại “city” hoặc

“country” sẽ hữu ích hơn là chỉ biết chúng thuộc loại “localtions”.

Như vậy, mục đích của phân loại câu hỏi là giảm thiểu không gian tìm kiếm, giúp

ta xác định được kiểu câu trả lời khi đã biết phân loại của nó.

1.1.2. Hệ thống hỏi đáp (Question Answering System)

1.1.2.1. Giới thiệu

QA system: là mộthệ thống đóng vai trò phổ biến trong việc tìm kiếm thông tin

chính xác và hiệu quả. Nhiệm vụ của nó là đưa ra câu trả lời đầy đủ và chính xác ứng

với yêu cầu của người dùng và câu trả lời được thể hiện bằng ngôn ngữ tự nhiên.

Người dùng nhanh chóng lấy được thông tin cần thiết thay vì tìm kiếm thông tin trong

một khối lượng lớn các văn bản.

Nghiên cứu để xây dựng một hệ thống trả lời được các câu hỏi biết bởi ngôn ngữ

tự nhiên đã được thực hiện từ những năm 1960. Hệ thống hỏi đáp đầu tiên là

BASEBALL được phát triển năm 1961 do nhóm tác giả Green, Chomsky, và

Laughery. Hệ thống này dùng để trả lời các câu hỏi viết bằng ngôn ngữ tự nhiên trong

một lĩnh vực đặc biệt là về trò chơi bóng chày trong ở giải đấu của Mỹ trong một mùa

giải. Đây là một hệ thống cơ sở dữ liệu đơn giản dùng để dịch một câu hỏi trong ngôn

ngữ tự nhiên thành một câu truy vấn tương ứng trong cơ sở dữ liệu.

Hầu hết các nghiên cứu trước đây chủ yếu là các hệ thống hỏi đáp trong một lĩnh

vực đặc biệt hoặc là có sự giới hạn trong việc hỏi đáp. Do thiếu kiến thức để cung cấp

câu trả lời cho câu hỏi miền mở, các nghiên cứu về hệ thống hỏi đáp nằm im trong vài

thập kỷ cho đến khi sự xuất hiện của các trang web. Với số lượng lớn của các dữ liệu

trên web, cần phải thực hiện các truy vấn web, do đó các nhiệm vụ về hỏi đáp lại được

tập trung nghiên cứu. Sự tập trung nghiên cứu về hỏi đáp đặc biệt tăng khi hội nghị

truy hồi văn bản (Text REtrieval Conference-Trec) bắt đầu một chủ để về hỏi đáp vào

năm 1990.

Một vài kĩ thuật từ truy hồi thông tin, xử lý ngôn ngữ tự nhiên và học máy đã

được dùng trong các hệ thống hỏi đáp. Các nghiên cứu gần đây trên các hệ thống hỏi

đáp miền mở điển hình thường dựa trên các kĩ thuật truy hồi thông tin (Information

Retrieval-IR). Các hệ thống hỏi đáp dựa trên truy hồi thông tin cố gắng tìm kiếm câu

9

trả lời cho câu hỏi bằng cách xử lý các tài liệu, thường từ web và tìm kiếm một phần

của văn bản đó có thể là câu trả lời cho câu hỏi.

Có 2 loại hệ thống hỏi đáp:

Hệ thống hỏi đáp miền đóng (Closed-domain Question Answering): hệ

thống này liên quan đến các câu hỏi trong một lĩnh vực cụ thế, chẳng hạn

như lĩnh vực y học.

Hệ thống hỏi đáp miền mở (Open-domain Question Answering): hệ thống

này liên quan đến các câu hỏi gần như về tất cả mọi thứ.

1.1.2.2. Cấu trúc của một hệ thống hỏi đáp

Có nhiều hệ thống QA đã được đưa ra, nhưng hầu hết chúng đều tuân theo một

khung làm việc chung. Thông thường, một hệ thống hỏi đáp xử lý 3 nhiệm vụ sau [6]:

xử lý câu hỏi, xử lý tài liệu và xử lý câu trả lời. Hình 1.1 dưới đây là kiến trúc tổng

quan về một hệ thống hỏi đáp.

Xử lý câu hỏi: nhiệm vụ xử lý câu hỏi thông thường bao gồm các công việc như

biểu diễn câu hỏi, dẫn xuất đến loại câu trả lời mong đợi và trích xuất từ khóa.

Phân tích được thực hiện để xây dựng cấu trúc biểu diễn câu hỏi. Thông thường,

câu trúc biểu diễn câu hỏi là một cây cú pháp hoặc một cây phụ thuộc. Sau đó

cấu trúc này được sử dụng để xác định vị trí và xác minh các câu trả lời trong

các tài liệu và đoạn văn đã được trích xuất.

Xử lý tài liệu: giai đoạn này bao gồm mở rộng từ khóa, trích chọn tài liệu, và

xác định đoạn văn liên quan. Mở rộng từ khóa là sử dụng các từ khóa được trích

xuất trong giai đoạn xử lý câu hỏi ở trên và tìm kiếm chúng trong một từ điển

đồng nghĩa hoặc các tài nguyên khác, và thêm các điều kiện tìm kiếm để lấy ra

càng nhiều tài liệu liên quan càng tốt. Ví dụ từ khóa “kill” có thể được mở rộng

thành “murder” và “assassinate”. Các tài liệu được trích chọn dựa trên các từ

khóa mở rộng. Từ đó, một đoạn hoặc một phần của mỗi tài liệu này có chứa câu

trả lời tiềm năng sẽ được xác định. Phân loại câu hỏi được sử dụng ở đây: nó có

thể xác định chiến lược tìm kiếm để tìm kiếm các ứng viên đúng. Tùy thuộc vào

các lớp câu hỏi, truy vấn tìm kiếm có thể được chuyển đổi thành một hình thức

mà là thích hợp nhất cho việc tìm kiếm câu trả lời.

10

Hình 1.1: Kiến trúc một hệ thống hỏi đáp

Xử lý câu trả lời: nhiệm vụ cuối cùng của hệ thống hỏi đáp là xử lý các ứng

viên đúng và trích xuất các cụm từ giống như là câu trả lời của câu hỏi. Phân

loại câu hỏi lại được dùng ở đây. Các ứng cử viên câu trả lời được xếp hạng

theo khả năng của mình trong việc trong cùng một lớp như lớp câu hỏi và câu

trả lời xếp hạng cao nhất sẽ được coi là câu trả lời cuối cùng của câu hỏi.

1.1.2.3. Tại sao phải phân loại câu hỏi?

Như đã nói ở trên, mặc dù các kiểu khác nhau của các hệ thống hỏi đáp tự động

có các kiến trúc khác nhau, hầu hết trong số chúng làm theo một khuôn khổ trong đó

phân loại câu hỏi giữ một vai trò quan trọng. Hơn nữa, nó có được chứng minh rằng

hiệu suất của phân loại câu hỏi có ảnh hưởng đáng kể trên hiệu suất tổng thể của hệ

thống hỏi đáp.

Về cơ bản có hai động cơ thúc đẩy chính về phân loại câu hỏi: xác định câu trả

lời và lựa chọn chiến lược tìm kiếm.

11

Xác định câu trả lời: biết được loại câu hỏi không chỉ có thể thu gọn được

không gian tìm kiếm cần tìm câu trả lời, nó còn có thể tìm kiếm chính xác câu trả lời

trong một tập lớn các ứng viên trả lời. Cho ví dụ biết được loại của câu hỏi “Who was

the president of U.S. in 1934?” có kiểu là “human”, hệ thống trả lời có thể chỉ quan

tâm đến các ứng viên là tên các thực thể có kiểu là “human” mà không cần phải kiểm

tra toàn bộ các đoạn văn bản để tìm ở đâu có thể chứa câu trả lời hoặc không.

Lựa chọn chiến lược tìm kiếm: lớp câu hỏi có thể được sử dụng để lựa chọn

chiến lược tìm kiếm khi câu hỏi được viết dưới dạng một truy vấn để tìm kiếm trên

máy tìm kiếm. Cho ví dụ đưa ra câu hỏi “What is a pyrotechnic display ?”. Xác định

được lớp của câu hỏi này là “definition”, mẫu tìm kiếm cho việc xác định câu trả lời

có thể dùng như “pyrotechnic display is a ...” or “pyrotechnic displays are ...”, nó tốt

hơn nhiều việc tìm kiếm đơn giản bởi các từ để hỏi.

1.2. Bài toán phân loại câu hỏi

1.2.1. Định nghĩa phân loại câu hỏi

Có nhiều định nghĩa khác nhau về phân loại câu hỏi, áp dụng định nghĩa phân

loại văn bản, Håkan Sundblad[6] đã đưa ra một định nghĩa phân loại câu hỏi như sau:

Phân loại câu hỏi là nhiệm vụ gán một giá trị kiểu boolean cho mỗi cặp

, trong đó Q là miền chứa các câu hỏi và { | |} là tập

các phân loại cho trước.

Cặp (qj,ci) được gán cho giá trị là T chỉ ra rằng câu hỏi qj thuộc phân loại ci và

được gán cho giá trị là F nếu qj không thuộc phân loại ci.

Trong bối cảnh học máy, nhiệm vụ của phân loại câu hỏi là làm cho hàm mục

tiêu từ chưa rõ ràng ̂ trở nên gần đúng với hàm mục tiêu lý

tưởng , như vậy ̂ và Ф trùng nhau càng nhiều càng tốt.

1.2.2. Phát biểu bài toán phân loại câu hỏi

Bài toán phân loại câu hỏi có thể được phát biểu như sau:

Input:

- Cho trước một tập các câu hỏi

- Tập các chủ đề (phân loại) được định nghĩa

Output:

- Nhãn ci của câu hỏi qj.

12

1.3. Các cáchtiếp cận bài toán phân loại câu hỏi

Theo [3,6] có 2 cách tiếp cận để phân loại câu hỏi: dựa trên luật (rule-based)và

dựa trên học máy (machine learning based). Ngoài ra, có một vài cách tiếp cận lai là sự

kết hợp của tiếp cận dựa trên luật và học máy.

1.3.1. Tiếp cận dựa trên luật

Đây là cách tiếp cận được cho là đơn giản nhất để phân loại câu hỏi. Trong cách

tiếp cận này thì việc phân loại câu hỏi dựa vào các luật ngữ pháp viết tay. Các luật này

có được là do đề xuất từ các chuyên gia. Đối với cách tiếp cận này, một loạt các biểu

thức chính quy (regular expression) được tạo ra để so khớp với câu hỏi từ đó quyết

định phân loại của câu hỏi và loại câu trả lời.

Nhóm tác giả Singhal (1999) dựa trên các quy tắc hoạt động của từ đã giới thiệu

một số luật như sau [6]:

Truy vấn bắt đầu bằng “Who” hoặc “Whom” được đưa đến loại “person”.

Truy vấn bắt đầu bằng “Where”, “Whence”, hoặc “Whither” được đưa về

loại “location”.

Truy vấn bắt đầu với “How few”, “How great”, “How little”, “How many”

hoặc “How much” được đưa về loại “quantity”.

Truy vấn bắt đầu bằng “Which” hoặc “What” thì tìm kiếm danh từ chính

(head noun) trong từ điển để xác định loại câu trả lời.

Tuy nhiên, cách tiếp nàythể hiện một số hạn chế như sau:

Sự phân loại dựa trên các luật viết gặp nhiều khó khăn và tốn nhiều thời

gian xử lý, do dựa trên kiến thức chủ quan của con người trên một tập dữ

liệu câu hỏi .

Có sự giới hạn về mức độ bao quát và phức tạp trong việc mở rộng phạm

vi của các loại câu trả lời .

Khi một phân loại mới xuất hiện, nhiều quy tắc trước đó phải được sửa đổi

hoặc viết mới hoàn toàn.

Li và Roth đã cung cấp ví dụ để chỉ ra khó khăn của cách tiếp cận dựa trên

luật.Tất cả các câu hỏi dưới đây đều có cùng một câu trả lời nhưng chúng được viết

trong những định dạng cú pháp khác nhau.

- What tourist attractions are there in Reims?

- What are the names of the tourist attractions in Reims?

- What do most tourist visit in Reims?

- What attracts tourists to Reims?

13

- What is worth seeing in Reims?

Tất cả các câu hỏi trên cùng đề cập đến một lớp trong khi chúng có định dạng cú

pháp khác nhau và do đó chúng cần so khớp với các luật khác nhau. Vì vậy với sự giới

hạn về số lượng các luật dẫn đến việckhó để phân loại.

1.3.2. Tiếp cận dựa trên học máy

Đây là cách tiếp cận được sử dụng phổ biến để giải quyết bài toán phân loại câu

hỏi.Cách tiếp cận này sẽ thay thế các kiến thức chuyên môn bằng một tập lớn các câu

hỏi được gán nhãn (tập dữ liệu mẫu).Sử dụng tập này, một bộ phân lớp sẽ được huấn

luyện có giám sát. Một số thuật toán thường được sử dụng như là: Mạng nơ-ron

(Neural NetWork), tính xác suất Naïve Bayes, Maximum Entropy , cây quyết định

(decision Tree) , lân cận (Nearest-Neighbors), Mạng lọc thưa (Sparse Network of

Winnows - SNoW), Máy Vector hỗ trợ (Support Vector machine-SVM) ... Cách tiếp

cận bằng học máy đã giải quyết được các hạn chế trong cách tiếp cận dựa trên luật.

Những thuận lợi trong cách tiếp cận này bao gồm:

Thời gian tạo dựng ngắn vì không phải tốn thời gian đề ra các luật.

ộ phân loại được tạo ra tự động thông qua việc học từ một tập dữ liệu huấn

luyện, việc cung cấp các luật giờ không cần thiết nữa.

Độ bao phủ rộng hơn, và có thể mở rộng độ bao phủ bằng cách thu được từ các

ví dụ huấn luyện.

Nếu có yêu cầu , bộ phân loại có thể tái cấu trúc lại (học lại) một cách linh hoạt

để phù hợp với quy luật mới.

Trong cuộc hội nghị TREC các nhà nghiên cứu đã phát triển một phương pháp

học máy tiếp cận để phân loại câu hỏi. Mục đích của phương pháp này là phân loại các

câu hỏi vào trong các lớp ngữ nghĩa khác nhau mà đã được gợi ý về khả năng trả lời,

để chúng có thể được sử dụng trong các giai đoạn sau của hệ thống hỏi đáp. Một trong

những giai đoạn quan trọng trong tiến trình này là việc phân tích câu hỏi đến một cấp

độ cho phép xác định “loại” câu trả lời sau khi được tìm kiếm .

Ví dụ, khi xem xét câu hỏi: What Canadian city has the largest population?, thì

mong muốn rằng phân loại câu hỏi này vào kiểu câu trả lời là location (city), điều này

ngụ ý rằng chỉ xét đến các câu trả lời có kiểu là thành phố mới cần được xem

xét.Tương tự như vậy với câu hỏi: Who discovered x-rays?nên xếp vào loại human

(individual). Như vậy, việc phân loại các câu hỏi sẽ giúp thu hẹp không gian tìm kiếm

dẫn đến việc đưa ra câu trả lời chính xác.

Cách tiếp cận bài toán phân loại câu hỏi theo phương pháp học máy được sử

dụng phổ biến hơn cả. Vấn đề phân loại câu hỏi theo phương pháp thống kê dựa trên

14

kiểu học có giám sát được đặc tả bao gồm 2 giai đoạn : giai đoạn huấn luyện và giai

đoạn phân lớp.

Giai đoạn huấn luyện:

Đầu vào: tập dữ liệu huấn luyện và thuật toán huấn luyện.

Đầu ra: mô hình phân loại (bộ phân loại – classifier)

Tập

Hình 1.2: Mô hình giai đoạn huấn luyện

Chi tiết giai đoạn huấn luyện bộ phân loại như sau (Hình 1.3):

- Tập dữ liệu huấn luyện: một tập dữ liệu huấn luyện được thu thập từ nhiều

nguồn khác nhau.

- Tiền xử lý: chuyển đổi các dữ liệu trong tập huấn luyện thành một hình thức

phù hợp để phân loại.

- Vector hóa: các câu hỏi trong tập dữ liệu cần được mã hóa bởi mô hình

không gian vector.

- Trích chọn đặc trưng: loại bỏ những từ (đặc trưng) không mang ý nghĩa

thông tin nhằm nâng cao hiệu suất phân loại và giảm độ phức tạp của thuật

toán huấn luyện.

- Thuật toán huấn luyện: Sử dụng thuật toán huấn luyện bộ phân loại để tìm ra

họ các tham số tối ưu. ước này có thể được thực thi lặp lại nhiều lần để tìm

họ các tham số tối ưu sau mỗi lần lặp.

- Đánh giá: bước này đánh giá hiệu suất (chất lượng) của bộ phân loại.

Tập dữ liệu

huấn luyện Bộ học có giám sát

Mô hình

phân lớp

15

Hình 1.3: Chi tiết giai đoạn huấn luyện

Giai đoạn phân lớp:

Sau khi đã hoàn thành giai đoạn huấn luyện, mô hình phân lớp sẽ được áp dụng

cho các văn bản mới cần phân loại.

Hình 1.4: Mô hình giai đoạn phân lớp

Đầu vào: các vector đặc trưng của câu hỏi và mô hình phân loại được sử dụng.

Đầu ra: nhãn/phân loại của câu hỏi

1.4. Biểu diễn câu hỏi

Một trong những nhiệm vụ đầu tiên trong việc xử lý phân loại câu hỏi là chọn

được một mô hình biểu diễn câu hỏi thích hợp. Tùy thuộc vào từng thuật toán phân

loại khác nhau mà chúng ta có mô hình biểu diễn riêng. Một trong những mô hình đơn

giản và thường được sử dụng là mô hình không gian vector.

Trong mô hình này, các câu hỏi được thể hiện trong một không gian có số chiều

lớn, trong đó mỗi chiều của không gian tương ứng với một từ trong câu hỏi. Phương

pháp này có thể biểu diễn một cách hình tượng như sau: mỗi câu hỏi được biểu diễn

dưới dạng ⃗ (vector đặc trưng của câu hỏi đó). Trong đó, ⃗ và n là số

Tập dữ liệu

huấn luyện Tiền xử lý Vector hóa

Trích chọn

đặc trưng

Áp dụng thuật

toán huấn luyện Đánh giá

Mô hình

phân lớp

Câu hỏi cần

phân loại Bộ phân loại

Câu hỏi đã

được phân

loại

16

lượng đặc trưng hay số chiều của vector câu hỏi, là trọng số của đặc trưng thứ i với

1.5. Taxonomy câu hỏi

1.5.1. Khái niệm về Taxonomy

Khái niệm tanonomy được sử dụng trong nhiều lĩnh vực khác nhau, vì vậy mà có

rất nhiều định nghĩa khác nhau. Trong lĩnh vực công nghệ thông tin, taxonomy được

định nghĩa như sau [2]:

Định nghĩa: Taxonomy là sự phân loại của toàn bộ thông tin trong một hệ phân

cấp theo một mối quan hệ có trước của các thực thể trong thế giới thực mà nó biểu

diễn.

1.5.2. Các taxonomytheo kiểu câu trả lời

Taxonomy theo kiểu câu trả lời có thể được chia thành 2 loại [6]: taxonomy

phẳng (flat) và taxonomy phân cấp (hierarchical). Taxonomy phẳng chỉ có duy nhất

một mức phân loại, do đó không phân loại theo đúng nghĩa của từ. Taxonomy phân

cấp bao gồm các phân loại lớn và tập các phân loại nhỏ bên trong.

Một số hệ thống (Srihari & Li 1999) sử dụng các taxonomy bắt nguồn từ các loại

được sử dụng trong các đánh giá tại Message Understanding Conference (MUC).MUC

đã phân biệt giữa các thực thể đặt tên (organization, person, và location), biểu thức

thời gian (date và time), và các biểu thức số (money và percentage).

Một giải pháp khác được sử dụng để xây dựng các taxonomy đó là sử dụng

WordNet (Fellbaum 1998).Nhóm tác giả Kim (2000) đã sử dụng cách tiếp cận này để

xây dựng một taxonomy cho 46 phân loại khác nhau về ngữ nghĩa khác nhau.

Ngoài ra còn có các taxonomy câu hỏi nổi tiếng khác sử dụng để phân loại câu

hỏi.Taxonomy được đề xuất bởi Hermjakob (2002) bao gồm 180 lớp, đó cũng là

nguyên tắc phân loại câu hỏi rộng nhất được đề xuất đến bây giờ.

Hầu hết các tiếp cận dựa trên học máy gần đây đều sử dụng taxonomy được đề

xuất bởi Li và Roth[13] từ khi các tác giả công bố một tập các giá trị là 6000 câu hỏi

đã gán nhãn. Tập dữ liệu này bao gồm hai tập riêng rẽ là 5500 và 500 câu hỏi trong đó

tập đầu tiên sử dụng như một tập dữ liệu huấn luyện và tập thứ hai sử dụng như một

tập kiểm tra độc lập. Tập dữ liệu này được xuất bản lần đầu tiên ở University of

Illinois Urbana-Champaign (UIUC), thường được gọi là tập dữ liệu UIUC và thỉnh

thoảng được coi như là tập dữ liệu TREC kể từ khi nó được mở rộng sử dụng trong hội

nghị về truy hồi thông tin (Text REtrieval Conference-TREC). Taxonomy câu hỏi do

Li và Roth đưa ragồm 2 cấp theosự phân loại ngữ nghĩa tựnhiên của câu trả lời trong

17

hội nghị TREC. Cấu trúc phân cấp bao gồm 6 lớp thô: 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ố) cùng với 50 lớp con (fine class).Mỗi lớp thô

lại chứa một tập khác nhau các lớp nhau.Taxonomy câu hỏi của Li và Roth được trình

bày trong bảng 1.1 dưới đây.

Bảng 1.1: Taxonomy câu hỏi của Li và Roth

Nhãn Định nghĩa

ABBREVIATION Dạng viết tắt

abb Dạng viết tắt

exp Ý nghĩa của từ viết tắt

ENTITY Thực thể

animal Động vật

body Các bộ phận cơ thể

color Màu sắc

creative Phát minh, sách và các sáng tạo khác

currency Tiền tệ

dis.med. Bệnh tật và y học

event Sự kiện

food Đồ ăn

instrument Dụng cụ âm nhạc

lang Ngôn ngữ

letter Chữ cái (các kí tự từ a-z)

other Các thực thể khác

plant Thực vật

product Sản phẩn

religion Tôn giáo, tín ngưỡng

sport Thể thao

substance Nguyên tố, vật chất

symbol Biểu tượng và ký hiệu

18

technique Kỹ thuật và phương pháp

term Thuật ngữ tương đương

vehicle Phương tiện giao thông

word Từ với tính chất đặc biệt

DESCRIPTION Mô tả và các khái niệm trừu tượng

definition Định nghĩa về cái gì đó

description Mô tả về cái gì đó

manner Cách thức của hành động

reason Lý do

HUMAN Con người

group Một nhóm người hoặc một tổ chức

ind Một cá nhân riêng lẻ

title Tư cách, danh nghĩa, chức vụ của một người

description Mô tả về người nào đó

LOCATION Địa điểm

city Thành phố

country Đất nước

mountain Núi

other Các địa điểm khác

state Bang, tỉnh thành

NUMERIC Giá trị số

code Mã thư tín và các mã khác

count Số lượng của cái gì đó

date Ngày tháng

distance Khoảng cách, đo lường tuyến tính

money Giá cả

order Thứ hạng

other Các số khác

19

period Khoảng thời gian

percent Phần trăm

speed Tốc độ

temp Nhiệt độ

size Kích thước, diện tích, thể tích

weight Cân nặng

Taxonomy của Li & Roth đã được sử dụng phổ biến để phân loại câu hỏi trong

hệ thống hỏi đáp.Và trong phạm vị khóa luận này em cũng sử dụng taxonomy này để

phân loại câu hỏi.

1.5.3. Phân lớp đa cấp

Theo Li và Roth [13], một khó khăn trong nhiệm vụ phân loại câu hỏi đó là

không có một ranh giới rõ ràng nào giữa các lớp. Do đó, việc phân loại một câu hỏi cụ

thể có thể khá mơ hồ. Hãy cùng xem xét ví dụ sau:

(1) What is bipolar disorder?

(2) What do bats eat?

(3) What is the PH scale?

Câu hỏi thứ nhất có thể thuộc lớp definition hoặc disease medicine; câu hỏi thứ 2

có thể thuộc lớp food, plant hoặc animal; còn câu hỏi thứ 3 có thể là numeric hoặc

definition. Với những câu hỏi như trên sẽ gặp khó khăn trong việc phân loại câu hỏi

vào một lớp duy nhất.Để giải quyết vấn đề này, với câu hỏi đơn sẽ cho phép các lớp

được gán nhiều nhãn lớp.Điều này sẽ tốt hơn so với việc chỉ cho phép gán 1 nhãn lớp

duy nhất vì ta có thể áp dụng tất cả các lớp đó trong tiến trình xử lý sau này.

Li và Roth đã xây dựng bộ phân lớp đa cấp (hình 1.5), trong suốt giai đoạn huấn

luyện, một câu hỏi sẽ được xử lý theo chiều từ trên xuống để có được phân loại.

Theo hình 1.5, ta có một bộ phân loại thô C0 = {c1, c2,…,cn}.Câu hỏi ban đầu

được phân loại bởi bộ phân loại thô Coarse_Classifiercho ra một tập các lớp thô.

C1 = Coarse_Classifier(C0) với |C1| 5, |C0| = 6

Sau đó, các nhãn của loại thô C1 được mở rộng bởi các nhãn con tương ứng.Cụ

thể, mỗi nhãn thô ci được ánh xạ vào một tập nhãn lớp con ci = {fi1, fi2,…,fim} và sau

đó được tổng hợp lại thành C2= ci.

Bộ phân lớp mịn sẽ xác định tập các nhãn lớp con

20

C3 = Fine_Classifier(C2) với |C3| 5

C1 và C3 là kết quả đầu ra được sử dụng cho quá trình tìm câu trả lời.

Hình 1.5: Bộ phân lớp đa cấp của Li và Roth

1.6. Các đặc trƣng phân loại

Trong phương pháp tiếp cận máy học, từ tập dữ liệu có sẵn ta rút ra những đặc

trưng phân loại đề từ đó đưa ra huấn luyện. Các đặc trưng này đơn giản chỉ là một

hoặc nhiều từ nằm đâu đó trong câu hỏi. Chúng không quyết định câu hỏi đó thuộc về

phân loại nào, chỉ là cơ sở để qua qua trình học dự đoán một câu hỏi thuộc về một

phân loại. Các đặc trưng trong phân loại câu hỏi có thể được chia thành 3 loại khác

nhau: các đặc trưng về từ vựng, các đặc trưng về cú pháp và các đặc trưng về ngữ

nghĩa. Sau đây là một số các đặc trưng được sử dụng phổ biến trong phân loại câu hỏi.

1.6.1. Các đặc trƣng về từ vựng

Các đặc trưng từ vựng của một câu hỏi thường được rút trích dựa trên ngữ cảnh

của các từ của câu hỏi, nghĩa là, các từ đó xuất hiện trong một câu hỏi. Trong nhiệm

vụ phân loại câu hỏi, một câu hỏi được biểu diễn giống như biểu diễn tài liệu trong mô

hình không gian vectơ, tức là, một câu hỏi là một vectơ mà được mô tả bởi các từ bên

trong nó. Do đó một câu hỏi x có thể được biểu diễn như sau:

Trong đó: xi là tần số xuất hiện của từ i trong câu hỏi x và N là tổng số các từ. Do

sự thưa thớt của các đặc trưng, chỉ các đặc trưng có giá trị khác không mới được giữ

lại trong vectơ đặc trưng. Vì vậy đôi khi các câu hỏi cũng được biểu diễn dưới hình

thức sau:

21

{ ( )}

Trong đó: ti là từ thứ i trong câu hỏi x và fi là tần số xuất hiện của ti trong câu hỏi

x. Không gian đặc trưng này được gọi là các đặc trưng bag-of-words và thứ tự của các

từ trong câu hỏi là không quan trọng trong cách biểu diễn. Việc biểu diễn các câu hỏi

theo công thức (1.2) làm cho kích thước của tập mẫu tương đối nhỏ mặc dù kích thước

của không gian đặc trưng là rất lớn. Hãy cùng xem xét câu hỏi: “How many Grammys

did Michael Jackson win in 1983 ?” được biểu diễn như trong (1.2) như sau:

x= {(How, 1), (many, 1), (Grammys, 1), (did, 1), (Michael, 1), (Jackson, 1), (win,

1), (in, 1), (1983, 1), (?,1)}

Tần số xuất hiện của các từ trong câu hỏi (các giá trị của đặc trưng) có thể được

xem như là giá trị trọng số, nó biểu thị cho tầm quan trọng của một từ trong câu hỏi.

Không gian đặc trưng bag-of-word còn được gọi là unigram.Unigram là một

trường hợp đặc biệt của các đặc trưng n-gram.Để trích xuất các đặc trưng n-gram, bất

kỳ n từ liên tiếp nhau trong một câu hỏi sẽ được xem như là một đặc trưng.Ngoài

unigram, còn có thêm 2 loại n-gram thường được sử dụng là bigram, trigram. Cụ thể:

+ Bigram: lấy lần lượt 2 từ liên tiếp nhau trong câu.

+ Trigram : lấy lần lượt 3 từ liên tiếp nhau trong câu.

Với ví dụ ở trên thì “How-many” là một đặc trưng bigram và có thể được thêm

vào vector đặc trưng.Tất cả các đặc trưng về từ vựng, cú pháp và ngữ nghĩa có thể

được thêm vào không gian đặc trưng và mở rộng vector đặc trưng trên.

Trong thực tế các vector đặc trưng vẫn có thể được biểu diễn theo (1.2), trong khi

các đặc trưng mới có thể được coi như từ loại mới. Chẳng hạn đặc trưng bigram

“How-many” có thể được xem như là một từ loại mới và cặp {(How-many,1)} sẽ được

thêm vào vector đặc trưng khi đặc trưng bigram được trích xuất. Tất nhiên điều này sẽ

làm tăng kích thước của không gian đặc trưng và các câu hỏi sẽ được biểu diễn với số

chiều cao. Ngoài ra, trong đặc trưng bigram cứ 2 từ liên tiếp trong tập dữ liệu được

xem là đặc trưng, nhưng hầu hết trong đó lại dư thừa và không hiển thị trong dữ

liệu.Vì vậy, chúng ta chỉ nên xem xét hai từ đầu tiên của một câu hỏi là đặc trưng

bigram và như vậy, kích thước của không gian đặc trưng sẽ nhỏ hơn rất nhiều. Hãy

cùng xem xét câu hỏi ví dụ “How many people in the world speak French?”, chỉ có ý

nghĩa bigram trong câu hỏi này là “How-many” trong khi các phần còn lại là không

hữu ích.

Ngoài các đặc trưng trên, nhóm tác giả Huang đã giới thiệu đặc trưng từ hỏi wh-

word.Đặc trưng wh-word được hiểu các câu hỏi bắt đầu bằng “wh”.Chẳng hạn wh-

22

word của câu hỏi “What is the longest river in the world?” là what. Đã có 8 loại wh-

word được đưa ra [15]: what, which, when, where, who, how, why, và rest, với rest

được hiểu là các loại câu hỏi còn lại không thuộc 8 loại trên. Ví dụ câu hỏi “Name a

food high in zinc” là một câu hỏi thuộc loại rest.

Nhóm tác giả Huang [15] còn giới thiệu một đặc trưng từ vựng khác là word

shapes (khuôn dạng từ). Loại đặc trưng này dùng để chỉ tính chi tiết của các đơn từ. Đã

có 5 loại đặc trưng word shapes được giới thiệu: all digits, all lower case, all upper

case, mixed case and other.

lunsom cùng các đồng nghiệp (2006) đã giới thiệu chiều dài của câu hỏi như là

đặc trưng về từ vựng. Nó đơn giản là số từ trong một câu hỏi. Bảng 1.2 dưới đây là

danh sách các đặc trưng từ vựng với câu hỏi “How many Grammys did Michael

Jackson win in 1983 ?”. Các đặc trưng được biểu diễn giống công thức (1.2).

Bảng 1.2: Danh sách các đặc trưng từ vựng của ví dụ

Feature Space Features

Unigram {(How,1) (many,1) (Grammys,1) (did,1) (Michael,1)

( Jackson,1) (win,1) (in,1) (1983,1) (?,1) }

Bigram {(How-many, 1) (many-Grammys,1) (Grammys-did,1) (did-

Michael,1) (Michael-Jackson,1) (Jackson-win,1) (win-in,1)

(in-1983,1) (1983-?,1)}

Trigram {(How-many-Grammys,1) (many-Grammys-did,1)

(Grammys-did-Michael,1) (did-Michael-Jackson,1) (Michael-

Jackson-win,1) (Jackson-win-in,1) (win-in-1983,1) (in-1983-

?,1)}

Wh-word {(How,1)}

Word-shapes {(lowercase,4) (mixed,4) (digit,1) (other,1)}

Question-length {(question-len, 10)}

1.6.2. Các đặc trƣng về cú pháp

Một vài loại đặc trưng khác có thể được trích rút từ cấu trúc cú pháp của câu

hỏi.Sau đây là các loại đặc trưng thường được sử dụng nhất.

1.6.2.1. POS Tags và Tagged Unigrams

POS tags cho biết nhãn từ loại của mỗi từ trong câu hỏi như NN (Noun- danh từ),

JJ (adjective- tính từ), RB (Adverb – trạng từ),… Ví dụ câu hỏi sau “How can I

23

register my website in Yahoo for free ?” với POS tags của nó (Các nhãn từ loại ở đây

theo hệ thống Penn Treebank):

How_WRB can_MD I_PRP register_VB my_PRP$ website_NN in_IN Yahoo_NNP

for_IN free_JJ ?_.

Việc gán nhãn từ loại (POS tags) cũng đóng một vai trò quan trọng trong việc

phân loại câu hỏi. Các danh từ trong câu hỏi đại diện cho các đối tượng hay các thực

thể cần hỏi tới. Vì thế, ta cần xác định từ loại của các từ trong câu hỏi.

Một vài nghiên cứu trong phân loại câu hỏi thêm tất cả các POS tags của câu hỏi

vào vectơ đặc trưng. Không gian đặc trưng này đôi khi được gọi như bag-of-POS tags.

Các đặc trưng bag-of-POS tags của câu hỏi trên như sau:

{(WRB,1), (MD,1), (PRP,1), (VB,1), (PRP$,1), (NN,1), (IN,1), (NNP,1), (IN,1),

(JJ,1)}

Ngoài ra, còn có một đặc trưng khác tên là tagged unigram. Đặc trưng này đơn

giản là unigrams tăng cường với POS tags. Xét tagged unigram thay vì unigrams bình

thường có thể giúp bộ phân loại phân biệt một từ với các thẻ khác như là hai đặc trưng

khác nhau. Ví dụ trên được biểu diễn với các đặc trưng tagged unigram như sau:

{(How_WRB,1), (can_MD,1), (I_PRP,1), (register_VB,1), (my_PRP$,1),

(website_NN,1), (in_IN,1), (Yahoo_NNP,1), (for_IN,1), (free_JJ,1), (?_,1)}

1.6.2.2. Từ đầu (head word)

Li và Roth đã sử dụng đặc trưng head chuck như là một đặc trưng cú pháp cho

cách tiếp cận của mình. Head chuck được định nghĩa là cụm danh từ và cụm động từ

đằng sau từ để hỏi. Ví dụ, head chuck của câu hỏi “What is the oldest city in Canada ?”

là cụm danh từ “the oldest city in Canada”.

Ngoài ra, Krishnan (2005) cũng sử dụng đặc trưng được gọi là informer

span.Đặc trưng này có thể được hiểu là một cụm từ mà cung cấp đủ thông tin để giúp

phân loại câu hỏi. Ví dụ với câu hỏi “What is the tallest mountain in the world ?” thì

informer span được xác định là “tallest mountain”.

Tuy nhiên, cả 2 cách tiếp cận này đều được chứng minh rằng chứa thông tin

nhiễu [15]. Chẳng hạn, với câu hỏi “What is a group of turkeys called ?” thì head

chuck và informer span của nó là “group of turkeys”, cụm từ này có thể hướng câu hỏi

được phân vào loại HUMAN: group trong khi loại của chúng phải là ENTY: animal.

Để giải quyết vấn đề này, nhóm tác giảHuang[15] đã đề xuất đặc trưng head

word dựa trên ý tưởng một từ trong câu hỏi đại diện cho một đối tượng cần hỏi đến.

Xác định chính xác từ đầu có thể cải thiện đáng kể độ chính xác của việc phân loại do

24

nó là từ chứa thông tin nhất trong câu hỏi. Ví dụ cho câu hỏi “What is the oldest city in

Canada ?” từ đầu là “city”. Từ “city” trong câu hỏi này có thể có đóng góp cao cho bộ

phân loại để phân loại câu hỏi này là LOC: city.

Để trích xuất head word trong một câu hỏi, một bộ phân tích cú pháp được đưa ra.

Nhiệm vụ của bộ phân tích cú pháp là phân tích một câu đưa vào thành các thành phần

như chủ từ, động từ, chủ ngữ, động ngữ, .... Kết quả trả về của bộ phân tích cú pháp sẽ

là một cây cú pháp có nút gốc là ROOT. Các nút khác là các thành phần trong câu như

đã nói trên kèm theo đó là các nhãn từ loại. Mỗi từ trong câu đóng vai trò như một nút

lá.Đối với một câu viết bằng ngôn ngữ tự nhiên là ngôn ngữ tiếng Anh, các luật ngữ

pháp tiếng Anh được sử dụng để tạo ra cây cú pháp. Một số bộ phân tích cú pháp được

giới thiệu như: Chaniak parser (Charniak and Johnson, 2005), Stanford parser (Klein

and Manning, 2003) và Berkeley parser (Petrov and Klein, 2007). Hình 1.6 dưới đây là

cây phân tích cú pháp sử dụng bộ phân tích cú pháp Berkeley với câu hỏi “What is

Australia’s national flower?”.

Hình 1.6: Cây phân tích cú pháp sử dụng bộ phân tích Berkeley

Ý tưởng của việc trích rút từ đầu từ cây cú pháp đầu tiên được giới thiệu bởi

Collins [6]. Ông đã đề xuất một vài luật, được biết như là luật Collins (Bảng 1.3), để

xác định từ đầu của một câu. Xem xét một luật ngữ pháp X → Y1...Yn trong đó X và

Yi là non-terminal trong một cây cú pháp. Một thuật toán sử dụng tập các luật có sẵn

để xác định Y1...Yn là từ đầu hoặc một cây con chứa nó. Quá trình này sẽ được lặp lại

cho đến khi một head word được tìm thấy.

Bảng 1.3: Danh sách các luật của Collins

Parent Direction Priority List

S Left VP S FRAG SBAR ADJP

SBARQ Left SQ S SINV SBARQ FRAG

25

SQ Left NP VP SQ NP

NP Right by position NP NN NNP NNPS NNS NX

PP Left WHNP NP WHADVP SBAR

WHNP Left NP

WHPP Right WHNP WHADVP NP SBAR

Thuật toán 1: Thuật toán trích xuất từ đầu của câu hỏi

procedure Extract-Question-Headword(tree, rules)

if Terminal?(tree) then

return tree

else

child ← Apply-Rules(tree, rules)

return Extract-Question-Headword(child, rules)

end if

end procedure

Áp dụng thuật toán với câu hỏi ở trên, ta tìm headword của nó như sau: bắt đầu

từ đỉnh của cây phân tích, ta có S ARQ → WHNP SQ, theo luật Collins việc tìm kiếm

được thực hiện từ trái qua phải, tìm con đầu tiên là một trong số SQ S SINV SBARQ

FRAG, như vậy con đầu tiên sẽ là SQ. Tiếp tục tìm kiếm tương tự với SQ → V Z NP

là NP. Theo luật Collins thì NP → NP JJ NN được tìm kiếm từ vị trí phải nhất, như

vậy NN sẽ là nút terminal và từ “flower” sẽ là từ đầu của câu hỏi.

Babak Loni [3] đã sửa đổi các luật Collins như trong bảng 1.4 sau:

Bảng 1.4: Danh sách luật Collins sửa đổi

Parent Direction Priority List

ROOT Left by Category S, SBARQ

S Left by Category VP, FRAG, SBAR, ADJP

SBARQ Left by Category SQ, S, SINV, SBARQ, FRAG

SQ Left by Category NP, VP, SQ

NP Right by position NP, NN, NNP, NNPS, NNS, NX

PP Left by Category WHNP, NP, WHADVP, SBAR

26

WHNP Left by Category NP, NN, NNP, NNPS, NNS, NX

WHADVP Right NP, NN, NNP, NNPS, NNS, NX

WHADJP Left by Category NP, NN, NNP, NNPS, NNS, NX

WHPP Right by position WHNP, WHADVP, NP, SBAR

VP Right by position NP, NN, NNP, NNPS, NNS, NX, SQ, PP

SINV Left by Category NP

NX Left by Category NP, NN, NNP, NNPS, NNS, NX, S

Tuy nhiên, không phải với bất kỳ câu hỏi nào thì thuật toán trên cũng trích xuất

được từ đầu chính xác. Hãy cùng xem xét cây phân tích của câu hỏi sau “Which

country are Godiva chocolates from ?”

Hình 1.7. Cây phân tích của câu hỏi “Which country are Godiva chocolates

from ?”

Nếu tuân theo quy tắc trên thì từ đầu được trích xuất là “chocolates” trong khi từ

đầu chính xác góp phần để phân câu hỏi vào loại đúng phải là “country”. Để giải quyết

vấn đề này, nhóm tác giả Silva[7] đã giới thiệu một luật có tên là non-trivial . Các luật

này được mô tả như sau:

Nếu SBARQ chứa 1 con WHXP (WHXP gồm Wh-phrases: WHNP, WHPP,

WHADJP, WHADVP) với con đó có ít nhất 2 con nữa thì cây con có đỉnh

WHXP sẽ được trả về.

Sau khi áp dụng quy tắc trên, nếu kết quả trả về là WHNP có chứa 1 con NP

với nút lá là một đại từ sở hữu (POS) thì cây con có đỉnh NP sẽ được xem

xét. Áp dụng quy tắc này với câu hỏi “What country capital’s is Tirana”sẽ

cho được kết quả từ đầu chính xác là “country”.

27

Một số trường hợp đặc biệt nếu head word của câu hỏi là một trong các từ

“name”, “type”, “kind”, “part”, “genre”, “group”, và các node anh em

của nó là PP thì cây con có đỉnh PP sẽ được trích xuất và thuật toán tiếp tục

được tiến hành. Như vậy, với câu hỏi “What is the proper name for a female

walrus” thì head word theo cách xác định ban đầu là từ “name” sẽ được xác

định lại là từ “walrus” giúp phân loại câu hỏi vào loại ENTY: animal

(Hình1.8 ).

Hình 1.8: Cây phân tích cú pháp cho câu hỏi “What is the proper name for a female

walrus”

1.6.2.3. Biểu thức chính quy

Trong thực tế, một số câu hỏi vốn không có từ đầu. Chẳng hạn như với câu hỏi

“What is biosphere ?”, không có từ đầu nào phù hợp để góp phần phân loại như là

“definition”. Vấn đề tương tự cũng xuất hiện trong câu hỏi “Why does the moon turn

orange ?”, không có các từ nào trong câu hỏi này ngoại trừ từ để hỏi giúp bộ phân loại

phân loại câu hỏi này là “reason”.

Để định nghĩa một đặc trưng thay thế cho từ đầu của câu hỏi, nhóm tác giả

Huang đã giới thiệu một vài mẫu biểu thức chính quy để ánh xạ các kiểu của câu hỏi

tới một mẫu và sau đó sử dụng mẫu tương ứng như là đặc trưng. Danh sách các mẫu

của Huang [15] như sau:

DESC:def pattern 1 Các câu hỏi bắt đầu bằng what is/are, không bắt buộc theo

sau nó là a, an, hoặc the và tiếp theo là 1 hoặc nhiều từ.

DESC:def pattern 2 Các câu hỏi bắt đầu bằng what do/does và kết thúc là mean.

ENTY:substance pattern Các câu hỏi bắt đầu là what is/are và kết thúc là

composed of/made of/made out of.

DESC:desc pattern Các câu hỏi bắt đầu với what does và kết thúc là do.

28

ENTY:term Các câu hỏi bắt đầu là what do you call.

DESC:reason pattern 1 Các câu hỏi bắt đầu là what causes/cause.

DESC:reason pattern 2 Các câu hỏi bắt đầu bằng What is/are và kết thúc là

used for.

ABBR:exp pattern Các câu hỏi bắt đầu bằng What does/do và kết thúc với stand

for.

HUM:desc pattern Các câu hỏi bắt đầu với Who is/was và theo sau nó là một từ

bắt đầu là một kí tự viết hoa.

Nếu một câu hỏi so khớp với một vài các luật trên thì đặc trưng tương ứng sẽ

được sử dụng. Biểu diễn các đặc trưng tương tự công thức (2.2), do đó tên mẫu có thể

được xem xét như là một phần tử và giá trị đặc trưng sẽ là 1 nếu câu hỏi so khớp với

một mẫu. Ví dụ cho câu hỏi “What is biosphere ?”, các đặc trưng có thể được biểu

diễn như sau:

{(DESC:def-pattern1, 1)}

1.6.3. Các đặc trƣng ngữ nghĩa

Các đặc trưng ngữ nghĩa được trích rút dựa trên ngữ nghĩa của các từ trong câu

hỏi.Chúng tôi trích rút các kiểu khác nhau của các đặc trưng ngữ nghĩa.Hầu hết các

đặc trưng ngữ nghĩa đòi hỏi nguồn dữ liệu thứ 3 như là WordNet (Fellbaum, 1998),

hoặc là một từ điển để trích rút thông tin ngữ nghĩa cho các câu hỏi.

WordNet là một kho từ vựng tiếng anh lớn, trong đó một tập hợp các từ đồng

nghĩa được nhóm lại với nhau gọi là synset.WordNet là một công cụ hữu ích để phân

tích ngữ nghĩa của từ và được sử dụng rộng rãi trong phân loại câu hỏi.

Sử dụng WordNet để phân loại câu hỏi thông qua hypernyms: Y là một

hypernyms của X nếu ý nghĩa của Y bao hàm ý nghĩa của một hoặc nhiều từ khác

cùng loại của X. Ví dụ, hypernyms của từ “city” là “municipality”, hypernyms của

“municipality” là “urban area” và cứ như vậy, cấu trúc đi từ nghĩa cụ thể đến nghĩa

khái quát hơn. Ví dụ cho một cấu trúc hypernyms của từ “capital”:

Capital -- (a seat of govement)

=>seat -- (a center of authority (as a city from which authority is exercised))

=>center, centre, middle, heart, eye -- (an are that is approximantely central

within some larger region)

=>area, country -- (a particular geographical region of indefinite boundary)

=>region -- (a large indefinite location on the surface of the Earth)

29

=>location -- (a point or extent in space)

=>object, physical object -- (a tangible and visible entity)

=>physical entity -- (an entity that has physical existence)

=>entity -- (that which is perceived or known or inferred to have its

own distinct existence)

Hypernyms cho phép biểu diễn trừu tượng hơn các từ cụ thể, nó có thể là các đặc

trưng hữu ích cho phân loại câu hỏi.Tuy nhiên trích rút hypernyms không phải dễ dàng.

Có 4 thách thức cần phải được giải quyết để đạt được các đặc trưng hypernyms:

1. Từ(các từ) nào trong câu hỏi mà chúng ta nên tìm hypernyms?

2. Đối với các từ (các từ) ứng viên, thẻ từ loại nào nên được xem xét?

3. Đối với các từ ứng viên, tăng cường với thẻ từ loại của chúng có thể có ý nghĩa

khác nhau trong WordNet. Vậy, nghĩa nào là nghĩa mà được sử dụng trong câu hỏi?

4. Để có kết quả hypernyms tốt nhất, nên xét độ sâu hypernyms là bao nhiêu?

Có 2 kịch bản khác nhau được đưa ra để giải quyết thách thức đầu tiên: xem xét

headword như là một ứng cử viên cho việc mở rộng từ hoặc mở rộng tất cả các từ

trong câu hỏi. Cách tiếp cận thứ 2 đã được chứng minh gây nhiễu thông tin và như vậy,

headword sẽ được giới thiệu như là một từ mà chúng ta nên tìm hypernyms.

Vấn đề thứ 2 được giải quyết như sau: ánh xạ nhãn từ loại của từ đầu được đưa ra

vào nhãn từ loại của nó trong Wordnet (các nhãn từ loại trong Wordnet gồm:

POS.NOUN và POS.ADJECTIVE, POS.ADVERB và POS.VERB).

Việc giải quyết câu hỏi thứ 3 thực chất là vấn đề định hướng ngữ nghĩa của từ

(word sense disambiguation-WSD).Thuật toán Lesk (Lesk, 1986) là một thuật toán cổ

điển sử dụng cho WSD. Thuật toán dựa trên giả định rằng: các từ trong bối cảnh có xu

hướng chia sẻ một chủ để phổ biến nào đó. Nhóm tác giả Huang[15] đã giới thiệu

thuật toán Lesk‟s WSD để xác định ngữ nghĩa đúng của từ.

Với câu hỏi thứ 4, Huang[15] đã chứng minh được rằng việc mở rộng hypernyms

của headword đạt kết quả tốt nhất ở mức thứ 6 của cây hypernyms.

30

Chƣơng 2: MỘT SỐ MÔ HÌNH HỌC MÁY TRONG PHÂN LOẠI CÂU HỎI

Hiện nay có rất nhiều kỹ thuật học máy được áp dụng để giải quyết bài toán

phân lớp như K láng giềng gần nhất(Nearest Neighbors - NN), Naïve Bayes (NB), cây

quyết định (Decision Tree - DT), Mạng lọc thưa (Sparse Network of Winnows -

SNoW) , Máy Vector hỗ trợ (Support Vector Machine - SVM), Mô hình entropy cực

đại (Maximum Entropy Models)…

2.1. Kiến trúc hệ thống

Đưa ra một câu hỏi, bộ phân loại của chúng tôi trích rút ra các đặc trưng từ câu

hỏi, kết hợp các đặc trưng và phân loại câu hỏi vào một trong các lớp đã được định

nghĩa trước. Giả sử rằng không gian đặc trưng kết hợp là d chiều. Một câu hỏi có thể

được biểu diễn như là x = (x1, x2, …, xd), trong đó xi là đặc trưng thứ i trong không

gian kết hợp. Bộ phân loại là một hàm trong đó ánh xạ một câu hỏi x tới một lớp ci từ

một tập các lớp C = {c1, c2, ..., cm}. Hàm này được học trên một tập dữ liệu huấn luyện

là các câu hỏi đã gán nhãn. Hình 2.1 minh họa kiến trúc tổng thể của hệ thống phân

loại câu hỏi của chúng tôi. Đầu tiên hệ thống trích rút các tập đặc trưng khác nhau từ

câu hỏi và sau đó kết hợp chúng lại. Kết hợp của các đặc trưng sẽ đưa vào bộ phân loại

huấn luyện và nó dự báo nhãn lớp có khả năng nhất.

Hình 2.1: Kiến trúc tổng quan của hệ thống phân loại câu hỏi có giám sát

2.2. Thuật toán Naïve Bayes

2.2.1. Định lý

Thuật toán Naïve Bayesdựa trên định lý Bayes được phát biểu như sau:

|

|

Trong đó:

* P(X): Xác suất của sự kiện X xảy ra, không quan tâm đến Y

* P(Y): Xác suất của sự kiện Y xảy ra, không quan tâm đến X

31

* P(X|Y): Xác suất (có điều kiện)của sự kiệnX xảy ra, nếu biết rằng sự kiệnY

xảy ra

* P(Y|X): Xác suất hậu nghiệm của Y nếu biết X

Naïve Bayes classifer là một bộ phân loại xác suất dựa trên việc ứng dụng định lý

Bayes với giả định độc lập bền vững [13]. Một Naïve ayes classifer độc lập điều kiện

giả định rằng sự hiện diện (hay không hiện diện) của một đặc trưng của một lớp học là

không liên quan đến sự có mặt (hay thiếu vắng) của bất kỳ đặc trưng nào khác. Áp

dụng cho bài toán phân loại, các dữ kiện cần có:

* D: tập dữ liệu huấn luyện đã được vector hóa dưới dạng ⃗

* Ci: phân lớp i, với i={1,2,…,m}

* Các thuộc tính x1,x2,…,xn độc lập điều kiện đôi một với nhau

Theo định lý Bayes:

| |

Theo tính chất độc lập điều kiện:

| ∏ |

| | |

Khi đó, luật phân lớp cho các tài liệu mới là:

∏ |

Trong đó:

* P(Ci): được tính dựa trên tần suất xuất hiện tài liệu trong tập huấn luyện.

* P(xk|Ci): được tính từ những tập thuộc tính đã được tính trong quá trình huấn

luyện.

2.2.2. Thuật toán

Các bước thực hiện thuật toán Naïve ayes như sau:

ước 1: Huấn luyện Naïve Bayes dựa vào tập dữ liệu:

Tính xác suất P(Ci)

Tính xác suất P(xk|Ci)

ước 2: Xnew

được gán vào lớp có giá trị lớn nhất theo công thức:

32

∏ |

Cùng xem xét một ví dụ sau: ví dụ dự đoán xem quyết định của người chơi có đi

chơi tennis hay không với các điều kiện về thời tiết đã được biết trước. Trong ví

dụ này, ta có một bảng dữ liệu huấn luyện như sau:

Bảng 2.1: Bảng dữ liệu huấn luyện của ví dụ người chơi tennis

Day Outlook Temp. Humidity Wind Playtennis

D1 Sunny Hot High Weak No

D2 Sunny Hot High Strong No

D3 Overcast Hot High Weak Yes

D4 Rain Mild High Weak Yes

D5 Rain Cool Normal Weak Yes

D6 Rain Cool Normal Strong No

D7 Overcast Cool Normal Weak Yes

D8 Sunny Mild High Weak No

D9 Sunny Cold Normal Weak Yes

D10 Rain Mild Normal Strong Yes

D11 Sunny Mild Normal Strong Yes

D12 Overcast Mild High Strong Yes

D13 Overcast Hot Normal Weak Yes

D14 Rain Mild High Strong No

ước 1:

Tính các xác suất P(Ci)

Với C1 = “yes” : P(C1) = P(“yes”) = 9/14

Với C2 = “no”: P(C2) = P(“no”) = 5/14

Tính các xác suất P(xk|Ci)

- Với thuộc tính Outlook: có các giá trị sunny, overcast, rain

P(sunny|yes) = 2/9

P(sunny|no) = 3/5

P(overcast|yes) = 4/9

33

P(overcast|no) = 0/5

P(rain|yes) = 3/9

P(rain|no) = 2/5

- Với thuộc tính Temp: có các giá trị Hot, Cold, Mild

P(hot|yes) = 2/9

P(hot|no) = 2/5

P(cold|yes) = 3/9

P(cold|no) = 1/5

P(mild|yes) = 4/9

P(mild|no) = 2/5

- Với thuộc tính Humidity: có các giá trị Normal, High

P(normal|yes) = 6/9

P(normal|no) = 1/5

P(high|yes) = 3/9

P(high|no) = 4/5

- Với thuộc tính Wind: có các giá trị Weak, Strong

P(weak|yes) = 6/9

P(weak|no) = 2/5

P(strong|yes) = 3/9

P(strong|no) = 3/5

ước 2: Phân lớp Xnew

= {sunny, cool, high, strong}

Tính các xác suất:

P(yes) * P(Xnew

|yes) = 0.005

P(no) * P(Xnew

|no) = 0.021

Vậy Xnew

thuộc vào lớp “no”

Thuật toán Naïve Bayes áp dụng cho bài toán phân loại câu hỏi nhƣ sau:

Giai đoạn huấn luyện:

Input:

- Các vector đặc trưng của câu hỏi trong huấn luyện.

- Tập nhãn/lớp cho từng vector đặc trưng của tập huấn luyện.

Output:

- Các giá trị xác suất và

34

Giai đoạn phân lớp:

Input:

- Các vector đặc trưng của câu hỏi trong huấn luyện.

- Các giá trị xác suất và (

)

Output:

- Nhãn/phân loại của câu hỏi.

Gọi P(ck|qj) là xác suất mà câu hỏi qj có khả năng thuộc vào loại ck. Theo định lý

Bayes:

( )

Thuật toán Naïve ayes được tiến hành bằng cách tính trọng số của cácđặc trưng

trong câu hỏi ứng với mỗi loại. Phương pháp entropy weighting được giới thiệu để

tính toán trọng số như sau:

Trong đó: ai là trọng số của từ i

N là tổng số phân loại

fit là tần số xuất hiện của từ i trong câu hỏi t

ni là tổng số lần xuất hiện của từ i trong tất cả các câu hỏi

Khi đó, phân loại cho một câu hỏi mới là:

Với ck là loại có xác suất hậu nghiệm lớn nhất (xác suất mà câu hỏi qj có khả

năng thuộc vào lớp ck được tính ở công thức (2.5))

Phân lớp Naïve Bayes giả định độc lập điều kiệnP(qj|ck) như sau:

∏ (

)

2.3. Thuật toán k-láng giềng gần (k- Nearst Neighbours)

Thuật toán phân lớp k-NN là một phương pháp phân loại câu hỏi dựa trên mô

hình không gian vector. Theo mô hình này, mỗi câu hỏi được biểu diễn thành một

vector: . Mỗi chiều của vector là một từ riêng biệt của câu hỏi.

35

Ý tưởng của thuật toán này như sau: Để phân loại một câu hỏi mới, thuật toán sẽ

tính khoảng cách (có thể dựa vào các công thức tính khoảng cách như Euclide, Cosine,

…) của câu hỏi này đến tất cả các câu hỏi trong tập huấn luyện để tìm ra k câu hỏi có

khoảng cách gần nhất, gọi là k nearest neighbours (k láng giềng gần). Dùng khoảng

cách này, đánh trọng số cho tất cả các chủ đề đã có.Khi đó, trọng số của một chủ đề sẽ

được tính bằng tổng các khoảng cách từ câu hỏi cần phân loại đến các câu hỏi trong k

láng giềng mà có cùng chủ đề đó.Chủ đề nào không xuất hiện trong tập k câu hỏi sẽ có

trọng số bằng 0. Sau đó, các chủ đề được sắp xếp theo độ giảm dần của các trọng số và

chủ đề có trọng số cao sẽ được chọn làm chủ đề của câu hỏi cần phân loại.

Trọng số của chủ đề Ci đối với câu hỏi d được tính như sau:

∑ ( ) ( )

Trong đó:

- KNN(d) là k láng giềng gần nhất của câu hỏi d

- ( )xác định câu hỏi djthuộc vào phân loại Ci với:

( ) {

- sim(d,dj) là độ giống nhau giữa câu hỏi cần phân loại d và câu hỏi dj. Để tính

khoảng cách này, người ta sử dụng độ đo cosin như sau:

Trong đó: là trọng số của từ đặc trưng thứ i của câu hỏi d1 và d2.

2.4. Máy Vector hỗ trợ - SVM

Giải thuật máy vector hỗ trợ SVM (Support Vector Machine) ra đời từ lý thuyết

học thống kê do Vapnik và Chervonenkis xây dựng năm 1995 [2]. Đây là một giải

thuật phân lớp có hiệu quả cao và đã được áp dụng nhiều trong lĩnh vực khai phá dữ

liệu và nhận dạng.

an đầu thuật toán SVM được thiết kế để giải quyết bài toán phân lớp nhị

phân. ài toán cơ bản như sau: Cho trước n điểm trong không gian d chiều (mỗi điểm

thuộc vào một lớp kí hiệu là +1 hoặc -1), mục đích của giải thuật SVM là tìm một siêu

phẳng (hyperplane) phân hoạch tối ưu cho phép chia các điểm này thành hai phần sao

cho các điểm cùng một lớp nằm về một phía với siêu phẳng này.Hình 2.2 dưới đây

minh họa một phân lớp với SVM trong mặt phẳng.

36

Cho tập dữ liệu huấn luyện {( với và

là một số nguyên xác định lớp của xi. Siêu phẳng tối ưu phân tập dữ

liệu này thành hai lớp là siêu phẳng có thể tách rời dữ liệu thành hai lớp riêng biệt với

lề lớn nhất. Mỗi siêu phẳng đều có thể được viết dưới dạng một tập hợp các điểm x

thỏa mãn:

Trong đó: w là một vector pháp tuyến của siêu phẳng và b đóng vai trò là tham

số của mô hình.

Để tìm được siêu phẳng phân cách có lề cực đại, xây dựng các vector hỗ trợ và

các siêu phẳng H1, H2 song song với H và có cùng khoảng cách đến H. Khi đó, với

mọi xi trong tập huấn luyện ta có 2 bất phương trình sau:

w.xi + b +1 với yi = +1

w.xi + b -1 với yi = -1

Và được viết lại như sau:

yi(w.xi + b) +1

hoặc yi(w.xi + b) - 1 0

Hình 2.2: Siêu phẳng với lề cực đại cho một SVM phân tách dữ liệu thuộc hai lớp.

Lúc này, những support vector xi thỏa mãn phương trình w.xi + b -1 thì nằm

trên siêu phẳng H1, và thỏa mãn phương trình w.xi + b +1 thì nằm trên siêu phẳng H2.

Khoảng cách lề giữa siêu phẳng H1 và H2 được tính như sau:

Gọi x0 là một điểm nằm trên siêu phẳng H và x1 là điểm nằm trên siêu phẳng H1.

Như vậy, (x0-x1)vuông góc với 2 siêu phẳng này. Các điểm này thỏa mãn hệ phương

trình sau:

37

{

Lấy hai đẳng thức của(2.12) trừ cho nhau, ta được:

Vì vuông góc với siêu phẳng H và w cũng vuông góc với siêu phẳng

H, do đó và w song song với nhau, như vậy một dữ liệu mới thêm vào thỏa

mãn:

| | ‖ ‖ ‖ ‖

Từ công thức (3.13) và (3.14) ta có được khoảng cách giữa siêu phẳng H và H1

là:

‖ ‖

‖ ‖

Tương tự như vậy, gọi x0 là một điểm nằm trên siêu phẳng H và x2 là điểm nằm

trên siêu phẳng H2. Ta có hệ phương trình sau:

{

Như vậy, khoảng cách giữa siêu phẳng H và H2 là:

‖ ‖

‖ ‖

Từ (2.15) và (2.17) suy ra, khoảng cách phân hoạch giữa siêu phẳng H1và H2là

‖ ‖.

Do đó, để có biên lớn nhất thì ‖ ‖ phải nhỏ nhất hay nói cách khác là giải bài

toán tối ưu tìm

‖ ‖ với ràng buộc gi(x)= yi(w.xi + b) 1 với i=1,2,…,n.

Để giải bài toán tối ưu tìm

‖ ‖ với ràng buộc gi(x)=yi(w.xi + b) 1

với i=1,2,…,n. Ta đưa về phương trình Lagrange, bài toán trên trở thành:

{

‖ ‖ ∑

}

Trong đó 0} là các nhân tử Lagrange. Khi đó, tất cả các

điểm không nằm trên lề nghĩa là đều không ảnh hưởng đến giá

trị hàm mục tiêu vì ta có thể chọn .

Áp dụng điều kiện Karush–Kuhn–Tucker, vector w được tính theo công thức sau:

38

Để dữ liệu có thể tách rời tuyến tính, không gian đặc trưng nên được ánh xạ vào

không gian nhiều chiều. Việc ánh xạ được thực hiện bởi một hàm hạt nhân.

Cho hàm hạt nhân trong đó có 2 điểm từ không gian đầu vào và

ánh xạ nó đến 1 số thực chỉ ra độ tương tự của nó. Với mọi điểm , hàm hạt

nhân thỏa mãn:

( ) ⟨ ( )⟩

Trong đó được ánh xạ từ không gian đầu vào X đến một điểm dữ liệu của

không gian đặc trưng H.

Để ứng dụng hàm hạt nhân trong phân lớp SVM, công thức (2.18) được viết lại

như sau:

∑∑

Với là hạt nhân đo độ tương tự giữa .

Công thức (2.21) có thể được viết lại dưới dạng sau:

∑∑

Có 4 loại hàm hạt nhân được giới thiệu: linear, popynomial, radial basis và

sigmoid. Loại đơn giản nhất là hàm hạt nhân tuyến tính cho hai câu hỏi được xác

định như sau:

( ) ∑

Áp dụng SVM vào phân loại câu hỏi

Trước khi sử dụng bộ phân loại SVM, cần chuẩn bị dữ liệu như sau:

(1) Thiết kế mô hình cây phân cấp cho tập lớp câu hỏi.

(2) Xây dựng tập dữ liệu mẫu đã được gán nhãn cho từng loại câu hỏi. Trong

bước này, cần lựa chọn đặc trưng để biểu diễn câu hỏi.

Sau khi xây dựng được tập các lớp câu hỏi cùng với tập dữ liệu sẽ tiến hành

“học”. Mô hình học như sau:

39

Hình2.3: Sơ đồ phân lớp câu hỏi với SVM

2.5. Một số thuật toán khác

Thuật toán cây quyết định (Decision Tree –DT): là phương pháp xấp xỉ giá trị

các hàm mục tiêu rời rạc. Trong đó, hàm học của phương pháp này là một cây

có bậc tùy ý. Cây quyết định bao gồm các lá và nhánh, mỗi lá là đại diện cho

một lớp và các nhánh là các điều kiện, đặc trưng dẫn đến lớp ở đỉnh lá.

Thuật toán Mạng lọc thưa (Sparse Network of Winnows -SNoW): được sử

dụngtrong việc học trên các tập dữ liệu có số lượng đặc trưng lớn. Ứng dụng

nhiều trong các bài toán phân đa lớp. Thuật toán này dùng các hàm tuyến tính là

các bộ lọc để cập nhật các tập luật. Nó thích hợp cho học trong miền khi các

đặc trưng tiềm năng tạo các quyết định sai khác nhau mà không biết mức độ ưu

tiên.

Thuật toán Maximum Entropy (ME): Đối với bài toán phân lớp dữ liệu,

Entropy cực đại là một kỹ thuật dùng để ướclượng xác suất các phân phối từ dữ

liệu. Tư tưởng chủ đạo của nguyên lý Entropy cực đại là “mô hình phân phối

đối với mỗi tập dữ liệu và tập các ràng buộc đi cùng phải đạt được độ cân bằng/

đều nhất có thể ” – (có Entropy cực đại). Tập dữ liệu được học (đã được gán

nhãn) được sử dụng để tìm ra các ràng buộc cho môhình - là cơ sở để ước lượng

phân phối cho từng lớp cụ thể. Những ràng buộc này được thể hiện bởi các giá

trị ước lượng được của các đặc trưng. Từ các ràng buộc sinh ra bởi tập dữ liệu

này, mô hình sẽ tiến hành tính toán để có được một phân phối với Entropy cực

đại [1].

2.6. Hiệu suất trong phân loại câu hỏi

Thông thường hiệu suất của bộ phân loại câu hỏi được đo bằng việc tính toán chính

xác trong đó phân loại vào một tập kiểm tra cụ thể. Độ chính xác của phân loại câu hỏi

được định nghĩa như sau:

Ngoài ra còn có hai số liệu hiệu suất lớp cụ thể: precision và recall, nó có thể được

sử dụng trong vấn đề phân loại câu hỏi. Độ chính xác (precision) và độ hồi tưởng

(recall) của một bộ phân loại trên một lớp cụ thể c được định nghĩa như sau:

40

Đối với các hệ thống trong đó một câu hỏi chỉ có thể thuộc về một lớp, một câu

hỏi được phân loại đúng nếu như nhãn dự báo là tương tự như nhãn đúng.Nhưng đối

với các hệ thống mà cho phép một câu hỏi được phân loại vào nhiều hơn một nhãn lớp,

một câu hỏi được phân loại đúng nếu một trong các nhãn lớp dự đoán là tương tự với

nhãn đúng.

2.7. Một số kết quả của các tác giả

Có nhiều thuật toán khác nhau được sử dụng cho bài toán phân loại câu hỏi, Dell

Zhang và Wee Sun Lee [14] đã tiến hành thử nghiệm năm thuật toán khác nhau theo

hướng học máy khi xây dựng bộ phân lớp câu hỏi. Năm thuật toán được nhóm tác giả

sử dụng thực nghiệm là: Nearest Neighbors (NN), Naïve Bayes (NB), Decision Tree

(DT), Sparse Network of Winnows (SNoW) và Support Vector Machine (SVM).

Thực nghiệm của nhóm tác giả cụ thể như sau:

Nguyên tắc phân loại được sử dụng trong thực nghiệm là nguyên tắc phân

loại hai lớp bao gồm 6 lớp thô và 50 lớp mịn của Li và Roth đã được trình

bày trong Bảng 1.1.

Tập dữ liệu huấn luyện và kiểm thử được cung cấp bởi USC, UIUC và

TREC. Có khoảng 5.500 câu hỏi được dán nhãn phân chia ngẫu nhiên

thành 5 tập dữ liệu huấn luyện có kích thước 1.000, 2.000, 3.000, 4.000 và

5.500 tương ứng. Tập dữ liệu này được gán nhãn thủ công. Mỗi một câu

hỏi chỉ thuộc một lớp nhất định. Tập dữ liệu kiểm thử bao gồm 500 câu

hỏi đã được gán nhãn.

Lựa chọn đặc trưng: các tác giả đã sử dụng hai đặc trưng là bag-of-words

và bag-of-ngrams trong thực nghiệm của mình.

Sau 5 lần thử nghiệm với 5 tập dữ liệu có số lượng câu hỏi khác nhau, kết quả

thực nghiệm (độ chính xác) lớn nhất đạt được là 80.2% trên phân lớp mịn với đặc

trưng được là bag-of-word (xem bảng 2.1).

Bảng 2.1: Độ chính xác của phân loại câu hỏi sử dụng các thuật toán học máy khác

nhau với đặc trưng bag-of-words trên lớp mịn

Thuật toán 1000 2000 3000 4000 5500

41

NN 57.4% 62.8% 65.2% 67.2% 68.4%

NB 48.8% 52.8% 56.5% 56.2% 58.4%

DT 67.0% 70.0% 73.6% 75.4% 77.0%

SNoW 42.2% 66.2% 69.0% 66.6% 74.0%

SVM 68.0% 75.0% 77.2% 77.4% 80.2%

Từ kết quả thực nghiệm ở trên, ta nhận thấy rằng:

Tập dữ liệu huấn luyện lớn sẽ cho ra kết quả phân loại tốt hơn.

Thuật toán SVM mang lại độ chính xác cao hơn so với các phương

pháp còn lại.

Đã có rất nhiều kết quả nghiên cứu phân loại câu hỏi trên các ngôn ngữ như

Tiếng Anh hay Tiếng Pháp. Tuy nhiên, các nghiên cứu trên ngôn ngữ Tiếng Việt thì

lại rất ít. Nhóm tác giả Phuong Le-Hong, Xuan-Hieu Phan, và Tien-Dung Nguyen [10]

đã tiến hành thực nghiệm trên tập dữ liệu gồm 1000 câu hỏi, các câu hỏi chủ yếu hỏi

về Tập đoàn FPT và được phân vào 13 phân loại thô như sau: ACTION (action),

CONC (concept), DESC (description), DTIME (datetime), EVT (event), HUM

(human), LOC (location), NET (internet), NUM (number), ORG (organization),

OTHER (other), THG (thing), YESNO (yes/no). Thuật toán mà nhóm tác giả sử dụng

là Naïve Bayes và Maximum Entropy cùng với lựa chọn sử dụng các đặc trưng:

unigrams, wh-words, typed dependencies. Kết quả của thí nghiệm được trình bày trong

bảng 2.2 dưới đây.

Bảng 2.2: Độ chính xác khi thực nghiệm với bộ dữ liệu ngôn ngữ Tiếng Việt

Đặc trƣng NB ME

Wh-words 47.5% 51.5%

Unigrams 57.6% 78.4%

Wh-words + deps 59.7% 69.6%

Unigrams + deps 58.8% 80.5%

42

Chƣơng 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ

3.1. Lựa chọn bộ phân loại

Như đã trình bày trong phần 2.7, bộ phân loại SVM được chứng minh là vượt

trội hơn so với các bộ phân loại khác.Chính vì vậy, khóa luận quyết định lựa chọn bộ

phân loại SVM để thực hiện thực nghiệm và đánh giá. Để xây dựng bộ phân loại SVM,

thư viện LI SVM được áp dụng trong quá trình huấn luyện và kiểm thử.

Lựa chọn các đặc trưng: Đã có rất nhiều các đặc trưng được giới thiệu, trong

phần thực nghiệm này, trước mắt luận văn sử dụng đặc trưng unigram và bigram để

tiến hành phân loại.

3.2. Môi trƣờng và công cụ sử dụng trong thực nghiệm

Cấu hình phần cứng, phần mềm các gói đi kèm thực nghiệm được sử dụng trong

luận văn được mô tả trong hai bảng sau đây:

Bảng 3.1: Thông tin phần cứng

STT Thành phần Chỉ số

1 CPU Intel Core i3 1.8GHZ

2 RAM 2GB

3 Hệ điều hành Windows

Bảng 3.2: Các công cụ phần mềm được sử dụng

STT Tên phần mềm Chức năng Nguồn

1 LIBSVM 3.21 Phân loại câu hỏi http://www.csie.ntu.edu.tw/

~cjlin/libsvm/

2 Eclipse Java EE Tạo môi trường để viết

chương trình xây dựng tập

tin huấn luyện

http://www.eclipse.org/dow

nloads/index-helios.php

3 Python 2.7.12 Tạo môi trường để kiểm

thử với LibSVM

https://www.python.org/dow

nloads/release/python-2712/

3.3. Tập dữ liệu thử nghiệm

Tập dữ liệu được sử dụng trong thực nghiệm được tạo ra bởi Li và Roth.Chúng

cung cấp một tập dữ liệu các câu hỏi đã được sử dụng rộng rãi trong các nghiên cứu về

phân loại câu hỏi và được biết như là tập dữ liệu UIUC hoặc tập dữ liệu TREC.Đối với

tập dữ liệu TREC cung cấp các loại câu hỏi dưới dạng các tập tin theo định dạng giống

43

như XML. Trên trang web của UIUC thì cung cấp tập tin danh sách các câu hỏi mà

trong đó các câu hỏi đã được gán nhãn phân loại sẵn. Các tập tin được sắp xếp theo thứ

tự 1000,2000, 3000, 4000 và 5500 câu hỏi đã được gán nhãn. Thêm vào đó, UIUC

cung cấp một tập tin để kiểm tra gồm 500 câu hỏi trong TREC 10.Từ đó, em quyết

định chọn tập huấn luyện dựa trên kho dữ liệu câu hỏi UIUC cho quá trình thực

nghiệm của mình.

Hình 3.1: File chứa 5500 câu hỏi ban đầu

Hình 3.2: File chứa 500 câu hỏi test

Ví dụ của một dòng dữ liệu trong tập dữ liệu UIUC:

44

HUM:ind Who was The Pride of the Yankees ?

Nguyên tắc phân loại đã được sử dụng để gán nhãn cho các câu hỏi là nguyên

tắc phân loại đã được giải thích trong chương 1.Nó bao gồm 6 lớp thô và 50 lớp mịn.

3.4. Xử lý dữ liệu

Như đã giải thích trong phần 1.4, câu hỏi được biểu diễn trong mô hình không

gian vector. Các đặc trưng trích rút từ các câu hỏi sẽ được bổ sung vào vectơ đặc trưng

với một cặp (đặc trưng, giá trị). Nếu chỉ trích rút các đặc trưng unigram, với câu hỏi

“Who was the Pride of Yankees”, công thức (1.2) sẽ được chuyển sang hình thức sau:

{(Who, 1)(was, 1)(the, 2)(Pride, 1)(of, 1)(Yankees, 1)(?, 1)}

Tuy nhiên thay vì sử dụng chuỗi, mỗi phần tử (đặc trưng) sẽ được ánh xạ tới một

số duy nhất, chỉ số đặc trưng.Hơn nữa tên của lớp cũng được ánh xạ tới một số duy

nhất. Mẫu định dạng dưới đây là tương tự bộ dữ liệu TREC, nó được chuyển qua hình

thức mà có thể được chấp nhận bởi thư viện LIBSVM.

LIBSVM là một bộ thư viện đơn giản dễ sử dụng và hiệu quả dành cho bộ phân

loại SVM. Đây là một mã nguồn mở cung cấp cho nhiều ngôn ngữ khác nhau : Java,

Python, Perl, Ruby ...

Để bắt đầu sử dụng với bộ thư viện này, ta cần phải xây dựng một tập tin huấn

luyện theo đúng dịnh dạng. Định dạng của tập tin chứa dữ liệu huấn luyện và tập tin

kiểm thử là:

<label><index1>:<value1><index2>:<value2>

Trong đó:

<label> là giá trị đích của tập huấn luyện. Đối với việc phân loại, nó là một số nguyên

xác định một lớp.

<index> là một số nguyên bắt đầu từ 1. Cụ thể trong bài toán phân loại nó đại diện cho

các đặc trưng.

<value> là một số thực. Giá trị này thể hiện mức độ liên quan của đặc trưng đối với

một phân loại nằm trong khoảng [-1,1]. Do các đặc trưng trong phân loại câu hỏi đều

là đặc trưng nhị phân nên lúc huấn luyện giá trị này sẽ là 1.

Câu hỏi “Who was the Pride of Yankees” sẽ được chuyển thành như sau:

44 1:1 15:2 24:2 98:1 235:1 1934:1 4376:1

ở đó số đầu tiên (44) cho biết số của lớp và các cặp còn lại (đặc trưng, giá trị) được

phân cách bởi một khoảng trống trong khi trong mỗi cặp được phân cách bởi dấu hai

chấm (:). Hơn nữa các cặp đặc trưng này nên được sắp xếp theo thứ tự tăng dần của số

các đặc trưng.

45

Khi tất cả các tập dữ liệu huấn luyện và kiểm tra được chuyển về định dạng như

trên, sau đó thực hiện huấn luyện bộ phân loại với tập dữ liệu huấn luyện và kiểm tra

lại nó trên tập dữ liệu kiểm tra độc lập.

Ngôn ngữ Java được sử dụng để chuyển đổitừ dữ liệu ban đầu (Hình 3.1 và 3.2)

sang thành định dạng có thể đọc được bởi LIBSVM. Đầu tiên, file dữ liệu tải về được

tách thành 2 file: 1 file chứa nhãn và câu hỏi của tập thô, 1 file chứa nhãn và câu hỏi

của tập mịn. Hình 3.3 và 3.4 là kết quả tách file của tập chứa 5500 câu hỏi. Thực hiện

tương tự với file chứa dữ liệu test.

Hình 3.3: File chứa 5500 nhãn và câu hỏi của tập thô

46

Hình 3.4: File chứa 5500 nhãn và câu hỏi của tập mịn

Sau đó, từ file ở trên (dữ liệu thô hoặc dữ liệu mịn) sẽ được tách thành 2 file: 1

file chỉ chứa câu hỏi và 1 file chứa nhãn <label> đã được đánh số. Hình 3.5 và 3.6 là

kết quả tách file của tập dữ liệu huấn luyện. Thực hiện tương tự với tập dữ liệu test.

Hình 3.5: File chứa 5500 câu hỏi huấn luyện

47

Hình 3.6: Nhãn tương ứng của 5500 câu hỏi

Từ đó, với các file kết quả thu được, sử dụng các đặc trưng bag of word thực

hiện đưa về định dạng đọc được bởi thư viện LIBSVM. Hình 3.7 và 3.8 là file kết quả

sử dụng đặc trưngbigram trên tập mịncủa tập dữ liệu huấn luyện và tập dữ liệu test.

Hình 3.7: File kết quả đưa về định dạng đọc được bởi thư viện LIBSVM sử dụng đặc

trưng bigram trên tập mịn của tập train.

48

Hình 3.8: File kết quả đưa về định dạng đọc được bởi thư viện LIBSVM sử dụng đặc

trưng bigram trên tập mịn của tập test.

3.5. Huấn luyện và kiểm thử với LibSVM

Sau khi có file với định dạng được chấp nhận bởi thư viện LIBSVM, thực hiện

huấn luyện và test. Trong giai đoạn này, khóa luận sử dụng ngôn ngữ lập trình Python

để thực hiện vì tính đơn giản và tiện lợi. Cụ thể như sau:

- Load thư viện Libsvm :

from svmutil import *

- Đọc dữ liệu:

Load dữ liệu huấn luyện: yTrain là tập nhãn lớp, xTrain sẽ là dữ liệu để train

yTrain, xTrain = svm_read_problem('train_5000_fine_unigram.txt')

Load dữ liệu test: yTest là tập nhãn lớp, xTest sẽ là dữ liệu để test

yTest, xTest = svm_read_problem('TREC_10_fine_unigram.txt')

- Xây dựng mô hình phân lớp:

m = svm_train(yTrain, xTrain, '-t 0 -h 0')

Ở đây, tham số „-t 0‟ chỉ loại hàm nhân được lựa chọn là tuyến tính (Linear),

tham số „-h 0‟ tức là không dùng tính năng co lại khoảng cách giữa các lớp

49

- Phân loại câu hỏi dựa trên dữ liệu test và mô hình thu được ở trên:

p_label, p_acc, p_val = svm_predict(yTest, xTest, m)

Kết quả thu được là p_label: danh sách các nhãn dự đoán của từng câu hỏi, p_acc

là độ chính xác của phân lớp

3.6. Kết quả thực nghiệm

Độ chính xác phân loại sau khi thử nghiệm với bộ phân loại SVM, lựa chọn đặc

trưng unigram, bigram, sử dụng cách tính trọng số entropy như sau:

Bảng 3.3: Độ chính xác phân loại trên tập thô với đặc trưng unigram và bigram

Đặc trƣng Độ chính xác

Unigram 88,2%

Bigram 85,6%

Bảng 3.4: Độ chính xác phân loại trên tập mịn với đặc trưng unigram và bigram

Đặc trƣng Độ chính xác

Unigram 80,2%

Bigram 73,8%

3.7. Kết luận

Như vậy, sau khi thực nghiệm đánh giá bộ phân loại SVM sử dụng 2 đặc trưng

unigram và bigram, nhận thấy rằng kết quả phân loại đạt được với độ chính xác khá

cao (80.2% trên tập mịn). Đặc trưng unigram cho kết quả phân loại cao hơn đặc trưng

bigram.

50

TỔNG KẾT

Phân loại câu hỏi là một vấn đề khó.Thực tế là máy cần phải hiểu được câu hỏi

và phân loại nó vào loại chính xác.Điều này được thực hiện bởi một loạt các bước

phức tạp.Luận văn này đã trình bày các kiến thức cơ bản của bài toán phân loại câu hỏi

và giới thiệu một số thuật toán để giải quyết bài toán phân loại.Tuy nhiên, luận văn chỉ

mang tính tìm hiểu và ứng dụng cái đã có, không có đề xuất hay cải tiến gì để làm tăng

độ chính xác phân loại. Ngoài ra, luận văn chỉ thực nghiệm trên ngôn ngữ Tiếng Anh

mà chưa mở rộng thực nghiệm sang ngôn ngữ Tiếng Việt.

Trong tương lai gần, hướng phát triển trước mắt của luận văn là cần tìm hiểu và

kết hợp các đặc trưng khác để làm tăng độ chính xác phân loại.Thực hiện phân loại

trên nhiều ngôn ngữ hơn nữa.

51

TÀI LIỆU THAM KHẢO

Tiếng Việt

1. Nguyễn Minh Tuấn (2008), Phân lớp câu hỏi hướng tới tìm kiếm ngữ nghĩa

Tiếng Việt trong lĩnh vực y tế, Khóa luận tốt nghiệp đại học, Trường Đại học

Công Nghệ, Đại học Quốc gia Hà Nội.

2. Nguyễn Đức Vinh (2009),Phân tích câu hỏi trong hệ thống hỏi đáp Tiếng

Việt,Khóa luận tốt nghiệp đại học, Trường Đại học Công Nghệ, Đại học Quốc gia

Hà Nội.

Tiếng Anh

3. Babak Loni (2011),Enhanced Question Classification with Optimal Combination

of Features,Department of Media and Knowledge Engineering Delft University

of Technology.

4. Caixian Chen, Huijian Han, Zheng Liu (2014), KNN question classification

method based on Apriori algorithm,

5. Donald Metzler and W. Bruce Croft (2004), Analysis of Statistical Question

Classification for Fact-based Questions, University of Massachusetts, Amherst.

6. Håkan Sundblad (2007), Question Classification in Question Answering Systems,

Linköping.

7. Jo˜ao Silva, Lu´ısa Coheur, Ana Mendes, and Andreas Wichert. From symbolic

to subsymbolic information in question classification.Articial Intelligence

Review, 35(2):137–154, February 2011.

8. LI Xin, HUANG Xuan-Jing, WU Li-de (2006), Question Classification by

Ensemble Learning,Dep. of Computer Science and Engineering, FUDAN Univ.,

Shanghai, PRC.

9. Marcin Skowron and Kenji Araki (2005), “Effectiveness of Combined features

for machine learning based question classification”, Journal of Natural Language

Processing, Vol.12, No.6.

10. Phuong Le-Hong, Xuan-Hieu Phan, and Tien-Dung Nguyen (2014), Using

Dependency Analysis to Improve Question Classification

11. Rishika Yadav, Megha Mishra (2013), “Question Classification Using Naïve

ayes Machine Learning Approach”, International Journal of Engineering and

Innovative Technology (IJEIT), Volume 2, Issue 8.

52

12. V.Vapnik (1995),The Nature of Statistical Learning Theory,NewYork.

13. Xin Li, Dan Roth (2002), Learning Question Classifiers, In Proceedings of the

19th international conference on Computational Linguistics, 1, Taipei, Taiwan,

pp. 1–7. Association for Computational Linguistics.

14. Zhang, D. & Lee, W.S. (2003), Question Classification Using Support Vector

Machines, In Proceedings of the 26th Annual International ACM SIGIR

Conference on Research and Development in Information Retrieval, Toronto,

Canada, pp. 26-32.

15. Zhiheng Huang, Marcus Thint, Zengchang Qin (2008), Question Classification

Using Head Words and Their Hypernyms, In Proceedings of the Conference on

Empirical Methods in Natural Language Processing, Honolulu, Hawaii,

Association for Computational Linguistics, pp. 927–936.

53

PHỤ LỤC

Danh sách các nhãn từ loại trong hệ thống Penn Treebank

(http://www.surdeanu.info/mihai/teaching/ista555-

spring15/readings/PennTreebankConstituents.html#Clause )

Clause Level

STT Mệnh đề Giải thích

1 S Simple declarative clause, i.e. one that is not introduced by a

(possible empty) subordinating conjunction or a wh-word and that

does not exhibit subject-verb inversion.

2 SBAR Clause introduced by a (possibly empty) subordinating conjunction.

3 SBARQ Direct question introduced by a wh-word or a wh-phrase. Indirect

questions and relative clauses should be bracketed as SBAR, not

SBARQ

4 SINV Inverted declarative sentence, i.e. one in which the subject follows

the tensed verb or modal.

5 SQ Inverted yes/no question, or main clause of a wh-question, following

the wh-phrase in SBARQ.

Phrase Level

STT Mệnh đề Giải thích

1 ADJP Adjective Phrase.

2 ADVP Adverb Phrase.

3 CONJP Conjunction Phrase.

4 FRAG Fragment.

5 INTJ Interjection. Corresponds approximately to the part-of-speech tag

UH.

6 LST List marker. Includes surrounding punctuation.

7 NAC Not a Constituent; used to show the scope of certain prenominal

modifiers within an NP.

8 NP Noun Phrase.

9 NX Used within certain complex NPs to mark the head of the NP.

Corresponds very roughly to N-bar level but used quite differently.

10 PP Prepositional Phrase.

11 PRN Parenthetical.

12 PRT Particle. Category for words that should be tagged RP.

13 QP Quantifier Phrase (i.e. complex measure/amount phrase); used

54

within NP.

14 RRC Reduced Relative Clause.

15 UCP Unlike Coordinated Phrase.

16 VP Vereb Phrase.

17 WHADJP Wh-adjective Phrase. Adjectival phrase containing a wh-adverb, as

in how hot.

18 WHAVP Wh-adverb Phrase. Introduces a clause with an NP gap. May be null

(containing the 0 complementizer) or lexical, containing a wh-

adverb such as how or why.

19 WHNP Wh-noun Phrase. Introduces a clause with an NP gap. May be null

(containing the 0 complementizer) or lexical, containing some wh-

word, e.g. who, which book, whose daughter, none of which, orhow

many leopards.

Word Level

STT Từ loại Giải thích

1. CC Coordinating conjunction

2. CD Cardinal number

3. DT Determiner

4. EX Existential there

5. FW Foreign word

6. IN Preposition or subordinating conjunction

7. JJ Adjective

8. JJR Adjective, comparative

9. JJS Adjective, superlative

10. LS List item marker

11. MD Modal

12. NN Noun, singular or mass

13. NNS Noun, plural

14. NP Proper noun, singular

15. NPS Proper noun, plural

16. PDT Predeterminer

17. POS Possessive ending

55

18. PP Personal pronoun

19. PP$ Possessive pronoun

20. RB Adverb

21. RBR Adverb, comparative

22. RBS Adverb, superlative

23. RP Particle

24. SYM Symbol

25. TO to

26. UH Interjection

27. VB Verb, base form

28. VBD Verb, past tense

29. VBG Verb, gerund or present participle

30. VBN Verb, past participle

31. VBP Verb, non-3rd person singular present

32. VBZ Verb, 3rd person singular present

33. WDT Wh-determiner

34. WP Wh-pronoun

35. WP$ Possessive wh-pronoun

36. WRB Wh-adverb