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.. 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
Trang 1NGUYỄ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
Trang 2Mụ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
Trang 32.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
Trang 4Danh mục các ký hiệu và chữ viết tắt
Trang 5Danh 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
Trang 6Danh 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
Trang 7MỞ ĐẦ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
Trang 8Chương 1 GIỚI THIỆU
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
Trang 91.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
Trang 10Bướ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
Trang 11khẳ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 http://www.hipertext.net/english/pag1011.htm#origenNota2
Trang 12phổ 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
Trang 13nhiề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
DESCRIPTION Mô tả và các khái niệm trừu tuộng
Trang 14description Mô tả về một thứ gì đó
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
Trang 15sự đá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
Trang 16Chươ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
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
unigram How, many, Grammys, did, Michael, Jackson, win, in,
1983, ?
Michael-Jackson, Jakson-win, win-in, in-1983, 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ó:
Trang 17How_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
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
Trang 182.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
Trang 19Để 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, ,q m} và tập từ vựng T gồm v từ
khóa T {t1,t2, ,t V}
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
Trang 20Câ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
Trang 21đó 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
Trang 222.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]:
Trang 23Phâ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
Trang 24phâ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