1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp đại học: 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

60 47 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 60
Dung lượng 1,8 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đồ án 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. Mời các bạn cùng tham khảo.

Trang 1

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”

Hà Nội 12/2015

Trang 2

ĐỒ Á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 tố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), Nạ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 tố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, Nạve Bayes, cây cú pháp, n-grams

Trang 3

ĐỒ Á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ị

Trang 4

ĐỒ Á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

Trang 5

ĐỒ Á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

Trang 6

ĐỒ ÁN TỐT NGHIỆP

MỤC LỤC

TĨM TẮT i

LỜI CẢM ƠN ii

DANH MỤC HÌNH VẼ vii

DANH MỤC BẢNG BIỂU viii

BẢNG THUẬT NGỮ TIẾNG ANH ix

LỜI NĨI ĐẦU 1

CHƯƠNG 1: GIỚI THIỆU HỆ THỐNG HỎI ĐÁP VÀ BÀI TỐN PHÂN LOẠI CÂU HỎI 3

1.1 Giới thiệu hệ thống hỏi đáp tự động 3

1.2 Bài tốn phân loại câu hỏi 6

1.3 Các nghiên cứu liên quan 7

1.4 Đĩng gĩp của đồ án 8

CHƯƠNG 2: HỆ THỐNG PHÂN LOẠI CÂU HỎI TIẾNG VIỆT 9

2.1 Vấn đề phân loại câu hỏi cho tiếng Việt 9

2.2 Trích chọn đặc trưng 10

2.2.1 Từ vựng 10

2.2.2 Âm tiết 11

2.2.3 N-grams 11

2.2.4 Nhãn từ loại 12

2.2.5 Cây cú pháp 14

2.3 Các thuật tốn học máy 17

2.3.1 Máy véc tơ hỗ trợ (Support Vector Machine) 17

2.3.2 Nạve Bayes 20

2.3.3 K láng giềng gần nhất (K-nearest neighbors) 22

CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ 26

3.1 Dữ liệu thực nghiệm 26

3.1.1 Chuẩn bị dữ liệu 26

3.1.2 Tiền xử lý dữ liệu 27

3.2 Thiết lập thực nghiệm 32

3.2.1 Thực nghiệm với 3000 câu hỏi 32

Trang 7

ĐỒ ÁN TỐT NGHIỆP

3.2.2 Thực nghiệm bổ sung câu truy vấn 42

KẾT LUẬN 45

PHỤ LỤC 46

TÀI LIỆU THAM KHẢO 49

Trang 8

ĐỒ ÁN TỐT NGHIỆP

DANH MỤC HÌNH VẼ Hình 1-1: Kiến trúc hệ thống hỏi đáp [12] 5

Hình 1-2: Mô hình giai đoạn huấn luyện [14] 6

Hình 1-3: Mô hình giai đoạn phân lớp [14] 7

Hình 2-1: Kiến trúc hệ thống phân loại câu hỏi tiếng Việt 9

Hình 2-2: Phân tích phụ thuộc của một câu tiếng Việt [2] 16

Hình 2-3: Siêu phẳng phân chia dữ liệu học thành 2 lớp + và – với khoảng cách biên lớn nhất [17] 17

Hình 2-4: Minh họa bài toán phân 2 lớp bằng phương pháp SVM [17] 18

Hình 3-1: File questions.txt 26

Hình 3-2: File labels.txt 27

Hình 3-3: File questions.tok 28

Hình 3-4: File questions.tagger 29

Hình 3-5: File questions.pos 30

Hình 3-6: File questions.DEP.CONLL 31

Hình 3-7: File questions.root 31

Hình 3-8: File questions.child 32

Hình 3-9: File từ điển 32

Hình 3-10: Định dạng dữ liệu cho libsvm 33

Hình 3-11: Giao diện màn hình chính của Weka 35

Hình 3-12: Định dạng dữ liệu file arrff 36

Hình 3-13: So sánh độ chính xác giữa đặc trưng âm tiết và đặc trưng từ vựng 39

Hình 3-14: Độ chính xác cho mỗi nhãn (âm tiết 1+2 grams) 39

Hình 3-15: So sánh độ chính xác giữa các đặc trưng 41

Hình 3-16: Phương pháp thực nghiệm bổ sung câu truy vấn 42

Hình 3-17: File question_and_query.txt 43

Hình B-1: Giao diện nhập câu hỏi bằng tay 47

Hình B-2: Giao diện nhập câu hỏi bằng file 47

Hình B-3: Giao diện chạy chương trình 48

Trang 9

ĐỒ ÁN TỐT NGHIỆP

DANH MỤC BẢNG BIỂU Bảng 2-1: Tập nhãn từ loại [20] 13

Bảng 2-2: Nhãn thành phần cú pháp [13] 14

Bảng 2-3: Nhãn chức năng cú pháp [13] 15

Bảng 3-1: Số lượng câu hỏi của mỗi nhãn 26

Bảng 3-2: Các tệp sau khi chuyển đổi 33

Bảng 3-3: Kết quả thực nghiệm SVM sử dụng n-grams, âm tiết và từ vựng 37

Bảng 3-4: Kết quả phân lớp cho mỗi nhãn (âm tiết 1+2grams) 37

Bảng 3-5: Kết quả thực nghiệm khi bổ sung thêm các đặc trưng 40

Bảng 3-6: Kết quả phân lớp cho mỗi nhãn (âm tiết 1+2grams + nhãn từ loại + root) 40

Bảng 3-7: Kết quả thực nghiệm của các thuật toán khác nhau 41

Bảng 3-8: Kết quả thực nghiệm bổ sung câu truy vấn 43

Bảng A-1: Các công cụ sử dụng 46

Trang 10

ĐỒ ÁN TỐT NGHIỆP

BẢNG THUẬT NGỮ TIẾNG ANH

ACL Association for Computational

Linguistics Hiệp hội ngơn ngữ học tính tốn

MEM Maximum Entropy Model Mơ hình Entropy cực đại

NB Nạve Bayes Phương pháp Bayes đơn giản

POS Part Of Speech Nhãn từ loại

QA Question Answering Hệ thống hỏi đáp

SVM Support Vector Machine Máy véc tơ hỗ trợ

Trang 11

ĐỒ Á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 tồ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 tố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 hồ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 tố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 tốn: Máy véc tơ hỗ trợ (SVM), Nạve Bayes (NB) và K-láng giềng gần nhất (KNN) Với thuật tố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 tố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 tố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 tốn Kết quả thực nghiệm tốt nhất đạt được khi sử dụng thuật

Trang 12

ĐỒ ÁN TỐT NGHIỆP

tố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 tốn Nạ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 TỐ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 tố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 tốn phân loại câu hỏi tiếng Việt và các thuật tố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

Trang 13

ĐỒ Á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

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

Trang 14

ĐỒ Á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]

Trang 15

ĐỒ Á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

Trang 16

ĐỒ Á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

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:

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

Ngữ liệu huấn luyện Tiền xử lý Vector hóa

Trích chọn đặc trưng

Thuật toán huấn luyện

Mô hình phân loại

Trang 17

ĐỒ ÁN TỐT NGHIỆP Chương 1: Giới thiệu

 Giai đoạn 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

Hiện nay đã cĩ một số nghiên cứu về bài tố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 tốn gồm: Support Vector Machine (SVM), K-nearest neighbors (KNN), Nạ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 tố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 tố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 tố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 tốn học máy Cây quyết định (DT), Nạ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,

Câu hỏi Tiền xử lý Vector hĩa

Trích chọn đặc trưng

Sử dụng mơ hình phân lớp Nhãn cho

câu hỏi

Trang 18

ĐỒ Á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 Nạ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 Nạve Bayes là 81.1%, và phương pháp SVM là 94%

Đồ á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 tố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ợ, Nạ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

- Ngồ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

Trang 19

ĐỒ Á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 Ngồi ra, đồ án cịn trình bày các thuật tốn được sử dụng khi làm thực nghiệm gồm cĩ Máy véc tơ hỗ trợ, Nạve Bayes và K-láng giềng gần nhấ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:

Câu hỏi tiếng - Từ vựng - SVM Kiểu câu hỏi Việt - Âm tiết - NB

- n-grams - KNN

- Nhãn từ loại

- Cú pháp

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 tốn khác nhau, trong phạm vi đồ án

chúng tơi sử dụng 3 thuật tốn học máy gồm: Máy véc tơ hỗ trợ (SVM), Nạve Bayes (NB) và K-láng giềng gần nhất (KNN)

Đầu vào Trích chọn đặc trưng Thuật tốn

học máy Đầu ra

Trang 20

ĐỒ ÁN TỐT NGHIỆP Chương 2: Hệ thống phân loại câu hỏi tiếng Việt

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]

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]

Trang 21

ĐỒ ÁN TỐT NGHIỆP Chương 2: Hệ thống phân loại câu hỏi tiếng Việt

Câu 2: [1:0, 2:0, 3:1, 4:1, 5:0, 6:0, 7:0, 8:1, 9:1, 10:1, 11:0, 12:1, 13:1, 14:1,

15:1, 16:1]

Trong câu 1, từ “Trong” xuất hiện một lần trong câu, và nó có vị trí thứ 1 trong

từ điển nên được biểu diễn là “1:1”, từ “thành_phố” xuất hiện 2 lần trong câu, và có vị trí thứ 3 trong từ điển nên được biểu diễn là “3:2”, các từ khác cũng được biểu diễn tương tự theo cách như vậy Vector biểu diễn các từ không theo trật tự xuất hiện của từ trong câu, mà theo trật tự từ điển

Ví dụ với câu hỏi: 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ác âm tiết xuất hiện trong câu là: {“Trong”, “hai”, “thành”, “phố”, “Hà”, “Nội”,

“và”, “Bắc”, “Ninh”, “nào” , “có”, “diện”, “tích”, “lớn”, “hơn”}

Biểu diễn đặc trưng âm tiết tương tự với cách biểu diễn từ vựng:

- Từ điển:

{

1 : Trong, 2 : hai, 3 : thành, 4 : phố, 5 : Hà, 6 : Nội, 7 : và, 8 : Bắc,

9 : Ninh, 10 : nào, 11 : có, 12 : diện, 13 : tích, 14 : lớn, 15 : hơn }

- Biểu diễn câu hỏi dưới dạng vector đặc trưng:

Trang 22

ĐỒ ÁN TỐT NGHIỆP Chương 2: Hệ thống phân loại câu hỏi tiếng Việt

của một yếu tố dựa vào các yếu tố xung quanh nó trong câu Do đó, n-grams có thể áp dụng cho các hệ thống tách từ, gán nhãn từ loại, phát hiện lỗi chú giải từ loại, v.v

Ví dụ:

n-grams với âm tiết:

Câu: Trong hai thành phố Hà Nội và Bắc Ninh, thành phố nào có diện tích lớn

- 3 grams: trong hai thành, hai thành phố, thành phố Hà, phố Hà Nội, Hà Nội

và, Nội và Bắc, và Bắc Ninh, Bắc Ninh thành, Ninh thành phố, thành phố nào, phố nào có, nào có diện, có diện tích, diện tích lớn, tích lớn hơn

- 3 grams: trong hai thành_phố, hai thành_phố Hà_Nội, thành_phố Hà_Nội và, Hà_Nội và Bắc_Ninh, và Bắc_Ninh thành_phố, Bắc_Ninh thành_phố nào, thành_phố nào có, nào có diện_tích, có diện_tích lớn, diện_tích lớn hơn

2.2.4 Nhãn từ loại

Nhãn từ loại là một loại đặc trưng cú pháp, nó xác định một từ là từ loại gì Các

từ có cùng nhãn sẽ có hành vi tương tự nhau về mặt cú pháp, chúng đóng vai trò tương

tự nhau trong cấu trúc ngữ pháp của câu

Trang 23

ĐỒ ÁN TỐT NGHIỆP Chương 2: Hệ thống phân loại câu hỏi tiếng Việt

Tập nhãn từ loại gồm 18 nhãn:

Bảng 2-1: Tập nhãn từ loại [20]

Để có được nhãn từ loại, chúng tôi sử dụng công vụ gán nhãn từ loại vnTagger [20]

Ví dụ: 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?

Khi gán nhãn từ loại ta được:

Trong/E hai/M thành_phố/N Hà_Nội/Np và/CC Bắc_Ninh/Np ,/, thành_phố/N nào/P có/V diện_tích/N lớn/A hơn/R

Trang 24

ĐỒ ÁN TỐT NGHIỆP Chương 2: Hệ thống phân loại câu hỏi tiếng Việt

Từ đó ta có được tập nhãn từ loại: {E, M, N, Np, CC, Np, N, P, V, N, A, R} Sau khi có được nhãn từ loại của tất cả các từ trong câu hỏi, chúng ta cũng biểu diễn đặc trưng nhãn từ loại theo cách tương tự như biểu diễn từ vựng Đầu tiên xây dựng từ điển gồm tập tất cả các nhãn từ loại xuất hiện trong câu, sau đó biểu diễn các nhãn từ loại dưới dạng vector đặc trưng Cách tiếp cận này đã đạt được kết quả khá tốt khi áp dụng cho tiếng Anh

2.2.5 Cây cú pháp

Phân tích cú pháp [2] là bước xử lý quan trọng trong các bài toán hiểu ngôn ngữ

tự nhiên Nó cung cấp một nền tảng vững chắc cho việc xử lý văn bản thông minh như các hệ thống hỏi đáp, khai phá văn bản và dịch máy

Trong bài toán phân loại câu hỏi, việc phân tích cú pháp là rất quan trọng, do một câu hỏi thường tương đối ngắn và chứa ít thông tin dựa trên từ vựng Ngoài ra, một câu hỏi ngắn sẽ cần phải phân tích sâu hơn để có thể tìm ra được ngữ nghĩa ẩn của nó

Và việc phân loại câu hỏi sẽ đạt độ chính xác cao hơn nếu ý nghĩa của câu hỏi được xác định

Một câu hỏi có thể được biểu diễn cú pháp theo hai kiểu [2]: cấu trúc thành phần

và cấu trúc phụ thuộc Trong khi cấu trúc cú pháp thành phần trình bày một tập các thành phần đa từ thì cấu trúc phụ thuộc cú pháp cho thấy sự hiện diện của một từ phụ thuộc vào từ cha của nó Trong phân tích cú pháp phụ thuộc, nhãn cú pháp sẽ được thêm vào các phụ thuộc để đánh dấu mối quan hệ ngữ pháp của chúng, việc này rất hữu ích trong việc phân tích sự phụ thuộc ngữ nghĩa

Tập nhãn cú pháp [13] gồm 2 loại: Nhãn thành phần cú pháp và nhãn chức năng

cú pháp Nhãn thành phần cú pháp mô tả các thành phần cú pháp cơ bản là cụm từ và mệnh đề Nhãn thành phần cú pháp là thông tin cơ bản nhất trên cây cú pháp, nó tạo thành xương sống của cây cú pháp Nhãn chức năng của một thành phần cú pháp cho biết vai trò của nó trong thành phần cú pháp mức cao hơn Nhãn chức năng cú pháp được gán cho các thành phần chính trong câu như chủ ngữ, vị ngữ, tân ngữ Nhờ thông tin do nhãn chức năng cung cấp ta có thể xác định các loại quan hệ ngữ pháp cơ bản như: chủ-vị, bổ ngữ, phụ ngữ, sự kết hợp, đề-thuyết

Trang 25

ĐỒ ÁN TỐT NGHIỆP Chương 2: Hệ thống phân loại câu hỏi tiếng Việt

6 QP Cụm từ chỉ số lượng

7 MDP Cụm từ tình thái

8 WHNP Cụm danh từ nghi vấn (ai, cái gì, con gì, v.v.)

9 WHAP Cụm tính từ nghi vấn (lạnh thế nào, đẹp ra sao, v.v.)

10 WHRP Cụm từ nghi vấn dùng khi hỏi về thời gian, nơi chốn, v.v

11 WHPP Cụm giới từ nghi vấn (với ai, bằng cách nào, v.v.)

12 S Câu trần thuật (khẳng định hoặc phủ định)

2 DOB Nhãn chức năng tân ngữ trực tiếp

3 IOB Nhãn chức năng tân ngữ gián tiếp

4 TPC Nhãn chức năng chủ đề

5 PRD Nhãn chức năng vị ngữ không phải cụm động từ

6 LGS Nhãn chức năng chủ ngữ logic của câu ở thể bị động

7 EXT Nhãn chức năng bổ ngữ chỉ phạm vi hay tần suất của

15 TMP Nhãn chức năng trạng ngữ chỉ thời gian

16 LOC Nhãn chức năng trạng ngữ chỉ nơi chốn

17 DIR Nhãn chức năng trạng ngữ chỉ hướng

18 MNR Nhãn chức năng trạng ngữ chỉ cách thức

19 PRP Nhãn chức năng trạng ngữ chỉ mục đích hay lí do

20 ADV Nhãn chức năng trạng ngữ nói chung

Trang 26

ĐỒ ÁN TỐT NGHIỆP Chương 2: Hệ thống phân loại câu hỏi tiếng Việt

Ví dụ phân tích phụ thuộc một câu tiếng Việt:

Hình 2-2: Phân tích phụ thuộc của một câu tiếng Việt [2].

Trong đồ án, chúng tôi sử dụng công cụ VnDP [23] (A Vietnamese dependency parsing toolkit) để chuyển định dạng các câu hỏi về dạng cây cú pháp phụ thuộc

Ví dụ chúng ta có 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?

Biểu diễn cây cú pháp:

1 Trong Trong E E - 10 loc - -

2 hai hai M M - 3 det - -

13 hơn hơn A A - 12 amod - -

1 Hà_Nội Hà_Nội N N - 2 sub - -

8 Việt_Nam Việt_Nam N N - 9 sub - -

9 phải phải A A - 2 dep - -

10 không không R R - 9 amod - -

Trang 27

ĐỒ ÁN TỐT NGHIỆP Chương 2: Hệ thống phân loại câu hỏi tiếng Việt

Sau khi cĩ biểu diễn cây cú pháp, chúng ta trích rút đặc trưng root và child, mỗi một câu chỉ cĩ một root duy nhất, và mỗi root cĩ thể cĩ nhiều child:

Câu 1: root = “cĩ”

child = “trong” child = “thành phố” child = “diện tích” Câu 2: root = “là”

child = “Hà_Nội” child = “thành_phố” child = “cĩ” child = “đẹp”

Từ tập đặc trưng của cây cú pháp, chúng ta cũng xây dựng tập từ điển chứa các đặc trưng đĩ và biểu diễn các đặc trưng dưới dạng vector đặc trưng tương tự như các loại đặc trưng khác

Cĩ nhiều thuật tốn khác nhau cho phân lớp như Nạve Bayes, K-láng giềng gần nhất, cây quyết định (Decision Tree), Máy véc tơ hỗ trợ (Support Vector Machine), Mạng lọc thưa (Sparse Network of Winnows - SNoW), Mơ hình Entropy cực đại, v.v Tuy nhiên phần tiếp theo của đồ án, chúng tơi chỉ trình bày 3 thuật tốn là Máy véc tơ

hỗ trợ, Nạve Bayes và K-láng giềng gần nhất, đây là các thuật tốn được sử dụng nhiều trong phân loại câu hỏi và cũng sẽ được sử dụng trong phần thực nghiệm ở chương 3

2.3.1 Máy véc tơ hỗ trợ (Support Vector Machine)

Support Vector Machine [17] viết tắt là SVM, là một phương pháp trong thống

kê và khoa học máy tính cho một tập hợp các phương pháp học cĩ giám sát liên quan đến nhau để phân loại và phân tích hồi quy SVM dạng chuẩn nhận dữ liệu vào và phân loại chúng vào 2 lớp khác nhau

Hình 2-3: Siêu phẳng phân chia dữ liệu học thành 2 lớp + và – với khoảng cách biên

lớn nhất [17]

Trang 28

ĐỒ ÁN TỐT NGHIỆP Chương 2: Hệ thống phân loại câu hỏi tiếng Việt

b) Cơ sở lý thuyết

SVM thực chất là một bài toán tối ưu, mục tiêu của thuật toán này là tìm được một không gian F và siêu phẳng quyết định f trên F sao cho sai số phân loại là thấp nhất

Cho tập mẫu (x1, y1), (x2, y2), … (xf, yf)} với xi ∈ Rn, thuộc vào hai lớp nhãn: yi ∈ {-1,1} là nhãn lớp tương ứng của các xi (-1 biểu thị lớp I, 1 biểu thị lớp II)

Ta có, phương trình siêu phẳng chứa vectơ ⃑⃑⃑ trong không gian: ⃑⃑⃑ ⃑⃑

( ⃑⃑⃑ ) ( ⃑⃑⃑ ⃑⃑ ) { ⃑⃑⃑ ⃑⃑

⃑⃑⃑ ⃑⃑

Như vậy, f(Xi) biểu diễn sự phân lớp của Xi vào hai lớp như đã nêu Ta nói yi = +1 nếu Xi thuộc lớp I và yi = -1 nếu Xi thuộc lớp II Khi đó, để có siêu phẳng f ta sẽ phải giải bài toán sau: Tìm min w với W thỏa mãn điều kiện sau:

( ( ⃑⃑⃑ ⃑⃑ )) ∈ ⃑⃑⃑⃑⃑⃑

Bài toán SVM có thể giải bằng kỹ thuật sử dụng toán tử Lagrange để biến đổi về thành dạng đẳng thức Một đặc điểm thú vị của SVM là mặt phẳng quyết định chỉ phụ thuộc các Support Vector và nó có khoảng cách đến mặt phẳng quyết định là Cho

dù các điểm khác bị xóa đi thì thuật toán vẫn cho kết quả giống như ban đầu Đây chính là điểm nổi bật của phương pháp SVM so với các phương pháp khác vì tất cả các dữ liệu trong tập huấn luyện đều được dùng để tối ưu hóa kết quả

Bài toán phân 2 lớp với SVM

Bài toán đặt ra là: Xác định hàm phân lớp để phân lớp các mẫu trong tương lai, nghĩa là với một mẫu dữ liệu mới xi thì cần phải xác định xi được phân vào lớp +1 hay lớp -1

Hình 2-4: Minh họa bài toán phân 2 lớp bằng phương pháp SVM [17]

Để xác định hàm phân lớp dựa trên phương pháp SVM, ta sẽ tiến hành tìm hai siêu phẳng song song sao cho khoảng cách y giữa chúng là lớn nhất có thể để phân

Trang 29

ĐỒ ÁN TỐT NGHIỆP Chương 2: Hệ thống phân loại câu hỏi tiếng Việt

tách hai lớp này ra làm hai phía Hàm phân tách tương ứng với phương trình siêu phẳng nằm giữa hai siêu phẳng tìm được

Các điểm mà nằm trên hai siêu phẳng phân tách được gọi là các Support Vector Các điểm này sẽ quyết định đến hàm phân tách dữ liệu

Bài toán nhiều phân lớp với SVM

Để phân nhiều lớp thì kỹ thuật SVM nguyên thủy sẽ chia không gian dữ liệu thành 2 phần và quá trình này lặp lại nhiều lần Khi đó hàm quyết định phân dữ liệu vào lớp thứ i của tập n, 2-lớp sẽ là:

( ) Những phần tử x là support vector sẽ thỏa điều kiện:

( ) {

Như vậy, bài toán phân nhiều lớp sử dụng phương pháp SVM hoàn toàn có thể thực hiện giống như bài toán 2 lớp Bằng cách sử dụng cách thức “một - đối - một” Giả sử bài toán cần phân loại có k lớp (k > 2), chiến lược "một-đối-một”sẽ tiến hành ( ) lần phân lớp nhị phân sử dụng phương pháp SVM Mỗi lớp sẽ tiến hành phân tách với k-1 lớp còn lại để xác định k-1 hàm phân tách dựa vào bài toán phân hai

lớp bằng phương pháp SVM

c) Các bước chính của phương pháp SVM

 Phương pháp SVM yêu cầu dữ liệu được biểu diễn như các vector của các

số thực Như vậy nếu đầu vào chưa phải là số thì ta cần phải tìm cách chuyển chúng về dạng số của SVM

 Tiền xử lý dữ liệu: Thực hiện biến đổi dữ liệu phù hợp cho quá trình tính toán, tránh các số quá lớn mô tả các thuộc tính Thường nên co giãn (scaling) dữ liệu để chuyển về đoạn [-1, 1] hoặc [0, 1]

 Chọn hàm hạt nhân: Lựa chọn hàm hạt nhân phù hợp tương ứng cho từng bài toán cụ thể để đạt được độ chính xác cao trong quá trình phân lớp

 Thực hiện việc kiểm tra chéo để xác định các tham số cho ứng đụng Điều này cũng quyết định đến tính chính xác của quá trình phân lớp

 Sử dụng các tham số cho việc huấn luyện với tập mẫu Trong quá trình huấn luyện sẽ sử dụng thuật toán tối ưu hóa khoảng cách giữa các siêu phẳng trong quá trình phân lớp, xác định hàm phân lớp trong không gian đặc trưng nhờ việc ánh xạ dữ liệu vào không gian đặc trưng bằng cách mô

tả hạt nhân, giải quyết cho cả hai trường hợp dữ liệu là phân tách và không phân tách tuyến tính trong không gian đặc trưng

 Kiểm thử tập dữ liệu Test

Trang 30

ĐỒ ÁN TỐT NGHIỆP Chương 2: Hệ thống phân loại câu hỏi tiếng Việt

2.3.2 Nạve Bayes

a) Giới thiệu

Nạve Bayes (NB) [17] là phương pháp phân loại cĩ giám sát dựa vào xác suất được sử dụng rộng rãi trong lĩnh vực máy học [Mitchell, 1996] [Joachims, 1997] [Jason, 2001], được sử dụng lần đầu tiên trong lĩnh vực phân loại bởi Maron vào năm

1961 [Maron, 1961] sau đĩ trở nên phổ biến dùng trong nhiều lĩnh vực như trong các cơng cụ tìm kiếm [Rijsbergen et al, 1970], các bộ lọc email [Sahami et al, 1998] v.v

Áp dụng trong bài tốn phân loại, các dữ kiện gồm cĩ:

- D: tập dữ liệu huấn luyện đã được vector hĩa dưới dạng ( )

Các bước thực hiện thuật tốn Nạve Bayes:

Bước 1: Huấn luyện Nạve Bayes (dựa vào tập dữ liệu), tính ( ) và ( )

Bước 2: Phân lớp ( ), ta cần tính xác suất thuộc từng phân lớp khi đã biết trước Xnew Xnew được gán vào lớp cĩ xác suất lớn nhất theo cơng thức:

∈ ( ( ) ∏ ( )

)

Ngày đăng: 27/04/2021, 12:26

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] I. Fahmi (2009). Automatic term and relation extraction for medical question answering system. PhD Thesis, the University of Groningen, The Netherlands Sách, tạp chí
Tiêu đề: Automatic term and relation extraction for medical question answering system. PhD Thesis
Tác giả: I. Fahmi
Năm: 2009
[2] Phuong Le-Hong, Xuan-Hieu Pham and Tien-Dung Nguyen, Using dependency analysis to improve question classification, Knowledge and Systems Enginneering, Springer International Publishing, 2015, pages 653-655 Sách, tạp chí
Tiêu đề: Using dependency analysis to improve question classification
[3] Zhiheng Huang, Marcus Thint and Zengchang Qin, Question Classification using Head Words and their Hypernyms, Proceedings of the 2008 Conference on Empirical Methods in Natural Languae Processing, pages 927-936, Honolulu, October 2008 Sách, tạp chí
Tiêu đề: Question Classification using Head Words and their Hypernyms
[4] Boris Katz. Annotating the World Wide Web Using Natural Language. Proceedings of the 5th RIAO Conference on Computer Assisted Information Searching on the Internet (RIAO '97), 1997, pages 136-139 Sách, tạp chí
Tiêu đề: Annotating the World Wide Web Using Natural Language
[6] Hakan Sundblad, Question Classification in Question Answering Systems, Linkuping Studies in Science and Technology, June 2007, ISBN 978-91-85831- 55-5 Sách, tạp chí
Tiêu đề: Question Classification in Question Answering Systems
[7] Dang Hai Tran, Cuong Xuan Chu, Son Bao Pham and Minh Le Nguyen, Learning Based Approaches for Vietnamese Question Classification Using Keywords Extraction from the Web, International Joint Conference on Natural Language Processing, pages 740-746, Nagoya, Japan, 14-18 October 2013 Sách, tạp chí
Tiêu đề: Learning Based Approaches for Vietnamese Question Classification Using Keywords Extraction from the Web
[8] Vu Mai Tran, Vinh Duc Nguyen, Oanh Thi Tran, Uyen Thu Thi Pham and Thuy-Quang Ha. An Experimental Study of Vietnamese Question Answering System. International Conference on Asian Language Processing, {IALP} 2009, Singapore, December 7-9, 2009, pages 152-155 Sách, tạp chí
Tiêu đề: An Experimental Study of Vietnamese Question Answering System
[9] Dell Zhang and Wee Sun Lee. 2003. Question classification using support vector machines. In Proceedings of the 26th annual international ACM SIGIR conference on Research and development in informaion retrieval (SIGIR '03).ACM, New York, NY, USA, pages 26-32 Sách, tạp chí
Tiêu đề: Question classification using support vector machines
[10] Trần Cao Đệ, Phạm Nguyên Khang, Phân loại văn bản với máy học vector hỗ trợ và cây quyết định, Tạp chí Khoa học 2012:21a 52-63, Trường Đại học Cần Thơ Sách, tạp chí
Tiêu đề: Phân loại văn bản với máy học vector hỗ trợ và cây quyết định
[11] Đỗ Bá Lâm, Lê Thanh Hương, Xây dựng hệ thống phân tích cú pháp tiếng Việt sử dụng văn phạm HPSG, Đại học Bách Khoa Hà Nội, 2008. ICT08- VLSP-SP85-2 Sách, tạp chí
Tiêu đề: Xây dựng hệ thống phân tích cú pháp tiếng Việt sử dụng văn phạm HPSG
[12] Hà Thị Minh Lộc, Xây dựng mô hình hệ thống hỏi đáp tự động hỗ trợ đào tạo trực tuyến, Luận văn thạc sĩ, Học viện Công nghệ Bưu chính Viễn thông, 2013 Sách, tạp chí
Tiêu đề: Xây dựng mô hình hệ thống hỏi đáp tự động hỗ trợ đào tạo trực tuyến
[13] Nguyễn Phương Thái, Vũ Xuân Lương, Nguyễn Thị Minh Huyền, Xây dựng treebank tiếng Việt, Viện Khoa học và Công nghệ Tiên tiến Nhật Bản, 07/2008 Sách, tạp chí
Tiêu đề: Xây dựng treebank tiếng Việt
[14] Nguyễn Minh Thành, Phân loại văn bản, Đồ án môn học Xử lý ngôn ngữ tự nhiên, Đại học quốc gia Thành phố Hồ Chí Minh, 01/2011 Sách, tạp chí
Tiêu đề: Phân loại văn bản
[15] Nguyễn Đức Vinh, Phân tích câu hỏi trong hệ thống hỏi đáp tiếng Việt, Khóa luận tốt nghiệp đại học, Đại học quốc gia Hà Nội, 2009.Danh mục các Website tham khảo Sách, tạp chí
Tiêu đề: Phân tích câu hỏi trong hệ thống hỏi đáp tiếng Việt
[19] Lê Hồng Phương, vnTokenizer - Vietnamese words segmentation , http://mim.hus.vnu.edu.vn/phuonglh/softwares/vnTokenizer, 2010 Sách, tạp chí
Tiêu đề: vnTokenizer - Vietnamese words segmentation
[20] Lê Hồng Phương, vnTagger - Vietnamese words segmentation , http://mim.hus.vnu.edu.vn/phuonglh/softwares/vnTagger, 2010 Sách, tạp chí
Tiêu đề: vnTagger - Vietnamese words segmentation
[16] Google : https://www.google.com [17] Wikipedia: http://www.wikipedia.org Link

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w