Tải bản đầy đủ (.docx) (56 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 (526.63 KB, 56 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


Mục lục
Lời cảm ơn
Lời cam đoan ........................................................................................................
Mục lục
Danh mục các ký hiệu và chữ viết tắt ..................................................................
Danh mục các bảng ..............................................................................................
Danh mục các hình vẽ, đồ thị ...............................................................................
MỞ ĐẦU ..............................................................................................................
Chƣơng 1.
1.1.

1.2.

1.3.


Chƣơng 2.
2.1.

2.2.

2.3.

2.4.


2.5. Mô hình phân tích chủ đề ẩn

Chƣ

3.1. Ý tƣởng của phƣơng pháp l

3.2. Phƣơng pháp làm giàu đặc t

3.3. Cài đặt thuật toán cho phƣơ

Chƣ

4.1. Môi trƣờng thực nghiệm ....

4.2. Dữ liệu thực nghiệm ...........

4.3. Các bƣớc tiến hành thực ng

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


4.5. Đánh giá..............................
KẾT LUẬN
TÀI LIỆU THAM KHẢO ..................................................................................


Danh mục các ký hiệu và chữ viết tắt
STT
1
2
3
4
5
6
7

Ký hiệu/Viết tắt
TF
IDF
SVM
kNN
LDA
POS
Q&A


6

Danh mục các bảng
Bảng 1.1. Taxonomy câu hỏi ..............................................................................
Bảng 2.1. Ví dụ các đặc trƣng từ vựng ...............................................................

Bảng 2.2. Head word của câu hỏi .......................................................................
Bảng 2.3. Mô hình sinh trong LDA....................................................................
Bảng 2.4. Chủ đề ẩn số 35 ..................................................................................
Bảng 2.5. Chủ đề ẩn số 48 ..................................................................................
Bảng 2.6. Chủ đề ẩn số 3 ....................................................................................
Bảng 4.1. Phân bố câu hỏi theo taxonomy .........................................................
Bảng 4.2. Chủ đề ẩn số 35, lớp ENTY:color .....................................................
Bảng 4.3. Chủ đề ẩn số 48, lớp ENTY:animal ...................................................
Bảng 4.4. Chủ đề ẩn số 3, lớp ENTY:currency ..................................................
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 .............
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 .......
Bảng 4.7. So sánh kết quả phân lớp của hai thử nghiệm ...................................


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 ................................................
Hình 2.1. WordNet Hypernyms ngữ nghĩa mức 3 của từ “capital” ...................
Hình 2.2. Lƣợc đồ chung xây dựng bộ phân lớp ................................................
Hình 2.3. Mô hình bộ phân lớp đa cấp của Li và Roth ......................................
Hình 2.4. Minh họa mô hình sinh trong LDA ....................................................
Hình 3.1. Mô hình làm giàu câu hỏi ...................................................................
Hình 4.1. Các bƣớc tiến hành thực nghiệm ........................................................


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

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

GIỚI THIỆU

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
1

nhau về taxonomy. Từ năm 2000 đến năm 2005, có khoảng 36 định nghĩa 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 , 1 5]
đã đƣ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ế.

Nhãn lớp
ABBREVIATION
abb
exp
ENTITY
animal
body
color
creative
currency
dis.med.
event
food
instrument
lang
letter
other
plant
product
religion
sport

substance
symbol


technique
term
vehicle
word
DESCRIPTION
definition


description
manner
reason
HUMAN
group
ind
title
description
LOCATION
city
country
mountain
other
state
NUMERIC
code
count
date

distance
money
order
other
period
percent
speed
temp


size
weight

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

CƠ SỞ LÝ THUYẾT

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 đặ


unigram

bigram

trigram
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

What county is Modesto , California in ?
Who was Galileo ?
What is an atom ?
What is the name of the chocolate company in San Francisco ?
George Bush purchased a small interest in which baseball team ?
What is Australia ’s national flower ?
Why does the moon turn orange
What is autism ?
What city had a world fair in 1900 ?
What is the average weight of a Yellow Labrador ?
Who was the first man to fly across the Pacific Ocean ?
What day and month did John Lennon die ?
What is the life expectancy for crickets ?
What metal has the highest melting point ?
Who developed the vaccination against polio ?
What is epilepsy ?
What year did the Titanic sink ?
What is a biosphere ?
What river in the US is known as the Big Muddy ?
What is the capital of Yugoslavia ?


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: Q  {q1 , q2 ,..., qm } và tập từ vựng T gồm v từ
khóa T  {t1 ,t2 ,...,tV }

Câu hỏi qi đƣợc biểu diễn bằng véc-tơ ⃗ = {wi1,wi2,wi3,….,wim }, ở đây wij là trọng số

của từ tj trong câu hỏi qi. 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 = {q1,q2,…qm}. Mỗi câu gồm n từ
khóa T = {t1,t2,…tn}. Khi đó mỗi câu hỏi qi đƣợc biểu diễn bởi véc-tơ:
⃗⃗

= (ti1, ti2, ..., tin)


trong đó tij bằng 1 nếu từ tij xuất hiện trong qi và bằng 0 nếu từ này không xuất
hiện trong qi.
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 = {t1, t2, t3 …, tv} là tập
tất cả các từ trong tập term, trong đó ti là từ thứ i trong tập term, m là số lƣợng câu hỏi
đang xét, qj là câu hỏi thứ j, và wij >= 0 là trọng số của từ ti trong câu hỏi qj.
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 tfij là số lần xuất hiện của từ khóa tj trong câu hỏi qi khi đó có thể chọn cách tính wij = √ hoặc wij = 1 + log (tfij) hoặc wij = tfij

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 wij = tfij 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 dfi là số lƣợng câu hỏi có chứa từ khóa ti 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 TFIDF (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


×