Tải bản đầy đủ (.pdf) (49 trang)

Làm giàu các đặc trưng cho bài toán phân lớp câu hỏi

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.66 MB, 49 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ





NGUYỄN THẾ LỘC




LÀM GIÀU CÁC ĐẶC TRƯNG
CHO BÀI TOÁN PHÂN LỚP CÂU HỎI




Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60 48 05




TÓM TẮT LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN









Hà Nội - 2012
3

Mục lục
Lời cảm ơn 1
Lời cam đoan 2
Mục lục 3
Danh mục các ký hiệu và chữ viết tắt 5
Danh mục các bảng 6
Danh mục các hình vẽ, đồ thị 7
MỞ ĐẦU 8
Chƣơng 1. GIỚI THIỆU 9
1.1. Hệ thống hỏi đáp tự động 9
1.1.1. Giới thiệu 9
1.1.2. Một số vấn đề cần quan tâm 10
1.1.3. Kiến trúc hệ thống 10
1.2. Bài toán phân lớp câu hỏi 11
1.2.1. Giới thiệu 11
1.2.2. Taxonomy câu hỏi 12
1.3. Mục tiêu của luận văn 15
Chƣơng 2. CƠ SỞ LÝ THUYẾT 17
2.1. Các loại đặc trƣng của câu hỏi 17
2.1.1. Đặc trƣng từ vựng 17
2.1.2. Đặc trƣng cú pháp 17
2.1.3. Đặc trƣng ngữ nghĩa 19
2.2. Mô hình biểu diễn câu hỏi 20
2.2.1. Phƣơng pháp biểu diễn Boolean 21

2.2.2. Các phƣơng pháp biểu diễn dựa trên tần số 21
2.3. Một số phƣơng pháp phân lớp câu hỏi 23
2.3.1. Máy véc-tơ hỗ trợ (Support Vector Machine) 25
2.3.2. Cực đại hóa Entropy (Maximum Entropy) 25
2.4. Xây dựng bộ phân lớp câu hỏi 26
2.4.1. Mô hình phân lớp câu hỏi 26
4

2.4.2. Trích chọn đặc trƣng cho phân lớp câu hỏi 27
2.5. Mô hình phân tích chủ đề ẩn 29
2.5.1. Giới thiệu về LDA 29
2.5.2. Phân tích chủ đề ẩn với LDA 29
2.5.3. Ví dụ một số chủ đề ẩn đƣợc sinh ra bởi LDA 32
Chƣơng 3. LÀM GIÀU ĐẶC TRƢNG CHO CÂU HỎI 34
3.1. Ý tƣởng của phƣơng pháp làm giàu 34
3.2. Phƣơng pháp làm giàu đặc trƣng 35
3.3. Cài đặt thuật toán cho phƣơng pháp 36
3.3.1. Lấy dữ liệu từ Internet 36
3.3.2. Lựa chọn các chủ đề ẩn 37
3.3.3. Làm giàu các câu hỏi 38
Chƣơng 4. THỰC NGHIỆM VÀ ĐÁNH GIÁ 39
4.1. Môi trƣờng thực nghiệm 39
4.1.1. Phần cứng 39
4.1.2. Phần mềm 39
4.2. Dữ liệu thực nghiệm 40
4.3. Các bƣớc tiến hành thực nghiệm 41
4.4. Kết quả thực nghiệm 44
4.4.1. Phân lớp với tập dữ liệu ban đầu 44
4.4.2. Phân lớp với tập dữ liệu đã đƣợc làm giàu 45
4.5. Đánh giá 46

KẾT LUẬN 48
TÀI LIỆU THAM KHẢO 49


5

Danh mục các ký hiệu và chữ viết tắt
STT
Ký hiệu/Viết tắt
Diễn giải
1
TF
Term Frequency – Tần suất của từ
2
IDF
Inverse Document Frequency – Tần suất nghịch đảo tài liệu
3
SVM
Support Vector Machines – Máy Véc-tơ hỗ trợ
4
kNN
k-Nearest Neighbor – k láng giềng gần nhất
5
LDA
Latent Dirichlet Allocation
6
POS
Part of speech – từ loại
7
Q&A

Hệ thống hỏi đáp tự động

6

Danh mục các bảng
Bảng 1.1. Taxonomy câu hỏi 14
Bảng 2.1. Ví dụ các đặc trƣng từ vựng 17
Bảng 2.2. Head word của câu hỏi 18
Bảng 2.3. Mô hình sinh trong LDA 30
Bảng 2.4. Chủ đề ẩn số 35 32
Bảng 2.5. Chủ đề ẩn số 48 33
Bảng 2.6. Chủ đề ẩn số 3 33
Bảng 4.1. Phân bố câu hỏi theo taxonomy 40
Bảng 4.2. Chủ đề ẩn số 35, lớp ENTY:color 42
Bảng 4.3. Chủ đề ẩn số 48, lớp ENTY:animal 43
Bảng 4.4. Chủ đề ẩn số 3, lớp ENTY:currency 43
Bảng 4.5. Kết quả phân lớp theo từng lớp câu hỏi với dữ liệu ban đầu 44
Bảng 4.6. Kết quả phân lớp theo từng lớp câu hỏi với dữ liệu đã làm giàu 45
Bảng 4.7. So sánh kết quả phân lớp của hai thử nghiệm 46

7

Danh mục các hình vẽ, đồ thị
Hình 1.1. Kiến trúc chung của hệ thống hỏi đáp 10
Hình 2.1. WordNet Hypernyms ngữ nghĩa mức 3 của từ “capital” 19
Hình 2.2. Lƣợc đồ chung xây dựng bộ phân lớp 24
Hình 2.3. Mô hình bộ phân lớp đa cấp của Li và Roth 27
Hình 2.4. Minh họa mô hình sinh trong LDA 30
Hình 3.1. Mô hình làm giàu câu hỏi 35
Hình 4.1. Các bƣớc tiến hành thực nghiệm 41


8

MỞ ĐẦU
Hệ thống hỏi đáp tự động đã nhận đƣợc sự quan tâm đặc biệt của các nhà
nghiên cứu, các công ty (Yahoo, Google, Microsoft, IBM…), các hội nghị lớn về
trích chọn thông tin, xử lý ngôn ngữ tự nhiên (TREC, CLEF, ACL, ) và đã đạt
đƣợc những kết quả nhất định. Quy trình hoạt động của một hệ thống hỏi đáp tự động
có nhiều bƣớc, trong đó bƣớc phân lớp câu hỏi đóng một vai trò hết sức quan trọng
trong việc giảm không gian tìm kiếm và tăng độ chính xác của kết quả tìm kiếm. Đã có
rất nhiều nghiên cứu nhằm tăng chất lƣợng bộ phân lớp câu hỏi, có thể kể đến những
nghiên cứu của Xin Li và Dan Roth (University of Illinois at Urbana-Champaign) [1],
Zhiheng Huang và Zengchang Qin (University of California at Berkeley) [2], Olalere
Williams (Stanford University) [3]…, trong đó Xin Li và Dan Roth là những ngƣời đầu
tiên nghiên cứu về vấn đề này. Các kết quả đạt đƣợc cũng phần nào thỏa mãn yêu cầu
của một hệ thống hỏi đáp tự động mặc dù độ chính xác phân lớp chƣa thực sự cao.
Chính vì vậy, việc cải thiện chất lƣợng bộ phân lớp là hết sức cần thiết.
Luận văn này sẽ tập trung vào cải thiện chất lƣợng bộ phân lớp câu hỏi. Phƣơng
pháp chủ đạo đƣợc tác giả sử dụng trong luận văn này đó là làm giàu đặc trƣng ngữ
nghĩa cho các câu hỏi.
Ngoài phần mở đầu và phần kết luận, luận văn đƣợc tổ chức thành 4 chƣơng
nhƣ sau:
o Chƣơng 1: “Giới thiệu” trình bày tổng quan về kiến trúc của một hệ thống
hỏi đáp tự động. Từ đó xác định bài toán phân lớp câu hỏi là bài toán quan
trọng mà luận văn tập trung vào. Mục tiêu cụ thể của luận văn cũng đƣợc
trình bày trong chƣơng này.
o Chƣơng 2: “Cơ sở lý thuyết” giới thiệu cơ sở lý thuyết về phân lớp câu hỏi
bao gồm: các loại đặc trƣng câu hỏi, các mô hình cơ bản để biểu diễn câu
hỏi, một số phƣơng pháp phân lớp câu hỏi phổ biến và xây dựng bộ phân
lớp câu hỏi. Chƣơng này cũng giới thiệu mô hình phân tích chủ đề ẩn với

LDA (Latent Dirichlet Allocation).
o Chƣơng 3: “Làm giàu đặc trƣng cho câu hỏi” trình bày ý tƣởng và
phƣơng pháp làm giàu đặc trƣng câu hỏi.
o Chƣơng 4: “Thực nghiệm và đánh giá” trình bày quá trình thử nghiệm
của luận văn và đƣa ra một số đánh giá, nhận xét các kết quả đạt đƣợc.


9

Chƣơng 1. GIỚI THIỆU
1.1. Hệ thống hỏi đáp tự động
1.1.1. Giới thiệu
Hệ thống hỏi đáp tự động có thể coi nhƣ một lựa chọn thứ hai bên cạnh hệ
thống trích chọn thông tin (máy tìm kiếm) khi ngƣời dùng muốn tìm kiếm thông tin
mà họ quan tâm. Hệ thống trích chọn thông tin nhận đầu vào là các từ khóa và trả về
tập các tài liệu liên quan (có chứa các từ khóa đó). Kết quả mà hệ thống trích chọn
thông tin trả lại cho ngƣời dùng là rất lớn, có thể lên đến hàng nghìn trang web mà
phần nhiều không chứa thông tin ngƣời dùng mong muốn. Trong khi đó, hệ thống
hỏi đáp nhận đầu vào là câu hỏi dƣới dạng ngôn ngữ tự nhiên của ngƣời dùng, trả
lại các đoạn văn bản ngắn (các snippet) chứa câu trả lời trực tiếp cho câu hỏi [4].
Nghiên cứu về hệ thống hỏi đáp tự động hiện đang thu hút sự quan tâm của rất
nhiều các nhà nghiên cứu từ các trƣờng đại học, các viện nghiên cứu và cả các doanh
nghiệp lớn trong ngành công nghệ thông tin, có ý nghĩa khoa học lẫn ý nghĩa thực tế.
Rất nhiều các hội nghị thƣờng niên về khai phá dữ liệu, trích chọn thông tin dành một
chủ đề riêng cho các nghiên cứu về hệ thống hỏi đáp nhƣ TREC1, CLEF2…
Xây dựng hệ thống hỏi đáp là một bài toán khó thuộc lĩnh vực xử lý ngôn ngữ
tự nhiên. Chúng ta biết rằng ngôn ngữ tự nhiên vốn nhập nhằng, đa nghĩa, việc xác
định đƣợc ngữ nghĩa của câu hỏi cũng nhƣ phát hiện ra câu trả lời là một thách thức
không nhỏ. Không những vậy, giữa câu hỏi và câu trả lời còn tồn tại các quan hệ
“ngầm” hay phụ thuộc vào ngữ cảnh.

Ví dụ câu hỏi: “Ai là tác giả Nhật ký trong tù ?”
Câu trả lời: “ Hồ Chí Minh viết Nhật ký trong tù trong thời gian Ngƣời bị chính
quyền Tƣởng Giới Thạch bắt giam và giải đi khắp các nhà giam ở Quảng Tây, Trung
Quốc.”
Để tìm đƣợc câu trả lời cho câu hỏi “Ai là tác giả của Nhật ký trong tù ?”, hệ
thống cần có cơ chế để biết đƣợc rằng “tác giả của một tác phẩm là ngƣời viết tác
phẩm đó” hoặc cần học đƣợc các mẫu thƣờng gặp của câu trả lời (các mẫu về ngày
tháng năm sinh, về thời gian, địa chỉ….) tƣơng ứng với từng loại câu hỏi. Các hệ thống
hỏi đáp hiện nay sử dụng các công cụ xử lý ngôn ngữ tự nhiên nhƣ bộ gán nhãn từ loại
(POS Tagger), bộ nhận dạng thực thể định danh (Named Entity Recognizer), bộ phân
tích ngữ pháp (Parser)… và các tài nguyên ngôn ngữ nhƣ Wordnet [5], ontology [6] để
phân tích câu hỏi và trích xuất câu trả lời.
10

1.1.2. Một số vấn đề cần quan tâm
Năm 2002, John Burger và cộng sự [7] đã đƣa ra một số vấn đề cần quan tâm
khi xây dựng một hệ th ống hỏi đáp nhƣ sau:
 Loại câu hỏi: Đầu vào của hệ thống hỏi đáp là câu hỏi của ngƣời dùng dƣới
dạng ngôn ngữ tự nhiên. Câu hỏi trong ngôn ngữ tự nhiên rất đa dạng, nhiều ẩn
ý, nhiều nhập nhằng và phụ thuộc vào ngữ cảnh hỏi. Một số loại câu hỏi đang
đƣợc quan tâm trong hệ hống hỏi đáp nhƣ câu hỏi về sự vật, sự kiện, định
nghĩa, danh sách, quá trình, cách thức, lý do… Mỗi loại câu hỏi có những đặc
trƣng và khó khăn riêng, đòi hỏi phải có các chiến lƣợc để trả lời chúng.
 Xử lý câu hỏi: Một câu hỏi có thể đƣợc diễn đạt bằng nhiều cách khác nhau. Vì
thế, việc xử lý câu hỏi là xác định đƣợc các câu hỏi tƣơng tự, các quan hệ ngữ
pháp, loại câu hỏi, đồng thời có thể chuyển một câu hỏi phức tạp thành chuỗi
các câu hỏi đơn giản hơn.
 Ngữ cảnh: Câu hỏi thƣờng đƣợc gắn với ngữ cảnh và câu trả lời cũng đƣợc đƣa
ra trong một ngữ cảnh xác định. Việc sử dụng các thông tin về ngữ cảnh giúp hệ
thống hỏi đáp hiểu câu hỏi một cách rõ ràng, loại bỏ đƣợc các nhập nhằng và

tăng tính chính xác khi trả lời câu hỏi.
 Nguồn dữ liệu: một hệ thống hỏi đáp cho dù có hoạt động thông minh đến đâu
cũng không thể tìm đƣợc chính xác câu trả lời nếu nhƣ câu trả lời đó không
nằm trong tập dữ liệu. Chính vì thế, hệ thống hỏi đáp cần phải có nguồn dữ liệu
phong phú, có thể là sách, báo chí hay các trang web. Tuy nhiên, cần đảm bảo
nguồn dữ liệu có độ tin cậy và thông tin chính xác cao.
 Trích xuất câu trả lời: Việc trích xuất câu trả lời phụ thuộc vào nhiều yếu tố: độ
phức tạp của câu hỏi, loại câu hỏi có đƣợc từ quá trình xử lý câu hỏi, dữ liệu
chứa câu trả lời, phƣơng pháp tìm kiếm và ngữ cảnh, Câu trả lời cho ngƣời
dùng cần phải đảm bảo chính xác và đầy đủ.
1.1.3. Kiến trúc hệ thống
Các hệ thống hỏi đáp hiện nay có kiến trúc khác nhau tùy thuộc vào loại hệ
thống hỏi đáp. Tuy nhiên các hệ thống hỏi đáp đều bao gồm ba bƣớc cơ bản nhƣ Hình
1.1 [8]. Sự khác nhau giữa các hệ thống hỏi đáp là ở quá trình xử lý trong từng bƣớc,
đặc biệt là ở cách tiếp cận trong việc xác định câu trả lời.

Hình 1.1. Kiến trúc chung của hệ thống hỏi đáp
11

Bƣớc 1 - Phân tích câu hỏi: Đây là bƣớc đầu tiên của hệ hỏi đáp. Đầu vào là
câu hỏi dƣới dạng ngôn ngữ tự nhiên. Tại bƣớc này, hệ thống phân tích câu hỏi để tạo
truy vấn cho bƣớc trích chọn tài liệu liên quan và tìm ra những thông tin hữu ích cho
bƣớc trích xuất câu trả lời. Có 2 bài toán ở bƣớc này, đó là bài toán cải thiện truy vấn
(query reformation) và bài toán phân lớp câu hỏi (question classification). Vai trò của
bài toán phân lớp câu hỏi là rất quan trọng, và đây chính là mục tiêu mà luận văn
hƣớng tới để làm tăng độ chính xác cho bộ phân lớp câu hỏi, từ đó làm tăng chất lƣợng
của hệ thống hỏi đáp.
Bƣớc 2 - Thu thập tài liệu: Bƣớc này sử dụng câu truy vấn đƣợc tạo ra ở bƣớc
phân tích câu hỏi, truy vấn trên các công cụ tìm kiếm để tìm các tài liệu phục vụ cho
việc tìm kiếm câu trả lời.

Bƣớc 3 - Trích xuất câu trả lời: Bƣớc này phân tích tập tài liệu đã thu thập
đƣợc ở bƣớc 2 và sử dụng các thông tin hữu ích do bƣớc phân tích câu hỏi cung cấp để
tìm kiếm, trích chọn và đƣa ra câu trả lời chính xác nhất cho câu hỏi của ngƣời dùng.
1.2. Bài toán phân lớp câu hỏi
1.2.1. Giới thiệu
Phân lớp câu hỏi là quá trình gán một hay nhiều nhãn lớp (tùy thuộc vào chiến
lƣợc phân lớp) cho một câu hỏi theo dạng ngôn ngữ tự nhiên.
Bài toán phân lớp câu hỏi thƣờng đƣợc sử dụng trong hệ thống hỏi đáp tự động
để thực hiện một quá trình phân lớp của câu trả lời nhằm làm giảm không gian tìm
kiếm, từ đó làm tăng tính chính xác và tốc độ trong việc tìm kiếm câu trả lời. Bài toán
này khác với bài toán phân lớp văn bản ở chỗ các câu hỏi thƣờng khá ngắn và chứa ít
thông tin hơn so với văn bản.
Câu hỏi đầu vào của hệ thống hỏi đáp tự động là câu hỏi dƣới dạng ngôn
ngữ tự nhiên của ngƣời dùng. Vì vậy, việc phân tích câu hỏi cũng gặp những khó khăn
của xử lý ngôn ngữ tự nhiên. Theo Hồ Tú Bảo và Lƣơng Chi Mai [9], cái khó nằm ở
chỗ làm sao cho máy tính đƣợc hiểu ngôn ngữ con ngƣời, từ việc hiểu nghĩa từng từ
trong mỗi hoàn cảnh cụ thể, đến việc hiểu nghĩa của cả câu hỏi, hiểu câu hỏi đang hỏi
về cái gì và ngƣời hỏi mong muốn cái gì. Mấu chốt ở đây là bản chất phức tạp của
ngôn ngữ của con ngƣời, đặc biệt là sự đa nghĩa và nhập nhằng ngữ nghĩa của ngôn
ngữ. Thêm nữa, có một khác biệt sâu sắc là con ngƣời ngầm hiểu và dùng quá nhiều
lẽ thƣờng (common sense) trong ngôn ngữ, nhƣ khi hỏi về “thời tiết” thì tức là hỏi về
“nhiệt độ, độ ẩm, mƣa, nắng …”, hay biết “sợi dây” thì dùng để kéo chứ không dùng
để đẩy hay khều các vật, trong khi rất khó làm cho máy hiểu các lẽ thƣờng này.
Cùng hỏi về một thông tin nhƣng câu hỏi có thể đƣợc diễn đạt theo nhiều cách
khác nhau, sử dụng từ ngữ, cấu trúc câu khác nhau, lúc ở dạng nghi vấn, lúc lại ở dạng
12

khẳng định. Vì vậy cần thiết phải có một mô hình ngữ nghĩa để hiểu và xử lý câu
hỏi, có khả năng nhận diện đƣợc các câu hỏi tƣơng đƣơng bất kể nó ở dạng khẳng
định, nghi vấn hay các từ ngữ và quan hệ ngữ pháp giữa chúng khác nhau hoặc các

dạng thành ngữ, tu từ. Mô hình này cũng cần có khả năng chuyển đổi các câu hỏi
phức tạp thành chuỗi các câu hỏi đơn giản hơn, có thể xác định đƣợc các nhập
nhằng và xử lý chúng theo ngữ cảnh hoặc sử dụng cách thức giao tiếp với ngƣời
dùng để làm rõ ngữ nghĩa.
1.2.2. Taxonomy câu hỏi
Vào những năm 90 của thế kỉ XX, khái niệm taxonomy đƣợc sử dụng trong
nhiều lĩnh vực khác nhau nhƣ tâm lý học, khoa học xã hội và công nghệ thông tin để
thiết lập sự trùng hợp giữa thuật ngữ của ngƣời sử dụng và thuật ngữ của hệ thống.
Các chuyên gia đầu tiên phát triển cấu trúc hệ thống Web đã dùng thuật ngữ taxonomy
để nói về tổ chức nội dung các trang web. Và từ đó, khái niệm taxonomy đƣợc sử
dụng rộng rãi với mục đích này.
Do đƣợc sử dụng trong nhiều lĩnh vực khác nhau, nên có nhiều định nghĩa
khác nhau về taxonomy. Từ năm 2000 đến năm 2005, có khoảng 36 định nghĩa
1
khác
nhau về taxonomy trong các nguồn tài liệu. Trong lĩnh vực công nghệ thông tin,
taxonomy đƣợc định nghĩa nhƣ sau:
Đị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.
Một taxonomy thƣờng đƣợc mô tả với gốc ở trên cùng, mỗi nút của taxonomy –
bao gồm cả gốc – là một thực thể thông tin đại diện cho một thực thể trong thế giới
thực. Giữa các nút trong taxonomy có một mối quan hệ đặc biệt gọi là is
subclassification of nếu hƣớng liên kết từ nút con lên nút cha hoặc là is
superclassification of nếu hƣớng liên kết từ nút cha xuống nút con. Đôi khi những
quan hệ này đƣợc xác định một cách chặt chẽ hơn là is subclass of hoặc is superclass
of, nếu thực thể thông tin là một lớp đối tƣợng.
Trong Q&A Roadmap [7] đã chỉ ra rằng taxonomy câu hỏi là rất cần thiết trong
nghiên cứu về Q&A. Các nghiên cứu về taxonomy câu hỏi đã đƣợc nhiều nhà nghiên
cứu quan tâm, trên các mặt về ngôn ngữ học, triết học, xã hội học, có nền tảng lý

thuyết lẫn thực nghiệm.
Năm 1972, Robinson và Rackstraw đã nghiên cứu về cách sử dụng các từ để
hỏi trong tiếng Anh, theo đó “the Five Ws” (Who, What, When, Where, Why, và
How) là cách phân loại câu hỏi thông thƣờng và đơn giản nhất. Có lẽ bởi “the Five
Ws” là cách suy nghĩ rất tự nhiên khi đặt câu hỏi của ngƣời dùng tiếng Anh nên nó rất


1

13

phổ biến trong các tài liệu và trong hỏi đáp thông thƣờng. Robinson và Rackstraw đã
dành 2 tập sách [10,11] để khảo sát về wh-words, hình thức câu hỏi dựa vào wh-words
và câu trả lời cho các câu hỏi này. Robinson và Rackstraw định nghĩa wh-words là
“tập hoàn toàn của các từ để hỏi về mặt từ vựng” (“the total set of lexically
marked interrogative words”). Họ đƣa ra một taxonomy câu hỏi 7 lớp bao gồm: Who,
Which, What, When, Where, Why, How.
Có hai vấn đề với taxonomy trên là: Câu hỏi không nhất thiết phải là câu có sử
dụng từ để hỏi wh-words và không phải câu nào có sử dụng từ để hỏi wh-words cũng
đều là câu hỏi. Một câu hỏi có dạng của một câu phát biểu nhƣng có thể đƣợc hiểu và
chấp nhận nhƣ là một câu hỏi. Ví dụ câu “I’m looking for the name of the Secretary of
State under Clinton” tƣơng đƣơng với câu “Who was the Secretary of State under
Clinton?”. Các cách nói tu từ, biểu cảm rất hay sử dụng các từ wh-words ví dụ câu
“What a beautiful car!” hay “Why me?” đều không phải là các câu có mục đích hỏi.
Một vài hệ thống Q&A trong hội nghị TREC sử dụng wh-words nhƣ là các
tiêu chuẩn chính trong phân tích và biểu diễn logic của câu hỏi [12,13]. Một số hệ
thống chia nhỏ các lớp câu hỏi wh-words thành các lớp con nhằm cho phép hệ thống
Q&A có thể nhận diện đƣợc “kiểu ngữ nghĩa (semantic types) của câu trả lời mong
muốn”. Dan Moldovan và đồng nghiệp đƣa ra một taxonomy phân loại câu hỏi phân
cấp theo cả từ để hỏi lẫn loại câu trả lời mong muốn tƣơng ứng [13].

Eduard Hovy [12] chỉ ra rằng việc phân lớp câu hỏi theo loại ngữ nghĩa của câu
trả lời là rất quan trọng. Ví dụ câu hỏi “How tall is Mt. Everest?”, hệ thống Q&A chỉ
có thể trả lời đƣợc câu hỏi này đƣợc nếu nó biết rằng câu trả lời đƣợc mong đợi sẽ
chứa một đại lƣợng về kích thƣớc. Nhiều hệ Q&A sử dụng bộ nhận dạng thực thể
(Named Entity Recognizer) có khả năng nhận diện đƣợc tên ngƣời, tên tổ chức, con số,
thời gian, địa điểm…để hỗ trợ việc tìm câu trả lời khi biết đƣợc loại câu trả lời là
gì và thu đƣợc độ chính xác rất cao. Eduard Hovy trong [14] đã khảo sát 17384 câu
hỏi và câu trả lời tƣơng ứng đƣợc thu thập từ trang web answers.com và đƣa ra
taxonomy câu hỏi dựa trên loại ngữ nghĩa của câu trả lời với 94 nút trong đó có 47
nút lá. Mỗi nút đều đƣợc chú thích bởi các câu hỏi, câu trả lời ví dụ và các mẫu câu
hỏi, câu trả lời tiêu biểu của lớp.
Cùng nghiên cứu về phân lớp câu hỏi theo loại câu trả lời, Li và Roth
[1,15] đã đƣa ra taxonomy phân cấp theo sự phân loại ngữ nghĩa tự nhiên của câu
trả lời cho các câu hỏi đƣợc khảo sát từ hội nghị TREC. Cấu trúc phân cấp bao gồm 6
lớp câu hỏi thô (coarse classes) 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 gọi là
lớp mịn (fine class). Taxonomy câu hỏi của Li và Roth đƣợc trình bày chi tiết trong
Bảng 1.1. Taxonomy này cùng bộ dữ liệu câu hỏi đã gán nhãn của Li và Roth đƣợc
14

nhiều nhóm nghiên cứu sử dụng lại bởi nó bao phủ đƣợc hầu hết các loại câu hỏi
thƣờng gặp trong thực tế.
Bảng 1.1. Taxonomy câu hỏi
Nhãn lớp
Đị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 ( kí tự )
other
Các thực thể khác
plant
Thực vật

product
Sản phẩm
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, kí hiệu
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 tuộng
definition
Định nghĩa về một thú gì đó
15

description
Mô tả về một thứ 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ề một 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
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
1.3. Mục tiêu của luận văn
Những nghiên cứu trƣớc đây của Xin Li và Dan Roth [1] đã chỉ ra rằng: độ
chính xác khi phân lớp trên những lớp thô (coarse class) đạt độ chính xác rất cao
(thƣờng đạt trên 95%), trong khi với những lớp mịn (fine class) độ chính xác chƣa thật
16

sự đáp ứng đƣợc yêu cầu. Chính vì vậy, luận văn tập trung vào làm tăng độ chính xác
của bộ phân lớp trên những lớp mịn.
Dựa vào các nghiên cứu trƣớc đây của các tác giả khác cùng với thực nghiệm
của tác giả luận văn cho thấy độ chính xác phân lớp của một số lớp mịn đã đạt đƣợc độ

chính xác cao (xấp xỉ 100%), còn một số lớp mịn khác độ chính xác thấp. Vì vậy, luận
văn sẽ không làm giàu đặc trƣng cho tất cả các câu hỏi, mà chỉ tập trung làm giàu đặc
trƣng cho các câu hỏi thuộc một số lớp mịn có độ chính xác phân lớp thấp.

17

Chƣơng 2. CƠ SỞ LÝ THUYẾT
2.1. Các loại đặc trƣng của câu hỏi
Chúng ta có thể trích chọn rất nhiều loại đặc trƣng khác nhau trong bài toán
phân lớp câu hỏi. Các loại đặc trƣng đó có thể phân thành 3 nhóm: từ vựng (lexical),
cú pháp (syntactic) và ngữ nghĩa (semantic).
Để có đƣợc những lựa chọn chính xác loại đặc trƣng cần làm giàu, luận văn sẽ
mô tả chi tiết từng loại đặc trƣng và vai trò của nó trong bài toán phân lớp câu hỏi.
2.1.1. Đặc trƣng từ vựng
Đặc trƣng từ vựng của một câu hỏi thƣờng đƣợc trích chọn dựa vào các từ ngữ
cảnh của câu hỏi đó (các từ xuất hiện trong câu hỏi). Loại đặc trƣng này gọi là túi của
từ (bag-of-words). Theo đúng nhƣ gọi của nó, với loại đặc trƣng này, thứ tự của các từ
trong câu hỏi là không quan trọng. Để rõ hơn về vấn đề này, ta xét câu hỏi ví dụ “How
many Grammys did Michael Jackson win in 1983 ?” Câu hỏi này có các đặc trƣng túi
của từ nhƣ: How, many, Grammys, did, Michael, Jackson, win, in, 1983, ?
Không gian đặc trƣng bag-of-words (túi của từ) cũng đƣợc gọi là unigrams.
Unigrams là một trƣờng hợp đặc biệt của đặ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 nào trong một câu hỏi đƣợc xem nhƣ là một đặc
trƣng. Ở ví dụ trên, “How-many” là một đặc trƣng bigram.
Bảng 2.1. Ví dụ các đặc trưng từ vựng
Không gian đặc trƣng
Đặc trƣng
unigram
How, many, Grammys, did, Michael, Jackson, win, in,
1983, ?

bigram
How-many, many-Grammys, Grammys-did, did-Michael,
Michael-Jackson, Jakson-win, win-in, in-1983, 1983-?
trigram
How-many-Grammys, many-Grammys-did, , in-1983-?
2.1.2. Đặc trƣng cú pháp
Một lớp đặc trƣng khác có thể đƣợc trích chọn từ cấu trúc cú pháp của câu
hỏi. Chúng ta có thể trích xuất các loại đặc trƣng cú pháp khác nhau:
2.1.2.1. Nhãn từ loại (POS Tags)
Các nhãn từ loại (POS tags) chỉ ra từ loại của mỗi từ trong một câu hỏi nhƣ NN
(Noun - Danh từ), NP (Noun Phrase - Cụm danh từ), VP (Verb Phrase - Cụm động từ),
JJ (adjective - tính từ),… Ví dụ sau đây cho thấy câu hỏi với nhãn từ loại của nó:
18

How_WRB many_JJ Grammys_NNPS did_VBD Michael_NNP Jackson_NNP
win_VBP in_IN 1983_CD ?_.
2.1.2.2.

Head word
Head word đƣợc định nghĩa là từ chứa nhiều thông tin nhất trong câu hỏi hoặc
là từ xác định đối tƣợng mà câu hỏi muốn tìm [2]. Xác định head word một cách chính
xác có thể cải thiện đáng kể độ chính xác phân lớp vì nó là từ chứa thông tin quan
trọng nhất trong câu hỏi. Ví dụ, câu hỏi "What is the oldest city in Canada?" thì head
word là "city". Từ "city" ttrong câu hỏi này có thể góp phần để phân loại câu hỏi này là
"LOC:city". Bảng 2.2 liệt kê 20 câu hỏi mẫu từ tập dữ liệu TREC cùng với nhãn lớp
của chúng. Các head word đƣợc xác định bởi chữ đậm. Bảng này cho thấy mối quan
hệ chặt chẽ giữa head word và nhãn lớp. Ta có thể nhận thấy không có head word
thích hợp cho kiểu câu hỏi "Định nghĩa" (definition) hay "lý do" (reason).
Bảng 2.2. Head word của câu hỏi
Câu hỏi

Lớp
What county is Modesto , California in ?
LOC:city
Who was Galileo ?
HUM:desc
What is an atom ?
DESC:def
What is the name of the chocolate company in San Francisco ?
HUM:gr
George Bush purchased a small interest in which baseball team ?
HUM:gr
What is Australia ’s national flower ?
ENTY:plant
Why does the moon turn orange
DESC:reason
What is autism ?
DESC:def
What city had a world fair in 1900 ?
LOC:city
What is the average weight of a Yellow Labrador ?
NUM:weight
Who was the first man to fly across the Pacific Ocean ?
HUM:ind
What day and month did John Lennon die ?
NUM:date
What is the life expectancy for crickets ?
NUM:other
What metal has the highest melting point ?
ENTY:substance
Who developed the vaccination against polio ?

HUM:ind
What is epilepsy ?
DESC:def
What year did the Titanic sink ?
NUM:date
What is a biosphere ?
DESC:def
What river in the US is known as the Big Muddy ?
LOC:other
What is the capital of Yugoslavia ?
LOC:city

19

2.1.3. Đặc trƣng ngữ nghĩa
Đặc trƣng ngữ nghĩa đƣợc trích chọn dựa vào ngữ nghĩa của các từ trong câu
hỏi. Có nhiều loại đặc trƣng ngữ nghĩa, hầu hết đều yêu cầu các nguồn dữ liệu trung
gian nhƣ WordNet hay một từ điển để trích rút thông tin ngữ nghĩa cho câu hỏi.
2.1.3.1. Hypernyms
WordNet là một cơ sở dữ liệu từ vựng của từ tiếng Anh cung cấp một hệ thống
phân cấp từ vựng liên kết một từ với ngữ nghĩa khái niệm cấp độ cao hơn thƣờng đƣợc
gọi là hypernyms. Ví dụ một hypernym của từ "city" là "municipality" và cứ nhƣ vậy từ
“municipality” lại có hypernym là "urban area". Hình 2.1 cho thấy hệ thống phân cấp
hypernym mức 3 của từ "capital".

Hình 2.1. WordNet Hypernyms ngữ nghĩa mức 3 của từ “capital”
Vì hypernyms cho phép trừu tƣợng hơn từ cụ thể nên chúng có thể là đặc trƣng
hữu ích cho việc phân loại câu hỏi. Dĩ nhiên, việc trích xuất hypernyms không phải là
đơn giản. Có bốn vấn đề cần đƣợc giải quyết để có đƣợc các đặc trƣng hypernym:
- Ta sẽ tìm hypernyms cho từ nào trong câu hỏi?

- Với các từ kết quả tìm đƣợc thì loại từ nào sẽ đƣợc sử dụng?
- Mỗi từ loại của từ tìm đƣợc có ngữ nghĩa khác nhau trong WordNet, ngữ
nghĩa nào sẽ đƣợc sử dụng trong câu hỏi?
- Ta cần duyệt qua bao nhiêu mức hypernym để đạt đƣợc hypernyms mong
muốn?
Để giải quyết vấn đề đầu tiên, ta xem xét hai kịch bản khác nhau: coi head word
nhƣ là từ ứng viên cho việc mở rộng hoặc mở rộng tất cả các từ trong câu hỏi bằng
hypernyms của nó. Ta có thể thấy rằng cách tiếp cận thứ hai có thể gây ra thông tin
nhiễu cho véc-tơ đặc trƣng và do đó phƣơng án chỉ mở rộng ngữ nghĩa cho head word
của câu hỏi (nếu có) là tối ƣu nhất.
Đối với vấn đề thứ hai, nhãn từ loại (POS tag) đƣợc trích từ cấu trúc cú pháp
của câu hỏi đƣợc xem nhƣ là nhãn từ loại đích để chọn từ ứng viên.
20

Để giải quyết vấn đề thứ ba, ý nghĩa đúng của từ ứng cử viên nên đƣợc xác định
để đƣợc mở rộng với hypernyms của nó. Ví dụ từ "captical" với từ loại danh từ có thể
có hai ý nghĩa khác nhau. Nó có thể đƣợc hiểu nhƣ là "large alphabetic character"
hoặc "a seat of government". Mỗi ngữ nghĩa có hypernyms riêng của nó. Ví dụ
"character" là một hypernym của ngữ nghĩa đầu tiên, trong khi "location" là một
hypernym của ngữ nghĩa thứ hai. Ví dụ, trong câu hỏi "What is the capital of
Netherlands ?" ngữ nghĩa thứ hai nên đƣợc sử dụng.
Để giải quyết vấn đề thứ tƣ, ta phải tiến hành thực nghiệm lần lƣợt với các mức
mở rộng head word với hypernyms. Từ đó sẽ xác định đƣợc kết quả tốt nhất ứng với
mức nào.
2.1.3.2. Các từ liên quan (Related words)
Một đặc trƣng ngữ nghĩa khác là “các từ liên quan” (Related words) đƣợc dựa
trên ý tƣởng của Li và Roth [15]. Họ xác định nhóm từ, mỗi nhóm đƣợc đại diện bởi
một tên thể loại. Nếu một từ trong câu hỏi tồn tại trong một hoặc nhiều nhóm thì tên
thể loại tƣơng ứng của nó sẽ đƣợc thêm vào véc-tơ đặc trƣng. Ví dụ, nếu một từ bất kỳ
trong các từ {birthday, birthdate, day, decade, hour, week, month, year} xuất hiện

trong một câu hỏi, thì tên thể loại của nó là “date” sẽ đƣợc thêm vào véc-tơ đặc trƣng.
Để mở rộng véc-tơ đặc trƣng với “các từ liên quan”, ta vẫn có thể chỉ xem xét
head word hoặc toàn bộ câu hỏi.
2.2. Mô hình biểu diễn câu hỏi
Bài toán phân lớp câu hỏi là trƣờng hợp đặc biệt của bài toán phân lớp văn bản,
vì vậy có thể áp dụng các mô hình biểu diễn văn bản để biểu diễn câu hỏi. Tuy nhiên,
trong thực tế ngƣời ta chủ yếu sử dụng mô hình không gian véc-tơ để biểu diễn câu
hỏi.
Mô hình không gian là một trong những mô hình toán học đƣợc sử dụng rộng
rãi nhất trong biểu diễn câu bởi tính dễ hiểu của nó. Mô hình do Salton và cộng sự đề
xuất năm 1975 [16] khi giải quyết bài toán truy vấn thông tin. Theo cách biểu diễn này
mỗi câu hỏi đƣợc biểu diễn trong một không gian nhiều chiều, trong đó mỗi chiều
tƣơng ứng với một từ trong câu hỏi. Một từ với độ quan trọng của nó đƣợc xác định
bằng một phƣơng pháp đánh trọng số.
Giả sử một tập Q gồm m câu hỏi:
}, ,,{
21 m
qqqQ 
và tập từ vựng T gồm v từ
khóa
}, ,,{
21 V
tttT 

Câu hỏi q
i
đƣợc biểu diễn bằng véc-tơ








= {w
i1,
w
i2,
w
i3,….,
w
im
}, ở đây w
ij
là trọng số
của từ t
j
trong câu hỏi q
i
. Việc tính trọng số sẽ đƣợc đề cập trong phần sau.
Ví dụ: tập Q gồm 3 câu hỏi
21

Câu 1: “Where is the Lourve ?”
Câu 2: “Who was Galileo ?”
Câu 3: “Who was Lawrence? How was Lawrence ?”
Vậy tập từ vựng T = {Where, is, the, Lourve, Who, was, Galileo, Lawrence,
How}.
Các câu hỏi trên sẽ đƣợc biễu diễn dƣới dạng véc-tơ có kích thƣớc bằng số
lƣợng từ trong tập từ vựng, mỗi phần tử của véc-tơ xác định trọng số của từ trong câu

đó mỗi véc-tơ có độ dài là 9, và các trọng số tƣơng ứng với các từ trong tập từ vựng
trên.
Trong câu 1, gọi w
(1,1)
là trọng số của từ “Where”, w
(1,2)
là trọng số của từ
“is”,…w
(1,9)
là trọng số của từ “How” …
Trong câu 2, w
(2,1)
là trọng số của từ “Where”, w
(2,2)
là trọng số của từ “is”,…,
w
(2,5)
là trọng số của từ “Who”,…, w
(2,9)
là trọng số của từ “How” …
Tƣơng tự nhƣ vậy ta có thể biểu diễn đƣợc các câu dƣới dạng mô hình véc-tơ
một cách đơn giản.
2.2.1. Phƣơng pháp biểu diễn Boolean
Mô hình Boolean là mô hình đơn giản nhất, trong đó trọng số các từ trong câu
là 0 hoặc 1. Giả sử có một tập gồm m câu hỏi Q = {q
1
,q
2
,…q
m

}. Mỗi câu gồm n từ
khóa T = {t
1
,t
2
,…t
n
}. Khi đó mỗi câu hỏi q
i
đƣợc biểu diễn bởi véc-tơ:






= (t
i1
, t
i2
, , t
in
)
trong đó t
ij
bằng 1 nếu từ t
ij
xuất hiện trong q
i
và bằng 0 nếu từ này không xuất

hiện trong q
i
.
Ví dụ: với câu q = “hello world ! hello friend ! Where you are ?”, khi đó câu q
đƣợc biểu diễn nhƣ sau:
 = {“hello”, ”world”, ”friend”, “Where”, “you”, “are”}
Nhìn chung mô hình này khá là đơn giản và dễ cài đặt.
2.2.2. Các phƣơng pháp biểu diễn dựa trên tần số
Các phƣơng pháp này coi mỗi một câu hỏi nhƣ là tập các từ khóa và gọi tập các
từ khóa này là tập các term. Một phần tử trong tập term thì đơn giản là một từ, mà ngữ
nghĩa của từ này giúp tạo thành nên nội dung của câu hỏi. Vì vậy, tập term đƣợc sử
dụng để tạo các chỉ mục và tóm lƣợc nội dung của câu hỏi.
Giả sử cho một tập term của một câu hỏi nào đó, có thể nhận thấy rằng không
phải tất cả các từ trong tập term này đều có mức độ quan trọng nhƣ nhau trong việc mô
tả nội dung câu hỏi. Ví dụ, xét một tập gồm hàng ngàn câu hỏi, giả sử có một từ A nào
22

đó xuất hiện trong hàng ngàn câu hỏi này thì chúng ta có thể khẳng định rằng từ A này
không quan trọng và chúng ta sẽ không quan tâm đến nó, bởi vì chắc chắn là nó sẽ
không cho chúng ta biết đƣợc về nội dung của các câu hỏi này. Vì vậy, từ A sẽ bị loại
ra khỏi tập các term khi chúng ta xây dựng tập term cho câu hỏi để miêu tả nội dung
ngữ nghĩa của các câu hỏi này. Kết quả này có đƣợc thông qua thao tác xác định trọng
số cho mỗi một từ trong tập term của một câu hỏi.
Đặt v là số luợng các từ trong tập term của hệ thống, T = {t
1
, t
2
, t
3
…, t

v
} là tập
tất cả các từ trong tập term, trong đó t
i
là từ thứ i trong tập term, m là số lƣợng câu hỏi
đang xét, q
j
là câu hỏi thứ j, và w
ij
>= 0 là trọng số của từ t
i
trong câu hỏi q
j
.

Ta đi xem xét lần lƣợt các phƣơng pháp biểu diễn sau đây.
2.2.2.1. Phương pháp dựa trên tần số từ khóa TF (Term Frequence)
Giá trị trọng số biểu diễn một từ khóa đƣợc tính dựa trên số lần xuất hiện của từ
khóa trong câu hỏi.
Gọi tf
ij
là số lần xuất hiện của từ khóa t
j
trong câu hỏi q
i
khi đó có thể chọn cách
tính w
ij
=




hoặc w
ij
= 1 + log (tf
ij
) hoặc w
ij
= tf
ij
Phƣơng pháp này đƣợc suy luận từ việc trong một câu hỏi thì từ xuất hiện nhiều
thƣờng quan trọng hơn từ xuất hiện ít.
Với ví dụ đã nêu ra ở phần 2.2, theo phƣơng pháp dựa trên tần số từ khóa ta có
kết quả sau:
 Tập tất cả các term là T = {Where, is, the, Lourve, Who, was, Galileo,
Lawrence, How}
 Tính trọng số theo công thức w
ij
= tf
ij
thì các câu hỏi ở trên đƣợc biểu diễn
nhƣ sau:
- Dạng véc-tơ của câu 1: (1, 1, 1, 1, 0, 0, 0, 0, 0)
- Dạng véc-tơ của câu 2: (0, 0, 0, 0, 1, 1, 1, 0, 0)
- Dạng véc-tơ của câu 3: (0, 0, 0, 0, 1, 2, 0, 2, 1)
Ta thấy trong câu 1, độ quan trọng của từ “is”, ”the”… là bằng nhau, nhƣng
thực tế thì các từ “is”, “the” chỉ là các động từ to be và mạo từ nên độ quan trọng
không cao và qua các từ này không thể đánh giá và phân lớp câu hỏi.
Câu hỏi thì thƣờng ngắn nên sự xuất hiện của các từ khá ít và thƣa thớt, vì vậy
nếu dựa vào phƣơng pháp này tính trọng số thì khó đánh giá chính xác đƣợc sự quan

trọng của từ nào hơn từ nào. Do vậy phƣơng pháp tính trọng số dựa trên tần số từ khóa
không phù hợp với bài toán phân lớp câu hỏi.
23

2.2.2.2. Phương pháp dựa trên nghịch đảo tần số văn bản IDF (Inverse
Document Frequence)
Gọi df
i
là số lƣợng câu hỏi có chứa từ khóa t
i
trong tập m câu hỏi đang xét, giá
trị trọng số đƣợc tính theo công thức:












 


Phƣơng pháp này đƣợc lập luận từ việc một từ xuất hiện trong nhiều câu hỏi
thuộc tập dữ liệu đang xét thì không quan trọng bằng một từ xuất hiện ít trong câu hỏi
thuộc tập đang xét đó, hay nói cách khác một từ quá thông dụng xuất hiện trong nhiều

câu hỏi thì độ quan trọng thấp hơn từ chỉ xuất hiện trong một câu hỏi, hoặc tập nhỏ các
câu hỏi.
2.2.2.3. Phương pháp dựa trên tần số từ khóa và nghịch đảo tần số văn bản
TF-IDF (Term Frequency and Inverse Document Frequency)
Phƣơng pháp này là tổng hợp của hai phƣơng pháp TF và IDF. Giá trị trọng số
của từ đƣợc tính bằng tích của giá trị trọng số TF với giá trị trọng số IDF theo công thức:





  
















với ví dụ ở phần 2.2 ta có trọng số các từ vựng trong câu nhƣ sau:
- Dạng véc-tơ của câu 1: (0.48, 0.48, 0.48, 0.48, 0, 0, 0, 0, 0)

- Dạng véc-tơ của câu 2: (0, 0, 0, 0, 0.48, 0.48, 0.48, 0, 0)
- Dạng véc-tơ của câu 3: (0, 0, 0, 0, 0.48, 0.35, 0, 0.35, 0.48)
Ta nhận thấy rằng với các cách biểu diễn Boolean và TF, các véc-tơ đều có các
giá trị tọa độ là số nguyên, còn với cách biểu diễn sử dụng TF-IDF, mỗi câu hỏi đƣợc
coi là một điểm (hoặc véc-tơ) trong một không gian metric và độ “giống nhau” giữa
các câu hỏi đƣợc đo bằng độ gần của các điểm trong không gian.
Với bài toán phân lớp câu hỏi thì số lƣợng từ trong một câu hỏi cũng rất ít, và
việc xác định đƣợc trọng số của một từ trong câu hỏi sẽ khó chính xác hơn việc xác
định trọng số của một từ trong văn bản. Vì vậy, lựa chọn cách tính dựa trên TF-IDF
(Term Frequency Inverse and Document Frequency) là hợp lí hơn hai cách dựa trên
tần số từ khóa TF (Term Frequency), và cách tính dựa trên nghịch đảo tần số văn bản
IDF (Inverse Document Frequency).
2.3. Một số phƣơng pháp phân lớp câu hỏi
Bài toán phân lớp đƣợc phân biệt một cách chi tiết nhƣ sau [17]:
24

Phân lớp nhị phân khi miền áp dụng chỉ có hai lớp và phân lớp đa lớp khi miền
ứng dụng có nhiều hơn 2 lớp. Nhƣ vậy phân lớp nhị phân chỉ là một trƣờng hợp đặc biệt
của bài toán phân lớp, tuy nhiên do xuất xứ cho nên phân lớp nhị phân có vị trí riêng cả về
đặt bài toán lẫn giải pháp.
Phân lớp văn bản đƣợc định nghĩa là việc gán nhãn tên các chủ đề (tên lớp/ tên
nhãn) đã đƣợc xác định trƣớc đó vào các văn bản dựa trên nội dung của nó. Phân lớp văn
bản là công việc để hỗ trợ cho quá trình tìm kiếm thông tin (Information Retrieval), chiết
lọc thông tin (Information Extraction), lọc văn bản hoặc từ động dẫn đƣờng cho các văn
bản đến chủ đề xác định trƣớc. Câu hỏi cũng là một dạng văn bản, do vậy nó áp dụng
đƣợc những định nghĩa và công thức của phân lớp văn bản.

Hình 2.2. Lược đồ chung xây dựng bộ phân lớp
Hình 2.2 biểu diễn lƣợc đồ chung cho hệ thống phân lớp, trong đó gồm 3 thành
phần chính: thành phần đầu tiên là biểu diễn văn bản, hay việc chuyển dữ liệu văn bản

thành một dạng cấu trúc nào đó. Thành phần thứ 2 là học quy nạp - sử dụng các kỹ
thuật học máy để phân lớp vừa biểu diễn. Thành phần thứ 3 là tri thức ngoài-bổ sung
các kiến thêm vào do ngƣời dùng cung cấp dể tăng độ chính xác trong biểu diễn văn
bản hay cho quá trình học máy. Thành phần tri thức ngoài bổ sung này không mang
tính bắt buộc, nhiều trƣờng hợp ta có thể khai thác các tri thức bên ngoài, nhiều trƣờng
hợp không có. Trong nhiều trƣờng hợp, các phƣơng pháp học có hệ thống phân lớp có
thể bỏ qua thành phần thứ ba. Thành phần thứ 2 đƣợc coi là trung tâm của hệ thống
25

phân lớp. Một số phƣơng pháp phân lớp không có thành phần học quy nạp, ví dụ nhƣ
phân lớp dựa trên láng giềng gần nhất (k-nearest neighbors).
Phân lớp câu hỏi cũng gần giống với phân lớp văn bản, tuy nhiên do đặc điểm
của câu hỏi là số lƣợng từ trong mỗi câu hỏi ít nên số lƣợng đặc trƣng của câu hỏi
cũng ít. Vì vậy, chỉ có một số phƣơng pháp phân lớp văn bản phù hợp có thể áp dụng
đƣợc cho câu hỏi. Dƣới đây sẽ trình bày một số phƣơng pháp phân lớp tiêu biểu:
2.3.1. Máy véc-tơ hỗ trợ (Support Vector Machine)
Cơ sở của thuật toán máy véc-tơ hỗ trợ (Support Vector Machine) dựa trên
phƣơng
pháp tiếp cận thống kê đƣợc Vapnik đề xuất [
18
]. Máy véc-tơ hỗ trợ
(Support Vector
Machine) hiệu quả để giải quyết bài toán với dữ liệu có số chiều lớn.
Ý tƣởng cơ bản: cực tiểu hóa giá trị rủi ro cấu trúc thực nghiệm. Bằng việc xuất
khái niệm chiều VC (Vapnik và Chervonenkis) [18] thực hiện ánh xạ 1 không gian dữ liệu
đầu vào sang 1 không gian khác gọi là không gian thuộc tính. Từ việc ánh xạ, bài toán trở
thành tìm 1 siêu phẳng tốt nhất phân chia không gian thuộc tính thành 2 nửa không gian: 1
chứa các ví dụ dƣơng, và 1 chứa ví dụ âm. Siêu phẳng tốt nhất là siêu phẳng mà khoảng
cách của nó tới tập ví dụ là lớn nhất. Tập các véc-tơ hỗ trợ hình thành mặt phẳng tốt nhất
là các véc-tơ hỗ trợ.

2.3.2. Cực đại hóa Entropy (Maximum Entropy)
Mô hình cực đại hóa Entropy (Maximum Entropy Model) là một mô hình dựa
trên kỹ thuật xác suất. Mô hình cực đại hóa Entropy đem lại một cách thức chọn tốt
nhất mà không cần biết trƣớc thông tin về dữ liệu. Lý thuyết của Mô hình cực đại hóa
Entropy là chọn một phân bố xác suất p theo một đặc trƣng ràng buộc nào đó. Phân bố
đƣợc chọn là phân bố làm cực đại hóa độ hỗn loạn thông tin trong một tập các thực thể
x  X mà mỗi thực thể sẽ đƣợc gán nhãn c  C. Điều này dẫn đến một phân lớp : X →
C, mà có thể biểu diễn thành một phân phối xác suất có điều kiện p, nghĩa là p(c|x) là
xác suất của “lớp” c theo mỗi “ngữ cảnh” x.
Những đặc trƣng văn cảnh trong các bài toán xử lý ngôn ngữ tự nhiên thƣờng
bao gồm các từ, và đặc trƣng ngữ cảnh càng chính xác khi bài toán có tính tự nhiên
càng lớn. Trong một số bài toán, văn cảnh x có thể chỉ là một từ, và lúc khác thì x lại
chứa nhiều từ với gán nhãn cú pháp đi kèm. Ngữ liệu lớn thƣờng chứa lƣợng tri thức
nhất định về sự đồng xuất hiện giữa một giá trị của x với một giá trị của c, nhƣng chƣa
đủ để xác định p (c|x) cho mọi cặp(c;x) khi các từ trong X còn rời rạc. Thách thức ở
đây là phải tìm ra một phƣơng pháp để có thể sử dụng các giả thiết cục bộ c và x để
ƣớc lƣợng mô hình xác suất p.
26

2.4. Xây dựng bộ phân lớp câu hỏi
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 [19]. 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.

2.4.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 [2,1]. Li và Roth 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 [1]. 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 mịn (fine class). Taxonomy câu hỏi của Li và
Roth đã đƣợc trình bày chi tiết ở phần 1.2.2 trong Bảng 1.1.
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.

×