1. Trang chủ
  2. » Tài Chính - Ngân Hàng

phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)

79 650 1

Đ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 79
Dung lượng 2,66 MB

Nội dung

2/ Nội dung chính của khoá luận:  Chương 1: Trình bày những vấn đề cơ bản là nền tảng của các bài toán xử lý văn bản nói chung và bài toán phân loại nói riêng, các vấn đề liên quan t

Trang 1

HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC

Đề tài: Phân loại văn bản tiếng Việt sử

dụng phương pháp Máy Hỗ Trợ Vector (Support Vector Machine – SVMs)

Giảng viên hướng dẫn : ThS GIANG THỊ THU HUYỀN

Hà Nội, tháng 6/2012

Trang 2

HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC

Đề tài: Phân loại văn bản tiếng Việt sử

dụng phương pháp Máy Hỗ Trợ Vector (Support Vector Machine – SVMs)

Giảng viên hướng dẫn : ThS GIANG THỊ THU HUYỀN

Hà Nội, tháng 6/2012

Trang 3

i

Độc lập - Tự do – Hạnh phúc

KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

TÓM TẮT ĐỀ TÀI KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC

Họ và tên sinh viên: HOÀNG THỊ NHUNG

Ngành đào tạo: Hệ thống thông tin quản lý Hệ đào tạo: Chính quy

1/ Tên khoá luận tốt nghiệp:

Phân loại văn bản tiếng Việt sử dụng phương pháp Máy Hỗ Trợ Vector (SVMs – Support Vector Machine)

2/ Nội dung chính của khoá luận:

Chương 1: Trình bày những vấn đề cơ bản là nền tảng của các bài toán xử

lý văn bản nói chung và bài toán phân loại nói riêng, các vấn đề liên quan tới việc tiền xử lý văn bản tiếng Việt, các kỹ thuật khai phá dữ liệu văn bản Cuối cùng, trình bày về bài toán phân loại văn bản và các kỹ thuật đã được

áp dụng trong bài toán này, cũng như giới thiệu qua về phương pháp phân loại văn bản SVMs

Chương 2: Trình bày chi tiết về phương pháp phân loại văn bản SVMs

Chương 3: Trình bày nội dung phân tích, thiết kế áp dụng phương pháp

phân loại SVMs vào bài toán phân loại văn bản tiếng Việt

Chương 4: Mô tả về chương trình xây dựng và các kết quả thực nghiệm

nhằm kiểm thử chất lượng phân loại của phương pháp SVMs cho văn bản tiếng Việt

3/ Ngày nộp khoá luận : 06/06/2012

GIÁO VIÊN HƯỚNG DẪN CHỦ NHIỆM KHOA

Trang 4

MỞ ĐẦU

Sự phát triển trong lĩnh vực Công nghệ thông tin hiện nay là vô cùng lớn lao, đi đôi với nó là rất nhiều ưu điểm áp dụng trong cuộc sống của loài người chúng ta Trong kỷ nguyên công nghệ, mọi thông tin, dữ liệu trao đổi của con người (như dữ liệu văn bản, âm thanh, hình ảnh, dữ liệu multimedia, …) đều có thể số hoá, lưu trữ và khai thác trên các thiết bị điện tử, trên máy tính và mạng Internet Sự phát triển mạnh mẽ này đã dẫn đến việc mất khả năng kiểm soát thông tin của con người trong các phương pháp truyền thống

Nhu cầu về việc khai thác thông tin nhằm lấy ra những tri thức có ích cho con người là một trong những vấn đề được nêu ra Đó chính là mảng đề tài về Khai phá dữ liệu (Data Mining) với các bài toán: Khai phá dữ liệu văn bản (Text Mining), Khai phá

dữ liệu Web (Web Mining), Khai phá dữ liệu đa phương tiện (Multimedia Mining)

Bài toán Khai phá dữ liệu văn bản đóng một vai trò quan trọng trong việc xử lý thông tin của con người, nó đang được rất nhiều nơi trên thế giới nghiên cứu và phát triển, áp dụng trên nhiều ngôn ngữ khác nhau Phân loại văn bản là một trong những bài toán quan trọng thuộc lĩnh vực khai phá dữ liệu văn bản, nó đã được nghiên cứu và

triển khai thông qua rất nhiều giải thuật khác nhau như: k láng giềng gần nhất (k-NN),

mạng nơron, cây quyết định, … Kết quả thu được với các phương pháp này cũng đã đạt được nhiều thành công trên nhiều ngôn ngữ khác nhau Ngoài các phương pháp trên, hiện nay có nhiều phương pháp khác được nghiên cứu và hứa hẹn cho những ưu

điểm tối ưu hơn, trong đó có phương pháp Máy vector hỗ trợ (Support Vector

Machines - SVMs) SVMs được đánh giá là phương pháp có hiệu năng phân loại rất

cao trong bài toán Phân loại văn bản Nó đã được thực nghiệm áp dụng trên các văn bản tiếng Anh, Pháp, … và thu được kết quả khá tốt Tuy nhiên, đối với ngôn ngữ Tiếng Việt thì đây là một phương pháp hoàn toàn mới mẻ, và đang được triển khai nghiên cứu

Chính vì lý do đó, em đã lựa chọn đề tài liên quan tới bài toán này Với việc lựa chọn bài toán Phân loại văn bản sử dụng phương pháp SVMs, em mong muốn có những đóng góp nhất định trong lĩnh vực Khai phá dữ liệu văn bản Tiếng Việt, trên cơ

sở đó xây dựng một ứng dụng có thể triển khai được rộng rãi các vấn đề liên quan tới phân loại dữ liệu văn bản

Trang 5

iii

LỜI CẢM ƠN

Để hoàn thành khóa luận tốt nghiệp đại học, trước hết em xin chân thành cảm

ơn Ths Giang Thị Thu Huyền đã trực tiếp giảng dậy và tận tình giúp đỡ em trong quá

trình nghiên cứu

Mặc dù có nhiều cố gắng nhưng do thời thời gian và kiến thức còn hạn chế nên chắc chắn khóa luận này vẫn còn có nhiều thiếu sót Em rất mong nhận được những ý kiến đóng góp quý báu từ thầy cô giáo và các bạn

Hà Nội, ngày 01 tháng 06 năm 2012

Sinh viên thực hiện:

Hoàng Thị Nhung

Trang 6

NHẬN XÉT (Của nơi thực tập)

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

Trang 7

v

NHẬN XÉT (Của giảng viên hướng dẫn)

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

.………

Trang 8

MỤC LỤC

CHƯƠNG 1: TỔNG QUAN LÝ THUYẾT 1

1.1 Tổng quan về khai phá tri thức 1

1.1.1 Khai phá dữ liệu 1

1.1.2 Khai phá dữ liệu văn bản 2

1.1.3 Bài toán phân loại văn bản 4

1.1.4 Các khó khăn trong khai phá dữ liệu văn bản 4

1.2 Tiền xử lý và biểu diễn văn bản tiếng việt .5

1.2.1 Tiền xử lý văn bản tiếng Việt 5

1.2.2 Tách thuật ngữ trong văn bản Tiếng Việt 5

1.2.3 Các kỹ thuật giảm chiều văn bản 7

1.2.4 Các mô hình biểu diễn văn bản 8

1.2.4.1 Mô hình không gian vector (Vector Space Model) 9

1.2.4.2 Áp dụng phương pháp vector thưa trong biểu diễn văn bản 10

1.3 Bài toán phân loại văn bản 11

1.3.1 Tổng quan phân loại văn bản 11

1.3.2 Nền tảng học máy trong bài toán phân loại 12

1.3.3 Phương pháp máy vector hỗ trợ (Support Vector Machines) 13

1.3.2 Công thức xác định hiệu năng phân loại văn bản 14

1.4 Kết chương 15

CHƯƠNG 2 PHƯƠNG PHÁP PHÂN LOẠI MÁY VECTOR HỖ TRỢ SVMs 16

2.1 Lý thuyết học thống kê 16

2.1.1 Chiều VC (Vapnik Chervonenkis Dimension) 16

2.1.2 Rủi ro trong phương pháp học máy có giám sát 17

2.1.3 Nguyên tắc tối thiểu hoá rủi ro cấu trúc 18

2.1.4 Bổ đề Vapnik 18

2.1.5 Nguyên lý nhận dạng mẫu (Pattern Recognition) 19

2.2 Phương pháp máy vector hỗ trợ SVMs 20

2.2.1 SVMs trường hợp dữ liệu tuyến tính 21

2.2.2 SVMs trường hợp tuyến tính nhưng có nhiễu 23

2.2.3 SVMs trường hợp không thể phân chia tuyến tính 25

2.3 Thuật toán tìm siêu phẳng phân tách tối ưu 27

2.3.1 Tìm tham số α* theo thuật toán 2v-SVM 27

2.3.2 Thuật toán khởi tạo các biến α0 29

2.3.3 Đánh giá độ phức tạp của thuật toán 2v-SVM 30

2.4 Nhận xét về phương pháp SVMs 31

2.5 Kết chương 31

CHƯƠNG 3 THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH 32

3.1 Lựa chọn công cụ xây dựng giải pháp 32

3.1.1 Lựa chọn môi trường 32

3.1.2 Lựa chọn ngôn ngữ lập trình 32

3.2 Phân tích và thiết kế chức năng 32

3.2.1 Xác định yêu cầu 32

3.2.2 Thiết kế chức năng 33

3.2.2.1 Chức năng phân loại văn bản 34

3.2.2.2 Chức năng tiền xử lý văn bản 35

Trang 9

vii

3.3 Xây dựng các chức năng 36

3.3.1 Xây dựng chức năng tiền xử lý văn bản 36

3.3.1.1 Tiền xử lý ký tự 36

3.3.1.2 Tách từ khoá, loại bỏ từ dừng trong văn bản 36

3.3.1.3 Trích chọn tập từ đặc trưng 39

3.3.1.4 Lựa chọn mô hình biểu diễn văn bản 40

3.3.1.5 Cài đặt module tiền xử lý văn bản 40

3.3.2 Xây dựng chức năng phân loại SVMs 42

3.3.2.1 Module huấn luyện SVMs 42

3.3.2.2 Module Kiểm tra SVMs 45

3.4 Kết chương 47

CHƯƠNG 4 MÔ TẢ CHƯƠNG TRÌNH VÀ KẾT QUẢ THỬ NGHIỆM 48

4.1 Mô tả chương trình 48

4.1.1 Giao diện chính của chương trình 48

4.2 Kết quả thực nghiệm 50

4.2.1 Cơ sở dữ liệu thử nghiệm 50

4.2.2 Cấu hình máy tính 50

4.2.3 Thực nghiệm phân tách từ khoá 50

4.2.3.1 Thực nghiệm về tốc độ tách từ 51

4.2.3.2 Thực nghiệm về hiệu quả tách từ 52

4.3.2.3 Đánh giá về chức năng tách từ 54

4.2.4 Thực nghiệm phân loại văn bản với SVMs 54

4.2.4.1 Thực nghiệm quá trình trích chọn tập đặc trưng 55

4.2.4.2 Thực nghiệm đánh giá hiệu năng phân loại đa lớp 56

4.2.5 Nhận xét kết quả thực nghiệm 59

4.3 Kết chương 59

CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 60

PHỤ LỤC 1: Mô tả mã nguồn của chương trình 62

PHỤ LỤC 2: Hướng dẫn sử dụng và cài đặt chương trình 64

PHỤ LỤC 3: Mô tả nội dung đĩa CD kèm theo 65

DANH MỤC TÀI LIỆU THAM KHẢO 66

Trang 10

DANH MỤC CÁC HÌNH

Hình 1-1: Quy trình Khai phá tri thức – KDD Process 1

Hình 1-2: Mô hình chung bài toán Khai phá văn bản 3

Hình 1-3: Ví dụ quá trình phân loại văn bản 4

Hình 1-4: Biểu diễn các vector văn bản trong không gian chỉ có 2 thuật ngữ 9

Hình 1-5: Mô hình phân loại văn bản tổng quát 11

Hình 1-6: Cấu trúc phương pháp phân loại văn bản 12

Hình 1-7: Minh hoạ cách tính độ chính xác (precision) và độ bao (recall) 14

Hình 2-1: Minh hoạ chiều VC trong không gian 2 chiều với 3 điểm dữ liệu 16

Hình 2-2: Minh hoạ các hàm {f(x)} trong không gian 2 chiều với 4 điểm dữ liệu 17

Hình 2-3: Phân tách tuyến tính được xác định bằng mặt hình học H (w•x + b = 0) 19

Hình 2-4: Siêu phẳng phân tách tối ưu H trường hợp tuyến tính 21

Hình 2-5: Trường hợp dữ liệu huấn luyện có nhiễu 24

Hình 2-6: Thực hiện ánh xạ sang không gian đặc trưng kích thước 25

lớn thông qua hàm nhân 26

Hình 3-1: Sơ đồ chức năng hệ thống xử lý văn bản 33

Hình 3-2: Sơ đồ minh hoạ chức năng Phân loại văn bản 34

Hình 3-4: Mô hình bộ tiền xử lý văn bản 35

Hình 3-5: Lược đồ tiền xử lý tập dữ liệu và trích chọn tập đặc trưng 41

Hình 3-7: Lược đồ thực hiện module huấn luyện 43

Hình 4-1: Giao diện chính của chương trình Phân loại văn bản SVMs 48

Hình 4-2: Giao diện chức năng huấn luyện SVMs 49

Hình 4-3: Giao diện chức năng kiểm tra hiệu năng SVMs 49

Hình 4-4: Biểu đồ biến thiên thời gian phân tách từ trên tập dữ liệu báo Vietnamnet 51 Hình 4-5: Biểu đồ biến thiên thời gian phân tách từ trên tập dữ liệu báo VnExpress 52

Trang 11

ix

DANH MỤC CÁC BẢNG

Bảng 1-1: Một số hàm tính giá trị ước lượng thông tin của thuật ngữ 8

Bảng 1-2: Ví dụ biểu diễn vector thưa 11

Bảng 4-1: Kết quả thực nghiệm phân tách trên bộ dữ liệu Vietnamnet 51

Bảng 4-2: Kết quả thực nghiệm trên bộ dữ liệu VnExpress 52

Bảng 4-3: Kết quả thực nghiệm trích chọn tập đặc trưng trên báoVietnamnet 55

Bảng 4-4: Kết quả thực nghiệm phân loại đa lớp trên bộ dữ liệu báo Vietnamnet 57

Bảng 4-5: Kết quả thực nghiệm phân loại đa lớp trên bộ dữ liệu báo VnExpress 57

Bảng 4-6: Kết quả thực nghiệm phân loại đa lớp trên bộ dữ liệu báo Hanoimoi 58

Bảng 4-7: Kết quả thực nghiệm phân loại đa lớp trên bộ dữ liệu báo Laodong 58

Bảng 4-8: Tổng hợp kết quả phân loại đa lớp trên các bộ dữ liệu (báo Vietnamnet, VnExpress, Hanoimoi, Laodong) 58

Trang 12

KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT

DM: Data Mining

ML: Machine Learning

IDF: Inverse Document Frequency

KDD: Knowledge Discovery in Database

k-NN: k-Nearest Neighbor

OSH: Optimum Separation Hyperplance

SVMs: Support Vector Machines

Thuật toán k láng giềng gần nhất

Siêu phẳng phân tách tối ưu

Phương pháp máy vector hỗ trợ

Mô hình tần số thuật ngữ

Khai phá văn bản

Trang 13

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 1/67

CHƯƠNG 1: TỔNG QUAN LÝ THUYẾT

Nội dung chương này sẽ trình bày những vấn đề lý thuyết về: lĩnh vực khai phá

tri thức, khai phá dữ liệu văn bản, đặc biệt là bài toán phân loại văn bản Đây là

những nền tảng cơ bản của các bài toán xử lý văn bản nói chung và bài toán phân loại văn bản nói riêng Tiếp theo, chương này sẽ đi sâu về bước tiền xử lý dữ liệu và các

mô hình biểu diễn văn bản Đây là một bước không thể thiếu trong quy trình khai phá

dữ liệu văn bản, nó làm tiền đề cho các kỹ thuật xử lý các bài toán khai phá dữ liệu văn bản đã nêu Cuối cùng, là đề cập đến các phương pháp tối ưu được áp dụng cho bài toán phân loại văn bản

1.1 Tổng quan về khai phá tri thức

1.1.1 Khai phá dữ liệu

Khai phá dữ liệu (Data Mining) được định nghĩa là quá trình phát hiện và trích

chọn thông tin hữu ích ẩn chứa trong các cơ sở dữ liệu lớn hay các kho chứa thông tin khác [1]

Hiện nay, thuật ngữ khai phá dữ liệu luôn gắn liền với thuật ngữ phát hiện tri

thức trong cơ sở dữ liệu (KDD – Knowledge Discovery in Database) Nó là một bước

trong quy trình tổng quan KDD, nhưng được xem là bước quan trọng nhất Sau đây là

sơ đồ biểu diễn quy trình KDD [1]:

Lựa chọn và Chuyển đổi

Ước lượng và Trình diễn Tri thức

Các mẫu dữ liệu

Hình 1-1: Quy trình Khai phá tri thức – KDD Process

Trang 14

 Làm sạch dữ liệu: Nhằm loại bỏ nhiễu và dữ liệu không cần thiết Các dữ

liệu cần loại bỏ ở đây có thể là dấu hiệu, ký hiệu, ký tự không mang nhiều ý nghĩa

 Tích hợp dữ liệu: Là quá trình tích hợp dữ liệu từ nhiều nguồn khác nhau

 Lựa chọn dữ liệu: Ở bước này, các dữ liệu liên quan tới quá trình phân tích

sẽ được lựa chọn từ cơ sở dữ liệu

 Chuyển đổi dữ liệu: Các dữ liệu được biến đổi hoặc kết hợp thành các mẫu phù hợp với quá trình khai thác

 Khai thác dữ liệu: Đây là bước quan trọng nhất, ở giai đoạn này lựa chọn

các phương thức thông minh (theo thứ tự nhất định) để trích chọn ra các

Hình 1-1 thể hiện 7 quá trình của KDD, trong đó khai thác dữ liệu là một trong

các bước của quy trình KDD Khai phá dữ liệu có hai nhiệm vụ chính, đó là: Mô tả và

dự đoán [2]

Nhiệm vụ mô tả (Description Task): Nhằm tìm ra các mẫu thông tin để

mô tả dữ liệu mà con người có thể hiểu được Tương ứng với nhiệm vụ này

có một số bài toán liên quan như: lập nhóm, phát hiện luật kết hợp, …

Nhiệm vụ dự đoán (Prediction Task): Sử dụng một số biến để dự đoán

những giá trị chưa biết hay giá trị trong tương lai của biến khác Tương ứng

với nhiệm này có một số bài toán liên quan như: phân loại, hồi quy, phát

hiện độ lệch

Việc tổ chức dữ liệu áp dụng trong bước khai phá dữ liệu là rất quan trọng Có

rất nhiều cách tổ chức dữ liệu khác nhau, cách phổ biến hiện nay là cơ sở dữ liệu quan

hệ, ngoài ra còn có: Cơ sở dữ liệu hướng đối tượng, cơ sở dữ liệu không qian, cơ sở dữ liệu hướng thời gian thực, và cơ sở dữ liệu fulltext, … Đối với mỗi dạng cơ sở dữ liệu lại có các phương pháp xử lý khác nhau và mục đích khai thác dữ liệu khác nhau tùy theo tính chất và đặc thù của dữ liệu

Hiện nay người ta biết đến nhiều kỹ thuật được sử dụng trong khai phá dữ liệu

bao gồm: các kỹ thuật truyền thống như học máy (machine learning), nhận dạng (recognition), thống kê (statistics), phân loại (classification), …,các kỹ thuật được phát triển bởi ngành nghiên cứu trí tuệ nhân tạo như mạng nơ-ron nhân tạo (neural

network), thuật toán di truyền (generic algorithm), quy nạp luật (rule reduction), cây quyết định (decision tree), …

1.1.2 Khai phá dữ liệu văn bản

Trong các loại dữ liệu thì văn bản là loại dữ liệu chiếm đa số trong CSDL Văn bản có những đặc điểm chung của dữ liệu và cũng có những đặc điểm khác biệt với các loại dữ liệu khác như âm thanh, hình ảnh,… Về mặt lưu trữ, dữ liệu văn bản được chia thành hai loại [25]:

Trang 15

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 3/67

ngày được thể hiện dưới dạng ngôn ngữ tự nhiên của con người và chúng không có một cấu trúc cụ thể nào Ví dụ, văn bản lưu dưới dạng tệp tin TXT

được lưu trữ dưới dạng các bản ghi chặt chẽ mà được tổ chức qua các đánh dấu để thể hiện nội dung chính của văn bản Ví dụ, các văn bản lưu dưới dạng tệp tin HTML, e-Mail, Doc, …

Do thiếu tính cấu trúc nên để khai phá dữ liệu trước tiên ta phải đưa các văn bản

về dạng có cấu trúc

Khai phá dữ liệu văn bản (Text mining) là một lĩnh vực nhỏ trong Khai phá dữ

liệu Khai phá dữ liệu văn bản được định nghĩa là quá trình tìm kiếm tri thức trong

những tập hợp bao gồm rất nhiều văn bản có nội dung đa dạng và được thu thập từ nhiều nguồn khác nhau Kỹ thuật khai phá dữ liệu văn bản được mô tả theo [4]:

Text Mining = Data Mining + Language Engineering

Trong đó:

 Data mining: Sử dụng các kỹ thuật trong quy trình khai thác dữ liệu áp

dụng riêng đối với dữ liệu văn bản

 Language Engineering: Kỹ thuật ngôn ngữ, nhằm xử lý riêng ngôn ngữ thể

hiện nội dung dữ liệu văn bản

Nói chung, khai phá dữ liệu văn bản bao gồm các bước: Thu thập dữ liệu ở dạng văn bản, làm sạch chúng, phân tích biến đổi, lấy thông tin và hiển thị

Trang 16

1.1.3 Bài toán phân loại văn bản

Phân loại văn bản là quy trình gán một tài liệu văn bản vào một hoặc nhiều lớp văn bản thích hợp dựa vào nội dung của văn bản

Hình 1-3: Ví dụ quá trình phân loại văn bản

Bài toán phân loại văn bản được ứng dụng trong rất nhiều lĩnh vực khác nhau, một trong những ứng dụng quan trọng nhất của bài toán này là ứng dụng tìm kiếm văn bản Từ tập dữ liệu đã được phân loại, các văn bản sẽ được đánh chỉ số đối với từng lớp tương ứng Người dùng có thể xác định chủ đề mà mình muốn tìm thông qua các truy vấn

1.1.4 Các khó khăn trong khai phá dữ liệu văn bản

Mặc dù có nhiều cách tiếp cận đã được đề xuất nhưng hầu hết các giải pháp đều chưa giải quyết hoàn toàn một số vấn đề trong khai phá dữ liệu:

thể lên đến hàng nghìn, thậm chí hàng chục nghìn Nếu mỗi thuật ngữ trong một ngôn ngữ nào đó được biểu diễn bằng một chiều trong không gian vector thì số chiều không gian vector sẽ rất lớn Điều này dẫn đến rất nhiều

khó khăn chẳng hạn như chi phí tính toán cao

Tính khả cỡ (scability): Các cơ sở dữ liệu lớn thường chứa hàng trăm

nghìn văn bản Nhiều thuật toán khai phá dữ liệu có thể làm việc tốt với tập

dữ liệu nhỏ nhưng khi xử lý trên tập dữ liệu lớn thì không hiệu quả

nhằng chẳng hạn như: từ đồng nghĩa, từ đồng âm khác nghĩa Trong những

trường hợp này, phải dựa vào ngữ cảnh mới xác định được chúng

được biểu diễn ở cấu trúc được mô tả một cách dễ hiểu để người sử dụng có

thể truy cập một cách dễ dàng

Tri thức tiên nghiệm: Trong nhiều bài toán chẳng hạn như bài toán lập

nhóm văn bản, thì người sử dụng phải xác định trước một số tham số đầu

vào (như số nhóm văn bản cần lập) Tuy nhiên, trong nhiều trường hợp

người sử dụng lại không hiểu những gì mình cần

Trang 17

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 5/67

Chính vì những lý do trên hiện nay khai phá dữ liệu văn bản là một trong những lĩnh vực đang đặt ra nhiều thách thức thu hút nhiều nhóm nghiên cứu nhằm tìm ra giải pháp thích hợp để giải quyết khó khăn trên

1.2 Tiền xử lý và biểu diễn văn bản tiếng việt

1.2.1 Tiền xử lý văn bản tiếng Việt

Tiền xử lý trong văn bản chính là bước nhằm biến đổi văn bản về dạng tài liệu chuẩn có cấu trúc xác định Các ngôn ngữ trên thế giới có những đặc điểm khác nhau

do đó việc tiền xử lý để loại bỏ các từ ngữ không cần thiết, tách các thuật ngữ, … cho các văn bản là không giống nhau

Nhìn chung một quy trình tiền xử văn bản bao gồm các bước như sau:

Tiền xử lý ký tự

Mục đích nhằm làm giảm sự nhập nhằng trong việc biểu diễn ký tự Ví dụ như trong xử lý văn bản Tiếng Việt, loại bỏ sự khác nhau giữa chữ hoa và chữ thường bằng cách chuyển tất cả các ký tự chữ hoa thành chữ thường; hoặc chuyển các ký tự không có trong bộ chữ cái Tiếng Việt thành dấu chấm “.”

Tách các từ khoá trong văn bản

Là thao tác tách văn bản thành danh sách các từ khoá (thuật ngữ) với một sai

số chấp nhận được để chuẩn bị cho việc biểu diễn văn bản dưới dạng cấu trúc Đối với các ngôn ngữ khác nhau thì việc tách từ cũng có những đặc điểm khác nhau

Loại bỏ từ dừng trong văn bản

Từ dừng (stopword) là những từ mang ít ý nghĩa trong xử lý văn bản mà nó lại xuất hiện trong hầu hết các văn bản, chẳng hạn như: các liên từ, giới từ

… (như trong Tiếng Việt: nếu, thì, vì thế, hơn nữa, tuy nhiên, …) Việc loại

bỏ các từ dừng đồng nghĩa với việc giảm số chiều của văn bản

Biểu diễn văn bản về dạng cấu trúc

Là quá trình sử dụng các mô hình biểu diễn văn bản để đưa văn bản về dạng

dễ giải quyết, phù hợp với ứng dụng trong bài toán Khai thác dữ liệu Một

số mô hình biểu diễn thường được sử dụng để biểu diễn gồm: mô hình không gian vector, mô hình dựa trên tập mờ (Fuzzy Set), mô hình dựa trên tập thô (Rough Set), …

1.2.2 Tách thuật ngữ trong văn bản Tiếng Việt

Tiếng Việt là ngôn ngữ đơn âm tiết khác với các ngôn ngữ đa âm tiết như nhóm ngôn ngữ Ấn-Âu Khác với các ngôn ngữ đơn âm tiết khác như tiếng Trung Quốc hay tiếng Thái Lan, tiếng Việt được viết bằng các ký tự Latinh mở rộng Vì vậy cách xử lý các ngôn ngữ này cũng không thể áp dụng hoàn toàn cho tiếng Việt Về mặt đơn vị ngôn ngữ, tiếng Việt có hai đơn vị ngôn ngữ nhỏ nhất là tiếng và từ [24]:

Trang 18

Tiếng:

Mỗi tiếng trong tiếng Việt được viết thành một chữ, ngược lại mỗi chữ đọc thành một tiếng, mỗi chữ nằm giữa hai dấu phân cách trong câu Tiếng dùng để tạo thành từ, tiếng có thể có nghĩa rõ ràng hoặc không có nghĩa rõ ràng Ví dụ:

- Từ tạo bởi một tiếng: “tôi”, “tớ”

- Từ tạo bởi nhiều tiếng có nghĩa rõ ràng: “hoa hồng” = “hoa” +

“hồng”

Từ:

Hiện nay đang tồn tại nhiều định nghĩa khác nhau về từ trong tiếng Việt,

nhưng tất cả những nghiên cứu ngôn ngữ đều đồng ý “từ” trong tiếng Việt có

những đặc điểm sau:

- Từ phải đầy đủ về phương diện hình thức, ngữ nghĩa và độc lập về mặt ngữ pháp

- Từ được xây dựng từ tiếng

- Từ có thể là các từ đơn (1 tiếng) hoặc từ phức (gồm nhiều tiếng)

d/gi (dông bão/ giông bão)

- Phương ngữ: chính đáng/ chánh đáng, con tru/ con trâu, …

- Vị trí dấu trong một âm: khai hoả/ khai hỏa, …

- Cách viết hoa tuỳ tiện đối với các danh từ riêng: tồn tại nhiều cách viết khác nhau Ví dụ: Bộ Khoa học công nghệ và môi trường/ Bộ Khoa học công nghệ & Môi trường, Việt Nam/ Việt nam, …

- Phiên âm tiếng nước ngoài: phiên âm là hình thức biến chữ ngoại quốc thành chữ địa phương Nhưng hiện nay vẫn tồn tại cả hai cách viết phiên âm và không phiên âm, chẳng hạn: Singapo/ Xing-ga-po, America/ Hoa Kỳ, Trung Quốc/ Trung Hoa, …

- Dấu gạch nối: thường xuất hiện khi các từ đa âm nước ngoài du nhập vào Việt Nam Để chỉ rõ đây là chữ chứ không phải là một cụm chữ, người ta dùng dấu gạch nối Tuy nhiên vẫn tồn tại hai cách viết, ví dụ Portugal được dịch thành Bồ Đào Nha/ Bồ-Đào-Nha

Do đặc điểm của tiếng Việt không thể sử dụng các ký tự trắng để phân tách các thuật ngữ nên có một cách phổ biến là sử dụng một từ điển thuật ngữ để phát hiện từ

Sau đây, em sẽ giới thiệu một số phương pháp tách thuật ngữ áp dụng đối với văn bản tiếng Việt [15][16]

 Tách thuật ngữ theo độ dài từ dài nhất

Đây là phương pháp tách thuật ngữ đơn giản và dễ cài đặt, và hiệu quả thu được tương đối tốt (giải thuật này sẽ được áp dụng triển khai trong chương

Trang 19

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 7/67

trình demo) Phương pháp này sử dụng một từ điển từ vựng để làm cơ sở

phân tách thuật ngữ

 Thuật ngữ theo phương pháp đồ thị

Phương pháp tách thuật ngữ bằng đồ thị quy việc phân tách câu về việc tìm đường đi trên một đồ thị có hướng, không có trọng số

1.2.3 Các kỹ thuật giảm chiều văn bản

Quá trình tiền xử lý tách từ cho văn bản đưa lại một danh sách rất lớn các từ khoá Khi tập từ khoá này càng lớn thì không gian để lưu trữ văn bản cũng càng lớn,

và việc xử lý càng tốn nhiều thời gian Do đó, cần loại bớt những từ không có, hoặc ít

có giá trị trong quá trình xử lý văn bản

Các bước áp dụng giúp giảm kích thước chiều của văn bản, bao gồm:

 Loại bỏ từ dừng (Stopwords)

Trong các ngôn ngữ tự nhiên có rất nhiều từ dùng biểu diễn cấu trúc câu nhưng

lại không mang nhiều ý nghĩa về mặt nội dung, chẳng hạn các từ loại thuộc: giới từ,

liên từ, … Các loại từ này xuất hiện thường xuyên trong các văn bản nhưng không hề

mang bất cứ một thông tin nào về nội dung hay chủ đề bài viết Hơn nữa, việc xuất hiện của các từ dừng có thể làm chi phối, làm giảm chất lượng kết quả của việc xử lý văn bản Việc loại bỏ từ dừng đồng nghĩa với việc giảm số chiều văn bản, nhưng lại mang lại làm tăng chất lượng xử lý văn bản Ngoài ra, trong xử lý văn bản thường các động từ không đóng vai trò quan trọng, do đó để làm giảm số chiều văn bản ta cũng có thể loại đi các động từ Để thực hiện được việc này, ta có thể áp dụng phương pháp phân tích cú pháp câu để tìm các động từ, đây là phương pháp hay nhưng lại có độ phức tạp cao, tốn thời gian xử lý Trong ngôn ngữ tiếng Việt, những từ đứng sau các từ

“đã”, “đang”, và “sẽ” luôn là các động từ, do đó ta có thể áp dụng điều này để có thể

loại bỏ một phần những từ không quan trọng trong danh sách biểu diễn

 Lựa chọn tập đặc trưng cho không gian văn bản

Sau khi đã loại bỏ các từ trong danh sách thuật ngữ phân tách, tập các từ khoá T

của văn bản mặc dù đã giảm đi đáng kể, nhưng vẫn có kích thước rất lớn (nếu đầu vào

là một tập văn bản lớn) Kỹ thuật lựa chọn tập thuật ngữ đặc trưng (hay giảm không

gian thuật ngữ - Term Space Reduction -TSR) [25] sẽ giúp làm giảm số chiều của văn

bản, tức sẽ chọn ra tập thuật ngữ T’ từ tập thuật ngữ T (với |T’| << |T|), sao cho khi sử

dụng nó để biểu diễn tài liệu nó cho ta hiệu quả cao nhất Giảm số chiều có khuynh

hướng làm giảm hiện tượng tràn lỗi (overfitting)

Một trong những phương pháp lựa trọn tập đặc trưng cho kết quả cao đó là sử

dụng phương pháp lựa chọn thuật ngữ đặc trưng dựa trên lý thuyết thông tin Theo

phương pháp này, để lựa chọn tập thuật ngữ đặc trưng, ta sử dụng các hàm để tính giá trị thông tin của thuật ngữ Sau đây là một số hàm ước lượng thông tin hay dùng:

Trang 20

Bảng 1-1: Một số hàm tính giá trị ước lượng thông tin của thuật ngữ

 { , }  { , } ( ) ( )

) , ( log ).

, (

t P

) ( ).

(

) , ( log

i k

i k c P t P

c t P

)()

()

()

(

)],()

,(),()

,(.[

|

|

i i k k

i k i k i

k i k

c P c P t P t P

c t P c t P c t P c t P

)()

()

()

(

)],()

,(),()

,(.[

|

|

i i k k

i k i k i

k i k

c P c P t P t P

c t P c t P c t P c t P

i k

i k

 )

| (

)

| ( log

)

|()]

|(1[

)]

|(1).[

|(

i k i k

i k i

k

c t P c t P

c t P c

t P

- P(tk,ci): xác suất chọn ngẫu nhiên một văn bản x, mà x chứa t k và xc i

- P(ci): xác suất chọn ngẫu nhiên một văn bản x, mà x c i

- P(tk): xác suất ngẫu nhiên một văn bản x, mà x chứa thuật ngữ t k

Với hàm ước lượng thông tin nêu trên, ta sẽ tiến hành tính toán giá trị hàm ước

lượng thông tin của thuật ngữ t k đối với lớp c i để quyết định xem có nên lựa chọn t k

làm đặc trưng của văn bản hay không Chúng ta sẽ chỉ giữ lại những thuật ngữ có giá trị ước lượng thông tin không thấp hơn ngưỡng cho trước, nếu hàm ước lượng thông

tin của t k thấp hơn ngưỡng thì nó sẽ bị loại bỏ

Nhiều kết quả thực nghiệm trên các tập mẫu khác nhau đã chỉ ra rằng, các kỹ

thuật như: IG hoặc χ 2 có thể giảm không gian thuật ngữ tới 100 lần mà không ảnh hưởng (hoặc giảm rất ít) hiệu quả phân loại

1.2.4 Các mô hình biểu diễn văn bản

Như ta đã biết, để có thể xử lý được văn bản ta phải chuyển chúng về dạng dữ liệu có cấu trúc Để có thể thực hiện được công việc này, người ta đưa ra các mô hình biểu diễn văn bản Mô hình biểu diễn văn bản có ảnh hưởng rất nhiều đến hiệu quả và hiệu suất xử lý các văn bản Tuỳ mục đích, yêu cầu đặt ra của ứng dụng mà ta sẽ lựa chọn mô hình biểu diễn và phương pháp xử lý phù hợp Dưới đây là một số mô hình dùng để biểu diễn văn bản:

Trang 21

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 9/67

1.2.4.1 Mô hình không gian vector (Vector Space Model)

Theo mô hình này [5][24], mỗi văn bản sẽ được biểu diễn thành một vector mà mỗi thành phần của vector biểu diễn một giá trị thuật ngữ riêng biệt trong tập văn bản

gốc (mỗi thành phần vector được gán một giá trị của hàm f của từng thuật ngữ trong văn bản) Giá trị f này thường là trọng số của từ trong văn bản, được xác định theo

nhiều cách biểu diễn khác nhau Ví dụ dưới đây mô tả việc biểu diễn các vector văn bản trong không gian 2 chiều (chỉ có 2 thuật ngữ):

văn bản như: mô hình Boolean, TF, IDF, TFxIDF

Để biểu diễn tập văn bản theo các mô hình trên, ta giả sử tập gồm m văn bản: D

 Mô hình tần suất (Term Frequency - TF)

Các giá trị w ij được tính dựa trên tần số xuất hiện của thuật ngữ trong văn bản

Gọi f ij là số lần xuất hiện của thuật ngữ t i trong văn bản d j , khi đó w ij được tính bởi công thức:

w ij = f ij

Trang 22

w ij = f ij

Trong phương pháp này, trọng số w ij tỷ lệ với số lần xuất hiện của thuật ngữ t i

trong văn bản d j Khi số lần xuất hiện thuật ngữ t i trong văn bản d j càng lớn thì điều

này có nghĩa là văn bản d j càng phụ thuộc vào thuật ngữ t i , hay nói cách khác t i mang

nhiều thông tin trong văn bản d j

 Mô hình nghịch đảo tần số văn bản (Inverse Document Frequency -

IDF)

Trọng số w ij được xác định theo phương pháp này sẽ dựa trên độ quan trọng của

thuật ngữ t i trong văn bản d j Nếu t i xuất hiện trong càng ít văn bản, có nghĩa là nếu nó

xuất hiện trong văn bản d j thì trọng số của nó đối với văn bản d j càng lớn hay hàm lượng thông tin trong nó càng lớn

𝑤𝑖𝑗 = 𝑙𝑜𝑔

𝑚

𝑕𝑖 = 𝑙𝑜𝑔 𝑚 − 𝑙𝑜𝑔 𝑚 nếu 𝑡𝑖 ∈ 𝑑𝑗

0 nếu 𝑡𝑖 ∉ 𝑑𝑗 trong đó:

- m là tổng số văn bản;

- h i là số văn bản có chứa thuật ngữ t i

 Mô hình kết hợp TFxIDF

Phương pháp này là sự kết hợp hai phương pháp TF và IDF, do đó nó có những

ưu điểm của cả hai phương pháp này Giá trị thành phần ma trận trọng số được tính như sau:

𝑤𝑖𝑗 = (1 − 𝑙𝑜𝑔 𝑓𝑖𝑗 )𝑙𝑜𝑔

𝑚

𝑕𝑖 nếu 𝑡𝑖 ∈ 𝑑𝑗

0 nếu 𝑡𝑖 ∉ 𝑑𝑗

Trọng số w ij được tính bằng tần số xuất hiện của thuật ngữ t i trong văn bản d j

độ hiếm của thuật ngữ t i trên toàn bộ cơ sở dữ liệu

1.2.4.2 Áp dụng phương pháp vector thưa trong biểu diễn văn bản

Khi biểu diễn văn bản theo mô hình vector chuẩn, việc xử lý các phép toán trên

vector sẽ phụ thuộc vào độ lớn của ma trận W ij , trong đó i = {1,…,n} với n là số thuật ngữ hay số chiều của vector; j = {1,…, m} với m là số lượng văn bản trong cơ sở dữ

liệu Trên thực tế, số lượng thuật ngữ và số văn bản trong cơ sở dữ liệu thường rất lớn,

có thể lên đến hàng nghìn hoặc hơn nữa Khi đó số lượng phần tử trong ma trận W ij sẽ

lên đến con số hàng triệu và việc lưu trữ ma trận W ij sẽ tốn quá nhiều tài nguyên bộ nhớ đồng thời các phép toán trên các vector sẽ rất phức tạp Để khắc phục vấn đề này

ta sẽ sử dụng kỹ thuật xử lý trên vector thưa thay vì việc lưu trữ và xử lý trên các vector đầy đủ

Vector thưa là dạng vector chỉ lưu trữ những thành phần từ khoá có số lần xuất hiện trong một văn bản là lớn hơn 0, nó sẽ không lưu trữ những từ không xuất hiện trong văn bản Cấu trúc của một phần tử trong vector thưa sẽ phải gồm hai thành phần:

Chỉ số của thuật ngữ, số lần xuất hiện hoặc trọng số của thuật ngữ đó trong văn bản

Xét ví dụ biểu diễn vector thưa như sau:

Trang 23

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 11/67

Bảng 1-2: Ví dụ biểu diễn vector thưa

1.3 Bài toán phân loại văn bản

1.3.1 Tổng quan phân loại văn bản

Phân loại văn bản được hiểu là quá trình thực hiện việc gán chủ đề có trước cho các văn bản dựa trên nội dung của chúng

Hình 1-5: Mô hình phân loại văn bản tổng quát

Công việc phân loại văn bản thủ công đòi hỏi tốn nhiều công sức và thời gian của con người Bên cạnh đó, kết quả phân loại còn phụ thuộc cả vào trình độ và cá tính của người phân loại, do đó kết quả phân loại bằng tay thường mang tính chủ quan Một

hệ thống phân loại tự động được xây dựng không những có thể thay thế hoàn toàn con người trong lĩnh vực này mà thậm chí còn cho ra các kết quả tốt hơn rất nhiều

Trang 24

Để xây dựng công cụ phân loại văn bản tự động người ta thường dùng các thuật toán học máy (Machine Learning) Tuy nhiên, còn có các thuật toán đặc biệt hơn dùng cho phân loại trong các lĩnh vực đặc thù Một ví dụ điển hình là bài toán phân loại công văn giấy tờ Hệ thống sẽ tìm ra đặc thù của văn bản một cách tương đối máy móc, cụ thể là khi tìm thấy ở lề trên bên trái có ký hiệu “NĐ” thì hệ thống sẽ phân văn bản đó vào nhóm “Nghị định”, tương tự như vậy với các ký hiệu “CV”, “QĐ” thì hệ thống sẽ phân văn bản này vào nhóm “Công văn”, và “Quyết định” Thuật toán này tương đối hiệu quả song lại chỉ phù hợp cho các nhóm dữ liệu tương đối đặc thù Khi phải làm việc với các văn bản ít đặc thù hơn thì cần phải xây dựng các thuật toán phân loại dựa trên nội dung của văn bản và so sánh độ phù hợp của chúng với các văn bản

đã được phân loại bởi con người Đây là tư tưởng chính của thuật toán học máy Trong

mô hình này, các văn bản đã được phân loại sẵn và hệ thống của chúng ta phải tìm cách để tách ra đặc thù của các văn bản thuộc mỗi nhóm riêng biệt Tập văn bản mẫu dùng để huấn luyện gọi là tập huấn luyện (train set) hay tập mẫu (pattern set), quá trình phân loại văn bản bằng tay gọi là quá trình huấn luyện (training), còn quá trình máy tự tìm đặc thù của các nhóm gọi là quá trình học (learning) Sau khi máy đã học xong, người dùng sẽ đưa các văn bản mới vào và nhiệm vụ của máy là tìm ra xem văn bản

đó phù hợp nhất với nhóm nào mà con người đã huấn luyện nó

Một trong những ứng dụng quan trọng nhất của phân loại văn bản là ứng dụng tìm kiếm văn bản Từ tập dữ liệu đã được phân loại, các văn bản sẽ được đánh chỉ số đối với từng lớp tương ứng Người dùng có thể xác định chủ đề mà mình muốn tìm thông qua các truy vấn

1.3.2 Nền tảng học máy trong bài toán phân loại

Quy trình phân loại đối với bài toán phân loại văn bản dựa trên kỹ thuật học máy gồm các bước [1]:

 Từ tập dữ liệu ban đầu, chuẩn bị dữ liệu huấn luyện (Training Data) và tập

dữ liệu kiểm tra (Test Data)

 Tiền xử lý văn bản và tách từ

 Biểu diễn văn bản theo định dạng có cấu trúc

 Áp dụng phương pháp học đối với tập dữ liệu huấn luyện để phân loại văn

bản

 Sử dụng tập dữ liệu để kiểm tra để thẩm định lại phương pháp

 Đánh giá hiệu quả của phương pháp học

Xây dựng biểu diễn đặc

trưng văn bản Huấn luyện phân lớp

Đánh giá kết quả phân lớp

Hình 1-6: Cấu trúc phương pháp phân loại văn bản

Để xây dựng hệ thống phân loại văn bản tự động, chúng ta cần một tập các văn bản được phân loại từ trước: training set là tập văn bản được phân loại trước dùng để

Trang 25

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 13/67

huấn luyện phân loại; test set là tập văn bản được phân loại từ trước sử dụng để kiểm tra tính hiệu quả của quá trình phân loại Kích thước của hai tập dữ liệu này không nhất thiết phải bằng nhau

Giả sử D là tập tất cả các văn bản đã được phân lớp từ trước: D = {d 1 , d 2, …,

d m }, trong đó d i tương ứng với văn bản thứ i Tập các lớp C = {c 1 , c 2 , …, c |C| }, c i là kí

hiệu của lớp thứ i

Tập huấn luyện: ký hiệu tập dữ liệu huấn luyện là Tr = {d 1 , d 2 , …, d n}

Hàm phân loại Φ cho các phân loại trong tập C được xây dựng theo quy nạp dựa trên sự quan sát các đặc trưng của các văn bản trong Tr

Tập kiểm tra: ký hiệu tập dữ liệu kiểm tra là Te = {d n+1 , d n+2 , …, d m}, được

sử dụng để kiểm tra hiệu quả phân lớp Mỗi d jTe được đưa vào hệ thống

phân loại để xác định giá trị hàm Φ(d j , C i), và so sánh giá trị này với quyết định ~(d j , C i) của chuyên gia Hiệu quả của việc phân loại dựa trên sự phù

hợp giữa Φ(d j , C i) và ~(d j , C i)

Việc chọn các tập dữ liệu huấn luyện và tập dữ liệu kiểm tra thường đảm bảo Tr

mất đi yếu tố khách quan, khoa học

Hầu hết các phương pháp phân loại văn bản dựa trên kỹ thuật học máy hiện nay đều dựa vào tần suất xuất hiện (số lần xuất hiện) của từ hoặc cụm từ trong văn bản, hoặc dựa vào tần suất xuất hiện của từ trong văn bản và tần suất văn bản (số văn bản trong tập dữ liệu huấn luyện chứa từ đó) Độ chính xác của kết quả tách từ có ảnh hưởng rất lớn đến kết quả phân loại, không thể có một kết quả phân loại tốt nếu như không tách được đúng các từ trong văn bản Bởi vậy, một vấn đề quan trọng đối với bài toán phân loại văn bản là phải tách được chính xác các từ trong văn bản Các văn bản được viết bằng các ngôn ngữ khác nhau thì có các đặc trưng riêng của ngôn ngữ

đó, và không có một phương pháp chung nào để tách các từ trong các văn bản được viết bằng các ngôn ngữ khác nhau

1.3.3 Phương pháp máy vector hỗ trợ (Support Vector Machines)

Support Vector Machines (SVMs) là một phương pháp học máy mới, được giới thiệu bởi Vladimir Vapnick và các cộng sự vào năm 1970, nhưng lần đăng báo đầu tiên là vào năm 1995 Từ đó đến nay, nhiều kết quả nghiên cứu và thực nghiệm thấy rằng SVMs hoàn toàn phù hợp với nhiệm vụ phân loại

Phương pháp phân loại SVMs dựa trên nền tảng học máy có giám sát, xuất phát

từ lý thuyết học thống kê, và nguyên tắc tối thiểu hoá rủi ro cấu trúc (Structural Risk Minimisation), nghĩa là SVMs sẽ cố gắng tìm cách phân loại văn bản sao cho lỗi xảy

ra trên tập kiểm tra là nhỏ nhất Ý tưởng chính của phương pháp SVMs sẽ là: với một lớp văn bản cho trước, tìm một mặt phẳng phân tách tối ưu (cho sai số nhỏ nhất) chia tập dữ liệu thành hai phần, một phần thuộc phía dương của siêu phẳng thì thuộc về chủ

đề văn bản đó, phần còn lại (thuộc phía âm của siêu phẳng) thì không thuộc chủ đề đó

Ta có thể hiểu, siêu phẳng là một mặt hình học f(x) trong không gian N chiều, với x

R N

Trang 26

Phương pháp này đã được nghiên cứu và áp dụng khá nhiều cho bài toán phân loại văn bản tiếng Anh và một số ngôn ngữ khác, và nhiều kết quả thực nghiệm cho thấy rằng SVMs cho kết quả phân loại đạt độ chính xác cao đối với các ngôn ngữ này Mặc dù vậy, phương pháp này lại chưa được áp dụng nhiều đối với bài toán phân loại văn bản tiếng Việt Vì vậy, phương pháp phân loại văn bản tiếng Việt sử dụng phương pháp SVMs đã được lựa chọn làm nội dung nghiên cứu và cài đặt chính của báo cáo này Nội dung chi tiết của phương pháp này sẽ được trình bày cụ thể hơn trong chương

4 của báo cáo

1.3.2 Công thức xác định hiệu năng phân loại văn bản

Việc đánh giá quá trình xử lý văn bản nói chung và phân loại văn bản nói riêng được xác định thông qua hai đại lượng Precision (độ chính xác) và Recall (độ bao) Hai đại lượng được xác định như sau [25][26]:

Trong hình trên:

Tổng số văn bản được gán nhãn dương = a

Tổng số văn bản thực sự mang nhãn dương = c

Số văn bản được gán nhãn dương và đúng b = a ∩ c

Tổng số văn bản kiểm tra

Tổng số văn bản mang nhãn dương Tổng số văn bản được

chương trình gán nhãn

dương

Số văn bản được gán nhãn dương và đúng

Hình 1-7: Minh hoạ cách tính độ chính xác (precision) và độ bao (recall)

Nhận xét:

Khi độ chính xác Pr càng tiến dần đến 1 thì tập văn bản tìm được càng có nhiều phần tử thuộc tập văn bản đúng, khi đó độ chính xác càng cao Khi độ bao Re càng

tiến dần đến 1 thì tập hợp văn bản đúng càng có nhiều phần tử thuộc tập tìm được Khi

độ chính xác Pr = 1 thì tập văn bản tìm được là tập con của tập văn bản đúng, khi độ

Trang 27

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 15/67

bao Re = 1 thì tập văn bản đúng là tập con của tập văn bản tìm được Trong trường hợp

lý tưởng, Pr = Re = 1 thì tập văn bản tìm được và tập văn bản đúng hoàn toàn trùng

nhau, khi đó kết quả thu được là chính xác tuyệt đối

1.4 Kết chương

Chương này trình bày những vấn đề cơ bản như: lĩnh vực khai phá tri thức, khai

phá dữ liệu văn bản, và bài toán phân loại văn bản Tiếp theo, chương này trình bày

bước tiền xử lý dữ liệu và các mô hình biểu diễn văn bản Cuối cùng, đề cập đến các phương pháp tối ưu được áp dụng cho bài toán phân loại văn bản Từ đó lựa chọn phương pháp Máy vector hỗ trợ

Chương 2 sẽ đề cập một cách chi tiết về phương pháp Máy vector hỗ trợ

Trang 28

CHƯƠNG 2 PHƯƠNG PHÁP PHÂN LOẠI MÁY VECTOR

HỖ TRỢ SVMs

Trong phần 1.3.3 đã trình bày qua về tư tưởng bài toán phân loại theo SVMs Phần nội dung dưới đây sẽ trình bày cụ thể về cơ sở lý thuyết hình thành phương pháp SVMs, và các bài toán liên quan tới phương pháp này

2.1 Lý thuyết học thống kê

2.1.1 Chiều VC (Vapnik Chervonenkis Dimension)

Xét các hàm f(x): R n → {+1, -1}, có 2n cách để gán nhãn cho n điểm Nếu với mỗi một cách gán nhãn, ta đều có thể tìm thấy một thành phần của tập hợp {f(x)} mà nhận dạng chính xác cách gán nhãn này, thì khi đó tập n điểm được gọi là bị phá vỡ bởi tập hợp các hàm {f(x)} Chiều VC của {f(x)} chính là kích thước của tập hợp các

hàm phân tách nêu trên [7][11]

Chiều VC của các siêu phẳng trong không gian R n là n+1 Ví dụ, chiều VC của các đường thẳng có hướng trong không gian 2 chiều (R2) là 3

Minh hoạ chiều VC của tập các hàm {f(x)}trong không gian 2 chiều với 3 điểm

dữ liệu

ΔS(x 1 ,x 2 ,x 3 ) = 8 = 23Hình 2-1: Minh hoạ chiều VC trong không gian 2 chiều với 3 điểm dữ liệu

Khi số điểm dữ liệu lớn hơn 3, ví dụ là 4 thì số cách gán nhãn (số hàm f(x)) sẽ

không còn là 24

Trang 29

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 17/67

ΔS(x1,x2,x3,x4) = 12 < 24 = 16

Hình 2-2: Minh hoạ các hàm {f(x)} trong không gian 2 chiều với 4 điểm dữ liệu

2.1.2 Rủi ro trong phương pháp học máy có giám sát

Cho không gian đầu vào: X R n

Không gian đầu ra: Y{+1, -1}

Dữ liệu huấn luyện: Tr = {(x1,y1), (x2,y2), …, (x n ,y n)}

Hàm f thực hiện ánh xạ tập X vào tập Y:

f: X → Y f: x  y

Giả sử mối liên hệ giữa x và y được cho bởi phân bố xác suất liên kết P(x,y) =

P(x).P(y|x) Mục đích của bài toán học có giám sát là tìm một hàm f trong tập hợp các

hàm {f | f: X → Y} và f được học trên tập dữ liệu huấn luyện Tr để tối thiểu hoá

[7][9][11]:

R(f) =

XxY

dxdy y , x P y , x f

Trong đó:

R(f): là giá trị rủi ro toàn cục của f(x)

Mục đích của chúng ta là tìm một hàm, hoặc một giả thiết f(x) dựa trên tập huấn

luyện sẵn có Tr sao cho rủi ro R là tối thiểu Vì trong thực tế, chúng ta không biết được

Trang 30

phân bố thực sự P(x,y) nên chúng ta không thể biết được tất cả các khả năng xảy ra của

tập dữ liệu kiểm tra Tuy nhiên, chúng ta có thể tính toán được giá trị rủi ro thực

nghiệm (Emprical Risk) dựa trên tập dữ liệu huấn luyện Tr Công thức xác định giá trị

n 1 ( ( ), )

1

Việc tối thiểu rủi ro thực nghiệm không phải là điều kiện tất yếu làm cho rủi ro

toàn cục tối thiểu Chúng ta có thể thấy rằng, trong trường hợp f(x i ) = y i(x i ,y i)  Tr

thì rủi ro thực nghiệm R emp (f) sẽ bằng 0 Mặc dù vậy, trường hợp này là không tổng quát vì hàm f có thể đạt được rủi ro tối thiểu trên tập dữ liệu Tr hiện tại nhưng vẫn có

thể gây ra rủi ro lớn trong các tập dữ liệu khác Hiện tượng này còn được gọi là hiện

tượng tràn lỗi (overfitting), nghĩa là giả thiết f chỉ tốt với tập dữ liệu huấn luyện Tr (tối

ưu cục bộ), nhưng không tốt với các tập dữ liệu khác

2.1.3 Nguyên tắc tối thiểu hoá rủi ro cấu trúc

Chúng ta sẽ đi tìm một hàm f để có thể tối thiểu hoá giới hạn trên của rủi ro

toàn cục, khi đó R(f) cũng sẽ tối thiểu Giới hạn trên của rủi ro toàn cục được xác định

như sau [11][12]:

R(f) ≤ Remp(f) +

n h

n

4 ln(

) 1

2 ln(

trong đó,

- n: Là số mẫu trong tập huấn luyện Tr

- δ: Là giá trị của xác suất liên kết P(x,y)

Ví dụ: Độ tin cậy của P(x,y) là 90% (δ = 0.1), tập Tr có 100 mẫu thì rủi ro toàn

cục không lớn hơn R emp (f) + T

- Nếu h = 1 thì T = 0.281

- Nếu h = 2 thì T = 0.357

- Nếu h = 10 thì T = 0.645

Nhận thấy giá trị h càng nhỏ thì số hạng thứ 2 trong bất đẳng thức (4-5) càng

nhỏ Nhưng vì số chiều VC càng nhỏ thì có thể gây ra lỗi thực nghiệm lớn, do đó để tối thiểu rủi ro toàn cục ta có thể tiến hành theo cách:

 Đầu tiên, chọn ra các hàm có rủi ro thực nghiệm là nhỏ nhất, tập các hàm

này được gọi là F empmin

Tiếp đó, chọn trong tập các hàm F empmin hàm có số chiều VC là nhỏ nhất

Trang 31

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 19/67

trong đó,

- “•” kí hiệu là tích vô hướng (hàm nhân)

- w, x  Rn,

- b  R,

- x là biến, w và b là các tham số trong hàm f(x)

Thì bổ đề về số chiều VC của tập các hàm {f(x)} được Vapnik phát biểu như

sau [7]:

với i = 1, …, n thuộc tập mẫu, được bao trong một hình cầu bán kính R và thoả mãn

|w.x + b| ≥ 1, đặt ||w|| = A, thì chiều VC của tập hợp các hàm này (kí hiệu là h) được

Từ bổ đề trên ta thấy rằng chiều VC của {f(x)} không phụ thuộc vào số chiều của vector x, mà phụ thuộc vào độ dài Ơcơlit ||w|| của vector

2.1.5 Nguyên lý nhận dạng mẫu (Pattern Recognition)

Xét không gian S, trong đó các thành phần mẫu x: x1, x2, …, x n S Khi đó, một siêu phẳng bất kỳ trong không gian S được xác định theo hàm:

1

Tập huấn luyện các mẫu được phân tách tuyến tính nếu tồn tại ít nhất một phân

lớp tuyến tính xác định bằng cặp tham số (w, b), nó thực hiện phân tách các mẫu huấn

luyện thành hai miền riêng biệt, miền dương tương ứng với các mẫu dương thuộc lớp đang xét, miền âm chứa các mẫu không thuộc lớp này

+1

+1 +1

+1

+1

class +1 w.x + b > 0

w.x + b = 0

class -1 w.x + b < 0

Trang 32

Trải qua quá trình huấn luyện xác định siêu phẳng phân tách, phép phân loại

thực hiện dự đoán thành phần lớp đối với các mẫu mới Phân lớp của mẫu x k được xác định bằng công thức:

𝒄𝒍𝒂𝒔𝒔(𝑥𝑘) = +1 nếu 𝑤 • 𝑥 + 𝑏 > 0

−1 nếu 𝑤 • 𝑥 + 𝑏 < 0 (4-8)

Tóm lại, quá trình phân loại các mẫu mới dựa trên dấu của phép toán: w•x k + b

2.2 Phương pháp máy vector hỗ trợ SVMs

Xuất phát từ mục đích tối thiểu hoá sự sai lệch trong quá trình kiểm tra, ý tưởng chính của Support Vector Machines là với một lớp văn bản xác định, tìm một siêu phẳng tối ưu để phân chia tập dữ liệu huấn luyện sao cho các văn bản thuộc lớp văn bản đang xét sẽ thuộc về phía dương của siêu phẳng, còn các văn bản không thuộc lớp văn bản này sẽ thuộc về phía bên kia siêu phẳng Một siêu phẳng được gọi là phân tách tối ưu nếu khoảng cách từ mẫu gần nhất đến siêu phẳng là cực đại [7][8]

Bài toán nêu ra: kiểm tra xem một văn bản d bất kỳ có thuộc hay không một

sẽ nằm về phía âm của siêu phẳng

Giả sử có được tập thuật ngữ đặc trưng T = {t1, t2, …, t N }, khi đó mỗi văn bản d i

sẽ được biểu diễn bằng một vector trọng số x i = (w i1 , w i2 , …, w in ) với w ij R là giá trị trọng số của thuật ngữ t j trong văn bản d i Như vậy, toạ độ của mỗi vector dữ liệu x i

tương ứng toạ độ của một điểm trong không gian R N, và quá trình phân loại văn bản

lúc này sẽ thực hiện xử lý trên các vector dữ liệu x i chứ không phải là các văn bản thô

Dữ liệu huấn luyện của SVMs là tập các văn bản đã đuợc gán nhãn trước:

Tr = {(x1, y1), …, (x n , y n)}

Trong đó:

- n là số văn bản của tập dữ liệu huấn luyện i = (1 ,…, n)

- x i là vector dữ liệu biểu diễn văn bản d i (x i R N)

- y i {+1, -1}

- cặp (x i , y i ) được hiểu là vector x i (hay văn bản d i ) được gán nhãn y i

Nếu coi mỗi văn bản d i được biểu diễn tương ứng với một điểm dữ liệu trong

không gian R N , thì cách giải quyết của SVMs là tìm một siêu phẳng phân tách tối ưu (Optimum Separation Hyperplance - OSH) (kí hiệu là f(x)) trong không gian N chiều

để phân chia dữ liệu sao cho tất cả các điểm x+ được gán nhãn +1 thuộc về phía dương

của siêu phẳng (f(x+) > 0), các điểm x- được gán nhãn -1 thuộc về nửa âm của siêu

Trang 33

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 21/67

+1 +1

Hình 2-4: Siêu phẳng phân tách tối ưu H trường hợp tuyến tính

Siêu phẳng H phân tách các mẫu thành hai lớp (lớp dương gồm các mẫu được

gán giá trị +1 có lề là đường H2, lớp còn lại - lớp âm chứa các mẫu gán trị -1 có lề giới

hạn là đường H1) Điều kiện H trở thành siêu phẳng là: khoảng cách lề giữa các mặt H1

và H2 tới siêu phẳng H sẽ phải đạt giá trị cực đại

Xét siêu phẳng H được xác định bởi hàm:

trong đó:

- w R N là vector hệ số

- b R là hệ số tự do

- x là vector biểu diễn văn bản (vector trọng số của văn bản)

- w•x là tích vô hướng của hai vector w và x

Xét trong không gian toạ độ 2-D như trong Hình 2-4, khoảng cách từ một điểm

(x0,y0) tới đường Ax + By + C = 0 được tính theo công thức:

Trang 34

d =

2 2 0

0 |

|

B A

C By Ax

Theo ý tưởng siêu phẳng phân tách có khoảng cách lề cực đại, vậy để giá trị

khoảng cách lề 2/||w|| đạt cực đại, tương ứng với vấn đề cực tiểu hoá ||w||

Điều kiện tồn tại siêu phẳng tối ưu (w, b) luôn phải đảm bảo:

thực nghiệm R emp sẽ bằng 0 Theo bổ đề Vapnik thì siêu phẳng f(x) được lựa chọn theo cách này sẽ có chiều VC là nhỏ nhất Do đó, siêu phẳng lựa chọn theo cách này sẽ có

khả năng đạt được mức độ rủi ro thực nghiệm là tối thiểu

Tóm lại, vấn đề siêu phẳng phân tách tối ưu của chúng ta sẽ được thể hiện qua bài toán tối ưu:

Đây là bài toán nhằm giải quyết vấn đề toàn phương, lồi (tập tham số lồi gồm

w, b) Ta chuyển đổi thành bài toán Lagrange tương đương với việc sử dụng các hệ số

i

i y w x b w

Nghiệm của bài toán tối ưu (4-13) chính là điểm yên ngựa của hàm Lagrange

(4-14) Theo định lý Kuhn-Tucker, giá trị tối thiểu của hàm Lagrange trên w, b đạt

được khi:

Trang 35

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 23/67

0 0

i i m

i i

x y w

| r

x r là một support vector thoả mãn *

r

 > 0

Từ điều kiện tồn tại của hệ số nhân Lagrange α i ≥ 0, nếu α i = 0 thì tích α i y i x i =

0, do đó chỉ những giá trị α i > 0 mới có ý nghĩa trong việc xây dựng vector w

Vậy, để phân loại một văn bản x ta chỉ cần xét dấu của hàm f(x):

Đây là trường hợp dữ liệu huấn luyện được phân tách nhưng vẫn gặp phải một

số lỗi [8][10] Tức là miền lớp âm vẫn chứa một số dữ liệu mang nhãn dương, còn miền dữ liệu dương lại chứa một số nhãn âm Trong trường hợp này, muốn phân loại tập dữ liệu huấn luyện, ta phải hạn chế sao cho số lỗi là tối thiểu nhất Để thực hiện

được, ta bổ sung thêm thành phần biến phụ không âm ξ i ≥ 0 (i = 1, , m)

Trang 36

Hình 2-5: Trường hợp dữ liệu huấn luyện có nhiễu

Điều kiện ràng buộc đối với các đường lề (margin)

Trong đó:

nhiễu xảy ra khi ξ i > 1

Khi đó, việc tìm siêu phẳng trường hợp này tương đương bài toán tối ưu mở rộng (OP1) sau:

m

i i C w

i i i m

i i

b x w y m

(4-25) Trong đó,

i

m

j

j i j i j i

với các điều kiện:

0 ≤ α i ≤ C, i = 1,…,m

Trang 37

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 25/67

i y x x

Trong đó:

- s là tổng số các vector hỗ trợ (support vector) của siêu phẳng tối ưu

- x r là một support vector thoả mãn *

i y x x b sign

1

*

* ( )

2.2.3 SVMs trường hợp không thể phân chia tuyến tính

Trong trường hợp này [8], để xây dựng một siêu phẳng phân tách tương ứng

trong không gian đặc trưng, ta sử dụng một hàm vector ф kích thước N thực hiện biến đổi một vector đầu vào x R n thành một vector đặc trưng R N

Trang 38

lớn thông qua hàm nhân

Thay các vector ф(x i ) vào các vị trí của x i, chúng ta có bài toán OP2 trong

j i j i

L

1 1

) ( ) ( 2

1 ) (

Việc tính toán trực tiếp trên ф(x i) rất phức tạp, do đó chúng ta cần sử dụng một

phương pháp tối ưu hơn để giải quyết bài toán này Hàm nhân (Kernel Function)

K(x i ,x j) được đưa ra nhằm khắc phục việc tính toán trực tiếp trên tích vô hướng

ф(x i ).ф(x j ) trong không gian N chiều:

()(),

Một số hàm nhân đặc trưng thường được sử dụng:

Klinear(u,v) = u•v

Kpoly(u,v) = (u•v + 1) d , với d N

Krbf(u,v) = exp[γ.(u - v)2]

Ksigmoid(u,v) = tanh(s.(u•v) + c), với s > 0, c < 0

Thay (4-31) vào (4-30) chúng ta có thể viết lại bài toán tối ưu OP2 trong không

gian N chiều như sau:

1

* r

| r

Trang 39

Sinh viên thực hiện: Hoàng Thị Nhung – Lớp HTTTA-K11 Trang 27/67

- s là tổng số các vector hỗ trợ (support vector) của siêu phẳng tối ưu

- x r là một support vector thoả mãn *

2.3 Thuật toán tìm siêu phẳng phân tách tối ưu

Đối với các bài toán tối ưu như đã nêu, vấn đề giải bài toán tối ưu để tìm tham

số vector α* là công việc quan trọng của bài toán phân loại với phương pháp SVMs,

khi tìm được vector α* việc học của bài toán phân loại văn bản theo phương pháp SVMs sẽ thành công Khi đó, để phân loại văn bản, ta chỉ cần dựa vào những tham số

đã học được và xét dấu hàm f(x) để đưa ra quyết định phân loại văn bản x

Bài toán tối ưu có hàm mục tiêu là hàm bậc hai đối với vector α, thoả các điều kiện tuyến tính Hàm mục tiêu và các ràng buộc của nó là hàm lồi trong không gian R n,

cho nên nó được gọi là bài toán QP lồi (Quadratic Programming) Trường hợp bài

toán phân loại SVMs có nhiễu nêu trên là trường hợp bài toán QP lồi, nên nếu hàm mục tiêu đạt cực trị địa phương thì nó cũng sẽ đạt cực trị toàn cục Bởi vậy, ý tưởng

tìm α* của bài toán QP là tại mỗi bước lặp ta sẽ cập nhật lại giá trị cho mỗi cặp biến

(α p , α q ) trong tập hợp các biến {α i } (i = 1,…,m) mà việc thay đổi giá trị của cặp biến

này sẽ làm tăng hàm mục tiêu nhiều nhất, các biến còn lại giữ nguyên Quá trình lựa

chọn cặp biến (α p , α q) để thay đổi giá trị được lặp đi lặp lại, cho đến khi không thể

chọn được một cặp (α p , α q) nào mà có thể làm tăng hàm mục tiêu thêm được nữa và

giá trị của α* = (α 1 ,…,α m) tại bước này chính là lời giải của bài toán tối ưu

Sau đây, em xin trình bày giải thuật 2v-SVM được áp dụng nhằm giải quyết

trường hợp dữ liệu không thể phân tách tuyến tính

2.3.1 Tìm tham số α* theo thuật toán 2v-SVM

Để giải bài toán OP2, tìm nghiệm tối ưu α*, trước hết cần phải xác định các

tham số đầu vào, đầu ra của thuật toán Sau đó, áp dụng phương pháp 2v-SVM để tìm

nghiệm tối ưu [6][10][25]:

a) Tham số đầu vào:

 Tập văn bản huấn luyện với:

- x i R n , với n là số chiều của văn bản hay kích thước của tập thuật

ngữ đặc trưng

- y i = {+1, -1}

 Các tham số:

- v + , v -: là các tham số lỗi tương ứng với các tập huấn luyện thuộc lớp

dương và lớp âm (cho trước)

1,

i

i

y C

y C

- K ij = K(x i ,x j) Trong đó:

Ngày đăng: 05/11/2014, 18:39

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Two Crows, “Introduction to Data Mining and Knowledge Discovery”, Third Edition.http://www.twocrows.com/booklet.htm Sách, tạp chí
Tiêu đề: Introduction to Data Mining and Knowledge Discovery
[3] Tu Bao Ho, “Overview of Knowledge Discovery and Data Mining”, Lecture 1 Methodology for Knowledge Discovery in Hanoi Sách, tạp chí
Tiêu đề: Overview of Knowledge Discovery and Data Mining
[4] Amanda Hepler, “Text Mining – A Brief Summary”, North Carolina State University Division of Undergraduate Affairs Office of Assessment, 2002 Sách, tạp chí
Tiêu đề: Text Mining – A Brief Summary
[5] Gilad Mishne &amp; Maarten de Rijke, “Vector Space Model”, Informatics Institute University of Amsterdam, 2005.http://ilps.science.uva.nl/Teaching/0405/IIResources/ii-0405-week02-2-8up.pdf Sách, tạp chí
Tiêu đề: Vector Space Model
[6] H.G. Chew, C.C. Lim, and R.E. Bogner, “An Implementation of Training Dual-nu Support Vector Machines”; In Qi, Teo, and Yang, editors, Optimization and Control with Applications. Kluwer, 2003.http://users.on.net/~hgchew/svm/ChewLimBogner-OCA2003.pdf Sách, tạp chí
Tiêu đề: An Implementation of Training Dual-nu Support Vector Machines”; In Qi, Teo, and Yang, editors, "Optimization and Control with Applications
[7] Thorsten Joachims (Universitat Dortmund Informatik, Germany), “Text Categorization with Support Vector Machines: Learning with Many Relevant Features”, 1999 Sách, tạp chí
Tiêu đề: Text Categorization with Support Vector Machines: Learning with Many Relevant Features
[8] Thorsten Joachims (Germany), “A Statistical Learning Model of Text Classification for Support Vector Machines”, 2001 Sách, tạp chí
Tiêu đề: A Statistical Learning Model of Text Classification for Support Vector Machines
[9] Bernhard Schửlkopf (Microsoft Research Limited, Cambridge, UK), “Statistical Learning and Kernel Methods”, 2000 Sách, tạp chí
Tiêu đề: Statistical Learning and Kernel Methods
[10] H.G. Chew, C.C. Lim, and R.E. Bogner, “Dual-nu Support Vector Machines and applications in multi-class image recognition”, 2004.http://users.on.net/~hgchew/svm/ChewLimBogner-ICOTA2004.pdf Sách, tạp chí
Tiêu đề: Dual-nu Support Vector Machines and applications in multi-class image recognition
[11] Federico Girosi, “Approximation error bounds that use VC – Bounds”, Center for Biological and Computational Learning and Artificial Intelligence Laboratory Massachusetts Institute of Technology Cambridge, 1995 Sách, tạp chí
Tiêu đề: Approximation error bounds that use VC – Bounds
[12] Pai-Hsuen Chen, Chih-Jen Lin, and Bernharh Scholkopf, “A Tutorial on v-Support Vector Machines”, 2002.http://www.csie.ntu.edu.tw/~cjlin/papers/nusvmtutorial.pdf Sách, tạp chí
Tiêu đề: A Tutorial on v-Support Vector Machines
[13] Li Baoli, Yu Shiwen, and Lu Qin, “An Improved k-Nearest Neighbor Algorithm for Text Categorization”, 2003 Sách, tạp chí
Tiêu đề: An Improved k-Nearest Neighbor Algorithm for Text Categorization
[14] Tu Bao Ho, Saori Kawasaki, Ngoc Binh Nguyen, “Documents Clustering Using Tolerance Rough Set Model and Its Application to Information Retrevial”, 2000 Sách, tạp chí
Tiêu đề: Documents Clustering Using Tolerance Rough Set Model and Its Application to Information Retrevial
[15] Jong-Hoon Oh, KyungSoon Lee, and Key-Sun Choi (Korea), “Term Recognition Using Technical Dictionary Hierarchy”, 2000 Sách, tạp chí
Tiêu đề: Term Recognition Using Technical Dictionary Hierarchy
[16] Dinh Dien, Hoang Kiem, Nguyen Van Toan, “Vietnamese Word Segmentation”, 2001.http://www.afnlp.org/nlprs2001/pdf/0047-02.pdf Sách, tạp chí
Tiêu đề: Vietnamese Word Segmentation
[17] Vladik Kreinovich, “FS I: Fuzzy Sets and Fuzzy Logic”, http://www.abo.fi/~rfuller/nfs1.pdf Sách, tạp chí
Tiêu đề: FS I: Fuzzy Sets and Fuzzy Logic
[18] J.C. Bezdek, “Editorial: Fuzzy Models - What Are They, and Why ?”, IEEE Transactions on Fuzzy Systems, 1998.http://www.ee.vt.edu/~dadone/fuzzyIntro/intro_to_fuzzy_sets.pdf Sách, tạp chí
Tiêu đề: Editorial: Fuzzy Models - What Are They, and Why
[19] Evgeniy Gabrilovich, Shaul Markovitch. “Text Categorization with Many Redundant Features: Using Aggressive Feature Selection to Make SVMs Competitive with C4.5”, Computer Science Department, Technion Israel Institute of Technology, 32000 Haifa, Israel. (fs-svm) Sách, tạp chí
Tiêu đề: Text Categorization with Many Redundant Features: Using Aggressive Feature Selection to Make SVMs Competitive with C4.5
[20] Tao Liu, Shengping Liu, Zheng Chen, Wei-Ying Ma, “An Evaluation on Feature Selection for Text Clustering”; Department of Information Science, Nankai University, Tianjin; and Department of Information Science, Peking University, Beijing; and Microsoft Research Asia, 49 Zhichun Road, Beijing; P. R. China.(ICML2003-15) Sách, tạp chí
Tiêu đề: An Evaluation on Feature Selection for Text Clustering
[21] Yiming Yang, Jan O. Perdersen, “A Comparative Study on Feature Selection in Text Categorization”, School of Computer Science Carnegie Mellon University Pittsburgh, USA, 1997. (yang97compative) Sách, tạp chí
Tiêu đề: A Comparative Study on Feature Selection in Text Categorization

HÌNH ẢNH LIÊN QUAN

Hình 1-1: Quy trình Khai phá tri thức – KDD Process. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 1 1: Quy trình Khai phá tri thức – KDD Process (Trang 13)
Hình 1-2:  Mô hình chung bài toán Khai phá văn bản. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 1 2: Mô hình chung bài toán Khai phá văn bản (Trang 15)
Hình 1-3: Ví dụ quá trình phân loại văn bản. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 1 3: Ví dụ quá trình phân loại văn bản (Trang 16)
Bảng 1-1: Một số hàm tính giá trị ước lượng thông tin của thuật ngữ. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Bảng 1 1: Một số hàm tính giá trị ước lượng thông tin của thuật ngữ (Trang 20)
Hình 1-4: Biểu diễn các vector văn bản trong không gian chỉ có 2 thuật ngữ. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 1 4: Biểu diễn các vector văn bản trong không gian chỉ có 2 thuật ngữ (Trang 21)
Bảng 1-2: Ví dụ biểu diễn vector thưa. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Bảng 1 2: Ví dụ biểu diễn vector thưa (Trang 23)
Hình 1-7: Minh hoạ cách tính độ chính xác (precision) và độ bao (recall). - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 1 7: Minh hoạ cách tính độ chính xác (precision) và độ bao (recall) (Trang 26)
Hình 2-1: Minh hoạ chiều VC trong không gian 2 chiều với 3 điểm dữ liệu. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 2 1: Minh hoạ chiều VC trong không gian 2 chiều với 3 điểm dữ liệu (Trang 28)
Hình 2-2: Minh hoạ các hàm {f(x)} trong không gian 2 chiều với 4 điểm dữ liệu. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 2 2: Minh hoạ các hàm {f(x)} trong không gian 2 chiều với 4 điểm dữ liệu (Trang 29)
Hình 2-3: Phân tách tuyến tính được xác định bằng mặt hình học H (w•x + b = 0). - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 2 3: Phân tách tuyến tính được xác định bằng mặt hình học H (w•x + b = 0) (Trang 31)
Hình 2-4: Siêu phẳng phân tách tối ưu H trường hợp tuyến tính. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 2 4: Siêu phẳng phân tách tối ưu H trường hợp tuyến tính (Trang 33)
Hình 2-5: Trường hợp dữ liệu huấn luyện có nhiễu. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 2 5: Trường hợp dữ liệu huấn luyện có nhiễu (Trang 36)
Hình 2-6: Thực hiện ánh xạ sang không gian đặc trưng kích thước - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 2 6: Thực hiện ánh xạ sang không gian đặc trưng kích thước (Trang 37)
Hình 3-1: Sơ đồ chức năng hệ thống xử lý văn bản. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 3 1: Sơ đồ chức năng hệ thống xử lý văn bản (Trang 45)
Hình 3-2: Sơ đồ minh hoạ chức năng Phân loại văn bản. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 3 2: Sơ đồ minh hoạ chức năng Phân loại văn bản (Trang 46)
Hình 3-4: Mô hình bộ tiền xử lý văn bản. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 3 4: Mô hình bộ tiền xử lý văn bản (Trang 47)
Hình 3-5: Lược đồ tiền xử lý tập dữ liệu và trích chọn tập đặc trưng. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 3 5: Lược đồ tiền xử lý tập dữ liệu và trích chọn tập đặc trưng (Trang 53)
Hình 3-7: Lược đồ thực hiện module huấn luyện. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 3 7: Lược đồ thực hiện module huấn luyện (Trang 55)
Hình 4-1: Giao diện chính của chương trình Phân loại văn bản SVMs. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 4 1: Giao diện chính của chương trình Phân loại văn bản SVMs (Trang 60)
Hình 4-3: Giao diện chức năng kiểm tra hiệu năng SVMs. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 4 3: Giao diện chức năng kiểm tra hiệu năng SVMs (Trang 61)
Hình 4-2: Giao diện chức năng huấn luyện SVMs. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 4 2: Giao diện chức năng huấn luyện SVMs (Trang 61)
Hình 4-4: Biểu đồ biến thiên thời gian phân tách từ trên tập dữ liệu báo Vietnamnet. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình 4 4: Biểu đồ biến thiên thời gian phân tách từ trên tập dữ liệu báo Vietnamnet (Trang 63)
Bảng 4-1: Kết quả thực nghiệm phân tách trên bộ dữ liệu Vietnamnet - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Bảng 4 1: Kết quả thực nghiệm phân tách trên bộ dữ liệu Vietnamnet (Trang 63)
Bảng 4-2: Kết quả thực nghiệm trên bộ dữ liệu VnExpress - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Bảng 4 2: Kết quả thực nghiệm trên bộ dữ liệu VnExpress (Trang 64)
Bảng 4-3: Kết quả thực nghiệm trích chọn tập đặc trưng trên báoVietnamnet. - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Bảng 4 3: Kết quả thực nghiệm trích chọn tập đặc trưng trên báoVietnamnet (Trang 67)
Bảng 4-6: Kết quả thực nghiệm phân loại đa lớp trên bộ dữ liệu báo Hanoimoi - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Bảng 4 6: Kết quả thực nghiệm phân loại đa lớp trên bộ dữ liệu báo Hanoimoi (Trang 70)
Bảng 4-7: Kết quả thực nghiệm phân loại đa lớp trên bộ dữ liệu báo Laodong - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Bảng 4 7: Kết quả thực nghiệm phân loại đa lớp trên bộ dữ liệu báo Laodong (Trang 70)
Hình mô tả các lớp trong chương trình - phân loại văn bản tiếng việt sử dụng phương pháp máy hỗ trợ vector (support vector machine – svms)
Hình m ô tả các lớp trong chương trình (Trang 74)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w