ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ THƯA
PHÂN LOẠI CÂU TIẾNG VIỆT
VÀ ỨNG DỤNG TRONG VẤN ĐỀ HỎI ĐÁP
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội - 2015
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ THƯA
PHÂN LOẠI CÂU TIẾNG VIỆT
VÀ ỨNG DỤNG TRONG VẤN ĐỀ HỎI ĐÁP
Ngành
:
Công nghệ thông tin
Chuyên ngành
:
Hệ thống thông tin
Mã số
:
60 48 01 04
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
GIÁO VIÊN HƯỚNG DẪN KHOA HỌC: TS. PHAN XUÂN HIẾU
Học viên thực hiện
Giáo viên hướng dẫn
Hà Nội – 2015
Hội đồng chấm luận văn
LỜI CAM ĐOAN
Tôi Nguyễn Thị Thưa xin cam đoan nội dung trong luận văn này là công
trình nghiên cứu và sáng tạo do chính tôi thực hiện dưới sự hướng dẫn của TS.
Phan Xuân Hiếu. Số liệu, kết quả trình bày trong luận văn là hoàn toàn trung thực
và chưa công bố trong bất cứ công trình khoa học nào trước đây. Nếu hình ảnh
được lấy từ nguồn bên ngoài, tôi đều có trích dẫn nguồn rõ ràng và đầy đủ.
Hà Nội, ngày … tháng … năm 2015
Học viên
Nguyễn Thị Thưa
LỜI CẢM ƠN
Đầu tiên, tôi xin gửi lời cảm ơn chân thành đến thầy Phan Xuân Hiếu. Thầy
đã truyền cảm hứng học tập, nhiệt huyết nghiên cứu khoa học và đã dẫn lối tôi
đến với lĩnh vực nghiên cứu này. Thầy cũng là người đã tận tình giúp đỡ tôi vượt
qua những thử thách trong quá trình nghiên cứu luận văn.
Tôi xin gửi lời cảm ơn chân thành đến thầy Hà Quang Thụy. Càng tiếp xúc
với thầy, tôi càng cảm thấy yêu quý và trân trọng thời gian được làm sinh viên
nhiều hơn.
Tôi xin bày tỏ lòng biết ơn chân thành tới các thầy, cô giáo đã giảng dạy tôi
trong suốt 2 năm tại Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội. Mỗi
thầy cô đều cho tôi những bài giảng thật hay và bổ ích.
Tôi xin cảm ơn các anh chị trong Phòng Đào tạo, Phòng Công tác sinh viên,
Phòng Tài vụ và các anh chị khác trong trường. Nhờ có sự làm việc tận tụy của
các anh chị, chúng tôi mới có một ngôi trường đứng nhất nhì cả nước để học tập
và rèn luyện.
Tôi xin bày tỏ sự cảm ơn sâu sắc đến các thành viên trong nhóm MDNTeam. Thời gian chúng tôi ở bên nhau để chia sẻ những khó khăn khi tạo ra ứng
dụng trợ lý ảo cho người Việt - VAV. Đặc biệt là 2 em Nguyễn Văn Hợp và Vũ
Thị Hải Yến đã nhiệt tình giúp đỡ tôi trong quá trình thực nghiệm, tôi sẽ không
bao giờ quên.
Tôi xin gửi lời cảm ơn chân thành các anh chị đồng nghiệp tại Cục Thông
tin khoa học và công nghệ quốc gia – Bộ Khoa học và Công nghệ đã giúp hoàn
thành công việc tại cơ quan để tôi có thể yên tâm học tập.
Tôi cũng xin cảm ơn các anh chị trong Phòng Thí nghiệm công nghệ tri
thức đã góp ý chi tiết ở mỗi buổi seminar hàng tuần để tôi hoàn thiện tốt luận văn
của mình.
Cuối cùng, tôi xin chân thành cảm ơn đến bố mẹ, anh chị trong gia đình.
Họ là nguồn động viên không thể thiếu trong cuộc đời tôi.
Hà Nội, ngày … tháng … năm 2015
Học viên
Nguyễn Thị Thưa
2
MỤC LỤC
ĐẶT VẤN ĐỀ................................................................................................................. 6
Chương I. Giới thiệu về phân loại câu và ứng dụng ................................................ 14
1.1
Các công trình nghiên cứu về phân loại câu .................................................... 14
1.2. Phân loại câu tiếng Việt ................................................................................... 16
1.2.1. Giới thiệu về bài toán Phân loại câu tiếng Việt.................................... 16
1.2.2. Các phương pháp giải quyết bài toán ................................................. 18
Chương II. Phân loại câu tiếng Việt bằng các phương pháp học máy ................... 19
2.2. Phương pháp Naïve Bayes ............................................................................... 19
2.3. Phương pháp SVMs ......................................................................................... 21
2.4. Thuật toán Maximum Entropy ......................................................................... 23
Chương III. Thực nghiệm ........................................................................................... 26
3.1. Phương pháp thực nghiệm ............................................................................... 26
3.2. Dữ liệu thực nghiệm ........................................................................................ 28
3.3. Lựa chọn thuộc tính ......................................................................................... 29
3.4. Kết quả thực nghiệm và phân tích ................................................................... 30
3.4.1. Mô hình MaxEnt .............................................................................. 30
3.4.2. Mô hình Naïve Bayes ....................................................................... 33
3.4.4. So sánh MaxEnt, Naïve Bayes và SVMs ............................................ 36
KẾT LUẬN ............................................................................................................................. 38
TÀI LIỆU THAM KHẢO...................................................................................................... 39
PHỤ LỤC ................................................................................................................................ 41
3
DANH SÁCH HÌNH VẼ
Hình 0.1 Giao diện phần mềm ứng dụng VAV – Trợ lý ảo cho người Việt
Hình 0.2 Nguồn dữ liệu cho Big Data
Hình 0.3 Giao diện phần mềm VOS
Hình 1.1 Mô hình đơn giản bài toán phân loại câu tiếng Việt
Hình 1.2 Ví dụ minh hoạ bài toán phân loại câu tiếng Việt
Hình 1.3 Mô hình tổng thể bài toán phân loại câu tiếng Việt
Hình 2.1 Mô hình SVMs
Hình 3.1 Phương pháp Cross Validation Test
Hình 3.2 Số lượng mỗi loại câu thu được qua ASR service (Google Voice)
Hình 3.3 Biểu đồ so sánh độ đo F1 của mô hình MaxEnt trên 2 tập thuộc tính ở
lần lặp thứ 4
Hình 3.4 Biểu đồ so sánh F1 của mô hình Naïve Bayes giữa 2 tập thuộc tính ngrams và n-grams + Dictionary
Hình 3.5 Biểu đồ so sánh độ đo F1 của mô hình SVMs giữa 2 tập thuộc tính ngrams và n-grams + Dictionary sau 4 folds
Hình 3.6 Biểu đồ so sánh độ đo F1 của 3 mô hình MaxEnt, Naïve Bayes và
SVMs ở lần lặp thứ 4 trên tập thuộc tính n-grams
Hình 3.7 Biểu đồ so sánh độ đo F1 của 3 mô hình MaxEnt, Naïve Bayes và
SVMs ở lần lặp thứ 4 trên tập thuộc tính n-grams + Dictionary
Hình PL.1 Sự phân bố dữ liệu khi Phân loại với phương pháp Naïve Bayes
Hình PL.2 Kết quả Phân loại với phương pháp Naïve Bayes
Hình PL.3 Sự phân bố dữ liệu khi Phân loại với phương pháp SVMs
Hình PL.4 Kết quả Phân loại với phương pháp SVMs
Hình PL.5 Dữ liệu đầu vào ở fold thứ 4 với phương pháp MaxEnt
Hình PL.6 Dữ liệu huấn luyện ở fold 4
Hình PL.7 Dữ liệu kiểm tra ở fold 4
Hình PL.8 Kết quả đánh giá mô hình MaxEnt
Hình PL.9 Sự phân bố dữ liệu khi Phân loại với phương pháp Naïve Bayes
Hình PL.10 Kết quả Phân loại với phương pháp Naïve Bayes
Hình PL.11 Sự phân bố dữ liệu khi Phân loại với phương pháp SVMs
Hình PL.12 Kết quả Phân loại với phương pháp SVMs
Hình PL.13 Dữ liệu huấn luyện ở fold 4
Hình PL.14 Dữ liệu kiểm tra ở fold 4
Hình PL.15 Kết quả đánh giá mô hình MaxEnt
4
DANH SÁCH BẢNG BIỂU
Bảng 1.1 Bảng mô tả các kiểu câu thông dụng
Bảng 3.1 Một số thuộc tính mẫu huấn luyện mô hình phân loại câu
Bảng 3.2 Kết quả lần lặp thứ 4 của mô hình MaxEnt với tập thuộc tính n-grams
Bảng 3.3 Kết quả lần lặp thứ 4 của mô hình MaxEnt với tập thuộc tính n-grams
+ Dictionary
Bảng 3.4 Kết quả từng lần lặp của mô hình MaxEnt với tập thuộc tính n-grams
Bảng 3.5 Kết quả từng lần lặp của mô hình MaxEnt với tập thuộc tính n-grams
+ Dictionary
Bảng 3.6 Kết quả sau 4 lần lặp của mô hình Naïve Bayes với tập thuộc tính ngrams
Bảng 3.7 Kết quả sau 4 lần lặp của mô hình Naïve Bayes với tập thuộc tính ngrams + Dictionary
Bảng 3.8 Kết quả sau 4 lần lặp của mô hình SVMs với tập thuộc tính n-grams
với C = 0.1, gamma = 0.5, Kernel = exp (-gamma*|u-v|^2)
Bảng 3.9 Kết quả sau 4 lần lặp của mô hình SVMs với tập thuộc tính n-grams +
Dictionary với C = 0.1, gamma = 0.5, Kernel = exp (-gamma*|u-v|^2)
5
ĐẶT VẤN ĐỀ
Theo PGS.TS. Bùi Mạnh Hùng [1], để thực hiện mục đích phát ngôn, người
ta thường dùng cấu trúc cú pháp đặc trưng kết hợp với những phương tiện ngôn
ngữ riêng biệt như: tiểu từ, phụ từ, phụ tố, trật tự từ, ngữ điệu, hiện tượng tỉnh
lược, v.v. Nghĩa là có một mối tương quan khá đều đặn giữa hình thức của câu và
mục đích sử dụng nó. Từ đó hình thành nên khái niệm kiểu câu (sentence type)
và những kiểu câu thông dụng nhất thường được nhắc đến là: câu trần thuật, câu
nghi vấn, câu cầu khiến, câu cảm thán (x. J. Sadock & A. Zwicky 1990: 155-156).
Phân loại câu tiếng Việt bằng máy tính là bài toán cơ bản, làm tiền đề cho
các nghiên cứu cao hơn về xử lý và hiểu ngôn ngữ tự nhiên. Phân loại câu là một
trong những thành phần xử lý cốt lõi của hệ thống hỏi – đáp như phần mềm ứng
dụng VAV (Vitual Assistant for Vietnammese) – Trợ lý ảo cho người Việt do
MDN Team thuộc Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội sáng
lập, của hệ thống phân tích social media để nghiên cứu thị trường như các hệ
thống xử lý Big Data hay trong hệ thống tổng hợp tiếng nói như VOS – Tiếng nói
Phương Nam do Đại học Quốc gia Tp. Hồ Chí Minh sáng lập….
Hình 0.1 Giao diện phần mềm ứng dụng VAV – Trợ lý ảo cho người Việt
6
VAV là một ứng dụng thông minh trên di động cho phép người dùng tương
tác bằng giọng nói để hẹn chuông báo thức, đặt lịch cho một cuộc họp, bật định
vị, gọi điện cho ai đó, truy cập một trang web bất kỳ, tìm đường trên bản đồ, định
vị cây ATM của một ngân hàng nào đó gần với bạn, hay thưởng thức một bản
nhạc mình yêu thích … Được thiết kế và phát triển dựa trên các kỹ thuật trí tuệ
nhân tạo (học máy, phân tích và hiểu ngôn ngữ tự nhiên), VAV có thể hiểu được
ý định của người dùng dù họ diễn đạt câu lệnh của mình theo nhiều cách khác
nhau mà không cần tuân theo bất kỳ khuôn mẫu nào cho trước.
VAV - Ứng dụng trợ lý ảo cho người Việt là một trong những phần mềm
nhận được nhiều sự quan tâm trên các trang mạng xã hội, các diễn đàn công nghệ.
Phân loại câu giúp VAV lọc ra được những câu thuộc kiểu câu hỏi hoặc kiểu câu
cầu khiến để xử lý tiếp tục ở các pha tiếp theo hoặc VAV sẽ hồi đáp lại ngay cho
người dùng mà không cần xử lý nếu đó là câu cảm thán hoặc câu trần thuật qua
module hỗ trợ đã tích hợp sẵn trong VAV.
Big data là tập hợp dữ liệu lớn và đa dạng nên không thể xử lý bằng cách
thủ công hoặc bằng phần mềm thông thường. Việc thu thập, quản lý, phân tích dữ
liệu này đã trở thành ngành riêng trong công nghệ thông tin và thu hút được sự
chú ý của giới kinh doanh trong những năm gần đây vì tiềm năng của nó.
Hình 0.2 Nguồn dữ liệu cho Big Data
7
Social media chỉ trong thời gian ngắn đã tạo nên lượng dữ liệu bằng lượng
dữ liệu của cả thế giới vài thế hệ trước: Facebook mỗi ngày đều xử lý 500 terabytes
dữ liệu, Twitter mỗi ngày cũng xử lý 12 terabytes dữ liệu; trong khi đó sàn chứng
khoán New Yorks chỉ xử lý 1 terabytes dữ liệu. Lượng dữ liệu từ Social Media sẽ
là mỏ vàng đối với các doanh nghiệp muốn hiểu về hành vi khách hàng của mình,
cách họ đưa ra quyết định mua sắm, nhu cầu của họ trong tương lai gần...
Phân loại câu trong trường hợp này sẽ giúp hệ thống lọc ra được những câu
nào thể hiện trạng thái tâm lý của người dùng, những câu nào phản ánh sự khen
chê… để từ đó doanh nghiệp sẽ có thể đưa ra giải pháp cải tiến sản phẩm của họ
hoặc có những chiến lược thu hút khách hàng kịp thời.
Tương tự, trong hệ thống tổng hợp tiếng nói, Tiếng nói Phương Nam – VOS
là một hệ thống tổng hợp tiếng nói tiếng Việt, dành cho chính người Việt, có thể
tạo ra giọng nói nhân tạo của người trên máy tính từ dữ liệu đầu vào là văn bản.
Phân loại câu lúc này sẽ giúp hệ thống thêm được sắc thái cho câu văn trong đoạn
text đó.
Trong lĩnh vực truyền thông, hệ thống VOS có thể được áp dụng trong các
ứng dụng truy vấn thông tin qua tổng đài điện thoại, trong đó yêu cầu của người
dùng sẽ được ứng dụng tiếp nhận và xử lý thành dạng văn bản. Thông tin này sẽ
được hệ thống VOS chuyển thành dạng âm thanh và trả về cho người dùng. Các
hệ thống này có khả năng ứng dụng cao do quá trình xử lý hoàn toàn tự động, có
thể hoạt động liên tục, đáp ứng được nhu cầu về thông tin của người dùng, đặc
biệt là các thông tin nóng, cập nhật.
Trong lĩnh vực tự động hóa, hệ thống VOS có thể được tích hợp với hệ thống
định vị GPS trong các ứng dụng tìm đường đi, gắn trên xe hơi để cung cấp các chỉ
dẫn ở dạng âm thanh, hạn chế việc lái xe phải liên tục vừa nhìn màn hình GPS,
làm tăng độ an toàn cho người điều khiển.
Trong lĩnh vực giáo dục, VOS có thể được sử dụng để dạy tiếng Việt cho
con em Việt Kiều định cư ở nước ngoài, nhất là cách đọc, cách phát âm các từ
tiếng Việt. Đây là phần mềm thực hành tiếng Việt hữu hiệu, đặc biệt trong môi
trường mà ngôn ngữ sử dụng không phải là tiếng Việt.
8
Hình 0.3 Giao diện phần mềm VOS
9
Tuy nhiên, phân loại câu là công việc không hề đơn giản đặc biệt là phân
loại câu cho văn nói (Spoken Text). Theo [1], mối quan hệ giữa cái biểu đạt và
cái được biểu đạt của kí hiệu ngôn ngữ nói chung, mối quan hệ giữa hình thức của
câu với ý nghĩa và mục đích sử dụng của nó không phải là quan hệ một đối một.
Trong ngôn ngữ nào cũng có hiện tượng một hình thức câu được sử dụng nhằm
thực hiện nhiều mục đích phát ngôn1 khác nhau hoặc một mục đích phát ngôn có
thể được thực hiện thông qua nhiều hình thức câu khác nhau. Có những trường
hợp việc sử dụng một hình thức câu nào đó lại nhằm thực hiện một mục đích phát
ngôn vốn thường được thực hiện thông qua một hình thức câu khác. Vậy căn cứ
vào đâu để phân loại các kiểu câu?
Có 2 cách tiếp cận thường gặp:
Cách 1: Phân loại câu theo mục đích phát ngôn: giải thích khái niệm các
kiểu câu bằng cách nêu mục đích phát ngôn (công dụng) của câu, rồi sau đó nêu
những phương tiện ngôn ngữ cấu tạo các kiểu câu.
Cách 2: Căn cứ vào hình thức của câu để phân loại câu. Mục đích phát ngôn
(công dụng) của câu chỉ được xét đến sau khi các kiểu câu đã được xác định.
Cách tiếp cận thứ nhất không mấy phổ biến trong các tài liệu ngôn ngữ học
châu Âu. Sở dĩ như vậy vì trong nhiều ngôn ngữ biến hình như tiếng Anh, sự phân
biệt các kiểu câu vốn dựa trên hình thức của câu (cách tiếp cận thứ hai). Trái lại
cách phân loại này rất thường gặp trong các tài liệu tiếng Việt. Tuy nhiên, nếu
“phân loại câu theo mục đích phát ngôn” thì sẽ gặp nhiều vướng mắc về lý thuyết
và thực tiễn, thể hiện cụ thể qua những điểm sau đây:
1. Không giải thích được tại sao chỉ có 3-4 kiểu câu trong khi số lượng các
mục đích phát ngôn lên đến cỡ trăm.
2. Kiểu câu không phải khi nào cũng tương ứng với một mục đích phát ngôn
nào đó. Tại sao vô số câu thực hiện nhiều mục đích phát ngôn rất khác nhau lại
được gọi chung là câu trần thuật? Có phải chỉ có câu cảm thán mới biểu lộ tình
cảm, cảm xúc hay không? Có vô số câu nghi vấn như Mày nói cho cha mày nghe
đấy à?; Con có muốn ăn đòn không?; Muốn chết hả?; Ai mà biết được?; Ai ngờ
như thế?; Thấy chưa? (Đã bảo rồi mà không chịu nghe); v.v. không bao giờ được
dùng để hỏi.
Những cách phân biệt như “câu nghi vấn dùng để hỏi” với “câu nghi vấn
dùng để khẳng định”, “câu nghi vấn dùng để phủ định”, v.v. cho thấy cái gọi là
“phân loại câu theo mục đích phát ngôn” mâu thuẫn như thế nào. Một nhận định
như “câu nghi vấn là câu thường dùng để hỏi” có thể coi là hoàn toàn chính xác,
nhưng đó không phải là một định nghĩa. Một đặc trưng có tính định nghĩa phải là
1
phát ngôn là hành động của ngôn từ.
10
một đặc trưng mà tất cả các đối tượng ứng với định nghĩa đó đều chia sẻ, trừ
những ngoại lệ có phạm vi xác định và có thể giải thích được.
3. Trong rất nhiều trường hợp, mục đích phát ngôn chỉ có thể xác định rõ khi
đặt câu vào ngữ cảnh.
Vì vậy, mặc dù gọi “phân loại câu theo mục đích phát ngôn” và giải thích
khái niệm các kiểu câu bằng cách nêu mục đích phát ngôn mà câu thực hiện thì
trên thực tế các chuyên gia ngôn ngữ học lại áp dụng một cách mặc ẩn dấu hiệu
hình thức để phân loại câu [1]. Cách phân loại đó làm cho việc miêu tả các kiểu
câu tiếng Việt rất thiếu sự nhất quán. Điều đáng tiếc hơn là nó khiến cho nhiều
người thường nghĩ rằng trong trường hợp này công dụng là một tiêu chí để phân
loại câu, một đặc trưng có tính định nghĩa của các kiểu câu. Từ đó hình thành
những cách hiểu thường gặp như “câu trần thuật là câu dùng để kể, miêu tả, thông
báo”; “câu nghi vấn là câu dùng để hỏi”; “câu cầu khiến là câu dùng để ra lệnh,
yêu cầu, đề nghị”; “câu cảm thán là câu dùng để biểu lộ tình cảm, cảm xúc”.
Cách tiếp cận thứ hai thường gặp trong các công trình nghiên cứu ngôn
ngữ châu Âu. Những công trình này đều căn cứ vào hình thức của câu để xác định
các kiểu câu, rồi mới đề cập đến mối tương quan giữa các kiểu câu với công dụng
của nó. Trong Việt ngữ học, đã có một số tài liệu đề cập đến cách phân loại câu
theo hướng cách tiếp cận này như [1, 2, 3]. Mặc dù tiếng Việt không có phạm trù2
ngữ pháp “thức” và những dấu hiệu hình thức đánh dấu các phạm trù ngữ pháp
rất nghèo nàn, nhưng trong cấu trúc cú pháp của câu thường có những phương
tiện ngôn ngữ (chẳng hạn như một số từ ngữ nào đó) giúp ta quy câu về một kiểu
nhất định gắn với một mục đích phát ngôn điển hình. Đối với một ngôn ngữ đơn
lập, không biến hình như tiếng Việt thì việc tìm ra dấu hiệu hình thức trong nhiều
phạm trù ngôn ngữ là vấn đề không đơn giản. Hơn nữa, giữa văn viết và văn nói
có sự khác biệt rõ rệt. Trong khi văn viết có đầy đủ các phương tiện ngôn ngữ về
mặt hình thức như dấu câu và cú pháp ngữ pháp chặt chẽ thì văn nói hoàn toàn
ngược lại. Cụ thể, văn nói thường không theo một trật tự cú pháp nào và nó chỉ
gần giống với cú pháp ngữ pháp của văn viết. Vì trong các cuộc hội thoại, người
nói thường không quan tâm việc mình nói có đúng ngữ pháp hay không nhất là
Phạm trù là một trong những phương tiện nhận thức thế giới dùng trong nghiên cứu khoa học, đặc biệt là khoa
học xã hội. Khái niệm phạm trù được xuất hiện trong quá trình hình thành triết học. Trong vô vàn những sự vật,
hiện tượng, quá trình hỗn loạn của thế giới xung quanh con người cần tách riêng một thứ nào đó ra, tập trung sự
chú ý vào nó, xác định những đặc điểm tiêu biểu và quy luật phát triển của nó, xem xét quan hệ qua lại của nó đối
với những thứ khác. Như vậy phạm trù không đơn giản là sự phân loại. Sự phân loại chỉ có được chỉ sau khi xác
định phạm trù.
2
Phạm trù của một điều nào đó bao gồm khái niệm về điều đó và nội dung của nó. Khái niệm được xác định bởi
định nghĩa chung nhất với những đặc điểm chung nhất. Nội dung xác định bởi toàn bộ những đặc điểm có thể có,
quy luật phát triển của các đặc điểm, quan hệ đối với các điều khác trong thế giới. Định nghĩa và nội dung của
điều được xem xét tạo nên ranh giới nhất định của phạm trù tương ứng đó.
11
khi đó là tiếng mẹ đẻ của họ. Việc phát ngôn diễn ra ngẫu nhiên và ngắn gọn để
truyền tải thông điệp muốn nói một cách nhanh nhất là một trong những đặc trưng
cơ bản của văn nói. Một đặc điểm nữa là các câu văn nói thường rất ngắn. Thành
phần của câu như chủ ngữ hay vị ngữ thường bị bỏ qua. Ngoài ra, trong phạm vi
luận văn này, các câu nói của người dùng sau khi cho đi qua hệ thống hỗ trợ thu
nhận ASR (Google Voice) hoàn toàn trở thành chữ thường và không hề có dấu
câu.
Từ những nhập nhằng kể trên, chúng tôi tiến hành phân loại câu theo cách
tiếp cận thứ hai bằng các phương pháp học máy để phần nào giải quyết được
những tranh cãi trong ngành ngôn ngữ học từ bao năm qua.
Về phương pháp tiếp cận của bài toán, ngoài những phương pháp cơ bản
như:
Phương pháp thống kê để thu thập dữ liệu.
Phương pháp chuyên gia khi tham khảo các bài báo, giáo trình, các
bài giảng hay kỷ yếu hội nghị của các chuyên gia trong và ngoài nước
về chủ đề phân loại câu văn bản.
Phương pháp phân tích khi tìm hiểu các phương pháp giải quyết bài
toán, trong quá trình thực nghiệm với bộ dữ liệu đã thu được và tiền
xử lý để trở thành dữ liệu “sạch”.
Phương pháp tổng hợp khi tổng hợp kết quả và đưa ra kết luận.
thì các phương pháp học máy thống kê gồm:
Phương pháp Naïve Bayes
Phương pháp máy vector hỗ trợ SVMs
Phương pháp Maximum Entropy
được sử dụng để phân loại câu cho tập dữ liệu mà Google Voice thu được.
-
12
Luận văn được trình bày theo bố cục như sau:
Chương I. Giới thiệu về Phân loại câu và ứng dụng. Trong chương này
chúng tôi sẽ trình bày tổng quan về các công trình đã nghiên cứu về phân loại câu
và bài toán phân loại câu tiếng Việt một cách chi tiết nhất.
Chương II. Phân loại câu tiếng việt bằng các phương pháp học máy.
Chương này, chúng tôi sẽ đi sâu vào một số phương pháp để phân loại câu như
máy vector hỗ trợ (SVMs), Naïve Bayes và đặc biệt là phương pháp Maximum
Entropy.
Chương III. Thực nghiệm. Chương này là phần mô tả chi tiết điều kiện và
kết quả thu được khi thực nghiệm các phương pháp phân loại câu.
13
Chương I. Giới thiệu về phân loại câu và ứng dụng
1.1
Các công trình nghiên cứu về phân loại câu
PGS.TS. Bùi Mạnh Hùng [1] thuộc khoa Ngôn ngữ học, Trường Đại học
Khoa học Xã hội và Nhân văn, Đại học Quốc gia thành phố Hồ Chí Minh, trong
bài viết “Phân loại câu theo mục đích phát ngôn”, đã định nghĩa thế nào là kiểu
câu và những nhập nhằng khi phân loại câu theo mục đích phát ngôn. Từ đó, tác
giả đề xuất cách phân loại câu theo hình thức của câu (cách tiếp cận thứ hai).
Trong Hội nghị “Các phương pháp thực nghiệm trong xử lý ngôn ngữ tự
nhiên” năm 2011 (EMNLP-2011), Ashequl Qadir và Ellen Riloff [8] thuộc Đại
học Utah, Hoa Kỳ đã nghiên cứu các thể loại văn bản của diễn đàn, trong đó có
chứa hỗn hợp các câu bình luận thể hiện thông tin thực và các câu đàm thoại bao
gồm các hành vi giao tiếp giữa các nhà văn và độc giả. Mục tiêu của tác giả là xây
dựng một mô hình phân loại có thể xác định được một câu bất kỳ có chứa hành
động hay không và xem nó thuộc loại nào trong bốn loại sau: dự định trong tương
lai (Commissive), chỉ dẫn cho hành động (Directive), biểu lộ cảm xúc
(Expressive) và niềm tin về điều gì đó (Representative). Tác giả đã tiến hành thực
nghiệm bằng phương pháp máy vector hỗ trợ (SVMs) và sử dụng một loạt các
thuộc tính, bao gồm cả thuộc tính từ vựng kết hợp cú pháp, danh sách những từ
hành động (speech act) lấy từ các nghiên cứu khác hoặc các thuộc tính trong một
miền cụ thể. Kết quả được đánh giá trên bộ dữ liệu thu thập từ một diễn đàn trong
lĩnh vực thú y. Tác giả đã đạt được kết quả khá tốt trong khâu lọc dữ liệu xem một
câu bất kỳ là câu mô tả thông thường hay là câu có chứa hành động. Kết quả cho
thấy Representative và Commissive thường khó để phân loại, mặc dù tác giả đã
bổ sung nhiều các thuộc tính từ vựng, cú pháp và ngữ nghĩa. Tuy nhiên, bộ thuộc
tính này là độc lập về tên miền, nghĩa là với bất cứ lĩnh vực nào thì bộ thuộc tính
này vẫn sử dụng được. Hơn nữa, bộ thuộc tính này được tạo ra chỉ bằng các cụm
từ (part-of-speech tag) mà không cần phân tích ngữ nghĩa. Điều này rất quan trọng
cho những loại văn bản rời rạc trên các diễn đàn mà ở đó các câu văn thường sai
ngữ pháp, sai chính tả và dùng đa dạng các ký hiệu viết tắt.
Trong hội nghị ALTW-2006, Anthony Khoo và các cộng sự [12] thuộc Đại
học Monash, Australia đã trình bày một loạt các thực nghiệm liên quan đến phân
loại câu và chỉ ra các vấn đề khó khăn khi biểu diễn và lựa chọn các thuộc tính.
Dữ liệu được thu thập từ hàng loạt các cuộc hội thoại trên email (Email
Dialogues), diễn đàn.... SVMs được sử dụng để phân lớp loại dữ liệu này. Ngoài
ra, bài báo cũng chỉ ra sự tương đồng giữa phân loại câu và phân lớp văn bản. Tuy
nhiên, bài báo chỉ tập trung vào cách làm thế nào để lựa chọn các thuộc tính và
14
các phương pháp phân loại chứ không phải trình bày một phương pháp phân lớp
mới.
Ben Hachey & Claire Grover [13] thuộc Đại học Edinburgh, Vương quốc
Anh, tại Hội nghị thường niên lần thứ 17 về “Legal Knowledge and Information
System” năm 2004, đã tiến hành các thực nghiệm trong việc xây dựng một bộ
phân lớp xác định trạng thái tu từ của câu. Nghiên cứu này là một phần của dự án
tóm tắt văn bản trong lĩnh vực pháp luật mà tác giả đảm nhiệm. Phân loại vai trò
tu từ của câu là bước đầu tiên cung cấp đầu vào cho việc lựa chọn câu đầu vào
của hệ thống. Tác giả đã làm thực nghiệm với bốn phương pháp phân loại từ gói
phần mềm tích hợp sẵn Weka (C4.5, Naïve Bayes, Winnow và SVMs). Bộ phân
loại SVMs và Maximum Entropy mang lại kết quả khả quan nhất.
Bài báo của Helen Kwong & Neil Yorke-Smith [15] thuộc Đại học
Standford, Hoa Kỳ được đăng trên Tạp chí AI Communications Archive (2012)
đã nghiên cứu về “Sự phát hiện những cặp câu hỏi-đáp kiểu mệnh lệnh và mô tả
trong các đoạn hội thoại email”. Cặp hỏi-đáp trích xuất từ các chủ đề email có thể
giúp xây dựng lên bản tóm tắt của các chủ đề hội thoại, cũng như tạo thông báo
hỗ trợ dựa vào ngữ nghĩa bằng email. Khác với các nghiên cứu khác về câu nghi
vấn, trong bài báo này, tác giả đã mở rộng phạm vi nghiên cứu sang cả câu trả lời
để hoàn thiện các câu hỏi ở dạng mệnh lệnh và mô tả sao cho gần nhất với mức
độ đúng đắn của câu. Kế thừa những thành quả của các nghiên cứu trước đó,
phương pháp của tác giả dựa trên các mô hình học máy trong một tập các thuộc
tính bao gồm nội dung, bối cảnh và cấu trúc của các chủ đề email. Đối với hai tập
dữ liệu hội thoại trên email đủ lớn mà tác giả thu thập được, kết quả cho thấy
phương pháp của tác giả có độ chính xác và độ truy hồi khá cao và cân bằng khi
trích xuất cặp hỏi–đáp mà vẫn duy trì thời gian tính toán ở mức độ chấp nhận
được.
15
1.2. Phân loại câu tiếng Việt
1.2.1. Giới thiệu về bài toán Phân loại câu tiếng Việt
Phân loại câu tiếng Việt (Vietnammese Sentence Type Classification) là quá
trình tự động gán nhãn câu đó vào đúng kiểu câu mà nó biểu thị một cách chính
xác nhất có thể. Các kiểu câu phổ biến bao gồm: câu trần thuật, câu nghi vấn, câu
mệnh lệnh và câu cảm thán.
Bảng 1.1 Bảng mô tả các kiểu câu thông dụng
16
Hình 1.1 Mô hình đơn giản bài toán phân loại câu tiếng Việt
Hình 1.2 Ví dụ minh hoạ bài toán phân loại câu tiếng Việt
17
1.2.2. Các phương pháp giải quyết bài toán
Người ta thường dùng phương pháp học máy có giám sát để giải quyết bài
toán phân loại câu. Có rất nhiều phương pháp để tiếp cận với bài toán phân loại
câu như máy vector hỗ trợ (SVMs) [8, 12, 13, 15], Naïve Bayes [12] hay
Maximum Entropy [12, 15]. Trong phạm vi luận văn này, chúng tôi sẽ trình bày
thực nghiệm với cả 3 phương pháp trên. Dưới đây là mô hình chi tiết bài toán
phân loại câu tiếng Việt.
Dữ liệu Huấn luyện
(Labeled data)
Dữ liệu Test
(Labeled Data)
Dữ liệu mới
(UnLabeled Data)
Tách từ
Sinh thuộc tính: n-grams (n=1, 2); Từ điển
Mô hình phân lớp
(MaxEnt; Bayes; SVMs)
Các mô hình
đã huấn luyện
Kết quả Test
Kiểu câu
Hình 1.3 Mô hình tổng thể bài toán phân loại câu tiếng Việt
18
Chương II. Phân loại câu tiếng Việt bằng các phương pháp học máy
2.1.
Phát biểu bài toán phân loại câu tiếng Việt theo cách tường minh
Gọi T = {t1, t2, t3, t4} là tập các lớp kiểu câu với t1 = dec là lớp câu trần
thuật; t2 = int là lớp câu nghi vấn; t3 = imp là lớp câu cầu khiến; t4 = exc là lớp câu
cảm thán.
Giả sử S = {si} (i = 1, 2…) là không gian các câu cần phân lớp.
Gọi D = {(s1, t1), (s2, t2)…, (sn , t4)} trong đó sn S là tập dữ liệu huấn luyện
(training data).
Ta cần xây dựng một ánh xạ phân lớp f dựa trên tập dữ liệu huấn luyện D:
S T sao cho f phân lớp chính xác nhất có thể.
Ánh xạ phân lớp f được gọi là mô hình phân lớp (classification model,
classifier).
Mô hình f có thể xây dựng theo:
-
2.2.
Phương pháp Naïve Bayes
Phương pháp máy vector hỗ trợ (SVMs-Support Vector Machines)
Phương pháp cực đại hóa entropy (MaxEnt - Maximum Entropy
Classification)
Phương pháp Naïve Bayes
Giả sử T là biến ngẫu nhiên đại diện cho các lớp cần phân loại. Xác suất để
T nhận một lớp cụ thể nào đó được ký hiệu bằng các xác suất:
P(T = t1), P(T=t2), P(T = t3), P(T = t4).
Giả sử các câu cần phân lớp s có M thuộc tính (Features). Mỗi thuộc tính i
được biểu diễn bởi một biến ngẫu nhiên Fi, như vậy các đối tượng s được biểu
diễn bởi một bộ M biến ngẫu nhiên F = (F1, F2,… FM).
Ký hiệu P(Fi = vi| T = tk) là xác suất để thuộc tính/biến ngẫu nhiên Fi nhận
giá trị vi Vi với điều kiện s thuộc lớp tk.
19
Xác suất một đối tượng s thuộc lớp tk nào đó được tính như sau:
P(T = tk | S = s) =
P( S = s ⋀ T = tk)
P(S = s)
𝑀
[∏ 𝑃(𝐹𝑖 = 𝑣 𝑖 )| 𝑇 = 𝑡𝐾 ] 𝑃(𝑇 = 𝑡𝐾 )
=
𝑖=1
𝐾
𝑀
∑ [∏ 𝑃(𝐹𝑖 = 𝑣 𝑖 )| 𝑇 = 𝑡𝑗 ] 𝑃(𝑇 = 𝑡𝑗 )
𝑗=1 𝑖=1
Ta có mô hình phân lớp Naïve Bayes:
P( S = s ⋀ T = tk )
P(T = tk | S = s) =
P(S = s)
𝑖
[∏𝑀
𝑖=1 𝑃(𝐹𝑖 = 𝑣 ) | 𝑇 = 𝑡𝑘 ]𝑃(𝑇 = 𝑡𝑘 )
=
𝑖
∑𝑘𝑗=1[∏𝑀
𝑖=1 𝑃(𝐹𝑖 = 𝑣 ) | 𝑇 = 𝑡𝑗 ]𝑃(𝑇 = 𝑡𝑗 )
𝑀
𝛼 [∏ 𝑃(𝐹𝑖 = 𝑣 𝑖 )| 𝑇 = 𝑡𝐾 ] 𝑃(𝑇 = 𝑡𝐾 )
=
𝑖=1
classify ( s ) = argmax P( T =tk | S =s)
𝑀
= argmax [∏ 𝑃(𝐹𝑖 = 𝑣 𝑖 )| 𝑇 = 𝑡𝑘 ] 𝑃(𝑇 = 𝑡𝑘 )
tk 𝑖=1
𝑀
𝑖
= argmax [log 𝑃(𝑇 = 𝑡𝑘 ) + ∑ log 𝑃(𝐹𝑖 = 𝑣 |𝑇 = 𝑡𝑐 )]
𝑖
tk
20
2.3.
Phương pháp SVMs
Tương tự thuật toán Naïve Bayes, thuật toán SVMs là một phương pháp
thuộc lớp giải thuật phân lớp thống kê. Nó có khả năng xử lý cả dữ liệu tuyến tính
và dữ liệu không tuyến tính. SVMs tiếp cận giải quyết bài toán thông qua khái
niệm gọi là lề, đường biên… (margin). Lề được chọn là khoảng cách nhỏ nhất từ
đường phân cách đến mọi điểm dữ liệu hay là khoảng cách từ đường phân cách
đến những điểm gần nhất. Trong SVMs, đường phân lớp tốt nhất chính là đường
có khoảng cách margin lớn nhất (tức là sẽ tồn tại rất nhiều đường phân cách xoay
theo các phương khác nhau, và ta chọn ra đường phân cách mà có khoảng cách
margin là lớn nhất).
Với bài toán phân loại câu tiếng Việt, vì dữ liệu huấn luyện mô hình rời rạc
nên cần phải ánh xạ các điểm dữ liệu trong không gian ban đầu vào một không
gian mới nhiều chiều hơn, để việc phân tách chúng trở nên dễ dàng hơn trong
không gian mới.
/>
Hình 2.1 Mô hình SVMs
Khi đó, siêu phẳng h (phần mặt phẳng màu vàng) sẽ được biểu diễn bằng
công thức:
h (Z) = W*Z+b
Trong đó:
D là tập dữ liệu huấn luyện: (s1, t1), (s2, t2) … (s|D|, t|D|) với si là các câu trong
tập dữ liệu và ti là nhãn tương ứng của nó.
21
Mỗi câu s trong tập dữ liệu D có dạng s = (a1, a2, a3) với a1, a2, a3 là giá trị
tương ứng của các thuộc tính A1, A2, A3
W = {w1, w2,…, wn} là vector trọng số
Z = Ф(s) = (a1, a2, a3, a1*a1, a1*a2, a1*a3) là vector biểu diễn dữ liệu trong
không gian mới.
b là một số thực.
Để việc tính toán được thuận lợi, ta dùng hàm nhân K (kernel function) có
dạng:
K(si, sj) = Ф(si)Ф(sj) = exp(-gamma*|u-v|^2)
Bằng cách sử dụng hàm này thì ở bất kỳ đâu xuất hiện Ф(si)Ф(sj) ta thay
thế bằng hàm K(si, sj). Do đó, việc tính toán về bản chất sẽ được thực hiện trên
không gian dữ liệu ban đầu – không gian có số chiều nhỏ hơn nhiều.
22
2.4.
Thuật toán Maximum Entropy
Entropy là độ đo về tính đồng đều hay tính không chắc chắn của một phân
phối xác suất. Một phân phối xác suất có entropy càng cao thì phân phối của nó
càng đều.
Với bài toán phân lớp văn bản, trở ngại lớn nhất là số lượng mẫu quan sát rất
lớn nên cần thiết phải có thuật toán học tối ưu. So với các mô hình khác, Maximum
Entropy có khả năng học và nhớ đến hàng trăm nghìn đặc trưng, thậm trí hàng triệu
đặc trưng từ dữ liệu mẫu nhờ vào chiến lược tối ưu hóa hàm nhiều biến hiệu quả.
Đặc điểm này khiến cho Maximum Entropy chiếm ưu thế trong các bài toán phân
lớp văn bản.
Tập dữ liệu học (tức là tập gồm các dữ liệu đã được gán nhãn) được sử dụng
để tìm ra các ràng buộc cho mô hình, đó là cơ sở để ước lượng phân phối cho từng
lớp cụ thể. Những ràng buộc này được thể hiện bởi các giá trị ước lượng được của
các đặc trưng. Từ các ràng buộc sinh ra bởi tập dữ liệu này, mô hình sẽ tiến hành
tính toán để có được một phân phối cho mô hình Maximum Entropy.
Gọi P là không gian của tất cả các phân phối xác suất, C là tập con của P
sẽ được mô tả như sau:
C ≡ {p ∈ P | Epfi= E𝑝̃fi với i ∈ {1,2,…,n}}
Trong đó:
Epfi là kỳ vọng của f đối với p(y | x)
Epfi = ∑𝑝̃(x) p(y | x) fi(x , y)
E𝑝 ̃fi là kỳ vọng của f đối với 𝑝̃(x, y)
E𝑝̃fi = ∑𝑥,𝑦 𝑝̃(𝑥 , 𝑦) 𝑓𝑖(𝑥 , 𝑦)
Hình dưới đây mô tả 4 trường hợp của tập C khi có các ràng buộc. P biểu
diễn không gian của tất cả các phân phối xác suất.
23