Đồ án Các đặc trưng ngôn ngữ cho bài toán phân loại câu hỏi tiếng Việt

HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG  
KHOA CÔNG NGHỆ THÔNG TIN 1  
------------  
ĐỒ ÁN  
TỐT NGHIỆP ĐẠI HỌC  
Đề tài: “Các đặc trƣng ngôn ngữ cho bài  
toán phân loại câu hỏi tiếng Việt”  
Giảng viên hƣớng dẫn  
Sinh viên thực hiện  
Lớp  
: TS. NGÔ XUÂN BÁCH  
: NGUYỄN ĐÌNH NGHỊ  
: D11CNPM3  
Khóa:  
: 2011 – 2016  
Hệ đào tạo  
: ĐẠI HỌC CHÍNH QUY  
Hà Nội 12/2015  
 
ĐỒ ÁN TỐT NGHIỆP  
TÓM TẮT  
Trong thời đại bùng nổ Công nghệ thông tin hiện nay, phương thức sử dụng giấy  
tờ trong giao dịch đã dần được số hóa chuyển sang các dạng văn bản lưu trữ trên máy  
tính hoặc truyền tải trên mạng. Bởi nhiều tính năng ưu việt của tài liệu số như: cách  
lưu trữ gọn nhẹ, thời gian lưu trữ lâu dài, tiện dụng trong trao đổi, đặc biệt là qua  
Internet, nên ngày nay, số lượng văn bản số tăng lên một cách chóng mặt, đặc biệt là  
trên World Wide Web. Cùng với sự gia tăng về số lượng văn bản, nhu cầu tìm kiếm  
văn bản cũng tăng theo. Với số lượng văn bản đồ sộ thì yêu cầu cần có những hệ thống  
khai thác thông tin hiệu quả. Các công cụ tìm kiếm hiện thời chỉ trả về cho người dùng  
một tập các tài liệu liên quan có chứa từ khóa trong câu truy vấn của người dùng. Tuy  
nhiên, người dùng mong muốn một câu trả lời chính xác và cụ thể hơn, dẫn đến yêu  
cầu cần phải có một hệ thống hỏi đáp tự động.  
Trong những năm gần đây, 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, Mcrosoft, IBM, v.v.),  
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.v.) và đã đạt được những kết quả nhất định. Tuy nhiên các nghiên cứu về hệ thống  
hỏi đáp cho tiếng Việt vẫn còn rất hạn chế. Điều này một phần là do thiếu các công cụ  
đủ tốt để xử lý tiếng Việt như nhận dạng thực thể tên, phân tích cú pháp, v.v.  
Đồ án “Các đặc trưng ngôn ngữ cho bài toán phân loại câu hỏi tiếng Việt” tập  
trung nghiên cứu về vấn đề phân loại câu hỏi cho tiếng Việt, đây là pha đầu tiên trong  
một hệ thống hỏi đáp tiếng Việt, có ý nghĩa đặc biệt quan trọng với hoạt động của cả  
hệ thống. Khi một câu hỏi được phân loại sẽ giúp chúng ta thu hẹp được không gian  
tìm kiếm câu trả lời cho câu hỏi và từ đó giúp hệ thống hỏi đáp có thể đưa ra được các  
câu trả lời ngắn gọn và chính xác hơn.  
Trên cơ sở các nghiên cứu đã có và điều kiện thực tế của các công cụ xử lý ngôn  
ngữ tiếng Việt, chúng tôi tiến hành thực nghiệm việc phân loại câu hỏi tiếng Việt trên  
hai bộ dữ liệu: bộ dữ liệu một gồm 3000 câu hỏi tiếng Việt, bộ dữ liệu hai gồm 3000  
câu hỏi tiếng Việt và đi kèm với mỗi câu hỏi là 5 câu truy vấn từ Google. Chúng tôi sử  
dụng một số phương pháp học máy thống kê như Máy véc tơ hỗ trợ (SVM), Naïve  
Bayes (NB), K-láng giềng gần nhất và tiến hành thực nghiệm trên các đặc trưng ngôn  
ngữ tiếng Việt như đặc trưng từ vựng, đặc trưng âm tiết, n-grams, đặc trưng nhãn từ  
loại và đặc trưng cú pháp của câu. Các kết quả ban đầu đạt được khá khả quan. Bộ  
phân lớp câu hỏi đạt được kết quả tốt nhất là 85.53% khi sử dụng thuật toán SVM cho  
đặc trưng âm tiết 1+2 grams kết hợp với đặc trưng nhãn từ loại và đặc trưng cú pháp.  
Từ khóa: Hệ thống hỏi đáp, phân loại câu hỏi, Máy véc tơ hỗ trợ, K-láng giềng  
gần nhất, Naïve Bayes, cây cú pháp, n-grams.  
GVHD: TS. Ngô Xuân Bách  
i
SVTH: Nguyễn Đình Nghị – D11CNPM3  
ĐỒ ÁN TỐT NGHIỆP  
LỜI CẢM ƠN  
Em xin chân thành cảm ơn TS. Ngô Xuân Bách, bộ môn Khoa học máy tính, Khoa  
Công nghệ thông tin 1 đã tận tình chỉ dạy và hướng dẫn cho em trong việc lựa chọn đề  
tài, thực hiện đề tài và viết báo cáo đồ án, giúp cho em có thể hoàn thành tốt đồ án này.  
Em xin cảm ơn các thầy cô giáo Học viện Công nghệ Bưu chính Viễn thông, đặc  
biệt các thầy cô trong khoa Công nghệ thông tin 1 đã tận tình dạy dỗ và chỉ bảo em  
trong suốt 4 năm học.  
Cuối cùng em xin cảm ơn gia đình, bạn bè, đồng nghiệp, những người đã luôn bên  
cạnh động viên em những lúc khó khăn, và giúp đỡ em trong suốt thời gian học tập và  
làm đồ án, tạo mọi điều kiện tốt nhất cho em để có thể hoàn thành tốt đồ án của mình.  
Em xin chân thành cảm ơn!  
Hà Nội, 12/2015  
Sinh viên  
Nguyễn Đình Nghị  
GVHD: TS. Ngô Xuân Bách  
ii  
SVTH: Nguyễn Đình Nghị – D11CNPM3  
 
ĐỒ ÁN TỐT NGHIỆP  
NHẬN XÉT  
(Của giảng viên phản biện)  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
Hà Nội, 12/2015  
Giảng viên phản biện  
GVHD: TS. Ngô Xuân Bách  
iii  
SVTH: Nguyễn Đình Nghị – D11CNPM3  
ĐỒ ÁN TỐT NGHIỆP  
NHẬN XÉT  
(Của giảng viên hƣớng dẫn)  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
…………………………………………………………………………………………..  
Hà Nội, 12/2015  
Giảng viên hướng dẫn  
GVHD: TS. Ngô Xuân Bách  
iv  
SVTH: Nguyễn Đình Nghị – D11CNPM3  
ĐỒ ÁN TỐT NGHIỆP  
MỤC LỤC  
GVHD: TS. Ngô Xuân Bách  
v
SVTH: Nguyễn Đình Nghị – D11CNPM3  
ĐỒ ÁN TỐT NGHIỆP  
DANH MỤC HÌNH VẼ  
GVHD: TS. Ngô Xuân Bách  
vii  
SVTH: Nguyễn Đình Nghị – D11CNPM3  
 
ĐỒ ÁN TỐT NGHIỆP  
DANH MỤC BẢNG BIỂU  
GVHD: TS. Ngô Xuân Bách  
viii  
SVTH: Nguyễn Đình Nghị – D11CNPM3  
 
ĐỒ ÁN TỐT NGHIỆP  
BẢNG THUẬT NGỮ TIẾNG ANH  
Viết tắt  
Từ tiếng Anh  
Giải nghĩa  
Hiệp hội ngôn ngữ học tính toán  
Association for Computational  
Linguistics  
ACL  
The Cross-Language Evaluation Diễn đàn đánh giá ngôn ngữ  
CLEF  
KNN  
Forum  
chéo  
Thuật toán K láng giềng gần  
nhất  
K-Nearest Neighbors  
Maximum Entropy Model  
Naïve Bayes  
Mô hình Entropy cực đại  
Phương pháp Bayes đơn giản  
Nhãn từ loại  
MEM  
NB  
POS  
QA  
Part Of Speech  
Question Answering  
Support Vector Machine  
Text Retrieval Conference  
Hệ thống hỏi đáp  
Máy véc tơ hỗ trợ  
SVM  
TREC  
Hội nghị truy xuất văn bản  
GVHD: TS. Ngô Xuân Bách  
ix  
SVTH: Nguyễn Đình Nghị – D11CNPM3  
 
ĐỒ ÁN TỐT NGHIỆP  
LỜI NÓI ĐẦU  
Nghiên cứu về hệ thống hỏi đáp tự động (Q&A) [15] đã được quan tâm từ rất lâu  
trên thế giới. Ngay từ những năm 1960, các hệ thống hỏi đáp đầu tiên sử dụng cơ sở  
dữ liệu đã được ra đời. Đến những năm 1970-1980, rất nhiều dự án lớn hướng đến việc  
“hiểu văn bản” và xây dựng hệ thống hỏi đáp dựa trên các mô hình ngôn ngữ thống kê.  
Cuối những năm 1990, World Wide Web ra đời và phát triển nhanh chóng trở thành  
một kho ngữ liệu khổng lồ. Các nhà nghiên cứu về hệ thống hỏi đáp cũng bắt đầu khai  
thác web như là một nguồn dữ liệu cho việc tìm kiếm câu trả lời. Các kĩ thuật mới đòi  
hỏi tốc độ cao, khả năng xử lý lượng dữ liệu web lớn đang rất được quan tâm. Tuy  
nhiên các nghiên cứu về xây dựng hệ thống hỏi đáp cho tiếng Việt vẫn còn rất nhiều  
hạn chế. Một trong những lý do chính là chúng ta còn thiếu các công cụ xử lý tiếng  
Việt, các tài nguyên ngôn ngữ học.  
Phân loại câu hỏi [15] là pha đầu tiên trong kiến trúc chung của một hệ thống hỏi  
đáp, có nhiệm vụ tìm ra các thông tin cần thiết làm đầu vào cho quá trình xử lý của các  
pha sau (trích chọn tài liệu, trích xuất câu trả lời, v.v.). Vì vậy phân loại câu hỏi có vai  
trò hết sức quan trọng, ảnh hưởng trực tiếp đến hoạt động của toàn bộ hệ thống. Phân  
loại câu hỏi là việc gán các nhãn phân loại cho một câu hỏi dựa trên mức độ tương tự  
của câu hỏi đó so với các câu hỏi đã được gán nhãn trong tập huấn luyện. Phân loại  
câu hỏi nhận đầu vào là câu hỏi của người dùng dưới dạng ngôn ngữ tự nhiên, và đầu  
ra là nhãn phân loại của câu hỏi. Khi một câu hỏi được phân loại đúng thì việc tìm câu  
trả lời cho câu hỏi đó sẽ được chính xác hơn. Ví vụ với câu hỏi “Thành phố nào có  
diện tích lớn nhất Việt Nam?”, nếu chúng ta biết được kiểu câu trả lời là thành phố thì  
nó có thể giúp chúng ta giới hạn được các câu trả lời, thay vì việc phải đi kiểm tra các  
danh từ trong các tài liệu cung cấp câu trả lời.  
Đồ án “Các đặc trưng ngôn ngữ cho bài toán phân loại câu hỏi tiếng Việt” thực  
hiện khảo sát, nghiên cứu các phương pháp xây dựng hệ thống hỏi đáp và phân loại  
câu hỏi đang được quan tâm hiện nay, từ đó đưa ra phương pháp phân loại câu hỏi phù  
hợp nhất cho hệ thống hỏi đáp tiếng Việt. Những nghiên cứu trong đồ án có thể coi là  
tiền đề cho các nghiên cứu tiếp theo để xây dựng một hệ thống hỏi đáp hoàn thiện cho  
tiếng Việt.  
Hiện nay có nhiều phương pháp khác nhau để tiếp cận với bài toán phân loại câu  
hỏi, trong phạm vi đồ án này, chúng tôi thực hiện phân loại câu hỏi sử dụng cách tiếp  
cận học máy thống kê, cụ thể là sử dụng 3 thuật toán: Máy véc tơ hỗ trợ (SVM), Naïve  
Bayes (NB) và K-láng giềng gần nhất (KNN). Với thuật toán SVM, chúng tôi sử dụng  
công cụ libsvm [21] để tiến hành làm thực nghiệm, với các thuật toán còn lại, chúng  
tôi sử dụng công cụ Weka [22] để làm thực nghiệm. Các thuật toán được áp dụng làm  
thực nghiệm trên các đặc trưng ngôn ngữ tiếng Việt gồm có: đặc trưng từ vựng, đặc  
trưng âm tiết, n-grams, đặc trưng nhãn từ loại, và đặc trưng về cú pháp phụ thuộc của  
tiếng Việt. Các đặc trưng này sẽ được biểu diễn dưới dạng các vector đặc trưng, làm  
đầu vào cho các thuật toán. Kết quả thực nghiệm tốt nhất đạt được khi sử dụng thuật  
GVHD: TS. Ngô Xuân Bách  
1
SVTH: Nguyễn Đình Nghị – D11CNPM3  
 
ĐỒ ÁN TỐT NGHIỆP  
toán SVM trên đặc trưng âm tiết 1+2 grams kết hợp với đặc trưng nhãn từ loại và đặc  
trưng cú pháp là 85.53%, với các thuật toán Naïve Bayes, K-láng giềng gần nhất, kết  
quả tốt nhất lần lượt là: 77.56%, 70.83%.  
Đồ án được trình bày thành 3 chương như sau:  
CHƢƠNG 1: GIỚI THIỆU HỆ THỐNG HỎI ĐÁP VÀ BÀI TOÁN PHÂN  
LOẠI CÂU HỎI  
Nội dung của chương này giới thiệu tổng quan về hệ thống hỏi đáp tự động, bài  
toán phân loại câu hỏi và trình bày những đóng góp chính của đồ án.  
CHƢƠNG 2: HỆ THỐNG PHÂN LOẠI CÂU HỎI TIẾNG VIỆT  
Chương 2 trình bày một số phương pháp lấy đặc trưng ngôn ngữ tiếng Việt cho  
bài toán phân loại câu hỏi tiếng Việt và các thuật toán học máy thống kê được sử dụng  
để tiến hành thực nghiệm trên các đặc trưng đó.  
CHƢƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ  
Trong chương 3, đồ án trình bày chi tiết về quá trình làm thực nghiệm gồm có  
cách thu thập dữ liệu, cách xử lý dữ liệu, chi tiết từng bước làm thực nghiệm, đánh giá  
kết quả thực nghiệm.  
GVHD: TS. Ngô Xuân Bách  
2
SVTH: Nguyễn Đình Nghị – D11CNPM3  
ĐỒ ÁN TỐT NGHIỆP  
Chương 1: Giới thiệu  
CHƢƠNG 1: GIỚI THIỆU HỆ THỐNG HỎI ĐÁP VÀ BÀI TOÁN  
PHÂN LOẠI CÂU HỎI  
Trong chương 1, đồ án trình bày cái nhìn tổng quan về hệ thống hỏi đáp tự động,  
bao gồm các khái niệm cơ bản liên quan tới hệ thống hỏi đáp, phân loại hệ thống hỏi  
đáp và kiến trúc chung của một hệ thống hỏi đáp. Ngoài ra, chương 1 cũng giới thiệu  
về bài toán phân loại câu hỏi, các cách tiếp cận với bài toán phân loại câu hỏi và mô  
hình của các giai đoạn phân loại câu hỏi, các nghiên cứu liên quan và những đóng góp  
mà đồ án đã thực hiện được.  
1.1  
Giới thiệu hệ thống hỏi đáp tự động  
Với nhu cầu trao đổi thông tin của con người ngày càng cao, thông tin tràn ngập  
trên mọi phương tiện truyền thông, đặc biệt là sự phát triển rộng rãi của mạng toàn cầu  
Internet, hằng ngày con người phải xử lý một lượng thông tin khổng lồ. Những thắc  
mắc của người dùng dưới dạng truy vấn sẽ được tìm kiếm và trả về một cách ngắn  
gọn, súc tích, chính xác nhất những gì mà họ mong muốn. Đó chính là mục tiêu của hệ  
thống hỏi đáp tự động. Rất nhiều hệ thống hỏi đáp thông tin qua mạng ra đời nhằm đáp  
ứng nhu cầu này.  
Nghiên cứu về hệ thống hỏi đáp tự động [15] 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ư TREC [24], CLEF  
[25], v.v. Ngoài ra còn có các phần mềm thương mại liên quan đến QA cũng được  
phát triển như Yahoo Answers [26] của Yahoo, Google Question [27] của Google,  
Live QnA của Microsoft, v.v. và đặc biệt có hai phần mềm là Answers.com của  
Answer Corp đạt được 9.5 triệu đô la và Ask của InterActive Corp đạt được 227 triệu  
đô la mỗi năm [8].  
Hệ thống hỏi đáp tự động (Question Answering - QA) là một hệ thống được xây  
dựng để thực hiện việc tìm kiếm câu trả lời cho một câu hỏi của người dùng từ một tập  
lớn các tài liệu một cách chính xác và ngắn gọn. Hệ thống hỏi đáp tự động liên quan  
đến 3 lĩnh vực lớn là xử lý ngôn ngữ tự nhiên (Natuaral Language Processing), tìm  
kiếm thông tin (Information Retrieval) và rút trích thông tin (Information Extraction).  
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 và trả lại các đoạn văn bản ngắn chứa câu trả lời trực tiếp cho câu hỏi.  
Bài toán xây dựng hệ thống hỏi đáp [15] là một bài toán khó thuộc lĩnh vực xử lý  
ngôn ngữ tự nhiên. 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.  
GVHD: TS. Ngô Xuân Bách  
3
SVTH: Nguyễn Đình Nghị – D11CNPM3  
   
ĐỒ ÁN TỐT NGHIỆP  
Chương 1: Giới thiệu  
Ví dụ câu hỏi: “Ai là tác giả Nhật ký trong tù?”  
Câu trả lời mong đợi: “Hồ Chí Minh”.  
Tuy nhiên hiện nay, đa phần các hệ thống hỏi đáp chỉ trả lời ở mức đưa ra các  
đoạn trích dẫn có chứa thông tin về câu trả lời như sau:  
- “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.”  
- “Nhật ký trong tù, dịch tiếng Hán – Ngục trung nhật ký là một tập thơ của  
Hồ Chí Minh,…”.  
Hay câu hỏi “Mozart sinh năm nào?” và câu trả lời “…Mozart(1751 - 1791)…”  
Để tìm được câu trả lời trên cho câu hỏi, hệ thống cần có cơ chế để biết được  
rằng “tác giả của một tập thơ là người viết tập thơ đó” 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ỉ v.v.)  
tương ứng với từng loại câu hỏi. Các hệ thống QA trên thế giới hiện nay sử dụng rất  
nhiều các công cụ xử lý ngôn ngữ như: Bộ gán nhãn từ loại (POS Tagger), bộ nhận  
dạng tên thực thể (Named Entity Recognizer), bộ phân tích ngữ pháp (Parser) v.v. và  
các tài nguyên ngôn ngữ như Wordnet, ontology để phân tích câu hỏi và trích xuất câu  
trả lời [15].  
Có 2 loại hệ thống hỏi đáp:  
- Hệ thống hỏi đáp lĩnh vực hẹp (Closed-domain Question Answering): hệ  
thống này liên quan đến các câu hỏi trong một lĩnh vực cụ thể, chẳng hạn như  
lĩnh vực y học, du lịch, kinh tế, thể thao, v.v.  
- Hệ thống hỏi đáp lĩnh vực rộng (Open-domain Question Answering): hệ  
thống này liên quan đến các câu hỏi gần như là về tất cả mọi thứ.  
Có nhiều phương pháp được đề xuất để xây dựng hệ thống hỏi đáp. Năm 1997,  
hệ thống trực tuyến START sử dụng một cơ sở dữ liệu để phân tích câu hỏi và đưa ra  
câu trả lời [4]. Hầu hết các hệ thống QA hiện đại sử dụng kĩ thuật trích xuất mối quan  
hệ ngữ nghĩa. Ví dụ, năm 2002 Ravichandran và Hovy đề xuất trích mối quan hệ ngữ  
nghĩa sử dụng máy tìm kiếm [5]. Năm 2009, Fahmi tăng độ bao phủ của các mối quan  
hệ bằng cách sử dụng học nửa giám sát để tự động tạo ra các mối quan hệ từ một tập  
lớn dữ liệu [1].  
GVHD: TS. Ngô Xuân Bách  
4
SVTH: Nguyễn Đình Nghị – D11CNPM3  
ĐỒ ÁN TỐT NGHIỆP  
Chương 1: Giới thiệu  
Kiến trúc hệ thống hỏi đáp:  
Hình 1-1: Kiến trúc hệ thống hỏi đáp [12].  
- Giao diện ngƣời dùng: cung cấp giao diện cho phép người dùng nhập câu  
hỏi vào. Các câu hỏi sau đó được gửi đi, hệ thống sẽ xử lý và trả về cho người  
dùng một câu trả lời dưới định dạng tương tự.  
- Phân tích câu hỏi: câu hỏi được phân tích và xử lý để trích lọc càng nhiều  
thông tin càng tốt mà có thể được sử dụng sau này trong giai đoạn tìm kiếm  
dữ liệu.  
- Tìm kiếm dữ liệu: một số thông tin đã được trích xuất trong giai đoạn phân  
tích câu hỏi sẽ được sử dụng để tìm kiếm thông tin trong cơ sở tri thức.  
- Rút trích câu trả lời: rút trích câu trả lời thuộc lĩnh vực rút trích thông tin.  
Thông tin đã được trả về trong giai đoạn này có thể là các tài liệu hoặc các  
văn bản từ việc truy vấn cơ sở dữ liệu.  
- Xếp hạng: nếu các kết quả của giai đoạn rút trích câu trả lời có nhiều hơn  
một câu trả lời thì các câu trả lời sẽ được xếp hạng dựa trên mức độ liên quan  
về mặt ngôn ngữ với câu hỏi của người dùng.  
- Xác minh câu trả lời: một số hệ thống QA cải thiện tính chính xác bằng cách  
phân tích các câu trả lời thu được, qua việc sử dụng phương pháp xử lý ngôn  
ngữ tự nhiên bằng cách phân tích sâu hơn để xác minh lại câu hỏi. Các câu  
hỏi và câu trả lời được phân tích cú pháp và chuyển đổi sang cùng một hình  
GVHD: TS. Ngô Xuân Bách  
5
SVTH: Nguyễn Đình Nghị – D11CNPM3  
 
ĐỒ ÁN TỐT NGHIỆP  
Chương 1: Giới thiệu  
thức logic. Các câu hỏi và câu trả lời sau đó được so sánh với nhau để xác  
minh tính hợp lý của câu trả lời.  
1.2  
Bài toán phân loại câu hỏi  
Phân loại câu hỏi đóng một vai trò quan trọng trong hệ thống trả lời câu hỏi.  
Trước khi tìm ra được câu trả lời cho câu hỏi, hệ thống cần phải xác định được câu hỏi  
đó thuộc loại nào, hỏi về cái gì. Ví dụ câu hỏi “Dân số Việt Nam là bao nhiêu?” là câu  
hỏi về “số lượng”, hay câu “Ai là tổng thống Mỹ?” là câu hỏi về “người”. Xác định  
được loại câu hỏi sẽ giúp thu hẹp được không gian tìm kiếm câu trả lời.  
Bài toán phân loại câu hỏi thực chất có thể xem là bài toán phân lớp. Phân loại  
câu hỏi là việc gán các nhãn phân loại cho các câu hỏi dựa trên mức độ tương tự của  
câu hỏi đó so với các câu hỏi đã được gán nhãn trong tập huấn luyện. Nó ánh xạ một  
câu hỏi vào một chủ đề đã biết trong một tập hữu hạn các chủ đề dựa trên các đặc  
trưng của câu hỏi. Phân loại câu hỏi [15] 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, đưa ra nhãn phân loại cho câu hỏi đó, xem câu hỏi đó thuộc  
loại nào. Các câu hỏi có thể được phân vào các loại như địa điểm, số lượng, người, mô  
tả, khoảng cách, v.v. Ví dụ câu hỏi “Hồ Chí Minh là ai?” là câu hỏi thuộc loại Người,  
hay câu hỏi “Trường Học viện Công nghệ Bưu chính Viễn thông nằm ở đâu?” là câu  
hỏi thuộc loại Địa điểm.  
Nhiều kĩ thuật máy học và khai phá dữ liệu đã được áp dụng vào bài toán phân  
loại câu hỏi như: cây quyết định (decision tree), NaiveBayes, K-láng giềng gần nhất  
(KNN), mạng nơron (neural network), v.v. Phân loại câu hỏi [14] thường gồm 2 giai  
đoạn: giai đoạn huấn luyện và giai đoạn phân lớp:  
Giai đoạn huấn luyện:  
Ngữ liệu  
huấn luyện  
Tiền xử lý  
Vector hóa  
Mô hình  
phân loại  
Trích chọn  
đặc trưng  
Thuật toán  
huấn luyện  
Hình 1-2: Mô hình giai đoạn huấn luyện [14].  
Giai đoạn huấn luyện nhận đầu vào là tập ngữ liệu huấn luyện gồm các câu hỏi  
đã được gán nhãn, sau khi xử lý tập ngữ liệu và áp dụng các thuật toán huấn luyện sẽ  
cho ra đầu ra là một mô hình phân loại.  
GVHD: TS. Ngô Xuân Bách  
6
SVTH: Nguyễn Đình Nghị – D11CNPM3  
   
ĐỒ ÁN TỐT NGHIỆP  
Chương 1: Giới thiệu  
Giai đoạn phân lớp:  
Câu hỏi  
Tiền xử lý  
Vector hóa  
Trích chọn  
đặc trưng  
Nhãn cho  
câu hỏi  
Sử dụng mô  
hình phân lớp  
Hình 1-3: Mô hình giai đoạn phân lớp [14].  
Giai đoạn phân lớp nhận đầu vào là câu hỏi của người dùng dưới dạng ngôn ngữ  
tự nhiên, sau quá trình xử lý và áp dụng mô hình phân loại sẽ cho ra nhãn phân loại  
của câu hỏi đầu vào.  
1.3  
Các nghiên cứu liên quan  
Hiện nay đã có một số nghiên cứu về bài toán phân loại câu hỏi, đặc biệt là tiếng  
Anh như nghiên cứu của Zhiheng Huang và các cộng sự [3]. Nghiên cứu này sử dụng  
5 đặc trưng gồm wh-word, head word, wordnet semantic, n-grams, word shape và sử  
dụng hai cách tiếp cận là Máy vector hỗ trợ (SVM) và Mô hình entropy cực đại  
(MEM) với kết quả đạt được lần lượt là 89.2% và 89.0%. Nghiên cứu của Dell Zhang  
và Wee Sun Lee [9] sử dụng hai đặc trưng là bag-of-word và n-grams. Nghiên cứu đã  
tiến hành thực nghiệm với 5 thuật toán gồm: Support Vector Machine (SVM), K-  
nearest neighbors (KNN), Naïve Bayes (NB), Decision Tree (DT), Sparse Network of  
Winnows (SNoW), và các thực nghiệm được thực hiện với các kích thước dữ liệu khác  
nhau. Với bộ dữ liệu 1000 câu hỏi, sử dụng đặc trưng từ vựng, độ chính xác của các  
thuật toán lần lượt là: KNN đạt được 70%, NB đạt 53.8%, DT đạt 78.8%, SnoW đạt  
71.8% và SVM đạt 76.8%. Với bộ dữ liệu 3000 câu hỏi, độ chính xác của các thuật  
toán lần lượt là: KNN đạt 74.8%, NB đạt 74.2%, DT đạt 82%, SnoW đạt 74.2% và  
SVM đạt 87.4%. Khi áp dụng trên đặc trưng n-grams, với bộ dữ liệu 1000 câu hỏi,  
KNN đạt được độ chính xác 72%, NB đạt 73%, DT đạt 73.8%, SnoW đạt 59.8% và  
SVM đạt 77.6%. Với bộ dữ liệu 3000 câu hỏi, độ chính xác của KNN, NB, DT, SnoW  
và SVM lần lượt là: 79.8%, 80%, 83%, 80.6%, 84%. Hầu hết các thực nghiệm đều cho  
thấy kết quả phân loại sử dụng thuật toán SVM đạt được độ chính xác cao nhất.  
Một số nghiên cứu về phân loại câu hỏi trong tiếng Việt như nghiên cứu của Trần  
Vũ Mai và các cộng sự [8], nghiên cứu này đã kết hợp hệ thống SnowBall và phương  
pháp trích xuất mối quan hệ ngữ nghĩa sử dụng máy tìm kiếm cho tập văn bản tiếng  
Việt. Thực nghiệm ban đầu của mô hình cho thấy hệ thống có thể trả lời chính xác  
được 89.1% câu hỏi của người dùng đưa vào và khả năng đưa ra câu trả lời là 91.4%.  
Nghiên cứu của Trần Hải Đăng và các cộng sự [7] đã sử dụng công cụ Weka để chạy  
các thuật toán học máy Cây quyết định (DT), Naïve Bayes (NB), Máy véc tơ hỗ trợ  
(SVM) với các đặc trưng được sử dụng là từ vựng và từ khóa. Với 6 lớp phân loại,  
GVHD: TS. Ngô Xuân Bách  
7
SVTH: Nguyễn Đình Nghị – D11CNPM3  
   
ĐỒ ÁN TỐT NGHIỆP  
Chương 1: Giới thiệu  
phương pháp cây quyết định đạt được độ chính xác là 86.2%, phương pháp Naïve  
Bayes đạt được độ chính xác là 87.4%, và độ chính xác của phương pháp SVM là  
94.1%. Với 50 lớp phân loại, độ chính xác của phương pháp cây quyết định là 80.3%,  
phương pháp Naïve Bayes là 81.1%, và phương pháp SVM là 94%.  
1.4  
Đóng góp của đồ án  
Đồ án có một số đóng góp cơ bản sau:  
- Nghiên cứu về hệ thống hỏi đáp và bài toán phân loại câu hỏi với các đặc  
trưng từ vựng, âm tiết, n-grams, nhãn từ loại và cây cú pháp.  
- Thực nghiệm đánh giá với một số phương pháp học máy gồm có Máy véc tơ  
hỗ trợ, Naïve Bayes và K-láng giềng gần nhất.  
- Đồ án cung cấp dữ liệu về nhãn từ loại và cây cú pháp của 3000 câu hỏi tiếng  
Việt.  
- Ngoài ra đồ án còn cung cấp bộ dữ liệu các câu truy vấn tiếng Việt được thu  
thập từ trang web google.com. Các câu truy vấn này được bổ sung vào 3000  
câu hỏi tiếng Việt.  
GVHD: TS. Ngô Xuân Bách  
8
SVTH: Nguyễn Đình Nghị – D11CNPM3  
 
ĐỒ ÁN TỐT NGHIỆP  
Chương 2: Hệ thống phân loại câu hỏi tiếng Việt  
CHƢƠNG 2: HỆ THỐNG PHÂN LOẠI CÂU HỎI TIẾNG VIỆT  
Trong chương 2, đồ án trình bày một số phương pháp lấy đặc trưng cho phân loại  
câu hỏi tiếng Việt gồm có đặc trưng từ vựng, đặc trưng âm tiết, n-grams, đặc trưng  
nhãn từ loại, đặc trưng cú pháp. Ngoài ra, đồ án còn trình bày các thuật toán được sử  
dụng khi làm thực nghiệm gồm có Máy véc tơ hỗ trợ, Naïve Bayes và K-láng giềng  
gần nhất.  
2.1  
Vấn đề phân loại câu hỏi cho tiếng Việt  
Chúng ta có một tập câu hỏi tiếng Việt, mục đích của chúng ta là phân loại cho  
các câu hỏi đó, xác định xem câu hỏi đó thuộc lĩnh vực nào như: số lượng, địa điểm,  
mô tả, v.v.  
Đầu vào: câu hỏi tiếng Việt của người dùng  
Đầu ra: nhãn phân loại cho câu hỏi của người dùng  
Ví dụ: câu hỏi “Cầu thủ nào giành quả bóng vàng năm 2014?” sẽ có nhãn phân  
loại là Người. Hay câu “Sân vận động Bernabeu nằm ở đâu?” sẽ có nhãn phân loại là  
Địa điểm.  
Chúng ta có mô hình phân loại câu hỏi:  
Trích chọn  
đặc trưng  
Thuật toán  
học máy  
Đầu vào  
Đầu ra  
Câu hỏi tiếng  
Việt  
- Từ vựng  
- Âm tiết  
- SVM  
- NB  
Kiểu câu hỏi  
- n-grams  
- Nhãn từ loại  
- Cú pháp  
- KNN  
Hình 2-1: Kiến trúc hệ thống phân loại câu hỏi tiếng Việt.  
Hệ thống phân loại câu hỏi cho tiếng Việt gồm có 2 thành phần chính:  
- Bộ trích chọn đặc trƣng: trích xuất ra các đặc trưng từ câu hỏi của người  
dùng như đặc trưng từ vựng, đặc trưng âm tiết, n-grams, đặc trưng nhãn từ  
loại và đặc trưng cú pháp của câu hỏi, các đặc trưng này sẽ là đầu vào cho bộ  
phân loại câu hỏi.  
- Bộ phân loại: có thể sử dụng các thuật toán khác nhau, trong phạm vi đồ án  
chúng tôi sử dụng 3 thuật toán học máy gồm: Máy véc tơ hỗ trợ (SVM),  
Naïve Bayes (NB) và K-láng giềng gần nhất (KNN).  
GVHD: TS. Ngô Xuân Bách  
9
SVTH: Nguyễn Đình Nghị – D11CNPM3  
     
ĐỒ ÁN TỐT NGHIỆP  
Chương 2: Hệ thống phân loại câu hỏi tiếng Việt  
2.2  
Trích chọn đặc trƣng  
Trích chọn đặc trưng có ý nghĩa quan trọng, ảnh hưởng trực tiếp đến kết quả  
phân lớp. Các loại đặc trưng chính thường được sử dụng là tập từ (bag-of-word) và tập  
các từ/nhãn từ loại (bag-of-word/POS tag). Ngoài ra, trong phạm vi đồ án, chúng tôi  
còn sử dụng thêm các đặc trưng khác như n-grams, đặc trưng âm tiết (bag-of-syllable),  
đặc trưng về cú pháp phụ thuộc của câu (dependency feature).  
2.2.1 Từ vựng  
Với đặc trưng từ vựng, một câu sẽ được biểu diễn dưới dạng một tập các từ riêng  
biệt, không quan tâm tới ngữ pháp hay thứ tự của các từ trong câu, chỉ giữ lại số lần  
xuất hiện của từ trong câu.  
Không giống như tiếng Anh, mỗi một âm tiết là một từ và được viết cách nhau  
bởi một khoảng trắng. Với tiếng Việt, một từ có thể được viết bởi một hoặc nhiều âm  
tiết, do đó không thể dùng khoảng trắng làm ranh giới phân cách các từ. Ví dụ trong  
tiếng anh chúng ta có từ mobile, khi dịch ra tiếng Việt mobile có nghĩa là điện thoại,  
được tạo thành từ 2 âm tiết là điện và thoại. Vì vậy để xác định được các từ tiếng Việt,  
chúng ta phải sử dụng một công cụ tách từ hiệu quả cho tiếng Việt, và trong đồ án  
chúng tôi sử dụng công cụ tách từ vnTokenizer [19].  
Ví dụ với 2 câu:  
Câu 1: Trong hai thành phố Hà Nội và Bắc Ninh, thành phố nào có diện tích lớn  
hơn?  
Câu 2: Hà Nội là thành phố có diện tích lớn nhất Việt Nam phải không?  
Khi tách từ chúng ta có:  
Câu 1: Trong hai thành_phố Hà_Nội và Bắc_Ninh, thành_phố nào có diện_ tích  
lớn hơn ?  
Câu 2: Hà_Nội là thành_phố có diện_tích lớn nhất Việt_ Nam phải không ?  
Biểu diễn đặc trưng:  
- Xây dựng từ điển:  
{
1 : Trong, 2 : hai, 3 : thành_phố, 4 : Hà_Nội, 5 : và, 6 : Bắc_Ninh, 7 :  
nào, 8 : có, 9 : diện_tích, 10 : lớn, 11 : hơn, 12 : là, 13 : nhất, 14 :  
Việt_Nam, 15 : phải, 16 : không  
}
- Biểu diễn 2 câu trên dưới dạng vector đặc trưng, mỗi phần tử của vector có  
dạng: <vị trí của từ trong từ điển> : <số lần xuất hiện của từ trong câu>, dựa  
vào chỉ số trong từ điển ta có 2 vector:  
Câu 1: [1:1, 2:1, 3:2, 4:1, 5:1, 6:1, 7:1, 8:1, 9:1, 10:1, 11:1, 12:0, 13:0, 14:0,  
15:0, 16:0]  
GVHD: TS. Ngô Xuân Bách  
10  
SVTH: Nguyễn Đình Nghị – D11CNPM3  
   
Tải về để xem bản đầy đủ
pdf 60 trang yennguyen 21960 Free
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Các đặc trưng ngôn ngữ cho bài toán phân loại câu hỏi tiếng Việt", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfdo_an_cac_dac_trung_ngon_ngu_cho_bai_toan_phan_loai_cau_hoi.pdf